Navigation
API > API/Runtime > API/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. |