AI-Based Stem Separation
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
Enhancement Summary
I use a stem separator quite often when exploring the makeup of other tracks, and equally when remixing or looking for accapellas.
Anyway, it's a bit of a shame to have to open up demucs every time, when LMMS could contain this feature. I know FL recently got a similar feature.
Implementation Details / Mockup
Likely a sample track based feature, where one would be able to right-click, then select an option to open a stem separation menu. [ BADLY PHOTOSHOPPED EXAMPLE BELOW ]
This would then call demucs using a Python API ( from what it seems, pybind11 would probably be best ).
After separation, new sample tracks would be created, each containing a stem of the targeted sample.
This may require some resolution of #735 for ideal functioning.
I'd be more than happy to try and make a first draft ( I know my way around C++ pretty well, but not so much the LMMS codebase ) - just wanted to check that this was an acceptable suggestion.
NOTE : I'm aware of #4587 and the Python discussion. Therefore, I'm wondering whether people think a problem would arise from such a dependency addition ?
Please search the issue tracker for existing feature requests before submitting your own.
- I have searched all existing issues and confirmed that this is not a duplicate.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading issue #735 and the Python discussion in #4587, then inspect LMMS’s existing sample-track and right-click entry points. Clarify the proposed Demucs integration and dependency implications before defining the implementation scope. Done means an agreed approach and a feature that creates new sample tracks for the separated stems.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- audio-video-rtc, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100