spessasynth_core documentation
    Preparing search index...

    Generator Types

    Below are all generator types defined by the SoundFont 2.04 specification, followed by the non-standard generators used internally by spessasynth_core.

    They are accessible through the GeneratorTypes enum. The limits and default values are accessible through GeneratorLimits.

    Generator ID Generator Name Minimum Value Maximum Value Default Value Description
    0 Start Address Offset 0 32768 0 Sample control - moves sample start point
    1 End Address Offset -32768 32768 0 Sample control - moves sample end point
    2 Start Loop Address Offset -32768 32768 0 Loop control - moves loop start point
    3 End Loop Address Offset -32768 32768 0 Loop control - moves loop end point
    4 Start Address Coarse Offset 0 32768 0 Sample control - moves sample start point in 32768 increments
    5 Modulation LFO to Pitch -12000 12000 0 Pitch modulation - Modulation LFO pitch modulation in cents
    6 Vibrato LFO to Pitch -12000 12000 0 Pitch modulation - Vibrato LFO pitch modulation in cents
    7 Modulation Envelope to Pitch -12000 12000 0 Pitch modulation - Modulation envelope pitch modulation in cents
    8 Initial Filter Cutoff 1500 13500 13500 Filter - Lowpass filter cutoff in cents
    9 Initial Filter Resonance 0 960 0 Filter - Lowpass filter resonance
    10 Modulation LFO to Filter Cutoff -12000 12000 0 Filter modulation - Modulation LFO lowpass filter cutoff in cents
    11 Modulation Envelope to Filter Cutoff -12000 12000 0 Filter modulation - Modulation envelope lowpass filter cutoff in cents
    12 End Address Coarse Offset -32768 32768 0 Sample control - moves sample end point in 32768 increments
    13 Modulation LFO to Volume -960 960 0 Modulation LFO - Volume (tremolo), where 100 = 10dB
    14 Unused 1 - - - Unused
    15 Chorus Effects Send 0 1000 0 Effect send - How much is sent to chorus
    16 Reverb Effects Send 0 1000 0 Effect send - How much is sent to reverb
    17 Pan -500 500 0 Panning - Where -500 = left, 0 = center, 500 = right
    18 Unused 2 - - - Unused
    19 Unused 3 - - - Unused
    20 Unused 4 - - - Unused
    21 Delay Modulation LFO -12000 5000 -12000 Mod LFO - Delay for Mod LFO to start from zero (weird scale)
    22 Frequency Modulation LFO -16000 4500 0 Mod LFO - Frequency of Mod LFO, 0 = 8.176Hz, unit: f => 1200log2(f/8.176)
    23 Delay Vibrato LFO -12000 5000 -12000 Vibrato LFO - Delay for vibrato LFO to start from zero (weird scale)
    24 Frequency Vibrato LFO -16000 4500 0 Vibrato LFO - Frequency of Vibrato LFO, 0 = 8.176Hz, unit: f => 1200log2(f/8.176)
    25 Delay Modulation Envelope -32768 5000 -32768 Mod Envelope - 0 = 1s delay till Mod Envelope starts
    26 Attack Modulation Envelope -32768 8000 -32768 Mod Envelope - Attack of Mod Envelope
    27 Hold Modulation Envelope -12000 5000 -12000 Mod Envelope - Hold of Mod Envelope
    28 Decay Modulation Envelope -12000 8000 -12000 Mod Envelope - Decay of Mod Envelope
    29 Sustain Modulation Envelope 0 1000 0 Mod Envelope - Sustain of Mod Envelope
    30 Release Modulation Envelope -12000 8000 -12000 Mod Envelope - Release of Mod Envelope
    31 Key Number to Modulation Envelope Hold -1200 1200 0 Mod Envelope - Also modulating Mod Envelope hold with key number
    32 Key Number to Modulation Envelope Decay -1200 1200 0 Mod Envelope - Also modulating Mod Envelope decay with key number
    33 Delay Volume Envelope -12000 5000 -12000 Volume Envelope - Delay of envelope from zero (weird scale)
    34 Attack Volume Envelope -12000 8000 -12000 Volume Envelope - Attack of envelope
    35 Hold Volume Envelope -12000 5000 -12000 Volume Envelope - Hold of envelope
    36 Decay Volume Envelope -12000 8000 -12000 Volume Envelope - Decay of envelope
    37 Sustain Volume Envelope 0 1440 0 Volume Envelope - Sustain of envelope
    38 Release Volume Envelope -12000 8000 -12000 Volume Envelope - Release of envelope
    39 Key Number to Volume Envelope Hold -1200 1200 0 Volume Envelope - Key number to volume envelope hold
    40 Key Number to Volume Envelope Decay -1200 1200 0 Volume Envelope - Key number to volume envelope decay
    41 Instrument - - - Zone - Instrument index to use for preset zone
    42 Reserved 1 - - - Reserved
    43 Key Range - - - Zone - Key range for which preset / instrument zone is active
    44 Velocity Range - - - Zone - Velocity range for which preset / instrument zone is active
    45 Start Loop Address Coarse Offset -32768 32768 0 Sample control - Moves sample loop start point in 32768 increments
    46 Key Number -1 127 -1 Zone - Instrument only: Always use this MIDI number (ignore what's pressed)
    47 Velocity -1 127 -1 Zone - Instrument only: Always use this velocity (ignore what's pressed)
    48 Initial Attenuation 0 1440 0 Zone - Allows turning down the volume, 250 = -10dB
    49 Reserved 2 - - - Reserved
    50 End Loop Address Coarse Offset -32768 32768 0 Sample control - Moves sample loop end point in 32768 increments
    51 Coarse Tune -120 120 0 Tune - Pitch offset in semitones
    52 Fine Tune -12700 12700 0 Tune - Pitch offset in cents
    53 Sample ID - - - Sample - Instrument zone only: Which sample to use
    54 Sample Modes 0 3 0 Sample - 0 = no loop, 1 = loop, 2 = start on release (Polyphone extension, see below), 3 = loop and play till end in release phase
    55 Reserved 3 - - - Reserved
    56 Scale Tuning 0 1200 100 Sample - The degree to which MIDI key number influences pitch, 100 = default
    57 Exclusive Class 0 99999 0 Sample - Cut = choke group
    58 Overriding Root Key -1 127 -1 Sample - Can override the sample's original pitch
    59 Unused 5 - - - Unused
    60 End Marker - - - End marker

    These generators are not part of the SoundFont specification. They are used internally by the synthesizer to implement the GS and XG controller matrix (such as *CONTROL and controller depth System Exclusives) and are never written to files.

    Generator ID Generator Name Minimum Value Maximum Value Default Value Description
    61 Amplitude -1000 1000 0 Linear amplitude change in 0.1% units
    62 Vibrato LFO Rate -1000 1000 0 Vibrato LFO frequency change in 0.01 Hz units
    63 Vibrato LFO Amplitude Depth 0 1000 0 Vibrato LFO linear amplitude modulation in 0.1% units
    64 Vibrato LFO to Filter Cutoff -12000 12000 0 Like Modulation LFO to Filter Cutoff, but for vibrato LFO
    65 Vibrato LFO to Volume -960 960 0 Like Modulation LFO to Volume, but for vibrato LFO
    66 Modulation LFO Rate -1000 1000 0 Modulation LFO frequency change in 0.01 Hz units
    67 Modulation LFO Amplitude Depth 0 1000 0 Modulation LFO linear amplitude modulation in 0.1% units

    The SF2 specification marks sampleModes 2 as unused and says to treat it as "no loop". SpessaSynth follows the Polyphone 2.4 extension instead: the sample starts playing on release (note off), so it stays silent while the key is held. Files that write 2 for a different reason will be silent until note off.