4 #include <aubio/aubio.h>
8 typedef unsigned int uint_t;
13 fvec_t * new_fvec(uint_t length, uint_t channels);
14 void del_fvec(fvec_t *s);
15 smpl_t fvec_read_sample(fvec_t *s, uint_t channel, uint_t position);
16 void fvec_write_sample(fvec_t *s, smpl_t data, uint_t channel, uint_t position);
17 smpl_t * fvec_get_channel(fvec_t *s, uint_t channel);
18 void fvec_put_channel(fvec_t *s, smpl_t * data, uint_t channel);
19 smpl_t ** fvec_get_data(fvec_t *s);
22 cvec_t * new_cvec(uint_t length, uint_t channels);
23 void del_cvec(cvec_t *s);
24 void cvec_write_norm(cvec_t *s, smpl_t data, uint_t channel, uint_t position);
25 void cvec_write_phas(cvec_t *s, smpl_t data, uint_t channel, uint_t position);
26 smpl_t cvec_read_norm(cvec_t *s, uint_t channel, uint_t position);
27 smpl_t cvec_read_phas(cvec_t *s, uint_t channel, uint_t position);
28 void cvec_put_norm_channel(cvec_t *s, smpl_t * data, uint_t channel);
29 void cvec_put_phas_channel(cvec_t *s, smpl_t * data, uint_t channel);
30 smpl_t * cvec_get_norm_channel(cvec_t *s, uint_t channel);
31 smpl_t * cvec_get_phas_channel(cvec_t *s, uint_t channel);
32 smpl_t ** cvec_get_norm(cvec_t *s);
33 smpl_t ** cvec_get_phas(cvec_t *s);
37 aubio_fft_t * new_aubio_fft(uint_t size, uint_t channels);
38 void del_aubio_fft(aubio_fft_t * s);
39 void aubio_fft_do (aubio_fft_t *s, fvec_t * input, cvec_t * spectrum);
40 void aubio_fft_rdo (aubio_fft_t *s, cvec_t * spectrum, fvec_t * output);
41 void aubio_fft_do_complex (aubio_fft_t *s, fvec_t * input, fvec_t * compspec);
42 void aubio_fft_rdo_complex (aubio_fft_t *s, fvec_t * compspec, fvec_t * output);
43 void aubio_fft_get_spectrum(fvec_t * compspec, cvec_t * spectrum);
44 void aubio_fft_get_realimag(cvec_t * spectrum, fvec_t * compspec);
45 void aubio_fft_get_phas(fvec_t * compspec, cvec_t * spectrum);
46 void aubio_fft_get_imag(cvec_t * spectrum, fvec_t * compspec);
47 void aubio_fft_get_norm(fvec_t * compspec, cvec_t * spectrum);
48 void aubio_fft_get_real(cvec_t * spectrum, fvec_t * compspec);
51 aubio_filter_t * new_aubio_filter(uint_t order, uint_t channels);
52 void aubio_filter_do(aubio_filter_t * b, fvec_t * in);
53 void aubio_filter_do_outplace(aubio_filter_t * b, fvec_t * in, fvec_t * out);
54 void aubio_filter_do_filtfilt(aubio_filter_t * b, fvec_t * in, fvec_t * tmp);
55 void del_aubio_filter(aubio_filter_t * b);
58 aubio_filter_t * new_aubio_filter_a_weighting (uint_t channels, uint_t samplerate);
59 uint_t aubio_filter_set_a_weighting (aubio_filter_t * b, uint_t samplerate);
62 aubio_filter_t * new_aubio_filter_c_weighting (uint_t channels, uint_t samplerate);
63 uint_t aubio_filter_set_c_weighting (aubio_filter_t * b, uint_t samplerate);
66 aubio_filter_t * new_aubio_filter_biquad(lsmp_t b1, lsmp_t b2, lsmp_t b3, lsmp_t a2, lsmp_t a3, uint_t channels);
67 uint_t aubio_filter_set_biquad (aubio_filter_t * b, lsmp_t b1, lsmp_t b2, lsmp_t b3, lsmp_t a2, lsmp_t a3);
70 fvec_t * new_aubio_window(char * wintype, uint_t size);
71 smpl_t aubio_unwrap2pi (smpl_t phase);
72 smpl_t aubio_bintomidi(smpl_t bin, smpl_t samplerate, smpl_t fftsize);
73 smpl_t aubio_miditobin(smpl_t midi, smpl_t samplerate, smpl_t fftsize);
74 smpl_t aubio_bintofreq(smpl_t bin, smpl_t samplerate, smpl_t fftsize);
75 smpl_t aubio_freqtobin(smpl_t freq, smpl_t samplerate, smpl_t fftsize);
76 smpl_t aubio_freqtomidi(smpl_t freq);
77 smpl_t aubio_miditofreq(smpl_t midi);
78 uint_t aubio_silence_detection(fvec_t * ibuf, smpl_t threshold);
79 smpl_t aubio_level_detection(fvec_t * ibuf, smpl_t threshold);
80 smpl_t aubio_zero_crossing_rate(fvec_t * input);
83 aubio_mfcc_t * new_aubio_mfcc (uint_t win_s, uint_t samplerate, uint_t n_filters, uint_t n_coefs);
84 void del_aubio_mfcc(aubio_mfcc_t *mf);
85 void aubio_mfcc_do(aubio_mfcc_t *mf, cvec_t *in, fvec_t *out);
88 aubio_pvoc_t * new_aubio_pvoc (uint_t win_s, uint_t hop_s, uint_t channels);
89 void del_aubio_pvoc(aubio_pvoc_t *pv);
90 void aubio_pvoc_do(aubio_pvoc_t *pv, fvec_t *in, cvec_t * fftgrain);
91 void aubio_pvoc_rdo(aubio_pvoc_t *pv, cvec_t * fftgrain, fvec_t *out);
94 aubio_pitch_t *new_aubio_pitch (char *pitch_mode,
95 uint_t bufsize, uint_t hopsize, uint_t channels, uint_t samplerate);
96 void aubio_pitch_do (aubio_pitch_t * p, fvec_t * ibuf, fvec_t * obuf);
97 uint_t aubio_pitch_set_tolerance(aubio_pitch_t *p, smpl_t thres);
98 uint_t aubio_pitch_set_unit(aubio_pitch_t *p, char * pitch_unit);
99 void del_aubio_pitch(aubio_pitch_t * p);
102 aubio_tempo_t * new_aubio_tempo (char_t * mode,
103 uint_t buf_size, uint_t hop_size, uint_t channels, uint_t samplerate);
104 void aubio_tempo_do (aubio_tempo_t *o, fvec_t * input, fvec_t * tempo);
105 uint_t aubio_tempo_set_silence(aubio_tempo_t * o, smpl_t silence);
106 uint_t aubio_tempo_set_threshold(aubio_tempo_t * o, smpl_t threshold);
107 smpl_t aubio_tempo_get_bpm(aubio_tempo_t * bt);
108 smpl_t aubio_tempo_get_confidence(aubio_tempo_t * bt);
109 void del_aubio_tempo(aubio_tempo_t * o);