track_harmonic
tracks the frequency contour of the dominant harmonic.
Usage
track_harmonic(
wave,
f,
wl = 512,
wn = "hanning",
ovlp = 0,
fftw = FALSE,
at = NULL,
tlim = NULL,
threshold = 10,
bandpass = NULL,
clip = NULL,
plot = TRUE,
xlab = "Times (s)",
ylab = "Frequency (kHz)",
ylim = c(0, f/2000),
adjust.wl = FALSE,
dfrq = FALSE,
...
)
Arguments
- wave
A 'wave' object produced by
readWave
or similar functions.- f
Sampling frequency of the wave object (in Hz). Does not need to be specified if embedded in wave.
- wl
A numeric vector of length 1 specifying the window length for the FFT, default is 512.
- wn
Character vector of length 1 specifying window name. Default is "hanning". See function
ftwindow
for more options. This is used for calculating the frequency spectrum (usingmeanspec
) and producing the spectrogram (usingspectro
, ifplot = TRUE
).- ovlp
Numeric vector of length 1 specifying % of overlap between two consecutive time windows, as in
spectro
. Default is 0.- fftw
if TRUE calls the function FFT of the library fftw. See Notes of the
spectro
function. Default isFALSE
.- at
Time position where the harmonic frequency contour has to be computed (in seconds). Default is
NULL
.- tlim
time range in which to measure frequency contours. Default is
NULL
(which means it will measure across the entire wave object).- threshold
Amplitude threshold (%) for dominant frequency and detection. Default is 10.
- bandpass
A numeric vector of length 2 for the lower and upper limits of a frequency bandpass filter (in kHz).
- clip
A numeric value to select dominant frequency values according to their amplitude in reference to a maximal value of 1 for the whole signal (has to be >0 & < 1).
- plot
Logical, if TRUE plots the dominant frequency against time. Default is
TRUE
.- xlab
Label of the time axis.
- ylab
Label of the frequency axis.
- ylim
A numeric vector of length 2 for the frequency limit of the spectrogram (in kHz), as in
spectro
. Default is c(0, f/2000).- adjust.wl
Logical. If
TRUE
'wl' (window length) is reset to be lower than the number of samples in a selection if the number of samples is less than 'wl'. Default isFALSE
.- dfrq
Logical. If
TRUE
seewave'sdfreq
is used instead. Default isFALSE
.- ...
Additional arguments to be passed to the plotting function.
Details
This is a modified version of seewave's dfreq
function that allows to track the frequency
contour of a dominant harmonic even when the highest amplitude jumps between harmonics. The arguments and default values of the
original dfreq
function have been kept unchanged to facilitate switching between the 2 functions.
References
Araya-Salas, M., & Smith-Vidaurre, G. (2017). warbleR: An R package to streamline analysis of animal acoustic signals. Methods in Ecology and Evolution, 8(2), 184-191.
See also
track_freq_contour
for tracking frequencies iteratively on selections tables.
Author
Jerome Sueur, modified by Marcelo Araya-Salas (marcelo.araya@ucr.ac.cr)