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.
artist, title, and
if it has them: catalog #, barcode, label.
decks → catno/barcode/label. Traxsource → catno/label/duration.
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).
Player-less track is playable if YouTube or SoundCloud matched. No playable source → not ingested.
YouTube is the main playback source — resolved in this order:
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.
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 (break3000⊂break 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).
We walk these rules top to bottom; first one that fits wins:
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 trackThe Discogs-curated YouTube is contributor-made and track-accurate — often better than a fuzzy yt-dlp search, especially for obscure tracks.
This describes similarity.matching.discogs_match.find_discogs_match +
the YouTube/SoundCloud matchers. See the live verify page for 100 worked examples.