Class SSChorus

Namespace
SpessaSharp.Synthesizer.Engine.Effects
Assembly
SpessaSharp.dll
public sealed class SSChorus : Effect.ChorusProcessor
Inheritance
SSChorus
Inherited Members

Constructors

SSChorus(int, int)

public SSChorus(int sampleRate, int maxBufferSize)

Parameters

sampleRate int
maxBufferSize int

Properties

Delay

0-127
This parameter sets the delay time of the chorus effect.

public override int Delay { get; set; }

Property Value

int

Depth

0-127
This parameter sets the depth at which the chorus sound is modulated. Higher values result in deeper modulation.

public override int Depth { get; set; }

Property Value

int

Feedback

0-127
This parameter sets the level at which the chorus sound is re-input (fed back) into the chorus. By using feedback, a denser chorus sound can be created. Higher values result in a greater feedback level.

public override int Feedback { get; set; }

Property Value

int

Level

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

public override int Level { get; set; }

Property Value

int

PreLowPass

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.

public override int PreLowPass { get; set; }

Property Value

int

Rate

0-127
This parameter sets the speed (frequency) at which the chorus sound is modulated. Higher values result in faster modulation.

public override int Rate { get; set; }

Property Value

int

SendLevelToDelay

0-127
This parameter sets the amount of chorus sound that will be sent to the delay. Higher values result in more sound being sent.

public override int SendLevelToDelay { get; set; }

Property Value

int

SendLevelToReverb

0-127
This parameter sets the amount of chorus sound that will be sent to the reverb. Higher values result in more sound being sent.

public override int SendLevelToReverb { get; set; }

Property Value

int

Methods

GetSnapshot()

Gets a synthesizer from this effect processor instance.

public override Effect.ChorusProcessorSnapshot GetSnapshot()

Returns

Effect.ChorusProcessorSnapshot

Process(ReadOnlySpan<float>, Span<float>, Span<float>, Span<float>, Span<float>, int, int)

Process the effect and ADDS it to the output.

public override void Process(ReadOnlySpan<float> input, Span<float> outputLeft, Span<float> outputRight, Span<float> outputReverb, Span<float> outputDelay, int startIndex, int sampleCount)

Parameters

input ReadOnlySpan<float>

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

outputLeft Span<float>

The left output buffer.

outputRight Span<float>

The right output buffer.

outputReverb Span<float>

The mono input for reverb. It always starts at index 0.

outputDelay Span<float>

The mono input for delay. It always starts at index 0.

startIndex int

The index to start mixing at into the output buffers.

sampleCount int

The amount of samples to mix.