Navigation
Unreal Engine C++ API Reference > Runtime > SignalProcessing
Filters
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
FAcousticEchoCancellation | ||
![]() |
FAcousticEchoCancellation_DEPRECATED | This class uses an adaptive filter to cancel out any rendered audio signal that might be picked up by the mic. | |
![]() |
FAdaptiveFilter | ||
![]() |
FAdaptiveFilter_DEPRECATED | VoiceProcessing.h Deprecation | |
![]() |
FADEnvelope | Sample accurate attack-decay style envelope generator | |
![]() |
FAlignedBlockBuffer | First In First Out Buffer designed for audio buffers. | |
![]() |
FAllPassFractionalDelay | Performs a fractional delay utilzing a single order all pass filter. | |
![]() |
FAmp | Class which manages scaling audio input and performing panning operations. | |
![]() |
FAsyncSpectrumAnalyzer | SpectrumAnalyzer for computing spectrum in async task. | |
![]() |
FAsyncSpectrumAnalyzerScopeLock | ||
![]() |
FAttackRelease | Conversion between attack/release time and attack/release sample counts. | |
![]() |
FAttackReleaseSmoother | Smooths signals using attack and release settings. | |
![]() |
FAudioBufferDistanceAttenuationSettings | Settings for audio buffer distance attenuation. | |
![]() |
FAudioFFTAlgorithmFactory | FFT Algorithm factory for this FFT implementation | |
![]() |
FAudioFileWriter | ||
![]() |
FBaseChannelFormatConverter | FBaseChannelFormatConverter implements channel conversion using a simple mixing matrix. | |
![]() |
FBiquad | Simple biquad filter structure handling a biquad formulation See: https://en.wikipedia.org/wiki/Digital_biquad_filter Calculations of coefficients are handled outside this class. | |
![]() |
FBiquadFilter | Biquad filter class which wraps a biquad filter struct Handles multi-channel audio to avoid calculating filter coefficients for multiple channels of audio. | |
![]() |
FBitCrusher | Bit crushing effect https://en.wikipedia.org/wiki/Bitcrusher | |
![]() |
FBlockCorrelator | Correlation calculator which utilizes FFT to perform fast correlation calculations. | |
![]() |
FBlockCorrelatorSettings | Settings for block correlator | |
![]() |
FBufferLinearEase | Class which handles a vectorized interpolation of an entire buffer to the values of a target buffer | |
![]() |
FBufferOnePoleLPF | Simple 1-pole lowpass filter. | |
![]() |
FChannelMapParams | Parameters for creating 2D channel maps. | |
![]() |
FChorus | ||
![]() |
FContiguousSparse2DKernelTransform | FContiguousSparse2DKernelTransform | |
![]() |
FConvertDeinterleaveParams | Parameters for creating a IConvertDeinterleave object. | |
![]() |
FConvolutionFactory | FConvolutionFactory | |
![]() |
FConvolutionSettings | FConvolutionSettings | |
![]() |
FDelay | Circular Buffer Delay Line. | |
![]() |
FDelayAPF | Implementation of a delay line with a feedback/feedforward gain coefficient APF filters pass all frequencies but changes phase relationships of frequencies | |
![]() |
FDelayStereo | ||
![]() |
FDirectedGraphAlgo | ||
![]() |
FDirectedTreeElement | An element in a directed tree with references to children of a vertex. | |
![]() |
FDynamicDelayAPF | All Pass Filter with a long fractional delay which can be set per a sample. | |
![]() |
FDynamicsProcessor | Dynamic range compressor https://en.wikipedia.org/wiki/Dynamic_range_compression | |
![]() |
FDynamicStateVariableFilter | Combination of two state-variable filters, the first filtering a key signal, which drives gain in the second | |
![]() |
FEarlyReflections | Basic implementation of a 4x4 Feedback Delay Network. | |
![]() |
FEarlyReflectionsFast | Basic implementation of early reflections using a predelay, low pass filter and feedback delay network (FDN). | |
![]() |
FEarlyReflectionsFastSettings | ||
![]() |
FEarlyReflectionsSettings | ||
![]() |
FEnvelope | Envelope class generates ADSR style envelope. | |
![]() |
FEnvelopeFollower | A simple utility that returns a smoothed value given audio input using an RC circuit. | |
![]() |
FEnvelopeFollowerInitParams | ||
![]() |
FEqualizer | 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 | |
![]() |
FEventQuantizationSettings | ||
![]() |
FEventQuantizer | Class which handles the details of event quantization. | |
![]() |
FExponentialEase | Simple exponential easing class. Useful for cheaply and smoothly interpolating parameters. | |
![]() |
FFDAPFilterComputer | ||
![]() |
FFDAPFilterComputer_DEPRECATED | 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. | |
![]() |
FFDNCoefficients | Filter coefficients of 4 channel feedback delay network. | |
![]() |
FFDNDelaySettings | Delay settings of 4 channel feedback delay network. | |
![]() |
FFeedbackDelayNetwork | 4 channel feedback delay network (FDN) for artificial reverberation. | |
![]() |
FFFTConvolver_DEPRECATED | Deprecated in 5.1. | |
![]() |
FFFTFactory | FFFTFactory | |
![]() |
FFFTSettings | FFFTSettings | |
![]() |
FFlanger | ||
![]() |
FFoldbackDistortion | Foldback distortion effect https://en.wikipedia.org/wiki/Foldback_(power_supply_design) | |
![]() |
FFTFreqDomainData | ||
![]() |
FFTFreqDomainData_DEPRECATED | ||
![]() |
FFTTimeDomainData | AudioFFT Deprecation | |
![]() |
FFTTimeDomainData_DEPRECATED | ||
![]() |
FGrain | Class representing a grain of audio. | |
![]() |
FGrainData | ||
![]() |
FGrainDelay | ||
![]() |
FGrainEnvelope | Simple class that generates an envelope and lets you retrieve interpolated values at any given fraction. | |
![]() |
FGranularSynth | A stereo granulator. | |
![]() |
FInlineEnvelopeFollower | FInlineEnvlepeFollower is useful for low samplerate use cases and where samples are only available one at a time. | |
![]() |
FInlineEnvelopeFollowerInitParams | ||
![]() |
FIntegerDelay | An adjustable delay line. Delays values are limited to integer values. | |
![]() |
FInterpolatedHPF | ||
![]() |
FInterpolatedLPF | ||
![]() |
FLadderFilter | ||
![]() |
FLateReflectionsFast | FLateReflections generates the long tail reverb of an input audio signal using a relatively fast algorithm using all pass filter delay lines. | |
![]() |
FLateReflectionsFastSettings | Settings for controlling the FLateReflections. | |
![]() |
FLateReflectionsPlate | Single plate channel for plate reverberation. | |
![]() |
FLateReflectionsPlateDelays | Delay line settings for reverb plate delay Tap locations are determined by analyzing these delay values. | |
![]() |
FLateReflectionsPlateOutputs | Structure to hold the various delay line tap outputs produced from a plate. | |
![]() |
FLFO | Low frequency oscillator. | |
![]() |
FLinearCurve | A simple curve class that takes FVector2D points Required to decouple from Engine module | |
![]() |
FLinearEase | Simple easing function used to help interpolate params. | |
![]() |
FLinearInterpFractionalDelay | Fractional delay using linear interpolation. | |
![]() |
FLinearPitchShifter | ||
![]() |
FLinkwitzRileyBandFilter | ||
![]() |
FLinkwitzRileyBandSplitter | Helper for Multi-Band processing to generate Linwitz-Riley filtered outputs from input https://en.wikipedia.org/wiki/Linkwitz%E2%80%93Riley_filter | |
![]() |
FLongDelayAPF | All Pass Filter with a long delay. | |
![]() |
FMeanSquaredFIR | Compute mean squared using FIR method. | |
![]() |
FMeanSquaredIIR | Compute mean squared using IIR method. | |
![]() |
FMelSpectrumKernelSettings | Settings for a mel kernel which transforms an linearly space spectrum (e.g. FFT Magnitude) to a mel spectrum | |
![]() |
FMidiNoteQuantizer | ||
![]() |
FModulationMatrix | ||
![]() |
FMovingAverager | This class buffers audio while maintaining a running average of the underlying buffer. | |
![]() |
FMovingVectorAverager | Vectorized version of FMovingAverager. | |
![]() |
FMultibandBuffer | ||
![]() |
FMultichannelLinearResampler | Linear resampler working on multichannel buffers | |
![]() |
FOnePoleFilter | A virtual analog one-pole filter. Defaults to a low-pass mode, but can be switched to high-pass | |
![]() |
FOnePoleLPF | Simple 1-pole lowpass filter. | |
![]() |
FOnePoleLPFBank | One pole LPF filter for multiple channels | |
![]() |
FOsc | Pitched oscillator. | |
![]() |
FOscFrequencyMod | Struct which wraps all factors which contribute to pitch of the oscillator. | |
![]() |
FParam | ||
![]() |
FPassiveFilterParams | ||
![]() |
FPatch | ||
![]() |
FPatchDestination | ||
![]() |
FPatchInput | Handle to a patch. Should only be used by a single thread. | |
![]() |
FPatchMixer | This class is used for retrieving and mixing down audio from multiple threads. | |
![]() |
FPatchMixerSplitter | This class is used to mix multiple inputs from disparate threads to a single mixdown and deliver that mixdown to multiple outputs. | |
![]() |
FPatchOutput | This class can be thought of as an output for a single constructed instance of FPatchInput. | |
![]() |
FPatchSource | ||
![]() |
FPatchSplitter | This class is used to post audio from one source to multiple threads. | |
![]() |
FPhaser | ||
![]() |
FPinkNoise | Pink noise generator 1/Frequency noise spectrum | |
![]() |
FPlateReverb | ||
![]() |
FPlateReverbFast | The Plate Reverb emulates the interactions between a sound, the listener and the space they share. | |
![]() |
FPlateReverbFastSettings | Settings for plate reverb. | |
![]() |
FPlateReverbSettings | ||
![]() |
FPseudoConstantQ | ||
![]() |
FPseudoConstantQBandSettings | Settings for a single constant q band. | |
![]() |
FPseudoConstantQKernelSettings | Settings for Pseudo Constant Q Kernel generation. | |
![]() |
FrequencyBuffer | ||
![]() |
FRingModulation | Ring modulation effect https://en.wikipedia.org/wiki/Ring_modulation | |
![]() |
FSampleBufferReader | ||
![]() |
FSilenceDetection | This object will return buffered audio while the input signal is louder than the specified threshold, and buffer audio when the input signal otherwise. | |
![]() |
FSineOsc | FOsc Direct-form sinusoid oscillator. | |
![]() |
FSineWaveTableOsc | A sinusoidal wave table oscillator class. | |
![]() |
FSinOsc2DRotation | Generates a sine wave in the given buffer with the given frequency. | |
![]() |
FSlowAdaptiveGainControl | This object accepts an input buffer and current amplitude estimate of that input buffer, Then applies a computed gain target. | |
![]() |
FSpectrumAnalysisAsyncWorker | ||
![]() |
FSpectrumAnalyzer | Class built to be a rolling spectrum analyzer for arbitrary, monaural audio data. | |
![]() |
FSpectrumAnalyzerBuffer | This class locks an input buffer (for writing) and an output buffer (for reading). | |
![]() |
FSpectrumAnalyzerScopeLock | ||
![]() |
FSpectrumAnalyzerSettings | ||
![]() |
FSpectrumBandExtractorSettings | Settings for band extractor. | |
![]() |
FSpectrumBandExtractorSpectrumSettings | Settings describing the spectrum used for in the band extractor. | |
![]() |
FStateVariableFilter | ||
![]() |
FStronglyConnectedComponent | A strongly connected component contains a subgraph of strongly connected vertices and their corresponding edges. | |
![]() |
FTapDelayPitchShifter | Class which reads doppler-shifted tap from a delay buffer. | |
![]() |
FVariablePoleFilter | ||
![]() |
FVectorLinearResampler | FVectorLinearResampler | |
![]() |
FViterbi | ||
![]() |
FVolumeFader | Control-rate fader for managing volume fades of various standard shapes. | |
![]() |
FWaveShaper | A digital wave shaping effect to cause audio distortion https://en.wikipedia.org/wiki/Waveshaper | |
![]() |
FWaveTableOsc | A wave table oscillator class. | |
![]() |
FWetDry | ||
![]() |
FWhiteNoise | White noise generator Flat spectrum | |
![]() |
FWindow | Class used to generate, contain and apply a DSP window of a given type. | |
![]() |
IChannelFormatConverter | Inteface for Channel Format Converters which process deinterleaved audio. | |
![]() |
IConvertDeinterleave | IConvertDeinterleave is an interface for transforming multichannel interleaved audio samples into multichannel deinterleaved samples. | |
![]() |
IConvolutionAlgorithm | IConvolutionAlgorithm | |
![]() |
IConvolutionAlgorithmFactory | IConvolutionAlgorithmFactory | |
![]() |
IFFTAlgorithm | IFFTAlgorithmInterface for FFT algorithm. | |
![]() |
IFFTAlgorithmFactory | IFFTAlgorithmFactory | |
![]() |
IFilter | Base class for filters usable in synthesis. | |
![]() |
IOscBase | Oscillator base class. | |
![]() |
IQuantizedEventListener | Event listener interface. | |
![]() |
ISampleRateConverter | ||
![]() |
ISpectrumBandExtractor | Interface for spectrum band extractors. | |
![]() |
IViterbiInitialProbability | Interface class for viterbi initial log probabilities. | |
![]() |
IViterbiObservations | Interface class for viterbi observations. | |
![]() |
IViterbiTransitionProbability | Interface class for viterbi transition log probabilities. | |
![]() |
ScaleDegreeSet | ||
![]() |
TAutoDeinterleaveView | TAutoDeinterleaveView | |
![]() |
TAutoSlidingWindow | TAutoSlidingWindow | |
![]() |
TCircularAudioBuffer | Basic implementation of a circular buffer built for pushing and popping arbitrary amounts of data at once. | |
![]() |
TDeinterleaveView | TDeinterleaveView | |
![]() |
TGetPower | This allows us to write a compile time exponent of a number. | |
![]() |
TParams | Simple parameter object which uses critical section to write to and read from data. | |
![]() |
TSample | TSample |
|
![]() |
TSampleRef | TSampleRef |
|
![]() |
TScopedSlidingWindow | TScopedSlidingWindow | |
![]() |
TSlidingBuffer | TSlidingBuffer | |
![]() |
TSlidingWindow | Forward delcaration. |
Constants
Name | Description |
---|---|
Audio::ChannelMapMaxNumChannels | Maximum number of channels supported by channel maps (Corresponds to 7.1 format) |
Audio::ChannelMapVorbisNumChannels | Number of channels in a vorbis input (Corresponds to 5.1 with vorbis channel ordering). |
Audio::MaxFilterChannels |
Typedefs
Name | Description |
---|---|
AlignedByteBuffer | Deprecated in favor of versions above. |
AlignedFloatBuffer | |
AlignedInt32Buffer | |
FAlignedByteBuffer | |
FAlignedFloatBuffer | |
FAlignedInt32Buffer | |
FAudioBufferAlignedAllocator | Aligned allocator used for fast operations. |
FDirectedEdge | A pair of int32s represent a directed edge. |
FDirectedTree | A directed tree graph represenation. |
FEnvelope | |
FMultichannelBuffer | A deinterleaved multichannel buffer |
FMultichannelBufferView | A deinterleaved multichannel buffer view. |
FMultichannelCircularBuffer | A deinterleaved multichannel circular buffer |
FPatchOutputWeakPtr | |
FSpectrumAnalyzerTask |
Enums
Type | Name | Description | |
---|---|---|---|
![]() |
Audio::EBiquadFilter::Type | Enumeration of filter types. | |
![]() |
Audio::EChannelMapMonoUpmixMethod | Denotes the upmix method for mixing a mono input into the front left and front right speakers. | |
![]() |
Audio::EChannelMapOrder | Denotes the order of gain coefficients for a channel map. | |
![]() |
Audio::EChorusDelays::Type | ||
![]() |
Audio::EDynamicFilterType | NON-UOBJECT LAYER: | |
![]() |
Audio::EDynamicsProcessingMode::Type | What mode the compressor is in. | |
![]() |
Audio::EDynamicsProcessorChannelLinkMode | NON-UOBJECT LAYER: | |
![]() |
Audio::EEventQuantization | NON-UOBJECT LAYER: | |
![]() |
Audio::EFaderCurve | Type of fade to use when adjusting a fader's volume over time. | |
![]() |
Audio::EFFTScaling | EFFTScaling | |
![]() |
Audio::EFilter::Type | ||
![]() |
Audio::EFilterOrder | NON-UOBJECT LAYER: | |
![]() |
Audio::EGrainEnvelopeType | NON-UOBJECT LAYER: | |
![]() |
Audio::EGranularSynthMode | NON-UOBJECT LAYER: | |
![]() |
Audio::ELFO::Type | ||
![]() |
Audio::ELFOMode::Type | ||
![]() |
Audio::EMelNormalization | Normalization methods for a mel transform. | |
![]() |
Audio::EMusicalScale::Scale | Any additions to this Enum should also be added to MetasoundMidiNoteQuantizerNode.cpp in the "#pragma region Metasound Enums" area to show up as options in that Node | |
![]() |
Audio::EOsc::Type | ||
![]() |
Audio::EPeakMode::Type | Different modes for the envelope follower. | |
![]() |
Audio::EPseudoConstantQNormalization | Band normalization schemes | |
![]() |
Audio::ESeekType::Type | ||
![]() |
Audio::ESpectrumType | Types of spectrums which can be directly derived from FFTFreqDomainData. | |
![]() |
Audio::EStereoDelayMode::Type | The different stereo delay modes. | |
![]() |
Audio::EWaveShaperType | NON-UOBJECT LAYER: | |
![]() |
Audio::EWaveTable::Type | Wavetable oscillator types. | |
![]() |
Audio::EWindowType | NON-UOBJECT LAYER: | |
![]() |
Audio::Grain::EEnvelope | Grain envelope types. |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | Audio::CheckSample
(
float InSample, |
Utility to check for sample clipping. |
![]() ![]() |
void | Audio::ConvertBipolarBufferToUnipolar
(
float* InAlignedBuffer, |
Converts in place a buffer into Unipolar (0..1) This is a Vector op version of the GetUnipolar function. |
![]() ![]() |
float | Audio::ConvertToDecibels
(
const float InLinear, |
Function converts linear scale volume to decibels. |
![]() ![]() |
float | Audio::ConvertToLinear
(
const float InDecibels |
Function converts decibel to linear scale. |
![]() ![]() |
void | Audio::DecodeMidSide
(
float& MidChannel, |
Decodes a stereo Mid/Side signal into a stereo Left/Right signal. |
![]() ![]() |
void | Audio::EncodeMidSide
(
float& LeftChannel, |
Encodes a stereo Left/Right signal into a stereo Mid/Side signal. |
![]() ![]() |
float | Audio::EvaluateChebyshevPolynomial
(
float FrequencyRatio, |
|
![]() ![]() |
float | Audio::FastSin
(
const float X |
Low precision, high performance approximation of sine using parabolic polynomial approx Valid on interval [-PI, PI] |
![]() ![]() |
float | Audio::FastSin2
(
const float X |
Slightly higher precision, high performance approximation of sine using parabolic polynomial approx. |
![]() ![]() |
float | Audio::FastSin3
(
const float X |
Valid on interval [-PI, PI] Sine approximation using Bhaskara I technique discovered in 7th century. |
![]() ![]() |
float | Audio::FastTan
(
float X |
Based on sin parabolic approximation. |
![]() ![]() |
float | Audio::FastTanh
(
float X |
Fast tanh based on pade approximation. |
![]() ![]() |
void | Audio::Filter
(
TArrayView< float >& Signal, |
This can be called on any TArrayView |
![]() ![]() |
void | Audio::Filter
(
TArray< float >& Signal, |
Static function for applying a filter to any time series. |
![]() ![]() |
float | Audio::GetBandwidthFromQ
(
const float InQ |
Helper function to get bandwidth from Q. |
![]() ![]() |
float | Audio::GetBipolar
(
const float X |
Gets polar value from unipolar. |
![]() ![]() |
float | Audio::GetFrequencyFromMidi
(
const float InMidiNote |
Using midi tuning standard, compute frequency in hz from midi value. |
![]() ![]() |
float | Audio::GetFrequencyMultiplier
(
const float InPitchSemitones |
Returns the frequency multiplier to scale a base frequency given the input semitones. |
![]() ![]() |
float | Audio::GetGainForFrequency
(
float NormalizedFreq, |
|
![]() ![]() |
float | Audio::GetGainFromVelocity
(
const float InVelocity |
Given a velocity value [0,127], return the linear gain. |
![]() ![]() |
float | Audio::GetLinearFrequencyClamped
(
const float InFrequencyValue, |
Returns the linear frequency of the input value. Maps log domain and range values to linear output (good for linear slider representation/visualization of log frequency). Reverse of GetLogFrequencyClamped. |
![]() ![]() |
float | Audio::GetLogFrequencyClamped
(
const float InValue, |
Returns the log frequency of the input value. Maps linear domain and range values to log output (good for linear slider controlling frequency) |
![]() ![]() |
float | Audio::GetMidiFromFrequency
(
const float InFrequency |
Using midi tuning standard, compute midi from frequency in hz. |
![]() ![]() |
float | Audio::GetPitchScaleFromMIDINote
(
int32 BaseMidiNote, |
Return a pitch scale factor based on the difference between a base midi note and a target midi note. Useful for samplers. |
![]() ![]() |
float | Audio::GetQFromBandwidth
(
const float InBandwidth |
Helper function get Q from bandwidth. |
![]() ![]() |
float | Audio::GetSemitones
(
const float InMultiplier |
Returns the number of semitones relative to a base frequency given the input frequency multiplier. |
![]() ![]() |
void | Audio::GetStereoPan
(
const float InLinearPan, |
Calculates equal power stereo pan using sinusoidal-panning law and cheap approximation for sin InLinear pan is [-1.0, 1.0] so it can be modulated by a bipolar LFO |
![]() ![]() |
float | Audio::GetUnipolar
(
const float X |
Converts bipolar value to unipolar. |
![]() ![]() |
void | Audio::Grain::GenerateEnvelopeData
(
FEnvelope& InData, |
Utility function generates an envelope with the input array for the number of desired frames. |
![]() ![]() |
float | Audio::Grain::GetValue
(
const FEnvelope& InGrainData, |
Returns the interpolated envelope value given the fraction through the grain. |
![]() ![]() |
float | Audio::LagrangianInterpolation
(
const TArray< FVector2D > Points, |
Polynomial interpolation using lagrange polynomials. |
![]() ![]() |
bool | Audio::QuadraticPeakInterpolation
(
const float InValues, |
Given three values, determine peak location and value of quadratic fitted to the data. |
![]() |
void | Audio::SetMultichannelBufferSize
(
int32 InNumFrames, |
Set the number of frames for a multichannel buffer. |
![]() ![]() |
float | Audio::UnderflowClamp
(
const float InValue |
Clamps floats to 0 if they are in sub-normal range. |