音声合成

音声合成（おんせいごうせい、英: speech synthesis）とは、人間の音声を人工的に作り出すことである。 ヒトは発声器官を通じて音声を生成し、コミュニケーションを行なう（会話や演説、講演、各種芸能およびその中継や録音・録画など）。この音声を人工的に生成するタスクが音声合成である。合成された音声を合成音声（ごうせいおんせい）と呼ぶ。 音声合成は様々な手法で実現できる。ある種の楽器は人の声に似た音を発し、また人の喉を模倣した機械に風を吹き込むことで人の声に似た音が生成できる。コンピューターを用い、音声情報処理の一種としてデジタル的に音声を合成することもできる。 2020年代においては、コンピューターを使えば実音声と聞き分け不可能な音声合成が可能になっている。さらに人工知能（AI）を用いることで、ある人物が実際には話していない発言を映像とともに偽造すること（ディープフェイク）や、自分の声を学習させて癌手術による声帯手術などで発声ができなくなった後でもスマートフォンに入力したテキスト文を自分の声色に似せて音声合成する技術も実用化されている。 音声には言語内容・話者性・感情など様々な情報が含まれており、音声合成では望んだ属性をもつ合成音声の生成が求められる。生成にあたり望む属性を外部から入力し生成がおこなわれる。テキスト（文章）を入力し、望む言語内容の音声を生成するタスクは テキスト音声合成（英: Text-To-Speech; TTS）と呼ばれる。歌声を合成するものは特に歌声合成と呼ばれる。また、音声を別の個人あるいはキャラクターの音声に変換する手法は声質変換と呼ばれる。 現代的な信号処理手法が発明されるずっと以前から、西アフリカのトーキングドラム等のように音声を模倣する試みがなされてきた。 1779年には、クリスティアン・クラッツェンシュタインにより母音を発声できる機械が製作された。この流れはふいごを使った機械式音声合成器を作ったオーストリアのヴォルフガング・フォン・ケンペレンに引き継がれた。彼は1791年に論文Mechanismus der menschlichen Sprache nebst der Beschreibung seiner sprechenden Maschine（『音声の仕組みとしゃべる機械の解説』）を発表し、その機械について説明している。この機械は舌と唇をモデル化しており、母音だけでなく子音も発音できた。1837年、チャールズ・ホイートストンがフォン・ケンペレンのデザインを元にしゃべる機械を製作し、1857年には、M. FaberがEuphoniaを製作した。ホイートストンの機械は、1923年にPagetが再現している。 1930年代、ベル研究所のホーマー・ダドリー（Homer Dudley）は通信用の電子式音声分析・音声合成器であるボコーダー（vocoder、voice coderの略）を開発した。その後これを応用し、音声合成部にキーボードを付加した鍵盤演奏型の音声合成器であるvoderを製作し、ニューヨーク万国博覧会 (1939年)に出展した。その発声は十分理解可能だったと言われる。1940年代には、ハスキンズ研究所のフランクリン・S・クーパー（Franklin S. Cooper）らがPattern playbackという機械の開発に取り組み、1950年に完成した。この機械にはいくつかのバージョンがあるが、実際に機能したのは一つだけである。この機械は、スペクトル形式の音声パターンの図を音に変換するものであった。アルヴィン・リバーマン（Alvin Liberman）らは、これを音声学の研究に利用した。 コンピュータを使った最初の音声合成器は1950年代終盤に開発され、最初のテキスト音声合成器は1968年に開発された。1961年、物理学者のJohn Larry Kelly, Jr.とLouis Gerstmenは、ベル研究所でIBM 704を使った音声合成を行った。そしてデイジー・ベルという歌をコンピュータに歌わせた。友人のジョン・ピアースを訪ねてベル研究所に来ていたアーサー・C・クラークはこのデモを聴いて感銘を受け、2001年宇宙の旅でHAL 9000が歌うクライマックスシーンが生まれた。 1999年には、東京工業大学のチームにより統計的な生成モデルを用いた音声合成の先駆けである隠れマルコフモデル音声合成が提案された。2013年にはGoogleのチームにより深層学習（ディープラーニング）に基づいた音声合成が提案され、2017年にはテキスト処理部が不要なend-to-endテキスト音声合成が提案された。 三重県御浜町の防災行政無線の放送。 防災行政無線における使用例1 山梨県上野原市の防災行政無線の放送。 防災行政無線における使用例2 これらの音声や映像がうまく視聴できない場合は、Help:音声・動画の再生をご覧ください。 音声合成は様々なサービスで利用されている。例えば、コールセンターの自動応答、ATMや複合機などの電子機器、工場などでの構内放送、防災無線、駅・バスターミナル・空港などでの車内放送や案内放送、カーナビゲーション、電子辞書、家電、スマートフォンやスマートスピーカーなどのアプリケーションや音声アシスタント、エンターテインメントロボット、アニメ、テレビ番組・コミュニティ放送・ハイウェイラジオなどの放送分野、電子書籍の読み上げなどである。そのほか、音声合成は視覚障害者あるいは読字障害（ディスレクシア）者などのためにスクリーンリーダーとして使用されている。また、病気やその治療などのために発声または音声発話が困難な人が、自分の声の代わりに使用することもある。 テキスト音声合成はテキスト（文章）を音声に変換するタスクである。この変換は以下の問題と捉えることができる。 テキストとそれに対応する音声波形の組があるとき、任意に与えられたテキストに対応する音声波形を求めよ。 この問題に対する解法の1つが統計的機械学習である。すなわち音声データベース（コーパス）に基づき波形生成の確率モデルを学習し合成器とするアプローチである。人の音声生成において、同一話者が同じ文を何回か読み上げたときに全く同一の波形が得られることは極めて稀である。このように音声生成過程および音声信号は非決定的な性質をもち、確率的な枠組みは有効である。 この枠組みでは、音声データベース（コーパス）に存在するテキストおよび音声波形をそれぞれ W {\displaystyle {\mathcal {W}}} および X {\displaystyle \mathrm {X} } 、与えられた任意のテキストを w {\displaystyle {\boldsymbol {w}}} 、合成すべき音声を x {\displaystyle {\boldsymbol {x}}} としたとき、 x {\displaystyle {\boldsymbol {x}}} の予測分布 p ( x | w , X , W ) {\displaystyle p({\boldsymbol {x}}|{\boldsymbol {w}},\mathrm {X} ,{\mathcal {W}})} を w , X , W {\displaystyle {\boldsymbol {w}},\mathrm {X} ,{\mathcal {W}}} から推定し、この予測分布から x {\displaystyle {\boldsymbol {x}}} をサンプリングする。分布モデルはしばしば補助変数と近似を導入して複数のステップに分割される。 例えば補助変数として言語特徴量と音響特徴量を導入し次のように定式化する。音声信号の性質を表す音響特徴量を O {\displaystyle {\mathcal {O}}} （データベース）および o {\displaystyle {\boldsymbol {o}}} （合成）、テキストの性質を表す言語特徴量を L {\displaystyle {\mathcal {L}}} （データベース）および l {\displaystyle {\boldsymbol {l}}} （任意に与えられたテキスト）、言語特徴量が与えられた際の音響特徴量の生起確率を表現するパラメトリックな音響モデルを λ {\displaystyle \lambda } としたとき、予測分布は以下のように分解できる。 p ( x ∣ w , X , W ) = ∭ ∑ ∀ l ∑ ∀ L p ( x , o , l , O , L , λ ∣ w , X , W ) d o d O d λ = ∑ ∀ l ∑ ∀ L ∭ p ( x ∣ o ) p ( o ∣ l , λ ) p ( l ∣ w ) p ( X ∣ O ) p ( O ∣ L , λ ) p ( λ ) p ( L ∣ W ) p ( X ) d o d O d λ {\displaystyle {\begin{aligned}p({\boldsymbol {x}}\mid {\boldsymbol {w}},\mathrm {X} ,{\mathcal {W}})&=\iiint \sum _{\forall {\boldsymbol {l}}}\sum _{\forall {\mathcal {L}}}p({\boldsymbol {x}},{\boldsymbol {o}},{\boldsymbol {l}},{\mathcal {O}},{\mathcal {L}},\lambda \mid {\boldsymbol {w}},\mathrm {X} ,{\mathcal {W}})d{\boldsymbol {o}}d{\mathcal {O}}d\lambda \\&=\sum _{\forall {\boldsymbol {l}}}\sum _{\forall {\mathcal {L}}}\iiint p({\boldsymbol {x}}\mid {\boldsymbol {o}})p({\boldsymbol {o}}\mid {\boldsymbol {l}},\lambda )p({\boldsymbol {l}}\mid {\boldsymbol {w}}){\frac {p(\mathrm {X} \mid {\mathcal {O}})p({\mathcal {O}}\mid {\mathcal {L}},\lambda )p(\lambda )p({\mathcal {L}}\mid {\mathcal {W}})}{p(\mathrm {X} )}}d{\boldsymbol {o}}d{\mathcal {O}}d\lambda \\\end{aligned}}} あとは補助変数について周辺化を行えばよいが、これを補助変数の同時確率を最大化する点で近似すると、予測分布は以下のように近似できる。 p ( x ∣ w , X , W ) ≈ p ( x ∣ o