Directly addresses the #7 finding: per-stem PLP grids are weak on sparse-onset stems (Doors/vocals recall 0.06 vs Gil-Scott-Heron 0.56), because PLP needs onsets to lock a pulse and a vocal stem barely has them. Fix: find_takes now computes ONE beat grid from the most rhythmic stem (drums → bass → first available) and reuses it for every stem, so vocals/other are cut on the same musical bar lines as the drums instead of each guessing its own. analyze_stem gained an optional `grid=(peaks,times,bpm)` param (None ⇒ per-stem, the CLI case); find_takes and build_finder_eval both pass the shared grid. Verified on Loituma: "beat grid from drums" → all four stems analysed on it, including a cross-stem bass+vocals take at 137s. 8 finder tests (added: analyze_stem honours a shared grid and adopts its tempo). build_finder_eval re-run with per-track drums grid is in flight to quantify the recall lift over the 0.27 baseline; the correctness win (shared grid ≫ weak per-stem grid on sparse stems) holds regardless. Pt.2 (sub-bar chop mode) remains on #18.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| bridge | Loading commit data... | |
| foundry | Loading commit data... | |
| pulsar-parvagues-hud | Loading commit data... | |
| README.md | Loading commit data... | |
| analyze_samples.py | Loading commit data... | |
| fan_check.sh | Loading commit data... | |
| gen_tokens.py | Loading commit data... | |
| gen_ts_types.py | Loading commit data... | |
| mute.tidal | Loading commit data... | |
| sample_tfidf.py | Loading commit data... | |
| shipowiz.py | Loading commit data... | |
| solo.tidal | Loading commit data... | |
| tools.png | Loading commit data... | |
| unmute.tidal | Loading commit data... | |
| unsolo.tidal | Loading commit data... |