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

#include <DynamicsProcessor.h>

Public Member Functions

SIGNALPROCESSING_API FDynamicsProcessor ()
 
SIGNALPROCESSING_API ~FDynamicsProcessor ()
 
SIGNALPROCESSING_API void Init (const float InSampleRate, const int32 InNumChannels=2)
 
SIGNALPROCESSING_API int32 GetNumChannels () const
 
SIGNALPROCESSING_API int32 GetKeyNumChannels () const
 
SIGNALPROCESSING_API float GetMaxLookaheadMsec () const
 
SIGNALPROCESSING_API void SetLookaheadMsec (const float InLookAheadMsec)
 
SIGNALPROCESSING_API void SetAttackTime (const float InAttackTimeMsec)
 
SIGNALPROCESSING_API void SetReleaseTime (const float InReleaseTimeMsec)
 
SIGNALPROCESSING_API void SetThreshold (const float InThresholdDb)
 
SIGNALPROCESSING_API void SetRatio (const float InCompressionRatio)
 
SIGNALPROCESSING_API void SetKneeBandwidth (const float InKneeBandwidthDb)
 
SIGNALPROCESSING_API void SetInputGain (const float InInputGainDb)
 
SIGNALPROCESSING_API void SetKeyAudition (const bool InAuditionEnabled)
 
SIGNALPROCESSING_API void SetKeyGain (const float InKeyGain)
 
SIGNALPROCESSING_API void SetKeyHighshelfCutoffFrequency (const float InCutoffFreq)
 
SIGNALPROCESSING_API void SetKeyHighshelfEnabled (const bool bInEnabled)
 
SIGNALPROCESSING_API void SetKeyHighshelfGain (const float InGainDb)
 
SIGNALPROCESSING_API void SetKeyLowshelfCutoffFrequency (const float InCutoffFreq)
 
SIGNALPROCESSING_API void SetKeyLowshelfEnabled (const bool bInEnabled)
 
SIGNALPROCESSING_API void SetKeyLowshelfGain (const float InGainDb)
 
SIGNALPROCESSING_API void SetKeyNumChannels (const int32 InNumChannels)
 
SIGNALPROCESSING_API void SetNumChannels (const int32 InNumChannels)
 
SIGNALPROCESSING_API void SetOutputGain (const float InOutputGainDb)
 
SIGNALPROCESSING_API void SetChannelLinkMode (const EDynamicsProcessorChannelLinkMode InLinkMode)
 
SIGNALPROCESSING_API void SetAnalogMode (const bool bInIsAnalogMode)
 
SIGNALPROCESSING_API void SetPeakMode (const EPeakMode::Type InEnvelopeFollowerModeType)
 
SIGNALPROCESSING_API void SetProcessingMode (const EDynamicsProcessingMode::Type ProcessingMode)
 
SIGNALPROCESSING_API void ProcessAudioFrame (const float *InFrame, float *OutFrame, const float *InKeyFrame)
 
SIGNALPROCESSING_API void ProcessAudioFrame (const float *InFrame, float *OutFrame, const float *InKeyFrame, float *OutGain)
 
SIGNALPROCESSING_API void ProcessAudio (const float *InBuffer, const int32 InNumSamples, float *OutBuffer, const float *InKeyBuffer=nullptr, float *OutEnvelope=nullptr)
 
SIGNALPROCESSING_API void ProcessAudio (const float *const *const InBuffers, const int32 InNumFrames, float *const *OutBuffers, const float *const *const InKeyBuffers, float *const *OutEnvelopes)
 

Protected Member Functions

SIGNALPROCESSING_API float ComputeGain (const float InEnvFollowerDb)
 
SIGNALPROCESSING_API void ComputeGains (float *InEnvFollowerDbOutGain, const int32 InNumSamples)
 
SIGNALPROCESSING_API bool ProcessKeyFrame (const float *InKeyFrame, float *OutFrame, bool bKeyIsInput)
 
SIGNALPROCESSING_API bool IsInProcessingThreshold (const float InEnvFollowerDb) const
 

Protected Attributes

FBiquadFilter InputLowshelfFilter
 
FBiquadFilter InputHighshelfFilter
 
EDynamicsProcessingMode::Type ProcessingMode
 
float SlopeFactor
 
EPeakMode::Type EnvelopeFollowerPeakMode
 
TArray< FIntegerDelayLookaheadDelay
 
TArray< FInlineEnvelopeFollowerEnvFollower
 
TArray< floatDetectorOuts
 
TArray< floatGain
 
float LookaheadDelayMsec
 
float AttackTimeMsec
 
