PitchFilter

streaming mode | Pitch category

Inputs

  • pitchConfidence (vector_real) - vector of pitch confidence values for the input frames

  • pitch (vector_real) - vector of pitch values for the input frames [Hz]

Outputs

  • pitchFiltered (vector_real) - vector of corrected pitch values [Hz]

Parameters

  • confidenceThreshold (integer ∈ [0, ∞), default = 36) :

    ratio between the average confidence of the most confident chunk and the minimum allowed average confidence of a chunk

  • minChunkSize (integer ∈ [0, ∞), default = 30) :

    minumum number of frames in non-zero pitch chunks

  • useAbsolutePitchConfidence (bool ∈ {true, false}, default = false) :

    treat negative pitch confidence values as positive (use with melodia guessUnvoiced=True)

Description

This algorithm corrects the fundamental frequency estimations for a sequence of frames given pitch values together with their confidence values. In particular, it removes non-confident parts and spurious jumps in pitch and applies octave corrections.

They can be computed with the PitchYinFFT, PitchYin, or PredominantPitchMelodia algorithms. If you use PredominantPitchMelodia with guessUnvoiced=True, set useAbsolutePitchConfidence=True.

The algorithm can be used for any type of monophonic and heterophonic music.

The original algorithm [1] was proposed to be used for Makam music and employs signal”energy” of frames instead of pitch confidence.

References:

[1] B. Bozkurt, “An Automatic Pitch Analysis Method for Turkish Maqam Music,” Journal of New Music Research. 37(1), 1-13.

Source code

See also

FFT (standard) FFT (streaming) PitchFilter (standard) PitchMelodia (standard) PitchMelodia (streaming) PitchYin (standard) PitchYin (streaming) PitchYinFFT (standard) PitchYinFFT (streaming) PredominantPitchMelodia (standard) PredominantPitchMelodia (streaming)