forest {wrassp} | R Documentation |
forest
Description
forest function adapted from libassp
Usage
forest(
listOfFiles = NULL,
optLogFilePath = NULL,
beginTime = 0,
endTime = 0,
windowShift = 5,
windowSize = 20,
effectiveLength = TRUE,
nominalF1 = 500,
gender = "m",
estimate = FALSE,
order = 0,
incrOrder = 0,
numFormants = 4,
window = "BLACKMAN",
preemphasis = -0.8,
toFile = TRUE,
explicitExt = NULL,
outputDirectory = NULL,
forceToLog = useWrasspLogger,
verbose = TRUE
)
Arguments
listOfFiles |
vector of file paths to be processed by function |
optLogFilePath |
path to option log file |
beginTime |
= <time>: set begin of analysis interval to <time> seconds (default = 0: begin of data) |
endTime |
= <time>: set end of analysis interval to <time> seconds (default = 0: end of data) |
windowShift |
= <dur>: set analysis window shift to <dur> ms (default: 5.0) |
windowSize |
= <dur>: set analysis window size to <dur> ms (default: 30.0) |
effectiveLength |
make window size effective rather than exact |
nominalF1 |
= <freq>: set nominal F1 frequency to <freq> Hz (default: 500.0 Hz) |
gender |
= <code>: set gender specific parameters where <code> = f[emale], m[ale] or u[nknown] (when <code>=f: eff. window length = 12.5 ms nominal F1 = 560.0 Hz) |
estimate |
insert rough frequency estimates of missing formants (default: frequency set to zero) |
order |
decrease default order by 2 (one resonance less) |
incrOrder |
increase default order by 2 (one resonance more) |
numFormants |
= <num>: set number of formants to <num> (default: 4; maximum: 8 or half the LP order) |
window |
= <type>: set analysis window function to <type> (default: BLACKMAN) |
preemphasis |
= <val>: set pre-emphasis factor to <val> (-1 <= val <= 0) (default: dependent on sample rate and nominal F1) |
toFile |
write results to file (default extension is .fms) |
explicitExt |
set if you wish to override the default extension |
outputDirectory |
directory in which output files are stored. Defaults to NULL, i.e. the directory of the input files |
forceToLog |
is set by the global package variable useWrasspLogger. This is set to FALSE by default and should be set to TRUE is logging is desired. |
verbose |
display infos & show progress bar |
Details
Formant estimation of the signal(s) in <listOfFiles>. Raw resonance frequency and bandwidth values are obtained by root-solving of the Linear Prediction polynomial from the autocorrelation method and the Split-Levinson-Algorithm (SLA). Resonances are then classified as formants using the so-called Pisarenko frequencies (by-product of the SLA) and a formant frequency range table derived from the nominal F1 frequency. The latter may have to be increased by about 12% for female voices (see NominalF1 and Gender options). Formant estimates will be written to a file with the base name of the input file and extension '.fms'. Default output is in SSFF binary format (tracks 'fm' and 'bw')
Value
nrOfProcessedFiles or if only one file to process return AsspDataObj of that file
Author(s)
Raphael Winkelmann
Lasse Bombien
Examples
# get path to audio file
path2wav <- list.files(system.file("extdata", package = "wrassp"),
pattern = glob2rx("*.wav"),
full.names = TRUE)[1]
# calculate formant values
res <- forest(path2wav, toFile=FALSE)
# plot formant values
matplot(seq(0,numRecs.AsspDataObj(res) - 1) / rate.AsspDataObj(res) +
attr(res, 'startTime'),
res$fm,
type='l',
xlab='time (s)',
ylab='Formant frequency (Hz)')