reZonance
Content Based Music Recommendation Service
Visit the website »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
About The Project
reZonance is a Content Based Recommendation Service which suggests songs similar to the one chosen by the user. It has approximately 160,000 songs in its database and takes about 300ms to generate recommendations.
Following are some core concept on which this project relies on
-
Content Based Filtering
Content-based filtering uses item features to recommend other items similar to what the user likes, based on their previous actions or explicit feedback.
-
Cosine Similarity
Cosine similarity measures the similarity between two vectors by calculating the cosine of the angle between them. A simple visualization and the formula can be found below.
Advantage over Collaborative Filtering
Recommendation engines that run on collaborative filtering recommend each item (products advertised on your site) based on user actions. The more user actions an item has, the easier it is to tell which user would be interested in it and what other items are similar to it. As time progresses, the system will be able to give more and more accurate recommendations.
This, however, brings a major contradiction and difficulty to classified sites and their recommendation engines. Even though a new song can actually be the the most relevant one to a user, a recommendation system has far less confidence in recommending them than it has with older songs, but it’s just simply not a good idea to let songs ads dominate the recommendation process.
Similarly newer users cannot be provided with accurate recommendations until the user has made few choices himself/herself which will tune the recommendation algorithm.
Built With
Getting Started
To get a local copy up and running follow these simple example steps.
Prerequisites
- React
- Python 3.6+
Installation
Flask API
- Clone the repo
git clone https://github.com/radioactive11/rezonance
- Install requirements
pip3 install -r requirements.txt
- Start Flask server (by default at
localhost:5000
)
python3 app.py
React
- Clone the repo
git clone https://github.com/radioactive11/rezonance
- Install required packages
cd client
npm install
- Start React Development server (by default at
localhost:3000
)
npm start
Usage
-
website and click on get started
Visit the
-
Enter name of Song or Artist name, for which you want similar songs, to search. Click on a card to chose a song.
-
In the recommendation page, click on a song to listen to a 30 second preview of the song. Click again on the card to pause it.
NOTE: some songs do not have a preview due to copyright issues.
Roadmap
See the open issues for a list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Contact
Arijit Roy - GitHub - [email protected]
Kartik Goel - GitHub - [email protected]
Website: https://rezonance.vercel.app
Thank You StackOverflow