Skip to content

change mdxc to process all stems#210

Merged
beveradb merged 1 commit into
nomadkaraoke:mainfrom
zbear0808:process-all-stems
May 3, 2025
Merged

change mdxc to process all stems#210
beveradb merged 1 commit into
nomadkaraoke:mainfrom
zbear0808:process-all-stems

Conversation

@zbear0808
Copy link
Copy Markdown
Contributor

@zbear0808 zbear0808 commented May 2, 2025

I was having trouble with getting the results i expected with certain models. I noticed that the separator only handles exporting primary and secondary stems, even though it does the actual computation for all of the stems.

code i used to test

drum_separator_model = "MDX23C-DrumSep-aufr33-jarredou.ckpt"
drums = "ssd.wav"

s = Separator(log_level=1)
s.load_model(model_filename=drum_separator_model)
output_files = s.separate(drums)

Before it only outputted the Kick and Snare stem. (But the snare was actually everything but the kick)
Now it outputs the files for every stem in the model.

notes

I've also set the default state to True so that it will normally processes all the stems. IMO, this should be the expected default state, as it would provide parity with UVR. But i'm open to making it just a parameter.

I also originally wanted to put this logic in either separator.py or common_separator.py , but I couldn't find a place to do it? If you have any suggestions lmk.

@mesakarghm
Copy link
Copy Markdown

Hey @beveradb , I'm in urgent need for this. I was gonna implement and raise a PR myself, but no need to do that anymore since its already been implemented here, big thanks to @zbear0808

Any chance we could merge this soon? Hopefully in a day or two?

@zbear0808
Copy link
Copy Markdown
Contributor Author

Hey @beveradb , I'm in urgent need for this. I was gonna implement and raise a PR myself, but no need to do that anymore since its already been implemented here, big thanks to @zbear0808

Any chance we could merge this soon? Hopefully in a day or two?

If you need this right now can't you just pull from my branch?
if you need help with that I could probably make a docker container for you

@mesakarghm
Copy link
Copy Markdown

Thanks @zbear0808 — that’s a helpful suggestion! I think I’ll go ahead and install it directly from your branch using pip for now. That should work fine as a temporary workaround.

Still, it’d be great to have this merged soon so we can stay aligned with the main package. Really appreciate you getting this implemented.

@beveradb beveradb merged commit a0eb0d8 into nomadkaraoke:main May 3, 2025
13 checks passed
@beveradb
Copy link
Copy Markdown
Collaborator

beveradb commented May 3, 2025

Nice work, thanks for your contribution @zbear0808 🙇

@beveradb
Copy link
Copy Markdown
Collaborator

beveradb commented May 3, 2025

Released in version 0.33.0 🎉

@beveradb
Copy link
Copy Markdown
Collaborator

beveradb commented May 7, 2025

Which model(s) are you using this with, @zbear0808 / @mesakarghm ?
I want to add an end-to-end test to the CI workflow for this use case 🙏

@Bebra777228
Copy link
Copy Markdown
Contributor

The MDX23C-DrumSep-aufr33-jarredou.ckpt model used to output 2 stems, but now, after this update, it outputs 6 stems, as it should :)

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.

4 participants