Tag Archives: FFT

Identifying Formants

Praat generally does an excellent job of identifying formants, in contrast to my own feeble attempts. Nevertheless, I continue to get sidetracked on the task of correctly identifying formants. My current method is fairly simple: I identify all the peaks … Continue reading

Posted in Development | Tagged , | Leave a comment

Synthesis with Sinusoids

Analysis and re-synthesis of a wave using DFT (Discrete Fourier Synthesis) or FFT (Fast Fourier Synthesis) is fairly direct. Here’s a DFT routine in Lua that, given a buffer containing a single pitch period, will return function dft( buffer )   … Continue reading

Posted in Uncategorized | Tagged , , , | 2 Comments

Direct Synthesis – continued

Looking at the FFT of a vowel, you can see that each formant has it’s own frequency and amplitude. These show up as “blobs” – some stretching for the duration of the wave, others for only a portion: For example, … Continue reading

Posted in Development | Tagged , , | Leave a comment

Editing Formants

I’ve mentioned before that one of the features of Praat is that it can calculate formants. (Happy dance) However, testing has shown that data can’t be used “as is” – there’s too much noise and error. That means that the … Continue reading

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

Praat is Awesome

The folks who had created S.A.M. (Software Automatic Mouth) some 30 years ago have a company called SoftVoice. There are a number of audio demos on their site, including the song Twinkle Twinkle, Little Star. It’s impressive enough for me to think this might be … Continue reading

Posted in Development | Tagged , , , , , , , | 4 Comments

Analyzing Audio

The only thing more tedious than recording the bazillion audio files needed to represent English speech is the segmenting that data – for example telling synSinger where in the audio sample “ca” the consonant “c” ends and the vowel “a” begins. So naturally, my … Continue reading

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

Finally, Singing Again

I corrected a number of bugs in the positioning code, so synSinger correctly positions syllable elements. I move the PSOLA code into a static class, and incorporated it into the rendering engine – basically replacing a single call – and … Continue reading

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