(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-06
(45)【発行日】2023-11-14
(54)【発明の名称】韻律的特徴からのパラメトリックボコーダパラメータの予測
(51)【国際特許分類】
G10L 13/06 20130101AFI20231107BHJP
G10L 25/30 20130101ALI20231107BHJP
【FI】
G10L13/06 120Z
G10L25/30
(21)【出願番号】P 2023513216
(86)(22)【出願日】2021-06-21
(86)【国際出願番号】 US2021038257
(87)【国際公開番号】W WO2022046251
(87)【国際公開日】2022-03-03
【審査請求日】2023-04-21
(32)【優先日】2020-09-26
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-08-24
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ラケシュ・アイヤル
(72)【発明者】
【氏名】ヴィンセント・ワン
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2018-141915(JP,A)
【文献】国際公開第2019/217035(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10,25/30
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア(122)において、1つまたは複数の単語(240)を有するテキスト発話(320)を受け取るステップであって、各単語(240)が1つまたは複数の音節(230)を有し、各音節(230)が1つまたは複数の音素(220)を有する、ステップと、
前記データ処理ハードウェア(122)において、ボコーダモデル(400)への入力として、
前記テキスト発話(320)の意図された韻律を表す韻律モデル(300)から出力された韻律的特徴(322)であって、前記テキスト発話(320)の継続時間、ピッチ輪郭、およびエネルギー輪郭を含む、韻律的特徴(322)、ならびに
前記テキスト発話(320)の言語的規定(402)であって、前記テキスト発話(320)の文レベルの言語的特徴(252)、前記テキスト発話(320)の各単語(240)の単語レベルの言語的特徴(242)、前記テキスト発話(320)の各音節(230)の音節レベルの言語的特徴(232)、および前記テキスト発話(320)の各音素(220)の音素レベルの言語的特徴(222)を含む、言語的規定(402)
を受け取るステップと、
前記データ処理ハードウェア(122)によって、前記ボコーダモデル(400)からの出力として、前記韻律モデル(300)から出力された前記韻律的特徴(322)および前記テキスト発話(320)の前記言語的規定(402)に基づいてボコーダパラメータ(450)を予測するステップと、
前記データ処理ハードウェア(122)によって、前記ボコーダモデル(400)から出力された前記予測されたボコーダパラメータ(450)および前記韻律モデル(300)から出力された前記韻律的特徴(322)をパラメトリックボコーダ(155)に提供するステップであって、前記パラメトリックボコーダ(155)が、前記意図された韻律を有する、前記テキスト発話(320)の合成音声表現(152)を生成するように構成される、ステップとを含む方法(600)。
【請求項2】
前記データ処理ハードウェア(122)において、前記ボコーダモデル(400)への入力として、前記テキスト発話(320)の前記言語的規定(402)に関する言語的特徴アラインメント活性化(221、231、241)を受け取るステップをさらに含み、
前記ボコーダパラメータ(450)を予測するステップが、前記テキスト発話(320)の前記言語的規定(402)に関する前記言語的特徴アラインメント活性化(221、231、241)にさらに基づく請求項1に記載の方法(600)。
【請求項3】
前記言語的特徴アラインメント活性化(221、231、241)が、
それぞれが各単語(240)の活性化を前記単語(240)の各音節(230)の前記音節レベルの言語的特徴(232)とアラインメントする単語レベルアラインメント活性化(241)と、
それぞれが各音節(230)の活性化を前記音節(230)の各音素(220)の前記音素レベルの言語的特徴(222)とアラインメントする音節レベルアラインメント活性化(231)とを含む請求項2に記載の方法(600)。
【請求項4】
各単語(240)の前記活性化が、対応する単語(240)の前記単語レベルの言語的特徴(242)および前記テキスト発話(320)の前記文レベルの言語的特徴(252)に基づく請求項3に記載の方法(600)。
【請求項5】
前記単語レベルの言語的特徴(242)が、前記テキスト発話(320)からトランスフォーマからの双方向エンコーダ表現(BERT)モデルによって生成されたワードピース埋め込みのシーケンスから取得されたワードピース埋め込みを含む請求項1から4のいずれか一項に記載の方法(600)。
【請求項6】
前記データ処理ハードウェア(122)によって、前記テキスト発話(320)のための発話埋め込み(204)を選択するステップであって、前記発話埋め込み(204)が前記意図された韻律を表す、ステップと、
前記選択された発話埋め込み(204)を使用して、各音節(230)に関して、
前記データ処理ハードウェア(122)によって、前記韻律モデル(300)を使用して、前記音節(230)内の各音素(220)の前記音素レベルの言語的特徴(222)を、前記音節(230)の対応する韻律的音節埋め込み(235)とともに符号化することによって前記音節(230)の継続時間を予測するステップと、
前記データ処理ハードウェア(122)によって、前記音節(230)に関する前記予測された継続時間に基づいて前記音節(230)のピッチを予測するステップと、
前記データ処理ハードウェア(122)によって、前記音節(230)に関する前記予測された継続時間に基づいて複数の予測された固定長ピッチフレームを生成するステップであって、各固定長ピッチフレームが、前記音節(230)の前記予測されたピッチを表す、ステップと
をさらに含み、
前記ボコーダモデル(400)への入力として受け取られる前記韻律的特徴(322)が、前記テキスト発話(320)の各音節(230)に関して生成された前記複数の予測された固定長ピッチフレームを含む請求項1から5のいずれか一項に記載の方法(600)。
【請求項7】
各音節(230)に関して、前記選択された発話埋め込み(204)を使用して、
前記データ処理ハードウェア(122)によって、前記音節(230)に関する前記予測された継続時間に基づいて前記音節(230)内の各音素(220)のエネルギーレベルを予測するステップと、
前記音節(230)内の各音素(220)に関して、前記データ処理ハードウェア(122)によって、前記音節(230)に関する前記予測された継続時間に基づいて複数の予測された固定長エネルギーフレーム(280)を生成するステップであって、それぞれの予測された固定長エネルギーフレームが、対応する音素(220)の前記予測されたエネルギーレベルを表す、ステップとをさらに含み、
前記ボコーダモデル(400)への入力として受け取られる前記韻律的特徴(322)が、前記テキスト発話(320)の各音節(230)内の各音素(220)に関して生成された前記複数の予測された固定長エネルギーフレーム(280)をさらに含む請求項6に記載の方法(600)。
【請求項8】
前記韻律モデル(300)が、前記テキスト発話(320)を表すための階層的言語構造(200)を組み込み、前記階層的言語構造(200)が、
前記テキスト発話(320)の各単語(240)を表す長期短期記憶(LSTM)処理セルを含む第1のレベルと、
前記テキスト発話(320)の各音節(230)を表すLSTM処理セルを含む第2のレベルであって、前記第2のレベルの前記LSTM処理セルが、前記第1のレベルの前記LSTM処理セルに対して相対的に、前記第1のレベルの前記LSTM処理セルよりも高速にクロックする、第2のレベルと、
前記テキスト発話(320)の各音素(220)を表すLSTM処理セルを含む第3のレベルであって、前記第3のレベルの前記LSTM処理セルが、前記第2のレベルの前記LSTM処理セルに対して相対的に、前記第2のレベルの前記LSTM処理セルよりも高速にクロックする、第3のレベルと、
それぞれの予測された固定長ピッチフレームを表すLSTM処理セルを含む第4のレベルであって、前記第4のレベルの前記LSTM処理セルが、前記第3のレベルの前記LSTM処理セルに対して相対的に、前記第3のレベルの前記LSTM処理セルよりも高速にクロックする、第4のレベルと、
それぞれの予測された固定長エネルギーフレームを表すLSTM処理セルを含む第5のレベルであって、前記第5のレベルの前記LSTM処理セルが、前記第4のレベルの前記LSTM処理セルと同じ速度でクロックし、前記第3のレベルの前記LSTM処理セルに対して相対的に、前記第3のレベルの前記LSTM処理セルよりも高速にクロックする、第5のレベルとを含む請求項7に記載の方法(600)。
【請求項9】
前記階層的言語構造(200)の前記第1のレベルが、単一の第1のパスで、前記テキスト発話(320)の各単語(240)に関する活性化を生成し、
前記階層的言語構造(200)の前記第2のレベルが、前記第1のパスの後の単一の第2のパスで、前記テキスト発話(320)の各音節(230)に関する活性化を生成し、
前記階層的言語構造(200)の前記第3のレベルが、前記第2のパスの後の単一の第3のパスで、前記テキスト発話(320)の各音素(220)に関する活性化を生成し、
前記階層的言語構造(200)の前記第4のレベルが、前記第3のパスの後の単一の第4のパスで、それぞれの予測された固定長ピッチフレームに関する活性化を生成し、
前記階層的言語構造(200)の前記第5のレベルが、前記第3のパスの後の単一の第5のパスで、それぞれの予測された固定長エネルギーフレームに関する活性化を生成する請求項8に記載の方法(600)。
【請求項10】
前記ボコーダモデル(400)が、前記テキスト発話(320)を表すための階層的言語構造(200)を組み込み、前記階層的言語構造(200)が、
前記テキスト発話(320)の各単語(240)を表す長期短期記憶(LSTM)処理セルを含む第1のレベルと、
前記テキスト発話(320)の各音節(230)を表すLSTM処理セルを含む第2のレベルであって、前記第2のレベルの前記LSTM処理セルが、前記第1のレベルの前記LSTM処理セルに対して相対的に、前記第1のレベルの前記LSTM処理セルよりも高速にクロックする、第2のレベルと、
前記テキスト発話(320)の各音素(220)を表すLSTM処理セルを含む第3のレベルであって、前記第3のレベルの前記LSTM処理セルが、前記第2のレベルの前記LSTM処理セルに対して相対的に、前記第2のレベルの前記LSTM処理セルよりも高速にクロックする、第3のレベルと、
複数の固定長スピーチフレーム(502)の各々を表すLSTM処理セルを含む第4のレベルであって、前記第4のレベルの前記LSTM処理セルが、前記第3のレベルの前記LSTM処理セルに対して相対的に、前記第3のレベルの前記LSTM処理セルよりも高速にクロックする、第4のレベルとを含む請求項1から9のいずれか一項に記載の方法(600)。
【請求項11】
前記複数の固定長スピーチフレーム(502)の各々が、前記ボコーダモデル(400)から出力された前記予測されたボコーダパラメータ(450)のそれぞれの部分を表す請求項10に記載の方法(600)。
【請求項12】
前記階層的言語構造(200)の前記第1のレベルが、単一の第1のパスで、前記テキスト発話(320)の各単語(240)に関する活性化を生成し、
前記階層的言語構造(200)の前記第2のレベルが、前記第1のパスの後の単一の第2のパスで、前記テキスト発話(320)の各音節(230)に関する活性化を生成し、
前記階層的言語構造(200)の前記第3のレベルが、前記第2のパスの後の単一の第3のパスで、前記テキスト発話(320)の各音素(220)に関する活性化を生成し、
前記階層的言語構造(200)の前記第4のレベルが、前記第3のパスの後の単一の第4のパスで、前記複数の固定長スピーチフレーム(502)の各固定長スピーチフレームに関する活性化を生成する請求項10または11に記載の方法(600)。
【請求項13】
前記データ処理ハードウェア(122)において、複数の参照オーディオ信号および対応する文字起こし(206)を含む訓練データ(201)を受け取るステップであって、各参照オーディオ信号が、スピーチの口で言われた発話を含み、対応する韻律を有し、各文字起こし(206)が、対応する参照オーディオ信号のテキスト表現を含む、ステップと、
各参照オーディオ信号および対応する文字起こし(206)のペアに関して、
前記データ処理ハードウェア(122)によって、前記対応する文字起こし(206)の参照の言語的規定(402)および前記対応する参照オーディオ信号の前記対応する韻律を表す参照の韻律的特徴(322)を取得するステップと、
前記データ処理ハードウェア(122)によって、ディープニューラルネットワーク(200)を使用して、前記参照の言語的規定(402)および前記参照の韻律的特徴(322)から、メルケプストラム係数、無周期性成分、および発声成分を提供する予測された固定長スピーチフレーム(502)のシーケンスを生成するために前記ボコーダモデル(400)を訓練するステップと
をさらに含む請求項1から12のいずれか一項に記載の方法(600)。
【請求項14】
前記ボコーダモデル(400)を訓練するステップが、各参照オーディオ信号に関して、
前記対応する参照オーディオ信号から、前記参照オーディオ信号の参照メルケプストラム係数、参照無周期性成分、および参照発声成分を提供する固定長の参照スピーチフレーム(502)のシーケンスをサンプリングすることと、
前記ボコーダモデル(400)によって生成された予測された固定長スピーチフレーム(502)の前記シーケンスと、前記対応する参照オーディオ信号からサンプリングされた固定長の参照スピーチフレーム(502)の前記シーケンスとの間の勾配/損失を生成することと、
前記勾配/損失を前記ボコーダモデル(400)中に逆伝播させることと、をさらに含む請求項13に記載の方法(600)。
【請求項15】
前記データ処理ハードウェア(122)によって、前記ボコーダモデル(400)から出力された前記予測されたボコーダパラメータ(450)をメルケプストラム係数、無周期性成分、および発声成分に分割するステップと、
前記データ処理ハードウェア(122)によって、前記メルケプストラム係数、前記無周期性成分、および前記発声成分を別々に非正規化するステップと、
前記データ処理ハードウェア(122)によって、前記韻律モデル(300)から出力された前記韻律的特徴(322)、前記非正規化されたメルケプストラム係数、前記非正規化された無周期性成分、および前記非正規化された発声成分をボコーダベクトル(460)へと連結するステップとをさらに含み、
前記ボコーダモデル(400)から出力された前記予測されたボコーダパラメータ(450)および前記韻律モデル(300)から出力された前記韻律的特徴(322)を前記パラメトリックボコーダ(155)に提供するステップが、前記テキスト発話(320)の前記合成音声表現(152)を生成するための入力として前記パラメトリックボコーダ(155)に前記ボコーダベクトル(460)を提供することを含む請求項1から14のいずれか一項に記載の方法(600)。
【請求項16】
データ処理ハードウェア(122)と、
前記データ処理ハードウェア(122)と通信するメモリハードウェア(124)であって、前記データ処理ハードウェア(122)上で実行されるときに、前記データ処理ハードウェア(122)に、
1つまたは複数の単語(240)を有するテキスト発話(320)を受け取る動作であって、各単語(240)が1つまたは複数の音節(230)を有し、各音節(230)が1つまたは複数の音素(220)を有する、動作、
ボコーダモデル(400)への入力として、
前記テキスト発話(320)の意図された韻律を表す韻律モデル(300)から出力された韻律的特徴(322)であって、前記テキスト発話(320)の継続時間、ピッチ輪郭、およびエネルギー輪郭を含む、韻律的特徴(322)、ならびに
前記テキスト発話(320)の言語的規定(402)であって、前記テキスト発話(320)の文レベルの言語的特徴(252)、前記テキスト発話(320)の各単語(240)の単語レベルの言語的特徴(242)、前記テキスト発話(320)の各音節(230)の音節レベルの言語的特徴(232)、および前記テキスト発話(320)の各音素(220)の音素レベルの言語的特徴(222)を含む、言語的規定(402)
を受け取る動作、
前記ボコーダモデル(400)からの出力として、前記韻律モデル(300)から出力された前記韻律的特徴(322)および前記テキスト発話(320)の前記言語的規定(402)に基づいてボコーダパラメータ(450)を予測する動作、ならびに
前記ボコーダモデル(400)から出力された予測されたボコーダパラメータ(450)および前記韻律モデル(300)から出力された前記韻律的特徴(322)をパラメトリックボコーダ(155)に提供する動作であって、前記パラメトリックボコーダ(155)が、前記意図された韻律を有する、前記テキスト発話(320)の合成音声表現(152)を生成するように構成される、動作
を含む動作を実行させる命令を記憶する、メモリハードウェア(124)とを含むシステム(100)。
【請求項17】
前記動作が、
前記ボコーダモデル(400)への入力として、前記テキスト発話(320)の前記言語的規定(402)に関する言語的特徴アラインメント活性化(221、231、241)を受け取る動作をさらに含み、
前記ボコーダパラメータ(450)を予測する動作が、前記テキスト発話(320)の前記言語的規定(402)に関する前記言語的特徴アラインメント活性化(221、231、241)にさらに基づく請求項16に記載のシステム(100)。
【請求項18】
前記言語的特徴アラインメント活性化(221、231、241)が、
それぞれが各単語(240)の活性化を前記単語(240)の各音節(230)の前記音節レベルの言語的特徴(232)とアラインメントする単語レベルアラインメント活性化(241)と、
それぞれが各音節(230)の活性化を前記音節(230)の各音素(220)の前記音素レベルの言語的特徴(222)とアラインメントする音節レベルアラインメント活性化(231)とを含む請求項17に記載のシステム(100)。
【請求項19】
各単語(240)の前記活性化が、対応する単語(240)の前記単語レベルの言語的特徴(242)および前記テキスト発話(320)の前記文レベルの言語的特徴(252)に基づく請求項18に記載のシステム(100)。
【請求項20】
前記単語レベルの言語的特徴(242)が、前記テキスト発話(320)からトランスフォーマからの双方向エンコーダ表現(BERT)モデルによって生成されたワードピース埋め込みのシーケンスから取得されたワードピース埋め込みを含む請求項16から19のいずれか一項に記載のシステム(100)。
【請求項21】
前記動作が、
前記テキスト発話(320)のための発話埋め込み(204)を選択する動作であって、前記発話埋め込み(204)が前記意図された韻律を表す、動作と、
選択された発話埋め込み(204)を使用して、各音節(230)に関して、
前記韻律モデル(300)を使用して、前記音節(230)内の各音素(220)の前記音素レベルの言語的特徴(222)を、前記音節(230)の対応する韻律的音節埋め込み(235)とともに符号化することによって前記音節(230)の継続時間を予測する動作と、
前記音節(230)に関する予測された継続時間に基づいて前記音節(230)のピッチを予測する動作と、
前記音節(230)に関する前記予測された継続時間に基づいて複数の予測された固定長ピッチフレームを生成する動作であって、各固定長ピッチフレームが、前記音節(230)の予測されたピッチを表す、動作と
をさらに含み、
前記ボコーダモデル(400)への入力として受け取られる前記韻律的特徴(322)が、前記テキスト発話(320)の各音節(230)に関して生成された前記複数の予測された固定長ピッチフレームを含む請求項16から20のいずれか一項に記載のシステム(100)。
【請求項22】
前記動作が、各音節(230)に関して、前記選択された発話埋め込み(204)を使用して、
前記音節(230)に関する前記予測された継続時間に基づいて前記音節(230)内の各音素(220)のエネルギーレベルを予測する動作と、
前記音節(230)内の各音素(220)に関して、前記音節(230)に関する前記予測された継続時間に基づいて複数の予測された固定長エネルギーフレーム(280)を生成する動作であって、それぞれの予測された固定長エネルギーフレームが、対応する音素(220)の前記予測されたエネルギーレベルを表す、動作とをさらに含み、
前記ボコーダモデル(400)への入力として受け取られる前記韻律的特徴(322)が、前記テキスト発話(320)の各音節(230)内の各音素(220)に関して生成された前記複数の予測された固定長エネルギーフレーム(280)をさらに含む請求項21に記載のシステム(100)。
【請求項23】
前記韻律モデル(300)が、前記テキスト発話(320)を表すための階層的言語構造(200)を組み込み、前記階層的言語構造(200)が、
前記テキスト発話(320)の各単語(240)を表す長期短期記憶(LSTM)処理セルを含む第1のレベルと、
前記テキスト発話(320)の各音節(230)を表すLSTM処理セルを含む第2のレベルであって、前記第2のレベルの前記LSTM処理セルが、前記第1のレベルの前記LSTM処理セルに対して相対的に、前記第1のレベルの前記LSTM処理セルよりも高速にクロックする、第2のレベルと、
前記テキスト発話(320)の各音素(220)を表すLSTM処理セルを含む第3のレベルであって、前記第3のレベルの前記LSTM処理セルが、前記第2のレベルの前記LSTM処理セルに対して相対的に、前記第2のレベルの前記LSTM処理セルよりも高速にクロックする、第3のレベルと、
それぞれの予測された固定長ピッチフレームを表すLSTM処理セルを含む第4のレベルであって、前記第4のレベルの前記LSTM処理セルが、前記第3のレベルの前記LSTM処理セルに対して相対的に、前記第3のレベルの前記LSTM処理セルよりも高速にクロックする、第4のレベルと、
それぞれの予測された固定長エネルギーフレームを表すLSTM処理セルを含む第5のレベルであって、前記第5のレベルの前記LSTM処理セルが、前記第4のレベルの前記LSTM処理セルと同じ速度でクロックし、前記第3のレベルの前記LSTM処理セルに対して相対的に、前記第3のレベルの前記LSTM処理セルよりも高速にクロックする、第5のレベルとを含む請求項22に記載のシステム(100)。
【請求項24】
前記階層的言語構造(200)の前記第1のレベルが、単一の第1のパスで、前記テキスト発話(320)の各単語(240)に関する活性化を生成し、
前記階層的言語構造(200)の前記第2のレベルが、前記第1のパスの後の単一の第2のパスで、前記テキスト発話(320)の各音節(230)に関する活性化を生成し、
前記階層的言語構造(200)の前記第3のレベルが、前記第2のパスの後の単一の第3のパスで、前記テキスト発話(320)の各音素(220)に関する活性化を生成し、
前記階層的言語構造(200)の前記第4のレベルが、前記第3のパスの後の単一の第4のパスで、それぞれの予測された固定長ピッチフレームに関する活性化を生成し、
前記階層的言語構造(200)の前記第5のレベルが、前記第3のパスの後の単一の第5のパスで、それぞれの予測された固定長エネルギーフレームに関する活性化を生成する請求項23に記載のシステム(100)。
【請求項25】
前記ボコーダモデル(400)が、前記テキスト発話(320)を表すための階層的言語構造(200)を組み込み、前記階層的言語構造(200)が、
前記テキスト発話(320)の各単語(240)を表す長期短期記憶(LSTM)処理セルを含む第1のレベルと、
前記テキスト発話(320)の各音節(230)を表すLSTM処理セルを含む第2のレベルであって、前記第2のレベルの前記LSTM処理セルが、前記第1のレベルの前記LSTM処理セルに対して相対的に、前記第1のレベルの前記LSTM処理セルよりも高速にクロックする、第2のレベルと、
前記テキスト発話(320)の各音素(220)を表すLSTM処理セルを含む第3のレベルであって、前記第3のレベルの前記LSTM処理セルが、前記第2のレベルの前記LSTM処理セルに対して相対的に、前記第2のレベルの前記LSTM処理セルよりも高速にクロックする、第3のレベルと、
複数の固定長スピーチフレーム(502)の各々を表すLSTM処理セルを含む第4のレベルであって、前記第4のレベルの前記LSTM処理セルが、前記第3のレベルの前記LSTM処理セルに対して相対的に、前記第3のレベルの前記LSTM処理セルよりも高速にクロックする、第4のレベルとを含む請求項16から24のいずれか一項に記載のシステム(100)。
【請求項26】
前記複数の固定長スピーチフレーム(502)の各々が、前記ボコーダモデル(400)から出力された前記予測されたボコーダパラメータ(450)のそれぞれの部分を表す請求項25に記載のシステム(100)。
【請求項27】
前記階層的言語構造(200)の前記第1のレベルが、単一の第1のパスで、前記テキスト発話(320)の各単語(240)に関する活性化を生成し、
前記階層的言語構造(200)の前記第2のレベルが、前記第1のパスの後の単一の第2のパスで、前記テキスト発話(320)の各音節(230)に関する活性化を生成し、
前記階層的言語構造(200)の前記第3のレベルが、前記第2のパスの後の単一の第3のパスで、前記テキスト発話(320)の各音素(220)に関する活性化を生成し、
前記階層的言語構造(200)の前記第4のレベルが、前記第3のパスの後の単一の第4のパスで、前記複数の固定長スピーチフレーム(502)の各固定長スピーチフレームに関する活性化を生成する請求項25または26に記載のシステム(100)。
【請求項28】
前記動作が、
複数の参照オーディオ信号および対応する文字起こし(206)を含む訓練データ(201)を受け取る動作であって、各参照オーディオ信号が、スピーチの口で言われた発話を含み、対応する韻律を有し、各文字起こし(206)が、対応する参照オーディオ信号のテキスト表現を含む、動作と、
各参照オーディオ信号および対応する文字起こし(206)のペアに関して、
前記対応する文字起こし(206)の参照の言語的規定(402)および前記対応する参照オーディオ信号の前記対応する韻律を表す参照の韻律的特徴(322)を取得する動作と、
ディープニューラルネットワーク(200)を使用して、前記参照の言語的規定(402)および前記参照の韻律的特徴(322)から、メルケプストラム係数、無周期性成分、および発声成分を提供する予測された固定長スピーチフレーム(502)のシーケンスを生成するために前記ボコーダモデル(400)を訓練する動作と
をさらに含む請求項16から27のいずれか一項に記載のシステム(100)。
【請求項29】
前記ボコーダモデル(400)を訓練する動作が、各参照オーディオ信号に関して、
前記対応する参照オーディオ信号から、前記参照オーディオ信号の参照メルケプストラム係数、参照無周期性成分、および参照発声成分を提供する固定長の参照スピーチフレーム(502)のシーケンスをサンプリングすることと、
前記ボコーダモデル(400)によって生成された予測された固定長スピーチフレーム(502)の前記シーケンスと、前記対応する参照オーディオ信号からサンプリングされた固定長の参照スピーチフレーム(502)の前記シーケンスとの間の勾配/損失を生成することと、
前記勾配/損失を前記ボコーダモデル(400)中に逆伝播させることとをさらに含む請求項28に記載のシステム(100)。
【請求項30】
前記動作が、
前記ボコーダモデル(400)から出力された前記予測されたボコーダパラメータ(450)をメルケプストラム係数、無周期性成分、および発声成分に分割する動作と、
前記メルケプストラム係数、前記無周期性成分、および前記発声成分を別々に非正規化する動作と、
前記韻律モデル(300)から出力された前記韻律的特徴(322)、前記非正規化されたメルケプストラム係数、前記非正規化された無周期性成分、および前記非正規化された発声成分をボコーダベクトル(460)へと連結する動作とをさらに含み、
前記ボコーダモデル(400)から出力された前記予測されたボコーダパラメータ(450)および前記韻律モデル(300)から出力された前記韻律的特徴(322)を前記パラメトリックボコーダ(155)に提供する動作が、前記テキスト発話(320)の前記合成音声表現(152)を生成するための入力として前記パラメトリックボコーダ(155)に前記ボコーダベクトル(460)を提供することを含む請求項16から29のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、韻律的特徴からパラメトリックボコーダパラメータを予測することに関する。
【背景技術】
【0002】
音声合成システムは、テキスト入力からスピーチを生成するためにテキストトゥスピーチ(TTS)モデルを使用する。生成された/合成された音声は、意図された韻律を持つ(表現力)人間のスピーチらしく聞こえ(自然さ)ながら、メッセージを正確に伝える(明瞭性(intelligibility))べきである。通常の波形接続(concatenative)およびパラメトリック合成モデルは、明瞭なスピーチを提供することができ、スピーチのニューラルモデリングの近年の進歩は、合成された音声の自然さを著しく改善したが、ほとんどの既存のTTSモデルは、韻律をモデリングするのに効果がなく、それによって、重要なアプリケーションにより使用される合成された音声が表現力を欠く原因となる。たとえば、会話アシスタントおよび長文リーダ(long-form reader)などのアプリケーションが、イントネーション、強勢、ならびにリズムおよびスタイル(style)などの、テキスト入力では伝えられない韻律的特徴を付与すること(imputing)によって本物らしいスピーチを生成することが望ましい。たとえば、単純な言説が、その言説が質問であるのか、質問に対する答えであるのか、言説に不確実性があるのか、または入力テキストによって明示されていない環境もしくは文脈について何かその他の意味を伝えるべきであるのかに応じて多くの異なる言い方をされ得る。
【0003】
近年、合成された音声の韻律を効果的にモデリングするために、継続時間、ピッチ輪郭(pitch contour)、およびエネルギー輪郭(energy contour)の韻律的特徴を予測するための変分自己符号化器が開発されてきた。これらの予測された韻律的特徴は、WaveNetまたはWaveRNNモデルなどの、言語的および韻律的特徴に基づいて動作する大規模なニューラルネットワークベースの音響モデルを駆動するには十分であるが、多くの追加的なボコーダパラメータを必要とするパラメトリックボコーダを駆動するには不十分である。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の一態様は、韻律的特徴からパラメトリックボコーダパラメータを予測するための方法を提供する。方法は、データ処理ハードウェアにおいて、1つまたは複数の単語を有するテキスト発話(text utterance)を受け取るステップであって、各単語が1つまたは複数の音節を有し、各音節が1つまたは複数の音素を有する、ステップを含む。この方法は、データ処理ハードウェアにおいて、ボコーダモデルへの入力として、テキスト発話の意図された韻律を表す韻律モデルから出力された韻律的特徴、およびテキスト発話の言語的規定(linguistic specification)を受け取るステップをさらに含む。韻律的特徴は、テキスト発話の継続時間、ピッチ輪郭、およびエネルギー輪郭を含み、一方、テキスト発話の言語的規定は、テキスト発話の文レベルの言語的特徴、テキスト発話の各単語の単語レベルの言語的特徴、テキスト発話の各音節の音節レベルの言語的特徴、およびテキスト発話の各音素の音素レベルの言語的特徴を含む。方法は、データ処理ハードウェアによって、ボコーダモデルからの出力として、韻律モデルから出力された韻律的特徴およびテキスト発話の言語的規定に基づいてボコーダパラメータを予測するステップをさらに含む。方法は、データ処理ハードウェアによって、ボコーダモデルから出力された予測されたボコーダパラメータおよび韻律モデルから出力された韻律的特徴をパラメトリックボコーダに提供するステップをさらに含む。パラメトリックボコーダは、意図された韻律を有する、テキスト発話の合成音声表現を生成するように構成される。
【0005】
本開示の実装は、以下の任意の特徴のうちの1つまたは複数を含む場合がある。一部の実装において、方法は、データ処理ハードウェアにおいて、ボコーダモデルへの入力として、テキスト発話の言語的規定に関する言語的特徴アラインメント活性化(linguistic feature alignment activation)を受け取るステップをさらに含む。これらの実装において、ボコーダパラメータを予測するステップは、テキスト発話の言語的規定に関する言語的特徴アラインメント活性化にさらに基づく。一部の例において、言語的特徴アラインメント活性化は、単語レベルアラインメント活性化(word-level alignment activation)および音節レベルアラインメント活性化(syllable-level alignment activation)を含む。単語レベルアラインメント活性化は、それぞれ、各単語の活性化(activation)を単語の各音節の音節レベルの言語的特徴とアラインメントし(align)、音節レベルアラインメント活性化は、それぞれ、各音節の活性化を音節の各音素の音素レベルの言語的特徴とアラインメントする。ここで、各単語の活性化は、対応する単語の単語レベルの言語的特徴およびテキスト発話の文レベルの言語的特徴に基づいてよい。一部の例において、単語レベルの言語的特徴は、テキスト発話からトランスフォーマからの双方向エンコーダ表現(BERT: Bidirectional Encoder Representations from Transformers)モデルによって生成されたワードピース埋め込み(wordpiece embedding)のシーケンスから取得されたワードピース埋め込みを含む。
【0006】
一部の実装において、方法は、データ処理ハードウェアによって、テキスト発話のための発話埋め込み(utterance embedding)を選択するステップであって、発話埋め込みが意図された韻律を表す、ステップをさらに含む。各音節に関して、選択された発話埋め込みを使用して、方法は、データ処理ハードウェアによって、韻律モデルを使用して、音節内の各音素の音素レベルの言語的特徴を、音節の対応する韻律的音節埋め込み(prosodic syllable embedding)とともに符号化することによって音節の継続時間を予測するステップと、データ処理ハードウェアによって、音節に関する予測された継続時間に基づいて音節のピッチを予測するステップと、データ処理ハードウェアによって、音節に関する予測された継続時間に基づいて複数の予測された固定長ピッチフレームを生成するステップとを含む。各固定長ピッチフレームは、音節の予測されたピッチを表し、ボコーダモデルへの入力として受け取られる韻律的特徴は、テキスト発話の各音節に関して生成された複数の予測された固定長ピッチフレームを含む。一部の例において、方法は、各音節に関して、選択された発話埋め込みを使用して、データ処理ハードウェアによって、音節に関する予測された継続時間に基づいて音節内の各音素のエネルギーレベルを予測するステップと、音節内の各音素に関して、データ処理ハードウェアによって、音節に関する予測された継続時間に基づいて複数の予測された固定長エネルギーフレームを生成するステップとをさらに含む。それぞれの予測された固定長エネルギーフレームは、対応する音素の予測されたエネルギーレベルを表す。ここで、ボコーダモデルへの入力として受け取られる韻律的特徴は、テキスト発話の各音節内の各音素に関して生成された複数の予測された固定長エネルギーフレームをさらに含む。
【0007】
一部の実装において、韻律モデルは、テキスト発話を表すための階層的言語構造を組み込む。階層的言語構造は、テキスト発話の各単語を表す長期短期記憶(LSTM: long short-term memory)処理セルを含む第1のレベルと、テキスト発話の各音節を表すLSTM処理セルを含む第2のレベルと、テキスト発話の各音素を表すLSTM処理セルを含む第3のレベルと、それぞれの予測された固定長ピッチフレームを表すLSTM処理セルを含む第4のレベルと、それぞれの予測された固定長エネルギーフレームを表すLSTM処理セルを含む第5のレベルとを含む。第2のレベルのLSTM処理セルは、第1のレベルのLSTM処理セルに対して相対的に、第1のレベルのLSTM処理セルよりも高速にクロックし(clock)、第3のレベルのLSTM処理セルは、第2のレベルのLSTM処理セルに対して相対的に、第2のレベルのLSTM処理セルよりも高速にクロックし、第4のレベルのLSTM処理セルは、第3のレベルのLSTM処理セルに対して相対的に、第3のレベルのLSTM処理セルよりも高速にクロックし、第5のレベルのLSTM処理セルは、第4のレベルのLSTM処理セルと同じ速度でクロックし、第3のレベルのLSTM処理セルに対して相対的に、第3のレベルのLSTM処理セルよりも高速にクロックする。一部の実装において、階層的言語構造の第1のレベルは、単一の第1のパスで、テキスト発話の各単語に関する活性化を生成し、階層的言語構造の第2のレベルは、第1のパスの後の単一の第2のパスで、テキスト発話の各音節に関する活性化を生成し、階層的言語構造の第3のレベルは、第2のパスの後の単一の第3のパスで、テキスト発話の各音素に関する活性化を生成し、階層的言語構造の第4のレベルは、第3のパスの後の単一の第4のパスで、それぞれの予測された固定長ピッチフレームに関する活性化を生成し、階層的言語構造の第5のレベルは、第3のパスの後の単一の第5のパスで、それぞれの予測された固定長エネルギーフレームに関する活性化を生成する。
【0008】
一部の例において、ボコーダモデルは、テキスト発話を表すための階層的言語構造を組み込む。階層的言語構造は、テキスト発話の各単語を表す長期短期記憶(LSTM)処理セルを含む第1のレベルと、テキスト発話の各音節を表すLSTM処理セルを含む第2のレベルと、テキスト発話の各音素を表すLSTM処理セルを含む第3のレベルと、複数の固定長スピーチフレームの各々を表すLSTM処理セルを含む第4のレベルであって、第4のレベルのLSTM処理セルが、第3のレベルのLSTM処理セルに対して相対的に、第3のレベルのLSTM処理セルよりも高速にクロックする、第4のレベルとを含む。第2のレベルのLSTM処理セルは、第1のレベルのLSTM処理セルに対して相対的に、第1のレベルのLSTM処理セルよりも高速にクロックし、第3のレベルのLSTM処理セルは、第2のレベルのLSTM処理セルに対して相対的に、第2のレベルのLSTM処理セルよりも高速にクロックし、第4のレベルのLSTM処理セルは、第3のレベルのLSTM処理セルに対して相対的に、第3のレベルのLSTM処理セルよりも高速にクロックする。これらの例において、複数の固定長スピーチフレームの各々は、ボコーダモデルから出力された予測されたボコーダパラメータのそれぞれの部分を表してよい。さらに、これらの例において、階層的言語構造の第1のレベルは、単一の第1のパスで、テキスト発話の各単語に関する活性化を生成してよく、階層的言語構造の第2のレベルは、第1のパスの後の単一の第2のパスで、テキスト発話の各音節に関する活性化を生成してよく、階層的言語構造の第3のレベルは、第2のパスの後の単一の第3のパスで、テキスト発話の各音素に関する活性化を生成してよく、階層的言語構造の第4のレベルは、第3のパスの後の単一の第4のパスで、複数の固定長スピーチフレームの各固定長スピーチフレームに関する活性化を生成してよい。
【0009】
方法は、データ処理ハードウェアにおいて、複数の参照オーディオ信号および対応する文字起こしを含む訓練データを受け取るステップをさらに含んでよい。各参照オーディオ信号は、スピーチの口で言われた発話を含み、対応する韻律を有し、一方、各文字起こしは、対応する参照オーディオ信号のテキスト表現を含む。各参照オーディオ信号および対応する文字起こしのペアに関して、方法は、データ処理ハードウェアによって、対応する文字起こしの参照の言語的規定および対応する参照オーディオ信号の対応する韻律を表す参照の韻律的特徴を取得するステップと、データ処理ハードウェアによって、ディープニューラルネットワークを使用して、参照の言語的規定および参照の韻律的特徴から、メルケプストラム係数、無周期性成分(aperiodicity component)、および発声成分(voicing component)を提供する予測された固定長スピーチフレームのシーケンスを生成するためにボコーダモデルを訓練するステップとを含んでよい。一部の例において、ボコーダモデルを訓練するステップは、各参照オーディオ信号に関して、対応する参照オーディオ信号から、参照オーディオ信号の参照メルケプストラム係数、参照無周期性成分、および参照発声成分を提供する固定長の参照スピーチフレームのシーケンスをサンプリングすることと、ボコーダモデルによって生成された予測された固定長スピーチフレームのシーケンスと、対応する参照オーディオ信号からサンプリングされた固定長の参照スピーチフレームのシーケンスとの間の勾配/損失を生成することと、勾配/損失をボコーダモデル中に逆伝播させることとをさらに含む。
【0010】
一部の実装において、方法は、データ処理ハードウェアによって、ボコーダモデルから出力された予測されたボコーダパラメータをメルケプストラム係数、無周期性成分、および発声成分に分割するステップをさらに含む。これらの実装において、方法は、データ処理ハードウェアによって、メルケプストラム係数、無周期性成分、および発声成分を別々に非正規化するステップをさらに含む。これらの実装において、方法は、データ処理ハードウェアによって、韻律モデルから出力された韻律的特徴、非正規化されたメルケプストラム係数、非正規化された無周期性成分、および非正規化された発声成分をボコーダベクトルへと連結するステップをさらに含む。これらの実装において、ボコーダモデルから出力された予測されたボコーダパラメータおよび韻律モデルから出力された韻律的特徴をパラメトリックボコーダに提供するステップは、テキスト発話の合成音声表現を生成するための入力としてパラメトリックボコーダにボコーダベクトルを提供することを含む。
【0011】
本開示の別の態様は、韻律的特徴からパラメトリックボコーダパラメータを予測するためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されるときにデータ処理ハードウェアに動作を実行させる命令を記憶する。動作は、1つまたは複数の単語を有するテキスト発話を受け取る動作であって、各単語が1つまたは複数の音節を有し、各音節が1つまたは複数の音素を有する、動作を含む。動作は、ボコーダモデルへの入力として、テキスト発話の意図された韻律を表す韻律モデルから出力された韻律的特徴、およびテキスト発話の言語的規定を受け取る動作をさらに含む。韻律的特徴は、テキスト発話の継続時間、ピッチ輪郭、およびエネルギー輪郭を含み、一方、テキスト発話の言語的規定は、テキスト発話の文レベルの言語的特徴、テキスト発話の各単語の単語レベルの言語的特徴、テキスト発話の各音節の音節レベルの言語的特徴、およびテキスト発話の各音素の音素レベルの言語的特徴を含む。動作は、ボコーダモデルからの出力として、韻律モデルから出力された韻律的特徴およびテキスト発話の言語的規定に基づいてボコーダパラメータを予測する動作をさらに含む。動作は、ボコーダモデルから出力された予測されたボコーダパラメータおよび韻律モデルから出力された韻律的特徴をパラメトリックボコーダに提供する動作をさらに含む。パラメトリックボコーダは、意図された韻律を有する、テキスト発話の合成音声表現を生成するように構成される。
【0012】
本開示の実装は、以下の任意の特徴のうちの1つまたは複数を含んでよい。一部の実装において、動作は、ボコーダモデルへの入力として、テキスト発話の言語的規定に関する言語的特徴アラインメント活性化を受け取る動作をさらに含む。これらの実装において、ボコーダパラメータを予測する動作は、テキスト発話の言語的規定に関する言語的特徴アラインメント活性化にさらに基づく。一部の例において、言語的特徴アラインメント活性化は、単語レベルアラインメント活性化および音節レベルアラインメント活性化を含む。単語レベルアラインメント活性化は、それぞれ、各単語の活性化を単語の各音節の音節レベルの言語的特徴とアラインメントし、音節レベルアラインメント活性化は、それぞれ、各音節の活性化を音節の各音素の音素レベルの言語的特徴とアラインメントする。ここで、各単語の活性化は、対応する単語の単語レベルの言語的特徴およびテキスト発話の文レベルの言語的特徴に基づいてよい。一部の例において、単語レベルの言語的特徴は、テキスト発話からトランスフォーマからの双方向エンコーダ表現(BERT)モデルによって生成されたワードピース埋め込みのシーケンスから取得されたワードピース埋め込みを含む。
【0013】
一部の実装において、動作は、意図された韻律を表す、テキスト発話のための発話埋め込みを選択する動作をさらに含む。これらの実装において、各音節に関して、選択された発話埋め込みを使用して、動作は、韻律モデルを使用して、音節内の各音素の音素レベルの言語的特徴を、音節の対応する韻律的音節埋め込みとともに符号化することによって音節の継続時間を予測する動作と、音節に関する予測された継続時間に基づいて音節のピッチを予測する動作と、音節に関する予測された継続時間に基づいて複数の予測された固定長ピッチフレームを生成する動作とをさらに含む。各固定長ピッチフレームは、音節の予測されたピッチを表し、ボコーダモデルへの入力として受け取られる韻律的特徴は、テキスト発話の各音節に関して生成された複数の予測された固定長ピッチフレームを含む。
【0014】
一部の例において、動作は、各音節に関して、選択された発話埋め込みを使用して、音節に関する予測された継続時間に基づいて音節内の各音素のエネルギーレベルを予測する動作と、音節内の各音素に関して、音節に関する予測された継続時間に基づいて複数の予測された固定長エネルギーフレームを生成する動作とをさらに含む。それぞれの予測された固定長エネルギーフレームは、対応する音素の予測されたエネルギーレベルを表す。ボコーダモデルへの入力として受け取られる韻律的特徴は、テキスト発話の各音節内の各音素に関して生成された複数の予測された固定長エネルギーフレームをさらに含む。
【0015】
一部の実装において、韻律モデルは、テキスト発話を表すための階層的言語構造を組み込む。階層的言語構造は、テキスト発話の各単語を表す長期短期記憶(LSTM)処理セルを含む第1のレベルと、テキスト発話の各音節を表すLSTM処理セルを含む第2のレベルと、テキスト発話の各音素を表すLSTM処理セルを含む第3のレベルと、それぞれの予測された固定長ピッチフレームを表すLSTM処理セルを含む第4のレベルと、それぞれの予測された固定長エネルギーフレームを表すLSTM処理セルを含む第5のレベルとを含む。第2のレベルのLSTM処理セルは、第1のレベルのLSTM処理セルに対して相対的に、第1のレベルのLSTM処理セルよりも高速にクロックし、第3のレベルのLSTM処理セルは、第2のレベルのLSTM処理セルに対して相対的に、第2のレベルのLSTM処理セルよりも高速にクロックし、第4のレベルのLSTM処理セルは、第3のレベルのLSTM処理セルに対して相対的に、第3のレベルのLSTM処理セルよりも高速にクロックし、第5のレベルのLSTM処理セルは、第4のレベルのLSTM処理セルと同じ速度でクロックし、第3のレベルのLSTM処理セルに対して相対的に、第3のレベルのLSTM処理セルよりも高速にクロックする。一部の実装において、階層的言語構造の第1のレベルは、単一の第1のパスで、テキスト発話の各単語に関する活性化を生成し、階層的言語構造の第2のレベルは、第1のパスの後の単一の第2のパスで、テキスト発話の各音節に関する活性化を生成し、階層的言語構造の第3のレベルは、第2のパスの後の単一の第3のパスで、テキスト発話の各音素に関する活性化を生成し、階層的言語構造の第4のレベルは、第3のパスの後の単一の第4のパスで、それぞれの予測された固定長ピッチフレームに関する活性化を生成し、階層的言語構造の第5のレベルは、第3のパスの後の単一の第5のパスで、それぞれの予測された固定長エネルギーフレームに関する活性化を生成する。
【0016】
一部の例において、ボコーダモデルは、テキスト発話を表すための階層的言語構造を組み込む。階層的言語構造は、テキスト発話の各単語を表す長期短期記憶(LSTM)処理セルを含む第1のレベルと、テキスト発話の各音節を表すLSTM処理セルを含む第2のレベルと、テキスト発話の各音素を表すLSTM処理セルを含む第3のレベルと、複数の固定長スピーチフレームの各々を表すLSTM処理セルを含む第4のレベルであって、第4のレベルのLSTM処理セルが、第3のレベルのLSTM処理セルに対して相対的に、第3のレベルのLSTM処理セルよりも高速にクロックする、第4のレベルとを含む。第2のレベルのLSTM処理セルは、第1のレベルのLSTM処理セルに対して相対的に、第1のレベルのLSTM処理セルよりも高速にクロックし、第3のレベルのLSTM処理セルは、第2のレベルのLSTM処理セルに対して相対的に、第2のレベルのLSTM処理セルよりも高速にクロックし、第4のレベルのLSTM処理セルは、第3のレベルのLSTM処理セルに対して相対的に、第3のレベルのLSTM処理セルよりも高速にクロックする。これらの例において、複数の固定長スピーチフレームの各々は、ボコーダモデルから出力された予測されたボコーダパラメータのそれぞれの部分を表してよい。さらに、これらの例において、階層的言語構造の第1のレベルは、単一の第1のパスで、テキスト発話の各単語に関する活性化を生成してよく、階層的言語構造の第2のレベルは、第1のパスの後の単一の第2のパスで、テキスト発話の各音節に関する活性化を生成してよく、階層的言語構造の第3のレベルは、第2のパスの後の単一の第3のパスで、テキスト発話の各音素に関する活性化を生成してよく、階層的言語構造の第4のレベルは、第3のパスの後の単一の第4のパスで、複数の固定長スピーチフレームの各固定長スピーチフレームに関する活性化を生成してよい。
【0017】
動作は、複数の参照オーディオ信号および対応する文字起こしを含む訓練データを受け取る動作をさらに含んでよい。各参照オーディオ信号は、スピーチの口で言われた発話を含み、対応する韻律を有し、一方、各文字起こしは、対応する参照オーディオ信号のテキスト表現を含む。各参照オーディオ信号および対応する文字起こしのペアに関して、動作は、対応する文字起こしの参照の言語的規定および対応する参照オーディオ信号の対応する韻律を表す参照の韻律的特徴を取得する動作と、ディープニューラルネットワークを使用して、参照の言語的規定および参照の韻律的特徴から、メルケプストラム係数、無周期性成分、および発声成分を提供する予測された固定長スピーチフレームのシーケンスを生成するためにボコーダモデルを訓練する動作とをさらに含んでよい。一部の例において、ボコーダモデルを訓練する動作は、対応する参照オーディオ信号から、参照オーディオ信号の参照メルケプストラム係数、参照無周期性成分、および参照発声成分を提供する固定長の参照スピーチフレームのシーケンスをサンプリングすることと、ボコーダモデルによって生成された予測された固定長スピーチフレームのシーケンスと、対応する参照オーディオ信号からサンプリングされた固定長の参照スピーチフレームのシーケンスとの間の勾配/損失を生成することと、勾配/損失をボコーダモデル中に逆伝播させることとをさらに含む。
【0018】
一部の実装において、動作は、ボコーダモデルから出力された予測されたボコーダパラメータをメルケプストラム係数、無周期性成分、および発声成分に分割する動作をさらに含む。これらの実装において、動作は、メルケプストラム係数、無周期性成分、および発声成分を別々に非正規化する動作をさらに含む。これらの実装において、動作は、韻律モデルから出力された韻律的特徴、非正規化されたメルケプストラム係数、非正規化された無周期性成分、および非正規化された発声成分をボコーダベクトルへと連結する動作をさらに含む。これらの実装において、ボコーダモデルから出力された予測されたボコーダパラメータおよび韻律モデルから出力された韻律的特徴をパラメトリックボコーダに提供する動作は、テキスト発話の合成音声表現を生成するための入力としてパラメトリックボコーダにボコーダベクトルを提供することを含む。
【図面の簡単な説明】
【0019】
【
図1】テキスト発話の意図された韻律を表す韻律的特徴からボコーダパラメータを予測するのに使用するためのボコーダモデルを提供するためにディープニューラルネットワークを訓練するための例示的なシステムの概略図である。
【
図2】テキスト発話を表すための階層的言語構造を組み込む
図1のボコーダモデルの概略図である。
【
図3A】テキスト発話の各音節の継続時間およびピッチ輪郭を予測するための例示的な自己符号化器の概略図である。
【
図3B】テキスト発話の各音素の継続時間およびエネルギー輪郭を予測するための例示的な自己符号化器の概略図である。
【
図4】パラメトリックボコーダを駆動するために韻律的特徴からボコーダパラメータを予測するための例示的なディープニューラルネットワークの概略図である。
【
図5】ボコーダモデルのパラメータの更新の概略図である。
【
図6】韻律モデルから出力された韻律的特徴およびテキスト発話の言語的規定に基づいてテキスト発話に関するボコーダパラメータを予測するための動作の例示的な配列の流れ図である。
【
図7】本明細書に記載のシステムおよび方法を実装するために使用されてよい例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0020】
様々な図面における同様の参照符号は、同様の要素を示す。
【0021】
音声合成システムで使用されることの多いテキストトゥスピーチ(TTS)モデルは、概して、実行時にいかなる参照音響表現もなしにテキスト入力のみを与えられ、本物らしく聞こえる合成された音声を生成するために、テキスト入力によって提供されない多くの言語的要因を付与しなければならない。これらの言語的要因のサブセットは、集合的に韻律と呼ばれ、スピーチのイントネーション(ピッチの変化)、強勢(強勢のある音節対強勢のない音節)、音の継続時間、音の大きさ(loudness)、トーン、リズム、およびスタイルなどを含む場合がある。韻律は、スピーチの感情の状態、スピーチの形態(たとえば、声明、質問、命令など)、スピーチの皮肉もしくは嫌味の存在、スピーチの知識の不確実性、または入力テキストの文法もしくは語彙の選択によって符号化され得ないその他の言語的要素を示す場合がある。したがって、大きな度合いの韻律的変化に関連付けられる所与のテキスト入力は、異なる意味論的意味を伝えるためのピッチおよびしゃべりの継続時間の局所的変化があり、さらに、異なる気分および感情を伝えるための全体的なピッチの軌跡(pitch trajectory)の大域的変化がある合成された音声を生成し得る。
【0022】
ニューラルネットワークモデルは、テキスト入力によって与えられない韻律に対応する言語的要因を予測することによりスピーチを頑健に合成する潜在能力を提供する。その結果、オーディオブックのナレーション、ニュースリーダ、音声設計ソフトウェア(voice design software)、および会話アシスタントなどの多くのアプリケーションが、単調に聞こえない本物らしく聞こえる合成された音声を生成することができる。変分自己符号化器(VAC)の近年の進歩は、合成された音声の韻律を効果的にモデリングするために、継続時間、ピッチ輪郭、およびエネルギー輪郭の韻律的特徴を予測することを可能にする。これらの予測された韻律的特徴は、WaveNetまたはWaveRNNモデルなどの、言語的および韻律的特徴に基づいて動作する大規模な最先端のニューラルネットワークベースの音響モデルを駆動するには十分であるが、多くの追加的なボコーダパラメータを必要とするパラメトリックボコーダを駆動するには不十分である。つまり、ピッチ、エネルギー、および音素の継続時間の韻律的特徴に加えて、パラメトリックボコーダは、各スピーチ単位(speech unit)、たとえば、典型的には固定長フレーム(たとえば、5ミリ秒)のメルケプストラム係数(MCEP)、無周期性成分、および声成分(voice component)を含む多数の追加的なボコーダパラメータを必要とする。結果として、パラメトリックボコーダは、VACによる韻律のモデリングの改善の恩恵を受けることができなかった。しかし、サーバ上で実行される大規模な最先端のニューラルネットワークベースの音響モデルと比較して、パラメトリックボコーダは、パラメトリックボコーダモデルを、処理およびメモリに対する制約が緩和されるオンデバイス環境において使用するための好ましい選択肢にする低い処理およびメモリ要件に関連付けられる。
【0023】
本明細書の実装は、韻律モデルおよびニューラルネットワークボコーダモデルを組み込む2段階音声合成システムを対象とする。第1段階の間に、韻律モデルは、テキスト発話に関する意図された韻律を表す韻律的特徴を予測するように構成される。韻律的特徴は、ピッチ(F0)、音素の継続時間、およびエネルギー(C0)の観点でテキスト発話に関する音響情報を表す。しかし、韻律モデルによって予測される韻律的特徴は、パラメトリックボコーダを駆動するために必要とされる多数のボコーダパラメータのうちの一部のみを含む。第2段階の間に、ニューラルネットワークボコーダモデルは、入力として、韻律モデルによって予測された韻律的特徴を受け取り、出力として、意図された韻律を有する、テキスト発話の合成音声表現を生成するためにパラメトリックボコーダを駆動するのに使用するためのボコーダパラメータの残りの部分を生成するように構成される。韻律モデルは、通常の統計的パラメトリックモデルが生成することができるよりも高品質な韻律表現をテキスト発話に提供するために、韻律的特徴を予測するために最適化される変分自己符号化器(VAE)を組み込んでよい。これらの通常の統計的パラメトリックモデルは、ピッチ、エネルギー、および音素の継続時間の韻律的特徴に加えて、MCEP、無周期性成分、および声成分を含むすべてのボコーダパラメータを生成することを任せられる。
【0024】
有利なことに、ニューラルネットワークボコーダモデルは、韻律モデルの能力を利用して、テキスト発話の意図された韻律を表す韻律的特徴を正確に予測し、これらの予測された韻律的特徴を、パラメトリックボコーダを駆動するために必要とされる残りのボコーダパラメータを予測するためのボコーダモデルへの入力と、ボコーダモデルによって予測された残りのボコーダパラメータと組み合わせてパラメトリックボコーダを駆動するためのボコーダモデルのパススルー(pass-through)との二重の目的で使用してよい。つまり、韻律モデルによって予測された韻律的特徴と、ボコーダモデルによって予測された残りのボコーダパラメータとが、意図された韻律を有する、テキスト発話の合成音声表現を生成するためにパラメトリックボコーダを駆動するために必要とされるすべての必要とされるボコーダパラメータを集合的に提供してよい。したがって、韻律をモデリングするために最適化された韻律モデルを利用し、残りのボコーダパラメータを予測するためにニューラルネットワークボコーダモデルを組み込むことによって、オンデバイスのパラメトリックボコーダが、改善された韻律を有する合成音声表現を生成するために採用されてよい。
【0025】
本開示のVAEベースの韻律モデルは、エンコーダ部分およびデコーダ部分を有するクロックワーク階層変分自己符号化器(CHiVE: Clockwork Hierarchical Variational Autoencoder)を含む。CHiVEのエンコーダ部分は、各参照オーディオ信号に関連する韻律的特徴および言語的規定を条件として多数の参照オーディオ信号を符号化することによって、韻律を表す発話埋め込みを訓練してよい。上述のように、韻律的特徴は、ピッチ(F0)、音素の継続時間、およびエネルギー(C0)の観点で参照オーディオ信号についての音響情報を表す。たとえば、韻律的特徴は、参照オーディオ信号からサンプリングされた音素の継続時間とピッチおよびエネルギーの固定長フレームとを含んでよい。言語的規定は、限定なしに、音節内の音素の位置、音素のアイデンティティ(identity)、および音節内の音素の数についての情報を含む音素レベルの言語的特徴と、音節のアイデンティティ、および音節が強勢を置かれているのかまたは強勢を置かれていないのかなどの情報を含む音節レベルの言語的特徴と、単語が名詞/形容詞/動詞であるかどうかを示す単語の品詞などの情報を含む単語レベルの言語的特徴と、話者、話者の性別、および/または発話が質問であるのかもしくはフレーズであるのかについての情報を含む文レベルの言語的特徴を含んでよい。一部の例において、韻律モデルは、ワードピース埋め込みを出力するように構成されるトランスフォーマからの双方向エンコーダ表現(BERT)モデルを含む。これらの例において、ワードピース埋め込みは、そうでなければ各単語についての構文情報を明示的に符号化する単語レベルの言語的特徴を置き換える場合がある。
【0026】
エンコーダ部分によって符号化された各発話埋め込みは、固定長の数値ベクトルによって表現されてよい。一部の実装において、固定長の数値ベクトルは、256に等しい値を含む。しかし、その他の実装は、256より大きい、または小さい値を有する固定長の数値ベクトルを使用する場合がある。デコーダ部分は、固定長発話埋め込みを、第1のデコーダによって音素の継続時間のシーケンスに復号し、音素の継続時間を使用してピッチおよびエネルギーの固定長フレーム(たとえば、5ミリ秒)のシーケンスに復号してよい。固定長発話埋め込みは、スピーチへと合成される入力テキストの意図された韻律を表す場合がある。音素の継続時間のシーケンス、ならびにピッチおよびエネルギーの固定長フレームは、デコーダ部分によって予測される韻律的特徴に対応する。訓練中、デコーダ部分によって予測された音素の継続時間ならびにピッチおよびエネルギーの固定長フレームの韻律的特徴は、固定長発話埋め込みに関連する参照オーディオ信号からサンプリングされた音素の継続時間ならびにピッチおよびエネルギーの固定長フレームの韻律的特徴とよく一致する。
【0027】
本開示のニューラルネットワークボコーダモデルは、訓練テキスト発話の参照の韻律的特徴および言語的規定を条件としてボコーダパラメータを予測するように訓練される。つまり、ボコーダモデルは、入力として、訓練テキスト発話に関する意図された韻律を表す韻律的特徴と、訓練テキスト発話の言語的規定とを受け取り、出力として、テキスト発話の参照の韻律的特徴および言語的規定に基づいてボコーダパラメータを予測する。ボコーダパラメータは、各スピーチ単位、たとえば、典型的には固定長フレーム(たとえば、5ミリ秒)のMCEP、無周期性成分、および声成分を含む。エネルギー輪郭/レベルC0の韻律的特徴は、パラメトリックボコーダを駆動するために必要とされる0番目のMCEPである。したがって、ボコーダモデルは、パラメトリックボコーダを駆動するための残りのMCEP C[1~n番目]を予測するように構成されてよい。各訓練テキスト発話は、それぞれが1つまたは複数の音節を有する1つまたは複数の単語を有してよく、各音節は、1つまたは複数の音素を有する。したがって、各訓練テキスト発話の言語的規定は、テキスト発話の文レベルの言語的特徴、テキスト発話の各単語の単語レベルの言語的特徴、テキスト発話の各音節の音節レベルの言語的特徴、およびテキスト発話の各音素の音素レベルの言語的特徴を含む。
【0028】
CHiVEベースの韻律モデルおよびニューラルネットワークボコーダモデルは、それぞれ、長期短期記憶(LSTM)セルの階層的な積み重ねられた層の階層構造を組み込んでよく、LSTMセルの各層は、1つの層が固定長フレームを表し、次の層が音素を表し、次の層が音節を表し、別の層が単語を表すようなテキスト発声の構造を組み込む。さらに、LSTMセルの積み重ねられた層の階層は、階層的な入力データの長さに合わせて可変式にクロックされる。たとえば、入力データ(たとえば、テキスト発話)が3音節の単語と、それに続く4音節の単語とを含む場合、階層構造の音節層は、最初の入力された単語に関して、単語層の1回のクロックに対して3回クロックし、次に、音節層は、2番目の単語に関して、単語層の次の1回のクロックに対して4倍クロックする。
【0029】
推論中、CHiVEベースの韻律モデルは、テキスト発話を受け取り、テキスト発話のための発話埋め込みを選択するように構成される。発話埋め込みは、限定なしに、ニュースリーダ、スポーツ放送局、講演者、または物語の朗読を含む異なる韻律の領域に関して分類されてよい。発話埋め込みは、下位領域を含むように、より細かくされてもよい。たとえば、物語の朗読の領域は、スリラー小説のサスペンスを伝えるための発話埋め込みと、電子書籍の所与の章の文脈に沿った異なる感情を伝えるための発話埋め込みとを含む場合がある。ユーザが、意図された韻律を伝える発話埋め込みを選択してよく、または発話埋め込みは、スピーチへと合成される受け取られたテキスト発話とよく一致するテキスト発話と対になる発話埋め込みとして選択されてよい。受け取られたテキスト発話は、少なくとも1つの単語を有し、各単語は、少なくとも1つの音節を有し、各音節は、少なくとも1つの音素を有する。テキスト発話は、発話から合成された音声を生成するための適切な韻律を導くための文脈、意味情報、および語用論的情報が欠いているので、CHiVEベースの韻律モデルは、その選択された発話埋め込みを、意図された韻律を表すための潜在変数として使用する。その後、CHiVEベースの韻律モデルは、選択された発話埋め込みをテキスト発話から取得された文レベル、単語レベル、および音節レベルの言語的特徴と連結して、各音節の継続時間を予測し、音節の予測された継続時間に基づいて各音節のピッチを予測する。最後に、CHiVEベースの韻律モデルは、各固定長ピッチフレームが音節の予測されたピッチを表すように、各音節の予測された継続時間に基づいて複数の固定長ピッチフレームを生成するように構成される。複数の固定長ピッチフレームは、テキスト発話の基本周波数を対数スケールで表すための対数f0を提供してよい。CHiVEベースの韻律モデルは、同様に、音節の予測された継続時間に基づいて各音節のエネルギー(たとえば、音の大きさ)を予測し、音節の予測されたエネルギーc0をそれぞれ表す複数の固定長エネルギーフレームを生成してよく、c0は、0番目のMCEPである。
【0030】
テキスト発話の言語的規定(たとえば、文レベル、単語レベル、音節レベル、および音素レベルの言語的特徴)、ならびに韻律モデルから出力された固定長ピッチおよび/またはエネルギーフレームは、出力として、各スピーチ単位のMCEP(c[1~n番目])、無周期性成分、および発声成分を含む予測されたボコーダパラメータを生成するためのニューラルネットワークボコーダモデルに入力として提供されてよい。すなわち、ニューラルネットワークボコーダモデルは、予測されたボコーダパラメータのそれぞれの部分をそれぞれが表す複数の固定長スピーチフレーム(たとえば、5msのフレーム)を予測するように構成される。さらに、ボコーダモデルは、すべての必要とされるボコーダパラメータを用いてパラメトリックボコーダを駆動するために、韻律モデルによって予測されたピッチf0、エネルギーc0、および音素の継続時間の韻律的特徴を適切な固定長スピーチフレームに挿入してよい。ここで、パラメトリックボコーダを駆動するボコーダパラメータのうちの、韻律を説明する部分は、韻律をモデリングするために最適化された韻律モデルから取得され、ボコーダパラメータの残りの部分は、韻律的特徴に基づいてボコーダモデルから取得される。
【0031】
図1は、ボコーダモデル400を提供するためにディープニューラルネットワーク200を訓練するため、および訓練されたボコーダモデル400を使用して、パラメトリックボコーダ155を駆動するためのテキスト発話320に関するボコーダパラメータ450を予測するための例示的なシステム100を示す。訓練中、システム100は、データ処理ハードウェア122と、データ処理ハードウェア122と通信し、データ処理ハードウェア122に動作を実行させる命令を記憶するメモリハードウェア124とを有するコンピューティングシステム120を組み込む。一部の実装において、コンピューティングシステム120(たとえば、データ処理ハードウェア122)は、入力テキスト発話320からの合成された音声152の韻律を制御するために、テキストトゥスピーチ(TTS)システム150に、訓練された韻律モデル300と、訓練されたディープニューラルネットワーク200に基づく訓練されたボコーダモデル400とを提供する。すなわち、訓練された韻律モデル300および訓練されたボコーダモデル400は、TTSシステム150のパラメトリックボコーダ155を駆動して意図された韻律を持つ合成された音声152を生成するために必要とされるすべての必要とされるボコーダパラメータ322、450を生成するために協力して働く。示された例において、TTSシステム150は、スマートフォン、スマートウォッチ、スマートスピーカ/ディスプレイ、スマート家電、ラップトップ、デスクトップコンピュータ、タブレット、またはユーザに関連するその他のコンピューティングデバイスなどのユーザデバイス110に存在する。その他の例においては、コンピューティングシステム120が、TTSシステム150を実装する。ボコーダモデル400を訓練し、任意で韻律モデル300を訓練するために使用されるコンピューティングシステム120は、分散型システム(たとえば、クラウドコンピューティング環境)を含む場合がある。ユーザデバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信し、入力テキスト発話320からボコーダパラメータ322、450を生成するために韻律およびボコーダモデル300、400を実行すること、ならびに合成された音声152を生成するためにボコーダパラメータ322、450でパラメトリックボコーダ155を駆動することなどの動作をデータ処理ハードウェア112に実行させる命令を記憶するメモリハードウェア114とを有する。合成された音声152は、ユーザデバイス110と通信するスピーカによって、聞こえるように出力されてよい。たとえば、スピーカは、ユーザデバイス110に存在してよく、または有線もしくはワイヤレス接続を介してユーザデバイス110と通信する別個の構成要素であってよい。
【0032】
入力テキスト発話320は、合成された音声152の適切な韻律を導くための文脈、意味論(semantics)、および語用論(pragmatics)を伝える方法を持たないので、韻律モデル300は、テキスト発話320から抽出された言語的規定402でモデル300を条件付け、固定長発話埋め込み204をテキスト発話320の意図された韻律を表す潜在変数として使用することによって、入力テキスト発話320に関する韻律表現322を予測してよい。つまり、推論中、韻律モデル300は、選択された発話埋め込み204を使用して、テキスト発話320に関する韻律表現322を予測してよい。韻律表現322は、テキスト発話320の予測されたピッチ、予測されたタイミング、および予測された音の大きさ(たとえば、エネルギー)の韻律的特徴を含んでよい。したがって、用語「韻律表現」および「韻律的特徴」は、交換可能なように使用されてよい。その後、韻律モデル300によって予測された韻律的特徴322は、パラメトリックボコーダ155を駆動するために必要とされる残りのボコーダパラメータ450を予測するためのボコーダモデル400への入力として供給される。つまり、パラメトリックボコーダ155は、韻律モデル300によって予測された韻律的特徴322のみから入力テキスト発話322に関する合成された音声152を生成することができず、合成された音声152を生成するために多数の追加的なボコーダパラメータ450をさらに必要とする。ボコーダモデル400によって予測された追加的なボコーダパラメータ450は、各スピーチ単位のMCEP(c[1~n番目])、無周期性成分、および発声成分を含む。
図2および
図4を参照して下でより詳細に説明されるように、ニューラルネットワークボコーダモデル400は、予測されたボコーダパラメータ450のそれぞれの部分をそれぞれが表す複数の固定長スピーチフレーム280V0(たとえば、5msのフレーム)を予測するように構成される。最後に、ボコーダモデル400は、ボコーダモデル400から出力された予測されたボコーダパラメータ450と、韻律モデル300から出力された韻律的特徴322とをパラメトリックボコーダ155に提供するように構成され、それによって、パラメトリックボコーダ155は、意図された韻律を有する、テキスト発話320の合成音声表現152を生成するように構成される。ボコーダパラメータ450および韻律的特徴322は、パラメトリックボコーダ155を駆動するための単一の出力ベクトルへと連結されてよい。
【0033】
一部の実装において、ボコーダモデル400を組み込むディープニューラルネットワーク200は、データストレージ180(たとえば、メモリハードウェア124)に記憶された訓練データ201の大規模な集合で訓練される。訓練データ201は、複数の参照オーディオ信号202および対応する文字起こし206を含む。各参照オーディオ信号202は、韻律表現を有する、スピーチ(たとえば、マイクロフォンによって記録された人間のスピーチ)の口で言われた発話を含んでよい。各文字起こし206は、対応する参照オーディオ信号202のテキスト表現を含んでよい。各参照オーディオ信号204および対応する文字起こし206のペアに関して、ディープニューラルネットワーク200は、対応する文字起こし206の参照の言語的規定402Rと、対応する参照オーディオ信号202の対応する韻律を表す参照の韻律的特徴322Rとを取得する。その後、ディープニューラルネットワーク200は、参照の言語的規定402Rおよび参照の韻律的特徴322Rから、追加的なボコーダパラメータ450を、各フレームのMCEP(c[1~n番目])、無周期性成分、および発声成分を提供する固定長の予測されたスピーチフレームのシーケンスとして生成するためにボコーダモデル400を訓練する。各フレーム(たとえば、スピーチ単位)の発声成分は、対応するフレームが有声であるのかまたは無声であるのかを示してよい。ボコーダパラメータ450のグラウンドトゥルース(ground-truth)値が、固定長の予測されたスピーチフレームのシーケンスとして、参照オーディオ信号202からサンプリングされてよい。一部の例において、ピッチ、エネルギー、および音素の継続時間の参照の韻律的特徴322Rは、対応する参照オーディオ信号202からサンプリングされる。その他の例において、参照の韻律的特徴322Rは、参照の言語的規定402Rおよび対応する文字起こし206を入力として受け取り、意図された韻律を表す発話埋め込み204を使用する完全に訓練された韻律モデル300によって予測された韻律的特徴322に対応する。一部の実装(図示せず)において、韻律モデル300およびボコーダモデル400は、訓練データ201で共同で訓練される。ここで、韻律モデル300は、対応する参照オーディオ信号202の韻律をそれぞれが表す発話埋め込み204を符号化し、参照の言語的規定402Rを条件として各発話埋め込み204を復号して韻律的特徴322を予測するように訓練されてよい。これらの実装において、共同訓練中に韻律モデル300によって予測された韻律的特徴322は、追加的なボコーダパラメータ450Rを予測するためのボコーダモデル400への訓練入力として参照の言語的規定402Rと一緒に供給される参照の韻律的特徴322Rとして働く。
【0034】
示された例において、コンピューティングシステム120は、訓練された韻律およびボコーダモデル300、400をデータストレージ180に記憶する。ユーザデバイス110が、データストレージ180から訓練された韻律およびボコーダモデル300、400を取得してよく、またはコンピューティングシステム120が、モデル300、400のいずれか一方もしくは両方を訓練および/もしくは再訓練した直後にモデル300、400をユーザデバイス110にプッシュしてよい。ユーザデバイス110上で実行されるTTSシステム150は、入力として、韻律的特徴322および残りのボコーダパラメータ450を受け取り、出力として、意図された韻律を有する、テキスト発話320に関する合成音声表現152を生成するように構成されたパラメトリックボコーダ155を採用してよい。
【0035】
テキスト発話320の意図された韻律を伝える韻律的特徴322を予測するとき、韻律モデル300は、意図された韻律を表す、テキスト発話320のための発話埋め込み204を選択してよい。
図3Aおよび
図3Bを参照して下でより詳細に説明されるように、韻律モデル300は、選択された発話埋め込み204を使用して、テキスト発話320に関する韻律表現322を予測してよい。
【0036】
図2は、韻律モデル300(すなわち、クロックワーク階層変分自己符号化器(CHiVE)または単に「自己符号化器」)およびボコーダモデル400の各々が組み込んでよい、合成されるテキスト発話320を表すための階層的言語構造(たとえば、
図1のディープニューラルネットワーク)200を示す。韻律モデル300は、意図された/選択された韻律を有する合成された音声152を生成するために所与の入力テキストからのいかなる固有のマッピングまたはその他の言語的規定にも依存せずに、所与の入力テキストの各音節に関して、音節の継続時間(および/または音節内の各音素の継続時間)ならびに音節のピッチ(F0)およびエネルギー(C0)輪郭を共同で予測するための韻律の制御可能なモデルを提供するために階層的言語構造200を組み込む。韻律モデル300に関して、階層的言語構造200は、所与の入力テキストの意図された韻律を表す固定長発話埋め込み204を複数の固定長の予測されたフレーム280に復号する(たとえば、ピッチ(F0)、エネルギー(C0)を予測する)ように構成される。ボコーダモデル400に関して、階層的言語構造200は、テキスト発話320の言語的規定402と、入力テキストの意図された韻律を表す韻律的特徴322として韻律モデル300から出力された複数の固定長の予測されたフレーム280F0、280C0とから複数の固定長スピーチフレーム280、280Vを予測するよう構成される。各固定長スピーチフレーム280Vは、ボコーダモデル400によって予測された各スピーチ入力(たとえば、各フレーム)のMCEP(c[1~n番目])、無周期性成分、および発声成分の残りのボコーダパラメータ450のそれぞれの部分を含んでよい。
【0037】
階層的言語構造200は、テキスト発話322を、文250、単語240、音節230、音素220、および固定長フレーム280の階層的レベルとして表す。より詳細には、積み重ねられた階層レベルの各々が、階層的な入力データの長さに合わせて可変式にクロックされる長期短期記憶(LSTM)処理セルを含む。たとえば、音節レベル230は、単語レベル240より速く、音素レベル220より遅くクロックする。各レベルの長方形のブロックは、それぞれの単語、音節、音素、またはフレームのためのLSTM処理セルに対応する。有利なことに、階層的言語構造200は、単語レベル240のLSTM処理セルに最後の100単語にわたるメモリを与え、音節レベル230のLSTMセルに最後の100音節にわたるメモリを与え、音素レベル220のLSTMセルに最後の100音素にわたるメモリを与え、固定長ピッチおよび/またはエネルギーフレーム280のLSTMセルに最後の100固定長フレーム280にわたるメモリを与える。固定長フレーム280がそれぞれ5ミリ秒の継続時間(たとえば、フレームレート)を含むとき、対応するLSTM処理セルは、最後の500ミリ秒(たとえば、1/2秒)にわたるメモリを提供する。
【0038】
示された例において、階層的言語構造200は、テキスト発話322を、単語レベル240の3つの単語240A~240Cのシーケンス、音節レベル230の5つの音節230Aa~230Cbのシーケンス、および音素レベル220の9つの音素220Aa1~220Cb2のシーケンスとして表して、フレームレベル280の予測された固定長フレーム280のシーケンスを生成する。一部の実装において、階層的言語構造200を組み込む韻律モデル300および/またはボコーダモデル400は、テキスト発話320の言語的規定402に関する言語的特徴アラインメント活性化221、231、241を受け取る。たとえば、処理が行われる前に、アンロールブロードキャスタ(unroll broadcaster)270が、言語的特徴アラインメント活性化221、231、241を、韻律モデル300および/またはボコーダモデル400への入力として提供してよい。簡単にするために、韻律モデル300およびボコーダモデル400の各々が、言語的特徴アラインメント活性化221、231、241を受け取る。しかし、モデル300、400のうちの1つだけが、アラインメント活性化221、231、241を受け取ってもよい。
【0039】
一部の例において、アンロールブロードキャスタ270は、階層的言語構造200の単語レベル240への単語レベルアラインメント活性化241、階層的言語構造200の音節レベル230への音節レベルアラインメント活性化231、および階層的言語構造200の音素レベル220への音素レベルアラインメント活性化221をブロードキャストする。各単語レベルアラインメント活性化241は、各単語240の活性化245を、単語240の各音節230の音節レベルの言語的特徴236とアラインメントする。各音節レベルアラインメント活性化231は、各音節230の活性化235を、音節230の各音素220の音素レベルの言語的特徴222とアラインメントする。これらの例において、各単語240の活性化245は、対応する単語240の単語レベルの言語的特徴242および文レベルの言語的特徴252に基づく。
【0040】
一部の実装において、モデル300、400は、単一のパスで、すなわち、単一の時系列のバッチとして、それぞれ階層的言語構造200の可変レートの積み重ねられた階層レベルの受け取られた言語的特徴アラインメント活性化221、231、241を使用する。ここで、アンロールブロードキャスタ270は、階層的言語構造200の層/レベル間で対応する活性化225、235、245を正しくブロードキャストするために、ループ開始インデックスとループ終了インデックスとの間の差分をギャザーインデックス(gather index)のシーケンスに変換することによってアラインメント活性化221、231、241をブロードキャストしてよい。これらの実装において、階層的言語構造の単語レベル240は、単一の第1のパスで、テキスト発話322の各単語240に関する活性化245を生成し、階層的言語構造の音節レベル230は、第1のパスの後の単一の第2のパスで、テキスト発話の各音節に関する活性化を生成し、階層的言語構造の音素レベル220は、第2のパスの後の単一の第3のパスで、テキスト発話の各音素に関する活性化を生成し、階層的言語構造のフレームレベル280は、第3のパスの後の単一の第4のパスで、各固定長フレームに関する活性化を生成する。韻律モデルに関しては、フレームレベル280が、固定長ピッチフレーム280F0および固定長エネルギーフレーム280C0に関する活性化を単一のパスで並列に生成してよい。これらの実装は、階層内の次のレベルに移る前に、テキスト発話320全体を表す階層的言語構造200の各層240、230、220、280を単一のパスでアンロールする(unroll)ことを可能にする4パス推論に関連する。一方、2パス推論は、可変数の音素をさらに生成し得る、各単語に関する可変数の音節を生成することによって、単語レベル、音節レベル、および音素レベル240、230、220を第1のパスに分割する。それから、第2のパスが、単語に関する出力フレーム280を生成するためのフレームレベルを形成するために音素の出力に対して実行される。この2パスが、文に関連するテキスト発話320内の各単語に関して繰り返される。2パス推論のこの分割は、処理およびメモリリソースが制約されないサーバ(たとえば、
図1のコンピューティングシステム120)上で韻律モデル300およびボコーダモデル400を実行するための速度を向上させるが、4パス推論は、オンデバイス(たとえば、
図1のユーザデバイス110)で韻律モデル300およびボコーダモデル400を実行するための処理速度を最適化する。つまり、オンデバイスで韻律およびボコーダモデル300、400を実装するとき、2パス推論は、4パス推論よりも30パーセント(30%)高速であることが示されている。
【0041】
図3Aおよび
図3Bを参照すると、一部の実装において、自己符号化器(すなわち、韻律モデル)300は、階層的言語構造200を使用して、所与のテキスト発話320の各音節230に関して音素220の継続時間ならびにピッチおよび/またはエネルギー輪郭を共同で予測することによって、推論中に所与のテキスト発話320に関する韻律表現322を予測する。テキスト発話320は、テキスト発話の適切な韻律を示すいかなる文脈、意味情報、または語用論的情報も提供しないので、自己符号化器300は、テキスト発話320の意図された韻律を表す潜在変数として発話埋め込み206を選択する。
【0042】
発話埋め込み204は、発話埋め込みデータストレージ180(
図1)から選択されてよい。ストレージ180内の各発話埋め込み204は、訓練中に対応する可変長参照オーディオ信号202(
図1)から符号化されてよい。特に、自己符号化器300は、訓練中に可変長参照オーディオ信号202の韻律を固定長発話埋め込み204へと圧縮し、推論中に使用するために各発話埋め込み204を対応する参照オーディオ信号202の文字起こし206と一緒にデータストレージ180に記憶するエンコーダ部分(図示せず)を含んでよい。示された例において、自己符号化器300は、まず、テキスト発話320によく一致する文字起こし206を有する発話埋め込み204を見つけ出し、それから、所与テキスト発話320に関する韻律表現322(
図1)を予測するために発話埋め込み204のうちの1つを選択してよい。一部の例において、固定長発話埋め込み204は、目標の韻律に関する特定の意味論および語用論を表す可能性が高い埋め込み204の潜在空間内の特定の点を選ぶことによって選択される。その他の例においては、潜在空間が、テキスト発話320の意図された韻律を表すためのランダムな発話埋め込み204を選択するためにサンプリングされる。さらに別の例においては、自己符号化器300が、テキスト発話320に関連する言語的規定402に関する最も可能性の高い韻律を表すために、よく一致する文字起こし206を有する発話埋め込み204の平均を選択することによって、潜在空間を多次元単位ガウス分布(multidimensional unit Gaussian)としてモデリングする。訓練データの韻律の変化が適度に中立的である場合、発話埋め込み204の平均を選択する最後の例は妥当な選択である。いくつかの追加的な例においては、ユーザデバイス110のユーザが、ユーザデバイス110上で実行可能なインターフェースを使用して、特定の韻律の領域(たとえば、ニュースリーダ、講演者、スポーツ放送局)などの意図された韻律を選択する。ユーザによって選択された意図された韻律に基づいて、自己符号化器300は、最も適した発話埋め込み204を選択してよい。
【0043】
図3Aは、階層的言語構造200の単語レベル240で表された3つの単語240A、240B、240Cを有するテキスト発話320を示す。第1の単語240Aは、音節230Aa、230Abを含み、第2の単語240Bは、1つの音節230Baを含み、第3の単語240Cは、音節230Ca、230Cbを含む。したがって、階層的言語構造200の音節レベル230は、テキスト発話320の5つの音節230Aa~230Cbのシーケンスを含む。LTSM処理セルの音節レベル230において、自己符号化器300は、以下の入力、すなわち、固定長発話埋め込み204、テキスト発話320に関連する文レベルの言語的特徴252、音節230を含む単語240に関連する単語レベルの言語的特徴242(これはBERTモデル270によって生成されるワードピース埋め込みに対応する場合がある)、および音節230の音節レベルの言語的特徴236から、各音節230に関して対応する音節埋め込み(たとえば、音節レベルの活性化235) 235Aa、235Ab、235Ba、235Ca、235Cbを生成/出力するように構成される。文レベルの言語的特徴252は、限定なしに、テキスト発話320が質問、質問に対する答え、フレーズ、文、話者の性別などであるか否かを含んでよい。単語レベルの言語的特徴242は、限定なしに、単語が名詞であるのか、形容詞であるのか、動詞であるのか、またはその他の品詞であるのかを含んでよい。音節レベルの言語的特徴236は、限定なしに、音節230が強勢を置かれているのかまたは強勢を置かれていないのかを含んでよい。
【0044】
示された例において、音節レベル230の各音節230Aa、230Ab、230Ba、230Ca、230Cbは、個々の固定長の予測されたピッチ(F0)フレーム280、280F0(
図3A)を復号するために、および個々の固定長の予測されたエネルギー(C0)フレーム280、280C0(
図3B)を並列に復号するために、より高速でクロックする音素レベル220に、対応する音節埋め込み235Aa、235Ab、235Ba、235Ca、235Cbを出力する対応するLTSM処理セルに関連付けられてよい。
図3Aは、音節レベル230の各音節が、音節230の継続時間(タイミングおよび休止)ならびにピッチ輪郭を示す複数の固定長の予測されたピッチ(F0)フレーム280F0を含むことを示す。ここで、継続時間およびピッチ輪郭は、音節230の韻律表現に対応する。
図3Bは、音素レベル220の各音素が、音素の継続時間およびエネルギー輪郭を示す複数の固定長の予測されたエネルギー(C0)フレーム280C0を含むことを示す。
【0045】
音節レベル230の第1の音節230Aa(すなわち、LTSM処理セルAa)は、対応する音節埋め込み235Aaを生成するための入力として、固定長発話埋め込み204、テキスト発話320に関連する文レベルの言語的特徴252、第1の単語240Aに関連する単語レベルの言語的特徴242A、および音節236Aaの音節レベルの言語的特徴236Aaを受け取る。音節レベル230の第2の音節230Abは、対応する音節埋め込み235Abを生成するための入力として、固定長発話埋め込み204、テキスト発話320に関連する文レベルの言語的特徴252、第1の単語240Aに関連する単語レベルの言語的特徴242A、および音節230Abの対応する音節レベルの言語的特徴236(図示せず)を受け取る。例は、第1の音節230Aaに関連する音節レベルの言語的特徴232のみを示すが、音節レベル230のそれぞれのその他の音節230Ab~230Cbに関連する対応する音節レベルの言語的特徴232は、明瞭にするために
図3Aおよび
図3Bの図から省略されているに過ぎない。
【0046】
簡単にするために、音節230Abのための処理ブロックに入力される対応する音節レベルの言語的特徴236は、示されていない。第2の音節230Abに関連するLTSM処理セル(たとえば、矩形Ab)は、前の第1の音節230Aaの状態も受け取る。音節レベル230の音節230Ba、230Ca、230Cbの残りのシーケンスは、それぞれ、同様に、対応する音節埋め込み235Ba、235Ca、235Cbを生成する。簡単にするために、音節230Ba、230Ca、230Cbの各々のための処理ブロックに入力される対応する音節レベルの言語的特徴236は、示されていない。さらに、音節レベル230の各LTSM処理セルは、音節レベル230の直前のLTSM処理セルの状態を受け取る。
【0047】
図3Aを参照すると、階層的言語構造200の音素レベル220は、対応する予測された音素の継続時間234にそれぞれ関連する9つの音素220Aa1~220Cb2のシーケンスを含む。さらに、自己符号化器300は、各音素220Aa1~220Cb2に関連する音素レベルの言語的特徴222を、対応する予測された音素の継続時間234を予測するため、および音素を含む音節の対応するピッチ(f0)輪郭を予測するために、対応する音節埋め込み235とともに符号化する。音素レベルの言語的特徴222は、限定なしに、対応する音素220の音のアイデンティティ、および/または音素を含む音節内の対応する音素220の位置を含んでよい。例は、第1の音素220Aa1に関連する音素レベルの言語的特徴222のみを示すが、音素レベル220のその他の音素220Aa2~220Cb2に関連する音素レベルの言語的特徴222は、明瞭にするために
図3Aおよび
図3Bの図から省略されているに過ぎない。
【0048】
第1の音節230Aaは、音素220Aa1、220Aa2を含み、音素220Aa1、220Aa2の予測された音素の継続時間234の和に等しい予測された音節の継続時間を含む。ここで、第1の音節230Aaの予測された音節の継続時間は、第1の音節230Aaに関して復号する固定長の予測されたピッチ(F0)フレーム280F0の数を決定する。示された例において、自己符号化器300は、音素220Aa1、220Aa2の予測された音素の継続時間234の和に基づいて、第1の音節230Aaに関して合計7つの固定長の予測されたピッチ(F0)フレーム280F0を復号する。したがって、より高速でクロックする音節層230が、第1の音節230Aaに含まれる各音素220Aa1、220Aa2への入力として第1の音節埋め込み235Aaを分配する。タイミング信号が、第1の音節埋め込み235Aaに付加されてもよい。また、音節レベル230は、第1の音節230Aaの状態を第2の音節230Abに渡す。
【0049】
第2の音節230Abは、単一の音素220Ab1を含み、したがって、音素220Ab1の予測された音素の継続時間234に等しい予測された音節の継続時間を含む。第2の音節230Abの予測された音節の継続時間に基づいて、自己符号化器300は、第2の音節230Abに関して合計4つの固定長の予測されたピッチ(F0)フレーム280F0を復号する。したがって、より高速でクロックする音節層230が、音素220Ab1への入力として第2の音節埋め込み235Abを分配する。タイミング信号が、第2の音節埋め込み235Abに付加されてもよい。また、音節レベル230は、第2の音節230Abの状態を第3の音節230Baに渡す。
【0050】
第3の音節230Baは、音素220Ba1、220Ba2、220Ba3を含み、音素220Ba1、220Ba2、220Ba3の予測された音素の継続時間234の和に等しい予測された音節の継続時間を含む。示された例において、自己符号化器300は、音素220Ba1、220Ba2、220Ba3の予測された音素の継続時間234の和に基づいて、第3の音節230Baに関して合計11個の固定長の予測されたピッチ(F0)フレーム280F0を復号する。したがって、より高速でクロックする音節層230が、第3の音節230Baに含まれる各音素220Ba1、220Ba2、220Ba3への入力として第3の音節埋め込み235Baを分配する。タイミング信号が、第3の音節埋め込み235Baに付加されてもよい。また、音節レベル230は、第3の音節230Baの状態を第4の音節230Caに渡す。
【0051】
第4の音節230Caは、単一の音素220Ca1を含み、したがって、音素220Ca1の予測された音素の継続時間234に等しい予測された音節の継続時間を含む。第4の音節230Caの予測された音節の継続時間に基づいて、自己符号化器300は、第4の音節230Caに関して合計3つの固定長の予測されたピッチ(F0)フレーム280F0を復号する。したがって、より高速でクロックする音節層230が、音素220Ca1への入力として第4の音節埋め込み235Caを分配する。タイミング信号が、第4の音節埋め込み235Caに付加されてもよい。また、音節レベル230は、第4の音節230Caの状態を第5の音節230Cbに渡す。
【0052】
最後に、第5の音節230Cbは、音素220Cb1、220Cb2を含み、音素220Cb1、220Cb2の予測された音素の継続時間234の和に等しい予測された音節の継続時間を含む。示された例において、自己符号化器300は、音素220Cb1、220Cb2の予測された音素の継続時間234の和に基づいて、第5の音節230Cbに関して合計6つの固定長の予測されたピッチ(F0)フレーム280F0を復号する。したがって、より高速でクロックする音節層230が、第5の音節230Cbに含まれる各音素220Cb1、220Cb2への入力として第5の音節埋め込み235Cbを分配する。タイミング信号が、第5の音節埋め込み235Cbに付加されてもよい。
【0053】
引き続き
図3Aを参照すると、自己符号化器300は、音節レベル230から出力された残りの音節埋め込み235Ab、235Ba、235Ca、235Cbの各々を、それぞれの対応する音節230Ab、230Ba、230Ca、230Cbに関する個々の固定長の予測されたピッチ(F0)フレーム280に同様に復号する。たとえば、第2の音節埋め込み235Abは、音素レベル220の出力において、第2の音節埋め込み235Abおよび音素220Ab1に関連する対応する音素レベルの言語的特徴222の符号化とさらに組み合わされ、一方、第3の音節埋め込み235Baは、音素レベル220の出力において、第3の音節埋め込み235Baおよび音素220Ba1、220Ba2、220Ba3の各々に関連する対応する音素レベルの言語的特徴222の符号化とさらに組み合わされる。さらに、第4の音節埋め込み235Caは、音素レベル220の出力において、第4の音節埋め込み235Caおよび音素220Ca1に関連する対応する音素レベルの言語的特徴222の符号化とさらに組み合わされ、一方、第5の音節埋め込み235Cbは、音素レベル220の出力において、第5の音節埋め込み235Cbおよび音素220Cb1、220Cb2の各々に関連する対応する音素レベルの言語的特徴222の符号化とさらに組み合わされる。自己符号化器300によって生成された固定長の予測されたピッチ(F0)フレーム280F0はフレームレベルのLSTMを含むが、その他の構成は、対応する音節のあらゆるフレームのピッチ(F0)が1つのパスで予測されるようにピッチ(F0)フレーム280F0のフレームレベルのLSTMをフィードフォワード層(feed-forward layer)によって置き換えてよい。
【0054】
ここで
図3Bを参照すると、自己符号化器300は、各音素220Aa1~220Cb2に関連する音素レベルの言語的特徴222を、各音素220の対応するエネルギー(C0)輪郭を予測するために、対応する音節埋め込み235とともに符号化するようにさらに構成される。音素レベル220の音素220Aa2~220Cb2に関連する音素レベルの言語的特徴222は、明瞭にするために
図3Bの図から省略されているに過ぎない。自己符号化器300は、対応する予測された音素の継続時間234に基づいて、各音素220に関して復号する固定長の予測されたエネルギー(C0)フレーム280、280C0の数を決定する。たとえば、自己符号化器300は、第1の音素220Aa1に関して4つの予測されたエネルギー(C0)フレーム280C0、第2の音素220Aa2に関して3つの予測されたエネルギー(C0)フレーム280C0、第3の音素220Ab1に関して4つの予測されたエネルギー(C0)フレーム280C0、第4の音素220Ba1に関して2つの予測されたエネルギー(C0)フレーム280C0、第5の音素220Ba2に関して5つの予測されたエネルギー(C0)フレーム280C0、第6の音素220Ba3に関して4つの予測されたエネルギー(C0)フレーム280C0、第7の音素220Ca1に関して3つの予測されたエネルギー(C0)フレーム280C0、第8の音素220Cb1に関して4つの予測されたエネルギー(C0)フレーム280C0、第9の音素220Cb2に関して2つの予測されたエネルギー(C0)フレーム280C0を復号/生成する。したがって、予測された音素の継続時間234と同様に、音素レベル220の各音素の予測されたエネルギー輪郭は、音素を含むより低速でクロックする音節レベル230の対応する音節から入力された音節埋め込み235と、音素に関連する言語的特徴222との間の符号化に基づく。
【0055】
図4は、
図1のTTSシステム150に組み込まれてよい例示的なニューラルネットワークボコーダモデル400を示す。ボコーダモデル400は、入力として、テキスト発話320のための意図された韻律モデルを表す韻律モデル300から出力された韻律的特徴322と、テキスト発話320の言語的規定402とを受け取る。韻律モデルから出力された韻律的特徴322は、テキスト発話内の各音素の継続時間、ピッチ輪郭f0_log、エネルギー輪郭c0、および継続時間を含んでよい。ピッチ輪郭f0_logは、
図3Aの固定長の予測されたピッチフレーム280F0のシーケンスによって表されてよく、エネルギー輪郭c0は、
図3Bの固定長の予測されたエネルギーフレーム280C0のシーケンスによって表されてよい。言語的規定402は、テキスト発話320の文レベルの言語的特徴252、テキスト発話320の各単語240の単語レベルの言語的特徴242、テキスト発話320の各音節230の音節レベルの言語的特徴236、およびテキスト発話320の各音素220の音素レベルの言語的特徴222を含む。示された例においては、全結合層410が、言語的規定402を受け取り、ギャザラ(gatherer)412に入力される全結合出力を生成する。言語的規定402は、全結合層410への入力の前に正規化されてよい。同時に、アンロールブロードキャスタ270は、韻律モデル300から出力された韻律的特徴322を受け取り、言語的規定402に関する言語的特徴アラインメント活性化221、231、241を生成し、ギャザラ412に提供する。ギャザラにおいては、単語レベルアラインメント活性化241が、それぞれ、各単語240(
図2)の活性化245(
図2)を、単語240の各音節230(
図2)の音節レベルの言語的特徴236(
図2)とアラインメントし、音節レベルアラインメント活性化231が、それぞれ、各音節の活性化235(
図2)を、音節の各音素220(
図2)の音素レベルの言語的特徴222(
図2)とアラインメントし、音素レベルアラインメント活性化221が、それぞれ、各音素220の活性化225(
図2)を、音素220の対応する固定長フレーム280(
図2)とアラインメントする。
【0056】
言語的規定402に関する言語的特徴アラインメント活性化221、231、241を伝えるギャザラ412からの出力は、韻律モデルから出力された韻律的特徴322との連結のために連結器414に入力される。韻律的特徴322は、連結器414におけるギャザラ412からの出力との連結の前に正規化されてよい。連結器414からの連結された出力は、ボコーダモデル400の第1のLSTM層420に入力され、第1のLSTM層420の出力は、ボコーダモデル400の第2のLSTM層430に入力される。その後、第2のLSTM層430の出力は、ボコーダモデル400のリカレントニューラルネットワーク(RNN)層440に入力され、スプリッタ445が、RNN層440の出力を予測された追加的なボコーダパラメータ450へと分割する。
図1を参照して上で説明されたように、スプリッタ445によって分割された追加的なボコーダパラメータ450は、各スピーチ単位、たとえば、固定長スピーチフレーム280V0のMCEP(c[1~n番目])、無周期性成分、および発声成分を含む。ニューラルネットワークボコーダモデル400は、予測されたボコーダパラメータ450のそれぞれの部分をそれぞれが表す複数の固定長スピーチフレーム280V0(たとえば、5msのフレーム)を予測するように構成される。一緒に、韻律モデル300によって予測された韻律的特徴322および追加的なボコーダパラメータ450は、意図された韻律を持つテキスト発話320の合成音声表現152を生成するためにパラメトリックボコーダ155を駆動するために必要とされるすべてのボコーダパラメータを提供する。したがって、追加的なボコーダパラメータ450を分割した後、ボコーダモデル400は、ピッチf0およびエネルギーc0の韻律的特徴322を適切なスピーチ単位に挿入して、連結器455が韻律的特徴322および追加的なボコーダパラメータ450を、パラメトリックボコーダ155を駆動するための複数の固定長スピーチフレーム280V0の各々に関する最終的なボコーダベクトル460へと連結することを可能にする。連結の前に、追加的なボコーダパラメータ450は、非正規化されてよい。
【0057】
図5は、ボコーダモデル400を訓練するための例示的なプロセス500である。プロセス500が、
図1および
図5を参照して説明され得る。例として、ボコーダモデル400は、入力として、参照の韻律的特徴322R(たとえば、ピッチF0、エネルギーC0、および音素の継続時間)ならびに参照の言語的規定402Rを使用して、1つの入力テキスト(たとえば、参照オーディオ信号202の参照の文字起こし206)に関する追加的なボコーダパラメータ450(たとえば、MCEP(c[1~n番目])、無周期性成分、および発声成分)を予測することを学習するように訓練されてよい。ボコーダパラメータ450は、文字起こし206のそれぞれの部分に関するMCEP、無周期性成分、および声成分をそれぞれが提供する固定長の予測されたスピーチフレーム280V0のシーケンスとして表されてよい。
【0058】
プロセス500は、ボコーダモデル400によって出力された予測された追加的なボコーダパラメータ450と、文字起こし206に関連する参照オーディオ信号202(たとえば、発話)からサンプリングされた参照スピーチフレーム502との間の勾配/損失520を生成するように構成された損失モジュール510を実行する。参照オーディオ信号202からサンプリングされた参照スピーチフレーム502は、参照オーディオ信号のそれぞれの部分からサンプリングされた参照(たとえば、グラウンドトゥルース)ボコーダパラメータをそれぞれが提供する固定長の参照スピーチフレーム(たとえば、5ms)を含んでよい。したがって、損失モジュール510は、ボコーダモデル400によって生成された(予測された追加的なボコーダパラメータ450を表す)固定長の予測されたスピーチフレーム280V0のシーケンスと、対応する参照オーディオ信号202からサンプリングされた(参照/グラウンドトゥルースボコーダパラメータ450を表す)固定長の参照スピーチフレーム502のシーケンスとの間の勾配/損失を生成してよい。ここで、勾配/損失520は、ボコーダモデル400が完全に訓練されるまで、パラメータを更新するためにボコーダモデル400中を逆伝播してよい。
【0059】
図6は、テキスト発話320に関する追加的なボコーダパラメータ450を予測するために韻律的特徴322を使用する方法600の動作の例示的な配列の流れ図である。追加的なボコーダパラメータ450および韻律的特徴322は、韻律的特徴322によって伝えられる意図された韻律を有する、テキスト発話320の合成音声表現152を生成するためにパラメトリックボコーダ155を駆動するためのすべての必要とされるボコーダパラメータを構成する。方法600が、
図1~
図4を参照して説明され得る。ユーザデバイス110上に存在するメモリハードウェア114は、ユーザデバイス110上に存在するデータ処理ハードウェア112に方法600の動作の例示的な配列を実行させる命令を記憶してよい。動作602において、方法600は、テキスト発話320を受け取ることを含む。テキスト発話320は、少なくとも1つの単語を有し、各単語は、少なくとも1つの音節を有し、各音節は、少なくとも1つの音素を有する。
【0060】
動作604において、方法600は、ボコーダモデル400への入力として、韻律モデル300から出力された韻律的特徴322、およびテキスト発話320の言語的規定402を受け取ることを含む。韻律的特徴322は、テキスト発話320の意図された韻律を表し、テキスト発話320の継続時間、ピッチ輪郭、およびエネルギー輪郭を含む。言語的規定402は、テキスト発話320の文レベルの言語的特徴252、テキスト発話320の各単語240の単語レベルの言語的特徴242、テキスト発話320の各音節230の音節レベルの言語的特徴236、およびテキスト発話320の各音素220の音素レベルの言語的特徴222を含む。
【0061】
動作606において、方法600は、ボコーダモデル400からの出力として、韻律的特徴322および言語的規定402に基づいて(追加的な)ボコーダパラメータ450を予測することを含む。動作608において、方法600は、ボコーダモデル400から出力された予測されたボコーダパラメータ450および韻律モデル300から出力された韻律的特徴322をパラメトリックボコーダ155に提供することを含む。パラメトリックボコーダ155は、意図された韻律を有するテキスト発話320の合成音声表現152を生成するように構成される。別の言い方をすれば、追加的なボコーダパラメータ450および韻律的特徴322は、合成音声表現152を生成するためにパラメトリックボコーダ155を駆動するように構成される。
図4のボコーダモデル400を参照して説明されたように、韻律モデル300から出力された韻律的特徴322、および追加的なボコーダパラメータ450は、パラメトリックボコーダ155を駆動するための各スピーチ単位(たとえば、複数の固定長スピーチフレーム280V0の各々)に関するボコーダベクトル460へと連結されてよい。
【0062】
テキストトゥスピーチ(TTS)システム150は、韻律モデル300、ボコーダモデル400、およびパラメトリックボコーダ155を組み込んでよい。TTSシステム150は、ユーザデバイス110上に、すなわち、ユーザデバイスのデータ処理ハードウェア112上で実行されることによって存在する場合がある。一部の構成において、TTSシステム150は、コンピューティングシステム(たとえば、サーバ)120上に、すなわち、データ処理ハードウェア122上で実行されることによって存在する場合がある。一部の例においては、TTSシステム150のいくつかの部分が、コンピューティングシステム120上で実行され、TTSシステム150の残りの部分が、ユーザデバイス110上で実行される。たとえば、韻律モデル300またはボコーダモデル400の少なくとも1つが、コンピューティングシステム120上で実行される場合があり、一方、パラメトリックボコーダ155が、ユーザデバイス上で実行される場合がある。
【0063】
図7は、本明細書に記載のシステムおよび方法を実装するために使用されてよい例示的なコンピューティングデバイス700の概略図である。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図される。本明細書に示される構成要素、それらの構成要素の接続および関係、ならびにそれらの構成要素の機能は、単に例示的であるように意図されており、本明細書において説明および/または特許請求される本発明の実装を限定するように意図されていない。
【0064】
コンピューティングデバイス700は、プロセッサ710、メモリ720、ストレージデバイス730、メモリ720および高速拡張ポート750に接続する高速インターフェース/コントローラ740、ならびに低速バス770およびストレージデバイス730に接続する低速インターフェース/コントローラ760を含む。構成要素710、720、730、740、750、および760の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに、または適宜その他の方法で搭載されてよい。プロセッサ710は、メモリ720内またはストレージデバイス730上に記憶された命令を含む、コンピューティングデバイス700内で実行するための命令を処理して、高速インターフェース740に結合されたディスプレイ780などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)のためのグラフィカルな情報を表示することができる。その他の実装においては、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数の種類のメモリと一緒に適宜使用されてよい。また、複数のコンピューティングデバイス700が、各デバイスが必要な動作の一部を提供するようにして(たとえば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)接続されてよい。
【0065】
メモリ720は、コンピューティングデバイス700内で情報を非一時的に記憶する。メモリ720は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ720は、コンピューティングデバイス700による使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラムの状態情報)を一時的または永続的に記憶するために使用される物理的デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能プログラマブル読み出し専用メモリ(EPROM)/電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)(たとえば、典型的にはブートプログラムなどのファームウェアのために使用される)を含むがこれらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むがこれらに限定されない。
【0066】
ストレージデバイス730は、コンピューティングデバイス700に大容量ストレージを提供することができる。一部の実装において、ストレージデバイス730は、コンピュータ可読媒体である。様々な異なる実装において、ストレージデバイス730は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成内のデバイスを含むデバイスのアレイであってよい。追加的な実装においては、コンピュータプログラム製品が、情報担体内に有形で具現化される。コンピュータプログラム製品は、実行されるときに上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ720、ストレージデバイス730、またはプロセッサ710上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0067】
高速コントローラ740は、コンピューティングデバイス700に関する帯域幅を大量に消費する動作を管理し、一方、低速コントローラ760は、帯域幅をそれほど消費しない動作を管理する。役割のそのような割り当ては、例示的であるに過ぎない。一部の実装において、高速コントローラ740は、メモリ720に、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ780に、および様々な拡張カード(図示せず)を受け入れてよい高速拡張ポート750に結合される。一部の実装において、低速コントローラ760は、ストレージデバイス730および低速拡張ポート790に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含んでよい低速拡張ポート790は、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに結合されてよく、またはたとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワークデバイスに結合されてよい。
【0068】
コンピューティングデバイス700は、図に示されるように、多くの異なる形態で実装されてよい。たとえば、コンピューティングデバイス700は、標準的なサーバ700aとして、もしくはそのようなサーバ700aのグループ内で複数回、ラップトップコンピュータ700bとして、またはラックサーバシステム700cの一部として実装されてよい。
【0069】
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはこれらの組合せで実現され得る。これらの様々な実装は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するために結合された、専用または汎用であってよい少なくとも1つのプログラミング可能なプロセッサを含むプログラミング可能なシステム上の、実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムへの実装を含み得る。
【0070】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラミング可能なプロセッサ用の機械命令を含み、高レベルの手続き型プログラミング言語および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書において使用されるとき、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械命令を機械可読信号として受け取る機械可読媒体を含む、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械可読信号」は、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0071】
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムをデータ処理ハードウェアとも呼ばれる1つまたは複数のプログラミング可能なプロセッサが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得る。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれらの両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概して、コンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完され得るか、または専用の論理回路に組み込まれ得る。
【0072】
ユーザとのインタラクションを提供するために、本開示の1つまたは複数の態様は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意で、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響、スピーチ、または触覚による入力を含む任意の形態で受け取られ得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
【0073】
いくつかの実装が、説明された。しかしながら、本開示の精神および範囲を逸脱することなく様々な変更がなされてよいことは、理解されるであろう。したがって、その他の実装は、添付の請求項の範囲内にある。
【符号の説明】
【0074】
100 システム
110 ユーザデバイス
112 データ処理ハードウェア
114 メモリハードウェア
120 コンピューティングシステム
122 データ処理ハードウェア
124 メモリハードウェア
150 テキストトゥスピーチ(TTS)システム
152 合成された音声
155 パラメトリックボコーダ
180 データストレージ
200 ディープニューラルネットワーク
201 訓練データ
202 参照オーディオ信号
204 発話埋め込み
206 文字起こし
220 音素、音素レベル
220Aa1~220Cb2 音素
221 言語的特徴アラインメント活性化、音素レベルアラインメント活性化
222 音素レベルの言語的特徴
230 音節、音節レベル
230Aa~230Cb 音節
231 言語的特徴アラインメント活性化、音節レベルアラインメント活性化
232 音節レベルの言語的特徴
234 予測された音素の継続時間
235 各音節の活性化
235Aa~235Cb 音節埋め込み
236 音節レベルの言語的特徴
236Aa 音節レベルの言語的特徴
240 単語、単語レベル
240A 第1の単語
240B 第2の単語
240C 第3の単語
241 言語的特徴アラインメント活性化、単語レベルアラインメント活性化
242 単語レベルの言語的特徴
242A 単語レベルの言語的特徴
245 各単語の活性化
250 文
252 文レベルの言語的特徴
270 アンロールブロードキャスタ、BERTモデル
280 固定長フレーム、固定長の予測されたフレーム、固定長スピーチフレーム、固定長ピッチフレーム、固定長の予測されたピッチ(F0)フレーム、固定長エネルギーフレーム、固定長の予測されたエネルギー(C0)フレーム、フレームレベル、出力フレーム
280C0 固定長の予測されたフレーム、固定長エネルギーフレーム、固定長の予測されたエネルギー(C0)フレーム
280F0 固定長の予測されたフレーム、固定長ピッチフレーム、固定長の予測されたピッチ(F0)フレーム
280V 固定長スピーチフレーム
280V0 固定長スピーチフレーム、固定長の予測されたスピーチフレーム
300 韻律モデル、自己符号化器
320 テキスト発話
322 ボコーダパラメータ、韻律表現、韻律的特徴、テキスト発話
322R 参照の韻律的特徴
400 ボコーダモデル
402 言語的規定
402R 参照の言語的規定
410 全結合層
412 ギャザラ
414 連結器
420 第1のLSTM層
430 第2のLSTM層
440 リカレントニューラルネットワーク(RNN)層
445 スプリッタ
450 ボコーダパラメータ
455 連結器
500 プロセス
502 参照スピーチフレーム、予測された固定長スピーチフレーム、固定長の参照スピーチフレーム
510 損失モジュール
520 勾配/損失
600 方法
700 コンピューティングデバイス
700a サーバ
700b ラップトップコンピュータ
700c ラックサーバシステム
710 プロセッサ
720 メモリ、非一時的メモリ
730 ストレージデバイス
740 高速インターフェース/コントローラ
750 高速拡張ポート
760 低速インターフェース/コントローラ
770 低速バス
780 ディスプレイ
790 低速拡張ポート