Alfons Adriaensen wrote:
On Mon, Oct 27, 2003 at 12:44:45PM +0100, Benno Senoner
wrote:
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 ?
Most synths will just restart the note on the same voice in both cases,
i.e. begin a new attack phase at the level the previous (same) note had
reached during its release. So there will one be at most one note of a
particular pitch at the same time.
Keep in mind that linuxsampler streams its samples from disk so we can
use very large sample sets.
There exist many high quality piano samples in .GIG format that have 4-8
layers (velocity splits) for
pedal up and pedal down samples.
My question is mainly how to switch these samples.
What do you mean with "i.e. begin a new attack phase at the level the
previous (same) note had
reached during its release" ?
You mean velocity level ?
Assume I press C2 with velocity 50 pedal up, the C2-pedalup (associated
to velocity 50) sample sounds.
Now I press the sustain pedal and press C2 with velocity 100.
What should the sampler do ? Quickly fade out the C2-pedalup
(velocity-50) note and trigger the
C2-pedaldown (velocity 100) note ?
And of course when you release the pedal all sustained notes will get a
note-off.
for example I ordered the PMI Steinway D Grandioso sample (5 GB of
piano samples) in .GIG format
(see here for an mp3 demo, description etc:
http://www.timespace.com/data/downloads/itemdetail.asp?ID=1133 )
and I want that this library plays perfectly in linuxsampler thus we
need some inputs for good sustain pedal
implementation.
As said we are not talking about string resonance emulation (yet), we
just want those wonderful sample libs
to play correctly in linuxsampler and this includes correct (withhin the
limits imposed by sampling) correct
sustain pedal emulation.
----
from a a review in SoS:
http://www.soundonsound.com/sos/oct02/articles/sample_grandioso.htm:
One of the features that adds extra realism to Steinberg's /The Grand/
VST Instrument is its ability to crossfade between the sustain pedal up
and down samples when you press and release the sustain pedal. While
it's not currently possible to do this with /GigaStudio/, PMI will
overcome this with a clever utility called /Virtuoso/, which provides
the same functionality in /GigaStudio/ when combined with the /Virtuoso/
patches in the library. I say 'will' because although the /Virtuoso/
patches are supplied, the /Virtuoso/ utility itself isn't ready yet.
----
Is that feature called "re-pedaling" ?
IMHO it would be pretty easy to implement if you always start both
samples (pedal-up and pedal-down) and then
crossfade between the two when the user presses the pedal. (besides from
the fact that you need to defer note-offs
the pedal is down).
Or does that sound bad ?
The more and better inputs you will give us about how to implement
sustain the more likely linuxsampler will
implement it correctly.
Small pedantic note: a piano has more than one string
per note, but
you always play them all together :-) It's one of the reasons why a
decent piano sound is quite hard to synthesize.
Yes string resonance is the problem and not trivial to emulate (eg GEM
RealPiano and The Grand VSTi perform some
kind of emulation), but for now let's focus to good playback of these
high quality multi GByte instrument libraries.
Then if some skilled DSP developers want to join our quest and add
string resonance (like The Grand VSTi does) then
even better.
cheers,
Benno
http://www.linuxsampler.org
A professional grade sampler for Linux