How does cosine.club find similar tracks by sound?

Updated

cosine.club matches tracks by comparing audio embeddings rather than tags, genres, or listening history. Every track in its catalog of over two million electronic tracks is stored as a 1,280-dimension vector produced by the discogs-effnet model from essentia. When you paste a track, the same model runs on it and the result is compared against the whole catalog using cosine similarity. The practical consequence: a track with no tags and almost no plays can be matched on the same terms as a popular one.

The matching pipeline

1. Audio becomes a style-aware embedding

The discogs-effnet model is a neural network trained to recognize 400 Discogs styles from two-second slices of a spectrogram. Instead of outputting a single style label, cosine.club uses the embedding the model produces — a vector of 1,280 dimensions describing how the track sounds.

Because those 400 Discogs styles encode era, place, and scene as well as sound, the vector carries that information too. A track's embedding therefore reflects not just timbre but the stylistic neighborhood it belongs to.

2. The catalog is precomputed

Every track in the catalog already has its vector stored. That's the reason search can run against the full set of over two million tracks rather than a small candidate pool.

3. Your input goes through the same model

When you paste a track, cosine.club runs it through the same discogs-effnet model to produce a vector, then compares it against all stored vectors by cosine similarity. Cosine similarity measures the angle between two vectors, so tracks pointing in a similar direction in this 1,280-dimension space are returned as the closest matches.

Why this differs from Spotify or Last.fm

Dimension cosine.club Spotify / Last.fm
Signal used Actual audio (spectrogram slices) Metadata and other people's listening
Cold-start problem None — audio is enough Needs tags, plays, co-listening data
Obscure records Matched on the same terms as popular ones Little or no data to work with
What the match means How the track sounds What similar listeners played

The key difference is the cold-start problem. Metadata and collaborative-filtering systems work well on music plenty of people already play, and badly on everything else: a record needs tags, plays, and co-listening data before it can be matched at all. A 300-pressed white label with no tags and barely any plays has none of that. cosine.club reads the audio instead, so that white label sits in the catalog on the same terms as anything else.

What this means in practice

  • You can search with audio, not text. The input is a track, not a genre name or a tag.
  • Obscure material is not penalized. Matching does not depend on popularity or community data.
  • Style, era, and scene are baked in. Because the underlying model was trained on Discogs styles, the embedding encodes those dimensions alongside pure sound.
  • It is not Shazam. Shazam fingerprints a recording, which is why it survives crowd noise. cosine.club's approach is similarity, not identification — it can sometimes help identify a track, but not the way Shazam does.

If your goal is finding tracks that sound close to something you already have — especially underground or untagged electronic records — audio-based matching is the mechanism to rely on. If your goal is recommendations driven by what similar listeners played, a metadata or collaborative system is the better fit.