|
From: <be...@ga...> - 2003-10-27 11:05:05
|
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 mailing list. cheers, Benno http://www.linuxsampler.org ------------------------------------------------- This mail sent through http://www.gardena.net |
|
From: holborn <ho...@te...> - 2003-10-27 11:36:00
|
Hi .. Benno .. On Lunes, 27 de Octubre de 2003 10:52, be...@ga... wrote: > 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. > -------------- Well ... that's not exactly .. in a real acoustic piano ... if you press the sustain pedal ... the release is not infinite ... sounds goes down even with this pedal pressed, in commercial synthesizers for piano like sounds that's is emulated ... of course the release is to mutch long than if you dont have pressed this pedal. For a brass sound for example the release if you press this pedal is infinite. > 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 ? Well i'm no sure how the commercial synthesizers or electronic pianos manage this but y supose they maintain the "old" note. In a real acoustic piano .. the resonance produced when you press this pedal and you have notes hold produces different concomitants harmonics, that varies the timbre of a note if you have other notes hold ... that is not emulated by electronic machines, some electronic machines generates random harmonics only ... well i'm not sure about if the new new models can emulate this. I think a good police is maintain the old note sound ... almost when the new note attack-decay sounds... Josep |
|
From: Mark K. <mar...@co...> - 2003-10-27 15:34:09
|
On Mon, 2003-10-27 at 02:52, be...@ga... wrote: > Hi, > I was wondering what's the correct way to handle the sustain pedal when > implementing a MIDI sound generating module. In my experience it is implementation dependent. There is no 'right' or 'wrong' way to handle it. Different synths do this differently, and it depends on what you are going to use them for. See below... I think the term to use in this discussion is 'retrigger'. > > 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 ? In GSt there are multiple sustained notes using the same sample. You can see it in the voice usage info. Hit the first C2 (with sustain pedal down) and voice count goes to 2.(Stereo library) Let go and wait the FULL length of the sample with the sustain pedal down and *eventually* the voice count goes back to 0. (After the sample length of 30 seconds on the Bardstown piano.) Now, push sustain, hit C2, voice count = 2, release, voice count still = 2, push C2 again, voice count = 4, release, still = 4, push C2 again, voice count = 6, release, still 6. This can go as far as you let it. In GSt96 it can go to 96 voices. (And it can crash GSt too!) ;-) This will build up for roughly 30 seconds. At that point the sample from the very first key press runs out, and voice count reduces by 2, then 2 again, then 2 again as each key press runs out. > > 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. Yes, for a piano it would see unnatural. However, the keyboard you are pressing has to work for all instruments, not just piano... Let's consider trumpets. Is the sample library which is mapped to the keyboard representing one trumpet player? Or is it representing as many trumpet players as you need. Often I will score 3-5 trumpet (or sax, trombone, etc.) tracks and send all of them on the same MIDI channel. By setting the dynamics and timing of each track a bit differently I get something that sounds more like a real horn section: MIDI Track 1 - C2-velocity=85 MIDI Track 2 - C2-velocity=65, delay 5mS MIDI Track 3 - C2-velocity=75, delay 13mS If you didn't like me doing this (for whatever reason) then I could place the same library on different MIDI channels in LinuxSampler, but that would likely require you to load the same samples into memory and that's a bit of a waste. The above technique works even better when you use different libraries for each track, so that the trumpet samples sound even more different, but works fine with a single library. The orchestral guys use a single library, like Garritan's string stuff, but score 20-30 tracks of violins building up the sound of an orchestra. (Or so I'm told!) ;-) > > As you might have guessed I ask this stuff because we want to add > support of sustain in linuxsampler. I might have guessed! ;-) > > thanks for your infos. You're welcome. > > 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 mailing list. Cool! Will do! - Mark |
|
From: Christian S. <chr...@ep...> - 2003-10-27 21:07:31
|
Es geschah am Montag, 27. Oktober 2003 16:31 als Mark Knecht schrieb: > > 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. > > Yes, for a piano it would see unnatural. However, the keyboard you are > pressing has to work for all instruments, not just piano... Maybe that is what the "Piano Release Mode" in the gig format is for. That's one of the few things I'm not sure about. Perhaps somebody having access to a Gigasampler can check it? As far as i can remember this is an instrument global parameter check box somewhere in the instrument editor. So switching on and off this parameter and seeing, ehm sorry, hearing it's actual output influence would be interesting. CU Christian |
|
From: Mark K. <mar...@co...> - 2003-10-27 21:22:00
|
On Mon, 2003-10-27 at 13:05, Christian Schoenebeck wrote: > Es geschah am Montag, 27. Oktober 2003 16:31 als Mark Knecht schrieb: > > > 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. > > > > Yes, for a piano it would see unnatural. However, the keyboard you are > > pressing has to work for all instruments, not just piano... > > Maybe that is what the "Piano Release Mode" in the gig format is for. That's > one of the few things I'm not sure about. Perhaps somebody having access to a > Gigasampler can check it? As far as i can remember this is an instrument > global parameter check box somewhere in the instrument editor. So switching > on and off this parameter and seeing, ehm sorry, hearing it's actual output > influence would be interesting. > > CU > Christian Christian, I'd be happy to take a look. Another interesting one I noticed the other day was a single check box in the overall properties for a gig file simply called 'drum'. BTW - I sent Steve the impulse data that I took. Would you like a copy of that, or even a copy of the gig files I built to acquire it? If so, let me know. Mark |
|
From: Christian S. <chr...@ep...> - 2003-10-27 23:44:45
|
Es geschah am Montag, 27. Oktober 2003 22:19 als Mark Knecht schrieb: > Another interesting one I noticed the other day was a single check > box in the overall properties for a gig file simply called 'drum'. That's already defined in DLS. It will cause not to pitch sample(s) if triggered by a key not equal it's root note. > BTW - I sent Steve the impulse data that I took. Would you like a copy > of that, or even a copy of the gig files I built to acquire it? If so, > let me know. At the moment I'm quite busy. Some of the basic functions are still not finished yet (e.g. looping, sustain, etc.), so I hope Steve will find the time to pick up the right VCF algorithms in the meantime. If not I will pleas you for your result samples (maybe in a week or so). Thanks Mark! Christian |
|
From: Mark K. <mar...@co...> - 2003-10-28 03:41:11
|
On Mon, 2003-10-27 at 13:05, Christian Schoenebeck wrote: > Maybe that is what the "Piano Release Mode" in the gig format is for. That's > one of the few things I'm not sure about. Perhaps somebody having access to a > Gigasampler can check it? As far as i can remember this is an instrument > global parameter check box somewhere in the instrument editor. So switching > on and off this parameter and seeing, ehm sorry, hearing it's actual output > influence would be interesting. > Christian, The Piano Release Mode choice shows up in the same gig file properties screen that has the Drum check box. It is global to the whole gig file. Interestingly, it is not being used on my best piano library, the Bardstown Bosendorfer. The GigaEdit help file doesn't seem to have any information about it. I'll continue to look around tomorrow, either on the machine or maybe at Northern Sounds. Cheers, Mark |
|
From: <be...@ga...> - 2003-10-28 10:17:53
|
Mark as always thanks for your explanations. The voice buildup when hitting the same key with sustain down is ok we can easily do that. But as you (and others, see below) said it leads to high polyphony consumption which might cause CPU overload or cutting of notes. Giga seems to have a velocity dynamics problem too. See the very useful comments (with .MID and .GIG test files that show the issue) from Warren Trachtman, the maker of the Trachtman Piano for Giga. He talks about the sustain polyphony problem and the piano release mode that does not seem to work. http://www.wstco.net/gigaissues/ Christian take these velocity issues into account when adding volume support to linuxsampler. Returning to the pedal polyphony problem: we could provide both the unlimited voices mode and a limited one, eg you say max 4 voices per key this means if you keep hitting the same key you if there are more than 4 voices active the older notes will quickly fade out keeping the polyphony within limits. cheers, Benno http://www.linuxsampler.org Scrive Mark Knecht <mar...@co...>: > On Mon, 2003-10-27 at 13:05, Christian Schoenebeck wrote: > > Maybe that is what the "Piano Release Mode" in the gig format is for. > That's > > one of the few things I'm not sure about. Perhaps somebody having access to > a > > Gigasampler can check it? As far as i can remember this is an instrument > > global parameter check box somewhere in the instrument editor. So switching > > > on and off this parameter and seeing, ehm sorry, hearing it's actual output > > > influence would be interesting. > > > Christian, > The Piano Release Mode choice shows up in the same gig file > properties screen that has the Drum check box. It is global to the whole > gig file. > > Interestingly, it is not being used on my best piano library, the > Bardstown Bosendorfer. > > The GigaEdit help file doesn't seem to have any information about it. > I'll continue to look around tomorrow, either on the machine or maybe at > Northern Sounds. > > Cheers, > Mark > > > > ------------------------------------------------------- > This SF.net email is sponsored by: The SF.net Donation Program. > Do you like what SourceForge.net is doing for the Open > Source Community? Make a contribution, and help us add new > features and functionality. Click here: http://sourceforge.net/donate/ > _______________________________________________ > Linuxsampler-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel > ------------------------------------------------- This mail sent through http://www.gardena.net |
|
From: Mark K. <mar...@co...> - 2003-10-28 12:53:30
|
On Tue, 2003-10-28 at 02:12, be...@ga... wrote: > Giga seems to have a velocity dynamics problem too. Keep in mind that Warren's data here is 3 years old. There have been numerous upgrades to GSt. We should take his MIDI file and process out the same data, both with GSt and LinuxSampler for verification. Sometime this week I will try and do that. (I have the Trachtman piano BTW) > See the very useful comments (with .MID and .GIG test files that show the issue) > from Warren Trachtman, the maker of the Trachtman Piano for Giga. > He talks about the sustain polyphony problem and the piano release mode that > does not seem to work. But he does give a clue as to what the 'piano release mode' is supposed to do, in his mind anyway. That's helpful. > > http://www.wstco.net/gigaissues/ > > Christian take these velocity issues into account when adding > volume support to linuxsampler. > > Returning to the pedal polyphony problem: we could provide both > the unlimited voices mode and a limited one, eg you say max 4 > voices per key this means if you keep hitting the same key you > if there are more than 4 voices active the older notes will quickly > fade out keeping the polyphony within limits. Stay open and have ideas. I think the right answers will likely come down to how the sampler plays and what it sounds like. Finding the best solutions may come only when we get more musicians involved. - Mark |
|
From: <be...@ga...> - 2003-10-28 13:36:05
|
Scrive Mark Knecht <mar...@co...>: > On Tue, 2003-10-28 at 02:12, be...@ga... wrote: > > Giga seems to have a velocity dynamics problem too. > > Keep in mind that Warren's data here is 3 years old. There have been > numerous upgrades to GSt. We should take his MIDI file and process out > the same data, both with GSt and LinuxSampler for verification. Sometime > this week I will try and do that. > > (I have the Trachtman piano BTW) ok, if the data is obsoleted the ignore that. But yes, that you will be able to do A/B tests with the Trachtman piano will be very valuable. As always thanks for your contributions Mark. Keep in mind that volume control is not supported yet in Christian's articulation stuff so I guess it does not make sense yet to perform extensive A/B tests. Christian what are your plans with the volume articulation ? Or are there other issues to solve first ? > > > See the very useful comments (with .MID and .GIG test files that show the > issue) > > from Warren Trachtman, the maker of the Trachtman Piano for Giga. > > He talks about the sustain polyphony problem and the piano release mode > that > > does not seem to work. > > But he does give a clue as to what the 'piano release mode' is supposed > to do, in his mind anyway. That's helpful. yes. > > > > > http://www.wstco.net/gigaissues/ > > > > Christian take these velocity issues into account when adding > > volume support to linuxsampler. > > > > Returning to the pedal polyphony problem: we could provide both > > the unlimited voices mode and a limited one, eg you say max 4 > > voices per key this means if you keep hitting the same key you > > if there are more than 4 voices active the older notes will quickly > > fade out keeping the polyphony within limits. > > Stay open and have ideas. I think the right answers will likely come > down to how the sampler plays and what it sounds like. Finding the best > solutions may come only when we get more musicians involved. I agree, first make it simple (eg. no limits about the voices that can be played on a single key) and then extend it. What were these famous Microsoft tactics again ? Embrace and extend ? :-) > Hi, > I downloaded (I think) the CVS code. How do I build it? No INSTALL > instruction file, so I tried: > > make -f Makefile.am We moved away from sourceforge (many are still trying to check out from sf.net :-) ): this is the correct command to fetch the CVS: cvs -z3 -d:pserver:ano...@cv...:/home/schropp/linuxsampler co linuxsampler cheers, Benno > > - Mark > > > ------------------------------------------------- This mail sent through http://www.gardena.net |