fix this mess of libraries

This commit is contained in:
2026-07-05 17:49:51 +02:00
parent b09834b801
commit 8e4709f456
24 changed files with 62 additions and 82 deletions
+23 -2
View File
@@ -9,7 +9,7 @@
#define DEFAULT_DEVIATION 7000.0f
#define DEFAULT_CLIPPER_THRESHOLD 1.0f
#include "../modulation/fm_modulator.h"
#include "oscillator.h"
#define DEFAULT_SAMPLE_RATE 192000
@@ -18,7 +18,7 @@
#define BUFFER_SIZE 2048
#include "../io/audio.h"
#include "audio.h"
#define DEFAULT_AUDIO_VOLUME 1.0f // Audio volume, before clipper
@@ -70,6 +70,27 @@ void show_help(char *name) {
);
}
typedef struct {
float frequency;
float deviation;
float osc_phase;
float sample_rate;
} FMModulator;
void init_fm_modulator(FMModulator *fm, float frequency, float deviation, float sample_rate) {
fm->frequency = frequency;
fm->deviation = deviation;
fm->sample_rate = sample_rate;
fm->osc_phase = 0.0f;
}
float modulate_fm(FMModulator *fm, float sample) {
float inst_freq = fm->frequency+(sample*fm->deviation);
fm->osc_phase += (M_2PI * inst_freq) / fm->sample_rate;
fm->osc_phase -= (fm->osc_phase >= M_2PI) ? M_2PI : 0.0f;
return sinf(fm->osc_phase);
}
int run_sca95(const Sca95_Config config, Sca95_Runtime* runtime) {
FMModulator sca_mod;
init_fm_modulator(&sca_mod, config.freq, config.deviation, config.sample_rate);