aubiopitch source
aubiopitch [[-i] source] [-o sink]
           [-r rate] [-B win] [-H hop]
           [-p method] [-u unit] [-l thres]
           [-s sil] [-f]
           [-v] [-h] [-j]


aubiopitch attempts to detect the pitch, the perceived height of a musical note.

When started with an input source (-i/--input), the detected pitch are printed on the console, prefixed by a timestamp in seconds. If no pitch candidate is found, the output is 0.

When started without an input source, or with the jack option (-j/--jack), aubiopitch starts in jack mode.


This program follows the usual GNU command line syntax, with long options starting with two dashes (--). A summary of options is included below.

-i, --input source Run analysis on this audio file. Most uncompressed and compressed are supported, depending on how aubio was built.

-o, --output sink Save results in this file. The file will be created on the model of the input file. The detected frequency is played at the detected loudness.

-r, --samplerate rate Fetch the input source, resampled at the given sampling rate. The rate should be specified in Hertz as an integer. If 0, the sampling rate of the original source will be used. Defaults to 0.

-B, --bufsize win The size of the buffer to analyze, that is the length of the window used for spectral and temporal computations. Defaults to 2048.

-H, --hopsize hop The number of samples between two consecutive analysis. Defaults to 256.

-p, --pitch method The pitch detection method to use. See PITCH METHODS below. Defaults to 'default'.

-u, --pitch-unit unit The unit to be used to print frequencies. Possible values include midi, bin, cent, and Hz. Defaults to 'Hz'.

-l, --pitch-tolerance thres Set the tolerance for the pitch detection algorithm. Typical values range between 0.2 and 0.9. Pitch candidates found with a confidence less than this threshold will not be selected. The higher the threshold, the more confidence in the candidates. Defaults to unset.

-s, --silence sil Set the silence threshold, in dB, under which the onset will not be detected. A value of -20.0 would eliminate most onsets but the loudest ones. A value of -90.0 would select all onsets. Defaults to -90.0.

-m, --mix-input Mix source signal to the output signal before writing to sink.

-f, --force-overwrite Overwrite output file if it already exists.

-j, --jack Use Jack input/output. You will need a Jack connection controller to feed aubio some signal and listen to its output.

-h, --help Print a short help message and exit.

-v, --verbose Be verbose.


Available methods are:

default use the default method

Currently, the default method is set to yinfft.

schmitt Schmitt trigger

This pitch extraction method implements a Schmitt trigger to estimate the period of a signal. It is computationally very inexpensive, but also very sensitive to noise.

fcomb a fast harmonic comb filter

This pitch extraction method implements a fast harmonic comb filter to determine the fundamental frequency of a harmonic sound.

mcomb multiple-comb filter

This fundamental frequency estimation algorithm implements spectral flattening, multi-comb filtering and peak histogramming.

specacf Spectral auto-correlation function

yin YIN algorithm

This algorithm was developped by A. de Cheveigne and H. Kawahara and was first published in:

De Cheveigné, A., Kawahara, H. (2002) "YIN, a fundamental frequency estimator for speech and music", J. Acoust. Soc. Am. 111, 1917-1930.

yinfft Yinfft algorithm

This algorithm was derived from the YIN algorithm. In this implementation, a Fourier transform is used to compute a tapered square difference function, which allows spectral weighting. Because the difference function is tapered, the selection of the period is simplified.

Paul Brossier, Automatic annotation of musical audio for interactive systems, Chapter 3, Pitch Analysis, PhD thesis, Centre for Digital music, Queen Mary University of London, London, UK, 2006.

RELATED TO aubiopitch…


This manual page was written by Paul Brossier <[email protected]>. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.