cutspec: Cut a frequency spectrum

View source: R/seewave.r

cutspecR Documentation

Cut a frequency spectrum

Description

This function can be used to select (cut) a specific part of a frequency spectrum.

Usage

cutspec(spec, f = NULL, flim, mel = FALSE, norm = FALSE, PMF = FALSE)

Arguments

spec

a vector or a two-column matrix set resulting of a spectral analysis. This can be the value obtained with spec or meanspec.

f

sampling frequency of spec (in Hz).

flim

a vector of length 2 to specify the new frequency range (in kHz).

mel

a logical, if TRUE the (htk-)mel scale is used.

norm

a logical, if TRUE the spectrum returned is normalised between 0 and 1.

PMF

a logical, if TRUE the spectrum returned is a probability mass function.

Value

A new spectrum is returned. The class of the returned object is the one of the input object (spec)

Note

The sampling frequency f is not necessary if spec has been obtained with either spec or meanspec.
This function can be used before calling analysis function like sh or sfm. See examples.

Author(s)

Jerome Sueur, improved by Laurent Lellouch

See Also

spec, meanspec

Examples

data(orni)
a <- meanspec(orni,f=22050,plot=FALSE)
b <- cutspec(a,flim=c(4,8))
## quick check with a plot
plot(b,type="l")
## effects on spectral entropy
sfm(a)
sfm(b)
## mel scale
require(tuneR)
mel <- melfcc(orni, nbands = 256, dcttype = "t3", fbtype = "htkmel", spec_out=TRUE)
melspec.mean <- apply(mel$aspectrum, MARGIN=2, FUN=mean)
c <- cutspec(melspec.mean, f=22050, flim=c(4000,8000), mel=TRUE)

seewave documentation built on Oct. 19, 2023, 5:07 p.m.

Related to cutspec in seewave...