(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-30
(45)【発行日】2023-11-08
(54)【発明の名称】クロックワーク階層化変分エンコーダ
(51)【国際特許分類】
G10L 13/10 20130101AFI20231031BHJP
G10L 25/30 20130101ALI20231031BHJP
【FI】
G10L13/10 113Z
G10L25/30
【外国語出願】
(21)【出願番号】P 2022030966
(22)【出願日】2022-03-01
(62)【分割の表示】P 2020563611の分割
【原出願日】2019-04-12
【審査請求日】2022-03-09
(32)【優先日】2018-05-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ロバート・クラーク
(72)【発明者】
【氏名】チュン-アン・チャン
(72)【発明者】
【氏名】ヴィンセント・ワン
【審査官】山下 剛史
(56)【参考文献】
【文献】国際公開第2017/168870(WO,A1)
【文献】特表平8-512150(JP,A)
【文献】岡本拓磨他,サブバンドWaveNetボコーダによる全可聴帯域音声合成の検討,日本音響学会2018年春季研究発表会講演論文集[CD-ROM],2018年03月,pp.251-254
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10,25/30
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実施される方法であって、データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに、
テキスト音声(TTS)モデルによって音声に合成されることになるテキスト発話を受信するステップ
であって、前記テキスト発話は、少なくとも1つの単語を有し、各単語は、少なくとも1つの音節を有し、各音節は、少なくとも1つの音素を有する、ステップと、
人間音声の口頭発話を含むオーディオ信号を受信するステップと、
変分オートエンコーダ(VAE)のエンコーダ部分によって、前記オーディオ信号を発話埋め込みに符号化するステップであって、前記発話埋め込みは、前記テキスト発話についての意図された韻律を表す、ステップと、
前記VAEのデコーダ部分によって、
各音節に対して、前記エンコーダ部分によって符号化された前記発話埋め込みを使用して、前記テキスト発話についての韻律表現を予測するステップと、
前記テキスト発話からの、かつ意図された韻律を有する合成音声を生成するため、テキスト音声(TTS)システムに、前記テキスト発話についての前記韻律表現を提供するステップと
を含む動作を実施させる、方法。
【請求項2】
前記テキスト発話についての前記韻律表現を予測するステップが、各音節に対して、前記発話埋め込みを使用して、
前記音節の各音素の言語特徴を、前記音節用の対応する韻律音節埋め込みで符号化することによって、前記音節の継続時間を予測するステップと、
前記音節についての前記予測された継続時間に基づいて、前記音節のピッチ輪郭を予測するステップと、
前記音節についての前記予測された継続時間に基づいて、複数の固定長予測ピッチフレームを生成するステップであって、各固定長予測ピッチフレームは、前記音節の前記予測されたピッチ輪郭の一部を表す、ステップと
を含む、請求項1に記載の方法。
【請求項3】
前記テキスト発話についての前記韻律表現を予測するステップが、各音節に対して、前記発話埋め込みを使用して、
前記音素についての予測継続時間に基づいて、前記音節中の各音素のエネルギー輪郭を予測するステップと、
前記音節に関連付けられた各音素について、前記対応する音素についての前記予測継続時間に基づいて、複数の固定長予測エネルギーフレームを生成するステップであって、各固定長エネルギーフレームは、前記対応する音素の前記予測されたエネルギー輪郭を表す、ステップと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記固定長予測エネルギーフレームおよび前記固定長予測ピッチフレームの長さは同じである、請求項3に記載の方法。
【請求項5】
前記受信されたテキスト発話の各音素用に生成された固定長予測エネルギーフレームの総数は、前記受信されたテキスト発話の各音節用に生成された前記固定長予測ピッチフレームの総数に等しい、請求項3に記載の方法。
【請求項6】
階層状言語構造が前記テキスト発話を表し、前記階層状言語構造は、
前記テキスト発話の各音節を含む第1のレベルと、
前記テキスト発話の各音素を含む第2のレベルと、
前記テキスト発話の各音節についての各固定長予測ピッチフレームを含む第3のレベルと、
前記第3のレベルと平行であり、かつ前記テキスト発話の各音素についての各固定長予測エネルギーフレームを含む第4のレベルと
を備える、請求項3に記載の方法。
【請求項7】
前記階層状言語構造の前記第1のレベルは、前記テキスト発話の各音節を表す長短期メモリ(LSTM)処理セルを備え、
前記階層状言語構造の前記第2のレベルは、前記テキスト発話の各音素を表すLSTM処理セルを備え、前記第2のレベルの前記LSTM処理セルは、前記第1のレベルの前記LSTM処理セルに相対して、かつそれらよりも速くクロックし、
前記階層状言語構造の前記第3のレベルは、各固定長予測ピッチフレームを表すLSTM処理セルを備え、前記第3のレベルの前記LSTM処理セルは、前記第2のレベルの前記LSTM処理セルに相対して、かつそれらよりも速くクロックし、
前記階層状言語構造の前記第4のレベルは、各固定長予測エネルギーフレームを表すLSTM処理セルを備え、前記第4のレベルの前記LSTM処理セルは、前記第3のレベルの前記LSTM処理セルと同じ速さでクロックし、前記第2のレベルの前記LSTM処理セルに相対して、かつそれらよりも速くクロックする、請求項6に記載の方法。
【請求項8】
前記階層状言語構造の前記第3のレベルは、単一のパスで、各音節についての前記固定長予測ピッチフレームを予測するフィードフォワードレイヤを備え、かつ/または
前記階層状言語構造の前記第4のレベルは、単一のパスで、各音素についての前記固定長予測エネルギーフレームを予測するフィードフォワードレイヤを備える、請求項6に記載の方法。
【請求項9】
前記発話埋め込みは固定長数値ベクトルを含む、請求項1に記載の方法。
【請求項10】
前記TTSシステムはニューラルボコーダを含む、請求項1に記載の方法。
【請求項11】
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアと
を備えるシステムであって、前記メモリハードウェアは、前記データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに動作を実施させる命令を記憶し、前記動作は、
テキスト音声(TTS)モデルによって音声に合成されることになるテキスト発話を受信するステップ
であって、前記テキスト発話は、少なくとも1つの単語を有し、各単語は、少なくとも1つの音節を有し、各音節は、少なくとも1つの音素を有する、ステップと、
人間音声の口頭発話を含むオーディオ信号を受信するステップと、
変分オートエンコーダ(VAE)のエンコーダ部分によって、前記オーディオ信号を発話埋め込みに符号化するステップであって、前記発話埋め込みは、前記テキスト発話についての意図された韻律を表す、ステップと、
前記VAEのデコーダ部分によって、
各音節に対して、前記エンコーダ部分によって符号化された前記発話埋め込みを使用して、前記テキスト発話についての韻律表現を予測するステップと、
前記テキスト発話からの、かつ意図された韻律を有する合成音声を生成するため、テキスト音声(TTS)システムに、前記テキスト発話についての前記韻律表現を提供するステップと
を含む、システム。
【請求項12】
前記テキスト発話についての前記韻律表現を予測するステップが、各音節に対して、前記発話埋め込みを使用して、
前記音節の各音素の言語特徴を、前記音節用の対応する韻律音節埋め込みで符号化することによって、前記音節の継続時間を予測するステップと、
前記音節についての前記予測された継続時間に基づいて、前記音節のピッチ輪郭を予測するステップと、
前記音節についての前記予測された継続時間に基づいて、複数の固定長予測ピッチフレームを生成するステップであって、各固定長予測ピッチフレームは、前記音節の前記予測されたピッチ輪郭の一部を表す、ステップと
を含む、請求項11に記載のシステム。
【請求項13】
前記テキスト発話についての前記韻律表現を予測するステップが、各音節に対して、前記発話埋め込みを使用して、
前記音素についての予測継続時間に基づいて、前記音節中の各音素のエネルギー輪郭を予測するステップと、
前記音節に関連付けられた各音素について、前記対応する音素についての前記予測継続時間に基づいて、複数の固定長予測エネルギーフレームを生成するステップであって、各固定長エネルギーフレームは、前記対応する音素の前記予測されたエネルギー輪郭を表す、ステップと
をさらに含む、請求項12に記載のシステム。
【請求項14】
前記固定長予測エネルギーフレームおよび前記固定長予測ピッチフレームの長さは同じである、請求項13に記載のシステム。
【請求項15】
前記受信されたテキスト発話の各音素用に生成された固定長予測エネルギーフレームの総数は、前記受信されたテキスト発話の各音節用に生成された前記固定長予測ピッチフレームの総数に等しい、請求項13に記載のシステム。
【請求項16】
階層状言語構造が前記テキスト発話を表し、前記階層状言語構造は、
前記テキスト発話の各音節を含む第1のレベルと、
前記テキスト発話の各音素を含む第2のレベルと、
前記テキスト発話の各音節についての各固定長予測ピッチフレームを含む第3のレベルと、
前記第3のレベルと平行であり、かつ前記テキスト発話の各音素についての各固定長予測エネルギーフレームを含む第4のレベルと
を備える、請求項13に記載のシステム。
【請求項17】
前記階層状言語構造の前記第1のレベルは、前記テキスト発話の各音節を表す長短期メモリ(LSTM)処理セルを備え、
前記階層状言語構造の前記第2のレベルは、前記テキスト発話の各音素を表すLSTM処理セルを備え、前記第2のレベルの前記LSTM処理セルは、前記第1のレベルの前記LSTM処理セルに相対して、かつそれらよりも速くクロックし、
前記階層状言語構造の前記第3のレベルは、各固定長予測ピッチフレームを表すLSTM処理セルを備え、前記第3のレベルの前記LSTM処理セルは、前記第2のレベルの前記LSTM処理セルに相対して、かつそれらよりも速くクロックし、
前記階層状言語構造の前記第4のレベルは、各固定長予測エネルギーフレームを表すLSTM処理セルを備え、前記第4のレベルの前記LSTM処理セルは、前記第3のレベルの前記LSTM処理セルと同じ速さでクロックし、前記第2のレベルの前記LSTM処理セルに相対して、かつそれらよりも速くクロックする、請求項16に記載のシステム。
【請求項18】
前記階層状言語構造の前記第3のレベルは、単一のパスで、各音節についての前記固定長予測ピッチフレームを予測するフィードフォワードレイヤを備え、かつ/または
前記階層状言語構造の前記第4のレベルは、単一のパスで、各音素についての前記固定長予測エネルギーフレームを予測するフィードフォワードレイヤを備える、請求項16に記載のシステム。
【請求項19】
前記発話埋め込みは固定長数値ベクトルを含む、請求項11に記載のシステム。
【請求項20】
前記TTSシステムはニューラルボコーダを含む、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、韻律を予測するためのクロックワーク階層化変分エンコーダ(clockwork hierarchal variational encoder)に関する。
【背景技術】
【0002】
音声合成システムは、テキスト入力から音声を生成するのに、テキスト音声(TTS: text-to-speech)モデルを使う。生成/合成音声は、意図された韻律をもつ(表現力)人間音声のように聞こえながら(自然らしさ)、メッセージを正確に伝えるべきである(明瞭度)。従来の連結およびパラメトリック合成モデルは、明瞭な音声を提供することが可能であり、音声のニューラルモデリングにおける最近の進歩は、合成音声の自然らしさを著しく向上させたが、ほとんどの既存TTSモデルは、韻律のモデリングにおいて効果的でなく、それにより、重要なアプリケーションによって使われる合成音声は表現力が欠けている。たとえば、会話アシスタントおよび長文リーダーなどのアプリケーションは、抑揚、強勢、ならびにリズムおよびスタイルなど、テキスト入力では伝えられない韻律特徴を転嫁する(impute)ことによって、本物らしい音声を生じることが望ましい。たとえば、単純なステートメントが、ステートメントが質問、質問への回答であるか、ステートメントに不確実性があるか、または入力テキストによって指定されない環境もしくはコンテキストについてのいずれかの他の意味を伝えるかに依存して、多くの異なるやり方で話される場合がある。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、合成音声の中の意図された韻律を表す方法を提供する。この方法は、データ処理ハードウェアにおいて、少なくとも1つの単語を有するテキスト発話を受信するステップと、データ処理ハードウェアによって、テキスト発話用の発話埋め込みを選択するステップとを含む。テキスト発話中の各単語は少なくとも1つの音節を有し、各音節は少なくとも1つの音素を有する。発話埋め込みは、意図された韻律を表す。各音節に対して、選択された発話埋め込みを使って、方法はまた、データ処理ハードウェアによって、音節用の対応する韻律音節埋め込みで、音節の各音素の言語特徴を符号化することによって、音節の継続時間を予測するステップと、データ処理ハードウェアによって、音節についての予測継続時間に基づいて、音節のピッチ輪郭を予測するステップと、データ処理ハードウェアによって、音節についての予測継続時間に基づいて、複数の固定長予測ピッチフレームを生成するステップとを含む。各固定長予測ピッチフレームは、音節の予測ピッチ輪郭の一部を表す。
【0004】
本開示の実装形態は、以下の随意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、テキスト発話の階層状言語構造を表すネットワークは、テキスト発話の各音節を含む第1のレベル、テキスト発話の各音素を含む第2のレベル、およびテキスト発話の各音節用の各固定長予測ピッチフレームを含む第3のレベルを含む。これらの実装形態では、ネットワークの第1のレベルは、テキスト発話の各音節を表す長短期メモリ(LSTM)処理セルを含むことができ、ネットワークの第2のレベルは、テキスト発話の各音素を表すLSTM処理セルを含むことができ、ネットワークの第3のレベルは、各固定長予測ピッチフレームを表すLSTM処理セルを含むことができる。ここで、第2のレベルのLSTM処理セルは、第1のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックし、第3のレベルのLSTM処理セルは、第2のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックする。
【0005】
いくつかの例では、音節の継続時間を予測するステップは、音節に関連付けられた各音素について、対応する音素の言語特徴を、音節用の対応する韻律音節埋め込みで符号化することによって、対応する音素の継続時間を予測するステップと、音節に関連付けられた各音素についての予測継続時間を合計することによって、音節の継続時間を判断するステップとを含む。これらの例では、音節についての予測継続時間に基づいて音節のピッチ輪郭を予測するステップは、音節用の対応する韻律音節埋め込みを、音節に関連付けられた各対応する音素の、対応する韻律音節埋め込みおよび単音レベル言語特徴の各符号化と組み合わせるステップを含み得る。
【0006】
いくつかの実装形態では、方法はまた、各音節に対して、選択された発話埋め込みを使って、データ処理ハードウェアによって、音素についての予測継続時間に基づいて、音節中の各音素のエネルギー輪郭を予測するステップと、音節に関連付けられた各音素について、データ処理ハードウェアによって、音素についての予測継続時間に基づいて、複数の固定長予測エネルギーフレームを生成するステップとを含む。ここで、各固定長エネルギーフレームは、対応する音素の予測エネルギー輪郭を表す。これらの実装形態では、階層状言語構造はテキスト発話を表し、階層状言語構造は、テキスト発話の各音節を含む第1のレベル、テキスト発話の各音素を含む第2のレベル、テキスト発話の各音節用の各固定長予測ピッチフレームを含む第3のレベル、および第3のレベルと平行であるとともにテキスト発話の各音素用の各固定長予測エネルギーフレームを含む第4のレベルを含む。第1のレベルは、テキスト発話の各音節を表す長短期メモリ(LSTM)処理セルを含むことができ、第2のレベルは、テキスト発話の各音素を表すLSTM処理セルを含むことができ、第3のレベルは、各固定長予測ピッチフレームを表すLSTM処理セルを含むことができ、第4のレベルは、各固定長予測エネルギーフレームを表すLSTM処理セルを含むことができる。ここで、第2のレベルのLSTM処理セルは、第1のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックし、第3のレベルのLSTM処理セルは、第2のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックし、第4のレベルのLSTM処理セルは、第3のレベルのLSTM処理セルと同じ速さでクロックし、第2のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックする。
【0007】
いくつかの例では、階層状言語構造の第3のレベルは、単一パスで、各音節用の予測ピッチフレームを予測するフィードフォワードレイヤを含み、かつ/または階層状言語構造の第4のレベルは、単一パスで、各音素用の予測エネルギーフレームを予測するフィードフォワードレイヤを含む。その上、固定長予測エネルギーフレームおよび固定長予測ピッチフレームの長さは同じであってよい。追加または代替として、受信されたテキスト発話の各音素用に生成された固定長予測エネルギーフレームの総数は、受信されたテキスト発話の各音節用に生成された固定長予測ピッチフレームの総数と等しくてよい。
【0008】
いくつかの実装形態では、方法はまた、データ処理ハードウェアによって、複数の基準オーディオ信号を含むトレーニングデータを受信するステップであって、各基準オーディオ信号は、人間音声の口頭発話を含み、対応する韻律を有する、ステップと、データ処理ハードウェアによって、各基準オーディオ信号を、基準オーディオ信号の対応する韻律を表す、対応する固定長発話埋め込みに符号化することによって、韻律モデル用のディープニューラルネットワークをトレーニングするステップとを含む。発話埋め込みは、固定長数値ベクトルを含み得る。
【0009】
本開示の別の態様は、合成音声の中の意図された韻律を表すためのシステムを提供する。このシステムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実施させる命令を記憶する。動作は、少なくとも1つの単語を有するテキスト発話を受信することと、テキスト発話用の発話埋め込みを選択することとを含む。テキスト発話中の各単語は少なくとも1つの音節を有し、各音節は少なくとも1つの音素を有する。発話埋め込みは、意図された韻律を表す。各音節に対して、選択された発話埋め込みを使って、動作はまた、音節用の対応する韻律音節埋め込みで、音節の各音素の言語特徴を符号化することによって、音節の継続時間を予測することと、音節についての予測継続時間に基づいて音節のピッチ輪郭を予測することと、音節についての予測継続時間に基づいて、複数の固定長予測ピッチフレームを生成することとを含む。各固定長予測ピッチフレームは、音節の予測ピッチ輪郭の一部を表す。
【0010】
本態様は、以下の随意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、テキスト発話の階層状言語構造を表すネットワークは、テキスト発話の各音節を含む第1のレベル、テキスト発話の各音素を含む第2のレベル、およびテキスト発話の各音節用の各固定長予測ピッチフレームを含む第3のレベルを含む。これらの実装形態では、ネットワークの第1のレベルは、テキスト発話の各音節を表す長短期メモリ(LSTM)処理セルを含むことができ、ネットワークの第2のレベルは、テキスト発話の各音素を表すLSTM処理セルを含むことができ、ネットワークの第3のレベルは、各固定長予測ピッチフレームを表すLSTM処理セルを含むことができる。ここで、第2のレベルのLSTM処理セルは、第1のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックし、第3のレベルのLSTM処理セルは、第2のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックする。
【0011】
いくつかの例では、音節の継続時間を予測するステップは、音節に関連付けられた各音素について、対応する音素の言語特徴を、音節用の対応する韻律音節埋め込みで符号化することによって、対応する音素の継続時間を予測するステップと、音節に関連付けられた各音素についての予測継続時間を合計することによって、音節の継続時間を判断するステップとを含む。これらの例では、音節についての予測継続時間に基づいて音節のピッチ輪郭を予測するステップは、音節用の対応する韻律音節埋め込みを、音節に関連付けられた各対応する音素の、対応する韻律音節埋め込みおよび単音レベル言語特徴の各符号化と組み合わせるステップを含み得る。
【0012】
いくつかの実装形態では、動作はまた、各音節に対して、選択された発話埋め込みを使って、音素についての予測継続時間に基づいて、音節中の各音素のエネルギー輪郭を予測することと、音節に関連付けられた各音素について、音素についての予測継続時間に基づいて、複数の固定長予測エネルギーフレームを生成することとを含む。ここで、各固定長エネルギーフレームは、対応する音素の予測エネルギー輪郭を表す。これらの実装形態では、階層状言語構造はテキスト発話を表し、階層状言語構造は、テキスト発話の各音節を含む第1のレベル、テキスト発話の各音素を含む第2のレベル、テキスト発話の各音節用の各固定長予測ピッチフレームを含む第3のレベル、および第3のレベルと平行であるとともにテキスト発話の各音素用の各固定長予測エネルギーフレームを含む第4のレベルを含む。第1のレベルは、テキスト発話の各音節を表す長短期メモリ(LSTM)処理セルを含むことができ、第2のレベルは、テキスト発話の各音素を表すLSTM処理セルを含むことができ、第3のレベルは、各固定長予測ピッチフレームを表すLSTM処理セルを含むことができ、第4のレベルは、各固定長予測エネルギーフレームを表すLSTM処理セルを含むことができる。ここで、第2のレベルのLSTM処理セルは、第1のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックし、第3のレベルのLSTM処理セルは、第2のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックし、第4のレベルのLSTM処理セルは、第3のレベルのLSTM処理セルと同じ速さでクロックし、第2のレベルのLSTM処理セルに相対して、およびそれらよりも速くクロックする。
【0013】
いくつかの例では、階層状言語構造の第3のレベルは、単一パスで、各音節用の予測ピッチフレームを予測するフィードフォワードレイヤを含み、かつ/または階層状言語構造の第4のレベルは、単一パスで、各音素用の予測エネルギーフレームを予測するフィードフォワードレイヤを含む。その上、固定長予測エネルギーフレームおよび固定長予測ピッチフレームの長さは同じであってよい。追加または代替として、受信されたテキスト発話の各音素用に生成された固定長予測エネルギーフレームの総数は、受信されたテキスト発話の各音節用に生成された固定長予測ピッチフレームの総数と等しくてよい。
【0014】
いくつかの実装形態では、動作はまた、複数の基準オーディオ信号を含むトレーニングデータを受信することであって、各基準オーディオ信号は、人間音声の口頭発話を含み、対応する韻律を有する、受信することと、各基準オーディオ信号を、基準オーディオ信号の対応する韻律を表す、対応する固定長発話埋め込みに符号化することによって、韻律モデル用のディープニューラルネットワークをトレーニングすることとを含む。発話埋め込みは、固定長数値ベクトルを含み得る。
【0015】
本開示の1つまたは複数の実装形態の詳細が、添付図面および以下の説明に記載される。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0016】
【
図1】テキスト発話についての韻律表現を予測する際に使用するための制御可能韻律モデルを提供するようにディープニューラルネットワークをトレーニングするための例示的システムの概略図である。
【
図2A】基準オーディオ信号の韻律を固定長発話埋め込みに符号化するための階層状言語構造の概略図である。
【
図2B】テキスト発話の韻律表現を予測するのに固定長発話埋め込みを使う階層状言語構造の概略図である。
【
図2C】固定長基準フレームを直接、固定長発話埋め込みに符号化するように構成された階層状言語構造のエンコーダ部分の概略図である。
【
図3A】テキスト発話の各音節についての継続時間およびピッチ輪郭を予測するための例示的オートエンコーダの概略図である。
【
図3B】テキスト発話の各音節についての継続時間およびピッチ輪郭を予測するための例示的オートエンコーダの概略図である。
【
図3C】テキスト発話の各音素についての継続時間およびエネルギー輪郭を予測するための例示的オートエンコーダの概略図である。
【
図4】受信されたテキスト発話の韻律表現を予測する方法のための動作の例示的配置のフローチャートである。
【
図5】本明細書に記載するシステムおよび方法を実装するのに使うことができる例示的コンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0017】
様々な図面における同様の符号は、同様の要素を示す。
【0018】
音声合成システムによってしばしば使われるテキスト音声(TTS)モデルは、概して、ランタイムに、いかなる基準音響表現もなしで、テキスト入力のみを与えられ、本物らしく聞こえる合成音声を生じるために、テキスト入力によって提供されない多くの言語的要因を転嫁しなければならない。これらの言語的要因のサブセットは、まとめて韻律と呼ばれ、抑揚(ピッチ変化)、強勢(強勢音節対非強勢音節)、音の継続時間、音の大きさ、トーン、リズム、および音声のスタイルを含み得る。韻律は、音声の感情状態、音声の形(たとえば、ステートメント、質問、コマンドなど)、音声の皮肉もしくはいやみの存在、音声の認識における不確実性、または入力テキストの文法もしくは語彙選択によって符号化されることが不可能な、他の言語要素を示すことができる。したがって、高度の韻律変化に関連付けられた所与のテキスト入力は、異なる意味論的意味を伝えるための、ピッチおよび発声継続時間における局所的変化をもつ、また、異なる雰囲気および感情を伝えるための、全体的ピッチ軌道における大域変化ももつ合成音声を生じ得る。
【0019】
ニューラルネットワークモデルは、テキスト入力によって提供されない韻律に対応する言語的要因を予測することによって、音声を確実に合成するための可能性を提供する。その結果、オーディオブックナレーション、ニュースリーダー、ボイスデザインソフトウェア、および会話アシスタントなど、いくつかのアプリケーションが、単調な音を立てるのではない、本物らしい音を立てる合成音声を生じることができる。本明細書における実装形態は、口頭発話に対応する基準オーディオ信号を、口頭発話の韻律を表す発話埋め込みに符号化するためのエンコーダ部分と、音素の継続時間ならびに各音節についてのピッチおよびエネルギー輪郭を予測するために、発話埋め込みを復号するデコーダ部分とを有する変分オートエンコーダ(VAE)を含むニューラルネットワークモデルを対象とする。
【0020】
エンコーダ部分は、発話を表す言語特徴を条件とする多数の基準オーディオ信号を符号化することによって、韻律を表す発話埋め込みをトレーニングすることができる。言語特徴は、限定なしで、各音素についての個々の音、各音節が強勢ありか、それとも無強勢か、発話における各単語のタイプ(たとえば、名詞/形容詞/動詞)および/または単語の位置、ならびに発話が質問か、それともフレーズであるかを含み得る。各発話埋め込みは、固定長数値ベクトルによって表される。いくつかの実装形態では、固定長数値ベクトルは、256に等しい値を含む。ただし、他の実装形態は、256よりも大きいか、またはそれ未満の値を有する固定長数値ベクトルを使う場合がある。デコーダ部分は、固定長発話埋め込みを、第1のデコーダを介して、音素継続時間のシーケンスに、また、音素継続時間を使うピッチおよびエネルギーの固定長フレーム(たとえば、5ミリ秒)のシーケンスに復号することができる。トレーニング中、デコーダ部分によって予測された、音素継続時間ならびにピッチおよびエネルギーの固定長フレームは、固定長発話埋め込みに関連付けられた基準オーディオ信号からサンプリングされた、音素継続時間ならびにピッチおよびエネルギーの固定長フレームと厳密に一致する。
【0021】
本開示のVAEは、長短期メモリ(LSTM)セルの階層状スタック化レイヤを組み込むクロックワーク階層化変分オートエンコーダ(CHiVE)を含み、LSTMセルの各レイヤは、あるレイヤが音素を表し、次のレイヤが音節を表し、別のレイヤが単語を表すような、発話の構造を組み込む。その上、LSTMセルのスタック化レイヤの階層は、階層状入力データの長さに可変的にクロックされる。たとえば、入力データが、3音節の単語を含み、その後に4音節の単語が続く場合、CHiVEの音節レイヤは、第1の入力単語に対して、単語レイヤの単一クロックに相対して3倍クロックし、次いで、音節レイヤは、第2の単語に対して、単語レイヤの後続単一クロックに相対して4倍多くクロックする。したがって、所与のLSTMセルに関連付けられたメモリが、約0.5秒(すなわち、5ミリ秒のフレームレートで、100倍のステップ)だけ有効であり、したがって、2または3音節の音声、CHiVEクロックの音素、単語、および音節レイヤ用のLSTMセルメモリに、それぞれ、音素、単語、および音節を提供するだけであるフレームベースの技法を使うのではなく、スタック化レイヤのLSTMセルに、最後の100個の単語、音節、または音素にわたるメモリを与える。
【0022】
推論中、CHiVEは、テキスト発話を受信し、テキスト発話用の発話埋め込みを選択するように構成される。受信されたテキスト発話は少なくとも1つの単語を有し、各単語は少なくとも1つの音節を有し、各音節は少なくとも1つの音素を有する。テキスト発話は、発話から合成音声を生じるための適切な韻律をガイドするためのコンテキスト、意味情報、および語用論情報を紛失しているので、CHiVEは、その選択された発話埋め込みを、意図された韻律を表すための潜在変数として使う。その後、CHiVEは、選択された発話埋め込みを使って、音節に含まれる各音素の言語特徴を、音節用の対応する韻律音節埋め込みで符号化することによって各音節の継続時間を予測し、音節についての予測継続時間に基づいて、各音節のピッチを予測する。最後に、CHiVEは、各固定長ピッチフレームが、音節の予測ピッチを表すように、各音節についての予測継続時間に基づいて、複数の固定長ピッチフレームを生成するように構成される。CHiVEは、同様に、音節についての予測継続時間に基づいて、各音節のエネルギー(たとえば、音の大きさ)を予測し、音節の予測エネルギーを各々が表す複数の固定長エネルギーフレームを生成することができる。固定長ピッチおよび/またはエネルギーフレームは、TTSシステムのユニット選択モデルまたはウェーブネットモデルに提供されて、入力固定長発話埋め込みによって提供された、意図された韻律をもつ合成音声を生じ得る。
【0023】
図1は、制御可能韻律モデル300を提供するようにディープニューラルネットワーク200をトレーニングするための、および韻律モデル300を使ってテキスト発話320についての韻律表現322を予測するための例示的システム100を示す。システム100は、データ処理ハードウェア122と、データ処理ハードウェア122と通信し、データ処理ハードウェア122に動作を実施させる命令を記憶するメモリハードウェア124とを有するコンピューティングシステム120を含む。いくつかの実装形態では、コンピューティングシステム120(たとえば、データ処理ハードウェア122)は、トレーニング済みディープニューラルネットワーク200に基づく韻律モデル300を、入力テキスト発話320からの合成音声152の韻律を制御するためのテキスト音声(TTS)システム150に提供する。入力テキスト発話320は、合成音声152の適切な韻律をガイドするための、コンテキスト、意味論、および語用論を伝えることはないので、韻律モデル300は、テキスト発話320から抽出された言語特徴をモデル300の条件とすること、および固定長発話埋め込み260を、テキスト発話320についての意図された韻律を表す潜在変数として使うことによって、入力テキスト発話320についての韻律表現322を予測すればよい。いくつかの例では、コンピューティングシステム120がTTSシステム150を実装する。他の例では、コンピューティングシステム120およびTTSシステム150は、互いとは別個であり、物理的に分離している。コンピューティングシステムは、分散型システム(たとえば、クラウドコンピューティング環境)を含み得る。
【0024】
いくつかの実装形態では、ディープニューラルネットワーク200は、基準オーディオ信号222の大規模セットについてトレーニングされる。各基準オーディオ信号222は、マイクロフォンによって録音されるとともに韻律表現を有する人間音声の口頭発話を含み得る。トレーニング中、ディープニューラルネットワーク200は、同じ口頭発話についての、ただし変動韻律をもつ複数の基準オーディオ信号222を受信し得る(すなわち、同じ発話が、複数の異なるやり方で話される場合がある)。ここで、基準オーディオ信号222は、口頭発話の継続時間が、内容が同じであっても変動するように可変長である。ディープニューラルネットワーク200は、各基準オーディオ信号222に関連付けられた韻律表現を、対応する固定長発話埋め込み260に符号化/圧縮するように構成される。ディープニューラルネットワーク200は、各固定長発話埋め込み260を、発話埋め込み260に関連付けられた基準オーディオ信号222の対応するトランスクリプト261とともに、(たとえば、コンピューティングシステム120のメモリハードウェア124上の)発話埋め込みストレージ180の中に記憶することができる。ディープニューラルネットワーク200は、各音節のピッチ、エネルギー、および継続時間の固定長フレームを生成するために、トランスクリプト261から抽出された言語特徴を条件とする固定長発話埋め込み260を逆伝搬することによって、さらにトレーニングされ得る。
【0025】
推論中、コンピューティングシステム120は、テキスト発話320についての韻律表現322を予測するのに、韻律モデル300を使うことができる。韻律モデル300は、テキスト発話320用の発話埋め込み260を選択することができる。発話埋め込み260は、テキスト発話320の意図された韻律を表す。
図2A~
図2Cおよび
図3A~
図3Cを参照してより詳細に記載すると、韻律モデル300は、選択された発話埋め込み260を使って、テキスト発話320についての韻律表現322を予測することができる。韻律表現322は、テキスト発話320についての、予測ピッチ、予測タイミング、および予測された音の大きさ(たとえば、エネルギー)を含み得る。図示した例において、TTSシステム150は、テキスト発話320からの、また、意図された韻律を有する合成音声152を生じるのに、韻律表現322を使う。
【0026】
図2Aおよび
図2Bは、意図/選択された韻律を有する合成音声152を生じるために、所与の入力テキストまたは他の言語仕様からのどの一意のマッピングにも依拠せずに、所与の入力テキストの各音節について、音節中のすべての音素の継続時間と、音節についてのピッチ(F0)およびエネルギー(C0)輪郭とを一緒に予測する、韻律の制御可能モデルを提供する、クロックワーク階層化変分オートエンコーダ(CHiVE)300(「オートエンコーダ300」)用の階層状言語構造(たとえば、
図1のディープニューラルネットワーク)200を示す。オートエンコーダ300は、基準オーディオ信号222からサンプリングされた複数の固定長基準フレーム220を固定長発話埋め込み260に符号化するエンコーダ部分302(
図2A)と、固定長発話埋め込み260を複数の固定長予測フレーム280にどのように復号するかを学習するデコーダ部分310(
図2B)とを含む。明らかになるように、オートエンコーダ300は、デコーダ部分310から出力される予測フレーム280の数が、エンコーダ部分302に入力された基準フレーム220の数と等しくなるようにトレーニングされる。その上、オートエンコーダ300は、基準および予測フレーム220、280に関連付けられたデータが互いと実質的に一致するようにトレーニングされる。
【0027】
図2Aを参照すると、エンコーダ部分302は、入力基準オーディオ信号222から固定長基準フレーム220のシーケンスを受信する。入力基準オーディオ信号222は、ターゲット韻律を含む、マイクロフォンによって録音された人間音声の口頭発話を含み得る。エンコーダ部分302は、同じ口頭発話についての、ただし変動韻律をもつ複数の基準オーディオ信号222を受信し得る(すなわち、同じ発話が、複数の異なるやり方で話される場合がある)。たとえば、口頭発話が質問であるときと比較して、口頭基準が質問に対する回答であるとき、同じ口頭発話が、韻律において変動する場合がある。基準フレーム220は各々、5ミリ秒(ms)の継続時間を含み、基準オーディオ信号222についての、ピッチ(F0)の輪郭またはエネルギー(C0)の輪郭のうちの一方を表し得る。並行して、エンコーダ部分302は、5msの継続時間を各々が含むとともに、基準オーディオ信号222についての、ピッチ(F0)の輪郭またはエネルギー(C0)の輪郭のうちの他方を表す基準フレーム220の第2のシーケンスも受信し得る。したがって、基準オーディオ信号222からサンプリングされたシーケンス基準フレーム220は、基準オーディオ信号222についての韻律を表すための、継続時間、ピッチ輪郭、および/またはエネルギー輪郭を提供する。基準オーディオ信号222の長さまたは継続時間は、基準フレーム220の総数の合計と相関する。
【0028】
エンコーダ部分302は、互いに相対してクロックする、基準オーディオ信号222についての基準フレーム220、音素230、230a、音節240、240a、および単語250、250aの階層状レベルを含む。たとえば、基準フレーム220のシーケンスに関連付けられたレベルは、音素230のシーケンスに関連付けられた次のレベルよりも速くクロックする。同様に、音節240のシーケンスに関連付けられたレベルは、音素230のシーケンスに関連付けられたレベルよりも遅く、および単語250のシーケンスに関連付けられたレベルよりも速くクロックする。したがって、シーケンスツーシーケンスエンコーダを本質的に提供するために、より遅いクロッキングレイヤは、より速いレイヤの最終クロックの後の出力(すなわち、状態)が、対応するより遅いレイヤへの入力としてとられるように、より速いクロッキングレイヤからの出力を、入力として受信する。示される例では、階層状レベルは長短期メモリ(LSTM)レベルを含む。
【0029】
いくつかの例では、エンコーダ部分302は最初に、基準フレーム220のシーケンスを音素230のシーケンスに符号化する。各音素230は、入力として、基準フレーム220のサブセットの対応する符号化を受信し、符号化サブセット中の基準フレーム220の数に等しい継続時間を含む。図示した例において、最初の4つの固定長基準フレーム220は音素230Aa1に符号化され、次の3つの固定長基準フレーム220は音素230Aa2に符号化され、次の4つの固定長基準フレーム220は音素230Ab1に符号化され、次の2つの固定長基準フレーム220は音素230Ba1に符号化され、次の5つの固定長基準フレーム220は音素230Ba2に符号化され、次の4つの固定長基準フレーム220は音素230Ba3に符号化され、次の3つの固定長基準フレーム220は音素230Ca1に符号化され、次の4つの固定長基準フレーム220は音素230Cb1に符号化され、最後の2つの固定長基準フレーム220は音素230Cb2に符号化される。したがって、音素230のシーケンス中の各音素230は、音素230に符号化された基準フレーム220の数に基づく、対応する継続時間と、対応するピッチおよび/またはエネルギー輪郭とを含む。たとえば、音素230Aa1は、20msに等しい継続時間を含み(すなわち、4つの基準フレーム220が各々、5ミリ秒の固定長を有する)、音素230Aa2は、15msに等しい継続時間を含む(すなわち、3つの基準フレーム220が各々、5ミリ秒の固定長を有する)。したがって、基準フレーム220のレベルは、音素230のレベル向けの、音素230Aa1と次の音素230Aa2との間の一度のクロッキングのために、合計で7回クロックする。
【0030】
固定長フレーム220を対応する音素230に符号化した後、エンコーダ部分302は、基準オーディオ信号222について、音素230のシーケンスを音節240のシーケンスに符号化するようにさらに構成される。ここで、各音節240は、入力として、1つまたは複数の音素230の対応する符号化を受信し、対応する符号化の、1つまたは複数の音素230についての継続時間の合計に等しい継続時間を含む。音節240の継続時間は、音節240のタイミングと、隣接し合う音節240の間の休止とを示し得る。図示した例において、最初の2つの音素230Aa1、230Aa2は音節240Aaに符号化され、次の音素230Ab1は音節240Abに符号化され、音素230Ba1、230Ba2、230Ba3の各々は音節240Baに符号化され、音素230Ca1は音節240Caに符号化され、音素230Cb1、230Cb2は音節240Cbに符号化される。音節240のレベルの中の各音節240Aa~240Cbは、対応する音節240に関連付けられた、継続時間、ピッチ(F0)、および/またはエネルギー(C0)を示すそれぞれの音節埋め込み(たとえば、数値ベクトル)に対応し得る。その上、各音節は、音節240のレベルについての対応する状態を示す。たとえば、音節240Aaは、35msに等しい継続時間(すなわち、音素230Aa1についての20ms継続時間と、単音(phone)230A2についての15ms継続時間の合計)を含み、音節240Abは、20msに等しい継続時間(すなわち、音素230Ab1についての20ms継続時間)を含む。したがって、音節240のレベルのための、音節240Aaと次の音節240Abとの間の一度のクロッキングのために、基準フレーム220のレベルは、合計で11回クロックし、音素230のレベルは、合計で3回クロックする。
【0031】
図2Aへの参照を続けると、いくつかの実装形態では、エンコーダ部分302は、基準オーディオ信号222について、音節240のシーケンスを単語250のシーケンスにさらに符号化する。ここで、音節240Aa、240Abは単語250Aに符号化され、音節240Baは単語250Bに符号化され、音節240Ca、240Cbは単語250Cに符号化される。最終的に、エンコーダ部分302は、単語250のシーケンスを固定長発話埋め込み260に符号化する。固定長発話埋め込み260は、基準オーディオ信号222の韻律を表す数値ベクトルを含む。いくつかの例では、固定長発話埋め込み260は、「256」に等しい値を有する数値ベクトルを含む。エンコーダ部分302は、このプロセスを、各基準オーディオ信号222に対して繰り返してよい。いくつかの例では、エンコーダ部分302は、同じ口頭発話/フレーズに各々が対応するが変動韻律をもつ複数の基準オーディオ信号222を符号化し、すなわち、各基準オーディオ信号222は、同じ発話を伝えるが、異なるように話される。固定長発話埋め込み260は、基準オーディオ信号222のそれぞれのトランスクリプト261(たとえば、テキスト表現)とともに、データストレージ180(
図1)に記憶され得る。トランスクリプト261から、言語特徴が抽出され、階層状言語構造200のトレーニングを調整する際に使用するために記憶され得る。言語特徴は、限定なしで、各音素についての個々の音、各音節が強勢ありか、それとも無強勢か、発話における各単語のタイプ(たとえば、名詞/形容詞/動詞)および/または単語の位置、ならびに発話が質問か、それともフレーズであるかを含み得る。
【0032】
図2Cを参照すると、いくつかの実装形態では、階層状言語構造200は、音素230のシーケンスに関連付けられたレベルを省き、エンコーダ部分302が、トレーニング中に、基準フレーム220の対応するサブセットを、音節レベル240の各音節240に容易に符号化できるようにする。たとえば、最初の7つの基準フレーム220は、中間ステップとして、対応する音素230Aa1、230Aa2(
図2A)に符号化する必要なく、音節240Aaに直接符号化され得る。同様に、トレーニング中、階層状言語構造200は、随意には、単語250のシーケンスに関連付けられたレベルを省き、エンコーダ部分302が、音節240のシーケンスを固定長発話埋め込み260に直接符号化できるようにし得る。他の例では、トレーニングは代わりに、随意には、音素230のシーケンスに関連付けられたレベルを含み、エンコーダ部分302が、基準フレーム220の対応するサブセットを、音素230のレベルの各音素230に単に符号化し、次いで、音素230の対応するサブセットを、対応する音節240および/または単語250を符号化する必要なく、固定長発話埋め込み260に直接符号化できるようにし得る。
【0033】
図2Bを参照すると、変分オートエンコーダ300のデコーダ部分310は、発話についての韻律を表す固定長発話埋め込み260を最初に復号することによって、複数の固定長音節埋め込み245を生じるように構成される。トレーニング中、発話埋め込み260は、基準オーディオ信号222からサンプリングされた複数の固定長基準フレーム220を符号化することによって、
図2Aおよび
図2Cのエンコーダ部分302から出力された発話埋め込み260を含み得る。したがって、デコーダ部分310は、複数の固定長基準フレーム220と厳密に一致する複数の固定長予測フレーム280を生成するために、トレーニング中に発話埋め込み260を逆伝搬するように構成される。たとえば、ピッチ(F0)とエネルギー(C0)の両方についての固定長予測フレーム280が、トレーニングデータとしてエンコーダ部分302に入力された基準オーディオ信号222の基準韻律と実質的に一致するターゲット韻律(たとえば、予測韻律)を表すように、並行して生成され得る。いくつかの例では、TTSシステム150(
図1)が、固定長発話埋め込み260に基づく、選択された韻律をもつ合成音声152を生じるのに、固定長予測フレーム280を使う。たとえば、TTSシステム150のユニット選択モジュールまたはWaveNetモジュールが、意図された韻律を有する合成音声152を生じるのに、フレーム280を使い得る。
【0034】
図示した例において、デコーダ部分310は、エンコーダ部分302(
図2Aまたは
図2C)から受信された発話埋め込み260(たとえば、「256」の数値)を、単語250、250b、音節240、240b、音素230、230b、および固定長予測フレーム280の階層状レベルに復号する。具体的には、固定長発話埋め込み260は、デコーダ部分310向けの階層状入力データの変分レイヤに対応し、スタック化階層状レベルの各々は、階層状入力データの長さに可変的にクロックされた長短期メモリ(LSTM)処理セルを含む。たとえば、音節レベル240は、単語レベル250よりも速く、および音素レベル230よりも遅くクロックする。各レベルにおける矩形ブロックは、それぞれの単語、音節、音素、またはフレーム用のLSTM処理セルに対応する。有利には、オートエンコーダ300は、単語レベル250のLSTM処理セルに、最後の100個の単語にわたるメモリを与え、音節レベル240のLSTMセルに、最後の100個の音節にわたるメモリを与え、音素レベル230のLSTMセルに、最後の100個の音素にわたるメモリを与え、固定長ピッチおよび/またはエネルギーフレーム280のLSTMセルに、最後の100個の固定長フレーム280にわたるメモリを与える。固定長フレーム280が、各々5ミリ秒の継続時間(たとえば、フレームレート)を含むとき、対応するLSTM処理セルは、最後の500ミリ秒(たとえば、0.5秒)にわたるメモリを提供する。
【0035】
図示した例において、階層状言語構造200のデコーダ部分310は、エンコーダ部分302によって符号化された固定長発話埋め込み260を、3つの単語250A~250Cのシーケンス、5つの音節240Aa~240Cbのシーケンス、および9つの音素230Aa1~230Cb2のシーケンスに単に逆伝搬して、予測固定長フレーム280のシーケンスを生成する。デコーダ部分310は、入力テキストの言語特徴を条件とする。より速いクロッキングレイヤからの出力がより遅いクロッキングレイヤによって入力として受信される、
図2Aおよび
図2Cのエンコーダ部分302とは対照的に、デコーダ部分310は、より遅いクロッキングレイヤの出力が、タイミング信号が付加された各クロック周期において、より速いクロッキングレイヤの入力に分配されるように、より速いクロッキングレイヤにフィードする、より遅いクロッキングレイヤからの出力を含む。
【0036】
図3A~
図3Cを参照すると、いくつかの実装形態では、オートエンコーダ300は、所与のテキスト発話320の、音素230の継続時間と、各音節240についてのピッチおよび/またはエネルギー輪郭とを一緒に予測することによって、推論中に所与のテキスト発話320についての韻律表現を予測するのに、階層状言語構造200を使う。テキスト発話320は、テキスト発話についての適切な韻律を示すための、いかなるコンテキスト、意味情報、または語用論情報も提供しないので、オートエンコーダ300は、テキスト発話320についての意図された韻律を表すための潜在変数として、発話埋め込み260を選択する。
【0037】
発話埋め込み260は、発話埋め込みデータストレージ180(
図1)から選択され得る。ストレージ180中の各発話埋め込み260は、トレーニング中に、対応する可変長基準オーディオ信号222(
図2Aおよび
図2C)から、エンコーダ部分302(
図2Aおよび
図2C)によって符号化され得る。具体的には、エンコーダ部分302は、可変長基準オーディオ信号222の韻律を、トレーニング中に、固定長発話埋め込み260に圧縮し、各発話埋め込み260を、対応する基準オーディオ信号222のトランスクリプト261と一緒に、推論時のデコーダ部分310による使用のために発話埋め込みデータストレージ180に記憶する。図示した例において、オートエンコーダ300は最初に、テキスト発話320と厳密に合致するトランスクリプト261を有する発話埋め込み260を突き止め、次いで、発話埋め込み260のうちの1つを、所与のテキスト発話320についての韻律表現322(
図1)を予測するために選択すればよい。いくつかの例では、固定長発話埋め込み260は、ターゲット韻律についての特定の意味論および語用論を表す見込みがある、埋め込み260の潜在空間中の特定点を取り出すことによって選択される。他の例では、潜在空間は、テキスト発話320についての意図された韻律を表すためのランダム発話埋め込み260を選ぶためにサンプリングされる。さらに別の例では、オートエンコーダ300は、テキスト発話320の言語特徴についての、最も見込みがある韻律を表すための、厳密に合致するトランスクリプト261を有する発話埋め込み260の平均を選ぶことによって、潜在空間を多次元単位ガウシアンとしてモデル化する。トレーニングデータの韻律変化が適度に中立である場合、発話埋め込み260の平均を選ぶ最後の例は、妥当な選択である。
【0038】
図3Aおよび
図3Cは、階層状言語構造200の単語レベル250で表される3つの単語250A、250B、250Cを有するテキスト発話320を示す。第1の単語250Aは音節240Aa、240Abを含み、第2の単語250Bは1つの音節240Baを含み、第3の単語250Cは音節240Ca、240Cbを含む。したがって、階層状言語構造200の音節レベル240は、テキスト発話320の5つの音節240Aa~240Cbのシーケンスを含む。LTSM処理セルの音節レベル240において、オートエンコーダ300は、固定長発話埋め込み260、テキスト発話320に関連付けられた発話レベル言語特徴262、音節240を含む単語250に関連付けられた単語レベル言語特徴252、および音節240についての音節レベル言語特徴242という入力から、各音節240についての対応する音節埋め込み245Aa、245Ab、245Ba、245Ca、245Cbを生じる/出力するように構成される。発話レベル言語特徴262は、限定なしで、テキスト発話320が質問、質問に対する回答、フレーズ、文などであるかを含み得る。単語レベル言語特徴252は、限定なしで、単語タイプ(たとえば、名詞、代名詞、動詞、形容詞、副詞など)およびテキスト発話320中の単語の位置を含み得る。音節レベル言語特徴242は、限定なしで、音節240が強勢ありか、それとも無強勢かを含み得る。
【0039】
図示した例において、音節レベル240での各音節240Aa、240Ab、240Ba、240Ca、240Cbは、対応する音節埋め込み245Aa、245Ab、245Ba、245Ca、245Cbを、個々の固定長予測ピッチ(F0)フレーム280、280F0(
図3A)を復号するため、および個々の固定長予測エネルギー(C0)フレーム280、280C0(
図3C)を並行して復号するために、より速いクロッキング音素レベル230へ出力する、対応するLTSM処理セルに関連付けられ得る。
図3Aは、音節240についての継続時間(タイミングおよび休止)とピッチ輪郭とを示す複数の固定長予測ピッチ(F0)フレーム280F0を含む、音節レベル240での各音節を示す。ここで、継続時間およびピッチ輪郭は、音節240の韻律表現に対応する。
図3Cは、音素についての継続時間とエネルギー輪郭とを示す複数の固定長予測エネルギー(C0)フレーム280C0を含む、音素レベル230での各音素を示す。
【0040】
音節レベル240での第1の音節240Aa(すなわち、LTSM処理セルAa)は、固定長発話埋め込み260、テキスト発話320に関連付けられた発話レベル言語特徴262、第1の単語250Aに関連付けられた単語レベル言語特徴252A、および音節240Aaについての音節レベル言語特徴242Aaを、対応する音節埋め込み245Aaを生じるための入力として受信する。音節レベル240での第2の音節240Abは、固定長発話埋め込み260、テキスト発話320に関連付けられた発話レベル言語特徴262、第1の単語250Aに関連付けられた単語レベル言語特徴252A、および音節240Abについての対応する音節レベル言語特徴242(図示せず)を、対応する音節埋め込み245Aaを生じるための入力として受信する。この例は、第1の音節240Aaに関連付けられた音節レベル言語特徴242のみを示し、音節レベル240での各他の音節240Ab~240Cbに関連付けられた対応する音節レベル言語特徴242は、
図3Aおよび
図3Bの図からは明快のために省かれている。
【0041】
簡単のために、音節240Ab用の処理ブロックに入力される、対応する音節レベル言語特徴242は示されていない。第2の音節240Abに関連付けられたLTSM処理セル(たとえば、矩形Ab)は、先行する第1の音節240Aaの状態も受信する。音節レベル240での音節240Ba、240Ca、240Cbの残りのシーケンスは各々、同様にして、対応する音節埋め込み245Ba、245Ca、245Cbを生じる。簡単のために、音節240Ba、240Ca、240Cbの各々のための処理ブロックに入力される対応する音節レベル言語特徴242は示されていない。その上、音節レベル240の各LTSM処理セルは、音節レベル240の直前のLTSM処理セルの状態を受信する。
【0042】
図3Aを参照すると、階層状言語構造200の音素レベル230は、対応する予測音素継続時間234に各々が関連付けられた9つの音素230Aa1~230Cb2のシーケンスを含む。その上、オートエンコーダ300は、各音素230Aa1~230Cb2に関連付けられた音素レベル言語特徴232を、対応する音節埋め込み245で、対応する予測音素継続時間234を予測するため、および音素を含む音節についての対応するピッチ(f0)輪郭を予測するために符号化する。音素レベル言語特徴232は、限定なしで、対応する音素230についての音のアイデンティティを含み得る。この例は、第1の音素230Aa1に関連付けられた音素レベル言語特徴232のみを示し、音素レベル230での他の音素230Aa2~230Cb2に関連付けられた音素レベル言語特徴232は、
図3Aおよび
図3Cの図からは、明快のために単に省かれている。
【0043】
第1の音節240Aaは音素230Aa1、230Aa2を含み、音素230Aa1、230Aa2についての予測単音継続時間234の合計に等しい予測音節継続時間を含む。ここで、第1の音節240Aaについての予測音節継続時間により、第1の音節240Aaのために復号するべき固定長予測ピッチ(F0)フレーム280F0の数が決まる。図示する例において、オートエンコーダ300は、音素230Aa1、230Aa2についての予測音素継続時間234の合計に基づいて、合計で7つの固定長予測ピッチ(F0)フレーム280F0を第1の音節240Aaのために復号する。したがって、より速いクロッキング音節レイヤ240は、第1の音節埋め込み245Aaを、入力として、第1の音節240Aaに含まれる各音素230Aa1、230Aa2に分配する。タイミング信号も、第1の音節埋め込み245Aaに付加され得る。音節レベル240は、第1の音節240Aaの状態も第2の音節240Abに渡す。
【0044】
第2の音節240Abは、単一の音素230Ab1を含み、したがって、音素230Ab1についての予測音素継続時間234に等しい予測音節継続時間を含む。第2の音節240Abについての予測音節継続時間に基づいて、オートエンコーダ300は、第2の音節240Abについての、合計で4つの固定長予測ピッチ(F0)フレーム280F0を復号する。したがって、より速いクロッキング音節レイヤ240は、第2の音節埋め込み245Abを、入力として音素230Ab1に分配する。タイミング信号も、第2の音節埋め込み245Aaに付加され得る。音節レベル240は、第2の音節240Abの状態も第3の音節240Baに渡す。
【0045】
第3の音節240Baは、音素230Ba1、230Ba2、230Ba3を含み、音素230Ba1、230Ba2、230Ba3についての予測音素継続時間234の合計に等しい予測音節継続時間を含む。図示する例において、オートエンコーダ300は、音素230Ba1、230Ba2、230Ba3についての予測音素継続時間234の合計に基づいて、合計で11個の固定長予測ピッチ(F0)フレーム280F0を第3の音節240Baのために復号する。したがって、より速いクロッキング音節レイヤ240は、第3の音節埋め込み245Baを、入力として、第3の音節240Baに含まれる各音素230Ba1、230Ba2、230Ba3に分配する。タイミング信号も、第3の音節埋め込み245Baに付加され得る。音節レベル240は、第3の音節240Baの状態も第4の音節240Caに渡す。
【0046】
第4の音節240Caは、単一の音素230Ca1を含み、したがって、音素230Ca1についての予測音素継続時間234に等しい予測音節継続時間を含む。第4の音節240Caについての予測音節継続時間に基づいて、オートエンコーダ300は、第4の音節240Caについての、合計で3つの固定長予測ピッチ(F0)フレーム280F0を復号する。したがって、より速いクロッキング音節レイヤ240は、第4の音節埋め込み245Caを、入力として音素230Ca1に分配する。タイミング信号も、第4の音節埋め込み245Caに付加され得る。音節レベル240は、第4の音節240Baの状態も第5の音節240Cbに渡す。
【0047】
最後に、第5の音節240Cbは音素230Cb1、230Cb2を含み、音素230Cb1、230Cb2についての予測音素継続時間234の合計に等しい予測音節継続時間を含む。図示した例において、オートエンコーダ300は、音素230Cb1、230Cb2についての予測音素継続時間234の合計に基づいて、合計で6つの固定長予測ピッチ(F0)フレーム280F0を第5の音節240Cbのために復号する。したがって、より速いクロッキング音節レイヤ240は、第5の音節埋め込み245Cbを、入力として、第5の音節240Cbに含まれる各音素230Cb1、230Cb2に分配する。タイミング信号も、第5の音節埋め込み245Cbに付加され得る。
【0048】
図3Bは、第1の音節240Aaに対する個々の固定長予測ピッチ(F0)フレーム280F0への第1の音節埋め込み245Aaの復号を示すための、
図3Aの破線ボックス350内の詳細図を提供する。
図3Aを参照して上で説明したように、オートエンコーダ300は、第1の音節240Aaについての予測音節継続時間に基づいて、復号するべき固定長予測ピッチ(F0)フレーム280の数を判断する。第1の音節240Aaは、対応する第1の音節埋め込み245Aaを、より速いクロッキング音節レベル240の第1および第2の音素230Aa1、230Aa2の各々に入力として分配するために生成する。
【0049】
階層状言語構造200の音素レベル230において、オートエンコーダ300は、第1の音素230Aa1に関連付けられた音素レベル言語特徴232を第1の音節埋め込み245Aaで符号化することによって、第1の音素230Aa1についての音素継続時間234を予測する。同様に、オートエンコーダ300は、第2の音素230Aa2に関連付けられた音素レベル言語特徴(図示せず)を第1の音節埋め込み245Aaで符号化することによって、第2の音素230Aa2についての音素継続時間234を予測する。第2の音素230Aa2は、第1の音素230Aa1から前の状態も受信する。第1の音節230Aaについての予測音節継続時間は、第1および第2の音素230Aa1、230Aa2についての予測単音継続時間234の合計に等しい。音素230Aa1、230Aa2の各々に関連付けられた、対応する音素レベル言語特徴232での第1の音節埋め込み245Aaの符号化は、第1の音節240Aaについてのピッチ(F0)を予測し、第1の音節240Aa用の固定長予測ピッチ(F0)フレーム280F0を生成するために、音素レベル230の出力において、第1の音節埋め込み245Aaとさらに組み合わされる。図示した例において、オートエンコーダ300は、第1の音節240Aaについての予測音節継続時間に基づいて、復号/生成するべき固定長予測ピッチ(F0)フレーム280F0の総数(たとえば、7)を判断する。したがって、第1の音節埋め込み245Aaから復号された固定長予測ピッチ(F0)フレーム280はまとめて、テキスト発話320の第1の音節240Aaについての対応する継続時間およびピッチ輪郭を示す。
【0050】
図3Aを再び参照すると、オートエンコーダ300は同様に、音節レベル240から出力された残りの音節埋め込み245Ab、245Ba、245Ca、245Cbの各々を、各対応する音節240Ab、240Ba、240Ca、240Cb用の個々の固定長予測ピッチ(F0)フレーム280に復号する。たとえば、第2の音節埋め込み245Abは、音素レベル230の出力において、音素230Ab1に関連付けられた、第2の音節埋め込み245Abおよび対応する音素レベル言語特徴232の符号化とさらに組み合わされ、第3の音節埋め込み245Baは、音素レベル230の出力において、音素230Ba1、230Ba2、230Ba3の各々に関連付けられた、第3の音節埋め込み245Baおよび対応する音素レベル言語特徴232の符号化とさらに組み合わされる。さらに、第4の音節埋め込み245Caは、音素レベル230の出力において、音素230Ca1に関連付けられた、第4の音節埋め込み245Caおよび対応する音素レベル言語特徴232の符号化とさらに組み合わされ、第5の音節埋め込み245Cbは、音素レベル230の出力において、音素230Cb1、230Cb2の各々に関連付けられた、第5の音節埋め込み245Cbおよび対応する音素レベル言語特徴232の符号化とさらに組み合わされる。オートエンコーダ300によって生成された固定長予測ピッチ(F0)フレーム280F0はフレームレベルLSTMを含み、他の構成が、対応する音節中のあらゆるフレームのピッチ(F0)がワンパスで予測されるように、ピッチ(F0)フレーム280F0のフレームレベルLSTMを、フィードフォワードレイヤと置き換わり得る。
【0051】
ここで
図3Cを参照すると、オートエンコーダ300は、各音素230Aa1~230Cb2に関連付けられた音素レベル言語特徴232を、各音素230についての対応するエネルギー(C0)輪郭を予測するために、対応する音節埋め込み245で符号化するようにさらに構成される。音素レベル230での音素230Aa2~230Cb2に関連付けられた音素レベル言語特徴232は、
図3Cの図からは、明快のために単に省かれている。オートエンコーダ300は、対応する予測音素継続時間234に基づいて、各音素230について復号するべき固定長予測エネルギー(C0)フレーム280、280C0の数を判断する。たとえば、オートエンコーダ300は、第1の音素230Aa1用の4つの予測エネルギー(C0)フレーム280C0、第2の音素230Aa2用の3つの予測エネルギー(C0)フレーム280C0、第3の音素230Ab1用の4つの予測エネルギー(C0)フレーム280C0、第4の音素230Ba1用の2つの予測エネルギー(C0)フレーム280C0、第5の音素230Ba2用の5つの予測エネルギー(C0)フレーム280C0、第6の音素230Ba3用の4つの予測エネルギー(C0)フレーム280C0、第7の音素230Ca1用の3つの予測エネルギー(C0)フレーム280C0、第8の音素230Cb1用の4つの予測エネルギー(C0)フレーム280C0、および第9の音素230Cb2用の2つの予測エネルギー(C0)フレーム280C0を復号/生成する。したがって、予測音素継続時間234でのように、音素レベル230での各音素についての予測エネルギー輪郭は、音素を含むより遅いクロッキング音節レベル240での対応する音節から入力された音節埋め込み245と、音素に関連付けられた言語特徴232との間の符号化に基づく。
【0052】
図4は、テキスト発話320についての韻律表現322を予測する方法400のための動作の例示的配置のフローチャートである。方法400は、
図1~
図3Cを参照して記載され得る。
図1のコンピュータシステム120上に常駐するメモリハードウェア124は、データ処理ハードウェア122によって実行されると、データ処理ハードウェア122に方法400のための動作を実行させる命令を記憶することができる。動作402において、方法400は、テキスト発話320を受信するステップを含む。テキスト発話320は少なくとも1つの単語を有し、各単語は少なくとも1つの音節を有し、各音節は少なくとも1つの音素を有する。動作404において、方法400は、テキスト発話320用の発話埋め込み260を選択するステップを含む。発話埋め込み260は、意図された韻律を表す。本明細書で使用する限り、選択された発話埋め込み260は、テキスト発話320の韻律表現322を、TTSシステム150によって、テキスト発話320からの、意図された韻律を有する合成音声152を生じるのに使用するために予測するのに使われる。発話埋め込み260は、固定長数値ベクトルによって表すことができる。数値ベクトルは、「256」に等しい値を含み得る。テキスト発話230用の発話埋め込み260を選択するために、データ処理ハードウェア122は最初に、データストレージ180を照会して、テキスト発話320と厳密に合致するトランスクリプト261を有する発話埋め込み260を突き止め、次いで、所与のテキスト発話320についての韻律表現322を予測するために、発話埋め込み260を選択すればよい。いくつかの例では、固定長発話埋め込み260は、ターゲット韻律についての特定の意味論および語用論を表す見込みがある、埋め込み260の潜在空間中の特定点を取り出すことによって選択される。他の例では、潜在空間は、テキスト発話320についての意図された韻律を表すためのランダム発話埋め込み260を選ぶためにサンプリングされる。さらに別の例では、データ処理ハードウェア122は、テキスト発話320の言語特徴についての、最も見込みがある韻律を表すための、厳密に合致するトランスクリプト261を有する発話埋め込み260の平均を選ぶことによって、潜在空間を多次元単位ガウシアンとしてモデル化する。トレーニングデータの韻律変化が適度に中立である場合、発話埋め込み260の平均を選ぶ最後の例は、妥当な選択である。
【0053】
動作406において、各音節240に対して、選択された発話埋め込み260を使って、方法400は、音節の各音素230の言語特徴232を、音節用の対応する韻律音節埋め込み245で符号化することによって、音節の継続時間を予測するステップを含む。たとえば、音節240に関連付けられた各音素230について、方法400は、対応する音素230の言語特徴232を、音節240用の対応する韻律音節埋め込み245で符号化することによって、対応する音素230の継続時間234を予測することができる。その後、方法400は、音節240に関連付けられた各音素230についての予測継続時間234を合計することによって、音節240の継続時間を予測することができる。
【0054】
動作408において、各音節240に対して、選択された発話埋め込み260を使って、方法400は、音節についての予測継続時間に基づいて音節のピッチ輪郭を予測するステップを含む。動作410において、各音節に対して、選択された発話埋め込み260を使って、方法400は、音節240についての予測継続時間に基づいて、複数の固定長予測ピッチフレーム280、280F0を生成するステップも含む。各固定長予測ピッチフレーム280F0は、音節240の予測輪郭の一部を表す。
【0055】
方法400のための追加動作は、各音節240に対して、選択された発話埋め込み260を使って、対応する音素230についての予測継続時間234に基づいて、音節240の中の各音素230のエネルギー輪郭を予測するステップをさらに含み得る。音節に関連付けられた各音素230について、方法400は、対応する音素230についての予測継続時間234に基づいて、複数の固定長予測エネルギーフレーム280、280C0を生成し得る。ここで、各固定長エネルギーフレーム280C0は、対応する音素230の予測エネルギー輪郭を表す。
【0056】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実施させるコンピュータソフトウェアを指し得る。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的アプリケーションは、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、文書処理アプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーム用アプリケーションを含むが、それに限定されない。
【0057】
非一時的メモリは、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイスによる使用のために、一時的または永続的に記憶するのに使われる物理デバイスであってよい。非一時的メモリは、揮発性および/または不揮発性アドレス可能半導体メモリであってよい。不揮発性メモリの例は、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラム可能読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常は、ブートプログラムなどのファームウェア用に使われる)を含むが、それに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含むが、それに限定されない。
【0058】
図5は、本文書に記載するシステムおよび方法を実装するのに使うことができる例示的コンピューティングデバイス500(たとえば、
図1のコンピューティングシステム120)の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形のデジタルコンピュータを表すことを意図している。ここに示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示であることのみを目的としており、本文書において記載および/または請求される本発明の実装形態を限定することは目的としていない。
【0059】
コンピューティングデバイス500は、プロセッサ510、メモリ520、記憶デバイス530、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540、ならびに低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560を含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使って相互接続され、共通マザーボード上に、または必要に応じて他の方式で搭載されてよい。プロセッサ510(たとえば、
図1のデータ処理ハードウェア122)は、グラフィカルユーザインターフェース(GUI)についてのグラフィカル情報を、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上に表示するための、メモリ520(たとえば、
図1のメモリハードウェア124)中または記憶デバイス530(たとえば、
図1のメモリハードウェア124)上に記憶された命令を含む、コンピューティングデバイス500内での実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよびタイプのメモリとともに使われてよい。また、複数のコンピューティングデバイス500が接続されてよく、各デバイスは、必要な動作の部分を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)提供する。
【0060】
メモリ520は、コンピューティングデバイス500内に情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ520は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイス500による使用のために、一時的または永続的に記憶するのに使われる物理デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラム可能読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常は、ブートプログラムなどのファームウェア用に使われる)を含むが、それに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含むが、それに限定されない。
【0061】
記憶デバイス530は、コンピューティングデバイス500に大容量記憶を提供することが可能である。いくつかの実装形態では、記憶デバイス530はコンピュータ可読媒体である。様々な異なる実装形態において、記憶デバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様の固体メモリデバイス、または記憶エリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであってよい。追加実装形態では、コンピュータプログラム製品が、情報キャリア中で有形に実施される。コンピュータプログラム製品は、実行されると、上述したような1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ520、記憶デバイス530、またはプロセッサ510上のメモリなどのコンピュータまたは機械可読媒体である。
【0062】
高速コントローラ540は、コンピューティングデバイス500向けの帯域消費型動作を管理し、低速コントローラ560は、より帯域低消費型の動作を管理する。役割のそのような割振りは、例示にすぎない。いくつかの実装形態において、高速コントローラ540は、メモリ520、ディスプレイ580に(たとえば、グラフィックスプロセッサまたはアクセラレータを通して)、および様々な拡張カード(図示せず)を受ける場合がある高速拡張ポート550に結合される。いくつかの実装形態において、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に結合される。低速拡張ポート590は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得るが、キーボード、ポインティングデバイス、スキャナなど、1つもしくは複数の入力/出力デバイス、またはスイッチもしくはルータなどのネットワークデバイスに、たとえば、ネットワークアダプタを通して結合され得る。
【0063】
コンピューティングデバイス500は、図に示すように、いくつかの異なる形で実装されてよい。たとえば、標準サーバ500aとして、またはラップトップコンピュータ500bなどのサーバ500aのグループで、またはラックサーバシステム500cの一部として何度も実装されてよい。
【0064】
本明細書に記載するシステムおよび技法の様々な実装形態は、デジタル電子および/もしくは光学回路機構、集積回路機構、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せで実現され得る。これらの様々な実装形態は、少なくとも1つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能および/または翻訳可能な1つまたは複数のコンピュータプログラムでの実装を含むことができ、プログラム可能プロセッサは、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するように、ならびにそれらにデータおよび命令を送信するように結合された、特殊または一般的目的であってもよい。
【0065】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能プロセッサ用の機械命令を含み、高度手続型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含むプログラム可能プロセッサに、機械命令および/またはデータを提供するのに使われる、どのコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))も指す。「機械可読信号」という用語は、プログラム可能プロセッサに機械命令および/またはデータを提供するのに使われるどの信号も指す。
【0066】
本明細書に記載したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実施するための1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラム可能プロセッサによって実施することができる。プロセスおよび論理フローは、特殊目的論理回路機構、たとえば、FPGA(フィールドプログラム可能ゲートアレイ)やASIC(特定用途向け集積回路)によって実施することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および特殊目的マイクロプロセッサの両方、ならびにどの種類のデジタルコンピュータのどの1つまたは複数のプロセッサも含む。概して、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信することになる。コンピュータの本質的要素は、命令を実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気、光磁気ディスク、または光ディスクも含み、あるいは大容量記憶デバイスからデータを受信し、もしくはデータを転送し、または両方を行うように大容量記憶デバイスに動作可能に結合される。ただし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内部ハードディスクまたは取外し可能ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、あらゆる形の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路要素によって補完することも、その中に組み込むこともできる。
【0067】
ユーザとの対話を可能にするために、本開示の1つまたは複数の態様は、ユーザに情報を表示するための表示デバイス、たとえば、CRT(陰極線管)やLCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、随意には、ユーザがコンピュータに入力を与えることができるためのキーボードおよびポインティングデバイス、たとえば、マウスやトラックボールとを有するコンピュータ上で実装することができる。他の種類のデバイスも、ユーザとの対話を提供するのに使われることが可能であり、たとえば、ユーザに与えられるフィードバックは、どの形の感覚フィードバックでも、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからのインプットは、音響、音声、または触覚インプットを含む、どの形でも受信されることが可能である。さらに、コンピュータは、ユーザによって使われるデバイスへドキュメントを送信し、デバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザへウェブページを送信することによって、ユーザと対話することができる。
【0068】
いくつかの実装形態を記載した。それにも関わらず、本開示の趣旨および範囲から逸脱することなく、様々な変更を行うことができることが理解されよう。したがって、他の実装形態は、以下の特許請求の範囲内である。
【符号の説明】
【0069】
100 システム
120 コンピューティングシステム
122 データ処理ハードウェア
124 メモリハードウェア
150 テキスト音声(TTS)システム
152 合成音声
180 発話埋め込みストレージ、発話埋め込みデータストレージ、データストレージ、ストレージ
200 ディープニューラルネットワーク
300 制御可能韻律モデル、韻律モデル、モデル、クロックワーク階層化変分オートエンコーダ(CHiVE)、オートエンコーダ、変分オートエンコーダ
302 エンコーダ部分
310 デコーダ部分
500 コンピューティングデバイス
500a 標準サーバ、サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ、構成要素
520 メモリ、構成要素、非一時的メモリ
530 記憶デバイス、構成要素
540 高速インターフェース/コントローラ、構成要素
550 高速拡張ポート、構成要素
560 低速インターフェース/コントローラ、構成要素
570 低速バス
580 ディスプレイ
590 低速拡張ポート