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

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

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

<>
  • 特許-エンドツーエンドの音声変換 図1
  • 特許-エンドツーエンドの音声変換 図2
  • 特許-エンドツーエンドの音声変換 図3
  • 特許-エンドツーエンドの音声変換 図4
  • 特許-エンドツーエンドの音声変換 図5
  • 特許-エンドツーエンドの音声変換 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】エンドツーエンドの音声変換
(51)【国際特許分類】
   G10L 21/007 20130101AFI20240717BHJP
   G10L 25/30 20130101ALI20240717BHJP
   G10L 21/013 20130101ALI20240717BHJP
   G10L 13/00 20060101ALI20240717BHJP
   G10L 13/10 20130101ALI20240717BHJP
【FI】
G10L21/007
G10L25/30
G10L21/013
G10L13/00 100Z
G10L13/10 111B
G10L13/10 111C
G10L13/10 111D
G10L13/10 113Z
【請求項の数】 20
(21)【出願番号】P 2023036090
(22)【出願日】2023-03-09
(62)【分割の表示】P 2021549246の分割
【原出願日】2019-11-26
(65)【公開番号】P2023065681
(43)【公開日】2023-05-12
【審査請求日】2023-03-09
(31)【優先権主張番号】62/808,627
(32)【優先日】2019-02-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ビアジー、ファディ
(72)【発明者】
【氏名】ワイス、ロン ジェイ.
(72)【発明者】
【氏名】クラカン、アレクサンダー
(72)【発明者】
【氏名】モレノ メンヒバル、ペドロ ジェイ.
【審査官】大野 弘
(56)【参考文献】
【文献】再公表特許第2008/142836(JP,A1)
【文献】特開昭63-231495(JP,A)
【文献】特開2005-266349(JP,A)
【文献】ALBERT HAQUE; ET AL,CONDITIONAL END-TO-END AUDIO TRANSFORMS,ARXIV:1804.00047V1,CORNELL UNIVERSITY LIBRARY,2018年03月30日,NPL 22-004837
(58)【調査した分野】(Int.Cl.,DB名)
G10L 21/007
G10L 25/30
G10L 21/013
G10L 13/00
G10L 13/10
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア上で実行されるコンピュータにより実装される方法であって、
第1の訛りで行われた発話の特徴を示す複数のソースオーディオフレームからなるシーケンスを受信することと、
音声変換モデルのエンコーダを用いて、複数のソースオーディオフレームからなる前記シーケンスを処理することにより、前記第1の訛りで行われた前記発話の特徴を示す複数のソース内部表現からなるシーケンスを生成することと、
前記音声変換モデルのデコーダを用いて、複数のソース内部表現からなる前記シーケンスを処理することにより、前記第1の訛りとは異なる第2の訛りでの前記発話の合成音声表現の特徴を示す複数のターゲットオーディオフレームからなるシーケンスを生成することと、
コンピューティングデバイスによる出力のために、前記第2の訛りでの前記発話の前記合成音声表現を提供することと、
を含む動作を前記データ処理ハードウェアに実行させ
前記音声変換モデルは、前記第1の訛りで行われた前記発話における語のそれぞれの間の期間を調整するように構成されており、
前記第1の訛りで行われた前記発話における前記語のそれぞれの間の前記期間は、前記第2の訛りでの前記発話における語のそれぞれの間の期間とは異なる、方法。
【請求項2】
複数のソース内部表現からなる前記シーケンスを処理することにより、第2の訛りでの前記発話の合成音声表現を生成することは、
複数のソースオーディオフレームからなる前記シーケンスに対する音声認識を実行せずに、複数のソース内部表現からなる前記シーケンスを処理することにより、前記合成音声表現を生成することを含む、
請求項1に記載のコンピュータにより実装される方法。
【請求項3】
複数のソースオーディオフレームからなる前記シーケンスは、複数の入力スペクトログラムからなるシーケンスを含む、
請求項1に記載のコンピュータにより実装される方法。
【請求項4】
複数のターゲットオーディオフレームからなる前記シーケンスは、複数の出力スペクトログラムからなるシーケンスを含む、
請求項1に記載のコンピュータにより実装される方法。
【請求項5】
前記第1の訛りで行われた前記発話の抑揚は、前記第2の訛りでの前記発話の前記合成音声表現の抑揚とは異なる、
請求項1に記載のコンピュータにより実装される方法。
【請求項6】
前記エンコーダは、双方向長短期記憶メモリ(LSTM)レイヤーを含む、
請求項1に記載のコンピュータにより実装される方法。
【請求項7】
前記デコーダは、アテンション付きのスペクトログラムデコーダを含む、
請求項1に記載のコンピュータにより実装される方法。
【請求項8】
前記動作は、
複数の発話からなるコレクションのオーディオデータを受信することと、
前記複数の発話からなるコレクションにおける各発話の転写を取得することと、
テキストを音声にするモデルへの入力として、各発話の前記転写を提供することと、
各発話の転写ごとに、合成ボイスでの複数の発話からなる追加コレクションのオーディオデータを受信することと、
前記複数の発話からなるコレクションの前記オーディオデータと、合成ボイスでの複数の発話からなる追加コレクションの前記オーディオデータを使用して、前記モデルを訓練することと、を含む、
請求項1に記載のコンピュータにより実装される方法。
【請求項9】
前記動作は、前記発話の転写を取得することを省略することを含む、
請求項1に記載のコンピュータにより実装される方法。
【請求項10】
前記第1の訛りで行われた前記発話における前記語のそれぞれの発言時間は、前記第2の訛りでの前記発話における前記語のそれぞれの発言時間とは異なる、
請求項1に記載のコンピュータにより実装される方法。
【請求項11】
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアと、を備えるシステムであって、前記メモリハードウェアは命令を記憶し、該命令は、前記データ処理ハードウェア上で実行されたとき、
第1の訛りで行われた発話の特徴を示す複数のソースオーディオフレームからなるシーケンスを受信することと、
音声変換モデルのエンコーダを用いて、複数のソースオーディオフレームからなる前記シーケンスを処理することにより、前記第1の訛りで行われた前記発話の特徴を示す複数のソース内部表現からなるシーケンスを生成することと、
前記音声変換モデルのデコーダを用いて、複数のソース内部表現からなる前記シーケンスを処理することにより、前記第1の訛りとは異なる第2の訛りでの前記発話の合成音声表現の特徴を示す複数のターゲットオーディオフレームからなるシーケンスを生成することと、
コンピューティングデバイスによる出力のために、前記第2の訛りでの前記発話の前記合成音声表現を提供することと、
を含む動作を前記データ処理ハードウェアに実行させ
前記音声変換モデルは、前記第1の訛りで行われた前記発話における語のそれぞれの間の期間を調整するように構成されており、
前記第1の訛りで行われた前記発話における前記語のそれぞれの間の前記期間は、前記第2の訛りでの前記発話における語のそれぞれの間の期間とは異なる、システム。
【請求項12】
複数のソース内部表現からなる前記シーケンスを処理することにより、第2の訛りでの前記発話の合成音声表現を生成することは、
複数のソースオーディオフレームからなる前記シーケンスに対する音声認識を実行せずに、複数のソース内部表現からなる前記シーケンスを処理することにより、前記合成音声表現を生成することを含む、
請求項11に記載のシステム。
【請求項13】
複数のソースオーディオフレームからなる前記シーケンスは、複数の入力スペクトログラムからなるシーケンスを含む、
請求項11に記載のシステム。
【請求項14】
複数のターゲットオーディオフレームからなる前記シーケンスは、複数の出力スペクトログラムからなるシーケンスを含む、
請求項11に記載のシステム。
【請求項15】
前記第1の訛りで行われた前記発話の抑揚は、前記第2の訛りでの前記発話の前記合成音声表現の抑揚とは異なる、
請求項11に記載のシステム。
【請求項16】
前記エンコーダは、双方向長短期記憶メモリ(LSTM)レイヤーを含む、
請求項11に記載のシステム。
【請求項17】
前記デコーダは、アテンション付きのスペクトログラムデコーダを含む、
請求項11に記載のシステム。
【請求項18】
前記動作は、
複数の発話からなるコレクションのオーディオデータを受信することと、
前記複数の発話からなるコレクションにおける各発話の転写を取得することと、
テキストを音声にするモデルへの入力として、各発話の前記転写を提供することと、
各発話の転写ごとに、合成ボイスでの複数の発話からなる追加コレクションのオーディオデータを受信することと、
前記複数の発話からなるコレクションの前記オーディオデータと、合成ボイスでの複数の発話からなる追加コレクションの前記オーディオデータを使用して、前記モデルを訓練することと、を含む、
請求項11に記載のシステム。
【請求項19】
前記動作は、前記発話の転写を取得することを省略することを含む、
請求項11に記載のシステム。
【請求項20】
前記第1の訛りで行われた前記発話における前記語のそれぞれの発言時間は、前記第2の訛りでの前記発話における前記語のそれぞれの発言時間とは異なる、
請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、一般に音声処理に関する。
【背景技術】
【0002】
音声処理は、信号の処理方法および音声信号を対象とする。信号は通常デジタル表現で処理されるため、音声処理は音声信号に適用されるデジタル信号処理の特殊なケースと言える。音声処理の態様は、音声信号の取得、操作、記憶、転送、および出力を含む。
【発明の概要】
【発明が解決しようとする課題】
【0003】
音声シンセサイザは通常、入力として転写を必要とする。音声シンセサイザは転写を受信し、転写の合成発話のオーディオデータを出力する。ユーザの音声を合成発話に変換するには、自動音声レコグナイザは、ユーザの音声の転写を生成するために、ユーザの音声のオーディオデータに対して自動音声認識を実行する必要がある。次に、音声シンセサイザは、ユーザの音声の転写の合成発話を生成する。
【0004】
自動音声認識および音声合成を実行するこの技術は、コンピューティングシステムに負担をかける可能性がある。ユーザの音声に対して自動音声認識を実行する必要なしに、ユーザから受信した音声オーディオをユーザのボイス以外のボイスの音声オーディオに変換できるプロセスがあれば有益であろう。
【課題を解決するための手段】
【0005】
以下の説明では、機械学習を使用して訓練されたモデルを使用して、音声認識を実行せずに、発言者のボイスでのオーディオを異なるボイスでの音声オーディオに変換するプロセスについて説明する。モデルは、発言者が話した音声オーディオを受信し、音声オーディオを数学的表現に変換する。モデルは、発言者が話した音声オーディオに対して音声認識を実行せずに、数学的表現を異なるボイスでの音声オーディオに変換する。
【0006】
一部の実装形態では、音声合成システムは、第1のボイスでの発話を含む第1のオーディオデータを、第2のボイスでの同じ発話を含む第2のオーディオデータに変換することができる。変換は、オーディオを中間表現(テキスト、電話など)に変換せずに、第1のオーディオデータのサンプルまたはフィーチャに直接作用することによって実行される。システムは、シーケンスツーシーケンスを使用して、バックグラウンドノイズを含む可能性のある任意の音声を正規化し、事前定義された単一のターゲット発言者のボイスで同じコンテンツを生成できる。ソース音声は、任意の訛りのまたは発言者からのものであり、複雑な韻律パターン、欠陥、およびバックグラウンドノイズが含まれている可能性があり、これらはすべて、第1のオーディオデータが、固定された訛りと一貫したアーティキュレーションと韻律を有するクリーンな第2のオーディオデータに変換されるときに、正規化プロセスによって除去される。言い換えれば、このシステムを使用して、発言者の特性を含むすべての非言語情報を除外し(project away)、誰が、どのように、どこで話したかではなく、言ったことのみを保持することができる。
【0007】
このタイプの正規化には、複数の潜在的な用途がある。ボイスをクリーンなオーディオの単一の発言者に完全に正規化すると、音声認識モデルが大幅に簡素化され、単一の発言者をサポートするだけでよい。発言者の識別情報を除去すると、機密性の高いプライベートな音声データをログに記録するときに役立つ場合があり、これにより、ユーザは変換された音声のみをサーバに送信できる(「音響」識別情報は消去)。すべての訛りを事前定義された訛りの単一のボイスにすると、たとえば採用委員会に与えられる録音された候補者の話または電話インタビューなどの音響的にマスクされたオーディオとは対照的に、自然な人間のボイスを維持しながら、偏見や差別を軽減することもできる。別の用途は、聞き手にとって異質な訛りの音声内容の理解を容易にすること、すなわち、訛りの強い音声の理解し易さを改善することであろう。
【0008】
本出願に記載される主題の革新的な態様によれば、エンドツーエンドの音声変換の方法は、コンピューティングデバイスが、ユーザによって話された1つまたは複数の第1の語からなる第1の発話の第1のオーディオデータを受信することと、コンピューティングデバイスが、第1のボイスで話された1つまたは複数の所与の第1の語からなる所与の第1の発話の所与の第1のオーディオデータを受信し、所与の第1のオーディオデータに対して音声認識を実行せずに、合成ボイスで話される1つまたは複数の所与の第1の語からなる所与の第2の発話の所与の第2のオーディオデータを出力するように構成されるモデルへの入力として第1のオーディオデータを提供することと、モデルへの入力として第1のオーディオデータを提供することに応じて、コンピューティングデバイスが、合成ボイスで話される1つまたは複数の第1の語からなる第2の発話の第2のオーディオデータを受信することと、コンピューティングデバイスによる出力のために、合成ボイスで話される1つまたは複数の第1の語からなる第2の発話の第2のオーディオデータを提供することと、のアクションを含む。
【0009】
これらおよびその他の実装には、それぞれ任意選択により次のフィーチャの1つ以上を含めることができる。アクションは、コンピューティングデバイスが、所与の人間と会話を行うように構成されたボットが人間から受信した第3の発話に対する応答を生成するように構成されていないことを示すデータを受信することと、ボットが人間から受信した第3の発話に対して応答を生成するように構成されていないことを示すデータを受信することに基づいて、コンピューティングデバイスが、人間のオペレータに、人間から受信した第3の発話に応じるよう要求を送信することと、をさらに含む。ユーザによって話された1つまたは複数の第1の語からなる第1の発話の第1のオーディオデータを受信するアクションは、第3の発話に応じて人間のオペレータによって話された1つまたは複数の第1の語からなる第1の発話の第1のオーディオデータを受信することを含む。ユーザによって話された1つまたは複数の第1の語からなる第1の発話の第1のオーディオデータを受信するアクションは、電話に応えている間にユーザによって話された1つまたは複数の第1の語からなる第1の発話の第1のオーディオデータを受信することを含む。
【0010】
アクションは、複数の発話からなるコレクションのオーディオデータを受信することと、複数の発話からなるコレクションにおける各発話の転写を取得することと、テキストを音声にするモデルへの入力として、各発話の転写を提供することと、各発話の転写ごとに、合成ボイスでの複数の発話からなる追加コレクションのオーディオデータを受信することと、複数の発話からなるコレクションのオーディオデータと、合成ボイスでの複数の発話からなる追加コレクションのオーディオデータを使用して、モデルを訓練することと、をさらに含む。アクションは、コンピューティングデバイスが、追加のユーザによって話された1つまたは複数の第3の語からなる第3の発話の第3のオーディオデータを受信することと、コンピューティングデバイスが、モデルへの入力として第3のオーディオデータを提供することと、モデルへの入力として第3のオーディオデータを提供することに応じて、コンピューティングデバイスが、合成ボイスで話される1つまたは複数の第3の語からなる第4の発話の第4のオーディオデータを受信することと、コンピューティングデバイスによる出力のために、合成ボイスで話される1つまたは複数の第3の語からなる第4の発話の第4のオーディオデータを提供することと、をさらに含む。アクションは、コンピューティングデバイスが、第1の発話の転写を取得することを省略することをさらに含む。モデルは、所与の1つまたは複数の第1の語のそれぞれの間の期間を調整するように構成されている。モデルは、所与の1つまたは複数の第1の語のそれぞれの発言時間を調整するように構成されている。
【0011】
この態様の他の実装は、対応するシステム、装置、およびコンピュータ記憶装置に記録されたコンピュータプログラムを含み、それぞれが方法の動作を実行するように構成されている。
【0012】
本明細書に記載されている主題の特定の実装は、以下の利点のうちの1つまたは複数を実現するように実施することができる。コンピューティングシステムは、ユーザのボイスで話された発話のオーディオデータを受信し、受信したオーディオデータに対して自動音声認識を実行する追加のオーバーヘッドなしに、合成ボイスで話される合成発話のオーディオデータを出力することができる。
【0013】
本明細書に記載の主題の1つまたは複数の実装の詳細は、添付の図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなる。
【図面の簡単な説明】
【0014】
図1】音声認識を実行せずに、ユーザから受信した音声オーディオを合成音声オーディオに変換するシステム例を示す図。
図2】自動ボットとユーザとの間の会話に入り込んでいるオペレータから受信した音声オーディオを、自動ボットを模倣した音声オーディオに変換するシステム例を示す図。
図3】電話をスクリーニングしている着信者から受信した音声オーディオを、着信者が電話に応えたと発信者が判断することを抑止する音声オーディオに変換するシステム例を示す図。
図4】音声認識を実行せずに、ユーザから受信した音声オーディオを合成音声オーディオに変換するための例示的なプロセスのフローチャート。
図5】ユーザから受信した音声オーディオを、音声認識を実行せずにユーザよりもピッチが高く、発話速度が速い合成音声オーディオに変換するシステムのネットワークアーキテクチャの例を示す図。
図6】コンピューティングデバイスおよびモバイルコンピューティングデバイスの例を示す図。
【発明を実施するための形態】
【0015】
さまざまな図面での同様の参照番号と指示は、同様の要素を示す。
図1は、音声認識を実行せずに、ユーザ104から受信した音声オーディオ102を合成音声オーディオ106に変換する例示的なシステム100を示している。以下で簡潔に、および、より詳細に説明するように、英国訛りで話すユーザ104は、コンピューティングデバイス110の近くで発話108を行う。コンピューティングデバイス110は、発話108のオーディオデータ102を音声間変換サーバ(音声から音声への変換サーバ)112に送信する。音声間変換サーバ112は、発話108のオーディオデータ102を、合成発話114のオーディオデータ106に変換する。音声間変換サーバ112は、合成発話114のオーディオデータ106をコンピューティングデバイス116に送信し、コンピューティングデバイス116は、合成発話114を出力する。一部の実装形態では、エンドツーエンド音声変換サーバ112の機能は、コンピューティングデバイス110またはコンピューティングデバイス116、あるいはその両方に組み込まれている。
【0016】
より詳細には、ユーザ104とユーザ118は、コンピューティングデバイス110およびコンピューティングデバイス116を介して互いに話している。ユーザ104およびユーザ118は、電話または別のタイプのボイス通信プロトコル、例えば、ボイスオーバーインターネットプロトコルを介して話していてもよい。ユーザ104とユーザ118は同じ言語を話すことができるが、ユーザ104の訛りが強いので、ユーザ118がユーザ104を理解するのが難しい可能性がある。この例では、ユーザ104は英国人である可能性があり、ユーザ118は、ユーザ104の英国訛り122よりも米国訛り120を理解する方が容易である場合がある。
【0017】
この問題に対処するために、コンピューティングデバイス110は、発話108のオーディオデータ102、およびユーザ104によって話された他の発話を音声間変換サーバ112に提供することができる。音声間変換サーバ112は、訛りを有して話し得るユーザによって話された発話のオーディオデータを、異なる訛りを有し得る合成発話のオーディオデータへと変換するように構成され得る。この変換を達成するには、サーバは、通常であれば、ユーザが訛りを有して話した発話のオーディオデータに対して音声認識を実行するように構成されている。音声レコグナイザは、ユーザの訛りで話された音声を認識するように構成され得るか、または任意の訛りで話された音声を認識するように構成され得る。次に、サーバは、異なる訛りの合成音声のオーディオデータを生成する音声シンセサイザに転写を提供することが考えられる。音声間変換サーバ112は、これとは異なる方法で動作する。
【0018】
音声間変換サーバ112は、コンピューティングデバイス110から発話108のオーディオデータ102を受信し、発話108のオーディオデータ102をモデル124に提供する。音声間変換サーバ112は、英国訛り122で話された発話108のオーディオデータ102を、米国訛り120による合成発話114のオーディオデータ106に変換するようにモデル124を訓練する。音声間変換サーバ112は、この変換を実行するために音声レコグナイザ126を使用しない。音声レコグナイザ126は、変換プロセス中、非アクティブのままであり得る。代わりに、モデル124は、発話108のオーディオデータ102をエンコーダ128に提供する。エンコーダ128は、発話108のオーディオデータ102を一連のベクトルなどの内部表現に変換するように構成され得る。例えば、エンコーダ128が発話108のオーディオデータ102を受信すると、エンコーダ128は5フレームのオーディオを処理し、それらの5フレームのオーディオを10個のベクトルに変換することができる。ベクトルは、オーディオデータ102のフレームの転写ではなく、オーディオデータ102のフレームの数学的表現である。モデル124は、一連のベクトルをスペクトログラムデコーダ130に提供する。スペクトログラムデコーダ130は、エンコーダ128から受信したベクトルに基づいて、合成発話のオーディオデータを生成するように構成され得る。例えば、スペクトログラムデコーダ130は、オーディオの5つのフレームを表すエンコーダ128からの10個のベクトルを受信することができる。スペクトログラムデコーダ130は、オーディオデータの5つのフレームと同じ単語または単語の一部を含むが、ユーザ104とは異なるボイスを有する、合成発話114のオーディオデータ106の5つのフレームを生成する。
【0019】
音声間変換サーバ112は、合成発話114のオーディオデータ106をコンピューティングデバイス116に提供する。図1に示す例では、音声間変換サーバ112は、「明日の予約はできますか?(Can I make an appointment for tomorrow?)」という合成発話のオーディオデータ106を提供する。合成発話114は、米国訛り120を有し得る。一部の実装形態では、合成発話114は、ユーザ104と同じ訛りでユーザ104とは異なるボイスとすることができる。合成発話114のボイスは、ユーザ118または別のユーザがユーザ104を発話108の発言者として識別できないようなものであり得る。一部の実装形態では、合成発話114の抑揚(cadence)は、発話108の抑揚とは異なる可能性がある。音声間変換サーバ112は、合成発話114の抑揚を調整して、ユーザ118が合成発話114を理解することができる可能性を高めることができる。
【0020】
コンピューティングデバイス116は、合成発話114のオーディオデータ106を受信し、スピーカーまたは他のオーディオ出力デバイスを介してオーディオデータ106を出力する。一部の実装形態では、音声間変換サーバ112は、ユーザ104が発話108のうちの対応する部分を話すときに、合成発話114のうちの部分を継続的に生成する。例えば、音声間変換サーバ112は、発話108のうちの1秒分を受信した後、合成発話114のうちの1秒分を生成することができる。合成発話114のうちの部分を連続的に生成することにより、ユーザ104とユーザ1118との間の会話は、より自然なペースで行われることができる。一部の実装形態では、音声間変換サーバ112は、ユーザ104がいつ話すのを停止したかを決定することができる。ユーザ104が話すのを停止したと判断した後、音声間変換サーバ112は、発話108のオーディオデータ102を、合成発話114のオーディオデータ106に変換する。
【0021】
音声間変換サーバ112は、訓練データを生成し、モデル124を訓練するための様々な構成要素を含む。音声間変換サーバ112は、発話転写132および発話オーディオデータ134を含む。発話は、異なるタイプの訛りを持つ異なるユーザによって話された発話である可能性がある。一部の実装形態では、発話転写132は、自動音声レコグナイザによって生成される。各発話の発言者は、転写が発話転写132に記憶され、オーディオデータが発話オーディオデータ134に記憶される前に、転写の正確さを検証することができる。一部の実装形態では、発話転写132は、1人または複数の人によって生成される。
【0022】
音声間変換サーバ112は、発話転写132を音声シンセサイザ136に提供する。音声シンセサイザは、転写132の合成発話オーディオデータ138を生成するように構成される。音声シンセサイザは、単一のボイスによる合成発話オーディオデータ138を生成するように構成され得る。ボイスには、米国訛りまたは英国訛りなどの特定の訛りがある場合がある。合成発話オーディオデータ138は、バックグラウンドノイズまたは他の音声アーチファクトを有していない場合がある。
【0023】
音声間変換サーバ112は、合成発話オーディオデータ138および発話オーディオデータ134をモデル訓練部140に提供する。モデル訓練部140は、機械学習技術を使用してモデル124を訓練する。モデル訓練部140は、発話オーディオデータ134と同様のオーディオデータを受信し、受信したオーディオデータに対して音声認識を実行せずに、合成発話オーディオデータ138と同様のオーディオデータを出力するようにモデル124を訓練する。モデル訓練部140は、モデル124が様々なボイスの様々な発話のオーディオデータを含む様々な入力を受信する場合でさえ、音声シンセサイザ136からの合成発話と同じボイスで発話を出力するようにモデル124を訓練する。
【0024】
一部の実装形態では、音声間変換サーバ112は、様々なオーディオ特性を含む発話オーディオデータ134を使用することができる。これにより、それらの様々な特性を有するオーディオデータの入力を扱うように構成されたモデル124が得られる可能性がある。一部の実装形態では、音声間変換サーバ112は、発話オーディオデータ134にオーディオ特性を追加することができ、その結果、モデル訓練部140は、追加されたオーディオ特性と同様のオーディオ特性を扱うようにモデル124を訓練する。
【0025】
例えば、音声間変換サーバ112は、発話オーディオデータ134に様々なレベルのノイズを追加することができる。様々なレベルのノイズには、定常ノイズおよび/または非定常ノイズなどの様々なタイプのノイズが含まれる場合がある。定常ノイズには、様々なレベルのロードノイズ、カクテルパーティーまたはレストランに似た様々なレベルのバックグラウンド音声ノイズ、様々なレベルのファンノイズ、および/または他の同様のタイプのノイズが含まれる。非定常ノイズには、様々なレベルのテレビノイズ、様々なレベルの突風ノイズ、様々なレベルのバックグラウンドミュージックノイズ、および/または他の同様のタイプのノイズが含まれる可能性がある。音声間変換サーバ112は、同じ発話のオーディオデータに様々なレベルおよび様々なタイプのノイズを追加することができる。これにより、同じ転写に一致する複数のオーディオデータサンプルが生じる可能性があり、ここで、各オーディオデータサンプルは、様々なレベルと様々なタイプのノイズが追加された、同じ土台の発話オーディオデータを含む。ノイズを追加することにより、モデル124は、発話オーディオデータに加えてバックグラウンドノイズを含む受信されたオーディオデータを処理するように、より適切に構成され得る。
【0026】
別例として、音声間変換サーバ112は、筋萎縮性側索硬化症を有するユーザなど、ユーズ(use)が流暢に話すことを妨げる音声障害を有する可能性があるユーザからの発話オーディオデータ134を処理することができる。モデル訓練部140は、音声障害を有するユーザからの発話のオーディオデータと発話の転写とを使用してモデル124を訓練することができ、これによって、モデル124は、音声障害のあるユーザによって話された発話のオーディオデータを受信し、他のユーザが理解しやすいより一貫した抑揚で発話のオーディオデータを出力することができる。
【0027】
別例として、音声間変換サーバ112は、発話を転写することなく、発話を異なる言語に翻訳するように構成され得る。この例では、発話オーディオデータ134は、英語などの第1の言語で話された発話を含み得る。発話転写132は、スペイン語の翻訳などの第2の言語での発話の翻訳の転写を含み得る。音声シンセサイザ136は、スペイン語の合成発話など、第2の言語による合成音声を生成するように構成され得る。モデル訓練部140は、機械学習を使用するとともに、第1の言語の発話オーディオデータ134および第2の言語の合成発話オーディオデータ138を使用して、モデル124を訓練する。結果として得られるモデル124は、第1の言語、例えば英語での発話のオーディオデータを受信し、受信した発話を転写することなく第2の言語、例えばスペイン語の合成発話オーディオデータを出力するように構成される。
【0028】
図2は、自動エージェント206とユーザ208との間の会話に入り込んでいるオペレータ204から受信した音声オーディオ202を、自動エージェント206を模倣した音声オーディオ210に変換する例示的システム200を示している。以下で簡潔に、および、より詳細に説明するように、ユーザ208は、自動エージェント206と会話を行っている。会話中、ユーザ208は、自動エージェント206が応答できない発話212を行う。オペレータ204は、自動エージェント206が発話212に応答できないという標示を受け取る。オペレータ204は、発話212に応答するために発話214を提供する。音声間変換サーバ216は、発話214の音声オーディオ202を自動エージェント206のボイスに変換し、これによって、ユーザ208は、ユーザ208が引き続き同じ当事者と会話をしているかのような印象を持つ。一部の実装形態では、自動エージェント206の機能は、コンピューティングデバイス220またはコンピューティングデバイス234、あるいはその両方に組み込まれている。一部の実装形態では、エンドツーエンド音声変換サーバ216の機能は、コンピューティングデバイス220またはコンピューティングデバイス234、あるいはその両方に組み込まれている。
【0029】
より詳細に、段階Aでは、ユーザ208は、自動エージェント206と電話の会話を始める。コンピューティングデバイス220は、自動エージェント206に接続する。ユーザは発話218を行い、自動エージェントに「2名でテーブルを予約できますか(Can
I reserve a table for two)」と尋ねる。自動エージェント206は、ユーザ208が自動エージェント206を実際の人から区別することができないように、人を模倣することができる。一部の実装形態では、自動エージェント206は、ユーザ208との電話の会話を始めることができる。一部の実装形態では、ユーザ208と自動エージェント206との間の会話は、VOIP通話または他のタイプのボイス通信などの電話以外の通信チャネルであり得る。
【0030】
段階Bでは、コンピューティングデバイス220は、マイクロフォンまたは別の入力デバイスを介して発話218を検出し、オーディオサブシステムを使用して発話218のオーディオデータを処理する。オーディオサブシステムは、マイクロフォン、アナログ-デジタル変換器、バッファ、および他の様々なオーディオフィルタを含み得る。マイクロフォンは、音声(例えば、発話218)などの周囲領域の音を検出するように構成することができる。アナログ-デジタル変換器は、マイクロフォンによって検出されたオーディオデータをサンプリングするように構成され得る。バッファは、コンピューティングデバイス220による処理のために、またはコンピューティングデバイス220による送信のために、サンプリングされたオーディオデータを格納することができる。一部の実装形態では、オーディオサブシステムは、継続的にアクティブであり得るか、またはコンピューティングデバイス220が電話中などのオーディオを受信することが予期される時間中にアクティブであり得る。この場合、マイクロフォンは、自動エージェント206との電話の開始に応じてオーディオを検出することができる。アナログ-デジタル変換器は、電話中において、検出されたオーディオデータを常にサンプリングし得る。バッファは、音の最後の10秒などの最新のサンプリングされたオーディオデータを記憶することができる。コンピューティングデバイス220は、発話218についてサンプリングされフィルタリングされたオーディオデータ222を自動エージェント206に提供することができる。
【0031】
自動エージェント206は、発話218のオーディオデータ222を受信し、適切な応答を決定する。自動エージェント206は、一連のルール、決定木、ニューラルネットワーク、および/または別の決定プロセスを適用して、適切な応答を決定することができる。自動エージェント206は、適切な応答の転写を生成し、その転写を音声シンセサイザに提供することができる。段階Cでは、音声シンセサイザは、「2名でテーブルを予約できますか?」への応答として、「今日の夜でしょうか?(For tonight?)」という発話226を表すオーディオデータ224を生成することができる。音声シンセサイザは発話226を生成することができるが、ユーザ208は、ユーザ208がコンピュータと話していることを決定できない場合がある。
【0032】
段階Dでは、コンピューティングデバイス226は、発話226のオーディオデータ224を受信する。コンピューティングデバイス226は、スピーカーまたは他のタイプのオーディオ出力デバイスを介してオーディオデータ224を出力する。ユーザ208は、合成音声228の発話226を聞く。
【0033】
段階Eでは、ユーザ208は、「私は今夜試合を見なければならない。スミスがプレーすることを知っていましたか?(I have to watch the game tonight. Did you know that Smith is playing?)」との発話212を行うことによって発話226に応答する。コンピューティングデバイス220は、発話226を検出し、オーディオサブシステムを使用して発話226を処理する。段階Fでは、コンピューティングデバイス220は、発話212のオーディオデータ230を自動エージェント206に提供する。
【0034】
自動エージェント206は、発話212のオーディオデータ230を受信する。自動エージェント206は、発話218のオーディオデータ222を処理するのと同様の方法で、発話212のオーディオデータ230を処理する。自動エージェント206は、一連のルール、決定木、ニューラルネットワーク、および/または別の決定プロセスを適用して、発話212に対する適切な応答を決定することができる。この例では、自動エージェント206は、適切な応答を決定することができない。自動エージェント206は、ユーザの発話が会話においてトピックから外れている場合に、ユーザの発話に対する適切な応答を決定することができない場合がある。
【0035】
会話を続けるために、自動エージェント206は、自動エージェント206または他の自動エージェントがユーザの発話212に対して適切な応答を生成することができないときに支援するために待機しているオペレータ204に通知することができる。段階Gでは、自動エージェント206は、自動エージェント206とユーザ208との間の会話の要約232を生成する。要約232は、自動エージェント206がユーザの発話212に対して適切な応答を生成することができなかった時点までの会話の転写から構成され得る。これに代えてまたは加えて、要約232は、自動エージェント206とユーザ208との間でなされた会話または合意の結果として達成された任意のタスクの説明から構成され得る。図2の例では、要約232は、自動エージェント206とユーザ212との間の会話の転写からなる。自動エージェント206はまた、会話のステータス236を含み得る。ステータス236は、自動エージェント206が実行できなかったタスクを説明し得る。ステータス236は、自動エージェント206が、発話212のオーディオデータ230に対して音声認識を実行できなかったことを示し得る。その場合、要約232は、発話212のオーディオデータ230を含むと考えられる。ステータス236は、自動エージェントが発話212への応答を生成できなかったことを示し得る。
【0036】
段階Hでは、オペレータ204のコンピューティングデバイス234は、要約232およびステータス236を受信する。オペレータ204は、要約232およびステータス236を検討する。オペレータ204は、ユーザ208の発話238への応答として、および、会話を元のトピックに戻すか、または、自動エージェント206が理解する可能性が高いトピックに戻す試みとして、発話210を行う。コンピューティングデバイス220が発話212および発話218を処理するのと同様の方法で、コンピューティングデバイス234は、発話214を検出し、オーディオサブシステムを使用して発話214を処理する。図2に示す例では、ユーザ204は、「存じませんでした。それはエキサイティングでしょう。予約日はいかがなさいますか?(I didn’t. It should
be exciting. What day did you want the reservation?)」と話す。
【0037】
段階Iでは、コンピューティングデバイス234は、発話214のオーディオデータ202を音声間変換サーバ216に送信する。音声間変換サーバ216は、音声間変換サーバ216が第1のボイスで話された発話のオーディオデータを受信するように構成されるという点で、音声間変換サーバ112と同様であり得る。第1のボイスで話された発話のオーディオデータに対して音声認識を実行せずに、異なる第2のボイスで話される同じ単語と語を含む発話の音声データを出力する。音声間変換サーバ216は、自動エージェント206と同じ合成ボイス228の発話のオーディオデータを生成するように構成することができる。
【0038】
段階Jでは、音声間変換サーバ216は、発話214のオーディオデータを、発話238のオーディオデータ210に変換する。音声間変換サーバ216は、発話238のオーディオデータ210をコンピューティングデバイス220に送信する。一部の実装形態では、音声間変換サーバ216は、発話238のオーディオデータ210をコンピューティングデバイス234に送信する。次いで、コンピューティングデバイス234は、発話238のオーディオデータ210を自動エージェント206に送信する。自動エージェントは、発話238のオーディオデータ210をコンピューティングデバイス220に送信する。一部の実装形態では、音声間変換サーバ216は、発話238のオーディオデータ210を自動エージェント206に送信する。自動エージェントは、発話238のオーディオデータ210をコンピューティングデバイス220に送信する。一部の実装形態では、コンピューティングデバイス234は、発話214の転写を自動エージェント206に提供する。これにより、自動エージェントは、ユーザ208との会話の内容を把握した状態を維持できる。自動エージェント206は、発話214の転写を使用して、応答を生成するために自動エージェント206によって使用されるモデルおよび/またはルールを更新してもよい。
【0039】
段階Kでは、コンピューティングデバイス220は、スピーカーまたは他のタイプのオーディオ出力デバイスを介して発話238を出力する。ユーザ208は、発話238を聞き、発話238は、発話226と同じ合成音声228によるので、ユーザ208は、他の当事者が会話に参加していることに気付かない。ユーザ208は、新しい発話を行うことによって発話238に応答することができる。オペレータ204は、自動エージェント206が会話をシームレスに引き継ぐことができることを確実にするために、会話を監視し続けることができる。必要に応じて、オペレータ204は、会話の残りの間、または残りの会話の一部において、音声間変換サーバ216を介してユーザ208と話し続けることができる。会話中、ユーザ208は、ユーザ208が同じ実在の人物と話しているかのような印象を受けている可能性がある。
【0040】
図3は、電話をスクリーニングしている着信者304から受信した音声オーディオ302を、着信者304が電話に応えたと発信者308が判断することを抑止する音声オーディオ306に変換する例示的なシステム300を示している。以下で簡潔に、および、より詳細に説明するように、発信者308は、着信者304に電話をかける。着信者304は、電話を取ることに確信が持てないか可能性があるが、電話をボイスメールに送る(letting the call go to voicemai)代わりに、着信者304は、電話に応え、スクリーニングする。着信者304は、音声間変換サーバ312にアクセスするコンピューティングデバイス210の電話スクリーニングフィーチャを使用することができる。音声間変換サーバ312は、着信者のボイスで話された発話314のオーディオデータ302を、一般的なボイスで話された合成発話316のオーディオデータ306に変換する。発信者308は、着信者304、おそらく実際の人が電話に応えたことに気付かずに、スクリーニング質問に応える。一部の実装形態では、エンドツーエンド音声変換サーバ312の機能は、コンピューティングデバイス310またはコンピューティングデバイス318、あるいはその両方に組み込まれている。
【0041】
より詳細に、段階Aでは、発信者308であるアリス(Alice)は、着信者304であるボブ(Bob)との電話を開始する。コンピューティングデバイス310は、コンピューティングデバイス310が通知311を出力することによって着信呼を受信していることを示す。電話の代わりに、発信者308は、VOIPまたは同様のタイプのボイス通信などの代替タイプの通信チャネルを介してボイス通信を開始することができる。発信者308は、コンピューティングデバイス318により電話を開始することができる。着信者304のコンピューティングデバイス310は、着信者304が電話を受けていることを示している。コンピューティングデバイス310は、着信者304に、電話に直接応える、電話を無視する、電話をボイスメールに送信する、または電話スクリーニングを開始するオプションを与えることができる。
【0042】
段階Bでは、着信者304は、電話スクリーニングオプションを開始する。電話スクリーニングオプションを選択すると、コンピューティングデバイス310は、音声間変換サーバ312との通信を開始する。コンピューティングデバイス310は、コンピューティングデバイス310が、別のボイスに変換するために音声間変換サーバ312にオーディオデータを送信することを示している。
【0043】
段階Cでは、着信者304は発話314を行う。コンピューティングデバイス310は、マイクロフォンまたは別のタイプのオーディオ入力デバイスを介して発話314を検出し、オーディオサブシステムを使用してオーディオデータを処理する。オーディオサブシステムは、マイクロフォン、アナログ-デジタル変換器、バッファ、および他の様々なオーディオフィルタを含み得る。マイクロフォンは、音声(例えば、発話314)などの周囲領域の音を検出するように構成することができる。アナログ-デジタル変換器は、マイクロフォンによって検出されたオーディオデータをサンプリングするように構成され得る。バッファは、コンピューティングデバイス310による処理のために、またはコンピューティングデバイス310による送信のために、サンプリングされたオーディオデータを格納することができる。一部の実装形態では、オーディオサブシステムは、継続的にアクティブであり得るか、またはコンピューティングデバイス310が電話中などのオーディオを受信することが予期される時間中にアクティブであり得る。この場合、マイクロフォンは、電話スクリーニングオプションの開始に応じてオーディオを検出することができる。アナログ-デジタル変換器は、電話中において、検出されたオーディオデータを常にサンプリングし得る。バッファは、音の最後の10秒などの最新のサンプリングされたオーディオデータを記憶することができる。コンピューティングデバイス310は、発話314についてサンプリングされフィルタリングされたオーディオデータ302を、段階Dにおいて、音声間変換サーバ312に提供することができる。
【0044】
音声間変換サーバ312は、コンピューティングデバイス310から、着信者304によって話された発話314のオーディオデータ302を受信する。一部の実装形態では、コンピューティングデバイス310は、着信者304によって話された発話314のオーディオデータ302を別のボイスで話される発話に変換するために、音声間変換サーバ312に命令を提供する。一部の実装形態では、コンピューティングデバイス310は、音声間変換サーバ312が、異なるボイスで話される合成発話316のオーディオデータ306をどこに送信すべきかについての命令を提供する。例えば、コンピューティングデバイス310は、コンピューティングデバイス318の電話番号またはデバイス識別子と、異なるボイスで話される合成発話316のオーディオデータ306を送信するための命令とを提供することができる。一部の実装形態では、コンピューティングデバイス310は、異なるボイスで話される合成発話316のオーディオデータ306をコンピューティングデバイス310に送り返すために、音声間変換サーバ312に命令を提供することができ、これによって、コンピューティングデバイスは、異なるボイスで話される合成発話316のオーディオデータ306をコンピューティングデバイス318に送信することができる。
【0045】
段階Eでは、音声間変換サーバ312は、着信者304のボイスとは異なるボイスで話される合成発話316のオーディオデータ306を生成する。音声間変換サーバ312は、音声間変換サーバ312が第1のボイスで話された発話のオーディオデータを受信するとともに、第1のボイスで話された発話のオーディオデータに対して音声認識を実行せずに、異なる第2のボイスで話される同じ単語と語を含む発話の音声データを出力するように構成されるという点で、音声間変換サーバ112と同様であってもよい。この例では、音声間変換サーバ312は、着信者304のボイスで話された発話314のオーディオデータ302を受信する。音声間変換サーバ312は、オーディオデータ302に対して音声認識を実行することなく、実際の人のように聞こえ、着信者304のようには聞こえない一般的なボイスで話される発話316のオーディオデータ306を生成するモデルに、着信者304のボイスで話された発話314のオーディオデータ302を提供する。音声間変換サーバ312は、発話316のオーディオデータ306をコンピューティングデバイス318に提供する。一部の実装形態では、音声間変換サーバ312は、発話316のオーディオデータ306をコンピューティングデバイス310に提供し、コンピューティングデバイス310は、発話316のオーディオデータ306をコンピューティングデバイス318に提供する。
【0046】
段階Fでは、コンピューティングデバイス318は、コンピューティングデバイス318のスピーカーまたは他のオーディオ出力デバイスを介して、発話316のオーディオデータ306を出力する。発話316は、着信者304の声ではなく、実際の人のように聞こえ、着信者304のようには聞こえない、異なる一般的なボイスである。図3の例では、発信者308は、「お名前と電話のご用件をおっしゃってください(Please state your name and the purpose of your call)」と、着信者304のように聞こえないボイスで聞く。発信者308は、発信者308が、着信者304の秘書またはアシスタントと会話しているかのような印象を受ける可能性がある。
【0047】
段階Gでは、発信者308は、発話320を行うことによって発話316に応答する。発話320は、コンピューティングデバイス318のマイクロフォンまたは他のオーディオ入力デバイスによって検出される。コンピューティングデバイス318のオーディオサブシステムは、発話320を処理する。図3の例では、発信者308は、「アリスです。ボブとの会議をスケジュールするために電話しています(This is Alice.
I’m calling to schedule a meeting with Bob.)」と言う。
【0048】
段階Hでは、コンピューティングデバイス318は、発話320のオーディオデータ322をコンピューティングデバイス310に送信する。この例の電話スクリーニングフィーチャは、一方向的に機能する場合がある。言い換えれば、電話スクリーニングフィーチャを使用すると、電話スクリーニングフィーチャをアクティブにした着信者304のボイスが変更される(disguises)。発信者308のボイスは変更されない状態が維持される。
【0049】
段階Iでは、コンピューティングデバイス310は、コンピューティングデバイス310のスピーカーまたは他のオーディオ出力デバイスを介して、発話320のオーディオデータ322を出力する。発話320は、発信者308のボイスによる。着信者304は、発信者308のボイスで「アリスです。ボブとの会議をスケジュールするために電話をかけています(This is Alice. I’m calling to schedule a meeting with Bob)」と聞く。
【0050】
段階Jで、電話スクリーニングがまだアクティブな状態で、着信者304は発話326を行う。発話326は、コンピューティングデバイス310のマイクロフォンまたは他のオーディオ入力デバイスによって検出される。コンピューティングデバイス310のオーディオサブシステムは、発話326を処理する。図3の例では、着信者304は、「少々お待ちください(One moment)」と言う。
【0051】
段階Kで、電話スクリーニングがまだアクティブな状態で、コンピューティングデバイス310は、発話326のオーディオデータ328を音声間変換サーバ312に送信する。音声間変換サーバ312は、段階Dのモデルと同じモデルに、発話326のオーディオデータ328を提供する。モデルは、着信者304のボイス以外のボイスで発話332のオーディオデータ330を生成する。一部の実装形態では、発話332のボイスは、発話316のボイスと同じである。音声間変換サーバ312は、オーディオデータ328に対して音声認識を実行することなく、発話332のオーディオデータ330を生成する。
【0052】
段階Lでは、音声間変換サーバ212は、発話332のオーディオデータ330をコンピューティングデバイス318に提供する。一部の実装形態では、音声間変換サーバ312は、発話332のオーディオデータ330をコンピューティングデバイス310に提供し、コンピューティングデバイス310は、発話332のオーディオデータ330をコンピューティングデバイス318に提供する。
【0053】
段階Mでは、コンピューティングデバイス318は、コンピューティングデバイス318のスピーカーまたは他のオーディオ出力デバイスを介して、発話332のオーディオデータ330を出力する。発話332は、着信者304のボイスによるものではなく、発話316と同じ一般的なボイス、または実際の人のように聞こえる別のボイスである。図3の例では、発信者308は、着信者304のように聞こえないボイスで「少々お待ちください」と聞く。発信者308は、発信者308が、着信者304の秘書またはアシスタントと会話しているかのような印象を受けた状態が続く可能性がある。
【0054】
段階Nでは、着信者304は発話334を行う。発話334は、コンピューティングデバイス310のマイクロフォンまたは他のオーディオ入力デバイスによって検出される。コンピューティングデバイス310のオーディオサブシステムは、発話334を処理する。図3の例では、着信者304は、「こんにちは、アリス。ボブです(Hi Alice. This is Bob)」と言う。発話334を行う前に、着信者304は、コンピューティングデバイス310の電話スクリーニングモードを非アクティブ化することができる。着信者304は、段階K、L、またはMの実行中および段階Nの前であればいつでも、電話スクリーニングモードを非アクティブ化することができる。電話スクリーニングモードを無効にすることによって、コンピューティングデバイス310は、着信者304によって行われた発話のオーディオデータを音声間変換サーバ312に送信するのではなく、着信者304によって行われた発話のオーディオデータをコンピューティングデバイス318に送信するようになる。一部の実装形態では、コンピューティングデバイス310は、コンピューティングデバイス310が、別のボイスに変換するために、その後受信された発話のオーディオデータを音声間変換サーバ312に送信しないことを示す標示を、音声間変換サーバ312に提供する。
【0055】
段階Oで、電話スクリーニングが非アクティブな状態で、コンピューティングデバイス310は、オーディオデータ336をコンピューティングデバイス318に送信する。このオーディオデータ送信は、コンピューティングデバイス310およびコンピューティングデバイス318と同様のコンピューティングデバイスを使用する2人のユーザ間の典型的なボイス会話中に発生するオーディオデータ送信と同様であり得る。
【0056】
段階Pでは、コンピューティングデバイス318は、コンピューティングデバイス318のスピーカーまたは他のオーディオ出力デバイスを介して、発話338を出力する。図3の例では、コンピューティングデバイス318は、「こんにちは、アリス。ボブです(Hi Alice. This is Bob)」との発話338を出力する発話338のボイスは、着信者304のボイスである。発信者308は、電話をスクリーニングした人が電話を着信者304に転送し、発信者308が電話全体の間、着信者304と話していなかったという印象を受けている可能性が高い。
【0057】
図4は、音声認識を実行せずに、ユーザから受信した音声オーディオを合成音声オーディオに変換するための例示的なプロセス400のフローチャートである。一般に、プロセス400は、ユーザによって話された発話のオーディオデータを受信する。プロセス400は、発話のオーディオデータをモデルに適用することにより、発話のオーディオデータを別のボイスの別の発話のオーディオデータに変換する。別のボイスは、実際の人のように聞こえる合成ボイスである。別のボイスで他の発話を聞いている人は、元のユーザが別のボイスに変換する前に発話を行ったことに気付かない場合がある。プロセス400は、受信されたオーディオデータに対して音声認識を実行することなく、異なるボイスにおける他の発話のオーディオデータを生成する。プロセス400は、他の発話のオーディオデータを異なるボイスで出力する。プロセス400は、1つまたは複数のコンピュータを含むコンピュータシステム、例えば、図1のシステム100、図2のシステム200、または図3のシステム300によって実行されるものとして説明される。
【0058】
システムが、ユーザによって話された1つまたは複数の第1の語からなる第1の発話の第1のオーディオデータを受信する(410)。ユーザは、ユーザの典型的なボイスで話す場合がある。一部の実装形態では、ユーザは、電話に応えながら第1の発話を行う。一部の実装形態では、ユーザは、電話に応える前に、システムの電話スクリーニング機能をアクティブにすることができる。
【0059】
システムが、第1のボイスで話された1つまたは複数の所与の第1の語からなる所与の第1の発話の所与の第1のオーディオデータを受信し、所与の第1のオーディオデータに対して音声認識を実行せずに、合成ボイスで話される1つまたは複数の所与の第1の語からなる所与の第2の発話の所与の第2のオーディオデータを出力するように構成されるモデルへの入力として第1のオーディオデータを提供する(420)。モデルは、エンコーダを使用して、第1のオーディオデータを、オーディオデータを表す一連のベクトルにエンコードすることができる。ベクトルは、第1の音声データの転写とは異なる場合がある。モデルは、デコーダを使用して、出力されるオーディオデータを生成することができる。デコーダは、ベクトルを、ユーザのボイスとは異なるボイスの合成音声に変換するように構成されてよい。一部の実装形態では、モデルは、第1の発話の第1のオーディオデータの転写を省略する。
【0060】
システムは、モデルへの入力として第1のオーディオデータを提供することに応じて、合成ボイスで話される1つまたは複数の第1の語からなる第2の発話の第2のオーディオデータを受信する(430)。一部の実装形態では、第1の発話における1つまたは複数の第1の語のそれぞれの発言時間は、第2の発話における1つまたは複数の第1の語のそれぞれの発言時間とは異なる場合がある。一部の実装形態では、第1の発話における1つまたは複数の第1の語のそれぞれの間の期間は、第2の発話における1つまたは複数の語のそれぞれの間の期間とは異なる場合がある。
【0061】
システムは、出力のために、合成ボイスで話される1つまたは複数の第1の語からなる第2の発話の第2のオーディオデータを提供する(440)。システムは、第2のオーディオデータをスピーカーまたは他のオーディオ出力デバイスに出力することができる。別のユーザが第2の発話を聞いて、元のユーザが第1の発話を話したことに気付いていない可能性がある。システムがモデルを使用して第2の発話のオーディオデータを生成した場合でも、第2の発話は実際の人のボイスのように聞こえる場合がある。一部の実装形態では、合成ボイスは、発言者が男性であるか女性であるかを聴取者が判断できないような、性別に中立な性質を持っている可能性がある。性別に中立な合成ボイスのピッチは、女性の合成ボイスのピッチと男性の合成ボイスのピッチの平均である可能性がある。
【0062】
一部の実装形態では、システムは、異なるユーザから発話を受信する場合がある。システムは、異なるユーザからの発話のオーディオデータをモデルに適用することができる。モデルは、同じ合成ボイスで合成発話のオーディオデータを出力することができる。言い換えれば、モデルは、異なる人々によって話された発話のオーディオデータを同じ合成ボイスの発話に変換するように構成され得る。
【0063】
一部の実装形態では、システムは、システムおよび他のシステムによって受信された発話のコレクションを使用してモデルを訓練することができる。システムは、複数の発話からなるコレクションにおける各発話の転写を取得する。システムは、自動音声認識を使用して、または手動の転写によって、転写を生成してもよい。システムは、合成ボイスで合成発話を生成する音声シンセサイザまたはテキスト読み上げモデルに各転写を提供する。システムは、機械学習、発話の収集、および対応する合成発話を使用してモデルを訓練する。訓練されたモデルは、ユーザによって話された発話を受信することに基づいて、同じ合成ボイスで合成発話を生成するように構成されている。訓練されたモデルは、合成発話を生成するために音声認識を使用しない。
【0064】
一部の実装形態では、システムは、ユーザとのボイス会話を行うように構成された自動エージェントまたはボットの一部である場合がある。ユーザは、コンピュータと話すのではなく、生きている人と話しているという印象を受ける可能性がある。自動エージェントは、自動エージェントがユーザから受信する可能性のあるすべての発話に対して適切な応答を生成できない場合がある。この場合、オペレータは、自動エージェントがユーザの発話に対する応答を生成して会話を継続できるように割り込むべく待機している可能性がある。システムは、ユーザがまだ同じ人と話しているという印象をユーザが受けるように、オペレータのボイスを変更する(disguising)のを支援することができる。システムは、オペレータのボイスを自動エージェントのボイスに変換して、これによって、オペレータが自動エージェントの代わりに応答を生成した場合でも、ユーザが同じボイスを聞くことができるようにすることができる。
【0065】
より詳細には、本明細書では、中間の離散表現を使用せずに、入力スペクトログラムを別のスペクトログラムに直接マッピングするエンドツーエンドの音声間モデルについて説明する。ネットワークは、エンコーダ、スペクトログラムデコーダ、音素デコーダで構成され、その後にボコーダーが続き、時間領域の波形を合成する。このモデルは、訛り、感情、複雑な韻律パターン、欠陥、および背景ノイズを含む音声に係る発言者からの音声であっても、固定アクセントと一貫したアーティキュレーションと韻律を備えたクリーンな単一の事前定義されたターゲット発言者のボイスに正規化するように訓練される。本明細書では、このアプローチが音声認識のパフォーマンスに与える影響について説明する。さらに、本明細書は、同じアーキテクチャを音声分離タスクでトレーニングできることを示している。一部の実装形態では、エンドツーエンドのスピーチツー音声モデルは、スペイン語の音声を英語の合成音声に変換できる。
【0066】
アテンション付きのエンコーダ-デコーダモデルは、さまざまな複雑なシーケンスツーシーケンス問題のモデリングに使用できる。これらのモデルは、機械翻訳、音声認識、複合音声翻訳などの音声および自然言語処理に使用されてよい。モデルは、実質的に未処理の入力が与えられた場合に、ターゲットシーケンスを直接生成する単一のニューラルネットワークを使用して、エンドツーエンドのテキスト読み上げ(TTS)合成および自動音声認識(ASR)で使用することもできる。
【0067】
本明細書では、最先端の音声認識モデルと合成モデルを組み合わせて、中間の離散表現に依存することなく、様々な入力スペクトログラムの関数として音声スペクトログラムを生成する直接的なエンドツーエンドの音声から音声へのシーケンストランスデューサを構築する方法について説明する。このモデルは、最初に、ボイスの正規化および音声分離タスクに適用される。このモデルは、ある言語を別の言語に、たとえばスペイン語の音声から英語の音声に、直接翻訳するために使用されてよい。
【0068】
一部の実装形態では、統一化されたシーケンスツーシーケンスモデルは、バックグラウンドノイズを含む可能性のある任意の音声を正規化し、事前定義された単一のターゲット発言者のボイスで同じコンテンツを生成できる。ソース音声は、任意の訛りのまたは発言者からのものであり、複雑な韻律パターン、欠陥、およびバックグラウンドノイズが含まれている可能性があり、これらはすべて、固定された訛りと一貫したアーティキュレーションと韻律を備えたクリーンな信号に変換される。タスクは、発言者の特性を含むすべての非言語情報を除外し(project away)、誰が、どのように、どこで話したかではなく、言ったことのみを保持することができる。
【0069】
そのような正規化システムには、複数の潜在的な用途がある。ボイスをクリーンなオーディオの単一の発言者に完全に正規化すると、ASRモデルが簡素化され、単一の発言者をサポートするだけでよい。発言者の識別情報を除去すると、機密性の高いプライベートな音声データをログに記録するときに役立つ場合があり、これにより、ユーザは変換された音声のみをサーバに送信できる(「音響」識別情報は消去)。すべての訛りを事前定義された訛りの単一のボイスにすると、たとえば採用委員会に与えられる録音された候補者の話または電話インタビューなどの音響的にマスクされたオーディオとは対照的に、自然な人間のボイスを維持しながら、偏見や差別を軽減することもできる。別の用途は、聞き手にとって異質な訛りの音声内容の理解を容易にすること、例えば、訛りの強い音声の理解し易さを改善することであろう。
【0070】
一部の実装形態では、ボイス変換には、マッピングコードブック、ニューラルネットワーク、動的周波数ワーピング、およびガウス混合モデルの使用が含まれる場合がある。これらの手法では、入力発言者の音声のみが変更される場合がある。一部の実装形態では、ボイス変換には、訛り変換が含まれる場合がある。本明細書で説明されているモデルは、すべての発言者を単一のボイスと訛りに正規化し、韻律を正規化し、ターゲット信号を直接生成するエンドツーエンドのニューラルアーキテクチャを使用する場合がある。一部の実装形態では、ボイス変換は、フィルタリングおよび/または変換ベースのアプローチである可能性がある。
【0071】
エンドツーエンドのシーケンスツーシーケンスモデルアーキテクチャは、入力ソース音声を受信し、出力としてターゲット音声を生成/合成する。一部の実装形態では、このようなモデルの唯一の訓練要件は、ペアの入出力音声発話の対訳コーパスである。
【0072】
図5に示すように、ネットワークは、アテンション付きのエンコーダとデコーダで構成され、その後にボコーダーが続き、時間領域の波形を合成する。エンコーダは、音響フレームのシーケンスを、スペクトログラムを予測するためにデコーダが使用する(consumes)隠れ特徴表現に変換する。一部の実装形態では、このモデルのコアアーキテクチャには、アテンションベースのエンドツーエンドASRモデルおよび/またはエンドツーエンドTTSモデルが含まれる。
【0073】
ベースエンコーダ構成は、他のエンコーダと同様である場合があるが、以下で説明するように、いくつかのバリエーションがある。16kHzでサンプリングされた例示的入力音声信号から、エンコーダは、ハンウィンドウ、50ミリ秒のフレーム長、12.5ミリ秒のフレームシフト、および1024ポイントの短時間フーリエ変換(STFT)を使用して計算された、125~7600Hzの範囲にわたる80次元のログメルスペクトログラム音響特徴フレームを抽出できる。
【0074】
この例では、入力フィーチャは、ReLU活性化を使用して2つの畳み込み層のスタックに渡され、それぞれが32個のカーネルで構成され(時間x周波数で3x3)、2x2でストライドし、時間で4のトータルファクタでダウンサンプリングし、これにより、次のレイヤーの計算を減らす。バッチ正規化は、各レイヤーの後に適用される。
【0075】
結果として得られるダウンサンプリングされたシーケンスは、1x3フィルターを使用して双方向畳み込みLSTM(CLSTM)レイヤーに渡され、例えば、各タイムステップ内で周波数軸全体でのみ畳み込みを行う。最後に、これは、各方向にサイズ256の3つの双方向LSTMレイヤーのスタックに渡され、512次元の線形射影でインターリーブされ、続いて、バッチ正規化とReLU活性化を行い、最終的な512-dimエンコーダ表現を計算する。
【0076】
一部の実装形態では、デコーダのターゲットは1025次元のSTFTの大きさであり、入力フィーチャと同じフレーミングである2048ポイントのSTFTで計算される。
システムは、自己回帰RNNで構成されるデコーダネットワークを使用して、エンコードされた入力シーケンスから一度に1フレームずつ出力スペクトログラムを予測する。前のデコーダのタイムステップからの予測は、最初に256ReLUユニットの2つの完全に接続されたレイヤーを含む小さなプリネットを通過し、これは、アテンションの学習に役立つ場合がある。プレネット出力とアテンションコンテキストベクトルは連結され、1024ユニットの2つの単方向LSTMレイヤーのスタックを通過する場合がある。次に、LSTM出力とアテンションコンテキストベクトルの連結が線形変換によって投影され、ターゲットスペクトログラムフレームの予測が生成される。最後に、これらの予測は、最初の予測に追加する残余を予測する5層の畳み込みポストネットを通過する。各ポストネットレイヤーには、5x1の形状の512個のフィルターがあり、その後にバッチ正規化とtanh活性化が続く。
【0077】
予測されたマグニチュードスペクトログラムからオーディオ信号を合成するために、システムはグリフィンリム(Griffin-Lim)アルゴリズムを使用して、予測されたマグニチュードと一致する位相を推定し、続いて逆STFTを使用する。一部の実装形態では、ウェーブネット(WaveNet)などのニューラルボコーダーは、合成品質を向上させる可能性がある。一部の実装形態では、ウェーブネット(WaveNet)はグリフィンリム(Griffin-Lim)に取って代わる可能性がある。
【0078】
一部の実装形態では、システムは、任意のオーディオの代わりに音声サウンドを生成するように構成できる。基礎となる言語の高レベルの表現を同時に学習するようにエンコーダネットワークを共同で訓練することは、スペクトログラムデコーダの予測を同じ基礎となる音声コンテンツの表現にバイアスするのに役立つ。エンコーダの潜在表現を条件として、出力音声の転写(書記素または音素)を予測するために、補助ASRデコーダを追加することができる。このようなマルチタスクで訓練されたエンコーダは、基礎となる転写に関する情報を維持する入力の潜在的表現を学習するものと考えることができ、たとえば、TTSシーケンス間ネットワーク内で学習された潜在的表現に近いものと言える。
【0079】
一部の実装形態では、デコーダ入力は、前のタイムステップで放出された書記素の64次元埋め込みと、512次元のアテンションコンテキストベクトルを連結することによって作成される。これは、256ユニットのLSTMレイヤーに渡される。最後に、アテンションコンテキストとLSTM出力の連結は、出力語彙の各書記素を放出する確率を予測するソフトマックス層に渡される。
【0080】
音声から音声へのモデルを使用して、任意の発言者からの音声を変換して、事前定義された正規発言者の音声を使用することができる。上述したように、システムには、さまざまな発言者と録音条件にまたがる発話の対訳コーパスが必要な場合があり、それぞれが正規の発言者からの音声にマッピングされる。クリーンな音響環境で1人の発言者の数時間の発話を録音することは実用的でない場合があるため、TTSシステムを使用して、大きな手または機械で転写された音声コーパスから訓練ターゲットを生成できる。基本的に、これにより、シングルスピーカーTTSシステムのボイスで入力音声を再生するタスクが軽減される。TTSシステムを使用してこの対訳コーパスを生成することには次の複数の利点がある。(1)オーディオは、標準言語を使用して、事前定義された単一の発言者および訛りで話される。(2)バックグラウンドノイズはない。(3)非流暢性のない高品質の発音を使用する。(4)大規模なコーパスにスケーリングするために必要に応じて大量のデータを合成する。
【0081】
本明細書では、中間のシンボリック表現を使用せずに、入力スペクトログラムを別のスペクトログラムに直接変換するエンドツーエンドの音声間モデルについて説明する。モデルは、任意の発言者からの発話を単一の事前定義された発言者のボイスに正規化し、言語コンテンツを保持し、非言語コンテンツを除外(projecting away)するように訓練される。一部の実装形態では、同じモデルをトレーニングして、重複する音声が混在する中で最も声の大きな発言者を正常に識別、分離、および再構築できるため、ASRのパフォーマンスが向上する。場合によっては、モデルはある言語の音声を別の言語の音声に直接翻訳することがある。
【0082】
発言者の識別情報を保持することが目標であるタスクの場合、TTS合成を活用して、ターゲットの発言者の識別情報にバリエーションを導入することができ、例えば、元の発言者と一致させ、発言のスタイルまたは韻律を直接制御する。このようなテクノロジーは、発言者の識別情報を維持するがニュートラルな韻律を適用する正規化モデルの訓練ターゲットを合成するために使用でき、逆もまたしかりであり、発言者の識別情報を正規化するが入力音声の韻律を維持するものも可能である。
【0083】
図6は、本明細書に記載した技術を実装するために使用され得るコンピューティング装置600およびモバイルコンピューティング装置650の例を示す。コンピューティング装置600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータ等、様々な形態のデジタルコンピュータを表すよう意図されている。モバイルコンピューティング装置650は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティング装置等、様々な形態のモバイル装置を表すよう意図されている。本明細書に示された構成要素、構成要素の接続および関係、ならびに構成要素の機能は、例示的であることのみを意図されており、限定的であることは意図されていない。
【0084】
コンピューティング装置600は、プロセッサ602、メモリ604、記憶装置606、メモリ604および複数の高速拡張ポート610に接続する高速インタフェース608、ならびに低速拡張ポート614および記憶装置606に接続する低速インタフェース612を含む。プロセッサ602、メモリ604、記憶装置606、高速インタフェース608、高速拡張ポート610、および低速インタフェース612の各々は、様々なバスを介して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で実装されてよい。プロセッサ602は、高速インタフェース608に接続されたディスプレイ616等の外部入力/出力装置にGUIのグラフィック情報を表示するために、メモリ604または記憶装置606に記憶された命令を含む、コンピューティング装置600内で実行するための命令を処理することが可能である。他の実装においては、複数のメモリおよび種類のメモリとともに、必要に応じて複数のプロセッサおよび/または複数のバスが使用されてよい。また、複数のコンピューティング装置が接続され、各装置が必要な動作の一部を提供してよい(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0085】
メモリ604は、コンピューティング装置600内の情報を記憶する。いくつかの実装においては、メモリ604は、単数または複数の揮発性メモリユニットである。いくつかの実装においては、メモリ604は、単数または複数の不揮発性メモリユニットである。メモリ604は、磁気ディスクまたは光学ディスク等の別の形態のコンピュータ可読媒体であってもよい。
【0086】
記憶装置606は、コンピューティング装置600に大容量記憶を提供することができる。いくつかの実装においては、記憶装置606は、フロッピー(登録商標)ディスク装置、ハードディスク装置、光学ディスク装置、またはテープ装置、フラッシュメモリ、もしくは他の同様のソリッドステートメモリ装置等のコンピュータ可読媒体、またはストレージエリアネットワークもしくは他の構成における装置を含む装置のアレイであるか、もしくはそれを含んでよい。命令は情報担体に記憶されてよい。命令は、1つまたは複数の処理装置(例えば、プロセッサ602)によって実行されると、上記のような1つまたは複数の方法を実行する。命令は、コンピュータ可読媒体または機械可読媒体(例えば、メモリ604、記憶装置606、またはプロセッサ602上のメモリ)等の1つまたは複数の記憶装置に記憶されてもよい。
【0087】
高速インタフェース608は、コンピューティング装置600の帯域幅集中型の動作を管理する一方、低速インタフェース612は、より低帯域幅集中型の動作を管理する。このような機能の割り当ては一例に過ぎない。いくつかの実装形態では、高速インタフェース608は、メモリ604、ディスプレイ616(例えば、グラフィックプロセッサまたはアクセラレータを通じて)、および様々な拡張カード(図示せず)を受け得る高速拡張ポート610に接続される。実装において、低速インタフェース612は、記憶装置606および低速拡張ポート614に接続される。低速拡張ポート614は、種々の通信ポート(例えば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネット)を含んでよく、例えばネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナー、または、スイッチまたはルータ等のネットワーク装置等の、1つまたは複数の入力/出力装置に接続されてもよい。
【0088】
コンピューティング装置600は、図に示すように、多くの異なる形態で実装されてよい。例えば、標準のサーバ620として、またはそのようなサーバのグループに複数回実装されてよい。また、ラップトップコンピュータ622等のパーソナルコンピュータに実装されてよい。また、ラックサーバシステム624の一部として実装されてもよい。あるいは、コンピューティング装置600からの構成要素は、モバイルコンピューティング装置650等のモバイル装置(図示せず)内の他の構成要素と組み合わされてよい。そのような装置のそれぞれは、コンピューティング装置600およびモバイルコンピューティング装置650のうちの1つまたは複数を含んでよく、システム全体は、互いに通信する複数のコンピューティング装置で構成されてよい。
【0089】
モバイルコンピューティング装置650は、構成要素の中でも特に、プロセッサ652、メモリ664、ディスプレイ654等の入力/出力装置、通信インタフェース46、送受信機668を含む。モバイルコンピューティング装置650は、追加のストレージを提供するために、マイクロドライブまたは他の装置等の記憶装置を備えてもよい。プロセッサ652、メモリ664、ディスプレイ654、通信インタフェース666、および送受信機668は、様々なバスを介して各々に相互接続され、複数の構成要素は、共通のマザーボード上に、または必要に応じて他の方法で実装されてよい。
【0090】
プロセッサ652は、メモリ664に記憶された命令を含む、モバイルコンピューティング装置650内の命令を実行することができる。プロセッサ652は、別個で複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装されてよい。プロセッサ652は、例えば、ユーザインタフェースス、モバイルコンピューティング装置650によって実行されるアプリケーション、およびモバイルコンピューティング装置650による無線通信の制御等、モバイルコンピューティング装置650の他の構成要素の調整を提供してよい。
【0091】
プロセッサ652は、ディスプレイ654に接続された制御インタフェース658およびディスプレイインタフェース656を通じてユーザと通信してよい。ディスプレイ654は、例えば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイ、OLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってよい。ディスプレイインタフェース656は、ディスプレイ654を駆動してグラフィックおよび他の情報をユーザに提示するための適切な回路を含んでよい。制御インタフェース658は、ユーザからコマンドを受け取り、プロセッサ652に供給するために、コマンドを変換してよい。さらに、外部インタフェース662は、プロセッサ652との通信を提供して、モバイルコンピューティング装置650と他の装置との近領域通信を可能にしてよい。外部インタフェース662は、例えば、いくつかの実装では有線通信を提供し、他の実装では無線通信を提供してよく、複数のインタフェースを使用してもよい。
【0092】
メモリ664は、コンピューティング装置650内の情報を記憶する。メモリ664は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットの1つまたは複数として実装することができる。拡張メモリ674が提供され、拡張インタフェース672を介してモバイルコンピューティング装置650に接続されてよい。拡張インタフェース672は、例えば、SIMM(シングルインラインメモリモジュール)カードインタフェースを含んでよい。拡張メモリ674は、モバイルコンピューティング装置650に余分な記憶領域を提供してよく、またはモバイルコンピューティング装置650のアプリケーションまたは他の情報を記憶してもよい。具体的には、拡張メモリ674は、上述のプロセスを実行または補完する命令を含んでよく、保安情報を含んでもよい。したがって、例えば、拡張メモリ674は、モバイルコンピューティング装置650のセキュリティモジュールとして提供されてよく、モバイルコンピューティング装置650の安全な使用を可能にする命令でプログラムされてよい。さらに、SIMMカードを介して、ハッキング不能な方法でSIMMカードに識別情報を配置する等の追加情報とともに、保安アプリケーションが提供されてよい。
【0093】
メモリは、以下で検討されるように、例えば、フラッシュメモリおよび/またはNVRAMメモリ(不揮発性ランダムアクセスメモリ)を含んでよい。いくつかの実装においては、命令は、情報担体に記憶される。命令は、1つまたは複数の処理装置(例えば、プロセッサ652)によって実行されると、上記のような1つまたは複数の方法を実行する。命令は、1つまたは複数のコンピュータ可読媒体または1つまたは複数の機械可読媒体(例えば、メモリ664、拡張メモリ674、またはプロセッサ652上のメモリ)等の1つまたは複数の記憶装置に記憶されてもよい。いくつかの実装においては、命令は、例えば送受信機668または外部インタフェース662を通じて、伝搬信号で受信することができる。
【0094】
モバイルコンピューティング装置650は、必要に応じてデジタル信号処理回路を含み得る通信インタフェース666を通じて無線で通信してよい。通信インタフェース666は、特に、GSM(登録商標)音声通話(モバイル通信用グローバルシステム)、SMS(ショートメッセージサービス)、EMS(エンハンストメッセージングサービス)、MMSメッセージング(マルチメディアメッセージングサービス)、CDMA(符号分割多元接続)、TDMA(時分割多元接続)、PDC(パーソナルデジタルセルラ)、WCDMA(登録商標)(広帯域符号分割多元接続)、CDMA2000、またはGPRS(汎用パケット無線サービス)等、様々な態様またはプロトコルの下で通信を提供してよい。このような通信は、例えば、無線周波数を使用する送受信機668を通じて行われてよい。加えて、Bluetooth、WiFi(登録商標)、または他のそのような送受信機(図示せず)の使用等により、近距離通信が発生してよい。加えて、GPS(全地球測位システム)受信機モジュール670は、モバイルコンピューティング装置650上で実行されるアプリケーションにより適宜使用され得る、追加的なナビゲーションおよび位置関連の無線データをモバイルコンピューティング装置650に提供してよい。
【0095】
モバイルコンピューティング装置650は、オーディオコーデック660を使用して可聴的に通信してよく、オーディオコーデック660は、ユーザから口頭の情報を受信し、それを使用可能なデジタル情報に変換してよい。オーディオコーデック660は、同様に、例えば、モバイルコンピューティング装置650のハンドセット内のスピーカー等を通じて、ユーザに可聴音を生成してよい。このような音は、音声通話の音を含んでよく、録音された音(例えば、音声メッセージ、音楽ファイル等)を含んでよく、モバイルコンピューティング装置650上で動作するアプリケーションによって生成される音を含んでもよい。
【0096】
モバイルコンピューティング装置650は、図に示すように、多くの異なる形態で実装されてよい。例えば、モバイルコンピューティング装置650は、携帯電話680として実装されてよい。モバイルコンピューティング装置650は、スマートフォン682、携帯情報端末、または他の同様のモバイル装置の一部として実装されてもよい。
【0097】
本明細書で説明するシステムおよび技法のさまざまな実装は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらの様々な実装は、記憶装置、1つ以上の入力装置、および1つ以上の出力装置に対してデータおよび命令を送信すると共にこれらからデータおよび命令を受信するよう接続された、特定目的または汎用目的の1つ以上のプログラマブルプロセッサを備えたプログラマブルシステム上で実行可能および/または翻訳可能な1つまたは複数のコンピュータプログラムでの実装を含んでよい。
【0098】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサのための機械語命令を含み、高水準手続き型および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械語で実装することができる。本明細書で使用されるように、機械可読媒体およびコンピュータ可読媒体という語は、プログラマブルプロセッサに機械語命令及び/又はデータを供給するために使用される、機械可読信号として機械語命令を受け取る機械可読媒体を含む、任意のコンピュータプログラムプロダクト、装置及び/又はデバイス(例えば、磁気ディスク、光学ディスク、メモリ、PLD(プログラマブルロジックデバイス))を指す。機械可読信号という語は、機械語命令および/またはデータをプログラマブルプロセッサに提供するために使用される信号を指す。
【0099】
ユーザとの対話を提供するため、本明細書で説明したシステムおよび技術は、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニター)と、ユーザが入力をコンピュータに提供可能なキーボードおよびポインティング装置(例えば、マウスまたはトラックボール)と、を含むコンピュータ上で実装されてよい。他の種類の装置を使用して、ユーザとの対話を提供してもよい。例えば、ユーザに提供されるフィードバックは、任意の形式の感覚的なフィードバック(例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバック)であってよく、ユーザからの入力は、音響的入力、音声的入力、または触覚的入力を含む任意の形式で取り込まれてよい。
【0100】
本明細書で説明したシステムおよび技術は、バックエンドコンポーネント(例えば、データサーバ)を備えたコンピュータシステム、ミドルウェアコンポーネント(例えば、アプリケーションサーバ)を備えたコンピュータシステム、フロントエンドコンポーネント(例えば、ユーザが本明細書で説明されたシステムおよび技術の実装と対話をすることが可能なグラフィカルインタフェースまたはウェブブラウザを有するクライアントコンピュータ)を備えたコンピュータシステム、または、このようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを備えたコンピュータシステムで実施されてよい。システムの構成要素は、デジタルデータ通信(例えば、通信ネットワーク)の任意の形式または媒体によって相互接続されてよい。通信ネットワークの例は、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、およびインターネットを含む。一部の実装形態では、本明細書において説明するシステムおよび技術は、音声認識および他の処理がデバイス上で直接実行される組み込みシステム上に実装することができる。
【0101】
コンピューティングシステムは、クライアントおよびサーバを含んでよい。クライアントとサーバは、一般には相互に離れており、典型的には通信ネットワークを通じて対話する。クライアントとサーバの関係は、各コンピュータ上で実行され、相互にクライアント・サーバ関係を有するコンピュータプログラムにより発生する。
【0102】
いくつかの実装が詳細に説明されたが、他の変更も可能である。例えば、クライアントアプリケーションはデリゲートにアクセスするものとして説明されているが、他の実装では、デリゲートは、1つまたは複数のサーバで実行されるアプリケーション等、1つまたは複数のプロセッサによって実装された他のアプリケーションによって使用されてよい。さらに、図に示された論理の流れは、望ましい結果を得るために、示された特定の順序または連続した順序を必要とはしない。さらに、説明された流れに他の動作が提供されたり、または流れから除去されてよく、説明されたシステムに他の構成要素が追加されたり、またはシステムから除去されてよい。したがって、他の実装は、以下の特許請求の範囲内にある。
図1
図2
図3
図4
図5
図6