Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

specflux

Spectral flux


Description

Compute spectral flux

Usage

specflux(wave, f, channel = 1,
         wl = 512, ovlp = 0, wn = "rectangle", flim = NULL,
         norm = FALSE,  p = 2,
         plot = TRUE, xlab = "Times (s)", ylab = "Flux", type = "l", ...)

Arguments

wave

an R object.

f

sampling frequency of wave (in Hz). Does not need to be specified if embedded in wave.

channel

channel of the R object, by default left channel (1).

wl

window length for the analysis (even number of points) (by default = 512).

ovlp

overlap between two successive windows (in %).

wn

window name, see ftwindow (by default "rectangle").

flim

a numeric vector of length 2 to select a frequency band (in kHz).

norm

if is TRUE then the normalised spectra are used. The spectra are normalised by their sum.

p

the norm type, by default = 2.

plot

logical, if TRUE the spectral flux is displayed against time (s) (by default TRUE).

xlab

title of the x axis.

ylab

title of the y axis.

type

if plot is TRUE, type of plot that should be drawn. See plot for details (by default "l" for lines).

...

other plot parameters.

Details

The spectral flux (F) is the sum of the time (t) derivative of the columns – that is the successive spectra – (s) of the normalized short-term Fourier transform (z).
F is then computed according to:

F = rowSums(abs(diff(t(z)))^p)^(1/p)

Value

When plot is FALSE, specflux returns a two-column matrix, the first column being time in seconds (x-axis) and the second column being the spectral flux (y-axis) computed along time.

Note

The sum of the successive spectral flux values could be used as an ecoacoustic index, quite close to the acoustic complexity index (ACI). See examples.

Author(s)

Jérôme Sueur

References

Scheirer E, Slaney M (1997). Construction and evaluation of a robust multifeature speech/music discriminator. IEEE International Conference on Acoustics, Speech, and Signal Processing, 2, 1221-1224.

See Also

Examples

## default use
data(tico)
specflux(tico)
## norm 1
specflux(tico, p = 1)
## frequency limit between 2 and 4 kHz
specflux(tico, flim = c(2,4))
## index computation
sum(specflux(tico, plot=FALSE)[,2])

seewave

Sound Analysis and Synthesis

v2.1.6
GPL (>= 2)
Authors
Jerome Sueur <sueur@mnhn.fr> [cre, au], Thierry Aubin [au], Caroline Simonis [au], Laurent Lellouch [main ctrb], Ethan C. Brown [ctrb], Marion Depraetere [ctrb], Camille Desjonqueres [ctrb], Francois Fabianek [ctrb], Amandine Gasc [ctrb], Eric Kasten [ctrb], Stefanie LaZerte [ctrb], Jonathan Lees [ctrb], Jean Marchal [ctrb], Andre Mikulec [ctrb], Sandrine Pavoine [ctrb], David Pinaud [ctrb], Alicia Stotz [ctrb], Luis J. Villanueva-Rivera [ctrb], Zev Ross [ctrb], Carl G. Witthoft [ctrb], Hristo Zhivomirov [ctrb].
Initial release
2020-06-28

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.