Algorithms reference

Here is the complete list of algorithms which you can access from the Python interface.

The C++ interface allows access to the same algorithms, and also some more which are templated and hence are not available in python.

Spectral

BarkBands

(standard, streaming)
Computes energy in Bark bands of a spectrum

ERBBands

(standard, streaming)
Computes energies/magnitudes in ERB bands of a spectrum

EnergyBand

(standard, streaming)
Computes energy in a given frequency band of a spectrum including both start and stop cutoff frequencies

EnergyBandRatio

(standard, streaming)
Computes the ratio of the spectral energy in the range [startFrequency, stopFrequency] over the total energy

FlatnessDB

(standard, streaming)
Computes the flatness of an array, which is defined as the ratio between the geometric mean and the arithmetic mean converted to dB scale

Flux

(standard, streaming)
Computes the spectral flux of a spectrum

FrequencyBands

(standard, streaming)
Computes energy in rectangular frequency bands of a spectrum

GFCC

(standard, streaming)
Computes the Gammatone-frequency cepstral coefficients of a spectrum

HFC

(standard, streaming)
Computes the High Frequency Content of a spectrum

LPC

(standard, streaming)
Computes Linear Predictive Coefficients and associated reflection coefficients of a signal

MFCC

(standard, streaming)
Computes the mel-frequency cepstrum coefficients of a spectrum

MaxMagFreq

(standard, streaming)
Computes the frequency with the largest magnitude in a spectrum

MelBands

(standard, streaming)
Computes energy in mel bands of a spectrum

Panning

(standard, streaming)
Characterizes panorama distribution by comparing spectra from the left and right channels

PowerSpectrum

(standard, streaming)
Computes the power spectrum of an array of Reals

RollOff

(standard, streaming)
Computes the roll-off frequency of a spectrum

SpectralCentroidTime

(standard, streaming)
Computes the spectral centroid of a signal in time domain

SpectralComplexity

(standard, streaming)
Computes the spectral complexity of a spectrum

SpectralContrast

(standard, streaming)
Computes the Spectral Contrast feature of a spectrum

SpectralPeaks

(standard, streaming)
Extracts peaks from a spectrum

SpectralWhitening

(standard, streaming)
Performs spectral whitening of spectral peaks of a spectrum

Spectrum

(standard, streaming)
Computes the magnitude spectrum of an array of Reals

SpectrumToCent

(standard, streaming)
Computes energy in triangular frequency bands of a spectrum equally spaced on the cent scale

StrongPeak

(standard, streaming)
Computes the Strong Peak of a spectrum

TriangularBands

(standard, streaming)
Computes energy in triangular frequency bands of a spectrum

Extractors

BarkExtractor

(streaming)
Extracts some Bark bands based spectral features from an audio signal

Extractor

(standard)
Extracts all low-level, mid-level and high-level features from an audio signal and stores them in a pool

LowLevelSpectralEqloudExtractor

(standard, streaming)
Extracts a set of level spectral features for which it is recommended to apply a preliminary equal-loudness filter over an input audio signal (according to the internal evaluations conducted at Music Technology Group)

LowLevelSpectralExtractor

(standard, streaming)
Extracts all low-level spectral features, which do not require an equal-loudness filter for their computation, from an audio signal

Segmentation

SBic

(standard, streaming)
Segments audio using the Bayesian Information Criterion given a matrix of frame features

Statistics

CentralMoments

(standard, streaming)
Extracts the 0th, 1st, 2nd, 3rd and 4th central moments of an array

Centroid

(standard, streaming)
Computes the centroid of an array

Crest

(standard, streaming)
Computes the crest of an array

Decrease

(standard, streaming)
Computes the decrease of an array defined as the linear regression coefficient

DistributionShape

(standard, streaming)
Computes the spread (variance), skewness and kurtosis of an array given its central moments

Energy

(standard, streaming)
Computes the energy of an array

Entropy

(standard, streaming)
Computes the Shannon entropy of an array

Flatness

(standard, streaming)
Computes the flatness of an array, which is defined as the ratio between the geometric mean and the arithmetic mean

GeometricMean

(standard, streaming)
Computes the geometric mean of an array of positive values

InstantPower

(standard, streaming)
Computes the instant power of an array

Mean

(standard, streaming)
Computes the mean of an array

Median

(standard, streaming)
Computes the median of an array

PoolAggregator

(standard, streaming)
Performs statistical aggregation on a Pool and places the results of the aggregation into a new Pool

PowerMean

