soundgen (version 2.6.2)

getFormantDispersion: Get formant dispersion

Description

Internal soundgen function.

Usage

getFormantDispersion(
  formants,
  method = c("meanDispersion", "regression")[2],
  tube = c("closed-open", "open-open")[1],
  interceptZero = TRUE,
  speedSound = 35400,
  plot = FALSE,
  checkFormat = TRUE,
  output = c("simple", "detailed")[1]
)

Arguments

formants

formant frequencies in any format recognized by soundgen: a vector of formant frequencies like c(550, 1600, 3200); a list with multiple values per formant like list(f1 = c(500, 550), f2 = 1200)); or a character string like aaui referring to default presets for speaker "M1" in soundgen presets

method

the method of estimating vocal tract length (see details)

tube

the vocal tract is assumed to be a cylindrical tube that is either "closed-open" or "open-open" (same as closed-closed)

interceptZero

if TRUE, forces the regression curve to pass through the origin. This reduces the influence of highly variable lower formants, but we have to commit to a particular model of the vocal tract: closed-open or open-open/closed-closed (method = "regression" only)

speedSound

speed of sound in warm air, by default 35400 cm/s. Stevens (2000) "Acoustic phonetics", p. 138

plot

if TRUE, plots the regression line whose slope gives formant dispersion (method = "regression" only). Label sizes show the influence of each formant, and the blue line corresponds to each formant being an integer multiple of F1 (as when harmonics are misidentified as formants); the second plot shows how VTL varies depending on the number of formants used

checkFormat

if FALSE, only a list of properly formatted formant frequencies is accepted

output

"simple" (default) = just the VTL; "detailed" = a list of additional stats (see Value below)

Details

Estimates formant dispersion based on one or more formant frequencies.

Examples

Run this code
soundgen:::getFormantDispersion(
  list(f1 = c(570, 750), f2 = NA, f3 = c(2400, 2200, NA)))

Run the code above in your browser using DataLab