Emulation.Common - Get rid of unused Equalizer class
This commit is contained in:
parent
ec545ae3a0
commit
85ceed3b38
|
@ -146,7 +146,6 @@
|
||||||
<Compile Include="ServiceInjector.cs" />
|
<Compile Include="ServiceInjector.cs" />
|
||||||
<Compile Include="Sound\Utilities\BlipBuffer.cs" />
|
<Compile Include="Sound\Utilities\BlipBuffer.cs" />
|
||||||
<Compile Include="Sound\Utilities\DCFilter.cs" />
|
<Compile Include="Sound\Utilities\DCFilter.cs" />
|
||||||
<Compile Include="Sound\Utilities\Equalizer.cs" />
|
|
||||||
<Compile Include="Sound\Utilities\ISynchronizingAudioBuffer.cs" />
|
<Compile Include="Sound\Utilities\ISynchronizingAudioBuffer.cs" />
|
||||||
<Compile Include="Sound\Utilities\Metaspu.cs" />
|
<Compile Include="Sound\Utilities\Metaspu.cs" />
|
||||||
<Compile Include="Sound\Utilities\SpeexResampler.cs" />
|
<Compile Include="Sound\Utilities\SpeexResampler.cs" />
|
||||||
|
|
|
@ -1,98 +0,0 @@
|
||||||
// C# port of C-based 3-band equalizer (C) Neil C / Etanza Systems / 2006
|
|
||||||
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Common
|
|
||||||
{
|
|
||||||
public sealed class Equalizer
|
|
||||||
{
|
|
||||||
private double lowFilter;
|
|
||||||
private double lowFilterPole0;
|
|
||||||
private double lowFilterPole1;
|
|
||||||
private double lowFilterPole2;
|
|
||||||
private double lowFilterPole3;
|
|
||||||
|
|
||||||
private double highFilter;
|
|
||||||
private double highFilterPole0;
|
|
||||||
private double highFilterPole1;
|
|
||||||
private double highFilterPole2;
|
|
||||||
private double highFilterPole3;
|
|
||||||
|
|
||||||
private double sampleDataMinus1;
|
|
||||||
private double sampleDataMinus2;
|
|
||||||
private double sampleDataMinus3;
|
|
||||||
|
|
||||||
private double lowGain;
|
|
||||||
private double midGain;
|
|
||||||
private double highGain;
|
|
||||||
|
|
||||||
private const double sampleRate = 44100.0;
|
|
||||||
private const double verySmallAmount = 1.0 / 4294967295.0;
|
|
||||||
|
|
||||||
private double lowfreq;
|
|
||||||
|
|
||||||
public double LowFreqCutoff
|
|
||||||
{
|
|
||||||
get { return lowfreq; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
lowfreq = value;
|
|
||||||
lowFilter = 2 * Math.Sin(Math.PI * (lowfreq / sampleRate));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private double highfreq;
|
|
||||||
public double HighFreqCutoff
|
|
||||||
{
|
|
||||||
get { return highfreq; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
highfreq = value;
|
|
||||||
highFilter = 2 * Math.Sin(Math.PI * (highfreq / sampleRate));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Equalizer(double lowFreq = 880, double highFreq = 5000)
|
|
||||||
{
|
|
||||||
lowGain = 1.3;
|
|
||||||
midGain = 0.9;
|
|
||||||
highGain = 1.3;
|
|
||||||
LowFreqCutoff = lowFreq;
|
|
||||||
HighFreqCutoff = highFreq;
|
|
||||||
}
|
|
||||||
|
|
||||||
public short EqualizeSample(short sample)
|
|
||||||
{
|
|
||||||
lowFilterPole0 += (lowFilter * (sample - lowFilterPole0)) + verySmallAmount;
|
|
||||||
lowFilterPole1 += lowFilter * (lowFilterPole0 - lowFilterPole1);
|
|
||||||
lowFilterPole2 += lowFilter * (lowFilterPole1 - lowFilterPole2);
|
|
||||||
lowFilterPole3 += lowFilter * (lowFilterPole2 - lowFilterPole3);
|
|
||||||
double l = lowFilterPole3;
|
|
||||||
|
|
||||||
highFilterPole0 += (highFilter * (sample - highFilterPole0)) + verySmallAmount;
|
|
||||||
highFilterPole1 += highFilter * (highFilterPole0 - highFilterPole1);
|
|
||||||
highFilterPole2 += highFilter * (highFilterPole1 - highFilterPole2);
|
|
||||||
highFilterPole3 += highFilter * (highFilterPole2 - highFilterPole3);
|
|
||||||
double h = sampleDataMinus3 - highFilterPole3;
|
|
||||||
|
|
||||||
double m = sample - (h + l);
|
|
||||||
l *= lowGain;
|
|
||||||
m *= midGain;
|
|
||||||
h *= highGain;
|
|
||||||
|
|
||||||
sampleDataMinus3 = sampleDataMinus2;
|
|
||||||
sampleDataMinus2 = sampleDataMinus1;
|
|
||||||
sampleDataMinus1 = sample;
|
|
||||||
|
|
||||||
return (short)(l + m + h);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Equalize(short[] samples)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < samples.Length; i++)
|
|
||||||
{
|
|
||||||
samples[i] = EqualizeSample(samples[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue