spessasynth_core documentation
    Preparing search index...

    Interface GlobalSystemParameter

    Global System Parameters are API-only parameters that affect the entire synthesizer.

    They are System Parameters, meaning that they can only be changed via the API, and not via MIDI messages.

    DEFAULT_GLOBAL_SYSTEM_PARAMETERS is provided with the library, containing the defaults.

    Examples:

    • voiceCap
    • interpolationType
    interface GlobalSystemParameter {
        autoAllocateVoices: boolean;
        blackMIDIMode: boolean;
        chorusGain: number;
        customVibrato: boolean;
        deviceID: number;
        drumLock: boolean;
        effectsEnabled: boolean;
        eventsEnabled: boolean;
        fineTune: number;
        gain: number;
        gsChorusLock: boolean;
        gsDelayGain: number;
        gsDelayLock: boolean;
        gsInsertionLock: boolean;
        gsReverbLock: boolean;
        interpolationType: InterpolationType;
        keyShift: number;
        monophonicRetrigger: boolean;
        nrpnParamLock: boolean;
        pan: number;
        pitchBasedKeyShift: boolean;
        reverbGain: number;
        userDrumLock: boolean;
        voiceCap: number;
        xgChorusLock: boolean;
        xgInsertionLock: boolean;
        xgReverbLock: boolean;
        xgVariationGain: number;
        xgVariationLock: boolean;
    }
    Index
    autoAllocateVoices: boolean

    Enabling this parameter will cause a new voice allocation when the voice cap is hit, rather than stealing existing voices.

    blackMIDIMode: boolean

    Forces note killing instead of releasing. Improves performance in black MIDIs.

    chorusGain: number

    The chorus effect gain. From 0 to any number. 1 is 100% chorus.

    Applies to both GS and XG chorus.

    customVibrato: boolean

    If the synthesizer should use the custom vibrato implementation.

    This effect is modified using NRPN, so the recommended use case would be setting the custom vibrato then locking it to prevent changes by MIDI files.

    Disabled by default to avoid altering songs that don't expect it.

    deviceID: number

    Synthesizer's device ID for system exclusive messages. Set to -1 to accept all.

    drumLock: boolean

    If the synthesizer should prevent editing of the drum parameters. These params are modified using MIDI system exclusive messages or NRPN, so the recommended use case would be setting the drum parameters then locking it to prevent changes by MIDI files.

    effectsEnabled: boolean

    If the synthesizer processes the audio effects.

    eventsEnabled: boolean

    If the event system is enabled.

    fineTune: number

    The global tuning in cents. Drum channels ignore this value.

    gain: number

    The master gain. From 0 to any number. 1 is 100% volume.

    gsChorusLock: boolean

    If the synthesizer should prevent editing of the GS chorus parameters. This effect is modified using MIDI system exclusive messages, so the recommended use case would be setting the chorus parameters then locking it to prevent changes by MIDI files.

    gsDelayGain: number

    The GS delay effect gain. From 0 to any number. 1 is 100% delay.

    gsDelayLock: boolean

    If the synthesizer should prevent editing of the GS delay parameters. This effect is modified using MIDI system exclusive messages, so the recommended use case would be setting the delay parameters then locking it to prevent changes by MIDI files.

    gsInsertionLock: boolean

    If the synthesizer should prevent editing of the GS insertion effect type and parameters. This effect is modified using MIDI system exclusive messages, so the recommended use case would be setting the insertion effect type and parameters then locking it to prevent changes by MIDI files.

    gsReverbLock: boolean

    If the synthesizer should prevent editing of the GS reverb parameters. This effect is modified using MIDI system exclusive messages, so the recommended use case would be setting the reverb parameters then locking it to prevent changes by MIDI files.

    interpolationType: InterpolationType

    The interpolation type used for sample playback. Interpolation defines how sample points between the sample data are calculated. This has high cost on performance but can improve the quality.

    keyShift: number

    The global key shift in semitones. Drum channels ignore this value.

    monophonicRetrigger: boolean

    Indicates whether the synthesizer is in monophonic retrigger mode. This emulates the behavior of Microsoft GS Wavetable Synth, Where a new note will kill the previous one if it is still playing.

    nrpnParamLock: boolean

    If the synthesizer should prevent changing any parameters via NRPN.

    pan: number

    The master pan. From -1 (left) to 1 (right). 0 is center.

    This uses the cosine panning law, so the perceived loudness remains constant as the pan changes.

    pitchBasedKeyShift: boolean

    Some MIDI synths (most notably Microsoft GS Wavetable Synth) incorrectly treat the "coarse tune" RPN as semitone pitch change instead of true key shift.

    When this parameter is enabled, GlobalMIDIParameter.keyShift and ChannelMIDIParameter.keyShift are treated as semitone pitch changes.

    reverbGain: number

    The reverb effect gain. From 0 to any number. 1 is 100% reverb.

    Applies to both GS and XG reverb.

    userDrumLock: boolean

    If the synthesizer should prevent editing of the User Drum Set (GS only) parameters. These params are modified using MIDI system exclusive messages or NRPN, so the recommended use case would be setting the User Drum Set parameters then locking it to prevent changes by MIDI files.

    voiceCap: number

    The maximum number of voices that can be played at once.

    xgChorusLock: boolean

    If the synthesizer should prevent editing of the XG chorus block. This effect is modified using MIDI system exclusive messages, so the recommended use case would be setting the chorus parameters then locking it to prevent changes by MIDI files.

    xgInsertionLock: boolean

    If the synthesizer should prevent editing of ALL the XG insertion (EFFECT 2) blocks. These effects are modified using MIDI system exclusive messages, so the recommended use case would be setting the insertion parameters then locking them to prevent changes by MIDI files.

    xgReverbLock: boolean

    If the synthesizer should prevent editing of the XG reverb block. This effect is modified using MIDI system exclusive messages, so the recommended use case would be setting the reverb parameters then locking it to prevent changes by MIDI files.

    xgVariationGain: number

    The XG variation gain when in system mode. XGVariationConnection From 0 to any number. 1 is 100% variation.

    xgVariationLock: boolean

    If the synthesizer should prevent editing of the XG variation block. This effect is modified using MIDI system exclusive messages, so the recommended use case would be setting the variation parameters then locking it to prevent changes by MIDI files.