Fundamental pitch analysis
The Pitch object returns both pitch and confidence values. The 3 algorithms provided are specialised in monophonic pitch tracking and thus will not be very accurate on signals with multiple notes. When no pitch can be detected, a pitch of 0 Hz is returned (or -999.0 when the unit is in MIDI note mode).
The confidence output is a value between 0 and 1 indicating how confident the algorithm is in validity of the pitch estimation it provides. In effect, the confidence output can describe how “noisy” (closer to 0) or “harmonic” (closer to 1) the spectrum is. The pitch confidence may also be low when a signal contains polyphony, as the algorithms are not intended for multiple pitch streams.
The Pitch object has three algorithms to choose from (by setting the
- Cepstrum: Returns a pitch estimate as the location of the second highest peak in the Cepstrum of the signal (after DC).
- Harmonic Product Spectrum: Implements the Harmonic Product Spectrum algorithm for pitch detection. See reference below.
- YinFFT: (the default) Implements the frequency domain version of the YIN algorithm. This is the most advanced and reliable algorithm offered here. It is also the most CPU intensive. See reference below.
unit argument indicates whether the pitch output should be in hertz (indicated by 0) or MIDI note numbers (indicated by 1). MIDI note numbers may be useful, not only because of their direct relationship to MIDI-based synthesis systems, but also because of the logarithmic relationship to hertz, making them perceptually evenly-spaced units (1 MIDI unit = 1 semitone).
An Introduction to Audio Content Analysis: Applications in Signal Processing and Music Informatics.
Paper by A. Lerch describing the implementation of the Harmonic Product Spectrum algorithmhttps://onlinelibrary.wiley.com/doi/book/10.1002/9781118393550
Automatic Annotation of Musical Audio for Interactive Applications.
Paper by P. M. Brossier describing the implementation of the YIN algorithmhttps://essentia.upf.edu/documentation/reference/streaming_PitchYinFFT.html