fund {seewave} | R Documentation |
This function tracks the fundamental frequency through a short-term cepstral transform.
fund(wave, f, wl = 512, ovlp = 0, fmax, threshold = NULL, plot = TRUE, xlab = "Time (s)", ylab = "Frequency (kHz)", ylim = c(0, f/2000), ...)
wave |
data describing a time wave or a Sample
object generated loading a wav file with loadSample
(package sound). |
f |
sampling frequency of wave (in Hz).
Does not need to be specified if wave is a Sample object. |
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. |
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
).
This function is based on ceps
.
Jerome Sueur sueur@mnhn.fr.
Oppenheim, A.V. and Schafer, R.W. 2004. From frequency to quefrency: a history of the cepstrum. Signal Processing Magazine IEEE, 21: 95-106.
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)