音声認識と合成についてのまとめ

音声認識と合成について1日学んだことのまとめ。

音声認識について

音声認識とは音声を文字列に変換することで、Speech-to-Textとも呼ばれる。
音声認識の基本的な考え方はスペクトルから読み取れるパラメータには発音ごとに特有のパターンがあるとして、そのパターンを捉えようとするものである。
音声を窓関数で切り出した後にフーリエ変換でスペクトルにし、そのスペクトルを時々刻々記録したものはサウンドスペクトログラムと呼ばれる。音声波形では時間振幅のみ、スペクトルでは周波数強さのみが読み取れるが、時間周波数強さも読み取れるのがサウンドスペクトログラムである。
スペクトルから読み取れるパラメータというのは特徴量系列と呼ばれる数ベクトルで表される。その抽出方法は複数あるが、代表的なものとしてはMFCCと呼ばれるものがある。
音声認識はこの特徴量系列がどの単語列に対応するかを決定する問題に帰着する。HMMによってモデル化する場合では単語列と特徴量系列がモデル化され、確率的に対応づけられる。
単語列として認識された音声は単語の並びを制約する言語モデルにかけられる。言語モデルには文が文法的に正しいか正しくないかの2択で判断するものと、単語の並びがありうるかを確率的に評価するものがある。

音声合成について

音声の合成には

  • 文を全部録音する録音合成
  • 単語単位で録音する編集合成
  • 実際の声を元にパラメータを設定するパラメータ合成
  • 文字列から音声を合成するテキスト音声合成(Text-to-Speech)

などがある。
このうち、テキスト音声合成の手順をまとめたものが下図である。(音声合成の基礎より)


f:id:k17trpsynth:20180130182747j:plain

形態素解析

形態素解析とは

  • 文を単語に分割すること。
  • 単語の読みと品詞を推定すること。

単語アクセント

アクセントは音の強さによるもの(英語など)と音の高さによるもの(日本語など)がある。アクセントの単位は音節である場合とモーラ(拍)である場合があり、多くの言語では音節であるが、日本語はモーラを単位とする。
高音から低音に移るモーラをアクセント核と呼ぶ。日本語のアクセントの種類はアクセント核の位置によって分類できる。
助詞のアクセントは前後に接続する単語のアクセント型に依存する。また、単語と単語が合わさって複合語となるときにアクセント型が変わる場合がある。

音素列から波形へ

音素列から波形へ変換する方法としては

  • 人間の発声器官を模倣したロボットによる発音
  • 声帯の振動、声道の物理的特性のシミュレーション
  • 人間の声を使用せずに基本周波数・音色などのパラメータを設定して人工的に合成をするフォルマント合成
  • 波形素片接続合成
  • HMMが生成モデルであることを利用したHMM音声合成

などがある。

波形素片接続合成

波形素片接続合成とは録音した人間の声を適宜取り出してつなぐもので、編集合成の高度なものである。適切な素片を選んだ後に長さとピッチを調節し、接続する。素片の長さやピッチを変える技術としては、波形を基本周期で切り出して重ね合わせるTD-PSOLAなどが用いられている。