Sound: To FormantPath (burg)...

A command that creates a FormantPath object from each selected Sound .


The settings for Time step (s), Maximum number of formants, Window length (s) and Pre-emphasis from (Hz) are as you would set them with the Sound: To Formant (burg)... method. The defaults are 0.005 seconds, 5.0 formants, 0.025 seconds, and 50.0 Hz, respectively.

Middle formant ceiling (Hz)
determines the middle formant ceiling frequency in Hz. You normaly would use 5500.0 Hz for an average female voice and 5000.0 Hz for an average male voice as you would do for the Formant ceiling (Hz) setting in To Formant (burg).... However, instead of performing only one analysis with a fixed ceiling, we perform multiple analyses, each with a different ceiling frequency. The number of analyses with a lower formant ceiling than the middle formant ceiling is equal to the number of analyses with a higher formant ceiling than the middle formant ceiling.
Ceiling step size
defines the increase or decrease in the formant ceiling between two successive analyses as exp(ceilingStepSize) when we step up, or as exp(-ceilingStepSize) when we step down.
Number of steps up / down
determines the number of steps we go up as well as the number of steps we go down with respect to the middle formant ceiling. The ceiling frequency for the ith step down is middleFormantCeiling·exp (-i·ceilingStepSize) and for the ith step up is middleFormantCeiling·exp (+i·ceilingStepSize). The total number of analyses is always 2·numberOfStepsUpDown+1.


The following algorithm describes what is going on.

    ceiling [numberOfStepsUpDown + 1] = middleCeiling
    for istep from 1 to 2 * numberOfStepsUpDown + 1
       if istep <= numberOfStepsUpDown
          ceiling [istep] = middleFormantCeiling * exp (-(numberOfStepsUpDown - istep + 1) * ceilingStepSize)
       elsif istep > numberOfStepsUpOrDown + 1
          ceiling [istep] = middleFormantCeiling * exp ((istep - numberOfStepsUpDown - 1) * ceilingStepSize)
       selectObject: sound
       formant [istep] = To Formant (burg): timeStep, maxNumberOfFormants, ceiling [istep], windowLength, preEmphasis

This description is approximate because in the "To Formant" step we have to guarantee that all the Formant objects get the same time sampling.

© djmw 20230225