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

#include <SpectrumAnalyzer.h>

Public Types

enum class  EPeakInterpolationMethod : uint8 { NearestNeighbor , Linear , Quadratic }
 

Public Member Functions

SIGNALPROCESSING_API FSpectrumAnalyzer ()
 
SIGNALPROCESSING_API FSpectrumAnalyzer (float InSampleRate)
 
SIGNALPROCESSING_API FSpectrumAnalyzer (const FSpectrumAnalyzerSettings &InSettings, float InSampleRate)
 
virtual ~FSpectrumAnalyzer ()=default
 
SIGNALPROCESSING_API void Init (float InSampleRate)
 
SIGNALPROCESSING_API void Init (const FSpectrumAnalyzerSettings &InSettings, float InSampleRate)
 
SIGNALPROCESSING_API void SetSettings (const FSpectrumAnalyzerSettings &InSettings)
 
SIGNALPROCESSING_API void GetSettings (FSpectrumAnalyzerSettings &OutSettings)
 
SIGNALPROCESSING_API float GetMagnitudeForFrequency (float InFrequency, EPeakInterpolationMethod InMethod=EPeakInterpolationMethod::Linear)
 
SIGNALPROCESSING_API float GetNormalizedMagnitudeForFrequency (float InFrequency, EPeakInterpolationMethod InMethod=EPeakInterpolationMethod::Linear)
 
SIGNALPROCESSING_API float GetPhaseForFrequency (float InFrequency, EPeakInterpolationMethod InMethod=EPeakInterpolationMethod::Linear)
 
SIGNALPROCESSING_API void GetBands (ISpectrumBandExtractor &InExtractor, TArray< float > &OutValues)
 
SIGNALPROCESSING_API void LockOutputBuffer ()
 
SIGNALPROCESSING_API void UnlockOutputBuffer ()
 
SIGNALPROCESSING_API bool PushAudio (const TSampleBuffer< float > &InBuffer)
 
SIGNALPROCESSING_API bool PushAudio (const float *InBuffer, int32 NumSamples)
 
SIGNALPROCESSING_API bool PerformAnalysisIfPossible (bool bUseLatestAudio=false)
 
SIGNALPROCESSING_API bool IsInitialized ()
 

Detailed Description

Class built to be a rolling spectrum analyzer for arbitrary, monaural audio data. Class is meant to scale accuracy with CPU and memory budgets. Typical usage is to either call PushAudio() and then PerformAnalysisIfPossible immediately afterwards, or have a seperate thread call PerformAnalysisIfPossible().

Member Enumeration Documentation

◆ EPeakInterpolationMethod

Enumerator
NearestNeighbor 
Linear 
Quadratic 

Constructor & Destructor Documentation

◆ FSpectrumAnalyzer() [1/3]

Audio::FSpectrumAnalyzer::FSpectrumAnalyzer ( )

◆ FSpectrumAnalyzer() [2/3]

Audio::FSpectrumAnalyzer::FSpectrumAnalyzer ( float  InSampleRate)

◆ FSpectrumAnalyzer() [3/3]

Audio::FSpectrumAnalyzer::FSpectrumAnalyzer ( const FSpectrumAnalyzerSettings InSettings,
float  InSampleRate 
)

◆ ~FSpectrumAnalyzer()

virtual Audio::FSpectrumAnalyzer::~FSpectrumAnalyzer ( )
virtualdefault

Member Function Documentation

◆ GetBands()

void Audio::FSpectrumAnalyzer::GetBands ( ISpectrumBandExtractor InExtractor,
TArray< float > &  OutValues 
)

◆ GetMagnitudeForFrequency()

float Audio::FSpectrumAnalyzer::GetMagnitudeForFrequency ( float  InFrequency,
FSpectrumAnalyzer::EPeakInterpolationMethod  InMethod = EPeakInterpolationMethod::Linear 
)

◆ GetNormalizedMagnitudeForFrequency()

float Audio::FSpectrumAnalyzer::GetNormalizedMagnitudeForFrequency ( float  InFrequency,
EPeakInterpolationMethod  InMethod = EPeakInterpolationMethod::Linear 
)

◆ GetPhaseForFrequency()

float Audio::FSpectrumAnalyzer::GetPhaseForFrequency ( float  InFrequency,
FSpectrumAnalyzer::EPeakInterpolationMethod  InMethod = EPeakInterpolationMethod::Linear 
)

◆ GetSettings()

void Audio::FSpectrumAnalyzer::GetSettings ( FSpectrumAnalyzerSettings OutSettings)

◆ Init() [1/2]

void Audio::FSpectrumAnalyzer::Init ( const FSpectrumAnalyzerSettings InSettings,
float  InSampleRate 
)

◆ Init() [2/2]

void Audio::FSpectrumAnalyzer::Init ( float  InSampleRate)

◆ IsInitialized()

bool Audio::FSpectrumAnalyzer::IsInitialized ( )

◆ LockOutputBuffer()

void Audio::FSpectrumAnalyzer::LockOutputBuffer ( )

◆ PerformAnalysisIfPossible()

bool Audio::FSpectrumAnalyzer::PerformAnalysisIfPossible ( bool  bUseLatestAudio = false)

◆ PushAudio() [1/2]

bool Audio::FSpectrumAnalyzer::PushAudio ( const float InBuffer,
int32  NumSamples 
)

◆ PushAudio() [2/2]

bool Audio::FSpectrumAnalyzer::PushAudio ( const TSampleBuffer< float > &  InBuffer)

◆ SetSettings()

void Audio::FSpectrumAnalyzer::SetSettings ( const FSpectrumAnalyzerSettings InSettings)

◆ UnlockOutputBuffer()

void Audio::FSpectrumAnalyzer::UnlockOutputBuffer ( )

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