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

#include <SpectrumAnalyzer.h>

+ Inheritance diagram for Audio::ISpectrumBandExtractor:

Classes

struct  FBandSettings
 

Public Types

enum class  EBandType : uint8 { NearestNeighbor , Lerp , Quadratic , ConstantQ }
 

Public Member Functions

virtual ~ISpectrumBandExtractor ()
 
virtual void SetSettings (const FSpectrumBandExtractorSettings &InSettings)=0
 
virtual void SetSpectrumSettings (const FSpectrumBandExtractorSpectrumSettings &InSettings)=0
 
virtual void RemoveAllBands ()=0
 
virtual int32 GetNumBands () const =0
 
virtual void AddBand (const FBandSettings &InSettings)=0
 
virtual void ExtractBands (const FAlignedFloatBuffer &InComplexBuffer, double InTimestamp, TArray< float > &OutValues)=0
 

Static Public Member Functions

static SIGNALPROCESSING_API TUniquePtr< ISpectrumBandExtractorCreateSpectrumBandExtractor (const FSpectrumBandExtractorSettings &InSettings)
 

Detailed Description

Interface for spectrum band extractors.

The SpectrumBandExtractor allows for band information to be maintained across multiple calls to retrieve bands values. By maintaining band information across multiple calls, some intermediate values can be cached to speed up the operation.

Member Enumeration Documentation

◆ EBandType

Enumerator
NearestNeighbor 

Look up band value via nearest FFT band.

Lerp 

Band value is calculated by lerping between FFT bands adjacent to center frequency.

Quadratic 

Band value is calculated by fitting quadratic to 3 adjancent FFT bands and solving for center frequency.

ConstantQ 

Band value is calculated by a weighted sum of a window of fft bands around center frequency. The window size is determined by the QFactor of the band.

Constructor & Destructor Documentation

◆ ~ISpectrumBandExtractor()

virtual Audio::ISpectrumBandExtractor::~ISpectrumBandExtractor ( )
inlinevirtual

Member Function Documentation

◆ AddBand()

virtual void Audio::ISpectrumBandExtractor::AddBand ( const FBandSettings InSettings)
pure virtual

Adds a band to extract based on the given settings.

Implemented in Audio::FSpectrumBandExtractor.

◆ CreateSpectrumBandExtractor()

TUniquePtr< ISpectrumBandExtractor > Audio::ISpectrumBandExtractor::CreateSpectrumBandExtractor ( const FSpectrumBandExtractorSettings InSettings)
static

◆ ExtractBands()

virtual void Audio::ISpectrumBandExtractor::ExtractBands ( const FAlignedFloatBuffer InComplexBuffer,
double  InTimestamp,
TArray< float > &  OutValues 
)
pure virtual

Extract the bands from a complex frequency buffer.

Parameters
InComplexBuffer- Buffer of complex frequency data from a FFT.
InTimestamp- A timestamp associated with the input complex buffer.
OutValues- Array to store output bands.

Implemented in Audio::FSpectrumBandExtractor.

◆ GetNumBands()

virtual int32 Audio::ISpectrumBandExtractor::GetNumBands ( ) const
pure virtual

Returns the total number of bands.

Implemented in Audio::FSpectrumBandExtractor.

◆ RemoveAllBands()

virtual void Audio::ISpectrumBandExtractor::RemoveAllBands ( )
pure virtual

Removes all added bands.

Implemented in Audio::FSpectrumBandExtractor.

◆ SetSettings()

virtual void Audio::ISpectrumBandExtractor::SetSettings ( const FSpectrumBandExtractorSettings InSettings)
pure virtual

Sets and updates the settings for the band extractor

Implemented in Audio::FSpectrumBandExtractor.

◆ SetSpectrumSettings()

virtual void Audio::ISpectrumBandExtractor::SetSpectrumSettings ( const FSpectrumBandExtractorSpectrumSettings InSettings)
pure virtual

Set the settings and update cached internal values if needed

Implemented in Audio::FSpectrumBandExtractor.


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