fund {seewave} | R Documentation |
This function estimates the fundamental frequency through a short-term cepstral transform.
fund(wave, f, channel = 1, wl = 512, ovlp = 0, fmax = f/2, threshold = NULL, at = NULL, from = NULL, to = NULL, plot = TRUE, xlab = "Time (s)", ylab = "Frequency (kHz)", ylim = c(0, f/2000), pb = FALSE, ...)
wave |
an R object. |
f |
sampling frequency of |
channel |
channel of the R object, by default left channel (1). |
wl |
if |
ovlp |
overlap between two successive windows (in %). |
fmax |
the maximum frequency to detect (in Hz). |
threshold |
amplitude threshold for signal detection (in %). |
at |
position where the estimate the fundamental frequency (in s) |
.
from |
start position where to compute the fundamental frequency (in s). |
to |
end position to compute the fundamental frequency (in s). |
plot |
logical, if |
xlab |
title of the time axis (s). |
ylab |
title of the frequency axis (Hz). |
ylim |
the range of frequency values. |
pb |
if |
... |
other |
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
).
No plot is produced when using at
.
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) # estimate the fundamental frequency at a single position fund(sheep, f=8000, fmax=300, at=1, plot=FALSE) # track the fundamental frequency along time fund(sheep,f=8000,fmax=300,type="l") # with 50% overlap between successive sliding windows, time zoom and # 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=reverse.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)