Skip to content

SFZ v1 Opcodes

Note that modulations such as (on)ccN, and vel2* opcodes are included in the pages describing the parameters they modulate.

Sound Source: Sample Playback

Opcode Description Type Default Range
count The number of times the sample will be played. integer 0 0 to 4294967296
delay Region delay time, in seconds. float 0 seconds 0 to 100 seconds
delay_random Region random delay time. float 0 seconds 0 to 100 seconds
end The endpoint of the sample, in sample units. integer 0 sample units 0 to 4294967296 sample units
loop_mode Allows playing samples with loops defined in the unlooped mode. string no_loop for samples without a loop defined,
loop_continuous for samples with defined loop(s).
no_loop, one_shot, loop_continuous, loop_sustain
loop_start The loop start point, in samples. integer 0 0 to 4294967296
loop_end The loop end point, in samples. integer 0 0 to 4294967296
offset The offset used to play the sample, in sample units. integer 0 sample units 0 to 4294967296 sample units
offset_random Random offset added to the region offset, in sample units. integer 0 sample units 0 to 4294967296 sample units
sample Defines which sample file the region will play. string N/A N/A
sync_beats Region playing synchronization to host position. float 0 beats 0 to 32 beats
sync_offset Region playing synchronization to host position offset. float 0 beats 0 to 32 beats

Instrument Settings: Voice Lifecycle

Opcode Description Type Default Range
group Exclusive group number for this region. integer 0 0 to 4294967296
off_by Region off group. integer 0 0 to 4294967296
off_mode Region off mode. string fast fast, normal
output The stereo output number for this region. integer 0 0 to 1024

Region Logic: Key Mapping

Opcode Description Type Default Range
key Equivalent to using lokey, hikey and pitch_keycenter and setting them all to the same note value. integer N/A 0 to 127
lokey Determine the low boundary of a certain region. integer 0 0 to 127
hikey Determine the high boundary of a certain region. integer 127 0 to 127
lovel If a note with velocity value equal to or higher than lovel AND equal to or lower than hivel is played, the region will play. integer 0 0 to 127
hivel If a note with velocity value equal to or higher than lovel AND equal to or lower than hivel is played, the region will play. integer 127 0 to 127

Region Logic: MIDI Conditions

Opcode Description Type Default Range
lochan If incoming notes have a MIDI channel between lochan and hichan, the region will play. integer 1 1 to 16
hichan If incoming notes have a MIDI channel between lochan and hichan, the region will play. integer 16 1 to 16
loccN Defines the range of the last MIDI controller N required for the region to play. integer 0 0 to 127
hiccN Defines the range of the last MIDI controller N required for the region to play. integer 127 0 to 127
lobend Defines the range of the last Pitch Bend message required for the region to play. integer -8192 -8192 to 8192
hibend Defines the range of the last Pitch Bend message required for the region to play. integer 8192 -8192 to 8192
sw_lokey Defines the range of the keyboard to be used as trigger selectors for the sw_last opcode. integer 0 0 to 127
sw_hikey Defines the range of the keyboard to be used as trigger selectors for the sw_last opcode. integer 127 0 to 127
sw_last Enables the region to play if the last key pressed in the range specified by sw_lokey and sw_hikey is equal to the sw_last value. integer 0 0 to 127
sw_down Enables the region to play if the key equal to sw_down value is depressed. Key has to be in the range specified by sw_lokey and sw_hikey. integer 0 0 to 127
sw_up Enables the region to play if the key equal to sw_up value is not depressed. integer 0 0 to 127
sw_previous Previous note value. The region will play if last note-on message was equal to sw_previous value. integer N/A 0 to 127
sw_vel Allows overriding the velocity for the region with the velocity of the previous note. string current current, previous

Region Logic: Internal Conditions

Opcode Description Type Default Range
lobpm Host tempo value. float 0 0 to 500
hibpm Host tempo value. float 500 0 to 500
lochanaft Defines the range of last Channel Aftertouch message required for the region to play. integer 0 0 to 127
hichanaft Defines the range of last Channel Aftertouch message required for the region to play. integer 127 0 to 127
lopolyaft Defines the range of last Polyphonic Aftertouch message required for the region to play. integer 0 0 to 127
hipolyaft Defines the range of last Polyphonic Aftertouch message required for the region to play. integer 127 0 to 127
lorand The region will play if the random number is equal to or higher than lorand, and lower than hirand. float 0 0 to 1
hirand The region will play if the random number is equal to or higher than lorand, and lower than hirand. float 1 0 to 1
seq_length Sequence length, used together with seq_position to use samples as round robins. integer 1 1 to 100
seq_position Sequence position. The region will play if the internal sequence counter is equal to seq_position. integer 1 1 to 100

