How Release Trigger Works in SFZ๐
kinwie edited this page on 29 Oct 2020 ยท 11 revisions
This is a short documentation for Release Trigger behaviors in 3 'major' SFZ players.
The opcodes are : trigger=release
and trigger=release_key
.
(See here : https://sfzformat.com/opcodes/trigger)
Primary condition : Setting trigger to release or release_key will automatically set the region into one-shot mode. (More details here : https://sfzformat.com/opcodes/loop_mode)
Here is the main difference of release
and release_key
in original sfz design by Rene Ceballos (implemented in rgc sfz and Cakewalk sfz players) that can be tested with this sequence of playing notes with sustain pedal down then release the notes :
release
: The release samples will always play when releasing the sustain pedalrelease_key
: The release samples won't play when releasing the sustain pedal. Release samples only play when sustain pedal is up (not depressed)
rgc sfz๐
- Both
release
orrelease_key
plays without any previous attack region - Both functioning as described above and respond to Sustain Pedal position
- In sfz v1, no
polyphony
ornote_polyphony
for limiting, so repeated notes will have release voices as many as the attack notes, when Sustain pedal is down, then release the pedal. This can be very annoying
DropZone and other Cakewalk players๐
- Both
release
orrelease_key
require previous attack region - Both functioning as described above and respond to Sustain Pedal position
- To make
release
orrelease_key
plays without any previous attack region, addrt_dead
=on - Opcode
note_polyphony
now available to control the release voices of repeated notes when Sustain pedal is down, then release the pedal
Plogue sforzando and ARIA๐
release
require previous attack regionrelease_key
doesn't need previous attack regionrelease
respond to Sustain Pedal positionrelease_key
ignores Sustain Pedal- Not supported
rt_dead
, default to off - Same as DropZone, use
note_polyphony
to control release voices
A simple sfz example :
<control>
default_path=Samples\
//simple release trigger example (without note_polyphony)
<region> key=60 sample=kick.wav
<region> key=60 sample=snare.wav trigger=release
//release-key in sforzando
<region> key=62 sample=snare.wav trigger=release_key
//release-key in Cakewalk players
<region> key=64 sample=snare.wav trigger=release rt_dead=on
//*note, Cakewalk players use backslash only