Navigation
API > API/Runtime > API/Runtime/SignalProcessing > API/Runtime/SignalProcessing/DSP
References
| Module | SignalProcessing |
| Header | /Engine/Source/Runtime/SignalProcessing/Public/DSP/DynamicsProcessor.h |
| Include | #include "DSP/DynamicsProcessor.h" |
Syntax
class FDynamicsProcessor
Remarks
Dynamic range compressor https://en.wikipedia.org/wiki/Dynamic_range_compression
Variables
| Type | Name | Description | |
|---|---|---|---|
| float | AttackTimeMsec | The period of which the compressor decreases gain to the level determined by the compression ratio. | |
| bool | bIsAnalogMode | Whether or not we're in analog mode. | |
| bool | bKeyAuditionEnabled | Whether or not to bypass processor and only output key modulator. | |
| bool | bKeyHighshelfEnabled | Whether or not key high-pass filter is enabled. | |
| bool | bKeyLowshelfEnabled | Whether or not key low-pass filter is enabled. | |
| TArray< float > | DetectorOuts | Channel values of cached detector sample. | |
| EPeakMode::Type | EnvelopeFollowerPeakMode | Peak mode of envelope followers. | |
| TArray< FInlineEnvelopeFollower > | EnvFollower | Envelope followers. | |
| TArray< float > | Gain | Channel values of cached gain sample. | |
| float | HalfKneeBandwidthDb | Defines how hard or soft the gain reduction blends from no gain reduction to gain reduction (determined by the ratio) | |
| float | InputGain | Amount of input gain. | |
| FBiquadFilter | InputHighshelfFilter | (Optional) High-pass filter for input signal | |
| FBiquadFilter | InputLowshelfFilter | (Optional) Low-pass filter for input signal | |
| float | KeyGain | Gain of key detector signal in dB. | |
| TArray< FVector2D > | KneePoints | Points in the knee used for lagrangian interpolation. | |
| EDynamicsProcessorChannelLinkMode | LinkMode | Whether or not input channels are linked, and if so, how to calculate gain. | |
| TArray< FDelay > | LookaheadDelay | Lookahead delay lines. | |
| float | LookaheedDelayMsec | How far ahead to look in the audio. | |
| float | OutputGain | Amount of output gain. | |
| EDynamicsProcessingMode::Type | ProcessingMode | ||
| float | Ratio | Amount of gain reduction. | |
| float | ReleaseTimeMsec | The period of which the compressor increases gain to 0 dB once level has fallen below the threshold. | |
| float | SampleRate | Sample rate of both key and input (must match) | |
| float | ThresholdDb | Amplitude threshold above which gain will be reduced. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| float | ComputeGain
(
const float InEnvFollowerDb |
||
| int32 | |||
| float | |||
| int32 | |||
| void | Init
(
const float InSampleRate, |
||
| bool | IsInProcessingThreshold
(
const float InEnvFollowerDb |
||
| void | ProcessAudio
(
const float* InBuffer, |
||
| void | ProcessAudio
(
const float* InBuffer, |
||
| void | ProcessAudioFrame
(
const float* InFrame, |
||
| void | ProcessAudioFrame
(
const float* InFrame, |
||
| bool | ProcessKeyFrame
(
const float* InKeyFrame, |
Process key frame, returning true if should continue processing (Returns false in audition mode and writes straight to output). | |
| void | SetAnalogMode
(
const bool bInIsAnalogMode |
||
| void | SetAttackTime
(
const float InAttackTimeMsec |
||
| void | SetChannelLinkMode
(
const EDynamicsProcessorChannelLinkMode InLinkMode |
||
| void | SetInputGain
(
const float InInputGainDb |
||
| void | SetKeyAudition
(
const bool InAuditionEnabled |
||
| void | SetKeyGain
(
const float InKeyGain |
||
| void | SetKeyHighshelfCutoffFrequency
(
const float InCutoffFreq |
||
| void | SetKeyHighshelfEnabled
(
const bool bInEnabled |
||
| void | SetKeyHighshelfGain
(
const float InGainDb |
||
| void | SetKeyLowshelfCutoffFrequency
(
const float InCutoffFreq |
||
| void | SetKeyLowshelfEnabled
(
const bool bInEnabled |
||
| void | SetKeyLowshelfGain
(
const float InGainDb |
||
| void | SetKeyNumChannels
(
const int32 InNumChannels |
||
| void | SetKneeBandwidth
(
const float InKneeBandwidthDb |
||
| void | SetLookaheadMsec
(
const float InLookAheadMsec |
||
| void | SetNumChannels
(
const int32 InNumChannels |
||
| void | SetOutputGain
(
const float InOutputGainDb |
||
| void | SetPeakMode
(
const EPeakMode::Type InEnvelopeFollowerModeType |
||
| void | SetProcessingMode
(
const EDynamicsProcessingMode::Type ProcessingMode |
||
| void | SetRatio
(
const float InCompressionRatio |
||
| void | SetReleaseTime
(
const float InReleaseTimeMsec |
||
| void | SetThreshold
(
const float InThresholdDb |
Constants
| Name | Description |
|---|---|
| MaxLookaheadMsec | |
| UpwardsCompressionMaxGain |