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.
Envelope/SFX
AfterMaxToBeforeMaxEnergyRatio
Computes the ratio between the pitch energy after the pitch maximum and the pitch energy before the pitch maximum
DerivativeSFX
Computes two descriptors that are based on the derivative of a signal envelope
Envelope
Computes the envelope of a signal by applying a non-symmetric lowpass filter on a signal
LogAttackTime
Computes the log (base 10) of the attack time of a signal envelope
MaxToTotal
Computes the ratio between the index of the maximum value of the envelope of a signal and the total length of the envelope
Filters
DCRemoval
Removes the DC offset from a signal using a 1st order IIR highpass filter
MaxFilter
Implements a maximum filter for 1d signal using van Herk/Gil-Werman (HGW) algorithm
Input/output
AudioLoader
Loads the single audio stream contained in a given audio or video file
AudioOnsetsMarker
Creates a wave file in which a given audio signal is mixed with a series of time onsets
EasyLoader
Loads the raw audio data from an audio file, downmixes it to mono and normalizes using replayGain
EqloudLoader
Loads the raw audio data from an audio file, downmixes it to mono and normalizes using replayGain and equal-loudness filter
Standard
BPF
Implements a break point function which linearly interpolates between discrete xy-coordinates to construct a continuous function
BinaryOperator
Performs basic arithmetical operations element by element given two arrays
BinaryOperatorStream
Performs basic arithmetical operations element by element given two arrays
FFT
Computes the positive complex short-term Fourier transform (STFT) of an array using the FFT algorithm
FFTC
Computes the complex short-term Fourier transform (STFT) of a complex array using the FFT algorithm
FrameToReal
Converts a sequence of input audio signal frames into a sequence of audio samples
IFFT
Calculates the inverse short-term Fourier transform (STFT) of an array of complex values using the FFT algorithm
IFFTC
Calculates the inverse short-term Fourier transform (STFT) of an array of complex values using the FFT algorithm
Multiplexer
Returns a single vector from a given number of real values and/or frames
NSGConstantQ
Computes a constant Q transform using non stationary Gabor frames and returns a complex time-frequency representation of the input vector
NSGConstantQStreaming
Computes a constant Q transform using non stationary Gabor frames and returns a complex time-frequency representation of the input vector
NSGIConstantQ
Computes an inverse constant Q transform using non stationary Gabor frames and returns a complex time-frequency representation of the input vector
OverlapAdd
Returns the output of an overlap-add process for a sequence of frames of an audio signal
RealAccumulator
Takes a stream of Real values and outputs them as a single vector when the end of the stream is reached
StereoTrimmer
Extracts a segment of a stereo audio signal given its start and end times
UnaryOperator
Performs basic arithmetical operations element by element given an array
UnaryOperatorStream
Performs basic arithmetical operations element by element given an array
VectorRealAccumulator
Takes a stream of Real values and outputs them as a single vector when the end of the stream is reached
Spectral
EnergyBand
Computes energy in a given frequency band of a spectrum including both start and stop cutoff frequencies
EnergyBandRatio
Computes the ratio of the spectral energy in the range [startFrequency, stopFrequency] over the total energy
FlatnessDB
Computes the flatness of an array, which is defined as the ratio between the geometric mean and the arithmetic mean converted to dB scale
LPC
Computes Linear Predictive Coefficients and associated reflection coefficients of a signal
Panning
Characterizes panorama distribution by comparing spectra from the left and right channels
SpectrumToCent
Computes energy in triangular frequency bands of a spectrum equally spaced on the cent scale
TensorflowInputFSDSINet
Computes mel bands from an audio frame with the specific parametrization required by the FSD-SINet models
TensorflowInputMusiCNN
Computes mel-bands specific to the input of MusiCNN-based models
TensorflowInputTempoCNN
Computes mel-bands specific to the input of TempoCNN-based models
Rhythm
Beatogram
Filters the loudness matrix given by BeatsLoudness algorithm in order to keep only the most salient beat band representation
BeatsLoudness
Computes the spectrum energy of beats in an audio signal given their positions
BpmHistogram
Analyzes predominant periodicities in a signal given its novelty curve [1] (see NoveltyCurve algorithm) or another onset detection function (see OnsetDetection and OnsetDetectionGlobal)
BpmHistogramDescriptors
Computes beats per minute histogram and its statistics for the highest and second highest peak
BpmRubato
Extracts the locations of large tempo changes from a list of beat ticks
HarmonicBpm
Extracts bpms that are harmonically related to the tempo given by the 'bpm' parameter
LoopBpmConfidence
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
Meter
Estimates the time signature of a given beatogram by finding the highest correlation between beats
NoveltyCurve
Computes the "novelty curve" (Grosche & Müller, 2009) onset detection function
NoveltyCurveFixedBpmEstimator
Outputs a histogram of the most probable bpms assuming the signal has constant tempo given the novelty curve
OnsetRate
Computes the number of onsets per second and their position in time for an audio signal
PercivalBpmEstimator
Estimates the tempo in beats per minute (BPM) from an input signal as described in [1]
PercivalEnhanceHarmonics
Implements the 'Enhance Harmonics' step as described in [1]
PercivalEvaluatePulseTrains
Implements the 'Evaluate Pulse Trains' step as described in [1]
RhythmDescriptors
Computes rhythm features (bpm, beat positions, beat histogram peaks) for an audio signal
RhythmExtractor2013
Extracts the beat positions and estimates their confidence as well as tempo in bpm for an audio signal
RhythmExtractor
Estimates the tempo in bpm and beat positions given an audio signal
SingleBeatLoudness
Computes the spectrum energy of a single beat across the whole frequency range and on each specified frequency band given an audio segment
SuperFluxExtractor
Detects onsets given an audio signal using SuperFlux algorithm
SuperFluxPeaks
Detects peaks of an onset detection function computed by the SuperFluxNovelty algorithm
TempoScaleBands
Computes features for tempo tracking to be used with the TempoTap algorithm
TempoTap
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
Math
CartesianToPolar
Converts an array of complex numbers from cartesian to polar form
Statistics
CentralMoments
Extracts the 0th, 1st, 2nd, 3rd and 4th central moments of an array
Decrease
Computes the decrease of an array defined as the linear regression coefficient
DistributionShape
Computes the spread (variance), skewness and kurtosis of an array given its central moments
Flatness
Computes the flatness of an array, which is defined as the ratio between the geometric mean and the arithmetic mean
PoolAggregator
Performs statistical aggregation on a Pool and places the results of the aggregation into a new Pool
Tonal
ChordsDescriptors
Given a chord progression this algorithm describes it by means of key, scale, histogram, and rate of change
ChordsDetection
Estimates chords given an input sequence of harmonic pitch class profiles (HPCPs)
ChordsDetectionBeats
Estimates chords using pitch profile classes on segments between beats
Dissonance
Computes the sensory dissonance of an audio signal given its spectral peaks
HPCP
Computes a Harmonic Pitch Class Profile (HPCP) from the spectral peaks of a signal
HarmonicPeaks
Finds the harmonic peaks of a signal given its spectral peaks and its fundamental frequency
HighResolutionFeatures
Computes high-resolution chroma features from an HPCP vector
NNLSChroma
Extracts treble and bass chromagrams from a sequence of log-frequency spectrum frames
OddToEvenHarmonicEnergyRatio
Computes the ratio between a signal's odd and even harmonic energy given the signal's harmonic peaks
Music Similarity
ChromaCrossSimilarity
Computes a binary cross similarity matrix from two chromagam feature vectors of a query and reference song
CoverSongSimilarity
Computes a cover song similiarity measure from a binary cross similarity matrix input between two chroma vectors of a query and reference song using various alignment constraints of smith-waterman local-alignment algorithm
CrossSimilarityMatrix
Computes a euclidean cross-similarity matrix of two sequences of frame features
Fingerprinting
Audio Problems
ClickDetector
Detects the locations of impulsive noises (clicks and pops) on the input audio frame
DiscontinuityDetector
Uses LPC and some heuristics to detect discontinuities in an audio signal
FalseStereoDetector
Detects if a stereo track has duplicated channels (false stereo)
NoiseBurstDetector
Detects noise bursts in the waveform by thresholding the peaks of the second derivative
SaturationDetector
This algorithm outputs the staring/ending locations of the saturated regions in seconds
Duration/silence
Loudness/dynamics
DynamicComplexity
Computes the dynamic complexity defined as the average absolute deviation from the global loudness level estimate on the dB scale
Intensity
Classifies the input audio signal as either relaxed (-1), moderate (0), or aggressive (1)
LevelExtractor
Extracts the loudness of an audio signal in frames using Loudness algorithm
LoudnessEBUR128Filter
An auxilary signal preprocessing algorithm used within the LoudnessEBUR128 algorithm
Extractors
Extractor
Extracts all low-level, mid-level and high-level features from an audio signal and stores them in a pool
LowLevelSpectralEqloudExtractor
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
Extracts all low-level spectral features, which do not require an equal-loudness filter for their computation, from an audio signal
MusicExtractorSVM
This algorithms computes SVM predictions given a pool with aggregated descriptor values computed by MusicExtractor (or FreesoundExtractor)
Transformations
Synthesis
HarmonicMask
Applies a spectral mask to remove a pitched source component from the signal
SineSubtraction
Subtracts the sinusoids computed with the sine model analysis from an input audio signal
SprModelSynth
Computes the sinusoidal plus residual model synthesis from SPS model analysis
Pitch
MultiPitchKlapuri
Estimates multiple pitch values corresponding to the melodic lines present in a polyphonic music signal (for example, string quartet, piano)
MultiPitchMelodia
Estimates multiple fundamental frequency contours from an audio signal
PitchContourSegmentation
Converts a pitch sequence estimated from an audio signal into a set of discrete note events
PitchContoursMelody
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
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
Post-processes a set of pitch contours into a sequence of mutliple f0 values in Hz
PitchFilter
Corrects the fundamental frequency estimations for a sequence of frames given pitch values together with their confidence values
PitchMelodia
Estimates the fundamental frequency corresponding to the melody of a monophonic music signal based on the MELODIA algorithm
PitchSalienceFunction
Computes the pitch salience function of a signal frame given its spectral peaks
PitchSalienceFunctionPeaks
Computes the peaks of a given pitch salience function
PitchYin
Estimates the fundamental frequency given the frame of a monophonic music signal
PitchYinFFT
Estimates the fundamental frequency given the spectrum of a monophonic music signal
PitchYinProbabilistic
Computes the pitch track of a mono audio signal using probabilistic Yin algorithm
PitchYinProbabilities
Estimates the fundamental frequencies, their probabilities given the frame of a monophonic music signal
PitchYinProbabilitiesHMM
Estimates the smoothed fundamental frequency given the pitch candidates and probabilities using hidden Markov models
Segmentation
Machine Learning
TensorflowPredict
Runs a Tensorflow graph and stores the desired output tensors in a pool
TensorflowPredictCREPE
Generates activations of monophonic audio signals using CREPE models