[LAU] Gig/sfz: Linuxsampler vs. Highlife vs ??

raf rmouneyres at gmail.com
Sun Nov 3 17:25:53 UTC 2013

hello Jostein,

here are some more information about dealing with hihat openess in sfz format.

First, a simple example with 3 layers : only trigger a sample depending on the pedal position. No crossfade between samples here.

<group> key=42 locc4=65 hicc4=127 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/hihat_largeopen.wav volume=+40
<group> key=42 locc4=1 hicc4=64 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/hihat_smallopen.wav volume=+40
<group> key=42 locc4=0 hicc4=0 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/hihat_closed.wav volume=+40

Then to go further, i've been reading those two documents :

SFZ specification from cakewalk

Linuxsampler SFZ reference

To achieve crossfading between sample (as suggested in my previous email), i want to use the xfin_xx and xfout_xx opcodes. The above example would change to :

<group> key=42 loop_mode=one_shot
<region> sample=Wav/hihat_largeopen.wav volume=+40 xfin_locc4=65 xfin_hicc4=65 xfout_locc4=127 xfout_hicc4=127
<region> sample=Wav/hihat_smallopen.wav volume=+40 xfin_locc4=1 xfin_hicc4=1 xfout_locc4=64 xfout_hicc4=64
<region> sample=Wav/hihat_closed.wav volume=+40 xfin_locc4=0 xfin_hicc4=0 xfout_locc4=0 xfout_hicc4=0

Now, one can hear fading from a sample to another when moving the hihat pedal. But if you hit a closed sample, then release the pedal, you hear the opened hihat tail...not realistic.

So my idea is to use envelope generator calibrated for each hihat openess sample.
ampeg_xxx opcodes could be usable, but have been deprecated in linuxsampler, replaced by 'eg' opcodes
Once defined for each sample, this envelope can then be modified by the pedal CC using the following opcodes :
egN_volume_onccX, egN_amplitude_onccX, egN_levelX_onccY

I'm still experimenting a lot with this setup, and i have little time to work on it, so no complete solution or working guarantees for now, and i'm opened to suggestions.
Feel free to experiment by yourself.

To answer your original question "Are someone aware of a decent Gig/SFZ sample player for Linux that can (or will) handle professional drum samples as described above?", I'd say that linuxsampler can absolutely do it, but it needs a lot of programming for a huge kit like NDK.

I don't own the kit myself, but from what i've read on their website, those who buy the kit have access to a private forum, where i'm sure someone already has a sfz file implemented for linuxsampler.


Le 30 oct. 2013 à 13:35, Jostein Chr. Andersen a écrit :

> On 10/30/2013 01:22 PM, Raphaël Mouneyres wrote:
>> Hello,
>> One trick with hihats on linuxsampler is to handle it differently.
>> One note will not mute another note.
>> But, hitting the hihat will trigger multiple openess samples (depending
>> on how many levels you want). Then the hi hat pedal will fade from one
>> sample to another.
>> This can be achevied with current sfz implementation i'm sure.
>> May you need more info tell me. I will take a look at my notes.
> Thanks for answering Raphaël, but I'm not sure if I understand you right, the sound (interference and many diffrent attack sounds at one time) and the feel will be wrong if you trigger multiple samples in  one hit. What happens when you gradually lifts up or close the HH (very common in the real life), then the previous opened samples (while closing) will still ring.
> J.
> -- 
> Jostein Andersen - +46 73 6785 670
> jcamusic.se - facebook.com/jcamusicsweden
> josteinandersen.se

More information about the Linux-audio-user mailing list