MY-MUSIC is a Python-based music application that provides a simple and interactive platform for working with music data and generating music-related predictions/recommendations. The project uses Flask for the web application and Python-based machine learning components for prediction.
- π΅ Music-focused web application
- π Flask-based backend
- π€ Machine Learning model integration
- πΎ Trained model stored using Pickle/Joblib
- π Data processing and prediction
- π₯οΈ Web-based user interface
- π Modular project structure
- π§ Easy local deployment
- Python
- Flask
- Scikit-learn
- NumPy
- Pandas
- Joblib / Pickle
- HTML5
- CSS3
- JavaScript
- Bootstrap
- Git
- GitHub
- VS Code
MY-MUSIC/
β
βββ Deployment/
β βββ app1.py
β
βββ templates/
β βββ *.html
β
βββ static/
β βββ css/
β βββ js/
β βββ images/
β
βββ model/
β βββ model.pkl
β
βββ dataset/
β βββ *.csv
β
βββ requirements.txt
βββ README.md
βββ .gitignore
The exact folder structure may vary depending on the version of the project.
git clone <YOUR_GITHUB_REPOSITORY_URL>Navigate into the project:
cd MY-MUSICPython 3.12 is recommended for this project.
py -3.12 -m venv venvActivate the environment on Windows:
venv\Scripts\activateYou should see:
(venv)
in your terminal.
python -m pip install --upgrade pipIf requirements.txt is available:
pip install -r requirements.txtOtherwise, install Flask and the required ML libraries:
pip install flask pandas numpy scikit-learn joblibActivate the virtual environment:
venv\Scripts\activateRun the Flask application:
python Deployment\app1.pyIf the application starts successfully, Flask will display a local address similar to:
http://127.0.0.1:5000
Open the URL in your browser.
The project can use a previously trained machine learning model stored as a serialized file.
For example:
model.pkl
or:
model.joblib
import joblib
model = joblib.load("model.pkl")import pickle
with open("model.pkl", "rb") as file:
model = pickle.load(file)The loaded model can then be used to generate predictions:
prediction = model.predict(input_data)User
β
βΌ
Web Interface
β
βΌ
Flask Application
β
βΌ
Input Processing
β
βΌ
Trained ML Model
β
βΌ
Prediction / Recommendation
β
βΌ
Result Displayed to User
Recommended environment:
Python 3.12
Flask
NumPy
Pandas
Scikit-learn
Joblib
For reproducible installation, use:
pip install -r requirements.txtIf the application requires environment variables, create a .env file:
SECRET_KEY=your_secret_keyDo not commit sensitive information such as:
- API keys
- Passwords
- Database credentials
- Secret keys
Add .env to .gitignore.
After starting the application, test the main functionality through the web interface.
You can also verify that Flask is installed:
python -c "import flask; print(flask.__version__)"Check the Python version:
python --versionIf you receive:
ModuleNotFoundError: No module named 'flask'
Run:
python -m pip install flaskMake sure your virtual environment is activated.
Check installed Python versions:
py --listUse Python 3.12:
py -3.12 -m venv venvIf port 5000 is already being used, change the Flask port:
app.run(debug=True, port=5001)Then open:
http://127.0.0.1:5001
- π§ Add music streaming functionality
- π Improve music search
- π€ Improve recommendation accuracy
- π€ Add user authentication
- β€οΈ Add favorites and playlists
- βοΈ Deploy the application to a cloud platform
- π± Improve responsive/mobile UI
- π Add audio preview functionality
Siddesh Raut
Computer Engineering | Software Development | Machine Learning
This project is licensed under the MIT License.