DescribeSong

What this site stores — and what it never stores

Plain English, no legalese. This is the complete list.

What is kept, per song

A sound description512 numbers (about 2 KB) produced by a machine-learning model that summarises how a track sounds — its instruments, energy, texture. It cannot be played, and it cannot be turned back into audio or lyrics. It is the same kind of thing as the fingerprint Shazam or AcoustID use, just aimed at "what does it sound like" instead of "which exact recording is this".
IdentityArtist, title and album as text, and a MusicBrainz recording ID when the track could be identified.
A fingerprint hashA one-way hash of the track's acoustic fingerprint, used only to notice when two people add the same recording so their labels can be compared. Not the fingerprint itself.
Track lengthSeconds, to help matching.

What is never kept, by anyone, anywhere

  • Audio. No file is ever uploaded. When you add music, your own browser reads the files on your computer, computes the numbers above, and sends only those. The server has no endpoint that accepts audio — it rejects anything that is not a 512-number vector of the expected shape.
  • Lyrics. None are stored, fetched, or transcribed.
  • Cover art, file names, folder paths, or anything else from your library. Tags (artist/title/album) are read from the file to label the entry and that label is all that is sent.
  • Accounts, cookies, analytics, or tracking. There is no sign-up and no tracking script.
  • Your IP address, beyond a short-lived per-address rate-limit counter that exists to stop abuse and is discarded automatically.

How songs are identified

Your browser computes a Chromaprint fingerprint of the first two minutes of each file. That fingerprint is sent to this site, which looks it up in the open AcoustID database and, on a match, pulls the artist/title/album from MusicBrainz (open data). The site keeps a hash of the fingerprint, not the fingerprint. Tracks that AcoustID does not know are stored with the labels from your files' own tags and marked unverified; if someone else later adds the same recording with a different label, both are compared rather than one overwriting the other.

Searching

A search sends your text to this site, which turns it into the same kind of 512-number description and compares it against every stored song. Search text is not logged.

Licences

The database of descriptions and labels is published under the Open Database License (ODbL): anyone may use it, including commercially, as long as improvements to the database itself are shared back under the same terms. The code is AGPL-3.0. The sound model is LAION CLAP (CC0 weights).

Removing something

If a label is wrong, or you want an entry removed, email [email protected] with the artist and title. Removal deletes the vector and the label; there is nothing else to delete.

How big it can get, and what the coffee buys

The whole thing runs on one Raspberry Pi. Right now every search compares your description against every track in the index, exactly, in a fraction of a second. That stays true up to about half a million tracks. Past that the Pi switches to the kind of index every large search engine uses: tracks are grouped by how they sound, and a search opens only the groups it could land in. Still under a second at two hundred million tracks; the trade is that it becomes very-nearly-exact instead of exact. The Pi's disk has room for that many. What more memory buys is pushing the "exact" line further out, and more searches per second when a lot of people show up at once. That's what the coffee is for.

Abuse

Requests are rate-limited per address. The database can be read only through the search box; bulk export is not offered here (it is available under the ODbL on request).

Last updated 2026-09-12.