First a warning - it isn't very good because it was necessary to drop plosive sounds to make it fit in less than 1K. However, for the right phrase it works very well.
The sad thing is that including the extra sound would only have pushed the size up to 1189 characters - but this is an entry in the latest JS1K competition and being under 1K characters is essential.
The speech synthesizer is based on a tiny formant synthesizer implemented in C++ by Stepanov Andrey. A formant synthesizer works by applying different input waveforms to a set of filters which modify the sound produced. This aims to model the way that the vocal chords provide an input to the vocal cavities which act as an acoustic filter.
In this case the input waveforms are simply a sawtooth or noise and most of the work is done by setting the parameters of the filter.
The cut down synthesizer supports The following sounds/phonemes:
You may doubt the TIOBE index, but it is still interesting to read the signals and relative movements. This month the shock news is that R has jumped up the table to number 12 and there is more to say [ ... ]
Google announced last year that it was planning to remove support for NetScape style plugins. Now the timetable for removing the feature from Chrome has been announced. How big a problem does it pose? [ ... ]