2 Copyright (C) 2006 Paul Brossier
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 Tempo detection driver
24 This object stores all the memory required for tempo detection algorithm
25 and returns the estimated beat locations.
36 /** tempo detection structure */
37 typedef struct _aubio_tempo_t aubio_tempo_t;
39 /** create tempo detection object */
40 aubio_tempo_t * new_aubio_tempo (aubio_onsetdetection_type type_onset,
41 uint_t buf_size, uint_t hop_size, uint_t channels);
43 /** execute tempo detection */
44 void aubio_tempo_do (aubio_tempo_t *o, fvec_t * input, fvec_t * tempo);
46 /** set tempo detection silence threshold */
47 void aubio_tempo_set_silence(aubio_tempo_t * o, smpl_t silence);
49 /** set tempo detection peak picking threshold */
50 void aubio_tempo_set_threshold(aubio_tempo_t * o, smpl_t threshold);
54 \param bt beat tracking object
56 Returns the currently observed tempo, or 0 if no consistent value is found
59 smpl_t aubio_tempo_get_bpm(aubio_tempo_t * bt);
61 /** get current tempo confidence
63 \param bt beat tracking object
65 Returns the confidence with which the tempo has been observed, 0 if no
66 consistent value is found.
69 smpl_t aubio_tempo_get_confidence(aubio_tempo_t * bt);
71 /** delete tempo detection object */
72 void del_aubio_tempo(aubio_tempo_t * o);