I have been trying to implement release sample (trigger=release) in linuxsampler using the sfz engine. For these cases the sample triggered by note on is looped with loop_continuous, and on note off the release sample which contains instrument turn off and room acoustic information should be triggered so that the note on sample release time and the release sample attack time providing a cross fade so that there is no audible transient during the transition. This approach has worked well in the past using GIG files

there are two problems: In recent linuxsampler implementations (2.0.0svn68) the release sample sounds silently (that is no sound is heard, but qsampler indicates a sample playing after note off) if the region defining it has not lovel/hivel qualifiers. If these qualifiers are present the release sample is never activated. This leads me to believe that the engine is not preserving the note on velocity for use with the release sample, and that it is also ignoring a group amp_veltrack=0 command.

In earlier linuxsampler implementations, the release sounds audibly for both of the cases above. However, the release time for the playing sample and the attack time for the release sample are not happening properly. In most cases I see the release time of the playing sample to be much faster than specified, and the attack time of the release sample to be the specified time. Also, the release of the playing sample occurs some time before the beginning of the attack of the release sample. In order for cross fade to work these both need to begin at the same instant in time. In other cases I have seen behavior where the attack and release profiles have large steps in them.

I have copied below an SFZ file to demonstrate these behaviors. The sample=sine.wav refers to a 262 Hz sine wave of fixed amplitude duration 5 seconds that I created with audacity. The octave below middle C has the lovel/hivel qualifiers, the octave above has no such qualifier. The sfz file sounds the release pitched an octave higher than the note on pitch so recordings with audacity can easily show the transitions between samples.

<group>
amp_veltrack=0
ampeg_attack=0.05
ampeg_release=0.05
sample=sine.wav

<region>
lokey=60
hikey=71
pitch_keycenter=60
loop_mode=loop_continuous


<region>
lokey=60
hikey=71
trigger=release
pitch_keycenter=48
ampeg_hold=0.2
ampeg_decay=2
ampeg_sustain=0
loop_mode=no_loop

<region>
lokey=48
hikey=59
lovel=30
hivel=100
pitch_keycenter=60
loop_mode=loop_continuous


<region>
lokey=48
hikey=59
trigger=release
lovel=30
hivel=100
pitch_keycenter=48
ampeg_hold=0.2
ampeg_decay=2
ampeg_sustain=0
loop_mode=no_loop


Thanks for your attention
Dave Gritter
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxsampler-devel mailing list
Linuxsampler-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel

Reply via email to