Hi, I was wondering what's the correct way to handle the sustain pedal when implementing a MIDI sound generating module.
from the MIDI specs:
-----------
Hold Pedal, controller number: 64:
When on, this holds (ie, sustains) notes that are playing, even if the musician releases the notes. (ie, The Note Off effect is postponed until the musician switches the Hold Pedal off). If a MultiTimbral device, then each Part usually has its own Hold Pedal setting.
Note: When on, this also postpones any All Notes Off controller message on the same channel.
Value Range: 0 (to 63) is off. 127 (to 64) is on.
--------------
My question is about ".... holds (ie, sustains) notes that are playing, even if the musician releases the notes."
Assume I play a chord, press the hold pedal, which causes the notes to be sustained. When I play new notes those are sustained too.
So far so good.
The question arises when I press the same key two times.
Assume no sustain pedal for now.
When I press C2 I hear the note. When I release it the sound does not vanish immediately but takes a small amout of time to decay due to the release envelope. If after releasing C2 I immediately press C2 again I hear two C2 notes for a brief time.
Now same situation as above but with the sustain pedal pressed.
You hear the first C2, release it (the corresponding note-off is postponed) and then press C2 again.
In that case is it correct that you must hear two sustained C2 notes.
Or must the first C2 be forced to get faded out / muted ?
If not (eg you hear two sustained C2 notes), how far can this go ?
Can there be 3, 4 etc sustained notes on the same key too ?
While I am not a piano player,common sense says me thatpiano has only one string per key so IMHO it would sound unnatural to play two
notes on the same key.
As you might have guessed I ask this stuff because we want to add support of sustain in linuxsampler.
thanks for your infos.
PS: a new CVS repository for linuxsampler is up: cvs.linuxsampler.org interested developers and users please check it out and give us feedback via our mailing list. (subscription infos at http://www.linuxsampler.org ).
cheers, Benno http://www.linuxsampler.org
