LinuxSampler sfz Support

sfz v1 opcodes

The sfz v1 opcodes are defined in the sfz File Format Specification.

OpcodeLS
support
Comment
Instrument Structure
<region>Yes 
<group>Yes 
Sample Definition
sampleYes 
Input Controls
lochanYes 
hichanYes 
lokeyYes 
hikeyYes 
keyYes 
lovelYes 
hivelYes 
loccNYes 
hiccNYes 
lobendYes 
hibendYes 
lochanaftYes 
hichanaftYes 
lopolyaftNo 
hipolyaftNo 
lorandYes 
hirandYes 
lobpmNo 
hibpmNo 
seq_lengthYes 
seq_positionYes 
sw_lokeyYes 
sw_hikeyYes 
sw_lastYes 
sw_downYes 
sw_upYes 
sw_previousYes 
sw_velNo 
triggerYes 
groupYes 
off_byYesAlias: offby
off_modeYesAlias: offmode
on_loccNYes 
on_hiccNYes 
Performance Parameters
Sample Player
delayNo 
delay_randomNo 
delay_ccNNov2-alias: delay_onccN
offsetYes 
offset_randomNo 
offset_ccNNov2-alias: offset_onccN
endYes 
countNo 
loop_modeP?Alias: loopmode. bara delvis, dvs om loop eller inte (+ one_shot?) no_loop, one_shot, loop_continuous, loop_sustain
loop_startP?Alias: loopstart. är det rätt? - TODO use sample loop when loop_start not defined
loop_endP?Alias: loopend. är det rätt? - TODO "
sync_beatsNo 
sync_offsetNo 
Pitch
transposeYes 
tuneYes 
pitch_keycenterYes 
pitch_keytrackPartialZero is correct (no change in pitch) but all other values are interpreted as 100.
pitch_veltrackYes 
pitch_randomNo 
bend_upNoAlias: bendup
bend_downNoAlias: benddown
bend_stepNo 
Pitch EG
pitcheg_delayYes 
pitcheg_startYes 
pitcheg_attackYes 
pitcheg_holdYes 
pitcheg_decayYesCould be fine-tuned: sfzplayer uses a linear curve, LS uses an exponential.
pitcheg_sustainYes 
pitcheg_releaseYesCould be fine-tuned: sfzplayer uses a linear curve, LS uses an exponential.
pitcheg_depthYes 
pitcheg_vel2delayYes 
pitcheg_vel2attackYes 
pitcheg_vel2holdYes 
pitcheg_vel2decayYes 
pitcheg_vel2sustainYes 
pitcheg_vel2releaseYes 
pitcheg_vel2depthNo 
Pitch LFO
pitchlfo_delayYes 
pitchlfo_fadeYes 
pitchlfo_freqYes 
pitchlfo_depthYes 
pitchlfo_depthccNYes 
pitchlfo_depthchanaftYes 
pitchlfo_depthpolyaftNo 
pitchlfo_freqccNYes 
pitchlfo_freqchanaftYes 
pitchlfo_freqpolyaftNo 
Filter
fil_typeYesAlias: filtype

Supported v1 values (all): lpf_1p, hpf_1p, lpf_2p, hpf_2p, bfp_2p, brf_2p.

Supported v2 values: lpf_4p, hpr_4p, lpf_6p, hpf_6p.

Unsupported v2 values: bpf_1p, brf_1p, apf_1p, pkf_2p, lpf_2p_sv, hpf_2p_sv, bpf_2p_sv, brf_2p_sv, comb, pink.

