はじめに
本記事はSLP KBIT AdventCalendar 2023の2日目の記事になります
2023/12/02_21:12現在より本記事の執筆を開始しました、2日目記事の執筆担当のnagottaです。当記事では音声合成を実現する前段階として音声に関する知識を備忘録としてまとめていきます。参考文献[1]をベースとして学習しているので、より詳細な事項に関してはそちらをご覧ください。
参考文献
[1][Amazon]Pythonで学ぶ音声合成 機械学習実践シリーズ
[2]東京大学 信号処理論特論 講義資料
音声合成とは
- 音声合成 : 音声器官を通じて発生された音(音声)を計算機を用いて模擬的に作り出す(合成する)技術。具体例としておしゃべりひろゆきメーカーやVOICEVOXなどがあげられるが、安倍晋三氏フェイク動画など技術の悪用が懸念されている。今回はテキストから音声を合成するテキスト音声合成(text-to-speech:TTS)を目的としているが、テキストの他にも口や喉といった音声器官の動き、感情や表情を入力値とした音声合成も存在する。
TTSの代表的な手法
- 素片選択型合成法(unit selections synthesis)
- あらかじめ録音しておいた大量の音声素材(音素など)を選択・接続して合成する。初代VOCALOIDはこの方式だった。肉声に近い合成音だが、声の質が安定せず不自然さが残る。
- 統計的パラメトリック音声合成(statistical parametric speech synthesis:SPPS)
- 音声パラメータを表現する統計モデルを素片選択型合成手法における素片選択の部分に置換することで、機械学習に基づく判事等できた音声合成を実現。当時は低い音質がネックだったが最近は改善されてきている。
- 一貫学習基づく音声合成(end-to-end speech synthesis)
- 音声合成の全ての過程を機械学習に置き換えた手法。この手法が登場するまでは自然言語処理や音声信号処理に関する知識・技術が要されたが、この手法の発明によって音声合成へのハードルは劇的に下がったとされている。今回(本記事と次回記事)はこの手法を用いての音声合成の実現を目的としている。
音声の持つ情報的側面
- 言語情報 : 書き言葉によって表現できる(容易に一意に推測できる)情報。これの変換を行うのは音韻変換という技術。
- パラ言語情報 : テキスト化できない情報のうち、話者が意図的に音声に付与する情報。態度、感情、発話の癖など。これの変換を行うのは感情変換という技術。
- 非言語情報 : テキスト化できない情報のうち、話者が意図せずに付与される情報。年齢、性別、身体性など。これの変換は話者変換(いわゆるボイスチェンジャー/ボイスコンバータ)という技術。
コンテキスト(context) : 私たちが日本語で書かれた台本を読み上げるように、計算機がテキスト(言語情報)から音声を制御する要因を推定するのが音声合成で、その要因のことをコンテキストという。音声を制御する特徴量とも言い換えられる。
コンテキストは次のような階層的な要素で表される。
- 音素 : 対象言語の中で意味を区別できる最小単位/音声を構成する最小単位。日本語で「現実(げんじつ)」だと/g/e/n/j/i/ts/u/の一つ一つが音素である。音素の決定基準は文献によって異なり、先述のものはOpen JTalkの表記に従った分割。
- 音節 : 音声の聞こえのまとまりを指す。日本語だと基本的に母音を中心とした音の塊(ひらがな一つ)で先述の例だと、/げん/じ/つ/の一つ一つが音節である。
- モーラ : 音節よりも少し小さい単位だが、日本語においては重要視される単位で、音節において前の音素に従属していた長音符("ー")・促音("っ")・拗音("ゃゅょ"等)が独立して1つのモーラとなる。例えば「出張(しゅっちょう)」だと/し/ゅ/っ/ち/ょ/う/の一つ一つがモーラである。日本語において重要視される理由は、日本語のリズムにおいて重要な役割を持つからである。
- 語 : 一つ以上の形態素からなる構成単位。いわゆる単語。
- (アクセント)句 : 複数の語が連結して句となるが、アクセント句は語の連結によってアクセント核(ピッチが高から低に変化すること、「箸(は\し)」などの""がそれにあたる。これの位置や型には複数のパターンがある)の有無や位置が変化した際にまとまりとみなされるものを指す。日本語では句や文をまとめて発するためこれが重要視される。参考文献[1]でもわかりやすく解説されていますが、日本語のアクセントに関する詳細は日本語アクセント新辞典などを参照してください。
- 呼気段落 : いわゆるブレス。
- 文 : 複数の呼気段落からなる句点で区切られる単位。
リズムや等時性など音声合成における継続長(連続する音や発音の長さ)を担う概念も存在するが参考文献[2]の方で解説されているので、そちらを参照されたい。
音声の物理的側面
- フーリエ変換 : データ解析の手法で、時間的に変化する波(音声)を異なる周波数の波の足し合わせで表現する方法。分解して得られる各要素は固有の周波数+振幅+位相を持ち、振幅を配列したものを振幅スペクトル、位相を配列したものを位相スペクトルと呼ぶ。また、音声の生成過程で特定の周波数の振幅が極端に大きくなることがあり、大小の振幅を明確に描画できなくなるので、それを回避するために振幅の対数を配列したものを対数振幅スペクトルと呼ぶ。
人間の音声器官は
- 呼吸器官
- 発声器官
- 調音器官
に分類される。(参考文献[2]を要参照)
声門の開閉の周期(時間)を基本周期と呼び、その逆数を基本周波数(F0) と呼ぶ。
おわりに
12月22日に執筆予定の記事では本記事で説明した知識に基づいて、音声合成を行ったことについて記述したいと思います。