(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-01
(54)【発明の名称】オーディオ生成器ならびにオーディオ信号生成方法およびオーディオ生成器学習方法
(51)【国際特許分類】
G10L 13/06 20130101AFI20231025BHJP
G10L 13/10 20130101ALI20231025BHJP
G10L 25/30 20130101ALI20231025BHJP
【FI】
G10L13/06 120Z
G10L13/10 113Z
G10L25/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023522964
(86)(22)【出願日】2021-10-13
(85)【翻訳文提出日】2023-06-14
(86)【国際出願番号】 EP2021078371
(87)【国際公開番号】W WO2022079129
(87)【国際公開日】2022-04-21
(32)【優先日】2020-10-15
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2021/072075
(32)【優先日】2021-08-06
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】110003915
【氏名又は名称】弁理士法人岡田特許事務所
(72)【発明者】
【氏名】アフマド アフマド ムスタファ マフムート
(72)【発明者】
【氏名】ピア ニコラ
(72)【発明者】
【氏名】フックス ギヨーム
(72)【発明者】
【氏名】ムルトゥルス マルクス
(72)【発明者】
【氏名】コルセ スリカンス
(72)【発明者】
【氏名】グプタ キシャン
(72)【発明者】
【氏名】ビューテ ヤン
(57)【要約】
オーディオ信号を生成し、オーディオ生成器を学習させるための技法が開示されている。オーディオ生成器(10)はオーディオ信号(16)、入力信号(14)および前記オーディオ信号(16)を表すターゲットデータ(12)から生成することができる。ターゲットデータ(12)はテキストから導出される。オーディオ生成器は、入力信号(14)から導出された第1のデータ(15,59a)を受信し、第1の出力データを出力する第1の処理ブロック(40,50,50a~50h)と、第1の出力データ(69)または第1の出力データ(69)から導出されたデータを第2のデータとして受信する第2の処理ブロック(45)とを備える。第1の処理ブロック(50)は、ターゲットデータ(12)を処理してコンディショニング特性パラメータ(74,75)を取得するように構成される、学習可能レイヤのコンディショニングセット(71,72,73)と、コンディショニング特性パラメータ(74,75)を第1のデータ(15,59a)または第1のデータを正規化したもの(59,76’)に適用するように構成されたスタイリング要素(77)とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力信号(14)およびターゲットデータ(12)からオーディオ信号(16)を生成するように構成されたオーディオ生成器(10)であって、前記ターゲットデータ(12)は前記オーディオ信号(16)を表し、
前記入力信号(14)から導出された第1のデータ(15,59a)を受信し、第1の出力データ(69)を出力するように構成された第1の処理ブロック(40,50,50a~50h)であって、前記第1の出力データ(69)は複数のチャネル(47)を備える、第1の処理ブロック(40,50,50a~50h)と、
前記第1の出力データ(69)または前記第1の出力データ(69)から導出されたデータを第2のデータとして受信するように構成された第2の処理ブロック(45)と
を備えるオーディオ生成器(10)であって、
前記第1の処理ブロック(50)は前記第1の出力データの各チャネルについて、
前記ターゲットデータ(12)を処理してコンディショニング特性パラメータ(74,75)を取得するように構成された学習可能レイヤのコンディショニングセット(71,72,73)であって、前記ターゲットデータ(12)はテキストから導出される、学習可能レイヤのコンディショニングセット(71,72,73)と、
前記コンディショニング特性パラメータ(74,75)を前記第1のデータ(15,59a)または前記第1のデータを正規化したもの(59,76’)に適用するように構成されたスタイル付与要素(77)と
を備え、
前記第2の処理ブロック(45)は前記第2のデータ(69)の前記複数のチャネル(47)を結合して前記オーディオ信号(16)を取得するように構成される、
オーディオ生成器。
【請求項2】
前記ターゲットデータ(12)はスペクトログラムである、請求項1に記載のオーディオ生成器。
【請求項3】
前記ターゲットデータ(12)はメルスペクトログラムである、請求項1または請求項2に記載のオーディオ生成器。
【請求項4】
前記ターゲットデータ(12)は、ログスペクトログラム、MFCC、メルスペクトログラムまたはテキストから取得したその他のタイプのスペクトログラムのうちの少なくとも1つの音響特性を備える、請求項1ないし請求項3のいずれか1項に記載のオーディオ生成器。
【請求項5】
テキストまたはテキスト要素の形式の入力を前記少なくとも1つの音響特性に変換(1110)することによって前記ターゲットデータ(12)を取得するように構成される、請求項1ないし請求項4のいずれか1項に記載のオーディオ生成器。
【請求項6】
少なくとも1つ言語特性を前記少なくとも1つの音響特性に変換(1114)することによって前記ターゲットデータ(12)を取得するように構成される、請求項1ないし請求項5のいずれか1項に記載のオーディオ生成器。
【請求項7】
前記ターゲットデータ(12)は、テキストから取得した音素、語韻律、イントネーション、文章の区切り、有声休止のうちの少なくとも1つの言語特性を備える、請求項1ないし請求項6のいずれかに記載のオーディオ生成器。
【請求項8】
テキストまたはテキスト要素の形式の入力を前記少なくとも1つの言語特性に変換(1110)することによって前記ターゲットデータ(12)を取得するように構成される、請求項7に記載のオーディオ生成器。
【請求項9】
前記ターゲットデータ(12)は、テキストから取得した文字および単語のうちの少なくとも1つを含む、請求項1ないし請求項8のいずれか1項に記載のオーディオ生成器。
【請求項10】
前記ターゲットデータ(12)は、テキスト解析を行う、および/または音響モデルを使用する統計モデルを使用してテキスト(112)から導出される、請求項1ないし請求項9のいずれか1項に記載のオーディオ生成器。
【請求項11】
前記ターゲットデータ(12)は、テキスト解析を行う、および/または音響モデルを使用する学習可能モデルを使用してテキスト(112)から導出される、請求項1ないし請求項10のいずれか1項に記載のオーディオ生成器。
【請求項12】
前記ターゲットデータ(12)は、テキスト解析を行うルールベースのアルゴリズム、および/または音響モデルを使用してテキスト(112)から導出される、請求項1ないし請求項11のいずれか1項に記載のオーディオ生成器。
【請求項13】
少なくとも1つの決定的レイヤを通して前記ターゲットデータを導出するように構成される、請求項1ないし請求項12のいずれか1項に記載のオーディオ生成器。
【請求項14】
少なくとも1つの学習可能レイヤを通して前記ターゲットデータを導出するように構成される、請求項1ないし請求項13のいずれか1項に記載のオーディオ生成器。
【請求項15】
前記学習可能レイヤのコンディショニングセットは、少なくとも2つの畳み込みレイヤ(71~73)から成る、請求項1ないし請求項14のいずれか1項に記載のオーディオ生成器。
【請求項16】
第1の畳み込みレイヤ(71~73)は、前記ターゲットデータ(12)または前記ターゲットデータをアップサンプリングしたものを畳み込んで、第1の活性化関数を使用して第1の畳み込み済みデータ(71’)を取得するように構成される、請求項15に記載のオーディオ生成器。
【請求項17】
前記学習可能レイヤのコンディショニングセット(71~73)および前記スタイル付与要素(77)は、1つ以上の残差ブロック(50,50a~50h)を備えるニューラルネットワークの残差ブロック(50,50a~50h)内の加重レイヤの一部である、請求項1ないし請求項16のいずれか1項に記載のオーディオ生成器。
【請求項18】
前記オーディオ生成器(10)は、前記第1のデータ(59a,15)を正規化するように構成された正規化要素(76)をさらに備える、請求項1ないし請求項17のいずれか1項に記載のオーディオ生成器。
【請求項19】
前記オーディオ信号(16)は音声オーディオ信号である、請求項1ないし請求項18のいずれか1項に記載のオーディオ生成器。
【請求項20】
前記ターゲットデータ(12)は少なくとも係数2でアップサンプリングされる、請求項1ないし請求項19のいずれか1項に記載のオーディオ生成器。
【請求項21】
前記ターゲットデータ(12)は非線形補間でアップサンプリング(70)される、請求項20に記載のオーディオ生成器。
【請求項22】
前記第1の活性化関数はリーキー整流化線形ユニット(リーキーReLu)関数である、請求項16または請求項16に従属する請求項17ないし請求項21のいずれか1項に記載のオーディオ生成器。
【請求項23】
畳み込み動作(61a,61b,62a,62b)は最大膨張率2で実行される、請求項1ないし請求項22のいずれか1項に記載のオーディオ生成器。
【請求項24】
8つの第1の処理ブロック(50a~50h)と1つの第2の処理ブロック(45)を備える、請求項1ないし請求項23のいずれか1項に記載のオーディオ生成器。
【請求項25】
前記第1のデータ(15,59,59a,59b)の次元が前記オーディオ信号よりも低い、請求項1ないし請求項24のいずれか1項に記載のオーディオ生成器。
【請求項26】
入力信号(14)およびターゲットデータ(12)からオーディオ生成器(10)によってオーディオ信号(16)を生成するための方法であって、前記ターゲットデータ(12)は前記オーディオ信号(16)を表し且つテキストから導出される、方法であって、
第1の処理ブロック(50,50a~50h)によって、前記入力信号(14)から導出された第1のデータ(16,59,59a,59b)を受信するステップと、
前記第1の出力データ(59b,69)の各チャネルについて、
前記第1の処理ブロック(50)の学習可能レイヤのコンディショニングセット(71,72,73)によって前記ターゲットデータ(12)を処理してコンディショニング特性パラメータ(74,75)を取得するステップと、
前記第1の処理ブロック(50)のスタイル付与要素(77)によって、前記コンディショニング特性パラメータ(74,75)を前記第1のデータ(15,59a)または前記第1のデータを正規化したもの(76’)に適用するステップと、
前記第1の処理ブロック(50)によって、複数のチャネル(47)を含む第1の出力データ(69)を出力するステップと、
第2の処理ブロック(45)によって前記第1の出力データ(69)または前記第1の出力データ(69)から導出されたデータを第2のデータとして受信するステップと、
前記第2の処理ブロック(45)によって、前記第2のデータの前記複数のチャネル(47)を結合して前記オーディオ信号(16)を取得するステップと、
を含む方法。
【請求項27】
前記ターゲットデータ(12)は、ログスペクトログラム、MFCC、メルスペクトログラムまたはテキストから取得されたその他のタイプのスペクトログラムのうちの少なくとも1つの音響特性を備える、請求項26に記載のオーディオ信号を生成するための方法。
【請求項28】
テキストまたはテキスト要素の形式の入力を前記少なくとも1つの音響特性に変換(1110)することによって前記ターゲットデータ(12)を取得するステップを含む、請求項26または請求項27に記載のオーディオ信号を生成するための方法。
【請求項29】
少なくとも1つ言語特性を前記少なくとも1つの音響特性に変換(1114)することによって前記ターゲットデータ(12)を取得するステップを含む、請求項26ないし請求項28のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項30】
前記ターゲットデータ(12)は、テキストから取得した音素、語韻律、イントネーション、文章の区切り、有声休止のうちの少なくとも1つの言語特性を備える、請求項26ないし請求項29のいずれかに記載のオーディオ信号を生成するための方法。
【請求項31】
テキストまたはテキスト要素の形式の入力を前記少なくとも1つの言語特性に変換(1110)することによって前記ターゲットデータ(12)を取得するステップを含む、請求項30に記載のオーディオ信号を生成するための方法。
【請求項32】
前記ターゲットデータ(12)は、テキストから取得した文字および単語のうちの少なくとも1つを含む、請求項26ないし請求項31のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項33】
テキスト解析を行う、および/または音響モデルを使用する統計モデルを使用してターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項32のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項34】
テキスト解析を行う、および/または音響モデルを使用する学習可能モデルを使用してターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項33のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項35】
テキスト解析を行うルールベースアルゴリズム、および/または音響モデルを使用してターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項34のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項36】
少なくとも1つの決定的レイヤを通して前記ターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項35のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項37】
少なくとも1つの学習可能レイヤを通して前記ターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項35のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項38】
前記学習可能レイヤのコンディショニングセット(71~73)は、1つまたは2つの畳み込みレイヤから成る、請求項26ないし請求項37のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項39】
前記学習可能レイヤのコンディショニングセット(71~73)によって処理するステップは、第1の畳み込みレイヤ(71)によって、前記ターゲットデータ(12)または前記ターゲットデータをアップサンプリングしたものを畳み込んで、第1の活性化関数を使用して第1の畳み込み済みデータ(71’)を取得するステップを含む、請求項38に記載のオーディオ信号を生成するための方法。
【請求項40】
前記学習可能レイヤのコンディショニングセット(71~73)および前記スタイル付与要素(77)は、1つ以上の残差ブロック(50,50a~50h)を備えるニューラルネットワークの残差ブロック(50,50a~50h)内の加重レイヤの一部である、請求項26ないし請求項39のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項41】
前記方法は、前記第1のデータ(15,59)を正規化要素(76)によって正規化するステップをさらに含む、請求項26ないし請求項40のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項42】
前記オーディオ信号(16)は音声オーディオ信号である、請求項26ないし請求項41のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項43】
前記ターゲットデータ(12)は係数2でアップサンプリング(70)される、請求項26ないし請求項42のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項44】
前記ターゲットデータ(12)は非線形補間でアップサンプリング(70)される、請求項26ないし請求項43のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項45】
前記第1の活性化関数はリーキー整流化線形ユニット(リーキーReLu)関数である、請求項26ないし請求項44のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項46】
畳み込み動作(61a,61b,62a,62b)は最大膨張率2で実行される、請求項26ないし請求項45のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項47】
前記第1の処理ブロック(50,50a~50h)の工程を8回繰り返し、前記第2の処理ブロック(45)の工程を1回だけ行うステップを含む、請求項26ないし請求項46のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項48】
前記第1のデータ(15,59)の次元が前記オーディオ信号よりも低い、請求項26ないし請求項47のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項49】
前記ターゲットデータをテキストから導出するステップをさらに含む、請求項26ないし請求項48のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項50】
前記ターゲットデータ(12)はスペクトログラムである、請求項26ないし請求項49のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項51】
前記スペクトログラムはメルスペクトログラムである、請求項50に記載の方法。
【請求項52】
請求項1ないし請求項25のいずれか1項に記載のオーディオ生成器(10)を学習(100)させるための方法であって、前記学習(100)は請求項26~51のいずれかに記載の工程を1回以上繰り返すステップを含む、方法。
【請求項53】
生成されたオーディオ信号(14,16)を少なくとも1つの評価器(132)で評価(130)するステップと、
前記評価(130)の結果に応じて前記オーディオ生成器(10)の加重(74,75)を調節するステップと
をさらに含む、請求項52に記載の方法。
【請求項54】
前記少なくとも1つの評価器(132)はニューラルネットワークである、請求項53に記載の方法。
【請求項55】
前記評価器の加重を前記評価の結果に応じて調節するステップをさらに含む、請求項53または請求項54に記載の方法。
【請求項56】
学習(130)は損失関数(140)を最適化するステップを含む、請求項52ないし請求項55のいずれか1項に記載の方法。
【請求項57】
損失関数を最適化(130)するステップは、前記生成されたオーディオ信号(16)と基準オーディオ信号(104)との間の固定メトリックを計算するステップを含む、請求項56に記載の方法。
【請求項58】
前記固定メトリックを計算するステップは、前記生成されたオーディオ信号(16)と前記基準オーディオ信号(104)との間の1つ以上のスペクトル歪みを計算するステップを含む、請求項57に記載の方法。
【請求項59】
前記1つ以上のスペクトル歪みを計算するステップは、前記生成されたオーディオ信号(16)および前記基準オーディオ信号(104)のマグニチュードまたはログマグニチュードに対して行われる、請求項58に記載の方法。
【請求項60】
前記1つ以上のスペクトル歪みを計算するステップは、前記生成されたオーディオ信号(16)および前記基準オーディオ信号(104)の異なる時間または周波数解像度に対して行われる、請求項58または請求項59に記載の方法。
【請求項61】
前記損失関数(140)を最適化するステップは、1つ以上の評価器(132)によって前記生成されたオーディオ信号(16)の表現または前記基準オーディオ信号(104)の表現をランダムに供給し評価することによって1つ以上の敵対的メトリックを導出するステップを含み、評価するステップは、前記オーディオ信号(14,16)の事前学習済みの自然さの分類レベルを示す既定の数の分類に、供給されたオーディオ信号(16,132)を分類するステップを含む、請求項56ないし請求項60のいずれか1項に記載の方法。
【請求項62】
前記損失関数を最適化するステップは、1つ以上の評価器(132)によって固定メトリックを計算し、敵対的メトリックを導出するステップを含む、請求項56ないし請求項61のいずれか1項に記載の方法。
【請求項63】
前記オーディオ生成器(10)はまず、前記固定メトリックを用いて学習させられる、請求項62に記載の方法。
【請求項64】
4つの評価器(132a~132d)が4つの敵対的メトリックを導出する、請求項61ないし請求項63のいずれか1項に記載の方法。
【請求項65】
前記評価器(132)はフィルタバンク(110)による前記生成されたオーディオ信号(16)の前記表現または前記基準オーディオ信号(104)の前記表現の分解(110)後に動作する、請求項61ないし請求項64のいずれか1項に記載の方法。
【請求項66】
前記評価器(132a~132d)はそれぞれ、前記生成されたオーディオ信号(16)の前記表現または前記基準オーディオ信号(104)の前記表現の1つ以上の部分(105a~105d)を入力として受信する、請求項61ないし請求項65のいずれか1項に記載の方法。
【請求項67】
前記信号部分は、ランダム窓関数を使用して、前記入力信号(14)からランダムなウィンドウ(105a~105d)をサンプリングして生成される、請求項66に記載の方法。
【請求項68】
前記ランダムウィンドウ(105a~105d)のサンプリングは、各評価器(132a~132d)について複数回繰り返される、請求項66または請求項67に記載の方法。
【請求項69】
前記ランダムウィンドウ(105a~105d)が各評価器(132a~132d)についてサンプリングされる回数は、前記生成されたオーディオ信号の前記表現または前記基準オーディオ信号(104)の前記表現の長さに比例する、請求項67または請求項68に記載の方法。
【請求項70】
プログラムが処理デバイスで実行されるときに、請求項26~69の工程を実行するためのソフトウェアコード部分を含む処理デバイス用プログラムを含む、コンピュータプログラム製品。
【請求項71】
前記コンピュータプログラム製品は、前記ソフトウェアコード部分が格納されているコンピュータ可読媒体を含み、前記プログラムは前記処理デバイスの内蔵メモリに直接搭載することができる、請求項70に記載のコンピュータプログラム製品。
【請求項72】
数理モデルを含むオーディオ信号(16)を生成する方法であって、前記数理モデルは生成する前記オーディオ信号(16)を表す入力シーケンス(12)から所与の時間ステップにオーディオサンプルを出力するように構成され、
前記数理モデルは入力された代表シーケンス(12)を使用して前記出力オーディオサンプルを作り出すためにノイズベクトル(14)を整形するように構成され、
前記入力された代表シーケンスはテキストから導出される、
方法。
【請求項73】
前記数理モデルはオーディオデータを用いて学習させられる、請求項72に記載の方法。
【請求項74】
前記数理モデルはニューラルネットワークである、請求項72または請求項73に記載の方法。
【請求項75】
前記ネットワークは順伝播型ネットワークである、請求項74に記載の方法。
【請求項76】
前記ネットワークは畳み込み式ネットワークである、請求項74または請求項75に記載の方法。
【請求項77】
前記ノイズベクトル(14)の次元は生成するオーディオ信号(16)よりも低い、請求項72ないし請求項76のいずれか1項に記載の方法。
【請求項78】
前記入力された代表シーケンス(12)を用いて前記数理モデルを条件付けするため、ひいては前記ノイズベクトル(14)を整形するために、時間適合的脱正規化(TADE)法が使用される、請求項72ないし請求項77のいずれか1項に記載の方法。
【請求項79】
修正ソフトマックスゲート付きTanh(63a,64a,64b,46)が前記ニューラルネットワークの各レイヤを活性化させる、請求項74ないし請求項78のいずれか1項に記載の方法。
【請求項80】
畳み込み動作は最大膨張率2で実行される、請求項76ないし請求項79のいずれか1項に記載の方法。
【請求項81】
前記ノイズベクトル(14)ならびに前記入力された代表シーケンス(12)はアップサンプリング(70,30)されて、前記ターゲットサンプリングレートで前記出力オーディオ(16)を取得する、請求項72ないし請求項80のいずれか1項に記載の方法。
【請求項82】
前記アップサンプリング(70)は前記数理モデルの異なるレイヤにおいて順次行われる、請求項81に記載の方法。
【請求項83】
各レイヤについての前記アップサンプリングの係数は2または2の倍数である、請求項82に記載の方法。
【請求項84】
前記入力された代表シーケンスはテキストである、請求項72ないし請求項83のいずれか1項に記載の方法。
【請求項85】
前記入力された代表シーケンスはスペクトログラムである、請求項72ないし請求項83のいずれか1項に記載の方法。
【請求項86】
前記スペクトログラムはメルスペクトログラムである、請求項85に記載の方法。
【請求項87】
オーディオ生成のためにニューラルネットワークを学習させる方法であって、
前記ニューラルネットワークは、生成する前記オーディオデータ(16)を表す入力シーケンスから所与の時間ステップにオーディオサンプルを出力し、
前記ニューラルネットワークは、入力された代表シーケンス(12)を用いて出力された前記オーディオサンプル(16)を作り出すためにノイズベクトル(14)を整形するように構成され、
前記ニューラルネットワークは請求項63ないし請求項77のいずれか1項に従って設計され、
前記学習は損失関数(140)を最適化するように設計される、
方法。
【請求項88】
前記損失関数は生成された前記オーディオ信号(16)と基準オーディオ信号(104)との間で算出された固定メトリックを含む、請求項87に記載の方法。
【請求項89】
前記固定メトリックは、前記生成されたオーディオ信号(16)と前記基準オーディオ信号(104との間で算出された1つ以上のスペクトル歪みのうちの1つである、請求項88に記載の方法。
【請求項90】
前記1つ以上のスペクトル歪みは、前記生成されたオーディオ信号(16)および前記基準オーディオ信号(104)のスペクトル表現のマグニチュードまたはログマグニチュードについて計算される、請求項89に記載の方法。
【請求項91】
前記固定メトリックを形成する前記1つ以上のスペクトル歪みは異なる時間解像度または周波数解像度について計算される、請求項89または請求項90に記載の方法。
【請求項92】
前記損失関数は、追加の識別的ネットワークから導出された敵対的メトリックを含み、
前記識別的ニューラルネットワークは前記生成されたオーディオ信号(16)の表現または前記基準オーディオ信号(104)の表現を入力として受信し、
前記識別的ニューラルネットワークは前記生成されたオーディオ信号(16)がどのていど現実的であるかを評価するように構成される、
請求項87ないし請求項91のいずれか1項に記載の方法。
【請求項93】
前記損失関数は固定メトリックと追加の識別的ニューラルネットワークから導出された敵対的メトリックの双方を含む、請求項87ないし請求項92のいずれか1項に記載の方法。
【請求項94】
前記オーディオサンプルを生成する前記ニューラルネットワークは、まず固定メトリックのみを用いて学習させられる、請求項88ないし請求項93のいずれか1項に記載の方法。
【請求項95】
前記敵対的メトリックは、4つの識別的ニューラルネットワーク(132a~132d)によって導出される、請求項92ないし請求項94のいずれか1項に記載の方法。
【請求項96】
前記識別的ニューラルネットワークは、入力された前記オーディオ信号をフィルタバンクが分解したのちに動作する、請求項92ないし請求項95のいずれか1項に記載の方法。
【請求項97】
各識別的ニューラルネットワーク(132)は、前記入力されたオーディオ信号をランダムにウィンドウ化した1つ以上のバージョンを入力として受信する、請求項92ないし請求項96のいずれか1項に記載の方法。
【請求項98】
前記ランダムウィンドウ(105a~105d)の前記サンプリングは、各識別的ニューラルネットワーク(132)について複数回繰り返される、請求項97に記載の方法。
【請求項99】
前記ランダムウィンドウ(105a~105d)が各識別的ニューラルネットワーク(132)についてサンプリングされる回数は、前記入力されたオーディオサンプルの長さに比例する請求項98に記載の方法。
【請求項100】
前記入力された代表シーケンスは少なくとも1つの言語特性を含む、請求項72ないし請求項99のいずれか1項に記載の方法。
【請求項101】
前記入力された代表シーケンスは少なくとも1つのテキスト特性を含む、請求項72ないし請求項100のいずれか1項に記載の方法。
【請求項102】
前記入力された代表シーケンスは少なくとも1つの音響特性を含む、請求項72ないし請求項101のいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
はじめに
下記に、異なる発明の実施形態と態様を記載する。また、添付の請求の範囲において別の実施形態が特定されることになる。請求の範囲によって特定される実施形態はすべて、本明細書に記載されるいずれかの細目(特徴および機能)によって補足することができる。
【0002】
同様に、本明細書に記載の実施形態はすべて独立して使用することができ、且つ本明細書に含まれるいずれかの特徴または請求の範囲に含まれるいずれかの特徴によって補足することができる。
【0003】
また、本明細書に記載の個々の態様は、独立してまたは組み合わせて使用することが可能なことも指摘される。このように、個々の態様のそれぞれに対し、該態様のうちの別の態様に細目を加えることなく、細目を加えることができる。
【0004】
また、本開示は、オーディオ生成器および/またはオーディオ生成方法および/またはコンピュータプログラム製品において使用可能な特徴を明示的または暗示的に記述している。よって、本明細書に記載される特徴のいずれも、装置、方法および/またはコンピュータプログラム製品の文脈において使用することができる。
【0005】
さらに、本明細書に開示される、方法に関連する特徴および機能性は、(かかる機能性を実行するように構成された)装置においても使用することができる。また、装置に関連して本明細書で開示された特徴および機能性はいずれも、対応する方法においても使用することができる。言い換えれば、本明細書に開示された方法は、装置に関連して記載された特徴および機能性のいずれによっても補足することができる。
【0006】
同様に、本明細書に記載される特徴および機能性のいずれも、下記「実装の選択肢」の項に記載の通り、ハードウェアおよびソフトウェアにおいて、あるいはハードウェアおよびソフトウェアの組み合わせを使用して、実装することができる。
【0007】
実装の選択肢
一部の態様は装置の文脈で記載されているが、これらの態様は、特徴が方法の工程または方法の工程の特徴に相当する、対応する方法の記述をも表していることは明らかである。同様に、方法の工程の文脈で記載されている態様は、対応する装置の対応する特徴の記述を表している。方法の工程の一部または全部は、例えばマイクロプロセッサ、プログラマブルなコンピュータまたは電子回路等のハードウェア装置によって(あるいは用いて)実行することができる。一部の実施形態においては、最も重要な方法の工程の1つ以上がかかる装置によって行われることがある。
【0008】
所定の実装要件によっては、本発明の実施形態はハードウェアまたはソフトウェアにおいて実装することができる。実装はそれぞれの方法が実行されるようにプログラマブルなコンピュータシステムと協働する(または協働することができる)電子的に可読な制御信号を記憶した、フロッピーディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROMまたはFLASHメモリ等のデジタル記憶媒体を用いて実行することもできる。したがって、デジタル記憶媒体はコンピュータ可読である場合がある。
【0009】
本発明に係る一部の実施形態は、プログラマブルなコンピュータシステムと協働して本明細書に記載の方法の1つが実施されるようにすることができる、電子的に可読な制御信号を有するデータキャリアを含む。
【0010】
概して、本発明の実施形態はプログラムコードを備えるコンピュータプログラム製品として実装することができ、プログラムコードはコンピュータプログラムがコンピュータで実行されると、方法のうちの1つを実行するように作用する。プログラムコードは例えば機械可読キャリアに記憶することができる。
【0011】
他の実施形態には、機械可読キャリアに記憶された、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムが含まれる。
【0012】
つまり、本願発明の方法の一実施形態は、コンピュータプログラムがコンピュータで実行されると本明細書に記載の方法のうちの1つを実行するためのプログラムを有するコンピュータプログラムということになる。
【0013】
本願発明の方法の別の実施形態は、よって、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを記憶して備える、データキャリア(またはデジタル記憶媒体またはコンピュータ可読媒体)ということになる。データキャリア、デジタル記憶媒体または記録された媒体は、典型的には有形で非一時的なものである。
【0014】
本願発明の方法の別の実施形態は、よって、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスということになる。データストリームまたは信号のシーケンスは例えば、例えばインターネットを介して等データ通信接続を介して伝送されるように構成されることもある。
【0015】
さらに別の実施形態は、本明細書に記載の方法のうちの1つを実行するように構成または適合された、コンピュータまたはプログラマブルな論理デバイス装置等の処理手段を含む。
【0016】
さらに別の実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
【0017】
本願発明にかかる別の実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを受信機に(例えば電子的または光学的に)伝送するように構成された装置またはシステムを含む。受信機は例えば、コンピュータ、モバイル装置、メモリ装置等であってもよい。装置またはシステムは、例えば、コンピュータプログラムを受信機に伝送するためのファイルサーバを含むことがある。
【0018】
一部の実施形態においては、本明細書に記載の方法の機能性の一部またはすべてを実行するためにプログラマブルな論理デバイス(フィールドプログラマブルゲートアレイ等)が使用されることがある。一部の実施形態においては、フィールドプログラマブルゲートアレイは本明細書に記載の方法のうちの1つを実行するために、マイクロプロセッサと協働することがある。概して、方法は好ましくは任意のハードウェア装置によって実行されるものとする。
【0019】
本明細書に記載の装置はハードウェア装置を用いて、またはコンピュータを用いて、あるいはハードウェア装置とコンピュータとの組み合わせを用いて実施されることがある。
【0020】
本明細書に記載の装置、または本明細書に記載の装置の任意の構成要素は、少なくとも部分的にハードウェアおよび/またはソフトウェアで実装されることがある。
【0021】
本明細書に記載の方法は、ハードウェア装置を用いて、またはコンピュータを用いて、あるいはハードウェア装置とコンピュータとの組み合わせを用いて実行されることがある。
【0022】
本明細書に記載の方法、または本明細書に記載の方法の任意の一部は、少なくとも部分的にハードウェアおよび/またはソフトウェアによって実行されることがある。
【0023】
上記の実施例は本願発明の原則を単に例示するものである。本明細書に記載されている構成および細目の修正および改変は、他の当業者にとって自明であるものと理解される。したがって、本明細書に記載の実施形態の記述および説明によって表される具体的な細目ではなく、係属中の特許請求の範囲によってのみ限定されることを意図するものである。
【背景技術】
【0024】
技術分野
本発明は、オーディオ生成の技術分野に属する。
【0025】
本発明の実施形態は、入力信号およびターゲットデータからオーディオ信号を生成するように構成されるオーディオ生成器に関連し、ターゲットデータはオーディオ信号を表す。別の実施形態はオーディオ信号を生成するための方法、およびオーディオ生成器に学習させるための方法である。別の実施形態はコンピュータプログラム製品である。
【0026】
背景
近年、ニューラルボコーダーは、合成された音声信号の自然さおよび知覚品質の点で、従来の音声合成アプローチを上回っている。最良の結果はWaveNetやWaveGlow等の計算負荷の重いニューラルボコーダーによって達成されているが、MelGANやパラレルWaveGAN等、敵対的生成ネットワークに基づく軽量アーキテクチャは知覚品質の点でまだ下回っている。
【0027】
WaveNetやLPCNet、WaveGlow等オーディオ波形を生成するためにディープラーニングを用いる生成モデルは、自然に聞こえる音声合成において著しい進歩を遂げている。テキスト読み上げ(TTS)アプリケーションにおいてニューラルボコーダーと呼ばれるこれらの生成モデルは、パラメトリックな合成方法および連結的な合成方法のいずれよりも性能が優れている。所与の話者および所与の発声を再生するために、ターゲット音声(メルスペクトログラム等)の圧縮表現を使用してコンディショニングすることができる。
【0028】
過去の研究により、デコーダ側でこのような生成モデルを使用して、クリーンな音声の極低ビットレートでの音声符号化が達成できることが分かっている。これはニューラルボコーダーを従来の低ビットレート音声コーダからのパラメータでコンディショニングすることによって行うことができる。
【0029】
ニューラルボコーダーはまた、音声の脱ノイズ化または脱反響等、音声強調タスクにも使用されていた。
【0030】
これらディープ生成モデルが抱える主な問題は、通常、必要なパラメータが多量であること、そしてその結果生じる、学習および合成の双方における複雑さ(干渉)である。例えば、合成音声の品質については最先端と見なされるWaveNetはオーディオサンプルを1つずつ順次生成する。このプロセスは非常にゆっくりで計算上要求される事柄も多く、リアルタイムで行うことはできない。
【0031】
最近、迅速な波形生成のために、MelGANやパラレルWaveGAN等、敵対的生成ネットワーク(GAN)に基づく軽量敵対的ボコーダーが提案されている。しかしながら、これらのモデルを使用して生成された音声の知覚品質は報告されているところによると、WaveNetやWaveGlow等のニューラルボコーダーのベースラインを著しく下回っている。この品質のギャップを埋めるためにテキスト読み上げGAN(GAN-TTS)が提案されたが、計算コストは未だ高い。
【0032】
ニューラルボコーダーは多種多様存在するが、これらにはすべて欠点がある。例えばWaveNetやLPCNet等の自己回帰ボコーダーは非常に品質が高く、CPUへの干渉の最適化に適していることがあるが、処理が容易には並列化できず、品質に妥協しない限りリアルタイム処理を提供することができないので、GPUでの使用には適していない。
【0033】
WaveGlow等の正規化流ボコーダーも同じく非常に品質が高く、GPUへの干渉に適している可能性があるが、学習と最適化に非常に時間のかかる極めて複雑なモデルを含んでおり、同様に埋め込みデバイスには適さない。
【0034】
MelGANやパラレルWaveGAN等のGANボコーダーは、GPUへの干渉に適していて且つ軽量である可能性があるが、自己回帰モデルと比べると品質が低い。
【発明の概要】
【0035】
要するに、ハイファイ音声を放出する、低複雑度な解決法は未だ存在していない。このような目的を達成するために最も研究されたアプローチがGANである。本願発明は、この問題に対する有効な解決法である。
【発明が解決しようとする課題】
【0036】
本発明の目的は、例えばTTS(テキスト読み上げ)のための、非常に高品質な音声を生成し、限られた計算資源で学習させることが可能な、軽量ニューラルボコーダーソリューションを提供することである。
【0037】
図面の簡単な説明
本発明に係る実施例を同封の図面を参照しながら下記に記載していく。
【図面の簡単な説明】
【0038】
【
図1】
図1は、本願発明の実施形態にかかるオーディオ生成器のアーキテクチャを示す。
【
図2】
図2は、本願発明にかかるオーディオ生成器を学習させるために使用することのできる識別器を示す。
【
図3】
図3は、本願発明の実施形態にかかるオーディオ生成器の一部分の構造を示す。
【
図4】
図4は、本願発明の実施形態にかかるオーディオ生成器の一部分の構造を示す。
【
図5】
図5は、異なるモデルのMUSHRAエキスパートリスニングテストの結果を示す。
【
図6】
図6は、本願発明の実施形態にかかるオーディオ生成器のアーキテクチャを示す。
【
図7】
図7は、本願発明に従って信号に施される演算を示す。
【
図8】
図8は、オーディオ生成器を使用したテキスト読み上げアプリケーションにおける演算を示す。
【
図10】
図10は、本願発明の生成器の内部または外部にあり得るブロックの入力および出力のいくつかの可能性を示す。
【発明を実施するための形態】
【0039】
図面においては、同じ符号が同じ要素および特徴を示す。
【0040】
ある態様によれば、入力データおよびターゲットデータからオーディオ信号を生成するように構成されたオーディオ生成器が設けられ、ターゲットデータはオーディオ信号を表し、オーディオ生成器は、入力信号から導出された第1のデータを受信して第1の出力データを出力するように構成された第1の処理ブロックであって、第1の出力データは複数のチャネルを含む第1の処理ブロックと、第1の出力データまたは第1の出力データから導出されたデータを第2のデータとして受信するように構成された第2の処理ブロックとを備え、第1の処理ブロックは第1の出力データの各チャネルについて、テキストから導出されたターゲットデータを処理してコンディショニング特性パラメータを得るように構成された学習可能レイヤのコンディショニングセットと、コンディショニング特性パラメータを第1のデータまたは第1のデータを正規化したものに適用するように構成されたスタイル付与要素とを含み、第2の処理ブロックは第2のデータの複数のチャネルを結合してオーディオ信号を得るように構成される。
【0041】
オーディオ生成器は、ターゲットデータがスペクトログラムであってもよい。オーディオ生成器は、ターゲットデータがメルスペクトログラムであってもよい。
【0042】
オーディオ生成器は、ターゲットデータがログスペクトルグラム、MFCC、メルスペクトログラムあるいはテキストから得られた他のタイプのスペクトログラムのうちの少なくとも1つの音響特性を備えていてもよい。
【0043】
オーディオ生成器は、テキストまたはテキスト要素の形式の入力を少なくとも1つの音響特性に変換することによってターゲットデータを取得するように構成されていることがある。
【0044】
オーディオ生成器は、少なくとも1つの言語特性を少なくとも1つの音響特性に変換することによってターゲットデータを取得するように構成されていることがある。
【0045】
オーディオ生成器は、テキストから得られた音素、語韻律、イントネーション、文章の区切り、および有声休止のうちの少なくとも1つの言語特性を含むことがある。
【0046】
オーディオ生成器は、テキストまたはテキスト要素の形式の入力を少なくとも1つの言語特性に変換することによってターゲットデータを取得するように構成されることがある。
【0047】
オーディオ生成器は、ターゲットデータがテキストから得られた文字または単語のうちの少なくとも1つを含むことがある。
【0048】
オーディオ生成器は、ターゲットデータが、テキスト解析を行う、および/または音響モデルを使用する統計モデルを用いてテキストから導出されることがある。
【0049】
オーディオ生成器は、ターゲットデータが、テキスト解析を行う、および/または音響モデルを使用する学習可能モデルを用いてテキストから導出されることがある。
【0050】
オーディオ生成器は、ターゲットデータが、テキスト解析を行うルールベースのアルゴリズム、および/または音響モデルを用いてテキストから導出されることがある。
【0051】
オーディオ生成器は、入力を推敲することによってターゲットデータを取得するように構成されることがある。
【0052】
オーディオ生成器は、少なくとも1つの決定的レイヤを通じてターゲットデータを導出するように構成されることがある。
【0053】
オーディオ生成器は、少なくとも1つの学習可能レイヤを通じてターゲットデータを導出するように構成されることがある。
【0054】
オーディオ生成器は、学習可能レイヤのコンディショニングセットが1つまたは少なくとも2つの畳み込みレイヤから成ることがある。
【0055】
オーディオ生成器は、第1の畳み込みレイヤがターゲットデータまたはターゲットデータをアップサンプリングしたものを畳み込んで、第1の活性化関数を使用して第1の畳み込み済データを取得するように構成されることがある。
【0056】
オーディオ生成器は、学習可能なレイヤのコンディショニングセットおよびスタイル付与要素が、1つ以上の残差ブロックを含むニューラルネットワークの残差ブロック内の加重レイヤの一部であることがある。
【0057】
方法は、ログスペクトログラム、MFCC、メルスペクトログラムまたはテキストから取得された別のタイプのスペクトログラムのうちの少なくとも1つの音響特性を備えることがある。
【0058】
方法は、テキストまたはテキスト要素の形式の入力を少なくとも1つの音響特性に変換することによってターゲットデータを取得することがある。
【0059】
方法は、少なくとも1つの言語特性を少なくとも1つの音響特性に変換することによってターゲットデータを取得することがある。
【0060】
方法は、テキストから得られた音素、語韻律、イントネーション、文章の区切り、および有声休止のうちの少なくとも1つの言語特性を含むことがある。
【0061】
方法は、テキストまたはテキスト要素の形式の入力を少なくとも1つの言語特性に変換することによってターゲットデータを取得することがある。
【0062】
方法は、テキストから得られた文字または単語のうちの少なくとも1つを含むことがある。
【0063】
方法は、テキスト解析を行う、および/または音響モデルを使用する統計モデルを用いてターゲットモデルを導出することがある。
【0064】
方法は、テキスト解析を行う、および/または音響モデルを使用する学習可能モデルを用いてターゲットデータを導出することがある。
【0065】
方法は、テキスト解析を行うルールベースのアルゴリズム、および/または音響モデルを用いてターゲットデータを導出することがある。
【0066】
方法は、少なくとも1つの決定的レイヤを通じてターゲットデータを導出することがある。
【0067】
方法は、少なくとも1つの学習可能レイヤを通じてターゲットデータを導出することがある。
【0068】
オーディオ信号を生成するための方法は、テキストからターゲットデータを導出するステップをさらに含むことがある。
【0069】
方法は、入力された代表シーケンスがテキストである場合を含む。
【0070】
方法は、入力された代表シーケンスがスペクトログラムである場合を含む。方法はスペクトログラムがメルスペクトログラムである場合を含む。
【0071】
とりわけ、入力信号(例えば14)およびターゲットデータ(例えば12)からオーディオ信号(例えば16)を生成するように構成されたオーディオ生成器(例えば12)が提案されている。ターゲットデータ(例えば12)は、オーディオ信号(例えば16)を表し且つテキストから導出できるものであって、オーディオ生成器は入力信号(例えば14)から導出される第1のデータ(例えば15,59a)を受信して第1の出力データ(例えば69)を出力するように構成された第1の処理ブロック(例えば40,50,50a~50h)であって、ここで第1の出力データ(例えば69)は複数のチャネル(例えば47)を含む、第1の処理ブロック(例えば40,50,50a~50h)と、第1の出力データ(例えば69)または第1の出力データ(例えば69)から導出されたデータを第2のデータとして受信するように構成された第2の処理ブロック(例えば45)とのうちの少なくとも1つを備える。
【0072】
第1の処理ブロック(例えば50)は、第1の出力データの各チャネルについて、ターゲットデータ(例えば12)を処理してコンディショニング特性パラメータ(例えば74,75)を得るための学習可能レイヤのコンディショニングセット(例えば71,72,73)と、コンディショニング特性パラメータ(例えば74,75)を第1のデータ(例えば15,59a)または第1のデータを正規化したもの(例えば59,76’)に適用するように構成されたスタイル付与要素(例えば77)とを備える。
【0073】
第2の処理ブロック(例えば45)は第2のデータ(例えば69)の複数のチャネル(例えば47)を結合してオーディオ信号(例えば16)を取得するように構成されることがある。
【0074】
また、例えばオーディオ生成器(例えば10)によって、入力信号(例えば14)およびターゲットデータ(例えば12)からオーディオ信号(例えば16)を生成するための方法が提案されている。(例えばテキストから取得された)ターゲットデータはオーディオ信号(例えば16)を表し、方法には、第1の処理ブロック(例えば50,50a~50h)によって、入力信号(例えば14)から導出された第1のデータ(例えば16559,59a,59b)を受信するステップと、第1の出力データ(例えば59b,69)の各チャネルについて、テキストから導出され得るターゲットデータ(例えば12)を、第1の処理ブロック(例えば50)の学習可能レイヤのコンディショニングセット(例えば71,72,73)によって処理して、コンディショニング特性パラメータ(例えば74,75)を取得するステップと、第1の処理ブロック(例えば50)のスタイル付与要素(77)によって、コンディショニング特性パラメータ(例えば74,75)を第1のデータ(例えば15,59)または第1のデータを正規化したもの(例えば76’)に適用するステップと、複数のチャネル(例えば47)を含む第1の出力データ(例えば69)を第1の処理ブロック(例えば50)によって出力するステップと、第2の処理ブロック(例えば45)によって、第1の出力データ(例えば69)または第1の出力データ(例えば69)から導出されたデータを第2のデータとして受信するステップと、第2の処理ブロック(例えば45)によって、第2のデータの複数のチャネル(例えば47)を結合してオーディオ信号(例えば16)を取得するステップと、を含む。
【0075】
オーディオ生成のためにニューラルネットワークを学習させる方法も提案されていて、ここでニューラルネットワークは、所与の時間ステップに、生成するオーディオ信号(例えば16)を表す入力シーケンス(例えば12)からオーディオサンプルを出力し、出力されたオーディオサンプル(例えば16)を作り出すために、入力された代表シーケンス(例えば12)を用いてノイズベクトル(例えば14)を整形するように構成され、ここで学習は損失関数(例えば140)を最適化させるように設計されている。
【0076】
また、数理モデルを含むオーディオ信号(例えば16)を生成するための方法も提案されている。ここで数理モデルは所与の時間ステップに、生成するオーディオデータ(例えば16)を表す入力シーケンス(例えば12)からオーディオサンプルを出力するように構成される。数理モデルは出力オーディオサンプルを作り出すために、入力された代表シーケンス(例えば12)を用いてノイズベクトル(例えば14)を整形することがある。
【0077】
この文脈において、計算が低複雑性でハイファイ音声の合成が可能な軽量ニューラルボコーダーである、StyleMelGAN(例えば、オーディオ生成器10)を提案する。StyleMelGANは、ターゲット音声の波形の音響特性を介してサイズの小さいノイズベクトル(例えば、128×1ベクトル)にスタイル付与(例えば77において)する際に時間適応的脱正規化(TADE)(例えば
図4の60aおよび60b、並びに
図3の60)を使用する、完全畳み込み式の順伝播型モデルである。このアーキテクチャにより、時には中央演算ユニット(CPU)およびグラフィック処理ユニット(GPU)の双方においてリアルタイムよりも高速での高度に並列可能な生成が可能になる。効率的かつ迅速な学習のために、マルチスケールスペクトル再構成損失を、音声信号16を多数の周波数帯域でランダムなウィンドウ化(例えばウィンドウ150a,150b,105c,105d)によって評価する多数の識別器(例えば132a~132d)で計算した敵対的損失と併せて使用することが可能である。MUSHRAリスニングテストおよびP.800リスニングテストによれば、StyleMelGAN(例えばオーディオ生成器10)はコピー合成およびTTSシナリオの双方において、既知の既存のニューラルボコーダーを凌駕している。
【0078】
本願はとりわけ、敵対的生成ネットワーク(GAN)が基礎であり得る、高品質の音声16を生成するためのニューラルボコーダーを提案する。ここではStyleMelGANと呼ぶ(そして例えばオーディオ生成器10に実装される)このソリューションは、低複雑度の計算で高品質の音声16の合成が可能となる軽量ボコーダーである。StyleMelGANは例えばターゲット音声の波形のメルスペクトログラム(12)を使用して潜在ノイズ表現(例えば69)に(例えばブロック77で)スタイル付与するために時間適応的脱正規化(TADE)を使用する、順伝播型の完全畳み込み式モデルである。これにより、時にCPUとGPUの双方でリアルタイムよりも高速での高度に並列可能な生成が可能になる。学習させるためには、マルチスケールスペクトル再構成損失、次いで敵対的損失を使用することができる。これにより、1つのGPUに対し2日未満の学習で、高品質の出力を合成することが可能なモデルが得られる。
【0079】
本願発明の可能な適用および利点には以下のようなものがある。
【0080】
本願発明はテキスト読み上げに適用することができ、その結果の品質、すなわち生成された音声のTTSおよびコピー合成についての品質はWaveNetおよび自然な音声に近いものとなっている。さらに迅速な学習が提供され、モデルは簡単に再学習させたりパーソナライズさせたりすることができる。比較的小型のニューラルネットワークモデルなので、使用するメモリは少ない。最後に、本願発明は複雑性において利点がある、すなわち品質と複雑性のトレードオフが優れている。
【0081】
発明は音声強調にも使用することができ、ノイズの多い音声からクリーンな音声を生成する低複雑性の頑強なソリューションを提供することができる。
【0082】
発明は音声符号化にも適用することができ、ニューラルボコーダーをコンディショニングするために必要なパラメータのみを伝送することにより、ビットレートを著しく低減することができる。またこの用途においては、軽量ニューラルボコーダーベースのソリューションは埋め込みシステムに適し、とりわけGPUまたはニューラル処理ユニット(NPU)が備わった将来の(エンド)ユーザ機器(UE)に適している。
【0083】
本願の実施形態は、入力信号およびターゲットデータからオーディオ信号を生成するように構成されるオーディオ生成器であって、ターゲットデータは(例えばテキストから導出された)入力信号を表し、入力信号から導出された第1のデータを受信して第1の出力データを出力するように構成された第1の処理ブロックであって、第1の出力データは複数のチャネルを備える第1の処理ブロックと、第1の出力データまたは第1の出力データから導出されたデータを第2のデータとして受信するように構成された第2の処理ブロックとを含み、第1の処理ブロックは第1の出力データの各チャネルについて、ターゲットデータを処理してコンディショニング特性パラメータを取得するように構成された学習可能レイヤのコンディショニングセットと、コンディショニング特性パラメータを第1のデータまたは第1のデータを正規化したものに適用するように構成されたスタイル付与要素とを含み、第2の処理ブロックは第2のデータの複数のチャネルを結合してオーディオ信号を取得するように構成される、オーディオ生成器に関連する。
【0084】
一実施形態によれば、学習可能レイヤのコンディショニングセットは1つまたは2つの畳み込みレイヤから成る。
【0085】
一実施形態によれば、第1の畳み込みレイヤはターゲットデータまたはターゲットデータをアップサンプリングしたもの畳み込んで、第1の活性化関数を使用して第1の畳み込み済データを取得する。
【0086】
一実施形態によれば、学習可能レイヤのコンディショニングセットおよびスタイル付与要素は、1つ以上の残差ブロックを含むニューラルネットワークの残差ブロック内の加重レイヤの一部である。
【0087】
一実施形態によれば、オーディオ生成器は、第1のデータを正規化するように構成される正規化要素をさらに含む。例えば、正規化要素は平均がゼロで分散が単位の標準正規分布に第1のデータを正規化することがある。
【0088】
一実施形態によれば、オーディオ信号は音声オーディオ信号である。
【0089】
一実施形態によれば、ターゲットデータは、望ましくは非線形補間によって、2または2の倍数あるいは2の累乗を係数としてアップサンプリングされる。一部の実施例では、2を超える係数が代わりに使用されることもある。
【0090】
一実施形態によれば、第1の処理ブロックは、第1のデータから導出されたデータを第2の活性化関数を使用して処理するように構成された、学習可能レイヤの別のセットをさらに含み、ここで第2の活性化関数はゲート付き活性化関数である。
【0091】
一実施形態によれば、学習可能レイヤの別のセットは1つまたは2つ(あるいはそれ以上)の畳み込みレイヤから成る。
【0092】
一実施形態によれば、第2の活性化関数はソフトマックスゲート付き双曲線正接(TanH)関数である。
【0093】
一実施形態によれば、第1の活性化関数はリーキー整流化線形ユニット(リーキーReLu)関数である。
【0094】
一実施形態によれば、畳み込み動作は最大拡張係数2で実行される。
【0095】
一実施形態によれば、オーディオ生成器は8つの第1の処理ブロックと1つの第2の処理ブロックを備える。
【0096】
一実施形態によれば、第1のデータの次元性はオーディオ信号よりも低い。第1のデータは1次元である、または次元がオーディオ信号よりも少なくとも1つ低いことがある。第1のデータは次元がオーディオ信号よりも1次元低いが、チャンネルの数はオーディオ信号よりも多いことがある。第1のデータは、全次元にわたるサンプルの総数がオーディオ信号においてよりも少ないことがある。
【0097】
一実施形態によれば、ターゲットデータはスペクトログラム、望ましくはメルスペクトログラム、またはビットストリームであることがある。
【0098】
ターゲットデータはテキストから導出されることがある。オーディオ生成器はターゲットデータをテキストから導出するように構成されることがある。ターゲットデータは例えば、テキストデータ(文字、単語等)、言語特性、音響特性等のうちの少なくとも1つを含むことがある。
【0099】
別の実施例においては、ターゲットデータはオーディオデータの圧縮表現であることがある、またはターゲットデータは劣化したオーディオ信号である。
【0100】
別の実施形態は、入力信号およびターゲットデータからオーディオ生成器によってオーディオ信号を生成する方法であって、ターゲットデータは(例えば導出されたテキストから)オーディオ信号を表し、入力信号から導出された第1のデータを第1の処理ブロックによって受信するステップと、第1の出力データの各チャンネルについて、第1の処理ブロックの学習可能レイヤのコンディショニングセットにより、ターゲットデータを処理してコンディショニング特性パラメータを取得するステップと、第1の処理ブロックのスタイル付与要素により、第1のデータまたは第1のデータを正規化したものにコンディショニング特性パラメータを適用するステップと、第1の処理ブロックにより、複数のチャネルを含む第1の出力データを出力するステップと、第2の処理ブロックにより、第1の出力データまたは第1の出力データから導出されたデータを第2のデータとして受信するステップと、第2の処理ブロックにより、第2のデータの複数のチャネルを結合してオーディオ信号を取得するステップとを含む。一部の実施例では、方法はターゲットデータをテキストから導出することがある。
【0101】
正規化には、例えば平均がゼロで分散が単位の標準正規分布への第1のデータの正規化を含むことがある。
【0102】
方法は、オーディオ生成器からの任意の特性または特性の組み合わせによって補足されることがある。
【0103】
別の実施形態は、上記に記載のオーディオ生成器を学習させるための方法に関連し、学習させるステップは上記の方法のうちの任意の1つの工程を1回以上繰り返すステップを含む。
【0104】
一実施形態によれば、学習させるための方法は、好ましくはニューラルネットワークである少なくとも1つの評価器によって、生成されたオーディオ信号を評価するステップと、評価結果に従って評価器の加重を適合させるステップとを含む。
【0105】
一実施形態によれば、学習させるための方法は、評価結果に従って評価器の加重を適合させるステップを含む。
【0106】
一実施形態によれば、学習させるステップは損失関数を最適化させるステップを含む。
【0107】
一実施形態によれば、損失関数を最適化させるステップは、生成されたオーディオ信号と基準オーディオ信号との間の固定のメトリックを算出するステップを含む。
【0108】
一実施形態によれば、固定のメトリックを算出するステップは、生成されたオーディオ信号と基準オーディオ信号との1つ以上のスペクトル歪みを計算するステップを含む。
【0109】
一実施形態によれば、1つ以上のスペクトル歪みを計算するステップは、生成されたオーディオ信号および基準信号のスペクトル表現のマグニチュードまたはログマグニチュード、および/または異なる時間または周波数解像度に対して施される。
【0110】
一実施形態によれば、損失関数を最適化するステップは、生成されたオーディオ信号の表現または基準オーディオ信号の表現を1つ以上の評価器によってランダムに供給および評価することによって、1つ以上の敵対的メトリックを導出するステップを含み、ここで評価には供給されたオーディオ信号を、オーディオ信号の事前学習の自然さの分類レベルを示す既定の数の等級に分類するステップを含む。
【0111】
一実施形態によれば、損失関数を最適化するステップは、固定のメトリックを算出し、1つ以上の評価器によって敵対的メトリックを導出するステップを含む。
【0112】
一実施形態によれば、オーディオ生成器はまず、固定のメトリックを使用して学習させられる。
【0113】
一実施形態によれば、4つの評価器によって4つの敵対的メトリックが導出される。
【0114】
一実施形態によれば、評価器は生成されたオーディオ信号の表現および基準オーディオ信号の表現をフィルタバンクで分解した後に動作する。
【0115】
一実施形態によれば、各評価器は入力として、生成されたオーディオ信号の表現または基準オーディオ信号の表現の1つ以上の部分を受信する。
【0116】
一実施形態によれば、信号の部分は、ランダム窓関数を使用して、入力信号からランダムなウィンドウをサンプリングして生成される。
【0117】
一実施形態によれば、ランダムなウィンドウのサンプリングは各評価器について複数回繰り返される。
【0118】
一実施形態によれば、各評価器についてランダムなウィンドウがサンプリングされる回数は、生成されたオーディオ信号の表現または基準オーディオ信号の表現の長さに比例する。
【0119】
別の実施形態は、プログラムが処理デバイス上で実行されるときに本明細書に記載の方法の工程を実行するためのソフトウェアコード部分を含む、処理デバイス用プログラムを含むコンピュータプログラム製品に関連する。
【0120】
一実施形態によれば、コンピュータプログラム製品は、ソフトウェアコード部分が記憶されたコンピュータ可読媒体を含み、プログラムは処理デバイスの内蔵メモリに直接搭載することができる。
【0121】
別の実施形態は、数理モデルを含むオーディオ信号を生成する方法に関連し、数理モデルは、生成するオーディオデータを表す(例えばテキストから導出された)入力シーケンスから所与の時間ステップにオーディオサンプルを出力するように構成され、数理モデルは出力されるオーディオサンプルを入力された代表シーケンスを用いて作り出すために、ノイズベクトルを整形するように構成される。
【0122】
一実施形態によれば、数理モデルはオーディオデータを用いて学習させる。一実施形態によれば、数理モデルはニューラルネットワークである。一実施形態によれば、ネットワークは順伝播型ネットワークである。一実施形態によれば、ネットワークは畳み込みネットワークである。
【0123】
一実施形態によれば、ノイズベクトルの次元性は生成するオーディオ信号よりも低いことがある。第1のデータは一次元であるまたはオーディオ信号よりも少なくとも一次元低いことがある。第1のデータは全次元にわたるサンプル数がオーディオ信号よりも低いことがある。第1のデータはオーディオ信号よりも一次元低いが、チャネル数はオーディオ信号よりも多いことがある。
【0124】
一実施形態によれば、入力された代表シーケンスを用いて数理モデルをコンディショニングし、ひいてはノイズベクトルを整形するために、時間適応的脱正規化(TADE)法が使用される。
【0125】
一実施形態によれば、修正ソフトマックスゲート付きTanhがニューラルネットワークの各レイヤを活性化させる。
【0126】
一実施形態によれば、畳み込み動作は最大膨張率2で実行される。
【0127】
一実施形態によれば、ノイズベクトルならびに入力された代表シーケンスはアップサンプリングされて、ターゲットサンプリングレートでの出力オーディオが得られる。
【0128】
一実施形態によれば、アップサンプリングは数理モデルの異なるレイヤにおいて順次行われる。
【0129】
一実施形態によれば、各レイヤのアップサンプリング係数は2または2の累乗等2の倍数である。一部の実施例においては、アップサンプリング係数の値は概して2よりも大きい場合がある。
【0130】
生成されたオーディオ信号は概して、テキスト読み上げアプリケーションにおいて使用することができ、入力された代表シーケンスはテキストから導出される。
【0131】
一実施形態によれば、生成されたオーディオ信号はオーディオデコーダで使用され、入力された代表シーケンスは伝送または格納する元のオーディオの圧縮表現である。
【0132】
一実施形態によれば、生成されたオーディオ信号は劣化したオーディオ信号のオーディオ品質を向上させるために使用され、入力された代表シーケンスは劣化した信号から導出される。
【0133】
別の実施例は、オーディオ生成のためのニューラルネットワークに学習させる方法に関連し、ここでニューラルネットワークは生成するオーディオデータを表す入力シーケンスから所与の時間ステップにオーディオサンプルを出力し、ニューラルネットワークは出力されるオーディオサンプルを入力された代表シーケンスを使用して作り出すためにノイズベクトルを整形するように構成され、ニューラルネットワークは上記の通りに設計され、学習は損失関数を最適化するように設計される。
【0134】
一実施形態によれば、損失関数は、生成されたオーディオ信号と基準オーディオ信号の間で算出された固定のメトリックを含む。
【0135】
一実施形態によれば、固定のメトリックは生成されたオーディオ信号と基準信号との間で算出された1つ以上のスペクトル歪みである。
【0136】
一実施形態によれば、1つ以上のスペクトル歪みは生成されたオーディオ信号および基準信号のスペクトル表現のマグニチュードまたはログマグニチュードに対して算出される。
【0137】
一実施形態によれば、固定のメトリックを形成する1つ以上のスペクトル歪みは異なる時間または周波数解像度に対して計算される。
【0138】
一実施形態によれば、損失関数は追加の識別的ニューラルネットワークから導出された敵対的メトリックを含み、識別的ニューラルネットワークは生成されたオーディオ信号または基準オーディオ信号の表現を入力として受信し、識別的ニューラルネットワークは生成されたオーディオサンプルがどの程度実際的であるかを評価するように構成される。
【0139】
一実施形態によれば、損失関数は固定のメトリックと、追加の識別的ニューラルネットワークから導出される敵対的メトリックとの双方を含む。
【0140】
一実施形態によれば、オーディオサンプルを生成するニューラルネットワークは、先ずは固定のメトリックのみを使用して学習させられる。
【0141】
一実施形態によれば、敵対的メトリックは4つの識別的ニューラルネットワークによって導出される。
【0142】
一実施形態によれば、識別的ニューラルネットワークは、フィルタバンクによる入力オーディオ信号の分解の後に動作する。
【0143】
一実施形態によれば、各識別的ニューラルネットワークは入力信号をランダムにウィンドウ化したもの1つ以上を入力として受信する。
【0144】
一実施形態によれば、ランダムなウィンドウのサンプリングは各識別的ニューラルネットワークについて複数回繰り返される。
【0145】
一実施形態によれば、各識別的ニューラルネットワークについてランダムなウィンドウがサンプリングされる回数は、入力オーディオサンプルの長さに比例する。
【0146】
実施形態の詳細な説明
図8はオーディオ生成器10の実施例を示している。オーディオ生成器10はテキスト112を出力されたオーディオ信号16に変換することができる。テキスト112は、一部の実施例ではオーディオ表現(例えばスペクトログラム、またはより一般的にはスペクトログラム、ログスペクトログラム等のMFCC、あるいはスペクトログラム、MFCCまたはメルスペクトログラム、その他の音響特性)と理解することもできるターゲットデータ12に変換することができる(下記参照)。ターゲットデータ12は入力信号14(例えばノイズ)をコンディショニングして入力信号14を聞き取り可能な音声になるように処理するために使用することができる。オーディオ合成ブロック(テキスト解析ブロック)1110はテキスト112を、例えばターゲットデータ12が設定する条件下でオーディオ表現(例えばスペクトログラム、またはより一般的にはスペクトログラム、ログスペクトログラム等のMFCC、あるいはスペクトログラム、MFCCまたはメルスペクトログラム、その他の音響特性)に変換することができる。オーディオ合成ブロック1110は、例えば音声の発声、位相整合、イントネーション、持続期間等のうちの少なくとも1つの処理において責任を負うことがある。オーディオ合成ブロック1110(テキスト解析ブロック)は、テキスト正規化、語の分割、韻律予測および書記素列から音素列への変換等の少なくとも1つのタスクを行うことがある。次に、生成されたターゲットデータ12は、テキスト112から取得したターゲットデータ12から取得した条件に基づいて、例えば入力信号14から波形16(出力オーディオ信号)を生成することができる波形合成ブロック1120(ボコーダー等)に入力される。
【0147】
ただし、ブロック1110は一部の実施例においては、生成器10の一部ではなく、ブロック1110が生成器10の外にあり得ることが指摘される。一部の実施例では、ブロック1110は多数のサブブロックに下位分割されることがある(さらに一部の特定の事例では、サブブロックのうちの少なくとも1つは生成器10の一部であり、サブブロックのうちの少なくとも1つは生成器10の外にあることがあり得る。)
【0148】
概して、ブロック1110(または一部の実施例では生成器10)に入力されるテキスト(またはテキストから導出されるその他の入力)である入力は、
・ テキスト112(例えばASCIIコード)
・ 少なくとも1つの言語特性(例えばテキストから取得される、例えば音素、語韻律、イントネーション、文章の区切り、および有声休止のうちの少なくとも1つ)
・ 少なくとも1つの音響特性(例えばテキストから取得される、例えばログスペクトログラム、MFCC、メルスペクトログラムのうちの少なくとも1つ)
のうちの少なくとも1つの形式であることがある
【0149】
入力は、ターゲットデータ12を得るために、(例えばブロック1110によって)処理されることがある。異なる実施例によれば、ブロック1110は、
・ テキストの文字または単語のうちの少なくとも1つ
・ 少なくとも1つの言語特性(例えばテキストから取得される、例えば音素、語韻律、イントネーション、文章の区切り、および有声休止のうちの少なくとも1つ)
・ 少なくとも1つの音響特性(例えばテキストから取得される、例えばログスペクトログラム、MFCC、メルスペクトログラムのうちの少なくとも1つ)
のうちの少なくとも1つの形式で(テキストから導出された)ターゲット12を得るように処理を実行することがある。
【0150】
ターゲットデータ12は(文字、言語特性、音響特性のいずれの形式であっても)入力信号14の処理をコンディショニングし、ひいては出力オーディオ信号(音響波)を生成するために、生成器10(例えば波形合成ブロック、ボコーダー、1120)によって使用されることになる。
【0151】
図10はブロック1110をインスタンス化するためのいくつかの可能性についての概要表を示している。
A) ケースAでは、ブロック1110に入力される入力はプレーンテキスト112であり、ブロック1110からの出力(ターゲットデータ12)はテキストの文字または(同じくテキストである)単語のうちの少なくとも1つである。ケースAでは、ブロック1110はテキスト112の選択を実行してテキスト112の要素の形式にする。次に(テキスト112の要素の形式である)ターゲットデータ12が入力信号14への処理をコンディショニングして出力信号16(音響波)を取得する。
【0152】
B) ケースBでは、ブロック1110に入力される入力はプレーンテキスト112であり、ブロック1110からの出力(ターゲットデータ12)は少なくとも1つの言語特性、例えば、テキスト112から取得された音素、語韻律、イントネーション、文章の区切り、および有声休止のうちの言語特性等を含む。ケースBでは、ブロック1110はテキスト112の要素に言語解析を施し、ひいては音素、語韻律、イントネーション、文章の区切り、有声休止等のうちの少なくとも1つのうちから少なくとも1つの言語特性を取得する。次に、(音素、語韻律、イントネーション、文章の区切り、有声休止等のうちの少なくとも1つの形式である)ターゲットデータ12は入力信号14への処理をコンディショニングして出力信号16(音響波)を取得する。
【0153】
C) ケースCでは、ブロック1110に入力される入力はプレーンテキスト112であり、ブロック1110からの出力(ターゲットデータ12)は少なくとも1つの音響特性、例えばログスペクトログラム、MFCC、テキストから取得したメルスペクトログラムのうちの1つの音響特性を含む。ケースCでは、ブロック1110はテキスト112の要素に対して音響解析を施し、ひいてはログスペクトログラム、MFCCまたはテキスト112から取得したメル巣ペクラムのうちの1少なくとも1つの音響特性を取得する。次に、(例えば音素、語韻律、イントネーション、文章の区切り、および有声休止のうちの少なくとも1つの形式である)ターゲットデータ12は入力信号14への処理をコンディショニングして出力信号16(音響波)を取得する。
【0154】
D) ケースDでは、ブロック1110に入力される入力は言語特性(例えば音素、語韻律、イントネーション、文章の区切り、有声休止のうちの少なくとも1つ)であり、出力も同じく処理された言語特性(例えば音素、語韻律、イントネーション、文章の区切り、有声休止のうちの少なくとも1つ)である。次に、(音素、語韻律、イントネーション、文章の区切り、有声休止のうちの少なくとも1つの形式である)ターゲットデータ12が入力信号14への処理をコンディショニングして出力信号16(音響波)を取得する。
【0155】
E) ケースEでは、ブロック1110に入力される入力は言語特性(例えば音素、語韻律、イントネーション、文章の区切り、有声休止のうちの少なくとも1つ)であり、ブロック1110からの出力(ターゲットデータ12)は少なくとも1つの音響特性、例えばログスペクトログラムまたはMFCC、およびテキストから取得したメルスペクトログラムのうちの1つの音響特性を含む。ケースEでは、ブロック1110はテキスト112の要素に音響解析を施し、ログスペクトログラムまたはMFCC、およびメルスペクトログラムのうちの少なくとも1つの音響特性を取得する。次に、(例えばログスペクトログラム、MFCC、テキストから取得したメルスペクトログラム等のうちの少なくとも1つの音響特性の形式の)ターゲットデータ12が入力信号14への処理をコンディショニングして出力信号16(音響波)を取得する。
【0156】
F) ケースFではブロック1110に入力される入力は音響特性の形式(例えばログスペクトログラム、MFCC、テキストから得られたメルスペクトログラム等のうちの少なくとも1つの形式)であり、出力(ターゲットデータ12)は処理済みの音響特性の形式(例えばログスペクトログラム、MFCC、テキストから得られたメルスペクトログラム等のうちの少なくとも1つの形式)である。次に、(例えば、ログスペクトログラム、MFCC、テキストから取得したメルスペクトログラム等のうちの少なくとも1つなど、処理済みの音響特性の形式である)ターゲットデータ12は、入力信号14の処理をコンディショニングして出力信号16(音響波)を取得する。
【0157】
図9aはブロック1110がサブブロック1112(テキスト解析ブロック)と、その下流にサブブロック1114(例えば音響モデルを使用したオーディオ合成)を含む実施例を示している。サブブロック1112は中間ターゲットデータ212をもたらし、サブブロック1114はターゲットデータ12を音響特性の形式で生成する。したがって、
図9aにおいては、サブブロック1112およびサブブロック1114がいずれも生成器10の一部である場合、ケースCということになる。サブブロック1112が生成器10の一部ではないがサブブロック1114が生成器10の一部である場合、ケースEとなる。
【0158】
図9bはブロック1110がテキスト解析のみを行ってターゲットデータ12を言語特性の形式でもたらす実施例を示している。したがって、
図9bにおいては、ブロック1110が生成器10の一部であれば、ケースBということになる。
【0159】
図9cはブロック1110がなく、ターゲットデータ12が言語特性の形式である実施例を示している。
【0160】
概して、ブロック1110は(存在する場合)、ブロック1110に入力された入力よりも推敲されたターゲットデータに向けた処理において、テキスト(またはテキストから得られた他の入力)をより一層推敲していくように動作する。ブロック1110はまた、元テキストにはない制約(アテンション機能、男声/女声、アクセント、感情特性評価等)を使用することもある。これらの制約は概して、ユーザから供給される。
【0161】
上述および後述のケースの場合、ブロック1110(または、ブロック1112や1114のいずれか等、存在する場合は任意のサブブロック)は、例えばテキスト解析を実行する、および/または音響モデルを使用する統計モデルを使用することがあることも指摘される。さらにまたはあるいは、ブロック1110(または、ブロック1112や1114のいずれか等、存在する場合は任意のサブブロック)は、例えばテキスト解析を実行する、および/または音響モデルを使用する学習可能モデルを使用することもある。学習可能モデルは、例えばニューラルネットワーク、マルコフ連鎖等に基づいていることがある。さらに加えて、またはさらにあるいは、ブロック1110(または、ブロック1112や1114のいずれか等、存在する場合は任意のサブブロック)はテキスト解析を実行するルールベースのアルゴリズムを使用するおよび/または音響モデルに基づくこともある。
【0162】
ブロック1110(または、ブロック1112またはブロック1114のいずれか等、存在する場合は任意のサブブロック)は、一部の実施例では、ターゲットデータを決定的に導出することができる。したがって、一部のサブブロックが学習可能で、他のサブブロックは決定的であることもある。
【0163】
ブロック1110は(例えばテキストを少なくとも1つの言語特性に変換する際に)「テキスト解析ブロック」または(例えばテキストまたは少なくとも1つの言語特性を例えばスペクトログラム等の少なくとも1つの音響特性に変換する際に)「オーディオ合成ブロック」とも呼ばれる。いずれにせよ、ターゲットデータは実施形態に応じて、テキスト、言語特性または音響特性の形式であるということは、維持される。
【0164】
とりわけ、
図10は、一部の変換の組み合わせが一般に行われないことを示している。これは、精緻化された特性から単純な特性への変換(例えば、言語特性からテキスト、あるいは音響特性からテキストまたは言語特性への変換)は想定されていないからである。
【0165】
図6は、例えばStyleMelGANによって、オーディオ信号(出力信号)16を生成(合成等)することができるオーディオ生成器10の実施例を示している。
図6では、テキスト112を例えばテキスト解析ブロック1110で処理して、ターゲットデータ12を得ることができる。次に、波形合成ブロック1120において、ターゲットデータ12を使用して入力信号14(ノイズ等)を処理して、可聴オーディオ信号16(音響波形)を得ることができる。得られたターゲットデータ12はテキストから導出することができる。
【0166】
とりわけ、出力オーディオ信号16は入力信号14(潜伏信号とも呼ばれ、ホワイトノイズ等のノイズであることもある)およびターゲットデータ12(「入力シーケンス」とも呼ばれ、一部の実施例ではテキストから導出される)に基づいて生成され、且つ例えばブロック1110でテキスト112から取得することができる。ターゲットデータ12は例えば、スペクトログラム(例えばメルスペクトログラム)を含む(例えば、そのものである)ことがあり、メルスペクトログラムは例えば時間サンプルのシーケンスのメルスケールへのマッピングをもたらす。さらに、またはあるいは、ターゲットデータ12はビットストリームを含む(例えば、そのものである)こともある。例えば、ターゲットデータは、オーディオ(例えばテキスト読み上げ)で再生されるテキストである、またはテキストを含む(あるいはより一般的には、テキストから導出される)ことがある。ターゲットデータ12は概して、ヒトである聴取者が自然だと認識することができる言語音を取得するために処理される。入力信号14はホワイトノイズ等のノイズである(ひいては有用な情報を運搬しない)ことがあるが、生成器10においては、ノイズから取得されたノイズベクトルに(例えば77で)スタイル付与され、ターゲットデータ12によってコンディショニングされた音響特性を備えるノイズベクトルが得られることになる。最終的には、ヒトである聴取者は、出力されたオーディオ信号16を音声として理解することになる。
図1においてと同様、ノイズベクトル14は128×1のベクトル(単一のサンプル、例えば時間領域サンプルまたは周波数領域サンプルと、128のチャネル)であることがある。他の実施例では、ノイズベクトル14の異なる長さが使用されることもある。
【0167】
第1の処理ブロック50が
図6に示されている。(例えば
図1に)図示される通り、第1の処理ブロック50は複数のブロック(
図1では、ブロック50a,50b,50c,50d,50e,50f,50g,50h)のうちのそれぞれによってインスタンス化されることがある。ブロック50a~50hは1つの単一のブロック40を形成していると理解することができる。第1の処理ブロック40,50において、学習可能レイヤのコンディショニングセット(例えば71,72,73)を使用してターゲットデータ12および/または入力信号14を処理することができることが示される。したがって、コンディショニング特性パラメータ74,75(
図3ではガンマ(γ)およびベータ(β)とも呼ばれる)が、例えば学習中の畳み込みによって得られる。したがって、学習可能レイヤ71~73は学習ネットワーク、あるいはより一般的には別の学習構造の加重レイヤの一部となり得る。第1の学習ブロック40,50は少なくとも1つのスタイル付与要素77を含むことがある。少なくとも1つのスタイル付与要素77は第1の出力データ69を出力することがある。少なくとも1つのスタイル付与要素77は入力信号14(潜在)または入力信号14から取得した第1のデータ15にコンディショニング特性パラメータ74,75を適用することがある。
【0168】
各ブロック50の第1の出力データは複数のチャネル内にある。オーディオ生成器10は第2の処理ブロック45(
図1ではブロック42,44,46を含むものとして示されている)を含むことがある。第2の処理ブロック45は、(第2の入力データまたは第2のデータとして入力される)第1の出力データ69の複数のチャネル47を結合して出力されたオーディオ信号16を単一のチャネルで、ただしサンプルのシーケンスで取得するように構成されることがある。
【0169】
「チャネル」というのは、ステレオサウンドの文脈ではなく、ニューラルネットワーク(例えば畳み込みニューラルネットワーク)の文脈で理解されるべきである。例えば、入力信号(例えば、潜在ノイズ)14は(時間領域表現において)チャネルのシーケンスが提供されているため、チャネルが128個ある可能性がある。例えば、信号に176のサンプルと64のチャネルがあれば、176列64行のマトリクスと理解され、信号に352のサンプルと64のチャネルがあれば、352列64行のマトリクスと理解され得る(他の図式化も可能である)。したがって、生成されたオーディオ信号16(
図1では1×22528行のマトリクスとなり、22528は別の数字で置き換えることができる)は、モノラル信号と理解することができる。ステレオ信号を生成する場合には、単に開示された技術を各ステレオチャンネルについて繰り返して多数のオーディオ信号16を取得して、次いでミックスすることになる。
【0170】
少なくとも元の入力信号14および/または生成された音声16はベクトルであり得る。逆に、ブロック30および50a~50h,42,44の各々の出力は概して、次元が異なる。第1のデータは一次元であるまたはオーディオ信号の次元よりも少なくとも1次元低い。第1のデータの全次元にわたるサンプル総数はオーディオ信号よりも少ないことがある。第1のデータは次元がオーディオ信号よりも1次元低いが、チャネルの数はオーディオチャネルよりも多いことがある。ブロック30および50a~50hの各々において、ノイズ14から進展して音声16になる信号はアップサンプリングされることがある。例えば、ブロック50a~50hのうちの第1のブロック50aの前のアップサンプリングブロック30において、88回のアップサンプリングが実行される。アップサンプリングの例としては、1)同じ値を繰り返す、2)ゼロを挿入する、3)再び繰り返しまたはゼロの挿入および線形フィルタ処理、等の手順が含まれることがある。
【0171】
生成されたオーディオ信号16は概して、単一チャネルの信号(例えば、1×22528)であることがある。(例えば、ステレオサウンド再生のために)多数のオーディオチャネルが必要な場合には、本願に記載の手順は原則として複数回繰り返されるものとする。
【0172】
同様に、ターゲットデータ12も原則として、(テキストである場合、またはより一般的に、ケースAにおいてまたは
図9cにおいて等、テキストから導出されている場合)単一のチャネルまたは複数のチャネル(ケースC、E、Fの場合等、例えばテキストから導出される、例えばスペクトログラム、例えばメルスペクトログラム)であることがある。いずれにせよ、(例えば2、2の累乗、2の倍数、または2よりも大きい値で)アップサンプリングして後続のレイヤ(50a~50h,42)に沿って進展する信号(59a,15,69)の次元と適合させ、例えば信号の次元と適合した次元でコンディショニング特性パラメータ74,75を取得することができる。
【0173】
第1の処理ブロックが例えば少なくとも複数のブロック50a~50hでインスタンス化されると、チャネル数は、例えば複数のブロック50a~50hについて同じままであることがある。第1のデータは一次元であるまたはオーディオ信号の次元よりも1次元低いことがある。第1のデータの全次元にわたるサンプル総数はオーディオ信号よりも少ないことがある。第1のデータの次元はオーディオ信号よりも1次元低いが、チャネル数はオーディオ信号より多いことがある。
【0174】
後続のブロックにおける信号は、互いに次元が異なることがある。例えば、サンプル数のアップサンプリング回数を多くして、例えば88サンプルから最後のブロック50hでは22528サンプルに達することもある。同様に、ターゲットデータ12も各処理ブロック50でアップサンプリングされる。したがって、コンディショニング特性パラメータ74,75は処理する信号のサンプル数に適合させることができる。よって、ターゲットデータ12が提供する意味情報は後続のレイヤ50a~50hにおいても失われない。
【0175】
実施例は敵対的生成ネットワーク(GAN)のパラダイムでも実行され得ると理解される。GANはGAN生成器11(
図1)と、波形合成ブロックの1120の一部としても理解することのできるGAN識別器100(
図2)とを備える。GAN生成器11は、可能な限り実際の信号に近いオーディオ信号16を生成しようとする。GAN識別器100は生成されたオーディオ信号が(
図2の実際のオーディオ信号104のように)実際のものなのか、(生成されたオーディオ信号16のように)フェイクなのかを識別するものとする。GAN生成器11およびGAN識別器100のいずれもニューラルネットワークとして取得することができる。GAN生成器11は(例えば勾配法その他の方法によって)損失を最小化し、GAN識別器100において結果を考慮することで、コンディショニング特性パラメータ74,75を更新する。GAN識別器100は(例えば勾配法その他の方法によって)自身の識別損失を削減し、自身の内部パラメータを更新する。したがって、GAN生成器11はより優れたオーディオ信号16を提供するように学習させられる一方で、GAN識別器100はGAN生成器11が生成したフェイクのオーディオ信号から実際の信号16を識別するように学習させられる。概して、GAN生成器11は生成器10の機能のうち、少なくともGAN識別器100の機能を除いた機能を含み得ると理解することができる。したがって、上記のほとんどにおいて、GAN生成器11およびオーディオ生成器10は、GAN識別器100の特性を除くと、多かれ少なかれ同じ特性を有していることがある。オーディオ生成器10は内蔵コンポーネントとして識別器100を備えることがある。したがって、GAN生成器11とGAN識別器100はオーディオ生成器10を構成するうえで一致し得る。GAN識別器100がない実施例においては、オーディオ生成器10はGAN生成器11のみで構成されることがある。
【0176】
「学習可能レイヤのコンディショニングセット」という言葉でも説明されている通り、オーディオ生成器10は条件付きGANのパラダイムに従って、例えば条件情報に基づいて取得することができる。例えば、条件情報は、レイヤのコンディショニングセット71~73(加重レイヤ)が学習させられ、コンディショニング特性パラメータ74,75が取得されるターゲットデータ(またはターゲットデータをアップサンプリングしたバージョン)12で構成されることがある。したがって、スタイル付与要素77は学習可能レイヤ71~73によってコンディショニングされる。
【0177】
実施例は畳み込みニューラルネットワークに基づいていることもある。例えば、3×3のマトリクス(または4×4のマトリクス等)の小型のマトリクス(フィルタまたはカーネル等)は、例えばフィルタ(カーネル)要素とより大型のマトリクスの要素(活性化マップまたは活性化信号)との結合(乗算および積の和、ドット積等)を伴うより大型のマトリクス(チャンネル×サンプル潜在または入力信号および/またはスペクトログラムおよび/またはスペクトログラムまたはアップサンプリングされたスペクトログラムまたはより一般的にターゲットデータ12)に沿って畳み込まれる(コンボリューションされる)。学習中、損失を最小化させる、フィルタ(カーネル)要素が取得される(学習される)。干渉中、学習中に取得されたフィルタ(カーネル)要素が使用される。畳み込みの例はブロック71~73,61a,61b,62a,62bにある(下記参照)。ブロックが条件付きの場合(例えば
図3のブロック60)、入力信号14から中間信号59a(15),69を介してオーディオ信号16に向けて進展する信号等には必ずしも畳み込みが適用されないが、ターゲット信号14には適用され得る。他の場合(例えばブロック61a,61b,62a,62b)では、畳み込みは条件付きでない場合もあり、例えば入力信号14からオーディオ信号16に進展していく信号59a(15),69等に直接適用されることもある。
図3および
図4からも見て取れるように、条件付きおよび条件なしの畳み込みのいずれも行われることがある。
【0178】
一部の実施例では、畳み込みの下流に、意図する効果において異なる活性化関数(ReLu、TanH、ソフトマックス等)があることがある。ReLuは0と畳み込みにおいて得られた値との間に最大値をマッピングすることがある(実際には、正の場合には同じ値を維持し、負の値の場合には0を出力する)。リーキーReLuはx>0であればxを出力し、x≦0であれば0.1×xを出力する。ここでxは畳み込みによって得られた値である(一部の実施例では、0.1±0.05の範囲の既定の値等、別の値が0.1の代わりに使用されることもある)。(例えばブロック63aおよび/または63bで実装され得る)TanHは、例えば
TanH(x)=(ex-e-x)/(ex+e-x)
によって畳み込みで得られた値の双曲線正接を与えることができ、ここでxは(例えばブロック61aおよび/または61bにおける)畳み込みで得られた値である。(例えばブロック64aおよび/または64bで適用される)ソフトマックスは、(例えばブロック62aおよび/または62bで提供される)畳み込みの結果の要素のうちの各要素にべき指数を適用して、べき指数の合計によって除算することで正規化する。(例えば64aおよび/または64bにおける)ソフトマックスは、(例えば62aおよび/62bで提供される)畳み込みから生じるマトリクス内の入力の確率分布を提供することがある。活性化関数の適用後、一部の実施例ではプーリング工程が実行され得る(図面には図示無し)が、別の実施例では避けられることもある。
【0179】
図4は、(例えば63aおよび/または63bで得られた)TanH関数の結果を(例えば64aおよび/または64bで得られた)ソフトマックス関数の結果で(例えば65aおよび/または65bにおいて)例えば乗算することによって、ソフトマックスゲート付きTanH関数を得ることも可能であることを示している。
【0180】
畳み込みの多数のレイヤ(例えば学習可能レイヤのコンディショニングセット)は、相次いでいる、および/または互いに並列していて、効率性が高まるようになっている。活性化関数の適用および/またはプーリングが行われれば、別のレイヤで繰り返される(あるいは例えば異なる活性化関数が異なるレイヤに適用される)ことがある。
【0181】
入力信号14(ノイズ等)は異なる工程で処理され、(例えば学習可能レイヤのコンディショニングセット71~73が設定する条件下で、且つ学習可能レイヤのコンディショニングセット71~73が学習したパラメータ74,75に基づいて、)生成されたオーディオ信号16になる。したがって、入力信号は処理方向(
図6の14から16)に進展して生成されたオーディオ信号16(音声等)になると理解される。条件はターゲット信号12および(最も好ましいパラメータ74,75のセットになるための)学習に基づいて実質的に生成される。
【0182】
また、入力信号(またはそれが進化したもののいずれか)の多数のチャネルは、学習可能レイヤのセットとスタイル付与要素が関連付けられていると見なすことができることが指摘される。例えば、マトリクス74および75の各行は、入力信号(またはそれが進化したもののうちの1つ)の特定のチャネルに関連付けられ、ひいてはその特定のチャネルに関連付けられた特定の学習可能レイヤから取得される。同様に、スタイル付与要素77も多様なスタイル付与要素(入力信号x,c,12,76,76’,59,59a,59b等の各行に対して1つ)によって形成されると見なすことができる。
【0183】
【0184】
【0185】
ノイズベクトル14は(例えばブロック50a~50h,42,44,46等において)工程毎に処理され、例えばノイズ14から例えば音声16に進展する(進化した信号は、例えば15,59a,x,c,76’,79,79a,59b,79b,69等異なる信号によって示される)。
【0186】
ブロック30において、入力信号(ノイズ)14はアップサンプリングされて、88(別の数もあり得る)のサンプルと64(別の数もあり得る)のチャネルを有するようになることがある。
【0187】
見て取れるように、8つの処理ブロック50a,50b,50c,50d,50e,50f,50g,50h(全体で
図6の第1の処理ブロック50を体現する)は、アップサンプリング(例えば、最大で2回のアップサンプリング)を実行することによってサンプル数を増大させることができる。ブロック50a,50b,50c,50d,50e,50f,50g,50hに沿って、チャネル数は常に同じ(例えば64)であり続けることもある。サンプルは例えば、秒(またはその他の時間単位)あたりのサンプルの数であることもある。ブロック50hの出力で、22kHz超でサウンドを得ることができる。
【0188】
ブロック50a~50h(50)はそれぞれ、TADEResBlock(時間適応的脱正規化(TADE)の文脈における残差ブロック)でもあり得る。とりわけ、ブロック50a~50hはそれぞれ、ターゲットデータ12によってコンディショニングされることがある(例えばテキスト特性、言語特性またはメルスペクトログラム等の音響特性)。
【0189】
第2の処理ブロック45(
図1および
図6)においては、1つだけのチャネルしか取得することはできず、多数のサンプルが単一の大きさで取得される。見てわかる通り、(ブロック50a~50hに加え、)(単一のチャネルへと限縮する)別のTADE-ResBlock42が使用される。そのうえで、畳み込みレイヤおよび(例えばTanH46であり得る)活性化関数が実行され得る。その後に、音声16が取得(および、場合によっては記憶、レンダリング、符号化等)される。
【0190】
ブロック50a~50hのうちの少なくとも1つ(または特定の実施例では、それぞれ)は、例えば残差ブロックであり得る。残差ブロックは入力信号14(ノイズ等)から出力オーディオ信号16へと進展する信号の残差コンポーネントに対してのみ予測を施す。残差信号は主信号の一部(残差コンポーネント)に過ぎない。例えば、多数の残差信号を互いに加算して、最終出力オーディオ信号16を取得することができる。
【0191】
図4はブロック50a~50h(50)の1つの実施例を示す。見て取れるように、各ブロック50には第1のデータ59aが入力され、これは入力信号14(またはアップサンプリングブロック30が出力した、アップサンプリングしたバージョン)または先行するブロックからの出力のいずれかである。例えば、ブロック50bにはブロック50aの出力が入力され、ブロック50cにはブロック50bの出力が入力される等、である。
【0192】
従って、
図4において、ブロック50(50a~50h)に供給される第1のデータ59aが処理され、その出力が出力信号69(後続のブロックに対し入力として供給される)であると見ることができる。線59a’で示される通り、第1の処理ブロック50a~50hに入力される第1のデータ59aの主コンポーネントは、第1の処理ブロック50a~50h(50)の処理のほとんどを実質上バイパスする。例えば、ブロック60a,61a,62a,63a,65a,60b,61b,62b,63b,64b,65bはバイパス線59a’によってバイパスされている。次に第1のデータ59aは加算器65c(
図4に記載されているが、図示されていない)において残差部分64b’に加算される。バイパス線59a’と加算器65cにおける加算は、各ブロック50(50a~50h)が残差信号への演算を処理し、そのうえで信号の主部分に加算されることをインスタンス化すると理解することができる。したがって、ブロック50a~50hはそれぞれ、残差ブロックだと見なすことができる。
【0193】
とりわけ加算器65cにおける加算は、必ずしも残差ブロック50(50a~50h)内で実行しなければならないというわけではない。複数の残差信号65b’(それぞれ、残差ブロック50a~50hのそれぞれから出力されている)の加算が1回のみ、(例えば第2の処理ブロック45の例えば加算ブロックにおいて)実行することができる。したがって、異なる残差ブロック50a~50hは互いに並列して動作することができる。
【0194】
図4の実施例においては、各ブロック50は畳み込みレイヤを2回繰り返すことができる(例えば、ブロック60a,61a,62a,63a,64a,65aのうちの少なくとも1つを含むレプリカ600で1回目を行って信号59bを取得し、ブロック60b,61b,62b,63b,64b,65bのうちの少なくとも1つを含むレプリカ601で2回目を行って、主コンポーネント59a’に加算されることがある信号65b’を取得する)。
【0195】
各レプリカ(600,601)について、入力信号16からオーディオ出力信号16に進化する信号に対し、学習可能レイヤ71~73のコンディショニングセットおよびスタイル付与要素が(例えば各ブロック50につき2回)適用される。第1のレプリカ600の第1のデータ59aに対し、第1の時間適応的脱正規化(TADE)がTADEブロック60aで行われる。TADEブロック60aは、ターゲットデータ12が設定する条件下で第1のデータ59a(入力信号、または例えば処理済みノイズ)の変調を行う。第1のTADEブロック60aでは、ターゲットデータ12のアップサンプリングがアップサンプリングブロック70で行われ、ターゲットデータ12のアップサンプリングバージョン12’が取得される。アップサンプリングは、例えば2の係数、2の累乗、2の倍数その他2よりも大きい値を使用した非線形補間を通じて取得することができる。したがって、一部の実施例においては、スペクトログラム12’が、スペクトログラムによってコンディショニングされる信号(76,76’,x,c,59,59a,59b等)と同じ大きさである(例えば、一致する)ことがある。ブロック77(スタイル付与要素)において、処理済みノイズ(第1のデータ)(76,76’,x,c,59,59a,59b等)に対しスタイル付与情報の適用が行われることもある。後続のレプリカ601においては、別のTADEブロック60bが第1のレプリカ600の出力59bに適用されることがある。TADEブロック60(60a,60b)の実施例が
図3に示されている(下記も参照のこと)。第1のデータ59aを変調させた後、畳み込み61aおよび62aが実行される。次に、活性化関数TanHおよびソフトマックス関数(例えばソフトマックスゲート付きTanH関数を構成するもの)が同様に実行される(63a,64a)。活性化関数63aおよび64aの出力は乗算ブロック65aで乗算され(例えばゲート付与をインスタンス化し)、結果59bを取得する。2つの異なるレプリカ600および601を使用する場合(または2つ以上のレプリカを使用する場合)は、ブロック60a,61a,62a,63a,64a,65aの通過が繰り返される。
【0196】
実施例において、それぞれTADEブロック60aおよび60bの下流にある61bおよび62bにおける第1および第2の畳み込みは、カーネル内の同じ数の要素(例えば9、例えば3×3)で行うことができる。ただし、第2の畳み込み61bおよび62bは膨張率2であることがある。実施例においては、畳み込みの最大膨張率は2であることがある。
【0197】
【0198】
スタイル付与要素77の後に、信号が出力される。畳み込み72および73はかならずしも下流に活性化関数があるわけではない。さらに、パラメータγ(74)はバリアンス、β(75)はバイアスと理解することができることも指摘される。また、
図1のブロック42は
図3のブロック50としてインスタンス化することができる。そのうえで、例えば畳み込みレイヤ44がチャネル数を1に削減して、そのうえで、TanH56が実行されて音声16が得られる。
【0199】
図7はブロック50a~50hのうちの1つのレプリカ600および601のうちの1つにおける、ターゲットデータ12(メルスペクトログラム等)および59aでも示される、または入力信号12から生成されたオーディオ信号16へと進化する信号としての、潜在ノイズc(14)の進化の例を示している。
【0200】
とりわけ、61a,61b,62a,62bは第1のデータ(例えば、交代で入力信号14から)から導出されたデータを、ゲート付き活性化関数(第2の活性化関数)である活性化関数(63a,64a,63b,64b等)を用いて処理するように構成された学習可能レイヤのセットである(またはその一部である)ことがある。この学習可能レイヤのセットは1つまたは2つあるいはそれ以上の畳み込みレイヤから成る場合がある。第2の活性化関数はゲート付き活性化関数(TanHおよびソフトマックス等)である場合がある。この特性は、(第1の畳み込み済データ71’を得るための)第1の活性化関数がReLuまたはリーキーReLUであることと組み合わせることができる。
【0201】
以下の手順(または少なくとも工程のうちの1つ)が行われることがある。
・ テキスト112等の入力(情報交換用米国標準コード(ASCIIコード)または他のタイプのコード等)から、ターゲットデータ12(テキスト特性、言語特性またはメルスペクトログラム等の音響特性)が生成される(異なるタイプのターゲットデータが使用されることがある)。
・ ターゲットデータ(例えばメルスペクトログラム)12が以下の工程のうちの少なくとも1つに付される。
・ アップサンプリングブロック70でアップサンプリングされ、アップサンプリング済みスペクトログラム12’を取得する。
・ 畳み込みレイヤ71~73(加重レイヤの一部)で畳み込みが実施される(例えばカーネル12aがアップサンプリング済スペクトログラム12’に沿って畳み込まれる)。
・ γ(74)およびβ(75)は取得(学習)される。
・ γ(74)およびβ(75)が入力信号14から進化する潜在信号59a(15)および生成されたオーディオ信号16に(例えば畳み込みによって)適用される。
【0202】
TTS
(例えばブロック1110を用いて行われる)テキスト読み上げ(TTS)は理解可能で自然に聞こえる音声16が付与されたテキスト112を合成しようとするものである。産業上の可用性は、とりわけ機械対ヒトの通信において広範にわたる。
【0203】
本願発明のオーディオ生成器10は最終段階に様々なコンポーネント、中でもボコーダー1120を含んでおり、またテキスト特性、言語特性または音響特性をオーディオ波形16に変換するためのブロックを主に含んでいる。
【0204】
とりわけ、ブロック1110において、テキスト112(入力)が解析され、例えば
図9aに示されるテキスト解析モジュール(サブブロック)1112によって、テキスト112から言語特性が抽出される。テキスト解析には、例えば、テキスト正規化、語の分割、音韻予測および書記素列から音素列への変換等多数のタスクが含まれることがある(
図8も参照のこと)。その後(中間ターゲットデータ212の役割を果たし得る)これらの言語特性は、例えば音響モデルを通じて(例えばサブブロック1114によって)、
図1および
図3~8のターゲットデータ12を構成し得る、MFCC、基本周波数、メルスペクトログラム等の音響特性、あるいはこれらの組み合わせに変換される。
【0205】
このパイプラインは例えばDNNの導入により、エンドツーエンドの処理に置き換えることができることは指摘しておくべきだろう。例えば、(例えば
図10のケースBおよびDにおいて)ニューラルボコーダー1120を直接言語特性からコンディショニングすることが可能である、あるいは音響モデルがテキスト解析ステージ(
図9aのサブブロック1114が使用されない)をバイパスして直接文字を処理することも可能であろう。例えば、Tacotron1および2等のエンドツーエンドモデルをブロック1110で使用してテキスト解析モジュールを単純化して、文字/音素シーケンスを例えば音響特性(ターゲットデータ12)として例えばメルスペクトログラムの形式で出力する、入力シーケンスとして直接とらえることも可能である。
【0206】
このソリューションはTTSシステム(すなわち、ブロック1110および1120を両方含むもの)として使用することができ、ここでターゲットデータ12は一部の実施例では、テキスト112から導出された情報ストリームまたは音声表現を含むことがある。表現は例えばテキスト112から導出された文字または音素、すなわちテキスト解析ブロックへの通常の入力であり得る。この場合、例えばニューラルボコーダー(ブロック1120等)に適した音響特性またはコンディショニング特性(ターゲットデータ12)を抽出するために、ブロック1110に事前にコンディショニングされた(事前コンディショニング)学習レイヤを使用することがある。この事前コンディショニングレイヤ1110は、文字や音素を直接音響特性にマッピングするためにエンコーダアテンションデコーダ等のディープニューラルネットワーク(DNN)を使用することがある。あるいは、表現(ターゲットデータ)12は言語特性、つまり韻律、イントネーション、休止等の情報に関連付けられた音韻である、またはこれを含むことがある。あるいは、表現(ターゲットデータ)12は言語特性、つまり韻律、イントネーション、休止等の情報に関連付けられた音素である、またはこれを含むことがある。この場合、事前コンディショニングされた学習可能レイヤ1110は隠れマルコフモデル(HMM)、ディープニューラルネットワーク(DNN)あるいは回帰型ニューラルネットワーク(RNN)等の統計モデルに基づいて言語特性を音響特性にマッピングする音響モデルでありうる。最後に、ターゲットデータ12はテキスト112から導出され、例えば学習可能レイヤまたは決定的事前コンディショニングレイヤ1110の後にコンディショニング特性として使用することができる音響特性を直接含むことがある。極端なケース(例えば
図10のケースF)では、ターゲットデータ12内の音響特性をコンディショニング特性およびバイパスされた任意の事前コンディショニングレイヤとして直接使用することができる。
上記により、オーディオ合成ブロック1110(テキスト解析ブロック)は一部の実施例では決定的であり得るが、別のケースでは少なくとも1つの学習可能レイヤを介して取得することができる。
【0207】
実施例において、ターゲットデータ12はログスペクトログラムまたはスペクトログラム、MFCCまたはテキスト112から取得したメルスペクトログラム等の音響特性を含むことがある。
【0208】
あるいは、ターゲットデータ12はテキストから取得した音素、語韻律、イントネーション、文章の区切り、または有声休止等の言語特性を含むことがある。
【0209】
ターゲットデータは、テキスト解析および/または音響モデルを含むことがある、統計モデル、学習可能モデルまたはルールベースのアルゴリズムのうちの少なくとも1つを用いてテキストから導出することができる。
【0210】
したがって、概して、テキスト112等の入力(例えばテキスト)からターゲットデータ12を出力(してターゲットデータ12がテキスト112から導出されるように)するオーディオ合成ブロック1110は決定的ブロックまたは学習可能ブロックのいずれでもあり得る。
【0211】
概して、ターゲットデータ12は複数のチャネルを備え、(ターゲットデータ12が導出される)テキスト112は1つしかチャネルがないこともある。
【0212】
図9aは(生成器10の実施例でありうる)生成器10aの実施例を示している。ここでターゲットデータ12はログスペクトログラム、またはテキスト112から取得したスペクトログラム、MFCCまたはメルスペクトログラム等の音響特性のうちの少なくとも1つを含んでいる。ここで、ブロック1110は、テキスト112から取得した音素、語韻律、イントネーション、文章の区切り、または有声休止等の言語特性のうちの少なくとも1つを含みうる、中間ターゲットデータ212を提供するテキスト解析ブロック1112を含む。次に、(例えば音響モデルを使用する)オーディオ合成ブロック1114がログスペクトログラム、またはテキスト112から取得したスペクトログラム、MFCCまたはメルスペクトログラム等の音響特性のうちの少なくとも1つとしてターゲットデータ12を生成する。
【0213】
その後に、(上記波形合成ブロックのうちのいずれかであり得る)波形合成ブロック1120を使用して出力オーディオ信号16を生成することができる。
【0214】
図9bは(生成器10の実施例であり得る)生成器10bの実施例を示す。ここでターゲットデータはテキスト112から取得した音素、語韻律、イントネーション、文章の区切り、または有声休止等の言語特性のうちの少なくとも1つを含む。オーディオ信号16を出力するために波形合成(ボコーダー1120等)が使用され得る。波形合成ブロック1120は上記に論じた
図1~8に記載のうちのどれであってもよい。この場合、例えばターゲットデータは学習可能レイヤ71~73のコンディショニングセットに直接取り込んで、γおよびβ(74および75)を取得することができる。
【0215】
図9cには、(
図1~8のいずれかの生成器10の実施例であり得る)生成器10cの実施例が示されている。ここでは、テキスト112がターゲットデータとして直接使用されている。ターゲットデータ12がテキスト112から取得した文字または単語の少なくとも一方を含んでいるので、波形合成ブロック1120は上記の実施例のうちの任意のものであり得る。
【0216】
概して、上記のいずれのオーディオ生成器(とりわけテキスト解析ブロック1110のうちのいずれ(例えば
図8または9a~9cのうちの任意のもの))も、テキスト解析および/または音響モデルから成る統計モデル、学習可能モデルまたはルールベースのアルゴリズムのうちの少なくとも1つを使用して、テキストからターゲットデータを導出することができる。
【0217】
一部の実施例では、ブロック1120によってターゲットデータ12を決定的に取得することができる。別の実施例では、ターゲットデータ12は非決定的に取得することができ、ブロック1110は学習可能レイヤまたは複数の学習可能レイヤであり得る。
【0218】
GAN識別器
学習中、例えば入力信号12(または入力信号を処理および/または正規化したバージョン)に適用されるパラメータ74および75を取得するために、
図2のGAN識別器が使用されることがある。学習は干渉前に行われ、パラメータ74および75は、例えば非一時的メモリに格納され、その後に使用することができる(ただし、一部の実施例では、パラメータ74および75が作動中に計算されることもあり得る)。
【0219】
GAN識別器100は、生成されたオーディオ信号(例えば上記の通りに合成されたオーディオ信号16)を実際の入力信号(例えば実音声)104からどのように識別するかを学習する役割を有する。したがって、GAN識別器100の役割は主に学習(例えばパラメータ72および73の学習)中に発揮され、(GAN識別器100を備えないオーディオ生成器10と見なすことができる)GAN生成器11の役割の対極と見なされる。
【0220】
概して、GAN識別器100は、GAN生成器10によって合成され生成されたオーディオ信号16と、例えばマイクロフォンを介して取得された実際のオーディオ信号(例えば実音声)104の双方によって入力され、信号を処理して最小化されるメトリック(例えば損失)を取得する。実際のオーディオ信号104は基準オーディオ信号と見なすこともできる。学習中、音声16を合成するための上記に説明したような動作が例えば複数回繰り返され、例えばパラメータ74および75が取得されることがある。
【0221】
実施例においては、基準オーディオ信号104全体および/または生成されたオーディオ信号16全体を解析する代わりに、その一部(例えば一部分、スライス、ウィンドウ等)のみを解析することも可能である。生成されたオーディオ信号16および基準オーディオ信号104からサンプリングされたランダムウィンドウ(105a~105d)で生成された信号部分が得られる。例えば、ランダム窓関数を使用して、ウィンドウ105a,105b,105c,105dのどれが使用されるかが先験的に事前設定されていないようにすることができる。また、ウィンドウの数も必ずしも4ではなく、変動することがある。
【0222】
ウィンドウ(105a~105d)において、PQMF(直交ミラーフィルタバンク)110が適用されることがある。こうして、サブバンド120が得られる。ひいては、生成されたオーディオ信号(16)の表現または基準オーディオ信号(104)の表現を分解したもの(110)が得られる。
【0223】
評価を実行するために評価ブロック130が使用されることがある。複数の評価器132a,132b,132c,132d(複合的に132で示される)が使用されることがある(異なる数が使用されることもある)。概して、ウィンドウ105a,105b,105c,105dはそれぞれ、各評価器132a,132b,132c,132dに入力されうる。ランダムウィンドウ(105a~105d)のサンプリングが各評価器(132a~132d)について複数回繰り返されることがある。実施例では、ランダムウィンドウ(105a~105d)が各評価器(132a~132d)についてサンプリングされる回数は、生成されたオーディオ信号の表現または基準オーディオ信号の表現の長さに比例することがある。したがって、各評価器(132a~132d)は、生成されたオーディオ信号(16)の表現または基準オーディオ信号(104)の表現を入力として受信することがある。
【0224】
評価器132a~132dはそれぞれ、ニューラルネットワークそのものであることがある。各評価器132a~132dは、とりわけ、畳み込みニューラルネットワークのパラダイムに従うことがある。各評価器132a~132dは残差評価器であることもある。各評価器132a~132dには、学習中に(例えば上記に説明したものの1つと同様に)適合されるパラメータ(加重等)があることがある。
【0225】
図2に示される通り、各評価器132a~132dは(例えば4その他のダウンサンプリング率で)ダウンサンプリングを行う。各評価器132a~132dについて、チャネル数が(例えば4倍、または一部の実施例ではダウンサンプリング率と同じ数の倍数分)増大することになる。
【0226】
評価器の上流および下流に、畳み込みレイヤ131および/または134が設けられることがある。上流畳み込みレイヤ131は、例えば大きさが15(例えば5×3または3×5)のカーネルを備えることがある。下流畳み込みレイヤ134は、例えば大きさが3(例えば3×3)のカーネルを備えることがある。
【0227】
学習中、損失関数(敵対的損失)140が最適化されることがある。損失関数140は生成されたオーディオ信号(16)と基準オーディオ信号(104)との間に(例えば事前学習工程で取得された)固定のメトリックを含むことがある。固定のメトリックは生成されたオーディオ信号(16)と基準オーディオ信号(104)との間の1つ以上のスペクトル歪みを計算することによって取得し得る。歪みは
- 生成されたオーディオ信号(16)および基準オーディオ信号(104)のスペクトル表現のマグニチュードまたはログマグニチュード、および/または
- 異なる時間または周波数解像度
を考慮して測定されるものとする。
【0228】
実施例においては、敵対的損失は生成されたオーディオ信号(16)の表現または基準オーディオ信号(104)の表現を1つ以上の評価器(132)でランダムに供給・評価することによって得ることができる。評価は供給されたオーディオ信号(16,132)を、事前学習されたオーディオ信号(14,16)の自然さの分類レベルを示す既定の数の等級に分類するステップを含む。既定の数の区分は、例えば、「実」対「フェイク」であり得る。
【0229】
【0230】
【0231】
【0232】
他のタイプの最小化が行われることもある。
【0233】
概して、2小敵対的損失140はスタイル付与要素77に適用される最良のパラメータ(74,75等)に関連付けられる。
【0234】
検討
本開示の実施例は、添付の図面を用いて詳細に説明されている。とりわけ、以下の記載において、開示の実施例のより網羅的な説明のために多くの細目が記載されている。しかしながら、他の実施例はこれらの特定の細目なしでも実施できることは当業者にとって自明である。本明細書に記載の異なる実施例の特徴は、対応する組み合わせの特徴が相互に排他的でない限り、あるいはかかる組み合わせが明示的に排除されていない限り、互いに組み合わせることができる。
【0235】
同じ機能を持つ同じまたは同様の要素は同じ参照符号で示される、または同じまたは同様の参照符号が与えられている要素の記載により同一のものとして指定される、あるいは典型的には省略されることが指摘される。参照符号が同じまたは同様の要素または同じラベルが付されている要素の記載は、相互に互換である。
【0236】
テキスト読み上げ、音声符号化および音声強調等多くのアプリケーションにおいて、ニューラルボコーダーは自然な高品質の音声合成における従来のアプローチを上回っていることは証明されている。高品質の音声合成のための最初の草分け的な生成ニューラルネットワークはWaveNetであった。そしてその後まもなくから、数多くの他のアプローチが開発されてきた。これらのモデルは最高水準の品質を提供しているが、しばしば計算コストが高く合成は非常に遅かった。近年、低計算コストで音声を生成するモデルが多量紹介されている。これらのうちのいくつかは既存のモデルを最適化したバージョンで、他のものは従来の方法との統合を活用したものである。一方で、しばしばGANに依拠した、完全に新しいアプローチも数多く導入された。ほとんどのGANボコーダーはGPUでの高速での生成を提供しているが、引き換えに合成音声の品質が損なわれている。
【0237】
本稿の主目的の1つは、我々がStyleMelGANと呼ぶ(そして例えばオーディオ生成器10に実装することのできる)、極めて高品質の音声16を低計算コスト且つ迅速な学習により合成することのできるGANアーキテクチャを提案することである。StyleMelGANの生成器ネットワークは386万の学習可能なパラメータを備え、CPUでのリアルタイムよりも2.6倍速く、GPUでは54倍以上速く、22.05kHzで音声を合成することができる。このモデルは例えば、低次元ノイズベクトル(例えば
図1の30)を生音声波形(例えば16)に漸次変換する8つのアップサンプリングブロックから成る。合成は、時間適応的脱正規化(TADE)レイヤ(60,60a,60b)を介してすべての生成器ブロック(50a~50h)に挿入されうる、ターゲット音声のメルスペクトログラムに対して(あるいはより一般的に、ターゲットデータ12によって)コンディショニングされ得る。このコンディショニング特性を挿入するアプローチは極めて効率的であり、また当方の知識の限りにおいては、オーディオ領域においては新しい。分化可能な偽直交ミラーフィルタバンク(PQMF)110の後にそれぞれ動作する4つの識別器132a~132d(ただし一部の実施例では識別器の数は異なり得る)の集合体によって、敵対的損失が(例えば
図2の構造を介して、GAN識別器100において)計算される。これにより、学習中に音声信号(104またh16)の異なる周波数帯域を解析することができる。学習をよりロバストにし、生成を督励するため、識別器(例えば4つの識別器132a~132d)は生成器10が使用する入力音響特性によりコンディショニングされることはなく、音声信号(104または16)はランダムウィンドウ(例えば105a~105d)を用いてサンプリングされる。
【0238】
要するに、TADEレイヤ(例えば60,60a,60b)を介してメルスペクトルグラム(例えば12)によりコンディショニングされる高品質の音声合成のための低複雑性のGANであるStyleMelGANが提案されている。生成器10は高度に並列可能である。生成器10は完全に畳み込み式であり得る。上記生成器10は、マルチスケールスペクトル再構成損失によって正則化されうるPQMFマルチサンプリングランダムウィンドウ識別器(例えば132a~132d)の集合体によって敵対的に学習させることができる。生成された音声16の品質は客観的評価(例えばフレシェスコア)および/または主観的評価の双方を用いて評価することができる。コピー合成シナリオについてMUSHRAテスト、TTSについてはP.800 ACRテストの2つのリスニングテストが行われ、いずれもStyleMelGANが最高水準の音声品質を達成していると確証した。
【0239】
既存のニューラルボコーダーは通常、最終波形の振幅をモデリングすることによって、音声信号を直接時間領域で合成する。これらのモデルのほとんどは生成ニューラルネットワークであり、つまり自然な音声信号において観測された音声サンプルの確立分布をモデリングする。これらは自己回帰的に分割することができ、これによって分布を条件付きの分布と、そうではなく同時分布を直接モデリングする非自己回帰的または並列分布の積に因数分解する。WaveNet、SampleRNNおよびWaveRnn等の自己回帰モデルは知覚品質の高い音声信号を合成すると報告されている。非自己回帰モデルの一大流派はWaveGlow等の正規化流である。ハイブリッドなアプローチは、ノイズ潜在表現とターゲット音声分布との間の因数分解変換を使用する逆自己回帰流の使用である。上記の例は主に自己回帰型ニューラルネットワークに関するものである。
【0240】
オーディオ用GANの初期アプリケーションには、条件付けのない音声生成のためのWaveGANと、音楽生成のためのGan-Synthを含む。MelGANは音声セグメントのメルスペクトログラムと対応する時間領域の波形とのマッピングを学習する。リアルタイムよりも速い生成が保証され、スペクトル再構成損失によって正則化されたマルチスケール識別器の敵対的学習を活用する。GAN-TTSは音響特性のコンディショニングがされている音声生成のために専ら敵対的学習を使用する最初のGANボコーダーである。敵対的損失は、条件付きおよび条件なしのランダムウィンドウ識別器の集合体によって算出される。パラレルWaveGANは構造においてWaveNetと同様の、マルチスケールスペクトル再構成損失によって正則化された条件なしの識別器を用いて学習させた生成器を使用する。同様のアイディアが、計算能力を節減しながらターゲット音声の各サブバンドを別個に生成し、そのうえで合成PQMFを使用して最終波形を取得するマルチバンドMelGANで使用されている。そのマルチスケール識別器は全帯域音声波形を評価し、マルチバンドスケールスペクトル再構成損失を用いて正則化される。この分野での研究は非常に活発に行われていて、VacGanやHooliGAN等の最新のGANボコーダーが挙げられる。
【0241】
【0242】
【0243】
図4はオーディオ生成器10の一部分の構造を示し、生成器モデルの基本構築ブロックであるTADE-ResBlock50(ブロック50a~50hのうちの任意のものであり得る)を図示している。完全なアーキテクチャは
図1に示されている。例えばTADEResBlockと信号79bを係数2でアップサンプリングするレイヤ601、並びに最終活性化モジュール46(
図1では)から成る、8つのアップサンプリングステージ50a~50hが含まれている(他の実施例では、8以外の数であり得る)。最終活性化は1つのTADEResBlock42とそれに後続する、例えばTanh非線形性46を備えるチャネル変更畳み込みレイヤ44を含む。この設計により、例えば畳み込み動作のためにチャネル深さ64を使用することができ、ひいては複雑性を節減することができる。このアップサンプリング手順により、膨張率を2未満に抑えることができる。
【0244】
図2はフィルタバンクランダムウィンドウ識別器(FB-RWD)のアーキテクチャを示している。StyleMelGANは敵対的学習に複数(例えば4つ)の識別器132a~132dを使用することができ、実施例においては、識別器132~132dのアーキテクチャは平均プーリングのダウンサンプリングがない。さらに、各識別器(132a~132d)は入力音声波形(104または16)からスライスされたランダムウィンドウ(105a~105d)に作用することがある。最後に、各識別器(132a~132d)は、解析PQMF(例えば110)から取得した入力音声信号(104または16)のサブバンド120を解析することがある。より正確には、実施例では、1秒の波形から抽出されたそれぞれ512、1024、2048、4096個のサンプルの選択されたランダムなセグメントからそれぞれ計算された1、2、4、および8個のサブバンドを使用することができる。これにより、音声信号(104または16)のマルチ解像度敵対的評価を時間領域および周波数領域の双方で行うことができる。
【0245】
【0246】
以下に、実験で使用されたモデルをリストアップする。
・ コピー合成およびテキスト読み上げにおけるターゲット実験にWaveNet
・ コピー合成およびテキスト読み上げにおけるターゲット実験にPWGAN
・ 客観的評価のコピー合成におけるターゲット実験にMelGAN
・ コピー合成におけるターゲット実験にWaveGlow
・ テキスト読み上げにおけるターゲット実験にTransformer.v3
【0247】
上記に挙げた事前学習済みのベースラインボコーダーモデルに対するStyleMelGANの客観的および主観的評価が行われた。聴取者が行ったP.800リスニングテストを介したオーディオTTS出力の主観品質が制御された環境で評価された。テストセットは、同じ話者によって録音され、LibriVoxオンラインコーパスからランダムに選択された未見の発声を含む。よって、モデルはロバストであり、学習データに主に依存しているわけではない。これらの発声は、わずかに異なる条件下で記録されていて、様々な韻律を呈しているため、モデルの一般化能力をテストするものである。元の発声はGriffinLimアルゴリズムを用いて再合成され、通常のアンカー条件の代わりに使用している。これにより、全評価尺度が使用しやすくなる。
【0248】
PESQやPOLQA等の古典的な客観的測定はニューラルボコーダーが生成した音声波形を評価するうえでは信頼できない。その代わり、条件付きフレシェディープ音声距離(cFDSD)が使用されている。以下の異なるニューラルボコーダーについてのcFDSDのスコアは、StyleMelGANが他のモデルを著しく上回っていることを示している。
・ MelGAN 学習cFDSD 0.235 実験cFDSD 0.227
・ PWGAN 学習cFDSD 0.122 実験cFDSD 0.101
・ WaveGlow 学習cFDSD 0.099 実験cFDSD 0.078
・ WaveNet 学習cFDSD 0.176 実験cFDSD 0.140
・ StyleMelGAN 学習cFDSD 0.044 実験cFDSD 0.068
【0249】
StyleMelGANは他の敵対的および非敵対的ボコーダーを上回っていることが見て取れる。
【0250】
15人の熟練した聴取者のグループによるMUSHRAリスニングテストが行われた。このタイプのテストが選択されたのは、生成された音声品質をより正確に評価できるからである。アンカーはGriffin-Limアルゴリズムを32回繰り返すPy-Torchの実装を用いて生成された。
図5はMUSHRAテストの結果を示している。StyleMelGANはおよそ15MUSHRAポイント他のボコーダーを大きく上回っていることが見て取れる。結果からは、WaveGlowはWaveNetと同等品質の出力を作り出しているが、パラレルWaveGANとは互角であることが見て取れる。
【0251】
オーディオTTSの主観品質は制御環境で31人の聴取者によって行われたP.800 ACRリスニングテストを通じて評価することができる。テストセットの翻音のメルスペクトルグラムを生成するため、ESPNETのTransformer.v3モデルを使用することができる。全評価尺度がより使いやすくなるため、同じGriffin-Limのアンカーを追加することもできる。
【0252】
以下の異なるTTSシステムに対するP800平均オピニオン評点(MOS)は、StyleMelGANが明らかに他のモデルを上回っているという同じ知見を示している。
・ GriffinLim P800MOS:1.33+/-0.04
・ Transformer+パラレルWaveGAN P800MOS:3.19+/-0.07
・ Transformer+WaveNet P800MOS:3.82+/-0.07
・ Transformer+StyleMelGAN P800MOS:4.00+/-0.07
・ 録音 P800MOS:4.29+/-0.06
【0253】
以下は、異なるパラレルボコーダーモデルの実時間係数(RTF)での生成速度とパラメータ数を示す。StyleMelGANは生成品質と推論速度との間で明確な妥協を呈している。
【0254】
以下に、検討している種々のモデルについて、CPU(例えばIntel Core i7-6700 3.40 GHz)およびGPU(例えばNvidia GeForce GTX1060)における生成のパラメータ数と実時間係数を示す。
・ パラレルWaveGAN パラメータ:1.44M、CPU:0.8x、GPU:17x
・ MelGAN パラメータ:4.26M、CPU:7x、GPU:110x
・ StyleMelGAN パラメータ:3.86M、CPU:2.6x、GPU:54x
・ WaveGlow パラメータ:80M、-、GPU:5x
【0255】
最後に、
図5はMUSHRAエキスパートリスニングテストの結果を示している。StyleMelGANは最新モデルを上回っていることが見て取れる。
【0256】
結論
本稿はハイファイ音声合成のための軽量且つ効率的な敵対的ボコーダーであるStyleMelGANを紹介するものである。このモデルは単に第1のレイヤにコンディショニングを供給する代わりに、すべての生成レイヤに十分かつ正確なコンディショニングを配布するために時間適応型正規化(TADE:temporal adaptive normalization)を使用する。敵対的学習のために、生成器は時間領域と周波数領域の双方で音声信号のマルチスケール表現を提供するフィルタバンクランダムウィンドウ識別器と競合する。StyleMelGANは実時間よりも早いマグニチュードの規模でCPUとGPUの双方で動作する。実験の客観的および主観的結果は、StyleMelGANは先行する敵対的ボコーダー並びに自己回帰ボコーダー、流ベースボコーダーおよび拡散ベースボコーダーを著しく上回り、ニューラル波形生成の新しい最高水準のベースラインをもたらしていることが示されている。
【0257】
最後に、本明細書に記載の実施形態は、本明細書に記載の任意の重要ポイントまたは様態によって随意に捕捉することができる。ただし、本明細書に記載の重要ポイントおよび様態は、個別にまたは組み合わせて使用することができ、また本明細書に記載の任意の実施形態に個別にまたは組み合わせて組み入れることができることが指摘される。
【0258】
一部の様態は装置の文脈で記載されているが、これらの様態は対応する方法の記載をも示すことは明らかであり、装置またはその一部は方法工程または方法工程の特徴に対応する。同様に、方法工程の文脈で記載された様態は対応する装置または装置の一部または対応する装置のアイテムまたは特性も示す。方法工程の一部または全部は、例えばマイクロプロセッサ、プログラマブルなコンピュータまたは電子回路等、ハードウェア装置によって(または使って)実行することができる。一部の実施形態においては、1つ以上の最重要方法工程がこのような装置によって実行されることがある。
【0259】
一部の実装要件に応じて、本発明の実施形態はハードウェアまたはソフトウェアで実装されることがある。実装は例えば電子的に可読な制御信号が格納され、それぞれの方法が実行されるようにプログラマブルなコンピュータシステムと協働する(または協働することが可能な)フロッピーディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリ等のデジタル記憶媒体を使用して実行することができる。したがって、デジタル記憶媒体はコンピュータ可読であり得る。
【0260】
本発明にかかる一部の実施形態は、プログラマブルなコンピュータシステムと協働して本明細書に記載の方法の1つが実行されるようにすることができる、電子的に可読な制御信号を備えるデータキャリアを含む。
【0261】
概して、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装されることがあり、プログラムコードはコンピュータプログラム製品がコンピュータ上で実行されると、方法の1つを実行するように動作する。プログラムコードは例えば機械可読キャリアに記憶されていることがある。
【0262】
他の実施形態は、機械可読なキャリアに記憶された、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを含む。
【0263】
言い換えれば、本願発明の方法の実施形態は、従って、コンピュータプログラムがコンピュータで実行されたときに本明細書に記載の方法の1つを実行するためのプログラムコードを備えたコンピュータプログラムである。
【0264】
本願発明の別の実施形態は、従って、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを記録して含む、データキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体または記録媒体は典型的に有形で、非一時的である。
【0265】
本願発明の別の実施形態は、したがって、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えばデータ通信接続、例えばインターネットを介して伝送されるように構成されていてもよい。
【0266】
別の実施形態は、本明細書に記載の方法の1つを実行するように構成または適合された、コンピュータまたはプログラマブルな論理デバイス等の処理手段を含む。
【0267】
別の実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
【0268】
本発明にかかる別の実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを受信器に(例えば電子的または工学的に)伝送するように構成された装置またはシステムを含む。受信器は例えばコンピュータ、モバイルデバイス、メモリデバイス等であり得る。装置またはシステムは、例えばコンピュータプログラムを受信器に伝送するためのファイルサーバを含むことがある。
【0269】
一部の実施形態では、本明細書に記載の方法の機能の一部または全部を実行するためにプログラマブルな論理デバイス(例えばフィールドプログラマブルゲートアレイ)が使用されることがある。一部の実施形態では、フィールドプログラマブルゲートアレイは本明細書に記載の方法の1つを実行するためにマイクロプロセッサと協働することがある。該して、方法は好ましくは任意のハードウェア装置によって実行される。
【0270】
本明細書に記載の装置はハードウェア装置を用いて、またはコンピュータを用いて、またはハードウェア装置とコンピュータの組み合わせを用いて実装されることがある。本明細書に記載の装置または本明細書に記載の装置の任意のコンポーネントは、少なくとも部分的にハードウェアおよび/またはソフトウェアで実装されることがある。本明細書に記載の方法は、ハードウェア装置を用いて、またはコンピュータを用いて、またはハードウェア装置とコンピュータの組み合わせを用いて実行されることがある。本明細書に記載の方法または本明細書に記載の方法の任意の一部は、少なくとも部分的にハードウェアおよび/またはソフトウェアで実行されることがある。
【0271】
上記の実施形態は本発明の原則を単に例証するものである。本明細書に記載の構成および細目の修正および改変は、当業者には自明と理解されるものとする。したがって、本願特許請求の範囲によって限定され、本明細書に記載の実施例の記載および説明によって示される具体的な細目によって限定されないものとする。
【0272】
先行技術文献
A. van den Oord, S. Dieleman, H. Zen, K. Simonyan, et al., "WaveNet: A Generative Model for Raw Audio," arXiv:1609.03499, 2016.
R. Prenger, R. Valle, and B. Catanzaro, "Waveglow: A Flow-based Generative Network for Speech Synthesis," in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019, pp. 3617?3621.
S. Mehri, K. Kumar, I. Gulrajani, R. Kumar, et al., "SampleRNN: An Unconditional End-to-End Neural Audio Generation Model," arXiv:1612.07837, 2016.
N. Kalchbrenner, E. Elsen, K. Simonyan, S. Noury, et al., "Efficient neural audio synthesis," arXiv:1802.08435, 2018.
A. van den Oord, Y. Li, I. Babuschkin, K. Simonyan, et al., "Parallel WaveNet: Fast High-Fidelity Speech Synthesis," in Proceedings of the 35th ICML, 2018, pp. 3918?3926.
J. Valin and J. Skoglund, "LPCNET: Improving Neural Speech Synthesis through Linear Prediction," in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019, pp. 5891?5895.
K. Kumar, R. Kumar, de T. Boissiere, L. Gestin, et al., "MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis," in Advances in NeurIPS 32, pp. 14910?14921. 2019.
R. Yamamoto, E. Song, and J. Kim, "Parallel Wavegan: A Fast Waveform Generation Model Based on Generative Adversarial Networks with Multi-Resolution Spectrogram," in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2020, pp. 6199?6203.
M. Bin´kowski, J. Donahue, S. Dieleman, A. Clark, et al., "High Fidelity Speech Synthesis with Adversarial Networks," arXiv:1909.11646, 2019.
T. Park, M. Y. Liu, T. C. Wang, and J. Y. Zhu, "Se-mantic Image Synthesis With Spatially-Adaptive Normalization," in Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.
P. Govalkar, J. Fischer, F. Zalkow, and C. Dittmar, "A Comparison of Recent Neural Vo-coders for Speech Signal Reconstruction," in Proceedings of the ISCA Speech Synthesis Workshop, 2019, pp. 7?12.
I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, et al., "Generative Adversarial Nets," in Advances in NeurIPS 27, pp. 2672?2680. 2014.
C. Donahue, J. McAuley, and M. Puckette, "Adversarial Audio Synthesis," arXiv:1802.04208, 2018.
J. Engel, K. K. Agrawal, S. Chen, I. Gulrajani, et al., "GANSynth: Adversarial Neural Au-dio Synthesis," arXiv:1902.08710, 2019.
G. Yang, S. Yang, K. Liu, P. Fang, et al., "Multiband MelGAN: Faster Waveform Generation for High-Quality Text-to-Speech," arXiv:2005.05106, 2020.
J. Yang, J. Lee, Y. Kim, H. Cho, and I. Kim, "VocGAN: A High-Fidelity Real-time Vocoder with a Hierarchically-nested Adversarial Network," arXiv:2007.15256, 2020.
Jungil Kong, Jaehyeon Kim, and Jaekyoung Bae, "Hifi-gan: Generative adversarial net-works for efficient and high fidelity speech synthesis," arXiv preprint arXiv:2010.05646, 2020.
D. Ulyanov, A. Vedaldi, and V. Lempitsky, "Instance normalization: The missing ingredient for fast stylization," arXiv:1607.08022, 2016.
A. Mustafa, A. Biswas, C. Bergler, J. Schottenhamml, and A. Maier, "Analysis by Adversarial Synthesis - A Novel Approach for Speech Vocoding," in Proc. Inter-speech, 2019, pp. 191?195.
T. Q. Nguyen, "Near-perfect-reconstruction pseudo-QMF banks," IEEE Transactions on Signal Processing, vol. 42, no. 1, pp. 65?76, 1994.
T. Salimans and D. P. Kingma, "Weight normalization: A simple reparameterization to accelerate training of deep neural networks," in Advances in NeurIPS, 2016, pp. 901?909.
K. Ito and L. Johnson, "The LJ Speech Dataset," https://keithito.com/LJ-Speech-Dataset/, 2017.
D. P. Kingma and J. Ba, "Adam: A method for stochastic optimization," arXiv:1412.6980, 2014.
T. Hayashi, R. Yamamoto, K. Inoue, T. Yoshimura, et al., "Espnet-tts: Unified, reproducible, and integratable open source end-to-end text-to-speech toolkit," in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020, pp. 7654?7658.
A. Gritsenko, T. Salimans, R. van den Berg, J. Snoek, and N. Kalchbrenner, "A Spectral Energy Distance for Parallel Speech Synthesis," arXiv:2008.01160, 2020.
“P.800: Methods for subjective determination of transmission quality," Standard, International Telecommunication Union, 1996.
【手続補正書】
【提出日】2023-06-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
入力信号(14)およびターゲットデータ(12)からオーディオ信号(16)を生成するように構成されたオーディオ生成器(10)であって、前記ターゲットデータ(12)は前記オーディオ信号(16)を表し、
前記入力信号(14)から導出された第1のデータ(15,59a)を受信し、第1の出力データ(69)を出力するように構成された第1の処理ブロック(40,50,50a~50h)であって、前記第1の出力データ(69)は複数のチャネル(47)を備える、第1の処理ブロック(40,50,50a~50h)と、
前記第1の出力データ(69)または前記第1の出力データ(69)から導出されたデータを第2のデータとして受信するように構成された第2の処理ブロック(45)と
を備えるオーディオ生成器(10)であって、
前記第1の処理ブロック(50)は前記第1の出力データの各チャネルについて、
前記ターゲットデータ(12)を処理してコンディショニング特性パラメータ(74,75)を取得するように構成された学習可能レイヤのコンディショニングセット(71,72,73)であって、前記ターゲットデータ(12)はテキストから導出される、学習可能レイヤのコンディショニングセット(71,72,73)と、
前記コンディショニング特性パラメータ(74,75)を前記第1のデータ(15,59a)または前記第1のデータを正規化したもの(59,76’)に適用するように構成されたスタイル付与要素(77)と
を備え、
前記第2の処理ブロック(45)は前記第2のデータ(69)の前記複数のチャネル(47)を結合して前記オーディオ信号(16)を取得するように構成される、
オーディオ生成器。
【請求項2】
前記ターゲットデータ(12)はスペクトログラムである、請求項1に記載のオーディオ生成器。
【請求項3】
前記ターゲットデータ(12)はメルスペクトログラムである、請求項1または請求項2に記載のオーディオ生成器。
【請求項4】
前記ターゲットデータ(12)は、ログスペクトログラム、MFCC、メルスペクトログラムまたはテキストから取得されたその他のタイプのスペクトログラムのうちの少なくとも1つの音響特性を備える、請求項1ないし請求項3のいずれか1項に記載のオーディオ生成器。
【請求項5】
テキストまたはテキスト要素の形式の入力を前記少なくとも1つの音響特性に変換(1110)することによって前記ターゲットデータ(12)を取得するように構成される、請求項1ないし請求項4のいずれか1項に記載のオーディオ生成器。
【請求項6】
少なくとも1つ言語特性を前記少なくとも1つの音響特性に変換(1114)することによって前記ターゲットデータ(12)を取得するように構成される、請求項1ないし請求項5のいずれか1項に記載のオーディオ生成器。
【請求項7】
前記ターゲットデータ(12)は、テキストから取得した音素、語韻律、イントネーション、文章の区切り、有声休止のうちの少なくとも1つの言語特性を備える、請求項1ないし請求項6のいずれか1項に記載のオーディオ生成器。
【請求項8】
テキストまたはテキスト要素の形式の入力を前記少なくとも1つの言語特性に変換(1110)することによって前記ターゲットデータ(12)を取得するように構成される、請求項7に記載のオーディオ生成器。
【請求項9】
前記ターゲットデータ(12)は、テキストから取得した文字および単語のうちの少なくとも1つを含む、請求項1ないし請求項8のいずれか1項に記載のオーディオ生成器。
【請求項10】
前記ターゲットデータ(12)は、テキスト解析を行う、および/または音響モデルを使用する統計モデルを使用してテキスト(112)から導出される、請求項1ないし請求項9のいずれか1項に記載のオーディオ生成器。
【請求項11】
前記ターゲットデータ(12)は、テキスト解析を行う、および/または音響モデルを使用する学習可能モデルを使用してテキスト(112)から導出される、請求項1ないし請求項10のいずれか1項に記載のオーディオ生成器。
【請求項12】
前記ターゲットデータ(12)は、テキスト解析を行うルールベースアルゴリズム、および/または音響モデルを使用してテキスト(112)から導出される、請求項1ないし請求項11のいずれか1項に記載のオーディオ生成器。
【請求項13】
少なくとも1つの決定的レイヤを通して前記ターゲットデータを導出するように構成される、請求項1ないし請求項12のいずれか1項に記載のオーディオ生成器。
【請求項14】
少なくとも1つの学習可能レイヤを通して前記ターゲットデータを導出するように構成される、請求項1ないし請求項13のいずれか1項に記載のオーディオ生成器。
【請求項15】
前記学習可能レイヤのコンディショニングセットは、少なくとも2つの畳み込みレイヤ(71~73)から成る、請求項1ないし請求項14のいずれか1項に記載のオーディオ生成器。
【請求項16】
第1の畳み込みレイヤ(71~73)は、前記ターゲットデータ(12)または前記ターゲットデータをアップサンプリングしたものを畳み込んで、第1の活性化関数を使用して第1の畳み込み済みデータ(71’)を取得するように構成される、請求項15に記載のオーディオ生成器。
【請求項17】
前記学習可能レイヤのコンディショニングセット(71~73)および前記スタイル付与要素(77)は、1つ以上の残差ブロック(50,50a~50h)を備えるニューラルネットワークの残差ブロック(50,50a~50h)内の加重レイヤの一部である、請求項1ないし請求項16のいずれか1項に記載のオーディオ生成器。
【請求項18】
前記オーディオ生成器(10)は、前記第1のデータ(59a,15)を正規化するように構成された正規化要素(76)をさらに備える、請求項1ないし請求項17のいずれか1項に記載のオーディオ生成器。
【請求項19】
前記オーディオ信号(16)は音声オーディオ信号である、請求項1ないし請求項18のいずれか1項に記載のオーディオ生成器。
【請求項20】
前記ターゲットデータ(12)は少なくとも係数2でアップサンプリングされる、請求項1ないし請求項19のいずれか1項に記載のオーディオ生成器。
【請求項21】
前記ターゲットデータ(12)は非線形補間でアップサンプリング(70)される、請求項20に記載のオーディオ生成器。
【請求項22】
前記第1の活性化関数はリーキー整流化線形ユニット(リーキーReLu)関数である、請求項16または請求項16に従属する請求項17ないし請求項21のいずれか1項に記載のオーディオ生成器。
【請求項23】
畳み込み動作(61a,61b,62a,62b)は最大膨張率2で実行される、請求項1ないし請求項22のいずれか1項に記載のオーディオ生成器。
【請求項24】
8つの第1の処理ブロック(50a~50h)と1つの第2の処理ブロック(45)を備える、請求項1ないし請求項23のいずれか1項に記載のオーディオ生成器。
【請求項25】
前記第1のデータ(15,59,59a,59b)の次元が前記オーディオ信号よりも低い、請求項1ないし請求項24のいずれか1項に記載のオーディオ生成器。
【請求項26】
入力信号(14)およびターゲットデータ(12)からオーディオ生成器(10)によってオーディオ信号(16)を生成するための方法であって、前記ターゲットデータ(12)は前記オーディオ信号(16)を表し且つテキストから導出される、方法であって、
第1の処理ブロック(50,50a~50h)によって、前記入力信号(14)から導出された第1のデータ(15,59,59a,59b)を受信するステップと、
前記第1の出力データ(59b,69)の各チャネルについて、
前記第1の処理ブロック(50)の学習可能レイヤのコンディショニングセット(71,72,73)によって前記ターゲットデータ(12)を処理してコンディショニング特性パラメータ(74,75)を取得するステップと、
前記第1の処理ブロック(50)のスタイル付与要素(77)によって、前記コンディショニング特性パラメータ(74,75)を前記第1のデータ(15,59a)または前記第1のデータを正規化したもの(76’)に適用するステップと、
前記第1の処理ブロック(50)によって、複数のチャネル(47)を含む第1の出力データ(69)を出力するステップと、
第2の処理ブロック(45)によって前記第1の出力データ(69)または前記第1の出力データ(69)から導出されたデータを第2のデータとして受信するステップと、
前記第2の処理ブロック(45)によって、前記第2のデータの前記複数のチャネル(47)を結合して前記オーディオ信号(16)を取得するステップと、
を含む方法。
【請求項27】
前記ターゲットデータ(12)は、ログスペクトログラム、MFCC、メルスペクトログラムまたはテキストから取得されたその他のタイプのスペクトログラムのうちの少なくとも1つの音響特性を備える、請求項26に記載のオーディオ信号を生成するための方法。
【請求項28】
テキストまたはテキスト要素の形式の入力を前記少なくとも1つの音響特性に変換(1110)することによって前記ターゲットデータ(12)を取得するステップを含む、請求項26または請求項27に記載のオーディオ信号を生成するための方法。
【請求項29】
少なくとも1つ言語特性を前記少なくとも1つの音響特性に変換(1114)することによって前記ターゲットデータ(12)を取得するステップを含む、請求項26ないし請求項28のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項30】
前記ターゲットデータ(12)は、テキストから取得した音素、語韻律、イントネーション、文章の区切り、有声休止のうちの少なくとも1つの言語特性を備える、請求項26ないし請求項29のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項31】
テキストまたはテキスト要素の形式の入力を前記少なくとも1つの言語特性に変換(1110)することによって前記ターゲットデータ(12)を取得するステップを含む、請求項30に記載のオーディオ信号を生成するための方法。
【請求項32】
前記ターゲットデータ(12)は、テキストから取得した文字および単語のうちの少なくとも1つを含む、請求項26ないし請求項31のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項33】
テキスト解析を行う、および/または音響モデルを使用する統計モデルを使用してターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項32のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項34】
テキスト解析を行う、および/または音響モデルを使用する学習可能モデルを使用してターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項33のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項35】
テキスト解析を行うルールベースアルゴリズム、および/または音響モデルを使用してターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項34のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項36】
少なくとも1つの決定的レイヤを通して前記ターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項35のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項37】
少なくとも1つの学習可能レイヤを通して前記ターゲットデータ(12)を導出するステップをさらに含む、請求項26ないし請求項35のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項38】
前記学習可能レイヤのコンディショニングセット(71~73)は、1つまたは2つの畳み込みレイヤから成る、請求項26ないし請求項37のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項39】
前記学習可能レイヤのコンディショニングセット(71~73)によって処理するステップは、第1の畳み込みレイヤ(71)によって、前記ターゲットデータ(12)または前記ターゲットデータをアップサンプリングしたものを畳み込んで、第1の活性化関数を使用して第1の畳み込み済みデータ(71’)を取得するステップを含む、請求項38に記載のオーディオ信号を生成するための方法。
【請求項40】
前記学習可能レイヤのコンディショニングセット(71~73)および前記スタイル付与要素(77)は、1つ以上の残差ブロック(50,50a~50h)を備えるニューラルネットワークの残差ブロック(50,50a~50h)内の加重レイヤの一部である、請求項26ないし請求項39のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項41】
前記方法は、前記第1のデータ(15,59)を正規化要素(76)によって正規化するステップをさらに含む、請求項26ないし請求項40のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項42】
前記オーディオ信号(16)は音声オーディオ信号である、請求項26ないし請求項41のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項43】
前記ターゲットデータ(12)は係数2でアップサンプリング(70)される、請求項26ないし請求項42のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項44】
前記ターゲットデータ(12)は非線形補間でアップサンプリング(70)される、請求項26ないし請求項43のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項45】
前記第1の活性化関数はリーキー整流化線形ユニット(リーキーReLu)関数である、請求項26ないし請求項44のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項46】
畳み込み動作(61a,61b,62a,62b)は最大膨張率2で実行される、請求項26ないし請求項45のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項47】
前記第1の処理ブロック(50,50a~50h)の工程を8回繰り返し、前記第2の処理ブロック(45)の工程を1回だけ行うステップを含む、請求項26ないし請求項46のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項48】
前記第1のデータ(15,59)の次元が前記オーディオ信号よりも低い、請求項26ないし請求項47のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項49】
前記ターゲットデータをテキストから導出するステップをさらに含む、請求項26ないし請求項48のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項50】
前記ターゲットデータ(12)はスペクトログラムである、請求項26ないし請求項49のいずれか1項に記載のオーディオ信号を生成するための方法。
【請求項51】
前記スペクトログラムはメルスペクトログラムである、請求項50に記載の方法。
【請求項52】
数理モデルを含むオーディオ信号(16)を生成する方法であって、前記数理モデルは生成する前記オーディオ信号(16)を表す入力シーケンス(12)から所与の時間ステップにオーディオサンプルを出力するように構成され、
前記数理モデルは入力された代表シーケンス(12)を使用して前記出力オーディオサンプルを作り出すためにノイズベクトル(14)を整形するように構成され、
前記入力された代表シーケンスはテキストから導出される、
方法。
【請求項53】
コンピュータで実行されると、コンピュータに請求項26ないし請求項52のいずれかに記載の方法を実行させる命令を格納した、非一時的記憶ユニット。
【国際調査報告】