description: Clamps settings to acceptable values.

code: static void ClampSettings ( [FEarlyReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FEarlyReflectionsFastSettings) & InOutSettings )


description: Silence internal audio.

module: SignalProcessing

code: void FlushAudio()


className: MaxBandwidth

code: static const float MaxBandwidth = 0.99999f;


className: MaxAbsorption

code: static const float MaxAbsorption = 0.99999f;


className: MaxDecay

code: static const float MaxDecay = 1.0f;


className: MaxGain

description: Limits for settings.

code: static const float MaxGain = 0.9999f;


className: MaxPreDelay

code: static const float MaxPreDelay = 1000.0f;


className: MinAbsorption

code: static const float MinAbsorption = 0.0f;


className: MinBandwidth

code: static const float MinBandwidth = 0.0f;


className: MinGain

code: static const float MinGain = 0.0f;


className: MinDecay

code: static const float MinDecay = 0.0001f;


className: MinPreDelay

code: static const float MinPreDelay = 0.0f;


description: Process the single audio frame.

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, const int32 InNumChannels, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutLeftSamples, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutRightSamples )


description: Sets the reverb settings, clamps, applies, and updates.

code: void SetSettings ( const [FEarlyReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FEarlyReflectionsFastSettings) & InSettings )


description: InMaxNumInternalBufferSamples sets the maximum possible samples in an internal buffer.

code: FEarlyReflectionsFast ( float InSampleRate, int32 InMaxNumInternalBufferSamples, const [FEarlyReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FEarlyReflectionsFastSettings) & InSettings )


code: ~FEarlyReflectionsFast()


className: FEarlyReflectionsFast

description: Basic implementation of early reflections using a predelay, low pass filter and feedback delay network (FDN). The FDN utilizes four delay lines where each delay line consists of an all pass filter and low pass filter to control diffusion and absorption.

code: class FEarlyReflectionsFast


code: bool operator== ( const [FEarlyReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FEarlyReflectionsFastSettings) & Other ) const


code: FEarlyReflectionsFastSettings()


code: bool operator!= ( const [FEarlyReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FEarlyReflectionsFastSettings) & Other ) const


className: FEarlyReflectionsFastSettings

code: struct FEarlyReflectionsFastSettings

Absorption

type: float

description: Early reflection high frequency absorption factor.

Bandwidth

description: Input sample bandwidth before entering early reflections.

Decay

description: Early reflections decay (lower value is longer)

Gain

description: Early reflections gain.

PreDelayMsec

description: Delay between input signal and early reflections.


code: FEarlyReflectionsSettings()


className: FEarlyReflectionsSettings

code: struct FEarlyReflectionsSettings

Gain

description: Early reflections gain.


className: FEnvelope

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< float > FEnvelope


description: Returns the envelope follower attack time (how fast the envelope responds to input)

code: float GetAttackTimeMsec() const


description: Retrieve the final values of the envelope for each channel.

code: const [TArray](API\Runtime\Core\Containers\TArray)< float > & GetEnvelopeValues() const


description: Returns whether or not to use analog or digital time constants

code: bool GetAnalog() const


description: Returns the input mode of the envelope follower


description: Returns the envelope follower release time (how slow the envelope dampens from input)

code: float GetReleaseTimeMsec() const


description: Returns the number of channels per an input frame

code: int32 GetNumChannels() const


description: Returns the number of frames per a second set on initialization

code: float GetSampleRate() const


description: Initialize the envelope follower.

code: void Init ( const [FEnvelopeFollowerInitParams](API\Runtime\SignalProcessing\DSP\FEnvelopeFollowerInitParams) & InParams )


description: Calculate envelope

code: void ProcessAudio ( const float * InBuffer, int32 InNumFrames )


description: Calculate envelope per sample.

code: void ProcessAudio ( const float * InBuffer, int32 InNumFrames, float * OutBuffer )


description: Resets the state of the envelope follower

code: void Reset()


description: Sets whether or not to use analog or digital time constants

code: void SetAnalog ( bool bInIsAnalog )


description: Sets the envelope follower attack time (how fast the envelope responds to input)

code: void SetAttackTime ( float InAttackTimeMsec )


description: Sets the input mode of the envelope follower

code: void SetMode ( [EPeakMode::Type](API\Runtime\SignalProcessing\DSP\Audio__EPeakMode__Type) InMode )


description: Set the number of channels per an input frame.

code: void SetNumChannels ( int32 InNumChannels )


description: Sets the envelope follower release time (how slow the envelope dampens from input)

code: void SetReleaseTime ( float InReleaseTimeMsec )


description: Construct an envelope follower.

code: FEnvelopeFollower()


description: Construct an envelope follower.

code: FEnvelopeFollower ( const [FEnvelopeFollowerInitParams](API\Runtime\SignalProcessing\DSP\FEnvelopeFollowerInitParams) & InParams )


className: FEnvelopeFollowerInitParams

code: struct FEnvelopeFollowerInitParams

AnalysisWindowMsec

description: Number of milliseconds per a (root) mean squared window.

AttackTimeMsec

description: The desired attack time in milliseconds.

bIsAnalog

type: bool

description: Whether to model analog RC circuits or use digital models.

Mode

description: Technique for measuring amplitude of input signal.

NumChannels

description: Number of channels per a frame.

ReleaseTimeMsec

description: The desired release time in milliseconds.

SampleRate

description: Number of frames per a second.


className: FEnvelopeFollower

description: A simple utility that returns a smoothed value given audio input using an RC circuit. Used for following the envelope of an audio stream.

code: class FEnvelopeFollower


className: EEnvelopeState

description: States for the envelope state machine.

code: enum EEnvelopeState { Off, Attack, Decay, Sustain, Release, Shutdown, }


description: Generate the next output value of the envelope. Optionally outputs the bias output (i.e. -1.0 to 1.0)

code: virtual float Generate ( float * BiasedOutput )


code: const [FPatchSource](API\Runtime\SignalProcessing\DSP\FPatchSource) GetModSourceBiasEnv() const


description: Get the envelope's patch nodes.

code: const [FPatchSource](API\Runtime\SignalProcessing\DSP\FPatchSource) GetModSourceEnv() const


className: FEnvData

code: struct FEnvData


code: virtual [EEnvelopeState](API\Runtime\SignalProcessing\DSP\FEnvelope_1\EEnvelopeState) GetState() const


description: Initialize the envelope with the given sample rate.

code: void Init ( const float InSampleRate, const int32 InVoiceId, [FModulationMatrix](API\Runtime\SignalProcessing\DSP\FModulationMatrix) * InModMatrix, const bool bInSimulateAnalog )


description: Queries if the envelope has finished.

code: virtual bool IsDone() const


code: bool IsRetrigger() const


description: Kills the envelope (will cause discontinuity)

code: virtual void Kill()


description: Sets the envelope attack time in msec.

code: virtual void SetAttackTime ( const float InAttackTimeMsec )


description: Inverts the value of the biased envelope output.

code: virtual void SetBiasInvert ( const bool bInBiasInvert )


description: Resets the envelope.

code: virtual void Reset()


description: Sets the depth of the bias output.

code: virtual void SetBiasDepth ( const float InDepth )


description: Sets the envelope decay time in msec.

code: virtual void SetDecayTime ( const float InDecayTimeMsec )


description: Sets the envelope depth.

code: virtual void SetDepth ( const float InDepth )


description: Sets the envelope release time in msec.

code: virtual void SetReleaseTime ( const float InReleaseTimeMsec )


description: Sets whether or not the envelope is zero'd when reset.

code: void SetRetrigger ( const bool bInRetrigger )


description: Inverts the value of envelope output.

code: virtual void SetInvert ( const bool bInInvert )


description: Sets whether the envelope is in legato mode. Legato mode doesn't restart the envelope if it's already playing.

code: void SetLegato ( const bool bInLegatoMode )


description: Sets the envelope sustain gain in linear gain values.

code: virtual void SetSustainGain ( const float InSustainGain )


description: Sets the envelope mode.

code: void SetSimulateAnalog ( const bool bInSimulatingAnalog )


description: Puts envelope into shutdown mode, which is a much faster cutoff than release, but avoids pops.

code: virtual void Shutdown()


code: virtual void StartLegato()


description: Stop the envelope, puts in the release state. Can optionally force to off state.

code: virtual void Stop()


description: For truly legato envelope logic, we need to know the new sustain gain (if its being changed).

code: virtual void StartLegato ( const float InNewDepth )


description: Update the state of the envelope.

code: virtual void Update()


description: Initialize the equalizer.

code: void Init ( const float InSampleRate, const int32 InNumBands, const int32 InNumChannels )


description: Start the envelope, puts envelope in attack state.

code: virtual void Start()


description: Processes the audio frame (audio frame must have channels equal to that used during initialization)

code: void ProcessAudioFrame ( const float * InAudio, float * OutAudio )


description: Sets the band resonance (use alternatively to bandwidth)

code: void SetBandBandwidth ( const int32 InBand, const float InBandwidth )


description: Sets the band frequency.

code: void SetBandFrequency ( const int32 InBand, const float InFrequency )


description: Sets whether or not the band is enabled.

code: void SetBandEnabled ( const int32 InBand, const bool bEnabled )


description: Envelope class generates ADSR style envelope.

code: class FEnvelope

AttackData

type: FEnvData

bBiasInvert

type: uint8: 1

description: Bias output inversions.

bChanged

description: Whether or not this envelope has changed and needs to have values recomputed.

bCurrentCycleIsADOnly

description: Tracks if the current envelope was started with sustain at 0.0 (avoids bug where sustain being turned up during decay phase makes note hang)

BiasedEnvSource

type: FPatchSource

bInvert

description: Inverts the output.

bIsLegatoMode

description: Whether or not the envelope is reset back to attack when started.

bIsRetriggerMode

description: Whether or not the envelope value is set to zero when finished.

bIsSimulatingAnalog

description: Whether or not we want to simulate analog behavior.

CurrentState

type: EEnvelopeState

ModMatrix

type: FModulationMatr...

description: Mod matrix.

VoiceId

description: The current envelope value, used to compute exponential envelope curves.


description: Sets the band gain in decibels.

code: void SetBandGainDB ( const int32 InBand, const float InGainDB )


description: Constructor.

code: FEqualizer()


description: Sets all params of the band at once.

code: void SetBandParams ( const int32 InBand, const float InFrequency, const float InBandwidth, const float InGainDB )


description: Destructor.

code: ~FEqualizer()


className: FEqualizer

description: Equalizer filter An equalizer is a cascaded (serial) band of parametric EQs This filter allows for setting each band with variable Bandwidth/Q, Frequency, and Gain

code: class FEqualizer


code: FEventQuantizationSettings()


className: FEventQuantizationSettings

code: struct FEventQuantizationSettings

BeatDivision

description: The beat division (must be power of 2)

BeatsPerBar

description: The beats per bar.

BeatsPerMinute

description: The beats per minute.

GlobalQuantization

type: EEventQuantizat...

description: What the "global" quantization setting is.

NumChannels

description: Number of channels in the output audio buffer.

SampleRate

description: The sample rate (in frames per second) of the output audio buffer.


description: Enqueues a quantized event.