(standard, streaming)
Computes the power mean of an array

RMS

(standard, streaming)
Computes the root mean square (quadratic mean) of an array

RawMoments

(standard, streaming)
Computes the first 5 raw moments of an array

SingleGaussian

(standard, streaming)
Estimates the single gaussian distribution for a matrix of feature vectors

Variance

(standard, streaming)
Computes the variance of an array

Tonal

ChordsDescriptors

(standard, streaming)
Given a chord progression this algorithm describes it by means of key, scale, histogram, and rate of change

ChordsDetection

(standard, streaming)
Estimates chords using pitch profile classes

ChordsDetectionBeats

(standard)
Estimates chords using pitch profile classes on segments between beats

Chromagram

(standard, streaming)
Computes the chromagram of the Constant Q Transform

Dissonance

(standard, streaming)
Computes the sensory dissonance of an audio signal given its spectral peaks

HPCP

(standard, streaming)
Computes a Harmonic Pitch Class Profile (HPCP) from the spectral peaks of a signal

HarmonicPeaks

(standard, streaming)
Finds the harmonic peaks of a signal given its spectral peaks and its fundamental frequency

HighResolutionFeatures

(standard, streaming)
Computes high-resolution chroma features from an HPCP vector

Inharmonicity

(standard, streaming)
Calculates the inharmonicity of a signal given its spectral peaks

Key

(standard, streaming)
Computes key estimate given a pitch class profile (HPCP)

KeyExtractor

(standard, streaming)
Extracts key/scale for an audio signal

OddToEvenHarmonicEnergyRatio

(standard, streaming)
Computes the ratio between a signal's odd and even harmonic energy given the signal's harmonic peaks

PitchSalience

(standard, streaming)
Computes the pitch salience of a spectrum

SpectrumCQ

(standard, streaming)
Computes the Constant Q Spectrogram

TonalExtractor

(standard, streaming)
Computes tonal features for an audio signal

TonicIndianArtMusic

(standard)
Estimates the tonic frequency of the lead artist in Indian art music

Tristimulus

(standard, streaming)
Calculates the tristimulus of a signal given its harmonic peaks

TuningFrequency

(standard, streaming)
Estimates the tuning frequency give a sequence/set of spectral peaks

TuningFrequencyExtractor

(standard, streaming)
Extracts the tuning frequency of an audio signal

Duration/silence

Duration

(standard, streaming)
Outputs the total duration of an audio signal

EffectiveDuration

(standard, streaming)
Computes the effective duration of an envelope signal

FadeDetection

(standard, streaming)
Detects fade-in and fade-outs time positions in an audio signal given a sequence of RMS values

SilenceRate

(standard, streaming)
Estimates if a frame is silent

StartStopSilence

(standard, streaming)
Outputs the frame at which sound begins and the frame at which sound ends

Loudness/dynamics

DynamicComplexity

(standard, streaming)
Computes the dynamic complexity defined as the average absolute deviation from the global loudness level estimate on the dB scale

Intensity

(standard)
Classifies the input audio signal as either relaxed (-1), moderate (0), or aggressive (1)

Larm

(standard, streaming)
Estimates the long-term loudness of an audio signal

Leq

(standard, streaming)
Computes the Equivalent sound level (Leq) of an audio signal

LevelExtractor

(standard, streaming)
Extracts the loudness of an audio signal in frames using Loudness algorithm

Loudness

(standard, streaming)
Computes the loudness of an audio signal defined by Steven's power law

LoudnessEBUR128

(standard, streaming)
Computes the EBU R128 loudness descriptors of an audio signal

LoudnessEBUR128Filter

(streaming)
An auxilary signal preprocessing algorithm used within the LoudnessEBUR128 algorithm

LoudnessVickers

(standard, streaming)
Computes Vickers's loudness of an audio signal

ReplayGain

(standard, streaming)
Computes the Replay Gain loudness value of an audio signal

Envelope/SFX

AfterMaxToBeforeMaxEnergyRatio

(standard, streaming)
Computes the ratio between the pitch energy after the pitch maximum and the pitch energy before the pitch maximum

DerivativeSFX

(standard, streaming)
Computes two descriptors that are based on the derivative of a signal envelope

Envelope

(standard, streaming)
Computes the envelope of a signal by applying a non-symmetric lowpass filter on a signal

FlatnessSFX

(standard, streaming)
Calculates the flatness coefficient of a signal envelope

LogAttackTime

(standard, streaming)
Computes the log (base 10) of the attack time of a signal envelope

MaxToTotal

