Music Recommendation System

DOI : 10.17577/IJERTV8IS070267

Download Full-Text PDF Cite this Publication

Text Only Version

Music Recommendation System


Smt. Namitha S J

Assistant Professor,

Department of Computer Science & Engineering, B N M Institute of Technology, Bangalore,



AbstractDevelop an approach, to find the similarities between pair of songs using audio features and lyrics.

The approach used in this paper focuses on various features of songs. Here, the user interface allows user to play songs and at the same time recommends songs based on the current song being played. The recommendations are stored using firebase firestore and firebase storage.

The audio features and lyrics score of each pair of songs are provided to the algorithm. Artificial Neural Networks and KNN regression are the algorithms used. The algorithm predicts the similarity score between pair of songs. Songs which have highest similarity scores with respect to the currently playing song is recommended to the user.

In this paper, the main objective of music recommendation is to give good recommendations to users and provide good human computer interaction.

Index TermsArtificial neural network, K Nearest Neighbour Regression, Bag of Words, Firebase.


    Many music listeners have turned to listen to online music. The big data technology has made it possible that music listeners could get access to music as they want. Online service of music subscription has been increasingly popular in the era of cloud computing. The advancement of cloud techniques eases users to get access to an unlimited number of songs. Some streaming music company such as Spotify, Pandora, and YouTube are affording users with access to songs to their paid members. It is important that these companies need to maintain their members to keep a subscription to gain more revenue. The playlist is a special function of these streaming apps. Many users feel difficult to create a list from a long list of music. As a result, users tend to play next song by in a random mode or by recommendation. Hence, a successful personalized music recommendation technique has become key to stay their

    members from jumping to another service. Techniques of music recommendation have been developed in the previous decade.

    Collaborative filtering has been widely used in previous research. In addition to that, Millions of Songs data challenge has attracted many researchers to work in this area. Recent years, Artificial neural network (ANN) model has made advancement in sequence data classification. The above deep learning model has advanced in natural language processing. Machine translation is a successful application. Also, in the field

    of computer vision, has a good result in sequence video analysis ANN model and KNN Regression algorithm is used to make comparisons of different songs by similarity, which will help the recommendation system to give ranking score solely based on combination factors of music themselves.


    Very few works of literature have been done to apply for deep learning framework in music recommendation, especially on audio. Music recommender systems (MRSs) have experienced a sudden growth in recent years, with the increase of online streaming services. Collaborative filtering approaches are used where the songs are recommended based on several users preferences and users listening history. Content based filtering approaches are used where the songs are recommended based solely on the content. There are hybrid filtering approaches which uses both users preferences and content of songs.


    1. Approaches

      The approach we use focuses on various audio features and the lyrics scores are taken for each pair of songs. To make it more specific, consider two different songs P and Q. P is represented as a set of attributes (p1,p2, and Q is represented as a set of attributes (q1,q2,qn). Then the model is trained using these two vectors, which element is a chunk of music. Using the formula: y=f (P, Q), where, y means

      the similarity score between two songs, and f is a similarity measurement function. By treating this function as a model, the RNN model and KNN Regression model is used to train the predicted model.

    2. Model

      The proposed model we used is based on Artificial neural network and KNN Regression algorithm. The motivation behind using an ANN-based architecture stems from the fact that the similarity score between songs is based on various deep audio features of the song along with the lyrics used in the song. KNN regression is good at predicting similarities between the pair of the song given the attributes. Web scrapping is used to download music files, thumbnails and artist images from various web

      sources. The above data is uploaded to firebase storage and firestore and made available using a web user interface. ANN model that has one input layer, six hidden layers, and one output layer. A normal initializer is used to initialize the weights. All hidden layer uses the RELU activation function. The neuron sizes at hidden layers are 12,22,12,22,12,8 respectively. The output layer uses the linear activation function. The model uses mean squared error as the loss function. The optimizer used is ADAM optimizer. 200 epochs were used to train the model. KNN Regression uses 30 neighbour points to predict the similarity scores. The metric used for evaluation of the model is mean squared error.

    3. Dataset

    In this paper, we use three datasets which are Million Song dataset, Musixmatch dataset, and Lastfm dataset. Million song dataset contains audio features and metadata of each song. The million song dataset is in HDF5 format. Features are extracted from this dataset. Each song is indexed by a TrackID which acts as a primary key. The musixmatch dataset contains keywords present in the lyrics of the songs, Musixmatch dataset is in the form of MySQL database. The set of keywords in each song is used to assign a lyrics score to each song based on the concept of the bag of words. Bag of words assigns weights to each keyword by considering the probability of occurrence of each keyword across all the songs. Keywords that occur rarely are assigned higher weights as they contribute more in uniquely identifying a song better than frequently occurring keywords. Once the weights for each keyword are determined, the lyrics score for each song is calculated by summation of products of weights and frequency of occurrence for each keyword in the song. Lastfm dataset has similarity scores between a pair of songs. Lastfm dataset is in JSON format. JSON is mapped to plain old java objects using Jackson library in java. A MySQL database was created to aggregate the various data together. This is used as a target for ANN and KNN to understand how to model the similarity between songs based on audio features and lyrics score of the songs. There are 2215 songs totally in our dataset for which all the attributes are extracted. 2215 * 2215 matrix is used to store the predicted similarity scores between each and every 2215 songs with each other.


    Figure 1 describes how loss function is decreasing with increase in epoch for using ANN. Figure 2 describes how loss function is decreasing with increase in epoch while using KNN.

    Figure 1: Graph of the loss vs epoch for ANN

    Figure 2: Graph of the loss vs epoch for KNN


    Music Recommendation System is used to recommend songs based on factors that have lyrics similarity between songs, audio features of songs, metadata of songs using Arificial Neural Network (ANN) and KNN Regression algorithm. The system allows users to create playlists, add songs to it and stream it whenever they are logged in. Recommendations are also made based on the same artist. The system contains 2215 songs which can be played along with instantaneous recommendations for each song which is being played.


  1. Shefali Garg, Fangyan SUN. Music Recommender System, Journal of Indian Institute of Technology, Kanpur, 2014.

  2. Libo Zhang, Tiejian Luo, Fei Zhang and Yanjun Wu. A Recommendation Model Based on Deep Neural Network. Journal of Chinese Academy of Sciences, Beijing, 2017.

  3. Keita Nakamura, Takako Fujisawa. Music recommendation system using lyric network, Journal of 2017 IEEE 6th Global Conference on Consumer Electronics (GCCE), 2017.

  4. Yading Song, Simon Dixon, and Marcus Pearce. A Survey of Music Recommendation Systems and Future Perspectives, Proceedings of 9th International Symposium on Computer Music Modelling and Retrieval (CMMR), 2012.

  5. Malte Ludewig, Iman Kamehkhosh, Nick Landia, Dietmar Jannach. Effective Nearest-Neighbor Music Recommendations. Proceedings of the ACM Recommender Systems Challenge 2018

Leave a Reply