Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sustain pedal support in core library Voice Allocators? #52

Open
alfonso73 opened this issue Jan 25, 2021 · 3 comments
Open

Sustain pedal support in core library Voice Allocators? #52

alfonso73 opened this issue Jan 25, 2021 · 3 comments

Comments

@alfonso73
Copy link

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?

@cesaref
Copy link
Contributor

cesaref commented Jan 25, 2021

That's a good point, and a good idea. Yes, i'll investigate what can be done to add support for sustain.

@alfonso73
Copy link
Author

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.

  1. Last note priority (if two or more notes are pressed the last pressed one is played)

  2. Hifghest note priority (if two or more notes are pressed the highest pressed one is played)

  3. 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.

  4. Piano-like mode so when a new notes arrives that has already been played the same voice is assigned.

  5. 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

@cesaref
Copy link
Contributor

cesaref commented Jan 25, 2021

Yes, the current round robin allocator is about as simple as it gets, and we can certainly add a more sophisticated library implementation.

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

No branches or pull requests

2 participants