timbreIDLib
timbreIDLib is a library of audio analysis externals for Pure Data. The classification external timbreID accepts arbitrary lists of audio features and attempts to find the best match between an input feature and previously stored training instances. The library can be used for a variety of real-time and non-real-time applications, including sound classification, sound searching, sound visualization, automatic segmenting, ordering of sounds by timbre, key and tempo estimation, and concatenative synthesis.
Contributors
People who contribute to this project.
Objects
- attackTime The
attackTimeobject analyzes a specified segment of a sound sample array to determine its attack time. - attackTime~ The
attackTime~object calculates the attack time of an audio event in milliseconds. - autoCorrPitch The autoCorrPitch object performs offline pitch tracking on a specified audio sample array using an autocorrelation algorithm.
- autoCorrPitch~ The autoCorrPitch~ object calculates the fundamental pitch of an incoming audio signal using autocorrelation, converting the result to Hertz and MIDI units.
- bark The bark object is a non-real-time audio onset detector that identifies musical attacks by analyzing spectral changes.
- barkSpec The
barkSpecobject calculates the Bark spectrum of an audio sample or a specified segment within a sample array. - barkSpecBrightness The
barkSpecBrightnessobject calculates the brightness of an audio sample by analyzing its Bark spectrum. - barkSpecBrightness~ The barkSpecBrightness~ object calculates the brightness of an audio signal's Bark spectrum.
- barkSpecCentroid The barkSpecCentroid object computes the Bark spectrum centroid, a psychoacoustically weighted measure of an audio signal's spectral balance.
- barkSpecCentroid~ The
barkSpecCentroid~object calculates the Bark spectrum centroid, representing the "center of mass" of an audio signal's energy distribution on the Bark frequency scale. - barkSpecFlatness The
barkSpecFlatnessobject calculates the spectral flatness of an audio signal within Bark-scaled frequency bands. - barkSpecFlatness~ The
barkSpecFlatness~object calculates the spectral flatness of an incoming audio signal within the Bark frequency scale, outputting a value between 0.0 and 1.0 that indicates how noise-like the spectrum is. - barkSpecFlux The barkSpecFlux object calculates the spectral flux between two audio windows (forward and back) based on their Bark band energy differences.
- barkSpecFlux~ The
barkSpecFlux~object calculates the spectral flux of an audio signal based on Bark-band energy differences. - barkSpecIrregularity The barkSpecIrregularity object computes the Bark spectrum irregularity of an audio signal, a descriptor indicating the noisiness or irregularity of its spectral envelope.
- barkSpecIrregularity~ The
barkSpecIrregularity~object calculates the spectral irregularity of an audio signal's Bark spectrum. - barkSpecKurtosis The barkSpecKurtosis object calculates the kurtosis of the Bark spectrum, serving as an audio descriptor within the timbreIDLib.
- barkSpecKurtosis~ The barkSpecKurtosis~ object calculates the kurtosis (peakedness) of an audio signal's Bark spectrum.
- barkSpecRolloff The barkSpecRolloff object calculates the spectral rolloff of an audio signal based on its Bark scale spectrum.
- barkSpecRolloff~ The
barkSpecRolloff~object calculates the Bark spectrum rolloff, which is the Bark frequency below which a specified concentration of spectral energy is located. - barkSpecSkewness The
barkSpecSkewnessobject calculates the skewness of the Bark spectrum of an audio sample. - barkSpecSkewness~ The
barkSpecSkewness~object calculates the skewness of an audio signal's Bark spectrum, quantifying the symmetry of its energy distribution across frequency bands. - barkSpecSlope The barkSpecSlope object calculates the slope of the Bark spectrum for a given audio segment.
- barkSpecSlope~ The
barkSpecSlope~object calculates the slope of the best-fit line through the data points of a Bark spectrum. - barkSpecSpread The barkSpecSpread object calculates the Bark spectrum spread, a measure of the spectral width of an audio signal based on the Bark scale.
- barkSpecSpread~ The barkSpecSpread~ object calculates the spread of an audio signal's Bark spectrum, indicating the concentration of energy around its centroid.
- barkSpec~ The
barkSpec~object analyzes incoming audio to compute its Bark-frequency spectrum, which warps the normal spectrum to the Bark scale, emphasizing low-frequency detail. - bark~ The
bark~object is a real-time onset detector for Pure Data, which analyzes spectral growth using the perceptually-based Bark frequency scale. - bfcc The bfcc object computes Bark-frequency Cepstral Coefficients, which are a common audio descriptor used to characterize timbre.
- bfcc~ The
bfcc~object computes Bark-frequency cepstral coefficients (BFCCs) from an audio input, emphasizing lower spectral content and using a Discrete Cosine Transform. - binWrangler The
binWranglerPure Data object accumulates a specified number of feature vector frames, such as BFCCs, and then outputs the time-varying information organized by bin number as a concatenated list. - cepstrum The
cepstrumobject computes the cepstrum of an audio signal from a specified sample array. - cepstrumPitch The cepstrumPitch object performs offline pitch tracking on an audio sample array using cepstral analysis.
- cepstrumPitch~ The
cepstrumPitch~object performs real-time pitch tracking of an audio signal using cepstrum analysis. - cepstrum~ The cepstrum~ object computes the real cepstrum of an audio signal, derived from the Inverse Fourier Transform of the log magnitude spectrum.
- chroma The
chromaobject performs non-real-time pitch chroma analysis on audio data stored in a Pure Data array. - chroma~ The
chroma~object analyzes incoming audio to determine the spectral energy present in each of the 12 musical pitch classes, regardless of octave. - dct The
dctobject computes the Discrete Cosine Transform (DCT) of a specified portion or the entirety of a Pure Data array. - dct~ The
dct~object computes the Discrete Cosine Transform (DCT) of an incoming audio window, outputting a list of real numbers representing its spectral characteristics. - energy The
energyobject from thetimbreIDLiblibrary calculates the energy of a specified audio sample array or a segment within it. - energyEntropy The
energyEntropyobject calculates the energy entropy of an audio sample array. - energyEntropy~ The
energyEntropy~object measures abrupt changes in the energy of an audio signal. - energy~ The
energy~object fromtimbreIDLibcontinuously calculates the energy of an audio signal, offering output in power, RMS, or decibels with adjustable window sizing and normalization. - featureAccum The
featureAccumobject accumulates incoming lists of feature frames, processing them into a single output based on a specified mode. - featureDelta The
featureDeltaobject calculates the difference between corresponding attributes of two incoming feature lists, such as audio descriptors. - featureNorm The
featureNormobject normalizes incoming feature lists, scaling their values to a specified range (either 0 to 1 by default, or -1 to 1). - harmonicRatio The 'harmonicRatio' object calculates the harmonic ratio of a specified audio sample array or a window within it.
- harmonicRatio~ The
harmonicRatio~object calculates the harmonic ratio of an audio signal, providing an indicator of its periodicity. - magSpec The
magSpecobject from thetimbreIDLiblibrary performs non-real-time spectral analysis on a given audio sample array. - magSpec~ The magSpec~ object calculates the magnitude spectrum of an incoming audio signal over a specified window.
- maxSample The
maxSampleobject analyzes a specified portion of a Pure Data array (typically containing audio samples) to find the maximum sample value and its corresponding index within that segment. - maxSampleDelta The
maxSampleDeltaobject analyzes a specified segment of a sample array to identify the largest absolute difference between consecutive samples. - maxSampleDelta~ The
maxSampleDelta~object analyzes an audio stream to find the largest absolute difference between adjacent samples within a specified window. - maxSample~ The
maxSample~object reports the maximum sample value and its corresponding index within a specified audio window. - melSpec The 'melSpec' object computes a Mel-scaled spectrogram from an audio sample, providing a time-frequency representation of sound.
- melSpec~ The
melSpec~object computes the Mel-frequency spectrum of an incoming audio signal, transforming the linear frequency scale to the perceptually-motivated mel scale. - mfcc The
mfccobject calculates Mel-Frequency Cepstral Coefficients (MFCCs) from an audio sample array, providing a compact representation of the spectral envelope. - mfcc~ The
mfcc~object computes Mel-Frequency Cepstral Coefficients from an audio signal, emphasizing lower spectral content and using a Discrete Cosine Transform. - minSample The
minSampleobject analyzes a specified window within a Pure Data array, typically containing audio samples. - minSampleDelta The minSampleDelta object analyzes a specified window within a sample array to find the smallest absolute difference between consecutive samples.
- minSampleDelta~ The
minSampleDelta~object calculates the minimum absolute difference between adjacent samples within a specified audio window. - minSample~ The
minSample~object reports the value and index of the smallest sample within a configurable N-sample window of incoming audio. - nearestPoint The nearestPoint object identifies the closest point(s) within a stored dataset to a given input point in a multi-dimensional space.
- peakSample The
peakSampleobject analyzes a specified audio array or a segment of it to find the maximum sample value and its corresponding index. - peakSample~ The
peakSample~object identifies the sample with the largest magnitude within a defined window of an incoming audio signal, outputting both its value and index. - phaseSpec The
phaseSpecobject fromtimbreIDLibcalculates the phase spectrum of a specified window within an audio sample array. - phaseSpec~ The
phaseSpec~object calculates and outputs the phase spectrum of an audio signal. - sampleBuffer~ The
sampleBuffer~object buffers incoming audio, providing a windowed segment of the audio stream for real-time analysis. - specBrightness The specBrightness object from the timbreIDLib analyzes the spectral brightness of an audio sample.
- specBrightness~ The
specBrightness~object calculates the spectral brightness of an audio signal, defined as the ratio of high-frequency spectral magnitudes to total spectral magnitudes. - specCentroid The
specCentroidobject calculates the spectral centroid of an audio array, providing a measure of the 'brightness' or 'timbral richness' of a sound. - specCentroid~ The
specCentroid~object calculates the spectral centroid, a low-level timbre feature representing the "center of mass" of an audio signal's magnitude spectrum. - specFlatness The
specFlatnessobject calculates the spectral flatness of an audio array, providing a measure of its noisiness. - specFlatness~ The
specFlatness~object calculates the spectral flatness of an incoming audio signal, providing a measure of how noise-like a sound is. - specFlux The
specFluxobject calculates spectral flux, a measure of how quickly the spectrum of a sound is changing. - specFlux~ The
specFlux~object calculates the spectral flux of an audio signal, quantifying how quickly its spectrum changes over time. - specHarmonicity The
specHarmonicityobject calculates the spectral harmonicity and inharmonicity of an audio sample. - specHarmonicity~ The
specHarmonicity~object quantifies the harmonic alignment of spectral peaks in an audio signal, outputting both harmonicity and inharmonicity values between 0 and 1. - specIrregularity The
specIrregularityobject calculates the spectral irregularity of an audio signal, providing a numerical descriptor of its timbral characteristics. - specIrregularity~ The
specIrregularity~object calculates the spectral irregularity of an audio signal, indicating how jagged or smooth its frequency spectrum is. - specKurtosis The
specKurtosisobject calculates the spectral kurtosis of an audio array, serving as a non-real-time spectral descriptor. - specKurtosis~ The
specKurtosis~object calculates the spectral kurtosis of an audio signal, quantifying the peakedness of its spectrum. - specRolloff The
specRolloffobject calculates the spectral rolloff of an audio signal, identifying the frequency below which a specified percentage of the total spectral energy lies. - specRolloff~ The specRolloff~ object calculates the spectral rolloff frequency of an audio signal, representing the frequency below which a specified percentage of the total spectral energy is concentrated.
- specSkewness The
specSkewnessobject from thetimbreIDLibcalculates the spectral skewness of an audio sample array. - specSkewness~ The
specSkewness~object calculates the spectral skewness of an audio signal, providing a measure of the asymmetry of its spectral envelope. - specSlope The
specSlopeobject calculates the spectral slope of an audio sample, quantifying the average decrease in amplitude across increasing frequencies. - specSlope~ The
specSlope~object calculates the spectral slope of an incoming audio signal, representing the slope of the best-fit line through its magnitude spectrum. - specSpread The
specSpreadobject calculates the spectral spread, a measure of the dispersion of the spectrum around its centroid, for an audio signal stored in a Pure Data array. - specSpread~ The
specSpread~object calculates the spectral spread of an audio signal, quantifying the concentration of its energy around the spectral centroid in Hz. - tID-conversion This Pure Data object provides essential conversion utilities for audio frequency analysis.
- tID_fft The tID_fft object performs an offline Fast Fourier Transform (FFT) on a specified segment of an audio sample array in Pure Data.
- tID_fft~ The
tID_fft~object computes the complex Fast Fourier Transform (FFT) of an audio signal, triggered by a bang. - tID_mean The
tID_meanobject calculates the arithmetic mean of a list of numbers. - tID_std The tID_std object calculates the standard deviation of a list of numbers, requiring at least two elements.
- tabletool The
tabletoolobject provides a comprehensive set of functionalities for manipulating, analyzing, and querying data stored in Pure Data tables. - timbreID The timbreID object stores, clusters, and classifies audio feature vectors, enabling tasks like sound identification and timbre ordering.
- waveNoise The
waveNoiseobject analyzes a specified sample array to quantify its "noisiness" or the rate of change in its waveform direction. - waveNoise~ The
waveNoise~object measures the noisiness of an audio signal by counting the number of times the signal changes direction within a specified window. - waveSlope The waveSlope object analyzes the slope of a waveform stored in a Pure Data array.
- waveSlope~ The
waveSlope~object calculates the slope of the best-fit line through the absolute value of audio samples within a configurable analysis window. - zeroCrossing The
zeroCrossingobject calculates the zero-crossing rate of a specified audio array or a segment of it. - zeroCrossing~ The
zeroCrossing~object measures the noisiness or frequency-related characteristics of an audio signal by counting how many times it crosses the zero amplitude point within a specified window.