音声合成(text-to-speech, TTS)は、人間と機器との接し方を変えつつあり、既にスマートスピーカー、バーチャルアシスタント、音声チャットボットには音声合成により生成された「声」が使われています。TTSが自動音声認識(ASR)、自然言語理解(NLU)、対話管理、自然言語生成(NLG)など、さまざまなスマートテクノロジーと組み合わさることにより、VUI(Voice User Interface)を実現することが可能です。
しかし、PC、スマートフォン、タブレット、スマートスピーカー等を真の意味で「ヒューマン・フレンドリー」なものにするには、そこから発せられる「声」が所謂「ロボット声」を超えたものである必要があります。人工知能(AI)を利用すれば、本物の人間と見分け(聞き分け)がつかないほどの合成音声を作り出すことが可能です。このAIを利用したTTSは、DNN音声合成と呼ばれています。
この記事では、DNN音声合成とは何か、何ができるのか、そしてなぜビジネスに重要なのかを解説いたします。
DNN音声合成とは
DNN音声合成とは、文字通りDNN(Deep Neural Network)を用いた音声合成のことです。ニューラルネットワークとは、人間の脳をモデルとしたコンピュータアーキテクチャの一種です。人間の脳は、神経細胞(ニューロン)が電気化学的に接続された、信じられないほど複雑な網目構造によってデータを処理しています。これらの接続経路は、反復して発達することで、より少ない労力で活性化することができます。これを「学習」と呼びます。 ニューラルネットワークは、この動きを緩やかに模倣しています。
ニューラルネットワークは、入力されたデータを分類し、他の人工ニューロンに伝達する処理ユニット(人工ニューロン)の集合体です。ニューラルネットワークは、望ましい結果を得るためのパラメータを設定し、大規模なデータセットを処理することで、ニューロンからニューロンへ、入力から出力への最適な経路をマッピングすることを学習します。ニューラルネットワークは、従来のコンピュータとは異なり、「If A, then B」のようにルールを記述することはありません。むしろ、学習データからルールを導き出していきます。ニューラルネットワークは機械学習の一種であり、画像認識から株式の売買まで幅広く応用されています。
しかし、すべてのニューラルネットワークがDNNというわけではありません。ニューラルネットワークは、3つ以上の処理層で構成されているものを「ディープ」と呼んでいます。 まず入力層がデータを分類し、1つまたは複数の「隠れた」層を通過させます。入力層は、データを最初に分類し、1つまたは複数の「隠れ層」を通過させます。これらの隠れ層は、信号をさらに細かく分類し、より複雑な分類を行います。最後に、出力層が最終的な結果を出します。例えば、画像に正しいラベルを付けたり、株価の変動を予測したり、あるいは人間の会話のように聞こえる音声信号を生成したりします。
自然な音声を実現するために
DNN音声を作成するには、人間の音声を録音してDNNモデルを構築し学習させます。その結果得られる音声は、入力データである話者の声に似ているため、ボイスクローニングとも呼ばれています。これを実現するためには、複数のDNNが協調して動作する必要があります。実際、DNN音声合成には少なくとも3つの異なるDNNモデルが必要であり、それらが組み合わさって全体的な音声合成が行われます。
- 音響モデルは、話者の声の音色を再現するもので、「話し手の声」だと聞き手が認識する色や質感を再現します。
- ピッチモデルは、音声のトーンの範囲を予測します。TTS音声の高さや低さだけでなく、音素ごとのトーンのばらつきも予測します。
- デュレーションモデルは、音声が各音素をどのくらい保持するかを予測します。
ピッチ予測モデルとデュレーション予測モデルは、プロソディックパラメータ(prosodic parameters)と呼ばれています。これは、韻律、つまり、イントネーション、リズム、区切りなど、音声以外の音声特性を決定するからです。一方、音響モデルは、話者の声の音色や音声の音韻的特性に関する情報を捉える音響パラメータを予測します。今日では、これらのモデルを組み合わせることで、より生き生きとしたTTS音声を、より短時間で作成することができます。
DNN音声合成のサンプル
DNN音声合成の新たな可能性
DNN音声合成の最も明白な利点は、より良い音が出ることです。2016年に行われた研究では、DNNベースのTTSは他のタイプのTTSよりも自然だと参加者に評価されました。また、DNN音声合成は、コスト削減と品質向上を同時に実現するTTS開発にも寄与しています。
TTSを使えば、スマートスピーカー、バーチャルアシスタント、電話自動応答システムなどの音声チャネルを通じて、消費者との接点を増やすことが可能です。ここでは、DNN音声合成をより活用するための方法をご紹介いたします。
プロソディ変換
あるTTSの音は好きだが、別のTTSの話し方は好きではないとします。プロソディ変換を使えば、両方の長所を活かすことができます。2つの音声に互換性があれば(つまり、同じ言語で、ピッチレンジがそれほど離れていなければ)、一方の音声のプロソディと他方の音声を組み合わせることができます。これにより、TTSに表現力の幅を与えることができます。
話者適応
転移学習と呼ばれる高度な機械学習技術により、新しい合成音声の生成に必要な学習データの量を減らすことができます。
既存のTTSの大規模なデータセットが、短時間の新規音声録音による学習のギャップを埋めます。音声モデルの学習には数時間の音声録音が常に理想的ですが、短い録音しかできなくても話者適応により新しい音声を生成することが可能になります。言い換えれば、より少ない元データで、より速く学習し、生き生きとしたTTS音声を生成することができます。
感情音声合成
TTSの音声は、トレーニングデータによって決まります。もし誰かが怒っている様子を3時間録音したら、ピッチの変化が大きく、強度も高いので、「怒っている」TTS音声ができあがります。
従来の音声合成では、TTSを開発するためには数十時間の録音データが必要で、しかもその音声は比較的ニュートラルな表現でなければなりませんでした。しかし、DNNモデルでは、わずか数時間の録音データでTTSの開発が可能です。
感情音声合成を対話AIと組み合わせることで、話し手の雰囲気に合わせて話すトーンを調整する自動化されたチャットボット、IVRシステム、バーチャルアシスタントを実現することが可能です。その結果、完全に自動化された音声チャネルを通じて、顧客体験を向上させることが可能になります。
事例
Nintendo Switchゲーム開発用SDK
Nintendo Switchゲーム開発用SDKの提供を開始しました