code: void EnqueueEvent ( [EEventQuantization](API\Runtime\SignalProcessing\DSP\Audio__EEventQuantization) InQuantization, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(uint32 NumFramesOffset)> Lambda )


code: uint32 GetDurationInFrames ( int32 NumBars, float NumBeats ) const


code: uint16 GetBeatDivision() const


code: const [FEventQuantizationSettings](API\Runtime\SignalProcessing\DSP\FEventQuantizationSettings) & GetQuantizationSettings() const


description: Called to perform notifications for any events which happen in the next given number of frames. This function should be called in an audio buffer render callback.

code: void NotifyEvents ( int32 NumFrames )


code: float GetPlaybacktimeSeconds() const


description: Register event listener for specific events.

code: void RegisterListenerForEvent ( [IQuantizedEventListener](API\Runtime\SignalProcessing\DSP\IQuantizedEventListener) * InListener, [EEventQuantization](API\Runtime\SignalProcessing\DSP\Audio__EEventQuantization) InQuantization )


description: Set the beat division.

code: void SetBeatDivision ( const uint16 InBeatDivision )


description: Allows continuous control over BPM for the event quantizer.

code: void SetBPM ( const float InBPM )


description: Sets the quantization settings for the event quantizer.

code: void SetQuantizationSettings ( const [FEventQuantizationSettings](API\Runtime\SignalProcessing\DSP\FEventQuantizationSettings) & QuantizationSettings )


description: Unregisters the event listener for all quantization events.

code: void UnregisterListenerForEvent ( [IQuantizedEventListener](API\Runtime\SignalProcessing\DSP\IQuantizedEventListener) * InListener )


description: Unregister the event listener for specific quantization event.

code: void UnregisterListenerForEvent ( [IQuantizedEventListener](API\Runtime\SignalProcessing\DSP\IQuantizedEventListener) * InListener, [EEventQuantization](API\Runtime\SignalProcessing\DSP\Audio__EEventQuantization) InQuantization )


description: This is a method for getting the factor to use for a given tau and sample rate. Tau here is defined as the time it takes the interpolator to be within 1/e of it's destination.

code: static float GetFactorForTau ( float InTau, float InSampleRate )


description: Same as GetValue(), but overloaded to jump forward by NumTicksToJumpAhead timesteps (before getting the value)

code: float GetNextValue ( uint32 NumTicksToJumpAhead )


className: FEventQuantizer

description: Class which handles the details of event quantization.

code: class FEventQuantizer


code: void Init ( float InInitValue, float InEaseFactor )


code: void operator= ( const float & InValue )


code: void SetValue ( const float InValue, const bool bIsInit )


code: float PeekCurrentValue() const


code: void SetEaseFactor ( const float InEaseFactor )


code: FExponentialEase ( float InInitValue, float InEaseFactor, float InThreshold )


className: FExponentialEase

description: Simple exponential easing class. Useful for cheaply and smoothly interpolating parameters.

code: class FExponentialEase


className: FFDAPFilterComputer

description: Deprecated* FAFDAPFFilterComputer will no longer be supported.

code: class FFDAPFilterComputer : public [Audio::FFDAPFilterComputer_DEPRECATED](API\Runtime\SignalProcessing\DSP\FFDAPFilterComputer_DEPRECATED)


code: void GenerateWeights ( const float * IncomingSignal, int32 NumIncomingSamples, const float * OutgoingSignal, int32 NumOutgoingSamples, [FrequencyBuffer](API\Runtime\SignalProcessing\DSP\FrequencyBuffer) & OutWeights )


description: This class takes an incoming signal and an outgoing signal, Correlates them, and returns the frequency values of the weight targets to pass to an adaptive filter.

code: class FFDAPFilterComputer_DEPRECATED


className: FFDNCoefficients

description: Filter coefficients of 4 channel feedback delay network.

code: struct FFDNCoefficients

APFG

description: All pass filter coefficients. One coefficient for each filter.

Feedback

description: Feedback multiplier of mixing matrix output to network input.

InputScale

description: Sample multiplier of input samples before they enter the delay line.

LPFA

description: Low pass filter feed back coefficients. One coefficient for each filter.

LPFB

description: Low pass filter feed forward coefficients. One coefficient for each filter.


description: Default delay line settings for left channel.

code: static [FFDNDelaySettings](API\Runtime\SignalProcessing\DSP\FFDNDelaySettings) DefaultLeftDelays ( float InSampleRate )


description: Default delay line settings for right channel.

code: static [FFDNDelaySettings](API\Runtime\SignalProcessing\DSP\FFDNDelaySettings) DefaultRightDelays ( float InSampleRate )


className: FFDNDelaySettings

description: Delay settings of 4 channel feedback delay network.

code: struct FFDNDelaySettings

description: Number of samples for delay line 0.

description: Number of samples for delay line 1.

description: Number of samples for delay line 2.

description: Number of samples for delay line 3.


description: Sets internal audio samples to silence.

code: void FlushAudio()


description: Returns the actual number of samples in an internal buffer.


description: Generates artificial reverberation for InSamples and places results in OutSamples.

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples )


description: Sets the coefficient values of the all pass filters, low pass filters, input scalers and feedback scalers.

code: void SetCoefficients ( const [FFDNCoefficients](API\Runtime\SignalProcessing\DSP\FFDNCoefficients) & InCoefficients )


description: InMaxNumInternalBufferSamples controls the internal buffer size used for vector operations. InSettings controls the delay line lengths.

code: FFeedbackDelayNetwork ( int32 InMaxNumInternalBufferSamples, const [FFDNDelaySettings](API\Runtime\SignalProcessing\DSP\FFDNDelaySettings) & InSettings )


className: FFeedbackDelayNetwork

description: 4 channel feedback delay network (FDN) for artificial reverberation.

code: class FFeedbackDelayNetwork


code: ~FFeedbackDelayNetwork()


description: Applies the convolver's internal window to InputAudio.UntilSetWindow is called, ProcessAudio will not affect InputAudio. InputAudio must be a power of two.

code: void ProcessAudio ( float * InputAudio, int32 NumSamples )


description: Resets the filter window. NOT thread safe to call during ProcessAudio. This function can be called with a time domain impulse response, or precomputed frequency values. FilterSize must be a power of two.

code: void SetFilter ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & TimeDomainBuffer )


code: void SetFilter ( const [FrequencyBuffer](API\Runtime\SignalProcessing\DSP\FrequencyBuffer) & InFilterFrequencies, int32 FilterSize )


code: void SetFilter ( const float * TimeDomainBuffer, int32 FilterSize )


code: void SetFilter ( const float * InFilterReal, const float * InFilterImag, int32 FilterSize, int32 FFTSize )


description: Deprecated in 5.1.

code: class FFFTConvolver_DEPRECATED


className: AnyAlgorithmFactory

description: This denotes that no specificIFFTAlgorithmFactoryis desired.

code: static const [FName](API\Runtime\Core\UObject\FName) AnyAlgorithmFactory = FName(TEXT("AnyAlgorithmFactory"));


description:
Returns true if a valid FFT algorithm can be created which satifies the given settings.
True if settings are supported. Otherwise false.

code: static bool AreFFTSettingsSupported ( const [FFFTSettings](API\Runtime\SignalProcessing\DSP\FFFTSettings) & InSettings, const [FName](API\Runtime\Core\UObject\FName) & InAlgorithmFactoryName )


description:
Creates and returns a new FFTAlgorithm.
A TUniquePtrto the created FFT. This pointer can be invalid if an error occured or the fft algorithm could not be created.

code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IFFTAlgorithm](API\Runtime\SignalProcessing\DSP\IFFTAlgorithm) > NewFFTAlgorithm ( const [FFFTSettings](API\Runtime\SignalProcessing\DSP\FFFTSettings) & InSettings, const [FName](API\Runtime\Core\UObject\FName) & InAlgorithmFactoryName )


className: FFFTFactory

description: FFFTFactorycreates fft algorithms. It will choose hardware accelerated versions of the FFT when they are available.

code: class FFFTFactory


code: void Init ( const float InSampleRate )


className: FFFTSettings

description: Settings for creating anIFFTAlgorithm.

code: struct FFFTSettings

description: If true, the algorithm expects input & ouput arrays to be 128bit aligned.

bEnableHardwareAcceleration

description: If true, hardware accelerated algorithms are valid.

description: Log2Size of FFT algorithm.


className: MaxCenterDelay

code: static const float MaxCenterDelay = 20.0f;


className: MaxDelaySec

code: static const float MaxDelaySec = 5.0f;


className: MaxModulationRate

code: static const float MaxModulationRate = 20.0f;


code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InBuffer, const int32 InNumSamples, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutBuffer )


code: void SetCenterDelay ( const float InCenterDelay )


code: void SetMixLevel ( const float InMixLevel )


code: void SetModulationDepth ( const float InModulationDepth )


code: void SetModulationRate ( const float InModulationRate )


className: FFlanger

description: 0.5 is more delayed signal than non-delayed signal) |

code: class FFlanger

DelayBuffer

type: FDelay

description: Internal delay buffer.

DelaySample

description: Delay sample generated from LFO per block.

LFO

description: Internal LFO for delay amount.

MixLevel

description: Balance between original and delayed signal (Should be between 0 and 1.0; 0.5 is equal amounts of each and


description: Processes a stereo stream.

code: void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer )


description: Initialize the equalizer.

code: void Init ( const float InSampleRate, const int32 InNumChannels )


description: Processes a mono stream.

code: void ProcessAudioFrame ( const float * InFrame, float * OutFrame )


description: Processes a single audio sample.

code: float ProcessAudioSample ( const float InSample )


description: Sets the input gain.

code: void SetInputGainDb ( const float InInputGainDb )


description: Sets the output gain.

code: void SetOutputGainDb ( const float InOutputGainDb )


description: Sets the foldback distortion threshold.

code: void SetThresholdDb ( const float InThresholdDb )


description: Constructor.

code: FFoldbackDistortion()


description: Destructor.

code: ~FFoldbackDistortion()


className: FFoldbackDistortion

description: Foldback distortion effecthttps://en.wikipedia.org/wiki/Foldback_(power_supply_design)

code: class FFoldbackDistortion


code: FFTFreqDomainData ( float * Real, float * Imag )


className: FFTFreqDomainData

description: Deprecated* UseIFFTAlgorithmandTArrayfor time freq domain data

code: struct FFTFreqDomainData : public [Audio::FFTFreqDomainData_DEPRECATED](API\Runtime\SignalProcessing\DSP\FFTFreqDomainData_DEPRECATED)


code: struct FFTFreqDomainData_DEPRECATED

OutImag

type: float *

OutReal

description: Arrays in which real and imaginary values will be populated.


className: FFTTimeDomainData

description: Better optimized and hardward FFT implementations can be accessed through theFFFTFactoryclass in FFTAlgorithm.h. That class will attempt to return the best FFT algorithm implementation available for the givenFFFTSettings.

code: struct FFTTimeDomainData : public [Audio::FFTTimeDomainData_DEPRECATED](API\Runtime\SignalProcessing\DSP\FFTTimeDomainData_DEPRECATED)


code: FFTTimeDomainData ( float * InBuffer, int32 InNumSamples )


description: Generates the next frame from the grain.

