previous page table of contents


Nasal voice /na/ /ma/ sound waveform generation by two tubes model and nasal effect source




This is an experiment to generate nasal voice /na/ /ma/ sound by two tubes model and nasal effect source.

Nasal effect source

In order to produce a sense of nasal sound, variable low pass filter to sound source is used. Actual nose effect is too complex. It substitutes by applying low pass filter to glottal sound source.
Following figure is conceptual diagram to generate.



Cut-off frequency of variable low pass filter changes when the voice switches from nose to mouth.
During initial nose breath portion, output of low pass filter is similar to sin waveform due to cut-off frequency is too low. After switch from nose to mouth, to keep a little sense of nasal sound, low pass filter of which cut-off frequency is high is still used.
Following figure shows glottal sound source as input, low pass filter output as nasal effect source, and changes of cut-off frequency of low pass filter.


Generate pseudo nasal voice /na/

To generate /na/, nasal effect source is inputted to two tubes model that can vary cross section area and tube length every time step.
They are varied from one neutral state to vowel /a/ state as following figures.


Following figure shows cross section area and tube length per time.



Following figure shows generated waveform. This waveform (wav file) sounds similar to voice /na/ sound.


Resonance effect of the tube model is weakened by loss control. In the loss figure, there are stepwise changes. The reason is that resolution to digitalize tube length is too low to smooth change.

Generate pseudo nasal voice /ma/

To generate /ma/, the difference from /na/ is to use initial state is similar to vowel /a/ state.
Following figure shows comparison of /ma/ with /na/ about cross section area and tube length per time.


Following figure shows generated waveform. This waveform (wav file) sounds similar to voice /ma/ sound.




For reference, there is Python program to compute above waveforms by Python. Please see README.txt in the zip file about usage.





No.1, 20  February 2019