(standard, streaming)
Computes the ratio between the index of the maximum value of the envelope of a signal and the total length of the envelope

MinToTotal

(standard, streaming)
Computes the ratio between the index of the minimum value of the envelope of a signal and the total length of the envelope

StrongDecay

(standard, streaming)
Computes the Strong Decay of an audio signal

TCToTotal

(standard, streaming)
Calculates the ratio of the temporal centroid to the total length of a signal envelope

Standard

AutoCorrelation

(standard, streaming)
Computes the autocorrelation vector of a signal

BPF

(standard, streaming)
Implements a break point function which linearly interpolates between discrete xy-coordinates to construct a continuous function

BinaryOperator

(standard, streaming)
Performs basic arithmetical operations element by element given two arrays

BinaryOperatorStream

(standard, streaming)
Performs basic arithmetical operations element by element given two arrays

Clipper

(standard, streaming)
Clips the input signal to fit its values into a specified interval

ConstantQ

(standard, streaming)
Implements Constant Q Transform using the FFT for fast calculation

CrossCorrelation

(standard, streaming)
Computes the cross-correlation vector of two signals

CubicSpline

(standard, streaming)
Computes the second derivatives of a piecewise cubic spline

DCT

(standard, streaming)
Computes the Discrete Cosine Transform of an array

Derivative

(standard, streaming)
Returns the first-order derivative of an input signal

FFT

(standard, streaming)
Computes the positive complex short-term Fourier transform (STFT) of an array using the FFT algorithm

FFTC

(standard, streaming)
Computes the positive complex short-term Fourier transform (STFT) of a complex array using the FFT algorithm

FrameCutter

(standard, streaming)
Slices the input buffer into frames

FrameGenerator

(standard)
The FrameGenerator is a Python generator for the FrameCutter algorithm

FrameToReal

(standard, streaming)
Converts a sequence of input audio signal frames into a sequence of audio samples

IDCT

(standard, streaming)
Computes the Inverse Discrete Cosine Transform of an array

IFFT

(standard, streaming)
Calculates the inverse short-term Fourier transform (STFT) of an array of complex values using the FFT algorithm

MonoMixer

(standard, streaming)
Downmixes the signal into a single channel given a stereo signal

Multiplexer

(standard, streaming)
Returns a single vector from a given number of real values and/or frames

NoiseAdder

(standard, streaming)
Adds noise to an input signal

OverlapAdd

(standard, streaming)
Returns the output of an overlap-add process for a sequence of frames of an audio signal

PeakDetection

(standard, streaming)
Detects local maxima (peaks) in an array

RealAccumulator

(streaming)
Takes a stream of Real values and outputs them as a single vector when the end of the stream is reached

Resample

(standard, streaming)
Resamples the input signal to the desired sampling rate

Scale

(standard, streaming)
Scales the audio by the specified factor using clipping if required

Slicer

(standard, streaming)
Splits an audio signal into segments given their start and end times

Spline

(standard, streaming)
Evaluates a piecewise spline of type b, beta or quadratic

StereoDemuxer

(standard, streaming)
Outputs left and right channel separately given a stereo signal

Trimmer

(standard, streaming)
Extracts a segment of an audio signal given its start and end times

UnaryOperator

(standard, streaming)
Performs basic arithmetical operations element by element given an array

UnaryOperatorStream

(standard, streaming)
Performs basic arithmetical operations element by element given an array

VectorRealAccumulator

(streaming)
Takes a stream of Real values and outputs them as a single vector when the end of the stream is reached

WarpedAutoCorrelation

(standard, streaming)
Computes the warped auto-correlation of an audio signal

Windowing

(standard, streaming)
Applies windowing to an audio signal

ZeroCrossingRate

(standard, streaming)
Computes the zero-crossing rate of an audio signal

Input/output

AudioLoader

(standard, streaming)
Loads the single audio stream contained in a given audio or video file

AudioOnsetsMarker

(standard, streaming)
Creates a wave file in which a given audio signal is mixed with a series of time onsets

AudioWriter

(standard, streaming)
Encodes an input signal into a stereo audio file

EasyLoader

(standard, streaming)
Loads the raw audio data from an audio file, downmixes it to mono and normalizes using replayGain

EqloudLoader

(standard, streaming)
Loads the raw audio data from an audio file, downmixes it to mono and normalizes using replayGain and equal-loudness filter

FileOutput

(streaming)
Stores alphanumeric data into text or binary files

MetadataReader

(standard, streaming)
Loads the metadata tags from an audio file as well as outputs its audio properties