code: bool GenerateFrame ( float * OutStereoFrame )


code: struct FFTTimeDomainData_DEPRECATED


code: float GetEnvelopeValue()


description: Queries if this grain is finished playing and needs to be reaped.

code: bool IsDone() const


description: Sets the oscillator frequency.

code: void SetOscFrequency ( const float InFrequency )


description: Plays the grain with the supplied grain data.

code: void Play ( const [FGrainData](API\Runtime\SignalProcessing\DSP\FGrainData) & InGrainData )


description: Sets the oscillator frequency modulation.

code: void SetOscFrequencyModuation ( const float InFrequencyModulation )


description: Changes how quickly the grain reads through envelope.

code: void SetDurationScale ( const float InDurationScale )


description: Changes the oscillator type for the grain (if the grain is in synth mode)

code: void SetOscType ( const [EOsc::Type](API\Runtime\SignalProcessing\DSP\Audio__EOsc__Type) InType )


description: Sets the pan modulation angle.

code: void SetPanModulation ( const float InPanModulation )


description: Sets the grain pitch modulation.

code: void SetPitchModulation ( const float InPitchModulation )


description: Sets the grain modulation.

code: void SetVolumeModulation ( const float InVolumeModulation )


code: FGrain ( const int32 InGrainId, [FGranularSynth](API\Runtime\SignalProcessing\DSP\FGranularSynth) * InParent )


className: FGrainData

code: struct FGrainData

BufferSeekTime

description: Where in the buffer to seek the grain playback to.

DurationSeconds

description: Duration of the grain.

Frequency

description: The grain frequency (if in synthesis mode)

OscType

description: What oscillator type to use.

Pan

description: Grain pan.

PitchScale

description: Grain pitch scale (if in buffer reading mode)

Volume

description: Grain volume.


description: Helpers to clamp audio.

code: float GetGrainDelayClamped ( const float InDelay ) const


code: float GetGrainDelayRatioClamped ( const float InGrainDelayRatio ) const


code: float GetGrainDurationClamped ( const float InDuration ) const


code: float GetGrainPitchShiftClamped ( const float InPitchShift ) const


className: FGrain

description: Class representing a grain of audio.

code: class FGrain

CurrentFrameCount

description: The current frame count the grain is on.

CurrentFrequency

description: Current frequency.

CurrentPan

description: The current pan.

CurrentPitch

description: The current pitch.

CurrentVolumeScale

description: The current volume scale.

DurationScale

description: How quickly we read through the envelope.

EndFrameCount

description: The end frame count the grain will finish on.

FrameScratch

type: TArray< float >

description: Scratch buffer for sample reading.

GrainData

type: FGrainData

description: Grain data struct.

GrainId

description: Grain id.

Osc

type: FOsc

description: Oscillator to use for synthesis mode.

Parent

type: FGranularSynth...

description: Parent synth.

SampleBufferReader

type: FSampleBufferRe...

description: The sample buffer reader to use for the grain of the mode is granulation.

SpeakerMap

description: Speaker map based on the current grain azimuth.


code: float GetGrainPitchShiftFrameRatio ( const float InPitchShift ) const


description: Sets the feedback amount (how much output grain audio feeds into the delay line)

code: void SetFeedbackAmount ( float InFeedbackAmount )


description: Sets the base pitch shift ratio of all grains.

code: void SetGrainBasePitchShiftRatio ( const float InPitchRatioBase )


description: Sets the grain envelope.

code: void SetGrainEnvelope ( const [Audio::Grain::EEnvelope](API\Runtime\SignalProcessing\DSP\Audio__Grain__EEnvelope) InGrainEnvelope )


description: Spawns a new grain with the given parameters.

code: void SpawnGrain ( const float InDelay, const float InDuration, const float InPitchShiftRatioOffset )


description: Dynamically sets the max grains.

code: void SetMaxGrains ( const int32 InMaxGrains )


description: Synthesize audio in the given frame range from input audio. Writes to OutAudioBuffer.

code: void SynthesizeAudio ( const int32 StartFrame, const int32 EndFrame, const float * InAudioBuffer, float * OutAudioBuffer )


code: FGrainDelay ( const float InSampleRate )


className: FGrainDelay

code: class FGrainDelay


code: float GetValue ( const float Fraction ) const


code: void GenerateEnvelope ( const [EGrainEnvelopeType](API\Runtime\SignalProcessing\DSP\Audio__EGrainEnvelopeType) EnvelopeType, const int32 NumFrames )


className: FGrainEnvelope

description: Simple class that generates an envelope and lets you retrieve interpolated values at any given fraction.

code: class FGrainEnvelope


code: float GetModulation&40;&41; const


code: float GetValue&40;&41; const


className: FGrainParam

description: Current grain azimuth modulation.

code: struct FGrainParam


description: Generate the next audio buffer.

code: void Generate ( float * OutAudiobuffer, const int32 NumFrames )


description: Get current playback time (in granular mode)

code: float GetCurrentPlayheadTime() const


description: Return the number of currently active grains.

code: int32 GetNumActiveGrains() const


description: Returns the duration of the internal loaded sample buffer.

code: float GetSampleDuration() const


description: Return wrapped playhead position.

code: float GetWrappedPlayheadPosition ( float PlayheadFrame )


code: void Init ( const int32 InSampleRate, const int32 InNumInitialGrains )


description: Loads a sound wave to use for granular synth mode.

code: void LoadSampleBuffer ( const [TSampleBuffer](API\Runtime\SignalProcessing\TSampleBuffer)< int16 > & InSampleBuffer )


description: Plays a granular synthesis "Note".

code: void NoteOn ( const uint32 InMidiNote, const float InVelocity, const float InDurationSec )


description: Note off, triggers release envelope.

code: void NoteOff ( const uint32 InMidiNote, const bool bKill )


description: Seeks the loaded buffer used for granulation. Grains will spawn from this location.

code: void SeekTime ( const float InTimeSec, const float LerpTimeSec, const [ESeekType::Type](API\Runtime\SignalProcessing\DSP\Audio__ESeekType__Type) InSeekType )


description: Sets the granular synth attack time.

code: void SetAttackTime ( const float InAttackTimeMSec )


description: Sets the granular synth decay time.

code: void SetDecayTime ( const float InDecayTimeMSec )


description: Sets the grain duration.

code: void SetGrainDuration ( const float InBaseDuration, const FVector2D InDurationRange )


description: Sets the grain duration modulation.

code: void SetGrainDurationScale ( const float InDurationScale )


description: Sets the envelope type to use for new grains. Will instantly switch all grains to this envelope type so may cause discontinuities if switched while playing.

code: void SetGrainEnvelopeType ( const [EGrainEnvelopeType](API\Runtime\SignalProcessing\DSP\Audio__EGrainEnvelopeType) InGrainEnvelopeType )


description: Sets the grain frequency.

code: void SetGrainFrequency ( const float InFrequency, const FVector2D InPitchRange )


description: Sets the grain frequency modulation.

code: void SetGrainFrequencyModulation ( const float InFrequencyModulation )


description: Sets the grain oscillator type (for use with granular synthesis mode)

code: void SetGrainOscType ( const [EOsc::Type](API\Runtime\SignalProcessing\DSP\Audio__EOsc__Type) InGrainOscType )


description: Sets the grain azimuth (pan) and randomization range.

code: void SetGrainPan ( const float InBasePan, const FVector2D InPanRange )


description: Sets the grain azimuth modulation - allows modulating actively playing grain azimuths.

code: void SetGrainPanModulation ( const float InPanModulation )


description: Sets the base grain pitch and randomization range.

code: void SetGrainPitch ( const float InBasePitch, const FVector2D InPitchRange )


description: Sets the grain pitch modulation  allows modulating actively playing grain pitches.

code: void SetGrainPitchModulation ( const float InPitchModulation )


description: The probability at which a grain will occur when a grain tries to spawn. Allows for sporatic grain generation.

code: void SetGrainProbability ( const float InGrainProbability )


description: The rate at which new grains are attempted to be spawned.

code: void SetGrainsPerSecond ( const float InNumberOfGrainsPerSecond )


description: Sets the base grain volume and randomization range.

code: void SetGrainVolume ( const float InBaseVolume, const FVector2D InVolumeRange )


description: Sets the grain modulation  allows modulating actively playing grain volumes.

code: void SetGrainVolumeModulation ( const float InVolumeModulation )


description: Sets how fast the granular play head for granulation is is played (and in what direction)

code: void SetPlaybackSpeed ( const float InPlaybackSpeed )


description: Sets the granular synth releas etime.

code: void SetReleaseTime ( const float InReleaseTimeMSec )


description: Sets whether or not the buffer playback advances on its own or if it just sits in one place.

code: void SetScrubMode ( const bool bIsScrubMode )


description: Sets the granular synth sustain gain.

code: void SetSustainGain ( const float InSustainGain )


description: Spawns grains.

code: void SpawnGrain()


className: FGranularSynth

description: A stereo granulator.

code: class FGranularSynth

ActiveGrains

type: TArray< int32 >

Amp

type: FAmp

CurrentPlayHeadFrame

description: The current playhead frame.

CurrentSpawnFrameCount

description: The current number of frames since last attempt to spawn.

Duration

type: FGrainParam

DynamicsProcessor

type: FDynamicsProces...

GainEnv

type: FEnvelope

description: Overall envelope of the granulator.

GrainEnvelope

type: FGrainEnvelope

description: The single envelope function used by all grains.

GrainEnvelopeType

type: EGrainEnvelopeT...

description: Current grain envelope type.

GrainOscType

description: The oscillator type to use if in synthesis mode.

GrainPool

type: TArray<FGrain...

description: A pool of free grains. Will dynamically grow to needed grains based on grain density.

GrainProbability

description: The probability of a grain occurring when it tries to spawn (based off the GrainsPerSecond)

GrainsPerSecond

description: The rate at which grains are spawned.

Mode

type: EGranularSynthM...

description: What mode the granular synthesizer is in.

NextSpawnFrame

description: The next frame when a grain needs to spawn.

NoteDurationFrameCount

description: Counts for overall note duration of the granulator.

SampleBuffer

type: TSampleBuffer< ...

description: The buffer which holds the sample to be granulated.

SeekingPlayheadTimeFrame

type: FLinearEase


description: Return the most recent envelope value.

code: float GetValue() const


description: Initialize an envelope follower.

code: void Init ( const [FInlineEnvelopeFollowerInitParams](API\Runtime\SignalProcessing\DSP\FInlineEnvelopeFollowerInitParam-) & InParams )


description: Process a single sample and return the envelope value.

code: float ProcessSample ( float InSample )


description: Sets the input analysis mode of the envelope follower

code: void SetMode ( [EPeakMode::Type](API\Runtime\SignalProcessing\DSP\Audio__EPeakMode__Type) InMode )


description: Set the analysis window size (for MeanSquared and RootMeanSquared).

code: void SetAnalysisWindow ( float InAnalysisWindowMsec )


code: FInlineEnvelopeFollower()


description: Construct an envelope follower.

code: FInlineEnvelopeFollower ( const [FInlineEnvelopeFollowerInitParams](API\Runtime\SignalProcessing\DSP\FInlineEnvelopeFollowerInitParam-) & InParams )


className: FInlineEnvelopeFollower

