Content-based and User Customized Music Recommendation System
In this work was developed a music recommendation system that automatically sugests tracks for an users's playlist by finding tracks in a personal music collection that have similar timbral characteristics to those of the playlist's tracks, using machine learning and expectation maximization algorithms. First, each track of the collection goes through a feature extraction process, which uses signal processing techniques to extract low level psychoacoustic inspired features from a track file and join them as a feature vector. Then, using a Gaussian Mixture Model, it is possible to calculate an optimal gaussian model that would generate the playlist tracks' feature vectors. Finally, this model is used for verifying the likelihood of each database tracks' feature vector by finding which ones have the highest chance of being generated by the model, and using them as a recommendation for the user's playlist.