Home

dev / openkara

publicthedavidweng/OpenKara· sync paused
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

feat(separation): default new separations to four stems (#185)

2 months ago

bd90d76
Authored
Davy7/25/2026, 4:35:10 AM
* feat(separation): default new separations to four stems

Implements the corrected #182 decision: the model natively outputs four
stems and the two-stem projection costs the same inference time, so
four-stem becomes the default for NEW separations. The stem-mode setting
keeps its existing meaning (processing output for new songs) — there is
no playback-view concept: playing a four-stem song while the two-stem
mode is selected simply plays all four stems, which sounds identical
until per-stem volumes are touched.

- StemMode::default() flips to FourStem (config, settings store, mocks);
  existing separations and explicit user choices are unaffected.
- Space-sensitive users keep the OPTIONAL compress-to-two-stem paths
  (per-song downgrade and the library-wide maintenance action), and can
  still select two-stem output for new processing.
- The release smoke pins TwoStem explicitly: its validator asserts the
  vocals + accompaniment artifact pair, which four-stem does not write.
- Settings copy updated in en/zh-CN to explain the default and the
  space trade-off.

Closes #182.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(e2e): keep the mock session on the two-stem slider layout

The Playwright geometry specs assert the two-stem stem-button layout; the
mock is an e2e fixture, not a carrier of the product default.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

Parentf6b4e73

7 files changed
  • src-tauri/src/config.rs+5−2
  • src-tauri/src/smoke.rs+5−1
  • src-tauri/tests/phase6_catalog.rs+6−3
  • src/locales/en.json+1−1
  • src/locales/zh-CN.json+1−1
  • src/mock/tauri-mock-data.ts+2−0
  • src/stores/settings-store.ts+1−1