Files
MesenCE/Utilities/Audio/BiquadCascadeFilter.cpp
SourMesen 3b76e5df9b Audio: Improve audio quality by applying a lowpass filter (#255)
The hermite resampler used did not apply a lowpass filter when downsampling, which caused aliasing. This was easier to notice when setting the output sample rate to 11kHz in the settings since this increases the gap between the core's sample rate & the output rate.
2026-08-15 16:54:36 +09:00

25 lines
506 B
C++

#include "pch.h"
#include "BiquadCascadeFilter.h"
void BiquadCascadeFilter::Init(double srcRate, double dstRate)
{
_stage1.Init(srcRate, dstRate, 0.54119610);
_stage2.Init(srcRate, dstRate, 1.30656296);
}
void BiquadCascadeFilter::Reset()
{
_stage1.Reset();
_stage2.Reset();
}
double BiquadCascadeFilter::ProcessLeft(double in)
{
return _stage2.ProcessLeft(_stage1.ProcessLeft(in));
}
double BiquadCascadeFilter::ProcessRight(double in)
{
return _stage2.ProcessRight(_stage1.ProcessRight(in));
}