SOUL
SOUL copied to clipboard
Sustain pedal support in core library Voice Allocators?
Hi! Would be great if sustain pedal support is added to https://soul-lang.github.io/SOUL/docs/soul_library.html#mod_soul_voice_allocators As far as i see as for now there's non mechanism for sustain pedal handling in voice allocation. Am i right?
That's a good point, and a good idea. Yes, i'll investigate what can be done to add support for sustain.
Thanks. Another interesting point is how polyphonic and monophonic voice allocation/stealing are implemented. As for monophonic voice stealing would be great to have the following modes.
-
Last note priority (if two or more notes are pressed the last pressed one is played)
-
Hifghest note priority (if two or more notes are pressed the highest pressed one is played)
-
Lowest note priority (if two or more notes are pressed the lowest pressed one is played) As for polyphonic voice stealing same things are valid. And on top of that for polyphonic allocation there are at least two modes.
-
Piano-like mode so when a new notes arrives that has already been played the same voice is assigned.
-
Voice allocation is done regardless same note retriggering. This mode is more typical in synthesizer.
Some discussion here...
https://www.kvraudio.com/forum/viewtopic.php?f=33&t=558446
Yes, the current round robin allocator is about as simple as it gets, and we can certainly add a more sophisticated library implementation.