(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-19
(45)【発行日】2023-09-27
(54)【発明の名称】コマンドキーワード調整を伴うネットワークマイクロフォンデバイス
(51)【国際特許分類】
G10L 15/28 20130101AFI20230920BHJP
G10L 15/22 20060101ALI20230920BHJP
G10L 15/10 20060101ALI20230920BHJP
【FI】
G10L15/28 230K
G10L15/22 453
G10L15/10 200W
(21)【出願番号】P 2021573944
(86)(22)【出願日】2020-06-11
(86)【国際出願番号】 US2020037229
(87)【国際公開番号】W WO2020252163
(87)【国際公開日】2020-12-17
【審査請求日】2022-02-14
(32)【優先日】2019-06-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506030756
【氏名又は名称】ソノズ インコーポレイテッド
(74)【代理人】
【識別番号】100132241
【氏名又は名称】岡部 博史
(74)【代理人】
【識別番号】100183265
【氏名又は名称】中谷 剣一
(72)【発明者】
【氏名】スミス,コナー
(72)【発明者】
【氏名】トロメイ,ジョン
(72)【発明者】
【氏名】ソト,カート
【審査官】山下 剛史
(56)【参考文献】
【文献】米国特許出願公開第2018/0182390(US,A1)
【文献】特開2004-163590(JP,A)
【文献】米国特許出願公開第2018/0197533(US,A1)
【文献】特開2008-217444(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
(57)【特許請求の範囲】
【請求項1】
音を検出するように構成された少なくとも1つのマイクロフォンと、前記少なくとも1つのマイクロフォンによって検出された前記音を表す入力サウンドデータを受信するように構成された第1および第2のウェイクワードエンジンとを備える再生デバイスによって実行されるべき方法であって、
前記第1のウェイクワードエンジンが、前記入力サウンドデータ内において音声アシスタントサービス(VAS)ウェイクワードを検出したとき、前記再生デバイスにより、前記少なくとも1つのマイクロフォンで検出された前記音を表すサウンドデータを、VASの1つ以上のサーバに向かってストリーミングさせるように作用する、VASウェイクワードイベントを生成する様に構成され、前記方法は、
前記第2のウェイクワードエンジンにより、前記サウンドデータ内の複数のコマンドワードのうちの第1のコマンドワードを検出すること、ここで、前記複数のコマンドワードの各々は、種々の再生コマンドに対応する、
前記検出された第1のコマンドワードに対応する1つ以上の再生条件が満たされていると判定された場合に、前記第2のウェイクワードエンジンにより、前記検出された第1のコマンドワードに対応するコマンドワードイベントを生成すること、および
前記コマンドワードイベントに応答して、前記第1のコマンドワードに対応する第1の再生コマンドを実行すること、を含む、方法。
【請求項2】
前記再生デバイスは、前記第1のコマンドワードに対応する前記1つ以上の再生条件が満たされたときに第1状態に移行し、前記第1のコマンドワードに対応する前記1つ以上の再生条件のうちの少なくとも1つの再生条件が満たされていないときに第2状態に移行するように構成された状態機械をさらに備え、前記第1のコマンドワードに対応する前記1つ又はそれ以上の再生条件が満たされていると判定することは、前記状態機械が前記第1状態にあると判定することを含む、請求項1に記載の方法。
【請求項3】
前記再生デバイスは、前記複数のコマンドワードの各コマンドワードに対応する追加の状態機械をさらに備え、各追加の状態機械は、前記それぞれのコマンドワードに対応する1つ以上の再生条件が満たされたときに前記第1状態に移行し、前記それぞれのコマンドワードに対応する前記1つ以上の再生条件の少なくとも1つの再生条件が満たされないときに第2状態に移行するように構成される、請求項2に記載の方法。
【請求項4】
前記検出された第1のコマンドワードに対応する1つ以上の再生条件のうちの少なくとも1つの再生条件が満たされていないと判定された場合、前記検出された第1のコマンドワードに対応するコマンドワードイベントの生成を抑制することをさらに含む、請求項1から3のいずれかに記載の方法。
【請求項5】
前記少なくとも1つのマイクロフォンによって検出された音を表すサウンドデータをバッファに格納すること、
前記第1のウェイクワードエンジンが第1のVASウェイクワードを検出したときに、前記第1のウェイクワードエンジンにより、前記検出された第1のVASウェイクワードに対応するVASウェイクワードイベントを生成すること、および
前記第1のコマンドワードに対応する前記コマンドワードイベントに応答して、
ネットワークインターフェースを介して、前記音声アシスタントサービスの前記1つ以上のサーバに、前記バッファされたサウンドデータの一部であって、(i)前記第1のVASウェイクワードに先行する所定時間分の前記バッファされたサウンドデータと、(ii)前記第1のVASウェイクワードの後に続く音声を表す、バッファされたサウンドデータとを、ストリーミングすることをさらに含む、請求項1から4のいずれかに記載の方法。
【請求項6】
前記再生デバイスは、前記少なくとも1つのマイクロフォンによって検出された前記音を表す入力サウンドデータを受信するように構成された第3のウェイクワードエンジンをさらに備え、
前記方法は、更に、
前記第3のウェイクワードエンジンにより、前記第3のウェイクワードエンジンによってサポートされる複数のオーディオサービスウェイクワードのうちの特定のストリーミングオーディオサービスウェイクワードを検出すること、ここで複数のオーディオサービスウェイクワードは、それぞれのストリーミングオーディオサービスコマンドに対応する、
前記特定のストリーミングオーディオサービスウェイクワードに対応する1つ以上のストリーミングオーディオサービス条件が満たされていると判定された場合に、
前記第3のウェイクワードエンジンにより、前記特定のストリーミングオーディオサービスウェイクワードに対応するストリーミングオーディオサービスウェイクワードイベントを生成すること、および
前記ストリーミングオーディオサービスウェイクワードイベントに応答して、前記特定のストリーミングオーディオサービスウェイクワードに対応する特定のストリーミングオーディオサービスコマンドを実行することを含む、請求項1から5のいずれかに記載の方法。
【請求項7】
サウンドデータは、第1の音声入力であり、第1の音声入力は、前記第1の
コマンドワードおよび第1の音声発話を含み、
前記方法は、
前記コマンドワードイベントに応答して、ローカル自然言語ユニット(NLU)を介して、前記第1の音声発話が、所定のキーワードのライブラリからの少なくとも1つのキーワードを含むかどうかを判定することをさらに含み、
前記第1の音声発話が1つ以上の特定のキーワードを含むときに、前記第1の再生コマンドを実行することは、前記第1の音声発話内の前記1つ以上の特定のキーワードに対応する1つ以上のパラメータに従って前記第1の再生コマンドを実行することを含む、請求項1から6のいずれかに記載の方法。
【請求項8】
前記第1の音声発話が、前記所定のキーワードのライブラリからの少なくとも1つのキーワードを含まない場合、
音声アシスタントサービスの1つ以上のサーバで処理されるために、音声アシスタントサービスの1つ以上のサーバに第1の音声入力を表すサウンドデータをストリーミングすること、および
前記音声アシスタントサービスへの第2の音声入力のための音声プロンプトを再生し、
音声アシスタントサービスの1つ以上のサーバで処理されるために、音声アシスタントサービスの1つ以上のサーバに第2の音声入力を表すサウンドデータをストリーミングすること、および
1つ以上のデフォルトのパラメータに従って第1の再生コマンドを実行することをさらに含む、請求項7に記載の方法。
【請求項9】
1つ以上の特定のキーワードのうちの第1のキーワードは、
メディア再生システムの第1のゾーンに対応するゾーン名を表し、
前記1つ以上のパラメータに従って前記第1の再生コマンドを実行することは、前記第1のゾーンにおいて前記第1の再生コマンドを実行するための1つ以上の命令を送信することを含む、請求項8に記載の方法。
【請求項10】
所定のキーワードのライブラリを、
メディア再生システム内のそれぞれのゾーンに対応するゾーン名で充足すること、ここで各ゾーンが1つ以上のそれぞれの再生デバイスを備える、をさらに含み、
所定のキーワードのライブラリには、前記メディア再生システムの
第1のゾーンに対応するゾーン名が充足される、請求項7から9のいずれか一項に記載の方法。
【請求項11】
ネットワークインターフェースを介して、ローカルエリアネットワークに接続されたスマートホームデバイスを検出すること、および
前記ローカルエリアネットワークで検出されたそれぞれのスマートホームデバイスに対応する名前で前記所定のキーワードのライブラリを充足すること
をさらに含む、請求項7から10のいずれか一項に記載の方法。
【請求項12】
メディア再生システムが登録されている前記1つ以上のユーザプロファイルによってお気に入りとして指定されたプレイリストに対応する名前を、所定のキーワードのライブラリに充足することをさらに含む、請求項7から11のいずれか一項に記載の方法。
【請求項13】
前記第1の再生コマンドが所与のパラメータを必要とすると判定すること、
前記所与のパラメータに対応するキーワードを含む第2の音声入力を提供するために音声プロンプトを再生すること、ここで、前記第2の音声入力は第2の音声発話を含む、
前記ローカルNLUを介して、前記第2の音声発話が前記所与のパラメータに対応する前記キーワードを含むかどうかを判定すること、および
前記第2の音声発話が前記所与のパラメータに対応する前記キーワードを含む場合、所与のパラメータに従って前記第1の再生コマンドを実行すること、をさらに含む、請求項7から12のいずれか一項に記載の方法。
【請求項14】
請求項1から13のいずれかに記載の方法を、再生デバイスに実行させるために1つ以上のプロセッサによって実行可能な命令を格納した、非一時的コンピュータ可読媒体。
【請求項15】
再生デバイスであって、
ネットワークインターフェース、
1つ以上のプロセッサ、
音を検出するように構成された少なくとも1つのマイクロフォン、
少なくとも1つのスピーカ、
第1および第2のウェイクワードエンジン、および
前記1つ以上のプロセッサによって実行可能な命令が格納され、前記再生デバイスに請求項1から13のいずれかに記載の方法を実行させるデータストレージを含む、再生デバイス。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本願は、2019年6月12日に出願された「NETWORK MICROPHONE WITH COMMAND KEYWORD CONDITIONING」と題する米国特許出願公開第16/439,009号明細書の優先権を主張するものであり、その全体は、参照により本明細書に組み込まれる。
【技術分野】
【0002】
本技術は、コンシューマ用品に関し、より詳細には、メディア再生システムまたはその何らかの態様の音声支援(音声アシステッド)制御を対象とする方法、システム、製品、機能、サービス、および他の要素に関する。
【背景技術】
【0003】
SONOS,Inc.が新しいタイプの再生システムの開発を開始した2002年まで、声を出す設定でデジタルオーディオにアクセスして聴取する選択肢は制限されていた。その後、Sonosは、2003年に「Method for Synchronizing Audio Playback between Multiple Networked Devices」と題する最初の特許出願のうちの1つを出願し、2005年に販売用の最初のメディア再生システムの提供を開始した。Sonosワイヤレスホームサウンドシステムは、人々が1つ以上のネットワーク化された再生デバイスを介して多くの供給元からの音楽を体験することを可能にする。コントローラ(例えば、スマートフォン、タブレット、コンピュータ、音声入力デバイス)にインストールされたソフトウェア制御アプリケーションを介して、ネットワーク化された再生デバイスを有する任意の部屋で、自分が望むものを再生することができる。メディアコンテンツ(例えば、曲、Podcast、ビデオサウンド)は、再生デバイスを有する各部屋が対応する異なるメディアコンテンツを再生できるように、再生デバイスにストリーミングすることができる。さらに、同じメディアコンテンツの同期再生のために部屋を一緒にグループ化することができ、および/または同じメディアコンテンツをすべての部屋で同期して聞くことができる。
【図面の簡単な説明】
【0004】
本開示の技術の特徴、態様、および利点は、以下の説明、添付の特許請求の範囲、および添付の図面に関連させて、よりよく理解することができる。
【0005】
本開示の技術の特徴、態様、および利点は、以下に列挙される、続く説明、添付の特許請求の範囲、および添付の図面に関連させて、よりよく理解することができる。当業者は、図面に示された特徴が例示の目的のためであり、その異なるおよび/または追加の特徴および配置を含む変形が可能であることを理解するであろう。
【
図1A】開示された技術の態様に従って構成されたメディア再生システムを有する環境の部分的な破断図である。
【
図1B】
図1Aのメディア再生システムおよび1つ以上のネットワークの概略図である。
【
図2A】例示的な再生デバイスの機能ブロック図である。
【
図2B】
図2Aの再生デバイスの例示的なハウジングの等角図である。
【
図2D】本開示の態様による例示的な音の標本を示すグラフである。
【
図3A】本開示の態様による例示的な再生デバイスの構成を示す図である。
【
図3B】本開示の態様による例示的な再生デバイスの構成を示す図である。
【
図3C】本開示の態様による例示的な再生デバイスの構成を示す図である。
【
図3D】本開示の態様による例示的な再生デバイスの構成を示す図である。
【
図3E】本開示の態様による例示的な再生デバイスの構成を示す図である。
【
図4】本開示の態様による例示的なコントローラデバイスの機能ブロック図である。
【
図5A】本開示の態様によるコントローラインターフェースである。
【
図5B】本開示の態様によるコントローラインターフェースである。
【
図6】メディア再生システムのメッセージのフロー図である。
【
図7A】本開示の態様による第1の例示的なネットワークマイクロフォンデバイスの特定のコンポーネントの機能ブロック図である。
【
図7B】本開示の態様による第2の例示的なネットワークマイクロフォンデバイスの特定のコンポーネントの機能ブロック図である。
【
図7C】本開示の態様による例示的な状態機械の機能ブロック図である。
【
図8】背景音声に関連する分析されたサウンドメタデータを示す例示的なノイズのグラフを示す。
【
図9A】本開示の態様による、例示的なコマンドキーワードおよび関連条件を示す表の第1の部分を示す。
【
図9B】本開示の態様による、例示的なコマンドキーワードおよび関連条件を示す表の第2の部分を示す。
【
図10】開示の態様による例示的なメディア再生システムおよびクラウドネットワークを示す概略図である。
【
図11】本開示の態様による例示的なプレイリストを示す表を示す。
【
図12】本開示の態様によるコマンドキーワードに基づいて動作を実行する例示的な方法のフロー図である。
【
図13】本開示の態様によるコマンドキーワードに基づいて動作を実行する例示的な方法のフロー図である。
【
図14】本開示の態様によるコマンドキーワードに基づいて動作を実行する例示的な方法のフロー図である。
【
図15A】本開示の態様に従って構成された例示的なNMDの例示的な出力を示す。
【
図15B】本開示の態様に従って構成された例示的なNMDの例示的な出力を示す。
【
図15C】本開示の態様に従って構成された例示的なNMDの例示的な出力を示す。
【
図15D】本開示の態様に従って構成された例示的なNMDの例示的な出力を示す。
【0006】
図面は例示的な実施形態を説明するためのものであるが、本発明は図面に示された配置および手段に限定されないことを理解されたい。図面において、同一の参照番号は、少なくとも概ね同様の要素を識別する。任意の特定の要素の説明を容易にするために、任意の参照番号の最上位の桁は、その要素が最初に導入される図を指す。例えば、要素103aは、
図1Aに最初に導入され、
図1Aを参照して説明される。
【発明を実施するための形態】
【0007】
I.概要
本明細書に記載の例示的な技術は、コマンドを検出するように構成されたウェイクワードエンジンを含む。例示的なネットワークマイクロフォンデバイス(「NMD」)は、音声アシスタントサービス(「VAS」)を呼び出すウェイクワードエンジンと並行するそのようなウェイクワードエンジンを実装し得る。VASウェイクワードエンジンがノンスのウェイクワードに関与し得る一方で、コマンドキーワードエンジンは、「再生」または「スキップ」などのコマンドで呼び出される。
【0008】
ネットワークマイクロフォンデバイスは、無線オーディオ再生デバイス、イルミネーションデバイス、電化製品、およびホームオートメーション機器(例えば、サーモスタット、ドアロックなど)などのスマートホームデバイスの音声制御を容易にするために使用されてもよい。NMDは、通常、NMDの環境に存在する音を検出するように構成されたマイクロフォンアレイなどのマイクロフォンの配列を含むネットワークコンピューティングデバイスである。いくつかの例では、NMDは、オーディオ再生デバイスなどの別のデバイスの中に実装されてもよい。
【0009】
そのようなNMDへの音声入力は、通常、ユーザの要求を含む発話が続くウェイクワードを含む。実際には、ウェイクワードは、典型的には、NMDを「起動」し、特定の音声アシスタントサービス(「VAS」)を呼び出して、検出された音における音声入力の意図を解釈させるために使用される所定のノンスワードまたはフレーズである。例えば、ユーザは、他の例の中でも、AMAZON(登録商標)VASを呼び出すためにウェイクワード「アレクサ」、グーグル(登録商標)VASを呼び出すために「オーケー、グーグル」、APPLE(登録商標)VASを呼び出すために「ヘイ、シーリー」、SONOS(登録商標)によって提供されるVASを呼び出すために「ヘイ、ソノス」と語ることができる。実際には、ウェイクワードは例えば、ウェイクワード、トリガワード、ウェイクアップワードまたはフレーズと呼ばれることもあり、任意の適切なワード、ワードの組み合わせ(例えば、特定のフレーズ)、および/または他の何らかのオーディオキューの形態をとることができる。
【0010】
NMDによって検出された音が特定のウェイクワードを含む音声入力を含むかどうかを識別するために、NMDは、通常はNMDに搭載されているウェイクワードエンジンを利用することが多い。ウェイクワードエンジンは、1つ以上の識別アルゴリズムを使用して、記録されたオーディオ内の特定のウェイクワードを識別する(すなわち、「スポット」または「検出」する)ように構成されてもよい。そのような識別アルゴリズムは、ウェイクワードを語ることによって生成される周波数および/または時間領域パターンを検出するように訓練されたパターン認識を含むことができる。このウェイクワード識別プロセスは、一般に「キーワードスポッティング」と呼ばれる。実際には、キーワードスポッティングを容易にするために、NMDは、NMDのマイクロフォンによって検出された音をバッファリングし、その後、ウェイクワードエンジンを使用して、そのバッファリングされた音を処理して、ウェイクワードが記録されたオーディオに存在するかどうかを判定することができる。
【0011】
ウェイクワードエンジンが、記録されたオーディオ内にウェイクワードを検出すると、NMDは、音声入力が含まれているであろう音をNMDが検出したことを示すウェイクワードイベント(すなわち、「ウェイクワードトリガ」)が発生したと判定することができる。ウェイクワードイベントの発生により、通常、NMDは、検出された音に関係する追加の処理を実行する。VASウェイクワードエンジンでは、これらの追加の処理には、ウェイクワードが識別されたことを示す警報(例えば、可聴チャイムおよび/または光インジケータ)を出力するなどの可能な追加のプロセスの他、バッファから検出されたサウンドデータを抽出することを含むことができる。検出された音を抽出することは、特定のフォーマットに従って検出された音のストリームを読み出してパッケージングすることと、パッケージングされたサウンドデータを、解釈のために、適切なVASに送信することとを含むことができる。
【0012】
次に、ウェイクワードエンジンによって識別されたウェイクワードに対応するVASは、通信ネットワークを介してNMDから送信されたサウンドデータを受信する。VASは、従来、音声入力(例えば、AMAZONのALEXA、APPLEのSIRI、MICROSOFTのCORTANA、GoogleのASSISTANTなど)を処理するように構成された1つ以上のクラウドサーバを使用して実装されたリモートサービスの形態をとる。場合によっては、VASの特定のコンポーネントおよび機能は、ローカルデバイスおよびリモートデバイスにわたって分散されてもよい。
【0013】
VASが検出されたサウンドデータを受信すると、VASはそのデータを処理し、これは音声入力を識別すること、および音声入力に取り込まれたワードの意図を判定することを含む。次いで、VASは、判定された意図にしたがって何らかの命令でNMDに応答を返すことができる。その命令に基づいて、NMDは、1つ以上のスマートデバイスにアクションを実行させることができる。例えば、NMDは、他の例の中でも、VASからの命令に従って、再生デバイスに特定の曲を再生させたり、イルミネーションデバイスをオン/オフさせたりしてもよい。場合によっては、NMD、またはNMDを備えたメディアシステム(例えば、NMDを備えた再生デバイスを有するメディア再生システム)は、複数のVASと相互作用するように構成されてもよい。実際には、NMDは、NMDによって検出された音において識別された特定のウェイクワードに基づいて、1つのVASを別のものよりも選択していくことができる。
【0014】
従来のウェイクワードエンジンの1つの課題は、「誤りのウェイクワード」のトリガによって引き起こされる誤検知を起こしやすいことである。NMDのコンテキストにおける誤検知は、一般に、誤ってVASを呼び出す検出された音入力を指す。VASウェイクワークエンジンでは、実際にNMDにウェイクワードを語ろうとするユーザがいない場合でも、誤検知がVASを呼び出すことが可能である。
【0015】
例えば、ウェイクワードエンジンが、NMDの環境で再生されているオーディオ(例えば、音楽、ポットキャストなど)から、検出された音のウェイクワードを識別すると、誤検知が発生する可能性がある。この出力オーディオは、NMDの近傍の再生デバイスから再生されることも、NMD自体によって再生されることもある。例えば、NMDの近くで、コマーシャル広告のAMAZONのALEXAのサービスの音声が出力された場合、コマーシャル中の「Alexa」というワードが誤検知を誘発する可能性がある。誤検知を引き起こす出力オーディオ内のワードまたはフレーズは、本明細書では「誤りのウェイクワード」と呼ばれることがある。
【0016】
他の例では、実際のウェイクワードに音声的に類似するワードは、誤検知を引き起こす。例えば、NMDの近傍でコマーシャルとしてLEXUS(登録商標)自動車の音声が発せられると、「レクサス」というワードは音声的に「アレクサ」に類似しているため、誤検知を引き起こす誤りのウェイクワードとなる可能性がある。他の例として、人が会話においてVASウェイクワードまたは音声的に類似したワードを語るときに誤検知が発生する可能性がある。
【0017】
誤検知の発生は、望ましくない。なぜなら、否定的な結果、中でも、NMDに追加のリソースを消費させたり、オーディオの再生を中断させたりする可能性があるためである。一部のNMD、例えば、AMAZON FIRETVリモートまたはAPPLE TVリモートなどの場合は、VASを呼び出すためにボタン押下を必要とすることによって誤検知を回避することができるようになっている。実際には、VASウェイクワードエンジンによって生成される誤検知の影響は、検出されたサウンドデータを処理し、検出されたサウンドデータが認識可能な音声入力を含まないと判断するVASによって、部分的に軽減されることが多い。
【0018】
VASを呼び出す所定のノンス(一回限りの使い捨て)のウェイクワードとは対照的に、コマンドを呼び出すキーワード(本明細書では「コマンドキーワード」と呼ばれる)は、再生コマンドなどのコマンド自体として機能するワードまたはワードの組み合わせ(例えば、フレーズ)であり得る。いくつかの実装形態では、コマンドキーワードは、ウェイクワードとコマンド自体の両方として機能することができる。すなわち、コマンドキーワードエンジンが、記録されたオーディオ内のコマンドキーワードを検出すると、NMDは、コマンドキーワードイベントが発生したと判定し、検出されたキーワードに対応するコマンドを応答して実行することができる。例えば、コマンドキーワード「一時停止」の検出に基づいて、NMDは再生を一時停止させる。コマンドキーワードエンジンの1つの利点は、記録されたオーディオが処理のために必ずしもVASに送信される必要がないことであり、これは、他の可能な利点の中でも、音声入力に対するより迅速な応答、ならびにユーザのプライバシーの増強をもたらし得る。以下に説明するいくつかの実装形態では、検出されたコマンドキーワードイベントは、音声入力のローカル自然言語処理などの1つ以上の後続のアクションを引き起こすことができる。いくつかの実装形態では、コマンドキーワードイベントは、そのような動作を引き起こす前に検出されなければならない1つ以上の他の条件のうちの1つの条件であり得る。
【0019】
本明細書に記載の例示的な技術によれば、コマンドキーワードを検出した後、例示的なNMDは、検出されたコマンドキーワードに対応する特定の条件が満たされた場合にのみ、コマンドキーワードイベントを生成する(および、検出されたコマンドキーワードに対応するコマンドを実行する)ことができる。例えば、コマンドキーワード「スキップ」を検出した後、例示的なNMDは、スキップを実行すべきであることを示す特定の再生条件が満たされた場合にのみ、コマンドキーワードイベントを生成する(また、次のトラックにスキップする)。これらの再生条件は、例えば、(i)メディアアイテムが再生されているという第1状態、(ii)キューがアクティブであるという第2状態、および(iii)再生されているメディアアイテムに後続するメディアアイテムをキューが含むという第3状態を含むことができる。これらの条件のいずれかが満たされない場合、コマンドキーワードイベントは生成されない(また、スキップが実行されない)。
【0020】
コマンドキーワードイベントを生成する前に、(a)コマンドキーワードの検出、および(b)検出されたコマンドキーワードに対応する特定の条件の両方を要求することによって、誤検知の発生率を低減することができる。例えば、TVオーディオを再生するとき、ダイアログまたは他のTVオーディオは、TVオーディオ入力がアクティブである(かつキューではない)ので、「スキップ」のコマンドキーワードに対して誤検知を生成する可能性がない。さらに、NMDは、制御デバイスゲートの状態に関する条件が整えば、ウェイクワードイベントを生成するので、コマンドキーワードを(NMDを音声入力受信可能状態にするためにボタンの押下を要求するのではなく)絶えず受信可能状態にしておく。
【0021】
キーワードイベントを調整する態様は、VASウェイクワードエンジンおよび他の従来のノンスのウェイクワードエンジンにも適用可能であり得る。例えば、そのような調整は、別様には誤検知になりやすい可能性があるコマンドキーワードエンジンに加えて、実用的な他のウェイクワードエンジンを可能にすることができる。例えば、NMDは、ストリーミングオーディオサービスに固有の特定のウェイクワードをサポートするストリーミングオーディオサービスウェイクワードエンジンを含むことができる。例えば、ストリーミングオーディオサービスのウェイクワードを検出した後、例示的なNMDは、特定のストリーミングオーディオサービスが満たされた場合にのみ、ストリーミングオーディオサービスのウェイクワードイベントを生成する。これらの再生条件は、例えば、他の例の中でも、(i)ストリーミングオーディオサービスへのアクティブなサブスクリプション、および(ii)キュー内のストリーミングオーディオサービスからのオーディオトラックを含むことができる。
【0022】
さらに、コマンドキーワードは、単一のワードまたはフレーズであってもよい。フレーズは、一般に、より多くのシラブルを含み、これは、一般に、コマンドキーワードをより固有のものにし、コマンドキーワードエンジンによる識別をより容易にする。したがって、場合によっては、フレーズであるコマンドキーワードは、誤検知検出の傾向が低くなり得る。さらに、フレーズを使用することにより、より多くの意図をコマンドキーワードに組み込むことができる。例えば、「順方向にスキップ」というコマンドキーワードは、スキップが、前のトラックに戻るのではなく、キューにおいて次のトラックに進むべきであるということをシグナリングする。
【0023】
さらに、NMDは、ローカル自然言語ユニット(NLU)を含むことができる。多種多様な音声入力を認識することができる1つ以上のクラウドサーバに実装されたNLUとは対照的に、例示的なローカルNLUは、比較的小さなキーワードのライブラリ(例えば、1万のワードおよびフレーズ)を認識することができ、これにより、NMDに対する実用的な実装が容易になる。コマンドキーワードエンジンが、音声入力のコマンドキーワードを検出した後にコマンドキーワードイベントを生成すると、ローカルNLUは、音声入力の音声発話部分を処理して、ライブラリからキーワードを探し、見つかったキーワードから意図を判定することができる。
【0024】
音声入力の音声発話部分がライブラリからの少なくとも1つのキーワードを含む場合、NMDは、少なくとも1つのキーワードに対応する1つ以上のパラメータに従って、コマンドキーワードに対応するコマンドを実行することができる。言い換えれば、キーワードは、コマンドキーワードに対応するコマンドを変更またはカスタマイズすることができる。例えば、コマンドキーワードエンジンは、「再生」をコマンドキーワードとして検出するように構成されてもよく、ローカルNLUライブラリは、「低音量」というフレーズを含むことができる。次いで、ユーザが音声入力として「音楽を低音量で再生して」と語った場合、コマンドキーワードエンジンは、「再生」のコマンドキーワードイベントを生成し、キーワード「低音量」を「再生」コマンドのパラメータとして使用する。したがって、NMDは、この音声入力に基づいて再生するだけでなく、音量も下げる。
【0025】
例示的な技術は、ライブラリ内のキーワードをメディア再生システムのユーザにカスタマイズすることを含む。例えば、NMDは、メディア再生システムに設定された名前(例えば、ゾーン名、スマートデバイス名、ユーザ名)を使用して、ライブラリをポピュレートする(充足する)ことができる。さらに、NMDは、お気に入り再生リスト、インターネットラジオ局などの名前をローカルNLUライブラリにポピュレートする(集める)ことができる。そのようなカスタマイズは、ローカルNLUが音声コマンドでユーザをより効率的に支援することを可能にする。このようなカスタマイズはまた、ローカルNLUライブラリのサイズを制限することができるため、有利であり得る。
【0026】
ローカルNLUの1つの可能な利点は、プライバシーの向上である。音声発話をローカルで処理することにより、ユーザは音声記録をクラウドに(例えば、音声アシスタントサービスのサーバに)送信することを回避することができる。さらに、いくつかの実装形態では、NMDは、ローカルエリアネットワークを使用して、ネットワークに接続された再生デバイスおよび/またはスマートデバイスを発見することができ、これにより、このデータをクラウドに提供することを回避することができる。また、ユーザの好みおよびカスタマイズは、家庭内のNMDに対してローカルのままで、おそらくオプションのバックアップとしてクラウドを使用するだけであってもよい。他の利点も同様に可能である。
【0027】
上述したように、例示的な技術はコマンドキーワードに関連していた。第1の例示的な実装形態は、ネットワークインターフェースと、1つ以上のプロセッサと、音を検出するように構成された少なくとも1つのマイクロフォンと、少なくとも1つのスピーカと、少なくとも1つのマイクロフォンによって検出された音を表す入力サウンドデータを受信し、ウェイクワードエンジンが入力サウンドデータのVASウェイクワードを検出したときに音声アシスタントサービス(VAS)のウェイクワードイベントを生成するように構成されたウェイクワードエンジンであって、VASウェイクワードイベントが生成されたときに、少なくとも1つのマイクロフォンによって検出された音を表すサウンドデータを、音声アシスタントサービスの1つ以上のサーバに、デバイスがストリーミングする、ウェイクワードエンジンと、少なくとも1つのマイクロフォンにより検出された音を表す入力サウンドデータを受信し、(a)第2のウェイクワードエンジンが、入力サウンドデータにおいて、第2のウェイクワードエンジンによってサポートされている複数のコマンドキーワードのうちの1つを検出し、(b)検出されたコマンドキーワードに対応する1つ以上の再生条件が満たされているとき、コマンドキーワードイベントを生成するように構成された、コマンドキーワードエンジンであって、複数のコマンドキーワードのうちの各コマンドキーワードは、それぞれの再生コマンドである、コマンドキーワードエンジンとを含むデバイスを含む。デバイスは、コマンドキーワードエンジンを介して、第1のコマンドキーワードを検出し、第1のコマンドキーワードに対応する1つ以上の再生条件が満たされているかどうかを判定する。(a)第1のコマンドキーワードを検出することと、(b)第1のコマンドキーワードに対応する1つ以上の再生条件が満たされていると判定することとに基づいて、デバイスは、コマンドキーワードエンジンを介して、第1のコマンドキーワードに対応するコマンドキーワードイベントを生成する。コマンドキーワードイベントに応答して、1つ以上の再生条件が満たされていると判定するのに応じて、デバイスは、第1のコマンドキーワードに対応する第1の再生コマンドを実行する。
【0028】
第2の例示的な実装形態は、ネットワークインターフェースと、1つ以上のプロセッサと、音を検出するように構成された少なくとも1つのマイクロフォンと、少なくとも1つのスピーカと、少なくとも1つのマイクロフォンによって検出された音を表す入力サウンドデータを受信し、ウェイクワードエンジンが入力サウンドデータのVASウェイクワードを検出したときに音声アシスタントサービス(VAS)のウェイクワードイベントを生成するように構成されたウェイクワードエンジンであって、VASウェイクワードイベントが生成されたときに、少なくとも1つのマイクロフォンによって検出された音を表すサウンドデータを、音声アシスタントサービスの1つ以上のサーバに、デバイスがストリーミングする、ウェイクワードエンジンと、少なくとも1つのマイクロフォンにより検出された音を表す入力サウンドデータを受信するように構成された、コマンドキーワードエンジンとを含むデバイスを含む。デバイスは、コマンドキーワードエンジンを介して、デバイスによってサポートされる複数のコマンドキーワードのうちの1つである第1のコマンドキーワードを検出し、ローカル自然言語ユニット(NLU)を介して、少なくとも1つのキーワードに基づいて意図を判定する。第1のコマンドキーワードイベントを検出して意図を判定した後、デバイスは、判定された意図に従って第1のコマンドキーワードに対応する第1の再生コマンドを実行する。
【0029】
本明細書で説明されるいくつかの実施形態は、「ユーザ」および/または他のエンティティなどの所与の行為者によって実行される機能を指すことができるが、この説明は説明のみを目的としていることを理解されたい。特許請求の範囲は、特許請求の範囲自体の文言によって明示的に必要とされない限り、任意のそのような例示的行為者による行為を必要とすると解釈されるべきではない。
【0030】
さらに、本明細書では、いくつかの機能は、別の要素または機能「に基づいて」または「に応答して」実行されるものとして説明される。「に基づく」は、1つの要素または機能が別の機能または要素に関連していることを理解されたい。「応答して」が、1つの要素または機能が別の機能または要素の必要な結果であることを理解されたい。簡潔にするために、機能リンクが存在する場合、機能は一般に別の機能に基づくものとして説明される。しかしながら、そのような開示は、いずれかのタイプの機能的関係を開示するものとして理解されるべきである。
【0031】
II.動作環境の例
図1Aおよび
図1Bは、ここに開示された1つまたは複数の実施形態が実施され得るメディア再生システム100(または「MPS100」)の構成例を示す。まず、
図1Aを参照すると、図示されているMPS100は、複数の部屋と空間を有する例示的な家庭環境に関連付けられており、これらは総称して「家庭環境」、「スマートホーム」、または「環境101」とも言う。環境101は、マスターバスルーム101a、マスターベッドルーム101b(ここでは「ニックの部屋」と呼ぶ)、セカンドベッドルーム101c、ファミリールームまたはデン101d、オフィス101e、リビングルーム101f、ダイニングルーム101g、キッチン101h、および屋外パティオ101iを含み、いくつかの部屋、スペース、および/または再生ゾーンを有する家庭からなる。以下では、家庭環境の下での特定の実施形態や例を説明するが、ここで説明する技術は他のタイプの環境でも実施可能である。いくつかの実施形態では、例えば、MPS100は、1つ以上の商業環境(例えば、レストラン、モール、空港、ホテル、小売店などの店舗)、1つ以上の車両(例えば、スポーツユーティリティビークル、バス、車、船、ボート、飛行機)、複数の環境(例えば、家庭環境と車両環境の組み合わせ)、および/または、マルチゾーンオーディオが望ましいと思われる別の適切な環境で実施することができる。
【0032】
これらの部屋や空間の中で、MPS100は1つ以上のコンピューティングデバイスを含む。
図1Aおよび
図1Bを一緒に参照すると、そのようなコンピューティングデバイスは、再生デバイス102(再生デバイス102a~102oとして個別に識別される)、ネットワークマイクロフォンデバイス103(「NMD」103a~102iとして個別に識別される)、およびコントローラデバイス104aおよび104b(総称して「コントローラデバイス104」)を含むことができる。
図1Bを参照すると、家庭環境は、1つまたは複数のスマートイルミネーションデバイス108(
図1B)、スマートサーモスタット110、およびローカルコンピューティングデバイス105(
図1A)などの、ローカルネットワークデバイスを有する、追加および/または他のコンピューティングデバイスを含んでもよい。以下に説明する実施形態では、様々な再生装置102のうち1つ以上は携帯型の再生装置として構成されてもよく、他は据置型の再生装置として構成されてもよい。例えば、ヘッドフォン102o(
図1B)は携帯型の再生装置であり、本棚に設置された再生装置102dは据置型の装置であってもよい。別の例として、パティオの再生装置102cは、バッテリ駆動の装置であってもよく、これにより、壁のコンセントなどに接続されていない状態で、環境101内の様々な場所や、環境101外に持ち運ぶことができる。
【0033】
なお、
図1Bを参照すると、MPS100の様々な再生装置、ネットワークマイクロフォン、およびコントローラ装置102~104および/または他のネットワーク装置は、ネットワークルータ109を含むLANなどのネットワーク111を介して、ポイントツーポイント接続および/または有線および/または無線である他の接続を介して、互いに組合せ(couple)されてもよい。例えば、デン101d(
図1A)にある再生装置102jは、「左」の装置として指定されることがあり、同じくデン101dにあり、「右」の装置として指定されることがある再生装置102aとポイントツーポイントで接続されることがある。関連する実施形態では、左再生装置102jは、ネットワーク111を介したポイントツーポイント接続および/または他の接続を介して、「前」の装置として指定されることがある再生装置102bなどの他のネットワーク装置と通信してもよい。
【0034】
図1Bにさらに示すように、MPS100は、ワイドエリアネットワーク(「WAN」)107を介して1つまたは複数のリモートコンピューティングデバイス106に組合せされてもよい。いくつかの実施形態では、各リモートコンピューティングデバイス106は、1つまたは複数のクラウドサーバの形態をとってもよい。リモートコンピューティングデバイス106は、様々な方法で環境101のコンピューティングデバイスと対話するように構成されてもよい。例えば、リモートコンピューティングデバイス106は、家庭環境101において、オーディオなどのメディアコンテンツのストリーミングおよび/または再生制御を容易にするように構成されてもよい。
【0035】
いくつかの実装では、様々な再生デバイス、NMD、および/またはコントローラデバイス102~104は、VASに関連する少なくとも1つのリモートコンピューティングデバイス、およびメディアコンテンツサービス(「MCS」)に関連する少なくとも1つのリモートコンピューティングデバイスに通信可能に組合せされてもよい。例えば、
図1Bの例示された例では、リモートコンピューティングデバイス106は、VAS190に関連付けられており、リモートコンピューティングデバイス106bは、MCS192に関連付けられている。
図1Bの例では、分かりやすくするために、単一のVAS190と単一のMCS192のみを示しているが、MPS100は、複数の異なるVASおよび/またはMCSに組合せされていてもよい。いくつかの実装では、VASは、AMAZON(登録商標)、GOOGLE(登録商標)、APPLE(登録商標)、MICROSOFT(登録商標)、SONOS(登録商標)、または他の音声アシスタントプロバイダーの1つまたは複数によって運営されてもよい。いくつかの実装では、MCSは、SPOTIFY(登録商標)、PANDORA(登録商標)、AMAZON MUSIC(登録商標)、または他のメディアコンテンツサービスの1つまたは複数によって運営されてもよい。
【0036】
図1Bにさらに示すように、リモートコンピューティングデバイス106は、メディア再生機能の遠隔促進、デバイスおよびシステムのステータス情報の管理、MPS100のデバイスと1つまたは複数のVASおよび/またはMCSとの間の通信の指示など、特定の動作を実行するように構成されたリモートコンピューティングデバイス106cをさらに含む。一例では、リモートコンピューティングデバイス106cは、1つまたは複数のSONOS Wireless HiFi Systemのクラウドサーバを提供する。
【0037】
様々な実装において、再生デバイス102の1つまたは複数は、オンボード(例えば、統合された)ネットワークマイクロフォンデバイスの形態をとるか、またはそれを含むことができる。例えば、再生装置102a~eは、それぞれNMD103a~eを含む、またはそれに対応するものを備えている。なお、ここでは、NMDを搭載した再生機を、特に断りのない限り、再生機またはNMDと呼ぶ。いくつかのケースでは、NMD103のうちの1つまたは複数が、スタンドアロン型のデバイスであってもよい。例えば、NMD103fおよび103gは、スタンドアロン型の装置であってもよい。単体のNMDでは、スピーカや関連電子機器など、再生機器に含まれる部品や機能が省略されている場合がある。例えば、このような場合、スタンドアロンのNMDは、音声出力を行わないか、出力できても限られた音声出力(例えば、比較的低品質の音声出力)を行う。
【0038】
MPS100の様々な再生装置およびネットワークマイクロフォンデバイス102および103は、それぞれ固有の名前と関連付けされていてもよく、この名前は、これらのデバイスの1つまたは複数のセットアップ中などに、ユーザによってそれぞれのデバイスに割り当てられてもよい。例えば、
図1Bの図示例に示すように、再生装置102dが物理的に本棚の上に位置していることから、ユーザは「本棚」という名前を付けてもよい。同様に、NMD 103fは、キッチン101h(
図1A)のアイランドカウンター上に物理的に位置しているため、「アイランド」という名称を割り当ててもよい。再生装置の中には、ゾーンや部屋に応じた名前が割り当ててもよく、例えば、再生装置102e、102l、102m、102nには、それぞれ「ベッドルーム」、「ダイニングルーム」、「リビングルーム」、「オフィス」という名前を付けても良い。さらに、特定の再生装置は、機能的に記述的な名前を持つことができる。例えば、再生装置102aと102bには、それぞれ「右」と「前」という名前が割り当てられるが、これは、これら2つの装置が、デン101d(
図1A)のゾーンでのメディア再生時に、特定のオーディオチャンネルを提供するように構成されているからである。パティオの再生装置102cは、バッテリ駆動であること、および/または、環境101の異なる領域に容易に持ち運び可能であることから、ポータブルと名前を付けられてもよい。他の命名規則も可能である。
【0039】
上述したように、NMDは、NMDの周辺にいる人の会話の音声と背景雑音が混ざった音など、環境からの音を検出し、処理することができる。例えば、NMDが環境中で音を検出すると、NMDは検出された音を処理して、その音がNMDを、最終的には特定のVASを意図した音声入力を含むスピーチを含んでいるかどうかを判断することができる。例えば、NMDは、音声に特定のVASに関連するウェイクワードが含まれているかどうかを識別することができる。
【0040】
図1Bの例示された例では、NMD103は、ネットワーク111およびルータ109を介してネットワーク上でVAS190と対話するように構成されている。VAS190とのインタラクションは、例えば、NMDが検出した音の中に潜在的なウェイクワードを識別したときに開始される。この識別により、ウェイクワードイベントが発生し、NMDが検出した音データをVAS190へ送信することが開始される。いくつかの実施形態では、MPS100の様々なローカルネットワークデバイス102~105(
図1A)および/またはリモートコンピューティングデバイス106cは、選択されたVASに関連するリモートコンピューティングデバイスと様々なフィードバック、情報、命令、および/または関連データを交換してもよい。このような情報の交換は、音声入力を含む送信メッセージに関連している場合もあれば、独立している場合もある。ある実施形態では、リモートコンピューティングデバイス(複数可)およびMPS100は、ここに記載されているような通信パスを介して、および/または、2017年2月21日に出願され、「Voice Control of a Media Playback System」と題された米国出願第15/438,749号に記載されているメタデータ交換チャネルを使用して、データを交換してもよい。米国出願第15/438,749号を参照することにより、その内容の全ては、本願明細書の中に含まれるものとする。
【0041】
サウンドデータのストリームを受信すると、VAS190は、NMDからのデータストリームに音声入力があるかどうかを判断し、ある場合にはVAS190は、音声入力に含まれる用語の意図も判断する。VAS190は、次に、リスポンスをMPS100に返送するが、このリスポンスは、ウェイクワードイベントを引き起こしたNMDに直接送信する。このリスポンスは、VAS190が音声入力に意図が存在すると判断した事に基づいて行われる。一例として、VAS190が「ビートルズのヘイジュードを再生(Play Hey Jude by The Beatles)」という命令を伴う音声入力を受信したことに応答して、VAS190は、音声入力の基本的な意図が再生を開始することであると判断し、さらに音声入力の意図が特定の曲“ヘイジュード(Hey Jude)”を再生することであると判断してもよい。これらの決定の後、VAS190は、コンテンツ(すなわち、曲「ヘイジュード(Hey Jude)」)を取得するためのコマンドを特定のMCS192に送信してもよく、そのMCS192は、続いて、このコンテンツをMPS100に直接、またはVAS190を介して間接的に提供(例えば、ストリーム提供)する。いくつかの実施形態では、VAS190は、MPS100にコマンドを送信し、MPS100自身がMCS192からコンテンツを取得する様にしてもよい。
【0042】
ある実施形態においては、互いに近接して配置された二つ以上のNMDによって検出された音声に音声入力が識別された場合、NMDは、互いの仲裁処理を行うことができる。例えば、環境101(
図1A)にあるNMD搭載の再生装置102dは、リビングルームにあるNMD搭載の再生装置102mと近接しており、両装置102d、102mは少なくとも同時に同じ音を検出することがある。このような場合、どのデバイスがリモートVASに検知したサウンドデータを送信する責任があるかについて、仲裁が必要になる。NMD間の仲裁の例は、例えば、先に説明した米国出願第15/438,749号明細書に記載されている。
【0043】
ある実施形態では、NMDは、NMDを含まない再生デバイスと、指定により、又はデフォルトにより関連付けされていてもよい。例えば、キッチン101h(
図1A)にあるアイランドNMD103fを、アイランドNMD103fと比較的近い場所にあるダイニングルームの再生装置102lに割り当ててもよい。実際、NMDからの音声入力をリモートVASが受けたことに応答して、NMDは、割り当てられている再生装置にオーディオを生成させるように指示しても良い。ここで、ユーザが特定の曲、アルバム、プレイリストなどを再生するコマンドを話したことに応じてNMDからVASに音声入力が送られる。NMDや再生装置を指定装置またはデフォルト装置として割り当てることについての詳細は、例えば、先に説明した米国特許出願明細書に記載されている。
【0044】
例示的なMPS100の異なる構成要素に関連するさらなる側面、および異なる構成要素がどのように相互作用してユーザにメディア体験を提供するかについては、以下のセクションに記載されている。ここでの議論は一般的に例示のMPS100に言及しているが、ここで説明する技術は、特に上述の家庭環境内でのアプリケーションに限定されるものではない。例えば、ここに記載の技術は、再生装置、ネットワークマイクロフォン、および/またはコントローラ装置102~104のいずれかをより多くまたはより少なく構成した他の家庭環境の構成においても有用である。例えば、ここに記載の技術は、単一の再生装置102および/または単一のNMD103を有する環境内で利用することができる。かかる場合、ネットワーク111(
図1B)を廃止し、単一の再生装置102および/または単一のNMD103が、リモートコンピューティング装置106~dと直接通信してもよい。ある実施形態では、通信ネットワーク(例えば、LTEネットワーク、5Gネットワークなど)が、LANとは独立して、様々な再生装置、ネットワークマイクロフォン、および/またはコントローラ装置102~104と通信してもよい。
【0045】
a.再生装置及びネットワークマイクロフォンデバイスの例
図2Aは、
図1Aおよび
図1BのMPS100の再生装置102の1つの特定の側面を示す機能ブロック図である。図示されているように、再生装置102は、それぞれが以下でさらに詳細に説明される様々な構成要素を含み、再生装置102の様々な構成要素は、システムバス、通信ネットワーク、又は何らかの他の接続機構を介して、互いに動作可能に組合せされている。
図2Aの図示された例では、再生装置102は、
図1Aに示されたNMD103の一例の様に、NMDの機能をサポートするコンポーネントを含むため、「NMD搭載」再生装置と呼ぶことがある。
【0046】
図示されているように、再生装置102は、少なくとも1つのプロセッサ212を含み、このプロセッサは、メモリ213に格納された命令に従って入力データを処理するように構成されたクロック駆動型コンピューティングコンポーネントであってもよい。メモリ213は、プロセッサ212によって実行可能な命令を格納するように構成され、有形で、非一過性の、コンピュータ可読媒体である。例えば、メモリ213は、特定の機能を実現するためにプロセッサ212によって実行可能なソフトウェアコード214をロードすることができるデータストレージである。
【0047】
一例では、これらの機能は、再生装置102(他の再生装置であってもよい)が、オーディオソースからオーディオデータを取得する機能を含む。別の例では、機能は、再生装置102が、音声データ、検出されたサウンドデータ(例えば、音声入力に対応する)、および/または他の情報を、少なくとも1つのネットワークインターフェース224を介して、ネットワーク上の別の装置に送信することを含む。さらに別の例では、機能は、再生装置102が、1つまたは複数の他の再生装置に、再生装置102と同期して音声を再生させることを含んでもよい。さらに別の例では、機能は、再生装置102が1つ以上の他の再生装置とペアリングまたはその他の方法で結合することを可能にし、マルチチャネルオーディオ環境を作成することを含む。他にも多数の機能例が考えられるが、そのうちのいくつかを以下に説明する。
【0048】
上述したように、特定の機能には、再生装置102が1つ以上の他の再生装置とオーディオコンテンツの再生を同期させることを含む。同期再生時には、リスナーは、同期再生機器によるオーディオコンテンツの再生間の時間差を認識できない。2004年4月4日に出願された米国特許第8,234,395号の明細書は、「独立したクロックを持つ複数のデジタルデータ処理装置間で動作を同期させるシステムおよび方法(System and method for synchronizing operations among a plurality of independently clocked digital data processing devices)」という発明の名称であり、再生機器間でのオーディオ再生の同期化に関するいくつかの例をより詳細に説明している。
【0049】
オーディオの再生を容易にするため、再生デバイス102は、再生デバイス102がオーディオをレンダリングする前にオーディオを処理するように構成されたオーディオ処理コンポーネント216を含む。このため、オーディオ処理コンポーネント216は、1つまたは複数のデジタル-アナログコンバータ(「DAC」)、1つまたは複数のオーディオ前処理コンポーネント、1つまたは複数のオーディオエンハンスメントコンポーネント、1つまたは複数のデジタルシグナルプロセッサ(「DSP」)などを含んでいる。いくつかの実施形態では、オーディオ処理コンポーネント216の1つまたは複数は、プロセッサ212のサブコンポーネントであってもよい。オーディオ処理コンポーネント216は、アナログおよび/またはデジタルのオーディオを受信し、処理し、またはその他の方法で意図的に変更して、再生用のオーディオ信号を生成する。
【0050】
生成されたオーディオ信号は、次に、増幅のために1つまたは複数の増幅器217に送られ、増幅器217に動作可能に組合された1つまたは複数のスピーカ218を介して再生される。オーディオ増幅器217は、オーディオ信号を、1つ以上のスピーカ218を駆動するためのレベルに増幅するように構成されたコンポーネントを含んでもよい。
【0051】
スピーカ218の各々は、それぞれトランスデューサ(例えば、「ドライバ」)を含んでいてもよいし、スピーカ群としてのスピーカ218は、1つ以上のドライバを有するエンクロージャを含む完全なスピーカシステムを含んでいてもよい。スピーカ218の特定のドライバは、例えば、サブウーファ(例えば、低周波用)、ミッドレンジドライバ(例えば、中周波用)、および/またはツイータ(例えば、高周波用)を含んでもよい。あるケースでは、トランスデューサは、オーディオ増幅器群217のそれぞれの対応するオーディオ増幅器によって駆動されてもよい。いくつかの実施形態では、再生装置は、スピーカ218を含まず、代わりに、再生装置を外部スピーカに接続するためのスピーカインターフェースを含んでもよい。特定の実施形態では、再生装置は、スピーカ218もオーディオ増幅器217も含まず、代わりに、再生装置を外部のオーディオ増幅器またはオーディオビジュアル受信機に接続するためのオーディオインターフェース(図示せず)を含んでもよい。
【0052】
再生装置102による再生のためにオーディオ信号を生成することに加えて、オーディオ処理コンポーネント216は、再生のために、ネットワークインターフェース224を介して、1つまたは複数の他の再生装置に送信されるオーディオを処理するように構成されてもよい。例示的なシナリオでは、再生装置102によって処理および/または再生されるオーディオコンテンツは、再生装置102のオーディオラインインインターフェース(例えば、自動検出3.5mmオーディオラインイン接続)を介して(図示せず)、または後述するようにネットワークインターフェース224を介してなど、外部ソースから受信されてもよい。
【0053】
図示されているように、少なくとも1つのネットワークインターフェース224は、1つ以上の無線インターフェース225および/または1つ以上の有線インターフェース226の形態をとることができる。無線インターフェースは、再生装置102が通信プロトコル(例えば、IEEE 802.11a、802.11b、802.11g、802.11n、802.11ac、802.15、4Gモバイル通信規格等を含む任意の無線規格)に従って他の装置(例えば、他の再生装置(複数可)、NMD(複数可)、および/またはコントローラ装置(複数可))と無線通信するためのネットワークインターフェース機能を提供してもよい。有線インターフェースは、再生装置102が通信プロトコル(例えば、IEEE 802.3)に従って他の装置と有線接続で通信するためのネットワークインターフェース機能を提供してもよい。
図2Aに示すネットワークインターフェース224は、有線および無線の両方のインターフェースを含むが、再生装置102は、いくつかの実施形態において、無線インターフェースのみ、または、有線インターフェースのみを含んでもよい。
【0054】
一般的に、ネットワークインターフェース224は、再生装置102と、データネットワーク上の1つ以上の他の装置との間のデータフローを容易にする。例えば、再生装置102は、1つまたは複数の他の再生装置、LAN内のネットワーク装置、および/またはインターネットなどのWANを介したオーディオコンテンツソースから、データネットワークを介してオーディオコンテンツを受信するように構成されてもよい。一例では、再生装置102によって送受信されるオーディオコンテンツおよびその他の信号は、インターネットプロトコル(IP)ベースのソースアドレスおよびIPベースのデスティネーションアドレスからなるデジタルパケットデータの形態で送信されてもよい。このような場合、ネットワークインターフェース224は、再生装置102に向けられたデータが再生装置102によって適切に受信および処理されるように、デジタルパケットデータを解析するように構成されてもよい。
【0055】
図2Aに示すように、再生装置102は、1つまたは複数のマイクロフォン222に動作可能に組合される音声処理コンポーネント220も含む。マイクロフォン222は、再生装置102の環境における音(すなわち、音響波でありサウンドとも言う)を検出するように構成されており、その音は音声処理コンポーネント220に提供される。より具体的には、各マイクロフォン222は、音を検出し、その検出された音をデジタル信号またはアナログ信号に変換するように構成され、更に、以下でより詳細に説明するように、検出された音に基づいて、音声処理コンポーネント220に様々な機能を実行させる。ある実施形態では、マイクロフォン222は、複数のマイクロフォンが集まったアレイ(例えば、6個のマイクロフォンのアレイ)として配置されている。また、ある実施形態では、再生装置102は、6つ以上のマイクロフォン(例えば、8つのマイクロフォンまたは12のマイクロフォン)または6つ以下のマイクロフォン(例えば、4つのマイクロフォン、2つのマイクロフォン、または単一のマイクロフォン)を含む。
【0056】
動作において、音声処理コンポーネント220は、一般に、マイクロフォン222を介して受信された音を検出および処理し、検出された音の中で潜在的な音声入力を識別し、検出された音データを抽出するように構成され、これにより、VAS190(
図1B)などのVASにより検出された音データの中で識別された音声入力を処理できるようにする。音声処理コンポーネント220は、種々のコンポーネントを含み、例えば、1つまたは複数のアナログ-デジタル変換器、音響エコーキャンセラ(「AEC」)、空間プロセッサ(例えば、1つまたは複数のマルチチャネルWienerフィルタ、1つまたは複数の他のフィルタ、および/または1つまたは複数のビームフォーマコンポーネント)、1つまたは複数のバッファ(例えば。1つまたは複数の円形バッファ)、1つまたは複数のウェイクワードエンジン、1つまたは複数の音声抽出器、および/または1つまたは複数の音声処理コンポーネント(例えば、特定のユーザ又はある世帯における複数の特定のユーザの音声を認識することができるコンポーネント)などを含む。 例示的な実施形態では、音声処理コンポーネント220は、1つまたは複数のDSPまたは1つまたは複数のDSP用のモジュールを含む。この点において、特定の音声処理コンポーネント220は、特定の機能を実現するために修正またはその他の方法で調整される特定のパラメータ(例えば、ゲインおよび/またはスペクトルパラメータ)を有することもできる。いくつかの実施形態では、音声処理コンポーネント220の1つまたは複数は、プロセッサ212のサブコンポーネントであってもよい。
【0057】
図2Aにさらに示すように、再生装置102は、パワーコンポーネント227も含む。パワーコンポーネント227は、少なくとも外部パワーインターフェース228を含み、再生装置102をコンセントやその他の外部電源に物理的に接続する電源ケーブルなどを介して、電源(図示せず)に組合されてもよい。パワーコンポーネントとして他に、例えば、電力を設定するトランス、コンバータなどがある。
【0058】
いくつかの実施形態では、再生装置102のパワーコンポーネント227は、外部電源への物理的な接続なしに再生装置102に電力を供給するように構成された内部パワーソース229(例えば、1つまたは複数の電池)をさらに含んでもよい。内部パワーソース229を備える場合、再生装置102は、外部パワーソースに依存せずに動作することができる。いくつかのそのような実施形態では、外部パワーソースインターフェース228は、内部パワーソース229の充電を容易にするように構成されてもよい。前述したように、内部パワーソースを備えた再生装置を、ここでは 「ポータブル再生装置」と呼ぶことがある。一方、外部パワーソースを利用して動作する再生装置を「据え置き型再生装置」と呼ぶが、実際には家庭内などで移動可能である。
【0059】
再生装置102は、ユーザインターフェース240をさらに含み、それによりユーザインタラクションが容易にされ、さらに、1つまたは複数のコントローラ装置104により容易にされたユーザインタラクションと連動するようにしてもよい。様々な実施形態において、ユーザインターフェース240は、1つ以上の物理的なボタンを含むものもあれば、ユーザの直接入力が可能な、タッチセンシティブなスクリーン(複数可)および/または表面(複数可)が提供されるグラフィカルインターフェースをサポートするものもある。ユーザインターフェース240は、視覚的および/または音声的なフィードバックを提供するライト(例えば、LED)およびスピーカのうちの1つまたは複数をさらに含んでもよい。
【0060】
例として、
図2Bは、再生装置102のハウジング230を示し、ハウジング230の上部分234にコントロールエリア232の形でユーザインターフェースを含む。コントロールエリア232には、オーディオの再生やボリュームレベルなどをコントロールするためのボタン236a~cが含まれている。また、コントロールエリア232には、マイクロフォン222をオン状態とオフ状態のいずれかに切り替えるためのボタン236dが設けられている。
【0061】
図2Bにさらに示すように、コントロールエリア232は、ハウジング230の上面部234に形成された開口部によって少なくとも部分的に囲まれており、それを介してマイクロフォン222(
図2Bでは見えない)が再生装置102の環境下で音を受信する。マイクロフォン222は、再生装置102に対して1つまたは複数の方向からの音を検出するように、ハウジング230の上面部234または他の領域に沿っておよび/またはその中の様々な位置に配置されてもよい。
【0062】
例示として、ソノス株式会社(SONOS,Inc.)は、ここに開示された特定の実施形態を実施することができる特定の再生装置を販売しており、それらは、「PLAY:1」、「PLAY:3」、「PLAY:5」、「PLAYBAR」、「CONNECT:AMP」、「PLAYBASE」、「BEAM」、「CONNECT」、および「SUB」を含む。過去、現在、および/または未来に出される他の再生装置が、ここで開示される例示的な実施形態の再生装置を実施するために追加的または代替的に使用されてもよい。さらに、再生装置は、
図2Aまたは2Bに示された例や、ソノス製品の提供に限定されない。例えば、再生装置は、有線または無線のヘッドフォンセットを含むか、またはそのような形態をとってもよく、ネットワークインターフェースなどを介してMPS100の一部として動作してもよい。別の例として、再生装置は、個人用モバイルメディア再生装置のためのドッキングステーションを含むか、それと相互作用することができる。さらに別の例では、再生装置は、テレビや照明器具など、屋内外で使用される他の機器や部品と一体化が可能である。
【0063】
図2Cは、NMDまたはNMD搭載再生デバイスによって処理され得る例示的な音声入力280の図である。音声入力280は、キーワード部分280aおよび発話部分280bを含むことができる。キーワード部分280aは、ウェイクワードまたはコマンドキーワードを含むことができる。ウェイクワードの場合、キーワード部分280aは、ウェイクワードを引き起こす検出された音に対応する。発話部分280bは、キーワード部分280aに続くユーザの要求を潜在的に含む検出された音に対応する。発話部分280bは、キーワード部分280aによって引き起こされたイベントに応答して、NMDによって検出されたサウンドデータ内の任意のワードの存在を識別するために処理することができる。様々な実装形態において、基礎となる意図は、発話部分280bにおけるワードに基づいて決定することができる。特定の実装形態では、基礎となる意図はまた、キーワード部分がコマンドキーワードを含む場合など、キーワード部分280a内の特定のワードに基づいてもよく、または少なくとも部分的に基づいてもよい。いずれの場合でも、ワードは、1つ以上のコマンド、ならびに特定のコマンドおよび特定のキーワードに対応することができる。音声発話部分280bにおけるキーワードは、例えば、MPS100における特定のデバイスまたはグループを識別するワードであってもよい。例えば、図示の例では、音声発話部分280bのキーワードは、リビングルームおよびダイニングルーム(
図1A)などの、音楽が再生されることになる1つ以上のゾーンを識別する1つ以上のワードであってもよい。場合によっては、発話部分280bは、
図2Cに示すように、ユーザが語ったワード間の検出された一時停止すなわちポーズ(例えば、語っていない期間)などの追加情報を含むことができる。一時停止は、発話部分280b内でユーザによって語られた別個のコマンド、キーワード、または他の情報の位置を画定することができる。
【0064】
特定のコマンドの基準に基づいて、NMDおよび/またはリモートVASは、音声入力の1つ以上のコマンドを識別した結果として作用させることができる。コマンド基準は、とりわけ、音声入力の中に特定のキーワードを含めることに基づいてもよい。それに加えて、またはその代わりに、コマンドのコマンド基準は、1つ以上の特定のコマンドの識別と併せて、1つ以上の制御状態変数および/またはゾーン状態変数の識別を含んでもよい。制御状態変数は、例えば、音量のレベルを識別するインジケータ、1つ以上のデバイスに関連付けられたキュー、およびデバイスがキューを再生しているか、一時停止しているかなどの再生状態を含むことができる。ゾーン状態変数は、例えば、あるとすれば、どのゾーンプレイヤがグループ化されているかを識別するインジケータを含むことができる。
【0065】
いくつかの実装形態では、MPS100は、キーワード部分280aにおいてウェイクワードなどの特定のキーワードを検出すると、再生しているオーディオコンテンツの音量を一時的に低減するように構成される。MPS100は、音声入力280を処理した後に音量を復元することができる。そのようなプロセスは、ダッキングと呼ぶことができ、その例は、参照によりその全体が本明細書に組み込まれる米国特許出願公開第15/438,749号明細書に開示されている。
【0066】
図2Dは、例示的な音の標本を示す。この例では、音の標本は、
図2Aのキーワード部分280a内のスポットされたウェイクワードまたはコマンドキーワードに関連付けられたサウンドデータストリーム(例えば、1つ以上のオーディオフレーム)に対応する。図示されているように、例示的な音の標本は、(i)(時刻t
0とt
1の間)プレロール部分(事象前)と称され得る、ウェイクワードまたはコマンドワードが語られる直前、(ii)(時刻t
1とt
2の間)ウェイクメータ部分と称され得る、ウェイクワードまたはコマンドワードが発せられている間、および/または(iii)(時刻t
2とt
3の間)ポストロール部分(事象後)と称され得る、ウェイクワードまたはコマンドワードが語られた後の、NMDの環境において検出された音を含む。他の音の標本も可能である。様々な実装形態において、音の標本の態様は、さらなる処理のために、メル/スペクトル特徴を所与の言語モデルの音素にマッピングすることを目的とする音響モデルに従って評価することができる。例えば、自動音声認識(ASR)は、コマンド-キーワード検出のためのそのようなマッピングを含むことができる。対照的に、ウェイクワード検出エンジンは、特定のウェイクワードと、VASを呼び出す下流の動作とを識別するように正確に調整され得る(例えば、再生デバイスによって処理された音声入力におけるノンスワードのみを対象とすることによって)。
【0067】
コマンドキーワード検出のASRは、広範囲のキーワード(例えば、5、10、100、1,000、1万のキーワード)に対応するように調整することができる。コマンドキーワード検出は、ウェイクワード検出とは対照的に、コマンドワードイベントがいつ発生したかをASRと共に判定するオンボードなローカルNLUにASR出力を供給することを含んでもよい。後述するいくつかの実装形態では、ローカルNLUは、特定の音声入力によって生成されたASR出力の1つ以上の他のキーワードに基づいて意図を判定してもよい。これらのまたは他の実装形態では、再生デバイスは、再生デバイスが環境条件(例えば、低バックグラウンドノイズ)などの特定の条件が満たされたと判定したときにのみ、検出されたコマンドキーワードイベントに作用し得る。
【0068】
b.再生装置の構成例
図3A~3Eは、再生装置の例示的な構成を示す。最初に
図3Aを参照すると、いくつかの例示的な実施形態では、単一の再生装置がゾーンに属してもよい。例えば、パティオの再生装置102c(
図1A)は、ゾーンAに属していてもよい。以下に説明するいくつかの実施形態では、複数の再生機器を「結合(bond)」して「結合ペア」を形成し、それらが一緒になって1つのゾーンを形成することができる。例えば、
図3Aで「ベッド1」と名付けられた再生装置102f(
図1A)と、
図3Aで「ベッド2」と名付けられた再生装置102g(
図1A)とを結合して、ゾーンBを形成してもよい。結合された再生装置のそれぞれは、異なる再生責任(例えば、チャンネル責任)を持つ。後述する別の実施形態では、複数の再生装置を統合して1つのゾーンを形成することができる。統合された再生装置102d、102mには、特に異なる再生責任が割り当てられていなくてもよい。すなわち、統合された再生装置102d、102mは、同期してオーディオコンテンツを再生することは勿論であるが、それぞれが統合されていない場合と同様にオーディオコンテンツを再生してもよい。
【0069】
制御のために、MPS100の各ゾーンは、単一のユーザインターフェース(「UI」)エンティティとして表されてもよい。例えば、コントローラデバイス104によって表示されるように、ゾーンAは、「ポータブル」という名前の単一のエンティティとして提供されてもよく、ゾーンBは、「ステレオ」という名前の単一のエンティティとして提供されてもよく、ゾーンCは、「リビングルーム」という名前の単一のエンティティとして提供されてもよい。
【0070】
様々な実施形態において、ゾーンは、そのゾーンが属する場を再生装置の1つの名前として引き継いでもよい。例えば、ゾーンCは、(図のように)リビングルームを再生装置102mの名前として引き継いでもよい。別の例では、ゾーンCは代わりに本棚を再生装置102dの名前として名乗ってもよい。さらなる例では、ゾーンCは、本棚にある再生装置102dとリビングルームにある再生装置102mを何らかの形で組み合わせた名前を取ることができる。選択される名前は、コントローラデバイス104での入力を介してユーザが選択することができる。いくつかの実施形態では、ゾーンには、そのゾーンに属する再生装置とは異なる名前が与えられることがある。例えば、
図3AのゾーンBには「ステレオ」という名前が付けられているが、ゾーンBにはこの名前を持つ再生装置はない。一例では、ゾーンBは、構成デバイスである「ベッド1」と「ベッド2」で構成された「ステレオ」という名前の単一デバイスを表す単一のUIエンティティである。ある実施形態では、ベッド1の再生装置は、マスターベッドルーム101h(
図1A)にある再生装置102fであってもよく、ベッド2の再生装置は、同じくマスターベッドルーム101h(
図1A)にある再生装置102gであってもよい。
【0071】
上述したように、結合された再生装置は、特定のオーディオチャネルの再生責任など、異なる再生責任を持つ場合がある。例えば、
図3Bに示すように、ベッド1およびベッド2のデバイス102fおよび102gは、オーディオコンテンツのステレオ効果を生成または強化するように結合されてもよい。この例では、ベッド1の再生装置102fは、左チャンネルのオーディオコンポーネントを再生するように構成されていてもよく、ベッド2の再生装置102gは、右チャンネルのオーディオコンポーネントを再生するように構成されていてもよい。いくつかの実施形態では、このようなステレオ結合は、「ペアリング」とも呼ばれる。
【0072】
さらに、結合されるように構成された再生装置は、追加および/または異なるそれぞれのスピーカドライバを有することができる。
図3Cに示すように、「前」という名前の再生装置102bは、「サブ」という名前の再生装置102kと結合してもよい。なお、「前」の再生装置102bは、中~高域の範囲をレンダリングしてもよく、「サブ」の再生装置102kは、例えばサブウーファのように低域をレンダリングしてもよい。結合が解かれた時には、「前」の再生装置102bは、フルレンジの周波数をレンダリングするように構成されていてもよい。別の例として、
図3Dでは、「前」と「サブ」の再生装置102bと102kが、それぞれ右と左の再生装置102aと102jとさらに結合している様子を示している。いくつかの実施形態では、右および左の再生装置102aおよび102jは、ホームシアターシステムのサラウンドまたは「サテライト」チャネルを形成してもよい。結合された再生装置102a、102b、102j、102kは、単一のゾーンDを形成してもよい(
図3A)。
【0073】
いくつかの実施形態では、再生デバイスは「マージ(merged)」されることもある。結合された再生装置とは異なり、マージされた再生装置は、再生責任が割り当てられておらず、それぞれの再生装置の可能な範囲でオーディオコンテンツのフルレンジをレンダリングする。それにもかかわらず、マージされた複数の再生装置は、単一のUIエンティティ(すなわち、上述したようにゾーン)として提供されることがある。例えば、
図3Eでは、リビングルームの再生装置102dと102mがマージされており、これらの再生装置がゾーンCの単一のUIエンティティとして提供されることになる。ある実施形態では、再生装置102dおよび102mは、同期してオーディオを再生してもよく、その間、それぞれの再生装置102dおよび102mがレンダリング可能な範囲でオーディオコンテンツのフルレンジを出力する。
【0074】
いくつかの実施形態では、スタンドアロンのNMDがそれ自体でゾーンに加わっていてもよい。例えば、
図1AのNMD103hは、「クローゼット」と名付けられ、
図3AにおいてゾーンIを形成する。また、NMDは他のデバイスと結合したり、マージしたりして、ゾーンを形成することもできる。例えば、“アイランド”と名付けられたNMDデバイス103fは、再生装置102iキッチンと結合され、これらは共に“キッチン”と名付けられてゾーンFを形成してもよい。NMDや再生装置を指定装置またはデフォルト装置として割り当てることについての詳細は、例えば、先に説明した米国特許出願第15/438,749号明細書に記載されている。いくつかの実施形態では、スタンドアロンのNMDはゾーンに割り当てられない場合がある。
【0075】
個々の装置、結合された装置、および/またはマージされた装置で構成されるゾーンに含まれる複数の再生装置は、同期してオーディオを再生する再生装置の集合体であるセットを形成するように配置される。このような再生装置のセットは、「グループ」、「ゾーングループ」、「シンクログループ」、または「再生グループ」と呼ばれることがある。コントローラデバイス104を介して提供される入力に応答して、複数の再生装置は、動的にグループ化の形成(グループ化)およびグループ化の解除(グループ解除)が成され、オーディオコンテンツを同期再生する新しいまたは異なるグループを形成する。例えば、
図3Aを参照すると、ゾーンAはゾーンBとグループ化され、2つのゾーンの再生装置を含むゾーングループを形成することができる。別の例として、ゾーンAは、1つ以上の他のゾーンC~Iとグループ化されてもよい。ゾーンA~Iは、多数の方法でグループ化されたり、グループ解除されたりする。例えば、ゾーンA~Iのうち、3つ、4つ、5つ、またはそれ以上(例えば、すべて)のゾーンをグループ化してもよい。グループ化された場合、ゾーンにある個々の再生装置や結合された再生装置は、先に説明した米国特許第8,234,395号明細書に記載されているように、互いに同期してオーディオを再生することができる。グループ化された再生装置や結合された再生装置は、ポータブル再生装置とステーショナリー再生装置の間の関連付けの例であり、係る関連付けは、上述したように、トリガーイベントに応じて引き起こされ、以下でより詳細に説明する。
【0076】
様々な実施形態において、環境内のゾーンには特定の名前が割り当てられてもよく、その名前は、ゾーングループ内のゾーンのデフォルトの名前であってもよいし、
図3Aに示すように「ダイニングルーム+キッチン」のようにゾーングループ内のゾーンの名前の組み合わせであってもよい。ある実施形態では、ゾーングループには、
図3Aにも示されているように、「ニックの部屋」のように、ユーザによって選択された固有の名前が与えられてもよい。「ニックの部屋」という名前は、ゾーングループのための以前の名前として元々あった「マスターベッドルーム」という部屋名に変えて、ユーザが選んだ名前である。
【0077】
図2Aにおいて、特定のデータは、1つまたは複数の状態変数としてメモリ213に格納されてもよい。変数は、定期的に更新され、再生ゾーン、再生装置(複数可)、および/またはそれに関連するゾーングループの状態を記述するために使用される。また、メモリ213には、MPS100の他の装置の状態に関連するデータが含まれていてもよい。係る関連するデータは、1つまたは複数の装置がシステムに関連する最新のデータを持つように、装置間で随時共有されてもよい。
【0078】
いくつかの実施形態では、再生装置102のメモリ213は、状態に関連付けられた様々な変数タイプのインスタンス(時事変化する状態)を格納してもよい。変数のインスタンスは、タイプに対応した識別子(タグなど)を付けて保存することができる。例えば、特定の識別子としては、ゾーンにある再生装置を識別するための第1のタイプ「a1」、ゾーン内で結合状態にある再生装置を識別するための第2のタイプ「b1」、およびゾーンが属するゾーングループを識別するための第3のタイプ「c1」であってもよい。関連する例として、
図1Aでは、「パティオ」と名付けられた装置に対応する識別子は、「パティオ」は特定のゾーンにある唯一の再生装置であり、いずれのゾーングループに含まれないことを示す。「リビングルーム」に対応する識別子は、「リビングルーム」が他のゾーンとグループ化されておらず、結合された再生装置102a、102b、102j、102kを含むことを示す。「ダイニングルーム」に対応する識別子は、「ダイニングルーム」が「ダイニングルーム+キッチン」グループの一部であり、デバイス103fと102iが結合されていることを示す。「キッチン」に対応する識別子は、「キッチン」が「ダイニングルーム+キッチン」のゾーングループの一部であるので、同一または類似の情報を示す。その他のゾーン変数と識別子の例を以下に示す。
【0079】
さらに別の例では、MPS100は、
図3Aに示すように、エリアに対応する識別子など、ゾーンやゾーングループとは異なる関連性を表す変数または識別子を含んでもよい。エリアには、ゾーングループのクラスタや、ゾーングループに属さないゾーンが含まれることがある。例えば、
図3Aには、「第1エリア」と名付けられた第1のエリアと、「第2エリア」と名付けられた第2のエリアが示されている。第1エリアには、「パティオ」「デン」「ダイニング」「キッチン」「バスルーム」のゾーンとゾーングループがある。第2エリアには、「バスルーム」「ニックの部屋」「ベッドルーム」「リビングルーム」のゾーンとゾーングループがある。ある実施形態では、「エリア」を使って、ゾーンのクラスタや、1つ以上のゾーンを共有するゾーングループのクラスタや、ゾーングループの別のクラスタを呼び出すことができる。この場合、このエリアは、他のゾーングループとゾーンを共有しないゾーングループとは異なる。エリアを実施するための技術のさらなる例は、次の米国特許出願の明細書に記載されている。2017年8月21日に出願された米国出願第15/682,506号で、発明の名称は「名前に基づく部屋の関連づけ(Room Association Based on Name)」、および2007年9月11日に出願された米国特許第8,483,853号で、発明の名称は「マルチゾーンメディアシステムにおけるグループ化の制御と操作(Controlling and manipulating groupings in a multi-zone media system)」である。これらの各出願の内容は、参照することにより、その全体が本明細書に取り込まれるものとする。いくつかの実施形態では、MPS100は「エリア」を用いない場合もあり、その場合、システムはエリアに関連する変数を保存しない。
【0080】
メモリ213は、他のデータを格納するようにさらに構成されてもよい。そのようなデータは、再生装置102によってアクセス可能なオーディオソース、または再生装置(またはいくつかの他の再生装置(複数可))が関連付けられ得る再生キューに関係してもよい。後述する実施形態では、メモリ213は、音声入力を処理する際に特定のVASを選択するためのコマンドデータのセットを格納するように構成されている。動作中、
図1Aの環境における1つまたは複数の再生ゾーンは、それぞれ異なるオーディオコンテンツを再生してもよい。例えば、あるユーザが「パティオ」ゾーンで焼き肉をしながら、再生装置102cで再生されるヒップホップ音楽を聴いている一方、別のユーザが「キッチン」ゾーンで料理の準備をしながら、再生装置102iで再生されるクラシック音楽を聴いている場合が考えられる。別の例では、ある再生ゾーンと別の再生ゾーンとが同期して同じオーディオコンテンツを再生している場合がある。
【0081】
例えば、ユーザは「オフィス」ゾーンにいて、そこでは、再生装置102nが「パティオ」ゾーンで再生装置102cが再生しているのと同じヒップホップ音楽を再生している場合がある。このような場合、再生装置102cおよび102nは、ユーザが異なる再生ゾーン間を移動しながら、シームレスに(または少なくとも実質的にシームレスに)大音量で再生されているオーディオコンテンツを楽しむことができるように、同期してヒップホップを再生することができる。再生ゾーン間の同期は、先に説明した米国特許第8,234,395号に記載された再生装置間の同期と同様の方法で実現することができる。
【0082】
上述したように、MPS100のゾーン構成は、動的に変更されてもよい。このように、MPS100は、多数の構成をサポートしてもよい。例えば、ユーザが1つまたは複数の再生装置を物理的にあるゾーンに又はあるゾーンから移動させた場合、MPS100はその変更に対応するために再構成される。例えば、ユーザが再生装置102cを「パティオ」ゾーンから「オフィス」ゾーンに物理的に移動させた場合、「オフィス」ゾーンには再生装置102cと102nの両方が含まれることとなる。場合によっては、ユーザは、例えば、1つのコントローラデバイス104および/または音声入力を用いて、移動した再生デバイス102cを「オフィス」ゾーンのものとペアリングまたはグループ化し、さらに「オフィス」ゾーン内の再生装置の名前を変更することができる。別の例として、1つまたは複数の再生装置102が、まだ再生ゾーンではない家庭環境の特定の空間に移動された場合、移動された再生装置(複数可)は、名前が変更されるか、または特定の空間の再生ゾーンに関連付けられてもよい。
【0083】
さらに、MPS100の異なる複数の再生ゾーンを動的に組み合わせてゾーングループにしたり、独立した再生ゾーンに分割したりすることができる。例えば、「ダイニングルーム」ゾーンと「キッチン」ゾーンは、再生装置102iと102lが同期してオーディオコンテンツをレンダリングするように、ディナーパーティーのためのゾーングループにまとめてもよい。別の例として、「デン」ゾーンにある結合済の再生装置を、(i)「テレビ」ゾーンと(ii)別の「リスニング」ゾーンに分けてもよい。「テレビ」ゾーンには、「前」の再生装置102bが含まれていてもよい。「リスニング」ゾーンには、上述したように、グループ化、ペア化、またはマージ化された右、左、サブの再生装置102a、102j、102kが含まれていてもよい。このように「デン」ゾーンを分割することで、あるユーザはリビングルーム空間のあるエリアである「リスニング」ゾーンで音楽を聴き、別のユーザはリビングルーム空間の別のエリアでテレビを見ることができる。関連する例では、ユーザは、NMD103aまたは103b(
図1B)のいずれかを利用して、「テレビ」ゾーンと「リスニング」ゾーンに分離される前の「デン」ゾーンを制御することができる。分離されると、「リスニング」ゾーンは、例えば、NMD103aの近傍にいるユーザが制御し、「テレビ」ゾーンは、例えば、NMD103bの近傍にいるユーザにより制御される。しかし、上述したように、NMD103のいずれかをMPS100の様々な再生装置および他の装置を制御するように構成されてもよい。
【0084】
c.コントローラデバイスの例
図4は、
図1AのMPS100のコントローラデバイス104のうちの選択された1つの例を示す機能ブロック図である。このようなコントローラデバイスは、ここでは「コントロールデバイス」または「コントローラ」と呼ぶ。
図4に示すコントローラデバイスは、プロセッサ412、プログラムソフトウェア414を格納するメモリ413、少なくとも1つのネットワークインターフェース424、および1つまたは複数のマイクロフォン422など、上述したネットワークデバイスの特定のコンポーネントと一般的に類似したコンポーネントを含む。一例として、コントローラデバイスは、MPS100の専用コントローラであってもよい。別の例では、コントローラデバイスは、例えば、iPhone(登録商標)、iPad(登録商標)、その他のスマートフォン、タブレット、ネットワークデバイス(例えば、PCやMac(登録商標)などのネットワークコンピュータ)など、メディア再生システムのコントローラーアプリケーションソフトウェアがインストールされているネットワークデバイスであってもよい。
【0085】
コントローラデバイス104のメモリ413は、MPS100および/またはシステム100のユーザに関連するコントローラアプリケーションソフトウェアおよび他のデータを格納するように構成されてもよい。メモリ413には、MPS100のユーザアクセス、制御、および/または構成を容易にするなど、特定の機能を実現するためにプロセッサ412によって実行可能なソフトウェア414の命令が格納されてもよい。コントローラデバイス104は、上述したように、無線インターフェースの形態をとってもよいネットワークインターフェース424を介して、他のネットワークデバイスと通信するように構成されている。
【0086】
一例では、システム情報(例えば、状態変数など)は、ネットワークインターフェース424を介して、コントローラデバイス104と他のデバイスとの間で通信されてもよい。例えば、コントローラデバイス104は、再生デバイス、NMD、または他のネットワークデバイスから、MPS100における再生ゾーンの構成やゾーングループの構成に係る情報を受信してもよい。同様に、コントローラデバイス104は、そのようなシステム情報を、ネットワークインターフェース424を介して再生装置や他のネットワーク装置に送信してもよい。いくつかの例では、他のネットワークデバイスは、別のコントローラデバイスであってもよい。
【0087】
また、コントローラ装置104は、ネットワークインターフェース424を介して、音量調整や音声再生制御などの再生装置制御コマンドを再生装置に通信してもよい。上述したように、MPS100の構成に対する変更は、コントローラデバイス104を使用するユーザによっても実行され得る。構成の変更には、1つまたは複数の再生装置をゾーンに追加/削除すること、1つまたは複数のゾーンをゾーングループに追加/削除すること、結合またはマージされたプレーヤーを形成すること、1つまたは複数の再生装置を結合またはマージされた再生装置から分離することなどが含まれる。
【0088】
図4に示すように、コントローラデバイス104は、一般的に、MPS100のユーザアクセスおよび制御を容易にするように構成されたユーザインターフェース440も含む。ユーザインターフェース440は、
図5Aおよび
図5Bに示すコントローラインターフェース540aや540bのような、様々なグラフィカルなコントローラインターフェースを提供するように構成されたタッチスクリーンディスプレイまたは他の物理的インターフェースを含んでもよい。
図5Aおよび
図5Bを合わせて参照すると、コントローラインターフェース540aおよび540bは、再生制御領域542、再生ゾーン領域543、再生ステータス領域544、再生キュー領域546、およびソース領域548を含む。図示されているユーザインターフェースは、
図4に示されているコントローラデバイスのようなネットワークデバイス上に提供され、MPS100のようなメディア再生システムを制御するためにユーザによってアクセスされる可能性のあるインターフェースの一例である。メディア再生システムへの同様な制御アクセスを提供するために、様々なフォーマット、スタイル、およびインタラクティブなシーケンスの他のユーザインターフェースが、1つまたは複数のネットワークデバイスに実装されてもよい。
【0089】
再生制御領域542(
図5A)は、選択されると、選択された再生ゾーンまたはゾーングループ内の再生デバイスに、再生または一時停止、早送り、巻き戻し、次へのスキップ、前へのスキップ、シャッフルモードの開始/終了、リピートモードの開始/終了、クロスフェードモードの開始/終了などを行わせるため、選択可能なアイコン(例えば、タッチまたはカーソルを使用する方法による)を含んでもよい。また、再生制御領域542は、選択されると、他の可能性も含めて、イコライゼーション設定および/または再生音量を変更する選択可能なアイコンを含んでもよい。
【0090】
再生ゾーン領域543(
図5B)は、MPS100内の再生ゾーンの現状を含んでもよい。また、再生ゾーン領域543は、図示のように、「ダイニングルーム+キッチン」ゾーングループなどのゾーングループの現状を含んでもよい。
【0091】
いくつかの実施形態では、再生ゾーンのグラフィカルな表示は、結合ゾーンの生成、ゾーングループの生成、ゾーングループの分離、ゾーングループの名前の変更など、MPS100の再生ゾーンを管理または設定するための追加の選択可能なアイコンを含めても良い。
【0092】
例えば、図示のように、「グループ」アイコンが、再生ゾーンのグラフィカルな枠のそれぞれの中に提供されてもよい。ゾーンを示すグラフィカルな枠の中にある「グループ」アイコンを選択すると、MPS100内の他のゾーンがオプションとして表れ、1つまたは複数のゾーンが選択可能となり、そのゾーンとグループ化される。選択したゾーンはそのゾーンとグループ化され、そのゾーンの再生装置と、選択したゾーンの再生装置は、同期してオーディオコンテンツを再生するように構成される。同様に、ゾーングループを示すグラフィカルな枠の中に「グループ」アイコンが表示されてもよい。この場合、「グループ」アイコンを選択すると、ゾーングループ内にあるゾーンがオプションとして現れ、その中のゾーンを解除するため選択すると、ゾーングループから1つまたは複数のゾーンを削除することができる。また、ユーザインターフェースを介して、ゾーンをグループ化したり、グループ解除したりするための他のインタラクションや実装も可能である。再生ゾーン領域543(
図5B)における再生ゾーンの表示は、再生ゾーンまたはゾーングループの構成が変更されると、動的に更新される。
【0093】
再生状況領域544(
図5A)は、選択された再生ゾーンまたはゾーングループにおいて、現在再生されている、以前に再生された、または次に再生される予定のオーディオコンテンツのグラフィカルな表示を含むことができる。選択された再生ゾーンまたはゾーングループは、コントローラインターフェース上の再生ゾーン領域543および/または再生ステータス領域544内において、視覚的に区別される。グラフィカルな表示には、トラックタイトル、アーティスト名、アルバム名、アルバム年、トラックの長さ、および/または、ユーザが知っておくと便利なその他の関連情報が含まれ、コントローラインターフェースを介してMPS100を制御する際に便利である。
【0094】
再生キュー領域546は、選択された再生ゾーンまたはゾーングループと関連する再生キューの形でオーディオコンテンツのグラフィカルな表示を含んでもよい。ある実施形態では、各再生ゾーンまたはゾーングループは、再生キューと関連付けられており、その再生キューは、再生ゾーンまたはゾーングループによる再生のためのゼロまたは複数のオーディオアイテムに対応する情報を含む。例えば、再生キュー内の各オーディオアイテムは、ユニフォームリソース識別子(URI)、ユニフォームリソースロケータ(URL)、または他の識別子を含んでいてもよく、他の識別子は、再生ゾーンまたはゾーングループ内の再生装置で用いられ、ローカルオーディオコンテンツソースまたはネットワークオーディオコンテンツソースからオーディオアイテムを検索および/または取得し、これらはその後、再生装置によって再生される。
【0095】
ある例では、プレイリストが再生キューに追加されることがあり、この場合、プレイリスト内の各オーディオアイテムに対応する情報が再生キューに追加されることがある。別の例では、再生キュー内のオーディオアイテムは、プレイリストとして保存されてもよい。別の例では、再生キューは、空であるか、または、充足されてはいるが「使用されていない」ことがあり、この場合は、再生ゾーンまたはゾーングループが、再生時間が有限の個別のオーディオアイテムではなく、停止されるまで再生し続けることができるインターネットラジオなどの連続的にストリーミングされるオーディオコンテンツを再生しているときである。更に別の例では、再生キューは、インターネットラジオおよび/または他のストリーミングオーディオコンテンツアイテムを含むことができ、再生ゾーンまたはゾーングループがそれらのアイテムを再生しているときには「使用中」となる。他の例も可能である。
【0096】
再生ゾーンまたはゾーングループが「グループ化」または「グループ解除」された場合、影響を受けた再生ゾーンまたはゾーングループに関連付けられた再生キューは、クリアまたは再関連付けされてもよい。例えば、第1の再生キューを含む第1の再生ゾーンと、第2の再生キューを含む第2の再生ゾーンとがグループ化された場合、確立された新たなゾーングループは、最初は空の再生キューを有するか、第1の再生キューからのオーディオアイテムを含む再生キュー(第2の再生ゾーンが第1の再生ゾーンに追加された場合)を有するか、第2の再生キューからのオーディオアイテムを含む再生キュー(第1の再生ゾーンが第2の再生ゾーンに追加された場合)を有するか、または第1と第2の両方の再生キューからのオーディオアイテムの組み合わせを有する関連再生キューを有してもよい。また、その後、確立されたゾーングループがグループ解除された場合、結果として得られた第1再生ゾーンは、以前の第1再生キューと再び関連付けされるか、空とされるか、または確立されたゾーングループがグループ解除される前に確立されたゾーングループに関連付けられた再生キューからのオーディオアイテムを含む新しい再生キューと関連付けされてもよい。同様に、結果として得られた第2再生ゾーンは、以前の第2再生キューと再び関連付けされるか、空の再生キューとされるか、または確立されたゾーングループがグループ解除される前に確立されたゾーングループに関連付けられた再生キューからのオーディオアイテムを含む新しい再生キューと関連付けされてもよい。他の例も可能である。
【0097】
図5Aおよび5Bにおいて、再生キュー領域646(
図5A)におけるオーディオコンテンツのグラフィカルな表示は、トラックタイトル、アーティスト名、トラックの長さ、および/または再生キュー内のオーディオコンテンツに関連する他の関連情報を含んでもよい。ある例では、オーディオコンテンツのグラフィカルな表示は、再生キューおよび/または再生キューで示されるオーディオコンテンツの管理および/または操作するための追加の選択可能なアイコンを表示するために選択子があってもよい。例えば、表示されたオーディオコンテンツは、再生キューから削除されたり、再生キュー内の別の位置に移動されたり、すぐに再生されるように選択されたり、現在再生中のオーディオコンテンツの後に再生されるように選択されたりすることが可能である。再生ゾーンまたはゾーングループに関連付けられた再生キューは、再生ゾーンまたはゾーングループ内の1つまたは複数の再生装置、再生ゾーンまたはゾーングループに属さない再生装置、および/または他の指定された機器のメモリに格納されてもよい。このような再生キューによる再生は、1つまたは複数の再生装置が、キューのメディアアイテムを、シーケンシャルまたはランダムな順序で再生する。
【0098】
ソース領域548は、対応するVASに関連付けられた選択可能なオーディオコンテンツソースおよび/または選択可能な音声アシスタントのグラフィカルな表示を含んでもよい。VASは選択的に割り当てられてもよい。いくつかの例では、AMAZON(登録商標)のアレクサ(Alexa)(登録商標)、MICROSOFT(登録商標)のコルタナ(Cortana)(登録商標)などの複数のVASが、同じNMDによって起動可能であってもよい。ある実施形態では、ユーザはVASを1つまたは複数のNMDに独占的に割り当てることができる。例えば、ユーザは、
図1Aに示すリビングルームのNMD102aおよび102bの一方または両方に第1のVASを割り当て、キッチンのNMD103fに第2のVASを割り当ててもよい。その他の例も可能である。
【0099】
d.オーディオコンテンツソースの例
ソース領域548内のオーディオソースは、選択された再生ゾーンまたはゾーングループによってオーディオコンテンツが取得され、再生され得るオーディオコンテンツソースである。ゾーンまたはゾーングループ内の1つまたは複数の再生装置は、利用可能なさまざまなオーディオコンテンツソースからオーディオコンテンツを(例えば、オーディオコンテンツに対応するURIまたはURLに従って)再生のために取得するように構成されている。ある例では、オーディオコンテンツは、再生装置によって、対応するオーディオコンテンツソースから直接(例えば、ラインイン接続を介して)取得され得る。別の例では、オーディオコンテンツは、1つまたは複数の他の再生装置またはネットワーク装置を介してネットワーク上の再生装置に提供される。以下で詳しく説明するように、ある実施形態では、オーディオコンテンツは、1つまたは複数のメディアコンテンツサービスによって提供され得る。
【0100】
オーディオコンテンツソースの例としては、
図1のMPS100などのメディア再生システムにおける1つまたは複数の再生デバイスのメモリ、1つまたは複数のネットワークデバイス(例えば、コントローラデバイス、ネットワーク対応パーソナルコンピュータ、またはネットワーク接続ストレージ(「NAS」))上のローカル音楽ライブラリ、インターネットを介してオーディオコンテンツを提供するストリーミングオーディオサービス(例えば、クラウドベースの音楽サービス)、または再生デバイスまたはネットワークデバイス上のラインイン入力接続を介してメディア再生システムに接続されたオーディオソースが挙げられ、他のものも可能である。
【0101】
ある実施形態では、オーディオコンテンツソースは、
図1AのMPS100などのメディア再生システムから追加または削除されてもよい。ある例では、1つ以上のオーディオコンテンツソースが追加、削除、または更新されるたびに、オーディオアイテムの索引付けが実行される。オーディオアイテムの索引付けは、メディア再生システム内の再生装置がアクセス可能なネットワーク上で共有されているすべてのフォルダ/ディレクトリ内の識別可能なオーディオアイテムをスキャンすること、メタデータ(例えば、タイトル、アーティスト、アルバム、トラックの長さなど)と、見つかった識別可能な各オーディオアイテムのURIまたはURL等の他の関連情報からなるオーディオコンテンツデータベースを生成すること、または更新すること、を含む。また、オーディオコンテンツソースを管理・維持するための他の例も考えられる。
【0102】
図6は、MPS100のデバイス間のデータ交換を示すメッセージのフロー図である。ステップ650aにおいて、MPS100は、制御デバイス104を介して、選択されたメディアコンテンツ(例えば、1つ以上の曲、アルバム、プレイリスト、Podcast、ビデオ、ステーション)の表示を受信する。選択されたメディアコンテンツは、例えば、メディア再生システムに接続された1つ以上のデバイス(例えば、
図1Cのオーディオソース105)にローカルに格納されたメディアアイテムおよび/または1つ以上のメディアサービスサーバ(
図1Bのリモートコンピューティングデバイス106のうちの1つ以上)に格納されたメディアアイテムを含むことができる。選択されたメディアコンテンツの表示の受信に応答して、制御デバイス104は、再生デバイス102の再生キューに選択されたメディアコンテンツを追加するためにメッセージ651aを再生デバイス102(
図1A~
図1C)に送信する。
【0103】
ステップ650bにおいて、再生デバイス102は、メッセージ651aを受信し、再生のために選択されたメディアコンテンツを再生キューに追加する。
【0104】
ステップ650cにおいて、制御デバイス104は、選択されたメディアコンテンツを再生するコマンドに対応する入力を受信する。選択されたメディアコンテンツを再生するコマンドに対応する入力を受信したことに応答して、制御デバイス104は、再生デバイス102に選択されたメディアコンテンツを再生させるメッセージ651bを再生デバイス102に送信する。メッセージ651bの受信に応答して、再生デバイス102は、選択されたメディアコンテンツを要求するメッセージ651cをコンピューティングデバイス106に送信する。コンピューティングデバイス106は、メッセージ651cの受信に応答して、要求されたメディアコンテンツに対応するデータ(例えば、オーディオデータ、ビデオデータ、URL、URI)を含むメッセージ651dを送信する。
【0105】
ステップ650dにおいて、再生デバイス102は、要求されたメディアコンテンツに対応するデータを有するメッセージ651dを受信し、関連するメディアコンテンツを再生する。
【0106】
ステップ650eにおいて、再生デバイス102は、任意選択的に、選択されたメディアコンテンツを再生することを1つ以上の他のデバイスに行わせる。一例では、再生デバイス102は、2人以上のプレーヤーの結合ゾーンのうちの1つである(
図1M)。再生デバイス102は、選択されたメディアコンテンツを受信し、メディアコンテンツの全部または一部を結合ゾーン内の他のデバイスに送信することができる。別の例では、再生デバイス102は、グループのコーディネータであり、グループ内の1つ以上の他のデバイスからタイミング情報を送受信するように構成される。グループ内の他の1つ以上のデバイスは、コンピューティングデバイス106から選択されたメディアコンテンツを受信し、再生デバイス102からのメッセージに応答して選択されたメディアコンテンツの再生を開始することができ、それにより、グループ内のすべてのデバイスが、選択されたメディアコンテンツを同期して再生する。
【0107】
III.例示的なコマンドキーワードイベント
図7Aおよび
図7Bは、本開示の実施形態に従って構成されたNMD703aおよびNMD703の態様を示す機能ブロック図である。NMD703aおよびNMD703bは、NMD703と総称される。NMD703は、NMD103と概ね同様であってもよく、同様のコンポーネントを含んでもよい。以下でより詳細に説明するように、NMD703a(
図7A)は、音声入力を表すデータを音声アシスタントサービスに必ずしも送信することなく、特定の音声入力をローカルで処理するように構成される。しかしながら、NMD703aは、音声アシスタントサービスを使用して他の音声入力を処理するようにも構成されている。NMD703b(
図7B)は、音声アシスタントサービスを使用して音声入力を処理するように構成されており、ローカルNLUまたはコマンドキーワードの検出が制限されていてもいなくてもよい。
【0108】
図7Aを参照すると、NMD703は、音声取り込みコンポーネント(「VCC」)760と、VASウェイクワードエンジン770aと、音声抽出器773とを含む。VASウェイクワードエンジン770aおよび音声抽出器773は、VCC760に動作可能に結合される。NMD703aは、VCC760に動作可能に結合されたコマンドキーワードエンジン771aをさらに備える。
【0109】
NMD703は、上述したようにマイクロフォン720および少なくとも1つのネットワークインターフェース720をさらに含み、明確にするために
図7Aには示されていないオーディオ増幅器、ユーザインターフェースなどの他のコンポーネントも含むことができる。NMD703aのマイクロフォン720は、NMD703の環境からの検出された音S
DをVCC760に提供するように構成される。検出された音S
Dは、1つ以上のアナログ信号またはデジタル信号の形態をとることができる。例示的な実装形態では、検出された音S
Dは、VCC760に供給されるそれぞれのチャネル762に関連する複数の信号から構成されてもよい。
【0110】
各チャネル762は、特定のマイクロフォン720に対応することができる。例えば、6つのマイクロフォンを有するNMDは、6つの対応するチャネルを有することができる。検出された音SDの各チャネルは、他のチャネルと特定の類似性を有することができるが、特定の点で異なっていてもよく、これは、他のチャネルのマイクロフォンに対する所与のチャネルの対応するマイクロフォンの位置に起因し得る。例えば、検出された音SDの1つ以上のチャネルは、他のチャネルよりも大きい音声対背景ノイズの信号対ノイズ比(「SNR」)を有することができる。
【0111】
図7Aにさらに示すように、VCC760は、AEC763、空間プロセッサ764、および1つ以上のバッファ768を含む。動作中、AEC763は、検出された音S
Dを受信し、エコーを抑制するためにおよび/または別様には検出された音S
Dの質を改善するために、音をフィルタリングまたは処理する。次いで、その処理された音は、空間プロセッサ764に渡され得る。
【0112】
空間プロセッサ764は、典型的には、検出された音SDを分析し、音声の振幅(例えば、デシベルレベル)、周波数スペクトル、方向性などの特定の特性を識別するように構成される。一点では、空間プロセッサ764は、上述したように、検出された音SDの構成チャネル762の類似性および相違に基づいて、潜在的なユーザの語りから検出された音SDの周囲ノイズをフィルタリングまたは抑制するのを補助することができる。1つの可能性として、空間プロセッサ764は、語りを他の音と区別するメトリックを監視することができる。そのようなメトリックは、例えば、背景ノイズに対する音声帯域内のエネルギー、および音声帯域内のエントロピー(スペクトル構造の尺度)を含むことができ、これは通常、最も一般的な背景ノイズよりも、語りにおいて低い。いくつかの実装形態では、空間プロセッサ764は、語りの存在する確率を決定するように構成されてもよく、そのような機能の例は、参照によりその全体が本明細書に組み込まれる、「Linear Filtering for Noise-Suppressed Speech Detection」と題する、2018年5月18日に出願された米国特許出願公開第15/984,073号明細書に開示されている。
【0113】
動作中、そのうちの1つ以上がメモリ213(
図2A)の一部であってもよく、またはそれとは別個であってもよい1つ以上のバッファ768は、検出された音S
Dに対応するデータを取り込む。より具体的には、1つ以上のバッファ768は、上流のAEC764および空間プロセッサ766によって処理された検出されたサウンドデータを取り込む。
【0114】
次いで、ネットワークインターフェース724は、この情報を、MPS100に関連付けられ得るリモートサーバへ提供し得る。一態様では、付加的バッファ769に格納された情報は、いかなる語りの内容も明示せず、代わりに、検出された音自体の特定の固有の特徴を暗示する。関連する態様では、情報は、プライバシーの懸念を必ずしも含意することなく、MPS100の様々なコンピューティングデバイスのようなコンピューティングデバイス間で通信され得る。実際には、MPS100は、この情報を使用して、後述するような感度調整を含む音声処理アルゴリズムを適合させ、微調整することができる。いくつかの実装形態では、付加的バッファは、例えば、2018年5月25日に出願された「Determining and Adapting to Changes in Microphone Performance of Playback Devices」と題する米国特許出願公開第15/989,715号明細書2018年9月25日に出願された、「Voice Detection Optimization Based on Selected Voice Assistant Service」と題する米国特許出願公開第16/141,875号明細書、および2018年9月21日に出願された米国特許出願公開第16/138,111号明細書、発明の名称「Voice Detection Optimization Using Sound Metadata」に開示されているルックバックバッファと同様の機能を包含する、または含むことができる。これらは、参照によりその全体が本明細書に組み込まれる。
【0115】
任意のイベントで、検出されたサウンドデータは、マイクロフォン720によって検出された音のデジタル表現(すなわち、サウンドデータストリーム)SDSを形成する。実際には、サウンドデータストリームSDSは様々な形態をとることができる。1つの可能性として、サウンドデータストリームSDSは、各々が1つ以上の音のサンプルを含むことができるフレームから構成することができる。フレームは、NMD703のVASウェイクワードエンジン770および音声抽出器773などの下流のコンポーネントによるさらなる処理のために、1つ以上のバッファ768からストリーミング(すなわち、読み出し)されてもよい。
【0116】
いくつかの実装形態では、少なくとも1つのバッファ768は、スライディングウィンドウ方式を利用して検出されたサウンドデータを取り込み、最後に取り込まれた検出されたサウンドデータの所与の量(すなわち、所与のウィンドウ)が、少なくとも1つのバッファ768に保持される一方で、古い検出されたサウンドデータは、ウィンドウの外側にあるときに上書きされる。例えば、少なくとも1つのバッファ768は、所与の時間に20フレームの音の標本を一時的に保持し、有効期限後に最も古いフレームを破棄し、次いで、音の標本の19前のフレームに追加される新しいフレームを取り込むことができる。
【0117】
実際には、サウンドデータストリームSDSがフレームで構成される場合、フレームは、様々な特性を有する様々な形態を取り得る。1つの可能性として、フレームは、サンプリングレート(例えば、44,100Hz)に基づくことができる特定の解像度(例えば、16ビットの解像度)を有するオーディオフレームの形態をとることができる。追加的または代替的に、フレームは、他の例の中でも、周波数応答、パワー入力レベル、SNR、マイクロフォンチャネル識別、および/または所与の音の標本の他の情報を示すメタデータなど、フレームが定める所与の音の標本に対応する情報を、含むことができる。したがって、いくつかの実施形態では、フレームは、音の一部(例えば、所与の音の標本の1つ以上のサンプル)、および音の一部に関するメタデータを含むことができる。他の実施形態では、フレームは、音の一部(例えば、所与の音の標本の1つ以上のサンプル)、または音の一部に関するメタデータを含むのみにすることができる。
【0118】
いずれの場合も、NMD703の下流のコンポーネントは、サウンドデータストリームSDSを処理することができる。例えば、VASウェイクワードエンジン770は、サウンドデータストリームSDS(例えば、ストリーミングされた音のフレーム)に、1つ以上の識別アルゴリズムを適用して、検出された音SDの潜在的なウェイクワードをスポットするように構成される。この処理は、自動音声認識と称されてもよい。VASウェイクワードエンジン770aおよびコマンドキーワードエンジン771aは、それぞれのウェイクワードに対応する異なる識別アルゴリズムを適用し、検出された音SDのウェイクワードの検出に基づいて、異なるイベントをさらに生成する。
【0119】
例示的なウェイクワード検出アルゴリズムは、オーディオを入力として受け入れ、ウェイクワードがオーディオに存在するかどうかの表示を提供する。多くの第一者および第三者のウェイクワード検出アルゴリズムが知られており、市販されている。例えば、音声サービスのオペレータは、第三者のデバイスで使用するためにアルゴリズムを利用可能にすることができる。あるいは、アルゴリズムは、特定のウェイクワードを検出するように訓練されてもよい。
【0120】
例えば、VASウェイクワードエンジン770aが潜在的なVASウェイクワードを検出すると、VASワークワードエンジン770aは、「VASウェイクワードイベント」(「VASウェイクワードトリガ」とも呼ばれる)の表示を提供する。
図7Aの図示の例では、VASウェイクワードエンジン770aは、VASウェイクワードイベントの発生を示す信号S
VWを、音声抽出器773に出力する。
【0121】
複数のVASの実装形態では、NMD703は、VASセレクタ774(破線で示す)を含み、VASセレクタ774は、所与のウェイクワードが、VASウェイクワードエンジン770aおよび少なくとも1つの付加的なVASウェイクワードエンジン770b(破線で示す)などの特定のウェイクワードエンジン(および対応するウェイクワードトリガ)によって識別されたときに、音声抽出器773による抽出を指示すると共に、サウンドデータストリームSDSを適切なVASへの送信を指示する。そのような実装形態では、NMD703は、複数の異なるVASウェイクワードエンジンおよび/または複数の異なる音声抽出器を含み、それぞれはそれぞれに対応したVASによってサポートされる。
【0122】
上記の説明と同様に、各VASウェイクワードエンジン770は、入力として、1つ以上のバッファ768からサウンドデータストリームSDSを受信し、識別アルゴリズムを適用して、適切なVASに対するウェイクワードトリガを引き起こすように構成され得る。したがって、一例として、VASウェイクワードエンジン770aは、ウェイクワード「アレクサ(Alexa)」を識別し、「アレクサ」がスポットされたときにNMD703aにAMAZON VASを呼び出すように構成されてもよい。別の例として、ウェイクワードエンジン770bは、「オーケー、グーグル」というウェイクワードを識別し、「オーケー、グーグル」がスポットされたときにNMD520にGoogle VASを呼び出すように構成されてもよい。単一のVASの実装形態では、VASセレクタ774は省いてもよい。
【0123】
VASウェイクワードイベントに応答して(例えば、ウェイクワードイベントを示す信号SVWに応答して)、音声抽出器773は、サウンドデータストリームSDSを受信してフォーマット(例えば、パケット化する)するように構成される。例えば、音声抽出器773は、サウンドデータストリームSDSのフレームをメッセージにパケット化する。音声抽出器773は、リアルタイムまたはほぼリアルタイムで音声入力を含み得るこれらのメッセージMVを、ネットワークインターフェース724を介してリモートVASに送信またはストリーミングする。
【0124】
VASは、NMD703から送信されたメッセージM
Vに含まれるサウンドデータストリームS
DSを処理するように構成される。より具体的には、NMD703aは、サウンドデータストリームS
DSに基づいて音声入力780を識別するように構成される。
図2Cに関連して説明したように、音声入力780は、キーワード部分および発話部分を含むことができる。キーワード部分は、ウェイクワードイベントを引き起こした際に、検出された音に対応するか、または特定の再生条件などの1つ以上の特定の条件が満たされたときに、コマンドキーワードイベントをもたらす。例えば、音声入力780がVASウェイクワードを含む場合、キーワード部分は、ウェイクワードエンジン770aにウェイクワードイベント信号S
VWを音声抽出器773へ出力させた際に、検出された音に対応する。この場合の発話部分は、キーワード部分に続くユーザの要求を潜在的に含む、検出された音に対応する。
【0125】
VASウェイクワードイベントが発生すると、VASは、最初にサウンドデータストリームSDSの中のキーワード部分を処理して、VASウェイクワードの存在を検証することができる。場合によっては、VASは、キーワード部分が誤りのウェイクワード(例えば、「Alexa」というワードがターゲットのVASウェイクワードである場合の「Election」というワード)を含むと判断することができる。そのような場合、VASは、NMD703aに、サウンドデータの抽出を停止するようにNMD703aに指示する応答を、送信することができ、これにより、音声抽出器773は、検出されたサウンドデータのVASへのさらなるストリーミングを停止する。VASウェイクワードエンジン770aは、別の潜在的なVASウェイクワードを見つけるまで、音の標本の監視を再開または継続することができ、別のVASウェイクワードイベントにつながる。いくつかの実装形態では、VASはキーワード部分を処理も受信もしないが、代わりに発話部分のみを処理する。
【0126】
いずれの場合も、VASは発話部分を処理して、検出されたサウンドデータの任意のワードの存在を識別し、これらのワードから基礎となる意図を判定する。ワードは、1つ以上のコマンド、ならびに特定のキーワードに対応することができる。キーワードは、例えば、MPS100の特定のデバイスまたはグループを識別する音声入力のワードであってもよい。例えば、図示の例では、キーワードは、リビングルームおよびダイニングルーム(
図1A)などの、音楽が再生されることになる1つ以上のゾーンを識別する1つ以上のワードであってもよい。
【0127】
ワードの意図を判定するために、VASは、典型的には、MPS100のVAS(図示せず)および/または1つ以上のデータベース(図示せず)に関連する1つ以上のデータベースと通信する。そのようなデータベースは、自然言語処理および/または他の処理のための様々なユーザのデータ、分析、カタログ、および他の情報を格納することができる。いくつかの実装形態では、そのようなデータベースは、音声入力処理に基づくニューラルネットワークの適応学習およびフィードバックのために更新することができる。場合によっては、発話部分は、
図2Cに示すように、ユーザが語ったワード間の検出された一時停止(例えば、語っていない期間)などの追加情報を含むことができる。一時停止は、発話部分内でユーザによって語られた別個のコマンド、キーワード、または他の情報の位置を画定することができる。
【0128】
音声入力を処理した後、VASは、音声入力から判定された意図に基づいて、1つ以上のアクションを実行するための命令を伴う応答を、MPS100に送信してもよい。例えば、音声入力に基づいて、VASは、他の作用の中でも、再生デバイス102のうちの1つ以上での再生を開始し、これらの再生デバイス102のうちの1つ以上を制御し(例えば、音量を上げる/下げる、デバイスをグループ化する/グループ化を解除するなど)、または特定のスマートデバイスをオン/オフにするように、MPS100に指示することができる。VASから応答を受信した後、NMD703のウェイクワードエンジン770aは、上述したように、別の潜在的なウェイクワードを見つけるまで、サウンドデータストリームSDS1の監視を再開または継続することができる。
【0129】
一般に、VASウェイクワードエンジン770aなどの特定のVASウェイクワードエンジンが適用する1つ以上の識別アルゴリズムは、検出されたサウンドストリームSDSの特定の特性を分析し、それらの特性を特定のVASウェイクワードエンジンの1つ以上の特定のVASウェイクワードの対応する特性と比較するように構成される。例えば、ウェイクワードエンジン770aは、エンジンの1つ以上のウェイクワードのスペクトル特性と一致する検出されたサウンドストリームSDSのスペクトル特性をスポットするために、1つ以上の識別アルゴリズムを適用することができ、それによって、検出された音SDが、特定のVASウェイクワードを含む音声入力を含むと判定する。
【0130】
いくつかの実装形態では、1つ以上の識別アルゴリズムは、第三者識別アルゴリズム(すなわち、NMD703aを提供する会社以外の会社によって開発されたものである)であってもよい。例えば、音声サービスのオペレータ(例えば、AMAZON)は、第三者デバイス(例えば、NMD103)で使用するためにそれぞれのアルゴリズム(例えば、AMAZONのALEXAに対応する識別アルゴリズム)を利用可能にすることができ、それは次いで、特定の音声アシスタントサービスの1つ以上のウェイクワードを識別するように訓練される。追加的または代替的に、1つ以上の識別アルゴリズムは、必ずしも所与の音声サービスに固有ではない特定のウェイクワードを識別するように開発および訓練された第一者識別アルゴリズムであってもよい。他の可能性も存在する。
【0131】
上述したように、NMD703aはまた、VASウェイクワードエンジン770aと並列のコマンドキーワードエンジン771aを含む。VASウェイクワードエンジン770aと同様に、コマンドキーワードエンジン771aは、1つ以上のウェイクワードに対応する1つ以上の識別アルゴリズムを適用することができる。「コマンドキーワードイベント」は、検出された音SDにおいて特定のコマンドキーワードが識別されたときに発生する。通常はVASウェイクワードとして利用されるノンスワードとは対照的に、コマンドキーワードは、起動ワードとコマンド自体の両方として機能する。例えば、例示的なコマンドキーワードは、他の例の中でも、再生コマンド(例えば、「再生する」、「一時停止する」、「スキップする」など)、ならびに制御コマンド(「オンにする」)に対応することができる。適切な条件下で、NMD703aは、これらのコマンドキーワードのうちのいずれかを検出することに基づいて、対応するコマンドを実行する。
【0132】
コマンドキーワードエンジン771aは、自動音声認識装置772を採用することができる。ASR772は、サウンドデータストリームSDSの音に基づいて、ワードに対応するテキストなどの音声またはフェノミックの表現を、テキストに出力するように、構成される。例えば、ASR772は、サウンドデータストリームSDSにおいて表された話し言葉を、音声入力780をテキストとして表す1つ以上の文字列に転記することができる。コマンドキーワードエンジン771は、後述するように、特定のキーワードを、コマンドキーワードイベントを呼び出すためのコマンドキーワードであると識別するローカル自然言語ユニット(NLU)779に、ASR出力(SASRとラベル付けされる)を供給することができる。
【0133】
上述したように、いくつかの例示的な実装形態では、NMD703aは、自然言語処理を実行するように構成され、それは、本明細書では自然言語ユニット(NLU)779と呼ばれるオンボード自然言語プロセッサを使用して、実行することができる。ローカルNLU779は、コマンドキーワードエンジン771aのASR772のテキストの出力を分析して、音声入力780のキーワードをスポット(すなわち、検出または識別)するように構成される。
図7Aでは、この出力は信号S
ASRとして示されている。ローカルNLU779は、各コマンドおよび/またはパラメータに対応するキーワード(すなわち、ワードまたはフレーズ)のライブラリを含む。
【0134】
一態様において、ローカルNLU779のライブラリは、コマンドキーワードを含む。ローカルNLU779が信号SASRに含まれるコマンドキーワードを識別すると、コマンドキーワードエンジン771aは、コマンドキーワードイベントを生成し、そのコマンドキーワードに対応する1つ以上の条件が満たされたと仮定して、信号SASRのコマンドキーワードに対応するコマンドを実行する。
【0135】
また、ローカルNLU779のライブラリには、キーワードとして、パラメータに対応するものを含んでいてもよい。次いで、ローカルNLU779は、音声入力780の一致したキーワードから、含まれるべき意図を判定してもよい。例えば、ローカルNLUが再生コマンドと共にキーワード「David Bowie」および「kitchen」のマッチングを見つけた場合、ローカルNLU779は、キッチン101hにおける再生デバイス102iでDavid Bowieを再生する意図を判定し得る。クラウドベースのVASによる音声入力780の処理とは対照的に、ローカルベースでの、NLU779による音声入力780のローカル処理は、比較的に簡単な構成で済む場合がある。なぜなら、NLU779が、VASが一般にアクセスするような、より大きなサウンドデータベースや、比較的に大きな処理能力を有する処理部に、アクセスしないためである。
【0136】
いくつかの例においては、ローカルNLU779が、それぞれのキーワードに対応する1つ以上のスロットにより意図を判定し得る。例えば、キッチンの例におけるDavid Bowieの再生を振り返って参照すると、音声入力を処理するとき、ローカルNLU779は、意図が音楽を再生することである(例えば、intent=playMusic)と判定し得ると同時に、第1スロットにより、David Bowieがターゲットコンテンツであると判定し(例えば、slot1=DavidBowie)、第2スロットにより、Kitchen 101hがターゲットの再生デバイスであると判定する(例えば、slot2=キッチン)。ここで、意図(「play Music」)は、コマンドキーワードに基づいており、スロットは、意図を特定のターゲットコンテンツおよび再生デバイスに限定するパラメータである。
【0137】
いくつかの例において、コマンドキーワードエンジン771aは、コマンドキーワードイベントの発生を示す信号SCWをローカルNLU779に出力する。コマンドキーワードイベントに応答(例えば、コマンドキーワードイベントを示す信号SCWに応答)して、ローカルNLU779は、信号SASRを受信して処理するように構成される。特に、ローカルNLU779は、信号SASR内のワードを精査し、ローカルNLU779のライブラリのキーワードと一致するキーワードを見つける。
【0138】
ローカル自動音声認識は、多少の誤りが予想される。例では、ASR772は、話し言葉をテキストに転記するときに信頼度スコアを生成することができ、それは音声入力780の話し言葉がそのワードの音声パターンにどれだけ近いかを示す。いくつかの実装形態では、コマンドキーワードイベントの生成は、所与のコマンドキーワードの信頼度スコアに基づく。例えば、コマンドキーワードエンジン771aは、所与の音の信頼度スコアが所与の閾値(例えば、0~1のスケールでの0.5は、所与の音声がコマンドキーワードではないであろうとの可能性が高いことを示す)を超えれば、コマンドキーワードイベントを生成することができる。逆に、所与の音の信頼度スコアが所与の閾値以下である場合、コマンドキーワードエンジン771aは、コマンドキーワードイベントを生成しない。
【0139】
同様に、キーワードマッチングを実行する際にいくらかのエラーが予想される。例では、ローカルNLUは、意図を判定するときに信頼度スコアを生成することができ、これは、信号SASRの転写されたワードがローカルNLUのライブラリの対応するキーワードにどれだけ近いかを示す。いくつかの実装形態では、判定された意図に従って動作を実行することは、信号SASRにおいて一致したキーワードの信頼度スコアに基づく。例えば、NMD703は、所与の音の信頼度スコアが所与の閾値(例えば、0~1のスケールでの5は、所与の音がコマンドキーワードではないことよりも可能性が高いことを示す)を超えるときに、決定された意図に従って動作を実行してもよい。逆に、所与の意図の信頼度スコアが所与の閾値以下である場合、NMD703は、決定された意図に従った動作を実行しない。
【0140】
上述したように、いくつかの実装形態では、フレーズをコマンドキーワードとして使用することができ、この場合は、追加の音節でもって、一致する(または一致しない)の判断をする必要がある。例えば、「音楽を再生して」というフレーズは、「再生」よりも、多くの音節を有しているので、より多くの音のパターンの一致が必要となる。したがって、フレーズであるコマンドキーワードは、一般に、誤り難いウェイクワードになり得る。
【0141】
上述したように、NMD703aは、検出されたコマンドキーワードに対応する特定の条件が満たされた場合にのみ、コマンドキーワードイベントを生成する(また、検出されたコマンドキーワードに対応するコマンドを実行する)。これらの条件は、誤検知コマンドキーワードイベントの発生率を下げることを目的としている。例えば、コマンドキーワード「スキップ」を検出した後、NMD703aは、スキップを実行すべきであることを示す特定の再生条件が満たされた場合にのみ、コマンドキーワードイベントを生成する(すなわち、次のトラックにスキップする)。これらの再生条件は、例えば、(i)メディアアイテムが再生されているという第1状態、(ii)キューがアクティブであるという第2状態、および(iii)現在再生されているメディアアイテムに続くメディアアイテムがキューに含まれているという第3状態を含むことができる。これらの条件のいずれかが満たされていない場合、コマンドキーワードイベントは生成されない(すなわち、スキップが実行されない)。
【0142】
NMD703aは、適切な条件が満たされているかどうかの判定を容易にするための1つ以上の状態機械775aを含む。状態機械775aは、検出されたコマンドキーワードに対応する1つ以上の条件が満たされたかどうかに基づいて、第1状態と第2状態との間を移行する。特に、1つ以上の特定の条件を必要とする特定のコマンドに対応する所与のコマンドキーワードについて、状態機械775aは、1つ以上の特定の条件が満たされたときに第1状態に移行し、1つ以上の特定の条件のうちの少なくとも1つの条件が満たされないときに第2状態に移行する。
【0143】
例示的な実装形態では、コマンド条件は、状態変数に示される状態に基づく。上述したように、MPS100のデバイスは、それぞれのデバイスの状態を記述する状態変数を格納することができる。例えば、再生デバイス102は、現在再生(または一時停止)しているオーディオコンテンツ、音量レベル、ネットワーク接続状態などの再生デバイス102の状態を示す状態変数を格納し得る。これらの状態変数は更新され(例えば、定期的に、またはイベントに基づいて(すなわち、状態変数の状態が変化すると))、NMD703を含むMPS100のデバイス間で状態変数をさらに共有することができる。
【0144】
同様に、NMD703は、これらの状態変数を(再生デバイスに実装されることによって、またはスタンドアローンNMDとして)維持してもよい。状態機械775aは、これらの状態変数に示される状態を監視し、適切な状態変数に示される状態がコマンド条件を満たすことを示すか否かを判定する。これらの判定に基づいて、状態機械775aは、上述したように、第1状態と第2状態との間を移行する。
【0145】
いくつかの実装形態では、コマンドキーワードエンジン771は、状態機械を介して特定の条件が満たされない限り、無効にすることができる。例えば、状態機械775aの第1状態および第2状態は、コマンドキーワードエンジン771aへの有効化/無効化トグルとして動作し得る。特に、特定のコマンドキーワードに対応する状態機械775aが第1状態にある間、状態機械775aは、特定のコマンドキーワードのコマンドキーワードエンジン771aを有効にする。逆に、特定のコマンドキーワードに対応する状態機械775aが第2状態にある間、状態機械775aは、特定のコマンドキーワードのコマンドキーワードエンジン771aを無効にする。これにより、無効化されたコマンドキーワードエンジン771aは、サウンドデータストリームSDSの解析を中止する。少なくとも1つのコマンド条件が満たされない場合、NMD703aは、コマンドキーワードエンジン771aがコマンドキーワードを検出したときに、コマンドキーワードイベントの生成を抑制してもよい。生成の抑制は、コマンドキーワードエンジン771aからの出力がコマンドキーワードイベントを生成することをゲーティング、ブロック、または防止することを含むことができる。あるいは、生成を抑制することは、NMD703がASR772へのサウンドデータストリームSDSの供給を停止することを含んでもよい。このような抑制により、少なくとも1つのコマンド条件が満たされていない場合に、検出されたコマンドキーワードに対応するコマンドが実行されることが防止される。そのような実施形態では、コマンドキーワードエンジン771aは、状態機械775aが第1状態にある間、サウンドデータストリームSDSの分析を継続することができるが、コマンドキーワードイベントは無効にされる。
【0146】
他の例示的な条件は、音声活動検出器(「VAD」)765の出力に基づくことができる。VAD765は、サウンドデータストリームS
DSにおける音声活動の存在(または欠如)を検出するように構成される。特に、VAD765は、音声入力780(
図2D)のプレロール部分(事象前)に相当するフレームにおいて、音声活動が環境内に存在していたかどうかを判定するために、音声入力780のキーワード部分の前の特定の時間ウィンドウにおいて、1つ以上の音声検出アルゴリズムで解析することができる。
【0147】
VAD765は、任意の適切な音声活動検出アルゴリズムを利用し得る。例示的な音声検出アルゴリズムは、所与のフレームが音声活動に相当する1つ以上の特徴または質を含むかどうかを判定することと、それらの特徴または質が雑音から枝分かれしたものであり、所与の程度まで大きくなっているかどうか(例えば、値が所与のフレームの閾値を超えているかどうか)をさらに判定することを含む。いくつかの例示的な音声検出アルゴリズムは、特徴または質を識別する前にフレームのノイズをフィルタリングまたは低減することを含む。
【0148】
いくつかの例では、VAD765は、音声活動が環境に存在しているかどうかを、1つ以上のメトリックに基づいて判定することができる。例えば、VAD765は、音声活動を含むフレームと、音声活動を含まないフレームとを区別するように、構成することができる。VADが音声活動を有すると判定するフレームは、それが近接場であるか遠距離場であるかにかかわらず、語りによって引き起こされ得る。この例およびその他では、VAD765は、音声活動を示す音声入力780の事象前部分のフレームのカウント値を決定することができる。このカウント値が閾値パーセントまたはフレーム数を超えた場合、VAD765は、音声活動が環境に存在していることを示す信号を出力するか、または状態変数をそのような値に設定するように構成され得る。そのようなカウント値に加えて、またはその代わりに、他のメトリックも同様に使用することができる。
【0149】
環境内に音声活動が存在することは、音声入力がNMD73に与えられていることを示すことができる。したがって、音声活動が環境に存在しないことをVAD765が示すとき(おそらくVAD765によって設定された状態変数によって示されるであろう)、これはコマンドキーワードのコマンド条件のうちの1つとして構成され得る。この条件が満たされると(すなわち、VAD765は、音声活動が環境に存在していることを示す)、状態機械775aは、第1状態に移行し、コマンドキーワードに基づいてコマンドを実行することを可能にする。もちろん、コマンドキーワード以外の他の条件が満たされていることが必要である。
【0150】
さらに、いくつかの実装形態では、NMD703はノイズ分類器766を含むことができる。ノイズ分類器766は、サウンドメタデータ(周波数応答、信号レベルなど)を決定し、様々なノイズ源に対応するサウンドメタデータのサインを識別するように構成される。ノイズ分類器766は、検出されたサウンドデータまたはメタデータの異なるタイプのノイズを識別するように構成されたニューラルネットワークまたは他の数学モデルを含むことができる。ノイズの1つの分類は、語り(例えば、遠距離場音声)であり得る。別の分類は、背景音声などの特定の種類の語りであってもよく、その例は
図8を参照してより詳細に説明される。背景音声は、VAD765によって検出される音声に似た活動のより一般的な音声活動(例えば、ケイデンス(抑揚)、一時停止、または他の特性)などの他の種類の音声に似た活動と、区別することができる。
【0151】
例えば、サウンドメタデータを分析することは、サウンドメタデータの1つ以上の特徴を既知のノイズ基準値または既知のノイズを有するサンプル母集団データと比較することを含むことができる。例えば、信号レベル、周波数応答スペクトルなどのサウンドメタデータの任意の特徴は、ノイズ基準値またはサンプルの母集団にわたって収集および平均化された値と、比較することができる。いくつかの例では、サウンドメタデータを分析することは、NMDの集合からの集約された周波数応答スペクトルに対応する固有空間に、周波数応答スペクトルを投影することを含む。さらに、周波数応答スペクトルを固有空間に投影することは、下流の分類を容易にするための前処理ステップとして実行することができる。
【0152】
様々な実施形態において、サウンドメタデータを使用してノイズを分類するための任意の数の異なる技術、例えば、決定木を使用する機械学習、またはベイジアン分類器、ニューラルネットワーク、または任意の他の分類技術を使用することができる。代替的または追加的に、様々なクラスタリング技術、例えばK平均クラスタリング、平均シフトクラスタリング、期待値最大化クラスタリング、または任意の他の適切なクラスタリング技術を使用することができる。ノイズを分類する技術は、参照によりその全体が本明細書に組み込まれる、2018年12月20日に出願され、「Optimization of Network Microphone Devices Using Noise Classification」と題する、米国特許出願公開第16/227,308号明細書に開示されている1つ以上の技術を含むことができる。
【0153】
図8は、第1プロット882aおよび第2プロット882bを示す。第1プロット882aおよび第2プロット882bは、背景音声に関する解析後のサウンドメタデータを示す。プロットに示されるこれらのサインは、主成分分析(PCA)を使用して生成される。様々なNMDから収集されたデータは、可能性のある周波数応答スペクトルの全体的な分布を提供する。一般に、主成分を分析すれば、すべてのフィールドデータにおける変化を直交座標系で表すことができる。
図8のプロット図に示される輪郭が固有空間を反映する。プロット内の各ドットは、固有空間に投影される既知のノイズの値(例えば、確認されているノイズ源に向けられたNMDからの単一周波数の応答スペクトル)を表す。
図8に見られるように、これらの既知のノイズの値は、固有空間に投影されたときにクラスタ化する。この例では、
図8のプロットは4つのベクトル解析を表しており、各ベクトルはそれぞれの特徴に対応する。これらの特徴は、集合的に見て、背景音声を表すサインである。
【0154】
図7Aに戻って説明すると、いくつかの実装形態では、付加的バッファ769(破線で示す)は、上流側にあるAEC763および空間プロセッサ764によって処理され、検出された音S
Dに関する情報(例えば、メタデータまど)を格納することができる。この付加的バッファ769は、「サウンドメタデータバッファ」と称されてもよい。このようなサウンドメタデータは、例えば、以下を含む。(1)周波数応答データ、(2)エコーリターンロス増強測定値、(3)音声方向測定値、(4)アービトレーション統計、および/または(5)音声スペクトルデータ。例示的な実装形態では、ノイズ分類器766は、バッファ769にあるサウンドメタデータを分析して、検出された音S
Dのノイズを分類することができる。
【0155】
上述したように、音の一つの分類としては、遠距離場における音声および/またはNMD703を煩わすことがない会話を示す音声などの背景音声であってもよい。ノイズ分類器766は、背景音声が環境に存在していることを示す信号を出力したり、状態変数を設定することができる。音声入力780の事象前部分において音声活動(すなわち、語り)があっても、それはNMD703に向けられておらず、環境内での会話音声である可能性があることを示す。例えば、世帯のメンバーが、NMD703に「プレイ(再生して)」というコマンドキーワードを指示することを意図せずに、「あの子たちはもうすぐプレイ(遊び)の約束に行かないと」というようなことを言うかもしれない。
【0156】
さらに、ノイズ分類器が、環境内に背景音声が存在することを示す場合、この条件は、コマンドキーワードエンジン771aを無効にすることができる。いくつかの実装形態では、(おそらくノイズ分類器766によって設定された状態変数によって示されるように)背景音声が環境に存在しないという条件は、コマンドキーワードのコマンド条件のうちの1つとして構成される。したがって、状態機械775aは、背景音声が環境に存在していることをノイズ分類器766が示すとき、第1状態に移行しない。
【0157】
さらに、ノイズ分類器766は、背景音声が環境に存在しているかどうかを、1つ以上のメトリックに基づいて判定することができる。例えば、ノイズ分類器766は、音声入力780の事象前部分のフレームのカウント値でもって背景音声を示すことを決定することができる。このカウント値が閾値パーセントまたはフレーム数を超えた場合、ノイズ分類器766は、信号を出力するか、状態変数を設定して、背景音声が環境に存在していることを示すように構成され得る。そのようなカウント値に加えて、またはその代わりに、他のメトリックも同様に使用することができる。
【0158】
例示的な実装形態では、NMD703aは、複数のコマンドキーワードをサポートすることができる。そのようなサポートを容易にするために、コマンドキーワードエンジン771aは、それぞれのコマンドキーワードに対応する複数の識別アルゴリズムを実装することができる。あるいは、NMD703aは、それぞれのコマンドキーワードを識別するように構成された付加的なコマンドキーワードエンジン771bを実装してもよい。さらに、ローカルNLU779のライブラリは、複数のコマンドキーワードを含み、信号SASRにおいてこれらのコマンドキーワードに対応するテキストパターンを検索するように構成されてもよい。
【0159】
さらに、コマンドキーワードは、異なる条件を必要とする場合がある。例えば、「スキップ」はメディアアイテムが再生されているという条件を必要とし、「再生」はメディアアイテムが再生されていないという反対の条件を必要とする場合がある。このように、「スキップ」のための条件は「再生」のための条件とは異なる場合がある。これらのそれぞれの条件を容易にするために、NMD703aは、コマンドキーワード毎に対応する状態機械775aを実装することができる。あるいは、NMD703aは、コマンドキーワード毎のそれぞれに対応可能な一つの状態機械775aを実装してもよい。他の例も同様に可能である。
【0160】
いくつかの例示的な実装形態では、VASウェイクワードエンジン770aは、特定の条件が満たされたときにVASウェイクワードイベントを生成する。NMD703bは、状態機械775aと同様の状態機械775bを含む。状態機械775bは、VASウェイクワードに対応する1つ以上の条件が満たされたかどうかに基づいて、第1状態と第2状態との間を移行する。
【0161】
例えば、いくつかの例では、VASウェイクワードエンジン770aは、VASウェイクワードイベントが検出される前に背景音声が環境内に存在しなかった場合にのみ、VASウェイクワードイベントを生成することができる。音声活動が環境に存在するかどうかの表示は、ノイズ分類器766からもたらされ得る。上述したように、ノイズ分類器766は、信号を出力するか、または状態変数を設定して、環境に遠距離場音声が存在することを示すように構成することができる。さらに、VASウェイクワードエンジン770aは、音声活動が環境に存在している場合にのみ、VASウェイクワードイベントを生成することができる。上述したように、VAD765は、音声活動が環境に存在していることを示すため、信号を出力するか、または状態変数を設定するように構成されてもよい。
【0162】
例示すると、
図7Bに示すように、VASウェイクワードエンジン770aは状態機械775bに接続されている。状態機械775bが第1状態のままである場合は、1つ以上の条件が満たされたときであり、その条件の1つには環境に音声活動が存在しないという条件を含み得る。状態機械775bが第1状態にあるとき、VASウェイクワードエンジン770aは有効にされ、VASウェイクワードイベントが生成できる状態にある。もし、1つ以上の条件のいずれかが満たされない場合、状態機械775bは第2状態に移行し、これにより、VASウェイクワードエンジン770aが無効にされる。
【0163】
さらに、NMD703は、1人以上のユーザがNMD703に近接しているか否かを示す信号を出力する1つ以上のセンサを含んでもよい。例示的なセンサとして、温度センサ、赤外線センサ、撮像センサ、および/または静電容量センサや、他のセンサを含む。NMD703は、そのようなセンサからの出力を使用して、1人以上のユーザがNMD703に近接しているか否かを示す1つ以上の状態変数を設定することができる。次いで、状態機械775bは、その有無を状態機械775bの条件としてもよい。例えば、状態機械775bは、少なくとも1人のユーザがNMD703に近接しているときに、VASウェイクワードエンジンおよび/またはコマンドキーワードエンジン771aを有効にすることができる。
【0164】
例示的な状態機械の動作を説明するために、
図7Cは、1つ以上のコマンド条件を必要とする例示的なコマンドキーワードのための状態機械775の動作を示すブロック図である。777aにおいて、状態機械775は、すべてのコマンド条件が満たされている間、第1状態778aのままである。状態機械775が第1状態778aのままである(すなわち、全コマンド条件が満たされている)間、NMD703aは、コマンドキーワードがコマンドキーワードエンジン771aによって検出されると、コマンドキーワードイベントを生成する。
【0165】
777bにおいて、いずれかのコマンド条件が満たされない場合、状態機械775は第2状態778bに移行する。777cにおいて、状態機械775は、いずれかのコマンド条件が満たされなければ、第2状態778bのままである。状態機械775が第2状態778bにある間は、NMD703aは、たとえコマンドキーワードがコマンドキーワードエンジン771aによって検出されたとしても、コマンドキーワードイベントの動作に移らない。
【0166】
再び
図7Aを参照すると、いくつかの例では、1つ以上の追加のコマンドキーワードエンジン771bは、カスタムコマンドキーワードエンジンを含んでもよい。ストリーミングオーディオサービスなどのクラウドサービスプロバイダは、サービス固有のコマンドキーワードをスポットするように構成された識別アルゴリズムで予め構成されたカスタムキーワードエンジンを、提供することができる。これらのサービス固有のコマンドキーワードは、サービスにアクセスする際に使用されるカスタムサービス機能および/またはカスタム名のためのコマンドを含むことができる。
【0167】
例えば、NMD703aは、特定のストリーミングオーディオサービス(例えば、アップルミュージック)コマンドキーワードエンジン771bを含むことができる。この特定のコマンドキーワードエンジン771bは、特定のストリーミングオーディオサービスに固有のコマンドキーワードを検出し、ストリーミングオーディオサービスウェイクワードイベントを生成するように、構成することができる。例えば、1つのコマンドキーワードは、特定のストリーミングオーディオサービスの中の1人または複数の「友達」の再生履歴から生成されたカスタムプレイリストを再生するコマンドに対応する「Friends Mix」であってもよい。
【0168】
カスタムコマンドキーワードエンジン771bは、一般に、VASウェイクワードエンジン770aがカスタムコマンドキーワードエンジン771bよりも複雑であるため、VASウェイクワードエンジン770aよりも誤りのウェイクワードが比較的発生しやすい可能性がある。これを軽減するために、カスタムコマンドキーワードは、カスタムコマンドキーワードイベントを生成する前に1つ以上の条件が満たされることを必要とする場合がある。さらに、いくつかの実装形態では、誤検知の発生率を低減するために、カスタムコマンドキーワードエンジン771bをNMD703aに含めるための要件として、複数の条件が課される場合がある。
【0169】
これらのカスタムコマンドキーワード条件は、サービス固有の条件を含むことができる。例えば、プレミアム機能またはプレイリストに対応するコマンドキーワードは、条件としてサブスクリプションを必要とする場合がある。別の例として、特定のストリーミングオーディオサービスに対応するカスタムコマンドキーワードは、再生キュー内のそのストリーミングオーディオサービスからのメディアアイテムを必要とする場合がある。他の条件も同様に可能である。
【0170】
カスタムコマンドキーワード条件に基づいてカスタムコマンドキーワードエンジンをゲーティングするために、NMD703aは、各カスタムコマンドキーワードに対応する付加的な状態機械775aを有することができる。あるいは、NMD703aは、カスタムコマンドキーワードごとにそれぞれの状態を有する状態機械775aを実装してもよい。他の例も同様に可能である。これらのカスタムコマンド条件は、MPS100内のデバイスによって維持される状態変数に依存してもよく、また、ストリーミングオーディオサービスなどのクラウドサービスのユーザアカウントの状態を表す状態変数または他のデータ構造に依存してもよい。
【0171】
図9Aおよび
図9Bは、例示的なコマンドキーワードおよび対応する条件を示す表985を示す。図に示すように、例示的なコマンドキーワードは、同様の意図を有し、同様の条件を必要とする同族を含むことができる。例えば、「次の」コマンドキーワードは、「スキップ」および「早送り」の同族を有し、それぞれが適切な条件下でスキップコマンドを呼び出す。表985に示される条件は例示的なものである。様々な実装形態は、異なる条件を使用することができる。
【0172】
図7Aを再び参照すると、例示的な実施形態では、VASウェイクワードエンジン770aおよびコマンドキーワードエンジン771aは、様々な形態をとることができる。例えば、VASウェイクワードエンジン770aおよびコマンドキーワードエンジン771aは、NMD703aおよび/またはNMD703bのメモリ(例えば、
図1Fのメモリ112b)に格納される1つ以上のモジュールの形態をとってもよい。別の例として、VASウェイクワードエンジン770aおよびコマンドキーワードエンジン771aは、汎用プロセッサもしくは専用プロセッサ、またはこれらのモジュールの形態をとってもよい。この点において、複数のウェイクワードエンジン770および771は、NMD703aの同じコンポーネントの一部であってもよく、または各ウェイクワードエンジン770および771は、特定のウェイクワードエンジン専用のコンポーネントの形態をとってもよい。他の可能性も存在する。
【0173】
誤検知をさらに低減するために、コマンドキーワードエンジン771aは、VASウェイクワードエンジン770aと比較して相対的に低い感度を利用することができる。実際には、ウェイクワードエンジンは、変更可能な感度レベル設定を含むことができる。感度レベルは、検出されたサウンドストリームSDS1で識別されたワードと、一致すると考えられるウェイクワードエンジンの1つ以上の特定のウェイクワード(すなわち、VASウェイクワードまたはコマンドキーワードイベントをトリガする)との間の類似度を定義することができる。言い換えれば、感度レベルは、一例として、検出されたサウンドストリームSDS2のスペクトル特性が、ウェイクワードトリガとなるエンジンの1つ以上のウェイクワードのスペクトル特性にどれだけ近くなければならないかを定義する。
【0174】
この点において、感度レベルは、一般に、VASウェイクワードエンジン770aおよびコマンドキーワードエンジン771aが識別する誤検知の数を制御する。例えば、VASウェイクワードエンジン770aが、ウェイクワード「Alexa」を比較的高い感度で識別するように構成されている場合、「Election」または「Lexus」という誤りのウェイクワードであっても、ウェイクワードエンジン770aは、ウェイクワード「Alexa」の存在にフラグを立て得る。対照的に、コマンドキーワードエンジン771aが比較的低い感度で構成されている場合、「may」または「day」という誤りのウェイクワードは、コマンドキーワードエンジン771aに、コマンドキーワード「Play」の存在にフラグを立てさせない。
【0175】
実際には、感度レベルは様々な形態をとることができる。例示的な実装形態では、感度レベルは、ウェイクワードエンジンがその特定のウェイクワードの検出された音を分析しているときにウェイクワードイベントをトリガするかトリガしないかの間を分ける線として機能するウェイクワードエンジンの最小信頼度(すなわち、確率)のレベルを定義する信頼度の閾値の形態をとる。これに関して、より高い感度レベルは、より低い信頼度閾値(およびより多くの誤検知)に対応し、より低い感度レベルは、より高い信頼度閾値(およびより少ない誤検知)に対応する。例えば、ウェイクワードエンジンの信頼度閾値を下げることが、実際の特定のウェイクワードである可能性がより低いワードをそれが識別するときに、ウェイクワードイベントをトリガするように構成し、一方で信頼度閾値を上げると、実際の特定のウェイクワードである可能性がより高いワードを識別するときに、ウェイクワードイベントをそれがトリガするようにエンジンを構成する。例の中で、コマンドキーワードエンジン771aの感度レベルは、より多くのもの、またはコマンドキーワードをスポットする際の信頼度スコア、および/または意図を判定する際の信頼度スコアなどのいっそう多い信頼度スコアに基づいてもよい。感度レベルの他の例も可能である。
【0176】
例示的な実装形態では、特定のウェイクワードエンジンの感度レベルパラメータ(例えば、感度の範囲)を更新することができ、これは様々な方法で行うことができる。1つの可能性として、所与のウェイクワードエンジンのVASまたは他の第三者プロバイダは、所与のVASウェイクワードエンジン770aのための1つ以上の感度レベルパラメータを修正するウェイクワードエンジンの更新を、NMD703に提供することができる。対照的に、コマンドキーワードエンジン771aの感度レベルパラメータは、NMD703aの製造業者によって、または別のクラウドサービス(例えば、カスタムウェイクワードエンジン771bの場合)によって、構成されてもよい。
【0177】
特に、特定の例では、NMD703aは、音声入力780を処理するときに、コマンドキーワードが含まれていれば、検出された音SDを表す任意のデータ(例えば、メッセージMV)をVASに送信することを取り止める。ローカルNLU779を含む実装形態では、NMD703aは、音声入力780の(キーワードのワード部分に加えて)音声発話部分が存在していても、音声入力780の音声発話部分をVASに送信することなく、処理することができる。したがって、(コマンドキーワードを伴う)音声入力780をNMD703に語り掛けても、VASを使用してすべての音声入力を処理する類のNMDと比較して、プライバシーを高めることができる。
【0178】
上述したように、ローカルNLU779のライブラリのキーワードは、パラメータに対応する。これらのパラメータは、検出されたコマンドキーワードに対応するコマンドを実行するように定めることができる。音声入力780においてキーワードが認識されると、検出されたコマンドキーワードに対応するコマンドが、検出されたキーワードに対応するパラメータに従って実行される。
【0179】
例えば、例示的な音声入力780は、「音楽を低音量で再生」であってもよく、ここで、「再生」はコマンドキーワード部分(再生コマンドに対応する)であり、「音楽を低音量で再生」は音声発話部分であってもよい。この音声入力780を解析するとき、NLU779は、「低音量」が、ある(小)音量レベルを表すパラメータに対応するライブラリのキーワードであることを認識し得る。したがって、NLU779は、この低い音量レベルで再生する意図を決定してもよい。次いで、「再生」に対応する再生コマンドを実行するとき、このコマンドは、ある音量レベルを表すパラメータに従って実行される。
【0180】
第2の例では、別の例示的な音声入力780は、「キッチンでお気に入りを再生して」であってもよく、ここでも「再生」はコマンドキーワード部分(再生コマンドに対応する)であり、「キッチンでお気に入りを」は音声発話部分である。この音声入力780を分析すると、NLU779は、「お気に入り」および「キッチン」がそのライブラリ内のキーワードと一致することを認識し得る。特に、「お気に入り」は、特定のオーディオコンテンツ(すなわち、ユーザのお気に入りのオーディオトラックを含む特定のプレイリスト)を表す第1パラメータに対応し、一方、「キッチン」は、再生コマンドのターゲット(すなわち、キッチン101hゾーン)を表す第2パラメータに対応する。したがって、NLU779は、キッチン101hゾーンでこの特定のプレイリストを再生する意図を判定してもよい。
【0181】
第3の例では、さらなる例示的な音声入力780は、「音量アップ」であってもよく、「音量」はコマンドキーワード部分(音量調整コマンドに対応する)であり、「アップ」は音声発話部分であってもよい。この音声入力780を解析するとき、NLU779は、「アップ」が、ある音量上昇を表すパラメータ(例えば、100ポイントスケール上で10ポイントの増加)に対応するライブラリのキーワードであることを認識し得る。したがって、NLU779は、音量を上げる意図を判定してもよい。次いで、「音量」に対応する音量調整コマンドを実行する場合、このコマンドは、一定の音量上昇を表すパラメータに従って実行される。
【0182】
例では、特定のコマンドキーワードは、ローカルNLU779のライブラリ内において、そのキーワードのサブセットのキーワードと機能的にリンクされているので、分析を促進することができる。例えば、コマンドキーワード「スキップ」は、キーワード「早送り」および「巻き戻し」と機能的にリンクされており、更にそれらの同族にもリンクされていてもよい。したがって、ある音声入力780においてコマンドキーワード「スキップ」が検出された場合、その音声入力780の音声発話部分の分析をローカルNLU779で行う場合、(音声入力780に、ローカルNLU779のライブラリ内のキーワードと一致するキーワードが含まれているか否かを判定するのではなく)音声入力780に、機能的にリンクされたキーワードと一致するキーワードが含まれているか否かを判定することを含んでもよい。非常に少ないキーワードがチェックされるので、この分析はライブラリの完全な検索よりも相対的に迅速である。対照的に、「Alexa」などのノンスのVASウェイクワードは、付随する音声入力の範囲に関する指示を提供しない。
【0183】
コマンドキーワードのみでは対応するコマンドを実行するのに十分な情報を提供しないため、いくつかのコマンドは1つ以上のパラメータを必要とする場合がある。例えば、コマンドキーワード「音量」は、「音量」のみの発声では意図が不明確であるため、音量の増減を指定するパラメータを必要とする場合がある。別の例として、コマンドキーワード「グループ」は、グループ化するターゲットデバイスを識別する2つ以上のパラメータを必要とする場合がある。
【0184】
したがって、いくつかの例示的な実装形態では、音声入力780内に含まれる所与のコマンドキーワードが、コマンドキーワードエンジン771aによって検出されると、ローカルNLU779は、音声入力780が、必要なパラメータに対応するライブラリ内のキーワードと一致するキーワードを含むかどうかを判定することができる。音声入力780に必要なパラメータと一致するキーワードが含まれる場合、NMD703aは、キーワードによって指定されたパラメータに従って(所与のコマンドキーワードに対応する)コマンドの実行に進む。
【0185】
しかしながら、音声入力780がコマンドに必要なパラメータと一致するキーワードを含む場合であっても、NMD703aは、パラメータを提供するようにユーザに促すことができる。例えば、ひとつの例では、NMD703aは、「コマンドを聞きましたが、さらに多くの情報が必要です」または「お手伝いが必要ですか?」などの可聴問合せプロンプトを再生することができる。あるいは、NMD703aは、制御アプリケーション(例えば、制御デバイス104のソフトウェアコンポーネント132c)を介してユーザのパーソナルデバイスに問合わせプロンプトを送信してもよい。
【0186】
さらなる例では、NMD703aは、検出されたコマンドキーワードに対して、カスタマイズされた可聴プロンプトを、再生することができる。例えば、音量調整コマンド(例えば、「音量」)に対応するコマンドキーワードを検出した後、可聴プロンプトは、「音量を上げますか、下げしますか」などの、より具体的な要求を含むことができる。別の例として、コマンドキーワード「グループ」に対応するグループ化コマンドの場合、可聴プロンプトは「どのデバイスをグループ化しますか」であってもよい。そのような特定の可聴プロンプトのサポートは、比較的限られた数のコマンドキーワード(例えば、100未満)をサポートすることによって実用的にすることができるが、他の実装形態は、追加のメモリおよび処理能力を必要とするというトレードオフを伴いながらも、より多くのコマンドキーワードをサポートすることができる。
【0187】
追加の例では、音声発話部分が1つ以上の必須のパラメータに対応するキーワードを含まない場合、NMD703aは、1つ以上のデフォルトパラメータに従って、対応するコマンドを実行することができる。例えば、再生コマンドが、再生するためのターゲット再生デバイス102を示すキーワードを含まない場合、NMD703aは、NMD703a自身による再生(例えば、NMD703aがある再生デバイス102内に実装されている)、または、1つ以上の関連付けられた再生デバイス102での再生(例えば、NMD703aと同じ部屋またはゾーン内の再生デバイス102)をデフォルトで行ってもよい。さらに、いくつかの例では、ユーザは、グラフィカルユーザインターフェース(例えば、ユーザインターフェース430)または音声ユーザインターフェースを使用して、デフォルトのパラメータを構成することができる。例えば、グループ化コマンドがグループ化すべき再生デバイス102を指定しない場合、NMD703aは、同期グループを形成するように2つ以上の予め設定されたデフォルト再生デバイス102に指示することをデフォルトとしてもよい。デフォルトのパラメータは、データストレージ(例えば、メモリ112b(
図1F))に格納され、キーワードが特定のパラメータを除外しているとNMD703aが判定した場合にアクセスされてもよい。他の例も同様に可能である。
【0188】
場合によっては、NMD703aは、ローカルNLU779が音声入力780を処理できない場合(例えば、ローカルNLUがライブラリのキーワードとの一致を見つけることができない場合、またはローカルNLU779が意図に関して低い信頼度スコアを有する場合)、音声入力780をVASに送信する。例では、音声入力780の送信をトリガするために、NMD703aは、上述したように、音声抽出器773にサウンドデータストリームSDを処理させるブリッジングイベントを生成することができる。すなわち、NMD703aは、VASウェイクワードがVASウェイクワードエンジン770aによって検出されることなく(代わりに、音声入力780を処理することができないNLU779、ならびに音声入力780のコマンドキーワードに基づいて)、音声抽出器773をトリガするためのブリッジングイベントを生成する。
【0189】
音声入力780をVASに送信する(例えば、メッセージMVを介して)前に、NMD703aは、音声入力780をVASに送信することの確認を、ユーザから取得し得る。例えば、NMD703aは、音声入力を「申し訳ありませんが、理解できませんでした。Alexaに聞いてもよいですか」などのデフォルトまたは別様に構成されたVASに送信するために、可聴プロンプトを再生することができる。別の例では、NMD703aは、「お手伝いが必要ですか?」などのVAS音声(すなわち、特定のVASに関連付けられているとほとんどのユーザにとって既知である音声)を使用して、可聴プロンプトを再生することができる。そのような例では、ブリッジングイベントの生成(および音声抽出器773にトリガーをかけること)は、ユーザからの第2の肯定的な音声入力780を条件とする。
【0190】
特定の例示的な実装形態では、ローカルNLU779は、必ずしもコマンドキーワードエンジン771aによって(すなわち、直接)コマンドキーワードイベントが生成されることなく、信号SASRを処理することができる。すなわち、自動音声認識772は、サウンドデータストリームSDに対して自動音声認識を実行するように構成されてもよく、ローカルNLU779は、コマンドキーワードイベントを受けることなくキーワードを照合するための処理をする。音声入力780のキーワードが、コマンドに対応するキーワード(場合によっては、1つ以上のパラメータに対応する1つ以上のキーワードを含む)と一致することが分かった場合、NMD703aは、1つ以上のパラメータに従ってコマンドを実行する。
【0191】
さらに、そのような例では、ローカルNLU779は、特定の条件が満たされた場合にのみ信号SASRを直接処理することができる。特に、いくつかの実施形態では、ローカルNLU779は、状態機械775aが第1状態にあるときにのみ信号SASRを処理する。特定の条件は、環境に背景音声がないことに対応する条件を含むことができる。背景音声が環境に存在しているかどうかの表示は、ノイズ分類器766からもたらされ得る。上述したように、ノイズ分類器766は、環境に遠距離場音声が存在することを示す信号を出力するか、または状態変数を設定するように構成することができる。さらに、環境の音声活動に対応する別の条件があってもよい。VAD765は、音声活動が環境に存在していることを示す信号を出力するか、または状態変数を設定するように構成されてもよい。同様に、直接的処理の手法を用いたコマンドの誤検知検出の発生率は、状態機械775aによって決定された条件を使用して緩和することができる。
【0192】
いくつかの例では、ローカルNLU779のライブラリは、個々のユーザに対して部分的にカスタマイズされる。第1の観点では、ライブラリは、NMDの家庭内にあるデバイス(例えば、環境101内の家庭(
図1A))にカスタマイズすることができる。例えば、ローカルNLUのライブラリは、MPS100の再生デバイス102のゾーン名など、家庭内のデバイスの名前に対応するキーワードを含むことができる。第2の観点では、ライブラリは、家庭内のデバイスのユーザにカスタマイズすることができる。例えば、ローカルNLU779のライブラリは、ユーザの好みのプレイリスト、アーティスト、アルバムなどの名前または他の識別子に対応するキーワードを含んでもよい。次に、ユーザは、コマンドキーワードエンジン771aおよびローカルNLU779に音声入力を指示するときに、これらの名前または識別子を参照することができる。
【0193】
例示的な実装形態では、NMD703aは、ローカルNLU779のライブラリをネットワーク111(
図1B)内でローカルに集めることができる。上述したように、NMD703aは、ネットワーク111に接続されたデバイス(例えば、再生デバイス104)のそれぞれの状態を示す状態変数を維持するか、またはこれにアクセスすることができる。これらの状態変数は、各種デバイスの名称を含んでもよい。例えば、キッチン101hは、ゾーン名「キッチン(Kitchen)」が割り当てられた再生デバイス101bを含んでもよい。NMD703aは、これらの名称を状態変数から読み出し、それらをキーワードとして認識するようにローカルNLU779を学習させることによって、ローカルNLU779のライブラリにそれらを含めることができる。所与の名前のキーワードエントリは、その後、関連付けられたパラメータの対応するデバイスに関連付けられ得る(例えば、MACアドレスまたはIPアドレスなどのデバイスの識別子によって)。次いで、NMD703aは、パラメータを使用して制御コマンドをカスタマイズし、そのコマンドを特定の装置に指示することができる。
【0194】
さらなる例では、NMD703aは、ネットワーク111に接続されたデバイスを発見することによって、ライブラリを集めることができる。例えば、NMD703aは、ユニバーサルプラグアンドプレイ(UPnP)またはゼロ構成ネットワーキングなどのデバイスの発見のために構成されたプロトコルに従って、ネットワーク111を介して発見要求を送信することができる。次いで、ネットワーク111にあるデバイスは、発見要求に応答し、デバイス名、識別子、アドレスなどを表すデータを交換して、ネットワーク111を介した通信および制御を促進することができる。NMD703aは、これらの名称を交換されたメッセージから読み出し、それらをキーワードとして認識するようにローカルNLU779の学習を行うことによって、ローカルNLU779のライブラリにそれらを含めることができる。
【0195】
さらなる例では、NMD703aは、クラウドを使用してライブラリに集めることができる。説明すると、
図10は、MPS100およびクラウドネットワーク902の概略図である。クラウドネットワーク902は、メディア再生システム制御サーバ906a、ストリーミングオーディオサービスサーバ906b、およびIoTクラウドサーバ906cとして別々に識別されるクラウドサーバ906を含む。ストリーミングオーディオサービスサーバ906bは、異なるストリーミングオーディオサービスのクラウドサーバを表すことができる。同様に、IoTクラウドサーバ906cは、MPS100のスマートデバイス990をサポートする異なるクラウドサービスに対応するクラウドサーバを表すことができる。
【0196】
1つ以上の通信リンク903a、903b、903c(以下、「リンク903」と称す)は、MPS100とクラウドサーバ906とを通信可能に接続する。リンク903は、1つ以上の有線ネットワークおよび1つ以上の無線ネットワーク(例えば、インターネット)を含むことができる。さらに、ネットワーク111(
図1B)と同様に、ネットワーク911は、リンク903と、MPS100のデバイス(例えば、再生デバイス102、NMD103および703a、制御デバイス104、および/またはスマートデバイス990のうちの1つ以上)の少なくとも一部とを、通信可能に結合する。
【0197】
いくつかの実装形態では、メディア再生システム制御サーバ906aは、ローカルNLU779のライブラリを充足することを、NMD703a(MPS100内のNMD703a(
図7A)のうちの1つ以上を表す)を用いて容易にする。例では、メディア再生システム制御サーバ906aは、ローカルNLU779のライブラリを充足する要求を表すデータを、NMD703aから受信してもよい。この要求に基づいて、メディア再生システム制御サーバ906aは、ユーザに固有のキーワードを取得するために、ストリーミングオーディオサービスサーバ906bおよび/またはIoTクラウドサーバ906cと通信することができる。
【0198】
いくつかの例では、メディア再生システム制御サーバ906aは、ユーザ固有のキーワードを取得するために、ユーザアカウントおよび/またはユーザプロファイルを利用してもよい。上述したように、MPS100のユーザは、ユーザプロファイルを設定して、MPS100内の設定および他の情報を定義することができる。次いで順次、ユーザプロファイルは、1つ以上のストリーミングオーディオサービスのユーザアカウントに登録されて、そのようなサービスからMPS100の再生デバイス102へストリーミングオーディオを容易にすることができる。
【0199】
これらの登録されたストリーミングオーディオサービスの使用を通じて、ストリーミングオーディオサービスサーバ906bは、使用履歴またはユーザの入力のいずれかを介して(例えば、保存されたメディアアイテムまたはお気に入りを指定するユーザの入力を介して)、ユーザの保存されたまたは好みのプレイリスト、アーティスト、アルバム、トラックなどを示すデータを収集することができる。このデータは、ストリーミングオーディオサービスサーバ906bのデータベースに格納されて、カスタムのプレイリスト、推奨、および同様の機能などのストリーミングオーディオサービスの特定の機能をユーザに提供することを容易にすることができる。適切な条件下(例えば、ユーザの許可を受け取った後で)で、ストリーミングオーディオサービスサーバ906bは、リンク903bを介してメディア再生システム制御サーバ906aと、そのデータを共有することができる。
【0200】
したがって、諸実施例において、メディア再生システム制御サーバ906aは、ユーザの保存されたまたは好みのプレイリスト、アーティスト、アルバム、トラック、ジャンルなどを示すデータを維持するか、またはそのデータにアクセスすることができる。ユーザが複数のストリーミングオーディオサービスにユーザプロファイルを登録している場合、保存されているデータは、2つ以上のストリーミングオーディオサービスからの保存されたプレイリスト、アーティスト、アルバム、トラックなどを含むことができる。さらに、メディア再生システム制御サーバ906aは、自身のサービスの使用によって生成されたデータへのアクセスを有するのみのストリーミングオーディオサービスと比較して、複数のストリーミングオーディオサービスからのデータを集約することによって、ユーザの好みのプレイリスト、アーティスト、アルバム、トラックなどのより完全に近い理解へと発展させることができる。
【0201】
さらに、いくつかの実装形態では、ストリーミングオーディオサービスサーバ906bから共有されるデータに加えて、メディア再生システム制御サーバ906aは、ユーザの許可を受信した後に、リンク903aを介してMPS100から使用データを収集することができる。これは、ゾーンに基づいてユーザの保存されたメディアアイテムまたは好みのメディアアイテムを示すデータを含むことができる。異なる部屋では、異なる種類の音楽が好ましい場合がある。例えば、ユーザは、キッチン101hでアップビートな音楽を好み、オフィス101eで集中できるように、より滑らかな音楽を好む場合がある。
【0202】
メディア再生システム制御サーバ906aは、ユーザの保存済みまたは好みのプレイリスト、アーティスト、アルバム、トラックなどを示すデータを使用して、音声入力を介してNMD703aに再生コマンドを提供するときにユーザが参照する可能性が高いプレイリスト、アーティスト、アルバム、トラックなどの名称を、識別することができる。次いで、これらの名称を表すデータをリンク903aおよびネットワーク904を介してNMD703aに送信し、次いでキーワードとしてローカルNLU779のライブラリに追加することができる。例えば、メディア再生システム制御サーバ906aは、NMD703aに命令を送信して、ローカルNLU779のライブラリのキーワードとして、特定の名前を含めることができる。あるいは、NMD703a(またはMPS100の別のデバイス)は、音声入力を介してNMD703aに再生コマンドを提供するときにユーザが参照する可能性が高いプレイリスト、アーティスト、アルバム、トラックなどの名前を識別し、次いでこれらの名前をローカルNLU779のライブラリに含め得る。
【0203】
このようなカスタマイズにより、同様の音声入力は、音声入力がローカルNLU779によって処理される場合、VASによる処理と比較して異なる動作が実行されることになり得る。例えば、「Alexa、オフィスで私のお気に入りを再生して」という第1の音声入力は、VASウェイクワード(「Alexa」)を含んでいるため、VASウェイクワードイベントをトリガすることができる。「オフィスで私のお気に入りを再生して」という第2の音声入力は、コマンドキーワード(「再生」)を含むので、コマンドキーワードをトリガすることができる。したがって、第1の音声入力はNMD703aによってVASに送信され、対して第2の音声入力はローカルNLU779によって処理される。
【0204】
これらの音声入力はほぼ同一であるが、異なる操作を引き起こし得る。特に、VASは、その能力の限りにおいて、オフィス101eの再生デバイス102fのキューに追加するオーディオトラックの第1のプレイリストを決定し得る。同様に、ローカルNLU779は、第2の音声入力におけるキーワード「お気に入り」および「キッチン」を認識し得る。これにより、NMD703aは、<favorites playlist>と<kitchen 101h zone>のパラメータで「再生」の音声コマンドを実行し、これにより、オーディオトラックの第2のプレイリストがオフィス101eの再生デバイス102fのキューに追加される。しかしながら、オーディオトラックの第2のプレイリストは、複数のストリーミングオーディオサービスからのユーザの保存されたまたは好ましいプレイリスト、アーティスト、アルバム、およびトラックを示すデータ、および/またはメディア再生システム制御サーバ906aによって収集された使用データを描画することができるため、オーディオトラックの第2のプレイリストは、ユーザのお気に入りのオーディオトラックのより完全に近いおよび/またはより正確な収集を含むことができる。対照的に、VASは、第1のプレイリストを決定するときに、ユーザの保存されたまたは好ましいプレイリスト、アーティスト、アルバム、およびトラックのその比較的限定された概念を利用することができる。
【0205】
説明すると、
図11は、同様の音声入力に基づいて決定されるが、異なる処理がなされる第1および第2のプレイリストのそれぞれのコンテンツを示す表1100を示す。特に、第1のプレイリストはVASによって決定され、一方、第2のプレイリストは、NMD703aによって(おそらくはメディア再生システム制御サーバ906aと連携して)決定される。図示のように、両方のプレイリストはユーザのお気に入りを含むことを意図しているが、2つのプレイリストは、異なるアーティストおよびジャンルからのオーディオコンテンツを含む。特に、第2のプレイリストは、オフィス101eの再生デバイス102fの使用と、複数のストリーミングオーディオサービスとのユーザの対話とに従って構成され、第1のプレイリストは、VASとの複数のユーザの対話に基づく。結果として、第2のプレイリストは、ユーザがオフィス101eで聴くことを好む音楽のタイプ(例えば、インディーロックおよびフォーク)に一層適合され、一方、第1のプレイリストは、全体としてのVASとの対話を一層代表的に表す。
【0206】
家庭は、複数のユーザを含むことができる。2人以上のユーザは、MPS100を用いて自分達自身のそれぞれのユーザプロファイルを構成することができる。各ユーザプロファイルは、それぞれのユーザプロファイルに関連付けられた1つ以上のストリーミングオーディオサービスの独自のユーザアカウントを有することができる。さらに、メディア再生システム制御サーバ906aは、各ユーザの保存されたまたは好みのプレイリスト、アーティスト、アルバム、トラック、ジャンルなどを示すデータを維持するかまたはそのデータにアクセスすることができ、このデータは、そのユーザのユーザプロファイルに関連付けられ得る。
【0207】
様々な例において、ユーザプロファイルに対応する名前は、ローカルNLU779のライブラリに集められる。これは、特定のユーザの保存されたまたは好ましいプレイリスト、アーティスト、アルバム、トラック、またはジャンルの参照を容易にすることができる。例えば、「パティオでアンのお気に入りを再生して」という音声入力がローカルNLU779によって処理されると、ローカルNLU779は、「アン」が特定のユーザに対応する格納されたキーワードと一致すると判定し得る。次いで、その音声入力に対応する再生コマンドを実行するとき、NMD703aは、その特定のユーザのお気に入りのオーディオトラックのプレイリストをパティオ101iの再生デバイス102cのキューに追加する。
【0208】
場合によっては、音声入力は特定のユーザに対応するキーワードを含まないかもしれないが、複数のユーザプロファイルがMPS100によって構成される。場合によっては、NMD703aは、音声認識を使用してコマンドを実行する際に使用するユーザプロファイルを決定し得る。あるいは、NMD703aは、特定のユーザプロファイルにデフォルト設定してもよい。さらに、NMD703aは、特定のユーザプロファイルを識別しなかった音声入力に対応するコマンドを実行するときに、複数のユーザプロファイルから好みを使用することができる。例えば、NMD703aは、MPS100に登録された各ユーザプロファイルから、好ましいまたは保存されたオーディオトラックを含むお気に入り再生リストを決定することができる。
【0209】
IoTクラウドサーバ906cは、スマートデバイス990にサポートするクラウドサービスを提供するように構成することができる。スマートデバイス990は、ライト、サーモスタット、カメラ、セキュリティシステム、機器などの様々な「スマート」インターネット接続デバイスを含むことができる。例えば、IoTクラウドサーバ906cは、スマートサーモスタットをサポートするクラウドサービスを提供することができ、これにより、ユーザは、スマートフォンのアプリまたはウェブサイトを介して、インターネットによりスマートサーモスタットを制御することができる。
【0210】
したがって、例では、IoTクラウドサーバ906cは、デバイス名、設定、および構成など、ユーザのスマートデバイス990に関連するデータを維持するか、またはそれにアクセスすることができる。適切な条件下(例えば、ユーザの許可を受け取った後で)で、IoTクラウドサーバ906cは、リンク903cを介して、メディア再生システム制御サーバ906aおよび/またはNMD703aと、そのデータを共有することができる。例えば、スマートサーモスタットクラウドサービスを提供するIoTクラウドサーバ906cは、そのようなキーワードを表すデータをNMD703aに提供することができ、これは、温度に対応するキーワードを、ローカルNLU779のライブラリに集めることを促進する。
【0211】
さらに、場合によっては、IoTクラウドサーバ906cはまた、それらの対応するスマートデバイス990の制御に固有のキーワードを提供することもできる。例えば、スマートサーモスタットをサポートするクラウドサービスを提供するIoTクラウドサーバ906cは、他の例の中でも、「気温」、「より暖かい」、または「より涼しい」など、サーモスタットの音声制御に対応するキーワードのセットを提供することができる。このようなキーワードを表すデータは、IoTクラウドサーバ906cからリンク903およびネットワーク904を介して、NMD703aに送信されてもよい。
【0212】
上述したように、一部の家庭は、NMD703aよりも多くを含んでもよい。例示的な実装形態では、2つ以上のNMD703aは、それぞれのローカルNLU779のライブラリを同期または更新することができる。例えば、第1のNMD703aおよび第2のNMD703aは、場合によってはネットワーク(例えば、ネットワーク904)を使用して、それぞれのローカルNLU779のライブラリを表すデータを共有してもよい。このような共有は、他の可能な利点の中でも、NMD703aが音声入力に同様に応答し得ることを促進することができる。
【0213】
いくつかの実施形態では、上記のコンポーネントのうちの1つ以上は、マイクロフォン720と連携して動作して、MPS100のユーザアカウントに関連付けられ得るユーザの音声プロファイルを、検出および格納することができる。いくつかの実施形態では、音声プロファイルは、コマンド情報またはデータテーブルのセットに格納された変数として格納され、および/またはそれらと比較されてもよい。音声プロファイルは、ユーザの音声のトーンまたは周波数の態様、および/またはユーザの他の固有の態様を含むことができ、例えば以前に参照した米国特許出願公開第15/438,749号明細書に記載されているものがある。
【0214】
いくつかの実施形態では、上述したコンポーネントのうちの1つ以上は、マイクロフォン720と連携して動作して、家庭環境でのユーザの位置を、および/またはNMD103のうちの1つ以上の位置を基準として、決定することができる。ユーザの位置または近接性を判定するための技術は、以前に参照した米国特許出願公開第15/438,749号明細書、2011年12月29日に出願された「Sound Field Calibration Using Listener Localization」と題する米国特許第9,084,058号明細書、および2012年8月31日に出願された「Acoustic Optimization」と題する米国特許第8,965,033号明細書に開示されている1つ以上の技術を含むことができる。これらの出願の各々は、その全体が本明細書に参照により組み込まれる。
【0215】
IV.例示的なコマンドキーワード技法
図12は、コマンドキーワードイベントに基づいて第1の再生コマンドを実行するための例示的な方法1200を示すフロー図である。方法1100は、NMD703a(
図7A)の特徴を含むことができるNMD103s(
図1A)などのネットワークマイクロフォンデバイスよって実行することができる。いくつかの実装形態では、NMDは、再生デバイス102r(
図1G)によって示されるように、再生デバイスの中に実装される。
【0216】
方法1200のブロック1202は、(i)ウェイクワードイベントおよび(ii)第1のコマンドキーワードイベントについて入力サウンドデータストリームをモニタ、すなわち監視することを含む。例えば、NMD703aのVASウェイクワードエンジン770aは、サウンドデータストリームS
DSに1つ以上のウェイクワードを識別するアルゴリズムを適用してもよい(
図7A)。さらに、コマンドキーワードエンジン770は、
図7Aに関連して上述したように、おそらくはASR772およびローカルNLU779を使用して、コマンドキーワードについてサウンドデータストリームS
DSをモニタすることができる。
【0217】
方法1200のブロック1204は、ウェイクワードイベントを検出することを含む。ウェイクワードイベントの検出は、NMD703aのVASウェイクワードエンジン770aによって、マイクロフォン720を介して、検出される第1の音であって、ウェイクワードを有する第1の音声入力を含む様な音声を検出することである。VASウェイクワードエンジン770aは、識別アルゴリズムを使用して、第1の音声入力におけるそのようなウェイクワードを検出することができる。
【0218】
方法1200のブロック1206は、第1の音声入力に対応するサウンドデータを音声アシスタントサービスの1つ以上のリモートサーバへストリーミングすることを含む。例えば、音声抽出器773は、サウンドデータストリームS
DS(
図7A)から第1音声入力の少なくとも一部(例えば、ウェイクワード部分および/または音声発話部分)を抽出してもよい。次いで、NMD703は、この抽出されたデータを、ネットワークインターフェース724を介して音声アシスタントサービスの1つ以上のリモートサーバにストリーミングしてもよい。
【0219】
方法1200のブロック1208は、第1のコマンドキーワードイベントを検出することを含む。例えば、第2の音を検出した後、NMD703aのコマンドキーワードエンジン771aは、第2の音における第2の音声入力に対応するサウンドデータストリームSDの第1のコマンドキーワードを検出し得る。他の例も同様に可能である。
【0220】
方法1200のブロック1210は、第1のコマンドキーワードに対応する1つ以上の再生条件が満たされているか否かを判定することを含む。第1のコマンドキーワードに対応する1つ以上の再生条件が満たされているかどうかを判定することは、状態機械の状態を判定することを含むことができる。例えば、NMD703aの状態機械775は、第1のコマンドキーワードに対応する1つ又はそれ以上存在する再生条件が満たされたときに第1状態に移行し、第1のコマンドキーワードに対応する1つ又はそれ以上存在する再生条件のうちの少なくとも1つの条件が満たされていないときに第2の状態に移行し得る(
図7C)。例示的な再生条件を表985(
図9Aおよび
図9B)に示す。
【0221】
方法1200のブロック1212は、第1のコマンドキーワードに対応する第1の再生コマンドを実行することを含む。例えば、NMD703aは、第1のコマンドキーワードイベントを検出し、第1のコマンドキーワードに対応する1つ以上の再生条件が満たされていると判定することに基づいて、第1の再生コマンドを実行してもよい。例において、第1の再生コマンドを実行することは、ターゲット再生デバイスに第1の再生コマンドを実行させるコマンドを実行するための1つ以上の命令を生成することを含むことができる。
【0222】
例において、第1の再生コマンドを実行するための目標となる再生デバイス102は、直接的(明示的)または間接的(暗黙)に定義され得る。例えば、目標となるターゲット再生デバイス102は、(例えば、ゾーンまたはゾーングループ名を参照することによって)1つ以上の再生デバイスの名称に対する音声入力780における参照によって直接的に定義されてもよい。あるいは、音声入力は、1つ以上の再生デバイスの名前へのいかなる参照も含まず、代わりに、NMD703aに関連付けられた再生デバイス102を間接的に参照してもよい。NMD703aに関連付けられた再生デバイス102は、NMD703d(
図1B)を実装する再生デバイス102dによって示されるように、NMD103aを実装する再生デバイス、または、関連付けられるように構成された再生デバイス(例えば、再生デバイス102がNMD703aと同じ部屋またはエリアにある場合)を含むことができる。
【0223】
例において、第1の再生動作を実行することは、1つ以上の命令を、1つ以上のネットワークを介して送信することを含むことができる。例えば、NMD703aは、
図6に示すメッセージ交換と同様に、トランスポート制御(
図10)などの命令を実行するために、ネットワーク903を介して1つ以上の再生デバイス102にローカルに命令を送信することができる。さらに、NMD703aは、リンク903(
図10)を介して再生するためにターゲット再生デバイス102に1つ以上のオーディオトラックをストリーミングするように、ストリーミングオーディオサービスサービス906bに要求を送信することができる。あるいは、命令は、1つ以上のソフトウェアまたはハードウェアコンポーネント(例えば、再生デバイス102の電子機器112)に内部的に(例えば、ローカルバスまたは他の相互接続システムを介して)提供されてもよい。
【0224】
さらに、命令を送信することは、ローカルおよびクラウドベースの動作の両方を含むことができる。例えば、NMD703aは、ネットワーク903を介してローカルにある1つ以上の再生デバイス102に命令を送信し、再生キューに1つ以上のオーディオトラックを追加させることができる。次に、1つ以上の再生デバイス102からストリーミングオーディオサービスサービス906bに要求を送信し、リンク903を介して再生するためにターゲット再生デバイス102に1つ以上のオーディオトラックをストリーミングさせることができる。他の例も同様に可能である。
【0225】
図13は、コマンドキーワードイベントに基づいて、1つ以上のパラメータに応じて第1の再生コマンドを実行する例示的な方法1300を示すフロー図である。方法1100と同様に、方法1300は、NMD703a(
図7A)の特徴と同様の特徴を含むNMD120(
図1A)などのネットワークマイクロフォンデバイスによって実行することができる。いくつかの実装形態では、NMDは、再生デバイス102r(
図1G)によって示されるように、再生デバイスの中に実装される。
【0226】
方法1300のブロック1302は、(i)ウェイクワードイベントおよび(ii)第1のコマンドキーワードイベントについて入力サウンドデータストリームをモニタすることを含む。例えば、NMD703aのVASウェイクワードエンジン770aは、サウンドデータストリームS
DSに1つ以上のウェイクワードを識別するアルゴリズムを適用してもよい(
図7A)。さらに、コマンドキーワードエンジン770は、
図7Aに関連して上述したように、おそらくはASR772およびローカルNLU779を使用して、コマンドキーワードについてサウンドデータストリームS
DSをモニタすることができる。
【0227】
方法1300のブロック1304は、ウェイクワードイベントを検出することを含む。ウェイクワードイベントの検出は、NMD703aのVASウェイクワードエンジン770aによって、マイクロフォン720を介して、検出される第1の音であって、ウェイクワードを有する第1の音声入力を含む様な音声を検出することである。VASウェイクワードエンジン770aは、識別アルゴリズムを使用して、第1の音声入力におけるそのようなウェイクワードを検出することができる。
【0228】
方法1300のブロック1306は、第1の音声入力に対応するサウンドデータを音声アシスタントサービスの1つ以上のリモートサーバへストリーミングすることを含む。例えば、音声抽出器773は、サウンドデータストリームS
DS(
図7A)から第1音声入力の少なくとも一部(例えば、ウェイクワード部分および/または音声発話部分)を抽出してもよい。次いで、NMD703は、この抽出されたデータを、ネットワークインターフェース724を介して音声アシスタントサービスの1つ以上のリモートサーバにストリーミングしてもよい。
【0229】
方法1300のブロック1308は、第1のコマンドキーワードイベントを検出することを含む。例えば、第2の音を検出した後、NMD703aのコマンドキーワードエンジン771aは、第2の音における第2の音声入力に対応するサウンドデータストリームS
D内の第1のコマンドキーワードを検出することができる(
図7A)。さらに、ローカルNLU779は、第2の音声入力が、ローカルNLU779のライブラリに含まれるキーワードの内の少なくとも1つのキーワードを含むことを検出し得る。例えば、ローカルNLU779は、音声入力が、ローカルNLU779のライブラリに含まれるキーワードのいずれかと一致するようなキーワードが含まれるかを判定し得る。ローカルNLU779は、信号S
ASRを分析して音声入力のキーワードをスポットする(すなわち、検出または識別する)ように構成される。
【0230】
方法1300のブロック1310は、少なくとも1つのキーワードに基づいて意図を判定することを含む。例えば、ローカルNLU779は、第2の音声入力における1つ以上のキーワードから意図を判定してもよい。上述したように、ローカルNLU779のライブラリのキーワードは、パラメータに対応する。音声入力のキーワードは、特定のゾーンで特定のオーディオコンテンツを再生するなどの意図を示すことができる。
【0231】
方法1300のブロック1312は、決定された意図に従って第1の再生コマンドを実行することを含む。いくつかの例において、第1の再生コマンドを実行することが、判定された意図にしたがってコマンドを実行するための1つ以上の命令を生成することを含んでもよく、これにより、ターゲット再生デバイスに、音声入力の音声発話部分におけるパラメータによってカスタマイズされた第1の再生コマンドを実行させる。ブロック1212(
図12)に関連して上述したように、第1の再生コマンドを実行するターゲット再生デバイス102は、直接的または間接的に定義され得る。さらに、第1の再生動作を実行することは、1つ以上のネットワークを介して1つ以上の命令を送信することを含んでもよく、または命令を内的に(例えば、デバイスコンポーネントを再生するために)提供することを含んでもよい。
【0232】
図14は、コマンドキーワードに対応するコマンドキーワードイベントに基づいて、1つ以上のパラメータに応じて第1の再生コマンドを実行する例示的な方法1400を示すフロー図である。コマンドキーワードイベントは、特定の条件が満たされたときにのみ生成されてもよい。第1状態は、コマンドキーワードが検出されたときに環境に背景音声が存在しなかったことである。
【0233】
方法1200および1300と同様に、方法1400は、NMD703a(
図7A)の特徴を含むことができるNMD120(
図1A)などのネットワークマイクロフォンデバイスによって実行することができる。いくつかの実装形態では、NMDは、再生デバイス102r(
図1G)によって示されるように、再生デバイスの中に実装される。
【0234】
方法1400のブロック1402は、1つ以上のマイクロフォンを介して音を検出することを含む。例えば、NMD703は、マイクロフォン720(
図7A)を介して音を検出することができる。さらに、NMD703は、検出された音をVCC760の1つ以上のコンポーネントを用いて処理してもよい。
【0235】
方法1400のブロック1404は、(i)検出された音が音声入力を含み、(ii)検出された音が背景音声を除外し、(iii)音声入力がコマンドキーワードを含むと判定することを行う。
【0236】
例えば、検出された音が音声入力を含むかどうかを判定するために、音声活動検出器765は、検出された音を分析して、サウンドデータストリームS
DS(
図7A)における音声活動の存在(または欠如)を判定することができる。さらに、検出された音が背景音声を含まないかどうかを判定するために、ノイズ分類器766は、検出された音に対応するサウンドメタデータを分析し、サウンドメタデータが背景音声に対応する特徴を含むかどうかを判定することができる。
【0237】
さらに、音声入力がコマンドキーワードを含むかどうかを判定するために、コマンドキーワードエンジン771aは、サウンドデータストリームS
DSを解析することができる(
図7A)。特に、ASR772は、サウンドデータストリームS
DSをテキスト(例えば、信号S
ASR)に転記することができ、ローカルNLU779は、コマンドキーワードに一致するワードが転記されたテキスト内にあると判定することができる。他の例では、コマンドキーワードエンジン771aは、サウンドデータストリームS
DS上で1つ以上のキーワード識別アルゴリズムを使用することができる。他の例も同様に可能である。
【0238】
方法1400のブロック1406は、コマンドキーワードに対応する再生機能を実行することを含む。例えば、NMDは、(i)検出された音が音声入力を含む、(ii)検出された音が背景音声を含まない、および(iii)音声入力がコマンドキーワードを含む、という判定に基づいて、再生機能を実行することができる。
図12および
図13のブロック1212および1312はそれぞれ、再生機能を実行する例を提供する。
【0239】
【0240】
図15Aは、NMDのウェイクワードエンジンが3つのコマンドキーワード(「再生」、「停止」、「再開」)を検出するように構成される第1のシナリオを示す。この場合、ローカルNLUは無効化される。このシナリオでは、ユーザがNMDに音声入力の「再生」を語り、それにより、コマンドキーワードのうちの1つ(例えば、再生に対応するコマンドキーワードイベント)の新たな認識がトリガされる。
【0241】
さらに、音声活動検出器(VAD)およびノイズ分類器は、音声入力の事象前部分の150個のフレームを分析している。図示されるように、VADは、150個の事象前フレームのうちの140個のフレームにおいて音声を検出しており、これは、検出された音に音声入力が存在し得ることを示している。さらに、ノイズ分類器は、11個のフレームに周囲ノイズ、127個のフレームに背景音声、および12個フレームにファンノイズを検出している。このNMDでは、ノイズ分類器は、各フレームにおいて支配的なノイズの源を分類している。これは、背景音声が存在していることを示す。その結果、NMDは、検出されたコマンドキーワードの「再生」をトリガしないと判定している。
【0242】
図15Bは、NMDのウェイクワードエンジンがコマンドキーワード(「再生する」)ならびにそのコマンドキーワードの2つの同族(「何かを再生する」および「曲を再生して」)を検出するように構成されている第2のシナリオを示す。ここでもローカルNLUは無効化される。この第2のシナリオでは、ユーザがNMDに音声入力として「何かを再生して」を語り、それにより、コマンドキーワードのうちの1つの新たな認識がトリガされる。
【0243】
さらに、音声活動検出器(VAD)およびノイズ分類器は、音声入力の事象前部分の150個のフレームを分析している。図示されるように、VADは、150個の事象前フレームのうちの87個のフレームにおいて音声を検出しており、これは、検出された音に音声入力が存在し得ることを示している。さらに、ノイズ分類器は、18個のフレームに周囲ノイズ、8個のフレームに背景音声、および124個のフレームにファンノイズを検出している。これは、背景音声が存在しないことを示す。上記を考慮して、NMDは、検出されたコマンドキーワード「再生」をトリガすることを判定する。
【0244】
図15Cは、NMDのウェイクワードエンジンが3つのコマンドキーワード(「再生」、「停止」、「再開」)を検出するように構成される第3のシナリオを示す。ローカルNLUは有効にされる。この第3のシナリオでは、ユーザは「キッチンでビートルズの曲を再生して」という音声入力をNMDに語っており、これによりコマンドキーワードのうちの1つ(例えば、再生に対応するコマンドキーワードイベント)の新しい認識がトリガされる。
【0245】
図示のように、ASRは音声入力を「キッチンでビートルズの曲を再生して」と転写している。ASRを実行する際に何らかのエラー(例えば、「ビートルズ(beet les)」)が予想される。ここで、ローカルNLUは、「ビートルズ(beet les)」というキーワードを、ローカルNLUライブラリ内の「ビートルズ(The Beatles)」と一致させている。ローカルNLUライブラリでは、このアーティストを再生コマンドに対するコンテンツパラメータとして設定している。さらに、ローカルNLUはまた、キーワード「kitchen」をローカルNLUライブラリ内の「kitchen」に一致させており、これは、再生コマンドに対するターゲットパラメータとしてキッチンゾーンを設定する。ローカルNLUは、意図の判定に対して、0.63428231948273443という信頼度スコアを生成した。
【0246】
ここでも同様に、音声活動検出器(VAD)およびノイズ分類器は、音声入力の事象前部分の150個のフレームを分析している。図示のように、ノイズ分類器は、142個のフレームに周囲ノイズ、8個のフレームに背景音声、および0個のフレームにファンノイズを検出している。これは、背景音声が存在しないことを示す。VADは、150個の事象前フレームのうちの112個のフレームにおいて音声を検出しており、これは、音声入力が検出された音に存在し得ることを示している。ここで、NMDは、検出されたコマンドキーワード「再生」をトリガすることを判定する。
【0247】
さらに、音声活動検出器(VAD)およびノイズ分類器は、音声入力の事象前部分の150個のフレームを分析している。図示されるように、VADは、150個の事象前フレームのうちの140個のフレームにおいて音声を検出しており、これは、音声入力が検出された音に存在し得ることを示している。さらに、ノイズ分類器は、11個のフレームに周囲ノイズ、127個のフレームに背景音声、および12個のフレームにファンノイズを検出した。これは、背景音声が存在していることを示す。その結果、NMDは、検出されたコマンドキーワードの「再生」をトリガしないと判定している。
【0248】
図15Dは、NMDのキーワードエンジンがいずれのコマンドキーワードをスポットするようにも構成されていない第4のシナリオを示す。むしろ、キーワードエンジンはASRを実行し、ASRの出力をローカルNLUに渡す。ローカルNLUは有効にされ、コマンドおよびパラメータの両方に対応するキーワードを検出するように構成される。第4のシナリオでは、ユーザが「オフィスで何かの音楽を再生して」という音声入力をNMDに語っている。
【0249】
図示のように、ASRは音声入力を「オフィスに何かの音楽をかけて」と転写している。ここで、ローカルNLUは、再生コマンドに対応するローカルNLUライブラリのキーワード「かける」を「再生」に一致させている。さらに、ローカルNLUはまた、キーワード「オフィス」を、再生コマンドに対するターゲットパラメータとしてオフィスゾーンを設定するローカルNLUライブラリ内の「オフィス」に一致させている。ローカルNLUは、キーワードマッチングに対して、0.14620494842529297という信頼度スコアを生成した。いくつかの例では、この低い信頼度スコアにより、NMDは音声入力を受け付けなくなる(例えば、この信頼度スコアが5などの閾値を下回る場合)。
【0250】
結論
以上の説明では、とりわけ、ハードウェア上で実行されるファームウェアおよび/またはソフトウェアを含む、さまざまな例示的なシステム、方法、装置、および製造品を開示した。上記の説明は単なる例示であり、限定的なものと解されるべきではない。例えば、ファームウェア、ハードウェア、および/またはソフトウェアの側面またはコンポーネントのいずれかまたはすべてが、ハードウェアのみ、ソフトウェアのみ、ファームウェアのみ、またはハードウェア、ソフトウェア、および/またはファームウェアの任意の組み合わせで具現化できることが企図されている。したがって、これらの例は、そのようなシステム、方法、装置、および製造品を実装する唯一の方法ではない。
【0251】
ここでの説明は、例示的な環境、システム、手順、ステップ、論理ブロック、処理、についてなされており、更に他の象徴的に表されたものであって、ネットワークに接続されたデータ処理装置の動作に直接または間接的に類似したものについてなされている。このようなプロセスの説明や表現は、当業者が自分の仕事の本質を最も効果的に他の当業者に伝えるために使用される。ここでの説明を十分に理解できるために、多数の具体的な内容を記載している。しかし、ここで説明した特定の実施形態は、特定の具体的な詳細がなくても実施できることが当業者には理解される。他の例では、よく知られている方法、手順、コンポーネント、および回路は、実施形態の側面を不必要に不明瞭にすることを避けるため、詳細な説明は省略されている。したがって、本開示の範囲は、上述の実施形態の説明ではなく、添付の特許請求の範囲によって特定される。
【0252】
添付の特許請求の範囲のいずれかが純粋にソフトウェアおよび/またはファームウェアの実装をカバーするように読まれる場合、少なくとも1つの例における要素の少なくとも1つは、ソフトウェアおよび/またはファームウェアを格納する、メモリ、DVD、CD、Blu-ray(登録商標)などの有形の非一過性媒体を含むように、ここで明示的に定義される。
【0253】
本技術は、例えば、以下に説明する様々な側面に従って説明される。本技術の側面の様々な例は、便宜上、番号付きの例(1、2、3など)として説明される。これらは例示であり、本技術を制限するものではない。従属的な例のいずれも、任意の組み合わせで、それぞれの独立した例の中に入れることができる。他の例も同様の方法で示すことができる。
【0254】
実施例1:ネットワークインターフェースと、音を検出するように構成された少なくとも1つのマイクロフォンとを備える再生デバイスによって実行される方法であって、方法は、(i)ウェイクワードイベント、および(ii)第1のコマンドキーワードイベントについて、少なくとも1つのマイクロフォンによって検出された音を表す入力サウンドデータストリームを監視すること;ウェイクワードイベントを検出することであって、ウェイクワードイベントを検出することが、1つ以上のマイクロフォンを介して第1の音を検出した後に、検出された第1の音がウェイクワードを含む第1の音声入力を含むと判定することを含む、検出すること;ネットワークインターフェースを介して、第1の音声入力の少なくとも一部に対応するサウンドデータを、音声アシスタントサービスの1つ以上のリモートサーバにストリーミングすること;第1のコマンドキーワードイベントを検出することであって、第1のコマンドキーワードイベントを検出することが、1つ以上のマイクロフォンを介して第2の音を検出した後、検出された第2の音が第1のコマンドキーワードを含む第2の音声入力を含むと判定することを含み、第1のコマンドキーワードは、再生デバイスによってサポートされる複数のコマンドキーワードのうちの1つである、検出すること;第1のコマンドキーワードに対応する1つ以上の再生条件が満たされていると判定すること;および第1のコマンドキーワードイベントを検出し、第1のコマンドキーワードに対応する1つ以上の再生条件が満たされていると判定したことに応答して、第1のコマンドキーワードに対応する第1の再生コマンドを実行することを含む、方法。
【0255】
実施例2:第1のコマンドキーワードイベントを検出した後で、後続の第1のコマンドキーワードイベントを検出することであって、後続の第1のコマンドキーワードイベントを検出することが、少なくとも1つのマイクロフォンを介して第3の音を検出した後で、第3の音が第1のコマンドキーワードを含む第3の音声入力を含むと判定することを含む、検出すること;第1のコマンドキーワードに対応する1つ以上の再生条件のうちの少なくとも1つの再生条件が満たされていないと判定すること;および少なくとも1つの再生条件が満たされないと判定したことに応答して、第1のコマンドキーワードに対応する第1の再生コマンドの実行を取り止めることをさらに含む、実施例1に記載の方法。
【0256】
実施例3:第2のコマンドキーワードイベントを検出することであって、第2のコマンドキーワードイベントを検出することは、少なくとも1つのマイクロフォンを介して第3の音を検出した後で、第3の音が、検出された第3の音の第2のコマンドキーワードを含む第3の音声入力を含むと判定することを含む、検出すること;第2のコマンドキーワードに対応する1つ以上の再生条件が満たされていると判定すること;および第2のコマンドキーワードイベントを検出し、第2のコマンドキーワードに対応する1つ以上の再生条件が満たされていると判定したことに応答して、第2のコマンドキーワードに対応する第2の再生コマンドを実行することをさらに含む、実施例1および2のいずれかに記載の方法。
【0257】
実施例4:第2のコマンドキーワードに対応する1つ以上の再生条件のうちの少なくとも1つの再生条件は、第1のコマンドキーワードに対応する1つ以上の再生条件のうちの再生条件ではない、実施例3に記載の方法。
【0258】
実施例5:第1のコマンドキーワードはスキップコマンドであり、第1のコマンドキーワードに対応する1つ以上の再生条件は、(i)メディアアイテムが再生デバイスで再生されているという第1状態、(ii)再生デバイスでキューがアクティブであるという第2状態、および(iii)キューは、再生デバイスで再生されているメディアアイテムに後続するメディアアイテムを含むという第3状態を含み、第1のコマンドキーワードに対応する第1の再生コマンドを実行することは、再生デバイスで再生されているメディアアイテムに続いてメディアアイテムを再生するためにキュー内で順方向にスキップすることを含む、実施例1から4のいずれかに記載の方法。
【0259】
実施例6:第1のコマンドキーワードは一時停止コマンドであり、第1のコマンドキーワードに対応する1つ以上の再生条件は、オーディオコンテンツが再生デバイスで再生されているという条件を含み、第1のコマンドキーワードに対応する第1の再生コマンドを実行することは、再生デバイスでのオーディオコンテンツの再生を一時停止することを含む、実施例1から4のいずれかに記載の方法。
【0260】
実施例7:第1のコマンドキーワードは音量増加コマンドであり、第1のコマンドキーワードに対応する1つ以上の再生条件は、オーディオコンテンツが再生デバイスで再生されているという条件と、再生デバイスの音量レベルが最大音量レベルではないという第2状態とを含み、第1のコマンドキーワードに対応する第1の再生コマンドを実行することは、再生デバイスでの音量レベルを増加させることを含む、実施例1から4のいずれかに記載の方法。
【0261】
実施例8:第1のコマンドキーワードに対応する1つ以上の再生条件は、検出された第1の音に背景音声がないという第1状態を含む、実施例1から8のいずれかに記載の方法。
【0262】
実施例9:実施例1から8のいずれか1つに記載の方法を再生デバイスに実行させるために1つ以上のプロセッサによって実行可能な命令を格納した、有形の非一時的コンピュータ可読媒体。
【0263】
実施例10:再生デバイスであって、スピーカ、ネットワークインターフェース、音を検出するように構成された1つ以上のマイクロフォン、1つ以上のプロセッサ、および1つ以上のプロセッサによって実行可能な命令が格納され、再生デバイスに実施例1から8のいずれかに記載の方法を実行させる有形、無形のコンピュータ可読媒体を含む、再生デバイス。
【0264】
実施例11:ネットワークインターフェースと、音を検出するように構成された少なくとも1つのマイクロフォンとを備える再生デバイスによって実行される方法であって、方法は、(i)ウェイクワードイベント、および(ii)第1のコマンドキーワードイベントについて、少なくとも1つのマイクロフォンによって検出された音を表す入力サウンドデータストリームを監視すること;ウェイクワードイベントを検出することであって、ウェイクワードイベントを検出することが、1つ以上のマイクロフォンを介して第1の音を検出した後に、検出された第1の音がウェイクワードを含む第1の音声入力を含むと判定することを含む、検出すること;ネットワークインターフェースを介して、第1の音声入力の少なくとも一部に対応するサウンドデータを、音声アシスタントサービスの1つ以上のリモートサーバにストリーミングすること;第1のコマンドキーワードイベントを検出することであって、第1のコマンドキーワードイベントを検出することが、1つ以上のマイクロフォンを介して第2の音声を検出した後、検出された第2の音声が第1のコマンドキーワードと少なくとも1つのキーワードを含む第2の音声入力を含むと判定することを含み、第1のコマンドキーワードは、再生デバイスによってサポートされる複数のコマンドキーワードのうちの1つであり、第1のコマンドキーワードは、第1の再生コマンドに対応する、検出すること;ローカル自然言語ユニット(NLU)を介して、少なくとも1つのキーワードに基づく意図を決定することであって、NLUは、少なくとも1つのキーワードを含む事前に決定されたキーワードのライブラリを含む、決定すること;および(a)第1のコマンドキーワードイベントを検出し、(b)意図を決定した後、決定された意図に従って第1の再生コマンドを実行することを含む、方法。
【0265】
実施例12:第2のコマンドキーワードイベントを検出することであって、第2のコマンドキーワードイベントを検出することは、少なくとも1つのマイクロフォンを介して第3の音を検出した後に、第3の音が第2のコマンドキーワードを含む第3の音声入力を含むと判定することを含む、検出すること;第2のコマンドキーワードを含む第3の音声入力が、所定のキーワードのライブラリからの少なくとも1つの他のキーワードを含まないと判定すること;および第2のコマンドキーワードを含む第3の音声入力が所定のキーワードのライブラリからの少なくとも1つのキーワードを含まないと判定した後に、音声アシスタントサービスの1つ以上のリモートサーバによる処理のために、第2のコマンドキーワードを含む音声入力の少なくとも一部を表すサウンドデータを音声アシスタントサービスの1つ以上のサーバにストリーミングすることをさらに含む、実施例11に記載の方法。
【0266】
実施例13:第2コマンドキーワードを処理するために音声アシスタントサービスを呼び出すための確認を要求する音声プロンプトを再生すること;および音声プロンプトを再生した後に、第2のコマンドキーワードを処理するために音声アシスタントサービスを呼び出すための確認を表すデータを受信することであって、第2のコマンドキーワードを含む音声入力の少なくとも一部を表すサウンドデータを音声アシスタントサービスの1つ以上のサーバにストリーミングすることは、音声アシスタントサービスを呼び出すための確認を表すデータを受信した後にのみ行われる、受診すること、をさらに含む、実施例12に記載の方法。
【0267】
実施例14:第2のコマンドキーワードイベントを検出することであって、第2のコマンドキーワードイベントを検出することは、少なくとも1つのマイクロフォンを介して第3の音を検出した後に、第3の音が第2のコマンドキーワードを含む第3の音声入力を含むと判定することを含む、検出すること;第2のコマンドキーワードを含む第3の音声入力が、所定のキーワードのライブラリからの少なくとも1つの他のキーワードを含まないと判定すること;および第2のコマンドキーワードを含む第3の音声入力が所定のキーワードのライブラリからの少なくとも1つのキーワードを含まないと判定した後に、1つ以上のデフォルトのパラメータに従って第1の再生コマンドを実行することをさらに含む、実施例10から13のいずれかに記載の方法。
【0268】
実施例15:検出された第2の音における少なくとも1つのキーワードのうちの第1のキーワードは、メディア再生システムの第1のゾーンに対応するゾーン名を表し、決定された意図に従って第1の再生コマンドを実行することは、第1のゾーンにおいて第1の再生コマンドを実行するための1つ以上の命令を送信することを含み、メディア再生システムは、再生デバイスを含む、実施例10から14のいずれかに記載の方法。
【0269】
実施例16:メディア再生システム内のそれぞれのゾーンに対応するゾーン名を有する所定のキーワードのライブラリをポピュレートすることであって、各ゾーンが1つ以上のそれぞれの再生デバイスを備える、ポピュレートすることをさらに含み、所定のキーワードのライブラリは、メディア再生システムの第1のゾーンに対応するゾーン名がポピュレートされる、実施例10から15のいずれかに記載の方法。
【0270】
実施例17:ネットワークインターフェースを介して、ローカルエリアネットワークに接続されたスマートホームデバイスを発見すること、およびローカルエリアネットワークで発見されたそれぞれのスマートホームデバイスに対応する名前で所定のキーワードのライブラリをポピュレートすることをさらに含む、実施例10から16のいずれかに記載の方法。
【0271】
実施例18:メディア再生システムが再生デバイスを備え、メディア再生システムが1つ以上のユーザプロファイルに登録され、機能が、1つ以上のユーザプロファイルによってお気に入りとして指定されたプレイリストに対応する名前を有する所定のキーワードのライブラリをポピュレートすることをさらに含む、実施例10から17のいずれかに記載の方法。
【0272】
実施例19:1つ以上のユーザプロファイルのうちの第1のユーザプロファイルは、第1のストリーミングオーディオサービスのユーザアカウントおよび第2のストリーミングオーディオサービスのユーザアカウントに関連付けられており、プレイリストは、第1のストリーミングオーディオサービスのユーザアカウントによってお気に入りとして指定された第1のストリーミングオーディオサービスの第1のプレイリストと、第1のストリーミングオーディオサービスおよび第2のストリーミングオーディオサービスからのオーディオトラックを含む第2のプレイリストとを含む、実施例18に記載の方法。
【0273】
実施例20:第1のコマンドキーワードを検出することが、第1のコマンドキーワードに対応する1つ以上の再生条件が満たされていると判定することをさらに含む、実施例10から16のいずれかに記載の方法。
【0274】
実施例21:第1のコマンドキーワードに対応する1つ以上の再生条件は、検出された第1の音に背景音声がないという第1状態を含む、実施例20に記載の方法。
【0275】
実施例22:実施例10から21のいずれか1つに記載の方法を再生デバイスに実行させるために1つ以上のプロセッサによって実行可能な命令を格納した、有形の非一時的コンピュータ可読媒体。
【0276】
実施例23:再生デバイスであって、スピーカ、ネットワークインターフェース、音を検出するように構成された1つ以上のマイクロフォン、1つ以上のプロセッサ、および1つ以上のプロセッサによって実行可能な命令が格納され、再生デバイスに実施例10から21のいずれかに記載の方法を実行させる有形、無形のコンピュータ可読媒体を含む、再生デバイス。
【0277】
実施例24:ネットワークインターフェースと、音を検出するように構成された少なくとも1つのマイクロフォンとを備える再生デバイスによって実行される方法であって、方法が、1つ以上のマイクロフォンを介して音を検出すること;(i)検出された音が音声入力を含み、(ii)検出された音が背景音声を含まず、(iii)音声入力がコマンドキーワードを含むと判定すること;および(i)検出された音が音声入力を含み、(ii)検出された音が背景音声を除外し、(iii)音声入力がコマンドキーワードを含むと判定したことに応答して、コマンドキーワードに対応する再生機能を実行することを含む、方法。
【0278】
実施例25:検出された音が第1の検出された音であり、方法が、少なくとも1つのマイクロフォンを介して第2の音を検出すること、検出された第2の音がウェイクワードを含むと判定すること;および検出された第2の音がウェイクワードを含むと判定した後、再生デバイスのネットワークインターフェースを介して、音声アシスタントサービスの1つ以上のリモートサーバに、検出された第2の音における音声入力をストリーミングすることをさらに含む、実施例24に記載の方法。
【0279】
実施例26:検出された第2の音に背景音声がないと判定することが、検出された音に対応するサウンドメタデータを決定すること;およびサウンドメタデータを分析して、複数のサインから選択された1つ以上の特定のサインに従って検出された音を分類することであって、複数のサインの各サインはノイズ源に関連付けられ、複数のサインのうちのサインの少なくとも1つは背景音声を示す背景音声サインである、分類すること、を含む、実施例24および実施例25のいずれかに記載の方法。
【0280】
実施例27:サウンドメタデータを分析することが、検出された音に関連するフレームを、背景の音声シグナチャ以外の特定の音声シグナチャを有するものとして分類すること;および背景の音声シグナチャで分類されたフレームがあれば、背景の音声シグナチャ以外のシグナチャで分類されたフレームの数と比較すること、を含む、実施例26に記載の方法。
【0281】
実施例28:検出された音に音声入力があると判定することが、検出された音の音声活動を検出することを含む、実施例24および実施例25のいずれか1つに記載の方法。
【0282】
実施例29:検出された音における音声活動を検出することが、検出された音に関連付けられた第1のフレームの数を音声を含むものとして判定すること;および第1のフレームの数を、(a)検出された音に関連し、(b)音声を示さない第2のフレームの数と比較すること、を含む、実施例28に記載の方法。
【0283】
実施例30:第1のフレームは、近距離音声活動に応答して生成された1つ以上のフレームと、遠距離音声活動に応答して生成された1つ以上のフレームとを含む、実施例29に記載の方法。
【0284】
実施例31:実施例24から30のいずれか1つに記載の方法を再生デバイスに実行させるために1つ以上のプロセッサによって実行可能な命令を格納した、有形の非一時的コンピュータ可読媒体。
【0285】
実施例32:再生デバイスであって、音を検出するように構成された1つ以上のマイクロフォン、1つ以上のプロセッサ、および1つ以上のプロセッサによって実行可能な命令が格納され、再生デバイスに実施例24から30のいずれかに記載の方法を実行させる有形、無形のコンピュータ可読媒体を含む、再生デバイス。