source: src/onset/onset.h @ d69e37d

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

src/: move tempo files to src/tempo, continue moving pitch and onset files

  • Property mode set to 100644
File size: 2.9 KB
Line 
1/*
2   Copyright (C) 2006 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/** \file
21 
22  Onset detection driver
23
24  The following routines compute the onset detection function and detect peaks
25  in these functions. When onsets are found above a given silence threshold,
26  and after a minimum inter-onset interval, the output vector returned by
27  aubio_onset is filled with 1. Otherwise, the output vector remains 0.
28
29  The peak-picking threshold, the silence threshold, and the minimum
30  inter-onset interval can be adjusted during the execution of the aubio_onset
31  routine using the corresponding functions.
32
33*/
34 
35
36#ifndef ONSET_H
37#define ONSET_H
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43/** onset detection object */
44typedef struct _aubio_onset_t aubio_onset_t;
45
46/** create onset detection object
47 
48  \param type_onset onset detection type as specified in onsetdetection.h
49  \param buf_size buffer size for phase vocoder
50  \param hop_size hop size for phase vocoder
51  \param channels number of channels
52
53*/
54aubio_onset_t * new_aubio_onset (aubio_onsetdetection_type type_onset, 
55    uint_t buf_size, uint_t hop_size, uint_t channels);
56
57/** execute onset detection
58
59  \param o onset detection object as returned by new_aubio_onset
60  \param input new audio vector of length hop_size
61  \param onset output vector, 1 if onset is found, 0 otherwise
62
63*/
64void aubio_onset(aubio_onset_t *o, fvec_t * input, fvec_t * onset);
65
66/** set onset detection silence threshold
67
68  \param o onset detection object as returned by new_aubio_onset
69  \param silence new silence detection threshold
70
71*/
72void aubio_onset_set_silence(aubio_onset_t * o, smpl_t silence);
73
74/** set onset detection peak picking threshold
75
76  \param o onset detection object as returned by new_aubio_onset
77  \param threshold new peak-picking threshold
78
79*/
80void aubio_onset_set_threshold(aubio_onset_t * o, smpl_t threshold);
81
82/** set minimum inter onset interval
83
84  \param o onset detection object as returned by new_aubio_onset
85  \param minioi minimum number of frames between onsets (in multiple of
86  hop_size/samplerare)
87
88*/
89void aubio_onset_set_minioi(aubio_onset_t * o, uint_t minioi);
90
91/** delete onset detection object
92
93  \param o onset detection object to delete
94
95*/
96void del_aubio_onset(aubio_onset_t * o);
97
98#ifdef __cplusplus
99}
100#endif
101
102#endif /* ONSET_H */
Note: See TracBrowser for help on using the repository browser.