Improved: Parametric filter calculations (command "Filter") are now fully using double precision. This yields a great improvement in signal-to-noise ratio for practically no performance penalty.
Fixed: The method BiQuad::gainAt was returning wrong values. As this method was only used for testing purposes, this change is not user-visible.
This commit is contained in:
1 parent
7ae9879f55
commit
d68b958bc8
7 files changed
+157
-116
No files matched your search
@@ -26,18 +26,26 @@
|
||||
class BiQuadFilter : public IFilter
|
||||
{
|
||||
public:
|
||||
BiQuadFilter(BiQuad::Type type, double dbGain, double freq, double bandwidthOrQOrS, bool isBandwidth);
|
||||
BiQuadFilter(BiQuad::Type type, double dbGain, double freq, double bandwidthOrQOrS, bool isBandwidth, bool isCornerFreq);
|
||||
virtual ~BiQuadFilter();
|
||||
virtual bool getInPlace() {return true;}
|
||||
virtual std::vector<std::wstring> initialize(float sampleRate, unsigned maxFrameCount, std::vector<std::wstring> channelNames);
|
||||
virtual void process(float** output, float** input, unsigned frameCount);
|
||||
|
||||
BiQuad::Type getType() const;
|
||||
double getDbGain() const;
|
||||
double getFreq() const;
|
||||
double getBandwidthOrQOrS() const;
|
||||
bool getIsBandwidth() const;
|
||||
bool getIsCornerFreq() const;
|
||||
|
||||
private:
|
||||
BiQuad::Type type;
|
||||
double dbGain;
|
||||
double freq;
|
||||
double bandwidthOrQOrS;
|
||||
bool isBandwidth;
|
||||
bool isCornerFreq;
|
||||
|
||||
size_t channelCount;
|
||||
BiQuad* biquads;
|
||||
|
||||
Reference in new issue
Block a user