Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

filterType = 0, Simple pass through with unity gain.

filterType = 1, Linear gain Gain in dB [.gain].

filterType = 2, 1st order Butterworth low pass filter [.freq]

...

Code Block
typedef struct _ModuleSOFSmoothedCascadeFract32
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    INT32 numStages;                              // Number of cascaded stages of the second order filter.
    FLOAT32 smoothingTime;                        // Time constant of the smoothing process
    INT32 updateActive;                           // Specifies whether the filter coefficients are updating (=1) or fixed (=0)
    fract32 smoothingCoeff;                       // Smoothing coefficient. This is computed based on the smoothingTime, sample rate, and block size of the module
    INT32 postShift;                              // Number of bits to shift
    FLOAT32 twoPowMinusPostShift;                 // 2^(-postShift). Used by to streamline the operation of the set function
    INT32* filterType;                            // Selects the type of filter that is implemented by the module: Bypass=0, Gain=1, Butter1stLPF=2, Butter2ndLPF=3, Butter1stHPF=4, Butter2ndHPF=5, Allpass1st=6, Allpass2nd=7, Shelf2ndLow=8, Shelf2ndLowQ=9, Shelf2ndHigh=10, Shelf2ndHighQ=11, PeakEQ=12, Notch=13, Bandpass=14, Bessel1stLPF=15, Bessel1stHPF=16, AsymShelf1stLow=17, AsymShelf1stHigh=18, SymShelf1stLow=19, SymShelf1stHigh=20, VariableQLPF=21, VariableQHPF=22.
    FLOAT32* freq;                                // Cutoff frequency of the filter
    FLOAT32* gain;                                // Amount of boost or cut to apply, in decibels (if applicable)
    FLOAT32* Q;                                   // Specifies the Q of the filter, if applicable
    FLOAT32* coeffs;                              // coefficients
    fract32* target_coeffsFract32;                // Matrix of filter coefficients. The size of the matrix is 5 x numStages. Each column contains the variables for a biquad arranged as [b0; b1; b2; a1; a2].
    fract32* current_coeffsFract32;               // Matrix of filter coefficients. The size of the matrix is 5 x numStages. Each column contains the variables for a biquad arranged as [b0; b1; b2; a1; a2].
    fract32* state;                               // State variables. 4 per channel per stage
} ModuleSOFSmoothedCascadeFract32Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

numStages

int

const

0

2

1:1:32

smoothingTime

float

parameter

0

10

0:1:1000

msec

updateActive

int

parameter

1

1

0:1

smoothingCoeff

fract32

derived

1

0.06449

Unrestricted

postShift

int

derived

1

1

Unrestricted

twoPowMinusPostShift

float

derived

1

0.5

Unrestricted

filterType

int*

parameter

0

[1 x 2]

0:22

freq

float*

parameter

0

[1 x 2]

10:0.1:23990

Hz

gain

float*

parameter

0

[1 x 2]

-24:0.1:24

dB

Q

float*

parameter

0

[1 x 2]

0:0.1:20

coeffs

float*

parameter

0

[5 x 2]

Unrestricted

target_coeffsFract32

fract32*

derived

0

[5 x 2]

Unrestricted

current_coeffsFract32

fract32*

state

0

[5 x 2]

Unrestricted

state

fract32*

state

1

[4 x 2]

Unrestricted

Pins

Input Pins

Name: in

Description: audio input

...