FahlGrahn Audio v1.0.0
Loading...
Searching...
No Matches
NoiseGate.h
1#pragma once
2
3#include "../IDsp.h"
4#include <tuple>
5
6class NoiseGate : public IDsp
7{
8
9 public:
10 NoiseGate(double thresholdDB, double sampleRate);
11 ~NoiseGate();
12
13 void setThreshold(double value);
14 float process(float sample, int channel = 1);
15 void prepare(const double sampleRate, const int numSamples, const int numChannels) override
16 {
17 std::ignore = sampleRate;
18 std::ignore = numSamples;
19 std::ignore = numChannels;
20 }
21 void process(std::span<const float> input, std::span<float>, int channel) override
22 {
23 std::ignore = input;
24 std::ignore = channel;
25 }
26
27 private:
28 double mThresholdLinear;
29 double mAlphaAttack;
30 double mAlphaRelease;
31 double mHold;
32 double gs_prev;
33 double mCA;
34};
Definition IDsp.h:4
Definition NoiseGate.h:7