This commit is contained in:
2025-04-27 13:11:42 +02:00
parent ca82168784
commit c4d5c39ed5
17 changed files with 82 additions and 149 deletions
+16
View File
@@ -0,0 +1,16 @@
#include "filters.h"
void init_preemphasis(ResistorCapacitor *filter, float tau, float sample_rate) {
filter->prev_sample = 0.0f;
filter->alpha = expf(-1 / (tau*sample_rate));
filter->gain = 1.0f / sqrtf(1.0f - filter->alpha);
}
float apply_preemphasis(ResistorCapacitor *filter, float sample) {
float out = (sample - filter->alpha * filter->prev_sample) * filter->gain;
filter->prev_sample = sample;
return out;
}
float hard_clip(float sample, float threshold) {
return fmaxf(-threshold, fminf(threshold, sample));
}