更新日 2011年8月7日

「恋音」による「恋声」のピッチ・フォルマント変換の観察2


 恋音Ver0.87からはフォルマント抽出の機能が加わりました。以前にPraatを利用してフォルマント抽出を行った結果を示しましたが、これからは恋音だけで表示できます。世の中のフォルマント抽出プログラムの表示は、リニアな周波数軸がほとんどです。音楽の音階だとどの音なのかが分かるようなものがほしかったので、今回作ってみました。

 まず、使い方から説明します。恋音の設定メニューを開いて、フォルマント抽出のところを、「行う」にして下さい。検出感度は、母音を見る場合には通常は「小」で大丈夫ですが、もしフォルマントが表示されないような場合には「中」や「大」にしてみて下さい。

 さて、音声ですが、UTAUの音源の桃音モモさんの「通常の発声F4」の「あいうえお」をつないだものを使用しました。(WAV 336KB)
 結果の画面は以下のようになります。なお、ツールバーのからファイルを開いてピッチ(基本周波数)も表示するようにしています。さらにのボタンを押して、グリッドの表示を周波数表示にしています。(周波数グリッド表示はVer0.87で追加しました。音階に対応する周波数軸だと、ログの罫線になっているのが分かります。100Hz, 1kHz, 10kHzの位置にはラベルがあるので、何Hzかが読み取れると思います。)

 上の図で、赤が基本周波数で、青がフォルマントの位置です。「あ」の母音の場合、基本周波数がF4(349Hz)で第1フォルマントがB5(988Hz)、第2フォルマントがA6(1760Hz)であるのが分かります。すべての母音の第1フォルマントと第2フォルマントの位置を、日本人の標準と比べたのが下の図です。桃音モモさんの場合、すべての母音が日本人女性の標準の範囲に入っているのが分かります。

 下の図はPraatに同じWAVデータを読み込ませてフォルマント検出をしたものです。

 Praatの周波数軸はリニアスケールで恋音の周波数軸はログスケールであることに注意して第1フォルマントと第2フォルマントの値を比較すると、「い」以外は両者ほぼ同じ結果です。Praatの「い」の第2フォルマント(2kHz)は検出エラーと思われ、恋音の方(3kHz)が正しいと考えます。

 次に、同じ桃音モモさんの「あ」の声で表情やピッチの異なる声を見てみましょう。桃音モモさんのデータファイルの「通常の発声F4」「柔らかめの発声F4」「ウィスパーボイスF4」「通常の発声A4」「ファルセットC5」の中から「あ」の声をつないだものを使用しました。(WAV 336KB)

 Praatでの結果も示します。

 今度は恋音が「ファルセットC5」の第2フォルマントをミスしています。それ以外は同じ結果です。
 声色の違いがフォルマントに現れるかなと思ってやってみたのですが、結果をどう解釈していいのか分かりませんでした。(「柔らかめの発声F4」と「ウィスパーボイスF4」の第1フォルマントは低すぎるような気がします。フォルマントは声道の特性を現してピッチに依存しないのが定義ですが、フォルマント検出のアルゴリズムは完全にはそうなっていないのが原因かと思われます。)

 

 次は、「恋声」で変換した結果を「恋音」で見てみましょう。
 桃音モモさんの「通常の発声F4」の「あ」の声と、それを「恋声」の「W→M」の設定で変換した声を「恋音」で見てみます。

       通常の発声F4 「あ」 (WAV 473KB)                 「恋声」で男声に変換 (WAV 471KB)

 ピッチはF4(440Hz)からF3(220Hz)と1オクターブ(半音単位で-12)下がっています。第1フォルマントはB5(0.99kHz)からE5(0.66kHz)と半音単位で-7下がり、、第2フォルマントはG#6(1.6kHz)からD6(1.2kHz)と-6下がり、第3フォルマントはA#7(3.7kHz)からF#7(3.0kHz)と-4下がっています。ちなみに、恋声では、「W→M」でのピッチ変化の設定値は-12、フォルマント変化の設定値は-5です。

 

 最後にフォルマント抽出アルゴリズムについてちょっと解説します。恋音では、 時間軸上で32次のARモデルの係数を推定して、その係数から周波数特性を計算して、ピークを検出しています。(線形予測法)
 ピーク検出する前の各母音のパワースペクトルを以下に示します。○の付いたピーク値のみを恋音ではフォルマント周波数として表示します。

 ところで、(アルゴリズム上の定義としての)フォルマントとは、パワースペクトルの包絡線のピークのことです。「あ」の声でFFTした結果と線形予測法によって求めたパワースペクトルを示します。

 フォルマントを求める方法としては、FFTを行ってからケプストラム変換を行い、ケプストラム上で高域をカットしてから再びFFTして、スペクトル包絡を求める方法もあります。(ケプストラム法)

 


戻る