/emotionify

Webapp than can create emotionally gradiented Spotify playlists and more ๐ŸŽต๐ŸŽง๐Ÿ”€

Primary LanguageTypeScript

Emotionify Banner

Create emotionally gradiented Spotify playlists and more.

๐ŸŒ: emotionify.nitratine.net

๐Ÿ› ๏ธ Setup

  • Clone the repo
  • Execute npm install
  • Execute npm start

After following these steps, a new browser tab will open with the locally hosted application in development mode.

๐Ÿงช Development Setup

  1. Create a new app / client id at developer.spotify.com.
  2. Copy your client id into /src/config.ts.
  3. Click "Edit Settings" in the newly created Spotify developer app and add a redirect URI to where /api/spotify/authentication-callback will be hosted.

๐Ÿ“ท Snippets From the Web App

Example Sort Visualisation of a Personal Playlist Example Sort Visualisation of a Personal Playlist

Example Comparison Visualisation of a Personal Playlists Example Comparison Visualisation of a Personal Playlists

Example of Applying Filters to Playlists Example of Applying Filters to Playlists

๐Ÿ“ Features

  • Spotify authorization for library access
  • Sort a playlist by valence and energy - Sorting on these two values can create a transition from sadder/slower songs to more happy/energetic songs. - Can change the sorting audio features and sorting method - Exports to a new playlist
  • Compare playlists - Compare multiple playlists in 1D, 2D or 7D from selected audio features.
  • Playlist tools - Add playlists and apply filters and functions to playlists to manipulate song ordering - Exports to a new playlist

All audio features used are pre-computed by Spotify and obtained through their API.

โ“ Why?

Emotionify is an application I had thought about for a few years after doing a project at university on attempting to detect emotion in music and portraying it in an interactive environment.

I was curious how the method implemented would play out with music I listen to every day and wanted some extra tools for Spotify playlists.

Emotionify is not 100% accurate as emotion is highly opinion based and the values used to sort songs are averages over the whole song. This tool however does give insight on how well a computer can plot an emotional gradient with a list of songs.