The volume of multisamples

Link to good samples/soundfonts at http://wiki.linuxaudio.org/wiki/free_audio_data

Moderators: MattKingUSA, khz

Post Reply
User avatar
bluebell
Established Member
Posts: 1927
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 113 times
Been thanked: 122 times

The volume of multisamples

Post by bluebell »

Here is a sample sfz:

Code: Select all

<group> loop_mode=one_shot key=048
<region> lovel=001 hivel=016 sample=cymbals/Istanbul_Radiant_16_Crash-01.wav
<region> lovel=017 hivel=032 sample=cymbals/Istanbul_Radiant_16_Crash-02.wav
<region> lovel=033 hivel=048 sample=cymbals/Istanbul_Radiant_16_Crash-03.wav
<region> lovel=049 hivel=064 sample=cymbals/Istanbul_Radiant_16_Crash-04.wav
<region> lovel=065 hivel=079 sample=cymbals/Istanbul_Radiant_16_Crash-05.wav
<region> lovel=080 hivel=095 sample=cymbals/Istanbul_Radiant_16_Crash-06.wav
<region> lovel=096 hivel=111 sample=cymbals/Istanbul_Radiant_16_Crash-07.wav
<region> lovel=112 hivel=127 sample=cymbals/Istanbul_Radiant_16_Crash-08.wav

So if the velocity is from 1 to 16 then the sample Istanbul_Radiant_16_Crash-01.wav is played and so on.

The sample Istanbul_Radiant_16_Crash-01.wav is less loud than 02, 02 is less loud than 03 and so on.

But what should the sample player do with volumes? Should it play all samples with their original volume? In this case it would work well.

But if there was only one sample for the complete range from 1 to 127 then velocity wouldn't have any impact of the volume. If it had, then with mutlisamples the quietest samples would be played even quieter than they are and it would make sense to normalize all multisamples to the same volume.

I am a bit confused. Does the velocity have any impact on multisamples besides choosing which sample is to be played?

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

User avatar
Michael Willis
Established Member
Posts: 1460
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 71 times
Been thanked: 169 times
Contact:

Re: The volume of multisamples

Post by Michael Willis »

The short answer is that if you add this line, the velocity will not influence volume at all:

Code: Select all

amp_veltrack=0

For the long answer, read this document:

http://sfzformat.com/tutorials/volume.html

tseaver
Established Member
Posts: 408
Joined: Mon Mar 13, 2017 6:07 am
Has thanked: 12 times
Been thanked: 102 times

Re: The volume of multisamples

Post by tseaver »

@bluebell

One reason many SFZ instruments (and other programmed sample library instruments) don't use velocity to control volume in what you might call an "intuitive" way is that MIDI keyboards don't tend to generate velocities from notes triggered human players at a fine-grained enough level to make it useful. If you wire up a MIDI logger to your keyboard, and try playing the same note with various (or the "same") velocities, you'll see that the values jump around, a lot, even when to your own senses, they shouldn't.

The second reason is that many "real world" instuments have timbre changes as they are played "harder" / "softer", and representing those variations turns out to be much more crucial to generating a "real-enough" feel than capturing super-fine-grained differences in velocity as volume changes. Such instruments typically allow for explicit volume control using an expression pedal (CC 7 or equivalent), and may even make the "important" (timbre-changing) choices using something like the mod-wheel (CC 1), rather than velocity.

For instruments where velocity really does affect volume more than timbre (drums, maybe more than any others?): the VSTi author can choose to have velocity map more directly to volume, using e.g. the SFZ amp_veltrack opcode.

Ubuntu, Mixbus32C; acoustic blues / country / jazz
Post Reply