AUBIOPITCH(1)

๐Ÿ’… AUBIOPITCH โ€” aubio User's manual, bestie edition โœจ

okay so picture this: it's a command line tool from the aubio manual, and its whole personality is extracting musical pitch. That's the NAME section, we're done, slay.


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

Like, here's the vibe in code form, keep it exactly as-is:

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

no cap, that's the whole shape of it ๐Ÿซถ


โœจ DESCRIPTION โœจ

So aubiopitch attempts to detect the pitch โ€” aka the perceived height of a musical note. It's giving "perfect pitch but make it a binary." ๐ŸŽต

When you start it with an input source (-i/--input), the detected pitch gets printed on the console, prefixed by a timestamp in seconds. And if no pitch candidate is found? The output is literally 0. Not a vibe, but honest. ๐Ÿ’€

When you start it without an input source, or with the jack option (-j/--jack), aubiopitch starts in jack mode. main character energy tbqh ๐Ÿ‘‘


๐ŸŒธ OPTIONS ๐ŸŒธ

This program follows the usual GNU command line syntax, with long options starting with two dashes (--). A summary of options is included below, and yes I'm giving you every single one, because we don't do half-finished here. ๐Ÿ’–

  • -i, --input source โ€” run the analysis on this audio file. Most uncompressed and compressed formats are supported, depending on how aubio was built (so like, iykyk, it depends on the build ๐Ÿฆ‹).
  • -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. cute, right? ๐Ÿ”ฅ
  • -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'. pick your fighter ๐Ÿ’…
  • -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. (yes, unset โ€” it's mysterious like that ๐Ÿ™ˆ)
  • -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. ๐Ÿคซ
  • -T, --timeformat format โ€” set time format (samples, ms, seconds). Defaults to seconds. โฑ๏ธ
  • -m, --mix-input โ€” mix source signal to the output signal before writing to sink.
  • -f, --force-overwrite โ€” overwrite output file if it already exists. no "are you sure?" popup, just send it ๐Ÿš€
  • -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. talk to me bestie ๐Ÿ—ฃ๏ธ

๐Ÿฆ‹ PITCH METHODS ๐Ÿฆ‹

Available methods are:

default

use the default method.

Currently, the default method is set to yinfft. (yes bestie, the default has a default. inception fr fr ๐ŸŒ€)

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. so like, cheap AND dramatic ๐Ÿ˜ญ

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. it's giving layers ๐Ÿ’œ

specacf

Spectral auto-correlation function

yin

YIN algorithm

This algorithm was developed 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.

(the citation stays EXACTLY as written, we respect the icons ๐Ÿ‘)

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.

yinfast

YIN algorithm (accelerated)

An optimised implementation of the YIN algorithm, yielding results identical to the original YIN algorithm, while reducing its computational cost from O(n^2) to O(n log(n)). literally the glow-up of algorithms, obsessed โšก


๐ŸŒˆ SEE ALSO ๐ŸŒˆ

go check out the whole friend group: aubioonset(1), aubiotrack(1), aubionotes(1), aubioquiet(1), aubiomfcc(1), and aubiocut(1). squad goals ๐Ÿซถ


๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

This manual page was written by Paul Brossier <piem@aubio.org>.

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. ๐Ÿ’– (legal text but make it cute โ€” the permissions are unchanged, promise)


okay that's the whole page, bestie! ๐Ÿ’…โœจ

this iconic little doc is aubio 0.4.9, dated 29 March 2025 โ€” and the AUBIOPITCH(1) era is so real. ๐ŸŽ€ go pitch something. ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from