source: src/beattracking.h @ c73268a

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since c73268a was 0ce9acc3, checked in by Paul Brossier <piem@altern.org>, 20 years ago

updated beattracking.c ad aubiotrack.c to support variable hopsize

  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[b78805a]1/*
2         Copyright (C) 2003 Matthew Davies and Paul Brossier
3
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.
8
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.
13
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.
17         
18*/
19
20#ifndef BEATTRACKING_H
21#define BEATTRACKING_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/**
28 * beat tracking object
29 */
30typedef struct _aubio_beattracking_t aubio_beattracking_t;
31/**
32 * create beat tracking object
33 * \param frame size [512]
34 * \param step increment - both in detection function samples -i.e. 11.6ms or 1 onset frame [128]
35 * \param length over which beat period is found [128]
36 * \param parameter for rayleigh weight vector - sets preferred tempo to 120bpm [43]
37 * \param channel number (not functionnal) [1] */
38aubio_beattracking_t * new_aubio_beattracking(uint_t winlen,
39                uint_t channels);
40/**
41 * track the beat
42 * \param beat tracking object
43 * \param current input detection function frame. already smoothed by adaptive median threshold.
44 * \param stored tactus candidate positions
45 */
46void aubio_beattracking_do(aubio_beattracking_t * bt, fvec_t * dfframes, fvec_t * out);
47/**
48 * delete beat tracker object
49 */
50void del_aubio_beattracking(aubio_beattracking_t * p);
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif /* BEATTRACKING_H */
Note: See TracBrowser for help on using the repository browser.