SFZ Mute Groups
Posted: Sat Mar 17, 2012 1:39 pm
Hi Everyone!
This is my first post here, so I would just like to say WOW! LinuxSampler is absolutely awesome! I spent about a month trying to find a piece of software that would allow me to use my Roland electronic drum kit to trigger the drumkit samples I downloaded. Finding LinuxSampler was a revelation - what an amazing tool!
The reason for this post is that I have encountered a minor problem with mute groups under SFZ. I am not sure whether this is just me or the system, but any help would be greatly appreciated!
The problem is with muting hi-hats. The idea is that the hi-hat sound should be muted when another hi-hat sound is played. This is especially important with open hi-hat sounds which should only sound until the next note is played or the pedal is depressed. As I understand the SFZ specification at http://www.cakewalk.com/DevXchange/article.aspx?aid=108, a sound should be muted when a region with the group=??? equal to the off_by=??? value of the currently playing sample is triggered. However, this is not happening, and I am not sure why. This is a problem because electronic drum kits typically only have two notes (some only one) for different degrees of hi-hat openness, but many sample sets have 3 or more degrees of openness. I am using version 2331 of LinuxSampler and its libraries from the SubVersion server.
An example of one of the SFZ files I have set up is given below for the excellent Big Mono kit samples at http://www.analoguedrums.com/details-bm.php. The hi-hat bow on the drum kit triggers either note 42 or note 46 depending on the level of openness, and note 44 for the hi-hat pedal. The sample set in this example has 3 degrees of openness, so the two notes available are clearly insufficient to trigger all the sounds. The value of MIDI controller 4 sent by the kit is determined by the degree of openness of the hi-hat. The sample groups for notes 42 and 46 are identical because I am not sure where the transition between the notes happens.
Thanks for your time!
Warren
<group> key=42 locc4=65 hicc4=127 pan=0 loop_mode=one_shot seq_length=2 group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynClsdLH01.wav volume=+42.52 lovel=1 hivel=8 seq_position=1
<region> sample=Wav/ZildMstrsnd-DynClsdLH02.wav volume=+37.01 lovel=9 hivel=16 seq_position=1
<region> sample=Wav/ZildMstrsnd-DynClsdLH03.wav volume=+33.61 lovel=17 hivel=24 seq_position=1
...
<region> sample=Wav/ZildMstrsnd-DynClsdLH16.wav volume=+6.20 lovel=120 hivel=127 seq_position=1
<region> sample=Wav/ZildMstrsnd-DynClsdRH01.wav volume=+40.19 lovel=1 hivel=8 seq_position=2
<region> sample=Wav/ZildMstrsnd-DynClsdRH02.wav volume=+35.47 lovel=9 hivel=16 seq_position=2
<region> sample=Wav/ZildMstrsnd-DynClsdRH03.wav volume=+30.81 lovel=17 hivel=24 seq_position=2
...
<region> sample=Wav/ZildMstrsnd-DynClsdRH16.wav volume=+5.75 lovel=120 hivel=127 seq_position=2
<group> key=46 locc4=65 hicc4=127 pan=0 loop_mode=one_shot seq_length=2 group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynClsdLH01.wav volume=+42.52 lovel=1 hivel=8 seq_position=1
...
<region> sample=Wav/ZildMstrsnd-DynClsdRH01.wav volume=+40.19 lovel=1 hivel=8 seq_position=2
...
<group> key=42 locc4=1 hicc4=64 pan=0 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynSmiOpn01.wav volume=+33.48 lovel=1 hivel=8
...
<group> key=46 locc4=1 hicc4=64 pan=0 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynSmiOpn01.wav volume=+33.48 lovel=1 hivel=8
...
<group> key=42 locc4=0 hicc4=0 pan=0 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynOpn01.wav volume=+44.45 lovel=1 hivel=8
...
<group> key=46 locc4=0 hicc4=0 pan=0 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynOpn01.wav volume=+44.45 lovel=1 hivel=8
...
<group> key=44 group=7 off_by=7
<region> sample=../../nothing.wav
This is my first post here, so I would just like to say WOW! LinuxSampler is absolutely awesome! I spent about a month trying to find a piece of software that would allow me to use my Roland electronic drum kit to trigger the drumkit samples I downloaded. Finding LinuxSampler was a revelation - what an amazing tool!
The reason for this post is that I have encountered a minor problem with mute groups under SFZ. I am not sure whether this is just me or the system, but any help would be greatly appreciated!
The problem is with muting hi-hats. The idea is that the hi-hat sound should be muted when another hi-hat sound is played. This is especially important with open hi-hat sounds which should only sound until the next note is played or the pedal is depressed. As I understand the SFZ specification at http://www.cakewalk.com/DevXchange/article.aspx?aid=108, a sound should be muted when a region with the group=??? equal to the off_by=??? value of the currently playing sample is triggered. However, this is not happening, and I am not sure why. This is a problem because electronic drum kits typically only have two notes (some only one) for different degrees of hi-hat openness, but many sample sets have 3 or more degrees of openness. I am using version 2331 of LinuxSampler and its libraries from the SubVersion server.
An example of one of the SFZ files I have set up is given below for the excellent Big Mono kit samples at http://www.analoguedrums.com/details-bm.php. The hi-hat bow on the drum kit triggers either note 42 or note 46 depending on the level of openness, and note 44 for the hi-hat pedal. The sample set in this example has 3 degrees of openness, so the two notes available are clearly insufficient to trigger all the sounds. The value of MIDI controller 4 sent by the kit is determined by the degree of openness of the hi-hat. The sample groups for notes 42 and 46 are identical because I am not sure where the transition between the notes happens.
Thanks for your time!
Warren
<group> key=42 locc4=65 hicc4=127 pan=0 loop_mode=one_shot seq_length=2 group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynClsdLH01.wav volume=+42.52 lovel=1 hivel=8 seq_position=1
<region> sample=Wav/ZildMstrsnd-DynClsdLH02.wav volume=+37.01 lovel=9 hivel=16 seq_position=1
<region> sample=Wav/ZildMstrsnd-DynClsdLH03.wav volume=+33.61 lovel=17 hivel=24 seq_position=1
...
<region> sample=Wav/ZildMstrsnd-DynClsdLH16.wav volume=+6.20 lovel=120 hivel=127 seq_position=1
<region> sample=Wav/ZildMstrsnd-DynClsdRH01.wav volume=+40.19 lovel=1 hivel=8 seq_position=2
<region> sample=Wav/ZildMstrsnd-DynClsdRH02.wav volume=+35.47 lovel=9 hivel=16 seq_position=2
<region> sample=Wav/ZildMstrsnd-DynClsdRH03.wav volume=+30.81 lovel=17 hivel=24 seq_position=2
...
<region> sample=Wav/ZildMstrsnd-DynClsdRH16.wav volume=+5.75 lovel=120 hivel=127 seq_position=2
<group> key=46 locc4=65 hicc4=127 pan=0 loop_mode=one_shot seq_length=2 group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynClsdLH01.wav volume=+42.52 lovel=1 hivel=8 seq_position=1
...
<region> sample=Wav/ZildMstrsnd-DynClsdRH01.wav volume=+40.19 lovel=1 hivel=8 seq_position=2
...
<group> key=42 locc4=1 hicc4=64 pan=0 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynSmiOpn01.wav volume=+33.48 lovel=1 hivel=8
...
<group> key=46 locc4=1 hicc4=64 pan=0 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynSmiOpn01.wav volume=+33.48 lovel=1 hivel=8
...
<group> key=42 locc4=0 hicc4=0 pan=0 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynOpn01.wav volume=+44.45 lovel=1 hivel=8
...
<group> key=46 locc4=0 hicc4=0 pan=0 loop_mode=one_shot group=7 off_by=7
<region> sample=Wav/ZildMstrsnd-DynOpn01.wav volume=+44.45 lovel=1 hivel=8
...
<group> key=44 group=7 off_by=7
<region> sample=../../nothing.wav