UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Audio::FDynamicStateVariableFilter Class Reference

#include <DynamicStateVariableFilter.h>

Classes

struct  FSVFCoefficients
 
struct  FSVFState
 

Public Member Functions

SIGNALPROCESSING_API void Init (const float InSampleRate, const int32 InNumChannels)
 
SIGNALPROCESSING_API void Reset ()
 
SIGNALPROCESSING_API void ProcessAudio (const float *InSamples, float *OutSamples, const int32 InNumSamples)
 
SIGNALPROCESSING_API void ProcessAudio (const float *InSamples, float *OutSamples, const float *KeySamples, const int32 InNumSamples)
 
SIGNALPROCESSING_API void SetFrequency (const float InFrequency)
 
SIGNALPROCESSING_API void SetQ (const float InQ)
 
SIGNALPROCESSING_API void SetGain (const float InGain)
 
SIGNALPROCESSING_API void SetFilterType (const EDynamicFilterType InFilterType)
 
SIGNALPROCESSING_API void SetAnalog (const bool bInAnalog)
 
SIGNALPROCESSING_API void SetAttackTime (const float InAttackTime)
 
SIGNALPROCESSING_API void SetReleaseTime (const float InReleaseTime)
 
SIGNALPROCESSING_API void SetThreshold (const float InThresholdDb)
 
SIGNALPROCESSING_API void SetEnvMode (const EPeakMode::Type InMode)
 
SIGNALPROCESSING_API void SetDynamicRange (const float InDynamicRange)
 
SIGNALPROCESSING_API void SetRatio (const float InRatio)
 
SIGNALPROCESSING_API void SetKnee (const float InKnee)
 
SIGNALPROCESSING_API float GetGainReduction ()
 

Protected Member Functions

SIGNALPROCESSING_API void ProcessBell (const float *InSamples, float *OutSamples, const float *KeySamples, const int32 InNumSamples)
 
SIGNALPROCESSING_API void ProcessLowShelf (const float *InSamples, float *OutSamples, const float *KeySamples, const int32 InNumSamples)
 
SIGNALPROCESSING_API void ProcessHighShelf (const float *InSamples, float *OutSamples, const float *KeySamples, const int32 InNumSamples)
 
SIGNALPROCESSING_API void UpdateSettings ()
 
SIGNALPROCESSING_API void UpdatePreFilterVariables ()
 
SIGNALPROCESSING_API void UpdatePostFilterVariables ()
 
SIGNALPROCESSING_API float CalcGain (const float KeySample)
 

Protected Attributes

float SampleRate = 48000.f
 
float OneOverSampleRate = 1.f / 48000.f
 
int32 NumChannels = 0
 
EDynamicFilterType FilterType = EDynamicFilterType::Bell
 
float Frequency = 1000.f
 
float Q = 1.f
 
float OneOverQ = 1.f
 
float ThresholdDb = -12.f
 
float DynamicRangeDb = 0.f
 
float Ratio = 1.5f
 
float GainDb = 1.f
 
float Knee = 12.f
 
float HalfKnee = 6.f
 
float ScaledGainLinear = 1.f
 
float SlopeFactor = 0.f
 
bool bNeedsUpdate = true
 
FInlineEnvelopeFollower Envelope
 
FSVFState KeyFilterState
 
TArray< FSVFStateFilterState
 
FSVFCoefficients KeyVars
 
FSVFCoefficients OutputVars
 
TArray< FVector2DKneePoints
 

Member Function Documentation

◆ CalcGain()

float Audio::FDynamicStateVariableFilter::CalcGain ( const float  KeySample)
protected

◆ GetGainReduction()

float Audio::FDynamicStateVariableFilter::GetGainReduction ( )

◆ Init()

void Audio::FDynamicStateVariableFilter::Init ( const float  InSampleRate,
const int32  InNumChannels 
)

◆ ProcessAudio() [1/2]

void Audio::FDynamicStateVariableFilter::ProcessAudio ( const float InSamples,
float OutSamples,
const float KeySamples,
const int32  InNumSamples 
)

◆ ProcessAudio() [2/2]

void Audio::FDynamicStateVariableFilter::ProcessAudio ( const float InSamples,
float OutSamples,
const int32  InNumSamples 
)

◆ ProcessBell()

void Audio::FDynamicStateVariableFilter::ProcessBell ( const float InSamples,
float OutSamples,
const float KeySamples,
const int32  InNumSamples 
)
protected

◆ ProcessHighShelf()

void Audio::FDynamicStateVariableFilter::ProcessHighShelf ( const float InSamples,
float OutSamples,
const float KeySamples,
const int32  InNumSamples 
)
protected

◆ ProcessLowShelf()