Region Logic: Triggers

Opcode Description Type Default Range
trigger Sets the trigger which will be used for the sample to play. string attack attack, release, release_key, first, legato
on_loccN If a MIDI control message with a value between on_loccN and on_hiccN is received, the region will play. integer -1 (unassigned) 0 to 127
on_hiccN If a MIDI control message with a value between on_loccN and on_hiccN is received, the region will play. integer -1 (unassigned) 0 to 127

Performance Parameters: Amplifier

Opcode Description Type Default Range
pan The panoramic position for the region. float 0 % -100 to 100 %
position Only operational for stereo samples, position defines the position in the stereo field of a stereo signal, after channel mixing as defined in the width opcode. float 0 % -100 to 100 %
volume The volume for the region, in decibels. float 0 dB -144 to 6 dB
width Only operational for stereo samples, width defines the amount of channel mixing applied to play the sample. float 0 % -100 to 100 %
amp_keycenter Center key for amplifier keyboard tracking. In this key, the amplifier keyboard tracking will have no effect. integer 60 0 to 127
amp_keytrack Amplifier keyboard tracking (change in amplitude per key) in decibels. float 0 dB -96 to 12 dB
amp_veltrack Amplifier velocity tracking, represents how much the amplitude changes with incoming note velocity. float 100 % -100 to 100 %
amp_velcurve_N User-defined amplifier velocity curve. float Standard curve (see amp_veltrack) 0 to 1
amp_random Random volume for the region, in decibels. float 0 dB 0 to 24 dB
rt_decay Applies only to regions that triggered through trigger=release. The volume decrease (in decibels) per seconds after the note has been attacked. float 0 dB 0 to 200 dB
xf_cccurve MIDI controllers crossfade curve for the region. string power gain, power
xf_keycurve Keyboard crossfade curve for the region. string power gain, power
xf_velcurve Velocity crossfade curve for the region. string power gain, power
xfin_loccN Fade in control based on MIDI CC. integer 0 0 to 127
xfin_hiccN Fade in control based on MIDI CC. integer 0 0 to 127
xfout_loccN Fade out control based on MIDI CC. integer 0 0 to 127
xfout_hiccN Fade out control based on MIDI CC. integer 0 0 to 127
xfin_lokey Fade in control based on MIDI note (keyboard position). integer 0 0 to 127
xfin_hikey Fade in control based on MIDI note (keyboard position). integer 0 0 to 127
xfout_lokey Fade out control based on MIDI note number (keyboard position). integer 127 0 to 127
xfout_hikey Fade out control based on MIDI note number (keyboard position). integer 127 0 to 127
xfin_lovel Fade in control based on velocity. integer 0 0 to 127
xfin_hivel Fade in control based on velocity. integer 0 0 to 127
xfout_lovel Fade out control, based on velocity. integer 127 0 to 127
xfout_hivel Fade out control, based on velocity. integer 127 0 to 127

Performance Parameters: EQ

Opcode Description Type Default Range
eqN_bw Bandwidth of the equalizer band, in octaves. float 1 octaves 0.001 to 4 octaves
eqN_freq Frequency of the equalizer band, in Hertz. float eq1_freq=50
eq1_freq=500
eq1_freq=5000 Hz
0 to 30000 Hz
eqN_gain Gain of the equalizer band, in decibels. float 0 dB -96 to 24 dB

Performance Parameters: Filter

Opcode Description Type Default Range
cutoff Sets the cutoff frequency (Hz) of the filters. float filter disabled Hz 0 to SampleRate / 2 Hz
fil_keytrack Filter keyboard tracking (change on cutoff for each key) in cents. integer 0 0 to 1200
fil_keycenter Center key for filter keyboard tracking. integer 60 0 to 127
fil_random Random value added to the filter cutoff for the region, in cents. integer 0 0 to 9600
fil_type Filter type. string lpf_2p lpf_1p, hpf_1p, lpf_2p, hpf_2p, bpf_2p, brf_2p
fil_veltrack Filter velocity tracking, the amount by which the cutoff changes with incoming note velocity, in cents. integer 0 -9600 to 9600
resonance The filter cutoff resonance value, in decibels. integer 0 dB 0 to 40 dB

