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 #ifndef PITCHAUTOTCORR_H 00020 #define PITCHAUTOTCORR_H 00021 00022 #ifdef __cplusplus 00023 extern "C" { 00024 #endif 00025 00036 typedef enum { 00037 aubio_pitch_yin, 00038 aubio_pitch_mcomb, 00039 aubio_pitch_schmitt, 00040 aubio_pitch_fcomb, 00041 aubio_pitch_yinfft 00042 } aubio_pitchdetection_type; 00043 00045 typedef enum { 00046 aubio_pitchm_freq, 00047 aubio_pitchm_midi, 00048 aubio_pitchm_cent, 00049 aubio_pitchm_bin 00050 } aubio_pitchdetection_mode; 00051 00053 typedef struct _aubio_pitchdetection_t aubio_pitchdetection_t; 00054 00061 smpl_t aubio_pitchdetection(aubio_pitchdetection_t * p, fvec_t * ibuf); 00062 00068 void aubio_pitchdetection_set_yinthresh(aubio_pitchdetection_t *p, smpl_t thres); 00069 00075 void del_aubio_pitchdetection(aubio_pitchdetection_t * p); 00076 00087 aubio_pitchdetection_t * new_aubio_pitchdetection(uint_t bufsize, 00088 uint_t hopsize, 00089 uint_t channels, 00090 uint_t samplerate, 00091 aubio_pitchdetection_type type, 00092 aubio_pitchdetection_mode mode); 00093 00094 #ifdef __cplusplus 00095 } 00096 #endif 00097 00098 #endif /*PITCHDETECTION_H*/