Monthly Archives: May 2013

Interpolation Rewritten

I’ve rewritten the interpolation code. I’ve added a new PhonemeSegment class that describes start and end targets that are automatically interpolated. That removes a lot of tedious code that was in the synthesizer, and makes things a lot cleaner. It … Continue reading

Posted in Development | Tagged , , , , , | Leave a comment

Rewriting Interpolation

In short: the current interpolation code is too complicated, and doesn’t handle some special cases. So I’ve backed up the code, and am starting to rewrite that section of code.

Posted in Development | Tagged , | Leave a comment

Aligning PItches and Notes

One issue I’ve been having is with “dropout”, where certain sounds would simply disappear. I finally tracked it down to a mis-match between the pitch curve and the phoneme list. Phonemes are aligned so that the vowels fall at the … Continue reading

Posted in Development | Tagged , , | Leave a comment

And more bugs…

A lot of the trouble I was having with intelligibility stemmed from interpolating between various values that should have been held instead. I’ve added some logic to prevent suppress smoothing for plosives, nasals, and adjacent unvoiced consonants. A couple of … Continue reading

Posted in Development | Tagged , , , | Leave a comment

Slogging Away (The Sequel)

While there’s still much work to do, synSinger is starting to do an acceptable job. I’ve added some crude amplitude control, so that the volume fades in and out around rests. That helps intelligibility, but more than 80 ms seems … Continue reading

Posted in Development | Leave a comment

Stomped Some More Bugs

I found the problems with the interpolation code, so now the warbling is gone and it’s starting to sound like there’s some hope for the project. The next bit of coding will be the voiced frictaves: /B D G/. MITalk … Continue reading

Posted in Development | Tagged | Leave a comment

Working with Silence

The “warbling” sound was happening because it was interpolating between one large formant target and another. In particular, it was interpolating into what should have been silent targets, with a value of 0. I’ve code in place to check for … Continue reading

Posted in Development | Tagged , , , , | Leave a comment