swesterfeld / liquidsfz

SFZ Sampler
Mozilla Public License 2.0
87 stars 12 forks source link

Allow for overlapping notes #38

Closed jkbd closed 2 years ago

jkbd commented 2 years ago

This issue was partly discussed in #26. To sum up:

With LiquidSFZ (Version 0.3.1) the situation is, that

liquidsfz> cc 0 64 127     # Press the sustain pedal
liquidsfz> noteon 0 60 127 # Press key hard
liquidsfz> noteon 0 60 10  # Press key soft

the softer note ends the louder note.

However, with most acoustic instruments the expected behavior is, that approximately both notes on the same key continue to ring, while the sustain-pedal is pressed. With the sustain-pedal released, all ringing notes (that are not pressed) are damped.

jkbd commented 2 years ago

I hacked a working example in SuperCollider in this Gist: https://gist.github.com/jkbd/78bdc851bc035346bc9c4fd6f8f82a74. Maybe it helps the discussion.

To run it, start SuperCollider, adapt to your MIDI devices names, evaluate the three blocks and you are ready to play your MIDI keyboard.

swesterfeld commented 2 years ago

@jkbd So I think it should be fixed with commit 585836f, which simply allows new voices to overlap sustained existing voices?

I also tested what the Sforzando plugin does under Windows and yes, it seems that they also allow this kind of overlapping notes if sustain pedal is down.

jkbd commented 2 years ago

Thank you so much! It works as suggested and feels so much better to play!

Also, with both forearms pressing keys on the keyboard, I could not provoke XRUNs with my PC. I will check with a thin client later, but I will report only if problems arise.