A search system that lets user search by metadata or by extracted features and also supports content based retrieval. Given a piece of music it should return list of similar musics.
- search for bpm of songs (number)
- search for all the songs by a particular artist, etc.
Some Initial Ideas:
A basic Vector space model can be implemented where songs will be represented in an n-dimensional space and given a query relevant songs can be find by calculation similarity score between query vector and song vector. More the similarity more relevant it would be.
Probabilistic models could also be used as relevance function. It would be interesting to see how probabilistic models like Okapi BM25 with some tweaks behaves in this scenario which is state of art in text based search engines. Learning features would be important.
Songs could also be clustered using state of art clustering algorithms and would be interesting to see what kind of different groups we get. Songs can also be categorized based on genre, tempo etc.
Deep learning has solved many hard problems. It would be interesting to see how it could benefit this system in this scenario. As we know deep networks allow us to learn abstract representation at each computation layer, It would be nice to get features from deep networks and then performing classification on the new learned features.