MonoLoader

(standard, streaming)
Loads the raw audio data from an audio file and downmixes it to mono

MonoWriter

(standard, streaming)
Writes a mono audio stream to a file

VectorInput

(streaming)
Can be used as the starting point of a streaming network

YamlInput

(standard)
Deserializes a file formatted in YAML to a Pool

YamlOutput

(standard)
Emits a YAML or JSON representation of a Pool

Rhythm

BeatTrackerDegara

(standard, streaming)
Estimates the beat positions given an input signal

BeatTrackerMultiFeature

(standard, streaming)
Estimates the beat positions given an input signal

Beatogram

(standard, streaming)
Filters the loudness matrix given by BeatsLoudness algorithm in order to keep only the most salient beat band representation

BeatsLoudness

(standard, streaming)
Computes the spectrum energy of beats in an audio signal given their positions

BpmHistogram

(standard, streaming)
Analyzes predominant periodicities in a signal given its novelty curve [1] (see NoveltyCurve algorithm) or another onset detection function (see OnsetDetection and OnsetDetectionGlobal)

BpmHistogramDescriptors

(standard, streaming)
Computes beats per minute histogram and its statistics for the highest and second highest peak

BpmRubato

(standard, streaming)
Extracts the locations of large tempo changes from a list of beat ticks

Danceability

(standard, streaming)
Estimates danceability of a given audio signal

HarmonicBpm

(standard, streaming)
Extracts bpms that are harmonically related to the tempo given by the 'bpm' parameter

LoopBpmConfidence

(standard, streaming)
Takes an audio signal and a BPM estimate for that signal and predicts the reliability of the BPM estimate in a value from 0 to 1

LoopBpmEstimator

(standard, streaming)
Estimates the BPM of audio loops

Meter

(standard, streaming)
Estimates the time signature of a given beatogram by finding the highest correlation between beats

NoveltyCurve

(standard, streaming)
Computes the "novelty curve" (Grosche & Müller, 2009) onset detection function

NoveltyCurveFixedBpmEstimator

(standard)
Outputs a histogram of the most probable bpms assuming the signal has constant tempo given the novelty curve

OnsetDetection

(standard, streaming)
Computes various onset detection functions

OnsetDetectionGlobal

(standard, streaming)
Computes various onset detection functions

OnsetRate

(standard, streaming)
Computes the number of onsets per second and their position in time for an audio signal

Onsets

(standard, streaming)
Computes onset positions given various onset detection functions

PercivalBpmEstimator

(standard, streaming)
Estimates the tempo in beats per minute (BPM) from an input signal as described in [1]

PercivalEnhanceHarmonics

(standard, streaming)
Implements the 'Enhance Harmonics' step as described in [1]

PercivalEvaluatePulseTrains

(standard, streaming)
Implements the 'Evaluate Pulse Trains' step as described in [1]

RhythmDescriptors

(standard, streaming)
Computes rhythm features (bpm, beat positions, beat histogram peaks) for an audio signal

RhythmExtractor2013

(standard, streaming)
Extracts the beat positions and estimates their confidence as well as tempo in bpm for an audio signal

RhythmExtractor

(standard, streaming)
Estimates the tempo in bpm and beat positions given an audio signal

RhythmTransform

(standard, streaming)
Implements the rhythm transform

SingleBeatLoudness

(standard, streaming)
Computes the spectrum energy of a single beat across the whole frequency range and on each specified frequency band given an audio segment

SuperFluxExtractor

(standard, streaming)
Detects onsets given an audio signal using SuperFlux algorithm

SuperFluxNovelty

(standard, streaming)
Onset detection function for Superflux algorithm

SuperFluxPeaks

(standard, streaming)
Detects peaks of an onset detection function computed by the SuperFluxNovelty algorithm

TempoScaleBands

(standard, streaming)
Computes features for tempo tracking to be used with the TempoTap algorithm

TempoTap

(standard, streaming)
Estimates the periods and phases of a periodic signal, represented by a sequence of values of any number of detection functions, such as energy bands, onsets locations, etc

TempoTapDegara

(standard, streaming)
Estimates beat positions given an onset detection function

TempoTapMaxAgreement

(standard, streaming)
Outputs beat positions and confidence of their estimation based on the maximum mutual agreement between beat candidates estimated by different beat trackers (or using different features)

TempoTapTicks

(standard, streaming)
Builds the list of ticks from the period and phase candidates given by the TempoTap algorithm

Pitch

