About
cosine.club is a music similarity search engine: it finds tracks by how they sound. Search the catalog, or paste a track link from YouTube, SoundCloud, Bandcamp or Discogs to find tracks like one that isn't in the catalog yet.
Most platforms build recommendations from listening data, so records few people have heard get left out. cosine.club works from the audio alone, so you can dig deep and find a record with a handful of plays on YouTube.
The catalog has over two million tracks, mostly electronic and underground music from Discogs, Bandcamp and SoundCloud. It grows every day: my crawler picks up new uploads, and links you paste get added once it matches them to a release. Every track plays from YouTube, where a lot of this music only exists as someone's vinyl rip and never made it to the streaming platforms.
I built cosine.club for going down rabbit holes and finding music off the beaten path. It isn't a tool for building the perfect set, or for letting AI decide what you play. I want you to dig: click from one track to the next and see where you land, often somewhere unexpected. It's the most fun way I know to find new music, and it's how I've found records I'd never have come across otherwise.
For over ten years I've run the hurfyd YouTube channel, uploading tracks by underground artists. I'm also into tools that help people discover music, and I run deejay.tools, a directory of my favorites from the community.
Email me with feedback, bug reports or ideas for the site.
cosine.club is a small, one-person project. I build it and pay for it myself, with no ads and no paywall. If you've had fun and found something good, you can support the site with a small donation.
FAQ
how it works
How does cosine.club find similar tracks?
It compares the audio. Every track goes through discogs-effnet, an audio model from Essentia. It was trained on 3.3 million tracks to recognise 400 Discogs styles from 2-second slices of audio. For each track it outputs a 1,280-dimension embedding, a vector that describes how the track sounds. Many Discogs styles, like Italo disco or UK garage, belong to a time and place, so records from the same scene tend to sit close together. The details are in the paper behind the model.
When you paste a link, your track goes through the same model. cosine.club then runs a vector search over the catalog for the tracks whose embeddings are closest to it, and lists them closest first. The measure is cosine similarity, which scores how closely two vectors point in the same direction.
How are similar artists found?
I average an artist's tracks into one vector and compare artists by cosine similarity. I centre each track's 1,280-dimension embedding on the catalog average and reduce it to 256 dimensions with PCA whitening, the same space I use to sort tracks into genres. Whitening rescales every dimension to the same variance, so the few that vary most across the catalog don't decide every match. An artist's vector is the mean of their track vectors, scaled to unit length. Similar artists are the nearest ones, leaving out the artist's own aliases.
How is this different from Spotify or Last.fm recommendations?
Both rely mostly on collaborative filtering: they recommend what people with similar listening habits play. Spotify builds a matrix of who played what and which tracks share playlists, then factorises it into taste vectors for listeners and tracks. Last.fm compares scrobble histories and maps artists that get played together. Either way, tracks the same people play end up close together. Spotify adds text analysis and audio models on top, but listening data does most of the work.
That breaks down for records with little or no listening history, known as the cold-start problem. A white label a few hundred people own has almost no plays or tags, so there's nothing to learn from.
cosine.club is content-based. It only needs the audio, so it can match a record with 40 views on YouTube.
Can I use this to identify a track, like Shazam?
Sometimes. Shazam uses audio fingerprinting: it matches peaks in the spectrogram of one exact recording, so it works through club noise and a phone mic. cosine.club compares overall sound instead, so a phone recording from a club rarely finds the original. The crowd and the room change the sound too much.
A clean rip works much better. Upload it to Vocaroo and paste the link. If the track is in the catalog, it often comes up first. If not, you may still get its label mates or records from the same year and scene, which can be enough to find it.
What does the similarity percentage mean?
It's the cosine similarity between two embeddings, shown as a percentage. The closer to 100%, the more alike the two tracks sound.
A high score doesn't mean a track is good. That's down to your taste, and a close match can still sound terrible. Sorting through them is the fun part, and some of the best finds sit further down the list.
Is cosine.club free? Do I need an account?
It's free, and you can search and find similar tracks without an account. An account saves your playlists, favorites and history, and gives you an API key. There's no paid tier.
To help pay the hosting costs, you can become a supporter.
submitting
What links can I submit?
YouTube, SoundCloud, Bandcamp, Spotify, Beatport, Discogs, Apple Music and Vocaroo. Paste one and you get tracks that sound like it. Spotify and SoundCloud links must point to a single track, not a playlist or profile.
Tidal and Deezer don't work yet. If there's a service you want, email me.
Can I upload an audio file?
Why did my YouTube submission fail?
YouTube blocks automated downloads, so some links fail, and trying again rarely helps. Geo-locked and age-restricted videos never work.
Try a Bandcamp link for the same track instead. It's the most reliable source. SoundCloud works too, except for DRM-protected tracks.
search
Can I search by artist or track name?
Yes. Search matches artist and track names, but not labels or release titles. To find tracks by sound, paste a link instead.
Why can't I find a track?
It may not be in the catalog yet. The catalog is mostly electronic and underground music, so mainstream releases are patchy. Paste a link to the track instead, and you'll get its closest matches straight away.
catalog
What's in the catalog?
Over two million tracks, mostly electronic and underground music: house, techno, UK garage, jungle, drum & bass, breakbeat, electro, ambient, dub, funk, soul, disco and more.
I focus on underground records rather than mainstream releases. Think a UK funky 12-inch pressed in a run of 300.
Where does the music come from?
Mostly Discogs, with more and more from Bandcamp. SoundCloud is newer and still filling in.
A track you paste can join the catalog too. My crawler looks for the same release on Discogs or Bandcamp, confirms the artist and title, and finds a YouTube upload to play it from. This works for YouTube, SoundCloud and Bandcamp links. If any step fails, you still get the similar tracks, but the track itself isn't added.
playlists
How do playlists work?
Press + on any track to save it to a playlist. Make as many as you want.
Once a playlist has a track in it, you get suggestions for more tracks that sound like it.
To share a playlist, turn on Make public in its settings. It then shows on your profile and on the playlists page. If you've connected Discogs, adding a track to a playlist can add the record to your wantlist too.
What is a journey?
A journey is a path between two tracks. Pick a start and an end, and cosine.club draws a straight line between their embeddings and steps along it. At each step it picks the nearby real track that keeps the transition smoothest, so the sound shifts gradually instead of jumping.
Suggested destinations show how far they are from your start, so you decide how far to go. Start on disco, end on jungle, and hear one turn into the other.
troubleshooting
Why won't a track play?
Usually a VPN or iCloud Private Relay. Turn them off and try again.
Sometimes YouTube has removed the video. When a video fails to play, my crawler looks for another upload of the same track and swaps it in.
Why does audio stop when I switch tabs on mobile?
YouTube stops embedded videos when your mobile browser goes into the background. Unfortunately, I can't change that.
api
support
How can I support cosine.club?
Donate any amount at cosine.club/supporter to help pay the hosting costs. Supporters get a tag on their profile.
How can I get in touch?
Email me at [email protected].