#include <prim_type.h>
Go to the source code of this file.
Typedefs | |
typedef struct yin_s | yin_t |
Frame-based moving-window pitch estimator. | |
Functions | |
yin_t * | yin_init (int frame_size, float search_threshold, float search_range, int smooth_window) |
Initialize moving-window pitch estimation. | |
void | yin_free (yin_t *pe) |
Free a moving-window pitch estimator. | |
void | yin_start (yin_t *pe) |
Start processing an utterance. | |
void | yin_end (yin_t *pe) |
Mark the end of an utterance. | |
void | yin_write (yin_t *pe, int16 const *frame) |
Feed a frame of data to the pitch estimator. | |
int | yin_read (yin_t *pe, uint16 *out_period, uint16 *out_bestdiff) |
Read a raw estimated pitch value from the pitch estimator. |
This implements part of the YIN algorithm:
"YIN, a fundamental frequency estimator for speech and music". Alain de Cheveigné and Hideki Kawahara. Journal of the Acoustical Society of America, 111 (4), April 2002.
Definition in file yin.h.
int yin_read | ( | yin_t * | pe, | |
uint16 * | out_period, | |||
uint16 * | out_bestdiff | |||
) |
Read a raw estimated pitch value from the pitch estimator.
pe | Pitch estimator. | |
out_period | Output: an estimate of the period (*not* the pitch) of the signal in samples. | |
out_bestdiff | Output: the minimum normalized difference value associated with *out_pitch , in Q15 format (i.e. scaled by 32768). This can be interpreted as one minus the probability of voicing. |
void yin_write | ( | yin_t * | pe, | |
int16 const * | frame | |||
) |
Feed a frame of data to the pitch estimator.
pe | Pitch estimator. | |
frame | Frame of frame_size (see yin_init()) samples of audio data. |