Skip to content

radioactive11/rezonance

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

reZonance

Content Based Music Recommendation Service
Visit the website »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

Product Name Screen Shot

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


Python pandas JS React Heroku

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

  • React
  • Python 3.6+

Installation


Flask API


  1. Clone the repo
git clone https://github.com/radioactive11/rezonance
  1. Install requirements
pip3 install -r requirements.txt
  1. Start Flask server (by default at localhost:5000)
python3 app.py

React


  1. Clone the repo
git clone https://github.com/radioactive11/rezonance
  1. Install required packages
cd client
npm install
  1. Start React Development server (by default at localhost:3000)
npm start

Usage

  • Visit the website and click on get started

  • 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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Arijit Roy - GitHub - [email protected]

Kartik Goel - GitHub - [email protected]

Website: https://rezonance.vercel.app

Thank You StackOverflow 😅