In this project we have developed an algorithm for content-based song recommendation. The algorithm suggests new songs which are likely to suit the user's musical taste, based only on a list of preferred songs chosen by this particular user. In this method, in contrast to modern common methods, the recommendation process for a single user does not depend on the history of use of other users, and does not strictly classify the song musical genre.
The developed algorithm is based on the construction of a "content space", using a variety of signal-processing-based features calculated over a diverse songs database, and on the mapping of this space to a low-dimensional space while preserving similarity between different samples. The recommendation is then done by acquiring a list of songs that are tagged as favored by a user, and by choosing songs for recommendation based on proximity criteria defined for the content space.
Evaluation of the algorithm was preformed using human users, which tagged favored songs and then ranked the suggestions based on the suitability to their musical taste.
The algorithm has demonstrated consistently higher rankings in comparison to a control group of randomly chosen songs.