void Audio::FDynamicStateVariableFilter::ProcessLowShelf ( const float InSamples,
float OutSamples,
const float KeySamples,
const int32  InNumSamples 
)
protected

◆ Reset()

void Audio::FDynamicStateVariableFilter::Reset ( )

◆ SetAnalog()

void Audio::FDynamicStateVariableFilter::SetAnalog ( const bool  bInAnalog)

◆ SetAttackTime()

void Audio::FDynamicStateVariableFilter::SetAttackTime ( const float  InAttackTime)

◆ SetDynamicRange()

void Audio::FDynamicStateVariableFilter::SetDynamicRange ( const float  InDynamicRange)

◆ SetEnvMode()

void Audio::FDynamicStateVariableFilter::SetEnvMode ( const EPeakMode::Type  InMode)

◆ SetFilterType()

void Audio::FDynamicStateVariableFilter::SetFilterType ( const EDynamicFilterType  InFilterType)

◆ SetFrequency()

void Audio::FDynamicStateVariableFilter::SetFrequency ( const float  InFrequency)

◆ SetGain()

void Audio::FDynamicStateVariableFilter::SetGain ( const float  InGain)

◆ SetKnee()

void Audio::FDynamicStateVariableFilter::SetKnee ( const float  InKnee)

◆ SetQ()

void Audio::FDynamicStateVariableFilter::SetQ ( const float  InQ)

◆ SetRatio()

void Audio::FDynamicStateVariableFilter::SetRatio ( const float  InRatio)

◆ SetReleaseTime()

void Audio::FDynamicStateVariableFilter::SetReleaseTime ( const float  InReleaseTime)

◆ SetThreshold()

void Audio::FDynamicStateVariableFilter::SetThreshold ( const float  InThresholdDb)

◆ UpdatePostFilterVariables()

void Audio::FDynamicStateVariableFilter::UpdatePostFilterVariables ( )
protected

◆ UpdatePreFilterVariables()

void Audio::FDynamicStateVariableFilter::UpdatePreFilterVariables ( )
protected

◆ UpdateSettings()

void Audio::FDynamicStateVariableFilter::UpdateSettings ( )
protected

Member Data Documentation

◆ bNeedsUpdate

bool Audio::FDynamicStateVariableFilter::bNeedsUpdate = true
protected

◆ DynamicRangeDb

float Audio::FDynamicStateVariableFilter::DynamicRangeDb = 0.f
protected

◆ Envelope

FInlineEnvelopeFollower Audio::FDynamicStateVariableFilter::Envelope
protected

◆ FilterState

TArray<FSVFState> Audio::FDynamicStateVariableFilter::FilterState
protected

◆ FilterType

EDynamicFilterType Audio::FDynamicStateVariableFilter::FilterType = EDynamicFilterType::Bell
protected

◆ Frequency

float Audio::FDynamicStateVariableFilter::Frequency = 1000.f
protected

◆ GainDb

float Audio::FDynamicStateVariableFilter::GainDb = 1.f
protected

◆ HalfKnee

float Audio::FDynamicStateVariableFilter::HalfKnee = 6.f
protected

◆ KeyFilterState

FSVFState Audio::FDynamicStateVariableFilter::KeyFilterState
protected

◆ KeyVars

FSVFCoefficients Audio::FDynamicStateVariableFilter::KeyVars
protected

◆ Knee

float Audio::FDynamicStateVariableFilter::Knee = 12.f
protected

◆ KneePoints

TArray<FVector2D> Audio::FDynamicStateVariableFilter::KneePoints
protected

◆ NumChannels

int32 Audio::FDynamicStateVariableFilter::NumChannels = 0
protected

◆ OneOverQ

float Audio::FDynamicStateVariableFilter::OneOverQ = 1.f
protected

◆ OneOverSampleRate

float Audio::FDynamicStateVariableFilter::OneOverSampleRate = 1.f / 48000.f
protected

◆ OutputVars

FSVFCoefficients Audio::FDynamicStateVariableFilter::OutputVars
protected

◆ Q

float Audio::FDynamicStateVariableFilter::Q = 1.f
protected

◆ Ratio

float Audio::FDynamicStateVariableFilter::Ratio = 1.5f
protected

◆ SampleRate

float Audio::FDynamicStateVariableFilter::SampleRate = 48000.f
protected

◆ ScaledGainLinear

float Audio::FDynamicStateVariableFilter::ScaledGainLinear = 1.f
protected

◆ SlopeFactor

float Audio::FDynamicStateVariableFilter::SlopeFactor = 0.f
protected

◆ ThresholdDb

float Audio::FDynamicStateVariableFilter::ThresholdDb = -12.f
protected

The documentation for this class was generated from the following files: