mirror of
https://github.com/Michatec/Radio.git
synced 2026-05-31 03:12:40 +02:00
Update radio.cpp
This commit is contained in:
@@ -94,16 +94,16 @@ class Reverb {
|
|||||||
public:
|
public:
|
||||||
std::vector<float> delayLine;
|
std::vector<float> delayLine;
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
float feedback = 0.4f;
|
float feedback = 0.8f;
|
||||||
float mix = 0.0f;
|
float mix = 0.0f;
|
||||||
|
|
||||||
Reverb() { delayLine.resize(4410, 0.0f); } // ~100ms
|
Reverb() { delayLine.resize(22050, 0.0f); } // ~500ms
|
||||||
|
|
||||||
float process(float in) {
|
float process(float in) {
|
||||||
float delayed = delayLine[static_cast<size_t>(pos)];
|
float delayed = delayLine[static_cast<size_t>(pos)];
|
||||||
delayLine[static_cast<size_t>(pos)] = in + delayed * feedback;
|
delayLine[static_cast<size_t>(pos)] = in + delayed * feedback;
|
||||||
pos = (pos + 1) % static_cast<int>(delayLine.size());
|
pos = (pos + 1) % static_cast<int>(delayLine.size());
|
||||||
return in + delayed * mix;
|
return in * (1.0f - mix) + delayed * mix;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user