This function can be used to select (cut) a specific part of a frequency spectrum.
cutspec(spec, f = NULL, flim, mel = FALSE, norm = FALSE, PMF = FALSE)
sampling frequency of spec
(in Hz).
a vector of length 2 to specify the new frequency range (in kHz).
a logical, if TRUE
the (htk-)mel scale is used.
a logical, if TRUE
the spectrum returned is normalised between 0 and 1.
a logical, if TRUE
the spectrum returned is a probability mass function.
A new spectrum is returned.
The class of the returned object is the one of the input object (spec
)
# 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