The Run Pace Music Recommender System (RPMRS) enhances the running experience by dynamically recommending music that synchronizes with the runner's pace. Developed using Spotify's extensive dataset and advanced machine learning models, this system personalizes music playlists to fit individual running sessions based on tempo and previous user preferences.
The repository is organized into several main directories:
spotify_reco
:
eda
: Contains Jupyter notebooks used for exploratory data analysis, feature engineering, and initial data insights.models
: Includes trained models and scripts for model training and evaluation.streamlit
:
app.py
: The Streamlit application file that users interact with to receive music recommendations.To set up the project locally, follow these steps:
git clone https://github.com/Joseph-233/music-recommendation.git
cd music-recommendation
pip install -r requirements.txt
http://localhost:8888/callback/
and tick 'Web API' under "Which API/SDKs are you planning to use?"streamlit/spotify_credential
directory of your project to store these credentials securely:
mkdir -p streamlit/spotify_credential
echo YOUR_CLIENT_ID > streamlit/spotify_credential/client_id.txt
echo YOUR_CLIENT_SECRET > streamlit/spotify_credential/client_secret.txt
Replace **'YOUR_CLIENT_ID'** and **'YOUR_CLIENT_SECRET'** with the actual values.
streamlit
directory and start the app:
streamlit run app.py
## Usage
After launching the Streamlit app, input your current heart rate into the provided field. The system will use this along with your historical Spotify data to generate a personalized playlist that matches your running tempo.
## Contributing
We welcome contributions to the RPMRS project! If you have suggestions for improvements or new features, please open an issue or submit a pull request.