annotate aubioFullOSXUni/include/aubio/pitchmcomb.h @ 0:572c856e38ac

Starting up openFrameworks project for audio time warping. The ofxFileReader goes in addons of your OF folder, the libraries and source (chromogram, fftw and source code src+ timewarp) are probably best kept in the repository, then dragged into the project afresh. That way, as we update the repository, the code that the openFrameworks project looks for will be updated.
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Tue, 17 May 2011 08:48:58 +0100
parents
children
rev   line source
andrew@0 1 /*
andrew@0 2 Copyright (C) 2003 Paul Brossier
andrew@0 3
andrew@0 4 This program is free software; you can redistribute it and/or modify
andrew@0 5 it under the terms of the GNU General Public License as published by
andrew@0 6 the Free Software Foundation; either version 2 of the License, or
andrew@0 7 (at your option) any later version.
andrew@0 8
andrew@0 9 This program is distributed in the hope that it will be useful,
andrew@0 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
andrew@0 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
andrew@0 12 GNU General Public License for more details.
andrew@0 13
andrew@0 14 You should have received a copy of the GNU General Public License
andrew@0 15 along with this program; if not, write to the Free Software
andrew@0 16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
andrew@0 17
andrew@0 18 */
andrew@0 19
andrew@0 20 /** \file
andrew@0 21
andrew@0 22 Pitch detection using multiple-comb filter
andrew@0 23
andrew@0 24 This fundamental frequency estimation algorithm implements spectral
andrew@0 25 flattening, multi-comb filtering and peak histogramming.
andrew@0 26
andrew@0 27 This method was designed by Juan P. Bello and described in:
andrew@0 28
andrew@0 29 Juan-Pablo Bello. ``Towards the Automated Analysis of Simple Polyphonic
andrew@0 30 Music''. PhD thesis, Centre for Digital Music, Queen Mary University of
andrew@0 31 London, London, UK, 2003.
andrew@0 32
andrew@0 33 */
andrew@0 34
andrew@0 35 #ifndef PITCHMCOMB_H
andrew@0 36 #define PITCHMCOMB_H
andrew@0 37
andrew@0 38 #ifdef __cplusplus
andrew@0 39 extern "C" {
andrew@0 40 #endif
andrew@0 41
andrew@0 42 /** pitch detection object */
andrew@0 43 typedef struct _aubio_pitchmcomb_t aubio_pitchmcomb_t;
andrew@0 44
andrew@0 45 /** execute pitch detection on an input spectral frame
andrew@0 46
andrew@0 47 \param p pitch detection object as returned by new_aubio_pitchmcomb
andrew@0 48 \param fftgrain input signal spectrum as computed by aubio_pvoc_do
andrew@0 49
andrew@0 50 */
andrew@0 51 smpl_t aubio_pitchmcomb_detect(aubio_pitchmcomb_t * p, cvec_t * fftgrain);
andrew@0 52 /** select the best candidates */
andrew@0 53 ba_uint_t aubio_pitch_cands(aubio_pitchmcomb_t * p, cvec_t * fftgrain, smpl_t * cands);
andrew@0 54 /** creation of the pitch detection object
andrew@0 55
andrew@0 56 \param bufsize size of the input buffer to analyse
andrew@0 57 \param hopsize step size between two consecutive analysis instant
andrew@0 58 \param channels number of channels to analyse
andrew@0 59 \param samplerate sampling rate of the signal
andrew@0 60
andrew@0 61 */
andrew@0 62 aubio_pitchmcomb_t * new_aubio_pitchmcomb(ba_uint_t bufsize, ba_uint_t hopsize, ba_uint_t channels, ba_uint_t samplerate);
andrew@0 63 /** deletion of the pitch detection object
andrew@0 64
andrew@0 65 \param p pitch detection object as returned by new_aubio_pitchfcomb
andrew@0 66
andrew@0 67 */
andrew@0 68 void del_aubio_pitchmcomb(aubio_pitchmcomb_t *p);
andrew@0 69
andrew@0 70 #ifdef __cplusplus
andrew@0 71 }
andrew@0 72 #endif
andrew@0 73
andrew@0 74 #endif/*PITCHMCOMB_H*/