下記に載っていたフォルマント合成方式で歌を歌わせるソースコードをコンパイルして試してみた。
http://hand-onlooker.blogspot.jp/2012/05/3.html
ただこのままでは動かず、先頭に#define _USE_MATH_DEFINES
を追加することが必要だ。作者による動画も公開されている。
http://www.nicovideo.jp/watch/sm15973810
音であるがラ行が聞き取りにくく、「さ」とかのブレスノイズが混ざる音のノイズがちょっと違和感がある。でもちゃんと「チューリップ」には聞こえる。
この音はどこかで聞いた音だ。「スピークアンドスペル」だ。あとはクラフトワークが使用したあのテキサスインスツルメンツのランゲージ・トランスレータにとても似ている。ランゲージ・トランスレータの音はKraftwerkのNumbersという曲で聴くことができる。
そのものの動画もあったので貼っておく。
フォルマントというのはWikipediaによれば、
言葉を発している人の音声のスペクトルを観察すると分かる、時間的に移動している複数のピークのこと。周波数の低い順に、第一フォルマント、第二フォルマント…というように数字を当てて呼び、それぞれF1, F2とも表記する(第0フォルマント、F0を数える場合もある)。
と書いてあった。フォルマント合成とは人間のフォルマントをシミュレートし、言葉をしゃべらせる方法である。もう少し具体的にいうと元波形をBPFで加工しBPFのパラメータを可変させることでフォルマントをシミュレーションする。元波形は複数の波形を使用して、発声したい言葉に合わせて変えたりミックスしたりするようだ。上のソースコードではRosenburg波とGaussNoise波が使われ、IIRフィルタによるBPFにてフォルマントをシミュレートしていた。