logspec.dist {seewave} | R Documentation |
Log-spectral distance
Description
Compare two distributions (e.g. two frequency spectra) by computing the log-spectral distance
Usage
logspec.dist(spec1, spec2, scale=FALSE)
Arguments
spec1 |
any distribution, especially a spectrum obtained with |
spec2 |
any distribution, especially a spectrum obtained with
|
scale |
a logical, if |
Details
The distance is computed according to:
D_{LS}(spec1 \Vert spec2) = D_{LS}(spec2 \Vert spec1) = \sqrt{\sum{10
\times log_{10}(\frac{spec1}{spec2})^{2}}}
If scale = TRUE
the distance is divided by the length of spec1
(or spec2
).
Value
A numeric vector of length 1 returning the D distance.
Note
The function works for both Hz and (htk-)mel scales.
Note
The distance is symmetric.
Author(s)
Jerome Sueur, improved by Laurent Lellouch
See Also
ks.dist
, kl.dist
,
itakura.dist
, simspec
, diffspec
Examples
# Comparison of two spectra
data(tico)
tico1 <- spec(tico, at=0.65, plot=FALSE)
tico2 <- spec(tico, at=1.1, plot=FALSE)
logspec.dist(tico1, tico2)
logspec.dist(tico1, tico2, scale=TRUE)