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 00031 #ifndef _PHASEVOC_H 00032 #define _PHASEVOC_H 00033 00034 #ifdef __cplusplus 00035 extern "C" { 00036 #endif 00037 00039 typedef struct _aubio_pvoc_t aubio_pvoc_t; 00040 00048 aubio_pvoc_t * new_aubio_pvoc (uint_t win_s, uint_t hop_s, uint_t channels); 00054 void del_aubio_pvoc(aubio_pvoc_t *pv); 00055 00068 void aubio_pvoc_do(aubio_pvoc_t *pv, fvec_t *in, cvec_t * fftgrain); 00081 void aubio_pvoc_rdo(aubio_pvoc_t *pv, cvec_t * fftgrain, fvec_t *out); 00082 00088 uint_t aubio_pvoc_get_win(aubio_pvoc_t* pv); 00094 uint_t aubio_pvoc_get_hop(aubio_pvoc_t* pv); 00100 uint_t aubio_pvoc_get_channels(aubio_pvoc_t* pv); 00101 00102 #ifdef __cplusplus 00103 } 00104 #endif 00105 00106 #endif