音声合成

音声合成

執筆済 AI音声

テキストから音声波形を生成する。 TTS の中核。

2 段構成#

テキスト → [音響モデル] → メルスペクトログラム → [ボコーダ] → 波形

直接波形を作るのではなく、 中間表現(メルスペクトログラム)を挟むのが標準的。

理由は次元の差にある。 1 秒の音声は 24,000 サンプルだが、 メルスペクトログラムなら 80×86 程度。 音響モデルは扱いやすい低次元を扱い、 波形の細部はボコーダに任せる。

ボコーダの変遷#

モデル 原理 速度
WaveNet 自己回帰的に 1 サンプルずつ 極めて遅い
Parallel WaveGAN、HiFi-GAN GAN で並列生成 実時間より速い
拡散ボコーダ 拡散 高品質、中程度

WaveNet(2016)は品質で従来手法を大きく超えたが、 16,000 回の逐次計算で 1 秒を生成するため実用に耐えなかった。 並列化がその後の主題になった。

難しさは韻律にある#

音素の並びを音にするだけなら難しくない。 自然さを決めるのは

  • イントネーション、アクセント
  • 間の取り方、話速
  • 感情、強調

これらはテキストに書かれていない。 文脈から推定する必要があり、 曖昧性が残るため one-to-many の問題になる。

日本語では特にアクセント(高低)の推定が難しく、 「橋 / 箸 / 端」のような同表記語の判別が課題になる。

参考文献#

ノート一覧を閉じる