-
feat(foundry): sampling-classics demo sources for loop-quality iteration · fd1fae82
Add a curated list of 10 sampling classics as built-in demo sources — fuel for demoing the Foundry, precomputing a fixed validation corpus, and iterating on loop/chop quality (#19 autotune input). WHY: we need a stable, pedagogically-diverse set to validate the finder across material types instead of ad-hoc URLs. The set spans the axes that stress the finder differently: canonical drum BREAKS (Amen, Funky Drummer, Apache — the gold standards; if the rubric can't nail these it's wrong), a BASS-defining groove (Chic – Good Times), VOCAL/no-drums (Loituma), ORCHESTRAL/no-drums edge case (Mozart 40 — exercises the no-drums grid fallback), a full clean POP mix (Rickroll), hip-hop sample-collage (Grandmaster Flash Wheels of Steel, Humpty Dance), and a drum+vocal-stab combo (Lyn Collins – Think). WHAT: - demos.json — authored data (slug/title/year/source/why/expect/tags). Each entry flags drums-presence because the finder's grid-from-drums path depends on it (no-drums → bass/first-stem fallback, per the recall notes). - engine/demos.py — loader (load / by_slug / source_of). - foundry.py "demos" command — list, or precompute via --catch <slug> / --all (+ --sep to separate). This batch path is exactly what #19 autotune consumes. - server.py — GET /api/demos; /api/fetch now accepts "ytsearch1:" queries too. - ui/index.html — a 'sampling classics' quick-pick strip (click → fills the URL, tooltip shows why/expect). HONESTY ON LINKS: only Loituma (from the repo's own test fixture) and Rickroll (universally known id) ship as verified watch URLs (✓). The rest use "ytsearch1:" queries (≈) that resolve to the top hit at fetch time — so we never ship a guessed video id that silently breaks. yt-dlp accepts both forms. VALIDATION: foundry demos lists 10 (✓/≈ marked); /api/demos serves the JSON; UI strip renders; loader resolves source_of('amen-break').PLN (Algolia) authoredfd1fae82
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| index.html | Loading commit data... |