Learn R Programming

seewave (version 2.1.6)

cutspec: 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)

See Also

spec, meanspec

Examples

Run this code
# NOT RUN {
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)
# }

Run the code above in your browser using DataLab