123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- #ifndef EQ10DSP_H_INCLUDED
- #define EQ10DSP_H_INCLUDED
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define EQ10_TRIM_CODE 0.930
- #define EQ10_TRIM_RELEASE 0.700
- #define EQ10_NOFBANDS 10
- #define EQ10_Q 1.41
-
- typedef
- struct eq10band_s
- {
- double gain;
- #ifdef EQ10_DETECTOR_CODE
- double detect;
- double detectdecay;
- #endif
- double ua0,ub1,ub2;
- double da0,db1,db2;
- double x1,x2,y1,y2;
- } eq10band_t;
- typedef
- struct eq10_s
- {
- double rate;
-
- eq10band_t band[EQ10_NOFBANDS];
- double detect;
- double detectdecay;
- } eq10_t;
- double eq10_db2gain(double gain_dB);
- double eq10_gain2db(double gain);
- void eq10_setup(eq10_t *eq, int eqs, double rate);
- void eq10_setgain(eq10_t *eq,int eqs,int bandnr,double gain_dB);
- double eq10_getgain(eq10_t *eq,int bandnr);
- double eq10_detect(eq10_t *eq,int bandnr);
- void eq10_processf(eq10_t *eq,float *buf,float *outbuf,int sz,int idx,int step);
- #ifdef __cplusplus
- }
- #endif
- #endif
|