Free multisampled conga in sfz format
-
- KVRian
- 500 posts since 13 Oct, 2004 from Durham, NC USA
Hey Boris -- for some reason, I called you Brad above. Perhaps the sf name? Anyway, sorry.
It's a good discussion when everyone learns! I've picked up some useful info here too, as well as things to think about, challenges to my assumptions and such.
This digital stuff can be tricky, mostly because there are so many little facts to juggle. But finally, it's often an esthetic judgement about what's best.
It's a good discussion when everyone learns! I've picked up some useful info here too, as well as things to think about, challenges to my assumptions and such.
This digital stuff can be tricky, mostly because there are so many little facts to juggle. But finally, it's often an esthetic judgement about what's best.
-
- Waaaaahhh
- 2224 posts since 30 Jul, 2001 from montreal, quebec,canada
even if the soft(pp) piano/rhodes sample is recorded at full preamp level, hence its full bits
When the sampler(kontakt.sfz.halion) is attenuating(velocity) the LOUD soft(pp) piano/rhodes sample to a realistic level...Attenuating at the sampler level is digital bit reduction
So your actually analog-recording Hot something soft and then attenuating(reducing bits) it at the sampler. which we all know is Digital. All attenuation/compression/fader volume in the digital domain is bit reduction
since samplers are digital its making your 24bit LOUD soft(pp) rhodes/piano sample quieter in the digital domain...hence reducing it the bits to have a realistic sound level
so your playing a soft note(which is not loud) recording it with the preamp set to alot of gain(now the sound is loud and so is the analog noise+ boosted ambience/reverb ), and then telling the sampler to reduce its level ( bit resolution).
a better way of going about it for a multisample , multi-velocity sampler sound is to:
strike the instrument(in this case the piano or a DI rhodes) really hard so you can ajdust the preamp to its optimal level...where its close to distorting(clipping) but its not distorting.
And then record all the velocities without touching the preamp at all.
so now you have the loudest loud and the naturalsoft in proportions.
this way you just have a soft(pp) piano/rhodes sample going thru a sampler UN-touched by attenuation...hence its at its initial recorded bit-resolution(no change).
and THAT way you do not have the side-effect of analog-noise+boosted ambience from adjusting the preamp level to have the softest note recorded as loud as loudest note.
you:
soft piano strike+max preamp level+
boosted noise/ambiance - sampler bit reduction
Me:
soft piano strike+proportionned preamp...notice the lack of boosted noise/ambiance and NO-bit redution
and for your cooledit thing, well you can do that too with my way and it still comes out better
I win