cutoffYes 
cutoff_ccNYesv2-alias: cutoff_onccN
cutoff_chanaftYes 
cutoff_polyaftNo 
resonanceYes 
fil_keytrackYes 
fil_keycenterYes 
fil_veltrackYes 
fil_randomNo 
Filter EG
fileg_delayYes 
fileg_startYes 
fileg_attackYes 
fileg_holdYes 
fileg_decayYes 
fileg_sustainYes 
fileg_releaseYes 
fileg_depthYes 
fileg_vel2delayYes 
fileg_vel2attackYes 
fileg_vel2holdYes 
fileg_vel2decayYes 
fileg_vel2sustainYes 
fileg_vel2releaseYes 
fileg_vel2depthNo 
Filter LFO
fillfo_delayYes 
fillfo_fadeYes 
fillfo_freqYes 
fillfo_depthYes 
fillfo_depthccNYes 
fillfo_depthchanaftYes 
fillfo_depthpolyaftNo 
fillfo_freqccNYes 
fillfo_freqchanaftYes 
fillfo_freqpolyaftNo 
Amplifier
volumeYes 
panP?funkar, men kan finetunas
widthNo 
positionNo 
amp_keytrackNo 
amp_keycenterNo 
amp_veltrackYes 
amp_velcurve_NYes 
amp_randomNo 
rt_decayYes 
outputNo 
gain_ccNNov2-alias: gain_onccN
xfin_lokeyYes 
xfin_hikeyYes 
xfout_lokeyYes 
xfout_hikeyYes 
xf_keycurveYes 
xfin_lovelYes 
xfin_hivelYes 
xfout_lovelYes 
xfout_hivelYes 
xf_velcurveYes 
xfin_loccNYes 
xfin_hiccNYes 
xfout_loccNYes 
xfout_hiccNYes 
xf_cccurveYes 
Amplifier EG
ampeg_delayYes 
ampeg_startYes 
ampeg_attackYes 
ampeg_holdYes 
ampeg_decayYes 
ampeg_sustainYes 
ampeg_releaseYes 
ampeg_vel2delayYes 
ampeg_vel2attackYes 
ampeg_vel2holdYes 
ampeg_vel2decayYes 
ampeg_vel2sustainYes 
ampeg_vel2releaseYes 
ampeg_delayccNYesv2-alias: ampeg_delay_onccN
ampeg_startccNYesv2-alias: ampeg_start_onccN
ampeg_attackccNYesv2-alias: ampeg_attack_onccN
ampeg_holdccNYesv2-alias: ampeg_hold_onccN
ampeg_decayccNYesv2-alias: ampeg_decay_onccN
ampeg_sustainccNYesv2-alias: ampeg_sustain_onccN
ampeg_releaseccNYesv2-alias: ampeg_release_onccN
Amplifier LFO
amplfo_delayYes 
amplfo_fadeYes 
amplfo_freqYes 
amplfo_depthYes 
amplfo_depthccNYes 
amplfo_depthchanaftYes 
amplfo_depthpolyaftNo 
amplfo_freqccNYes 
amplfo_freqchanaftYes 
amplfo_freqpolyaftNo 
Equalizer
eq1_freqNo 
eq2_freqNo 
eq3_freqNo 
eq1_freqccNNov2-alias: eq1_freq_onccN
eq2_freqccNNov2-alias: eq2_freq_onccN
eq3_freqccNNov2-alias: eq3_freq_onccN
eq1_vel2freqNo 
eq2_vel2freqNo 
eq3_vel2freqNo 
eq1_bwNo 
eq2_bwNo 
eq3_bwNo 
eq1_bwccNNov2-alias: eq1_bw_onccN
eq2_bwccNNov2-alias: eq2_bw_onccN
eq3_bwccNNov2-alias: eq3_bq_onccN
eq1_gainNo 
eq2_gainNo 
eq3_gainNo 
eq1_gainccNNov2-alias: eq1_gain_onccN
eq2_gainccNNov2-alias: eq2_gain_onccN
eq3_gainccNNov2-alias: eq3_gain_onccN
eq1_vel2gainNo 
eq2_vel2gainNo 
eq3_vel2gainNo 
Effects
effect1No 
effect2No 

sfz v2 opcodes

The sfz v2 opcodes are listed in the book Cakewalk Synthesizers: From Presets to Power User by Simon Cann.

