Moi,
> I think that sound fonts can map out a
> portion of the keyboard, from looking at Swami, so would it be
possible to
> have a bass below middle C and a piano above middle C?
Yes, that's possible. Take two instruments and assign the zones on
preset level.
> The technical issue with these libraries is that sometimes
> a velocity of
> 63 and 64 do not compare well with each other, so there are
> adjustments made
> in each sample set to get it all to work. You are going to find these
> adjustments in a .gig file I'm sure.
That's no problem.
The SF2 standard allows completely independent parameters for each
individual velocity / key zone. One could even use a modulator to make
the transition gradual throughout the vel / key range of a sample (for
example velocity to filter cutoff and amplitude).
> The other one we need is 'key switching', where a range of
> keys on the
> keyboard are reserved as switches, not notes. When one of
> these keys is
> pressed, the complete sample set for all MIDI velocities
> changes. I think
> this one is easier to implement though. (Famous last
> words...) You'll find
> this in some of the .gig libraries, but possibly not on Worra's site.
Famous last words indeed... That would mean adding new features to the
SF2 format, to synth and editor.
And then, why switch samples only? If I change to another sample, I'll
probably also want to change filter, envelopes and so on.
In case somebody is interested in the solution I'm using to get a
similar result (with a control program 'wrapped' around iiwusynth):
In iiwusynth there is a quite new feature, the so-called MIDI router. It
can change (for example) the MIDI channel of received data, as in 'all
data received on channels 4..7 goes to the synth on channel 0'.
When I want to switch on-the-fly between different sounds, I assign them
to different synth channels. To change sounds, I just upload a new
router configuration (the router is smart enough to get pending
'noteoff' events right). For example: In state 1, all data goes to
channel 0, in state 2 all data to channel 1. I use program change
messages to switch between 'states' (instead of reserved keys).
Together with the Ladspa Fx unit this also allows to change the effects
setup. For example: Rhodes EP on synth channel 0 and 1, and a phaser
inserted at the audio output of channel 0 only. This effectively
switches the phaser on and off (what's best: held notes are unaffected,
so you can hold a chord, switch the router setup, and continue playing
with a different sound).
If there is interest in the control program I'm using, let me know. But
it's meant for live playing, not for sequencing, and far from
ready-for-the-masses.
Cheers
Markus
|