音の可視化の例

高速フーリエ変換と、時間窓を用いて音が目に見えるようにすると、様々な性質を読みとることができるようになります。これは、「あいうえお」という声を、前回作成した例題を使って分析した例です。

最初は、疑似カラー表示にします。

次に、表示を濃淡表示とします。このような表示が声紋として知られているものです。

時間窓として、長さが30msのBlackman窓を使います。標本化周波数がCDと同じ44100Hzなので、図では、Nyquist周波数までが見えています。

言葉を聞き取る上で重要な5000Hz以下の部分を拡大して眺めます。細かなよこ縞は、声の高さを表しています。それに重なって見える黒い太い帯は、どのような母音であるかを表す、響きの強い部分を示しています。このような部分は、ホルマントと呼ばれます。上のように、声の高さが見えるような表示のやりかたを(狭帯域スペクトログラム)と呼ぶこともあります。

時間窓の長さを8msにすると、また違った見え方になります。

今度は、たての縞が目立つようになりました。これは、時間窓を短くしたことにより、時間的に細かな部分まで見えるようになったからです。時間と周波数の分解能の間には、不確定性の関係があります。片方を細かくすると、もう一方は粗くなってしまうのです。

まえの狭帯域スペクトログラムと同じように、音声の聞き分けに重要な5000Hzまでを拡大してみます。このように時間分解能の高い表示を広帯域スペクトログラムと呼ぶこともあります。

昔のアナログ技術の時代には、分解能を自由に変えることは、大変だったので、あらかじめ数種類の分解能が用意されていました。狭帯域スペクトログラムや広帯域スペクトログラムという呼び方は、その時代の名残です。ディジタル技術の時代には、信号の性質や、分析の目的に併せて、自由に窓の形や長さを決めることができます。

最後の例は、前にやったプッシュフォンの分析です。

120msから270msあたりまでが、最初のボタンが押されている区間です。次のボタンは、550msあたりで押されています。これを見ると、プッシュフォンのボタンを押すことで、二つの正弦波が発生することが分かります。

200msの位置で、スペクトルの絶対値を見てみました。

600msでは、このようになります。違うボタンを押すことで、違う周波数の組が発生していることが分かります。

このように、スペクトログラムは、現象を大つかみに調べる上で、非常に役立ちます。

MATLABのデモにも、スペクトログラムの計算が入っています。

これは、小鳥のさえずりですが、他にもいろいろな音が入っていますので、調べて見てください。