float ReleaseTimeMsec
 
float ThresholdDb
 
float Ratio
 
float HalfKneeBandwidthDb
 
float InputGain
 
float OutputGain
 
float KeyGain
 
float SampleRate
 
EDynamicsProcessorChannelLinkMode LinkMode
 
bool bIsAnalogMode
 
bool bKeyAuditionEnabled
 
bool bKeyHighshelfEnabled
 
bool bKeyLowshelfEnabled
 

Static Protected Attributes

static constexpr float UpwardsCompressionMaxGain = 36.0f
 
static constexpr float MaxLookaheadMsec = 100.0f
 

Constructor & Destructor Documentation

◆ FDynamicsProcessor()

Audio::FDynamicsProcessor::FDynamicsProcessor ( )

◆ ~FDynamicsProcessor()

Audio::FDynamicsProcessor::~FDynamicsProcessor ( )

Member Function Documentation

◆ ComputeGain()

float Audio::FDynamicsProcessor::ComputeGain ( const float  InEnvFollowerDb)
protected

◆ ComputeGains()

void Audio::FDynamicsProcessor::ComputeGains ( float InEnvFollowerDbOutGain,
const int32  InNumSamples 
)
protected

◆ GetKeyNumChannels()

int32 Audio::FDynamicsProcessor::GetKeyNumChannels ( ) const

◆ GetMaxLookaheadMsec()

float Audio::FDynamicsProcessor::GetMaxLookaheadMsec ( ) const

◆ GetNumChannels()

int32 Audio::FDynamicsProcessor::GetNumChannels ( ) const

◆ Init()

void Audio::FDynamicsProcessor::Init ( const float  InSampleRate,
const int32  InNumChannels = 2 
)

◆ IsInProcessingThreshold()

bool Audio::FDynamicsProcessor::IsInProcessingThreshold ( const float  InEnvFollowerDb) const
protected

◆ ProcessAudio() [1/2]

void Audio::FDynamicsProcessor::ProcessAudio ( const float *const *const  InBuffers,
const int32  InNumFrames,
float *const *  OutBuffers,
const float *const *const  InKeyBuffers,
float *const *  OutEnvelopes 
)

◆ ProcessAudio() [2/2]

void Audio::FDynamicsProcessor::ProcessAudio ( const float InBuffer,
const int32  InNumSamples,
float OutBuffer,
const float InKeyBuffer = nullptr,
float OutEnvelope = nullptr 
)

◆ ProcessAudioFrame() [1/2]

void Audio::FDynamicsProcessor::ProcessAudioFrame ( const float InFrame,
float OutFrame,
const float InKeyFrame 
)

◆ ProcessAudioFrame() [2/2]

void Audio::FDynamicsProcessor::ProcessAudioFrame ( const float InFrame,
float OutFrame,
const float InKeyFrame,
float OutGain 
)

◆ ProcessKeyFrame()

bool Audio::FDynamicsProcessor::ProcessKeyFrame ( const float InKeyFrame,
float OutFrame,
bool  bKeyIsInput 
)
protected

◆ SetAnalogMode()

void Audio::FDynamicsProcessor::SetAnalogMode ( const bool  bInIsAnalogMode)

◆ SetAttackTime()

void Audio::FDynamicsProcessor::SetAttackTime ( const float  InAttackTimeMsec)

◆ SetChannelLinkMode()

void Audio::FDynamicsProcessor::SetChannelLinkMode ( const EDynamicsProcessorChannelLinkMode  InLinkMode)

◆ SetInputGain()

void Audio::FDynamicsProcessor::SetInputGain ( const float  InInputGainDb)

◆ SetKeyAudition()

void Audio::FDynamicsProcessor::SetKeyAudition ( const bool  InAuditionEnabled)

◆ SetKeyGain()

void Audio::FDynamicsProcessor::SetKeyGain ( const float  InKeyGain)

◆ SetKeyHighshelfCutoffFrequency()

void Audio::FDynamicsProcessor::SetKeyHighshelfCutoffFrequency ( const float  InCutoffFreq)

◆ SetKeyHighshelfEnabled()

void Audio::FDynamicsProcessor::SetKeyHighshelfEnabled ( const bool  bInEnabled)

◆ SetKeyHighshelfGain()

void Audio::FDynamicsProcessor::SetKeyHighshelfGain ( const float  InGainDb)

◆ SetKeyLowshelfCutoffFrequency()

void Audio::FDynamicsProcessor::SetKeyLowshelfCutoffFrequency ( const float  InCutoffFreq)

◆ SetKeyLowshelfEnabled()

