Skip to contents

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 (using meanspec) and producing the spectrogram (using spectro, if plot = 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 is FALSE.

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 is FALSE.

dfrq

Logical. If TRUE seewave's dfreq is used instead. Default is FALSE.

...

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)