(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-23
(45)【発行日】2025-07-01
(54)【発明の名称】自己回帰生成ニューラルネットワークを使用するオーディオ生成
(51)【国際特許分類】
G10L 25/30 20130101AFI20250624BHJP
【FI】
G10L25/30
(21)【出願番号】P 2024531121
(86)(22)【出願日】2023-09-07
(86)【国際出願番号】 US2023032168
(87)【国際公開番号】W WO2024054556
(87)【国際公開日】2024-03-14
【審査請求日】2024-07-22
(32)【優先日】2022-09-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2023-01-26
(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)【発明者】
【氏名】アンドレア・アゴスティネッリ
(72)【発明者】
【氏名】ティモ・イマニュエル・デンク
(72)【発明者】
【氏名】アントワーヌ・カイヨン
(72)【発明者】
【氏名】ジェシー・エンジェル
(72)【発明者】
【氏名】マウロ・ヴェルゼッティ
(72)【発明者】
【氏名】クリスティアン・フランク
(72)【発明者】
【氏名】マシュー・シャリフィ
(72)【発明者】
【氏名】アダム・ジョセフ・ロバーツ
【審査官】本多 美優梨
(56)【参考文献】
【文献】特開2018-141915(JP,A)
【文献】特開2007-148039(JP,A)
【文献】米国特許出願公開第2022/0028367(US,A1)
【文献】国際公開第2022/035586(WO,A1)
【文献】音楽生成AIの現状と可能性 2022年度版,第6回 AI・人工知能 EXPO【春】 ,2022年05月11日
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10
G10L 25/00-25/93
(57)【特許請求の範囲】
【請求項1】
オーディオ信号の予測を生成するためのコンピュータ実装方法であって、
時間ウィンドウにまたがる複数の出力時間ステップの各々においてそれぞれのオーディオサンプルを有するオーディオ信号を生成するための要求を受信することと、
前記時間ウィンドウにまたがる複数の第1の時間ステップの各々においてそれぞれのセマンティックトークンを指定する前記オーディオ信号のセマンティック表現を取得することであって、各セマンティックトークンが、セマンティックトークンの語彙から選択され、対応する第1の時間ステップにおける前記オーディオ信号のセマンティックコンテンツを表す、前記取得することと、
1つまたは複数の生成ニューラルネットワークを使用して、かつ少なくとも前記セマンティック表現を条件として、前記オーディオ信号の音響表現を生成することであって、前記音響表現が、前記時間ウィンドウにまたがる複数の第2の時間ステップの各々において1つまたは複数のそれぞれの音響トークンのセットを指定し、第2の時間ステップの各々における前記1つまたは複数のそれぞれの音響トークンが、対応する第2の時間ステップにおける前記オーディオ信号の音響特性を表す、前記生成することと、
デコーダニューラルネットワークを使用して少なくとも前記音響表現を処理して前記オーディオ信号の前記予測を生成することと
を含む、方法。
【請求項2】
前記デコーダニューラルネットワークが、エンコーダニューラルネットワークによって生成された出力を使用して生成された音響表現から、前記デコーダニューラルネットワークによって生成された予測オーディオ信号の再構築品質を測定する目的で前記エンコーダニューラルネットワークと共同で訓練されているニューラルオーディオコーデックのデコーダニューラルネットワークである、請求項1に記載の方法。
【請求項3】
前記音響表現が、前記オーディオ信号を処理することによってエンコーダニューラルネットワークの出力から生成されるであろうグラウンドトゥルース音響表現の予測である、請求項
1に記載の方法。
【請求項4】
前記エンコーダニューラルネットワークが、前記複数の第2の時間ステップの各々においてそれぞれの埋め込みを出力し、前記グラウンドトゥルース音響表現が、前記それぞれの埋め込みの各々に量子化を適用することによって生成される、請求項3に記載の方法。
【請求項5】
前記量子化が、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数の前記ベクトル量子化器の階層を使用して各埋め込みをエンコードする残差ベクトル量子化であり、前記階層が、前記階層内の1つまたは複数の最初の位置にある1つまたは複数の粗いベクトル量子化器と、前記階層内の1つまたは複数の最後の位置にある1つまたは複数の細かい量子化器とを備え、
第2の時間ステップの各々における前記1つまたは複数のそれぞれの音響トークンのセットが、ベクトル量子化器ごとに、前記ベクトル量子化器の前記語彙から選択され、前記第2の時間ステップにおいて前記エンコーダニューラルネットワークによって生成されたグラウンドトゥルース埋め込みから前記ベクトル量子化器によって生成されるであろうグラウンドトゥルース音響トークンの予測であるそれぞれの音響トークンを含む、
請求項4に記載の方法。
【請求項6】
前記複数の第2の時間ステップの各々における前記1つまたは複数のそれぞれの音響トークンのセットが、前記第2の時間ステップにおける前記オーディオ信号の音響特性を表す埋め込みに適用された残差ベクトル量子化の出力の予測を集合的に表す複数の音響トークンを含み、
前記残差ベクトル量子化が、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数の前記ベクトル量子化器の階層を使用して前記埋め込みをエンコードし、前記階層が、前記階層内の1つまたは複数の最初の位置にある1つまたは複数の粗いベクトル量子化器と、前記階層内の1つまたは複数の最後の位置にある1つまたは複数の細かいベクトル量子化器とを備え、
第2の時間ステップの各々における前記音響トークンのセットが、ベクトル量子化器ごとに、前記ベクトル量子化器の前記語彙から選択されたそれぞれの音響トークンを含む、
請求項
1に記載の方法。
【請求項7】
1つまたは複数の生成ニューラルネットワークを使用して、かつ少なくとも前記セマンティック表現を条件として、前記オーディオ信号の音響表現を生成することが、
第1の生成ニューラルネットワークを使用して、前記階層内の前記1つまたは複数の粗いベクトル量子化器の各々について、少なくとも前記セマンティック表現を条件として、前記
粗いベクトル量子化器の前記第2の時間ステップの前記それぞれの音響トークンを生成することを含む
、
請求項6に記載の方法。
【請求項8】
前記第1の生成ニューラルネットワークが、第1の生成順序に従って前記音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり、各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンが、少なくとも前記セマンティック表現、及び前記第1の生成順序で前記特定の音響トークンに先行する任意の音響トークンを条件とする、請求項7に記載の方法。
【請求項9】
各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)前記特定の第2の時間ステップに先行する任意の第2の時間ステップにおける前記粗いベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)前記階層内の前記特定の
粗いベクトル量子化器に先行する任意の粗いベクトル量子化器の前記特定の第2の時間ステップにおける任意の音響トークンが前記第1の生成順序で先行する、請求項8に記載の方法。
【請求項10】
前記第1の生成ニューラルネットワークが、デコーダ専用のトランスフォーマアーキテクチャ、またはエンコーダ-デコーダのトランスフォーマアーキテクチャを有する、請求項
7に記載の方法。
【請求項11】
1つまたは複数の生成ニューラルネットワークを使用して、かつ少なくとも前記セマンティック表現を条件として、前記オーディオ信号の音響表現を生成することが、
第2の生成ニューラルネットワークを使用して、前記階層内の前記1つまたは複数の細かいベクトル量子化器の各々について、前記階層内の前記1つまたは複数の粗いベクトル量子化器の前記第2の時間ステップの前記それぞれの音響トークンを条件として、前記
細かいベクトル量子化器の前記第2の時間ステップの前記それぞれの音響トークンを生成することを含む、
請求項
7に記載の方法。
【請求項12】
前記第2の生成ニューラルネットワークが、前記セマンティック表現を条件としない、請求項11に記載の方法。
【請求項13】
前記第2の生成ニューラルネットワークが、第2の生成順序に従って前記音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり、各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンが、(i)前記1つまたは複数の粗いベクトル量子化器の前記第2の時間ステップの少なくともサブセットについての前記それぞれの音響トークン、及び(ii)前記第2の生成順序で前記特定の音響トークンに先行する前記音響トークンの少なくともサブセットを条件とする、請求項1
1に記載の方法。
【請求項14】
各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)前記特定の第2の時間ステップに先行する任意の第2の時間ステップにおける前記細かいベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)前記階層内の前記特定の
細かいベクトル量子化器に先行する任意の細かいベクトル量子化器についての前記特定の第2の時間ステップにおける任意の音響トークンが前記第2の生成順序で先行する、請求項13に記載の方法。
【請求項15】
各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンが、(i)前記第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である前記1つまたは複数の粗いベクトル量子化器についての前記それぞれの音響トークン、及び(ii)前記第2の生成順序で前記特定の第2の時間ステップに先行し、前記第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である第2の時間ステップにおける任意の音響トークンを条件とする、請求項1
3に記載の方法。
【請求項16】
前記第2の生成ニューラルネットワークが、デコーダ専用のトランスフォーマアーキテクチャ、またはエンコーダ-デコーダのトランスフォーマアーキテクチャを有する、請求項1
1に記載の方法。
【請求項17】
前記オーディオ信号のセマンティック表現を取得することが、
第3の生成ニューラルネットワークを使用して、前記セマンティック表現を自己回帰的に生成することを含む、
請求項
1に記載の方法。
【請求項18】
前記要求が、前記オーディオ信号のコンテキストを指定し、前記オーディオ信号が前記コンテキストを条件とする、請求項
1に記載の方法。
【請求項19】
前記コンテキストが、前記オーディオ信号のセマンティック特性を指定し、前記オーディオ信号のセマンティック表現を取得することが、
前記コンテキストを条件として前記セマンティック表現を生成することを含む、
請求項18に記載の方法。
【請求項20】
前記コンテキストが、前記オーディオ信号の音響特性を指定し、
1つまたは複数の生成ニューラルネットワークを使用して、かつ少なくとも前記セマンティック表現を条件として、前記オーディオ信号の音響表現を生成することが、
1つまたは複数の生成ニューラルネットワークを使用して、前記セマンティック表現及び前記コンテキストを条件として、前記オーディオ信号の音響表現を生成することを含む、
請求項1
8に記載の方法。
【請求項21】
前記複数の第2の時間ステップの各々における前記1つまたは複数のそれぞれの音響トークンのセットが、前記第2の時間ステップにおける前記オーディオ信号の音響特性を表す埋め込みに適用された残差ベクトル量子化の出力の予測を集合的に表す複数の音響トークンを含み、
前記残差ベクトル量子化が、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数の前記ベクトル量子化器の階層を使用して前記埋め込みをエンコードし、前記階層が、前記階層内の1つまたは複数の最初の位置にある1つまたは複数の粗いベクトル量子化器と、前記階層内の1つまたは複数の最後の位置にある1つまたは複数の細かいベクトル量子化器とを備え、
第2の時間ステップの各々における前記音響トークンのセットが、ベクトル量子化器ごとに、前記ベクトル量子化器の前記語彙から選択されたそれぞれの音響トークンを含み、
1つまたは複数の生成ニューラルネットワークを使用して、かつ前記セマンティック表現及び前記コンテキストを条件として、前記オーディオ信号の音響表現を生成することが、
第1の生成ニューラルネットワークを使用して、前記階層内の前記1つまたは複数の粗いベクトル量子化器の各々について、前記セマンティック表現及び前記コンテキストを条件として前記
粗いベクトル量子化器の前記第2の時間ステップの前記それぞれの音響トークンを生成することを含む
、
請求項20に記載の方法。
【請求項22】
デコーダニューラルネットワークを使用して少なくとも前記音響表現を処理して、前記オーディオ信号の前記予測を生成することが、
前記デコーダニューラルネットワークを使用して前記音響表現及び前記コンテキストの音響表現を処理して、前記オーディオ信号の前記予測を生成することを含む、
請求項2
0に記載の方法。
【請求項23】
前記コンテキストがオーディオ入力を含む、請求項1
8に記載の方法。
【請求項24】
前記コンテキストが視覚データを含む、請求項1
8に記載の方法。
【請求項25】
前記コンテキストがテキストデータを含む、請求項1
8に記載の方法。
【請求項26】
前記時間ウィンドウにまたがる第1の時間ステップの数及び第2の時間ステップの数が、前記時間ウィンドウにまたがる前記出力時間ステップの数よりも少ない、請求項
1に記載の方法。
【請求項27】
前記時間ウィンドウにまたがる前記第1の時間ステップの数が、前記時間ウィンドウにまたがる前記第2の時間ステップの数よりも少ない、請求項26に記載の方法。
【請求項28】
システムであって、
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項
1に記載の
方法のそれぞれの動作を実行させる命令を格納する1つまたは複数のストレージデバイスと
を備える、システム。
【請求項29】
1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項
1に記載の方法のそれぞれの動作を実行させる命令を格納する1つまたは複数のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年9月7日に出願された米国仮出願第63/404,528号及び2023年1月26日に出願された米国仮出願第63/441,412号に対する優先権を主張する。先行出願の開示は、本出願の開示の一部と見なされ、参照により本出願の開示に組み込まれる。
【背景技術】
【0002】
本明細書は、ニューラルネットワークを使用してオーディオを生成にすることに関する。
【0003】
ニューラルネットワークは、受信した入力に対する出力を予測するために1つまたは複数の非線形ユニットの層を使用する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠し層を含む。各隠し層の出力は、ネットワーク内の次の層、つまり、次の隠し層または出力層への入力として使用される。ネットワークの各層は、それぞれのパラメータセットの現在の値の入力に従って、受信した入力から出力を生成する。
【発明の概要】
【0004】
本明細書は、1つまたは複数の生成ニューラルネットワークを使用してオーディオ信号を生成する、1つまたは複数の場所にある1つまたは複数のコンピュータ上でコンピュータプログラムとして実装されるシステムを説明する。
【0005】
一般に、出力オーディオ信号は、指定された時間ウィンドウにまたがる出力時間ステップのシーケンスのそれぞれにおける音波のサンプルを含む出力オーディオ例である。例えば、出力時間ステップは、指定された時間ウィンドウ内で一定の間隔で配置できる。
【0006】
所与の出力時間ステップにおけるオーディオサンプルは、音波の振幅値であるか、または圧縮、圧伸、もしくはその両方が行われた振幅値であり得る。例えば、オーディオサンプルは、未処理の振幅値、または振幅値のmu-law圧伸表現であり得る。
【0007】
第1の態様によれば、オーディオ信号の予測を生成するための方法が提供され、方法は、時間ウィンドウにまたがる複数の出力時間ステップの各々においてそれぞれのオーディオサンプルを有するオーディオ信号を生成するための要求を受信することと、時間ウィンドウにまたがる複数の第1の時間ステップの各々においてそれぞれのセマンティックトークンを指定するオーディオ信号のセマンティック表現を取得することであって、各セマンティックトークンが、セマンティックトークンの語彙(a vocabulary of semantic tokens)から選択され、対応する第1の時間ステップにおけるオーディオ信号のセマンティックコンテンツを表す、取得することと、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現を条件として、オーディオ信号の音響表現を生成することであって、音響表現が、時間ウィンドウにまたがる複数の第2の時間ステップの各々において1つまたは複数のそれぞれの音響トークンのセットを指定し、それぞれの第2の時間ステップにおける1つまたは複数のそれぞれの音響トークンが、対応する第2の時間ステップにおけるオーディオ信号の音響特性を表す、生成することと、デコーダニューラルネットワークを使用して少なくとも音響表現を処理してオーディオ信号の予測を生成することとを含む。
【0008】
いくつかの実施態様では、デコーダニューラルネットワークは、エンコーダニューラルネットワークによって生成された出力を使用して生成された音響表現から、デコーダニューラルネットワークによって生成された予測オーディオ信号の再構築品質を測定する目的でエンコーダニューラルネットワークと共同で訓練されているニューラルオーディオコーデックのデコーダニューラルネットワークである。
【0009】
いくつかの実施態様では、音響表現は、オーディオ信号を処理することによってエンコーダニューラルネットワークの出力から生成されるであろうグラウンドトゥルース音響表現の予測である。
【0010】
いくつかの実施態様では、エンコーダニューラルネットワークは、複数の第2の時間ステップの各々においてそれぞれの埋め込みを出力し、グラウンドトゥルース音響表現は、それぞれの埋め込みの各々に量子化を適用することによって生成される。
【0011】
いくつかの実施態様では、量子化は、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数のベクトル量子化器の階層を使用して各埋め込みをエンコードする残差ベクトル量子化であり、階層は、階層内の1つまたは複数の最初の位置にある1つまたは複数の粗いベクトル量子化器と、階層内の1つまたは複数の最後の位置にある1つまたは複数の細かい量子化器とを含み、第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットは、ベクトル量子化器ごとに、ベクトル量子化器の語彙から選択され、第2の時間ステップにおいてエンコーダニューラルネットワークによって生成されたグラウンドトゥルース埋め込みからベクトル量子化器によって生成されるであろうグラウンドトゥルース音響トークンの予測であるそれぞれの音響トークンを含む。
【0012】
いくつの実施態様では、複数の第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットは、第2の時間ステップにおけるオーディオ信号の音響特性を表す埋め込みに適用された残差ベクトル量子化の出力の予測を集合的に表す複数の音響トークンを含み、残差ベクトル量子化は、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数のベクトル量子化器の階層を使用して埋め込みをエンコードし、階層は、階層内の1つまたは複数の最初の位置にある1つまたは複数の粗いベクトル量子化器と、階層内の1つまたは複数の最後の位置にある1つまたは複数の細かいベクトル量子化器とを含み、第2の時間ステップの各々における音響トークンのセットは、ベクトル量子化器ごとに、ベクトル量子化器の語彙から選択されたそれぞれの音響トークンを含む。
【0013】
いくつかの実施態様では、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現を条件として、オーディオ信号の音響表現を生成することは、第1の生成ニューラルネットワークを使用し、階層内の1つまたは複数の粗いベクトル量子化器の各々について、少なくともセマンティック表現を条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成することを含む。
【0014】
いくつかの実施態様では、第1の生成ニューラルネットワークは、第1の生成順序に従って音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり、各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、少なくともセマンティック表現、及び第1の生成順序で特定の音響トークンに先行する任意の音響トークンを条件とする。
【0015】
いくつかの実施態様では、各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)特定の第2の時間ステップに先行する任意の第2の時間ステップにおける粗いベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)階層内の特定のベクトル量子化器に先行する任意の粗いベクトル量子化器の特定の第2の時間ステップにおける任意の音響トークンが第1の生成順序で先行する。
【0016】
いくつかの実施態様では、第1の生成ニューラルネットワークは、デコーダ専用のトランスフォーマアーキテクチャ、またはエンコーダ-デコーダのトランスフォーマアーキテクチャを有する。
【0017】
いくつかの実施態様では、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現を条件として、オーディオ信号の音響表現を生成することは、第2の生成ニューラルネットワークを使用し、階層内の1つまたは複数の細かいベクトル量子化器の各々について、階層内の1つまたは複数の粗いベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成することを含む。
【0018】
いくつかの実施態様では、第2の生成ニューラルネットワークはセマンティック表現を条件としない。
【0019】
いくつかの実施態様では、第2の生成ニューラルネットワークは、第2の生成順序に従って音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり、各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、(i)1つまたは複数の粗いベクトル量子化器の第2の時間ステップの少なくともサブセットについてのそれぞれの音響トークン、及び(ii)第2の生成順序で特定の音響トークンに先行する音響トークンの少なくともサブセットを条件とする。
【0020】
いくつかの実施態様では、各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)特定の第2の時間ステップに先行する任意の第2の時間ステップにおける細かいベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)階層内の特定のベクトル量子化器に先行する任意の細かいベクトル量子化器についての特定の第2の時間ステップにおける任意の音響トークンが第2の生成順序で先行する。
【0021】
いくつかの実施態様では、各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、(i)第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である1つまたは複数の粗いベクトル量子化器についてのそれぞれの音響トークン、及び(ii)第2の生成順序で特定の第2の時間ステップに先行し、第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である第2の時間ステップにおける任意の音響トークンを条件とする。
【0022】
いくつかの実施態様では、第2の生成ニューラルネットワークは、デコーダ専用のトランスフォーマアーキテクチャ、またはエンコーダ-デコーダのトランスフォーマアーキテクチャを有する。
【0023】
いくつかの実施態様では、オーディオ信号のセマンティック表現を取得することは、第3の生成ニューラルネットワークを使用して、セマンティック表現を自己回帰的に生成することを含む。
【0024】
いくつかの実施態様では、要求は、オーディオ信号のコンテキストを指定し、オーディオ信号はコンテキストを条件とする。
【0025】
いくつかの実施態様では、コンテキストは、オーディオ信号のセマンティック特性を指定し、オーディオ信号のセマンティック表現を取得することは、コンテキストを条件としてセマンティック表現を生成することを含む。
【0026】
いくつかの実施態様では、コンテキストはオーディオ信号の音響特性を指定し、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現を条件として、オーディオ信号の音響表現を生成することは、1つまたは複数の生成ニューラルネットワークを使用し、セマンティック表現及びコンテキストを条件として、オーディオ信号の音響表現を生成することを含む。
【0027】
いくつかの実施態様では、第1の生成ニューラルネットワークを使用し、階層内の1つまたは複数の粗いベクトル量子化器の各々について、少なくともセマンティック表現を条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成することは、第1の生成ニューラルネットワークを使用し、階層内の1つまたは複数の粗いベクトル量子化器の各々について、セマンティック表現及びコンテキストを条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成することを含む。
【0028】
いくつかの実施態様では、デコーダニューラルネットワークを使用して少なくとも音響表現を処理して、オーディオ信号の予測を生成することは、デコーダニューラルネットワークを使用して音響表現及びコンテキストの音響表現を処理して、オーディオ信号の予測を生成することを含む。
【0029】
いくつかの実施態様では、コンテキストはオーディオ入力を含む。
【0030】
いくつかの実施態様では、コンテキストは視覚データを含む。
【0031】
いくつかの実施態様では、コンテキストはテキストデータを含む。
【0032】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数及び第2の時間ステップの数は、時間ウィンドウにまたがる出力時間ステップの数よりも少ない。
【0033】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数は、時間ウィンドウにまたがる第2の時間ステップの数よりも少ない。
【0034】
第2の態様によれば、オーディオ信号の予測を生成するための方法が提供され、方法は、入力を条件として、時間ウィンドウにまたがる複数の出力時間ステップの各々においてそれぞれのオーディオサンプルを有するオーディオ信号を生成するための要求を受信することと、埋め込みニューラルネットワークを使用して入力を処理して、入力を1つまたは複数の埋め込みトークンにマッピングすることと、時間ウィンドウにまたがる複数の第1の時間ステップの各々においてそれぞれのセマンティックトークンを指定するオーディオ信号のセマンティック表現を生成することであって、各セマンティックトークンが、埋め込みトークンを条件としてセマンティックトークンの語彙から選択され、対応する第1の時間ステップにおけるオーディオ信号のセマンティックコンテンツを表す、生成することと、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現及び埋め込みトークンを条件として、オーディオ信号の音響表現を生成することであって、音響表現が、時間ウィンドウにまたがる複数の第2の時間ステップの各々において1つまたは複数のそれぞれの音響トークンのセットを指定し、第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンが、対応する第2の時間ステップにおけるオーディオ信号の音響特性を表す、生成することと、デコーダニューラルネットワークを使用して少なくとも音響表現を処理してオーディオ信号の予測を生成することとを含む。
【0035】
いくつかの実施態様では、埋め込みニューラルネットワークを使用して入力を処理して、入力を1つまたは複数の埋め込みトークンにマッピングすることは、埋め込みニューラルネットワークを使用して、ジョイント埋め込み空間で入力についての埋め込みベクトルを生成することと、埋め込みベクトルを量子化して、埋め込みトークンを生成することとを含む。
【0036】
いくつかの実施態様では、入力はテキストのシーケンスを含み、埋め込みニューラルネットワークは、テキスト及びオーディオをジョイント埋め込み空間にマッピングするように訓練されている。
【0037】
いくつかの実施態様では、入力はテキストのシーケンスを含み、オーディオ信号の予測は、テキストのシーケンスによって記述される音楽の予測である。
【0038】
いくつかの実施態様では、入力は、メロディーを表すオーディオ信号をさらに含み、オーディオ信号の予測は、テキストのシーケンスによって記述され、メロディーに沿った音楽の予測である。
【0039】
いくつかの実施態様では、方法は、メロディー埋め込みニューラルネットワークを使用してオーディオ信号を処理して、オーディオ信号を1つまたは複数のメロディー埋め込みトークンにマッピングすることと、メロディー埋め込みトークンを埋め込みトークンと連結させることとをさらに含む。
【0040】
いくつかの実施態様では、入力は、メロディーを表すオーディオ信号を含み、オーディオ信号の予測はメロディーに沿った音楽の予測である。
【0041】
いくつかの実施態様では、方法は、メロディー埋め込みニューラルネットワークを使用してオーディオ信号を処理して、オーディオ信号を1つまたは複数のメロディー埋め込みトークンにマッピングすることをさらに含み、各セマンティックトークンは、メロディー埋め込みトークンを条件とするセマンティックトークンの語彙から選択される。
【0042】
いくつかの実施態様では、メロディー埋め込みニューラルネットワークを使用してオーディオ信号を処理して、オーディオ信号を1つまたは複数のメロディー埋め込みトークンにマッピングすることは、メロディー埋め込みニューラルネットワークを使用して、ジョイント埋め込み空間でオーディオ信号の1つまたは複数のメロディー埋め込みベクトルを生成することと、1つまたは複数のメロディー埋め込みベクトルを量子化して、メロディー埋め込みトークンを生成することとを含む。
【0043】
いくつかの実施態様では、テキストのシーケンスは、テキストの複数のサブシーケンスを含み、オーディオ信号の予測は、サブシーケンスの各々に対応し、かつサブシーケンスの各々を反映する音楽のセクションを有する音楽の予測である。
【0044】
いくつかの実施態様では、埋め込みニューラルネットワークは、オーディオ信号を含むトレーニングデータで訓練される。
【0045】
いくつかの実施態様では、埋め込みニューラルネットワークは、オーディオ信号を記述するテキスト及び対応するオーディオ信号が、ジョイント埋め込み空間内で互いに近い埋め込みを有するように、目的について訓練されている。
【0046】
いくつかの実施態様では、デコーダニューラルネットワークは、エンコーダニューラルネットワークによって生成された出力を使用して生成された音響表現から、デコーダニューラルネットワークによって生成された予測オーディオ信号の再構築品質を測定する目的でエンコーダニューラルネットワークと共同で訓練されているニューラルオーディオコーデックのデコーダニューラルネットワークである。
【0047】
いくつかの実施態様では、音響表現は、オーディオ信号を処理することによってエンコーダニューラルネットワークの出力から生成されるであろうグラウンドトゥルース音響表現の予測である。
【0048】
いくつかの実施態様では、エンコーダニューラルネットワークは、複数の第2の時間ステップの各々においてそれぞれの埋め込みを出力し、グラウンドトゥルース音響表現は、それぞれの埋め込みの各々に量子化を適用することによって生成される。
【0049】
いくつかの実施態様では、量子化は、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数のベクトル量子化器の階層を使用して各埋め込みをエンコードする残差ベクトル量子化であり、階層は、階層内の1つまたは複数の最初の位置にある1つまたは複数の粗いベクトル量子化器と、階層内の1つまたは複数の最後の位置にある1つまたは複数の細かい量子化器とを含み、第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットは、ベクトル量子化器ごとに、ベクトル量子化器の語彙から選択され、第2の時間ステップにおいてエンコーダニューラルネットワークによって生成されたグラウンドトゥルース埋め込みからベクトル量子化器によって生成されるであろうグラウンドトゥルース音響トークンの予測であるそれぞれの音響トークンを含む。
【0050】
いくつの実施態様では、複数の第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットは、第2の時間ステップにおけるオーディオ信号の音響特性を表す埋め込みに適用された残差ベクトル量子化の出力の予測を集合的に表す複数の音響トークンを含み、残差ベクトル量子化は、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数のベクトル量子化器の階層を使用して埋め込みをエンコードし、階層は、階層内の1つまたは複数の最初の位置にある1つまたは複数の粗いベクトル量子化器と、階層内の1つまたは複数の最後の位置にある1つまたは複数の細かいベクトル量子化器とを含み、第2の時間ステップの各々における音響トークンのセットは、ベクトル量子化器ごとに、ベクトル量子化器の語彙から選択されたそれぞれの音響トークンを含む。
【0051】
いくつかの実施態様では、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現及び埋め込みトークンを条件として、オーディオ信号の音響表現を生成することは、第1の生成ニューラルネットワークを使用し、階層内の1つまたは複数の粗いベクトル量子化器の各々について、少なくともセマンティック表現及び埋め込みトークンを条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成することを含む。
【0052】
いくつかの実施態様では、第1の生成ニューラルネットワークは、第1の生成順序に従って音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり、各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、少なくともセマンティック表現、及び埋め込みトークン、及び第1の生成順序で特定の音響トークンに先行する任意の音響トークンを条件とする。
【0053】
いくつかの実施態様では、各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)特定の第2の時間ステップに先行する任意の第2の時間ステップにおける粗いベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)階層内の特定のベクトル量子化器に先行する任意の粗いベクトル量子化器の特定の第2の時間ステップにおける任意の音響トークンが生成順序で先行する。
【0054】
いくつかの実施態様では、第1の生成ニューラルネットワークは、デコーダ専用のトランスフォーマアーキテクチャ、またはエンコーダ-デコーダのトランスフォーマアーキテクチャを有する。
【0055】
いくつかの実施態様では、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現及び埋め込みトークンを条件として、オーディオ信号の音響表現を生成することは、第2の生成ニューラルネットワークを使用し、階層内の1つまたは複数の細かいベクトル量子化器の各々について、階層内の1つまたは複数の粗いベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成することを含む。
【0056】
いくつかの実施態様では、第2の生成ニューラルネットワークはセマンティック表現及び埋め込みトークンを条件としない。
【0057】
いくつかの実施態様では、第2の生成ニューラルネットワークは、第2の生成順序に従って音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり、各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、(i)1つまたは複数の粗いベクトル量子化器の第2の時間ステップの少なくともサブセットについてのそれぞれの音響トークン、(ii)第2の生成順序で特定の音響トークンに先行する音響トークンの少なくともサブセットを条件とする。
【0058】
いくつかの実施態様では、各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)特定の第2の時間ステップに先行する任意の第2の時間ステップにおける細かいベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)階層内の特定のベクトル量子化器に先行する任意の細かいベクトル量子化器についての特定の第2の時間ステップにおける任意の音響トークンが生成順序で先行する。
【0059】
いくつかの実施態様では、各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、(i)第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である1つまたは複数の粗いベクトル量子化器についてのそれぞれの音響トークン、及び(ii)第2の生成順序で特定の第2の時間ステップに先行し、第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である第2の時間ステップにおける任意の音響トークンを条件とする。
【0060】
いくつかの実施態様では、第2の生成ニューラルネットワークは、デコーダ専用のトランスフォーマアーキテクチャ、またはエンコーダ-デコーダのトランスフォーマアーキテクチャを有する。
【0061】
いくつかの実施態様では、オーディオ信号のセマンティック表現を生成することは、埋め込みトークンを条件付け信号として有する第3の生成ニューラルネットワークを使用して、セマンティック表現を自己回帰的に生成することを含む。
【0062】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数及び第2の時間ステップの数は、時間ウィンドウにまたがる出力時間ステップの数よりも少ない。
【0063】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数は、時間ウィンドウにまたがる第2の時間ステップの数よりも少ない。
【0064】
いくつかの実施態様では、入力はテキストのシーケンスを含み、埋め込みはジョイント埋め込み空間内の埋め込みであり、1つまたは複数の生成ニューラルネットワークは、少なくとも部分的にオーディオ専用トレーニングデータで訓練されており、訓練中、セマンティック表現及び音響表現は、ジョイント埋め込み空間内のオーディオ入力の埋め込みを条件とする。
【0065】
さらなる態様によれば、1つまたは複数のコンピュータと、1つまたは複数のコンピュータによって実行されたとき、1つまたは複数のコンピュータに、本明細書に記載の方法を実行させる命令を格納する1つまたは複数のストレージデバイスとを含むシステムも説明されている。
【0066】
さらなる態様によれば、1つまたは複数のコンピュータによって実行されたとき、1つまたは複数のコンピュータに、本明細書に記載の方法を実行させる命令を格納する1つまたは複数のコンピュータ可読記憶媒体も説明されている。
【0067】
本明細書に説明する主題の特定の実施形態は、以下の利点の1つまたは複数を実現するように実装できる。
【0068】
本明細書に説明するシステムは、長期にわたる一貫性のある構造を有する高品質オーディオ生成を提供する。例えば、オーディオ信号の予測を生成するために、システムはオーディオ信号のセマンティック表現を取得できる。セマンティック表現は、音声の言語内容、つまり音楽のメロディー及びリズムなどの特徴を表すことによって長期にわたる一貫性を保証できる。システムは、1つまたは複数の生成ニューラルネットワークを使用して、セマンティック表現に基づいてオーディオ信号の音響表現を生成できる。音響表現は、音響の詳細などの特徴を表すことによって高品質のオーディオ合成を保証できる。システムは次に、デコーダニューラルネットワークを使用して音響表現を処理して、オーディオ信号の予測を生成できる。このように、システムは、セマンティック表現及び音響表現の両方からの情報を使用して、高品質で一貫性のある構造のオーディオを生成できる。
【0069】
オーディオを生成する従来のシステムは、条件付けまたはテキスト注釈なしでは一貫性のある音声を有するオーディオを生成し得ない。本明細書に説明するシステムは、テキスト注釈なしでも構文的及び意味論的に一貫性のある音声を生成できる。例えば、システムは、表音などの局所的な依存性、ならびに言語内容及び時間構造などの長期的なセマンティック情報を取り込むためにセマンティック表現を使用できる。
【0070】
さらに、音声を生成する従来のシステムは、音響の多様性または品質が制限された音声を生成する場合がある。例えば、従来のシステムは、クリーンな音声のみで訓練され、単一の話者の声で音声を生成する場合がある。他の従来のシステムは、低品質のオーディオを生成する場合がある。本明細書に説明するシステムは、任意の見えない話者の声、イントネーション、及びプロソディを維持した音声の連続を生成できる。例えば、システムは、所与のコンテキストのオーディオ入力の話者の識別、及び録音条件を取り込むために音響表現を使用できる。
【0071】
いくつかの実施態様では、システムによって生成されるオーディオは音楽である。例えば、システムは、メロディー、ハーモニー、トーン、演奏スタイル、音色、及びリズムに関して入力と一貫性のある音楽を含むオーディオ入力の連続を生成できる。システムは、ハーモニー、リズム、及びメロディーなどの情報を取り込むためにセマンティック表現を使用できる。例えば、セマンティック表現は、プロンプトと一貫したメロディー及び時間構造を提供できる。システムは次に、セマンティック表現を使用して、音響表現の生成を誘導できる。
【0072】
システムは訓練中に計算リソースを節約できる。例えば、音響表現からオーディオ信号の予測を生成するデコーダニューラルネットワークは、1つまたは複数の生成ニューラルネットワークを訓練するより早く事前に訓練し、固定できる。ターゲットセマンティック表現を取得するために使用できるオーディオ表現ニューラルネットワーク、及びターゲット音響表現を取得するために使用できるニューラルオーディオコーデックも、1つまたは複数の生成ニューラルネットワークを訓練するより早く事前に訓練し、固定できる。さらに、従来のシステムは、クリーンなオーディオ音声サンプルで訓練されるが、本明細書に説明するシステムは、より多様でノイズの多いサンプルについて訓練されるときに強力なパフォーマンスを発揮する。訓練されたデータの品質に対する堅牢性が増すことで、トレーニングデータを作成し、クリーンアップするために必要とされる計算リソース及び時間は減少する。
【0073】
システムはまた、推論中に計算リソースを節約することもできる。例えば、システムはセマンティック表現を取得してから、音響表現を生成するための条件付けとしてセマンティック表現を使用する。したがって、システムが処理するトークンの数は、セマンティックトークン及び音響トークンのインターリーブされたシーケンスを処理するなどの代替策と比較して減少し、より効率的な推論及び訓練を可能にする。さらに、セマンティックトークン及び音響トークンを自己回帰的に生成してから音響トークンをオーディオサンプルにマッピングすることによって、オーディオサンプルを直接的に処理するなどの代替策と比較して、計算リソースが節約される。
【0074】
いくつかの実施態様では、システムは、テキストを含む入力を所与として音楽を生成できる。システムは従来の音楽生成システムよりも高い複雑度の所与の高品質のテキスト記述に準拠した、長く高品質かつ一貫性のある音楽を生成できる。例えば、システムは、オーディオ及びテキストのジョイント埋め込み空間を有する埋め込みニューラルネットワーク、及び本明細書に説明する生成ニューラルネットワークを使用するため、システムは、テキストから音楽を生成する従来のシステムよりも、テキストを条件とする音楽をより効果的に生成できる。
【0075】
さらに、音楽のすべての所望の特性は、テキストを使用して記述するのが容易いわけではない。例えば、メロディーは、音楽作品の重要な特性であり得るが、テキストを使用して記述するのは困難である。メロディーを表す入力オーディオクリップを所与とすると、いくつかの実施態様では、システムは、メロディーに沿った音楽を生成できる。例えば、入力オーディオクリップは、ハミングしたメロディーを含むことができる。システムは、メロディー埋め込みニューラルネットワークを使用して、1つまたは複数の生成ニューラルネットワークに条件付けを提供することによって、メロディーに沿った音楽を生成できる。いくつかの実施態様では、システムは、入力メロディーに沿い、テキストの入力シーケンスを反映する音楽を生成できる。例えば、システムは、埋め込みニューラルネットワーク及びメロディー埋め込みニューラルネットワークを使用して、オーディオ埋め込みトークンとも称される埋め込みトークンを生成できる。
【0076】
システムは、テキスト-音楽のペアにされたトレーニングデータの大規模なトレーニングデータセットを必要とせずに、テキストを条件とする音楽を生成できる。システムは、音楽のみのデータセットで訓練できる。また、音楽のみでシステムを訓練すると、従来の音楽生成システムを実装するときに制限となり得るノイズが多いラベルに対してシステムを堅牢にするためにも役立つ。
【0077】
システムが、テキストを含む入力を所与として音楽を生成できるいくつかの実施態様では、システムの各コンポーネントは、別々に訓練することができ、訓練中の柔軟性及び効率を可能にする。例えば、埋め込みニューラルネットワーク及びデコーダニューラルネットワークは、別々にまたは同時に訓練できる。
【0078】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付の図面及び以下の記述で説明される。主題の他の特徴、態様、及び利点は、説明及び図面、ならびに特許請求の範囲から明らかになる。
【図面の簡単な説明】
【0079】
【
図1】例示的なオーディオ生成システムのブロック図である。
【
図2】音響トークンを生成するための例示的なプロセスの図である。
【
図3】オーディオ信号の予測を生成するための例示的なプロセスのフロー図である。
【
図4】例示的なオーディオ生成システムを訓練するための例示的なプロセスの図である。
【
図5】オーディオ信号の予測を生成するための例示的なプロセスの図である。
【
図6】音響トークンを生成するための例示的なプロセスの図である。
【
図7】オーディオ信号の予測を生成するための例示的なプロセスのフロー図である。
【
図8】例示的なオーディオ生成システムを訓練するための例示的なプロセスの図である。
【発明を実施するための形態】
【0080】
様々な図面における同様の参照番号及び記号は、同様の要素を指す。
【0081】
図1は、例示的なオーディオ生成システム100のブロック図である。オーディオ生成システム100は、以下で説明するシステム、コンポーネント、及び技術が実装される1つまたは複数の場所にある1つまたは複数のコンピュータ上でコンピュータプログラムとして実装されたシステムの一例である。
【0082】
オーディオ生成システム100は、オーディオ信号を生成するための要求102を所与としてオーディオ信号104の予測を生成する。オーディオ信号104は、時間ウィンドウにまたがる複数の出力時間ステップの各々におけるそれぞれのオーディオサンプルを含む。
【0083】
オーディオ生成するために、システム100は要求102を受信する。
【0084】
いくつかの実施態様では、要求102は、オーディオ信号104のコンテキストを指定できる。これらの実施態様では、オーディオ信号104は、コンテキストを条件とする。
【0085】
例えば、コンテキストは、入力オーディオ信号としてオーディオ入力を含むことができる。いくつかの例では、オーディオ入力は、特定の話者が話した単語を含むことができる。これらの例では、オーディオ信号104は、特定の話者が話した単語の連続であり得る。いくつかの例では、音声入力は音楽を含むことができる。これらの例では、オーディオ信号104は、オーディオ入力内の音楽の連続であり得る。
【0086】
いくつかの実装では、入力オーディオ信号はメロディーを含むことができ、オーディオ信号104は、メロディーに沿った音楽であり得る。システム100は、
図5~
図8を参照して以下でさらに詳しく説明するように、メロディーに沿った音楽である出力オーディオ信号104を生成できる。
【0087】
いくつかの例では、コンテキストはまた、テキストデータも含むことができる。オーディオ信号104は、テキストデータを反映する音声を含むことができる。いくつかの実施態様では、オーディオ信号104は、テキストデータを反映する音楽を含むことができる。これらの実施態様では、システム100は、
図5~
図8を参照して以下でさらに詳しく説明するように、テキストデータを反映する出力オーディオ信号104を生成する。
【0088】
いくつかの例では、コンテキストはまた、視覚データも含むことができる。これらの例では、オーディオ信号104は、視覚データを記述する音声または視覚データを反映する音楽を含むことができる。
【0089】
いくつかの実施態様では、システム100はまた、埋め込みニューラルネットワーク120を含むことができる。コンテキストが入力を含むいくつかの例では、システム100は、入力を処理して、入力をオーディオ埋め込みトークンとも称される1つまたは複数の埋め込みトークン122にマッピングできる。
【0090】
例えば、入力がテキストのシーケンスを含む場合、埋め込みニューラルネットワーク120は、テキスト及びオーディオを、ジョイントオーディオ埋め込み空間とも称される、テキスト及びオーディオのジョイント埋め込み空間にマッピングするように訓練できる。例えば、埋め込みニューラルネットワークは、テキスト入力を埋め込みにマッピングするニューラルネットワークと、オーディオ入力を埋め込みにマッピングするニューラルネットワークとを含むことができる。テキスト及びオーディオのジョイント埋め込み空間では、テキストとオーディオの両方とも、同じ埋め込み空間内の埋め込みにマッピングされる。すなわち、テキスト及びオーディオの埋め込みベクトルは同じ次元性を有する。さらに、ジョイント埋め込み空間内で互いに近い埋め込みは、埋め込みが、モダリティ内で及びモダリティにわたってセマンティクスを共有することを意味する。例えば、互いに近い2つの埋め込みは、意味論的に類似する2つのテキストシーケンス、意味論的に類似する2つのオーディオサンプル、または意味論的に類似した特徴を有するオーディオサンプル及びテキストシーケンスを表すことができる。埋め込みニューラルネットワーク120は、
図8を参照して以下でさらに詳しく説明する。
【0091】
システム100は、オーディオ信号104のセマンティック表現106を取得できる。セマンティック表現106は、時間ウィンドウにまたがる複数の第1の時間ステップの各々におけるそれぞれのセマンティックトークンを指定する。
【0092】
各セマンティックトークンは、セマンティックトークンの語彙から選択され、対応する第1の時間ステップにおけるオーディオ信号104のセマンティックコンテンツを表す。セマンティックトークンが表すことができるセマンティックコンテンツの例は、音声の言語内容、表音、言語構文、及びプロソディ特徴を含む。セマンティックコンテンツの例はまた、音楽のジャンル、メロディー、ハーモニー、及びリズムの特性を含むことができる。
【0093】
システムは、様々な方法のいずれかでオーディオ信号104のセマンティック表現106を生成できる。セマンティック表現106を生成することは、
図3及び
図7を参照して以下でさらに詳しく説明する。
【0094】
第1の時間ステップの数、及びセマンティックトークンの数は、
図3及び
図7を参照して以下でさらに詳しく説明する、オーディオ表現ニューラルネットワークのサンプリングレート、つまり単位時間あたりの埋め込み数に依存し得る。
【0095】
システム100は次に、1つまたは複数の生成ニューラルネットワーク108を使用し、少なくともセマンティック表現106を条件として、オーディオ信号104の音響表現110を生成する。
【0096】
音響表現110は、時間ウィンドウにまたがる複数の第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットを指定する。第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンは、対応する第2の時間ステップにおけるオーディオ信号104の音響特性を表す。音響特性はオーディオ波形の詳細を取り込み、高品質合成を可能にする。音響特性は、例えば、話者の識別を含むことができる。音響特性はまた、残響レベル、歪み、背景ノイズなどの録音条件を含むことができる。音響表現110を生成することは、
図2及び
図6を参照して以下でさらに詳しく説明する。
【0097】
第2の時間ステップの数は、
図3及び
図4を参照して以下でさらに詳しく説明するエンコーダニューラルネットワークのサンプリングレートに依存し得る。いくつかの実施態様では、第2の時間ステップの数は、第1の時間ステップの数よりも大きくなり得る。例えば、第2の時間ステップの数は、第1の時間ステップの数の2倍であり得る。したがって、第1の時間ステップにおけるセマンティックトークンごとに、音響表現は、第1の時間ステップに対応する2つの第2の時間ステップの各々において1つまたは複数の音響トークンを含むことができる。
【0098】
システム100は次に、デコーダニューラルネットワーク112を使用して少なくとも音響表現110を処理して、オーディオ信号104の予測を生成する。例えば、時間ウィンドウにまたがる複数の出力時間ステップの各々におけるそれぞれのオーディオサンプルは、音響表現110の1つまたは複数の音響トークンに基づき得る。
【0099】
いくつかの実施態様では、デコーダニューラルネットワーク112は、ニューラルオーディオコーデックのデコーダニューラルネットワークであり得る。ニューラルオーディオコーデックは、例えば、SoundStreamニューラルオーディオコーデックであり得る。デコーダニューラルネットワーク112は、
図3及び
図4を参照して以下でさらに詳しく説明する。
【0100】
したがって、システム100は、音響トークンからの要求を満たすオーディオ信号104を生成することができ、これによりトークンなしで直接的にオーディオサンプルを生成するよりも、必要とされる計算リソース及び電力が少なくなる。例えば、オーディオサンプルの特徴を表すトークンを自己回帰的に生成する方が、オーディオサンプルを自己回帰的に生成するよりも計算効率が良い。システム100は、オーディオ信号のサンプリングレートよりも低いサンプリングレートで埋め込みからトークンを生成できる。例えば、オーディオ信号は、16kHzのサンプリングレートを有することができるため、オーディオ信号は0.0625msごとにオーディオサンプルを含む。セマンティックトークンを生成するための埋め込みは、25Hzのサンプリングレートで計算できるため、各埋め込みはオーディオ信号の40msウィンドウの特徴を表すことができる。さらに、音響トークンを生成するための埋め込みは、50Hzのサンプリングレートで計算できるため、各埋め込みは、オーディオ信号の20msウィンドウの特徴を表すことができる。埋め込みを音響トークンに量子化した後、システム100は、デコーダニューラルネットワーク112を利用して、音響トークンを、より高いサンプリングレートのオーディオ信号にデコードできる。
【0101】
システム100は、出力としてオーディオ信号104を生成することを必要とする様々なタスクのいずれかを実行するように構成できる。
【0102】
例えば、オーディオ信号104は音声信号である可能性があり、システム100は、音声信号を無条件に生成することができ、例えば、その結果、生成ニューラルネットワーク(複数可)が訓練されたトレーニングデータセット(複数可)によって表される分布から抽出される音声信号が生成されることになる。
【0103】
別の例として、オーディオ信号104は、例えば、音楽、動物の声など、異なるタイプのオーディオ信号であり得、システムは、オーディオ信号104を無条件に生成することができ、例えば、その結果、生成ニューラルネットワーク(複数可)が訓練されたトレーニングデータセット(複数可)によって表される分布から抽出されるオーディオ信号104が生成される。
【0104】
別の例として、上述のように、システム100は、オーディオ信号104を生成するための要求とともにコンテキストを受信し、受信したコンテキストを条件とするオーディオ信号104を生成できる。
【0105】
例えば、オーディオ信号104は、音声信号または他のオーディオ信号であり得、つまり、システム100は、入力オーディオ信号であるコンテキストを条件とする出力オーディオ信号104を生成する。
【0106】
一例として、生成される出力オーディオ信号104は、入力オーディオ信号に従うオーディオ信号の予測であり得る。例えば、コンテキストは、1人の話者が尋ねた質問である入力音声信号であり得、出力オーディオ信号は、同じ話者または別の話者が話した質問に対する回答である出力音声信号であり得る。別の例として、コンテキストは、1人の話者が話した発話の第1の部分である入力音声信号であり得、出力オーディオ信号104は、話者または別の話者が話した発話の完了、または入力発話に対する応答である出力音声信号であり得る。
【0107】
一例として、いくつかの実施態様では、入力オーディオ信号は音楽を表すことができ、システム100は入力オーディオ信号に従う音楽である出力オーディオ信号104を生成できる。
【0108】
別の例として、システム100は、出力オーディオ信号104を生成するために入力オーディオ信号に対して音声分離を実行できる。例えば、入力オーディオ信号は、音声と音楽の両方、または他の背景ノイズを含むことができ、出力オーディオ信号104は音声のみを表すことができる。別の例として、入力オーディオ信号は、複数の話者からの音声(及び任意選択で背景ノイズ)を含むことができ、出力オーディオ信号104は話者の1人の音声のみを含むことができる。いくつかの例では、システム100は、オーディオ条件付き分離を実行できる。つまり、入力オーディオ信号が、話者の1人に音響的に類似した追加のオーディオ入力を含むことができるときに、出力オーディオ信号104は、追加のオーディオ入力に音響的に類似する入力オーディオ信号内の話者の音声のみを含むことができる。
【0109】
別の例として、システム100は、入力音声及び出力音声が同じセマンティックコンテンツを表すが、異なるように話される音声間変換を実行できる。例えば、入力オーディオ信号は、1つの自然言語で音声を含むことができ、出力オーディオ信号は、入力音声からターゲット言語への変換であるターゲットの別の自然言語で音声を表すことができる。別の例として、入力オーディオ信号は、第1の話者が話した音声を含むことができ、出力オーディオ信号104は、入力音声と同じセマンティックコンテンツを表すが、別の話者が話した音声を表すことができる。この一例として、入力オーディオ信号は、自然言語の第1のアクセントを有する第1の話者が話した音声を含むことができ、出力オーディオ信号は、入力音声と同じセマンティックコンテンツを表すが、自然言語の別のアクセントを有する別の話者が話した音声を表すことができる。これの別の例として、入力オーディオ信号は、発話障害を有する第1の話者が話した音声を含むことができ、出力オーディオ信号は、入力音声と同じであるが、発話障害のないセマンティックコンテンツを表すことができる。別の例として、入力オーディオ信号は、第1の音声セグメントを含むことができ、出力オーディオ信号は、第1の音声のセマンティックコンテンツを要約した第2のより短い音声セグメントを含むことができる。
【0110】
別の例として、いくつかの実施態様では、システム100は、入力オーディオ信号がメロディーを表すメロディー条件付き音楽生成を実行することができ、システム100は、メロディーに沿った音楽である出力オーディオ信号104を生成できる。
【0111】
別の例として、コンテキストはオーディオデータとテキストデータの両方を含むことができる。
【0112】
例えば、システム100は、コンテキストがテキストトランスクリプト及びテキストトランスクリプトに対応したノイズが多いオーディオであり、出力オーディオ信号104が、テキストトランスクリプトに対応するクリーンなオーディオである、トランスクリプト条件付き音声強調を実行できる。例えば、クリーンなオーディオは、ノイズが多いオーディオよりも少ない背景ノイズを含み得る。
【0113】
別の例として、システム100は、コンテキストがテキストトランスクリプト及びテキストトランスクリプトの一部分に対応するオーディオであり、出力オーディオ信号104がテキストトランスクリプトの別の部分に対応するトランスクリプトベースのオーディオインフィルを実行できる。システム100は、例えば、教師強制を用いてセマンティックトークン及び音響トークンを自己回帰的に予測するように訓練できる。
【0114】
別の例として、システム100は、コンテキストがテキストトランスクリプト及び話者のオーディオであり、出力オーディオ信号104が、話者が話したテキストトランスクリプトの言語化である話者条件付き音声変換を実行できる。
【0115】
別の例として、いくつかの実施形態では、システム100はテキスト及びメロディー条件付き音楽生成を実行できる。コンテキストは、テキストのシーケンスと、メロディーを表す入力オーディオ信号とを含むことができる。システム100は、テキストのシーケンスによって記述され、メロディーに沿った音楽である出力オーディオ信号104を生成できる。
【0116】
別の例として、コンテキストは、オーディオデータと視覚、例えば画像またはビデオデータの両方を含むことができる。
【0117】
例えば、システム100は、オーディオ-ビデオ連続を実行することができ、システムは、対応するビデオとともに部分的なオーディオトラックを受信し、出力オーディオ信号104は、部分的なオーディオトラックの連続である。
【0118】
別の例として、システム100は、システムがビデオ及びビデオの一部分に対応するオーディオトラックを受信し、出力オーディオ信号104が、ビデオの別の部分に対応するオーディオトラックであるクロスモーダルインフィルを実行できる。
【0119】
別の例として、コンテキスト入力は、視覚データのみを含むことができる。
【0120】
例えば、システム100は、システムが入力画像を受信し、画像を記述する出力オーディオ信号104を生成する画像条件付きオーディオ生成を実行できる。
【0121】
別の例として、コンテキスト入力は、テキストデータのみを含むことができる。
【0122】
例えば、システム100は、例えば、入力がオーディオ信号を記述するテキストであり、出力がテキストによって特徴付けられるオーディオ信号104であるテキスト記述に基づいたサウンド合成を実行できる。
【0123】
一例として、システム100は、入力がテキストのシーケンスを含むことができ、システム100が、テキストのシーケンスによって記述できる音楽である出力オーディオ信号104を生成できるテキスト条件付き音楽生成を実行できる。音楽を記述するテキストを所与として音楽を生成することは、
図5~
図8を参照して以下でより詳しく説明する。
【0124】
別の例として、いくつかの実施態様では、システム100はストーリーモード生成を実行できる。入力は、テキストの複数のサブシーケンスを含むことができる。システムは、サブシーケンスの各々に対応する音楽のセクションを含む出力オーディオ信号104を生成できる。音楽の各セクションは、対応するテキストのサブシーケンスによって記述できる。さらに、システム100は、テンポが一貫しており、意味論的に妥当である音楽の各セクション間の円滑な遷移を生成できる。
【0125】
別の例として、システム100は、例えば、入力がテキストトランスクリプトであり、出力オーディオ信号104が、ランダムな話者がランダムなプロソディで話しているテキストトランスクリプトの言語化である、テキスト条件付き音声サンプリングを実行できる。
【0126】
コンテキスト入力が非オーディオデータを含むいくつかの実施態様では、システム100は、
図8を参照して以下でより詳しく説明するように、オーディオのみを含むトレーニングデータで訓練できる。
【0127】
図2は、音響トークンを生成するための例示的なプロセスの図である。便宜上、プロセス200は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されるとして説明される。例えば、本明細書に従って適切にプログラムされた、オーディオ生成システム、例えば
図1のオーディオ生成システム100は、プロセス200を実行できる。
【0128】
システムは、粗い生成ニューラルネットワーク210及び細かい生成ニューラルネットワーク220などの1つまたは複数の生成ニューラルネットワークを使用して、音響表現の音響トークンを生成できる。粗い生成ニューラルネットワーク210はまた、第1の生成ニューラルネットワークとも称される。細かい生成ニューラルネットワーク220はまた、第2の生成ニューラルネットワークとも称される。システムは、少なくともセマンティック表現106に基づいて音響表現の生成を条件付けることができる。
【0129】
エンコーダニューラルネットワークは、デコーダニューラルネットワーク及びエンコーダニューラルネットワークを含むニューラルオーディオコーデックの一部であり得る。
図4を参照して以下でさらに詳しく説明するように、デコーダニューラルネットワーク及びエンコーダニューラルネットワークは、共同で訓練できる。粗い生成ニューラルネットワーク210及び細かい生成ニューラルネットワーク220は、ニューラルオーディオコーデックのベクトル量子化器の出力に基づいて生成される音響表現を予測するように訓練できる。
【0130】
いくつかの実施態様では、複数の第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットは、第2の時間ステップにおけるオーディオ信号の音響特性を表す埋め込みに適用される残差ベクトル量子化の出力の予測を集合的に表す複数の音響トークンを含む。残差ベクトル量子化は、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数のベクトル量子化器の階層を使用して、埋め込みをエンコードする。階層は、階層内の1つまたは複数の最初の位置に1つまたは複数の粗いベクトル量子化器と、階層内の1つまたは複数の最後の位置に1つまたは複数の細かいベクトル量子化器とを含む。第2の時間ステップの各々における音響トークンのセットは、ベクトル量子化器ごとに、ベクトル量子化器の語彙から選択されたそれぞれの音響トークンを含む。
【0131】
例えば、階層はQベクトル量子化器を含み得、ベクトル量子化器1...Q’が粗いベクトル量子化器であり得、ベクトル量子化器(Q’+1)...Qが細かいベクトル量子化器であり得る。粗いベクトル量子化器は、話者の識別及び録音条件など、音響特性を表現する粗い音響トークンまたは粗いベクトル量子化器212の音響トークンを生成する。細かいベクトル量子化器は、細かい音響詳細を表す、細かい音響トークンまたは細かいベクトル量子化器222の音響トークンを生成する。例えば、細かい音響トークンは、粗い音響トークン内の非可逆圧縮アーティファクトを除去するために使用できる。
【0132】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数及び第2の時間ステップの数は、時間ウィンドウにまたがる出力時間ステップの数よりも少ない。すなわち、第2の時間ステップの各々においてそれぞれの埋め込みを出力するエンコーダニューラルネットワークのサンプリングレートは、オーディオ信号のサンプリングレートよりも低くなり得る。さらに、
図3を参照して以下で説明するオーディオ表現ニューラルネットワークのサンプリングレートは、オーディオ信号のサンプリングレートよりも低くなり得る。したがって、セマンティックトークンを生成できる埋め込みの数及び音響トークンを生成できる埋め込みの数は、出力時間ステップの数未満であり得る。
【0133】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数は、時間ウィンドウにまたがる第2の時間ステップの数よりも少ない。例えば、すべてのセマンティックトークンについて、システムは、粗いベクトル量子化器ごとに2つの音響トークンを生成し、細かいベクトル量子化器ごとに2つの音響トークンを生成することができる。すなわち、第2の時間ステップの各々においてそれぞれの埋め込みを出力するエンコーダニューラルネットワークのサンプリングレートは、
図3を参照して以下で説明するオーディオ表現ニューラルネットワークのサンプリングレートよりも高くなり得る。
【0134】
音響表現を生成するために、粗い生成ニューラルネットワーク210は、少なくともセマンティック表現106を条件とする粗いベクトル量子化器212の音響トークンを生成できる。例えば、粗い生成ニューラルネットワーク210は、階層内の1つまたは複数の粗いベクトル量子化器の各々について、少なくともセマンティック表現を条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成できる。粗いベクトル量子化器212の音響トークンは、話者の識別及び録音条件などの音響特性を表す。
【0135】
コンテキストがオーディオ入力を含む場合など、要求がコンテキストを指定し、コンテキストがオーディオ信号の音響特性を指定するいくつかの実施態様では、システムは、セマンティック表現及びコンテキストを条件としてオーディオ信号の音響表現を生成できる。例えば、粗い生成ニューラルネットワーク210は、階層内の1つまたは複数の粗いベクトル量子化器の各々について、セマンティック表現106及びコンテキストを表す音響トークンを条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成できる。
【0136】
粗い生成ニューラルネットワーク210は、第1の生成順序に従って粗いベクトル量子化器212の音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり得る。
【0137】
各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、少なくともセマンティック表現、及び第1の生成順序で特定の音響トークンに先行する任意の音響トークンを条件とする。さらに、各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)特定の第2の時間ステップに先行する任意の第2の時間ステップにおける粗いベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)階層内の特定のベクトル量子化器に先行する任意の粗いベクトル量子化器の特定の第2の時間ステップにおける任意の音響トークンが生成順序で先行する。
【0138】
例えば、階層はQベクトル量子化器を含み得、ベクトル量子化器1...Q’が粗いベクトル量子化器であり得、一方、ベクトル量子化器(Q’+1)...Qが細かいベクトル量子化器であり得る。特定の第2の時間ステップt及び特定の粗いベクトル量子化器q≦Q’における音響トークンは、セマンティック表現のセマンティックトークンのすべて、第2の時間ステップtに先行する第2の時間ステップにおける任意の音響トークン、及びQ’に先行する粗いベクトル量子化器、及び特定の粗いベクトル量子化器qに先行する粗いベクトル量子化器における第2の時間ステップtにおける任意の音響トークンを条件とする。
【0139】
いくつかの実施態様では、粗い生成ニューラルネットワーク210は、デコーダ専用のトランスフォーマアーキテクチャを有する。いくつかの実施態様では、粗い生成ニューラルネットワーク210は、エンコーダ-デコーダのトランスフォーマアーキテクチャを有する。
【0140】
音響表現を生成するために、細かい生成ニューラルネットワーク220は、少なくとも粗いベクトル量子化器212の音響トークンを条件として細かいベクトル量子化器222の音響トークンを生成できる。例えば、細かい生成ニューラルネットワーク220は、階層内の1つまたは複数の細かいベクトル量子化器の各々について、階層内の1つまたは複数の粗いベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成できる。したがって、細かい生成ニューラルネットワーク220は、セマンティック表現106を条件とすることができない。細かいベクトル量子化器222の音響トークンは、例えば非可逆圧縮アーティファクトを除去することによって、オーディオ品質をさらに向上させるために使用できる。
【0141】
細かい生成ニューラルネットワーク220は、第2の生成順序に従って音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり得る。各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、(i)1つまたは複数の粗いベクトル量子化器の第2の時間ステップの少なくともサブセットについてのそれぞれの音響トークン、及び(ii)第2の生成順序で特定の音響トークンに先行する音響トークンの少なくともサブセットを条件とする。各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)特定の第2の時間ステップに先行する任意の第2の時間ステップにおける細かいベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)階層内の特定のベクトル量子化器に先行する任意の細かいベクトル量子化器についての特定の第2の時間ステップにおける任意の音響トークンが第2の生成順序で先行する。
【0142】
例えば、階層はQベクトル量子化器を含み得、ベクトル量子化器(Q’+1)...Qは、細かいベクトル量子化器であり得る。特定の第2の時間ステップt及び特定の細かいベクトル量子化器q>Q’における音響トークンは、粗いベクトル量子化器312の音響トークンのすべて、第2の時間ステップtに先行する第2の時間ステップ及びQ’に続く細かいベクトル量子化器における任意の音響トークン、ならびに特定のベクトル量子化器qに先行する粗いベクトル量子化器及び細かいベクトル量子化器における第2の時間ステップtでの任意の音響トークンを条件とする。
【0143】
いくつかの実装では、各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、(i)第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である1つまたは複数の粗いベクトル量子化器についてのそれぞれの音響トークン、及び(ii)第2の生成順序で特定の第2の時間ステップに先行し、第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である第2の時間ステップにおける任意の音響トークンを条件とする。すなわち、第2の時間ステップは、連続する第2の時間ステップの重複しないバッチに分割できる。
【0144】
例えば、特定の第2の時間ステップt及び特定の細かいベクトル量子化器q>Q’における音響トークンは、特定の第2の時間ステップtと同じ第2の時間ステップの対応するバッチ内にある特定の第2の時間ステップtに先行する粗いベクトル量子化器312の音響トークンと、対応するバッチ内の第2の時間ステップtに先行する第2の時間ステップ及びQ’に続く細かいベクトル量子化器における任意の音響トークンと、特定の細かいベクトル量子化器qに先行する粗いベクトル量子化器及び細かいベクトル量子化器における第2の時間ステップtにおける任意の音響トークンとを条件とする。
【0145】
いくつかの実施態様では、細かい生成ニューラルネットワーク220は、デコーダ専用のトランスフォーマアーキテクチャを有する。いくつかの実施態様では、細かい生成ニューラルネットワーク220は、エンコーダ-デコーダのトランスフォーマアーキテクチャを有する。
【0146】
いくつかの実施態様では、システムは、粗いベクトル量子化器212の音響トークンと、細かいベクトル量子化器222の音響トークンとを同時に生成できる。例えば、Qベクトル量子化器の階層の場合、特定の粗いベクトル量子化器または細かいベクトル量子化器qの特定の第2の時間ステップtにおける音響トークンは、第2の時間ステップtに先行する第2の時間ステップにおける、及びqに先行するベクトル量子化器における音響トークン、ならびに特定のベクトル量子化器qに先行するベクトル量子化器における第2の時間ステップtにおける任意の音響トークンのすべてを条件とする。
【0147】
システムは、音響表現内に細かいベクトル量子化器222の音響トークンを含むことができる。システムは、
図3を参照して以下で説明するように、オーディオ信号の予測を生成するために音響表現を使用できる。
【0148】
図3は、オーディオ信号の予測を生成するための例示的なプロセスのフロー図である。便宜上、プロセス300は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されるとして説明される。例えば、本明細書に従って適切にプログラムされた、オーディオ生成システム、例えば
図1のオーディオ生成システム100は、プロセス300を実行できる。
【0149】
システムは、オーディオ信号を生成するための要求を受信する(ステップ310)。オーディオ信号は、時間ウィンドウにまたがる複数の出力時間ステップの各々におけるそれぞれのオーディオサンプルを有する。いくつかの例では、要求は、オーディオ信号のコンテキストを指定する。オーディオ信号はコンテキストを条件とすることができる。例えば、コンテキストは、上述のように、オーディオ入力、視覚データ、及び/またはテキストデータを含むことができる。
【0150】
システムは、オーディオ信号のセマンティック表現を取得できる(ステップ320)。セマンティック表現は、時間ウィンドウにまたがる複数の第1の時間ステップの各々におけるそれぞれのセマンティックトークンを指定する。各セマンティックトークンは、セマンティックトークンの語彙から選択することができ、対応する第1の時間ステップにおけるオーディオ信号のセマンティックコンテンツを表すことができる。
【0151】
いくつかの実施態様では、システムはセマンティック表現を生成できる。例えば、システムは、セマンティック表現生成ニューラルネットワークを使用してセマンティック表現を自己回帰的に生成できる。セマンティック表現生成ニューラルネットワークはまた、第3の生成ニューラルネットワークとも称され得る。
【0152】
例えば、セマンティック表現生成ニューラルネットワークは、セマンティックトークンを次々と自己回帰的に生成するように訓練できる。セマンティック表現生成ニューラルネットワークは、例えば、デコーダのみ、またはエンコーダ-デコーダのトランスフォーマベースのニューラルネットワークであり得る。例えば、セマンティック表現生成ニューラルネットワークは、例えば、オーディオ表現ニューラルネットワークの中間層の1つなどの、1つまたは複数の層の出力に基づいて生成されたセマンティック表現を予測するように訓練されている可能性がある。
【0153】
オーディオ表現ニューラルネットワークは、一定時間の間隔で出力または埋め込みを生成できる。例えば、オーディオ表現ニューラルネットワークは、入力オーディオ信号の40ms秒ごとに1つの埋め込みを生成できる。
【0154】
セマンティック表現生成ニューラルネットワーク及びオーディオ表現ニューラルネットワークのトレーニングは、
図4を参照して以下でさらに詳しく説明する。
【0155】
いくつかの実施態様では、要求は、オーディオ信号のセマンティック特性を指定するコンテキストを指定する。例えば、コンテキストはオーディオ入力を含むことができる。システムは、コンテキストを条件としてセマンティック表現を生成できる。例えば、生成がオーディオ入力を含むコンテキストを条件とするとき、システムは、オーディオ表現ニューラルネットワークを使用して、上述のようにオーディオ入力のセマンティック表現を生成できる。
【0156】
いくつかの例では、オーディオ信号はオーディオ入力と同じ時間ウィンドウにまたがる。システムは、オーディオ信号のセマンティック表現としてオーディオ入力のセマンティック表現を使用できる。例えば、オーディオ信号のセマンティック表現は、オーディオ入力のセマンティック表現のセマンティックトークンを含むことができる。
【0157】
いくつかの例では、オーディオ信号は、オーディオ入力よりも長い時間のウィンドウにまたがる。例えば、オーディオ信号は、オーディオ入力の連続であり得る。例えば、オーディオ信号は、音声の連続または音楽の連続であり得る。システムは、オーディオ信号のセマンティック表現を自己回帰的に生成しながら、オーディオ入力の少なくともセマンティック表現に基づいてセマンティック表現生成ニューラルネットワークを条件付けることができる。例えば、セマンティック表現生成ニューラルネットワークは、オーディオ入力のセマンティックトークンを条件としてオーディオ信号のセマンティックトークンを自己回帰的に生成できる。オーディオ信号のセマンティック表現は、自己回帰的に生成されたセマンティックトークンが後に続くオーディオ入力のセマンティック表現のセマンティックトークンを含むことができる。
【0158】
いくつかの実施態様では、要求はテキストまたは画像データを含むコンテキストを指定する。生成が、少なくとも部分的にはオーディオではないコンテキスト入力を条件とするとき、システムは、オーディオ入力のオーディオではない部分については、適切なエンコーダニューラルネットワークを使用してコンテキスト入力を語彙からセマンティックトークンにマッピングし、オーディオ信号のセマンティック表現(の少なくとも一部)としてセマンティックトークンを使用することによって、セマンティックトークンを生成できるか、またはオーディオ信号のセマンティック表現を自己回帰的に生成しながら、少なくともセマンティックトークンに基づいてセマンティック表現生成ニューラルネットワークを条件付けることができる。
【0159】
例えば、コンテキストが画像データを含む場合、システムは、画像データをオーディオにマッピングするように構成されたエンコーダニューラルネットワークを使用して、画像データを語彙からセマンティックトークンにマッピングできる。いくつかの例では、システムは、セマンティックトークンをオーディオ信号のセマンティック表現として使用できる。いくつか例では、システムは、オーディオ信号のセマンティック表現を自己回帰的に生成しながら、少なくともセマンティックトークンに基づいてセマンティック表現生成ニューラルネットワークを条件付けることができる。
【0160】
例えば、コンテキストがテキストデータを含む場合、システムは、テキストデータをオーディオにマッピングするように構成されたエンコーダニューラルネットワークを使用して、テキストデータを語彙からセマンティックトークンにマッピングできる。いくつかの実施態様では、エンコーダニューラルネットワークは、
図1及び
図8を参照してさらに詳しく説明する埋め込みニューラルネットワークであり得る。例えば、テキストデータは、音楽を記述するテキストのシーケンスを含むことができ、埋め込みニューラルネットワークは、音楽の記述をオーディオにマッピングできる。システムは、オーディオに対応するセマンティックトークンをオーディオ信号のセマンティック表現の少なくとも一部として使用できる。いくつか例では、システムは、オーディオ信号のセマンティック表現を自己回帰的に生成しながら、少なくともセマンティックトークンに基づいてセマンティック表現生成ニューラルネットワークを条件付けることができる。
【0161】
システムは、オーディオ信号の音響表現を生成する(ステップ330)。システムは、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現を条件として、音響表現を生成できる。音響表現は、時間ウィンドウにまたがる複数の第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットを指定する。第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンは、対応する第2の時間ステップにおけるオーディオ信号の音響特性を表すことができる。オーディオ信号の音響表現を生成することは、
図2を参照してさらに詳しく上述されている。
【0162】
いくつかの実施態様では、コンテキストが出力オーディオ信号のターゲット話者を指定するとき、出力オーディオ信号が後に続く音声を含むとき、または出力オーディオ信号に別の方法で類似するべきであるオーディオを含むときなど、コンテキストは、生成されるオーディオ信号の音響特性を指定する。これらの実施態様では、システムは、例えば上述のニューラルオーディオコーデックを使用して、コンテキストを音響表現にマッピングすることができ、オーディオ信号の音響表現を生成するとき、コンテキストの音響表現の少なくとも一部を使用できる。コンテキストを条件とする音響表現を生成することは、
図2を参照してさらに詳しく上述されている。
【0163】
システムは、少なくとも音響表現を処理して、オーディオ信号の予測を生成する(ステップ340)。システムは、デコーダニューラルネットワークを使用して少なくとも音響表現を処理して、オーディオ信号の予測を生成できる。例えば、時間ウィンドウにまたがる複数の出力時間ステップの各々におけるそれぞれのオーディオサンプルは、階層内のすべてのベクトル量子化器の1つまたは複数の音響トークンに基づき得る。
【0164】
コンテキストがオーディオ信号の音響特性を指定するいくつかの実施態様では、システムは、デコーダニューラルネットワークを使用して音響表現及びコンテキストの音響表現を処理し、オーディオ信号の予測を生成できる。例えば、デコーダニューラルネットワークは、音響表現の音響トークン及びコンテキストを表す音響トークンを処理できる。
【0165】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数及び第2の時間ステップの数は、時間ウィンドウにまたがる出力時間ステップの数よりも少ない。いくつかの実施態様では、
図2を参照してさらに詳しく上述されるように、時間ウィンドウにまたがる第1の時間ステップの数は、時間ウィンドウにまたがる第2の時間ステップの数よりも少ない。
【0166】
図4は、例示的なオーディオ生成システムを訓練するための例示的なプロセス400の図である。便宜上、プロセス400は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのトレーニングシステムによって実行されるとして説明される。
【0167】
トレーニングシステムは、
図1のオーディオ生成システム100などのオーディオ生成システムをトレーニングデータで訓練できる。いくつかの実施態様では、セマンティック表現生成ニューラルネットワーク130、1つまたは複数の生成ニューラルネットワーク108、ニューラルオーディオコーデック420、及びオーディオ表現ニューラルネットワーク410などのオーディオ生成システムのコンポーネントは、別々に訓練できる。
【0168】
トレーニングシステムは、オーディオクリップを含むトレーニングデータでニューラルオーディオコーデック420及びオーディオ表現ニューラルネットワーク410を訓練できる。トレーニングデータの例示的なオーディオクリップは、
図4にターゲットオーディオ450として示されている。
【0169】
ニューラルオーディオコーデック420は、デコーダニューラルネットワーク及びエンコーダニューラルネットワークを含むことができる。例えば、エンコーダニューラルネットワークは、ターゲットオーディオ450を、音響表現に量子化されたコード化信号に変換できる。デコーダニューラルネットワークは、音響表現を予測オーディオ信号に変換できる。いくつかの実施態様では、ニューラルオーディオコーデック420は、オーディオ生成システムのトレーニング前に事前に訓練し、固定できる。
【0170】
ニューラルオーディオコーデック420は、敵対的損失及び再構築損失を最小限に抑えるように訓練できる。例えば、デコーダニューラルネットワーク及びエンコーダニューラルネットワークは、エンコーダニューラルネットワークによって生成された出力を使用して生成された音響表現から、デコーダニューラルネットワークによって生成された予測オーディオ信号の再構築品質を測定する目的で、共同で訓練できる。
【0171】
オーディオ表現ニューラルネットワーク410は、入力オーディオ信号の表現を生成するように訓練されている可能性がある。いくつかの実施態様では、オーディオ表現ニューラルネットワーク410は、オーディオ生成システムのトレーニング前に事前に訓練し、固定できる。オーディオ表現ニューラルネットワーク410は、マスク言語モデル(MLM)損失及びコントラスト損失を最小限に抑えるように訓練できる。オーディオ表現ニューラルネットワーク410は、例えば、入力オーディオ信号を言語特徴のセットにマッピングするw2v-BERTモデルであり得る。
【0172】
トレーニングシステムは、オーディオクリップを含むトレーニングデータで、セマンティック表現生成ニューラルネットワーク130及び1つまたは複数の生成ニューラルネットワーク108を訓練できる。いくつかの実施態様では、生成ニューラルネットワークは教師強制を用いて訓練できる。
【0173】
トレーニングシステムは、例えば、オーディオ表現ニューラルネットワーク410の中間層の1つなどの、1つまたは複数の層の出力に基づいて生成されたセマンティック表現を予測するようにセマンティック表現生成ニューラルネットワーク130を訓練できる。
【0174】
例えば、オーディオ表現ニューラルネットワーク410は、複数の層を有するモデルを含むことができる。例えば、オーディオ表現ニューラルネットワーク410は、例えば、複数の層を有するトランスフォーマベースのモデルまたはコンフォーマベースのモデルなど、自己注意ベースのモデルを含むことができる。
【0175】
自己注意ベースのモデルは、例えば自己教師あり学習を通じて音声表現タスクで訓練されている可能性がある。自己注意ベースのモデルは、例えば、自動音声認識などの他のタスクで訓練されている可能性がある。
【0176】
オーディオ表現ニューラルネットワーク410の1つまたは複数の層の出力は、入力オーディオの埋め込みを含むことができる。例えば、自己注意ベースのモデルは、トレーニングデータ内のオーディオサンプルの一部またはすべてに対して高密度の埋め込みを生成できる。オーディオサンプルの一部またはすべての自己注意ベースのモデルの中間層の埋め込みは、k平均法によってK個のクラスタにクラスタ化できる。クラスタの重心はセマンティックトークンとして使用できる。いくつかの実施態様では、クラスタ化の前に各次元がゼロ平均及び単位分散を有するように出力を正規化できる。
【0177】
セマンティック表現生成ニューラルネットワーク130のトレーニング用の例示的なターゲットセマンティック表現は、ターゲットオーディオ450を自己注意ベースのモデルに提供することによって生成されている可能性がある。トレーニングシステムは、ターゲットオーディオ450の各出力を最近傍のクラスタの重心に割り当てることによってターゲットセマンティック表現のセマンティックトークンを生成できる。
【0178】
いくつかの実施態様では、ターゲットセマンティック表現内のセマンティックトークンの連続する繰り返しは除去できる。例えば、ターゲットオーディオ450のターゲットセマンティック表現は、セマンティックトークンのシーケンスを含む。トレーニングシステムは、シーケンス内の連続して繰り返されるセマンティックトークンを除去し、次に連続して繰り返されるセマンティックトークンのないターゲットセマンティック表現をトレーニングに使用できる。
【0179】
トレーニングシステムは、少なくともセマンティック表現を条件とする音響表現を生成するように、1つまたは複数の生成ニューラルネットワーク108を訓練できる。いくつかの実施態様では、音響表現は、オーディオ信号を処理することによってエンコーダニューラルネットワークの出力から生成されるであろうグラウンドトゥルース音響表現の予測であり得る。例えば、エンコーダニューラルネットワークは、オーディオ信号を埋め込みのシーケンスにマッピングする畳み込みエンコーダであり得る。エンコーダニューラルネットワークは、複数の第2の時間ステップの各々においてそれぞれの埋め込みを出力できる。複数の第2の時間ステップの各々における各それぞれの埋め込みは、第2の時間ステップにおけるオーディオ信号の特徴に対応することができる。グラウンドトゥルース音響表現は、それぞれの埋め込みの各々に量子化を適用することによって生成できる。上述のように、エンコーダニューラルネットワークは、ニューラルオーディオコーデック420などのニューラルオーディオコーデックの一部であり得る。
【0180】
例えば、量子化は、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数のベクトル量子化器の階層を使用して、各埋め込みをエンコードする残差ベクトル量子化であり得る。階層は、各々が対応する語彙を使用するQベクトル量子化器を含むことができる。階層は、階層内の1つまたは複数の最初の位置に1つまたは複数の粗いベクトル量子化器と、階層内の1つまたは複数の最後の位置に1つまたは複数の細かいベクトル量子化器とを含むことができる。第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットは、ベクトル量子化器ごとに、ベクトル量子化器の語彙から選択されたそれぞれの音響トークンを含むことができ、それは第2の時間ステップにおいてエンコーダニューラルネットワークによって生成されたグラウンドトゥルース埋め込みからベクトル量子化器によって生成されるであろうグラウンドトゥルース音響トークンの予測である。
【0181】
トレーニングシステムは、ニューラルオーディオコーデック420の残差ベクトル量子化器の出力に基づいて生成された音響表現を予測するように、1つまたは複数の生成ニューラルネットワーク108を訓練できる。
【0182】
1つまたは複数の生成ニューラルネットワーク108のトレーニング用のターゲット音響表現は、複数の第2の時間ステップの各々においてニューラルオーディオコーデック420のエンコーダニューラルネットワークによって出力されるそれぞれの埋め込みの各々に量子化を適用することによって生成されている可能性がある。量子化は、
図2を参照して上述されたように、残差ベクトル量子化(RVQ)であり得る。
【0183】
図5は、オーディオ信号の予測を生成するための例示的なプロセスの図である。便宜上、プロセス500は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されるとして説明される。例えば、本明細書に従って適切にプログラムされた、オーディオ生成システム、例えば
図1のオーディオ生成システム100は、プロセス500を実行できる。
【0184】
システムは、入力502を条件とするオーディオ信号を生成するための要求を受信する。例えば、入力502は、
図1~
図3を参照して上述されたオーディオ信号のコンテキストに含まれ得る。例示的なプロセス500では、入力はテキストデータを含む。システムは、生成されたオーディオ504が、テキストデータ「バイオリンソロを含むヒップホップソング」によって記述される音楽になるように、テキスト条件付き音楽生成を実行できる。テキストデータは、「印象的なサックスソロとソロシンガーによる魅惑的なジャズソング」または「低音と力強いキックによる90年代のベルリンテクノ」などの相当な複雑度の記述を含むことができる。
【0185】
システムは、
図1を参照して上述された埋め込みニューラルネットワーク120を使用してテキストデータを処理する。埋め込みニューラルネットワーク120は、テキストを1つまたは複数の埋め込みトークン122にマッピングする。埋め込みニューラルネットワーク120は、テキスト及びオーディオを、ジョイントオーディオ埋め込み空間とも称される、テキスト及びオーディオのジョイント埋め込み空間にマッピングするように訓練できる。システムは、埋め込みニューラルネットワーク120を使用して、ジョイント埋め込み空間内でテキストデータの入力についての埋め込みベクトルを生成できる。システムは次に、埋め込みベクトルを量子化して、埋め込みトークン122を生成できる。
【0186】
いくつかの実施態様では、埋め込みニューラルネットワーク120は、テキストネットワーク及び音楽ネットワークを含むことができる。例えば、埋め込みニューラルネットワーク120は、テキストをジョイント埋め込み空間内の埋め込みにマッピングするように訓練されたニューラルネットワークと、オーディオをジョイント埋め込み空間内の埋め込みにマッピングするように訓練されたニューラルネットワークとを含むことができる。例えば、埋め込みニューラルネットワーク120は、2つの埋め込みタワー、つまりテキスト用の1つと音楽用の1つを有するジョイント埋め込みモデルであり得る。タワーは、対照学習を使用して、テキスト及び音楽を共有された埋め込み空間にマッピングする。埋め込みニューラルネットワーク120のトレーニングは、
図8を参照して以下で説明する。
【0187】
システムは、オーディオ信号504のセマンティック表現106を生成する。セマンティック表現106の各セマンティックトークンは、埋め込みトークン122を条件とするセマンティックトークンの語彙から選択される。
【0188】
例えば、システムは、埋め込みトークン122を条件付け信号として有するセマンティック表現生成ニューラルネットワークを使用して自己回帰的にセマンティック表現106を生成できる。例えば、セマンティック表現生成ニューラルネットワークは、セマンティック表現106を自己回帰的に生成しながら、埋め込みトークン122を条件とすることができる。すなわち、第1の時間ステップの各々におけるセマンティックトークンは、第1の時間ステップ及び埋め込みトークン122に先行するためのセマンティックトークンを条件とすることができる。セマンティック表現生成ニューラルネットワークはSt|S<t、MTを生成することができ、式中、Stは第1の時間ステップtにおけるセマンティックトークンを表し、MTは埋め込みトークン122を表す。
【0189】
システムは次に、少なくともセマンティック表現106及び埋め込みトークン122を条件とするオーディオ信号504の音響表現110を生成する。システムは、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現106及び埋め込みトークン122を条件として、音響表現を生成できる。例えば、1つまたは複数の生成ニューラルネットワークは、セマンティック表現106及び埋め込みトークン122を条件とする音響表現110を自己回帰的に生成できる。すなわち、第2の時間ステップの各々における1つまたは複数の音響トークンのセットは、先行する第2の時間ステップにおける音響トークン、セマンティック表現106、及び埋め込みトークン122を条件とすることができる。1つまたは複数の生成ニューラルネットワークは、At|A<t、S、MTを生成することができ、式中、Atは第1の時間ステップtにおける音響トークンを表し、Sはセマンティック表現を表し、MTはテキストから生成された埋め込みトークン122を表す。
【0190】
システムは次に、デコーダニューラルネットワーク112を使用して少なくとも音響表現110を処理して、オーディオ信号504の予測を生成する。
【0191】
したがって、生成されたオーディオ504は、入力502のテキストデータ「バイオリンソロを含むヒップホップソング」で記述できる音楽を含む。本例の入力502はテキストデータを含むが、
図8を参照して以下で説明するように、システムはオーディオ信号で訓練できる。
【0192】
図6は、音響トークンを生成するための例示的なプロセス600の図である。便宜上、プロセス600は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されるとして説明される。例えば、本明細書に従って適切にプログラムされた、オーディオ生成システム、例えば
図1のオーディオ生成システム100は、プロセス600を実行できる。
【0193】
プロセス600は、システムが、粗い生成ニューラルネットワーク610及び細かい生成ニューラルネットワーク620などの1つまたは複数の生成ニューラルネットワークを使用して、音響表現の音響トークンを生成できるという点で、
図2を参照して上述されたプロセス200に類似している。粗い生成ニューラルネットワーク610は、第1の生成ニューラルネットワークとも称され、
図2を参照して説明する粗い生成ニューラルネットワーク210に類似している。細かい生成ニューラルネットワーク620は、第2の生成ニューラルネットワークとも称され、
図2を参照して説明する細かい生成ニューラルネットワーク620に類似している。システムは、少なくともセマンティック表現106及びオーディオ埋め込みトークンとも称される埋め込みトークン122に基づいて音響表現の生成を条件付けることができる。
【0194】
エンコーダニューラルネットワークは、デコーダニューラルネットワーク及びエンコーダニューラルネットワークを含むニューラルオーディオコーデックの一部であり得る。
図8を参照して以下でさらに詳しく説明するように、デコーダニューラルネットワーク及びエンコーダニューラルネットワークは、共同で訓練できる。粗い生成ニューラルネットワーク610及び細かい生成ニューラルネットワーク620は、ニューラルオーディオコーデックのベクトル量子化器の出力に基づいて生成される音響表現を予測するように訓練できる。
【0195】
いくつかの実施態様では、複数の第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットは、第2の時間ステップにおけるオーディオ信号の音響特性を表す埋め込みに適用される残差ベクトル量子化の出力の予測を集合的に表す複数の音響トークンを含む。残差ベクトル量子化は、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数のベクトル量子化器の階層を使用して、埋め込みをエンコードする。階層は、階層内の1つまたは複数の最初の位置に1つまたは複数の粗いベクトル量子化器と、階層内の1つまたは複数の最後の位置に1つまたは複数の細かいベクトル量子化器とを含む。第2の時間ステップの各々における音響トークンのセットは、ベクトル量子化器ごとに、ベクトル量子化器の語彙から選択されたそれぞれの音響トークンを含む。
【0196】
例えば、階層はQベクトル量子化器を含み得、ベクトル量子化器1...Q’が粗いベクトル量子化器であり得、ベクトル量子化器(Q’+1)...Qが細かいベクトル量子化器であり得る。粗いベクトル量子化器は、話者の識別及び録音条件など、音響特性を表す粗い音響トークンまたは粗いベクトル量子化器612の音響トークンを生成する。細かいベクトル量子化器は、細かい音響詳細を表す、細かい音響トークンまたは細かいベクトル量子化器622の音響トークンを生成する。例えば、細かい音響トークンは、粗い音響トークン内の非可逆圧縮アーティファクトを除去するために使用できる。
【0197】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数及び第2の時間ステップの数は、時間ウィンドウにまたがる出力時間ステップの数よりも少ない。すなわち、第2の時間ステップの各々においてそれぞれの埋め込みを出力するエンコーダニューラルネットワークのサンプリングレートは、オーディオ信号のサンプリングレートよりも低くなり得る。さらに、
図7を参照して説明するオーディオ表現ニューラルネットワークのサンプリングレートは、オーディオ信号のサンプリングレートよりも低くなり得る。したがって、セマンティックトークンを生成できる埋め込みの数及び音響トークンを生成できる埋め込みの数は、出力時間ステップの数未満であり得る。
【0198】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数は、時間ウィンドウにまたがる第2の時間ステップの数よりも少ない。例えば、すべてのセマンティックトークンについて、システムは、粗いベクトル量子化器ごとに2つの音響トークンを生成し、細かいベクトル量子化器ごとに2つの音響トークンを生成することができる。すなわち、第2の時間ステップの各々においてそれぞれの埋め込みを出力するエンコーダニューラルネットワークのサンプリングレートは、
図7を参照して説明するオーディオ表現ニューラルネットワークのサンプリングレートよりも高くなり得る。
【0199】
音響表現を生成するために、粗い生成ニューラルネットワーク610は、少なくともセマンティック表現106及び埋め込みトークン122を条件とする粗いベクトル量子化器612の音響トークンを生成できる。いくつかの例では、埋め込みトークン122は、メロディーオーディオ埋め込みトークンとも称されるメロディー埋め込みトークンを含むことができる。いくつかの例では、埋め込みトークン122は、メロディー埋め込みトークンと連結できる。
【0200】
例えば、粗い生成ニューラルネットワーク610は、階層内の1つまたは複数の粗いベクトル量子化器の各々について、少なくともセマンティック表現106及び埋め込みトークン122を条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成できる。粗いベクトル量子化器612の音響トークンは、録音条件などの音響特性を表す。
【0201】
粗い生成ニューラルネットワーク610は、第1の生成順序に従って粗いベクトル量子化器612の音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり得る。
【0202】
各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、少なくともセマンティック表現106、及び埋め込みトークン122、及び第1の生成順序で特定の音響トークンに先行する任意の音響トークンを条件とする。さらに、各特定の粗いベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)特定の第2の時間ステップに先行する任意の第2の時間ステップにおける粗いベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)階層内の特定のベクトル量子化器に先行する任意の粗いベクトル量子化器の特定の第2の時間ステップにおける任意の音響トークンが生成順序で先行する。
【0203】
例えば、階層はQベクトル量子化器を含み得、ベクトル量子化器1...Q’が粗いベクトル量子化器であり得、一方、ベクトル量子化器(Q’+1)...Qが細かいベクトル量子化器であり得る。特定の第2の時間ステップt及び特定の粗いベクトル量子化器q≦Q’における音響トークンは、セマンティック表現106のセマンティックトークンのすべて、埋め込みトークン122のすべて、第2の時間ステップtに先行する第2の時間ステップにおける任意の音響トークン、及びQ’に先行する粗いベクトル量子化器、及び特定の粗いベクトル量子化器qに先行する粗いベクトル量子化器における第2の時間ステップtにおける任意の音響トークンを条件とする。
【0204】
いくつかの実施態様では、粗い生成ニューラルネットワーク610は、デコーダ専用のトランスフォーマアーキテクチャを有する。いくつかの実施態様では、粗い生成ニューラルネットワーク610は、エンコーダ-デコーダのトランスフォーマアーキテクチャを有する。
【0205】
音響表現を生成するために、細かい生成ニューラルネットワーク620は、少なくとも粗いベクトル量子化器612の音響トークンを条件として細かいベクトル量子化器622の音響トークンを生成できる。例えば、細かい生成ニューラルネットワーク620は、階層内の1つまたは複数の細かいベクトル量子化器の各々について、階層内の1つまたは複数の粗いベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを条件として、ベクトル量子化器の第2の時間ステップのそれぞれの音響トークンを生成できる。したがって、細かい生成ニューラルネットワーク620は、セマンティック表現106及び埋め込みトークン122を条件とすることができない。細かいベクトル量子化器622の音響トークンは、例えば非可逆圧縮アーティファクトを除去することによって、オーディオ品質をさらに向上させるために使用できる。
【0206】
細かい生成ニューラルネットワーク620は、第2の生成順序に従って音響トークンを自己回帰的に生成するように構成された自己回帰ニューラルネットワークであり得る。各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、(i)1つまたは複数の粗いベクトル量子化器の第2の時間ステップの少なくともサブセットについてのそれぞれの音響トークン、及び(ii)第2の生成順序で特定の音響トークンに先行する音響トークンの少なくともサブセットを条件とする。各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンの前に、(i)特定の第2の時間ステップに先行する任意の第2の時間ステップにおける細かいベクトル量子化器のうちのいずれかについての任意の音響トークン、及び(ii)階層内の特定のベクトル量子化器に先行する任意の細かいベクトル量子化器についての特定の第2の時間ステップにおける任意の音響トークンが第2の生成順序で先行する。
【0207】
例えば、階層はQベクトル量子化器を含み得、ベクトル量子化器(Q’+1)...Qは、細かいベクトル量子化器であり得る。特定の第2の時間ステップt及び特定の細かいベクトル量子化器q>Q’における音響トークンは、粗いベクトル量子化器612の音響トークンのすべて、第2の時間ステップtに先行する第2の時間ステップ及びQ’に続く細かいベクトル量子化器における任意の音響トークン、ならびに特定の細かいベクトル量子化器qに先行する粗いベクトル量子化器及び細かいベクトル量子化器における第2の時間ステップtでの任意の音響トークンを条件とする。
【0208】
いくつかの実施態様では、各特定の細かいベクトル量子化器についての各特定の第2の時間ステップにおける各特定の音響トークンは、(i)第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である1つまたは複数の粗いベクトル量子化器についてのそれぞれの音響トークン、及び(ii)第2の生成順序で特定の第2の時間ステップに先行し、第2の時間ステップよりも最大で第2の時間ステップの閾値数ぶん前である第2の時間ステップにおける任意の音響トークンを条件とする。すなわち、第2の時間ステップは、連続する第2の時間ステップの重複しないバッチに分割できる。
【0209】
例えば、特定の第2の時間ステップt及び特定の細かいベクトル量子化器q>Q’における音響トークンは、特定の第2の時間ステップtと同じ第2の時間ステップの対応するバッチ内にある特定の第2の時間ステップtに先行する粗いベクトル量子化器612の音響トークンと、対応するバッチ内の第2の時間ステップtに先行する第2の時間ステップ及びQ’に続く細かいベクトル量子化器における任意の音響トークンと、特定の細かいベクトル量子化器qに先行する粗いベクトル量子化器及び細かいベクトル量子化器における第2の時間ステップtにおける任意の音響トークンとを条件とする。
【0210】
いくつかの実施態様では、細かい生成ニューラルネットワーク620は、デコーダ専用のトランスフォーマアーキテクチャを有する。いくつかの実施態様では、細かい生成ニューラルネットワーク620は、エンコーダ-デコーダのトランスフォーマアーキテクチャを有する。
【0211】
いくつかの実施態様では、システムは、粗いベクトル量子化器612の音響トークン及び細かいベクトル量子化器622の音響トークンを同時に生成できる。例えば、Qのベクトル量子化器の階層の場合、特定の粗いベクトル量子化器または細かいベクトル量子化器qの特定の第2の時間ステップtにおける音響トークンは、第2の時間ステップtに先行する第2の時間ステップにおける、及びqに先行するベクトル量子化器における音響トークンのすべて、ならびに特定のベクトル量子化器qに先行するベクトル量子化器における第2の時間ステップtにおける任意の音響トークンを条件とする。
【0212】
システムは、音響表現内に細かいベクトル量子化器622の音響トークンを含むことができる。システムは、
図7を参照して以下で説明するように、オーディオ信号の予測を生成するために音響表現を使用できる。
【0213】
図7は、オーディオ信号の予測を生成するための例示的なプロセス700のフロー図である。便宜上、プロセス700は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されるとして説明される。例えば、本明細書に従って適切にプログラムされた、オーディオ生成システム、例えば
図1のオーディオ生成システム100は、プロセス700を実行できる。
【0214】
システムは、入力を条件とするオーディオ信号を生成するための要求を受信する(ステップ710)。オーディオ信号は、時間ウィンドウにまたがる複数の出力時間ステップの各々におけるそれぞれのオーディオサンプルを有する。オーディオ信号は、入力を条件とすることができる。入力は、例えば、要求で指定されたコンテキストに含まれ得る。入力は、入力オーディオ信号、視覚データ、及び/またはテキストデータを含むことができる。
【0215】
入力がテキストのシーケンスなどのテキストデータを含む例では、オーディオ信号の予測は、テキストのシーケンスによって記述される音楽の予測であり得る。
【0216】
いくつかの例では、テキストのシーケンスは、テキストの複数のサブシーケンスを含むことができる。オーディオ信号の予測は、サブシーケンスの各々に対応し、かつサブシーケンスの各々を反映する音楽のセクションを有する音楽の予測であり得る。
【0217】
入力がテキストデータ及びメロディーを表す入力オーディオ信号を含む例では、オーディオ信号の予測は、テキストのシーケンスによって記述され、メロディーに沿った音楽の予測であり得る。
【0218】
入力が、メロディーを表す入力オーディオ信号を含む例では、オーディオ信号の予測はメロディーに沿った音楽の予測であり得る。例えば、入力オーディオ信号は口笛またはハミングを表すことができる。
【0219】
入力が、音楽を表す入力オーディオ信号を含む例では、オーディオ信号の予測は、入力オーディオ信号の連続であり得る。
【0220】
入力が視覚データを含むいくつかの例では、システムは、視覚データのテキスト記述を取得できる。いくつかの実施態様では、システムは視覚データのテキスト記述を生成できる。オーディオ信号の予測は、テキスト記述によって記述される音楽の予測であり得る。
【0221】
システムは入力を処理して、入力を1つまたは複数の埋め込みトークンにマッピングする(ステップ715)。埋め込みトークンはまた、オーディオ埋め込みトークンとも称される。システムは埋め込みニューラルネットワークを使用して入力を処理できる。例えば、システムは、埋め込みニューラルネットワークを使用して入力についての埋め込みベクトルを生成し、埋め込みベクトルを量子化して埋め込みトークンを生成できる。
【0222】
いくつかの例では、入力はテキストのシーケンスを含む。埋め込みニューラルネットワークは、テキスト及びオーディオを、ジョイントオーディオ埋め込み空間とも称される、ジョイント埋め込み空間にマッピングするように訓練されている可能性がある。入力がテキストのシーケンスを含む例では、埋め込みトークンはテキストから生成される。
【0223】
埋め込みニューラルネットワークは、オーディオ信号を含むトレーニングデータで訓練されている可能性がある。埋め込みニューラルネットワークのトレーニングは、
図8を参照して以下でさらに詳しく説明する。
【0224】
いくつかの例では、入力は、テキストの複数のサブシーケンスを含むことができる。これらの例では、システムは、サブシーケンスごとに埋め込みトークンを生成できるため、セマンティック表現及び音響表現を生成するときにサブシーケンスごとに条件付け信号を変更できる。
【0225】
いくつかの例では、入力はテキストのシーケンスと、メロディーを表す入力オーディオ信号とを含む。システムは、メロディー埋め込みニューラルネットワークを使用して入力オーディオ信号を処理して、入力オーディオ信号を、メロディーオーディオ埋め込みトークンとも称される1つまたは複数のメロディー埋め込みトークンにマッピングできる。システムは次に、メロディー埋め込みトークンを埋め込みトークンと連結できる。
【0226】
いくつかの例では、入力は、メロディーを表す入力オーディオ信号を含む。システムは、メロディー埋め込みニューラルネットワークを使用して入力オーディオ信号を処理して、オーディオ信号を1つまたは複数のメロディー埋め込みトークンにマッピングできる。システムは、セマンティック表現及び音響表現を生成するための条件付けとして使用される埋め込みトークンとして、メロディー埋め込みトークンを使用できる。
【0227】
入力オーディオ信号がメロディーを表すこれらの例では、メロディー埋め込みニューラルネットワークを使用して入力オーディオ信号を処理するために、システムは、メロディー埋め込みニューラルネットワークを使用して、ジョイントオーディオ埋め込み空間とも称されるジョイント埋め込み空間内の入力オーディオ信号の1つまたは複数のメロディー埋め込みベクトルを生成できる。いくつかの実施態様では、メロディー埋め込みニューラルネットワークは、入力オーディオ信号のメルスペクトログラムの時間フレームを受信し、入力オーディオ信号のメロディー埋め込みベクトルを生成するビジョントランスフォーマ(ViT)であり得る。
【0228】
システムは、メロディー埋め込みベクトルを量子化して、メロディー埋め込みトークンを生成できる。例えば、システムは、残差ベクトル量子化を使用して、メロディー埋め込みベクトルをメロディー埋め込みトークンに量子化できる。メロディー埋め込みニューラルネットワークのトレーニングは、
図8を参照して以下でさらに詳しく説明する。
【0229】
システムは、オーディオ信号のセマンティック表現を生成する(ステップ720)。セマンティック表現は、時間ウィンドウにまたがる複数の第1の時間ステップの各々におけるそれぞれのセマンティックトークンを指定する。各セマンティックトークンは、埋め込みトークンを条件とするセマンティックトークンの語彙から選択され、対応する第1の時間ステップにおけるオーディオ信号のセマンティックコンテンツを表す。
【0230】
いくつかの実施態様では、システムは、埋め込みトークンを条件付け信号として有するセマンティック表現生成ニューラルネットワークを使用して、セマンティック表現を自己回帰的に生成できる。セマンティック表現生成ニューラルネットワークはまた、第3の生成ニューラルネットワークとも称される場合があり、
図3を参照して上述されたセマンティック表現生成ニューラルネットワークに類似している。
【0231】
例えば、セマンティック表現生成ニューラルネットワークは、セマンティックトークンを次々と自己回帰的に生成するように訓練できる。セマンティック表現生成ニューラルネットワークは、例えば、デコーダのみ、またはエンコーダ-デコーダのトランスフォーマベースのニューラルネットワークであり得る。例えば、セマンティック表現生成ニューラルネットワークは、例えば、オーディオ表現ニューラルネットワークの中間層の1つなどの、1つまたは複数の層の出力に基づいて生成されたセマンティック表現を予測するように訓練されている可能性がある。
【0232】
オーディオ表現ニューラルネットワークは、一定時間の間隔で出力または埋め込みを生成できる。例えば、オーディオ表現ニューラルネットワークは、入力オーディオ信号の40msごとに1つの埋め込みを生成できる。
【0233】
セマンティック表現生成ニューラルネットワーク及びオーディオ表現ニューラルネットワークのトレーニングは、
図8を参照して以下でさらに詳しく説明する。
【0234】
いくつかの例では、入力はテキストのシーケンスを含み、埋め込みトークンはテキストから生成される。これらの例では、システムは、オーディオ信号のセマンティック表現を自己回帰的に生成しながら、少なくとも埋め込みトークンに基づいてセマンティック表現生成ニューラルネットワークを条件付けることができる。
【0235】
いくつかの例では、入力は、テキストの複数のサブシーケンスを含むことができ、埋め込みトークンは、サブシーケンスごとに埋め込みトークンを含む。例えば、第1のサブシーケンスの場合、システムは、オーディオ信号のセマンティック表現を自己回帰的に生成しながら、第1のサブシーケンスの埋め込みトークンに基づいてセマンティック表現生成ニューラルネットワークを条件付けることができる。第2のサブシーケンスの場合、システムは、第2のサブシーケンスの埋め込みトークン及び第1のサブシーケンスのために生成されたセマンティックトークンに基づいてセマンティック表現生成ニューラルネットワークを条件付けることができる。
【0236】
いくつかの例では、入力は、テキストのシーケンスと、メロディーを表す入力オーディオ信号とを含み、埋め込みトークンはテキストから生成され、メロディー埋め込みトークンは入力オーディオ信号から生成される。システムは、メロディー埋め込みトークンを埋め込みトークンと連結できる。システムは、メロディー埋め込みトークン及び埋め込みトークンを条件とするセマンティックトークンの語彙から各セマンティックトークンを選択できる。システムは、オーディオ信号のセマンティック表現を自己回帰的に生成しながら、埋め込みトークン及びメロディー埋め込みトークンに基づいてセマンティック表現生成ニューラルネットワークを条件付けることができる。
【0237】
いくつかの例では、入力は、メロディーを表す入力オーディオ信号を含み、メロディー埋め込みトークンは入力オーディオ信号から生成される。これらの例では、システムは、埋め込みトークンとしてメロディー埋め込みトークンを使用できる。システムは、埋め込みトークンを条件としてセマンティックトークンの語彙から各セマンティックトークンを選択できる。システムは、オーディオ信号のセマンティック表現を自己回帰的に生成しながら、埋め込みトークンに基づいてセマンティック表現生成ニューラルネットワークを条件付けることができる。
【0238】
いくつかの例では、システムは、システムが訓練されたオーディオ信号よりも長いオーディオ信号の予測を生成できる。例えば、システムは30秒のオーディオ信号で訓練できる。より長いオーディオ信号を生成するために、セマンティック表現生成ニューラルネットワークは、入力テキストからの同じ埋め込みトークンを条件にしながら、プレフィックスとして15秒を使用して、15秒のストライドで前進して、追加の15秒を生成できる。
【0239】
システムは、オーディオ信号の音響表現を生成する(ステップ730)。システムは、1つまたは複数の生成ニューラルネットワークを使用し、少なくともセマンティック表現及び埋め込みトークンを条件として、音響表現を生成できる。音響表現は、時間ウィンドウにまたがる複数の第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットを指定する。第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンは、対応する第2の時間ステップにおけるオーディオ信号の音響特性を表す。音響表現を生成することは、
図6を参照してさらに詳しく上述されている。
【0240】
いくつかの実施態様では、入力はテキストのシーケンスを含む。1つまたは複数の生成ニューラルネットワークは、少なくとも部分的にオーディオ専用トレーニングデータで訓練されている可能性がある。トレーニング中、セマンティック表現及び音響表現は、テキスト及びオーディオのジョイント埋め込み空間内のオーディオ入力の埋め込みを条件とする。トレーニングは、
図8を参照して以下でさらに詳しく説明する。
【0241】
システムは、少なくとも音響表現を処理して、オーディオ信号の予測を生成する(ステップ740)。システムはデコーダニューラルネットワークを使用して音響表現を処理できる。例えば、時間ウィンドウにまたがる複数の出力時間ステップの各々におけるそれぞれのオーディオサンプルは、階層内のすべてのベクトル量子化器の1つまたは複数の音響表現に基づき得る。
【0242】
いくつかの実施態様では、時間ウィンドウにまたがる第1の時間ステップの数及び第2の時間ステップの数は、時間ウィンドウにまたがる出力時間ステップの数よりも少ない。いくつかの実施態様では、
図6を参照してさらに詳しく上述されるように、時間ウィンドウにまたがる第1の時間ステップの数は、時間ウィンドウにまたがる第2の時間ステップの数よりも少ない。
【0243】
図8は、例示的なオーディオ生成システムを訓練するための例示的なプロセス800の図である。便宜上、プロセス800は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのトレーニングシステムによって実行されるとして説明される。
【0244】
プロセス800は、
図1のオーディオ生成システム100などのオーディオ生成システムをトレーニングデータで訓練できる点で、
図4を参照して説明するプロセス400に類似している。いくつかの実施態様では、埋め込みニューラルネットワーク120、セマンティック表現生成ニューラルネットワーク130(「生成ニューラルネットワーク130」として
図4に示される)、1つまたは複数の生成ニューラルネットワーク108、ニューラルオーディオコーデック420、及びオーディオ表現ニューラルネットワーク410などのオーディオ生成システムのコンポーネントは、別々に訓練できる。
【0245】
埋め込みニューラルネットワーク120は、2つの埋め込みタワー、つまりテキスト用の1つと音楽用の1つを有するジョイント埋め込みモデルであり得る。埋め込みニューラルネットワーク120は、例えば、MuLanモデルであり得る。タワーは、対照学習を使用して、テキスト及び音楽を共有された埋め込み空間にマッピングする。テキストネットワークは、テキストのみデータの大規模なコーパスで事前に訓練されたBERTであり得る。音楽ネットワークは、例えば残差畳み込みネットワークであり得る。
【0246】
埋め込みニューラルネットワーク120は、オーディオ信号を含むトレーニングデータで訓練できる。例えば、トレーニングデータは、音楽クリップと、対応するテキスト注釈のペアとを含むことができる。埋め込みニューラルネットワーク120は、音楽を制約のない自然言語記述にリンクするように訓練できる。例えば、埋め込みニューラルネットワーク120は、オーディオ信号を記述するテキスト及び対応するオーディオ信号が、オーディオ及びテキストのジョイント埋め込み空間内で互いに近い埋め込みを有するように、目的について訓練できる。いくつかの実施態様では、埋め込みニューラルネットワーク120は、オーディオ生成システムのトレーニング前に事前に訓練し、固定できる。
【0247】
オーディオ生成システムは、オーディオのみであるトレーニングデータで訓練できるため、トレーニングデータは容易に拡張できる。トレーニングデータは、テキストキャプション付きのオーディオデータに限定されない。さらに、埋め込みニューラルネットワーク120をコントラスト損失で訓練することによって、ノイズの多いテキスト記述に対する堅牢性を高めることができる。
【0248】
オーディオ生成システムを訓練するための埋め込みトークンを生成するために、トレーニングシステムは、埋め込みニューラルネットワーク120にターゲットオーディオ信号850を提供できる。埋め込みニューラルネットワーク120は、ジョイント埋め込み空間内でターゲットオーディオ信号850の表現を生成できる。トレーニングシステムは、表現を個別の埋め込みトークンに量子化できる。埋め込みトークンは、ジョイント埋め込み空間内のターゲットオーディオ信号850の埋め込みに基づいている。
【0249】
いくつかの実施態様では、トレーニングデータは、埋め込みニューラルネットワーク120が動作するように事前に訓練されたオーディオ信号よりも長いオーディオ信号を含むことができる。例えば、ターゲットオーディオ信号850は30秒の長さを有することができ、埋め込みニューラルネットワーク120は、10秒のシーケンスで動作するように事前に訓練されている可能性がある。トレーニングシステムは、埋め込みニューラルネットワーク120を使用して、ターゲットオーディオ信号850の10秒ウィンドウで1秒のストライドで表現を計算し、結果として生じる表現を平均化できる。トレーニングシステムは次に、平均化された表現を、ターゲットオーディオ信号850の個別の埋め込みトークンに量子化できる。
【0250】
トレーニングシステムは、音楽クリップなどのオーディオクリップを含むトレーニングデータでニューラルオーディオコーデック420及びオーディオ表現ニューラルネットワーク410を訓練できる。トレーニングデータの例示的なオーディオクリップは、ターゲットオーディオ850として
図8に示されている。
【0251】
図4を参照して上述されたように、ニューラルオーディオコーデック420は、デコーダニューラルネットワーク及びエンコーダニューラルネットワークを含むことができる。例えば、エンコーダニューラルネットワークは、ターゲットオーディオ850を、音響表現に量子化されたコード化信号に変換できる。デコーダニューラルネットワークは、音響表現を予測オーディオ信号に変換できる。いくつかの実施態様では、ニューラルオーディオコーデック420は、オーディオ生成システムのトレーニング前に事前に訓練し、固定できる。
【0252】
ニューラルオーディオコーデック420は、敵対的損失及び再構築損失を最小限に抑えるように訓練できる。例えば、デコーダニューラルネットワーク及びエンコーダニューラルネットワークは、エンコーダニューラルネットワークによって生成された出力を使用して生成された音響表現から、デコーダニューラルネットワークによって生成された予測オーディオ信号の再構築品質を測定する目的で共同で訓練できる。
【0253】
オーディオ表現ニューラルネットワーク410は、入力オーディオ信号の表現を生成するように訓練されている可能性がある。いくつかの実施態様では、オーディオ表現ニューラルネットワーク410は、オーディオ生成システムのトレーニング前に事前に訓練し、固定できる。オーディオ表現ニューラルネットワーク410は、マスク言語モデル(MLM)損失及びコントラスト損失を最小限に抑えるように訓練できる。オーディオ表現ニューラルネットワーク410は、例えば、w2v-BERTモデルであり得る。
【0254】
トレーニングシステムは、オーディオクリップを含むトレーニングデータで、セマンティック表現生成ニューラルネットワーク130及び1つまたは複数の生成ニューラルネットワーク108を訓練できる。いくつかの実施態様では、生成ニューラルネットワークは教師強制を用いて訓練できる。
【0255】
トレーニングシステムは、例えば、オーディオ表現ニューラルネットワーク410の中間層の1つなどの、1つまたは複数の層の出力に基づいて生成されたセマンティック表現を予測するようにセマンティック表現生成ニューラルネットワーク130を訓練できる。トレーニングシステムは、埋め込みトークンを条件とするセマンティック表現生成ニューラルネットワーク130を訓練できる。セマンティック表現生成ニューラルネットワーク130は、分布p(St|S<t、MA)をモデル化することができ、式中、Stは第1の時間ステップtにおけるセマンティックトークンを表し、MAはオーディオから生成された埋め込みトークンを表す。
【0256】
例えば、オーディオ表現ニューラルネットワーク410は、複数の層を有するネットワークを含むことができる。例えば、オーディオ表現ニューラルネットワーク410は、例えば、複数の層を有するトランスフォーマベースのモデルまたはコンフォーマベースのモデルなど、自己注意ベースのモデルを含むことができる。
【0257】
自己注意ベースのモデルは、例えば自己教師あり学習を通じて音楽表現タスクで訓練されている可能性がある。
【0258】
オーディオ表現ニューラルネットワーク410の1つまたは複数の層の出力は、入力オーディオの埋め込みを含むことができる。例えば、自己注意ベースのモデルは、トレーニングデータ内のオーディオサンプルの一部またはすべてに対して高密度の埋め込みを生成できる。オーディオサンプルの一部またはすべての自己注意ベースのモデルの中間層の埋め込みは、k平均法によってK個のクラスタにクラスタ化できる。クラスタの重心はセマンティックトークンとして使用できる。いくつかの実施態様では、クラスタ化の前に各次元がゼロ平均及び単位分散を有するように出力を正規化できる。
【0259】
セマンティック表現生成ニューラルネットワーク130のトレーニング用の例示的なターゲットセマンティック表現は、ターゲットオーディオ450を自己注意ベースのモデルに提供することによって生成されている可能性がある。トレーニングシステムは、ターゲットオーディオ450の各出力を最近傍のクラスタの重心に割り当てることによってターゲットセマンティック表現のセマンティックトークンを生成できる。
【0260】
いくつかの実施態様では、ターゲットセマンティック表現内のセマンティックトークンの連続する繰り返しは除去できる。例えば、ターゲットオーディオ850のターゲットセマンティック表現は、セマンティックトークンのシーケンスを含む。トレーニングシステムは、シーケンス内の連続して繰り返されるセマンティックトークンを除去し、次に連続して繰り返されるセマンティックトークンのないターゲットセマンティック表現をトレーニングに使用できる。
【0261】
トレーニングシステムは、少なくともセマンティック表現及び埋め込みトークンを条件とする音響表現を生成するように、1つまたは複数の生成ニューラルネットワーク108を訓練できる。いくつかの実施態様では、音響表現は、オーディオ信号を処理することによってエンコーダニューラルネットワークの出力から生成されるであろうグラウンドトゥルース音響表現の予測である。例えば、エンコーダニューラルネットワークは、オーディオ信号を埋め込みのシーケンスにマッピングする畳み込みエンコーダであり得る。複数の第2の時間ステップの各々における各それぞれの埋め込みは、第2の時間ステップにおけるオーディオ信号の特徴に対応することができる。グラウンドトゥルース音響表現は、それぞれの埋め込みの各々に量子化を適用することによって生成できる。上述のように、エンコーダニューラルネットワークは、ニューラルオーディオコーデックなどのニューラルオーディオコーデックの一部であり得る。
【0262】
例えば、量子化は、各々がベクトル量子化器についての音響トークンの対応する語彙からそれぞれの音響トークンを生成する複数のベクトル量子化器の階層を使用して、各埋め込みをエンコードする残差ベクトル量子化であり得る。階層は、階層内の1つまたは複数の最初の位置に1つまたは複数の粗いベクトル量子化器と、階層内の1つまたは複数の最後の位置に1つまたは複数の細かいベクトル量子化器とを含むことができる。第2の時間ステップの各々における1つまたは複数のそれぞれの音響トークンのセットは、ベクトル量子化器ごとに、ベクトル量子化器の語彙から選択され、第2の時間ステップにおいてエンコーダニューラルネットワークによって生成されたグラウンドトゥルース埋め込みからベクトル量子化器によって生成されるであろうグラウンドトゥルース音響トークンの予測であるそれぞれの音響トークンを含むことができる。
【0263】
トレーニングシステムは、ニューラルオーディオコーデック420の残差ベクトル量子化器の出力に基づいて生成された音響表現を予測するように、1つまたは複数の生成ニューラルネットワーク108を訓練できる。トレーニングシステムは、埋め込みトークンを条件とする1つまたは複数の生成ニューラルネットワーク408を訓練できる。1つまたは複数の生成ニューラルネットワーク408は、分布p(At|A<t、S、MA)をモデル化することができ、式中、Atは第1の時間ステップtにおける音響トークンを表し、Sはセマンティック表現を表し、MAはオーディオから生成された埋め込みトークンを表す。
【0264】
1つまたは複数の生成ニューラルネットワーク108のトレーニング用のターゲット音響表現は、複数の第2の時間ステップの各々においてニューラルオーディオコーデック420のエンコーダニューラルネットワークによって出力されるそれぞれの埋め込みの各々に量子化を適用することによって生成されている可能性がある。量子化は、
図6を参照して上述されたように、残差ベクトル量子化(RVQ)であり得る。
【0265】
いくつかの実施態様では、オーディオ生成システムはまた、メロディー埋め込みニューラルネットワークを含む。メロディー埋め込みニューラルネットワークは、メロディーは一致するが、音響が異なるオーディオペアで訓練されている可能性がある。例えば、トレーニングデータは、カバー、インストゥルメンタル、ボーカル、ハミング、及び歌唱など、同じ音楽クリップの異なるバージョンを含むことができる。
【0266】
メロディー埋め込みニューラルネットワークは、2つのオーディオクリップが同じメロディーを含むときに、ジョイントオーディオ埋め込み空間とも称されるジョイント埋め込み空間内の対応する埋め込みが互いに近くなるように訓練できる。例えば、メロディー埋め込みニューラルネットワークは、セミハードトリプレット損失を使用して、演奏されている楽器に関連する音響特性に対しては不変でありながら、入力オーディオ信号中のメロディーを表現するオーディオの埋め込みを生成するように訓練できる。
【0267】
本明細書は、システム及びコンピュータプログラムのコンポーネントに関連して用語「構成される」を使用する。特定の動作またはアクションを実行するように構成される1つまたは複数のコンピュータのシステムの場合、システムはその上に、動作中に、システムに動作またはアクションを実行させる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせをインストールしていることを意味する。特定の動作またはアクションを実行するように構成される1つまたは複数のコンピュータプログラムの場合、1つまたは複数のプログラムは、データ処理装置によって実行されたとき、装置に動作またはアクションを実行させる命令を含むことを意味する。
【0268】
本明細書に説明される主題及び機能動作の実施形態は、本明細書で開示される構造及びその構造的同等物を含む、デジタル電子回路で、有形に具現化されたコンピュータソフトウェアまたはファームウェアで、コンピュータハードウェア、またはそれらの1つまたは複数の組み合わせで実装できる。本明細書に説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、つまりデータ処理装置による実行のために、またはデータ処理装置の動作を制御するために、有形の非一時的な記憶媒体上でエンコードされたコンピュータプログラム命令の1つまたは複数のモジュールとして実装できる。コンピュータ記憶媒体は、機械可読ストレージデバイス、機械可読記憶基板、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはそれらの1つまたは複数の組み合わせである場合がある。代わりにまたはさらに、プログラム命令はデータ処理装置による実行に適切な受信機装置への伝送のための情報をエンコードするために生成される、人工的に生成され、伝搬された信号、例えば、機械により生成された電気信号、光信号、または電磁信号でエンコードできる。
【0269】
用語「データ処理装置」は、データ処理ハードウェアを指し、一例として、プログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、及び機械を網羅する。装置はまた、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)など、特殊用途論理回路である可能性もあれば、特殊用途論理回路をさらに含む可能性もある。装置はまた、任意選択で、ハードウェアに加えて、コンピュータプログラムの実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組み合わせを構成するコードを含むことができる。
【0270】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと称される場合もあるコンピュータプログラムは、コンパイル型言語もしくはインタプリタ型言語、宣言型言語もしくは手続き型言語を含む、任意の形態のプログラム言語で書くことができ、コンピュータプログラムは、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に好適な他のユニットとしての形態を含む、任意の形態で展開できる。プログラムは、ファイルシステムのファイルに対応し得るが、必ずしも対応する必要はない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語の文書に記憶される1つまたは複数のスクリプト)を保持するファイルの一部分に、目的のプログラム専用の単一のファイルに、または複数の連携ファイル、例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部分を記憶するファイルに格納できる。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に配置されるか、もしくは複数の場所にわたって分散され、データ通信ネットワークによって相互接続される複数のコンピュータ上で、実行されるように展開できる。
【0271】
本明細書では、用語「エンジン」は、1つまたは複数の特定の機能を実行するようにプログラムされたソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広義に使用される。一般に、エンジンは、1つまたは複数の場所にある1つまたは複数のコンピュータにインストールされた1つまたは複数のソフトウェアモジュールまたはコンポーネントして実装される。いくつかの場合、1つまたは複数のコンピュータは特定のエンジン専用となり、他の場合、複数のエンジンが同じ1つまたは複数のコンピュータ上にインストールされ、実行できる。
【0272】
本明細書に説明するプロセス及び論理の流れは、入力データに作用し、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能コンピュータによって実行できる。プロセス及び論理の流れはまた、例えばFPGAもしくはASICなどの特殊目的論理回路によって、または特殊目的論理回路と1つまたは複数のプログラムされたコンピュータとの組み合わせによって実行できる。
【0273】
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは専用のマイクロプロセッサ、もしくはその両方、または他の種類の中央処理装置をベースにすることができる。一般に、中央処理装置は、リードオンリメモリまたはランダムアクセスメモリまたは両方から命令及びデータを受信する。コンピュータの必須要素は、命令を行うまたは実行するための中央処理装置、ならびに命令及びデータを格納するための1つまたは複数のメモリデバイスである。中央処理装置及びメモリは、専用論理回路によって補完され得、または専用論理回路に組み込まれ得る。一般に、コンピュータはまた、例えば磁気ディスク、光磁気ディスク、または光ディスクなど、データを格納するための1つまたは複数の大容量ストレージデバイスを含むか、または1つまたは複数の大容量ストレージデバイスからデータを受信するか、もしくは1つまたは複数の大容量ストレージデバイスにデータを転送するか、もしくは両方を行うように動作可能に結合される。ただし、コンピュータはそのようなデバイスを有する必要はない。さらにコンピュータは、いくつか挙げるだけでも、例えば携帯電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはユニバーサルシリアルバス(USB)フラッシュドライブなどのポータブルストレージデバイスなど別のデバイスに埋め込むことができる。
【0274】
コンピュータプログラム命令及びデータを格納するために適したコンピュータ可読媒体は、一例として、例えば、EPROM、EEPROMなどの半導体メモリデバイス、及びフラッシュメモリデバイス、内蔵ハードディスクもしくはリムーマブルディスクなどの磁気ディスク、光磁気ディスク、及びCD-ROMとDVD-ROMディスクを含む、すべての形式の不揮発性メモリ、メディアデバイスとメモリデバイスを含む。
【0275】
ユーザーとのインタラクションを実現するために、本明細書に説明する主題の実施形態は、ユーザーに情報を表示するための表示デバイス(例えばCRT(ブラウン管)またはLCD(液晶画面)モニタ)及びユーザーがそれによってコンピュータへの入力を提供できるキーボードならびにポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上に実装できる。他の種類のデバイスもまた、ユーザーとのインタラクションを実現するために使用できる。例えば、ユーザーに提供されるフィードバックは、あらゆる形式の感覚的フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得、ユーザーからの入力は、音響、音声言語、または触覚入力を含むあらゆる形式で受信され得る。さらに、コンピュータは、例えば、ウェブブラウザから受信した要求に応えてユーザーのデバイス上でウェブブラウザにウェブページを送信することによってなど、ユーザーが使用するデバイスに文書を送信し、文書を受信することによりユーザーとインタラクトできる。また、コンピュータは、例えば、メッセージングアプリケーションを実行しているスマートフォンなどの個人用デバイスにテキストメッセージまたは他の形式のメッセージを送信し、それに応じてユーザーから返信メッセージを受信することによってユーザーとインタラクトできる。
【0276】
機械学習モデルを実装するためのデータ処理装置はまた、例えば、機械学習のトレーニングまたは生成の共通の計算集約的な部分、つまり、推論、ワークロードを処理するための専用ハードウェアアクセラレータユニットを含むことができる。
【0277】
機械学習モデルは、例えばTensorFlowフレームワークまたはJaxフレームワークなどの機械学習フレームワークを使用して実装及び展開できる。
【0278】
本明細書に説明する主題の実施形態は、例えば、データサーバなどのバックエンドコンポーネントを含む、または例えば、アプリケーションサーバなどのミドルウェアコンポーネントを含む、またはグラフィカルユーザインターフェース、ウェブブラウザ、もしくはユーザーがそれを通じて本明細書に説明する主題の実装とインタラクトできるアプリを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピューティングシステムに、または1つまたは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンドのコンポーネントの任意の組み合わせに実装できる。システムのコンポーネントは、あらゆる形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続できる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、及びインターネットを含む。
【0279】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアントとサーバは、概して互いに遠く離れており、典型的に通信ネットワークを通じてインタラクトする。クライアントとサーバの関係は、それぞれのコンピュータ上で動作するコンピュータプログラムにより、及びクライアント-サーバ関係を互いに有することにより生じる。いくつかの実施形態では、サーバは、例えば、クライアントとして機能するデバイスとインタラクトするユーザーにデータを表示し、ユーザーからユーザー入力を受信する目的でデータ、例えば、HTMLページをユーザーデバイスに送信する。例えば、ユーザーインタラクションの結果など、ユーザーデバイスで生成されたデータは、サーバでデバイスから受信できる。
【0280】
本明細書は、多くの具体的な実施態様の詳細を含むが、これらは、いかなる発明の範囲に対する、または特許請求できる範囲に対する制限として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。本明細書において個別の実施形態の文脈で説明されている特定の特徴は、単一の実施形態で組み合わせて実現することもできる。逆に、単一の実施形態の文脈で説明された様々な特徴はまた、複数の実施形態で個別に、または任意の適切なサブコンビネーションで実現できる。さらに、特徴は特定の組み合わせで機能すると上述され、当初はそのように請求されていたとしても、請求された組み合わせからの1つまたは複数の特徴が、いくつかの場合で、その組み合わせから削除され、請求された組み合わせは、サブコンビネーションまたはサブコンビネーションの変形形態を対象とすることもできる。
【0281】
同様に、図面には操作が描かれ、特許請求の範囲に特定の順序で記載されるが、望ましい結果を得るためには、そのような操作が示された特定の順序または連続した順序で実行されること、または示されたすべての操作が実行されることが必要であると理解されるべきではない。特定の状況では、マルチタスク及び並列処理が有利になり得る。さらに、上述の実施形態における様々なシステムモジュール及びコンポーネントを分離することは、すべての実施形態でそのような分離が必要であると理解されるべきではなく、説明されているプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品に統合することも、複数のソフトウェア製品にパッケージ化することもできることを理解されたい。
【0282】
主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲の範囲内である。例えば、特許請求の範囲に記載されるアクションは、異なる順序で実行することができ、望ましい結果を達成できる。一例として、添付の図に示されたプロセスでは、望ましい結果を得るために、必ずしも示された特定の順序、または連続した順序に従う必要はない。いくつかの場合、マルチタスクと並列処理が有利になり得る。