fund {seewave}R Documentation

Fundamental frequency track

Description

This function tracks the fundamental frequency through a short-term cepstral transform.

Usage

fund(wave, f, wl = 512, ovlp = 0, fmax, threshold = NULL,
plot = TRUE, xlab = "Time (s)", ylab = "Frequency (kHz)",
ylim = c(0, f/2000), ...)

Arguments

wave a vector, a matrix (first column), an object of class ts, Sample (left channel), or Wave (left channel).
f sampling frequency of wave (in Hz). Does not need to be specified if wave is an object of class ts, Sample, or Wave.
wl if at is not null, length of the window for the analysis (even number of points, by defaults = 512).
ovlp overlap between two successive windows (in %).
fmax the maximum frequency to detect (in Hz).
threshold amplitude threshold for signal detection (in %).
plot logical, if TRUE plots the fundamental frequency modulations against time (by default TRUE).
xlab title of the time axis (s).
ylab title of the frequency axis (Hz).
ylim the range of frequency values.
... other plot graphical parameters.

Value

When plot is FALSE, fund returns a two-column matrix, the first column corresponding to time in seconds (x-axis) and the second column corresponding to to fundamental frequency in kHz (y-axis).
NA corresponds to pause sections in wave (see threshold).

Note

This function is based on ceps.

Author(s)

Jerome Sueur sueur@mnhn.fr.

References

Oppenheim, A.V. and Schafer, R.W. 2004. From frequency to quefrency: a history of the cepstrum. Signal Processing Magazine IEEE, 21: 95-106.

See Also

cepstro, ceps, autoc

Examples

data(sheep)
fund(sheep,f=8000,fmax=300,type="l")
# with 50
# amplitude filter (threshold)
fund(sheep,f=8000,fmax=300,type="b",ovlp=50,threshold=5,ylim=c(0,1),cex=0.5)
# overlaid on a spectrogram
spectro(sheep,f=8000,ovlp=75,zp=16,scale=FALSE,palette=rev.gray.colors.2)
par(new=TRUE)
fund(sheep,f=8000,fmax=300,type="p",pch=24,ann=FALSE,
  xaxs="i",yaxs="i",col="black",bg="red",threshold=6)

[Package seewave version 1.5.4 Index]