音響学入門ペディア 日本音響学会編

音響学入門ペディア

音響学入門ペディア

 

 Q33 ボコーダによる音声合成の仕組みが知りたいです

 例えば「音響学入門ペディア]の「ペディア」の部分を発音してみましょう。「ぺ」を音素表記すると/pe/ですが/p/の発音では、唇を一度閉じてから、息を吐き出して唇を勢いよく弾きます。一方/e/の発音は、喉に手を当てて発音するとわかりますが、喉についている声帯が振動することで音が発生します。他にもサ行を発音する場合/s/は歯茎と舌先を近づけて息を吐き出すように発音します。

(略)

有声音にも口唇等を用いる音はありますし、声帯振動を伴わない無声音には破裂音(例えば/t/や/p/など)や摩擦音(例えば/s/や/f/)など複数の分類があります。しかしながら、ボコーダでは音素の詳細な区分をせず、声帯振動を含むか否か、つまり有声音と無声音だけで考えます。

(略)

ボコーダではすべての無声音についてホワイトノイズを入力としてフィルタに通します。

(略)

[図による基本システムの解説があり]

有声音は声帯振動が生じる時間毎に、無声音は一定時間ごとにフィルタの特性(具体的にはフィルタ係数)を変えて短時間の波形を合成し、それらをオーバーラップさせながら加算します。ボコーダでは、まず元となる入力音声波形を分析し、音声を合成するために必要となるパラメータを求めます。音声分析では、最初に音声から声帯振動が生じる時間間隔に相当する基本周期を求めますが、一般的には基本周期の逆数である基本周波数(FO)を求めます。フィルタは、スペクトル包絡と呼ばれるパラメータとして推定されます。

(略)

最後に、合成結果が劣化するポイントを説明します。まず/t/や/p/など破裂音の高品質な合成は、ボコーダ型の音声分析合成方式が抱えている共通の課題です。すべての無声音はホワイトノイズを音源としますので、波形のエネルギーが一瞬に集中する破裂音の合成には適していません。次の問題は、音色付けに用いられるフィルタの位相特性です。声帯振動をフーリエ変換するとパワースペクトルと位相スペクトルが得られるのですが、図2と図3のフィルタは、パワーのみ保存し位相を捨てます。合成の際は、パワースペクトルから「最小位相」と呼ばれる位相を計算して勝手に用いています。実際の音声の声帯振動は最小位相ではありませんので、当然音色が劣化します。また、フィルタの推定誤差が大きい場合は鼻声的になりやすく、声の擦れにより有声音中に生じる無声音を加算しない場合、あるいはFOの推定精度が低く人間らしい揺らぎ含まない場合は、ブザー音のようなロボット的な音に劣化します。(略)

 Q35 人が音声を正しく知覚できるのはなぜでしょうか?

(略)

 声を出すとは、声に出したい音素、音節や単語を、調音器官の動きを通じて、音声信号として生成することです。一方、声を聞くとは、音声信号から音素、音節や単語を理解することです。つまり、声を出すことと声を聞くことは、音声信号と音素、音節や単語との関係で言えば、反対のことを行っていると考えることができます。

(略)

音声知覚の運動理論は、人間は音声の聞き手であると同時に話し手でもあるという点に着目しています。つまり、人間は音声信号にどのような発話器官の制約が含まれているかということを知っているため、それを積極的に利用しながら音声の理解を行っているという考え方です。例えば、「あいうえお」という音声信号が耳に入ってきたとき、“「あいうえお」と発声するように発話器を動かせば耳に入ってきた音声を再現できるため、「あいうえお」と言っていに違いない”というように脳の中で発声のシミュレーションを行うことにより音声を知覚するというものです。(略)

とてもユニークな考え方ですが、わざわざ発声のシミュレーションをしながら音声を知覚しているとは思えないという批判が多く、またこの仮説を支持する結果が不十分であったこともあり、1990年代にはこの仮説はほとんど支持されなくなりました。
 ところが、2000年に入って状況が一変しました。音声知覚をしているときの人間の脳の活動を調べたところ、声を出すことに関与する脳部位(運動前野)が活動するという報告がされました。さらに、TMS(経頭蓋磁気刺激法)により音声知覚時の運動前野の活動を一時的に抑えると、音声知覚の成績が悪くなるという結果が報告されました。つまり、音声知覚が発声のシミュレーションをしながら行われているという仮説を支持する結果が示されたのです。(略)

