How cosine.club Differs from Spotify and Last.fm Recommendations

Updated

cosine.club matches tracks by analyzing the audio itself, while Spotify and Last.fm build recommendations from metadata and other people's listening behavior. That difference matters most for obscure electronic music: a white-label record with no tags and almost no plays can still be matched on cosine.club, but it has almost nothing for the other two systems to work with. If your goal is finding similar-sounding tracks in the long tail of electronic music, cosine.club is built for that case; if you want recommendations driven by popularity and listening patterns, Spotify and Last.fm are the better fit.

The core difference: audio vs. behavior

cosine.club describes its own method in its FAQ: it analyzes the actual audio rather than tags, genres, or listening history. It uses the discogs-effnet model from essentia, a neural network trained to recognize 400 Discogs styles from two-second slices of a spectrogram. The embedding that model produces is a vector of 1,280 dimensions describing how a track sounds. Those dimensions carry era, place, and scene as well as sound, because that is what Discogs styles encode.

Every track in the catalog already has its vector stored — over two million of them. When you paste a track, it runs through the same model and is compared against all of them by cosine similarity.

Spotify and Last.fm work differently. As cosine.club puts it, they build recommendations from metadata and what other people listened to. That approach works well on music plenty of people already play, and badly on everything else.

Why cold, obscure tracks break behavioral recommenders

The mechanism is straightforward once you see what each system needs before it can match anything:

Requirement Spotify / Last.fm cosine.club
Tags or genre labels Needed for matching Not required
Play counts Needed to establish signal Not required
Co-listening data Needed for collaborative filtering Not required
Audio analysis Not the basis of matching The basis of matching

A record needs tags, plays, and co-listening data before it can be matched at all in a behavioral system. The more obscure it is, the less those systems have to work with. A 300-pressed white label with no tags and barely any plays sits in the cosine.club catalog on the same terms as anything else, because the only input that matters is how it sounds.

What this means in practice

  • If you are chasing a specific sound — a 90s techno loop, an untagged deep house cut, a white label you can't identify — audio-based matching gives you a path that metadata-based systems can't offer.
  • If you want the popular answer — what's trending, what people like you are playing — behavioral systems have far more signal to draw on, and that is exactly what they are optimized for.
  • If your track is well-tagged and widely played, both approaches will work; the difference only becomes decisive at the margins, which is where most obscure electronic music lives.

One caveat worth knowing: cosine.club notes that it can sometimes identify a track, but not the way Shazam does. Shazam fingerprints a recording, which is why it survives crowd noise and other interference. cosine.club's matching is about similarity of sound, not exact recording identification, so don't treat it as a Shazam replacement.

How to decide

Use cosine.club when the track you care about is obscure, untagged, or from a scene too small for behavioral data to cover — and when what you want is more tracks that sound like this. Use Spotify or Last.fm when you want recommendations shaped by what large numbers of listeners actually play, and when the music you're starting from already has enough metadata and play history to feed those systems.

The two are not competing on the same ground. One reads the audio; the others read the crowd. For the long tail of electronic music, only one of them has anything to read.