aubio
0.4.1
|
Pitch detection object. More...
Go to the source code of this file.
Typedefs | |
typedef struct _aubio_pitch_t | aubio_pitch_t |
pitch detection object | |
Functions | |
void | aubio_pitch_do (aubio_pitch_t *o, fvec_t *in, fvec_t *out) |
execute pitch detection on an input signal frame | |
uint_t | aubio_pitch_set_tolerance (aubio_pitch_t *o, smpl_t tol) |
change yin or yinfft tolerance threshold | |
void | del_aubio_pitch (aubio_pitch_t *o) |
deletion of the pitch detection object | |
aubio_pitch_t * | new_aubio_pitch (char_t *method, uint_t buf_size, uint_t hop_size, uint_t samplerate) |
creation of the pitch detection object | |
uint_t | aubio_pitch_set_unit (aubio_pitch_t *o, char_t *mode) |
set the output unit of the pitch detection object | |
uint_t | aubio_pitch_set_silence (aubio_pitch_t *o, smpl_t silence) |
set the silence threshold of the pitch detection object | |
smpl_t | aubio_pitch_get_silence (aubio_pitch_t *o) |
set the silence threshold of the pitch detection object | |
smpl_t | aubio_pitch_get_confidence (aubio_pitch_t *o) |
get the current confidence |
Pitch detection object.
This file creates the objects required for the computation of the selected pitch detection algorithm and output the results, in midi note or Hz.
A list of the pitch detection methods currently available follows.
default
: use the default method
Currently, the default method is set to yinfft
.
schmitt
: Schmitt trigger
This pitch extraction method implements a Schmitt trigger to estimate the period of a signal.
This file was derived from the tuneit project, written by Mario Lang to detect the fundamental frequency of a sound.
See http://delysid.org/tuneit.html
fcomb
: a fast harmonic comb filter
This pitch extraction method implements a fast harmonic comb filter to determine the fundamental frequency of a harmonic sound.
This file was derived from the tuneit project, written by Mario Lang to detect the fundamental frequency of a sound.
See http://delysid.org/tuneit.html
mcomb
: multiple-comb filter
This fundamental frequency estimation algorithm implements spectral flattening, multi-comb filtering and peak histogramming.
This method was designed by Juan P. Bello and described in:
Juan-Pablo Bello. ``Towards the Automated Analysis of Simple Polyphonic Music''. PhD thesis, Centre for Digital Music, Queen Mary University of London, London, UK, 2003.
yin
: YIN algorithm
This algorithm was developped by A. de Cheveigne and H. Kawahara and published in:
De Cheveigné, A., Kawahara, H. (2002) "YIN, a fundamental frequency estimator for speech and music", J. Acoust. Soc. Am. 111, 1917-1930.
see http://recherche.ircam.fr/equipes/pcm/pub/people/cheveign.html
yinfft
: Yinfft algorithm
This algorithm was derived from the YIN algorithm. In this implementation, a Fourier transform is used to compute a tapered square difference function, which allows spectral weighting. Because the difference function is tapered, the selection of the period is simplified.
Paul Brossier, [Automatic annotation of musical audio for interactive systems](http://aubio.org/phd/), Chapter 3, Pitch Analysis, PhD thesis, Centre for Digital music, Queen Mary University of London, London, UK, 2006.
Definition in file pitch.h.
void aubio_pitch_do | ( | aubio_pitch_t * | o, |
fvec_t * | in, | ||
fvec_t * | out | ||
) |
execute pitch detection on an input signal frame
o | pitch detection object as returned by new_aubio_pitch() |
in | input signal of size [hop_size] |
out | output pitch candidates of size [1] |
get the current confidence
o | pitch detection object as returned by new_aubio_pitch() |
set the silence threshold of the pitch detection object
o | pitch detection object as returned by new_aubio_pitch() |
uint_t aubio_pitch_set_silence | ( | aubio_pitch_t * | o, |
smpl_t | silence | ||
) |
set the silence threshold of the pitch detection object
o | pitch detection object as returned by new_aubio_pitch() |
silence | level threshold under which pitch should be ignored, in dB |
uint_t aubio_pitch_set_tolerance | ( | aubio_pitch_t * | o, |
smpl_t | tol | ||
) |
change yin or yinfft tolerance threshold
o | pitch detection object as returned by new_aubio_pitch() |
tol | tolerance default is 0.15 for yin and 0.85 for yinfft |
uint_t aubio_pitch_set_unit | ( | aubio_pitch_t * | o, |
char_t * | mode | ||
) |
set the output unit of the pitch detection object
o | pitch detection object as returned by new_aubio_pitch() |
mode | set pitch units for output |
void del_aubio_pitch | ( | aubio_pitch_t * | o | ) |
deletion of the pitch detection object
o | pitch detection object as returned by new_aubio_pitch() |
aubio_pitch_t* new_aubio_pitch | ( | char_t * | method, |
uint_t | buf_size, | ||
uint_t | hop_size, | ||
uint_t | samplerate | ||
) |
creation of the pitch detection object
method | set pitch detection algorithm |
buf_size | size of the input buffer to analyse |
hop_size | step size between two consecutive analysis instant |
samplerate | sampling rate of the signal |