Monthly Archives: February 2015

Still working on Klatt Synthesizer

I’m continuing to work on my implementation of the Klatt synthesizer.  I’ve implemented almost all the parameters, so now it’s a matter of making sure it works correctly. I’ve compiled the Klatt C port for reference (by Dunn, Iles and … Continue reading

Posted in Uncategorized | Leave a comment

The Bureau of Glottal Affairs

Seriously, it’s a real thing. What an awesome name. And they’ve got an open source synthesizer as well as software which does inverse-filtering to recover the glottal pulse: Inverse Filter is used to obtain estimates of the shape of the … Continue reading

Posted in Uncategorized | Leave a comment

Klatt Revisited

I’m trying to decide whether it’s worth the effort of synthesizing consonants, or simply using digital samples. To that end, I’m revisiting the implementation of my synthesizer to better match that of the Klatt synthesizer, as described in From text … Continue reading

Posted in Uncategorized | Leave a comment

Dealing with “pops”

So far, I’d been running the formant filters in parallel. I decided to have another go at running them in serial for the voiced phonemes. The dreaded “pop” that had plagued my prior attempts at working with a serial branch … Continue reading

Posted in Uncategorized | Leave a comment

Optimizing the Code

I did some profiling on the code, and found that a lot of time was being spent in the filtering routine on these lines: — filter sample atom out = sample*this[B0] + this[Z][1]*this[B1] + this[Z][2]*this[B2] – this[Z][3]*this[A1] – this[Z][4]*this[A2] — … Continue reading

Posted in Uncategorized | Leave a comment

Gluing things together

Enough of the code is working that synSinger can once again now load a MusicXML file, process it, and render it. Remaining items include timing of consonants, dictionary lookup of words, and better glottal waveform modeling. Although the output is … Continue reading

Posted in Uncategorized | Leave a comment

More slogging through code…

I’ve fixed a number of bugs in the synthesizer, and synSinger is now able to render audio again. It also generates a tagged .bmp file plotting the various values over time – F0, F1, F2, glottal amplitude, etc. – to … Continue reading

Posted in Uncategorized | Leave a comment