ViPERFX_RE/src/viper/effects/SpectrumExtend.h

30 lines
597 B
C
Raw Normal View History

2021-07-30 16:54:59 +02:00
#pragma once
#include <cstdint>
2021-07-30 16:54:59 +02:00
#include "../utils/Harmonic.h"
#include "../utils/MultiBiquad.h"
class SpectrumExtend {
public:
SpectrumExtend();
~SpectrumExtend();
void Process(float *samples, uint32_t size);
2021-07-30 16:54:59 +02:00
void Reset();
void SetEnable(bool enable);
void SetExciter(float value);
void SetReferenceFrequency(uint32_t freq);
2022-09-23 04:15:43 +02:00
void SetSamplingRate(uint32_t samplingRate);
2021-07-30 16:54:59 +02:00
2023-03-10 23:47:48 +01:00
private:
2021-07-30 16:54:59 +02:00
MultiBiquad highpass[2];
MultiBiquad lowpass[2];
Harmonic harmonics[2];
bool enabled;
2022-09-23 04:15:43 +02:00
uint32_t samplingRate;
2021-07-30 16:54:59 +02:00
uint32_t referenceFreq;
float exciter;
};