description: FInlineEnvlepeFollower is useful for low samplerate use cases and where samples are only available one at a time. This class is inlined becaused there are situations where it is needed in a CPU intensive situations.

code: class FInlineEnvelopeFollower : public [Audio::FAttackRelease](API\Runtime\SignalProcessing\DSP\FAttackRelease)


className: FInlineEnvelopeFollowerInitParams

AnalysisWindowMsec

type: float

description: Number of milliseconds per a (root) mean squared window.

AttackTimeMsec

description: The desired attack time in milliseconds.

bIsAnalog

type: bool

description: Whether to model analog RC circuits or use digital models.

Mode

description: Technique for measuring amplitude of input signal.

ReleaseTimeMsec

description: The desired release time in milliseconds.

SampleRate

description: Number of frames per a second.


description: Returns the current delay length in samples.

code: int32 GetNumDelaySamples() const


description: Retrieve a copy of the internal delay line. InNum must be less than or equal to InMaxNumDelaySamples.

code: void PeekDelayLine ( int32 InNum, [Audio::FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples )


description: Process InSamples, placing delayed versions in OutSamples.

code: void ProcessAudio ( const [Audio::FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, [Audio::FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples )


description: Resets the delay line state, flushes buffer and resets read/write pointers.

code: void Reset()


description: Sets the current delay in samples. InDelay must be less than or equal to the InMaxDelaySamples set in the constructor.

code: void SetDelayLengthSamples ( int32 InNumDelaySamples )


description: InMaxDelaySamples is the maximum supported delay. InDelaySamples is the initial delay in samples.

code: FIntegerDelay ( int32 InMaxNumDelaySamples, int32 InNumDelaySamples, int32 InNumInternalBufferSamples )


className: FIntegerDelay

description: An adjustable delay line. Delays values are limited to integer values.

code: class FIntegerDelay


description: Destructor.

code: ~FIntegerDelay()


description: Clears memory without reevaluating coefficients. This function is useful when there is a break between ProcessAudio calls.

code: void ClearMemory()


code: float GetCutoffFrequency() const


code: void Init ( float InSampleRate, int32 InNumChannels )


description: Interpolates coefficient and processes a buffer

code: void ProcessAudioBuffer ( const float *__restrict InputBuffer, float *__restrict OutputBuffer, const int32 NumSamples )


description: Interpolates coefficient and processes a sample

code: void ProcessAudioFrame ( const float *__restrict InputFrame, float *__restrict OutputFrame )


description: Resets the sample delay to 0.


description: Failing to callStopFrequencyInterpolation()after more than InterpLength calls to ProcessAudioFrame will cause the filter to become unstable and blow up to +/- inf!

code: void StartFrequencyInterpolation ( const float InTargetFrequency, const int32 InterpLength )


description: StopFrequencyInterpolation()needs to be called manually when the interpolation should be done. Snaps the coefficient to the target value. Setting the lerp delta to 0.0f avoids introducing a branch inProcessAudioFrame()

code: void StopFrequencyInterpolation()


description: Ctor

code: FInterpolatedHPF()


className: FInterpolatedHPF

code: class FInterpolatedHPF


code: void ProcessBufferInPlace ( float * InOutBuffer, int32 NumSamples )


description: Ctor

code: FInterpolatedLPF()


className: FInterpolatedLPF

code: class FInterpolatedLPF


description: Initialize the filter.

code: virtual void Init ( const float InSampleRate, const int32 InNumChannels, const int32 InVoiceId, [FModulationMatrix](API\Runtime\SignalProcessing\DSP\FModulationMatrix) * InModMatrix )


description: Process an audio buffer.

code: virtual void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer )


description: Reset the filter.

code: virtual void Reset()


description: Sets the band pass gain compensation (not used on all filters)

code: virtual void SetPassBandGainCompensation ( const float InPassBandGainCompensation )


description: Sets the quality/resonance of the filter.

code: virtual void SetQ ( const float InQ )


description: Updates the filter.

code: virtual void Update()


code: virtual ~FLadderFilter()


className: FLadderFilter

code: class FLadderFilter : public [Audio::IFilter](API\Runtime\SignalProcessing\DSP\IFilter)

OnePoleFilters

type: FOnePoleFilter[...

description: Ladder filter is made of 4 LPF filters.


className: MaxBandwidth

code: static const float MaxBandwidth = 0.99999f;


description: Flush internal audio to silence.

code: void FlushAudio()


className: MaxDampening

code: static const float MaxDampening = 0.99999f;


className: MaxDecay

code: static const float MaxDecay = 1.0f;


className: MaxDensity

code: static const float MaxDensity = 1.0f;


className: MaxDiffusion

code: static const float MaxDiffusion = 0.99999f;


description: Alters settings to ensure they are within acceptable ranges.

code: static void ClampSettings ( [FLateReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FLateReflectionsFastSettings) & InOutSettings )


className: MaxLateDelayMsec

description: Limits on settings.

code: static const float MaxLateDelayMsec = 2000.0f;


className: MinBandwidth

code: static const float MinBandwidth = 0.0f;


className: MaxLateGainDB

code: static const float MaxLateGainDB = 0.0f;


className: MinDampening

code: static const float MinDampening = 0.0f;


className: MinDiffusion

code: static const float MinDiffusion = 0.0f;


className: MinDensity

code: static const float MinDensity = 0.0f;


className: MinDecay

code: static const float MinDecay = 0.0001f;


className: MinLateDelayMsec

code: static const float MinLateDelayMsec = 0.0f;


className: PresetSampleRate

description: Sample rate used for hard-coded delay line values.

code: static const int32 PresetSampleRate = 29761;


description: Create reverberation in OutSamples based upon InSamples. OutSamples is a 2 channel audio buffer no matter the value of InNumChannels. OutSamples is mixed with InSamples based upon gain.

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, const int32 InNumChannels, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutLeftSamples, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutRightSamples )


description: Copies the reverb settings internally, clamps the internal copy and applies the clamped settings.

code: void SetSettings ( const [FLateReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FLateReflectionsFastSettings) & InSettings )


description: InMaxNumInternalBufferSamples sets the maximum possible number of samples in an internal buffer. This only affectsinternal chunking and does not affect the number of samples that can be sent to ProcessAudio(...),

code: FLateReflectionsFast ( float InSampleRate, int InMaxNumInternalBufferSamples, const [FLateReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FLateReflectionsFastSettings) & InSettings )


className: FLateReflectionsFast

description: FLateReflections generates the long tail reverb of an input audio signal using a relatively fast algorithm using all pass filter delay lines. It supports 1 or 2 channel input and always produces 2 channel output.

code: class FLateReflectionsFast


code: bool operator== ( const [FLateReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FLateReflectionsFastSettings) & Other ) const


code: FLateReflectionsFastSettings()


code: bool operator!= ( const [FLateReflectionsFastSettings](API\Runtime\SignalProcessing\DSP\FLateReflectionsFastSettings) & Other ) const


className: FLateReflectionsFastSettings

description: Settings for controlling the FLateReflections.

code: struct FLateReflectionsFastSettings

Bandwidth

description: Frequency bandwidth of audio going into input diffusers. 0.999 is full bandwidth.

Dampening

description: The amount of high-frequency dampening in plate feedback paths.

Decay

description: The amount of decay in the feedback path. Lower value is larger reverb time.

Density

description: The amount of diffusion in decay path. Larger values is a more dense reverb.

Diffusion

description: Amount of input diffusion (larger value results in more diffusion)

LateDelayMsec

description: Milliseconds for the predelay.

LateGainDB

description: Initial attenuation of audio after it leaves the predelay.


description: Flush internal audio to silence.

code: void FlushAudio()


description: The number of samples in an internal buffer. This describes the limit of how many values are accessible via PeekDelayLineOutput(...)


description: Retrieve the internal delay line data. The number of samples retrieved is limited to the number of samples in the internal buffer. That amount can be determined by calling "GetNumInternalBufferSamples()".

code: void PeekDelayLine ( int32 InNum, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples )


description: Processing input samples. All input buffers must be of equal length. InSamples contains previously unseen audio samples. InFeedbackSamples contains the delay line output from the other plate. InDelayModulations contains the fractional delay values per a sample to modulate the first all pass filters delay line. OutPlateSamples is filled with audio from the various tap points and delay line output.

code: void ProcessAudioFrames ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InFeedbackSamples, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InDelayModulations, [FLateReflectionsPlateOutputs](API\Runtime\SignalProcessing\DSP\FLateReflectionsPlateOutputs) & OutPlateSamples )


code: void SetDampening ( float InDampening )


code: void SetDecay ( float InDecay )


code: void SetDensity ( float InDensity )


description: InMaxNumInternalBufferSamples sets the mmaximum number of samples in an internal buffer.

code: FLateReflectionsPlate ( float InSampleRate, int32 InMaxNumInternalBufferSamples, const [FLateReflectionsPlateDelays](API\Runtime\SignalProcessing\DSP\FLateReflectionsPlateDelays) & InDelays )


code: ~FLateReflectionsPlate()


className: FLateReflectionsPlate

description: Single plate channel for plate reverberation.

code: class FLateReflectionsPlate

APF

type: TUniquePtr<FLo...

DelayA

type: TUniquePtr<FIn...

LPF

type: TUniquePtr<FBu...

ModulatedAPF

type: TUniquePtr<FDy...

PlateDelays

type: FLateReflection...

description: Sample delay values.

SampleRate

description: Current parameter settings of reverb.


description: Default delay settings for left channel.

code: static [FLateReflectionsPlateDelays](API\Runtime\SignalProcessing\DSP\FLateReflectionsPlateDelays) DefaultLeftDelays ( float InSampleRate )


description: Default delay settings for right channel.

code: static [FLateReflectionsPlateDelays](API\Runtime\SignalProcessing\DSP\FLateReflectionsPlateDelays) DefaultRightDelays ( float InSampleRate )


className: FLateReflectionsPlateDelays

description: Delay line settings for reverb plate delay Tap locations are determined by analyzing these delay values.

code: struct FLateReflectionsPlateDelays

NumSamplesAPF

description: All pass filter length.

NumSamplesDelayA

description: Tap 0 exists at the output of DelayA.

NumSamplesDelayB

description: Tap 1 exists at the output of DelayB.

NumSamplesDelayC

description: Tap 2 exists at the output of DelayC.

NumSamplesDelayD

description: Delay line length.

NumSamplesDelayE

description: Tap 3 exists at the output of DelayE.

NumSamplesDelayF

description: Tap 4 exists at the output of DelayF.

NumSamplesDelayG

description: Tap 5 exists at the output of DelayG.

NumSamplesDelayH

description: Tap 6 exists at the output of DelayH.

NumSamplesDelayI

description: Output tap exists at the output of DelayI.

NumSamplesModulatedBase

description: Base delay samples for modulated delay.

NumSamplesModulatedDelta

description: Max delta samples for modulated delay.


description: Sample rate used for hard-coded delay line values.

code: static const int32 PresetSampleRate = 29761;


className: NumTaps

description: Number of tap locations in plate reverb.

code: static const int32 NumTaps = 7;


description: Resizes and zero all buffers in structure.

code: void ResizeAndZero ( int32 InNumSamples )


className: FLateReflectionsPlateOutputs

description: Structure to hold the various delay line tap outputs produced from a plate.

code: struct FLateReflectionsPlateOutputs

Output

type: FAlignedFloatBu...

description: Output sample buffer.

Taps

description: Tap sample buffers.


code: float ComputeLFO ( float InputPhase, float * OutQuad )


description: Generates the next sample of audio, optionally passes out the auxillary output (supported in some oscillators)

code: virtual float Generate ( float * AuxOutput )


description: Returns initial phase, which differs between generators ensuring certain LFO shapes start on rising edge from zero- crossing by default (assuming user's provided phase offset is 0).

code: float GetInitPhase() const


description: Returns current mode of LFO.


description: Returns mod source's quad phase patch source.


description: Returns mod source's normal phase patch source.


description: Returns current waveform type of LFO generator.


description: Initializes the oscillator.

code: virtual void Init ( const float InSampleRate, const int32 InVoiceId, [FModulationMatrix](API\Runtime\SignalProcessing\DSP\FModulationMatrix) * InMatrix, const int32 ModMatrixStage )


description: Resets the oscillator.

code: virtual void Reset()


description: Resets generator to initial phase.

code: virtual void ResetPhase()


description: Set whether or not LFO outputs in bipolar domain or unipolar (false) domain. Defaults to bipolar.

code: void SetBipolar ( const bool bInBipolar )


description: Sets the exponential factor of LFO if type is "exponential". Clamped to positive, non-zero values.

code: void SetExponentialFactor ( const float InExpFactor )


description: Sets mode of LFO (Looping or one-shot. Free not supported)

code: void SetMode ( const [ELFOMode::Type](API\Runtime\SignalProcessing\DSP\Audio__ELFOMode__Type) InLFOMode )


description: Sets a phase offset for the LFO. Clamped to positive values only.

code: void SetPhaseOffset ( const float InOffset )


description: Set the waveform type of LFO generator.

code: void SetType ( const [ELFO::Type](API\Runtime\SignalProcessing\DSP\Audio__ELFO__Type) InLFOType )


description: Starts the oscillator.

code: virtual void Start()


description: Stops the oscillator.

code: virtual void Stop()


className: FLFO

description: Low frequency oscillator.

code: class FLFO : public [Audio::IOscBase](API\Runtime\SignalProcessing\DSP\IOscBase)

ModNormalPhase

type: FPatchSource


description: Adds individual points.

code: void AddPoint ( const FVector2D & InPoint )


description: Adds individual points.

code: void AddPoints ( const [TArray](API\Runtime\Core\Containers\TArray)< FVector2D > & InPoints )


description: Clears the points array.

code: void ClearPoints()


description: Evaluates the curve with the given domain. Returns false if the curve was incapable of evaluation (i.e. empty). Will clamp the output to the values of the domain

code: bool Eval ( float InDomain, float & OutValue ) const


description: Retrieves curve array.

code: const [TArray](API\Runtime\Core\Containers\TArray)< FVector2D > & GetCurvePoints() const


description: Returns the number of points in the curve.

code: int32 Num() const


description: Sets curve array.

code: void SetCurvePoints ( const [TArray](API\Runtime\Core\Containers\TArray)< FVector2D > & InPoints )


description: Sets curve array.

code: void SetCurvePoints ( [TArray](API\Runtime\Core\Containers\TArray)< FVector2D > && InPoints )


code: FLinearCurve ( [TArray](API\Runtime\Core\Containers\TArray)< FVector2D > && InCurve )


className: FLinearCurve

description: A simple curve class that takes FVector2D points Required to decouple from Engine module

code: class FLinearCurve


description: Same as GetValue(), but overloaded to increment Current Tick by NumTicksToJumpAhead (before getting the value)

code: float GetNextValue ( int32 NumTicksToJumpAhead )


code: void Init ( float InSampleRate )


code: float PeekCurrentValue() const


description: Updates the target value without changing the duration or tick data. Sets the state as if the new value was the target value all along

code: void SetValueInterrupt ( const float InValue )


code: void SetValue ( const float InValue, float InTimeSec )


code: FLinearCurve ( const [TArray](API\Runtime\Core\Containers\TArray)< FVector2D > & InCurve )


code: void SetValueRange ( const float Start, const float End, const float InTimeSec )


className: FLinearEase

description: Simple easing function used to help interpolate params.

code: class FLinearEase


description: Apply delay to InSamples. Fill OutSamples with data from the delay line at a delay of InDelay. InDelay must be equal length to InSamples.

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InDelays, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples )


description: Set all values in internal delay line to zero.

code: void Reset()


description: InMaxDelay sets the maximum allowable delay that this object can support. The minimum delay is 0.0 InNumInternalBufferSamples sets the maximum block processing size.

code: FLinearInterpFractionalDelay ( int32 InMaxDelay, int32 InMaxNumInternalBufferSamples )


code: ~FLinearInterpFractionalDelay()


className: FLinearInterpFractionalDelay

description: Fractional delay using linear interpolation.

code: class FLinearInterpFractionalDelay


description: Sample rate converts the input audio buffer and pushes converted audio to the output circular buffer. (Returns the number of output frames generated.)

code: int32 ProcessAudio ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< float > InputBuffer, [Audio::TCircularAudioBuffer](API\Runtime\SignalProcessing\DSP\TCircularAudioBuffer)< float > & OutputBuffer )