Performance Parameters: Pitch

Opcode Description Type Default Range
bend_up Pitch bend range when Bend Wheel or Joystick is moved up, in cents. integer 200 cents -9600 to 9600 cents
bend_down Pitch bend range when Bend Wheel or Joystick is moved down, in cents. integer -200 cents -9600 to 9600 cents
bend_step Pitch bend step, in cents. integer 1 cents 1 to 1200 cents
pitch_keycenter Root key for the sample. integer 60 0 to 127
pitch_keytrack Within the region, this value defines how much the pitch changes with every note. integer 100 -1200 to 1200
pitch_random Random tuning for the region, in cents. integer 0 cents 0 to 9600 cents
pitch_veltrack Pitch velocity tracking, represents how much the pitch changes with incoming note velocity, in cents. integer 0 cents -9600 to 9600 cents
transpose The transposition value for this region which will be applied to the sample. integer 0 -127 to 127
tune The fine tuning for the sample, in cents. integer 0 cents -100 to 100 cents

Modulation: Envelope Generators

Opcode Description Type Default Range
ampeg_attack EG attack time, in seconds. float 0 seconds 0 to 100 seconds
ampeg_decay EG decay time, in seconds. float 0 seconds 0 to 100 seconds
ampeg_delay EG delay time, in seconds. float 0 seconds 0 to 100 seconds
ampeg_hold EG hold time, in seconds. float 0 seconds 0 to 100 seconds
ampeg_release EG release time (after note release), in seconds. float 0 seconds 0 to 100 seconds
ampeg_sustain EG sustain level, in percentage. float 100 % 0 to 100 %
ampeg_start Envelope start level, in percentage. float 0 % 0 to 100 %
ampeg_vel2attack Velocity effect on EG attack time, in seconds. float 0 seconds -100 to 100 seconds
ampeg_vel2delay Velocity effect on EG delay time, in seconds. float 0 seconds -100 to 100 seconds
ampeg_vel2decay Velocity effect on pitch EG decay time, in seconds. float 0 seconds -100 to 100 seconds
ampeg_vel2hold Velocity effect on EG hold time, in seconds. float 0 seconds -100 to 100 seconds
ampeg_vel2release Velocity effect on EG release time, in seconds. float 0 seconds -100 to 100 seconds
ampeg_vel2sustain Velocity effect on EG sustain level, in percentage. float 0 % -100 to 100 %
fileg_attack EG attack time, in seconds. float 0 seconds 0 to 100 seconds
fileg_decay EG decay time, in seconds. float 0 seconds 0 to 100 seconds
fileg_delay EG delay time, in seconds. float 0 seconds 0 to 100 seconds
fileg_depth Envelope depth. integer 0 cents -12000 to 12000 cents
fileg_hold EG hold time, in seconds. float 0 seconds 0 to 100 seconds
fileg_release EG release time (after note release), in seconds. float 0 seconds 0 to 100 seconds
fileg_start Envelope start level, in percentage. float 0 % 0 to 100 %
fileg_sustain EG sustain level, in percentage. float 0 % 0 to 100 %
fileg_vel2attack Velocity effect on EG attack time, in seconds. float 0 seconds -100 to 100 seconds
fileg_vel2decay Velocity effect on filter EG decay time, in seconds. float 0 seconds -100 to 100 seconds
fileg_vel2delay Velocity effect on filter EG delay time, in seconds. float 0 seconds -100 to 100 seconds
fileg_vel2depth Velocity effect on EG depth, in cents for pitch or filter cutoff. float 0 cents -12000 to 12000 cents
fileg_vel2hold Velocity effect on EG hold time, in seconds. float 0 seconds -100 to 100 seconds
fileg_vel2release Velocity effect on EG release time, in seconds. float 0 seconds -100 to 100 seconds
fileg_vel2sustain Velocity effect on EG sustain level, in percentage. float 0 % -100 to 100 %
pitcheg_attack EG attack time, in seconds. float 0 seconds 0 to 100 seconds
pitcheg_decay EG decay time, in seconds. float 0 seconds 0 to 100 seconds
pitcheg_delay EG delay time, in seconds. float 0 seconds 0 to 100 seconds
pitcheg_depth Envelope depth. integer 0 cents -12000 to 12000 cents
pitcheg_hold EG hold time, in seconds. float 0 seconds 0 to 100 seconds
pitcheg_release EG release time (after note release), in seconds. float 0 seconds 0 to 100 seconds
pitcheg_start Envelope start level, in percentage. float 0 % 0 to 100 %
pitcheg_sustain EG sustain level, in percentage. float 0 % 0 to 100 %
pitcheg_vel2attack Velocity effect on EG attack time, in seconds. float 0 seconds -100 to 100 seconds
pitcheg_vel2decay Velocity effect on filter EG decay time, in seconds. float 0 seconds -100 to 100 seconds
pitcheg_vel2delay Velocity effect on filter EG delay time, in seconds. float 0 seconds -100 to 100 seconds
pitcheg_vel2depth Velocity effect on EG depth, in cents for pitch or filter cutoff. float 0 cents -12000 to 12000 cents
pitcheg_vel2hold Velocity effect on EG hold time, in seconds. float 0 seconds -100 to 100 seconds
pitcheg_vel2release Velocity effect on EG release time, in seconds. float 0 seconds -100 to 100 seconds
pitcheg_vel2sustain Velocity effect on EG sustain level, in percentage. float 0 % -100 to 100 %

