Lead/backing vocal split, stems relocation fixes, eager model pre-download - #406
Merged
Conversation
…d eager model pre-download (#275, #403) Lead/backing vocal split: - New on-demand POST /api/jobs/{id}/vocal-split endpoint, running UVR-MDX-NET Karaoke 2 (audio-separator) as a second pass over Demucs's vocals.wav - Desktop and mobile UI toggle to request the split, auto-chained once the base separation finishes, for both foreground and background jobs - Mixer shows Lead Vocals / Backing Vocals lanes in place of Vocals once split Stems relocation fixes (#403): - user-data.json (library metadata) now lives inside the jobs folder so it follows a Settings relocation instead of staying behind in Documents - The relocation endpoint's settings persist step was silently swallowing write failures and reporting false success; it now reports persisted: false and the Settings UI shows a clear warning instead Desktop setup wizard: - Demucs, beat-this, and the karaoke model now download eagerly during first-boot setup instead of lazily on first use Also: - Credit audio-separator / Ultimate Vocal Remover in the README per its license's attribution requirement, plus a license audit in docs/models.md - Add models/ to .gitignore
added 2 commits
August 21, 2026 17:30
…an compile diffq has no prebuilt wheel for Python 3.11+ on Linux, its last release only ever shipped cp310 wheels, so uv sync must compile it from source, which needs gcc. Docker and the Linux desktop release build already install build-essential for the same reason; the plain lint/test CI container never needed it before audio-separator (#275) pulled diffq in.
This PR ships as v0.12.0, per the user's decision given it introduces the new lead/backing vocal split feature.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
POST /api/jobs/{id}/vocal-splitendpoint runs UVR-MDX-NET Karaoke 2 (viaaudio-separator) as a second pass over Demucs'svocals.wav, producinglead_vocals.wav/backing_vocals.wav. Desktop and mobile both get an opt-in toggle that auto-triggers the split once the base separation finishes (foreground and background jobs both covered); the mixer shows the two new lanes in place of Vocals once a job has them.user-data.json(library metadata: favorites, folder layout, per-job mixer state) now lives inside the jobs folder instead of its parent, so relocating stems via Settings carries it along automatically. Separately, the relocation endpoint's settings-persist step was silently swallowing write failures and reporting false success; it now reportspersisted: falseand the Settings UI shows a clear warning instead of a false "done."audio-separator/ Ultimate Vocal Remover in the README per its license's attribution requirement, with the full license audit indocs/models.md.Test plan
main(beatgrid numerics, packaging exec-bit, parent-watchdog timing, one zip test - all environment-specific on this Windows dev box, confirmed present onmaintoo before this branch)cargo checkon the Tauri desktop app: compiles cleanffmpeg volumedetect), stems relocation with a simulated persist failure, and a full local Windows NVIDIA portable build