[music-dsp] A slight variation on the violins theme...

James Chandler Jr jchandjr at bellsouth.net
Mon Mar 19 15:16:43 EST 2001

> We are slightly moving away from my initial questions
> because I was talking about crossfading between notes
> recorded with the SAME velocity, but anyway, I realize
> that the probems are similar.

Hi, Boyan

Though this info might not be useful to what you want to accomplish--

There are tricks you could use with most commercial samplers, to
"semi-randomly" substitute different samples of the same note and velocity
range. This trick would even work with a SoundFont on a Soundblaster Live

Most samplers have a "multi-sample" keymap, where different samples are
arranged according to note range. Also, most samplers have several alternate
layers which can be faded or switched in and out according to velocity or
other performance parameters.

Usually you can assign the same multi-sample keymap to more than one layer,
without having to duplicate the actual sample data in memory. In other
words, each layer is just a set of playback parameters that point to
specific samples in memory.

You could make three multi-sample keymaps. Each keymap would reference
different samples. Each keymap would reference different instances of piano

For instance, if the sampler will support up to 8 layers, you could assign
the three keymaps to eight alternating velocity layers. The velocities below
32 will probably not be played real often, and the low-velocity notes will
be so quiet you probably won't hear much difference from switching samples
down there.

So you could assign the first layer for velocity range 1-32. Then assign
alternate keymaps on the remaining seven layers, and give each layer a
velocity range of about 13 or 14.

When playing a MIDI keyboard, it is difficult or impossible to play the
controller accurately enough to duplicate the same velocity level every time
you play a note.

So if you have the alternate note layers, each occupying a small velocity
range, the different notes will get "randomly" auto-assigned simply because
of the inaccuracy of the player (G).

Many samplers will allow more than 8 layers. As said earlier, the source
samples take up the most memory. Layers don't take up much memory. So with
more layers, you could assign alternate samples to smaller velocity ranges,
and make the alternate sample switching more "random."

The biggest chore is recording a set of piano samples that fit together
properly. When I've done it, record lots of notes to DAT, and then weed thru
them in a stereo editor. Even with many copies of each piano note available,
it is difficult to pick a set of multisamples that fit together without
sounding "gappy."

I think if you were trying to make two or three different keymaps that don't
sound gappy, it would take even more work. And then there would be the
question whether the samples would sound "gappy" when you play them and the
different layers start switching in and out.

James Chandler Jr.

dupswapdrop -- the music-dsp mailing list and website: subscription info,
FAQ, source code archive, list archive, book reviews, dsp links

More information about the music-dsp mailing list