-
feat(tide-table): foundry_stems — bridge to the Foundry demucs engine · 607c408d
Stem-aware emotion needs the voice isolated: the full mix is muddy for CLAP, but the VOCALS carry valence, DRUMS+BASS carry arousal, and vocal presence is itself a section/structure cue. ensure_stems(file, slug) consumes the Foundry's in-process Python API (tools/foundry, the shared separation engine) → {mix,vocals,bass,drums, other} absolute paths, idempotent via catch.json (re-runs free). Validated: 4-stem demucs separation of a 6-min track (Bohemian Rhapsody) lands all four stems clean. Feeds emotion_timeline's stem-aware analysis (#89) and the hexa lane (#90).PLN (Algolia) authored607c408d
×