spessasynth_core documentation
    Preparing search index...

    Interface GSReverbProcessor

    Reverb is an effect that adds reverberation to a sound, as you would hear in a concert hall.

    This is a Roland GS-compatible reverb interface.

    It is used when GlobalMIDIParameter.system is gm gm2 or gs.

    SpessaSynthProcessor allows you to supply a custom reverb processor. A custom reverb processor must implement this interface.

    Editing the parameters can be done via GS/GM2 system exclusive messages.

    interface GSReverbProcessor {
        character: number;
        delayFeedback: number;
        level: number;
        preDelayTime: number;
        preLowpass: number;
        time: number;
        applySnapshot(snapshot: GSReverbParameter): void;
        getSnapshot(): GSReverbParameter;
        process(
            input: Float32Array,
            outputLeft: Float32Array,
            outputRight: Float32Array,
            startIndex: number,
            sampleCount: number,
        ): void;
    }

    Hierarchy (View Summary)

    Implemented by

    Index
    character: number

    0-7

    This parameter selects the type of reverb. 0–5 are reverb effects, and 6 and 7 are delay effects.

    delayFeedback: number

    0-127

    This parameter is used when the Reverb Character is set to 6 or 7, or the Reverb Type is set to Delay or Panning Delay (Rev Character 6, 7). It sets the way in which delays repeat. Higher values result in more delay repeats.

    level: number

    0-127 This parameter sets the amount of the effect sent to the effect output.

    preDelayTime: number

    0 - 127 (ms)

    This parameter sets the delay time until the reverberant sound is heard. Higher values result in a longer pre-delay time, simulating a larger reverberant space.

    preLowpass: number

    0-7 A low-pass filter can be applied to the sound coming into the effect to cut the high frequency range. Higher values will cut more of the high frequencies, resulting in a more mellow effect sound.

    time: number

    0-127

    This parameter sets the time over which the reverberation will continue. Higher values result in longer reverberation.

    • Process the effect and adds it to the output.

      Parameters

      • input: Float32Array

        The input buffer to process. It always starts at index 0.

      • outputLeft: Float32Array

        The left output buffer.

      • outputRight: Float32Array

        The right output buffer.

      • startIndex: number

        The index to start mixing at into the output buffers.

      • sampleCount: number

        The amount of samples to mix. This will never be larger than SynthProcessorOptions.maxBufferSize of the parent SpessaSynthProcessor instance.

      Returns void