A segmented vocal tract: Kelly-Lochbaum sections whose areas move, for coarticulation and consonant transitions #144
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
bcox/tymbal#144
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
bcox asked on 2026-10-05 for a ticket for each family in his
gaps.mdthat has none. Engine claims are from reading the tree atcd68bd3eonmain; literature named below is from recollection and was not re-read. Nothing here is built, measured or listened to.What the tree has
UnvoicedLayer, a selectable excitation through a bank ofdsp/svf.hresonances; its header says the FM pair's bank "gave this engine a tract. What it did not give it is a second excitation", and that a consonant is "the same tract driven by turbulence".dsp/strings_junction.his a scattering junction solved without delay, for a bridge rather than a tube section.dsp/junction.hproves passivity for its curves.What the family is
A tract as N cylindrical sections of varying area (eight for a sketch, forty-four for Story's MRI area functions), each boundary a two-port scattering junction with reflection coefficient (A_i - A_i+1) / (A_i + A_i+1): the Kelly-Lochbaum model. A glottal source at one end, a radiation load at the lips, a nasal branch when wanted. Articulation is the area function moving; a constriction is a consonant; coarticulation falls out of the areas interpolating between targets with their own time constants rather than being drawn. Cook's SPASM, Thapen's Pink Trombone, and the Kelly-Lochbaum literature are the references.
Shape and cost
A layer engine, voice-scope. Per sample, N junctions at a multiply-add pair each, plus the two lines, which the waveguide's per-voice region sub-block holds. The area-to-coefficient conversion is a division, the one costly step, done at control rate and smoothed; the coefficient's magnitude below one keeps the tract passive by construction, which is the property
dsp/junction.hchecks for its curves. N = 44 at 128 voices on the fabric is the price to put beside the waveguide's.The excitations exist in pieces:
UnvoicedLayer's noise, injected at a constriction rather than at the glottis, is the fricative; the glottal pulse is new (the LF model, or the waveguide's reed valve under the vocal folds' parameters); and a tap or the external input through the tract is cross-synthesis the cheap way.Open
UnvoicedLayer's bank (a tract behind it) or as aLayerKindof its own; the header's argument for a separate unvoiced layer (the centers of /s/ and a vowel are nowhere near each other) is about a bank, and a tract has no centers.Related
UnvoicedLayer, the FM pair's formant bank, #118 (a pitch tracker, to drive it from a voice), #140 (the other cross-synthesis).