mirror of
https://github.com/radio95-rnt/fm95.git
synced 2026-02-26 19:23:51 +01:00
23 lines
562 B
C
23 lines
562 B
C
#pragma once
|
|
|
|
#include "../lib/oscillator.h"
|
|
|
|
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);
|
|
float modulate_fm(FMModulator *fm, float sample);
|
|
|
|
typedef struct
|
|
{
|
|
float deviation;
|
|
Oscillator* osc;
|
|
} RefrencedFMModulator;
|
|
void init_refrenced_fm_modulator(RefrencedFMModulator *fm, Oscillator *osc, float deviation);
|
|
float refrenced_modulate_fm(RefrencedFMModulator *fm, float sample, float phase_multiplier);
|