source: src/pitch/pitchyin.h @ 2ba3440

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchpitchshiftsamplertimestretchyinfft+
Last change on this file since 2ba3440 was 2ba3440, checked in by Paul Brossier <piem@piem.org>, 12 years ago

src/pitch/pitchyin.{c,h}: add proper aubio_pitchyin_t object, clean and update prototypes, make multichannel

  • Property mode set to 100644
File size: 2.4 KB
Line 
1/*
2   Copyright (C) 2003 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/** \file
20 
21  Pitch detection using the YIN algorithm
22 
23  This algorithm was developped by A. de Cheveigne and H. Kawahara and
24  published in:
25 
26  De Cheveigné, A., Kawahara, H. (2002) "YIN, a fundamental frequency
27  estimator for speech and music", J. Acoust. Soc. Am. 111, 1917-1930. 
28 
29  see http://recherche.ircam.fr/equipes/pcm/pub/people/cheveign.html
30
31*/
32
33#ifndef PITCHYIN_H
34#define PITCHYIN_H
35
36#ifdef __cplusplus
37extern "C" {
38#endif
39
40/** pitch detection object */
41typedef struct _aubio_pitchyin_t aubio_pitchyin_t;
42
43/** creation of the pitch detection object
44 
45  \param bufsize size of the input buffer to analyse
46 
47*/
48aubio_pitchyin_t * new_aubio_pitchyin (uint_t bufsize);
49
50/** deletion of the pitch detection object
51 
52  \param p pitch detection object as returned by new_aubio_pitchyin()
53 
54*/
55void del_aubio_pitchyin (aubio_pitchyin_t * o);
56
57/** execute pitch detection on an input buffer
58 
59  \param p pitch detection object as returned by new_aubio_pitchyin()
60  \param input input signal window (length as specified at creation time)
61  \param tol tolerance parameter for minima selection [default 0.85]
62 
63*/
64void aubio_pitchyin_do (aubio_pitchyin_t * o, fvec_t *in, fvec_t *out);
65
66
67/** set tolerance parameter for YIN algorithm
68 
69  \param o YIN pitch detection object
70  \param tol tolerance parameter for minima selection [default 0.15]
71
72*/
73uint_t aubio_pitchyin_set_tolerance (aubio_pitchyin_t *o, smpl_t tol);
74
75/** get tolerance parameter for YIN algorithm
76 
77  \param o YIN pitch detection object
78  \return tolerance parameter for minima selection [default 0.15]
79
80*/
81smpl_t aubio_pitchyin_get_tolerance (aubio_pitchyin_t *o);
82
83#ifdef __cplusplus
84}
85#endif
86
87#endif /*PITCHYIN_H*/ 
Note: See TracBrowser for help on using the repository browser.