Files
UnrealEngineUWP/Engine/Source/Runtime/SignalProcessing/Private/AudioDebuggingUtilities.cpp
phil popp 2fadfa51ec Audio signal processing cleanup
- Removing need for alignment in audio DSP.
- Decreased header dependencies across codebase to improve build times
- Fixed improper `using namespace` issues.
#jira UE-147590
#rb Helen.Yang, Alfaroh.Corneyiii
#preflight 62a789bd2c521c9c6dac7bb6

[CL 20648535 by phil popp in ue5-main branch]
2022-06-14 10:44:07 -04:00

34 lines
839 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "DSP/AudioDebuggingUtilities.h"
#include "DSP/Dsp.h"
#include "DSP/FloatArrayMath.h"
#include "HAL/Platform.h"
void BreakWhenAudible(float* InBuffer, int32 NumSamples)
{
static const float AudibilityThreshold = Audio::ConvertToLinear(-40.0f);
TArrayView<const float> InBufferView(InBuffer, NumSamples);
float BufferAmplitude = Audio::ArrayGetAverageAbsValue(InBufferView);
if (BufferAmplitude > AudibilityThreshold)
{
PLATFORM_BREAK();
}
}
void BreakWhenTooLoud(float* InBuffer, int32 NumSamples)
{
static const float PainThreshold = Audio::ConvertToLinear(3.0f);
TArrayView<const float> InBufferView(InBuffer, NumSamples);
float BufferAmplitude = Audio::ArrayGetAverageAbsValue(InBufferView);
if (BufferAmplitude > PainThreshold)
{
PLATFORM_BREAK();
}
}