Tube model vowel synthesizer

Introduction

This is a vowel synthesizer based on a simple tube model for the vocal tract. It's developed by Zhanao Fu for LIN228 Phonetics tutorials (Fall 2020). It features customizable settings for the number of tubes, the length and radius of each tube, the frequency and the closure period of vocal folds' vibration. You can also try a more realistic online interactive dynamic model Pink Trombone by Neil Thapen.

How to use the synthesizer:

  1. The vocal tract model:
    • Left click and drag the horizontal or vertical edges to adjust the shape of a section (the location of the glottis is fixed at zero).
    • Right click on a circle to remove a existing section boundary (the radius of the right section is kept).
    • Right click outside the circles to create a new section boundary.
  2. Adjust the fundamental frequency (the frequency of glottal impulses), and optionally, the radiuses for the tube before the glottis and the hypothetical tube after the lips.
  3. Click the buttons below to compute and play the sounds, and generate the waveforms and the spectrograms for the sounds. The computation might take a while.

Some details about this model

The glottal source is generated with a polynomial model from Rosenberg (1971). It is assumed that the tubes are loseless, and no air is going back through the mouth or the glottis. The transfer function of the filter is calculated with the Algebrite library. The FFTs are done with the DSP.js library. The color scale for the spectrograms is generated with the chroma.js library. The github repository for this synthesizer is here.

Check out this short series of introductions to the acoustics of speech production if you don't know what this is all about.




References


The MIT License (MIT)
Copyright (c) 2020 Zhanao Fu