MultiPitchKlapuri

(standard)
Estimates multiple pitch values corresponding to the melodic lines present in a polyphonic music signal (for example, string quartet, piano)

MultiPitchMelodia

(standard, streaming)
Estimates multiple fundamental frequency contours from an audio signal

PitchContourSegmentation

(standard)
Converts a pitch sequence estimated from an audio signal into a set of discrete note events

PitchContours

(standard, streaming)
Tracks a set of predominant pitch contours of an audio signal

PitchContoursMelody

(standard, streaming)
Converts a set of pitch contours into a sequence of predominant f0 values in Hz by taking the value of the most predominant contour in each frame

PitchContoursMonoMelody

(standard, streaming)
Converts a set of pitch contours into a sequence of f0 values in Hz by taking the value of the most salient contour in each frame

PitchContoursMultiMelody

(standard, streaming)
Post-processes a set of pitch contours into a sequence of mutliple f0 values in Hz

PitchFilter

(standard, streaming)
Corrects the fundamental frequency estimations for a sequence of frames given pitch values together with their confidence values

PitchMelodia

(standard, streaming)
Estimates the fundamental frequency corresponding to the melody of a monophonic music signal based on the MELODIA algorithm

PitchSalienceFunction

(standard, streaming)
Computes the pitch salience function of a signal frame given its spectral peaks

PitchSalienceFunctionPeaks

(standard, streaming)
Computes the peaks of a given pitch salience function

PitchYin

(standard, streaming)
Estimates the fundamental frequency given the frame of a monophonic music signal

PitchYinFFT

(standard, streaming)
Estimates the fundamental frequency given the spectrum of a monophonic music signal

PredominantPitchMelodia

(standard, streaming)
Estimates the fundamental frequency of the predominant melody from polyphonic music signals using the MELODIA algorithm

Vibrato

(standard, streaming)
Detects the presence of vibrato and estimates its parameters given a pitch contour [Hz]

Filters

AllPass

(standard, streaming)
Implements a IIR all-pass filter of order 1 or 2

BandPass

(standard, streaming)
Implements a 2nd order IIR band-pass filter

BandReject

(standard, streaming)
Implements a 2nd order IIR band-reject filter

DCRemoval

(standard, streaming)
Removes the DC offset from a signal using a 1st order IIR highpass filter

EqualLoudness

(standard, streaming)
Implements an equal-loudness filter

HighPass

(standard, streaming)
Implements a 1st order IIR high-pass filter

IIR

(standard, streaming)
Implements a standard IIR filter

LowPass

(standard, streaming)
Implements a 1st order IIR low-pass filter

MaxFilter

(standard, streaming)
Implements a maximum filter for 1d signal using van Herk/Gil-Werman (HGW) algorithm

MovingAverage

(standard, streaming)
Implements a FIR Moving Average filter

Transformations

PCA

(standard)
Applies Principal Component Analysis based on the covariance matrix of the signal

Math

CartesianToPolar

(standard, streaming)
Converts an array of complex numbers from cartesian to polar form

Magnitude

(standard, streaming)
Computes the absolute value of each element in a vector of complex numbers

PolarToCartesian

(standard, streaming)
Converts an array of complex numbers from polar to cartesian form

Synthesis

HarmonicMask

(standard, streaming)
Applies a spectral mask to remove a pitched source component from the signal

HarmonicModelAnal

(standard, streaming)
Computes the harmonic model analysis

HprModelAnal

(standard, streaming)
Computes the harmonic plus residual model analysis

HpsModelAnal

(standard, streaming)
Computes the harmonic plus stochastic model analysis

ResampleFFT

(standard, streaming)
Resamples a sequence using FFT / IFFT

SineModelAnal

(standard, streaming)
Computes the sine model analysis

SineModelSynth

(standard, streaming)
Computes the sine model synthesis from sine model analysis

SineSubtraction

(standard, streaming)
Subtracts the sinusoids computed with the sine model analysis from an input audio signal

SprModelAnal

(standard, streaming)
Computes the sinusoidal plus residual model analysis

SprModelSynth

(standard, streaming)
Computes the sinusoidal plus residual model synthesis from SPS model analysis

SpsModelAnal

(standard, streaming)
Computes the stochastic model analysis

SpsModelSynth

(standard, streaming)
Computes the sinusoidal plus stochastic model synthesis from SPS model analysis

StochasticModelAnal

(standard, streaming)
Computes the stochastic model analysis

StochasticModelSynth

(standard, streaming)
Computes the stochastic model synthesis