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

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

▶ ドルビー ラボラトリーズ ライセンシング コーポレイションの特許一覧

特許7604460ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法
<>
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図1
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図2
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図3
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図4A
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図4B
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図4C
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図5
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図6
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図7
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図8
  • 特許-ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-13
(45)【発行日】2024-12-23
(54)【発明の名称】ヒト話者の埋め込みを会話合成に適合させるためのシステムおよび方法
(51)【国際特許分類】
   G10L 13/06 20130101AFI20241216BHJP
   G10L 21/013 20130101ALI20241216BHJP
【FI】
G10L13/06 120Z
G10L21/013
【請求項の数】 19
(21)【出願番号】P 2022510886
(86)(22)【出願日】2020-08-18
(65)【公表番号】
(43)【公表日】2022-10-24
(86)【国際出願番号】 US2020046723
(87)【国際公開番号】W WO2021034786
(87)【国際公開日】2021-02-25
【審査請求日】2023-08-16
(31)【優先権主張番号】62/889,675
(32)【優先日】2019-08-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/023,673
(32)【優先日】2020-05-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジョウ,ツオーン
(72)【発明者】
【氏名】リウ,シヤオユイ
(72)【発明者】
【氏名】ホーガン,マイケル ゲッティ
(72)【発明者】
【氏名】クマール,ヴィヴェーク
【審査官】大野 弘
(56)【参考文献】
【文献】米国特許出願公開第2019/0251952(US,A1)
【文献】特開2017-167273(JP,A)
【文献】特開2007-178686(JP,A)
【文献】Yuxuan Wang et al.,Control and Transfer in End-to-End Speech Synthesis,arXiv,[検索日2024.07.11],[online],2018年03月23日,Style Tokens:Unsupervised Style Modeling,インターネット<URL:https://arxiv.org/pdf/1803.09017.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10
G10L 21/00-21/18
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
ターゲットスタイルの音声を合成する方法であって、
入力として少なくとも1つの波形を受信するステップであって、各波形は前記ターゲットスタイルの発話に対応する、ステップと、
前記少なくとも1つの波形の特徴を抽出して、少なくとも1つの埋め込みベクトルを生成するステップと、
前記少なくとも1つの埋め込みベクトルをクラスター化して、少なくとも1つのクラスターを生成するステップであって、各クラスターは重心を有する、ステップと、
前記少なくとも1つのクラスターのうちのクラスターの前記重心を決定するステップと、
前記クラスターの前記重心を、音声合成器のための初期埋め込みベクトルとして指定するステップと、
前記少なくとも前記初期埋め込みベクトルに基づいて前記音声合成器を適合させ、それによって、前記ターゲットスタイルの合成音声を生成するステップと、
を含む方法。
【請求項2】
前記少なくとも1つの波形を前処理して、非言語音および無音を除去するステップ、をさらに含む請求項1に記載の方法。
【請求項3】
各クラスターが、その重心からの閾値距離を有し、前記適合させるステップが、前記閾値距離における前記ターゲットスタイルの少なくとも1つの埋め込みベクトルに基づいて微調整するステップをさらに含む、請求項1または2に記載の方法。
【請求項4】
前記音声合成器がニューラルネットワークである、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記特徴を抽出することは、前記少なくとも1つの波形のウィンドウサンプルから抽出されたサンプル埋め込みベクトルを組み合わせて、前記波形の埋め込みベクトルを生成することをさらに含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記組み合わせることは、前記サンプル埋め込みベクトルを平均化することを含む、請求項5に記載の方法。
【請求項7】
前記入力がフィルムまたはビデオソースからのものである、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記ターゲットスタイルは、ターゲットパーソンの発話スタイルを含む、請求項1~7のいずれか一項に記載の方法。
【請求項9】
前記ターゲットスタイルが、年齢、アクセント、感情、および行動的役割のうちの少なくとも1つをさらに含む、請求項8に記載の方法。
【請求項10】
前記ターゲットパーソンが俳優であり、前記ターゲットスタイルが、現在の年齢よりも若い年齢の前記ターゲットパーソンである、請求項8に記載の方法。
【請求項11】
前記入力としてさらなる波形を受信するステップであって、さらなる波形のそれぞれは、前記ターゲットスタイルとは異なる第2スタイルの発話に対応する、ステップと、
前記さらなる波形の特徴を抽出して、少なくとも第2埋め込みベクトルを生成するステップと、
をさらに含み、前記クラスター化は、前記第2埋め込みベクトルに対するクラスター化をさらに含む、請求項1~10のいずれかに記載の方法。
【請求項12】
前記クラスター化の前に、クラスターの期待数を決定することをさらに含み、前記クラスター化は、前記期待数のクラスターに基づく、請求項11に記載の方法。
【請求項13】
クラスターの期待数を決定することは、前記入力の統計分析を使用する、請求項12に記載の方法。
【請求項14】
ターゲットスタイルの音声を合成する方法であって、
少なくとも1つの波形を入力として受信するステップであって、各波形は前記ターゲットスタイルの発話に対応する、ステップと、
前記少なくとも1つの波形上の特徴を抽出して、少なくとも1つの埋め込みベクトルを生成するステップと、
前記少なくとも1つの埋め込みベクトルのうちの埋め込みベクトル上のベクトル距離を計算して、複数の既知の埋め込みベクトルのそれぞれへの埋め込みベクトル距離を決定するステップと、
前記既知の埋め込みベクトルのうち、前記埋め込みベクトルから最も短い距離を有する既知の埋め込みベクトルを決定するステップと、
前記既知の埋め込みベクトルを、音声合成器のための初期埋め込みベクトルとして指定するステップと、
前記初期埋め込みベクトルに基づいて前記音声合成器を適応させるステップと、
適応された前記音声合成器により前記ターゲットスタイルの音声を合成するステップと、
を含む方法。
【請求項15】
ターゲットスタイルの音声を合成する方法であって、
少なくとも1つの波形を入力として受信するステップであって、各波形は前記ターゲットスタイルにおける発話に対応する、ステップと、
前記少なくとも1つの波形の特徴を抽出して、少なくとも1つの埋め込みベクトルを生成するステップと、
前記少なくとも1つの埋め込みベクトルのうちの埋め込みベクトルに対して音声識別システムを使用して、前記埋め込みベクトルに最も近いものとして前記音声識別システムによって識別される音声に対応する既知の埋め込みベクトルを生成するステップと、
前記既知の埋め込みベクトルを、音声合成器のための初期埋め込みベクトルとして指定するステップと、
前記初期埋め込みベクトルに基づいて前記音声合成器を適応させるステップと、
適応された前記音声合成器により前記ターゲットスタイルの音声を合成するステップと、
を含む方法。
【請求項16】
前記音声識別システムは、ニューラルネットワークである、請求項15に記載の方法。
【請求項17】
前記初期埋め込みベクトルにより音声合成器テーブルを更新するステップ、をさらに含む請求項1~16のいずれかに記載の方法。
【請求項18】
請求項1~16のいずれか一項に記載の方法をコンピュータ上で実行するように構成されたコンピュータプログラム
【請求項19】
請求項1~16のいずれかに記載の方法を実行するように構成された装置。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本出願は、2019年8月21日に出願された米国仮特許出願第62/889,675号および2020年5月12日に出願された米国仮特許出願第63/023,673号の優先権を主張するものであり、それぞれの出願は、その全体が参照により本明細書に組み込まれている。
【0002】
[技術分野]
本開示は、オーディオ信号の処理のための改良に関する。特に、本開示は、音声スタイル転送実装のためのオーディオ信号の処理に関する。
【背景技術】
【0003】
音声スタイルの転送、すなわち音声クローニングは、たとえば別の話者からの音声波形またはテキストからの音声波形など、その話者からの入力以外の入力を使用して、特定の同定された話者のように音声を合成するようにトレーニングされた深層学習ニューラルネットワークモデルによって達成することができる。そのようなシステムの例は、音声変換のためのSampleRNN生成モデル(たとえば、Cong Zhou, Michael Horgan, Vivek Kumar, Cristina Vasco, and Dan Darcy, Voice Conversion with Conditional SampleRNN", Proc. Interspeech 2018, 2018, pp.1973-1977参照)のような、リカレントニューラルネットワークである。各話者の音声スタイルを合成するためにモデルを再構築(適合)する必要があるので、新しい音声スタイルのための埋め込みベクトルを初期化することは効率的な収束のために重要である。
【0004】
音声合成開発で使用されるトレーニングデータセットは、主に、一貫した話し方と、オーディオブックを読む人々などの各話者についての同様の記録条件を有するクリーンなデータである。実際の音声データの使用(たとえば、映画や他のメディアソースからのサンプル採取)は、きれいな音声の量が限られていること、さまざまな録音チャネルの効果があること、音源には、異なる感情や異なる演技役割を含む、単一の話者に対するさまざまな発話スタイルがある可能性があることから、はるかに困難である。従って、現実のデータにより音声合成器を構築することは困難である。
【発明の概要】
【0005】
種々のオーディオ処理システムおよび方法が、本明細書に開示される。そのようなシステムおよび方法の中には、音声合成のトレーニングを含むものがある。方法は、いくつかの実施形態において、コンピュータに実装されてもよい。たとえば、本方法は、少なくとも部分的に、1つ以上のプロセッサおよび1つ以上の非一時記憶媒体を含む制御システムを介して実施することができる。
【0006】
いくつかの例では、実際の音声データを用いて新しい話者のために音声クローニング合成器を適応させるためのシステムおよび方法が記載されており、これには、全てのデータをビット毎に手作業でラベル付けするという困難なタスクを伴わずに、所与の話者の異なる話者スタイルのための埋め込みデータを作成することが含まれる。音声合成器のための埋め込みベクトルを初期化するための改善された方法も開示され、音声合成モデルのより速い収束を提供する。
【0007】
いくつかのそのような例では、方法は、
入力として複数の波形を受信するステップであって、各波形は前記ターゲットスタイルの発話に対応する、ステップと、
前記複数の波形の特徴を抽出して、複数の埋め込みベクトルを生成するステップと、
前記複数の埋め込みベクトルをクラスター化して、少なくとも1つのクラスターを生成するステップであって、各クラスターは重心を有する、ステップと、
前記少なくとも1つのクラスターのうちのクラスターの前記重心を決定するステップと、 前記クラスターの前記重心を、音声合成器のための初期埋め込みベクトルとして指定するステップと、
前記少なくとも前記初期埋め込みベクトルに基づいて前記音声合成器を適合させ、それによって、前記ターゲットスタイルの合成音声を生成するステップと、
を含んでよい。
【0008】
いくつかの実装によると、前記方法の少なくともいくつかの動作は、少なくとも1つの非一時的記憶媒体位置の物理状態を変更するステップを含んでよい。たとえば、前記初期埋め込みベクトルにより、音声合成器テーブルを更新する。
【0009】
いくつかの例では、前記方法は、前記複数の波形を前処理して、非言語音および無音を除去するステップ、をさらに含む。いくつかの例では、各クラスターが、その重心からの閾値距離を有し、前記適合させるステップが、前記閾値距離における前記ターゲットスタイルの複数の埋め込みベクトルに基づいて微調整するステップをさらに含む。いくつかの例では、会話合成器はニューラルネットワークである。いくつかの例では、前記特徴を抽出することは、波形のウィンドウサンプルから抽出されたサンプル埋め込みベクトルを組み合わせて、前記波形の埋め込みベクトルを生成することをさらに含む。いくつかの例では、前記組み合わせることは、前記サンプル埋め込みベクトルを平均化することを含む。いくつかの例では、前記入力はフィルムまたはビデオソースからである。いくつかの例では、前記ターゲットスタイルは、ターゲットパーソンの発話スタイルを含む。いくつかの例では、前記ターゲットスタイルが、年齢、アクセント、感情、および行動的役割のうちの少なくとも1つをさらに含む。
【0010】
いくつかの例では、ターゲットスタイルの音声を合成する方法であって、
複数の波形を入力として受信するステップであって、各波形は前記ターゲットスタイルの発話に対応する、ステップと、
前記複数の波形上の特徴を抽出して、複数の埋め込みベクトルを生成するステップと、
前記複数の埋め込みベクトルのうちの埋め込みベクトル上のベクトル距離を計算して、複数の既知の埋め込みベクトルのそれぞれへの埋め込みベクトル距離を決定するステップと、
前記既知の埋め込みベクトルのうち、前記埋め込みベクトルから最も短い距離を有する既知の埋め込みベクトルを決定するステップと、
前記既知の埋め込みベクトルを、音声合成器のための初期埋め込みベクトルとして指定するステップと、
前記初期埋め込みベクトルに基づいて前記音声合成器を適応させるステップと、
前記適合された音声合成器により前記ターゲットスタイルの音声を合成するステップと、
を含む方法。
【0011】
いくつかの例では、方法は、
複数の波形を入力として受信するステップであって、各波形は前記ターゲットスタイルにおける発話に対応する、ステップと、
前記少なくとも1つの波形の特徴を抽出して、複数の埋め込みベクトルを生成するステップと、
前記複数の埋め込みベクトルのうちの埋め込みベクトルに対して音声識別システムを使用して、前記埋め込みベクトルに最も近いものとして前記音声識別システムによって識別される音声に対応する既知の埋め込みベクトルを生成するステップと、
前記既知の埋め込みベクトルを、音声合成器のための初期埋め込みベクトルとして指定するステップと、
前記初期埋め込みベクトルに基づいて前記音声合成器を適応させるステップと、
前記適応された音声合成器により前記ターゲットスタイルの音声を合成するステップと、
を含む方法。
【0012】
いくつかの例では、音声識別システムはニューラルネットワークである。
【0013】
本明細書に記載された方法の一部または全部は、1つまたは複数の非一時的媒体に記憶された命令(たとえば、ソフトウェア)に従って1つまたは複数の装置によって実行され得る。このような非一時的媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、等を含むがこれらに限定されない、本願明細書に記載のようなメモリ装置を含んでよい。従って、本開示に記載された主題の種々の革新的な態様は、ソフトウェアを格納した非一時的媒体で実施することができる。ソフトウェアは、たとえば、本願明細書に開示されるような、制御システムの1つ以上のコンポーネントにより実行可能であってよい。ソフトウェアは、たとえば、本願明細書に開示される方法のうちの1つ以上を実行するための命令を含んでよい。
【0014】
本開示の少なくともいくつかの態様は、装置または装置を介して実施することができる。たとえば、1つ以上の装置は、本願明細書に開示した方法を少なくとも部分的に実行するよう構成されてよい。いくつかの実装では、機器は、インターフェースシステムおよび制御システムを含んでよい。インターフェースシステムは、1つ以上のネットワークインターフェース、制御システムとメモリシステムとの間の1つ以上のインターフェース、制御システムと別のデバイスとの間の1つ以上のインターフェース、および/または1つ以上の外部デバイスインターフェースを含んでいてもよい。制御システムは、汎用シングルチップまたはマルチチッププロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、または個別ハードウェアコンポーネントのうちの少なくとも1つを含んでいてもよい。従って、いくつかの実装形態では、制御システムは、1つ以上のプロセッサと、1つ以上のプロセッサに動作可能に結合された1つ以上の非一時記憶媒体とを含んでいてもよい。
【0015】
本願明細書に記載の主題の1つ以上の実装の詳細は、添付の図面および以下の説明において説明される。他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになる。以下の図面の相対的寸法は縮尺通りに描かれないことがある。種々の図面における参照番号および呼称と同様に、一般に、種々の図面における参照番号および呼称は同様の要素を示すが、種々の参照番号は、種々の図面間における種々の要素を必ずしも示すものではない。
【図面の簡単な説明】
【0016】
図1】音声クローニングの方法の例を示す。
【0017】
図2】クラスタリングを使用することによって、音声クローニングのために埋め込みベクトルを初期化する方法の例を示す。
【0018】
図3】クラスター化に使用するクラスターの数を決定するための、音声ピッチデータのヒストグラムデータの例を示す。
【0019】
図4A】クラスタリング音声データの例示的な2-D投影を示す。
図4B】クラスタリング音声データの例示的な2-D投影を示す。
図4C】クラスタリング音声データの例示的な2-D投影を示す。
【0020】
図5】ベクトル距離計算を使用して音声クローニングのために埋め込みベクトルを初期化するための方法の例を示す。
【0021】
図6】音声ID機械学習を用いた音声クローニングのための埋め込みベクトルを初期化するための方法の一例を示す図である。
【0022】
図7】、サンプリングによる代表的な埋め込みベクトルの計算例を示す。
【0023】
図8】本開示の一実施形態による例示的な音声合成器方法を示す図である。
【0024】
図9】本明細書に記載される方法のハードウェア実装例を示す。
【発明を実施するための形態】
【0025】
本明細書で使用する音声「スタイル」とは、別のソースおよび/または別のコンテキストからそれを区別する波形パラメータの任意のグループを指す。「スタイル」の例には、異なる話者間の区別が含まれる。また、異なるコンテキストで話す単一話者の波形パラメータの差異を参照することもできる。異なる文脈には、たとえば、異なる年齢で話す話者(たとえば、10代の話者が話すときと、中年の話者が話すときでは異なって聞こえるので、それらは2つの異なるスタイルである)、異なる情動状態で話す話者(たとえば、怒りか悲しみか、冷静かなど)、異なるアクセントや言語で話す話者、異なるビジネスや社会的文脈で話す話者(たとえば、友人と話すか、家族と話すか、見知らぬ人と話すか)、異なる役割を演じるときに話す役者、または人の話す様式に影響を与える(したがって、一般に異なる音声波形パラメータを生成する)その他の状況の違いが含まれる。たとえば、英語のアクセントで話す人A、英語のアクセントで話す人B、カナダ語のアクセントで話す人Aは、3つの異なる「スタイル」と考えられる。
【0026】
本明細書で使用する「波形パラメータ」とは、オーディオ波形(デジタルまたはアナログ)から導出することができる定量可能な情報を指す。導出は、時間および/または周波数領域で行うことができる。例としては、ピッチ、振幅、ピッチ変動、振幅変動、位相調整、イントネーション、音素継続時間、音素シーケンスアラインメント、メルスケールピッチ、スペクトル、メルスケールスペクトルなどが挙げられる。また、パラメータの一部または全部は、特に理解されていない(たとえば、他の値の組み合わせ/変換)入力音声波形から導出された値であってもよい。実際には、波形パラメータは、直接測定されたパラメータおよび推定されたパラメータの両方を参照することができる。
【0027】
本明細書で使用される「発話」は、比較的短い音声のサンプルであり、典型的には、シナリオ(たとえば、数秒間にわたるフレーズ、文、または一連の文)からのダイアログのラインと同等である。
【0028】
本明細書で使用される「音声合成器」は、テキストまたは音声の入力を、そのモデルが学習した特定の品質で話したそのテキストまたは音声の出力に変換することができる機械学習モデルである。音声合成器は、出力スピーキングスタイルの特定の「アイデンティティ」に対して埋め込みベクトルを使用する。Chen, Y. et al, 「Sample efficiency adaptive text-to-speech」, International Conference on Learning Representations, 2019参照。
【0029】
図1は、初期化された埋め込みベクトルアプローチを使用する音声クローニングの例を示す。ターゲット音声スタイルの発話波形は、1つまたは複数のソース(105)から取得される。ソースの例には、映画/テレビ/ビデオクリップ、オーディオ録音、およびライブサンプリング/放送が含まれる。波形は、特徴抽出の前にフィルタリングして、ため息、沈黙、笑い、咳など、いくつかまたはすべての非言語成分を除去することができる。たとえば、音声活動検出器を使用して、非言語成分をトリミングすることができる。さらに、または代替として、ノイズ抑制アルゴリズムを使用して、バックグラウンドノイズを除去することができる。ノイズ抑制アルゴリズムは、減算式であってもよく、または計算論的聴覚情景分析computational auditory scene analysis(CASA)に基づいてもよく、または当技術分野で公知の同様の技術に基づいてもよい。追加または代替として、オーディオレベラを使用して、波形をフレーム単位で同じレベルに調整することができる。たとえば、オーディオレベラは、波形を-23dBに設定することができる。
【0030】
次いで、ターゲットソースからの波形は、各発話に対してベクトルが形成されるように、特徴抽出によっていくつかの波形パラメータにパラメータ化される(110)。パラメータの数は、音声合成器(135)の入力に依存し、任意の数(32、64、100、または500など)とすることができる。
【0031】
これらのベクトルは、埋め込みベクトルテーブル(125)に入るための初期化ベクトル(115)、すなわち、クローニングのための新しいモデルをトレーニングするために音声合成器(135)によって使用され得る全てのスタイルのリストを決定するために使用され得る。さらに、音声合成器(135)を微調整するためのチューニングデータ(120)として、ベクトルの一部または全部を使用することができる。音声合成器(135)は、ニューラルネットワークのような機械学習モデルを適用して、音声オーディオまたはテキストの形態で言語入力(130)を取り、ターゲットソース(105)のスタイルで合成音声の出力波形(140)を生成する。モデルの適応は、確率勾配降下を通してモデルと埋め込みベクトルを更新することによって行うことができる。
【0032】
パラメータ化の一例は、音素シーケンスアライメント推定である。これは、音声認識システム(Kaldi(商標)など)に基づく強制アライナー(Gentile(商標)など)を使用して行うことができる。これは、音声をMel周波数ケプストラム係数(Mel-frequency cepstral coefficient (MFCC))機能に変換し、辞書を介してテキストを既知の音素に変換する。次に、MFCC機能と音素との整列を行う。出力には、1)音素のシーケンス、および2)各音素のタイムスタンプ/継続時間が含まれる。音素および音素持続時間に基づいて、パラメータとして、音素持続時間および音素が話される頻度の統計を計算することができる。
【0033】
パラメータ化の別の例は、ピッチ推定、すなわちピッチ輪郭抽出である。これは、WORLDボコーダ(DIOおよびハーベストピッチトラッカ)またはCREPEニューラルネットピッチ推定器などのプログラムで行うことができる。たとえば、5msごとにピッチを抽出することができ、その結果、入力としての1s音声データごとに、ピッチの絶対値を表すシーケンス内の200個の浮動小数点を得ることができる。これらの浮動小数点の対数演算をとり、次に各ターゲット話者に対して正規化すると、絶対ピッチ値(たとえば200.0Hz)ではなく、約0.0の輪郭(たとえば「0.5」のような値)を生成することができる。WORLDピッチ推定器のようなシステムでは、高レベルの音声時間特性を使用する。まず、異なる遮断周波数を持つローパスフィルタを使用し、フィルタリングされた信号が基本周波数のみから成る場合、それは正弦波を形成し、この正弦波の周期に基づいて基本周波数を得ることができる。ゼロ交差およびピークディップ間隔を使用して、最良の基本周波数候補を選択することができる。輪郭はピッチ変動を示しているので、正規化された輪郭の分散を計算して、波形の変動の大きさを知ることができる。
【0034】
パラメータ化のもう一つの例は振幅導出である。これは、たとえば、波形のスペクトルを得るために、最初に波形の短時間フーリエ変換(STFT)を計算することによって行うことができる。Melフィルタをスペクトルに適用してメルスケールスペクトルを得ることができ、これを対数メルスケールスペクトルに変換することができる。絶対大きさおよび振幅分散のようなパラメータは、対数メルスケールスペクトルに基づいて計算することができる。
【0035】
いくつかの実施形態では、パラメータ化ステップ(110)は、話者からのデータをラベル付けすることを含む。これはソースに基づいているので、ラベル付けステップは、単品ごとではなく、データに対して一括して行うことができる。単一の話者にラベル付けされたデータには、複数のスタイルの話者が含まれている可能性があることに注意する。
【0036】
いくつかの実施形態では、パラメータ化(110)は、表現型抽出および入力波形との整列を含む。この処理の一例は、波形をテキスト(手動または自動音声認識システム)で表記し、次に辞書検索(たとえば、t2p Perlスクリプトを使用)によってテキストのシーケンスを音素のシーケンスに変換し、次に音素シーケンスを波形と整列させることである。タイムスタンプ(開始時刻と終了時刻)を各音素に関連付けることができる(たとえば、Montreal Forced Alignerを使用してオーディオをMFCC機能に変換し、MFCC機能と音素との整列を作成する)。これに対して、出力は、1)音素のシーケンス、2)各音素のタイムスタンプ/継続時間、を含む。
【0037】
図2~7は、本開示のさらなる実施形態を示す。そのようなさらなる実施形態の以下の説明は、そのような実施形態と、図1を参照して前述した実施形態との間の相違に焦点を当てる。したがって、図2図7の実施形態と図1の実施形態のうちの1つに共通する特徴は、以下の説明から省略することができる。もしそうであるならば、図1の実施形態の特徴は、以下の説明が別段の要求をしない限り、図2~7のさらなる実施形態において実施可能であるか、少なくとも実施可能であると仮定すべきである。
【0038】
一実施形態では、初期化は、クラスタリングによって実行することができる。図2は、クラスタリング方法の例示的方法を示す。図1について同様に説明するように、入力サンプル波形(205)は、特徴抽出によって、パラメータ化ベクトル(215)に直接エンコードされるか、または、それらは、まず、音声フィルタリングアルゴリズム(210)を介して送信され、次に、パラメータ化(215)される。入力は、複数の異なるスタイル(1つの話者または異なる話者からの複数のスタイル)を対象とすることができ、データは適切にラベル付けされる。ベクトル空間で見出されると期待されるクラスター数(220)を決定するために、入力に対して分析を行うことができる。
【0039】
いくつかの実施形態では、クラスターの数は、入力の統計分析を使用して決定され、入力データ中の異なるスタイルの数を表そうとする。いくつかの実施形態では、音素およびトリフォンの継続時間の統計(話者が話す速さを示す)、ピッチの分散の統計(話者がどのくらい音色を変化させているかを示す)、絶対音の大きさの統計(話者が話す速さを示す)が、話したスタイル(クラスター)の数を推定するための特徴として分析され、たとえば、各特徴シーケンスについて1つの平均および1つの分散を計算し、次に、すべての平均および分散を見て、そこに存在する平均/分散クラスターの数をおおよそ推定する。
【0040】
いくつかの実施形態では、クラスター数は、特定のデータについて、クラスター化アルゴリズムによって自動的に決定される。クラスター化アルゴリズム(225)は、入力のクラスターを見つけるためにデータ上で実行される。これは、たとえば、k平均またはガウス混合モデル(Gaussian mixture model (GMM))クラスタリングアルゴリズムであり得る。クラスターを同定し、各クラスターの重心を決定する(230)。セントロイドは、各クラスター/スタイルの初期化された埋め込みベクトルとして使用され、合成器(235)をそのスタイルのためにトレーニング/適合させる。対応する重心(クラスター空間内)からの対応するクラスター分散内のそのスタイルのためにラベル付けされた入力データは、合成器適応(235)のための微調整データ(240)として使用することができる。
【0041】
合成器適応(235)のいくつかの実施形態は、話者埋め込みベクトルのみを適応させる。たとえば、次のようにする。p(x|x1…t-1,emb,c,w)、ここでxは(時間tにおける)サンプル、x1…t-1はサンプル履歴、embは埋め込みベクトル、cは抽出されたコンディショニング特徴(たとえば、ピッチ輪郭、タイムスタンプ付きの音素シーケンスなど)を含むコンディショニング情報、wは条件付きSampleRNNの重みを表す。cとwを固定し、embに対して確率勾配降下のみを行う。トレーニングが収束したら、トレーニングを中止する。更新されたembは、話者ターゲット(新しい話者)に割り当てられる。
【0042】
合成器適応(235)のいくつかの実施形態では、話者埋め込みベクトルは、最初に適合され、次いで、モデル(すべてまたは一部)は、直接更新される。たとえば、次のようにする。p(x|x1…t-1,emb,c,w)、ここでxは(時間tにおける)サンプル、x1…t-1はサンプル履歴、embは埋め込みベクトル、cは抽出されたコンディショニング特徴(たとえば、ピッチ輪郭、タイムスタンプ付きの音素シーケンスなど)を含むコンディショニング情報、wは条件付きSampleRNNの重みを表す。cとwを固定し、embに対する確率勾配降下のみを行う。embのトレーニングが収束に達したら、wに対する確率勾配降下を開始する。あるいは、embのトレーニングが収束に達したら、条件付きSampleRNNの最後の出力レイヤで確率勾配降下を開始する。必要に応じて、勾配の更新のいくつかのステップ(たとえば1000ステップ)をトレーニングする。更新されたwとembは、話者ターゲット(新しい話者)に一緒に割り当てられる。
【0043】
本明細書で使用されるように、「収束」に到達するトレーニングとは、トレーニングが実質的な改善を示さない場合の主観的判断を指す。音声のクローニングには、合成された音声を聴くことと、その質を主観的に評価することが含まれる。合成器をトレーニングするとき、トレーニングセットの損失曲線と検証セットの損失曲線の両方をモニターすることができ、検証セットの損失があるエポックの閾値数(たとえば、2エポック)で減少しない場合、学習速度を減少させることができる(たとえば、50%のレート)。
【0044】
いくつかの実施形態において、適合段階においては、話者埋め込みのみが適合される。損失曲線をモニターし、トレーニングが収束に達したかどうかを主観的に評価することができる。主観的な改善がなければ、トレーニングを中止することができ、モデルの残りの部分は、いくつかの勾配更新ステップで低い(たとえば、1x10-6)学習速度で微調整することができる。ここでも、主観的評価を用いてトレーニングをいつ中止するかを決定することができる。主観的評価は、トレーニング手順の有効性を測定するためにも使用することができる。
【0045】
最も適切な数のクラスターを選択するために、異なるアプローチを用いることができる。いくつかの実施形態では、クラスターの数を決定するためにピッチ分析を行うことができる。ピッチ抽出の前に、(図2に示すフィルタリング(210)に類似の)無音トリミングおよび非音声領域トリミングのような前処理を適用することができる。図3は、2つの異なる年齢で話す1人のためのピッチ(Hz)のヒストグラムの例を示す。破線(305)の下の棒は、50~60歳の人のピッチ値(たとえば、5ms単位で抽出)を示す。点線(310)と点線(315)の下の棒は、20~30歳の同じ人物のピッチ値を示す。このことは、クラスターの適切な数が3つ(50~60歳で1つ、20~30歳で2つ)であることを示している。これは、20代で少なくとも2つの言葉のスタイルがあったことを意味しており、アクセント、感情、その他の状況の違いを反映していると思われる。この例では、50~60歳の範囲(305)は非常に低い分散と100Hz未満の中心ピッチを示し、20~30歳の範囲(310と315)は130Hzと140Hzの両方の周りで大きな分散と中心ピッチを示すことに注意する。これは、20~30歳で少なくとも2つの話し方があることを示している。ピッチ分散閾値を設定して、使用するクラスターの数を決定することができる。ピッチ分散が大きすぎてクラスター数を推定できない場合は、クラスター数を決定するために(ピッチ以外の、またはピッチ以外の)他のパラメータを使用すべきであることを示します(ネットワークは、単にピッチベースのスタイルを超えるスタイルを学習する必要があります)。いくつかの実施形態において、感情分析は、トランスクリプションに対して実行することができ、感情分類結果は、発声スタイルの数の初期推定として使用することができる。いくつかの実施形態では、発声スタイルの数の初期推定として、これらのソースにおいて話者(この場合はアクターである)が演じた動作役割の数。
【0046】
図4A~4Cは、2-D空間(実際の空間は、N次元であり、ここで、Nは、パラメータの数、たとえば、64-Dである)に投影されたクラスター化の例を示す。図4Aは、それぞれ正方形(405)、円(410)、および三角形(415)として表される、3つのソースに対する発話データ点(パラメータのベクトル)を示す。図4Bは、点線で示された各クラスターの重心(図4Bには示されていない)の閾値距離を有する3つのクラスター(420、435、および440)にクラスター化されたデータを示す。閾値距離は、ユーザが設定することができるか、またはアルゴリズムによって決定されるクラスターの分散に等しく設定することができる。図4Cは、3つのクラスターの重心(445、450、および455)を示す。セントロイドは、必ずしも任意の入力データと直接相関するわけではなく、クラスタリングアルゴリズムから計算される。これらの重心(445、450、および455)は、その後、音声合成モデルの初期埋め込みベクトルとして使用することができ、将来使用するために他のスタイルと共にテーブルに格納することができる(各スタイルは、たとえ同じ人物からのものであっても、テーブル内で別々のIDとして扱われる)。クラスターの重心にラベルが一致する入力データは、音声合成モデルを微調整するために使用することができ、外れ値データ(460として示される例)は、その対応する重心(445、450、455)から閾値距離(420、435、440)を外れるための同調データとして使用されないように剪定することができる。いくつかの実施形態では、単一の(グローバル)クラスターのみが、クラスター化されることなく、話者、別名の話者識別情報を埋め込むために使用される。いくつかの実施形態において、話者のために使用される複数のクラスター、別名スタイルの埋め込みが存在する。
【0047】
図5は、先に確立された埋め込みベクトルへのベクトル距離によって埋め込みベクトルを初期化する例を示す。機械学習に基づく音声合成器は、シミュレーションまたは音声クローニングに利用可能な、異なる音声スタイル(テーブルがどのように構築されたかに応じて、異なる話者または異なるスタイル)に関連する埋め込みベクトルを提供する埋め込みベクトルテーブル(125)を有することができる。このリソースは、合成器(235)を新しいスタイルに適合させるための初期埋め込みベクトル(510)を生成するために使用することができる。
【0048】
パラメータ化ベクトル(110)は、埋め込みベクトルテーブル(125)の値と比較(距離)(505)され、テーブルから最も近いベクトルを決定することができ、これは、合成器(235)を適合させるために初期化された埋め込みベクトル(510)として使用される。ランダムな(たとえば、最初に生成された)パラメータ化されたベクトルを距離計算(505)に使用することができるか、または平均的なパラメータ化されたベクトルを複数のパラメータ化されたベクトルから構築し、距離計算(505)に使用することができる。距離計算(505)に使用されるテーブル(125)からの埋め込みベクトルが多いほど、結果として得られる初期化された埋め込みベクトル(510)の精度が高くなる。なぜなら、それは、入力に非常に近い音声スタイルが利用可能である可能性を高めるからである。適応(235)は、パラメータ化ベクトル(110)から微調整(520)することもできる。適応(235)は、埋め込みベクトルテーブル(125)への入力のための微調整(520)に基づいて埋め込みベクトルを更新することができ、または、初期化された埋め込みベクトル(510)は、新しいスタイルに関連する新しい識別子でテーブル(125)に取り込むことができる。
【0049】
ベクトル距離計算は、ユークリッド距離、ベクトルドット積、および/またはコサイン類似性を含み得る。
【0050】
図6は、音声識別深度学習による埋め込みベクトルの初期化の例を示す。発話(105、210)は、音声識別機械学習システム(610)で使用するために抽出された特徴である。特徴抽出は、音声合成器(235)の特徴抽出と同じであってもよいし、異なることもある。音声識別機械学習システムは、ニューラルネットワークであり得る。
【0051】
同じであれば、パラメータ化されたベクトル(605)は、音声IDシステム(610)を介して実行され、音声IDデータベース(625)内のどのエントリが発話と一致するかを「識別」する。明らかに、話者は、この時点では、通常、音声IDデータベース内に存在しないが、テーブル内に多数のエントリ(たとえば、30k)が存在する場合、テーブルから識別された話者(625)は、発話のスタイルに密接に一致すべきである。これは、音声IDモデル(610)によって選択された音声IDデータベース(625)からの埋め込みベクトルを、音声合成器(235)を適合させるための初期化された埋め込みベクトルとして使用できることを意味する。他の初期化方法と同様に、これは、発話のためのパラメータ化ベクトル(605)で微調整することができる。
【0052】
音声IDシステムのパラメータが合成器のパラメータと異なる場合には、その方法は概ね同じであるが、初期化された埋め込みベクトルは、合成器(235)に適した形式でデータベース(625)から検索されなければならず、微調整データ(120)は、音声IDパラメータ化(605)からの別個の特徴抽出を経なければならない。
【0053】
いくつかの実施形態では、発話の特徴抽出は、長い発話のより短いセグメントから抽出されたベクトルを組み合わせることによって行うことができる。図7は、発話のための平均化された抽出ベクトルの例を示す。発話X(705)は、ある持続時間、たとえば3秒間、波形として入力される。波形(705)は、いくつかのより短い持続時間、たとえば、5ミリ秒の移動サンプリングウィンドウ(710)に渡りサンプリングされる。ウィンドウサンプルは、(715)と重複することができる。ウィンドウ処理は、波形上で連続的に、または波形の一部もしくは全部上で同時に並列に実行することができる。各サンプルは、特徴抽出(720)を受け、n個の埋め込みベクトル(725)e-enのグループを生成する。これらの埋め込みベクトルは、発話X(705)に対して代表的な埋め込みベクトル(735)exを生成するために組み合わされる(730)。ベクトル(730)を組み合わせる例は、ウィンドウサンプル(710)からベクトル(725)の平均をとることである。ベクトル(730)を結合する別の例は、加重和を使用することである。たとえば、音声検出器を使用して、音声フレーム(たとえば、「i」および「aw」)および非音声フレーム(たとえば、「t」、「s」、「k」)を識別することができる。音声フレームは、音声がどのように音声を発するかの知覚により大きく寄与するため、音声フレームを非音声フレームに対して重み付けすることができる。発話(705)は、消音部分および/または波形の非言語部分がトリミングされた生のオーディオまたは前処理オーディオであってもよい。
【0054】
いくつかの実施形態によれば、音声合成器システムは、図8に示すようにすることができる。音声発話からの波形の入力(805)が与えられた場合、波形データは、最初に「クリーニング」(810)され得る。これは、ノイズ抑制アルゴリズム(811)および/またはオーディオレベラ(812)の使用を含むことができる。次に、データにラベル(815)を付けて、波形を話者に識別することができる。次に、音素が抽出され(820)、音素シーケンスが波形と整列される(825)。また、波形からピッチ輪郭(830)を抽出することができる。位置合わせされた音素(825)およびピッチ輪郭(830)は、適応(835)のためのパラメータを提供する。適応は条件付きSampleRNN重み付け(840)に基づいてトレーニング目標を設定し、次いで、埋め込みベクトル(845)に対して確率勾配降下が実行される。埋め込みベクトルに対するトレーニングが収束すると、a)トレーニングが停止され、更新された埋め込みベクトルが話者に割り当てられるか(850a)、b)重み(または条件付きSampleRNNの最後の出力層)に対して確率勾配降下が実行され、結果として更新された埋め込みベクトルが話者(850b)に割り当てられる。本例の実施形態。
【0055】
図9は、図1図8の実施形態を実施するためのターゲットハードウェア(10)(たとえば、コンピュータシステム)の例示的な実施形態である。このターゲットハードウェアは、プロセッサ(15)、メモリバンク(20)、ローカルインターフェースバス(35)、および1つ以上の入出力装置(40)を備える。プロセッサは、メモリ(20)に記憶された何らかの実行可能プログラム(30)に基づいて、オペレーティングシステム(25)によって提供されるように、図1図8の実施に関連する1つ以上の命令を実行することができる。これらの命令は、ローカルインターフェース(35)を介して、ローカルインターフェースおよびプロセッサ(15)に特有のいくつかのデータインターフェースプロトコルによって指示されるように、プロセッサ(15)に送られる。ローカルインターフェース(35)は、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、および受信機のような、プロセッサベースのシステムの複数のエレメント間にアドレス、制御、および/またはデータ接続を提供することを一般的に目的としたいくつかのエレメントのシンボル表現であることに留意されたい。いくつかの実施形態では、プロセッサ(15)は、いくつかのローカルメモリ(キャッシュ)を備えることができ、そこで、いくつかの追加された実行速度のために実行されるべき命令のいくつかを記憶することができる。プロセッサによる命令の実行は、ハードディスクに記憶されたファイルからのデータの入力、キーボードからのコマンドの入力、タッチスクリーンからのデータおよび/またはコマンドの入力、ディスプレイへのデータの出力、またはUSBフラッシュドライブへのデータの出力など、何らかの入出力装置(40)の使用を必要とし得る。いくつかの実施形態では、オペレーティングシステム(25)は、プログラムの実行に必要な種々のデータおよび命令を収集し、これらをマイクロプロセッサに提供するための中央要素であることによって、これらのタスクを容易にする。いくつかの実施形態では、オペレーティングシステムは存在せず、全てのタスクは、プロセッサ(15)の直接制御下にあるが、ターゲットハードウェア装置(10)の基本アーキテクチャは、図9に示されるものと同じである。いくつかの実施形態において、複数のプロセッサは、追加の実行速度のために並列構成で使用されてもよい。このような場合、実行可能プログラムは、特に並列実行に合わせることができる。また、いくつかの実施形態では、プロセッサ(15)は、図1~8の実装の一部を実行することができ、他の一部は、ターゲットハードウェア(10)がローカルインターフェース(35)を介してアクセス可能な入出力位置に配置された専用ハードウェア/ファームウェアを使用して実装することができる。ターゲットハードウェア(10)は、複数の実行可能プログラム(30)を含んでいてもよく、各プログラムは、独立して、または互いに組み合わせて実行されてもよい。
【0056】
本開示の多くの実施形態が記述されてきた。しかしながら、本開示の真意および範囲から逸脱することなく種々の修正を行うことができると理解されるであろう。したがって、他の態様は特許請求の範囲の範囲内にある。
【0057】
本開示は、本明細書に記載のいくつかの革新的な側面、およびこれらの革新的な側面が実施され得る文脈の例を記述する目的のための特定の実施を対象とする。しかしながら、本願明細書における教示は、種々の異なる方法で適用できる。更に、記載される実施形態は、種々のハードウェア、ソフトウェア、ファームウェア、等で実装されてよい。たとえば、本願の態様は、少なくとも部分的に、機器、1つより多くの装置を含むシステム、方法、コンピュータプログラムプロダクト、等で実現されてよい。したがって、本願の態様は、ハードウェアの実施形態、ソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード、等を含む)、および/またはソフトウェアとハードウェアの態様の両者を組み合わせる実施形態の形式を取ってよい。このような実施形態は、本願明細書では、「回路」、「モジュール」、「エンジン」、「プロセス」、または「ブロック」と呼ばれてよい。本願のいくつかの態様は、コンピュータ可読プログラムコードを実装された1つ以上の非一時的媒体に具現化されたコンピュータプログラムプロダクトの形式を取ってよい。このような非一時的媒体は、たとえば、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせを含んでよい。したがって、本開示の教示は、本願明細書に図示されたおよび/または記載された実装に限定されず、むしろ広範な適用可能性を有する。
図1
図2
図3
図4A
図4B
図4C
図5
図6
図7
図8
図9