Andreas Eversberg 7e45f556ce Correcting all levels and move all remaining integer samples to sample_t
The leves are based on the standards of each mobile network. They
are adjusted to the specified frequency deviation now.
2017-02-18 21:01:13 +01:00

22 lines
518 B
C

typedef struct compandor {
struct {
double unaffected;
double step_up;
double step_down;
double peak;
double envelope;
} c;
struct {
double unaffected;
double step_up;
double step_down;
double peak;
double envelope;
} e;
} compandor_t;
void init_compandor(compandor_t *state, int samplerate, double attack_ms, double recovery_ms, double unaffected_level);
void compress_audio(compandor_t *state, sample_t *samples, int num);
void expand_audio(compandor_t *state, sample_t *samples, int num);