code: void Reset ( int32 InNumChannels, float InInitialPitchShiftSemitones, int32 InInterpLengthFrames )


code: void UpdatePitchShift ( float InNewPitchSemitones )


className: FLinearPitchShifter

code: class FLinearPitchShifter


description: Ctor

code: FLinearPitchShifter ( int32 InNumChannels )


code: [FVariablePoleFilter](API\Runtime\SignalProcessing\DSP\FVariablePoleFilter) & operator[] ( int32 InIndex )


className: FLinkwitzRileyBandFilter

code: struct FLinkwitzRileyBandFilter

Filters

type: TArray<FVariab...


className: FCrossoverBandwidthPair

code: struct FCrossoverBandwidthPair


description: Initalize filters

code: void Init ( const int32 InChannels, const float InSampleRate, const [EFilterOrder](API\Runtime\SignalProcessing\DSP\Audio__EFilterOrder) FilterOrder, const bool bInPhaseCompensate, const [TArray](API\Runtime\Core\Containers\TArray)< float > & InCrossovers )


code: void ProcessAudioBuffer ( const float * InBuffer, [FMultibandBuffer](API\Runtime\SignalProcessing\DSP\FMultibandBuffer) & OutBuffer, const int32 NumFrames )


code: void ProcessAudioFrame ( const float * InBuffer, [FMultibandBuffer](API\Runtime\SignalProcessing\DSP\FMultibandBuffer) & OutBuffer )


code: FLinkwitzRileyBandSplitter()


code: void SetCrossovers ( const [TArray](API\Runtime\Core\Containers\TArray)< float > & InCrossoverFrequencies )


className: FLinkwitzRileyBandSplitter

description: Helper for Multi-Band processing to generate Linwitz-Riley filtered outputs from inputhttps://en.wikipedia.org/wiki/Linkwitz%E2%80%93Riley_filter

code: class FLinkwitzRileyBandSplitter


description: Process Samples in place.

code: void ProcessAudio ( [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & Samples )


description: Process InSamples and place filtered data in OutSamples.

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples )


description: Process InSamples and place filtered data in OutSamples and delay line samples in OutDelaySamples. The OutDelaySamples correspond to "w[n] = InSamples[n] + InG * w[n - InDelay]"

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutDelaySamples )


description: Sets delay line values to zero.

code: void Reset()


description: Set the APF feedback/feedforward gain coefficient.

code: void SetG ( float InG )


description: Destructor.

code: ~FLongDelayAPF()


description: InG is the filter coefficient used in the long delay all pass filter. InNumDelaySamples is the delay line length in samples. InMaxNumInternalBufferSamples is the maximum internal block size used internally.

code: FLongDelayAPF ( float InG, int32 InNumDelaySamples, int32 InMaxNumInternalBufferSamples )


className: FLongDelayAPF

description: All Pass Filter with a long delay. This filter is specifically designed for reverb applications where filter delay lines are long.

code: class FLongDelayAPF


className: DefaultHistoryCapacity

code: static constexpr int32 DefaultHistoryCapacity = 16384;


description: Calculate mean squared per sample.

code: void ProcessAudio ( const float * InBuffer, int32 InNumFrames, float * OutBuffer )


description: Set the number of input channels.

code: void SetNumChannels ( int32 InNumChannels )


description: Set the size of the analysis window.

code: void SetWindowSize ( float InWindowTimeMsec )


className: FMeanSquaredFIR

description: Compute mean squared using FIR method.

code: class FMeanSquaredFIR


description: InSampleRate - Number of frames per a second.

code: FMeanSquaredFIR ( float InSampleRate, int32 InNumChannels, float InWindowTimeMsec )


code: FMeanSquaredIIR ( float InSampleRate, int32 InNumChannels, float InWindowTimeMsec )


className: FMeanSquaredIIR

description: Compute mean squared using IIR method.

code: class FMeanSquaredIIR


code: FMelSpectrumKernelSettings()


className: FMelSpectrumKernelSettings

description: Settings for a mel kernel which transforms an linearly space spectrum (e.g. FFT Magnitude) to a mel spectrum

code: struct FMelSpectrumKernelSettings

Normalization

type: EMelNormalizati...


code: static float QuantizeMidiNote ( const float InNote, const float InRoot, [EMusicalScale::Scale](API\Runtime\SignalProcessing\DSP\Audio__EMusicalScale__Scale) InScale, bool bChordTonesOnlyIfApplicable )


code: static float QuantizeMidiNote ( const float InNote, const float InRoot, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< float > InScaleDegrees, const float InSemitoneScaleRange )


className: ScaleDegreeSetMap

description: Statically-defined scale/chord tone definitions.


className: FMidiNoteQuantizer

code: class FMidiNoteQuantizer


description: Adds a new patch connection between one source and one or more destinations.

code: bool AddPatch ( const int32 VoiceId, [FPatch](API\Runtime\SignalProcessing\DSP\FPatch) * Patch )


description: Clear all patch connections.

code: void ClearPatches ( const int32 VoiceId )


description: Creates a new patch source object and returns the patch source id.

code: [FPatchSource](API\Runtime\SignalProcessing\DSP\FPatchSource) CreatePatchSource ( const int32 VoiceId )


className: FDestData

code: struct FDestData

bDirty

description: Whether or not anybody changed it.

Value

description: What the value of the destination is.


description: Get the modulation destination value of the given destination id.

code: bool GetDestinationValue ( const int32 VoiceId, const [FPatchDestination](API\Runtime\SignalProcessing\DSP\FPatchDestination) & Destination, float & OutValue ) const


description: Returns the number of patch connections.

code: int32 GetNumPatches ( const int32 VoiceId ) const


description: Initialize the modulation matrix with the desired number of voices.

code: void Init ( const int32 NumVoices )


description: Crates a new patch destination object and returns the patch destination id.

code: [FPatchDestination](API\Runtime\SignalProcessing\DSP\FPatchDestination) CreatePatchDestination ( const int32 VoiceId, const int32 Stage, const float DefaultDepth )