The list below is not quite complete, the book also has opcodes for a noise generator and sfz v2 effects.

OpcodeLS
support
Comment
Instrument Structure
<global>No 
<control>Yes 
<curve>Yes 
<effects>No 
Sample Definition
md5No 
waveguideNo 
<control> Header Directives
default_pathP?"funkar kanske, om det inte ska vara en /"
octave_offsetYes 
note_offsetYes 
set_ccNNo 
#defineNo 
Loading
load_modeNo 
load_startNo 
load_endNo 
sample_qualityNo 
imageNo 
Wavetable Oscillator
oscillatorNo 
oscillator_phaseNo 
oscillator_qualityNo 
oscillator_table_sizeNo 
oscillator_multiNo 
oscillator_modeNo 
oscillator_detuneNo 
oscillator_detune_onccNNo 
oscillator_mod_depthNo 
oscillator_mod_depth_onccNNo 
oscillator_mod_smoothccNNo 
Input Controls
loprogNo 
hiprogNo 
lotimerNo 
hitimerNo 
polyphonyNo 
reverse_loccNNo 
reverse_hiccNNo 
start_loccNNo 
start_hiccNNo 
stop_loccNNo 
stop_hiccNNo 
sustain_swNo 
sustenuto_swNo 
rt_deadNo 
Performance Parameters
Sample Player
delay_beatsNo 
stop_beatsNo 
delay_samplesNo 
delay_samples_onccNNo 
loop_crossfadeNo 
Amplifier
volume_onccNYesNot listed in the book, but supported in Dimension LE.
volume_smoothccNYesNot listed in the book, but supported in Dimension LE.
volume_curveccNYesNot listed in the book, but supported in Dimension LE.
pan_onccNYesNot listed in the book, but supported in Dimension LE.
pan_smoothccNYesNot listed in the book, but supported in Dimension LE.
pan_curveccNYesNot listed in the book, but supported in Dimension LE.
width_onccNNoNot listed in the book, but supported in Dimension LE.
width_smoothccNNoNot listed in the book, but supported in Dimension LE.
width_curveccNNoNot listed in the book, but supported in Dimension LE.
Pitch
pitch_onccNNo 
pitch_curveccNNo 
pitch_stepccNNo 
pitch_smoothccNNoNot listed in the book, but supported in Dimension LE.
bend_stepupNo 
bend_stepdownNo 
Filter
fil2_typeNo 
cutoff2No 
cutoff2_onccNNo 
cutoff_smoothccNYes 
cutoff2_smoothccNNo 
cutoff_stepccNNo 
cutoff2_stepccNNo 
cutoff_curveccNYes 
cutoff2_curveccNNo 
resonance2No 
resonance_onccNYes 
resonance2_onccNNo 
resonance_smoothccNYes 
resonance2_smoothccNNo 
resonance_stepccNNo 
resonance2_stepccNNo 
resonance_curveccNYes 
resonance2_curveccNNo 
fil2_keytrackNo 
fil2_keycenterNo 
fil2_veltrackNo 
EG
egN_timeXYes 
egN_timeX_onccYYes 
egN_levelXYes 
egN_levelX_onccYYes 
egN_shapeXYes 
egN_curveXNo 
egN_sustainYes 
egN_loopNo 
egN_loop_countNo 
egN_volumeYes 
egN_amplitudeYes 
egN_panYes 
egN_widthNo 
egN_pan_curveYes 
egN_pan_curveccXYes 
egN_volume_onccXYes 
egN_amplitude_onccXYes 
egN_pan_onccXYes 
egN_width_onccXNo 
egN_freq_lfoXNo 
egN_depth_lfoXNo 
egN_depthadd_lfoXNo 
egN_pitchYes 
egN_pitch_onccXYes 
egN_cutoffYes 
egN_cutoff2No 
egN_resonanceYes 
egN_resonance2No 
egN_cutoff_onccXYes 
egN_cutoff2_onccXNo 
egN_resonance_onccXYes 
egN_resonance2_onccXNo 
egN_eq1freqNo 
egN_eq2freqNo 
egN_eq3freqNo 
egN_eq1bwNo 
egN_eq2bwNo 
egN_eq3bwNo 
egN_eq1gainNo 
egN_eq2gainNo 
egN_eq3gainNo 
egN_eq1freq_onccXNo 
egN_eq2freq_onccXNo 
egN_eq3freq_onccXNo 
egN_eq1bw_onccXNo 
egN_eq2bw_onccXNo 
egN_eq3bw_onccXNo 
egN_eq1gain_onccXNo 
egN_eq2gain_onccXNo 
egN_eq3gain_onccXNo 
egN_decimNo 
egN_bitredNo 
egN_rectifyNo 
egN_ringmodNo 
egN_noiselevelNo 
egN_noisestepNo 
egN_noisetoneNo 
egN_driveshapeNo 
egN_decim_onccXNo 
egN_bitred_onccXNo 
egN_rectify_onccXNo 
egN_ringmod_onccXNo 
egN_noiselevel_onccXNo 
egN_noisestep_onccXNo 
egN_noisetone_onccXNo 
egN_driveshape_onccXNo 
LFO
lfoN_freqYes 
lfoN_freq_onccXYes 
lfoN_freq_smoothccXYes 
lfoN_freq_stepccXNo 
lfoN_delayYes 
lfoN_delay_onccXYes 
lfoN_fadeYes 
lfoN_fade_onccXYes 
lfoN_phaseYes 
lfoN_phase_onccXYes 
lfoN_countNo 
lfoN_waveYes 
lfoN_stepsNo 
lfoN_stepXNo 
lfoN_smoothNo 
lfoN_smooth_onccXNo 
lfoN_volumeYes 
lfoN_amplitudeNo 
lfoN_panYes 
lfoN_widthNo 
lfoN_volume_onccXYes 
lfoN_amplitude_onccXNo 
lfoN_pan_onccXYes 
lfoN_width_onccXNo 
lfoN_volume_smoothccXYes 
lfoN_amplitude_smoothccXNo 
lfoN_pan_smoothccXYes 
lfoN_width_smoothccXNo 
lfoN_volume_stepccXNo 
lfoN_amplitude_stepccXNo 
lfoN_pan_stepccXNo 
lfoN_width_stepccXNo 
lfoN_freq_lfoXNo 
lfoN_depth_lfoXNo 
lfoN_depthadd_lfoXNo 
lfoN_pitchYes 
lfoN_pitch_onccXYes 
lfoN_pitch_smoothccXYes 
lfoN_pitch_stepccXNo 
lfoN_cutoffYes 
lfoN_cutoff2No 
lfoN_resonanceYes 
lfoN_resonance2No 
lfoN_cutoff_onccXYes 
lfoN_cutoff2_onccXNo 
lfoN_resonance_onccXYes 
lfoN_resonance2_onccXNo 
lfoN_cutoff_smoothccXYes 
lfoN_cutoff2_smoothccXNo 
lfoN_resonance_smoothccXYes 
lfoN_resonance2_smoothccXNo 
lfoN_cutoff_stepccXNo 
lfoN_cutoff2_stepccXNo 
lfoN_resonance_stepccXNo 
lfoN_resonance2_stepccXNo 
lfoN_eq1freqNo 
lfoN_eq2freqNo 
lfoN_eq3freqNo 
lfoN_eq1bwNo 
lfoN_eq2bwNo 
lfoN_eq3bwNo 
lfoN_eq1gainNo 
lfoN_eq2gainNo 
lfoN_eq3gainNo 
lfoN_eq1freq_onccXNo 
lfoN_eq2freq_onccXNo 
lfoN_eq3freq_onccXNo 
lfoN_eq1bw_onccXNo 
lfoN_eq2bw_onccXNo 
lfoN_eq3bw_onccXNo 
lfoN_eq1gain_onccXNo 
lfoN_eq2gain_onccXNo 
lfoN_eq3gain_onccXNo 
lfoN_eq1freq_smoothccXNo 
lfoN_eq2freq_smoothccXNo 
lfoN_eq3freq_smoothccXNo 
lfoN_eq1bw_smoothccXNo 
lfoN_eq2bw_smoothccXNo 
lfoN_eq3bw_smoothccXNo 
lfoN_eq1gain_smoothccXNo 
lfoN_eq2gain_smoothccXNo 
lfoN_eq3gain_smoothccXNo 
lfoN_eq1freq_stepccXNo 
lfoN_eq2freq_stepccXNo 
lfoN_eq3freq_stepccXNo 
lfoN_eq1bw_stepccXNo 
lfoN_eq2bw_stepccXNo 
lfoN_eq3bw_stepccXNo 
lfoN_eq1gain_stepccXNo 
lfoN_eq2gain_stepccXNo 
lfoN_eq3gain_stepccXNo 
lfoN_decimNo 
lfoN_bitredNo 
lfoN_noiselevelNo 
lfoN_noisestepNo 
lfoN_noisetoneNo 
lfoN_driveNo 
lfoN_decim_onccXNo 
lfoN_bitred_onccXNo 
lfoN_noiselevel_onccXNo 
lfoN_noisestep_onccXNo 
lfoN_noisetone_onccXNo 
lfoN_drive_onccXNo 
lfoN_decim_smoothccXNo 
lfoN_bitred_smoothccXNo 
lfoN_noiselevel_smoothccXNo 
lfoN_noisestep_smoothccXNo 
lfoN_noisetone_smoothccXNo 
lfoN_drive_smoothccXNo 
lfoN_decim_stepccXNo 
lfoN_bitred_stepccXNo 
lfoN_noiselevel_stepccXNo 
lfoN_noisestep_stepccXNo 
lfoN_noisetone_stepccXNo 
lfoN_drive_stepccXNo 
Curves
vNYes 

