Support audio processing with more than 2 channels
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
Some plugins require more than 2 channels for its audio input/output. Here are some common use-cases:
- Stereo sidechain compressor: requires 2 stereo inputs
- Drum kits: some drum kit VSTs can use multiple outputs for multiple samples, for examples, stereo out 1 for kick, stereo out 2 for snare
However, there are some difficulties which come from the internal structure of the LMMS core:
- LMMS uses interleaved stereo formats while external plugins like VST, LADSPA, Zyn, and LV2 expect non-interleaved format.
For audio outputs and file outputs, the interleaved form might be beneficial. However, I think it's not for internal processing.
Features that can be implemented:
- Multi-channel matrix effect, as an extension of the current stereo matrix plugin
- Better support for sidechain compressor or vocoder plugin, see #3817 and #4337
- Native drum sampler(#4075) with per-sample effect mixing
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or specific entry points are named. Start by mapping LMMS core audio processing and the plugin interfaces mentioned, then review issues #3817, #4337, and #4075; done would require a decided multi-channel design and working support for the selected use cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- audio-video-rtc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100