2021-07-28 23:50:34 +02:00
|
|
|
#pragma once
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-07-28 23:50:34 +02:00
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
class HighShelf {
|
|
|
|
public:
|
|
|
|
float Process(float sample);
|
|
|
|
|
|
|
|
void SetFrequency(uint32_t freq);
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-07-28 23:50:34 +02:00
|
|
|
void SetGain(float gain);
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-07-28 23:50:34 +02:00
|
|
|
void SetQuality(float q);
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-07-28 23:50:34 +02:00
|
|
|
void SetSamplingRate(uint32_t samplerate);
|
|
|
|
|
|
|
|
uint32_t frequency, samplerate;
|
|
|
|
float quality, gain;
|
|
|
|
|
|
|
|
float y_2, y_1, x_2, x_1;
|
|
|
|
float b0, b1, b2, a1, a2;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|