This function tests the similarity between two spectrograms by returning their maximal covariance and the time shift related to it.
covspectro(wave1, wave2, f, channel = c(1,1), wl = 512, wn = "hanning", n,
plot = TRUE, plotval = TRUE,
method = "spearman", col = "black", colval = "red", cexval = 1,
fontval = 1, xlab = "Time (s)",
ylab = "Normalised covariance (cov)", type = "l", pb = FALSE, ...)a first R object.
a second R object.
sampling frequency of wave (in Hz). Does not need to
be specified if embedded in wave.
channel of the R objects, by default left channel (1) for each object.
length of the window for the analysis (even number of points, by default = 512).
window name, see ftwindow (by default "hanning").
number of covariances computed between wave1 and wave2
when sliding wave2 along wave1.
logical, if TRUE plots r values against frequency shift
(by default TRUE).
logical, if TRUE adds to the plot maximum R value
and frequency offset (by default TRUE).
a character string indicating which correlation coefficient is
to be computed ("pearson", "spearman", or "kendall")
(see cor).
colour of r values.
colour of r max and frequency offset values.
character size of r max and frequency offset values.
font of r max and frequency offset values.
title of the frequency axis.
title of the r axis.
if plot is TRUE, type of plot that should be drawn.
See plot for details (by default "l" for lines).
if TRUE returns a text progress bar in the console.
other plot graphical parameters.
If plot is FALSE, covspectro returns a list containing
three components:
the successive covariance values between wave1 and wave2.
the maximum covariance between wave1 and wave2.
the time offset corresponding to cov.
Successive covariances between the spectrogram of wave1 and
the spectrogram of wave2 are computed when regularly sliding
forward and backward wave2 along wave1.
The maximal covariance is obtained at a particular shift (time offset).
This shift may be positive or negative.
n sets in how many steps wave2 will be slided along wave1.
Time process can be then decreased by setting low n value.
Inverting wave1 and wave2 may give slight different results.
Hopp, S. L., Owren, M. J. and Evans, C. S. (Eds) 1998. Animal acoustic communication. Springer, Berlin, Heidelberg.
# NOT RUN {
# covariance between two notes of a birdsong
# }
# NOT RUN {
data(tico)
note1<-cutw(tico, f=22050, from=0.5, to=0.9)
note2<-cutw(tico, f=22050, from=0.9, to=1.3)
covspectro(note1,note2,f=22050,n=37)
# }
Run the code above in your browser using DataLab