aubio
0.3.2
|
00001 /* 00002 Copyright (C) 2003 Paul Brossier 00003 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation; either version 2 of the License, or 00007 (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00017 00018 */ 00019 00034 #ifndef ONSETDETECTION_H 00035 #define ONSETDETECTION_H 00036 00037 #ifdef __cplusplus 00038 extern "C" { 00039 #endif 00040 00042 typedef enum { 00043 aubio_onset_energy, 00044 aubio_onset_specdiff, 00045 aubio_onset_hfc, 00046 aubio_onset_complex, 00047 aubio_onset_phase, 00048 aubio_onset_kl, 00049 aubio_onset_mkl 00050 } aubio_onsetdetection_type; 00051 00053 typedef struct _aubio_onsetdetection_t aubio_onsetdetection_t; 00063 void aubio_onsetdetection_energy(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset); 00077 void aubio_onsetdetection_hfc(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset); 00089 void aubio_onsetdetection_complex(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset); 00102 void aubio_onsetdetection_phase(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset); 00114 void aubio_onsetdetection_specdiff(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset); 00126 void aubio_onsetdetection_kl(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset); 00138 void aubio_onsetdetection_mkl(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset); 00148 void aubio_onsetdetection(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset); 00156 aubio_onsetdetection_t * new_aubio_onsetdetection(aubio_onsetdetection_type type, uint_t size, uint_t channels); 00162 void del_aubio_onsetdetection(aubio_onsetdetection_t *o); 00168 void aubio_onsetdetection_free(aubio_onsetdetection_t *o); 00169 00170 00171 #ifdef __cplusplus 00172 } 00173 #endif 00174 00175 #endif /* ONSETDETECTION_H */