Pitch Detect Node

The Pitch Detect Node analyzes a connected audio signal, and attempts to determine its pitch. The detected pitch is then output either as a frequency value, or a MIDI code (configurable).

Note: this Node processes the audio signal in real time, and has some processing latency. Additionally, while it supports more complex, even polyphonic audio signals, it doesn’t guarantee a high accuracy. Thus, you may need to experiment with settings to get the results right.

If you have a melody you want to analyze for its pitch, consider using the Pitch Emitter Node instead.


Inputs

Audio Input

The audio signal to analyze.

This should carry a clearly audible signal. This input generally doesn’t support control signals, unless the control signal itself changes fast enough to yield meaningful frequency information.


Settings

Output Format

The output format of the detected pitch, either as a frequency value (Hz), or as a MIDI code.

Hold Duration

The maximum duration, in milliseconds, for which the last detected pitch value will be kept, in case the pitch can no longer be determined. Greater values will reduce occasional jumps to 0, but might provide increasingly false values over time if the pitch is often indeterminable.

Buffer Size

Number of samples to process in each analysis pass. Larger values increase accuracy. They are also needed to detect lower frequencies, but also increase latency. Buffer sizes up to 1024 are available with AudioNodes HD.


Outputs

Pitch Output

The detected pitch value, or 0 if the Node cannot find a pitch in the source audio signal.

The meaning of this value depends on what you selected as the Output Format setting (i.e. it’s either a frequency value, or a MIDI code).


Technical details

This Node uses an autocorrelation algorithm to determine pitch, and supports polyphonic audio sources.

The analysis of autocorrelation is a mathematical tool for finding repeating patterns, such as the presence of a periodic signal obscured by noise, or identifying the missing fundamental frequency in a signal implied by its harmonic frequencies. It is often used in signal processing for analyzing functions or series of values, such as time domain signals.

https://en.wikipedia.org/wiki/Autocorrelation

Similar Nodes

  • Pitch Emitter Node – converts a melody signal to a control signal containing its pitch, similarly to the Pitch Detect Node, but without latency, and it’s always perfectly accurate
  • Pitch Shift Node – changes the pitch of an audio signal in real time