void Audio::FDynamicsProcessor::SetKeyLowshelfEnabled ( const bool  bInEnabled)

◆ SetKeyLowshelfGain()

void Audio::FDynamicsProcessor::SetKeyLowshelfGain ( const float  InGainDb)

◆ SetKeyNumChannels()

void Audio::FDynamicsProcessor::SetKeyNumChannels ( const int32  InNumChannels)

◆ SetKneeBandwidth()

void Audio::FDynamicsProcessor::SetKneeBandwidth ( const float  InKneeBandwidthDb)

◆ SetLookaheadMsec()

void Audio::FDynamicsProcessor::SetLookaheadMsec ( const float  InLookAheadMsec)

◆ SetNumChannels()

void Audio::FDynamicsProcessor::SetNumChannels ( const int32  InNumChannels)

◆ SetOutputGain()

void Audio::FDynamicsProcessor::SetOutputGain ( const float  InOutputGainDb)

◆ SetPeakMode()

void Audio::FDynamicsProcessor::SetPeakMode ( const EPeakMode::Type  InEnvelopeFollowerModeType)

◆ SetProcessingMode()

void Audio::FDynamicsProcessor::SetProcessingMode ( const EDynamicsProcessingMode::Type  ProcessingMode)

◆ SetRatio()

void Audio::FDynamicsProcessor::SetRatio ( const float  InCompressionRatio)

◆ SetReleaseTime()

void Audio::FDynamicsProcessor::SetReleaseTime ( const float  InReleaseTimeMsec)

◆ SetThreshold()

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

Member Data Documentation

◆ AttackTimeMsec

float Audio::FDynamicsProcessor::AttackTimeMsec
protected

◆ bIsAnalogMode

bool Audio::FDynamicsProcessor::bIsAnalogMode
protected

◆ bKeyAuditionEnabled

bool Audio::FDynamicsProcessor::bKeyAuditionEnabled
protected

◆ bKeyHighshelfEnabled

bool Audio::FDynamicsProcessor::bKeyHighshelfEnabled
protected

◆ bKeyLowshelfEnabled

bool Audio::FDynamicsProcessor::bKeyLowshelfEnabled
protected

◆ DetectorOuts

TArray<float> Audio::FDynamicsProcessor::DetectorOuts
protected

◆ EnvelopeFollowerPeakMode

EPeakMode::Type Audio::FDynamicsProcessor::EnvelopeFollowerPeakMode
protected

◆ EnvFollower

TArray<FInlineEnvelopeFollower> Audio::FDynamicsProcessor::EnvFollower
protected

◆ Gain

TArray<float> Audio::FDynamicsProcessor::Gain
protected

◆ HalfKneeBandwidthDb

float Audio::FDynamicsProcessor::HalfKneeBandwidthDb
protected

◆ InputGain

float Audio::FDynamicsProcessor::InputGain
protected

◆ InputHighshelfFilter

FBiquadFilter Audio::FDynamicsProcessor::InputHighshelfFilter
protected

◆ InputLowshelfFilter

FBiquadFilter Audio::FDynamicsProcessor::InputLowshelfFilter
protected

◆ KeyGain

float Audio::FDynamicsProcessor::KeyGain
protected

◆ LinkMode

EDynamicsProcessorChannelLinkMode Audio::FDynamicsProcessor::LinkMode
protected

◆ LookaheadDelay

TArray<FIntegerDelay> Audio::FDynamicsProcessor::LookaheadDelay
protected

◆ LookaheadDelayMsec

float Audio::FDynamicsProcessor::LookaheadDelayMsec
protected

◆ MaxLookaheadMsec

constexpr float Audio::FDynamicsProcessor::MaxLookaheadMsec = 100.0f
staticconstexprprotected

◆ OutputGain

float Audio::FDynamicsProcessor::OutputGain
protected

◆ ProcessingMode

EDynamicsProcessingMode::Type Audio::FDynamicsProcessor::ProcessingMode
protected

◆ Ratio

float Audio::FDynamicsProcessor::Ratio
protected

◆ ReleaseTimeMsec

float Audio::FDynamicsProcessor::ReleaseTimeMsec
protected

◆ SampleRate

float Audio::FDynamicsProcessor::SampleRate
protected

◆ SlopeFactor

float Audio::FDynamicsProcessor::SlopeFactor
protected

◆ ThresholdDb

float Audio::FDynamicsProcessor::ThresholdDb
protected

◆ UpwardsCompressionMaxGain

constexpr float Audio::FDynamicsProcessor::UpwardsCompressionMaxGain = 36.0f
staticconstexprprotected

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