public final class FastYin extends java.lang.Object implements PitchDetector
Yin
which is based on the implementation found in aubio by Paul Brossier.Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_BUFFER_SIZE
The default size of an audio buffer (in samples).
|
static int |
DEFAULT_OVERLAP
The default overlap of two consecutive audio buffers (in samples).
|
Constructor and Description |
---|
FastYin(float audioSampleRate,
int bufferSize)
Create a new pitch detector for a stream with the defined sample rate.
|
FastYin(float audioSampleRate,
int bufferSize,
double yinThreshold)
Create a new pitch detector for a stream with the defined sample rate.
|
Modifier and Type | Method and Description |
---|---|
PitchDetectionResult |
getPitch(float[] audioBuffer)
The main flow of the YIN algorithm.
|
public static final int DEFAULT_BUFFER_SIZE
public static final int DEFAULT_OVERLAP
public FastYin(float audioSampleRate, int bufferSize)
audioSampleRate
- The sample rate of the audio stream. E.g. 44.1 kHz.bufferSize
- The size of a buffer. E.g. 1024.public FastYin(float audioSampleRate, int bufferSize, double yinThreshold)
audioSampleRate
- The sample rate of the audio stream. E.g. 44.1 kHz.bufferSize
- The size of a buffer. E.g. 1024.yinThreshold
- The parameter that defines which peaks are kept as possible
pitch candidates. See the YIN paper for more details.public PitchDetectionResult getPitch(float[] audioBuffer)
getPitch
in interface PitchDetector
audioBuffer
- The buffer with audio information. The information in the
buffer is not modified so it can be (re)used for e.g. FFT
analysis.