When the sampler(kontakt.sfz.halion) is attenuating(velocity) the LOUD soft(pp) piano/rhodes sample to a realistic level...Attenuating at the sampler level is digital bit reduction
So your actually analog-recording Hot something soft and then attenuating(reducing bits) it at the sampler. which we all know is Digital. All attenuation/compression/fader volume in the digital domain is bit reduction
since samplers are digital its making your 24bit LOUD soft(pp) rhodes/piano sample quieter in the digital domain...hence reducing it the bits to have a realistic sound level
so your playing a soft note(which is not loud) recording it with the preamp set to alot of gain(now the sound is loud and so is the analog noise+ boosted ambience/reverb ), and then telling the sampler to reduce its level ( bit resolution).
a better way of going about it for a multisample , multi-velocity sampler sound is to:
strike the instrument(in this case the piano or a DI rhodes) really hard so you can ajdust the preamp to its optimal level...where its close to distorting(clipping) but its not distorting.
And then record all the velocities without touching the preamp at all.
so now you have the loudest loud and the naturalsoft in proportions.
this way you just have a soft(pp) piano/rhodes sample going thru a sampler UN-touched by attenuation...hence its at its initial recorded bit-resolution(no change).
and THAT way you do not have the side-effect of analog-noise+boosted ambience from adjusting the preamp level to have the softest note recorded as loud as loudest note.
you:
soft piano strike+max preamp level+
boosted noise/ambiance - sampler bit reduction
Me:
soft piano strike+proportionned preamp...notice the lack of boosted noise/ambiance and NO-bit redution
and for your cooledit thing, well you can do that too with my way and it still comes out better
I win
If your plugin is a Synth-edit/synth-maker creation, Say So.
If not Make a Mac version of your Plugins Please.
https://soundcloud.com/realmarco
...everyone is out to get me!!!!!!!
If not Make a Mac version of your Plugins Please.
https://soundcloud.com/realmarco
...everyone is out to get me!!!!!!!
-
- KVRist
- Topic Starter
- 196 posts since 12 Mar, 2002 from Mountain View, CA
All technological, theoretical and bit-reduction issues aside, another benefit of not changing the gain when recording is simplicity. You do less programming/level-tweaking when you assemble the samples into an instrument. I tend to be practical about these things. I try it the simple way first. Then if there are noticeable quality issues, I slowly turn up the complexity knob. Chances are that 6 months from now I'll hear a better conga sample that will blow my mind and will make me want to revisit my approach...
- KVRAF
- 7412 posts since 8 Feb, 2003 from London, UK
Boris, just remember the amp_velcurve_nnn=1 bit in the sfz mapping if you're not going to normalise.
-
- KVRian
- 500 posts since 13 Oct, 2004 from Durham, NC USA
realmarco, you're correct when playing pieces that peak at FFF. The disadvantage to your method is when recording a piece that's entirely soft. In that case, you get far more quantization noise. Noticeably so, not just something only a golden-eared audio purist says they can hear. Something I can clearly hear, with my 47-yr old ears, tinnitus and all.
Also:
pljones: using amp_velcurve_nnn=1, will there be loudness jumps between layers?
Also:
Well, other than adjusting the velocity split point (which you have to do in either case), I don't need to do any additional velocity tweaking using my method either. The defaults for soundfonts assume you recorded your samples this way.You do less programming/level-tweaking when you assemble the samples into an instrument
pljones: using amp_velcurve_nnn=1, will there be loudness jumps between layers?
-
- KVRist
- Topic Starter
- 196 posts since 12 Mar, 2002 from Mountain View, CA
Thanks, I'll take another look at that param. I quickly looked at it when I read your first post and didn't immediately understand how the different values would affect the velocity curve.pljones wrote:Boris, just remember the amp_velcurve_nnn=1 bit in the sfz mapping if you're not going to normalise.
- KVRAF
- 7412 posts since 8 Feb, 2003 from London, UK
Depends on whether you get the layers right, just as much as it does if you don't use it. Actually, I think it's likely to make things smoother.learjeff wrote:pljones: using amp_velcurve_nnn=1, will there be loudness jumps between layers?
You need to get the hivel=nnn and amp_velcurve_nnn=1 for the layer adjusted so that the layer's just as loud played at its max velocity (i.e. when the velocity is hivel, the nnn in amp_velcurve_nnn) -- well, slightly softer -- than the next higher layer played at it's softest (i.e. velocity at its lovel).
Say your layers are 0 to 63 and 64 to 127. Sample 1 is half as loud as sample 2:
<region> lovel=000 hivel=063 amp_velcurve_063=1 sample=sample 1.wav
<region> lovel=064 hivel=127 amp_velcurve_127=1 sample=sample 2.wav
Without using the velcurve thing, the sampler will attenuate the sample volume based on the layer's triggering velocity - from 127 being unattenuated.
Using the same sample as above, still unnormalised,
<region> lovel=000 hivel=063 sample=sample 1.wav
<region> lovel=064 hivel=127 sample=sample 2.wav
will give you a step: sample 1 played at velocity 63 will be only a quarter as loud as sample 2 played at 127 -- and only half as loud as sample 2 played at 64..!
This is why you want them normalised. You want to amplify sample 1 to double its volume so that when the sampler attenuates it, it sounds right. Much easier and cleaner (less processing in both analogue and digital domains) to just tell the sampler "No! Don't do that!"
(Of course, "half as loud" doesn't necessarily mean you hit at half the velocity, one of the joys of MIDI triggering...
The resulting curve from hivel/amp_velcurve_nnn down to zero is "smooth" of some description, but it might not join smoothly to the curve the next layer up was following. But you can use amp_velcurve_nnn for some other nnn to fix that if it's noticable. E.g. you might want to tell sfz
<region> lovel=000 hivel=063 amp_velcurve_063=1 sample=sample 1.wav
<region> lovel=064 hivel=127 amp_velcurve_063=0.5 amp_velcurve_127=1 sample=sample 2.wav
so it knows where to be heading for.
But the point is, you listen to sample 1 and sample 2, then you listen to what the sampler does with just sample 2 for the whole range, working out where sample 1 sounds just as loud and should naturally take over. That might be at velocity 100 or 70 or 43. Unless you listen, you can't tell, I don't think.
(Finally, apologies to anyone reading this while I've been in and out editing!)
-
- KVRian
- 500 posts since 13 Oct, 2004 from Durham, NC USA
Thanks, pljones!
So, you have to fiddle velocities either way, somewhat. And in either case, the player is attenuating the samples based on the velocity.
With "single-gain" samples, the player attenuates less (but still attenuates, except when you hit the "unity level" so to speak).
With "multi-gain" samples, the player attenuates more, significantly so for quieter samples. However, those quieter samples have significantly less quantization noise than single-gain samples. This reduction in noise would only matter for a relatively quiet piece.
However, the multiplication done by the player adds the same amount of noise regardless (it's due to word length reduction from 48 significant mantissa bits to 24).
In either case, the soundfont can be tailored to match the desired touch responsiveness.
Seems pretty clear to me which method is best, assuming you can eliminate background noise in the samples in the first place.
So, you have to fiddle velocities either way, somewhat. And in either case, the player is attenuating the samples based on the velocity.
With "single-gain" samples, the player attenuates less (but still attenuates, except when you hit the "unity level" so to speak).
With "multi-gain" samples, the player attenuates more, significantly so for quieter samples. However, those quieter samples have significantly less quantization noise than single-gain samples. This reduction in noise would only matter for a relatively quiet piece.
However, the multiplication done by the player adds the same amount of noise regardless (it's due to word length reduction from 48 significant mantissa bits to 24).
In either case, the soundfont can be tailored to match the desired touch responsiveness.
Seems pretty clear to me which method is best, assuming you can eliminate background noise in the samples in the first place.
-
- Waaaaahhh
- 2224 posts since 30 Jul, 2001 from montreal, quebec,canada
your are mixing up what I meant.learjeff wrote:realmarco, you're correct when playing pieces that peak at FFF. The disadvantage to your method is when recording a piece that's entirely soft. In that case, you get far more quantization noise. Noticeably so, not just something only a golden-eared audio purist says they can hear. Something I can clearly hear, with my 47-yr old ears, tinnitus and all.
what you just said is true When RECORDING an audio file of a performance(solo,rhytm,riffs etc)
The initial topic of the argument was the creation of multi-sampled sampler banks such as piano instruments for kontaktor ,in this case, sfz with many velocity
Last edited by realmarco on Fri Jan 07, 2005 6:56 am, edited 1 time in total.
If your plugin is a Synth-edit/synth-maker creation, Say So.
If not Make a Mac version of your Plugins Please.
https://soundcloud.com/realmarco
...everyone is out to get me!!!!!!!
If not Make a Mac version of your Plugins Please.
https://soundcloud.com/realmarco
...everyone is out to get me!!!!!!!
-
- Waaaaahhh
- 2224 posts since 30 Jul, 2001 from montreal, quebec,canada
Not necessarely, Velocity doesn't necessarely mean you change the "volume" of the sample...only that it is assigned to volume by default(amongst others).learjeff wrote:Thanks, pljones!
With "single-gain" samples, the player attenuates less (but still attenuates, except when you hit the "unity level" so to speak).
you can tell your sampler to disregard "volumechange" and rather the samples initial recording level dictates the volume the layer is heard
so the velocity is only switching what layer is heard and has no bearing on the volume of the sound
Doing it my way doesn't do ANY attenuation,it just passes thru untouched and it is at the same bit-resolution as it was recorded.learjeff wrote: With "multi-gain" samples, the player attenuates more, significantly so for quieter samples. However, those quieter samples have significantly less quantization noise than single-gain samples. This reduction in noise would only matter for a relatively quiet piece.
your way is recorded at full bit,your right. BUT the inherent noise,hum and room is also much louder in proportion to the recorded note/hit/sound. Your way when you play the note softly the noise is much much louder than the sound compared when you play the note hard .
And when you play it back with your sampler you Attenuate it digitally. Hence you are reducing its bit resolution and are addding quantisation noise from the sampler itself and that is added to the initial noisy soft note sample . So this will fluctuate (shshHSHSHSH HSHHshshshs HSHSHSHSHS shhshhh)
However keep in mind that we are taking of creating a multi-sampled piano/rhodes or in this case Conga, not performances or loops
personally id prefer a soft note/hit/sound having its bit-resolution dictated by the initial recording,learjeff wrote: Seems pretty clear to me which method is best, assuming you can eliminate background noise in the samples in the first place.
rather than have a soft note/hit/sound with Noise louder than the desired note( compared to when hard note)and then having to add quantization noise from attenuating the sound digitally(thus bit redution) at the sampler with the noise and hum being inconsistent in level (shhh SHHHHHH sshhh hsHSHHSHhhs while your playing)
as for noise redution....
Noise redution colors and warbles the sound(either subtely or dramatically) , better to use good technique at the recording to avoid using noise-reduction altogether.
and noise-reduction (your way) on a sampler instrument is not very good since for each layer of "multi-gain" samples the noise reduction will have to work harder as the sound gets softer
If your plugin is a Synth-edit/synth-maker creation, Say So.
If not Make a Mac version of your Plugins Please.
https://soundcloud.com/realmarco
...everyone is out to get me!!!!!!!
If not Make a Mac version of your Plugins Please.
https://soundcloud.com/realmarco
...everyone is out to get me!!!!!!!
-
- KVRian
- 500 posts since 13 Oct, 2004 from Durham, NC USA
Realmarco, evidently I wasn't clear. I'll try to keep this simple. When using a soundfont play a quiet piece: if the soundfont was created with my method, the quantization noise is significantly lower than if it was created using your method. This is a demonstrable fact.
Second point: Sure, you can instruct the soundfont to ignore velocity other than assigning the proper sample. In this case, though, you get far fewer dynamic levels -- you're limited to the number of layers you have. If you only have 8 or 16 layers, then you only have 8 or 16 loudnesses for each note, rather than 127. I don't find this to be natural sounding at all. And for what purpose? To avoid a single multipy, meaning adding quantization noise at a level of about -140 dB? You gotta be kidding!
3rd. As I said before, I remove background noise almost completely. Yes, this introduces some artifacts. (But not ANY warbling. Perhaps you're thinking of "noise reduction" like dbx or dolby, which is NOT applicable here.) Actually, it doesn't introduce much, but it does reduce some of the character of the sound. In practice, the signal lost by noise filtering is far, far less than the extreme quantization noise incurred by recording quiet samples at low gain. Like I said above, I've done that and heard it and it sounds terrible.
In situations where the background noise can't be filtered, your method is probably best. But it's better to eliminate the background noise! In situations where the room sound (reverb) is important, your method has important merits. I'd have to experiment, and perhaps a compromise between the two extremes would be ideal.
Finally, professional samples like Scarbee are recorded the way I recommend. Perhaps it's because it sounds better! I think you've played some poorly built soundfonts and are making inaccurate generalizations based on that.
Have you tried my jRhodes3 soundfont? If you think it has fluctuating noise problems, please let me know. Or any other issues that deserve attention. (After playing it live, I think the upper octaves need to be louder.) Please post any comments about that on a new thread (or find the thread where I posted it here).
Second point: Sure, you can instruct the soundfont to ignore velocity other than assigning the proper sample. In this case, though, you get far fewer dynamic levels -- you're limited to the number of layers you have. If you only have 8 or 16 layers, then you only have 8 or 16 loudnesses for each note, rather than 127. I don't find this to be natural sounding at all. And for what purpose? To avoid a single multipy, meaning adding quantization noise at a level of about -140 dB? You gotta be kidding!
3rd. As I said before, I remove background noise almost completely. Yes, this introduces some artifacts. (But not ANY warbling. Perhaps you're thinking of "noise reduction" like dbx or dolby, which is NOT applicable here.) Actually, it doesn't introduce much, but it does reduce some of the character of the sound. In practice, the signal lost by noise filtering is far, far less than the extreme quantization noise incurred by recording quiet samples at low gain. Like I said above, I've done that and heard it and it sounds terrible.
In situations where the background noise can't be filtered, your method is probably best. But it's better to eliminate the background noise! In situations where the room sound (reverb) is important, your method has important merits. I'd have to experiment, and perhaps a compromise between the two extremes would be ideal.
Finally, professional samples like Scarbee are recorded the way I recommend. Perhaps it's because it sounds better! I think you've played some poorly built soundfonts and are making inaccurate generalizations based on that.
Have you tried my jRhodes3 soundfont? If you think it has fluctuating noise problems, please let me know. Or any other issues that deserve attention. (After playing it live, I think the upper octaves need to be louder.) Please post any comments about that on a new thread (or find the thread where I posted it here).
-
- Waaaaahhh
- 2224 posts since 30 Jul, 2001 from montreal, quebec,canada
I politely disagree.learjeff wrote: if the soundfont was created with my method, the quantization noise is significantly lower than if it was created using your method. This is a demonstrable fact.
the quantization noise is in proportion to how much bit-reduction/attenuation is taking place per sample. your way records a soft note as loud as possible so in order for it to play at a natural level the attenuation at the sampler will be more than my way.
your way would require more attenuation because the recording level was exagerated and now must be attenuated much more than my way.
My way has an already set level in the analog domain. add to that the fact that if I were to use velocity to control volume of each layers I would have unity at some point on every layer, whilst your way has only unity with the upper hard layer sample.because the layer below the upper hard are nowhere near their intended acoustical level.
true! I totally agreelearjeff wrote: Second point: Sure, you can instruct the soundfont to ignore velocity other than assigning the proper sample. In this case, though, you get far fewer dynamic levels -- you're limited to the number of layers you have. If you only have 8 or 16 layers, then you only have 8 or 16 loudnesses for each note, rather than 127.
But I would argue that in the context of a mix one usually uses compressors and mastering processors and usually the finished mix will end up in 16 bit.
so these affect the bit-resolution as well so if one were to use a sampler bank with 16 layers without velocity>volume the job could already be done. so the material will sound less affected, but this is just theory.
but nevertheless my way would have the 16 layers with the level pre-set by the recording so for each layer the amount of attenuation resets itself.
your way only the upper layer is remotely close to normal acoustics and the rest are bit-reduced increasingly as you get to the softest layer(remember your soft layer has the same recorded loudness as the hardest layer) so you can logically conclude that technically I win.
im intrigued to what you actually do to the samples to remove the background hum,noise,hiss ,jitter and room ambiance(if applicable).learjeff wrote: 3rd. As I said before, I remove background noise almost completely. Yes, this introduces some artifacts. (But not ANY warbling. Perhaps you're thinking of "noise reduction" like dbx or dolby, which is NOT applicable here.) Actually, it doesn't introduce much, but it does reduce some of the character of the sound.
so to respond to that I would have to be sure we are thinking about the same kind of noise reduction. I was thinking of spectral gadgets such as what can be found in most wave editors and plugins (Sonic-Foundry,Cooledit,Waves,Arboretum etc)
or are you refering to simple gating and lowpass filtering ?
in either case its still in the digital domain and works harder as your recording softer notes because the noise gets louder and louder, plus the fact that the waveforms has to be recalculated and quality is diminishing at each pass.
a small example : reverse a wave file and then reverse it again. the sound will be different the more time you do this.this applies to your way....my way im not recording exagerated noise as the note get softer.
wrong! you way eventhough you are recording a soft note at full resolution, you are recording loudly analog noise, which has to be dealt with with what you refer a noise filtering. and Even then you have to tell your sampler that the soft layer, wich is at the same loudness level as if it were at velocity 127, has to beattenuated(that is bit-reducedlearjeff wrote: In practice, the signal lost by noise filtering is far, far less than the extreme quantization noise incurred by recording quiet samples at low gain. Like I said above, I've done that and heard it and it sounds terrible.
at an extreme level so much so that you are effectively losing more resolution than I lose from recording at a pre-set level for all layers.
I think it might not be a subject of what sounds better but rather what sounds more accurate to the sampled instrument in question. personnally I never used soundfonts much, im more of a kontakt,giga,exs kind of guy. to me soundfonts have nothing more to offer than convenience. As long as the raw files aren't compressed I've got nothing against soundfonts in general.learjeff wrote: Finally, professional samples like Scarbee are recorded the way I recommend. Perhaps it's because it sounds better! I think you've played some poorly built soundfonts and are making inaccurate generalizations based on that.
When I find soundfonts that i like I generally re-program them. because the stuff I find always are programmed with too much envelopes going on...I find using envelopes with electroacoustic/acoustic sounds rather synthy.
I look forward to that. as soon as im back from my trip sunday/monday..... Your python apps looks very practical for batchinglearjeff wrote: Have you tried my jRhodes3 soundfont? If you think it has fluctuating noise problems, please let me know. Or any other issues that deserve attention. (After playing it live, I think the upper octaves need to be louder.) Please post any comments about that on a new thread (or find the thread where I posted it here).
If your plugin is a Synth-edit/synth-maker creation, Say So.
If not Make a Mac version of your Plugins Please.
https://soundcloud.com/realmarco
...everyone is out to get me!!!!!!!
If not Make a Mac version of your Plugins Please.
https://soundcloud.com/realmarco
...everyone is out to get me!!!!!!!
-
- KVRian
- 500 posts since 13 Oct, 2004 from Durham, NC USA
I don't think you quite understand the nature of quantization noise, because your statements about it aren't correct. Regardless, while my arguments are still true for 24-bit samples, they're dramatically reduced in significance thanks to the extra 8 bits. I can understand your preference if it's based on experience with 24-bit samples.
For 16-bit samples, the only format supported for soundfonts, my experience shows quite clearly that low-level samples cause really nasty quantization noise. Far, far more noise than contributed by any of the other processing in the chain. And the reason is quite clear, as I've outlined above. Once you reduce the sample size to 11 or fewer bits, believe me it's pretty extreme.
BTW, reversing a digital sample in time twice shouldn't affect the sound at all. If your wave editor does, then find a better wave editor for that purpose! However, you may be right about the noise reduction having potential artifacts (I use CoolEdit96). Rhodes samples always have quite a bit of noise in them due to the nature of the beast, though, and removing this noise is quite a boon. Having put up with it for decades, I'm really happy to banish it, and the noise-reduced samples sound just lovely with no discernable artifacts.
For 16-bit samples, the only format supported for soundfonts, my experience shows quite clearly that low-level samples cause really nasty quantization noise. Far, far more noise than contributed by any of the other processing in the chain. And the reason is quite clear, as I've outlined above. Once you reduce the sample size to 11 or fewer bits, believe me it's pretty extreme.
BTW, reversing a digital sample in time twice shouldn't affect the sound at all. If your wave editor does, then find a better wave editor for that purpose! However, you may be right about the noise reduction having potential artifacts (I use CoolEdit96). Rhodes samples always have quite a bit of noise in them due to the nature of the beast, though, and removing this noise is quite a boon. Having put up with it for decades, I'm really happy to banish it, and the noise-reduced samples sound just lovely with no discernable artifacts.
- KVRAF
- 7412 posts since 8 Feb, 2003 from London, UK
Does that include 16-bit samples converted to 32-bit for processing? (Like in sfz/sfz+ and others, I assume.)
