Skip to content

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 attackTime object 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 barkSpec object calculates the Bark spectrum of an audio sample or a specified segment within a sample array.
  • barkSpecBrightness The barkSpecBrightness object 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 barkSpecFlatness object 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 barkSpecSkewness object 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 binWrangler Pure 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 cepstrum object 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 chroma object 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 dct object 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 energy object from the timbreIDLib library calculates the energy of a specified audio sample array or a segment within it.
  • energyEntropy The energyEntropy object 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 from timbreIDLib continuously calculates the energy of an audio signal, offering output in power, RMS, or decibels with adjustable window sizing and normalization.
  • featureAccum The featureAccum object accumulates incoming lists of feature frames, processing them into a single output based on a specified mode.
  • featureDelta The featureDelta object calculates the difference between corresponding attributes of two incoming feature lists, such as audio descriptors.
  • featureNorm The featureNorm object 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 magSpec object from the timbreIDLib library 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 maxSample object 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 maxSampleDelta object 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 mfcc object 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 minSample object 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 peakSample object 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 phaseSpec object from timbreIDLib calculates 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 specCentroid object 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 specFlatness object 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 specFlux object 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 specHarmonicity object 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 specIrregularity object 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 specKurtosis object 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 specRolloff object 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 specSkewness object from the timbreIDLib calculates 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 specSlope object 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 specSpread object 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_mean object 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 tabletool object 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 waveNoise object 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 zeroCrossing object 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.