fund {seewave} | R Documentation |
Fundamental frequency track
Description
This function estimates the fundamental frequency through a short-term cepstral transform.
Usage
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, ...)
Arguments
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 |
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
).
No plot is produced when using at
.
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
Examples
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)