DigDeeper · experimentsall projects

How the matcher decides

decks.de and Traxsource have no playable player and noisy metadata. For each track we run three matchers — YouTube + SoundCloud (to make it playable) and Discogs (metadata + buy link, and its own curated YouTube link). This is the logic, step by step — read it to sanity-check the pipeline.

The big picture

① The source gives us

artist, title, and if it has them: catalog #, barcode, label.
decks → catno/barcode/label. Traxsource → catno/label/duration.

② We match it for playback + metadata

YouTube source: prefer the Discogs-curated link (track-accurate) when we have a confident Discogs match — else fall back to fuzzy yt-dlp search. Plus SoundCloud (fuzzy) and the Discogs ladder below (metadata + buy).

③ Ingest gate

Player-less track is playable if YouTube or SoundCloud matched. No playable source → not ingested.

How we pick the YouTube source

YouTube is the main playback source — resolved in this order:

1st
Discogs-curated link — if the track has a confident Discogs match whose release carries a YouTube video that matches our track well, use that. Contributor-made, track-accurate, the exact mix.e.g. Jeff Mills → the EP's "Where's My Rabbit?" video
2nd
Fuzzy yt-dlp search — when there's no Discogs match or no good curated video, search YouTube by artist + title and score the results (the original matcher).

The Discogs matcher, in detail

1Search ladder — most precise first

Try these queries in order against Discogs' search. Stop early the moment a result looks confident (score ≥ 0.85); otherwise fall through to the next and keep the best so far. Each returns up to 8 candidate releases.

barcode=exact — barcodes are unique. (decks gives one ~sometimes.)
catno=catalog number, junk stripped (MMM 2 (#15900)MMM 2). Note: Discogs catno search is a prefix match, so it's noisy.
artist + release_titlethe cleaned title (drops "Part 3", positions, "Original").
artist + track=searches tracklists — finds a release whose title differs but contains our track.
artist + raw titlefallback to decks' original noisy title.
q = "artist title" + umlautfree-text; also tries Mueller↔Müller (the API is literal, no folding).
q = artist + key wordsdrops stop-words: "where is my rabbit"→"rabbit" (the full phrase returns 0).
q = title onlylast resort — only trusted if the artist later confirms.

As we go we also remember every candidate whose artist matches — used in step 3.

2Score each candidate

For every candidate release we compute four signals (vs the candidate's "Artist – Title"):

title similarity — fuzzy, vs both our release-title and cleaned track-title artist present? — word overlap or no-space substring (break3000break 3000) label present? — word overlap catno equal? — after stripping junk

A catno only counts as strong if the artist or label also agrees — catalog numbers collide across labels (FM318 exists on many).

3Accept / reject — by corroboration, not by title resemblance

We walk these rules top to bottom; first one that fits wins:

ACCEPT
Exact catno + the artist matches. The strongest signal — trust it. e.g. Saytek – Young Blood · CONS1205 ✓
ACCEPT*
Exact catno, but only the label matched → open the release and check: is our track actually on it? Yes → accept. No → it's a cross-label collision, skip. kills: Tafkaj – Earth · FM318 → an unrelated 1995 rock LP (our track isn't on it) ✗
ACCEPT
Strong artist + title match. Release is clearly ours. e.g. Break 3000 – The Wait ✓
ACCEPT
Artist matches but the release title is different → open the artist's candidate releases and check their tracklists; the one that contains our track wins. recovers: "Where Is My Rabbit" → Jeff Mills – Vanishing Act EP / B1 "Where's My Rabbit?" ✓
REJECT
Only the title looked similar — no artist, no catno. Untrustworthy. kills: wrong-artist title clash (Fraser Ross's "Where Is My Rabbit?") ✗

4Enrich the accepted match

We already fetched the release, so at no extra cost:

pin the exact track — position + duration store metadata — label, year, country, genre/style, barcode, marketplace + buy link pull the release's curated YouTube link whose title matches our track

The Discogs-curated YouTube is contributor-made and track-accurate — often better than a fuzzy yt-dlp search, especially for obscure tracks.

Open questions for you

This describes similarity.matching.discogs_match.find_discogs_match + the YouTube/SoundCloud matchers. See the live verify page for 100 worked examples.