feat(tide-table): pack-level sample grouping above the folder (#85)
PLN's insight: the FOLDER is a loose convention, not the true grouping. rample* is ONE bank sliced A0..S57; 808* is one drum machine split per voice; *_commodore is one chip sliced by role. So adds the PACK granularity above the folder — per-pack / per-folder / per-sample, weakest-to-strongest binding (per-sample stays the only ground truth). sample_packs.py: a curated REGISTRY (drum_machine / bank / chip / source / genre) + an auto-grouper (prefix-before-digit & underscore head/tail tokens, ≥2 folders) that PROPOSES packs the registry missed — it caught trance_* and voices_*, now folded in. A pack needs ≥2 grounded folders (a 1-folder pack is just a folder; it may gain siblings when #84 grounds all 718 — provenance notes this). Rolls the per-SAMPLE family counts up to the pack and asks the real question: does a pack live in one audio family, or span the wheel? 22 packs over 83/150 folders; 15 of them deliberately span multiple families: rample → 8 families (snare/kick/hat/fx/break/pad…) — a bank IS a grab-bag jungle → 11 families — a whole genre's kit 808 → kick/hat/perc — one machine, three voices commodore → bass/fx/pad/lead/synth — the chip, every role That origin-vs-sound mismatch is the point, not noise: a pack defined by ORIGIN (a song, a machine, a console) is EXPECTED to scatter across the audio clusters. Feeds the Unwrapped viz (group-by-pack vs audio-cluster as a story lens) and vibe-search scoping. Never lets a pack boundary bias the audio analysis — it's a hint to compare against, never a law.
Showing
armada/tide-table/sample_packs.json
0 → 100644
This diff is collapsed.
Click to expand it.
armada/tide-table/sample_packs.py
0 → 100644
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment