dftSpectrum | R Documentation |
Short-term spectral analysis of the signal in
dftSpectrum(
listOfFiles = NULL,
optLogFilePath = NULL,
beginTime = 0,
centerTime = FALSE,
endTime = 0,
resolution = 40,
fftLength = 0,
windowShift = 5,
window = "BLACKMAN",
bandwidth = 0,
toFile = TRUE,
explicitExt = "dft",
outputDirectory = NULL,
assertLossless = NULL,
logToFile = FALSE,
keepConverted = FALSE,
verbose = TRUE
)
listOfFiles |
vector of file paths to be processed by function |
beginTime |
the time point (in seconds) of the start of the analysed
interval. A NULL or 0 is interpreted as the start of the signal file.
If a vector of time points is supplied, the length of that vector needs
to correspond with the length of |
centerTime |
sets a single-frame analysis time point (in seconds).
Overrides |
endTime |
the time point (in seconds) of the end of the analysed
interval. A NULL or 0 is interpreted as the end of the signal file.
If a vector of time points is supplied, the length of that vector needs
to correspond with the length of |
resolution |
= |
fftLength |
= |
windowShift |
the amount of time (in ms) that the analysis window will be shifted between analysis frames |
window |
= the analysis window function type ("BLACKMAN" by default). See AsspWindowTypes for a list of supported window types. |
bandwidth |
= |
toFile |
Should the function write the results to a file, with the
(default) file extension ( |
explicitExt |
the file extension will be used when
result files are written ( |
outputDirectory |
directory in which output files are stored. Defaults to NULL which means that the result file will be stored in the same directory as the input file. |
assertLossless |
an optional list of file extensions that the user wants to assert contains losslessly encoded signals data. |
logToFile |
whether to log commands to a separate logfile in the
|
verbose |
display verbose information about processing steps taken, as well as progress bars. |
The results will be will be written to an SSFF formated file with the base name of the input file and extension .dft in a track DFTdB which contains amplitudes (on a dB scale) of all frequencies in the computed spectrum.
The function is a re-write of the wrassp::dftSpectrum function, but with media pre-conversion, better checking of preconditions such as the input file existance, structured logging, and the use of a more modern framework for user feedback. The libassp \insertCites5hsuperassp C library code is used for DSP.
The native file type of this function is "wav" files (in "pcm_s16le" format), SUNs "au", NIST, or CSL formats (kay or NSP extension). Input signal conversion, when needed, is done by libavcodec and the excellent av::av_audio_convert wrapper function
The number of successfully written files (if toFile=TRUE
), or a vector of AsspDataObj
objects (if toFile=FALSE
).
This function takes some time to apply but also result in data in a relatively large matrix. It is therefore not usually efficient to store intermediate results in a cache. However, if the number of signals it will be applied to is very large, then caching of results may be warranted.
Raphael Winkelmann
Lasse Bombien
Fredrik Nylén
cssSpectrum
, lpsSpectrum
, cepstrum
;
all derived from libassp \insertCites5hsuperassp spectrum function.
# get path to audio file
path2wav <- list.files(system.file("extdata", package = "wrassp"),
pattern = glob2rx("*.wav"),
full.names = TRUE)[1]
# calculate dft spectrum
res <- dftSpectrum(path2wav, toFile=FALSE)
# plot spectral values at midpoint of signal
plot(res$dft[dim(res$dft)[1]/2,],
type='l',
xlab='spectral value index',
ylab='spectral value')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.