description: Removes the given patch connection between a source and one or more destinations.

code: bool RemovePatch ( const int32 VoiceId, [FPatch](API\Runtime\SignalProcessing\DSP\FPatch) * Patch )


description: Reset all patch state.

code: void ResetPatchSourceState()


code: void ResetDestinations ( const int32 VoiceId )


description: Set the modulation source value of the given id.

code: bool SetSourceValue ( const int32 VoiceId, const [FPatchSource](API\Runtime\SignalProcessing\DSP\FPatchSource) & Source, const float Value )


description: Perform the matrix update. Optionally do only a given stage.

code: void Update ( const int32 VoiceId, const int32 Stage )


code: bool ValidatePatch ( const int32 VoiceId, [FPatch](API\Runtime\SignalProcessing\DSP\FPatch) * Patch )


code: virtual ~FModulationMatrix()


className: FModulationMatrix

code: class FModulationMatrix

Destinations

type: TArray<TArray<...


description: Returns average amplitude across the internal buffer, and fills Output with the delay line output.

code: float ProcessInput ( const float & Input, float & Output )


code: void SetNumSamples ( uint32 NumSamples )


description: Delay length in samples.

code: FMovingAverager ( uint32 NumSamples )


className: FMovingAverager

description: This class buffers audio while maintaining a running average of the underlying buffer. This is useful for cases where we can't use a peak detector with asymptotic tracking. For example: lookahead limiters, silence detection, etc.

code: class FMovingAverager


code: float ProcessAudio ( const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) & Input, [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) & Output )


description: Delay length in samples. NumSamples must be divisible by four.

code: FMovingVectorAverager ( uint32 NumSamples )


className: FMovingVectorAverager

description: Vectorized version ofFMovingAverager.

code: class FMovingVectorAverager


code: void Init ( int32 InBands, int32 InSamples )


code: float * operator[] ( int32 BandIndex )


description: Zero buffers.

code: void Reset()


code: void SetBands ( int32 InBands )


code: void SetSamples ( int32 InSamples )


code: FMultibandBuffer ( int32 InBands, int32 InSamples )


className: FMultibandBuffer

code: struct FMultibandBuffer


className: FMultichannelBuffer

description: A deinterleaved multichannel buffer

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [Audio::FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) > FMultichannelBuffer


className: FMultichannelCircularBuffer

description: A deinterleaved multichannel circular buffer

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [Audio::TCircularAudioBuffer](API\Runtime\SignalProcessing\DSP\TCircularAudioBuffer)< float >> FMultichannelCircularBuffer


className: FMultichannelBufferView

description: A deinterleaved multichannel buffer view. The semantics are similar to TArray<> and TArrayView<>. FMultichannelBufferView allows sample values to be read and written, but it cannot be resized.

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [TArrayView](API\Runtime\Core\Containers\TArrayView)< float >> FMultichannelBufferView


description:
Returns the minimum number of input frames needed to produce the desired number of output frames given the current state of the resampler.
The minimum number of input frames.

code: int32 GetNumInputFramesNeededToProduceOutputFrames ( int32 InNumOutputFrames ) const


description: Note: Indices are relative to the buffers passed toProcessAudio(...)_. The resampler does not maintain a sample counter between calls toProcessAudio(...)_.Indexof output frame.

code: float MapInputFrameToOutputFrame ( float InInputFrameIndex ) const


description: Note: Indices are relative to the buffers passed toProcessAudio(...)_. The resampler does not maintain a sample counter between calls toProcessAudio(...)_.Indexof input frame.

code: float MapOutputFrameToInputFrame ( float InOutputFrameIndex ) const


className: MinFrameRatioFrameDelta

code: static constexpr float MinFrameRatioFrameDelta = 0.001f;


