source: src/beattracking.h @ 98df9f4

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

import 0.1.9beta5 with beat tracking
import 0.1.9beta5 with beat tracking

  • Property mode set to 100644
File size: 1.9 KB
Line 
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 step,
40                uint_t laglen,
41                uint_t rayparam,
42                uint_t channels);
43/**
44 * track the beat
45 * \param beat tracking object
46 * \param current input detection function frame. already smoothed by adaptive median threshold.
47 * \param stored tactus candidate positions
48 */
49void aubio_beattracking_do(aubio_beattracking_t * bt, fvec_t * dfframes, fvec_t * out);
50/**
51 * delete beat tracker object
52 */
53void del_aubio_beattracking(aubio_beattracking_t * p);
54
55#ifdef __cplusplus
56}
57#endif
58
59#endif /* BEATTRACKING_H */
Note: See TracBrowser for help on using the repository browser.