Team: Michal Moryosef, Abel Asfaw, Dor Ulman, Tenzin Sherpa
Welcome to NextSong! smart music recommender, using machine learning.
https://www.youtube.com/watch?v=_EVDI73n0sU
Included in this repo inside Jupyter Noebook folder. If for some reason you can not access to it please find it here: https://drive.google.com/file/d/14vR92W6vfm4MUqNBWYZDgtj_hZXuvvLP/view?usp=sharing https://drive.google.com/file/d/1Y5u6gnrgd5_Ts83fuJUs21UBriU5GwLN/view?usp=sharing
*In order to view visuals in HTML format you need to download Music Files folder (in Google Drive link) to the same path of your HTML.
https://docs.google.com/presentation/d/1vv_OHbvcxyG1vmFbQ4ac_xXvftjzGMk01B1HucKkwiM/edit?usp=sharing
The goal of this project is to study how music affects heart rate variability and see how audio features affect our heart rate speed. This has both entertainment and health benefit.
In the development of the product, NextSong used:
- "CooSpo Heart Rate Monitor" to monitor heart rate.1
- Pulsoid - heart rate widget for live streams used to broadcast user's live heart rate to NextSong server and feed it later to the model.2
- Spotify API for all music analysis 3
- "musicnn"- an open source, deep learning-based music tagger, used as NextSong tansfer model 4
1 https://www.amazon.com/gp/product/B07R8741CN/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
2 https://pulsoid.net/
3 https://developer.spotify.com/console/
4 https://github.com/jordipons/musicnn, https://towardsdatascience.com/musicnn-5d1a5883989b
- Flask
- Bootstrap
- Methods and Algorithms: CNN, Linear Regression, Transfer Learning
- API's extensive usage from Spotify and Pulsoid
You have to create a virtual enviorement for this, we recommend using anaconda. Once you have anaconda installed on your machine: (https://www.anaconda.com/products/individual), open anaconda and then run the follwing:
Conda create —name myenv
Conda activate myenv
After that run the requirements txt
- Make sure python is 3.7 not 3.8
$ pip install -r requirements.txt>
$ export SPOTIFY_AUTHORIZATION_TOKEN=value_grabbed_from_spotify
$ export SPOTIFY_USER_ID=value_grabbed_from_spotify
python app.py
(We couldn't attach it directly in this repo due to size limitations) https://drive.google.com/drive/folders/1H9v07PqVAwPicbWGRxhDk3EQb3TY9VnF?usp=sharing