Unless I am missing something subtle, it is the same. The only concern might be sostenuto which should sustain all notes held at the time the pedal is depressed but not any played after the pedal is depressed. (Is that MIDI CC66? I can't remember.)
I don't think there's much difference in the function in terms of what they do to the data, just how they're implemented for the user.
The main difference between hold and sustain that I've seen is the sustain is usually connected to a momentary switch which is on while the pedal is above value 64 and it's off when the pedal is below 64 - with the 'off' position being the default or 'at rest' setting. To activate the function for sustain you have to keep the switch in the 'high' position by keeping it depressed. Let go of the momentary switch and sustain is deactivated.
The hold function on a lot of synths is a latching type function instead of momentary. Turn the switch on and, until you turn it off, you get the sustain effect. This kind of switch requires two touches by the user - tap once to turn it on - and it stays on. Tap once more to turn it off. This would be unwieldy to use for sustain pedal type applications.
Mark - you're right. The function is the same - when the value of CC#64 is below 64, note offs are delivered when a key is released. When the value rises above 64, note offs are 'postponed' until the value again falls below 64, at which time all pending note-offs are delivered. Whether the pedal is a latch or momentary is irrelevant.
OK, I had a bit more of a look around because you guys made me wonder...
The midi spec names TWO hold pedals. Looks to me like the terms Hold and Sustain are interchangeable when referring to midi sustain pedals.
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.
0 (to 63) is off. 127 (to 64) is on.
The second one I've never even heard about....
Hold 2 Pedal
When on, this lengthens the release time of the playing notes' VCA (ie, makes the note take longer to fade out after it's released, versus when this pedal is off). Unlike the other Hold Pedal controller, this pedal doesn't permanently sustain the note's sound until the musician releases the pedal. Even though the note takes longer to fade out when this pedal is on, the note may eventually fade out despite the musician still holding down the key and this pedal. If a MultiTimbral device, then each Part usually has its own Hold 2 Pedal setting.
Also, to confuse things even more, there are keyboards which sport 'hold' buttons on them. These DON'T act like sustain pedals. Generally these work such that when you tap a note or chord they are sustained until a new note is played, at which point the previous note/chord is given its note off.
I think on one of my pianos, CC69 is set to the sostenuto pedal.
But... now I've read the description of its proper functionality, I suddenly had a flashback to reading this implemented in a synth I used right back ages ago. I'll check this some time. Maybe the Roland LA synths implemented it?