Skip to content

fix: ensemble separation ignores custom_output_names, misclassifies stems#275

Merged
beveradb merged 2 commits intomainfrom
feat/sess-20260323-1014-fix-ensemble-custom-names
Mar 23, 2026
Merged

fix: ensemble separation ignores custom_output_names, misclassifies stems#275
beveradb merged 2 commits intomainfrom
feat/sess-20260323-1014-fix-ensemble-custom-names

Conversation

@beveradb
Copy link
Collaborator

Summary

  • When using ensemble presets with custom_output_names, intermediate per-model separations received the custom names, which replaced the _(StemType)_ filename markers needed for stem classification
  • All stems were classified as "Unknown"/"Other" instead of "Vocals"/"Instrumental", and custom_output_names didn't match the final output
  • This broke karaoke-gen job processing — jobs failed at audio separation with "Stage 1 missing: mixed_vocals, mixed_instrumental"

Fix

One-line change in _separate_ensemble(): pass None instead of custom_output_names to per-model _separate_file() calls. Custom names are still applied to the final ensembled output (line 1348). This matches how _process_with_chunking already handles it.

Test plan

  • Bug reproduced against production API (tests/reproduce_ensemble_bug.py)
  • Local fix verified with mocked separation (tests/test_ensemble_fix_local.py)
  • Unit test added: TestEnsembleCustomOutputNames in tests/unit/test_stem_naming.py
  • All 234 unit tests pass
  • After deploy: re-run tests/reproduce_ensemble_bug.py against prod to verify fix
  • After deploy: retry failed karaoke-gen job 62fd4865

@coderabbitai ignore

🤖 Generated with Claude Code

…tems

When using ensemble presets with custom_output_names, intermediate per-model
separations received custom names that replaced the _(StemType)_ filename
markers. This broke stem type classification (regex extraction), causing all
stems to be labeled "Unknown"/"Other" and custom_output_names to not match.

Fix: pass None to _separate_file for intermediate ensemble files (matching
how _process_with_chunking already works), apply custom_output_names only
to the final ensembled output.

Bumps version to 0.43.1.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@beveradb beveradb enabled auto-merge (squash) March 23, 2026 14:38
Documents how the auto-scaling GPU runner system works, including
architecture, troubleshooting steps, and the critical requirement
to update branch protection rules when renaming integration test jobs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@beveradb beveradb merged commit 153b2e4 into main Mar 23, 2026
25 of 35 checks passed
@beveradb beveradb deleted the feat/sess-20260323-1014-fix-ensemble-custom-names branch March 23, 2026 19:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant