aubiopitch(1) a command line tool to extract musical pitch


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:

use the default method

Currently, the default method is set to yinfft.

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.

a fast harmonic comb filter

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

multiple-comb filter

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

Spectral auto-correlation function
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 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.


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.