UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Flanger.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "DSP/Delay.h"
8
9namespace Audio
10{
12 {
13 public:
16
17 SIGNALPROCESSING_API void Init(const float InSampleRate);
18
23
25 protected:
29
30 // LFO parameters
31 // LFO frequency
32 float ModulationRate = 0.5f;
33 // Modulation depth is clamped to CenterDelayMsec to avoid clipping
34 float ModulationDepth = 0.5f;
35 float CenterDelayMsec = 0.5f;
36
37 // Balance between original and delayed signal
38 // (Should be between 0 and 1.0;
39 // 0.5 is equal amounts of each and
40 // > 0.5 is more delayed signal than non-delayed signal)
41 float MixLevel = 0.5f;
42 float DelayedSignalLevel = 0.5f;
44
45 // Internal delay buffer
47 // Scratch buffer used for accumulating delay samples per block
49
50 // Delay sample generated from LFO per block
51 float DelaySample = 0.0f;
52
53 // Internal LFO for delay amount
55
56 // The audio sample rate, Init() must be called to initialize this
57 float SampleRate = 48000.0f;
58 };
59}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
Definition Delay.h:13
Definition Flanger.h:12
float DelayedSignalLevel
Definition Flanger.h:42
FDelay DelayBuffer
Definition Flanger.h:46
static SIGNALPROCESSING_API const float MaxCenterDelay
Definition Flanger.h:28
float ModulationRate
Definition Flanger.h:32
SIGNALPROCESSING_API void SetMixLevel(const float InMixLevel)
Definition Flanger.cpp:57
float CenterDelayMsec
Definition Flanger.h:35
SIGNALPROCESSING_API void SetCenterDelay(const float InCenterDelay)
Definition Flanger.cpp:48
FAlignedFloatBuffer ScratchBuffer
Definition Flanger.h:48
SIGNALPROCESSING_API ~FFlanger()
Definition Flanger.cpp:16
float ModulationDepth
Definition Flanger.h:34
SIGNALPROCESSING_API void ProcessAudio(const FAlignedFloatBuffer &InBuffer, const int32 InNumSamples, FAlignedFloatBuffer &OutBuffer)
Definition Flanger.cpp:68
FSinOsc2DRotation LFO
Definition Flanger.h:54
float DelaySample
Definition Flanger.h:51
float MixLevel
Definition Flanger.h:41
static SIGNALPROCESSING_API const float MaxModulationRate
Definition Flanger.h:27
SIGNALPROCESSING_API FFlanger()
Definition Flanger.cpp:12
float SampleRate
Definition Flanger.h:57
float NonDelayedSignalLevel
Definition Flanger.h:43
static SIGNALPROCESSING_API const float MaxDelaySec
Definition Flanger.h:26
SIGNALPROCESSING_API void SetModulationDepth(const float InModulationDepth)
Definition Flanger.cpp:39
SIGNALPROCESSING_API void SetModulationRate(const float InModulationRate)
Definition Flanger.cpp:28
Definition Dsp.h:126
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53