sfz-format
it starts
https://github.com/davy7125/soundfont-standard-v3
SFZ 1.02 Spec
The following information was taken from Cakewalk DevXChange SFZ Specification here
For sfz v2.0, check out linux sampler docs
Document Version 1.02, Last updated on: 10/1/2010
tfw note
This particular document was cloned and reformed to reference in the construction of a particular little project in csharp intent upon editing existing sfz modules which have been created by using Plogue’s sforando. It is worth pointing out that the ‘imported’ resulting programs (sfz text module definition files) very much depends upon the soundfont used to produce the sfz program. That said, one may encounter several different section grouping constructs…
For example, we have a construct separating each articulated sample by sectioning using <master><group><region>
prior to each.
(optional) control
(optional) global
(optional) master -> (optional) group -> region[]
As you will notice in the following examples…
- region_label is not a part of sfz 1.x specification.
- Programs designed for (no longer lively) Camel Audio’s Alchemy are strictly for sfz v1.0.
- <control> and <global> sections are not manditory.
See the third example outlined here.
Example One
<control> [<master> [ <group> [ <region>]]
// file: 4-Op_FM_Percussion.sf2
<control> // …
<global> // …
<master>
<group>
ampeg_release=37.661
<region>
key=35
pitch_keycenter=35 //overridingRootKey
region_label=FM-Kick12
tune=0 offset=276895 end=294719
loop_start=276903 loop_end=294710
// …
<master>
<group>
// ampeg_release=…
<region>
// …
Example Two
Moreso typical is the following construct. Notice that there is no significant diffence between the above example and this one aside from the fact that there is a master and group section defined per ‘sample region’.
<control> // …
<global> // …
<master> // …
<region> // …
<region> // …
<region> // …
<region> // …
<master> // …
<region> // …
<region> // …
Example Three
<group>
lokey=0
hikey=26
pitch_keycenter=24
ampeg_release=0.109
pitcheg_sustain=0
pitcheg_release=0.004
fileg_sustain=0
fileg_release=0.004
<region> sample=CBass-Plunk-C0.wav
lovel=1
hivel=127
<group>
lokey=27
hikey=31
pitch_keycenter=29
ampeg_release=0.109
pitcheg_sustain=0
pitcheg_release=0.004
fileg_sustain=0
fileg_release=0.004
<region> sample=CBass-Plunk-F0.wav
lovel=1
hivel=127
Calculations
- ampeg_vel2delay:
delay time = ampeg_delay + ampeg_vel2delay * velocity / 127
- ampeg_vel2attack:
attack time = ampeg_attack + ampeg_vel2attack * velocity / 127
- ampeg_vel2hold:
hold time = ampeg_hold + ampeg_vel2hold * velocity / 127
- ampeg_vel2decay:
decay time = ampeg_decay + ampeg_vel2decay * velocity / 127
- ampeg_vel2sustain:
ampeg_holdsustain level= ampeg_sustain + ampeg_vel2sustain
- ampeg_vel2release:
release time = ampeg_release + ampeg_vel2release * velocity / 127
- amp_veltrack:
Amplitude(dB) = 20 log (127^2 / Velocity^2)
Read, Write (common sense)
Reading into structured definitions can prove interesting. Apparently we can do our reading any number of ways while of course we would, could or should be interested in limiting the work (voltage, heat) necessary on the HDD or on any particular CPU.
In this respect, our parser would be designed for what it might be useful for. We all have a particular philosophy weather its consensus objective rationing human level simplicity against machine simplicity.
That said, it would be nice to write a reader/writer that can look up and identify a section by TextRange (start, length).
Text Data Structure Logic
Our text reader should generally allow for erroneous input. The parser should warn or allow for error detection—or simply filter errors.
From where I’m standing, a good reader will read in hierarchical fasion each section.
public class Section
{
public Section Parent { get; set; }
public string SectionId { get; set; }
public string SectionData { get; set; }
}
Our reader provides information to the UI. The UI should generally be looking for regions by key. So if we have two or more samples provided to a key, this is what the UI should be looking for.
- read all input text.
- Parse Comments
- mark text-ranges
- (or) erase comments from text
- split all generic sections
- re-interpret sections into hierarchical sections
- parse sub-content of each hierarchical section
- Parse Comments
Not in 1.0 spec
See page 387
Lastly, sfz version 1.0 is implemented in most sfz instruments. Everything beyond that is abstracted by the developer or documented.
Tables
Sample
opcode | type | default | range | |
---|---|---|---|---|
sample | string filename | n/a | n/a |
Input Controls
opcode | type | default | range |
---|---|---|---|
lochan hichan | int | lo=1 hi=16 | 1-16 |
lokey hikey key | int | lo=0 hi=127 | 1-16 |
lovel hivel | int | occ=0, hicc=127 | 0-127 |
lobend hibend | int | lo=-8192 hi=8192 | -8192 to 8192 |
lochanaft hichanaft | int | lo=0 hi=127 | 0-127 |
lopolyaft hipolyaft | int | lo=0 hi=127 | 0-127 |
lorand hirand | int | lo=0 hi=1 | 0-1 |
lobpm hibpm | int | lo=0 hi=500 | 0-500 bpm |
seq_length | int | 1 | 1-100 |
seq_position | int | 1 | 1-100 |
sw_lokey sw_hikey | int | lo=0 hi=127 | 0 to 127 C-1 to G9 |
sw_last | int | 0 | 0 to 127 C-1 to G9 |
sw_down | int | 0 | 0 to 127 C-1 to G9 |
sw_up | int | 0 | 0 to 127 C-1 to G9 |
sw_previous | int | none | 0 to 127 C-1 to G9 |
sw_vel | text | current | current, previous |
trigger | text | attack | attack, release, first, legato |
group | int | 0 | 0-127 |
off_by | int | 0 | 0 to 4Gb (4294967296) |
off_mode | text | fast | fast, normal |
on_loccN on_hiccN | int | -1 (unassigned) | 0-127 |
Performance Parameters
Sample Player
opcode | type | default | range |
---|---|---|---|
delay | float | 0 | 0 to 100 seconds |
delay_random | float | 0 | 0 to 100 seconds |
delay_ccN | float | 0 | 0 to 100 seconds |
offset | int | 0 | 0 to 4 Gb (4294967296) |
offset_random | int | 0 | 0 to 4 Gb (4294967296) |
offset_ccN | int | 0 | 0 to 4 Gb (4294967296) |
end | int | 0 | -1 to 4 Gb (4294967296) |
count | int | 0 | 0 to 4 Gb (4294967296) |
loop_mode | text | `no_loop | loop_continuous` |
loop_start | int | 0 | 0 to 4 Gb (4294967296) |
loop_end | int | 0 | 0 to 4 Gb (4294967296) |
sync_beats | float | 0 | 0 to 32 beats |
sync_offset | float | 0 | 0 to 32 beats |
Pitch
opcode | type | default | range |
---|---|---|---|
transpose | int | 0 | 0-127 |
tune | int | 0 | -100 to 100 |
pitch_keycenter | int | 60 (C4) | -127 to 127 C-1 to G9 |
pitch_keytrack | int | 100 | -1200 to 1200 |
pitch_veltrack | int | 0 | -9600 to 9600 cents |
pitch_random | int | 0 | 0 to 9600 cents |
bend_up | int | 200 | -9600 to 9600 |
bend_down | int | -200 | -9600 to 9600 |
bend_step | int | 1 | 1 to 1200 |
Pitch EG
opcode | type | default | range |
---|---|---|---|
pitcheg_delay | float | 0 seconds | 0 to 100 seconds |
pitcheg_start | float | 0 % | 0 to 100 % |
pitcheg_attack | float | 0 seconds | 0 to 100 seconds |
pitcheg_hold | float | 0 seconds | 0 to 100 seconds |
pitcheg_decay | float | 0 sec | 0 to 100 seconds |
pitcheg_sustain | float | 100 % | 0-127 |
pitcheg_release | float | 0 seconds | 0-127 |
pitcheg_depth | int | 0 | -1200 to 1200 cents |
pitcheg_vel2delay | float | 0 seconds | -100 to 100 seconds |
pitcheg_vel2attack | float | 0 seconds | -100 to 100 seconds |
pitcheg_vel2hold | float | 0 seconds | -100 to 100 seconds |
pitcheg_vel2decay | float | 0 seconds | -100 to 100 seconds |
pitcheg_vel2sustain | float | 0 % | -100 % to 100 % |
pitcheg_vel2release | float | 0 seconds | -100 to 100 seconds |
pitcheg_vel2depth | int | 0 cents | -12000 to 12000 cents |
Pitch LFO
opcode | type | default | range |
---|---|---|---|
pitchlfo_delay | float | 0 seconds | 0 to 100 seconds |
pitchlfo_fade | float | 0 seconds | 0 to 100 seconds |
pitchlfo_freq | float | 0 Hertz | 0 to 20 hertz |
pitchlfo_depth | int | 0 cent | -1200 to 1200 cents |
pitchlfo_depthccN | int | 0 cent | -1200 to 1200 cents |
pitchlfo_depthchanaft | int | 0 cent | -1200 to 1200 cents |
pitchlfo_depthpolyaft | int | 0 cent | -1200 to 1200 cents |
pitchlfo_freqccN | float | 0 hertz | -200 to 200 hertz |
pitchlfo_freqchanaft | float | 0 hertz | -200 to 200 hertz |
pitchlfo_freqpolyaft | float | 0 hertz | -200 to 200 hertz |
Filter
opcode | type | default | range |
---|---|---|---|
fil_type | text | filter disabled | lpf_1p, hpf_1p, lpf_2p, hpf_2p, bpf_2p, brf_2p |
cutoff | int | 0 | 0 to SampleRate / 2 |
cutoff_ccN | int | 0 | -9600 to 9600 cents |
cutoff_chanaft | int | 0 | -9600 to 9600 cents |
cutoff_polyaft | int | 0 | -9600 to 9600 cents |
resonance | float | 0 dB | 0 to 40 dB |
fil_keytrack | int | 0 cents | 0 to 1200 cents |
fil_keycenter | int | 60 | 0 to 127 |
fil_veltrack | int | 0 | -9600 to 9600 cents |
fil_random | int | 0 | 0 to 9600 cents |
Filter EG
opcode | type | default | range |
---|---|---|---|
fileg_delay | float | 0 seconds | 0 to 100 seconds |
fileg_start | float | 0 % | 0 to 100 % |
fileg_attack | float | 0 seconds | 0 to 100 seconds |
fileg_hold | float | 0 seconds | 0 to 100 seconds |
fileg_decay | float | 0 seconds | 0 to 100 seconds |
fileg_sustain | float | 100 % | 0 to 100 % |
fileg_release | float | 0 seconds | 0 to 100 seconds |
fileg_depth | float | 0 | -12000 to 12000 |
fileg_vel2delay | float | 0 seconds | -100 to 100 seconds |
fileg_vel2attack | float | 0 seconds | -100 to 100 seconds |
fileg_vel2hold | float | 0 seconds | -100 to 100 seconds |
fileg_vel2decay | float | 0 seconds | -100 to 100 seconds |
fileg_vel2sustain | float | 0 % | -100 % to 100 % |
fileg_vel2release | float | 0 seconds | -100 to 100 seconds |
fileg_vel2depth | int | 0 cents | -12000 to 12000 cents |
Filter LFO
opcode | type | default | range |
---|---|---|---|
fillfo_delay | float | 0 seconds | 0 to 100 seconds |
fillfo_fade | float | 0 seconds | 0 to 100 seconds |
fillfo_freq | float | 0 Hertz | 0 to 20 hertz |
fillfo_depth | float | 0 dB | -1200 to 1200 cents |
fillfo_depthccN | int | 0 cent | -1200 to 1200 cents |
fillfo_depthchanaft | int | 0 cent | -1200 to 1200 cents |
fillfo_depthpolyaft | int | 0 cent | -1200 to 1200 cents |
fillfo_freqccN | float | 0 hertz | -200 to 200 hertz |
fillfo_freqchanaft | float | 0 hertz | -200 to 200 hertz |
fillfo_freqpolyaft | float | 0 hertz | -200 to 200 hertz |
Amplifier
opcode | type | default | range |
---|---|---|---|
volume | float | 0.0 | -144 to 6 dB |
pan | float | 0.0 | -100 to 100 % |
width | float | 0.0 | -100 to 100 % |
position | float | 0.0 | -100 to 100 % |
amp_keytrack | float | 0 dB | -96 to 12 dB |
amp_keycenter | int | 60 | 0 to 127 |
amp_veltrack | float | 100 % | -100 to 100 % |
amp_velcurve_1 amp_velcurve_127 | float | standard curve (see amp_veltrack) | 0 to 1 |
amp_random | float | 0 | 0 to 24 dB |
rt_decay | float | 0 dB | 0 to 200 dB |
output | int | 0 | 0 to 1024 |
gain_ccN | int | 0 | -144 to 48 dB |
xfin_lokey xfin_hikey | int | lo=0 hi=0 | 0 to 127 C-1 to G9 |
xfout_lokey xfout_hikey | int | lo=127 hi=127 | 0 to 127 C-1 to G9 |
xf_keycurve | text | power | gain, power |
xfin_lovel xfin_hivel | int | lo=0 hi=0 | 0-127 |
xfout_lovel xfout_hivel | int | lo=127 hi=127 | 0-127 |
xf_velcurve | text | power | gain, power |
xfin_loccN xfin_hiccN | int | 0 | 0-127 |
xfout_loccN xfout_hiccN | int | 0 | 0-127 |
xf_cccurve | text | power | gain, power |
Amp EG
opcode | type | default | range |
---|---|---|---|
ampeg_delay | float | 0 seconds | 0 to 100 seconds |
ampeg_start | float | 0 % | 0 to 100 % |
ampeg_attack | float | 0 seconds | 0 to 100 seconds |
ampeg_hold | float | 0 seconds | 0 to 100 seconds |
ampeg_decay | float | 0 seconds | 0 to 100 seconds |
ampeg_sustain | float | 100 % | 0 to 100 % |
ampeg_release | float | 0 seconds | 0 to 100 seconds |
ampeg_vel2delay | float | 0 seconds | -100 to 100 seconds |
ampeg_vel2attack | float | 0 seconds | -100 to 100 seconds |
ampeg_vel2hold | float | 0 seconds | -100 to 100 seconds |
ampeg_vel2decay | float | 0 seconds | -100 to 100 seconds |
ampeg_vel2sustain | float | 0 % | -100 % to 100 % |
ampeg_vel2release | float | 0 seconds | -100 to 100 seconds |
ampeg_delayccN | float | 0 seconds | -100 to 100 seconds |
ampeg_startccN | float | 0 seconds | -100 to 100 seconds |
ampeg_attackccN | float | 0 seconds | -100 to 100 seconds |
ampeg_holdccN | float | 0 seconds | -100 to 100 seconds |
ampeg_decayccN | float | 0 seconds | -100 to 100 seconds |
ampeg_sustainccN | float | 0 % | -100 to 100 % |
ampeg_releaseccN | float | 0 seconds | -100 to 100 seconds |
Amp LFO
opcode | type | default | range |
---|---|---|---|
amplfo_delay | float | 0 seconds | 0 to 100 seconds |
amplfo_fade | float | 0 seconds | 0 to 100 seconds |
amplfo_freq | float | 0 Hertz | 0 to 20 hertz |
amplfo_depth | float | 0 dB | -10 to 10 dB |
amplfo_depthccN | float | 0 dB | -10 to 10 dB |
amplfo_depthchanaft | float | 0 dB | -10 to 10 dB |
amplfo_depthpolyaft | float | 0 dB | -10 to 10 dB |
amplfo_freqccN | float | 0 hertz | -200 to 200 hertz |
amplfo_freqchanaft | float | 0 hertz | -200 to 200 hertz |
amplfo_freqpolyaft | float | 0 hertz | -200 to 200 hertz |
Equalizer
opcode | type | default | range |
---|---|---|---|
eq1_freq eq2_freq eq3_freq | float | 0=50 1=500 2=5000 | 0-127 |
eq1_freqccN eq2_freqccN eq3_freqccN | float | 0 | 0-127 |
eq1_vel2freq eq2_vel2freq eq3_vel2freq | float | 0 | 0-127 |
eq1_bw eq2_bw eq3_bw | float | 1 octave | 0-127 |
eq1_bwccN eq2_bwccN eq3_bwccN | float | 0 | 0-127 |
eq1_gain eq2_gain eq3_gain | float | 0 db | 0-127 |
eq1_gainccN eq2_gainccN eq3_gainccN | float | 0 db | 0-127 |
eq1_vel2gain eq2_vel2gain eq3_vel2gain | float | 0 | 0-127 |
Effects
opcode | type | default | range |
---|---|---|---|
effect1 | float | 0 | 0-127 |
effect2 | float | 0 | 0-127 |
Definitions
Sample Definition Settings
Sample
This opcode defines which sample file the region will play.
The value of this opcode is the filename of the sample file, including the extension. The filename must be stored in the same folder where the definition file is, or specified relatively to it.
If the sample file is not found, the player will ignore the whole region contents.
Long names and names with blank spaces and other special characters (excepting the = character) are allowed in the sample definition.
The sample will play unchanged when a note equal to the pitch_keycenter opcode value is played. If pitch_keycenter is not defined for the region, sample will play unchanged on note 60 (middle C).
Examples:
sample=guitar_c4_ff.wav
sample=dog kick.ogg
sample=out of tune trombone (redundant).wav
sample=staccatto_snare.ogg
Input Controls Settings
lochan hichan
If incoming notes have a MIDI channel between lochan and hichan, the region will play.
Examples:
lochan=1 hichan=5
lokey hikey key
If a note equal to or higher than lokey AND equal to or lower than hikey is played, the region will play.
lokey and hikey can be entered in either MIDI note numbers (0 to 127) or in MIDI note names (C-1 to G9)
The key opcode sets lokey, hikey and pitch_keycenter to the same note.
Examples:
lokey=60 // middle C
hikey=63 // middle D#
lokey=c4 // middle C
hikey=d#4 // middle D#
hikey=eb4 // middle Eb (D#)
lovel 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.
lobend hibend
Defines the range of the last Pitch Bend message required for the region to play.
Examples:
lobend=0 hibend=4000
The region will play only if last Pitch Bend message received was in the 0~4000 range.
lochanaft hichanaft
Defines the range of last Channel Aftertouch message required for the region to play.
Examples:
lochanaft=30 hichanaft=100
The region will play only if last Channel Aftertouch message received was in the 30~100 range.
lopolyaft hipolyaft
Defines the range of last Polyphonic Aftertouch message required for the region to play.
The incoming note information in the Polyphonic Aftertouch message is not relevant.
Examples:
lopolyaft=30 hipolyaft=100
The region will play only if last Polyphonic Aftertouch message received was in the 30~100 range.
lorand hirand
Random values. The player will generate a new random number on every note-on event, in the range 0~1.
The region will play if the random number is equal to or higher than lorand, and lower than hirand.
Examples:
lorand=0.2 hirand=0.4
lorand=0.4 hirand=1
lobpm hibpm
Host tempo value. The region will play if the host tempo is equal to or higher than lobpm, and lower than hibpm.
seq_length
Sequence length. The player will keep an internal counter creating a consecutive note-on sequence for each region, starting at 1 and resetting at seq_length
seq_position
Sequence position. The region will play if the internal sequence counter is equal to seq_position.
Examples:
seq_length=4 seq_position=2
In above example, the region will play on the second note every four notes.
sw_lokey sw_hikey
Defines the range of the keyboard to be used as trigger selectors for the sw_last opcode.
sw_lokey and sw_hikey can be entered in either MIDI note numbers (0 to 127) or in MIDI note names (C-1 to G9)
Examples:
sw_lokey=48 sw_hikey=53
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.
sw_last can be entered in either MIDI note numbers (0 to 127) or in MIDI note names (C-1 to G9)
Examples:
sw_last=49
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.
sw_down can be entered in either MIDI note numbers (0 to 127) or in MIDI note names (C-1 to G9)
Examples:
sw_down=Cb3
sw_up
Enables the region to play if the key equal to sw_up value is not depressed.
Key has to be in the range specified by sw_lokey and sw_hikey.
sw_up can be entered in either MIDI note numbers (0 to 127) or in MIDI note names (C-1 to G9)
Examples:
sw_up=49
sw_previous
Previous note value. The region will play if last note-on message was equal to sw_previous value.
sw_previous can be entered in either MIDI note numbers (0 to 127) or in MIDI note names (C-1 to G9)
Examples:
sw_previous=60
sw_vel
This opcode allows overriding the velocity for the region with the velocity of the previous note. Values can be:
current: Region uses the velocity of current note.
previous: Region uses the velocity of the previous note.
Examples:
sw_vel=previous
trigger
Sets the trigger which will be used for the sample to play. Values can be:
- attack (default): Region will play on note-on.
- release: Region will play on note-off. The velocity used to play the note-off sample is the velocity value of the corresponding (previous) note-on message.
- first: Region will play on note-on, but if there’s no other note going on (staccato, or first note in a legato phrase).
- legato: Region will play on note-on, but only if there’s a note going on (notes after first note in a legato phrase).
Examples:
trigger=release
group
Exclusive group number for this region.
Examples:
group=3
group=334
off_by
Region off group. When a new region with a group number equal to off_by plays, this region will be turned off.
Examples:
off_by=3
off_by=334
off_mode
Region off mode. This opcode will determinate how a region is turned off by an off_by opcode. Values can be:
- fast (default): The voice will be turned off immediately. Release settings will not have any effect.
- normal: The region will be set into release stage. All envelope generators will enter in release stage, and region will expire when the amplifier envelope generator expired.
Examples:
off_mode=fast
off_mode=normal
on_loccN on_hiccN
Sample trigger on MIDI continuous control N. If a MIDI control message with a value between on_loccN and on_hiccN is received, the region will play.
Examples:
on_locc1=0 on_hicc1=0
Region will play when a MIDI CC1 (modulation wheel) message with zero value is received.
Performance Parameters Settings
Sample Player Settings
delay
Region delay time, in seconds.
If a delay value is specified, the region playback will be postponed for the specified time.
If the region receives a note-off message before delay time, the region won’t play.
All envelope generators delay stage will start counting after region delay time.
Examples:
delay=1
delay=0.2
delay_random
Region random delay time, in seconds.
If the region receives a note-off message before delay time, the region won’t play.
Examples:
delay_random=1
delay_random=0.2
delay_ccN
Region delay time after MIDI continuous controller N messages are received, in seconds.
If the region receives a note-off message before delay time, the region won’t play.
Examples:
delay_cc1=1
delay_cc2=.5
offset
The offset used to play the sample, in sample units.
The player will reproduce samples starting with the very first sample in the file, unless offset is specified. It will start playing the file at the offset sample in this case.
Examples:
offset=3000
offset=32425
offset_random
Random offset added to the region offset, in sample units.
Examples:
offset_random=300
offset_random=100
offset_ccN
The offset used to play the sample according to last position of MIDI continuous controller N, in sample units.
This opcode is useful to specify an alternate sample start point based on MIDI controllers.
Examples:
offset_cc1=3000
offset_cc64=1388
end
The endpoint of the sample, in sample units.
The player will reproduce the whole sample if end is not specified.
If end value is -1, the sample will not play. Marking a region end with -1 can be used to use a silent region to turn off other regions by using the group and off_by opcodes.
Examples:
end=133000
end=4432425
count
The number of times the sample will be played. If this opcode is specified, the sample will restart as many times as defined. Envelope generators will not be retriggered on sample restart.
When this opcode is defined, loopmode is automatically set to one_shot.
Examples:
count=3
count=2
loop_mode
If loop_mode is not specified, each sample will play according to its predefined loop mode. That is, the player will play the sample looped using the first defined loop, if available. If no loops are defined, the wave will play unlooped.
The loop_mode opcode allows playing samples with loops defined in the unlooped mode. The possible values are:
- no_loop: no looping will be performed. Sample will play straight from start to end, or until note off, whatever reaches first.
one_shot: sample will play from start to end, ignoring note off.
This mode is engaged automatically if the count opcode is defined. - loop_continuous: once the player reaches sample loop point, the loop will play until note expiration.
- loop_sustain: the player will play the loop while the note is held, by keeping it depressed or by using the sustain pedal (CC64). The rest of the sample will play after note release.
Examples:
loop_mode=no_loop
loop_mode=loop_continuous
loop_start
The loop start point, in samples.
If loop_start is not specified and the sample has a loop defined, the sample start point will be used.
If loop_start is specified, it will overwrite the loop start point defined in the sample.
This opcode will not have any effect if loopmode is set to no_loop.
Examples:
loop_start=4503
loop_start=12445
loop_end
The loop end point, in samples. This opcode will not have any effect if loopmode is set to no_loop.
If loop_end is not specified and the sample have a loop defined, the sample loop end point will be used.
If loop_end is specified, it will overwrite the loop end point defined in the sample.
Examples:
loop_end=34503
loop_end=212445
sync_beats
Region playing synchronization to host position.
When sync_beats is specified and after input controls instruct the region to play, the playback will be postponed until the next multiple of the specified value is crossed.
Examples:
sync_beats=4
In this example, if note is pressed in beat 2 of current track, note won’t be played until beat 4 reaches.
This opcode will only work in hosts featuring song position information (vstTimeInfo ppqPos).
sync_offset
Region playing synchronization to host position offset.
When sync_beats is specified and after input controls instruct the region to play, the playback will be postponed until the next multiple of the specified value plus the sync_offset value is crossed.
Examples:
sync_beats=4 sync_offset=1
In this example, if note is pressed in beat 2 of current track, note won’t be played until beat 5 reaches.
This opcode will only work in hosts featuring song position information (vstTimeInfo ppqPos).
Pitch Settings
transpose
The transposition value for this region which will be applied to the sample.
Examples:
transpose=3
transpose=-4
tune
The fine tuning for the sample, in cents. Range is ±1 semitone, from -100 to 100. Only negative values must be prefixed with sign.
Examples:
tune=33
tune=-30
tune=94
pitch_keycenter
Root key for the sample.
Examples:
pitch_keycenter=56
pitch_keycenter=c#2
pitch_keytrack
Within the region, this value defines how much the pitch changes with every note. Default value is 100, which means pitch will change one hundred cents (one semitone) per played note. Setting this value to zero means that all notes in the region will play the same pitch, particularly useful when mapping drum sounds.
Examples:
pitch_keytrack=20
pitch_keytrack=0
pitch_veltrack
Pitch velocity tracking, represents how much the pitch changes with incoming note velocity, in cents.
Examples:
pitch_veltrack=0
pitch_veltrack=1200
pitch_random
Random tuning for the region, in cents. Random pitch will be centered, with positive and negative values.
Examples:
pitch_random=100
pitch_random=400
bend_up
Pitch bend range when Bend Wheel or Joystick is moved up, in cents.
Examples:
bend_up=1200
bend_up=100
bend_down
Pitch bend range when Bend Wheel or Joystick is moved down, in cents.
Examples:
bend_down=1200
bend_down=100
bend_step
Pitch bend step, in cents.
Examples:
bend_step=100 // glissando in semitones
bend_step=200 // glissando in whole tones
Pitch EG Settings
pitcheg_delay
Pitch EG delay time, in seconds. This is the time elapsed from note on to the start of the Attack stage.
Examples:
pitcheg_delay=1.5
pitcheg_delay=0
pitcheg_start
Pitch EG start level, in percentage.
Examples:
pitcheg_start=20
pitcheg_start=100
pitcheg_attack
Pitch EG attack time, in seconds.
Examples:
pitcheg_attack=1.2
pitcheg_attack=0.1
pitcheg_hold
Pitch EG hold time, in seconds. During the hold stage, EG output will remain at its maximum value.
Examples:
pitcheg_hold=1.5
pitcheg_hold=0.1
pitcheg_decay
Pitch EG decay time, in seconds.
Examples:
pitcheg_decay=1.5
pitcheg_decay=3
pitcheg_sustain
Pitch EG release time (after note release), in seconds.
Examples:
pitcheg_release=1.34
pitcheg_release=2
pitcheg_release
Pitch EG release time (after note release), in seconds.
Examples:
pitcheg_release=1.34
pitcheg_release=2
pitcheg_depth
Depth for the pitch EG, in cents.
Examples:
pitcheg_depth=1200
pitcheg_depth=-100
pitcheg_vel2delay
Velocity effect on pitch EG delay time, in seconds.
Examples:
pitcheg_vel2delay=1.2
pitcheg_vel2delay=0.1
Delay time will be calculated as delay time = pitcheg_delay + pitcheg_vel2delay * velocity / 127
pitcheg_vel2attack
Velocity effect on pitch EG attack time, in seconds.
Examples:
pitcheg_vel2attack=1.2
pitcheg_vel2attack=0.1
Attack time will be calculated as attack time = pitcheg_attack + pitcheg_vel2attack * velocity / 127
pitcheg_vel2hold
Velocity effect on pitch EG hold time, in seconds.
Examples:
pitcheg_vel2hold=1.2
pitcheg_vel2hold=0.1
Hold time will be calculated as hold time = pitcheg_hold + pitcheg_vel2hold * velocity / 127
pitcheg_vel2decay
Velocity effect on pitch EG decay time, in seconds.
Examples:
pitcheg_vel2decay=1.2
pitcheg_vel2decay=0.1
Decay time will be calculated as decay time = pitcheg_decay + pitcheg_vel2decay * velocity / 127
pitcheg_vel2sustain
Velocity effect on pitch EG sustain level, in percentage.
Examples:
pitcheg_vel2sustain=30
pitcheg_vel2sustain=20
Sustain level will be calculated as sustain level = pitcheg_sustain + pitcheg_vel2sustain
pitcheg_vel2release
Velocity effect on pitch EG release time, in seconds.
Examples:
pitcheg_vel2release=1.2
pitcheg_vel2release=0.1
Release time will be calculated as release time = pitcheg_release + pitcheg_vel2release * velocity / 127
pitcheg_vel2depth
Velocity effect on pitch EG depth, in cents.
Examples:
pitcheg_vel2depth=100
pitcheg_vel2depth=-1200
Pitch LFO Settings
pitchlfo_delay
The time before the Pitch LFO starts oscillating, in seconds.
Examples:
pitchlfo_delay=1
pitchlfo_delay=0.4
pitchlfo_fade
Pitch LFO fade-in effect time.
Examples:
pitchlfo_fade=1
pitchlfo_fade=0.4
pitchlfo_freq
Pitch LFO frequency, in hertz.
Examples:
pitchlfo_freq=0.4
pitchlfo_freq=1.3
pitchlfo_depth
Pitch LFO depth, in cents.
Examples:
pitchlfo_depth=1
pitchlfo_depth=4
pitchlfo_depthccN
Pitch LFO depth when MIDI continuous controller N is received, in cents.
Examples:
pitchlfo_depthcc1=100
pitchlfo_depthcc32=400
pitchlfo_depthchanaft
Pitch LFO depth when channel aftertouch MIDI messages are received, in cents.
Examples:
pitchlfo_depthchanaft=100
pitchlfo_depthchanaft=400
pitchlfo_depthpolyaft
Pitch LFO depth when polyphonic aftertouch MIDI messages are received, in cents.
Examples:
pitchlfo_depthpolyaft=100
pitchlfo_depthpolyaft=400
pitchlfo_freqccN
Pitch LFO frequency change when MIDI continuous controller N is received, in hertz.
Examples:
pitchlfo_freqcc1=5
pitchlfo_freqcc1=-12
pitchlfo_freqchanaft
Pitch LFO frequency change when channel aftertouch MIDI messages are received, in hertz.
Examples:
pitchlfo_freqchanaft=10
pitchlfo_freqchanaft=-40
pitchlfo_freqpolyaft
Pitch LFO frequency change when polyphonic aftertouch MIDI messages are received, in hertz.
Examples:
pitchlfo_freqpolyaft=10
pitchlfo_freqpolyaft=-4
Filter Settings
fil_type
Filter type. Avaliable types are:
lpf_1p: one-pole low pass filter (6dB/octave).
hpf_1p: one-pole high pass filter (6dB/octave).
lpf_2p: two-pole low pass filter (12dB/octave).
hpf_2p: two-pole high pass filter (12dB/octave).
bpf_2p: two-pole band pass filter (12dB/octave).
brf_2p: two-pole band rejection filter (12dB/octave).
Examples:
fil_type=lpf_2p
fil_type=hpf_1p
cutoff
The filter cutoff frequency, in Hertz.
If the cutoff is not specified, the filter will be disabled, with the consequent CPU drop in the player.
Examples:
cutoff=343
cutoff=4333
cutoff_ccN
The variation in the cutoff frequency when MIDI continuous controller N is received, in cents.
Examples:
cutoff_cc1=1200
cutoff_cc2=-100
cutoff_chanaft
The variation in the cutoff frequency when MIDI channel aftertouch messages are received, in cents.
Examples:
cutoff_chanaft=1200
cutoff_chanaft=-100
cutoff_polyaft
The variation in the cutoff frequency when MIDI polyphonic aftertouch messages are received, in cents.
Examples:
cutoff_polyaft=1200
cutoff_polyaft=-100
resonance
The filter cutoff resonance value, in decibels.
Examples:
resonance=30
fil_keytrack
Filter keyboard tracking (change on cutoff for each key) in cents.
Examples:
fil_keytrack=100
fil_keytrack=0
fil_keycenter
Center key for filter keyboard tracking. In this key, the filter keyboard tracking will have no effect.
Examples:
fil_keycenter=60
fil_keycenter=48
fil_veltrack
Filter velocity tracking, represents how much the cutoff changes with incoming note velocity.
Examples:
fil_veltrack=0
fil_veltrack=1200
fil_random
Random cutoff added to the region, in cents.
Examples:
fil_random=100
fil_random=400
Filter EG
fileg_delay
Filter EG delay time, in seconds. This is the time elapsed from note on to the start of the Attack stage.
Examples:
fileg_delay=1.5
fileg_delay=0
fileg_start
Filter EG start level, in percentage.
Examples:
fileg_start=20
fileg_start=100
fileg_attack
Filter EG attack time, in seconds.
Examples:
fileg_attack=1.2
fileg_attack=0.1
fileg_hold
Filter EG hold time, in seconds. During the hold stage, EG output will remain at its maximum value.
Examples:
fileg_hold=1.5
fileg_hold=0.1
fileg_decay
Filter EG decay time, in seconds.
Examples:
fileg_decay=1.5
fileg_decay=3
fileg_sustain
Filter EG sustain level, in percentage.
Examples:
fileg_sustain=40.34
fileg_sustain=10
fileg_release
Filter EG release time (after note release), in seconds.
Examples:
fileg_release=1.34
fileg_release=2
fileg_depth
Depth for the filter EG, in cents.
Examples:
fileg_depth=1200
fileg_depth=-100
fileg_vel2delay
Velocity effect on filter EG delay time, in seconds.
Examples:
fileg_vel2delay=1.2
fileg_vel2delay=0.1
Delay time will be calculated as delay time = fileg_delay + fileg_vel2delay * velocity / 127
fileg_vel2attack
Velocity effect on filter EG attack time, in seconds.
Examples:
fil_vel2attack=1.2
fil_vel2attack=0.1
Attack time will be calculated as attack time = fileg_attack + fileg_vel2attack * velocity / 127
fileg_vel2hold
Velocity effect on filter EG hold time, in seconds.
Examples:
fileg_vel2hold=1.2
fileg_vel2hold=0.1
Hold time will be calculated as hold time = fileg_hold + fileg_vel2hold * velocity / 127
fileg_vel2decay
Velocity effect on filter EG decay time, in seconds.
Examples:
fileg_vel2decay=1.2
fileg_vel2decay=0.1
Decay time will be calculated as decay time = fileg_decay + fileg_vel2decay * velocity / 127
fileg_vel2sustain
Velocity effect on filter EG sustain level, in percentage.
Examples:
fileg_vel2sustain=30
fileg_vel2sustain=-30
Sustain level will be calculated as sustain level = fileg_sustain + fileg_vel2sustain
Result will be clipped to 0~100%.
fileg_vel2release
Velocity effect on filter EG release time, in seconds.
Examples:
fileg_vel2release=1.2
fileg_vel2release=0.1
Release time will be calculated as release time = fileg_release + fileg_vel2release * velocity / 127
fileg_vel2depth
-12000 to 12000 cents
Filter LFO
fillfo_delay
The time before the filter LFO starts oscillating, in seconds.
Examples:
fillfo_delay=1
fillfo_delay=0.4
fillfo_fade
Filter LFO fade-in effect time.
Examples:
fillfo_fade=1
fillfo_fade=0.4
fillfo_freq
Filter LFO frequency, in hertz.
Examples:
fillfo_freq=0.4
fillfo_freq=1.3
fillfo_depth
Filter LFO depth, in cents.
Examples:
fillfo_depth=1
fillfo_depth=4
fillfo_depthccN
Filter LFO depth when MIDI continuous controller N is received, in cents.
Examples:
fillfo_depthcc1=100
fillfo_depthcc32=400
fillfo_depthchanaft
Filter LFO depth when channel aftertouch MIDI messages are received, in cents.
Examples:
fillfo_depthchanaft=100
fillfo_depthchanaft=400
fillfo_depthpolyaft
Filter LFO depth when polyphonic aftertouch MIDI messages are received, in cents.
Examples:
fillfo_depthpolyaft=100
fillfo_depthpolyaft=400
fillfo_freqccN
Filter LFO frequency change when MIDI continuous controller N is received, in hertz.
Examples:
fillfo_freqcc1=5
fillfo_freqcc1=-12
fillfo_freqchanaft
Filter LFO frequency change when channel aftertouch MIDI messages are received, in hertz.
Examples:
fillfo_freqchanaft=10
fillfo_freqchanaft=-40
fillfo_freqpolyaft
Filter LFO frequency change when polyphonic aftertouch MIDI messages are received, in hertz.
Examples:
fillfo_freqpolyaft=10
fillfo_freqpolyaft=-4
Amplifier Settings
volume
The volume for the region, in decibels.
Examples:
volume=-24
volume=0
volume=3.5
pan
The panoramic position for the region.
If a mono sample is used, pan value defines the position in the stereo image where the sample will be placed. When a stereo sample is used, the pan value the relative amplitude of one channel respect the other.
A value of zero means centered, negative values move the panoramic to the left, positive to the right.
Examples:
pan=-30.5
pan=0
pan=43
width
Only operational for stereo samples, width defines the amount of channel mixing applied to play the sample. A width value of 0 makes a stereo sample play as if it were mono (adding both channels and compensating for the resulting volume change). A value of 100 will make the stereo sample play as original.
Any value in between will mix left and right channels with a part of the other, resulting in a narrower stereo field image.
Negative width values will reverse left and right channels.
Examples:
width=100 // stereo
width=0 // play this stereo sample as mono
width=50 // mix 50% of one channel with the other
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.
A value of zero means centered, negative values move the panoramic to the left, positive to the right.
Examples:
// mix both channels and play the result at left
width=0 position=-100
// make the stereo image narrower and play it
// slightly right
width=50 position=30
amp_keytrack
Amplifier keyboard tracking (change in amplitude per key) in dB.
Examples:
amp_keytrack=-1.4
amp_keytrack=3
amp_keycenter
Center key for amplifier keyboard tracking. In this key, the amplifier keyboard tracking will have no effect.
Examples:
amp_keycenter=60
amp_keycenter=48
amp_veltrack
Amplifier velocity tracking, represents how much the amplitude changes with incoming note velocity.
Volume changes with incoming velocity in a concave shape according to the following expression:
Amplitude(dB) = 20 log (127^2 / Velocity^2)
The amp_velcurve_N opcodes allow overriding the default velocity curve.
Examples:
amp_veltrack=0
amp_veltrack=100
amp_velcurve_1 amp_velcurve_127
User-defined amplifier velocity curve. This opcode range allows defining a specific curve for the amplifier velocity. The value of the opcode indicates the normalized amplitude (0 to 1) for the specified velocity.
The player will interpolate lineraly between specified opcodes for unspecified ones:
amp_velcurve_1=0.2 amp_velcurve_3=0.3
// amp_velcurve_2 is calculated to 0.25
If amp_velcurve_127 is not specified, the player will assign it the value of 1.
Examples:
// linear, compressed dynamic range
// amplitude changes from 0.5 to 1
amp_velcurve_1=0.5
amp_random
Random volume for the region, in decibels.
Examples:
amp_random=10
amp_random=3
rt_decay
The volume decay amount when the region is set to play in release trigger mode, in decibels per second since note-on message.
Examples:
rt_decay=6.5
output
The stereo output number for this region.
If the player doesn’t feature multiple outputs, this opcode is ignored.
Examples:
output=0
output=4
gain_ccN
Gain applied on MIDI control N, in decibels.
Examples:
gain_cc1=12
xfin_lokey xfin_hikey
Fade in control.
xfin_lokey
and xfin_hikey define the fade-in keyboard zone for the region.
The volume of the region will be zero for keys lower than or equal to xfin_lokey
, and maximum (as defined by the volume opcode) for keys greater than or equal to xfin_hikey
.
Examples:
xfin_lokey=c3 xfin_hikey=c4
xfout_lokey xfout_hikey
Fade out control.
xfout_lokey
and xfout_hikey
define the fade-out keyboard zone for the region.
The volume of the region will be maximum (as defined by the volume opcode) for keys lower than or equal to xfout_lokey
, and zero for keys greater than or equal to xfout_hikey
.
Examples:
xfout_lokey=c5 xfout_hikey=c6
xf_keycurve
Keyboard crossfade curve for the region. Values can be:
gain: Linear gain crossfade. This setting is best when crossfading phase-aligned material. Linear gain crossfades keep constant amplitude during the crossfade, preventing clipping.
power: Equal-power RMS crossfade. This setting works better to mix very different material, as a constant power level is kept during the crossfade.
xfin_lovel xfin_hivel
Fade in control.
xfin_lovel
and xfin_hivel
define the fade-in velocity range for the region.
The volume of the region will be zero for velocities lower than or equal to xfin_lovel, and maximum (as defined by the volume opcode) for velocities greater than or equal to xfin_hivel.
Examples:
xfin_lovel=0 xfin_hivel=127
xfout_lovel xfout_hivel
Fade out control.
xfout_lokey and xfout_hikey define the fade-out velocity range for the region.
The volume of the region will be maximum (as defined by the volume opcode) for velocities lower than or equal to xfout_lovel, and zero for velocities greater than or equal to xfout_hivel.
Examples:
xfout_lovel=0 xfout_hivel=127
xf_velcurve
Velocity crossfade curve for the region. Values can be:
gain: Linear gain crossfade. This setting is best when crossfading phase-aligned material. Linear gain crossfades keep constant amplitude during the crossfade, preventing clipping.
power: Equal-power RMS crossfade. This setting works better to mix very different material, as a constant power level is kept during the crossfade.
xfin_loccN xfin_hiccN
Fade in control.
xfin_loccN and xfin_hiccN set the range of values in the MIDI continuous controller N which will perform a fade-in in the region.
The volume of the region will be zero for values of the MIDI continuous controller N lower than or equal to xfin_loccN, and maximum (as defined by the volume opcode) for values greater than or equal to xfin_hiccN.
Examples:
xfin_locc1=64 xfin_hicc1=127
xfout_loccN xfout_hiccN
Fade out control.
xfout_loccN and xfout_hiccN set the range of values in the MIDI continuous controller N which will perform a fade-out in the region.
The volume of the region will be maximum (as defined by the volume opcode) for values of the MIDI continuous controller N lower than or equal to xfout_loccN, and zero for values greater than or equal to xfout_hiccN.
Examples:
xfout_locc1=64 xfout_hicc1=127
xf_cccurve
MIDI controllers crossfade curve for the region. Values can be:
gain: Linear gain crossfade. This setting is best when crossfading phase-aligned material. Linear gain crossfades keep constant amplitude during the crossfade, preventing clipping.
power: Equal-power RMS crossfade. This setting works better to mix very different material, as a constant power level is kept during the crossfade.
Amplifier EG Settings
ampeg_delay
Amplifier EG delay time, in seconds. This is the time elapsed from note on to the start of the Attack stage.
Examples:
ampeg_delay=1.5
ampeg_delay=0
ampeg_start
Amplifier EG start level, in percentage.
Examples:
ampeg_start=20
ampeg_start=100
ampeg_attack
Amplifier EG attack time, in seconds.
Examples:
ampeg_attack=1.2
ampeg_attack=0.1
ampeg_hold
Amplifier EG hold time, in seconds. During the hold stage, EG output will remain at its maximum value.
Examples:
ampeg_hold=1.5
ampeg_hold=0.1
ampeg_decay
Amplifier EG decay time, in seconds.
Examples:
ampeg_decay=1.5
ampeg_decay=3
ampeg_sustain
Amplifier EG sustain level, in percentage.
Examples:
ampeg_sustain=40.34
ampeg_sustain=10
ampeg_release
Amplifier EG release time (after note release), in seconds.
Examples:
ampeg_release=1.34
ampeg_release=2
ampeg_vel2delay
Velocity effect on amplifier EG delay time, in seconds.
Examples:
ampeg_vel2delay=1.2
ampeg_vel2delay=0.1
Delay time will be calculated as delay time = ampeg_delay + ampeg_vel2delay * velocity / 127
ampeg_vel2attack
Velocity effect on amplifier EG attack time, in seconds.
Examples:
ampeg_vel2attack=1.2
ampeg_vel2attack=0.1
Attack time will be calculated as attack time = ampeg_attack + ampeg_vel2attack * velocity / 127
ampeg_vel2hold
Velocity effect on amplifier EG hold time, in seconds.
Examples:
ampeg_vel2hold=1.2
ampeg_vel2hold=0.1
Hold time will be calculated as hold time = ampeg_hold + ampeg_vel2hold * velocity / 127
ampeg_vel2decay
Velocity effect on amplifier EG decay time, in seconds.
Examples:
ampeg_vel2decay=1.2
ampeg_vel2decay=0.1
Decay time will be calculated as decay time = ampeg_decay + ampeg_vel2decay * velocity / 127
ampeg_vel2sustain
Velocity effect on amplifier EG sustain level, in percentage.
Examples:
ampeg_vel2sustain=30
ampeg_vel2sustain=-30
Sustain level will be calculated as ampeg_holdsustain level= ampeg_sustain + ampeg_vel2sustain
The result will be clipped to 0~100%.
ampeg_vel2release
Velocity effect on amplifier EG release time, in seconds.
Examples:
ampeg_vel2release=1.2
ampeg_vel2release=0.1
Release time will be calculated as release time = ampeg_release + ampeg_vel2release * velocity / 127
ampeg_delayccN
Amplifier EG delay time added on MIDI control N, in seconds.
Examples:
ampeg_delaycc20=1.5
ampeg_delaycc1=0
ampeg_startccN
Amplifier EG start level added on MIDI control N, in percentage.
Examples:
ampeg_startcc20=20
ampeg_startcc1=100
ampeg_attackccN
Amplifier EG attack time added on MIDI control N, in seconds.
Examples:
ampeg_attackcc20=1.2
ampeg_attackcc1=0.1
ampeg_holdccN
Amplifier EG hold time added on MIDI control N, in seconds.
Examples:
ampeg_holdcc20=1.5
ampeg_holdcc1=0.1
ampeg_decayccN
Amplifier EG decay time added on MIDI control N, in seconds.
Examples:
ampeg_decaycc20=1.5
ampeg_decaycc1=3
ampeg_sustainccN
Amplifier EG sustain level added on MIDI control N, in percentage.
Examples:
ampeg_sustaincc20=40.34
ampeg_sustaincc1=10
ampeg_releaseccN
Amplifier EG release time added on MIDI control N, in seconds.
Examples:
ampeg_releasecc20=1.34
ampeg_releasecc1=2
Amplifier LFO Settings
amplfo_delay
The time before the Amplifier LFO starts oscillating, in seconds.
Examples:
amplfo_delay=1
amplfo_delay=0.4
amplfo_fade
Amplifier LFO fade-in effect time.
Examples:
amplfo_fade=1
amplfo_fade=0.4
amplfo_freq
Amplifier LFO frequency, in hertz.
Examples:
amplfo_freq=0.4
amplfo_freq=1.3
amplfo_depth
Amplifier LFO depth, in decibels.
Examples:
amplfo_depth=1
amplfo_depth=4
amplfo_depthccN
Amplifier LFO depth when MIDI continuous controller N is received, in decibels.
Examples:
amplfo_depthcc1=100
amplfo_depthcc32=400
amplfo_depthchanaft
Amplifier LFO depth when channel aftertouch MIDI messages are received, in cents.
Examples:
amplfo_depthchanaft=100
amplfo_depthchanaft=400
amplfo_depthpolyaft
Amplifier LFO depth when polyphonic aftertouch MIDI messages are received, in cents.
Examples:
amplfo_depthpolyaft=100
amplfo_depthpolyaft=400
amplfo_freqccN
Amplifier LFO frequency change when MIDI continuous controller N is received, in hertz.
Examples:
amplfo_freqcc1=5
amplfo_freqcc1=-12
amplfo_freqchanaft
Amplifier LFO frequency change when channel aftertouch MIDI messages are received, in hertz.
Examples:
amplfo_freqchanaft=10
amplfo_freqchanaft=-40
amplfo_freqpolyaft
Amplifier LFO frequency change when polyphonic aftertouch MIDI messages are received, in hertz.
Examples:
amplfo_freqpolyaft=10
amplfo_freqpolyaft=-4
Equalizer Settings
eq1_freq eq2_freq eq3_freq
Frequency of the equalizer band, in Hertz.
Examples:
eq1_freq=80 eq2_freq=1000 eq3_freq=4500
eq1_freqccN eq2_freqccN eq3_freqccN
Frequency change of the equalizer band when MIDI continuous control N messages are received, in Hertz.
Examples:
eq1_freqcc1=80
eq1_vel2freq eq2_vel2freq eq3_vel2freq
Frequency change of the equalizer band with MIDI velocity, in Hertz.
Examples:
eq1_vel2freq=1000
eq1_bw eq2_bw eq3_bw
Bandwidth of the equalizer band, in octaves.
Examples:
eq1_bw=1 eq2_bw=0.4 eq3_bw=1.4
eq1_bwccN eq2_bwccN eq3_bwccN
Bandwidth change of the equalizer band when MIDI continuous control N messages are received, in octaves.
Examples:
eq1_bwcc29=1.3
eq1_gain eq2_gain eq3_gain
Gain of the equalizer band, in decibels.
Examples:
eq1_gain=-3 eq2_gain=6 eq3_gain=-6
eq1_gainccN eq2_gainccN eq3_gainccN
Gain change of the equalizer band when MIDI continuous control N messages are received, in decibels.
Examples:
eq1_gaincc23=-12
eq1_vel2gain eq2_vel2gain eq3_vel2gain
Gain change of the equalizer band with MIDI velocity, in decibels.
Examples:
eq1_vel2gain=12
Effects Settings
effect1
Level of effect1 send, in percentage (reverb in sfz).
Examples:
effect1=100
effect2
Level of effect2 send, in percentage (chorus in sfz).
Examples:
effect2=100