description:
Consumes audio from the input buffer and produces audio in the output buffer. The desired number of frames to produce is determined by the output audio buffer size. For the desired number of samples to be produced, the input audio must have the minimum number of frames needed to produce the output frames (see `GetNumInputFramesNeededToProduceOutputFrames(...)_). Input samples which are no longer needed are removed from the input buffer.
Actual number of frames produced.

code: int32 ProcessAndConsumeAudio ( [FMultichannelCircularBuffer](API\Runtime\SignalProcessing\DSP\FMultichannelCircularBuffer) & InAudio, [FMultichannelBufferView](API\Runtime\SignalProcessing\DSP\FMultichannelBufferView) & OutAudio )


code: int32 ProcessAndConsumeAudio ( [FMultichannelCircularBuffer](API\Runtime\SignalProcessing\DSP\FMultichannelCircularBuffer) & InAudio, [FMultichannelBuffer](API\Runtime\SignalProcessing\DSP\FMultichannelBuffer) & OutAudio )


description: Sets the number of input frames to read per an output frame. 0.5 is half speed, 1.f is normal speed, 2.0 is double speed.

code: void SetFrameRatio ( float InRatio, int32 InNumFramesToInterpolate )


description: Construct a linear resampler.

code: FMultichannelLinearResampler ( int32 InNumChannels )


className: FMultichannelLinearResampler

description: Linear resampler working on multichannel buffers

code: class FMultichannelLinearResampler


code: float GetState ( const int32 InChannel ) const


code: float GetCoefficient() const


description: Initialize the filter.

code: virtual void Init ( const float InSampleRate, const int32 InNumChannels, const int32 InVoiceId, [FModulationMatrix](API\Runtime\SignalProcessing\DSP\FModulationMatrix) * InModMatrix )


description: Process an audio buffer.

code: virtual void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer )


description: Processes a single frame of audio. Number of channels MUST be what was used during filter initialization.

code: virtual void ProcessAudioFrame ( const float * InFrame, float * OutFrame )


description: Reset the filter.

code: virtual void Reset()


code: void SetCoefficient ( const float InCoefficient )


description: Updates the filter.

code: virtual void Update()


code: virtual ~FOnePoleFilter()


className: FOnePoleFilter

description: A virtual analog one-pole filter. Defaults to a low-pass mode, but can be switched to high-pass

code: class FOnePoleFilter : public [Audio::IFilter](API\Runtime\SignalProcessing\DSP\IFilter)

type: float *


code: float ProcessAudioSample ( const float InputSample )


description: Sets the filter frequency using normalized frequency (between 0.0 and 1.0f or 0.0 hz and Nyquist Frequency in Hz)

code: void SetFrequency ( const float InFrequency )


description: Resets the sample delay to 0.

code: void Reset()


description: Set the LPF gain coefficient.

code: void SetG ( float InG )


description: Constructor.

code: FOnePoleLPF()


description: Clears memory without reevaluating coefficients. This function is useful when there is a break between ProcessAudio calls.

code: void ClearMemory()


code: void Init ( int32 InSampleRate, int32 InNumChannels )


className: FOnePoleLPF

description: Simple 1-pole lowpass filter.

code: class FOnePoleLPF

description: Filter coefficients.

description: 1-sample delay


code: void ProcessAudio ( float * InputFrame, float * OutputFrame )


description: Generates the next sample of audio, optionally passes out the auxillary output (supported in some oscillators)

code: virtual float Generate ( float * AuxOutput )


description: Smooth out the saw-tooth discontinuities to improve aliasing.

code: float PolySmooth ( const float InPhase, const float InPhaseInc )


description: Gets the oscillator type.


description: Sets the oscillator type.

code: void SetType ( const [EOsc::Type](API\Runtime\SignalProcessing\DSP\Audio__EOsc__Type) InType )


description: Resets the oscillator.

code: virtual void Reset()


description: Stops the oscillator.

code: virtual void Stop()


description: Starts the oscillator.

code: virtual void Start()


className: FOnePoleLPFBank

description: One pole LPF filter for multiple channels

code: class FOnePoleLPFBank

type: TArray< float >


description: Updates oscillator state.

code: virtual void Update()


className: FOsc

description: Pitched oscillator.

code: class FOsc : public [Audio::IOscBase](API\Runtime\SignalProcessing\DSP\IOscBase)

description: Used to store state for triangular differentiator.

Noise

type: FWhiteNoise

description: A noise generator

OscType

description: The type of the oscillator.

PulseWidthLerped

type: FExponentialEas...

description: The pulse width base lerped.

TriangleSign

description: Current sign of the square mod, used for triangle wave generation.


description: Returns the current value, but does not update the value.

code: float GetValue() const


className: FOscFrequencyMod

description: Struct which wraps all factors which contribute to pitch of the oscillator.

code: struct FOscFrequencyMod

Cents

type: float

description: Cents frequency modulation

Detune

description: Exponential frequency modulation.

ExternalMod

description: External modulation source.

Mod

description: The modulated frequency value.

Octave

description: Octave frequency modulation.

PitchBend

description: Pitch bend modulation (i.e. from mod wheel)

Scale

description: A factor which directly scales the frequency output (used for FM modulation)

Semitones

description: Semitones frequency modulation.


description: Returns the target value.

code: float GetTarget() const


description: Resets the delta value back to 0.0. To be called at beginning of callback render.

code: void Reset()


description: Set the parameter value to the given target value over the given interpolation frames.

code: void SetValue ( const float InValue, const int32 InNumInterpFrames )


description: Updates the parameter, assumes called in one of the frames.

code: float Update()


className: EClass

code: enum EClass { Butterworth, Chebyshev, }


className: FPassiveFilterParams

code: struct FPassiveFilterParams

bRemoveDC

type: bool

Class

type: EClass

Type

type: EType


code: void SetName ( const [FString](API\Runtime\Core\Containers\FString) & InName )


code: FPatch ( const [FPatchSource](API\Runtime\SignalProcessing\DSP\FPatchSource) & InSourceId, const [FPatchDestination](API\Runtime\SignalProcessing\DSP\FPatchDestination) & InDestinationId )


className: EType

code: enum EType { Lowpass, Highpass, }


className: FPatch

code: struct FPatch

Destinations

type: TArray<FPatchD...

description: The modulation destinations of the patch to support multiple destinations.

Name

type: FString

Source

description: The modulation source of the patch.


code: FPatchDestination ( const uint32 InId )


className: FPatchDestination

code: struct FPatchDestination


description: Returns false if this output was removed, either because someone called FPatchMixer::RemoveTap with thisFPatchInput, or theFPatchMixerwas destroyed.

code: bool IsOutputStillActive() const


description: Returns false if this output was not initialized properly.

code: bool IsValid() const


code: [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & operator= ( const [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & Other )


code: [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & operator= ( [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) && Other )


description: Pushes audio from InBuffer to the correspondingFPatchOutput. Pushes zeros if InBuffer is nullptr. Returns how many samples were able to be pushed, or -1 if the output was disconnected.

code: int32 PushAudio ( const float * InBuffer, int32 NumSamples )


code: void SetGain ( float InGain )


description: Default constructedFPatchInputinstances will always return -1 for PushAudio and true for IsOutputStillActive.

code: FPatchInput()


description: PatchInputs can only be created from explicit outputs.

code: FPatchInput ( const [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) & InOutput )


code: FPatchInput ( const [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & Other )


code: FPatchInput ( [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) && Other )


className: FPatchInput

description: Handle to a patch. Should only be used by a single thread.

code: class FPatchInput


description: Adds a new input to the tap collector. Calling this is thread safe, but individual instances ofFPatchInputare only safe to be used from one thread.

code: [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) AddNewInput ( int32 MaxLatencyInSamples, float InGain )


description: Adds an existing patch input to the patch mixer.

code: void AddNewInput ( const [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & InPatchInput )


description: Disconnect everything currently connected to this mixer.

code: void DisconnectAllInputs()


description: This function call gets the maximum number of samples that's safe to pop, based on the thread with the least amount of samples buffered. Thread safe, but blocks for PopAudio.


description: This returns the number of inputs currently connected to this patch mixer. Thread safe, but blocks for PopAudio.

code: int32 Num()


description: Mixes all inputs into a single buffer. This should only be called from a single thread. Returns the number of non-silent samples popped to OutBuffer.

code: int32 PopAudio ( float * OutBuffer, int32 OutNumSamples, bool bUseLatestAudio )


description: Pauses the current thread until there are the given number of samples available to pop. Will return true if it succeeded, false if it timed out.

code: bool WaitUntilNumSamplesAvailable ( int32 NumSamples, uint32 TimeOutMilliseconds )


description: Removes a tap from the tap collector. Calling this is thread safe, thoughFPatchOutputwill likely not be deleted until the next call of PopAudio.

code: void RemovePatch ( const [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & InPatchInput )


description: Adds a new a patch input from an existing patch input object.

code: void AddNewInput ( [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & InInput )


className: FPatchMixer

description: This class is used for retrieving and mixing down audio from multiple threads. Important to note that this is MPSC: while multiple threads can enqueue audio on an instance ofFPatchMixerusing instances ofFPatchInput, only one thread can call PopAudio safely.

code: class FPatchMixer


description: Adds a new a patch from an existing patch output.

code: void AddNewOutput ( const [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) & InPatchOutputStrongPtr )


description: Adds a new output. Calling this is thread safe, but individual instances ofFPatchOutputare only safe to be used from one thread. the returned FPatchOutputPtr can be safely destroyed at any point.

code: [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) AddNewOutput ( int32 MaxLatencyInSamples, float InGain )


description: Mixes audio from all inputs and pushes it to all outputs. Should be called regularly.

code: void ProcessAudio()


code: void RemovePatch ( const [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & InInput )


description: Returns true if the input for this patch has been destroyed.

code: bool IsInputStale() const


description: Returns the current number of samples buffered on this output.

code: int32 GetNumSamplesAvailable() const


description: Sums the minimum of NumSamples or however many samples are available into OutBuffer. Returns the number of samples summed into OutBuffer.

code: int32 MixInAudio ( float * OutBuffer, int32 NumSamples, bool bUseLatestAudio )


className: PatchIDCounter

code: static [TAtomic](API\Runtime\Core\HAL\TAtomic)< int32 > PatchIDCounter;


className: FPatchMixerSplitter

description: This class is used to mix multiple inputs from disparate threads to a single mixdown and deliver that mixdown to multiple outputs. This class is MPMC, but only one thread can and should callProcessAudio().

code: class FPatchMixerSplitter


description: Copies the minimum of NumSamples or however many samples are available into OutBuffer. Returns the number of samples copied, or -1 if this output's corresponding input has been destroyed.

code: int32 PopAudio ( float * OutBuffer, int32 NumSamples, bool bUseLatestAudio )


description: The default constructor will result in an uninitialized, disconnected patch point.

code: FPatchOutput()


code: FPatchOutput ( int32 InMaxCapacity, float InGain )


className: FPatchOutput

description: // and on a seperate thread, retrieve the audio: NewOutput->PopAudio(OutAudioBufferPtr, AudioBufferNumSamples);

code: struct FPatchOutput


className: FPatchOutputWeakPtr

code: typedef [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FPatchOutput](API\Runtime\SignalProcessing\DSP\FPatchOutput), ESPMode::ThreadSafe > FPatchOutputWeakPtr


code: void SetName ( const [FString](API\Runtime\Core\Containers\FString) & InName )


code: FPatchSource ( const uint32 InId )


className: FPatchSource

code: struct FPatchSource


code: [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) AddNewPatch ( int32 MaxLatencyInSamples, float InGain )


code: void AddNewPatch ( const [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) & InPatchOutputStrongPtr )


code: void AddNewPatch ( [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) && InPatchOutputStrongPtr )


description: This function call gets the maximum number of samples that's safe to push. Thread safe, but blocks for PushAudio.


description: This returns the number of outputs currently connected to this patch splitter. Thread safe, but blocks for PushAudio.

code: int32 Num()


description: This call pushes audio to all outputs connected to this splitter. Only should be called from one thread.

code: int32 PushAudio ( const float * InBuffer, int32 InNumSamples )


className: FPatchSplitter

description: This class is used to post audio from one source to multiple threads. This class is SPMC: multiple threads can call FPatchOutputStrongPtr->PopAudio safely, but only one thread can call PushAudio.

code: class FPatchSplitter


code: void ComputeNewCoefficients ( const int32 ChannelIndex, const float LFOValue )


code: void Init ( const float SampleRate, const int32 InNumChannels )


className: MaxNumChannels

code: static const int32 MaxNumChannels = 2;


className: NumApfs

description: First-order all-pass filters in series.

code: static const int32 NumApfs = 6;


description: Process an audio buffer.

code: void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer )


description: Sets the phaser LFO rate.

code: void SetFrequency ( const float InFreqHz )


description: Process an audio frame.

code: void ProcessAudioFrame ( const float * InFrame, float * OutFrame )


description: Sets the phaser LFO type.

code: void SetLFOType ( const [ELFO::Type](API\Runtime\SignalProcessing\DSP\Audio__ELFO__Type) LFOType )


description: Sets the feedback of the phaser.

code: void SetFeedback ( const float InFeedback )


description: Sets whether or not to put the phaser in quadrature mode.

code: void SetQuadPhase ( const bool bQuadPhase )


description: Sets the wet level of the phaser.

code: void SetWetLevel ( const float InWetLevel )


className: FPhaser

code: class FPhaser

APFs

type: FBiquadFilter[M...

description: 6 APFs per channel

FeedbackFrame

type: float[MaxNumCha...

description: Feedback samples.

LFO

type: FLFO

NumChannels

description: Number of channels actually used.


description: Constructor. Without seed argument, uses Cpu cycles to chose one at "random"

code: FPinkNoise()


description: Set Pink Noise Filter Gain (default -3db)

code: void SetFilterGain ( float InFilterGain )


description: Constructor with seed input

code: FPinkNoise ( int32 InRandomSeed )


className: FPinkNoise

description: Pink noise generator 1/Frequency noise spectrum

code: class FPinkNoise


description: Whether or not to enable late reflections.

code: void EnableEarlyReflections ( const bool bInEnableEarlyReflections )


description: Generate next sample of pink noise.

code: float Generate()


code: void EnableLateReflections ( const bool bInEnableLateReflections )


className: FPlate

description: Plate data struction to organize each plate's delay lines and filters.

code: struct FPlate

APF

type: FDelayAPF

type: FDelay

LPF

type: FOnePoleLPF

PreviousSample

description: Sample output of tank.


className: NumTaps

description: Tap points to read audio from various delay lines in plates.

code: static const int32 NumTaps = 7;


description: Initialize the reverb with the given sample rate.

code: void Init ( const int32 InSampleRate )


className: PresetSampleRate

description: Sample rate used for hard-coded delay line values.

code: static const int32 PresetSampleRate = 29761;


description: Sets the reverb settings, applies, and updates.

code: void SetSettings ( const [FPlateReverbSettings](API\Runtime\SignalProcessing\DSP\FPlateReverbSettings) & InSettings )


description: Process the single audio frame.

code: void ProcessAudioFrame ( const float * InBuffer, const int32 InChannels, float * OutBuffer, const int32 OutChannels )


className: FPlateReverb

code: class FPlateReverb

bEnableEarlyReflections

description: Whether or not to enable early reflections.

bEnableLateReflections

description: Whether or not late reflections are enabled.

EarlyReflections

type: FEarlyReflectio...

description: Early reflections effect.

InputLPF

description: Input diffusion.

LeftPlate

type: FPlate

description: The plate data.

LeftTaps

type: float[NumTaps]

LFO

type: TSharedPtr<FWa...

description: Wave table oscillator, modulates input APF in plates.

PreDelay

description: A simple pre-delay line to emulate large delays for late-reflections.

Settings

type: FPlateReverbSet...

description: Current parameter settings of reverb.


description: Clamp individual settings to values supported by this class.

code: static void ClampSettings ( [FPlateReverbFastSettings](API\Runtime\SignalProcessing\DSP\FPlateReverbFastSettings) & InOutSettings )


className: DefaultSettings

code: static const [FPlateReverbFastSettings](API\Runtime\SignalProcessing\DSP\FPlateReverbFastSettings) DefaultSettings;


code: const [FPlateReverbFastSettings](API\Runtime\SignalProcessing\DSP\FPlateReverbFastSettings) & GetSettings() const


description: Creates reverberated audio in OutSamples based upon InSamples InNumChannels can be 1 or 2 channels. OutSamples must be greater or equal to 2.

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, const int32 InNumChannels, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples, const int32 OutNumChannels )


description: Copies, clamps and applies settings.

code: void SetSettings ( const [FPlateReverbFastSettings](API\Runtime\SignalProcessing\DSP\FPlateReverbFastSettings) & InSettings )


className: EQuadBehavior

description: EQuadBehavior describes how reverb is generated when there are 5 or more output channels.

code: enum EQuadBehavior { StereoOnly, QuadMatched, QuadFlipped, }


className: FPlateReverbFast

description: The Plate Reverb emulates the interactions between a sound, the listener and the space they share. Early reflections are modeled using a feedback delay network while late reflections are modeled using a plate reverb. This class aims to support a flexible and pleasant sounding reverb balanced with computational efficiency.

code: class FPlateReverbFast


code: bool operator== ( const [FPlateReverbFastSettings](API\Runtime\SignalProcessing\DSP\FPlateReverbFastSettings) & Other ) const


code: bool operator!= ( const [FPlateReverbFastSettings](API\Runtime\SignalProcessing\DSP\FPlateReverbFastSettings) & Other ) const


code: FPlateReverbFastSettings()


description: InMaxInternalBufferSamples sets the maximum number of samples used in internal buffers.

code: FPlateReverbFast ( float InSampleRate, int32 InMaxInternalBufferSamples, const [FPlateReverbFastSettings](API\Runtime\SignalProcessing\DSP\FPlateReverbFastSettings) & InSettings )


className: FPlateReverbFastSettings

description: Settings for plate reverb.

code: struct FPlateReverbFastSettings

bEnableEarlyReflections

description: Enables / Disables early reflections.

bEnableLateReflections

description: Enables / Disables late reflections.

EarlyReflections

description: EarlyReflectionSettings controls the initial perceived echoes from a sound, modeling the first few orders of reflections from a sound source to the listener's ears.

LateReflections

type: FLateReflection...

description: LateReflectionSettings controls the long tail diffused echo modeling the higher order reflections from a sound source to the listener's ears.

QuadBehavior

type: EQuadBehavior

description: Set how reverb module generates reverb when there are 5 or more output channels.


description: Fills an array with the spectrum weights to apply to an FFT magnitude or power spectrum output.

code: static void FillArrayWithConstantQBand ( const [FPseudoConstantQBandSettings](API\Runtime\SignalProcessing\DSP\FPseudoConstantQBandSettings) & InSettings, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutOffsetArray, int32 & OutOffsetIndex )


description: Returns the bandwidth for a given CQT band.

code: static float GetConstantQBandWidth ( const float InBandCenter, const float InBandsPerOctave, const float InBandWidthStretch )


description: Returns the center frequency of a given CQT band.

code: static float GetConstantQCenterFrequency ( const int32 InBandIndex, const float InBaseFrequency, const float InBandsPerOctave )


className: FPlateReverbSettings

code: struct FPlateReverbSettings

Bandwidth

type: float

description: Frequency bandwidth of audio going into input diffusers. 0.999 is full bandwidth.

Dampening

description: The amount of high-frequency dampening in plate feedback paths.

Decay

description: The amount of decay in the feedback path. Lower value is larger reverb time.

Density

description: The amount of diffusion in decay path. Larger values is a more dense reverb.

Diffusion

description: Amount of input diffusion (larger value results in more diffusion)

EarlyReflections

description: The settings for the early reflections part of the reverb.

LateDelayMsec

description: Milliseconds for the predelay.

LateGain

description: Initial attenuation of audio after it leaves the predelay.

Wetness

description: The amount of output wetness of the reverb as a whole.


className: FPseudoConstantQ

code: struct FPseudoConstantQ


className: FPseudoConstantQBandSettings

description: Settings for a single constant q band.

code: struct FPseudoConstantQBandSettings

BandWidth

description: Width of band in Hz.

CenterFreq

description: Center frequency of band in Hz.

FFTSize

description: Size of FFT used.

Normalization

type: EPseudoConstant...

description: Desired normalization.

SampleRate

description: Samplerate of audio.


className: FPseudoConstantQKernelSettings

description: Settings for Pseudo Constant Q Kernel generation.

code: struct FPseudoConstantQKernelSettings


description: Default settings for Pseudo Constant Q Kernel

code: FPseudoConstantQKernelSettings()


code: void CopyFrom ( const [FrequencyBuffer](API\Runtime\SignalProcessing\DSP\FrequencyBuffer) & Other )


code: void CopyFrom ( const float * InReal, const float * InImag, int32 Num )


code: void InitZeroed ( int32 Num )


className: FrequencyBuffer

code: struct FrequencyBuffer

Imag

type: FAlignedFloatBu...


description: Initialize the equalizer.

code: void Init ( const float InSampleRate, const int32 InNumChannels )


description: Process audio buffer.

code: void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer )


description: Sets that the modulation buffer is external.

code: void SetExternalPatchSource ( [Audio::FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) InPatch )


description: Set the dry level of the ring modulation.

code: void SetDryLevel ( const float InDryLevel )


description: Set the ring modulation depth.

code: void SetModulationDepth ( const float InModulationDepth )


description: Set the ring modulation frequency.

code: void SetModulationFrequency ( const float InModulationFrequency )


description: The type of modulation.

code: void SetModulatorWaveType ( const [EOsc::Type](API\Runtime\SignalProcessing\DSP\Audio__EOsc__Type) InType )


description: Set the wet level of the ring modulation.

code: void SetWetLevel ( const float InWetLevel )


description: Constructor.

code: FRingModulation()


description: Destructor.

code: ~FRingModulation()


description: Clears current buffer and resets state.

code: void ClearBuffer()


className: FRingModulation

description: Ring modulation effecthttps://en.wikipedia.org/wiki/Ring_modulation

code: class FRingModulation


description: Returns the number of channels of this buffer.

code: int32 GetNumChannels() const


description: Generates the next block of audio. Returns true if it's no longer playing (reached end of the buffer and not set to wrap)

code: bool Generate ( float * OutAudioBuffer, const int32 NumFrames, const int32 OutChannels, const bool bWrap )


description: Returns the number of frames of the buffer.

code: int32 GetNumFrames() const


description: Returns the current playback position in seconds.

code: float GetPlaybackProgress() const


code: float GetSampleValue ( const int16 * InBuffer, const int32 SampleIndex )


description: Whether or not the buffer reader has a buffer.

code: bool HasBuffer() const


code: float GetSampleValueForChannel ( const int32 Channel )


description: Seeks the buffer the given time in seconds. Returns true if succeeded.

code: void SeekTime ( const float InTimeSec, const [ESeekType::Type](API\Runtime\SignalProcessing\DSP\Audio__ESeekType__Type) InSeekType, const bool bWrap )


code: void Init ( const int32 InSampleRate )


description: Sets the pitch of the buffer reader. Can be negative. Will linearly interpolate over the given time value.

code: void SetPitch ( const float InPitch, const float InterpolationTimeSec )


description: This must be a completely loaded buffer. This buffer reader doesn't OWN the buffer memory.

code: void SetBuffer ( const int16 * InBufferPtr, const int32 InNumBufferSamples, const int32 InNumChannels, const int32 InBufferSampleRate )


description: Puts the wave reader into scrub mode.

code: void SetScrubMode ( const bool bInIsScrubMode )


description: Sets the scrub width. The sound will loop between the scrub width region and the current frame.

code: void SetScrubTimeWidth ( const float InScrubTimeWidthSec )


code: void UpdateScrubMinAndMax()


description: Buffers InAudio and renders any non-silent audio to OutAudio. Returns the number of samples written to OutAudio. The number of samples returned will only be less than NumSamples if the signal becomes audible mid-buffer. We do not return partial buffers when returning from an audible state to a silent state. This should also work in place, i.e. if InAudio == OutAudio.

code: int32 ProcessBuffer ( const float * InAudio, float * OutAudio, int32 NumSamples )


className: FSampleBufferReader

code: class FSampleBufferReader

AlphaLerp

type: double

BasePitch

description: The current frame alpha.

bIsFinished

type: bool

BufferPtr

type: const int16 ...


description: Returns the current estimate of the current amplitude of the input signal, in linear gain.

code: float GetCurrentAmplitude()


description: InOnsetThreshold is the minimum amplitude of a signal before we begin outputting audio, in linear gain. InReleaseThreshold is the amplitude of the signal before we stop outputting audio, in linear gain. AttackDurationInSamples is the amount of samples we average over when calculating our amplitude when the in audio is below the threshold. ReleaseDurationInSamples is the amount of samples we average over when calculating our amplitude when the input audio is above the threshold.

code: FSilenceDetection ( float InOnsetThreshold, float InReleaseThreshold, int32 AttackDurationInSamples, int32 ReleaseDurationInSamples )


className: FSilenceDetection

description: This object will return buffered audio while the input signal is louder than the specified threshold, and buffer audio when the input signal otherwise.

code: class FSilenceDetection


description: Initialize the oscillator with a sample rate and new frequency. Must be called before playing oscillator.

code: void Init ( const int32 InSampleRate, const float InFrequencyHz, const float Scale, const float Add )


description: Generates the next sample of the oscillator.

code: float ProcessAudio()


description: Set the threshold of audibility, in terms of linear gain.

code: void SetThreshold ( float InThreshold )


description: Sets the scale of the oscillator.

code: void SetAdd ( const float InAdd )


description: Sets the frequency of the oscillator in Hz (based on sample rate). Performs initial condition calculation to avoid pops.

code: void SetFrequency ( const float InFrequencyHz )


description: Returns the current frequency.

code: float GetFrequency() const


description: Sets the scale of the oscillator.

code: void SetScale ( const float InScale )


description: Constructor

code: FSineOsc()


description: Non-default constructor

code: FSineOsc ( const int32 InSampleRate, const float InFrequencyHz, const float Scale, const float Add )


description: Virtual destructor

code: virtual ~FSineOsc()


description: Processes the wave table and fills a buffer.

code: void Generate ( float * OutBuffer, const int32 NumSamples )


description: The static sinusoidal wave table.

code: static const [TArray](API\Runtime\Core\Containers\TArray)< float > & GetWaveTable()


className: FSineOsc

description: FOscDirect-form sinusoid oscillator. Created with a biquad filter (using only feedback coefficients) with poles directly on unit circle in z-plane. Setting frequency uses current filter state to compute initial conditions to avoid pops when changing frequency. Extremely cheap to run but expensive to set new frequencies. Good for test tones.

code: class FSineOsc


description: Returns the frequency of the wave table oscillator.

code: float GetFrequencyHz() const


description: Initialize the wave table oscillator.

code: void Init ( const float InSampleRate, const float InFrequencyHz, const float InPhase )


description: Resets the wave table read indices.

code: void Reset()


description: Sets the frequency of the wave table oscillator.

code: void SetFrequencyHz ( const float InFrequencyHz )


description: Sets the sample rate of the oscillator.

code: void SetSampleRate ( const float InSampleRate )


code: void UpdatePhaseIncrement()


description: Constructor.

code: FSineWaveTableOsc()


description: Virtual Destructor.

code: virtual ~FSineWaveTableOsc()


description: Generates the sine tone, continuing from the last phase.

code: void GenerateBuffer ( float SampleRate, float ClampedFrequency, float * Buffer, int32 BufferSampleCount )


code: [FSinOsc2DRotation](API\Runtime\SignalProcessing\DSP\FSinOsc2DRotation) & operator= ( [FSinOsc2DRotation](API\Runtime\SignalProcessing\DSP\FSinOsc2DRotation) const & other )


className: FSineWaveTableOsc

description: A sinusoidal wave table oscillator class.

code: class FSineWaveTableOsc

FrequencyHz

description: The frequency of the output (given the sample rate)

InitialPhase

description: The initial/cached phase, will be clamped to range 0.0 - 1.0f.

InstantaneousPhase

description: The instantaneous phase, clamped to range 0.0 - 1.0f.

PhaseIncrement

description: The phase increment (based on frequency)

ReadIndex

description: Read index.

SampleRate

description: The sample rate of the oscillator.

WaveTableBuffer

type: constTArray< f...

description: The wave table buffer.


description: Sets the phase of the wave table oscillator.

code: void SetPhase ( const float InPhase )


code: FSinOsc2DRotation ( [FSinOsc2DRotation](API\Runtime\SignalProcessing\DSP\FSinOsc2DRotation) const & other )


code: FSinOsc2DRotation ( float InStartingPhaseRadians )


description: ChunkBuffer now has 10ms of sine tone at 400hz. The next call will continue the sine tone where it left off.

code: class FSinOsc2DRotation


description: Takes an amplitude estimate and an input buffer, and attenuates InAudio based on it. Returns the linear gain applied to InAudio.

code: float ProcessAudio ( float * InAudio, int32 NumSamples, float InAmplitude )


description: Sets the responsiveness of the adaptive gain control, in number of buffer callbacks.

code: void SetAdaptiveRate ( int32 InAdaptiveRate )


description: InGainTarget is our target running linear gain. InAdaptiveRate is the time it will take to respond to changes in amplitude, in numbers of buffer callbacks. InGainMin is the most we will attenuate the input signal. InGainMax is the most we will amplify the input signal.

code: FSlowAdaptiveGainControl ( float InGainTarget, int32 InAdaptiveRate, float InGainMin, float InGainMax )