音声合成・激動の10年を振り返る


#はじめに
この記事は[2020年のRevCommアドベントカレンダー](https://qiita.com/advent-calendar/2020/revcomm)16日目の記事です。 15日目は@kyogomさんの「[ファイルシステムをCase-sensitiveに設定しておこう for Mac](https://qiita.com/kyogom/private/edd66b18430131797306)」でした。 

私は@shuheikatoinfoです。将来の弊社製品搭載を目指して**音声合成**（テキストを音声に変換する装置）を研究開発しております。音声合成は2020年現在非常に盛り上がっておりまして、この記事では、そんな音声合成の激動の10年を振り返ります。

#音声合成って何？
音声合成とは、広義には**何らかの入力を音声（人間の話す声）に変換すること**を指します。今日最も一般的なのは入力がテキスト（文字列）の場合で、この場合は特別に**テキスト音声合成** (Text-to-Speech; **TTS**) と呼ぶこともあります。つまり、テキストを機械が読み上げてくれるということですね。いわゆる**ボーカロイドの話し声版**だと思ってくださって構いません。

#音声合成はどこで使われてるの？
2020年現在、音声合成による音声（合成音声）は身の回りで**頻繁に**耳にすることができます[^1]。コールセンターなどでの電話の自動応答（○○に御用の方は、1を…）では長年使われているほか、ATMやコピー機、バスの車内放送、各種交通ターミナルでの構内放送、ハイウェイラジオ、カーナビ、テレビのナレーション[^2]をはじめとする放送関係、そして最近ではスマートスピーカー（音声アシスタント）などです。

音声合成はその品質の向上とともに利用場面が年々増えており、皆様が思っていらっしゃるよりは、遥かに多くの場面で耳にされているはずです。

[^1]: 音声合成の仕事に長年従事していると、合成音声か自然音声かぐらいは、何となく分かるようになります。時には特定の製品名まで分かることもあります。
[^2]: **[モヤモヤさまぁ〜ず2](https://www.tv-tokyo.co.jp/samaazu2/)のナレーションが某芸人さんだと思っている方は多い**ですが、合成音声です。

#音声合成・激動の10年
そんな音声合成ですが、ここ10年は**激動の10年**だったと言ってよいでしょう。一言で言えば、歴史上初めて、限られた条件下ではあるものの**自然音声（人間が話す音声）とほぼ遜色のない音声が合成できるようになった**からです。

##2011年–2012年: まだ牧歌的な時代
私が音声合成に触れ始めたのもこの時期でしたが、今思えば、まだ牧歌的な時代でした。この頃の音声合成は主に**波形接続式音声合成（単位選択型音声合成）**という、録音した音声を入力テキストに合わせて切り貼りする方式が主流でした。この方式は様々なメリットがあり、商業的には2020年現在でも広く使われています。しかし、全体の品質としては、自然音声と同等とは言い難いものでした[^3]。

また、**隠れマルコフモデルに基づく音声合成（HMM音声合成）**という、統計的な手法を用いた音声合成（統計的音声合成）もこの頃には既に商業的に使われていましたが、残念ながら一瞬で合成音声だと分かるような品質のものでした。なお、HMM音声合成は比較的軽量であることから、その音声はロボットや家電などで、現在でもよく耳にすることができます。

[^3]: 「録音した音声を入力テキストに合わせて切り貼りする」ので、最も極端には**入力テキストそのものを録音していた場合**は当然、自然音声と同等の品質の音声が得られます。逆に、入力テキストに近い音声が存在しなければ、品質は著しく下がります。

##2013年: 深層学習に基づく音声合成の登場
画像処理の分野では一足先に一世を風靡していた深層学習（ディープラーニング）ですが、この年、音声合成にもその波がやってきました。草分けの論文 ([Zen+ 2013](https://ieeexplore.ieee.org/document/6639215)) の時点では、まだHMM音声合成を大きく超える品質ではなかったものの、深層学習という巨人はこの後**猛烈な速さで進化を遂げる**ことになります。

##2016年: WaveNetの登場
（テキスト）音声合成は入力テキストを音声に変換することを指しますが、テキストを音声に直接変換することは極めて困難であったために、伝統的に以下の3つの過程に分割されてきました[^4]。

1. テキストを言語特徴量[^5]に変換する
2. 言語特徴量を音響特徴量[^6]に変換する
3. 音響特徴量を音声波形に変換する

このうち3の過程を担当するモデルを専門用語で**ボコーダー** (vocoder) と呼びますが、従来は信号処理に基づくものが主流でした。信号処理に基づくボコーダーは、自然音声の音響特徴量を入力した場合には（適切な条件下では）十分に高品質な音声波形を生成できるものの、合成音声の音響特徴量を入力した場合にはそれほど高品質な音声波形を生成できないという問題がありました[^7]。

ところがこの年、**WaveNet** ([Oord+ 2016](https://arxiv.org/pdf/1609.03499.pdf)) という深層学習をベースとした画期的なモデルが登場したことで[^8]、ボコーダーの世界はすっかり変わってしまいました。WaveNetは従来の信号処理に基づくボコーダーよりも**遥かに高品質な**音声波形を生成してしまったのです。WaveNetのように深層学習に基づくボコーダーを**ニューラルボコーダー**と呼びますが、WaveNetの登場以来、今日に至るまで様々なニューラルボコーダーが提案されています。

[^4]: 波形接続型音声合成（単位選択型音声合成）は、2と3の過程を音声の切り貼りという方法で統合していると解釈できます。
[^5]: 日本語の場合だと、音素（母音や子音に相当）・アクセント・品詞などの情報。
[^6]: スペクトログラム（声紋みたいなもの）、基本周波数（音の高さ）などの情報。
[^7]: もちろん音響特徴量の推定精度が悪いからですが、音響特徴量を高精度に推定するのはそれはそれで難しい問題です。
[^8]: WaveNetは音響特徴量を入力とすればボコーダーとして使えますが、入力は必ずしも音響特徴量でなくてもよいです。

##2017年: ついに人間に追いつく
先程、音声合成は伝統的に3つの過程に分割されてきたと言いましたが、3つの過程それぞれを別々のモデルで行っていては全体最適を達成することが難しくなってしまうのは容易に想像できます。2017年はこれを解決する第一歩として、1と2の過程を統合したモデルが登場しました。このようなモデルは**end-to-endモデル**と呼ばれています[^9]。end-to-endモデルは従来のモデルを凌駕する性能を発揮して、ついにこの年の12月に登場した**Tacotron 2** [(Shen+ 2017)](https://arxiv.org/abs/1712.05884) は、WaveNetボコーダーとの組み合わせにより自然音声と同程度の品質を達成することに成功しました。これは**英語の読み上げ音声という限られた条件下**ではありますが、**音声合成の歴史の中で研究者たちが長年見てきた夢が叶った瞬間**でもありました。

なお、日本語など他の言語の場合や、読み上げ音声（アナウンスやナレーションなどのような音声）**以外**の音声の場合は、まだ自然音声と同等の品質を達成しているとは限りません。また、（end-to-endでない）深層学習に基づく音声合成モデルやニューラルボコーダーは広く商業的に使われていますが、end-to-endモデルの使用例は現在のところ多くはありません。

[^9]: **end-to-途中**ではないかという指摘はもっともですが、なぜか広くend-to-endと呼ばれています。

#次の10年、音声合成はどこへ向かう？
**英語の読み上げ音声**という限られた条件下ではあるものの**人間に追いついてしまった**音声合成。もうやることがないのか？というと、そうではありません。RevCommにいる私を含め、世界中の音声研究者たちは次に挙げるような、**さらに高い目標に向かって日々邁進している**のです。

- 日本語など、読み上げ音声においても自然音声と同等の品質に達していない言語での品質向上
- 感情を込めた音声など、様々な発話スタイル表現が可能な音声合成の品質向上
- 人間と自然に対話することが可能な音声合成
- 多言語を同じ声で高品質に発話可能な音声合成の研究（クロスリンガル音声合成）
- 音声合成のエンターテインメントへの本格的な応用（手前味噌ですが、私の博士課程での研究である[**落語音声合成**](https://note.com/revcomm_miitel/n/nc43e0d8cdb44)もこれにあたります）

#おわりに
音声合成には夢がありますね！私も、RevCommの音声合成の声を早くお聞きいただけるよう、また、新しい価値をお届けできるよう、仕事に励む所存でございます。

明日は@enotesupaさんの投稿です。お楽しみに！