2016-06-20 17:37:56 +00:00
|
|
|
typedef struct compandor {
|
2016-04-23 12:33:02 +00:00
|
|
|
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;
|
2016-06-20 17:37:56 +00:00
|
|
|
} compandor_t;
|
2016-03-13 15:18:42 +00:00
|
|
|
|
2017-06-24 08:09:22 +00:00
|
|
|
void init_compandor(compandor_t *state, double samplerate, double attack_ms, double recovery_ms, double unaffected_level);
|
2017-01-27 15:57:34 +00:00
|
|
|
void compress_audio(compandor_t *state, sample_t *samples, int num);
|
|
|
|
void expand_audio(compandor_t *state, sample_t *samples, int num);
|
2016-03-13 15:18:42 +00:00
|
|
|
|