(57)【要約】音声合成のための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置。方法、システム、および装置は、ターゲット話者の音声のオーディオ表現を取得することと、音声がターゲット話者の声で合成される入力テキストを取得することと、話者を互いに区別するようにトレーニングされた話者エンコーダエンジンにオーディオ表現を提供することによって話者ベクトルを生成することと、入力テキストと話者ベクトルとを、オーディオ表現を生成するために参照話者の声を使用してトレーニングされたスペクトログラム生成エンジンに提供することによって、ターゲット話者の声で話される入力テキストのオーディオ表現を生成することと、出力用にターゲット話者の声で話された入力テキストのオーディオ表現を提供することと、のアクションを含み得る。
2021524063.tif 000002
【特許請求の範囲】
【請求項１】
ターゲット話者の音声のオーディオ表現を取得することと、
音声が前記ターゲット話者の声で合成される入力テキストを取得することと、
話者を互いに区別するようにトレーニングされた話者検証ニューラルネットワークに前記オーディオ表現を提供することによって話者埋め込みベクトルを生成することと、
前記入力テキストと前記話者埋め込みベクトルとを、オーディオ表現を生成するために参照話者の声を使用してトレーニングされたスペクトログラム生成ニューラルネットワークに提供することによって、前記ターゲット話者の前記声で話される前記入力テキストのオーディオ表現を生成することと、
出力用に前記ターゲット話者の前記声で話された前記入力テキストの前記オーディオ表現を提供することと、を含むコンピュータ実装方法。
【請求項２】
前記話者検証ニューラルネットワークは、埋め込み空間内で互いに近接している同じ話者からの音声のオーディオ表現の話者埋め込みベクトルを生成するようにトレーニングされているとともに、互いに離れた異なる話者からの音声のオーディオ表現の話者埋め込みベクトルを生成するようにトレーニングされている、請求項１に記載の方法。
【請求項３】
前記話者検証ニューラルネットワークは、前記スペクトログラム生成ニューラルネットワークとは別にトレーニングされる、請求項１または２に記載の方法。
【請求項４】
前記話者検証ニューラルネットワークは長短期記憶（ＬＳＴＭ）ニューラルネットワークである、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記話者埋め込みベクトルを生成することは、
前記オーディオ表現の複数の重なり合うスライディングウィンドウを前記話者検証ニューラルネットワークに提供して、複数の個別のベクトル埋め込みを生成することと、
前記複数の個別のベクトル埋め込みの平均を計算することにより、前記話者埋め込みベクトルを生成することと、を含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
出力用に前記ターゲット話者の前記声で話された前記入力テキストの前記オーディオ表現を提供することは、
前記ターゲット話者の前記声で話された前記入力テキストの前記オーディオ表現をボコーダに提供して、前記ターゲット話者の前記声で話された前記入力テキストの時間領域表現を生成することと、
再生用の前記時間領域表現をユーザに提供することと、を含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記ボコーダはボコーダニューラルネットワークである、請求項６に記載の方法。
【請求項８】
前記スペクトログラム生成ニューラルネットワークは、音素または書記素入力のシーケンスからメルスペクトログラムを予測するようにトレーニングされたシーケンスツーシーケンスアテンションニューラルネットワークである、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記スペクトログラム生成ニューラルネットワークは、エンコーダニューラルネットワーク、アテンション層、およびデコーダニューラルネットワークを含む、請求項８に記載の方法。
【請求項１０】
前記スペクトログラム生成ニューラルネットワークは、前記話者埋め込みベクトルを、前記アテンション層への入力として提供される前記エンコーダニューラルネットワークの出力と連結する、請求項９に記載の方法。
【請求項１１】
前記話者埋め込みベクトルは、前記話者検証ニューラルネットワークまたは前記スペクトログラム生成ニューラルネットワークのトレーニング中に使用される話者埋め込みベクトルとは異なる、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記スペクトログラム生成ニューラルネットワークのトレーニング中に、前記話者検証ニューラルネットワークのパラメータが固定されている、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
話者を互いに区別するように話者検証ニューラルネットワークをトレーニングすることと、
入力テキストのオーディオ表現を生成するために複数の参照話者の声を使用してスペクトログラム生成ニューラルネットワークをトレーニングすることと、を含む音声合成で使用するためにニューラルネットワークをトレーニングするコンピュータ実装方法。
【請求項１４】
１つまたは複数のコンピュータと、命令を記憶する１つまたは複数の記憶デバイスとを含むシステムであって、前記命令は、前記１つまたは複数のコンピュータにより実行されるとき、前記１つまたは複数のコンピュータに請求項１〜１３のいずれか一項に記載の方法の動作を実行させる、システム。
【請求項１５】
命令を記憶する１つまたは複数のコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のコンピュータにより実行されるとき、前記１つまたは複数のコンピュータに請求項１〜１３のいずれか一項に記載の方法の動作を実行させる、１つまたは複数のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は一般に、テキストからの音声合成に関する。
【背景技術】
【０００２】
ニューラルネットワークは、複数層の演算を使用して１つ以上の入力から１つ以上の出力を予測する機械学習モデルである。ニューラルネットワークには通常、入力層と出力層の間に位置する１つ以上の隠れ層が含まれる。各隠れ層の出力は、次の隠れ層や出力層など、次の層への入力として使用される。
【０００３】
ニューラルネットワークの各層は、層への入力に対して実行される１つ以上の変換演算を指定する。一部のニューラルネットワーク層は、ニューロンと呼ばれる演算を行う。各ニューロンは１つ以上の入力を受け取り、別のニューラルネットワーク層が受け取る出力を生成する。多くの場合、各ニューロンは他のニューロンから入力を受け取り、各ニューロンは１つ以上の他のニューロンに出力を提供する。
【０００４】
各層は、当該層のパラメータセットの現在値を使用して１つ以上の出力を生成する。ニューラルネットワークのトレーニングには、入力に対してフォワードパスを継続的に実行し、勾配値を計算し、各層のパラメータセットの現在値を更新することが含まれる。ニューラルネットワークがトレーニングされると、最終のパラメータセットを使用して、プロダクションシステムで予測を行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本明細書は一般に、テキストからの音声合成に関する。
【課題を解決するための手段】
【０００６】
音声合成のためのニューラルネットワークベースのシステムは、トレーニング中において用いられなかった話者を含む、多くの様々な話者の声で音声オーディオを生成し得る。システムは、システムのパラメータを更新することなく、ターゲット話者からの数秒の非転写参照オーディオを使用して、ターゲット話者の声で新しい音声を合成できる。システムは、シーケンスツーシーケンスモデルを使用する場合がある。これは、音素のシーケンスまたは書記素のシーケンスから振幅スペクトログラムを生成し、話者の埋め込みで出力を調整する。埋め込みは、任意の長さの音声スペクトログラムを固定次元の埋め込みベクトルに符号化する、独立してトレーニングされた話者エンコーダネットワーク（本明細書では話者検証ニューラルネットワークまたは話者エンコーダとも呼ばれる）を使用して計算され得る。埋め込みベクトルは、データを符号化しまたは別様に表す値のセットである。例えば、埋め込みベクトルは、ニューラルネットワークの隠れ層または出力層によって生成され得る。この場合、埋め込みベクトルは、ニューラルネットワークに入力される１つ以上のデータ値を符号化する。話者エンコーダは、何千もの異なる話者からのノイズの多い音声の個別のデータセットを使用して、話者検証タスクでトレーニングされ得る。システムは、話者エンコーダによって学習された多様な話者に関する知識を活用して、一般化を的確に行うことで、トレーニング中に用いられていない話者からの自然な音声を、当該話者からの僅か数秒のオーディオを使用して、合成し得る。
【０００７】
より詳細には、システムは、話者検証タスクのために構成された、独立してトレーニングされた話者エンコーダを含み得る。話者エンコーダは、区別を行うようにトレーニングされてよい。話者エンコーダは、一般化されたエンドツーエンドの損失を使用して、何千もの異なる話者からの非転写オーディオの大規模なデータセットでトレーニングされる。システムは、ネットワークを分離して、ネットワークを独立したデータセットでトレーニングできるようにすることができる。これにより、目的ごとに高品質のトレーニングデータを取得する際の問題が軽減される場合がある。つまり、話者特性の空間をキャプチャする話者区別埋め込みネットワーク（つまり、話者検証ニューラルネットワーク）をトレーニングすることと、話者検証ニューラルネットワークによって学習された表現で調整されたより小さなデータセットで、高品質のテキストから音声へのモデル（本明細書では、スペクトログラム生成ニューラルネットワークと呼ばれる）をトレーニングすることと、を独立して行うことにより、話者モデリングと音声合成とを分離できる。例えば、音声合成には、テキストにはよらない話者検証と比較して、異なったより煩雑なデータ要件がある場合があり、関連する転写とともに数十時間のクリーンな音声が必要になる場合がある。これに対し、話者検証では、残響やバックグラウンドノイズを含む、非転写のノイズの多い音声を有効利用し得るが、十分な数の話者を必要とし得る。したがって、両方の目的に適した高品質のトレーニングデータの単一のセットを取得することは、それぞれの目的に高品質の２つの異なるトレーニングデータセットを取得するよりもはるかに難しい場合がある。
【０００８】
本明細書の主題は、以下の利点のうちの１つまたは複数を実現するように実施することができる。例えば、システムは、適応品質の向上をもたらし、事前の埋め込み（単位超球上の点）からランダムにサンプリングすることにより、トレーニングで使用されたものとは異なる完全に新規な話者の合成を可能にし得る。別の例では、システムは、短い限られた量のサンプル音声、例えば５秒の音声しか利用できないターゲット話者の音声を合成することができる。さらに別の利点は、システムが、ターゲット話者の音声のサンプルの転写が利用できないターゲット話者の声で音声を合成できる可能性があることである。例えば、システムは、音声のサンプルが事前に利用できない「ジョン・ドゥ（Ｊｏｈｎ  Ｄｏｅ）」から５秒間の音声のサンプルを受信し、音声のサンプルの転写がなくとも任意のテキストに対して「ジョン・ドゥ」の声で音声を生成し得る。
【０００９】
さらに別の利点は、システムが、特定の話者についてサンプル音声を利用できる言語とは異なる言語で音声を生成できる可能性があることである。例えば、システムはスペイン語で「ジョン・ドゥ」から５秒間の音声のサンプルを受信でき、「ジョン・ドゥ」からの他の音声のサンプルがなくても、英語で「ジョン・ドゥ」の声で音声を生成できる場合がある。
【００１０】
従来のシステムとは異なり、話者モデリングと音声合成のトレーニングを分離することにより、記載のシステムは、多数の話者からの音声を含む高品質の音声データの単一のセットが利用できない場合でも、互いに異なる話者の音声を効果的に調整することができる。
【００１１】
従来のシステムでは、新しいターゲット話者の声で音声オーディオを生成できるようになる前に、何時間ものトレーニングおよび／または微調整が必要になる場合があるが、記載のシステムは、追加のトレーニングまたは微調整を必要とせずに、新しいターゲット話者の声で音声オーディオを生成し得る。したがって、記載のシステムは、従来のシステムと比較した場合、生成された音声オーディオが元の話者の声である音声から音声への翻訳など、最小の遅延で新しい話者の声で音声を生成する必要があるタスクをより迅速に実行できる。
【００１２】
本明細書の主題の１つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなる。
【００１３】
一部の態様において、本明細書に記載される主題は、ターゲット話者の音声のオーディオ表現を取得することと、音声がターゲット話者の声で合成される入力テキストを取得することと、話者を互いに区別するようにトレーニングされた話者エンコーダエンジンにオーディオ表現を提供することによって話者ベクトルを生成することと、入力テキストと話者ベクトルとを、オーディオ表現を生成するために参照話者の声を使用してトレーニングされたスペクトログラム生成エンジンに提供することによって、ターゲット話者の声で話される入力テキストのオーディオ表現を生成することと、出力用にターゲット話者の声で話された入力テキストのオーディオ表現を提供することと、のアクションを含み得る方法で具体化され得る。
【００１４】
話者検証ニューラルネットワークは、埋め込み空間内で互いに近接している同じ話者からの音声のオーディオ表現の話者埋め込みベクトルを生成するようにトレーニングされているとともに、互いに離れた異なる話者からの音声のオーディオ表現の話者埋め込みベクトルを生成するようにトレーニングされていてもよい。これに代えてまたは加えて、話者検証ニューラルネットワークは、スペクトログラム生成ニューラルネットワークとは別にトレーニングされてもよい。話者検証ニューラルネットワークは長短期記憶（ＬＳＴＭ）ニューラルネットワークである。
【００１５】
話者埋め込みベクトルを生成することは、オーディオ表現の複数の重なり合うスライディングウィンドウを話者検証ニューラルネットワークに提供して、複数の個別のベクトル埋め込みを生成することと、複数の個別のベクトル埋め込みの平均を計算することにより、話者埋め込みベクトルを生成することと、を含み得る。
【００１６】
出力用にターゲット話者の声で話された入力テキストのオーディオ表現を提供することは、ターゲット話者の声で話された入力テキストのオーディオ表現をボコーダに提供して、ターゲット話者の声で話された入力テキストの時間領域表現を生成することと、再生用の時間領域表現をユーザに提供することと、を含み得る。ボコーダは、ボコーダニューラルネットワークであり得る。
【００１７】
スペクトログラム生成ニューラルネットワークは、音素または書記素入力のシーケンスからメルスペクトログラムを予測するようにトレーニングされたシーケンスツーシーケンスアテンションニューラルネットワークであってよい。スペクトログラム生成ニューラルネットワークは、任意選択で、エンコーダニューラルネットワーク、アテンション層、およびデコーダニューラルネットワークを含む場合がある。スペクトログラム生成ニューラルネットワークは、話者埋め込みベクトルを、アテンション層への入力として提供されるエンコーダニューラルネットワークの出力と連結できる。
【００１８】
話者埋め込みベクトルは、話者検証ニューラルネットワークまたはスペクトログラム生成ニューラルネットワークのトレーニング中に使用される話者埋め込みベクトルとは異なっていてもよい。スペクトログラム生成ニューラルネットワークのトレーニング中に、話者検証ニューラルネットワークのパラメータが固定されていてもよい。
【００１９】
さらなる一態様によれば、話者を互いに区別するように話者検証ニューラルネットワークをトレーニングすることと、入力テキストのオーディオ表現を生成するために複数の参照話者の声を使用してスペクトログラム生成ニューラルネットワークをトレーニングすることと、を含む音声合成で使用するためにニューラルネットワークをトレーニングするコンピュータ実装方法が提供される。この態様は、先行する態様の特徴のいずれかを含み得る。
【００２０】
他のバージョンには、コンピュータストレージデバイス上で符号化された、方法のアクションを実行するように構成された、対応するシステム、装置、およびコンピュータプログラムが含まれる。
【００２１】
１つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の潜在的な特徴および利点は、説明、図面、および特許請求の範囲から明らかとなる。
【図面の簡単な説明】
【００２２】
【図１】ターゲット話者の声で音声を合成できる例示的なシステムのブロック図。
【図２】音声合成のトレーニング中の例示的なシステムのブロック図。
【図３】音声を合成するための推論中の例示的なシステムのブロック図。
【図４】ターゲット話者の声で話されるテキストのオーディオ表現を生成するための例示的なプロセスのフローチャート。
【図５】例示的なコンピューティングデバイスの図。
【発明を実施するための形態】
【００２３】
さまざまな図面での同様の参照番号と指示は、同様の要素を示す。
図１は、ターゲット話者の声で音声を合成できる例示的な音声システム１００を示すブロック図である。音声合成システム１００は、１つまたは複数の場所にある１つまたは複数のコンピュータ上のコンピュータプログラムとして実装することができる。音声合成システム１００は、ターゲット話者のオーディオ表現とともに入力テキストを受信し、一連のニューラルネットワークを介して入力を処理し、ターゲット話者の声で入力テキストに対応する音声を生成する。例えば、音声合成システム１００が、「こんにちは、私の名前はジョン・ドゥであり、テスト目的でこの音声のサンプルを提供している」と言っているジョン・ドゥの５秒間のオーディオとともに本のページのテキストを入力として受信した場合、これらの入力を処理して、ジョン・ドゥの声で当該ページの口述のナレーションを生成できる。別の例では、音声合成システム１００が、別の本からナレーションするジェーン・ドゥ（Ｊａｎｅ  Ｄｏｅ）の６秒間のオーディオとともに本のページのテキストを入力として受信した場合、これらの入力を処理して、ジェーン・ドゥの声でページの口述のナレーションを生成できる。
【００２４】
図１に示されるように、システム１００は、話者エンコーダエンジン１１０およびスペクトログラム生成エンジン１２０を含む。ターゲット話者に関して、話者エンコーダエンジン１１０は、話しているターゲット話者のオーディオ表現を受信し、話者埋め込みベクトルまたは埋め込みベクトルとも呼ばれる話者ベクトルを出力する。例えば、話者エンコーダエンジン１１０は、「こんにちは、私の名前はジョン・ドゥです」と言っているジョン・ドゥのオーディオ録音を受信し、これに応じて、ジョン・ドゥを識別する値を有するベクトルを出力する。話者ベクトルはまた、話者の特徴的な発話速度を捉えていてもよい。
【００２５】
話者ベクトルは、固定次元の埋め込みベクトルであり得る。例えば、話者エンコーダエンジン１１０によって出力される話者ベクトルは、２５６個の値のシーケンスを有することができる。話者エンコーダエンジン１１０は、任意の長さの音声スペクトログラムを固定次元の埋め込みベクトルに符号化するようにトレーニングされたニューラルネットワークであり得る。例えば、話者エンコーダエンジン１１０は、メルスペクトログラムまたはログメルスペクトログラム、ユーザからの音声の表現を、固定数の要素（例えば、２５６要素）を有するベクトルに符号化するようにトレーニングされた長短期記憶（ＬＳＴＭ：ｌｏｎｇ  ｓｈｏｒｔ−ｔｅｒｍ  ｍｅｍｏｒｙ）ニューラルネットワークを含み得る。メルスペクトログラムは、一貫性と詳細な説明のために本開示全体を通して参照されているが、他のタイプのスペクトログラム、または他の適切なオーディオ表現を使用できることが理解されよう。
【００２６】
話者エンコーダエンジン１１０は、音声のオーディオと、オーディオの話者を識別するラベルとのペアを含む、ラベル付けされたトレーニングデータを用いてトレーニングされてもよく、これによって、エンジン１１０が、互いに異なる話者に対応するものとしてオーディオを分類することを学習する。話者ベクトルは、ＬＳＴＭニューラルネットワークの隠れ層の出力である可能性があり、ここで、話者からのオーディオからは、互いに声が類似しているほど、互いに類似している話者ベクトルが得られ、話者からのオーディオからは、互いに声が相違するほど、互い相違する話者ベクトルが得られる。
【００２７】
スペクトログラム生成エンジン１２０は、合成すべき入力テキストを受信して、話者エンコーダエンジン１１０によって決定された話者ベクトルを受信してよく、それに応じて、その入力テキストの音声のオーディオ表現をターゲット話者の声で生成してよい。例えば、スペクトログラム生成エンジン１２０は、「さようなら」の入力テキストと、「こんにちは、私の名前はジョン・ドゥです」と言っているジョン・ドゥのメルスペクトログラム表現から話者エンコーダエンジン１１０によって決定された話者ベクトルと、を受信できる。それに応じて、ジョン・ドゥの声で「さようなら」の音声のメルスペクトログラム表現を生成できる。
【００２８】
スペクトログラム生成エンジン１２０は、入力テキストとターゲット話者の話者ベクトルとからターゲット話者の声のメルスペクトログラムを予測するようにトレーニングされている、アテンションネットワークを備えたシーケンスツーシーケンスであるニューラルネットワーク（シーケンスツーシーケンスシンセサイザ、シーケンスツーシーケンス合成ネットワーク、またはスペクトログラム生成ニューラルネットワークとも呼ばれる）を含み得る。ニューラルネットワークは、テキスト、特定の話者によるテキストの音声のオーディオ表現、および特定の話者に関する話者ベクトルを各々が含む複数のトリプレットを含むトレーニングデータでトレーニングされ得る。トレーニングデータで使用される話者ベクトルは、スペクトログラム生成エンジン１２０からのものであってもよく、そのトリプレットのテキストの音声のオーディオ表現からのものである必要はない場合がある。例えば、トレーニングデータに含まれるトリプレットは、「私はコンピュータが好きです」との入力テキストと、「私はコンピュータが好きです」と言っているジョン・スミス（Ｊｏｈｎ  Ｓｍｉｔｈ）のオーディオからのメルスペクトログラムと、話者エンコーダエンジン１１０によって出力された、「こんにちは、私の名前はジョン・スミスです」と言っているジョン・スミスのオーディオからのメルスペクトログラムからの話者ベクトルと、を含み得る。
【００２９】
一部の実装形態では、スペクトログラム生成エンジン１２０のトレーニングデータは、話者エンコーダエンジン１１０がトレーニングされた後、話者エンコーダエンジン１１０を使用して生成され得る。例えば、ペアのトレーニングデータからなるセットには、元々、入力テキストおよびそのテキストの音声のメルスペクトログラムのペアのみが含まれている場合がある。ペアになったトレーニングデータの各ペアにおけるメルスペクトログラムは、トレーニング済みの話者エンコーダエンジン１１０に提供されて、トレーニング済みの話者エンコーダエンジン１１０は、各メルスペクトログラムに対応する話者ベクトルを出力し得る。次に、システム１００は、各話者ベクトルをペアのトレーニングデータにおける対応するペアに追加して、テキストと、特定の話者によるテキストの音声のオーディオ表現と、特定の話者に関する話者ベクトルと、からなるトリプレットを含むトレーニングデータを生成することができる。
【００３０】
一部の実装形態では、スペクトログラム生成エンジン１２０によって生成されたオーディオ表現は、音声を生成するためにボコーダに提供され得る。例えば、「さようなら」と言っているジョン・ドゥのメルスペクトログラムは、周波数領域にあり、別のニューラルネットワークに提供されてもよく、当該別のニューラルネットワークは、周波数領域表現を受信し、時間領域表現を出力するようにトレーニングされていて、ジョン・ドゥの声で「さようなら」の時間領域波形を出力する場合がある。次に、時間領域波形は、ジョン・ドゥの声で「さようなら」の音を生成できるスピーカー（ラウドスピーカーなど）に提供されてもよい。
【００３１】
一部の実装形態では、システム１００または別のシステムは、ターゲット話者の声で音声を合成するためのプロセスを実行するよう使用されてもよい。プロセスは、ターゲット話者の音声のオーディオ表現を取得することと、音声がターゲット話者の声で合成される入力テキストを取得することと、話者を互いに区別するようにトレーニングされた話者エンコーダエンジンにオーディオ表現を提供することによって話者ベクトルを生成することと、入力テキストと話者ベクトルとを、オーディオ表現を生成するために参照話者の声を使用してトレーニングされたスペクトログラム生成エンジンに提供することによって、ターゲット話者の声で話される入力テキストのオーディオ表現を生成することと、出力用にターゲット話者の声で話された入力テキストのオーディオ表現を提供することと、のアクションを含み得る。
【００３２】
例えば、プロセスは、話者エンコーダエンジン１１０が、「私はコンピュータが好きです」と言っているジェーン・ドゥのオーディオからメルスペクトログラムを取得することと、「私はコンピュータが好きです」と言っているジョン・ドゥのメルスペクトログラムに対して生成される話者ベクトルとは異なるジェーン・ドゥのスピーカーベクトルを生成することと、を含み得る。スペクトログラム生成エンジン１２０は、ジェーン・ドゥに関する話者ベクトルを受信するとともに、英語で「こんにちは、お元気ですか」を意味するスペイン語である可能性がある「ホラコモエスタス（Ｈｏｌａ  ｃｏｍｏ  ｅｓｔａｓ）」の入力テキストを取得することができ、これに応じて、ボコーダによってジェーン・ドゥの声で「ホラコモエスタス」の音声に変換され得るメルスペクトログラムを生成する場合がある。
【００３３】
より詳細な例では、システム１００は、独立してトレーニングされた３つの構成要素を含み得る。すなわち、任意の長さの音声信号から固定次元ベクトルを出力する話者検証のためのＬＳＴＭ話者エンコーダと、話者ベクトルで調整される、書記素または音素入力のシーケンスからメルスペクトログラムを予測するシーケンスツーシーケンスアテンションネットワークと、メルスペクトログラムを時間領域波形サンプルのシーケンスに変換する自己回帰ニューラルボコーダネットワークと、である。ＬＳＴＭ話者エンコーダは、話者エンコーダエンジン１１０であってよく、アテンションネットワークを伴うシーケンスツーシーケンスは、スペクトログラム生成エンジン１２０であり得る。
【００３４】
ＬＳＴＭ話者エンコーダは、所望のターゲット話者からの参照音声信号で合成ネットワークを調整するために使用される。さまざまな話者の特性を捉える参照音声信号を使用して、適切な一般化が実現され得る。適切な一般化により、表音のコンテンツおよびバックグラウンドノイズとは関係なく、短い適応信号のみを使用してこれらの特性を特定できるようになり得る。これらの目的は、テキストによらない話者検証タスクでトレーニングされた話者区別モデルを使用して満足される。ＬＳＴＭ話者エンコーダは、ある複数の話者のみのセットに限定されない、話者区別オーディオ埋め込みネットワークであり得る。
【００３５】
ＬＳＴＭ話者エンコーダは、任意の長さの音声発話から計算されたメルスペクトログラムフレームのシーケンスを、ｄベクトルまたは話者ベクトルとして知られる固定次元の埋め込みベクトルにマッピングする。ＬＳＴＭ話者エンコーダは、発話ｘが与えられると、ＬＳＴＭネットワークを使用して固定次元ベクトル埋め込みｅｘ＝ｆ（ｘ）を学習するように構成され得る。一般化されたエンドツーエンドの損失は、ＬＳＴＭネットワークをトレーニングするために使用されてよく、これによって、同じ話者からの発話のｄベクトルが埋め込み空間内で互いに近接するように、例えば、発話のｄベクトル同士が大きなコサイン類似度を有するようになり、一方、互いに異なる話者からの発話のｄベクトルは互いに離れているようになる。したがって、任意の長さの発話が与えられた場合、話者エンコーダは、例えば８００ミリ秒の長さの重なり合うスライディングウィンドウで実行でき、Ｌ２正規化されたウィンドウの複数の埋め込みの平均が発話全体の最終的な埋め込みとして使用される。
【００３６】
シーケンスツーシーケンスアテンションニューラルネットワークは、トレーニングデータセットにおけるオーディオ例ｘごとに、出力がアテンションニューラルネットワークに提供される前に、各タイムステップで真の話者に関連付けられたｄ次元の埋め込みベクトルをエンコーダニューラルネットワークの出力と連結することによって、複数の特定の話者をモデル化できる。アテンションニューラルネットワークの入力層に提供される話者の埋め込みは、互いに異なる話者間で収束するのに十分である可能性がある。シンセサイザは、中間の言語機能に依存しないエンドツーエンドの合成ネットワークにすることができる。
【００３７】
一部の実装形態では、シーケンスツーシーケンスアテンションネットワークは、テキスト転写とターゲットオーディオのペアでトレーニングされてよい。入力では、テキストを音素のシーケンスにマッピングする。これにより、収束が速くなり、人名や地名などのまれな単語の発音が改善される。ネットワークは、事前にトレーニングされた話者エンコーダ（パラメータが凍結されている）を使用して転移学習構成でトレーニングされ、ターゲットオーディオから話者埋め込みを抽出する。つまり、トレーニング中において、話者参照信号は、ターゲット音声と同じである。トレーニング中に明示的な話者識別子ラベルは使用されない。
【００３８】
追加的にまたはこれに代えて、ネットワークのデコーダには、スペクトログラム機能の再構築でのＬ２損失と、追加のＬ１損失の両方が含まれる場合がある。組み合わされた損失は、ノイズトレーニングデータでより堅牢になる可能性がある。追加的にまたはこれに代えて、合成されたオーディオをさらにクリーンにするために、例えば１０パーセンタイルでのスペクトル減算によるノイズリダクションをメルスペクトログラム予測ネットワークのターゲットに対して実行してもよい。
【００３９】
システム１００は、単一の短いオーディオクリップからこれまでに確認されたことのない話者の独特の特徴を捉え、それらの特徴を備えた新しい音声を合成することができる。システム１００は、以下を達成することができる：（１）高レベルで自然な合成された音声（２）ターゲット話者との高度な類似性。高レベルで自然なものとすることは通常、トレーニングデータとして大量の高品質の音声と転写とのペアを必要とする一方、高度な類似性を実現するには、通常、各話者に関して大量のトレーニングデータを必要とする。ただし、個々の話者ごとに高品質のデータを大量に記録することは、非常に費用がかかるか、実際には実行不可能ですらある。システム１００は、高度に自然なテキストから音声へのシステムのトレーニングと、話者の特性をうまく捉える別の話者区別埋め込みネットワークのトレーニングとを分離することができる。一部の実装形態では、話者区別モデルは、テキストによらない話者検証タスクでトレーニングされる。
【００４０】
ニューラルボコーダは、シンセサイザによって出された合成されたメルスペクトログラムを時間領域の波形に反転する。一部の実装形態では、ボコーダは、サンプルごとの自己回帰ウェーブネット（Ｗａｖｅ  Ｎｅｔ）にすることができる。アーキテクチャには、複数の拡張畳み込み層を含めることができる。シンセサイザネットワークによって予測されたメルスペクトログラムは、さまざまな声の高品質な合成に必要なすべての関連する詳細を捉え、話者ベクトルで明示的に調整する必要なしに、多くの話者からのデータでトレーニングするだけで複数話者ボコーダを構築できる。ウェーブネットアーキテクチャの詳細については、ファン・デン・オールト（ｖａｎ  ｄｅｎ  Ｏｏｒｄｅ）らによるウェーブネット：未処理オーディオの生成モデルＣｏＲＲ  ａｂｓ／１６０９．０３４９９、２０１６年に記載されている。
【００４１】
図２は、音声合成のトレーニング中の例示的なシステム２００のブロック図である。例示的なシステム２００は、話者エンコーダ２１０、シンセサイザ２２０、およびボコーダ２３０を含む。シンセサイザ２２０は、テキストエンコーダ２２２、アテンションニューラルネットワーク２２４、およびデコーダ２２６を含む。トレーニング中、パラメータが凍結されている可能性がある別個にトレーニングされた話者エンコーダ２１０は、可変長入力オーディオ信号から話者の固定長ｄベクトルを抽出することができる。トレーニング中、参照信号またはターゲットオーディオは、テキストと並置されたグラウンドトゥルースオーディオである可能性がある。ｄベクトルは、テキストエンコーダ２２２の出力と連結されてよく、複数の時間ステップのそれぞれでアテンションニューラルネットワーク２２４に渡され得る。話者エンコーダ２１０を除いて、システム２００の他の部分は、デコーダ２２６からの再構成損失によって駆動され得る。シンセサイザ２２０は、入力テキストシーケンスからメルスペクトログラムを予測し、メルスペクトログラムをボコーダ２３０に提供することができる。ボコーダ２３０は、メルスペクトログラムを時間領域波形に変換することができる。
【００４２】
図３は、音声を合成するための推論中の例示的なシステム３００のブロック図である。システム３００は、話者エンコーダ２１０、シンセサイザ２２０、およびボコーダ２３０を含む。推論中に、２つのアプローチのいずれかを使用し得る。第１のアプローチでは、テキストエンコーダ２２２は、その転写が合成されるべきテキストと一致する必要がない、未確認（ｕｎｓｅｅｎ）および／または非転写のオーディオからのｄベクトルで直接的に調整され得る。これにより、ネットワークが単一のオーディオクリップから未確認の声を生成できるようになる場合がある。合成に使用する話者の特性は音声から推論されるため、トレーニングセット外部の話者からのオーディオで調整され得る。第２のアプローチでは、ランダムサンプルｄベクトルを取得することができ、テキストエンコーダ１２２は、ランダムサンプルｄベクトルで調整されてよい。話者エンコーダは大量の話者を元にしてトレーニングされる可能性があるため、ランダムなｄベクトルによってランダムな話者が生成されることもある。
【００４３】
図４は、ターゲット話者の声で話されるテキストのオーディオ表現を生成するための例示的なプロセス４００のフローチャートである。例示的なプロセスは、本明細書に従って適切にプログラムされたシステムによって実行されるものとして説明される。
【００４４】
システムは、ターゲット話者の音声のオーディオ表現を取得する（４０５）。例えば、オーディオ表現はオーディオ記録ファイルの形式にすることができ、オーディオは１つまたは複数のマイクによって捉えられ得る。
【００４５】
システムは、音声がターゲット話者の声で合成される入力テキストを取得する（４１０）。例えば、入力テキストはテキストファイルの形式にすることができる。
システムは、話者を互いに区別するようにトレーニングされた話者検証ニューラルネットワークにオーディオ表現を提供することによって話者埋め込みベクトルを生成する（４１５）。例えば、話者検証ニューラルネットワークはＬＳＴＭニューラルネットワークにすることができ、話者埋め込みベクトルはＬＳＴＭニューラルネットワークの隠れ層の出力にすることができる。
【００４６】
一部の実装形態では、システムは、オーディオ表現の複数の重なり合うスライディングウィンドウを話者検証ニューラルネットワークに提供して、複数の個別のベクトル埋め込みを生成する。例えば、オーディオ表現は、約８００ミリ秒の長さ（例えば、７５０ミリ秒以下、７００ミリ秒以下、６５０ミリ秒以下）のウィンドウに分割することができ、重なりは約５０％（例えば、６０％以上、６５％以上、７０％以上）にすることができる。次に、システムは、個別のベクトル埋め込みの平均を計算することにより、話者埋め込みベクトルを生成できる。
【００４７】
一部の実装形態では、話者検証ニューラルネットワークは、埋め込み空間内で互いに近接している同じ話者からの音声のオーディオ表現の話者埋め込みベクトル、例えば、ｄベクトルを生成するようにトレーニングされている。話者検証ニューラルネットワークは、互いに離れた異なる話者からの音声のオーディオ表現の話者埋め込みベクトルを生成するようにトレーニングされてよい。
【００４８】
システムは、入力テキストと話者埋め込みベクトルとを、オーディオ表現を生成するために参照話者の声を使用してトレーニングされたスペクトログラム生成ニューラルネットワークに提供することによって、ターゲット話者の声で話される入力テキストのオーディオ表現を生成する（４２０）。
【００４９】
一部の実装形態では、スペクトログラム生成ニューラルネットワークのトレーニング中に、話者埋め込みニューラルネットワークのパラメータが固定されている。
一部の実装形態では、スペクトログラム生成ニューラルネットワークは、話者検証ニューラルネットワークとは別にトレーニングされてよい。
【００５０】
一部の実装形態では、話者埋め込みベクトルは、話者検証ニューラルネットワークまたはスペクトログラム生成ニューラルネットワークのトレーニング中に使用される話者埋め込みベクトルとは異なる。
【００５１】
一部の実装形態では、スペクトログラム生成ニューラルネットワークは、音素または書記素入力のシーケンスからメルスペクトログラムを予測するようにトレーニングされたシーケンスツーシーケンスアテンションニューラルネットワークである。例えば、スペクトログラム生成ニューラルネットワークアーキテクチャは、タコトロン２（Ｔａｃｏｔｒｏｎ  ２）に基づくことが可能である。タコトロン２ニューラルネットワークアーキテクチャの詳細については、シェン（Ｓｈｅｎ）らによる議事録で公開された「メルスペクトログラム予測でウェーブネットを調整することによる自然なＴＩＳ合成」（２０１８年の音響、音声、および信号処理に係るＩＥＥＥ国際会議（ＩＣＡＳＳＰ））に記載されている。
【００５２】
一部の実装形態では、スペクトログラム生成ニューラルネットワークは、エンコーダニューラルネットワーク、アテンション層、およびデコーダニューラルネットワークを含むスペクトログラム生成ニューラルネットワークを含む。一部の実装形態では、スペクトログラム生成ニューラルネットワークは、話者埋め込みベクトルを、アテンション層への入力として提供されるエンコーダニューラルネットワークの出力と連結する。
【００５３】
一部の実装形態では、エンコーダニューラルネットワークとシーケンスツーシーケンスアテンションニューラルネットワークは、不均衡で共通要素のない話者のセットでトレーニングされ得る。エンコーダニューラルネットワークは、話者同士を区別するようにトレーニングされてよく、これにより、話者の特性をより確実に反映（ｔｒａｎｓｆｅｒ）できるようになる。
【００５４】
システムは、出力用にターゲット話者の声で話された入力テキストのオーディオ表現を提供する（４２５）。例えば、システムは入力テキストの時間領域表現を生成できる。
一部の実装形態では、システムは、ターゲット話者の声で話された入力テキストのオーディオ表現をボコーダに提供して、ターゲット話者の声で話された入力テキストの時間領域表現を生成する。システムは、再生用の時間領域表現をユーザに提供できる。
【００５５】
一部の実装形態では、ボコーダはボコーダニューラルネットワークである。例えば、ボコーダニューラルネットワークは、合成ネットワークによって生成された合成されたメルスペクトログラムを時間領域の波形に反転できるサンプルごとの自己回帰ウェーブネットであってよい。ボコーダニューラルネットワークには、複数の拡張畳み込み層を含み得る。
【００５６】
図５は、本明細書において説明する技術を実装するために使用することができるコンピューティングデバイス５００およびモバイルコンピューティングデバイス４５０の例を示している。コンピューティングデバイス５００は、ラップトップ、デスクトップ、ワークステーション、個人用情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形態のデジタル・コンピュータを表すように意図されている。モバイルコンピューティングデバイス４５０は、個人用情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、様々な形態のモバイルデバイスを表すよう意図されている。本明細書に示されるコンポーネント、コンポーネント同士の接続および関係と、コンポーネントの機能とは、例示としてのみ意図されており、限定するようには意図されていない。
【００５７】
コンピューティングデバイス５００は、プロセッサ５０２と、メモリ５０４と、記憶デバイス５０６と、メモリ５０４および複数の高速拡張ポート５１０に接続している高速インタフェース５０８と、低速拡張ポート５１４および記憶デバイス５０６に接続している低速インタフェース５１２とを備える。プロセッサ５０２、メモリ５０４、記憶デバイス５０６、高速インタフェース５０８、高速拡張ポート５１０、および低速インタフェース５１２の各々は、様々なバスを用いて相互接続されており、共通のマザーボードに取り付けられていることもあれば、適切な場合には他の態様により取り付けられていることもある。プロセッサ５０２は、高速インタフェース５０８に結合されているディスプレイ５１６などの外部の入出力デバイス上においてグラフィカルユーザインタフェース（ＧＵＩ）用のグラフィカル情報を表示するためのメモリ５０４または記憶デバイス５０６に記憶されている命令を含む、コンピューティングデバイス５００内における実行のための命令を処理することが可能である。他の実装では、複数のプロセッサおよび／または複数のバスは、適切な場合、複数のメモリおよびある種のメモリとともに使用されてよい。さらに、複数のコンピューティングデバイスが接続されて、各デバイスが必要な動作のうちの部分を提供してよい（例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステム）。
【００５８】
メモリ５０４は、コンピューティングデバイス５００内において情報を記憶する。いくつかの実装では、メモリ５０４は、１つ以上の揮発性メモリユニットである。いくつかの実装では、メモリ５０４は、１つ以上の不揮発性メモリユニットである。さらに、メモリ５０４は、磁気ディスクまたは光学ディスクなどの、別の形態のコンピュータ可読媒体であってもよい。
【００５９】
記憶デバイス５０６は、コンピューティングデバイス５００のために大容量の記憶を提供できる。いくつかの実装では、記憶デバイス５０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッド・ステート・メモリ・デバイス、またはデバイスからなるアレイ（ストレージエリアネットワークまたは他の構成のデバイスを含む）などの、コンピュータ可読媒体であってよい。命令は、情報キャリアに記憶されることが可能である。命令は、１または複数の処理デバイス（例えば、プロセッサ５０２）による実行時に、上述した方法などの１つ以上の方法を実行する。命令は、コンピュータ可読または機械可読媒体（例えば、メモリ５０４、記憶デバイス５０６、またはプロセッサ５０２上のメモリ）などの１または複数の記憶デバイスによって記憶されることも可能である。
【００６０】
高速制御部５０８は、コンピューティングデバイス５００のために帯域集約の動作を管理する一方、低速制御部５１２は、比較的低い帯域集約の動作を管理する。機能のそうした割り当ては、例示にすぎない。いくつかの実装では、高速制御部５０８は、メモリ５０４と、ディスプレイ５１６（例えば、グラフィクスのプロセッサまたはアクセラレータを通じて）と、様々な拡張カード（図示せず）を受容し得る高速拡張ポート５１０とに結合されている。その実装では、低速制御部５１２は、記憶デバイス５０６と低速拡張ポート５１４とに結合されている。様々な通信ポート（例えば、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポート５１４は、キーボード、ポインティングデバイス、スキャナなどの、１つ以上の入出力デバイス、またはスイッチもしくはルータなどのネットワーキングデバイス（例えば、ネットワークアダプタを通じて）に結合されていてよい。
【００６１】
コンピューティングデバイス５００は、図に示すように、多くの異なる形態において実装されてよい。例えば、コンピューティングデバイス５００は、スタンダードサーバ５２０として実装されるか、またはそうしたサーバのグループにおいて複数回にわたって実装されてよい。さらに、コンピューティングデバイス５００は、ラップトップコンピュータ５２２などのパーソナルコンピュータにおいて実装されてよい。さらに、コンピューティングデバイス５００は、ラックサーバシステム５２４の一部として実装されてもよい。これに代えて、コンピューティングデバイス５００のコンポーネントは、モバイルコンピューティングデバイス４５０などのモバイルデバイス（図示せず）における他のコンポーネントと組み合わされてよい。そうしたデバイスの各々は、コンピューティングデバイス５００およびモバイルコンピューティングデバイス４５０のうちの１または複数を含んでよく、システム全体が、互いに通信する複数のコンピューティングデバイスから構成されてもよい。
【００６２】
モバイルコンピューティングデバイス４５０は、プロセッサ５５２と、メモリ５６４と、ディスプレイ５５４などの入出力デバイスと、通信インタフェース５６６と、送受信機５６８とをコンポーネントとして特に備える。モバイルコンピューティングデバイス４５０には、追加の記憶部を提供するために、マイクロドライブまたは他のデバイスなどの記憶デバイスがさらに提供されてよい。プロセッサ５５２、メモリ５６４、ディスプレイ５５４、通信インタフェース５６６、および送受信機５６８の各々は、様々なバスを用いて相互接続されており、コンポーネントのうちのいくつかは、共通のマザーボードに取り付けられていることもあれば、適切な場合には他の態様により取り付けられていることもある。
【００６３】
プロセッサ５５２は、モバイルコンピューティングデバイス４５０内において、メモリ５６４に記憶されている命令を含む命令を実行できる。プロセッサ５５２は、別個の複数のアナログプロセッサおよびデジタルプロセッサを含むチップからなるチップセットとして実装されてよい。プロセッサ５５２は、例えば、ユーザインタフェースの制御などのモバイルコンピューティングデバイス４５０の他のコンポーネントの協調と、モバイルコンピューティングデバイス４５０によって動作させられるアプリケーションと、モバイルコンピューティングデバイス４５０による無線通信とを可能にする。
【００６４】
プロセッサ５５２は、ディスプレイ５５４に結合されている制御インタフェース５５８およびディスプレイインタフェース５５６を通じてユーザと通信し得る。ディスプレイ５５４は、例えば、ＴＦＴ（薄膜トランジスタ液晶ディスプレイ）ディスプレイもしくはＯＬＥＤ（有機発光ダイオード）ディスプレイ、または他の適切なディスプレイ技術であってよい。ディスプレイインタフェース５５６は、グラフィカル情報および他の情報をユーザに提示するためにディスプレイ５５４を動作させるための適切な回路を備えてよい。制御インタフェース５５８は、ユーザからコマンドを受信し、プロセッサ５５２に渡すためにそのコマンドを変換してよい。さらに、外部インタフェース５６２は、他のデバイスとのモバイルコンピューティングデバイス４５０の近領域通信を可能にするように、プロセッサ５５２と通信していてもよい。外部インタフェース５６２は、例えば、いくつかの実装実施形態における有線通信または他の実装における無線通信を可能にする場合があり、さらに、複数のインタフェースが用いられてよい。
【００６５】
メモリ５６４は、モバイルコンピューティングデバイス４５０内において、情報を記憶する。メモリ５６４は、１つ以上のコンピュータ可読媒体と、１つ以上の揮発性メモリユニットと、１つ以上の不揮発性メモリユニットと、のうちの１つ以上として実装されることが可能である。さらに、拡張メモリ５７４が提供されるとともに、例えば、ＳＩＭＭ（シングルインラインメモリモジュール）カードインタフェースを含み得る拡張インタフェース５７２を通じてモバイルコンピューティングデバイス４５０に接続されてよい。その拡張メモリ５７４によって、モバイルコンピューティングデバイス４５０のための余分な記憶スペースが提供される場合もあれば、また、モバイルコンピューティングデバイス４５０のためのアプリケーションまたは他の情報が記憶される場合もある。具体的には、拡張メモリ５７４は、上述した処理を実行し、または補完するための命令を含んでよく、さらに、セキュア情報も含んでいてよい。したがって、例えば、拡張メモリ５７４は、モバイルコンピューティングデバイス４５０のためのセキュリティモジュールとして提供される場合もあり、モバイルコンピューティングデバイス４５０のセキュアな使用を可能にする命令に関しプログラムされていてもよい。さらに、セキュアアプリケーションは、ハッキング不可能な態様により識別情報をＳＩＭＭカード上に配置することなど、追加の情報とともにＳＩＭＭカードを介して提供される場合がある。
【００６６】
メモリは、例えば、下記のように、フラッシュメモリおよび／またはＮＶＲＡＭメモリ（不揮発性ランダムアクセスメモリ）を含み得る。いくつかの実装では、命令は、命令が１または複数の処理デバイス（例えば、プロセッサ５５２）により実行されたときに上述した方法などの１つ以上の方法を実行する、情報キャリアに記憶される。命令は、１または複数のコンピュータ可読または機械可読媒体（例えば、メモリ５６４、拡張メモリ５７４、またはプロセッサ５５２上のメモリ）などの１または複数の記憶デバイスによって記憶されることも可能である。いくつかの実装では、命令は、例えば、送受信機５６８または外部インタフェース５６２を通じて、伝搬信号により受信されることが可能である。
【００６７】
モバイルコンピューティングデバイス４５０は、必要な場合にはデジタル信号処理回路を含み得る通信インタフェース５６６を通じて無線により通信できる。通信インタフェース５６６は、特に、ＧＳＭ（モバイル通信用グローバルシステム）（登録商標）ボイスコール、ＳＭＳ（ショートメッセージサービス）、ＥＭＳ（拡張メッセージサービス）、またはＭＭＳ（マルチメディアメッセージサービス）、ＣＤＭＡ（符号分割多元接続）、ＴＤＭＡ（時分割多元接続）、ＰＤＣ（パーソナルデジタルセルラ）、ＷＣＤＭＡ（広帯域符号分割多元接続）（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳ（汎用パケット無線システム）など、様々なモードまたはプロトコルの下、通信を可能にし得る。そうした通信は、例えば、無線周波数を用いた送受信機５６８を通じて行われてよい。さらに、狭域通信は、Ｂｌｕｅｔｏｏｔｈ、ＷｉＦｉ（登録商標）、または他のそうした送受信機（図示せず）を用いることなどによって、行われてもよい。さらに、ＧＰＳ（全地球測位システム）受信機モジュール５７０は、航行および場所に関係する追加の無線データをモバイルコンピューティングデバイス４５０に提供でき、その無線データは、適切な場合には、モバイルコンピューティングデバイス４５０上において動作するアプリケーションによって使用されてもよい。
【００６８】
さらに、モバイルコンピューティングデバイス４５０は、ユーザから音声情報を受信し、これを使用に適したデジタル情報に変換できる音声コーデック５６０を用いて可聴の通信を行ってもよい。音声コーデック５６０は、例えば、モバイルコンピューティングデバイス４５０のハンドセットにおいて、スピーカを通じることなどによりユーザに対して可聴音を同様に生成してよい。そうした音は、音声通話からの音を含む場合もあれば、記録された音（例えば、ボイスメッセージ、音楽ファイルなど）を含む場合もあれば、また、モバイルコンピューティングデバイス４５０上において動作するアプリケーションによって生成される音を含む場合もある。
【００６９】
コンピューティングデバイス４５０は、図に示すように、多くの異なる形態により実装されてよい。例えば、コンピューティングデバイス４５０は、携帯電話５８０として実装されてよい。コンピューティングデバイス４５０は、スマートフォン５８２、個人用情報端末、または他の同様のモバイルデバイスの一部として実装されてもよい。
【００７０】
本明細書に記載されたシステムおよび技術の様々な実装は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組み合わせにより実現することができる。これらの様々な実装は、記憶システム、１以上の入力デバイス、および１以上の出力デバイスからデータおよび命令を受信し、また記憶システム、１以上の入力デバイス、および１以上の出力デバイスにデータおよび命令を送信するように結合された１以上のプログラム可能なプロセッサを含むプログラマブルシステム上で実行可能および／または解釈可能な１または複数のコンピュータプログラムにおける実装を含むことが可能である。
【００７１】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている）は、プログラム可能なプロセッサ用のマシン命令を含み、高度な手続き型および／またはオブジェクト指向プログラミング言語および／またはアセンブリ言語／機械語により実装されることが可能である。プログラムは、マークアップ言語ドキュメントに格納されている１つ以上のスクリプト等である他のプログラムまたはデータを保持するファイルの一部に格納できる。プログラムは、当該プログラム専用の単一のファイルに保存できる。またはプログラムは、複数の調整されたファイル、例えば、１つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイルに格納できる。コンピュータプログラムは、１台のコンピュータ、または１つのサイトに配置されているか、複数のサイトに分散され、通信ネットワークによって相互接続されている複数のコンピュータで実行されるようにデプロイ可能である。
【００７２】
本明細書にて用いられる「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含むプログラマブルプロセッサに機械命令および／またはデータを提供するように用いられる任意のコンピュータプログラム製品、装置および／またはデバイス（例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス（ＰＬＤ））を指す。「機械可読信号」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するように用いられる任意の信号を指す。
【００７３】
ユーザとの対話を提供するために、本明細書に記載されたシステムおよび技術は、情報をユーザに表示するためのディスプレイデバイス（例えば、ＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタ）と、ユーザがそれによって入力をコンピュータに提供することが可能なキーボードおよびポインティングデバイス（例えば、マウスまたはトラックボール）と、を有するコンピュータ上に実装されてもよい。他の種類のデバイスもまた、ユーザとの対話を提供するように用いられてよく、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック（例えば、視覚フィードバック、聴覚フィードバック、または触知フィードバック）であることが可能であり、ユーザからの入力は、音響入力、音声入力、または触知入力を含む任意の形態により受信されることが可能である。
【００７４】
本明細書に記載されたシステムおよび技術は、バックエンドコンポーネント（例えば、データサーバとして）を含むコンピューティングシステム、ミドルウェアコンポーネント（例えば、アプリケーションサーバ）を含むコンピューティングシステム、フロントエンドコンポーネント（例えば、ユーザが本明細書に記載されたシステムおよび技術の実装と対話可能なグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ）を含むコンピューティングシステム、またはそうしたバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組み合わせにより実装されることが可能である。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体（例えば、通信ネットワーク）によって相互接続されることが可能である。通信ネットワークの例としては、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、およびインターネットが含まれる。
【００７５】
コンピューティングシステムは、クライアントおよびサーバを含むことが可能である。クライアントおよびサーバは、一般に、互いに遠く離れており、典型的には、通信ネットワークを介してインタラクトする。クライアントとサーバとの関係は、個々のコンピュータ上で動作し、かつ互いにクライアント−サーバ関係を有するコンピュータプログラムにより生じる。
【００７６】
上記に加えて、本明細書に記載のシステム、プログラムまたは機能がユーザ情報（例えば、ユーザのソーシャルネットワーク、社会的アクションまたはアクティビティ、職業、ユーザプリファレンス、またはユーザの現在の位置に関する情報）の収集を可能にするかどうか、およびいつ可能であるかについて、ユーザにサーバからコンテンツまたは通信が送信されるかについて、まずユーザが選択を行うことを可能にする制御をユーザに提供することができる。さらに、特定のデータは、個人識別可能な情報が削除されるように、保管または使用される前に１つ以上の方法で処理される場合がある。
【００７７】
一部の実施形態では、例えば、ユーザの識別情報は、そのユーザについて個人識別可能な情報を決定することができないように扱われてもよく、またはユーザの地理的位置は、位置情報が得られる場所（都市、郵便番号、州レベルなど）ユーザの特定の場所を特定することができない。したがって、ユーザは、ユーザに関する情報の何が収集され、この情報がどのように使用され、どのような情報がユーザに提供されるかについて制御することができる。
【００７８】
いくつかの実施形態が記載された。それでも、本発明の範囲から逸脱することなく様々は変形が行われてもよいことが理解されるであろう。例えば、上記のフローの様々な形態を使用して、ステップを並べ替え、追加、または削除することができる。また、システムおよび方法のいくつかの用途が説明されているが、他の多くの用途が企図されていることを認識すべきである。したがって、他の実施形態は、以下の請求の範囲内のものである。
【００７９】
主題の特定の実施形態が説明された。他の実施形態は、以下の請求の範囲内である。例えば、請求の範囲に記載されたアクションは、異なる順序で実行することができ、それでも所望の結果を達成することができる。一例として、所望の結果を達成するために、添付の図に示されているプロセスは、必ずしも示されている特定の順序または順次的順序を必要としない。場合によっては、マルチタスクと並列処理が有利な場合がある。
【図１】
2021524063.tif 000003
【図２】
2021524063.tif 000004
【図３】
2021524063.tif 000005
【図４】
2021524063.tif 000006
【図５】
2021524063.tif 000007
【国際調査報告】
2021524063.tif 000008
2021524063.tif 000009