All Projects → rtkg12 → remixr

rtkg12 / remixr

Licence: MIT License
Discover new music based on the Spotify playlists you know and love!

Programming Languages

javascript
184084 projects - #8 most used programming language
Less
1899 projects
HTML
75241 projects

Projects that are alternatives of or similar to remixr

Exportify
Export/Backup Spotify playlists using the Web API
Stars: ✭ 1,611 (+4254.05%)
Mutual labels:  playlists, spotify, spotify-api, spotify-web-api
spotify-vibe-check
Spotify Vibe Checker Web App to vibe check your Spotify Playlists! (currently broken due to CORS)
Stars: ✭ 24 (-35.14%)
Mutual labels:  spotify, spotify-api, spotify-web-api
spotipy2
The next generation Spotify Web API wrapper for Python 3.7+
Stars: ✭ 25 (-32.43%)
Mutual labels:  spotify, spotify-api, spotify-web-api
spotify-true-random
🔀 An application for unbiased truly random playlist and library shuffling with Spotify.
Stars: ✭ 51 (+37.84%)
Mutual labels:  spotify, spotify-api, spotify-web-api
Partify
This is a free open source Spotify-powered app that lets users host parties and have guests connect using their smartphones to submit and vote on songs. The app will only play the highest voted song and can connect to personal playlists.
Stars: ✭ 37 (+0%)
Mutual labels:  spotify, spotify-api, playlist-generator
react-redux-spotify
React + Redux + Spotify web api boilerplate project
Stars: ✭ 14 (-62.16%)
Mutual labels:  spotify, spotify-api, spotify-web-api
SpotMusicGen
A Program that creates a Spotify playlist from a YouTube Playlist
Stars: ✭ 47 (+27.03%)
Mutual labels:  spotify, spotify-api, spotify-web-api
spotify-release-list
📅 Display list of Spotify releases from artists you follow
Stars: ✭ 142 (+283.78%)
Mutual labels:  spotify, spotify-api, spotify-web-api
laravel-spotify
Laravel-Spotify is a simple wrapper around the Spotify Web API that makes working with its endpoints a breeze!
Stars: ✭ 141 (+281.08%)
Mutual labels:  spotify, spotify-api, spotify-web-api
SpotifyWebApi
A .net core wrapper for the Spotify Web API
Stars: ✭ 19 (-48.65%)
Mutual labels:  spotify, spotify-api, spotify-web-api
Spotify.ahk
An AutoHotkey wrapper for the Spotify web API designed to allow control over Spotify's internal volume slider and provide various other functionality.
Stars: ✭ 50 (+35.14%)
Mutual labels:  spotify-api, spotify-web-api
personal-dj
Personal DJ site that creates playlists given custom inputs. View it live at: http://personaldj.net/
Stars: ✭ 27 (-27.03%)
Mutual labels:  spotify, spotify-web-api
playlists
💽 An archive of my Spotify playlists.
Stars: ✭ 34 (-8.11%)
Mutual labels:  playlists, spotify-api
spottr
🌵 Your Spotify stats all in one place.
Stars: ✭ 25 (-32.43%)
Mutual labels:  spotify, spotify-api
listentogether-hackathon
Grab some friends, connect your Spotify account, and listen to music in sync with each other.
Stars: ✭ 20 (-45.95%)
Mutual labels:  spotify, spotify-api
spotifytrack
A personal homepage showing users' top songs and artists, providing a shareable link that they can use to show it off to friends.
Stars: ✭ 48 (+29.73%)
Mutual labels:  spotify, spotify-api
musicritic
Your personal music-specific Metacritic.
Stars: ✭ 45 (+21.62%)
Mutual labels:  spotify, spotify-web-api
springtunes
Control your Spotify client remotely from your browser
Stars: ✭ 19 (-48.65%)
Mutual labels:  spotify, spotify-api
FCommunity
multi Checkers (Hma/Hulu/Spotify/Call of duty/Instagram/smtp2go/VyprVpn) in One Tool Named FCommunity
Stars: ✭ 26 (-29.73%)
Mutual labels:  spotify, spotify-api
graphql-spotify
GraphQL Schema And Resolvers For Spotify Web API
Stars: ✭ 55 (+48.65%)
Mutual labels:  spotify, spotify-api

remixr

Smart playlist generator for Spotify

Features - Spotify login

  • Generate playlists based on artist, track or playlist seeds
  • Generate playlists based on personal playlist as a seed
  • Tune parameters like popularity, mood, energy, etc. to further customize the playlist

Algorithm to generate similar playlists

  • Feature range calculation
    1. Get all tracks in the playlist from the Spotify API
    2. Query Spotify for different track features
    3. Calculate the 0.1 and 0.9 quantile range for each feature
    4. Use these as min and max targets for each feature
  • Extract most relevant artists and tracks as seeds
    1. Find the frequency of artists and tracks in:
      • Playlist
      • User profile / listening history: short, medium, long term
    2. Select most frequently appearing artists and tracks that exist in the playlist
  • Query Spotify API with the calculated seeds and parameter values

Installation

Clone

 git clone https://github.com/rtkg12/remixr.git  

Pre-requisites

  1. Make a developer account at https://developer.spotify.com and obtain the Client ID and Client Secret
  2. Update client/.env and server/app.env accordingly.
Property Description
REACT_APP_API_URL Use /api for default configuration. Replace with backend server address for custom deployment
REACT_APP_TRACKING_ID optional Google Analytics Tracking Id
CLIENT_URL Address of the client application
REDIRECT_URI Callback endpoint for Spotify authentication. Note Make sure this matches the Redirect URL in the Spotify API console

Installation

yarn install

Building and developing locally

Configuration

Environment variable Value
REACT_APP_API_URL http://localhost:8080/api
CLIENT_URL http://localhost:3000
REDIRECT_URI http://localhost:8080/api/callback

Running the project

yarn develop

The React app should start running in port 3000 and the Node.js app will be running in 8080

Deploying to Production

Configuration

Environment variable Value
REACT_APP_API_URL /api
CLIENT_URL http://PUBLIC_URL
REDIRECT_URI http://PUBLIC_URL/api/callback

Deploying

yarn deploy

This will build the React app and serve the build folder from Express. Express should be running in port 8080

Future Areas of Improvement

  • Add support for greater than five seeds using random sampling from generated playlists
  • Functionality to add individual songs to library directly from the app
  • Regenerate, re-order and edit the playlist dynamically before saving
  • Session-wide playlist building. Add songs from multiple queries, save in the end
  • Algorithm improvements - different statistical measures, collaborative filtering

Contribute

Please feel free to open an issue/pull request if you wish to work on any of the above features, or if you have any other suggestions for improvement.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].