音声を聞き取りにくくすると運動前野の活動が大きくなる、また非音声の場合には運動前野の活動が見られないという報告がされています。つまり、音声に足りない情報を発声のシミュレーションにより補っているとも考えられます。

(略)

日本人は、周囲が騒がしい場合であっても、日本語の音声であれば聞き取ることができる一方で、英語などの外国語の音声の場合はうまく聞き取ることができなくなります。こういった聞き取りにくい状況で、人間が聴覚説あるいは音声知覚の運動理論の考え方をどのように使っているかを理解できれば、効率的な外国語学習法を生み出すことができるかもしれません。もし音声知覚の運動理論の考え方が用いられているのであれば、外国語をたくさん話すということが重要になります。(略)

音程

音程は、2音間のピッチの隔たりを表しています。したがって、音が一つしか存在しない場合には音程は存在しません。音程という用語のよくある間違った使用例は「C4の音程の音を作成した」というものです。(略)正しくは「C4の音高の音を作成した」とするべきです。 

 始めに戻る

Q3 フーリエ変換をやさしく教えてください

ざっくり言うと……

●どのような周波数の音が含まれているかを知るツール

●正弦波との「似ている度合い」を計算している

●計算の都合で正弦波の代わりに複素正弦波を用いている

[以下詳しい説明]

Q27 MFCCとメルケプストラムの違いは何ですか?

 MFCC(メル周波数ケプストラム係数)とメルケプストラムって名前が似ているけど別物なのですか?どのような場合に使い分けるのでしょうか?
●MFCCは音声認識や話者識別に使用
●メルケプストラムは音声合成や声質変換に使用
●メルケプストラムの使用目的は音声波形の再現

 音声は何を話しているかを表す音韻情報と、どのように話しているかという韻律情報をもっています。音韻情報とは、/a/や/k/といった音素などの話者の口の形や唇、舌の位置から決まる情報のことです。一方で韻律情報は、声帯振動によって決まるピッチ情報やパワー、リズムを含みます。音声認識音声合成では、HMMなどの統計モデルによって音韻情報をモデル化していますが、このとき、音韻情報を低次元の(要素数の少ない)音響特徴量で表現することによって、より効率的にモデルを構築することができます。この低次元の音響特徴量として使用されるのがMFCC(メル周波数ケプストラム係数)やメルケプストラムです。
(略)

ケプストラム分析は、周波数領域で音韻情報と韻律情報を分離するための手法で(略)音声波形に窓を掛けフーリエ変換し得られたパワースペクトルの対数を取ります。さらに対数パワースペクトルの逆フーリエ変換をしたものがケプストラムと呼ばれるものです。ここで、ケプストラムの低次元部分をフーリエ変換するとスペクトルの大まかな形状を表すスペクトル包絡を、高次元部分をフーリエ変換すると基本周波数に基づくスペクトル微細構造を、それぞれ得ることができます。スペクトル包絡は音韻情報を、スペクトル微細構造はピッチ情報をそれぞれ表しているので、ケプストラム分析によって音韻情報と韻律情報を分離できていることがわかります。
 人間の聴覚は周波数によって聞こえ方が変わります。例えば、低い周波数の音であれば少し周波数が変わるだけでも音の高さの違いを聞き分けることが可能ですが、高い音になると周波数が少し変わっただけではほとんど聞き分けることができないといった特徴があります。この特徴から実際の周波数と聴覚上の周波数の関係を実験的に求めたものにメル尺度という尺度があり、図2のような曲線で表されます。音声認識音声合成では、スペクトルのうち低周波数帯の情報が重要であると想定し、低周波数帯を重視した特微量を得るために、メル尺度を使用します。

 [関連記事] 

kingfish.hatenablog.com

kingfish.hatenablog.com

kingfish.hatenablog.com