Modulation: LFO

Opcode Description Type Default Range
amplfo_delay The time before the LFO starts oscillating, in seconds. float 0 seconds 0 to 100 seconds
amplfo_depth LFO depth. float 0 dB -10 to 10 dB
amplfo_depthchanaft LFO depth when channel aftertouch MIDI messages are received. float 0 dB -10 to 10 dB
amplfo_depthpolyaft LFO depth when polyphonic aftertouch MIDI messages are received. float 0 dB -10 to 10 dB
amplfo_fade LFO fade-in effect time, in seconds. float 0 seconds 0 to 100 seconds
amplfo_freq LFO frequency, in hertz. float 0 Hz 0 to 20 Hz
amplfo_freqchanaft LFO frequency change when channel aftertouch MIDI messages are received, in Hertz. float 0 Hz -200 to 200 Hz
amplfo_freqpolyaft LFO frequency change when polyphonic aftertouch MIDI messages are received, in Hertz. float 0 Hz -200 to 200 Hz
fillfo_delay The time before the LFO starts oscillating, in seconds. float 0 seconds 0 to 100 seconds
fillfo_depth LFO depth. float 0 cents -1200 to 1200 cents
fillfo_depthchanaft LFO depth when channel aftertouch MIDI messages are received. float 0 cents -1200 to 1200 cents
fillfo_depthpolyaft LFO depth when polyphonic aftertouch MIDI messages are received. float 0 cents -1200 to 1200 cents
fillfo_fade LFO fade-in effect time, in seconds. float 0 seconds 0 to 100 seconds
fillfo_freq LFO frequency, in hertz. float 0 Hz 0 to 20 Hz
fillfo_freqchanaft LFO frequency change when channel aftertouch MIDI messages are received, in Hertz. float 0 Hz -200 to 200 Hz
fillfo_freqpolyaft LFO frequency change when polyphonic aftertouch MIDI messages are received, in Hertz. float 0 Hz -200 to 200 Hz
pitchlfo_delay The time before the LFO starts oscillating, in seconds. float 0 seconds 0 to 100 seconds
pitchlfo_depth LFO depth. float 0 cents -1200 to 1200 cents
pitchlfo_depthchanaft LFO depth when channel aftertouch MIDI messages are received. float 0 cents -1200 to 1200 cents
pitchlfo_depthpolyaft LFO depth when polyphonic aftertouch MIDI messages are received. float 0 cents -1200 to 1200 cents
pitchlfo_fade LFO fade-in effect time, in seconds. float 0 seconds 0 to 100 seconds
pitchlfo_freq LFO frequency, in hertz. float 0 Hz 0 to 20 Hz
pitchlfo_freqchanaft LFO frequency change when channel aftertouch MIDI messages are received, in Hertz. float 0 Hz -200 to 200 Hz
pitchlfo_freqpolyaft LFO frequency change when polyphonic aftertouch MIDI messages are received, in Hertz. float 0 Hz -200 to 200 Hz

Effects

Opcode Description Type Default Range
effect1 Level of effect1 send, in percentage (reverb in Cakewalk sfz). integer 0 % 0 to 100 %
effect2 Level of effect2 send, in percentage (chorus in Cakewalk sfz). integer 0 % 0 to 100 %