ARIA custom opcodes

The ARIA Engine from Plouge / Garritan implements some custom sfz opcodes. Only some of them are listed here.

OpcodeLS
support
Comment
amplitudeNo 
amplitude_onccNNo 
amplitude_smoothccNNo 
amplitude_curveccNNo 
pan_lawNo 

LinuxSampler extensions

OpcodeLS
support
Comment
Amplifier
position_onccNNo 
position_smoothccNNo 
position_curveccN No 
gain_smoothccNNo 
gain_curveccNNo 
Pitch
transpose_onccNNo 
transpose_smoothccNNo 
transpose_curveccNNo 
tune_onccNNo 
tune_smoothccNNo 
tune_curveccN No 
Filter
cutoff2_chanaftNo 
cutoff2_polyaftNo 
fil2_randomNo 
EG
egN_positionNo 
egN_position_onccXNo 
LFO
lfoN_depthNo 
lfoN_depth_onccXNo 
lfoN_positionNo 
lfoN_position_onccXNo 
lfoN_position_smoothccXNo 
lfoN_position_stepccXNo 
Amplifier LFO
amplfo_delay_onccNYes 
amplfo_fade_onccNYes 
Filter EG
fileg_delay_onccNYes 
fileg_start_onccNYes 
fileg_attack_onccNYes 
fileg_hold_onccNYes 
fileg_decay_onccNYes 
fileg_sustain_onccNYes 
fileg_release_onccNYes 
fileg_depth_onccNYes 
Filter LFO
fillfo_delay_onccNYes 
fillfo_fade_onccNYes 
Pitch EG
pitcheg_delay_onccNYes 
pitcheg_start_onccNYes 
pitcheg_attack_onccNYes 
pitcheg_hold_onccNYes 
pitcheg_decay_onccNYes 
pitcheg_sustain_onccNYes 
pitcheg_release_onccNYes 
pitcheg_depth_onccNYes 
Pitch LFO
pitchlfo_delay_onccNYes 
pitchlfo_fade_onccNYes