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

#include <SinOsc.h>

Public Member Functions

SIGNALPROCESSING_API FSineOsc ()
 
SIGNALPROCESSING_API FSineOsc (const int32 InSampleRate, const float InFrequencyHz, const float Scale=1.0f, const float Add=0.0f)
 
virtual SIGNALPROCESSING_API ~FSineOsc ()
 
SIGNALPROCESSING_API void Init (const int32 InSampleRate, const float InFrequencyHz, const float Scale=1.0f, const float Add=0.0f)
 
SIGNALPROCESSING_API void SetScale (const float InScale)
 
SIGNALPROCESSING_API void SetAdd (const float InAdd)
 
SIGNALPROCESSING_API void SetFrequency (const float InFrequencyHz)
 
SIGNALPROCESSING_API float GetFrequency () const
 
SIGNALPROCESSING_API float ProcessAudio ()
 

Protected Attributes

int32 SampleRate
 
float FrequencyHz
 
float B1
 
float B2
 
float Yn_1
 
float Yn_2
 
float Scale
 
float Add
 

Detailed Description

FOsc Direct-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.

Constructor & Destructor Documentation

◆ FSineOsc() [1/2]

Audio::FSineOsc::FSineOsc ( )

Constructor

◆ FSineOsc() [2/2]

Audio::FSineOsc::FSineOsc ( const int32  InSampleRate,
const float  InFrequencyHz,
const float  Scale = 1.0f,
const float  Add = 0.0f 
)

Non-default constructor

◆ ~FSineOsc()

Audio::FSineOsc::~FSineOsc ( )
virtual

Virtual destructor

Member Function Documentation

◆ GetFrequency()

float Audio::FSineOsc::GetFrequency ( ) const

Returns the current frequency.

◆ Init()

void Audio::FSineOsc::Init ( const int32  InSampleRate,
const float  InFrequencyHz,
const float  Scale = 1.0f,
const float  Add = 0.0f 
)

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

◆ ProcessAudio()

float Audio::FSineOsc::ProcessAudio ( )

Generates the next sample of the oscillator.

◆ SetAdd()

void Audio::FSineOsc::SetAdd ( const float  InAdd)

Sets the scale of the oscillator.

◆ SetFrequency()

void Audio::FSineOsc::SetFrequency ( const float  InFrequencyHz)

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

◆ SetScale()

void Audio::FSineOsc::SetScale ( const float  InScale)

Sets the scale of the oscillator.

Member Data Documentation

◆ Add

float Audio::FSineOsc::Add
protected

◆ B1

float Audio::FSineOsc::B1
protected

◆ B2

float Audio::FSineOsc::B2
protected

◆ FrequencyHz

float Audio::FSineOsc::FrequencyHz
protected

◆ SampleRate

int32 Audio::FSineOsc::SampleRate
protected

◆ Scale

float Audio::FSineOsc::Scale
protected

◆ Yn_1

float Audio::FSineOsc::Yn_1
protected

◆ Yn_2

float Audio::FSineOsc::Yn_2
protected

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