AI LodgeClassic ML

groovyeverywhere

A hidden-gem song recommender that uses pretrained audio models to find songs that sound most similar to yours, with filters for mood, rhythm and instruments.

About the Project

What if song recommendations were based on how a song sounds, rather than how popular it is?

I built groovyeverywhere, a hidden-gem song recommender. You type a song name or paste a YouTube link, and the app listens to the whole song — keeping only numbers, never the audio — before returning two lists of matches from a pool of about 9,000 songs:

  • closest in sound — songs that sound like yours; and
  • sound plus what you care about — songs that also match the mood, rhythm and/or instruments you pick.

A “what we heard” strip explains what the models picked up, every match is ranked against the whole pool (“closer than 99.4% of the pool”), and a warning appears when nothing is really close. You can try up to three songs, each in its own tab. They are never blended into one list, because mixing genres averages their numbers and recommends rubbish.

Rationale

Music recommendations tend to follow popularity: the more a song is played, the more it gets pushed, and the songs we would actually love get buried. They also tend to suggest what other listeners of a song play, rather than songs that sound similar.

How It Works

Rather than wrapping an LLM, I used pretrained open audio models from Essentia. Discogs-EffNet turns each song into 1,280 “Sound” numbers, VGGish feeding emoMusic estimates happiness and energy, a classifier scores 40 instruments, and a rhythm analysis finds tempo and steadiness.

Songs are matched with cosine similarity after a gentle rescaling fitted on the pool; a full z-score failed my own style pass mark. For the second list, every chosen feature must reach the 65th percentile of the pool.

The pool spans about 2,460 artists, grown from Spotify and Deezer artist lists and aimed at younger listeners like my friends, with roughly 6,100 English, 1,400 Chinese, 1,100 Korean and 300 Japanese songs. Language chips let you choose which to see. Every download goes into a temporary folder that is deleted straight after analysis.

Testing Honestly

I fixed pass marks before looking at results and scored a sealed test set of 1,143 songs once. On it, the Sound feature alone finds a song by the same artist from a different album in the top 10 for 29% of questions. Beat detection scored only 64–67% against an 85% bar, so rhythm is presented as my weakest feature, and matching singers’ voices was left out after falling short of its pre-set bar. In my final rehearsal, 17 of 17 real songs worked.

Project Satisfaction

I’m most proud of learning how audio AI models work. In NLP we learnt that a word can become a list of numbers, and I was curious whether music could work the same way — it can. I went from almost no experience in applied AI to a working recommender that my friends and I can actually use to find new songs.

Biggest Challenge

AI-generated music. In my first test with friends, 58% of the “sounds like it” picks were AI uploads, because the least-played songs on YouTube are often AI-made. I built a filter that reads titles and descriptions, checked it by listening to 99 songs myself, and added a block list of whole AI channels.

Language was another: a Chinese rap song matched French rap, because sound alone doesn’t know the language, so I added language labels and filters.

Areas for Improvement

With more time, I would run a proper blind test to measure how often listeners keep the songs it recommends, and improve the weaker parts — rhythm is still unreliable, and the AI-music filter catches only about three in four AI songs. I’d also keep the site online all the time; the models are too big for free hosting, so it currently runs on my own computer.

Build a project with us

Join AI Lodge, build with your track through the semester, and show your project at Hack Day. We will feature it here.