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
releaseorrelease_keyplays without any previous attack region - Both functioning as described above and respond to Sustain Pedal position
- In sfz v1, no
polyphonyornote_polyphonyfor 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
releaseorrelease_keyrequire previous attack region - Both functioning as described above and respond to Sustain Pedal position
- To make
releaseorrelease_keyplays without any previous attack region, addrt_dead=on - Opcode
note_polyphonynow available to control the release voices of repeated notes when Sustain pedal is down, then release the pedal
Plogue sforzando and ARIA๐
releaserequire previous attack regionrelease_keydoesn't need previous attack regionreleaserespond to Sustain Pedal positionrelease_keyignores Sustain Pedal- Not supported
rt_dead, default to off - Same as DropZone, use
note_polyphonyto 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