AudioDistance
AudioDistance[audio1,audio2]
returns a distance measure between audio1 and audio2.
AudioDistance[video1,video2]
returns a distance measure between the audio tracks of video1 and video2.
Details and Options
- AudioDistance computes a dissimilarity measure between audio objects that may compare waveforms or other features of the signals, using different distance functions.
- If audio1 and audio2 are of different durations, the distance is computed on the trimmed signals to the shorter duration by default.
- The following options can be specified:
-
DistanceFunction Automatic the distance function to use Masking Automatic the audio intervals to use for comparison PartitionGranularity Automatic audio partitioning specification SampleRate Automatic sample rate for conforming audioi - By default, using DistanceFunction->Automatic, the EuclideanDistance of audio waveforms is computed. Compute other measures using different distance functions or different features.
- The following distance functions are computed from the Fourier transform of audioi:
-
"SpectralEuclidean" Euclidean applied to the power spectra (default) "SpectralItakuraSaito" maximum likelihood of LPC-derived spectral envelopes "SpectralMagnitudePhaseDistortion" the average of magnitude and phase spectral distances "SpectralRMSLog" Euclidean applied to the log of power spectra "SpectralFirstOrderDifferential" distance between first-order derivatives of power spectra "SpectralSecondOrderDifferential" distance between second-order derivatives of power spectra "Cepstral" Euclidean applied to the power cepstra - Additional DistanceFunction settings are also available and can work on different audio features:
-
EuclideanDistance Euclidean distance SquaredEuclideanDistance squared Euclidean distance NormalizedSquaredEuclideanDistance normalized squared Euclidean distance RootMeanSquare root mean square distance ManhattanDistance Manhattan or "city block" distance CosineDistance angular cosine distance CorrelationDistance correlation coefficient distance WarpingDistance dynamic time warping (DTW) distance f an arbitrary function f - By default, WarpingDistance is computed from the "MFCC" features and all other distances are computed from "AudioData".
- Using DistanceFunction->{method,FeatureExtractor->f}, a different feature extractor can be specified.
- Possible settings for FeatureExtractor include:
-
"AudioData" audio data "Formants" frequencies of the formants of the signal "LPC" linear prediction coefficients "MelSpectrogram" mel-scale audio spectrogram "MFCC" mel-frequency cepstral coefficients vectors sequence "Novelty" estimated measure for significant changes "Spectrogram" spectrogram - By default, AudioDistance is computed on the trimmed signals to the shorter duration.
- Use the Masking option to compute the distance measure on different intervals. Possible settings include:
-
Automatic trim to the shorter duration (default) All pad to the longer duration {t1,t2} compare the signals between times t1 and t2 {{t11,t12},{t21,t22}} t11 to t12 from audio1 compared to t21 to t22 from audio2 - Using Masking->{{t22,t12}},{t21,t22}}, the duration of the two intervals should be the same.
- PartitionGranularity is only used with features that work on partitioned audio, like "MFCC", and ignored otherwise.
- By default, SampleRate->Automatic takes the highest sample rate in all audioi.
Examples
open allclose allScope (2)
Options (13)
DistanceFunction (6)
By default, the "SpectralEuclidean" distance is used:
Various distances are computed on the sample values of the audio signals:
Distances computed on the spectrum compare the frequency content rather than the sample values:
Phase differences of the signals do not affect the computed spectral distance:
By default, any distance measure uses the most suitable audio feature:
Most distances use "AudioData" as the default feature:
With WarpingDistance, the "MFCC" feature is used by default:
All features other than "AudioData" are computed from the signal's short-time Fourier transform:
Masking (4)
If two signals have different lengths, the longer is trimmed to the shorter duration:
To compare the full length of the signals, use Masking->All:
Use the Masking option to compare a specific interval of two audio objects:
As long as the duration of the intervals is the same, they can be chosen from different times:
PartitionGranularity (2)
Use the PartitionGranularity option to control the computation of the features:
If the selected feature is "AudioData", the PartitionGranularity option is ignored:
Text
Wolfram Research (2018), AudioDistance, Wolfram Language function, https://reference.wolfram.com/language/ref/AudioDistance.html (updated 2024).
CMS
Wolfram Language. 2018. "AudioDistance." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/AudioDistance.html.
APA
Wolfram Language. (2018). AudioDistance. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AudioDistance.html