IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7554926並列タコトロン:非自己回帰的で制御可能なTTS
<>
  • 特許-並列タコトロン:非自己回帰的で制御可能なTTS 図1
  • 特許-並列タコトロン:非自己回帰的で制御可能なTTS 図2
  • 特許-並列タコトロン:非自己回帰的で制御可能なTTS 図3
  • 特許-並列タコトロン:非自己回帰的で制御可能なTTS 図4
  • 特許-並列タコトロン:非自己回帰的で制御可能なTTS 図5
  • 特許-並列タコトロン:非自己回帰的で制御可能なTTS 図6
  • 特許-並列タコトロン:非自己回帰的で制御可能なTTS 図7
  • 特許-並列タコトロン:非自己回帰的で制御可能なTTS 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-11
(45)【発行日】2024-09-20
(54)【発明の名称】並列タコトロン:非自己回帰的で制御可能なTTS
(51)【国際特許分類】
   G10L 13/10 20130101AFI20240912BHJP
   G10L 13/06 20130101ALI20240912BHJP
   G10L 25/30 20130101ALI20240912BHJP
【FI】
G10L13/10 113Z
G10L13/06 140
G10L13/10 111F
G10L25/30
【請求項の数】 26
(21)【出願番号】P 2023524427
(86)(22)【出願日】2021-05-05
(65)【公表番号】
(43)【公表日】2023-11-09
(86)【国際出願番号】 US2021030804
(87)【国際公開番号】W WO2022086590
(87)【国際公開日】2022-04-28
【審査請求日】2023-06-12
(31)【優先権主張番号】63/094,834
(32)【優先日】2020-10-21
(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)【発明者】
【氏名】ビュンハ・チュン
(72)【発明者】
【氏名】ユ・ジャン
(72)【発明者】
【氏名】イェ・ジア
(72)【発明者】
【氏名】ロン・ジェイ・ウェイス
(72)【発明者】
【氏名】ヨンフイ・ウ
【審査官】土井 悠生
(56)【参考文献】
【文献】米国特許出願公開第2020/0074985(US,A1)
【文献】特開2013-171196(JP,A)
【文献】米国特許出願公開第2019/0251952(US,A1)
【文献】松原 圭亮,他6名,リアルタイムニューラルボコーダにおける学習データ量の影響の調査,日本音響学会 2020年 春季研究発表会講演論文集,日本,日本音響学会,2020年04月01日,pp.1045-1048
【文献】GUANGZHI Sun, et al,GENERATING DIVERSE AND NATURAL TEXT-TO-SPEECH SAMPLES USING A QUANTIZED FINE-GRAINED VAE AND AUTOREGRESSIVE PROSODY PRIOR,arxiv.org,2020年02月06日,[online],<URL: https://arxiv.org/pdf/2002.03788>, <DOI: 10.48550/arXiv.1712.05884>, [検索日:2024年5月17日]
【文献】RJ Skerry-Ryan, et al,Towards End-to-End Prosody Transfer for Expressive Speech Synthesis with Tacotron,arXiv.org,2018年03月24日,[online],<URL: https://www.arxiv.org/pdf/1803.09047>, <DOI: 10.48550/arXiv.1803.09047>, [検索日:2024年5月17日]
【文献】JONATHAN Shen, et al,NATURAL TTS SYNTHESIS BY CONDITIONING WAVENET ON MEL SPECTROGRAM PREDICTIONS,arXiv.org,2018年02月16日,[online],<URL: https://www./1712.05884>, <DOI: 10.48550/arXiv.1712.05884>, [検索日:2024年5月17日]
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10
G10L 19/00-99/00
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア上(122)で実行されると、前記データ処理ハードウェア(122)に非自己回帰テキスト読上げ(TTS)モデル(300)をトレーニングするための動作を実施させるコンピュータ実装方法(600)であって、前記動作が、
基準オーディオ信号(201)および対応する入力テキストシーケンス(206)を含むトレーニングデータを受信するステップであって、前記基準オーディオ信号(201)が話された発話を備え、前記入力テキストシーケンス(206)が前記基準オーディオ信号(201)のトランスクリプトに対応する、ステップと、
残差エンコーダ(180)を使用して、前記基準オーディオ信号(201)を変分埋め込み(220)にエンコードするステップであって、前記変分埋め込み(220)が、前記基準オーディオ信号(201)からスタイル/韻律情報を解きほぐす、ステップと、
テキストエンコーダ(210)を使用して、前記入力テキストシーケンス(206)をエンコードされたテキストシーケンス(219)にエンコードするステップと、
持続時間デコーダ(230)を使用して、前記エンコードされたテキストシーケンス(219)および前記変分埋め込み(220)に基づいて、前記入力テキストシーケンス(206)における音素ごとの音素持続時間(240)を予測するステップと、
前記予測された音素持続時間(240)と、前記入力テキストシーケンス(206)における音素ごとに前記基準オーディオ信号(201)からサンプリングされた基準音素持続時間(245)とに基づいて、音素持続時間損失(244)を決定するステップと、
セルフアテンションブロック(252)のスタックを備えるスペクトログラムデコーダ(250)からの出力として、前記持続時間デコーダ(230)の出力に基づいて、前記入力テキストシーケンス(206)に対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンス(302)を生成するステップと、
前記1つまたは複数の予測されたメル周波数スペクトログラムシーケンス(302)と、前記基準オーディオ信号(201)からサンプリングされた基準メル周波数スペクトログラムシーケンス(202)とに基づいて、最終スペクトログラム損失(280)を決定するステップと、
前記最終スペクトログラム損失(280)と、前記入力テキストシーケンス(206)における音素ごとに決定された前記対応する音素持続時間損失(244)とに基づいて、前記TTSモデル(300)をトレーニングするステップと
を備える、コンピュータ実装方法(600)。
【請求項2】
セルフアテンションブロック(252)の前記スタックにおける各セルフアテンションブロック(252)が、同一の軽量畳み込み(LConv)ブロックを備える、請求項1に記載のコンピュータ実装方法(600)。
【請求項3】
前記セルフアテンションブロック(252)のスタックにおける各セルフアテンションブロック(252)が、同一のトランスフォーマブロックを備える、請求項1に記載のコンピュータ実装方法(600)。
【請求項4】
前記入力テキストシーケンス(206)が、それぞれが1つまたは複数の音素、すべての単語境界における沈黙、および句読点を持つ単語を備える、請求項1から3のいずれか一項に記載のコンピュータ実装方法(600)。
【請求項5】
前記残差エンコーダ(180)が、グローバル変分オートエンコーダ(VAE)を備え、
前記基準オーディオ信号(201)を前記変分埋め込み(220)にエンコードするステップが、
前記基準オーディオ信号(201)から前記基準メル周波数スペクトログラムシーケンス(202)をサンプリングするステップと、
前記グローバルVAEを使用して、前記基準メル周波数スペクトログラムシーケンス(202)を前記変分埋め込み(220)にエンコードするステップと
を備える、請求項1から4のいずれか一項に記載のコンピュータ実装方法(600)。
【請求項6】
前記残差エンコーダ(180)が、音素レベルのきめ細かい変分オートエンコーダ(VAE)を備え、
前記基準オーディオ信号(201)を前記変分埋め込み(220)にエンコードするステップが、
前記基準オーディオ信号(201)から前記基準メル周波数スペクトログラムシーケンス(202)をサンプリングするステップと、
前記基準メル周波数スペクトログラムシーケンス(202)を、前記入力テキストシーケンス(206)から抽出された音素のシーケンスにおける各音素と位置合わせするステップと、
前記音素レベルのきめ細かいVAEを使用して、前記基準メル周波数スペクトログラムシーケンスを音素の前記シーケンスにおける各音素と位置合わせすることに基づいて、音素レベルの変分埋め込み(220)のシーケンスをエンコードするステップと
を備える、請求項1から4のいずれか一項に記載のコンピュータ実装方法(600)。
【請求項7】
前記残差エンコーダ(180)が、軽量畳み込み(LConv)ブロック(410、420)のスタックを備え、LConvブロック(410、420)の前記スタックにおける各LConvブロック(410、420)が、
ゲート線形ユニット(GLU)層(502)と、
前記GLU層(502)の出力を受信するように構成されたLConv層(504)と、
前記LConv層(504)の出力を前記GLU層(502)への入力と連結するように構成された残余接続(508)と、
前記LConv層(504)の前記出力を前記GLU層(502)への前記入力と連結する前記残余接続(508)を入力として受信するように構成された最終フィードフォワード層(506)と
を備える、請求項1から6のいずれか一項に記載のコンピュータ実装方法(600)。
【請求項8】
前記動作が、
前記入力テキストシーケンス(206)における音素ごとに前記基準オーディオ信号(201)からサンプリングされた前記基準音素持続時間(240)を使用して、前記持続時間デコーダ(230)の前記出力をいくつかのフレームにアップサンプリングするステップと、
入力テキスト発話(320)における音素ごとの音素位置情報を表す位置埋め込み(216)を取得するステップと
をさらに備え、
前記入力テキストシーケンス(206)に対する前記1つまたは複数の予測されたメル周波数スペクトログラムシーケンス(302)を生成するステップが、前記位置埋め込み(216)と、前記持続時間デコーダ(230)の前記出力の前記いくつかのフレームへの前記アップサンプリングとに基づいている、請求項1から7のいずれか一項に記載のコンピュータ実装方法(600)。
【請求項9】
前記入力テキストシーケンス(206)に対する前記1つまたは複数の予測されたメル周波数スペクトログラムシーケンス(302)を生成するステップが、前記スペクトログラムデコーダ(250)のセルフアテンションブロック(252)の前記スタックにおける各セルフアテンションブロック(252)からの出力として、それぞれの予測されたメル周波数スペクトログラムシーケンス(302)を生成するステップを備え、
前記最終スペクトログラム損失(280)を決定するステップが、
それぞれの予測されたメル周波数スペクトログラムシーケンス(302)ごとに、前記予測されたメル周波数スペクトログラムシーケンス(302)および前記基準メル周波数スペクトログラムシーケンス(202)に基づいてそれぞれのスペクトログラム損失(270)を決定するステップと、
前記最終スペクトログラム損失(280)を生成するために、前記予測されたメル周波数スペクトログラムシーケンス(302)に対して決定された前記それぞれのスペクトログラム損失(270)を集約するステップと
を備える、請求項1から8のいずれか一項に記載のコンピュータ実装方法(600)。
【請求項10】
前記持続時間デコーダ(230)が、セルフアテンションブロック(232)のスタックとそれに続く2つの独立した投影とを備え、
前記入力テキストシーケンス(206)における音素ごとの前記音素持続時間(240)を予測するステップが、
前記2つの独立した投影のうちの第1の投影に続くシグモイド活性化(234)を使用して、音素ごとの非ゼロ持続時間の確率を予測するステップと、
前記2つの独立した投影のうちの第2の投影に続くソフトプラス活性化(236)を使用して、音素ごとの前記音素持続時間(240)を予測するステップと
を備える、請求項1から9のいずれか一項に記載のコンピュータ実装方法(600)。
【請求項11】
前記動作が、各音素において、
前記対応する音素について予測される非ゼロ持続時間の前記確率がしきい値未満であるかどうかを判定するステップと、
非ゼロ持続時間の前記確率が前記しきい値未満である場合に、前記対応する音素に対して予測される前記音素持続時間(240)をゼロにするステップと
をさらに備える、請求項10に記載のコンピュータ実装方法(600)。
【請求項12】
前記動作が、
前記エンコードされたテキストシーケンス(219)、前記変分埋め込み(220)、および前記基準オーディオ信号(201)を発した基準話者の識別を表す基準話者埋め込みを連結するステップと、
前記持続時間デコーダ(230)が、入力として、前記エンコードされたテキストシーケンス(219)、前記変分埋め込み(220)、および前記基準話者埋め込みの前記連結(224)を受信することに基づいて、前記持続時間デコーダ(230)の前記出力を生成するステップと
をさらに備える、請求項1から11のいずれか一項に記載のコンピュータ実装方法(600)。
【請求項13】
前記入力テキストシーケンス(206)が音素のシーケンスを含み、
前記入力テキストシーケンス(206)を前記エンコードされたテキストシーケンス(219)にエンコードするステップが、
音素ルックアップテーブル(208)から、音素の前記シーケンスにおける各音素のそれぞれの埋め込みを受け取るステップと、
音素の前記シーケンスにおける音素ごとに、前記テキストエンコーダ(210)のエンコーダプレネットニューラルネットワーク(207)を使用して、前記音素のそれぞれの変換された埋め込み(209)を生成するために、前記それぞれの埋め込みを処理するステップと、
畳み込みブロック(212)のバンクを使用して、畳み込み出力(213)を生成するために、前記それぞれの変換された埋め込み(209)を処理するステップと、
セルフアテンションブロック(218)のスタックを使用して、前記エンコードされたテキストシーケンス(219)を生成するために、前記畳み込み出力(213)を処理するステップと
を備える、請求項1から12のいずれか一項に記載のコンピュータ実装方法(600)。
【請求項14】
非自己回帰テキスト読上げ(TTS)モデルをトレーニングするためのシステム(100)であって、
データ処理ハードウェア(122)と、
前記データ処理ハードウェア(122)と通信するメモリハードウェア(124)と
を備え、前記メモリハードウェア(124)が、前記データ処理ハードウェア(122)によって実行されると、前記データ処理ハードウェア(122)に、
基準オーディオ信号(201)と対応する入力テキストシーケンス(206)を含むトレーニングデータを受信することであって、前記基準オーディオ信号(201)が話された発話を備え、前記入力テキストシーケンス(206)が前記基準オーディオ信号(201)のトランスクリプトに対応する、受信することと、
残差エンコーダ(180)を使用して、前記基準オーディオ信号(201)を変分埋め込み(220)にエンコードすることであって、前記変分埋め込み(220)が、前記基準オーディオ信号(201)からスタイル/韻律情報を解きほぐす、エンコードすることと、
テキストエンコーダ(210)を使用して、前記入力テキストシーケンス(206)をエンコードされたテキストシーケンス(219)にエンコードすることと、
持続時間デコーダ(230)を使用して、前記エンコードされたテキストシーケンス(219)および前記変分埋め込み(220)に基づいて、前記入力テキストシーケンス(206)における音素ごとの音素持続時間(240)を予測することと、
前記予測された音素持続時間(240)と、前記入力テキストシーケンス(206)における音素ごとに前記基準オーディオ信号(201)からサンプリングされた基準音素持続時間(245)とに基づいて、音素持続時間損失(244)を決定することと、
セルフアテンションブロック(252)のスタックを備えるスペクトログラムデコーダ(250)からの出力として、前記持続時間デコーダ(230)の出力に基づいて、前記入力テキストシーケンス(206)に対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンス(302)を生成することと、
前記1つまたは複数の予測されたメル周波数スペクトログラムシーケンス(302)と、前記基準オーディオ信号(201)からサンプリングされた基準メル周波数スペクトログラムシーケンス(202)とに基づいて、最終スペクトログラム損失(280)を決定することと、
前記最終スペクトログラム損失(280)と、前記入力テキストシーケンス(206)における音素ごとに決定された前記対応する音素持続時間損失(244)とに基づいて、前記TTSモデル(300)をトレーニングすることと
を備える動作を実施させる命令を記憶する、システム(100)。
【請求項15】
セルフアテンションブロック(252)の前記スタックにおける各セルフアテンションブロック(252)が、同一の軽量畳み込み(LConv)ブロックを備える、請求項14に記載のシステム(100)。
【請求項16】
前記セルフアテンションブロック(252)のスタックにおける各セルフアテンションブロック(252)が、同一のトランスフォーマブロックを備える、請求項14に記載のシステム(100)。
【請求項17】
前記入力テキストシーケンス(206)が、それぞれが1つまたは複数の音素、すべての単語境界における沈黙、および句読点を持つ単語を備える、請求項14から16のいずれか一項に記載のシステム(100)。
【請求項18】
前記残差エンコーダ(180)が、グローバル変分オートエンコーダ(VAE)を備え、
前記基準オーディオ信号(201)を前記変分埋め込み(220)にエンコードすることが、
前記基準オーディオ信号(201)から前記基準メル周波数スペクトログラムシーケンス(202)をサンプリングすることと、
前記グローバルVAEを使用して、前記基準メル周波数スペクトログラムシーケンス(202)を前記変分埋め込み(220)にエンコードすることと
を備える、請求項14から17のいずれか一項に記載のシステム(100)。
【請求項19】
前記残差エンコーダ(180)が、音素レベルのきめ細かい変分オートエンコーダ(VAE)を備え、
前記基準オーディオ信号(201)を前記変分埋め込み(220)にエンコードすることが、
前記基準オーディオ信号(201)から前記基準メル周波数スペクトログラムシーケンス(202)をサンプリングすることと、
前記基準メル周波数スペクトログラムシーケンス(202)を、前記入力テキストシーケンス(206)から抽出された音素のシーケンスにおける各音素と位置合わせすることと、
前記音素レベルのきめ細かいVAEを使用して、前記基準メル周波数スペクトログラムシーケンス(202)を音素の前記シーケンスにおける各音素と位置合わせすることに基づいて、音素レベルの変分埋め込み(220)のシーケンスをエンコードすることと
を備える、請求項14から17のいずれか一項に記載のシステム(100)。
【請求項20】
前記残差エンコーダ(180)が、軽量畳み込み(LConv)ブロック(410、420)のスタックを備え、LConvブロック(410、420)の前記スタックにおける各LConvブロック(410、420)が、
ゲート線形ユニット(GLU)層(502)と、
前記GLU層(502)の出力を受信するように構成されたLConv層(504)と、
前記LConv層(504)の出力を前記GLU層(502)への入力と連結するように構成された残余接続(508)と、
前記LConv層(504)の前記出力を前記GLU層(502)への前記入力と連結する前記残余接続(508)を入力として受信するように構成された最終フィードフォワード層(506)と
を備える、請求項14から19のいずれか一項に記載のシステム(100)。
【請求項21】
前記動作が、
前記入力テキストシーケンス(206)における音素ごとに前記基準オーディオ信号(201)からサンプリングされた前記基準音素持続時間(240)を使用して、前記持続時間デコーダ(230)の前記出力をいくつかのフレームにアップサンプリングすることと、
入力テキスト発話(320)における音素ごとの音素位置情報を表す位置埋め込み(216)を取得することと
をさらに備え、
前記入力テキストシーケンス(206)に対する前記1つまたは複数の予測されたメル周波数スペクトログラムシーケンス(302)を生成することが、前記位置埋め込み(216)と、前記持続時間デコーダ(230)の前記出力の前記いくつかのフレームへの前記アップサンプリングとに基づいている、請求項14から20のいずれか一項に記載のシステム(100)。
【請求項22】
前記入力テキストシーケンス(206)に対する前記1つまたは複数の予測されたメル周波数スペクトログラムシーケンス(302)を生成することが、前記スペクトログラムデコーダ(250)のセルフアテンションブロック(252)の前記スタックにおける各セルフアテンションブロック(252)からの出力として、それぞれの予測されたメル周波数スペクトログラムシーケンス(302)を生成することを備え、
前記最終スペクトログラム損失(280)を決定することが、
それぞれの予測されたメル周波数スペクトログラムシーケンス(302)ごとに、前記予測されたメル周波数スペクトログラムシーケンス(302)および前記基準メル周波数スペクトログラムシーケンス(202)に基づいてそれぞれのスペクトログラム損失(270)を決定することと、
前記最終スペクトログラム損失(280)を生成するために、前記予測されたメル周波数スペクトログラムシーケンス(302)に対して決定された前記それぞれのスペクトログラム損失(270)を集約することと
を備える、請求項14から21のいずれか一項に記載のシステム(100)。
【請求項23】
前記持続時間デコーダ(230)が、セルフアテンションブロック(232)のスタックとそれに続く2つの独立した投影とを備え、
前記入力テキストシーケンス(206)における音素ごとの前記音素持続時間(240)を予測することが、
前記2つの独立した投影のうちの第1の投影に続くシグモイド活性化(234)を使用して、音素ごとの非ゼロ持続時間の確率を予測することと、
前記2つの独立した投影のうちの第2の投影に続くソフトプラス活性化(236)を使用して、音素ごとの前記音素持続時間(240)を予測することと
を備える、請求項14から22のいずれか一項に記載のシステム(100)。
【請求項24】
前記動作が、各音素において、
前記対応する音素について予測される非ゼロ持続時間の前記確率がしきい値未満であるかどうかを判定することと、
非ゼロ持続時間の前記確率が前記しきい値未満である場合に、前記対応する音素に対して予測される前記音素持続時間(240)をゼロにすることと
をさらに備える、請求項23に記載のシステム(100)。
【請求項25】
前記動作が、
前記エンコードされたテキストシーケンス(219)、前記変分埋め込み(220)、および前記基準オーディオ信号(201)を発した基準話者の識別を表す基準話者埋め込みを連結することと、
前記持続時間デコーダ(230)が、入力として、前記エンコードされたテキストシーケンス(219)、前記変分埋め込み(220)、および前記基準話者埋め込みの前記連結(224)を受信することに基づいて、前記持続時間デコーダ(230)の前記出力を生成することと
をさらに備える、請求項14から24のいずれか一項に記載のシステム(100)。
【請求項26】
前記入力テキストシーケンス(206)が音素のシーケンスを含み、
前記入力テキストシーケンス(206)を前記エンコードされたテキストシーケンス(219)にエンコードすることが、
音素ルックアップテーブル(208)から、音素の前記シーケンスにおける各音素のそれぞれの埋め込みを受け取ることと、
音素の前記シーケンスにおける音素ごとに、前記テキストエンコーダ(210)のエンコーダプレネットニューラルネットワーク(207)を使用して、前記音素のそれぞれの変換された埋め込み(209)を生成するために、前記それぞれの埋め込みを処理することと、
畳み込みブロック(212)のバンクを使用して、畳み込み出力(213)を生成するために、前記それぞれの変換された埋め込み(209)を処理することと、
セルフアテンションブロック(218)のスタックを使用して、前記エンコードされたテキストシーケンス(219)を生成するために、前記畳み込み出力(213)を処理することと
を備える、請求項14から25のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、並列タコトロンの非自己回帰的で制御可能なテキスト読上げ(TTS)に関する。
【背景技術】
【0002】
テキスト読上げ(TTS)システムはデジタルテキストをユーザに読み上げ、モバイルデバイスにおける普及が進んでいる。特定のTTSモデルは、人間のような自然に聞こえる音声を生成するために、話し方など音声の様々な態様を合成することを目的としている。TTSモデルにおける合成は、テキスト入力の異なる韻律に対して複数の音声出力が存在する可能性があるため、1対多のマッピング問題である。多くのTTSシステムは、以前の値に基づいて現在の値を予測する自己回帰モデルを利用している。自己回帰TTSモデルはテキストを合成し、非常に自然な音声出力を生成することができるが、数百回の計算が必要となるため、推論中の効率が低下する。
【先行技術文献】
【非特許文献】
【0003】
【文献】https://arxiv.org/pdf/1711.10433.pdfにおいて入手可能なvan den Oord, Parallel WaveNet: Fast High-Fidelity Speech Synthesis
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の一態様は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに非自己回帰テキスト読上げ(TTS)モデルをトレーニングするための動作を実施させるコンピュータ実装方法を提供する。本動作は、基準オーディオ信号および対応する入力テキストシーケンスを含むトレーニングデータを受信するステップを含む。基準オーディオ信号は話された発話を含み、入力テキストシーケンスは基準オーディオ信号のトランスクリプトに対応する。本動作はまた、残差エンコーダを使用して、基準オーディオ信号を基準オーディオ信号からスタイル/韻律情報を解きほぐす変分埋め込みにエンコードするステップと、テキストエンコーダを使用して、入力テキストシーケンスをエンコードされたテキストシーケンスにエンコードするステップとを含む。本動作はまた、持続時間デコーダを使用して、エンコードされたテキストシーケンスおよび変分埋め込みに基づいて、入力テキストシーケンスにおける音素ごとの音素持続時間を予測するステップを含む。本動作はまた、予測された音素持続時間と、入力テキストシーケンスにおける音素ごとの基準オーディオ信号からの基準音素持続時間に基づいて、音素持続時間損失を決定するステップを含む。本動作はまた、セルフアテンション(self-attention)ブロックのスタックを含むスペクトログラムデコーダからの出力として、持続時間デコーダの出力に基づいて、入力テキストシーケンスに対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンスを生成するステップを含む。本動作はまた、1つまたは複数の予測されたメル周波数スペクトログラムシーケンスと、基準オーディオ信号からサンプリングされた基準メル周波数スペクトログラムシーケンスとに基づいて、最終スペクトログラム損失を決定するステップと、最終スペクトログラム損失と、入力テキストシーケンスにおける音素ごとに決定された対応する音素持続時間損失に基づいてTTSモデルをトレーニングするステップとを含む。
【0005】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、セルフアテンションブロックのスタックにおける各セルフアテンションブロックは、同一の軽量畳み込み(LConv)ブロックを含む。他の実装形態では、セルフアテンションブロックのスタックにおける各セルフアテンションブロックは、同一のトランスフォーマブロックを含む。入力テキストシーケンスは、それぞれが1つまたは複数の音素、すべての単語境界における沈黙、および句読点を持つ単語を含み得る。
【0006】
いくつかの例では、残差エンコーダは、グローバル変分オートエンコーダ(VAE)を含み、基準オーディオ信号を変分埋め込みにエンコードするステップは、基準オーディオ信号から基準メル周波数スペクトログラムシーケンスをサンプリングするステップと、グローバルVAEを使用して、基準メル周波数スペクトログラムシーケンスを変分埋め込みにエンコードするステップとを含む。いくつかの実装形態では、残差エンコーダは、音素レベルのきめ細かい変分オートエンコーダ(VAE)を含み、基準オーディオ信号を変分埋め込みにエンコードするステップは、基準オーディオ信号から基準メル周波数スペクトログラムシーケンスをサンプリングするステップと、基準メル周波数スペクトログラムシーケンスを、入力テキストシーケンスから抽出された音素のシーケンスにおける各音素と位置合わせするステップと、音素レベルのきめ細かいVAEを使用して、基準メル周波数スペクトログラムシーケンスを音素のシーケンスにおける各音素と位置合わせすることに基づいて、音素レベルの変分埋め込みのシーケンスをエンコードするステップとを含む。
【0007】
任意で、残差エンコーダは、軽量畳み込み(LConv)ブロックのスタックを含み得、LConvブロックのスタックにおける各LConvブロックは、ゲート線形ユニット(GLU)層と、GLU層の出力を受信するように構成されたLConv層と、LConv層の出力をGLU層への入力と連結するように構成された残余接続と、LConv層の出力をGLU層への入力と連結する残余接続を入力として受信するように構成された最終フィードフォワード層とを含む。本動作は、入力テキストシーケンスにおける音素ごとの基準オーディオ信号からサンプリングされた基準音素持続時間を使用して、持続時間デコーダの出力をいくつかのフレームにアップサンプリングするステップと、入力テキスト発話における音素ごとの音素位置情報を表す位置埋め込みを取得するステップとをさらに含み得る。ここで、入力テキストシーケンスに対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンスを生成するステップは、位置埋め込みと、持続時間デコーダの出力のいくつかのフレームへのアップサンプリングとに基づいている。
【0008】
いくつかの例では、入力テキストシーケンスに対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンスを生成するステップは、スペクトログラムデコーダのセルフアテンションブロックのスタックにおける各セルフアテンションブロックからの出力として、それぞれのメル周波数スペクトログラムシーケンスを生成するステップを含む。これらの例では、最終スペクトログラム損失を決定するステップは、それぞれの予測されたメル周波数スペクトログラムシーケンスごとに、予測されたメル周波数スペクトログラムシーケンスおよび基準メル周波数スペクトログラムシーケンスに基づいてそれぞれのスペクトログラム損失を決定するステップと、最終スペクトログラム損失を生成するために、予測されたメル周波数スペクトログラムシーケンスに対して決定されたそれぞれのスペクトログラム損失を集約するステップとを含む。いくつかの実装形態では、持続時間デコーダは、セルフアテンションブロックのスタックとそれに続く2つの独立した投影とを含み、入力テキストシーケンスにおける音素ごとの音素持続時間を予測するステップは、2つの独立した投影のうちの第1の投影に続くシグモイド活性化を使用して、音素ごとの非ゼロ持続時間の確率を予測するステップと、2つの独立した投影のうちの第2の投影に続くソフトプラス活性化を使用して、音素ごとの音素持続時間を予測するステップとを含む。本動作は、各音素において、対応する音素について予測される非ゼロ持続時間の確率がしきい値未満であるかどうかを判定するステップと、非ゼロ持続時間の確率がしきい値未満である場合に、対応する音素に対して予測される音素持続時間をゼロにするステップとをさらに含み得る。
【0009】
いくつかの例では、本動作は、エンコードされたテキストシーケンス、変分埋め込み、および基準オーディオ信号を発した基準話者の識別を表す基準話者埋め込みを連結するステップと、持続時間デコーダが、入力として、エンコードされたテキストシーケンス、変分埋め込み、および基準話者埋め込みの連結を受信することに基づいて、持続時間デコーダの出力を生成するステップとをさらに含む。任意で、入力テキストシーケンスは音素のシーケンスを含み得、入力テキストシーケンスをエンコードされたテキストシーケンスにエンコードするステップは、音素ルックアップテーブルから、音素のシーケンスにおける各音素のそれぞれの埋め込みを受け取るステップと、音素のシーケンスにおける音素ごとに、テキストエンコーダのエンコーダプレネットニューラルネットワークを使用して、音素のそれぞれの変換された埋め込みを生成するために、それぞれの埋め込みを処理するステップと、畳み込みブロックのバンクを使用して、畳み込み出力を生成するために、それぞれの変換された埋め込みを処理するステップと、セルフアテンションブロックのスタックを使用して、エンコードされたテキストシーケンスを生成するために、畳み込み出力を処理するステップとを含む。
【0010】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実施させる命令を記憶するメモリハードウェアとを含む、非自己回帰テキスト読上げ(TTS)モデルをトレーニングするためのシステムを提供する。本動作は、基準オーディオ信号と対応する入力テキストシーケンスを含むトレーニングデータを受信することを含む。基準オーディオ信号は話された発話を含み、入力テキストシーケンスは基準オーディオ信号のトランスクリプトに対応する。本動作はまた、残差エンコーダを使用して、基準オーディオ信号を基準オーディオ信号からスタイル/韻律情報を解きほぐす変分埋め込みにエンコードすることと、テキストエンコーダを使用して、入力テキストシーケンスをエンコードされたテキストシーケンスにエンコードすることとを含む。本動作はまた、持続時間デコーダを使用して、エンコードされたテキストシーケンスおよび変分埋め込みに基づいて、入力テキストシーケンスにおける音素ごとの音素持続時間を予測することを含む。本動作はまた、予測された音素持続時間と、入力テキストシーケンスにおける音素ごとの基準オーディオ信号からの基準音素持続時間に基づいて、音素持続時間損失を決定することを含む。本動作はまた、セルフアテンションブロックのスタックを含むスペクトログラムデコーダからの出力として、持続時間デコーダの出力に基づいて、入力テキストシーケンスに対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンスを生成することを含む。本動作はまた、1つまたは複数の予測されたメル周波数スペクトログラムシーケンスと、基準オーディオ信号からサンプリングされた基準メル周波数スペクトログラムシーケンスとに基づいて、最終スペクトログラム損失を決定することと、最終スペクトログラム損失と、入力テキストシーケンスにおける音素ごとに決定された対応する音素持続時間損失に基づいてTTSモデルをトレーニングすることとを含む。
【0011】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、セルフアテンションブロックのスタックにおける各セルフアテンションブロックは、同一の軽量畳み込み(LConv)ブロックを含む。他の実装形態では、セルフアテンションブロックのスタックにおける各セルフアテンションブロックは、同一のトランスフォーマブロックを含む。入力テキストシーケンスは、それぞれが1つまたは複数の音素、すべての単語境界における沈黙、および句読点を持つ単語を含み得る。
【0012】
いくつかの例では、残差エンコーダは、グローバル変分オートエンコーダ(VAE)を含み、基準オーディオ信号を変分埋め込みにエンコードすることは、基準オーディオ信号から基準メル周波数スペクトログラムシーケンスをサンプリングすることと、グローバルVAEを使用して、基準メル周波数スペクトログラムシーケンスを変分埋め込みにエンコードすることとを含む。いくつかの実装形態では、残差エンコーダは、音素レベルのきめ細かい変分オートエンコーダ(VAE)を含み、基準オーディオ信号を変分埋め込みにエンコードすることは、基準オーディオ信号から基準メル周波数スペクトログラムシーケンスをサンプリングすることと、基準メル周波数スペクトログラムシーケンスを、入力テキストシーケンスから抽出された音素のシーケンスにおける各音素と位置合わせすることと、音素レベルのきめ細かいVAEを使用して、基準メル周波数スペクトログラムシーケンスを音素のシーケンスにおける各音素と位置合わせすることに基づいて、音素レベルの変分埋め込みのシーケンスをエンコードすることとを含む。
【0013】
任意で、残差エンコーダは、軽量畳み込み(LConv)ブロックのスタックを含み得、LConvブロックのスタックにおける各LConvブロックは、ゲート線形ユニット(GLU)層と、GLU層の出力を受信するように構成されたLConv層と、LConv層の出力をGLU層への入力と連結するように構成された残余接続と、LConv層の出力をGLU層への入力と連結する残余接続を入力として受信するように構成された最終フィードフォワード層とを含む。本動作は、入力テキストシーケンスにおける音素ごとに基準オーディオ信号からサンプリングされた基準音素持続時間を使用して、持続時間デコーダの出力をいくつかのフレームにアップサンプリングすることと、入力テキスト発話における音素ごとの音素位置情報を表す位置埋め込みを取得することとをさらに含み得る。ここで、入力テキストシーケンスに対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンスを生成することは、位置埋め込みと、持続時間デコーダの出力のいくつかのフレームへのアップサンプリングとに基づいている。
【0014】
いくつかの例では、入力テキストシーケンスに対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンスを生成することは、スペクトログラムデコーダのセルフアテンションブロックのスタックにおける各セルフアテンションブロックからの出力として、それぞれのメル周波数スペクトログラムシーケンスを生成することを含む。これらの例では、最終スペクトログラム損失を決定することは、それぞれの予測されたメル周波数スペクトログラムシーケンスごとに、予測されたメル周波数スペクトログラムシーケンスおよび基準メル周波数スペクトログラムシーケンスに基づいてそれぞれのスペクトログラム損失を決定することと、最終スペクトログラム損失を生成するために、予測されたメル周波数スペクトログラムシーケンスに対して決定されたそれぞれのスペクトログラム損失を集約することとを含む。いくつかの実装形態では、持続時間デコーダは、セルフアテンションブロックのスタックとそれに続く2つの独立した投影とを含み、入力テキストシーケンスにおける音素ごとの音素持続時間を予測することは、2つの独立した投影のうちの第1の投影に続くシグモイド活性化を使用して、音素ごとの非ゼロ持続時間の確率を予測することと、2つの独立した投影のうちの第2の投影に続くソフトプラス活性化を使用して、音素ごとの音素持続時間を予測することとを含む。本動作は、各音素において、対応する音素について予測される非ゼロ持続時間の確率がしきい値未満であるかどうかを判定することと、非ゼロ持続時間の確率がしきい値未満である場合に、対応する音素に対して予測される音素持続時間をゼロにすることとをさらに含み得る。
【0015】
いくつかの例では、本動作は、エンコードされたテキストシーケンス、変分埋め込み、および基準オーディオ信号を発した基準話者の識別を表す基準話者埋め込みを連結することと、持続時間デコーダが、入力として、エンコードされたテキストシーケンス、変分埋め込み、および基準話者埋め込みの連結を受信することに基づいて、持続時間デコーダの出力を生成することとをさらに含む。任意で、入力テキストシーケンスは音素のシーケンスを含み得、入力テキストシーケンスをエンコードされたテキストシーケンスにエンコードすることは、音素ルックアップテーブルから、音素のシーケンスにおける各音素のそれぞれの埋め込みを受け取ることと、音素のシーケンスにおける音素ごとに、テキストエンコーダのエンコーダプレネットニューラルネットワークを使用して、音素のそれぞれの変換された埋め込みを生成するために、それぞれの埋め込みを処理することと、畳み込みブロックのバンクを使用して、畳み込み出力を生成するために、それぞれの変換された埋め込みを処理することと、セルフアテンションブロックのスタックを使用して、エンコードされたテキストシーケンスを生成するために、畳み込み出力を処理することとを含む。
【0016】
本開示の別の態様は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実施させるコンピュータ実装方法を提供する。本動作は、音声に合成されるテキスト発話を受信することと、非自己回帰TTSモデルのテキストエンコーダを使用して、テキスト発話から抽出された音素のシーケンスをエンコードされたテキストシーケンスにエンコードすることとを含む。本動作はまた、テキスト発話を音声に合成するための意図された韻律/スタイルを指定する、テキスト発話の変分埋め込みを選択することを含む。音素シーケンスにおける音素ごとに、本動作は、非自己回帰TTSモデルの持続時間デコーダを使用して、エンコードされたテキストシーケンスおよび選択された変分埋め込みに基づいて、対応する音素の音素持続時間を予測することをさらに含む。本動作はまた、セルフアテンションブロックのスタックを含む非自己回帰TTSモデルのスペクトログラムデコーダからの出力として、持続時間デコーダの出力と予測された音素持続時間に基づいて、テキストの発話の予測されたメル周波数スペクトログラムシーケンスを生成することを含む。予測されたメル周波数スペクトログラムシーケンスは、選択された変分埋め込みによって指定された意図された韻律/スタイルを有する。
【0017】
本開示の実装形態は、以下の任意の機能のうちの1つまたは複数を含み得る。いくつかの実装形態では、選択された変分埋め込みは、変分オートエンコーダ(VAE)ベースの残差エンコーダからサンプリングされた以前の変分埋め込みを含む。本動作は、合成器を使用して、予測されたメル周波数スペクトログラムシーケンスを合成音声に変換することをさらに含み得る。いくつかの例では、テキスト発話からエンコードされたテキストシーケンスに抽出される音素のシーケンスは、音素ルックアップテーブルから、音素のシーケンスにおける各音素のそれぞれの埋め込みを受け取ることと、音素のシーケンスにおける音素ごとに、テキストエンコーダのエンコーダプレネットニューラルネットワークを使用して、音素のそれぞれの変換された埋め込みを生成するために、それぞれの埋め込みを処理することと、畳み込みブロックのバンクを使用して、畳み込み出力を生成するために、それぞれの変換された埋め込みを処理することと、セルフアテンションブロックのスタックを使用して、エンコードされたテキストシーケンスを生成するために、畳み込み出力を処理することとを含む。
【0018】
任意で、スペクトログラムデコーダのセルフアテンションブロックのスタックにおける各セルフアテンションブロックは、同一の軽量畳み込み(LConv)ブロックまたは同一のトランスフォーマブロックのうちの1つを含み得る。いくつかの実装形態では、動作は、予測された音素持続時間を使用して、持続時間デコーダの出力をいくつかのフレームにアップサンプリングすることと、音素のシーケンスにおける音素ごとの音素位置情報を表す位置埋め込みを取得することとをさらに含む。ここで、テキスト発話の予測されたメル周波数スペクトログラムシーケンスを生成することは、位置埋め込みと、持続時間デコーダの出力のいくつかのフレームへのアップサンプリングとに基づいている。本動作は、エンコードされたテキストシーケンス、選択された変分埋め込み、および選択された変分埋め込みに関連付けられる基準話者の識別を表す基準話者埋め込みを連結することと、持続時間デコーダが、入力として、エンコードされたテキストシーケンス、変分埋め込み、および基準話者埋め込みの連結を受信することに基づいて、持続時間デコーダの出力を生成することとをさらに含み得る。
【0019】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェア上で実行されるとデータ処理ハードウェアに動作を実施させる命令を記憶するメモリハードウェアとを含む、トレーニングされた非自己回帰テキスト読上げ(TTS)モデルを実行するためのシステムを提供する。本動作は、音声に合成されるテキスト発話を受信することと、非自己回帰TTSモデルのテキストエンコーダを使用して、テキスト発話から抽出された音素のシーケンスをエンコードされたテキストシーケンスにエンコードすることとを含む。本動作はまた、テキスト発話を音声に合成するための意図された韻律/スタイルを指定する、テキスト発話の変分埋め込みを選択することを含む。音素のシーケンスにおける音素ごとに、本動作は、非自己回帰TTSモデルの持続時間デコーダを使用して、エンコードされたテキストシーケンスおよび選択された変分埋め込みに基づいて、対応する音素の音素持続時間を予測することをさらに含む。本動作はまた、セルフアテンションブロックのスタックを含む非自己回帰TTSモデルのスペクトログラムデコーダからの出力として、持続時間デコーダの出力と予測された音素持続時間に基づいて、テキスト発話の予測されたメル周波数スペクトログラムシーケンスを生成することを含む。予測されたメル周波数スペクトログラムシーケンスは、選択された変分埋め込みによって指定された意図された韻律/スタイルを有する。
【0020】
本開示の実装形態は、以下の任意の機能のうちの1つまたは複数を含み得る。いくつかの実装形態では、選択された変分埋め込みは、変分オートエンコーダ(VAE)ベースの残差エンコーダからサンプリングされた以前の変分埋め込みを含む。本動作は、合成器を使用して、予測されたメル周波数スペクトログラムシーケンスを合成音声に変換することをさらに含み得る。いくつかの例では、テキスト発話からエンコードされたテキストシーケンスに抽出される音素のシーケンスは、音素ルックアップテーブルから、音素のシーケンスにおける各音素のそれぞれの埋め込みを受け取ることと、音素のシーケンスにおける音素ごとに、テキストエンコーダのエンコーダプレネットニューラルネットワークを使用して、音素のそれぞれの変換された埋め込みを生成するために、それぞれの埋め込みを処理することと、畳み込みブロックのバンクを使用して、畳み込み出力を生成するために、それぞれの変換された埋め込みを処理することと、セルフアテンションブロックのスタックを使用して、エンコードされたテキストシーケンスを生成するために、畳み込み出力を処理することとを含む。
【0021】
任意で、スペクトログラムデコーダのセルフアテンションブロックのスタックにおける各セルフアテンションブロックは、同一の軽量畳み込み(LConv)ブロックまたは同一のトランスフォーマブロックのうちの1つを含み得る。いくつかの実装形態では、動作は、予測された音素持続時間を使用して、持続時間デコーダの出力をいくつかのフレームにアップサンプリングすることと、音素のシーケンスにおける音素ごとの音素位置情報を表す位置埋め込みを取得することとをさらに含む。ここで、テキスト発話の予測されたメル周波数スペクトログラムシーケンスを生成することは、位置埋め込みと、持続時間デコーダの出力のいくつかのフレームへのアップサンプリングとに基づいている。本動作は、エンコードされたテキストシーケンス、選択された変分埋め込み、および選択された変分埋め込みに関連付けられる基準話者の識別を表す基準話者埋め込みを連結することと、持続時間デコーダが、入力として、エンコードされたテキストシーケンス、変分埋め込み、および基準話者埋め込みの連結を受信することに基づいて、持続時間デコーダの出力を生成することとをさらに含み得る。
【0022】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0023】
図1】テキスト発話のスペクトログラムを予測する非自己回帰TTSモデルを提供するためにディープニューラルネットワークをトレーニングするための例示的なシステムを示す図である。
図2】非自己回帰TTSモデルをトレーニングする非自己回帰ニューラルネットワークの概略図である。
図3図2の非自己回帰ディープニューラルネットワークによってトレーニングされた、トレーニングされた非自己回帰TTSモデルを実行する概略図である。
図4】例示的な畳み込みブロックの概略図である。
図5】例示的な軽量畳み込みブロックの概略図である。
図6】非自己回帰TTSモデルをトレーニングするためのコンピュータ実装方法の動作の例示的な構成のフローチャートである。
図7】トレーニングされた非自己回帰TTSモデルを実行するためのコンピュータ実装方法の動作の例示的な構成のフローチャートである。
図8】本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0024】
様々な図面における同様の参照記号は同様の要素を示している。
【0025】
現実的な人間の音声の合成は、同じテキスト入力に無数の妥当な音声認識が含まれるという点で未確定の問題である。エンドツーエンドのニューラルネットワークベースの手法は、アシスタントのような短い発話については人間のパフォーマンスに匹敵するように進歩しているが、ニューラルネットワークモデルは、洗練された言語表現または音声表現に作用する複数の処理ステップを含む従来のモデルに比べて、解釈や制御が難しいと見なされることもある。音声における変動の原因は、イントネーション、強勢、リズム、スタイルの韻律特性、ならびに話者およびチャネルの特性を含む。話された発話の韻律的特徴は、語彙表現(たとえば、話された発話のトランスクリプト)に存在するものを超えて、言語的、意味論的、および感情的な意味を伝える。
【0026】
ニューラルネットワークは、受信した入力に対する出力を予測するために1つまたは複数の非線形ユニットの層を使用する機械学習モデルである。たとえば、ニューラルネットワークベースのエンドツーエンドのテキスト読上げ(TTS)モデルは、入力テキストを出力音声に変換し得る。ニューラルTTSモデルは、テキスト入力によって提供されない韻律に対応する言語要素を予測することによって、音声を堅牢に合成する可能性を提供する。その結果、オーディオブックのナレーション、ニュースリーダ、声のデザインソフトウェア、および会話アシスタントなどの多くのアプリケーションで、単調ではなくリアルに聞こえる合成音声を生成することができる。
【0027】
多くのニューラルエンドツーエンドTTSモデルは、以前の値に基づいて現在の値を予測する自己回帰モデルを利用している。たとえば、多くの自己回帰モデルは、現在のタイムステップにおける出力を計算する際に、前のタイムステップからのネットワークの内部状態の一部またはすべてを使用するリカレントニューラルネットワークに基づいている。リカレントニューラルネットワークの例は、1つまたは複数のLSTMメモリブロックを含むロングショートターム(LSTM)ニューラルネットワークである。各LSTMメモリブロックは、入力ゲート、忘却ゲート、およびたとえば現在の活性化を生成する際に使用するため、またはLSTMニューラルネットワークの他のコンポーネントに提供されるためにセルがセルの前の状態を記憶できるようにする出力ゲートをそれぞれ含む1つまたは複数のセルを含むことができる。
【0028】
自己回帰TTSモデルはテキストを合成し、非常に自然な音声出力を生成することができるが、ソフトアテンションを備えた一連の一方向LSTMベースのデコーダブロックを通じたアーキテクチャは、完全なフィードフォワードアーキテクチャと比較して、最新の並列ハードウェアに実装するとトレーニングと推論の両方の効率が本質的に低くしてしまう。さらに、自己回帰モデルはタイムステップごとにグラウンドトゥルースラベルを適用することによって教師強制を介してトレーニングされるため、自己回帰モデルはさらに、トレーニングと、トレーニングされたモデルが推論中に適用される時期との間に不一致が生じる傾向がある。ソフトアテンションメカニズムと合わせて、これらの不一致は、喃語、早期のカットオフ、単語の繰返し、および単語のスキップなどの堅牢性エラーを示す合成音声などの、品質の低下した合成音声出力につながる可能性がある。自己回帰TTSモデルにおける合成音声の品質の低下は、合成テキストのサイズが増加するにつれてさらに悪化する可能性がある。
【0029】
自己回帰ベースのTTSモデルの前述の欠点を軽減するために、本明細書の実装形態は、変分オートエンコーダ(VAE)ベースの残差エンコーダを用いて強化された非自己回帰ニューラルTTSモデルを対象とする。明らかになるように、VAEベースの残差エンコーダは、合成される入力テキスト(たとえば、音素シーケンス)によって表現できないスタイル/韻律情報、または基準オーディオ信号を話した話者の話者識別子(ID)などの残差情報を伝える基準オーディオ信号から潜在表現/状態を解きほぐすことができる。つまり、潜在表現により、TTSモデルによって生成された出力合成音声が、残差エンコーダに入力された基準オーディオ信号のように聞こえることが可能になる。
【0030】
VAEベースの残差エンコーダを用いて強化された非自己回帰ニューラルTTSモデルは、入力テキスト発話のメルスペクトル情報(たとえば、予測されたメル周波数スペクトログラムシーケンス)を予測するための制御可能なモデルを提供し、同時に、メルスペクトル情報において表される韻律/スタイルを効果的に制御する。たとえば、テキスト発話を表現力豊かな音声に合成するための意図された韻律/スタイルを表現するために、VAEベースの残差エンコーダによって学習された選択された変分埋め込みを使用し、TTSモデルのスペクトログラムデコーダは、テキスト発話のメル周波数スペクトログラムを予測して、そのメル周波数スペクトログラムを、意図された韻律/スタイルを有する合成音声を示す時間領域オーディオ波形に変換するための合成器(たとえば、波形合成器またはボコーダネットワーク)への入力として提供し得る。明らかになるように、非自己回帰TTSモデルは、サンプル入力テキストシーケンスと、人間の音声のみの対応する基準メル周波数スペクトログラムシーケンスにおいてトレーニングされるため、トレーニングされたTTSモデルは、入力テキスト発話を、学習された事前変分埋め込みによって伝えられる意図された韻律/スタイルを有するメル周波数スペクトログラムシーケンスに変換することができる。
【0031】
図1は、非自己回帰ニューラルTTSモデル(または、単に「TTSモデル」)300を提供するためにVAEベースの残差エンコーダ180を用いて強化されたディープニューラルネットワーク200をトレーニングすることと、TTSモデル300を使用してテキスト発話320のスペクトログラム(すなわち、メル周波数スペクトログラムシーケンス)302を予測することとを行うための例示的なシステム100を示している。システム100は、データ処理ハードウェア122と、データ処理ハードウェア122と通信し、データ処理ハードウェア122に動作を実施させる命令を記憶するメモリハードウェア124とを有するコンピューティングシステム120を含む。いくつかの実装形態では、トレーニングされたTTSモデル300を実行するコンピューティングシステム120(たとえば、データ処理ハードウェア122)またはユーザコンピューティングデバイス10は、入力テキスト発話320の口頭表現として聴覚的に出力され得る合成音声152を示す時間領域オーディオ波形に変換するために、入力テキスト発話320からTTSモデル300によって予測されたスペクトログラム302を合成器155に提供する。時間領域オーディオ波形は、時間の経過に伴うオーディオ信号の振幅を定義するオーディオ波形を含む。合成器155は、時間領域オーディオ波形に変換するために、メル周波数スペクトログラムに基づいて別個にトレーニングおよび条件付けされ得る。
【0032】
メル周波数スペクトログラムは、音の周波数領域表現を含む。メル周波数スペクトログラムは、音声明瞭度にとって重要な低周波数を強調する一方で、摩擦音やその他のノイズバーストによって支配され、一般に高忠実度でモデル化する必要のない高周波数を強調しない。合成器155は、メル周波数スペクトログラムを受信することと、メル周波数スペクトログラムに基づいてオーディオ出力サンプル(たとえば、時間領域オーディオ波形)を生成することとを行うように構成された任意のネットワークを含み得るボコーダニューラルネットワークを含み得る。たとえば、ボコーダネットワーク155は、https://arxiv.org/pdf/1711.10433.pdfにおいて入手可能なvan den Oord, Parallel WaveNet: Fast High-Fidelity Speech Synthesisにおいて説明されている並列フィードフォワードニューラルネットワークに基づくことができ、これは参照により本明細書に組み込まれる。あるいは、ボコーダネットワーク155は自己回帰ニューラルネットワークであってもよい。合成器155は、グリフィンリム合成器またはトレーニング可能なスペクトログラム/波形インバータなどの波形合成器を含み得る。合成器155の選択は、合成音声152の結果として得られる韻律/スタイルには影響を与えず、実際には、合成音声152のオーディオ忠実度にのみ影響する。
【0033】
入力テキスト発話320には、合成音声152の所望の韻律/スタイルを導くためのコンテキスト、意味論、および語用論を伝える方法がないため、TTSモデル300は、変分埋め込み220によって指定された意図された韻律/スタイルを伝えるテキスト発話320のメル周波数スペクトログラム302を予測するために、意図された韻律/スタイルを指定する潜在変数として変分埋め込み220を適用し得る。いくつかの例では、コンピューティングシステム120は、TTSモデル300を実装する。ここで、ユーザは、ユーザコンピューティングデバイス10を通じてTTSモデル300にアクセスして、変分埋め込み220によって指定された意図された韻律/スタイルを有する表現力豊かな音声152に合成するために、TTSモデル300に入力テキスト発話320を提供し得る。変分埋め込み220はユーザによって選択され、残差エンコーダ180からサンプリングされた以前の変分埋め込み220に対応し得る。変分埋め込み220は、意図された韻律/スタイルを用いて話す話者を識別する話者識別子(ID)を(すなわち、ユーザコンピューティングデバイス10上で実行されるインターフェースを通じて)提供することによってユーザが選択し得る話者ごとの変分埋め込み220であってもよい。ここで、各話者IDは、残差エンコーダ180によって事前に学習されたそれぞれの話者ごとの変分埋め込み220にマッピングし得る。追加または代替として、ユーザは、それぞれの韻律/スタイルに関連付けられる特定のバーチカルを指定する入力を提供することができる。ここで、異なるバーチカル(たとえば、ニュースキャスタ、スポーツキャスタなど)は、それぞれ、そのバーチカルに関連付けられるそれぞれの韻律/スタイルを伝える残差エンコーダ180によって事前に学習されたそれぞれの変分埋め込み220にマッピングし得る。これらの例では、合成器155は、コンピューティングシステム120またはユーザコンピューティングデバイス10上に常駐し得る。合成器155がコンピューティングシステム120上に常駐している場合、コンピューティングシステム120は、可聴再生のために、合成音声152を表す時間領域オーディオ波形をユーザコンピューティングデバイス10に送信し得る。他の例では、ユーザコンピューティングデバイス10は、TTSモデル300を実装する。コンピューティングシステムは、分散システム(たとえば、クラウドコンピューティング環境)を含み得る。
【0034】
いくつかの実装形態では、ディープニューラルネットワーク200は、基準オーディオ信号201の大規模なセットにおいてトレーニングされる。各基準オーディオ信号201には、マイクによって記録され、韻律/スタイル表現を有する、人間の音声の話された発話を含み得る。トレーニング中、ディープニューラルネットワーク200は、同じ話された発話に対して、韻律/スタイルが異なる複数の基準オーディオ信号201を受信し得る(すなわち、同じ発話が複数の異なる方法で話される可能性がある)。ここで、基準オーディオ信号201は、内容が同じであっても、話された発話の長さが異なる可変長信号である。ディープニューラルネットワーク200はまた、基準オーディオ信号201の複数のセットを受信し得、各セットは、同じそれぞれの話者によって話された同様の韻律/スタイルを有するが、異なる言語内容を伝える発話に対する基準オーディオ信号201を含む。VAEベースの残差エンコーダ180を用いて増強されたディープニューラルネットワーク200は、各基準オーディオ信号201に関連付けられる韻律/スタイル表現を対応する変分埋め込み220にエンコード/圧縮するように構成されている。変分埋め込み220は、固定長の変分埋め込み220を含み得る。ディープニューラルネットワーク200は、各変分埋め込み220を、変分埋め込み220に関連付けられる基準オーディオ信号201を発した基準話者の話者アイデンティティ205(図2)を表す、対応する話者埋め込みysとともに(たとえば、コンピューティングシステム120のメモリハードウェア124上で)ストレージ185に記憶し得る。変分埋め込み220は、同じ話者によって話された基準オーディオ信号201から残差エンコーダ180によってエンコードされた複数の変分埋め込み220の集合体(たとえば、平均)を含む話者ごとの変分埋め込みであってもよい。
【0035】
推論中、コンピューティングシステム120またはユーザコンピューティングデバイス10は、テキスト発話320のメル周波数スペクトログラムシーケンス302を予測するために、トレーニングされたTTSモデル300を使用し得る。TTSモデル300は、テキスト発話320の意図された韻律/スタイルを表す変分埋め込み220をストレージ185から選択し得る。ここで、変分埋め込み220は、VAEベースの残差エンコーダ180からサンプリングされた以前の変分埋め込み220に対応し得る。TTSモデル300は、選択された変分埋め込み220を使用して、テキスト発話320のメル周波数スペクトログラムシーケンス302を予測し得る。図示される例では、合成器155は、変分埋め込み220によって指定された意図された韻律/スタイルを有する合成音声152を生成するために、予測されたメル周波数スペクトログラムシーケンス302を使用する。
【0036】
推論中、コンピューティングシステム120またはユーザコンピューティングデバイス10は、テキスト発話320のメル周波数スペクトログラムシーケンス302を予測するために、トレーニングされたTTSモデル300を使用し得る。TTSモデル300は、テキスト発話320の意図された韻律/スタイルを表す変分埋め込み220をストレージ185から選択し得る。ここで、変分埋め込み220は、VAEベースの残差エンコーダ180からサンプリングされた以前の変分埋め込み220に対応し得る。TTSモデル300は、選択された変分埋め込み220を使用して、テキスト発話320のメル周波数スペクトログラムシーケンス302を予測し得る。図示される例では、合成器155は、変分埋め込み220によって指定された意図された韻律/スタイルを有する合成音声152を生成するために、予測されたメル周波数スペクトログラムシーケンス302を使用する。
【0037】
非限定的な例では、個人は、特定の話者に関連付けられる韻律/スタイル表現を伝える話者ごとの変分埋め込みを学習するために、ディープニューラルネットワーク200をトレーニングし得る。たとえば、Techmeme Ride HomeポッドキャストのホストであるBrian McCulloughは、基準オーディオ信号201のトランスクリプトに対応する入力テキストシーケンス206とともに、ポッドキャストの前のエピソードを含む基準オーディオ信号201に関してディープニューラルネットワーク200をトレーニングすることができる。トレーニング中に、VAEベースの残差エンコーダ180は、Ride HomeポッドキャストをナレーションするBrianの韻律/スタイルを表す話者ごとの変分埋め込み220を学習し得る。次いで、Brianは、Ride Homeポッドキャストの新しいエピソードのトランスクリプトに対応するテキスト発話320のメル周波数スペクトログラムシーケンス302を予測するために、この話者ごとの変分埋め込み220を、(コンピューティングシステム120またはユーザコンピューティングデバイス10上で実行される)トレーニングされたTTSモデル300によって使用するために適用することができる。予測されたメル周波数スペクトログラムシーケンス302は、Brianの話者ごとの変分埋め込み220によって指定されるBrianの独特の韻律/スタイルを有する合成音声152を生成するために、合成器155への入力として提供され得る。すなわち、結果として得られる合成音声152は、Brianの声と全く同じように聞こえ、Ride HomeポッドキャストのエピソードをナレーションするためのBrianの韻律/スタイルを備えている可能性がある。したがって、新しいエピソードを放送するために、Brianは、Ride Homeポッドキャストの忠実なリスナ(ミュータントポッドキャストアーミー(Mutant Podcast Army)とも呼ばれる)にストリーミングされ得る合成音声302を生成するために、エピソードのトランスクリプトを提供し、トレーニングされたTTSモデル300を使用するだけでよい。
【0038】
図2は、非自己回帰TTSモデル300をトレーニングするための非自己回帰ニューラルネットワーク(たとえば、図1のディープニューラルネットワーク)200を示している。ディープニューラルネットワーク200は、VAEベースの残差エンコーダ180、テキストエンコーダ210、持続時間デコーダ230、およびスペクトログラムデコーダ250を含む。ディープニューラルネットワーク200は、複数の基準オーディオ信号201および対応する入力テキストシーケンス206を含むトレーニングデータに基づいてトレーニングされ得る。各基準オーディオ信号201は人間の音声の話された発話を含み、対応する入力テキストシーケンス206は、基準オーディオ信号201の転写に対応する。図示される例では、VAEベースの残差エンコーダ180は、基準オーディオ信号201を変分埋め込み220(z)にエンコードするように構成されている。具体的には、残差エンコーダ180は、基準オーディオ信号201からサンプリングされた基準メル周波数スペクトログラムシーケンス202を受信し、基準メル周波数スペクトログラムシーケンス202を変分埋め込み220にエンコードし、それによって、変分埋め込み220は、人間の音声の話された発話に対応する基準オーディオ信号201からスタイル/韻律情報を解きほぐす。したがって、変分埋め込み220は、基準話者の韻律、感情、および/または話し方に寄与する感情および意図などの、基準話者の潜在状態に対応する。本明細書で使用されるように、変分埋め込み220は、スタイル情報と韻律情報の両方を含む。いくつかの例では、変分埋め込み220は、変分埋め込み220内のビット数によって表される容量を有する数値のベクトルを含む。基準オーディオ信号201からサンプリングされた基準メル周波数スペクトログラムシーケンス202は、長さLRおよび寸法DRを有し得る。本明細書で使用されるように、基準メル周波数スペクトログラムシーケンス202は、基準オーディオ信号201からサンプリング/抽出された複数の固定長の基準メル周波数スペクトログラムフレームを含む。各基準メル周波数スペクトログラムフレームは、5ミリ秒の持続時間を含み得る。
【0039】
VAEベースの残差エンコーダ180は、話し方の潜在表現(すなわち、変分埋め込み(z))の教師なし学習を可能にする事後ネットワークに対応する。VAEネットワークを使用して変分埋め込みを学習すると、ヒューリスティックベースのシステムと比較して、スタイル制御を簡素化するための、もつれの解消、スケーリング、および組合せの有利な特性が得られる。いくつかの実装形態では、図2に示されるように、VAEベースの残差エンコーダ180は、基準メル周波数スペクトログラムシーケンス202全体からグローバル変分埋め込み220をエンコードするグローバルVAEネットワークを含む。ここで、グローバルVAEネットワーク400aは、それぞれがマルチヘッドアテンションを有する軽量畳み込み(LConv)ブロックの2つのスタック410、420を含む。図5は、ゲート線形ユニット(GLU)層502、GLU層502の出力を受信するように構成されたLConv層504、およびフィードフォワード(FF)層506を有する例示的なLConvブロックの概略図500を示している。例示的なLConvブロック500はまた、LConv層504の出力をGLU層502への入力と連結するように構成された第1の残余接続508(たとえば、第1の連結器508)を含む。FF層506は、LConv層504の出力をGLU層502への入力と連結する第1の残留接続508を入力として受信するように構成されている。例示的なLConvブロック500はまた、FF層506の出力を第1の残余接続508と連結するように構成された第2の残余接続510(たとえば、第2の連結器510)を含む。例示的なLConvブロック500は、構造ReLU(W1X+b1)W2+b2を使用してFF層506においてFFミキシングを実施し得、ここで、W1は次元を4倍に増加させる。グローバルVAEネットワーク180の第1のスタック410および第2のスタック420における各LConvブロックは、8つのヘッドを含み得る。いくつかの例では、LConvブロックの第1のスタック410は、3つの17×1のLConvブロックを含み、第1のスタック410に続くLConvブロックの第2のスタック420は、3×1の畳み込みを用いてインターリーブされた5つの17×1のLConvブロックを含む。LConvブロック410、420の2つのスタック410、420のこの構成により、グローバルVAEネットワーク180は、最終的なグローバル変分埋め込み220を取得するためにグローバル平均プーリングを適用する前に、潜在表現を連続的にダウンサンプリングできるようになる。投影層430は、LConvブロックの第2のスタック420から出力されるグローバル変分埋め込み220の次元を投影し得る。たとえば、LConvブロックの第2スタック420から出力されるグローバル変分埋め込み220は8つの次元を有し得、投影層430はその次元を32に投影し得る。
【0040】
他の実装形態では、VAEベースの残差エンコーダ180は、図2に示されるグローバルVAEネットワークの代わりに非自己回帰ニューラルネットワーク200が採用し得る音素レベルのきめの細かいVAEネットワークを含む。図2に示されるグローバルVAEネットワークが、基準メル周波数スペクトログラムシーケンス202を発話レベルでグローバル変分埋め込み220にエンコードする一方、音素レベルのきめの細かいVAEネットワークは、入力テキストシーケンス206内の各音素に関連付けられる基準メル周波数スペクトログラムシーケンス202からのスペクトログラムフレームを、それぞれの音素レベルの変分埋め込み220にエンコードするように構成されている。より具体的には、音素レベルのきめの細かいVAEネットワークは、基準メル周波数スペクトログラムシーケンス202を、入力テキストシーケンス206から抽出された音素のシーケンスにおける各音素と位置合わせし、音素レベルの変分埋め込み220のシーケンスをエンコードし得る。したがって、音素レベルのきめの細かいVAEネットワークによってエンコードされた音素のレベル変分埋め込み220のシーケンスにおける各音素のレベル変分埋め込み220は、入力テキストシーケンス206から抽出された音素のシーケンスにおけるそれぞれの音素を含む基準メル周波数スペクトログラムシーケンス202からの1つまたは複数のスペクトログラムフレームのそれぞれのサブセットをエンコードする。音素レベルのきめの細かいVAEネットワークは、最初に、基準メル周波数スペクトログラムシーケンス202を、基準メル周波数スペクトログラムシーケンス202に関連付けられる発話を話した話者を表す話者埋め込みysと、入力テキストシーケンス206から抽出された音素のシーケンスにおける音素ごとの音素位置情報を示す位置埋め込み216とに連結し得る。各位置埋め込み216は、入力テキストシーケンス206から抽出された音素のシーケンスにおけるそれぞれの音素の特定の位置についての情報を含む固定長ベクトルを含み得る。続いて、この連結は、テキストエンコーダ210から出力される、層正規化されたエンコードされたテキストシーケンス219を用いてアテンションを計算するために、5つの8ヘッドの17×1のLConvブロックのスタックに適用される。
【0041】
引き続き図2を参照すると、テキストエンコーダ210は、入力テキストシーケンス206をテキストエンコーディングシーケンス219にエンコードする。テキストエンコーディングシーケンス219は、入力テキストシーケンス206から抽出された音声単位(たとえば、音素)のシーケンスのエンコードされた表現を含む。入力テキストシーケンス206は、それぞれが1つまたは複数の音素、すべての単語境界における沈黙、および句読点を持つ単語を含み得る。したがって、入力テキストシーケンス206は音素のシーケンスを含み、テキストエンコーダ210は、トークン埋め込みルックアップテーブル207から、音素のシーケンスにおける音素ごとのそれぞれのトークン埋め込みを受信し得る。ここで、それぞれのトークン埋め込みは音素埋め込みを含む。しかしながら、他の例では、トークン埋め込みルックアップテーブル207は、音素の代わりに、これらに限定されないが、サブ音素(たとえば、セノム)、書記素、単語片、または発話における単語などの、入力テキストシーケンス206に関連付けられる他のタイプの音声入力に対するトークン埋め込みを取得し得る。音素のシーケンスにおける各音素のそれぞれのトークン埋め込みを受信した後、テキストエンコーダ210は、それぞれのトークン埋め込みを処理し、各音素のそれぞれの変換された埋め込み209を生成するために、エンコーダプレネットニューラルネットワーク208を使用する。その後、畳み込み(Conv)ブロック212のバンクは、畳み込み出力213を生成するために、それぞれの変換された埋め込み209を処理することができる。いくつかの例では、Convブロック212のバンクは、3つの同一の5×1のConvブロックを含む。図4は、Conv層402、バッチ正規化層404、およびドロップアウト層406を有する例示的なConvブロックの概略図400を示している。トレーニング中、バッチ正規化層404は、内部共変量シフトを低減するためにバッチ正規化を適用し得る。ドロップアウト層406は、過剰適合を低減し得る。最後に、加算器214は、入力215を生成するために畳み込み出力213を位置埋め込み216と組み合わせ、セルフアテンションブロック218のスタックは、エンコードされたテキストシーケンス219を生成するために入力215を処理する。図示される例では、セルフアテンションブロック218のスタックは6つの変圧器ブロックを含む。他の例では、セルフアテンションブロック218は、トランスフォーマブロックの代わりにLConvブロックを含み得る。
【0042】
特に、各畳み込み出力213はセルフアテンションブロック218のスタックを同時に流れ、したがって、セルフアテンションブロック218のスタックは入力テキスト発話における各音素の位置/順序についての知識を持たないため、畳み込み出力213と組み合わされた位置埋め込み216は、入力テキストシーケンス206における各音素の順序を示す必要な位置情報を挿入する。対照的に、リカレントニューラルネットワーク(RNN)を組み込んだ自己回帰エンコーダは、各音素が入力テキストシーケンスから順番に解析されるため、本質的に各音素の順序を考慮する。しかしながら、マルチヘッドセルフアテンションを使用するセルフアテンションブロック218のスタックを統合するテキストエンコーダ210は、自己回帰エンコーダの再発を回避してトレーニング時間を大幅に短縮し、理論的には入力テキストシーケンス206におけるより長い依存関係を捕捉する。
【0043】
引き続き図2を参照すると、連結器222は、残差エンコーダ180からの変分埋め込み220、テキストエンコーダ210から出力されたエンコードされたテキストシーケンス219、および基準オーディオ信号を発した基準話者の話者アイデンティティ205を表す基準話者埋め込みysを連結する。持続時間デコーダ230は、入力テキストシーケンス206における音素のシーケンスにおける音素ごとの音素持続時間240を予測するための持続時間デコーダ230の出力238を生成するために、エンコードされたテキストシーケンス219、変分埋め込み220、および基準話者埋め込みysの連結224をデコードするように構成されている。いくつかの実装形態では、持続時間デコーダ230は、2つの独立した投影が後に続くセルフアテンションブロック232のスタックを含む。図示される例では、セルフアテンションブロックのスタックは4つの3×1のLConvブロックを含む。図5を参照して上述したように、セルフアテンションブロック232のスタックにおける各LConvブロックは、GLUユニット502、LConv層504、および残りの接続を有するFF層506を含み得る。持続時間デコーダ230は、音素ごとの非ゼロ持続時間235の確率を予測し、音素ごとの連続音素持続時間237を予測することによって、音素ごとの音素持続時間240を予測し得る。入力テキストシーケンス206における音素のシーケンスは、通常の音素、単語境界間の無音部分、および句読点を含むため、通常の音素のみが非ゼロ持続時間に関連付けられ、一方、無音部分および句読点は一般に非ゼロ持続時間に関連付けられる。したがって、持続時間デコーダ230は、非ゼロ持続時間235の確率を予測するために、2つの独立した活性化のうちの第1の活性化に続くシグモイド活性化234を使用し、音素ごとの連続音素持続時間を予測するために、2つの独立した投影のうちの第2の投影に続くソフトプラス活性化を使用する。音素ごとに、持続時間デコーダは、対応する音素について予測される非ゼロ持続時間235の確率がしきい値未満であるかどうかを判定し得、非ゼロ持続時間の確率がしきい値未満である場合、乗算器239は、対応する音素についてソフトプラス活性化236によって予測される連続音素持続時間237をゼロにし得る。そうではなく、非ゼロ持続時間の確率がしきい値以上である場合、予測される音素持続時間240は、ソフトプラス活性化236によって予測される連続音素持続時間237に等しく設定され得る。
【0044】
音素ごとの基準音素持続時間245は、隠れマルコフモデルベースの外部アライナなどの外部アライナを使用して基準オーディオ信号201からサンプリングされ得る。持続時間デコーダ230は、基準音素持続時間245と非ゼロ持続時間235の確率との間のクロスエントロピ(CE)損失項242を計算し得る。持続時間デコーダ230は、予測された音素持続時間240と基準音素持続時間245との間のL1損失項244を計算し得る。2レベルのCE242およびL1損失項244に基づく音素持続時間損失は、入力テキストシーケンス206に対して計算され得る。
【0045】
引き続き図2を参照すると、アップサンプリング層246は、持続時間デコーダ230の出力238を、基準音素持続時間245によって指定されるいくつかのフレームにアップサンプリングするために、基準オーディオ信号からサンプリングされた基準音素持続時間245を使用する。ここで、フレームの数は、基準メル周波数スペクトログラムシーケンス202の長さに対応する(すなわち、アップサンプリング層246によって生成されるフレームの数は、基準メル周波数スペクトログラムシーケンス202内の基準スペクトログラムフレームの数に等しい)。各音素内のそれぞれのフレーム位置をスペクトログラムデコーダ250に知らせるために、1つまたは複数の位置埋め込み216がアップサンプリング層246の出力238に追加され得る。1つまたは複数の異なるタイプの位置埋め込み216は、音素内のフレーム位置のトランスフォーマスタイルの正弦波埋め込み、音素持続時間のトランスフォーマスタイルの正弦波埋め込み、または音素内のフレームの分数進行のうちの少なくとも1つを含み得る。いくつかの実装形態では、前述の位置埋め込み216のいくつかの異なるタイプが追加されるとき、重み付け層248は、1つまたは複数の位置埋め込み216を持続時間デコーダ230の出力238と組み合わせるために、位置重み249を学習する。たとえば、チャネルおよび位置埋め込みごとに、重み付け層248は、非自己回帰ニューラルネットワーク200に、どの位置埋め込み216をスペクトログラムデコーダ250にコピーするかを選択することを学習させるために、ソフトマックス正規化重みを学習し得る。
【0046】
スペクトログラムデコーダ250は、重み付き位置埋め込み216と結合された持続時間デコーダ230のアップサンプリングされた出力238を入力として受信することと、入力テキストシーケンス206に対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンス302を出力として生成することとを行うように構成されている。スペクトログラムデコーダ250は、マルチヘッドアテンションを備えた複数のセルフアテンションブロック252、252a~nのスタックを含み得る。いくつかの例では、スペクトログラムデコーダ250は、0.1ドロップアウトを有する6つの8ヘッドの17×1のLConvブロックを含む。スペクトログラムデコーダ250は、6つより多いか少ないLConvブロックを含み得る。図5を参照して上述したように、セルフアテンションブロック232のスタックにおける各LConvブロックは、GLUユニット502、LConv層504、および残りの接続を有するFF層506を含み得る。他の例では、スタックにおける各セルフアテンションブロック252は、同一の変圧器ブロックを含む。
【0047】
いくつかの実装形態では、スペクトログラムデコーダ250は、セルフアテンションブロック252、252a~nのスタックにおける各セルフアテンションブロック252からの出力として、それぞれの予測されたメル周波数スペクトログラムシーケンス302、302a~nを生成する。ネットワーク200は、それぞれの予測されたメル周波数スペクトログラムシーケンス302のフレームの数が、残差エンコーダ180に入力される基準メル周波数スペクトログラムシーケンス202のフレームの数と等しくなるようにトレーニングされ得る。図示される例では、各セルフアテンションブロック252a~nは、基準メル周波数スペクトログラムシーケンス202の次元と一致する次元を有するそれぞれの予測されたメル周波数スペクトログラムシーケンス302a~nを生成するために、セルフアテンションブロック252からの出力253を投影する対応する投影層254a~nとペアになっている。いくつかの例では、投影層254は、128ビンの予測されたメル周波数スペクトログラムシーケンス302を投影する。複数のメル周波数スペクトログラムシーケンス302a~nを予測することによって、非自己回帰ニューラルネットワーク200は、反復スペクトログラム損失を使用してトレーニングされ得る。すなわち、それぞれの予測されたメル周波数スペクトログラムシーケンス302a~nごとに、それぞれのスペクトログラム損失270、270a~nが、対応する予測されたメル周波数スペクトログラムシーケンス302および基準メル周波数スペクトログラムシーケンス202に基づいて決定され得る。それぞれのスペクトログラム損失270は、L1損失項を含み得る。たとえば、第1のスペクトログラム損失270aは、第1の予測されたメル周波数スペクトログラムシーケンス302aおよび基準メル周波数スペクトログラムシーケンス202に基づいて決定され得、第2のスペクトログラム損失270bは、第1の予測されたメル周波数スペクトログラムシーケンス302aおよび基準メル周波数スペクトログラムシーケンス202に基づいて決定され得、それぞれのスペクトログラム損失270a~nのすべてが予測されたメル周波数スペクトログラムシーケンス302a~nを反復して決定するまで同様である。スペクトログラム損失270は、最終スペクトログラム損失280を生成するために集約され得る。最終スペクトログラム損失280は、反復L1損失項280に対応し得る。スペクトログラム損失270a~nを集約することは、最終スペクトログラム損失280を取得するためにスペクトログラム損失270a~nを合計することを含み得る。任意で、スペクトログラム損失を集約することは、スペクトログラム損失を平均することを含み得る。
【0048】
ディープニューラルネットワーク200は、それぞれの予測されたメル周波数スペクトログラムシーケンス302におけるフレームの数が、残差エンコーダ180に入力される基準メル周波数スペクトログラムシーケンス202におけるフレームの数と等しくなるようにトレーニングされ得る。さらに、ディープニューラルネットワーク200は、基準メル周波数スペクトログラムシーケンス202および予測されたメル周波数スペクトログラムシーケンス302に関連付けられるデータが互いに実質的に一致するようにトレーニングされる。予測されたメル周波数スペクトログラムシーケンス302は、基準オーディオ信号201の韻律/スタイル表現を暗黙的に提供し得る。
【0049】
図3は、図2の非自己回帰ディープニューラルネットワーク200によってトレーニングされた非自己回帰TTSモデル300の例を示している。具体的には、図3は、入力テキスト発話320のメル周波数スペクトログラムシーケンス302を予測するために選択された変分埋め込み220を使用するTTSモデル300を示しており、これにより、選択された変分埋め込み220は、テキスト発話320の意図された韻律/スタイルを表す。推論中、トレーニングされたTTSモデル300は、コンピューティングシステム120またはユーザコンピューティングデバイス10上で実行され、入力テキスト発話320に対応するメル周波数スペクトログラムシーケンス302を予測するために、選択された変分埋め込み220を使用し得る。ここで、TTSモデル300は、テキスト発話320の意図された韻律/スタイルを表す変分埋め込み220をストレージ185から選択する。いくつかの例では、ユーザは、ユーザがテキスト発話320に対して結果として生じる合成音声152に伝えたい意図された韻律/スタイルの選択を示すユーザ入力指示を提供し、TTSモデル300は、意図された韻律/スタイルを表す適切な変分埋め込み220をデータストレージ185から選択する。これらの例では、意図された韻律/スタイルは、意図された韻律/スタイルで話す特定の話者に関連付けられる話者ID205を示すこと、および/または意図された韻律/スタイルに対応する特定の韻律バーチカル(prosodic vertical)(たとえば、ニュースキャスタ、スポーツキャスタなど)を指定することによって、ユーザによって選択され得る。選択された変分埋め込み220は、VAEベースの残差エンコーダ180からサンプリングされた以前の変分埋め込み220に対応し得る。トレーニングされたTTSモデル300は、合成器155を使用して、それぞれの入力テキスト発話320に対して意図された韻律/スタイル(たとえば、選択された変分埋め込み220)を有する合成音声152を生成する。すなわち、選択された変分埋め込み220は、残差エンコーダ180に記憶された意図された韻律/スタイル(たとえば、ニュースキャスタ、スポーツキャスタなど)を含み得る。選択された変分埋め込み220は、入力テキスト発話320の合成音声152を介して、意図された韻律/スタイルを伝える。
【0050】
追加の実装形態では、トレーニングされたTTSモデル300は、入力テキスト発話320のメル周波数スペクトログラムシーケンス302を予測する際に使用する変分埋め込み220をオンザフライで抽出/予測するために、推論中に残差エンコーダ180を使用する。たとえば、残差エンコーダ180は、意図された韻律/スタイル(たとえば、「このように言ってください」)を伝える人間のユーザによって発された基準オーディオ信号201(図2)を受信し、意図された韻律/スタイルを表す対応する変分埋め込み220を抽出/予測し得る。その後、トレーニングされたTTSモデル300は、基準オーディオ信号201によって伝えられる意図された韻律/スタイルを、入力テキスト発話320について予測されたメル周波数スペクトログラムシーケンス302に効果的に転送するために、変分埋め込み220を使用し得る。したがって、表現力豊かな音声152に合成される入力テキスト発話320と、表現力豊かな音声152に転送される意図された韻律/スタイルを伝える基準オーディオ信号201は、異なる言語内容を含む可能性がある。
【0051】
特に、テキストエンコーダ210は、テキスト発話320から抽出された音素のシーケンスをエンコードされたテキストシーケンス219にエンコードする。テキストエンコーダ210は、トークン埋め込みルックアップテーブル207から、テキスト発話320から抽出された音素のシーケンスにおける音素ごとにそれぞれのトークン埋め込みを受信し得る。テキスト発話320から抽出された音素のシーケンスにおける各音素のそれぞれのトークン埋め込みを受信した後、テキストエンコーダ210は、それぞれのトークン埋め込みを処理して、各音素のそれぞれの変換された埋め込み209を生成するために、エンコーダプレネットニューラルネットワーク208を使用する。その後、Convブロック212のバンク(たとえば、3つの同一の5×1のConvブロック)は、畳み込み出力213を生成するために、それぞれの変換された埋め込み209を処理する。最後に、加算器214は、入力215を生成するために畳み込み出力213を位置埋め込み216と組み合わせ、セルフアテンションブロック218のスタック(たとえば、6つの変換ブロック)は、エンコードされたテキストシーケンス219を生成するために入力215を処理する。畳み込み出力213と組み合わされた位置埋め込み216は、テキスト発話320の音素のシーケンスにおける各音素の順序を示す必要な位置情報を提供する。
【0052】
引き続き図3を参照すると、連結器222は、連結224を生成するために、選択された変分埋め込み220、エンコードされたテキストシーケンス219、および任意で基準話者埋め込みysを連結する。ここで、基準話者埋め込みysは、選択された変分埋め込み220に関連付けられる1つまたは複数の基準音声信号201を発した基準話者の話者アイデンティティ205、あるいは結果として得られる合成音声152において伝えられる声の特性を有する他の基準話者の話者アイデンティティ205を表し得る。持続時間デコーダ230は、入力テキスト発話320における音素のシーケンスにおける音素ごとの音素持続時間240を予測するための持続時間デコーダ230の出力238を生成するために、エンコードされたテキストシーケンス219、選択された変分埋め込み220、および基準話者埋め込みysの連結224をデコードするように構成される。
【0053】
いくつかの実装形態では、持続時間デコーダ230は、セルフアテンションブロック232のスタック(たとえば、4つの3×1のLConvブロック)と、その後に2つの独立した投影234、236を含む。持続時間デコーダ230は、音素ごとの非ゼロ持続時間235の確率を予測し、音素ごとの連続音素持続時間237を予測することによって、音素ごとの音素持続時間を予測し得る。入力テキスト発話320における音素のシーケンスは、通常の音素、単語境界間の無音部分、および句読点を含むため、通常の音素のみが非ゼロ持続時間に関連付けられ、一方、無音部分および句読点は一般に非ゼロ持続時間に関連付けられる。したがって、持続時間デコーダ230は、非ゼロ持続時間235の確率を予測するために、2つの独立した活性化のうちの第1の活性化に続くシグモイド活性化234を使用し、音素ごとの連続音素持続時間237を予測するために、2つの独立した投影のうちの第2の投影に続くソフトプラス活性化236を使用する。音素ごとに、持続時間デコーダ230は、非ゼロ持続時間235の確率がしきい値未満であるかどうかを判定し、非ゼロ持続時間235の確率がしきい値未満である場合、乗算器239は、対応する音素についてソフトプラス活性化236によって予測される連続音素持続時間237をゼロにし得る。そうではなく、非ゼロ持続時間235の確率がしきい値以上である場合、予測される音素持続時間240は、ソフトプラス活性化236によって予測される連続音素持続時間237に等しく設定され得る。
【0054】
トレーニングされたTTSモデル300は、持続時間デコーダ230の出力238をいくつかのフレームにアップサンプリングするために、予測された音素持続時間240を使用するアップサンプリング層246を含み得る。ここで、フレームの数は、予測された音素持続時間240および対応する入力テキスト発話320の出力238によって決定される予測されたスペクトログラム302の予測長に対応する。TTSモデル300は、入力テキスト発話320の音素のシーケンスにおける音素ごとの音素位置情報を表す1つまたは複数の位置埋め込み216を取得し得る。1つまたは複数の位置埋め込み216は、各音素内のそれぞれのフレーム位置をスペクトログラムデコーダ250に知らせるために、アップサンプリング層246によって生成される出力238のフレームの数に追加され得る。すなわち、セルフアテンションブロック252のスタックは、入力テキスト発話320における各音素の位置/順序についての知識を持たない可能性があるため、位置埋め込み216は、音素シーケンスにおける各音素の必要な順序を提供する。いくつかの実装形態では、いくつかの異なるタイプの位置埋め込み216が出力238に追加され、重み付け層248は、1つまたは複数の位置埋め込み216を持続時間デコーダ230の出力238と組み合わせるために、位置重み249を学習する。たとえば、チャネルおよび位置埋め込み216ごとに、重み付け層248は、非自己回帰ニューラルネットワーク200に、どの位置埋め込み216をスペクトログラムデコーダ250にコピーするかを選択することを学習させるために、ソフトマックス正規化重みを学習し得る。1つまたは複数の位置埋め込み216は、以下のタイプの位置埋め込みを含み得る:それぞれ音素内のフレーム位置を示すトランスフォーマスタイルの正弦波埋め込み、それぞれが、それぞれの音素の予測された音素持続時間を示すトランスフォーマスタイルの正弦波埋め込み、および音素内のフレームの分数進行。
【0055】
スペクトログラムデコーダ250は、持続時間デコーダ230の出力238から導出された学習された位置重み249とアップサンプリング後の予測された音素持続時間240に基づいて、テキスト発話320の予測されたメル周波数スペクトログラムシーケンス302を生成するように構成されている。ここで、予測されたメル周波数スペクトログラムシーケンス302は、選択された変分埋め込み220によって指定される意図された韻律/スタイルを有する。テキスト発話320の予測されたメル周波数スペクトログラムシーケンス302は、位置埋め込み216と、持続時間デコーダ230の出力238のいくつかのフレームへのアップサンプリングとに基づく。
【0056】
スペクトログラムデコーダ250は、セルフアテンションブロック252a~nのスタックにおける最後のセルフアテンションブロック252からの出力として、それぞれの予測されたメル周波数スペクトログラムシーケンス302を生成する。ここで、スペクトログラムデコーダ250のセルフアテンションブロック252のスタックにおける各セルフアテンションブロック252は、同一のLConvブロックまたは同一のトランスフォーマブロックのうちの1つを含む。いくつかの例では、スペクトログラムデコーダ250は、0.1ドロップアウトを有する6つの8ヘッドの17×1のLConvブロックを含む。セルフアテンションブロック252ごとの最後のフィードフォワード(FF)層506(図5)の出力は、後続のセルフアテンションブロック252への入力として提供される。すなわち、セルフアテンションブロック252a~nのスタックにおける第1のセルフアテンションブロック252aのGLUユニット502(図5)およびLConv層504(図5)は、持続時間デコーダ230からの出力238および予測された音素持続時間240を処理し、第1のセルフアテンションブロック252aの最後のFF層506からの出力は、セルフアテンションブロック252のスタックにおける後続の第2のセルフアテンションブロック252bへの入力として提供される。各セルフアテンションブロック252の最後のFF層の出力は、セルフアテンションブロック252のスタックにおける最後のセルフアテンションブロック252nに到達するまで、後続のセルフアテンションブロック252への入力として提供される。セルフアテンションブロック252のスタックにおける最後のセルフアテンションブロック252n(たとえば、第6のセルフアテンションブロック252)は、それぞれの予測されたメル周波数スペクトログラムシーケンス302を生成するために、最後のセルフアテンションブロック252からの出力253を投影する対応する投影層254とペアになっている。
【0057】
スペクトログラムデコーダ250によって生成された予測されたメル周波数スペクトログラムシーケンス302は、入力テキスト発話320に対応し、選択された変分埋め込み220によって示される意図された韻律/スタイルを伝える。トレーニングされたTTSモデル300は、合成音声152を示す時間領域オーディオ波形に変換するために、入力テキスト発話320の予測されたメル周波数スペクトログラムシーケンス302を合成器155に提供する。合成音声152は、選択された変分埋め込み220によって示される意図された韻律/スタイルを含む、入力テキスト発話320の口頭表現として聴覚的に出力され得る。
【0058】
図6は、非自己回帰TTSモデルをトレーニングするためのコンピュータ実装方法600の動作の例示的な構成のフローチャートである。方法600は、ステップ602において、基準オーディオ信号201と対応する入力テキストシーケンス206を含むトレーニングデータを受信するステップを含む。基準オーディオ信号201は話された発話を含み、入力テキストシーケンス206は基準オーディオ信号201のトランスクリプトに対応する。方法600は、ステップ604において、残差エンコーダ180を使用して、基準オーディオ信号201を変分埋め込み220にエンコードするステップを含む。変分埋め込み220は、基準オーディオ信号201からスタイル/韻律情報を解きほぐす。方法600は、ステップ606において、テキストエンコーダ210を使用して、入力テキストシーケンス206をエンコードされたテキストシーケンス219にエンコードするステップを含む。方法600は、ステップ608において、持続時間デコーダ230を使用して、エンコードされたテキストシーケンス219および変分埋め込み220に基づいて、入力テキストシーケンス206内の音素ごとの音素持続時間240を予測するステップを含む。
【0059】
方法600は、ステップ610において、予測された音素持続時間240と、入力テキストシーケンスに206おける音素ごとに基準オーディオ信号201からサンプリングされた基準音素持続時間245とに基づいて、音素持続時間損失244を決定するステップを含む。方法600は、ステップ612において、セルフアテンションブロック252のスタックを含むスペクトログラムデコーダ250からの出力として、持続時間デコーダ230の出力238に基づいて、入力テキストシーケンス206に対する1つまたは複数の予測されたメル周波数スペクトログラムシーケンス302を生成するステップを含む。方法600は、ステップ614において、1つまたは複数の予測されたメル周波数スペクトログラムシーケンス302と、基準オーディオ信号201からサンプリングされた基準メル周波数スペクトログラムシーケンスとに基づいて、最終スペクトログラム損失280を決定するステップを含む。方法600は、ステップ616において、最終スペクトログラム損失280と、入力テキストシーケンス206における音素ごとに決定された対応する音素持続時間損失244に基づいて、TTSモデル300をトレーニングするステップとを含む。
【0060】
図7は、トレーニングされた非自己回帰TTSモデル300を実行するためのコンピュータ実装方法700の動作の例示的な構成のフローチャートである。方法700は、ステップ702において、音声152に合成されるテキスト発話320を受信するステップを含む。方法700は、ステップ704において、非自己回帰TTSモデル300のテキストエンコーダ210を使用して、テキスト発話320から抽出された音素のシーケンスをエンコードされたテキストシーケンス219にエンコードするステップを含む。方法700は、ステップ706において、テキスト発話320の変分埋め込み220を選択するステップを含む。変分埋め込み220は、テキスト発話320を音声152に合成するための意図された韻律/スタイルを指定する。方法700は、ステップ708において、音素のシーケンスにおける音素ごとに、非自己回帰TTSモデル300の持続時間デコーダ230を使用して、エンコードされたテキストシーケンス219および選択された変分埋め込み220に基づいて、対応する音素の音素持続時間240を予測するステップを含む。方法700は、ステップ710において、セルフアテンションブロック252のスタックを含む非自己回帰TTSモデル300のスペクトログラムデコーダ250からの出力として、持続時間デコーダ230の出力238および予測音素持続時間240に基づいて、テキスト発話320の予測されたメル周波数スペクトログラムシーケンス302を生成するステップを含む。予測されたメル周波数スペクトログラムシーケンス302は、選択された変分埋め込み220によって指定される意図された韻律/スタイルを有する。
【0061】
図8は、本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス800の概略図である。コンピューティングデバイス800は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形式のデジタルコンピュータを表すことを意図している。本明細書に示されるコンポーネント、それらの接続と関係、およびそれらの機能は、例示のみを目的としており、本明細書において説明および/または請求される発明の実装形態を限定することを意図するものではない。
【0062】
コンピューティングデバイス800は、プロセッサ810、メモリ820、ストレージデバイス830、メモリ820および高速拡張ポート850に接続する高速インターフェース/コントローラ840、および低速バス870とストレージデバイス830に接続する低速インターフェース/コントローラ860を含む。コンポーネント810、820、830、840、850、および860の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で搭載され得る。プロセッサ810は、高速インターフェース840に接続されたディスプレイ880などの外部入力/出力デバイスのグラフィカルユーザインターフェース(GUI)用のグラフィック情報を表示するために、メモリ820またはストレージデバイス830に記憶された命令を含む、コンピューティングデバイス800内で実行するための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよびメモリのタイプとともに、必要に応じて使用され得る。また、複数のコンピューティングデバイス800が接続されてもよく、各デバイスは必要な動作の一部を提供する(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0063】
メモリ820は、コンピューティングデバイス800内に情報を非一時的に記憶する。メモリ820は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ820は、コンピューティングデバイス800によって使用されるプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理デバイスであってもよい。不揮発性メモリの例は、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能なプログラマブル読取り専用メモリ(EPROM)/電子的に消去可能なプログラマブル読取り専用メモリ(EEPROM)(たとえば、通常、ブートプログラムなどのファームウェアに使用される)を含むが、これらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープを含むが、これらに限定されない。
【0064】
ストレージデバイス830は、コンピューティングデバイス800に大容量ストレージを提供することができる。いくつかの実装形態では、ストレージデバイス830はコンピュータ可読媒体である。様々な異なる実装形態では、ストレージデバイス830は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の同様の固体メモリデバイス、または、ストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイであり得る。追加の実装形態では、コンピュータプログラム製品は、情報担体に具体的に組み込まれる。コンピュータプログラム製品は、実行されると上記のような1つまたは複数の方法を実施する命令を含む。情報担体は、メモリ820、ストレージデバイス830、またはプロセッサ810上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0065】
高速コントローラ840は、コンピューティングデバイス800の帯域幅を大量に消費する動作を管理し、一方、低速コントローラ860は、帯域幅をあまり消費しない動作を管理する。そのような職務の割り当ては単なる例である。いくつかの実装形態では、高速コントローラ840は、メモリ820、ディスプレイ880(たとえば、グラフィックプロセッサまたはアクセラレータを通じて)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート850に結合される。いくつかの実装形態では、低速コントローラ860は、ストレージデバイス830および低速拡張ポート890に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポート890は、たとえば、ネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイス、あるいはスイッチまたはルータなどのネットワーキングデバイスに結合され得る。
【0066】
コンピューティングデバイス800は、図面に示されるように、多くの異なる形式で実装され得る。たとえば、それは、標準的なサーバ800aとして、またはそのようなサーバ800aのグループにおいて複数回、ラップトップコンピュータ800bとして、またはラックサーバシステム800cの一部として実装され得る。
【0067】
本明細書に記載されるシステムおよび技法の様々な実装形態は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現することができる。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【0068】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実施させるコンピュータソフトウェアを指す場合がある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。アプリケーションの例は、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが含まれるが、これらに限定されない。
【0069】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高レベルの手続き型言語および/またはオブジェクト指向プログラミング言語、ならびに/あるいはアセンブリ言語/機械語において実装することができる。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令および/またはデータを、機械命令を機械可読信号として受信する機械可読媒体を含むプログラマブルプロセッサに提供するために使用される、任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能媒体ロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0070】
本明細書において説明されるプロセスおよびロジックフローは、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実施することができ、入力データに作用して出力を生成することによって機能を実施するために、1つまたは複数のコンピュータプログラムを実行する。プロセスおよび論理フローはまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によって実施することができる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリ、ランダムアクセスメモリ、またはその両方から命令とデータを受信する。コンピュータの必須要素は、命令を実施するプロセッサと、命令とデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気、光磁気ディスク、または光ディスクを含むか、またはそれらからデータを受信するか、またはそれらにデータを転送するか、またはその両方を行うために動作可能に結合される。しかしながら、コンピュータにそのようなデバイスが搭載されている必要はない。コンピュータプログラム命令およびデータを記憶するために適したコンピュータ可読媒体は、例として、EPROM、EEPROM、フラッシュメモリデバイスなどの半導体メモリデバイスを含む、あらゆる形式の不揮発性メモリ、メディア、およびメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む。プロセッサとメモリは、専用ロジック回路によって補ったり、専用ロジック回路に組み込んだりすることができる。
【0071】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、情報をユーザに表示するためのディスプレイデバイス、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーン、ならびに任意で、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有するコンピュータ上で実装することができる。ユーザとの対話を提供するために他の種類のデバイスを使用することもでき、たとえば、ユーザに提供されるフィードバックは、たとえば視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなど、任意の形式の感覚的フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力などを含む、任意の形式で受け取ることができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、たとえば、ウェブブラウザから受信したリクエストに応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0072】
多くの実装形態を説明してきた。それにも関わらず、本開示の趣旨および範囲から逸脱することなく、様々な変更が行われてよいことが理解されるであろう。したがって、他の実装形態も添付の特許請求の範囲に含まれる。
【符号の説明】
【0073】
10 ユーザコンピューティングデバイス
100 システム
120 コンピューティングシステム
122 データ処理ハードウェア
124 メモリハードウェア
152 合成音声
155 合成器
155 ボコーダネットワーク
180 残差エンコーダ
185 データストレージ
200 ディープニューラルネットワーク
200 非自己回帰ニューラルネットワーク
201 基準オーディオ信号
202 基準メル周波数スペクトログラムシーケンス
205 話者アイデンティティ
206 入力テキストシーケンス
207 トークン埋め込みルックアップテーブル
208 エンコーダプレネットニューラルネットワーク
209 変換された埋め込み
210 テキストエンコーダ
212 畳み込み(Conv)ブロック
213 畳み込み出力
214 加算器
215 入力
216 位置埋め込み
218 セルフアテンションブロック
219 テキストエンコーディングシーケンス
219 エンコードされたテキストシーケンス
220 変分埋め込み
222 連結器
224 連結
230 持続時間デコーダ
232 セルフアテンションブロック
234 シグモイド活性化
234 投影
235 非ゼロ持続時間
236 ソフトプラス活性化
236 投影
237 連続音素持続時間
238 出力
240 音素持続時間
242 クロスエントロピ(CE)損失項
244 L1損失項
245 基準音素持続時間
246 アップサンプリング層
248 重み付け層
249 位置重み
250 スペクトログラムデコーダ
252 セルフアテンションブロック
252a~n セルフアテンションブロック
252a セルフアテンションブロック
252b セルフアテンションブロック
252n セルフアテンションブロック
253 出力
254 投影層
254a~n 投影層
270 スペクトログラム損失
270a~n スペクトログラム損失
270b 第2のスペクトログラム損失
280 最終スペクトログラム損失
300 非自己回帰ニューラルTTSモデル
302 メル周波数スペクトログラムシーケンス
302 予測されたスペクトログラム
302a 第1の予測されたメル周波数スペクトログラムシーケンス
302a~n メル周波数スペクトログラムシーケンス
320 テキスト発話
320 入力テキスト発話
400 Convブロックの概略図
400a グローバルVAEネットワーク
402 Conv層
404 バッチ正規化層
406 ドロップアウト層
410 第1のスタック
420 第2のスタック
430 投影層
500 LConvブロックの概略図
500 LConvブロック
502 ゲート線形ユニット(GLU)層
504 LConv層
506 フィードフォワード(FF)層
508 第1の残余接続
508 第1の連結器
510 第2の残余接続
510 第2の連結器
600 コンピュータ実装方法
700 コンピュータ実装方法
800 コンピューティングデバイス
800a 標準的なサーバ
800b ラップトップコンピュータ
800c ラックサーバシステム
810 プロセッサ
820 メモリ
830 ストレージデバイス
840 高速インターフェース/コントローラ
850 高速拡張ポート
860 低速インターフェース/コントローラ
870 低速バス
880 ディスプレイ
890 低速拡張ポート
図1
図2
図3
図4
図5
図6
図7
図8