手習ひデジタル信号処理(19) 母音音声合成器その4、STM32F446上実装を「見る」

Joseph Halfmoon

前回まで3回にわたって母音音声合成器の「部品」3つの特性をScilabに計算してもらって眺めてきました。ようやく今回はSTM32F446上で動作確認であります。といっても三上先生のサンプルプログラムそのままなので動かない分けがないです。今回は「発声」された信号をよく「見て」みようの回。

※「手習ひデジタル信号処理」投稿順 Indexはこちら

以下は、勝手に手習ひさせていただいております教科書へのリンクです。今回は6.1.3に書かれている内容をそのまま手習ひさせていただきます。

三上直樹先生著、工学社『「Armマイコン」プログラムで学ぶデジタル信号処理

vowelBuildなお、上記で使用されているサンプルプログラムは、Arm社のMbed Webコンパイラ環境にて公開されています。Mbed環境にログイン(要無料登録)すれば誰でも参照することが可能です。

今回からは、応用ということでソースコードの分量が大分増えました。どのくらいメモリを消費するのかちょっと「楽しみ」だったのですが、大したことはありませんでした。左はMbed環境でのビルド結果です。まだまだメモリは余裕。STM32F446RE 流石だな。

また今回は、マイコン側のプログラムに初めてUI?が登場します。といって、USBシリアルポートから一文字受信するだけなのですが。発音可能な5つの母音、ア、イ、ウ、エ、オを指定するための a i u e o の5文字と発音停止を指示するキャリッジ・リターンの6つを仮想シリアル端末から入力することができます。接続は9600ボー。実際に動かしているところはこんな感じ。

VowelSynthUI

「あ」の出力信号

まずは時間波形から。これみて「あ」の音だとは分かりませんが、次に出てくる「い」の時間波形などと比べると明らかに違っていることが分かります。

a_tim

続いてFFTをかけてスペクトルを観察してみます。ナイキスト周波数の5kHzまでです。「あ」のフォルマント周波数は、F1=654Hz、F2=1060Hz、F3=2375Hzとのことです。確かにその付近にピークがあるように見えます。

a_fft
折角なので、スペクトログラムもかけてみました。ここでは4kHzまでとってます。冒頭のアイキャッチ画像に、ア、イ、ウ、エ、オ全てのスペクトログラムを並べた画像を掲げたものを見ると分かりますが、アとオが似ていて、イとエも似ている感じがします(勝手な感想です。)

a_spc

「い」の出力信号

先ほど述べたとおり、「い」の時間波形は「あ」とは大分違います。こんな感じ。

i_tim
FFTは以下です。「い」のフォルマント周波数は、F1=302Hz、F2=2057Hz、F3=3004Hzとのことです。その付近にピークがあるのがハッキリ見えているように思います。

i_fft
ついでのスペクトログラムです。一音だけだとフラットでツマラナイですが、複数の音を鳴らすと結構面白いグラフになります。しかし、片手で仮想シリアル端末を操作して、片手でスペクトログラムを操作しようとしたですが、うまく行かずできませんでした。また今度かね。

i_spc

「う」の出力信号

「あ」ほど複雑ではないし、「い」ほど単純でもない「う」の時間波形がこちら。

u_tim
FFTです。「う」のフォルマント周波数は、F1=375Hz、F2=1208Hz、F3=2165Hzとのことです。確かに、その付近にピークがあるみたい。

u_fft

スペクトログラムがこちら。

u_spc

「え」の出力信号

「え」の時間波形は、かなりトゲトゲしていて「い」とは違う感じです。

e_tim「え」のフォルマント周波数は、F1=541Hz、F2=1784Hz、F3=2452Hzとのことです。

e_fft
こうしてスペクトログラムにしてみると「い」と似ている感じがしてきます(ホントか?)

e_spc

「お」の出力信号

最後に「お」の時間波形です。トゲトゲしている感じは「あ」や「え」に似ている?

o_tim
「お」のフォルマント周波数は、F1=458Hz、F2=807Hz、F3=2379Hzとのことです。一応、それらしいピークはある。F2はちょっと弱い感じだけど。

o_fft
「お」のスペクトログラムが以下に。スペクトログラムにすると「あ」に似ているのだよな。。。

o_spc
一応、5つの母音全てを「見て」みました。しかし、音声であります。音で聞きたいもんです。大分前に作ったスピーカアンプを探しだし、次回は「音」で聞いてみたいです。やはり「音」を聞かないと納得いかないものね。

手習ひデジタル信号処理(18) 母音音声合成器その3、高域強調器(Radiator) へ戻る

手習ひデジタル信号処理(20) 母音音声合成器その5、合成された音を聞く へ進む