A Recommender System for the Music Industry (ML Mixer)
Recently I had the pleasure to read an amazing article by @mgboydcom, about adding machine learning to recommendations algorithms for music. The name of this algorithm is ML Mixer and it is a complete Recommender System for the Music Industry. This article inspired me and I decided to create a small review with my opinion and some thoughts (for discussion) on the matter.
First, I want to say that I really enjoyed reading this article, it has some amazing and pioneer ideas!
I am very fond of recommendation systems. I have developed a plethora of them and I have also used machine learning in order to predict user behaviors. There are also many options available out there to consume as APIs. A recommendation system is an algorithm that recommends objects relevant to our “needs” and liking, but to actually find what I really like, what is important for me at this very moment, is something very, VERY difficult!
ML Mixed provides that very thing, something that you can easily adjust and tune to your personal liking. You do not have to worry about bootstrapping the system nor the weights of the external factors (friends, friends of friends, etc)
The idea of a sliding mixer to declare to what you are into at this moment is an amazing idea that solves A LOT of problems, problems that are always there when I develop a recommendation algorithm. Especially, when you include techniques such as recommendations based not only on music genres and categories but on other track features too, like rhythm and emotion similarity, fast or slow pace of the track, etc. Spotting mood changes and likings on the spot (in real time) is something really difficult, and ML Mixer gives that option to the user.
Combining Machine Learning with a Recommendation algorithm is something that is not very common in the music industry. Due to my current involvement with a revolutionary music/social platform called Orfium this idea is the ideal candidate for an amazing recommendation algorithm. It will not only be convenient for the user to find the music tracks that want to hear, but to socialize, share music beliefs, make friends, exchange tracks and so much more!
We know music plays an important place in people’s lives as entertainment, as a form of connection, as a way to celebrate your own sense of identity, and as a social lubricant.
Recently, I was working on a personalization scheme based on categories and the relations between them. Basically, a graph was describing the categories and the relations they may have, based on the user’s Twitter profile and interactions. I was using topic modeling to extract information about the user’s tweets and transform that information into user’s likings. I’ve learned that getting information from external sources like social media can really boost the performance of a recommendation algorithm.
That is, when we compare your playlist to others, we could give extra weight to music tastes coming from the people you follow on Spotify, but also from your common social network connections on Twitter, Snapchat, Instagram, Pinterest, LinkedIn, Facebook, Tinder, and Scruff
I love metal music, and most of the times I find myself searching by genre to find what I like. Sometimes tho, I may find a random track that actually suits my liking but is a totally different genre, or is it? For instance, I really like “Rock You Like A Hurricane” by Scorpions from the album Moment Of Glory and recently I found the song Battle Cry from Two Steps From Hell. One is genre rock and the other is Epic, neo-classical. Both tho, have similar traits.
This is a very challenging problem and very hard to solve. We have our hands on deep learning and recommendation algorithms and our final goal is to marry those two terms in order to create a potent recommendation engine. Considering deep learning, we are investigating genre, mood, and rhythm classification based on the audio in order to better classify the tracks. The recommendation engine will then recommend tracks that may seem different but they will have similar traits.
I strongly believe that ML Mixer has the potential to shine in Orfium. We provide not only a music platform where everyone can upload their music but a strong social platform, where artists and fans can share their option, exchange beliefs and much more! Also, users are able to connect their account to their social media, making it easier to extract public information about the user likings. Having a friend system already in place alongside with the social media connection can really boost the performance of ML Mixer.
Closing this review, I want to say a big bravo to @mgboydcom and his team for the amazing work they have done with this algorithm. It was really inspiring and I believe there will be research following this article, where the user is taking part in the machine learning algorithm behind it.
We need to reposition algorithms as a new tech that works in conjunction with end users.
A little bit about who I am. I am a data scientist and I am currently working for Orfium with @mpetyx. I am mostly involved with audio matching, audio similarity, recommendation engines or other engineering problems. You can leave your comment here or you can tweet me @siaterliskonsta or you can follow my blog The Last Dev where I post mostly about data science trends, tutorials, and python related topics.