読者です 読者をやめる 読者になる 読者になる

テキスト音声合成のまとめもどき

音声合成難しそうだな(´・ω・`) でも理解したい(`・ω・´) ということで。音声合成ソフトの使い方に関するブログは多いんだけどね。

NII山岸先生のスライドをお借りすると、こんな感じにまとめられるみたいだ。ちなみに一番下の青いギザギザが音声の波形。

f:id:tam5917:20160307153933p:plain:w500

とにかく、テキストと音声の対応関係が分かればいいんだよね。合成したい文章が入力、対応する音声波形が出力。

「文章の言語的情報」は音素情報や発音辞書(単語⇔音素の変換表)、また形態素解析によって品詞情報の抽出、単語のかかり受けや句の構造解析を行う。さらにそこからアクセント句境界・アクセント核位置、 ポーズや呼気の挿入位置を推定したりと、テキスト音声合成を行うためには、それなりに高度な言語処理も必要ということだな。より自然な音声を合成するんだから、さぞいろいろな情報が要るんでしょうね。

「音声の音響的特徴量」はスペクトル包絡(声の音色)や基本周波数(声の高さ)を指していて、その抽出には信号処理の高度な知識が必要ということだ。


「言語情報と音響的特徴量の対応付け」にも、色んな方法が提案されているとのこと。

「フォルマント合成方式」
  • 音素とフォルマントとの対応関係を決定論的に実装する。要は手動で対応づけるので職人芸。
  • 代表的なシステムにはMITalkがある。
「ダイフォン合成方式」
  • ダイフォン(音素の後半部と後続音素の前半部から構成される音素単位)と音声波形を対応付ける。
  • ボーカロイドはこの方式の代表的なシステム。
「波形接続合成方式」
  • コンテキスト依存音素と音声波形を対応付ける。ただし「コンテキスト」とは前後の音素など音響的に影響を与える要因を指す。
「統計的音声合成方式」
  • コンテキスト依存音素とスペクトル包絡との対応付けを統計的に「学習」する。合成を行うためにまず学習が必要。これ大事。
    • 学習
    1. 個々の音素の音声波形を種々のコンテキストを考慮し複数用意
    2. 個々のコンテキスト依存音素の特徴を隠れマルコフモデル(Hidden Markov Model, HMM)などの時系列統計モデルにより学習
    • 合成
    1. 文章をコンテキスト依存音素系列へ変換
    2. 時系列統計モデルから最適音響特徴量を予測
    3. 予測音響特徴量から音声波形を合成

「ダイフォン」と「波形接続」は基本的に音声データベースから波形を持ってくる方法。

「統計的音声合成」は、噂によると、なかなかいい感じの方式らしい。なかでも「HMM音声合成」が主流とのことだ。応用も多岐に渡り、話者適応(モノマネ)、クロスリンガル音声合成福祉応用などがあるそうだ。また、音声だけじゃなく歌声も合成できるとか(HMM歌声合成)。なんだか凄そう。


統計モデルで音声合成を定式化すると何が嬉しいのか、については山岸先生のスライドを引用しよう:
f:id:tam5917:20160307164421p:plain:w600

次回以降、HMM音声合成を軸に、音声合成の統計的な定式化について数式を交えながらまとめられたらよいけど。

参考

本記事は全面的に山岸先生のスライドに依存。
おしゃべりなコンピュータ~音声合成技術の現在と未来~