Skip to content

Spotify song recommender based on features or related artists

Notifications You must be signed in to change notification settings

jcjv86/song-recommender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alt text

The song recommender

Opening your ears to a wide world of music

Tired of listening always to the same music?

Take a walk on the WIDE side!

What makes us different?

  1. Precision
    With a vast library of songs across all genres, our app offers a personalized music experience that tailors recommendations to your unique preferences.

  2. Spotify link of your recommendations
    We provide a direct link of the recommendations so you can listen right away to your future favorite songs

  3. Choose the number of recommendations
    With WIDE you can choose the number of recommendations you want. You can have one track or an entire list (up to 20 songs).

  4. Features layout
    We know that is important to understand what features you love from your music. That's why we integrate a plot to show you what are the things you love.

  5. Save your songs into an existing Spotify playlist
    Don't lose any second and listen to your songs straight away!

  6. Visualize your user stats
    Need a Wrap? You can now also check your User Profile Info (name, alias, picture and followers), Followed Artists (app can show you up to 1000).
    UNDER DEVELOPMENT: Recently played, Top Artists, Top Tracks

WIDE can run on the song recommender jupyter notebook or on the multipage streamlit app (this last one includes new features like recommendations based on related artists and export the recommendations into a playlist).

You can check the app demo and instructions on the app folder readme file.

Installation guide:

Open a terminal and:

  1. Clone repository into desired folder (move to the folder and write):

    git clone https://github.com/jcjv86/song-recommender.git

  2. Move into newly created repository folder inside the previous one:

    cd song-recommender

  3. Create virtual environment:

    python3 -m venv ./venv

  4. Acivate virtual environment:

    source ./venv/bin/activate

  5. Install requirements:
    pip install -r requirements.txt

  6. If you want to run the original program from the jupyer notebook, you can find both the original and the extended (which uses the song tempo as a weight to recommend songs with similar tempo) into the /notebooks folder.

  7. If you want to use the app, move into app folder:

    cd app

  8. Configure program settings on app/config/config.py file.

  9. Run app:

    streamlit Home.py



Updates

  • New search option: Related artists! You can click on the names and you will be redirected to the artist profile page in Spotify.
  • Added extra databases with bigger number of songs and more diverse styles (original had 5k, newest has 37k)
  • Included script to fetch song ID and features that runs remotely in a Raspberry Pi via SSH (src/lib/spotify_raspberrypi_remote.py).
  • Program settings on config script in src/lib/config.py file. Needed to use the app!
  • Clustering now considers tempo as a weight so recommendations in the search by features page have a similar tempo.

Releases

No releases published

Packages

No packages published