(57)【要約】  一般的に、本開示に記載された主題は、参照歌曲を表示するための方法、システムおよびプログラム製品に具体化することができる。コンピューティング装置は、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納する。コンピューティング装置は、マイクロフォンによって記録された音声を表すデジタル音声データを受信し、デジタル音声データを時間領域形式から周波数領域形式に変換し、周波数領域形式のデジタル音声データを音楽特徴決定プロセスに使用する。デジタル音声データの特徴値が特定の参照歌曲の特徴値に最も関連しているという判断に応答して、コンピューティング装置は、特定の参照歌曲を示す表記を出力する。
2020537198.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実施される方法であって、
コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することと、
前記コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することと、
前記コンピューティング装置を用いて、音楽判断プロセスに従って、前記デジタル音声データが音楽を表すか否かを判断することと、
前記デジタル音声データが音楽を表すことを判断した後、前記コンピューティング装置を用いて、前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識することと、
前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すという判断に応答して、前記コンピューティング装置を用いて、前記特定の参照歌曲を示す表記を出力することとを含む、コンピュータによって実施される方法。
【請求項２】
前記複数の参照歌曲は、少なくとも１万曲の参照歌曲を含み、
前記参照歌曲特徴データは、前記少なくとも１万曲の参照歌曲の音声特徴を識別する、請求項１に記載のコンピュータによって実施される方法。
【請求項３】
前記複数の参照歌曲の中の前記参照歌曲の参照歌曲特徴値は、各特徴値が二進値１または二進値０に限定されるように、二進値１または二進値０に限定される、請求項１または２に記載のコンピュータによって実施される方法。
【請求項４】
前記デジタル音声データが音楽を表すか否かを判断することは、
前記デジタル音声データを時間領域形式から周波数領域形式に変換することと、
前記周波数領域形式の前記デジタル音声データを前記音楽判断プロセスに使用することと、
前記デジタル音声データが音楽を表すという表記を出力することとを含む、請求項１から３のいずれか一項に記載のコンピュータによって実施される方法。
【請求項５】
前記音楽判断プロセスは、音声が音楽を表すか否かを判断するように訓練された機械学習システムを実行することを含む、請求項４に記載のコンピュータによって実施される方法。
【請求項６】
前記コンピューティング装置は、前記複数の参照歌曲の中の各参照歌曲の前記複数の音声特徴を識別するための前記参照歌曲特徴データにアクセスすることなく、前記デジタル音声データが音楽を表すか否かを判断する、請求項１から５のいずれか一項に記載のコンピュータによって実施される方法。
【請求項７】
前記デジタル音声データが音楽を表すか否かを判断することは、前記デジタル音声データが音楽を表すことを判断する前に、前記コンピューティング装置を用いて、前記音楽判断プロセスを開始するためのユーザ入力を受信することなく、前記デジタル音声データが音楽を表さないことを複数回判断することを含む、請求項１から６のいずれか一項に記載のコンピュータによって実施される方法。
【請求項８】
前記周波数領域形式は、第１周波数領域形式であり、
前記周波数領域変換プロセスは、第１周波数領域変換プロセスであり、
前記デジタル音声データが前記特定の参照歌曲を表すことを認識することは、
（ｉ）第２周波数領域変換プロセスにおいて、前記デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、
（ｉｉ）前記第２周波数領域形式の前記デジタル音声データを受信し、前記デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスにおいて、前記第２周波数領域形式の前記デジタル音声データを使用することと、
（ｉｉｉ）前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することによって、前記特定の参照歌曲の前記複数の特徴値が前記デジタル音声データの前記複数の特徴値に最も関連していると判断することとを含む、請求項４から７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項９】
前記第２周波数領域形式および前記第１周波数領域形式は、異なる数の周波数ビンを解析する、請求項８に記載のコンピュータによって実施される方法。
【請求項１０】
前記音楽特徴決定プロセスは、音楽の特徴を決定するように訓練された機械学習システムによって実行される、請求項８または９に記載のコンピュータによって実施される方法。
【請求項１１】
前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することは、別のコンピューティング装置に歌曲特徴データを要求するためのリクエストを送信することなく、前記コンピューティング装置によって格納された前記複数の参照歌曲の前記少なくとも一部の歌曲の中の各歌曲の前記複数の特徴値にアクセスすることによって実行される、請求項８から１０のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１２】
前記コンピューティング装置は、前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の前記一部の歌曲の中の各歌曲の前記複数の特徴値のみと比較し、
前記方法は、
前記デジタル音声データの前記複数の特徴値の中の特徴値を、前記複数の候補歌曲の中の各歌曲の前記複数の特徴値と比較することによって、前記複数の参照歌曲の前記一部の歌曲を選択することをさらに含む、請求項８から１１のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１３】
前記デジタル音声データの前記複数の特徴値の中の特徴値を、二進値０および１に限定されない値から二進値０および１に限定された値に変換することをさらに含み、
前記デジタル音声データの前記複数の特徴値の中の特徴値を、前記複数の候補歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１に限定された前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項８から１２のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１４】
前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１以外の値を表す実数を含む前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の前記少なくとも一部の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項８から１３のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１５】
前記デジタル音声データが音楽を表すか否かを判断することは、前記コンピューティング装置の第１プロセッサによって実行され、
前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識することは、前記コンピューティング装置の第２プロセッサによって実行される、請求項１から１３のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１６】
前記第１プロセッサは、前記第２プロセッサよりも低い電圧で動作する、請求項１５に記載のコンピュータによって実施される方法。
【請求項１７】
前記第２プロセッサは、前記第１プロセッサが動作するクロック信号よりも少なくとも一桁速いクロック信号で動作する、請求項１５に記載のコンピュータによって実施される方法。
【請求項１８】
前記特定の参照歌曲が再生されていることを示す表記を出力することは、ユーザ入力によって歌曲識別プロセスを実行するように前記コンピューティング装置を促すことなく、連続した歌曲識別プロセスを有効にすることによって、前記コンピューティング装置のロック画面、前記コンピューティング装置の常時オン画面、または前記コンピューティング装置のロック解除画面に表示された通知に、前記特定の参照歌曲の名前を提示することを含む、請求項１から１７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１９】
前記コンピューティング装置は、前記マイクロフォンを含む、請求項１から１７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項２０】
コンピュータシステムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されると、以下の動作を実行させる命令を含む１つ以上のコンピュータ可読装置とを含み、
前記動作は、
前記コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することと、
前記コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することと、
前記コンピューティング装置を用いて、音楽判断プロセスに従って、前記デジタル音声データが音楽を表すか否かを判断することと、
前記デジタル音声データが音楽を表すことを判断した後、前記コンピューティング装置を用いて、前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識することと、
前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すという判断に応答して、前記コンピューティング装置を用いて、前記特定の参照歌曲を示す表記を出力することとを含む、コンピュータシステム。
【請求項２１】
コンピューティングシステムであって、
音声信号を記録するように構成されたマイクロフォンと、
記録された音声信号からデジタル音声データを生成するように構成されたアナログ−デジタルコンバータと、
（ｉ）複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データと、（ｉｉ）プロセッサによって実行可能であり、前記プロセッサの動作を設定するための命令とを格納する１つ以上のコンピュータ可読メモリ装置と、
前記デジタル音声データが音楽を表すと判断した場合、前記デジタル音声データが音楽を表すことを示す表記を出力するように構成された第１プロセッサと、
前記第１プロセッサから前記デジタル音声データが音楽を表すことを示す前記表記を受信し、前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識するように構成された第２プロセッサと、
前記第２プロセッサによって、前記デジタル音声データが前記複数の参照歌曲の中の前記特定の参照歌曲を表すことを認識したことに応答して、前記特定の参照歌曲の識別子を提示するように構成された表示装置とを含む、コンピューティングシステム。
【請求項２２】
前記コンピューティングシステムは、モバイルコンピューティング装置を含み、
前記モバイルコンピューティング装置は、前記マイクロフォンと、前記アナログデジタルコンバータと、前記１つ以上のコンピュータ可読メモリ装置と、前記第１プロセッサと、前記第２プロセッサとを備える、請求項２１に記載のコンピューティングシステム。
【請求項２３】
前記第１プロセッサは、前記第２プロセッサよりも低い電圧で動作する、請求項２１または２２に記載のコンピューティングシステム。
【請求項２４】
前記第２プロセッサは、前記第１プロセッサが動作するクロック信号より少なくとも一桁速いクロック信号で動作する、請求項２１から２３のいずれか一項に記載のコンピューティングシステム。
【請求項２５】
前記第１プロセッサは、前記デジタル音声データが音楽を表すことを示す表記を出力するように構成され、
前記第２プロセッサは、前記コンピューティング装置が前記デジタル音声データを前記コンピューティング装置以外のコンピューティングシステムに送信することなく、前記デジタル音声データが前記特定の参照歌曲を表すことを認識するように構成される、請求項２２から２４のいずれか一項に記載のコンピューティングシステム。
【請求項２６】
前記第１プロセッサは、前記デジタル音声データが音楽を表すことを示す表記を出力するように構成され、
前記第２プロセッサは、前記コンピューティング装置がネットワークを介して外部装置に接続することなく、前記デジタル音声データが前記特定の参照歌曲を表すことを認識するように構成される、請求項２２から２５のいずれか一項に記載のコンピューティングシステム。
【請求項２７】
前記デジタル音声データが音楽を表すことを判断することは、
前記第１プロセッサを用いて、前記記デジタル音声データが音楽を表すことを判断する前に、前記音楽判断プロセスを開始するためのユーザ入力を受信することなく、前記デジタル音声データが音楽を表さないことを複数回判断することを含む、請求項２２から２６のいずれか一項に記載のコンピューティングシステム。
【請求項２８】
前記１つ以上のコンピュータ可読メモリ装置によって格納された、前記複数の参照歌曲の中の前記参照歌曲の参照歌曲特徴値は、各特徴値が二進値１または二進値０に限定されるように、二進値１または二進値０に限定される、請求項２１から２７のいずれか一項に記載のコンピューティングシステム。
【請求項２９】
前記複数の参照歌曲は、少なくとも１万曲の参照歌曲を含み、
前記１つ以上のコンピュータ可読メモリ装置によって格納された前記参照歌曲特徴データは、前記少なくとも１万曲の参照歌曲の音声特徴を識別する、請求項２１から２８のいずれか一項に記載のコンピューティングシステム。
【請求項３０】
前記第１プロセッサは、
周波数領域変換プロセスにおいて、前記デジタル音声データを時間領域形式から周波数領域形式に変換することと、
前記周波数領域形式の前記デジタル音声データを受信し、前記デジタル音声データが音楽を表すことを示す表記を出力する音楽判断プロセスにおいて、前記周波数領域形式の前記デジタル音声データを使用することと
を行うことによって、前記デジタル音声データが音楽を表すことを判断するように構成される、請求項２１から２９のいずれか一項に記載のコンピューティングシステム。
【請求項３１】
前記音楽判断プロセスは、音声が音楽を表すか否かを判断するように訓練された機械学習システムを実行することを含む、請求項３０に記載のコンピューティングシステム。
【請求項３２】
前記音楽判断プロセスは、前記低電力プロセッサ上で重畳型ニューラルネットワークを実行することを含む、請求項３０に記載のコンピューティングシステム。
【請求項３３】
前記周波数領域形式は、第１周波数領域形式であり、
前記周波数領域変換プロセスは、第１周波数領域変換プロセスであり、
前記第２プロセッサは、
（ｉ）第２周波数領域変換プロセスにおいて、前記デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、
（ｉｉ）前記第２周波数領域形式の前記デジタル音声データを受信し、前記デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスにおいて、前記第２周波数領域形式の前記デジタル音声データを使用することと、
（ｉｉｉ）前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の一部の歌曲の中の各歌曲の複数の特徴値と比較することによって、前記特定の参照歌曲の前記複数の特徴値が前記デジタル音声データの前記複数の特徴値に最も関連していると判断することと
を行うことによって、前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識するように構成される、請求項２１から３２のいずれか一項に記載のコンピューティングシステム。
【請求項３４】
前記第２周波数領域形式および前記第１周波数領域形式は、異なる数の周波数ビンを解析する、請求項３３に記載のコンピューティングシステム。
【請求項３５】
前記音楽特徴決定プロセスは、音楽の特徴を決定するように訓練された機械学習システムによって実行される、請求項３３または３４に記載のコンピューティングシステム。
【請求項３６】
前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の前記一部の歌曲の中の各歌曲の前記複数の特徴値と比較することは、別のコンピューティング装置に歌曲特徴データを要求するためのリクエストを送信することなく、前記コンピューティング装置によって格納された前記複数の参照歌曲の前記一部の歌曲の中の各歌曲の前記複数の特徴値にアクセスすることによって実行される、請求項３３から３５のいずれか一項に記載のコンピューティングシステム。
【請求項３７】
前記デジタル音声データの前記複数の特徴値の中の特徴値を、前記複数の候補歌曲の中の各歌曲の前記複数の特徴値と比較することによって、前記複数の参照歌曲の前記一部の歌曲を選択することをさらに含む、請求項３３から３６のいずれか一項に記載のコンピューティングシステム。
【請求項３８】
前記デジタル音声データの前記複数の特徴値の中の特徴値を、二進値０および１に限定されない値から二進値０および１に限定された値に変換することをさらに含み、
前記デジタル音声データの前記複数の特徴値の中の特徴値を前記複数の候補歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１に限定された前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項３３から３７のいずれか一項に記載のコンピューティングシステム。
【請求項３９】
前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の前記一部の歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１以外の値を表す実数を含む前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の前記少なくとも一部の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項３３から３９のいずれか一項に記載のコンピューティングシステム。
【請求項４０】
コンピュータによって実施される方法であって、
コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することと、
前記コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することと、
前記コンピューティング装置を用いて、前記デジタル音声データを時間領域形式から周波数領域形式に変換することと、
前記コンピューティング装置を用いて、前記周波数領域形式の前記デジタル音声データを前記デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスに使用することとを含み、前記特徴値の少なくとも一部は、二進値０および二進値１以外の値を表し、
前記コンピューティング装置を用いて、前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値と比較することによって、前記複数の参照歌曲から、前記デジタル音声データの前記複数の特徴値に対応する一部の参照歌曲を複数の候補歌曲として選択することと、
前記コンピューティング装置を用いて、前記デジタル音声データの前記複数の特徴値を前記複数の候補歌曲の中の各参照歌曲の複数の特徴値と比較することによって、前記デジタル音声データの前記複数の特徴値が前記特定の参照歌曲の前記複数の特徴値に最も関連していると判断することと、
前記デジタル音声データの前記複数の特徴値が前記特定の参照歌曲の前記複数の特徴値に最も関連しているという判断に応答して、前記コンピューティング装置を用いて、前記特定の参照歌曲を示す表記を出力することとを含む、コンピュータによって実施される方法。
【請求項４１】
前記音楽特徴決定プロセスは、音楽の特徴を決定するように訓練された機械学習システムによって実行される、請求項４０に記載のコンピュータによって実施される方法。
【請求項４２】
前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の中の各参照歌曲の複数の特徴値と比較することは、別のコンピューティング装置に歌曲特徴データを要求するためのリクエストを送信することなく、前記コンピューティング装置によって格納された前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値にアクセスすることによって実行される、請求項４０または４１に記載のコンピュータによって実施される方法。
【請求項４３】
前記デジタル音声データの前記複数の特徴値を、二進値０および１に限定されない値から二進値０および１に限定された値に変換することをさらに含み、
前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１に限定された前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項４０から４２のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４４】
前記デジタル音声データの前記複数の特徴値を、前記複数の候補歌曲の中の各参照歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１以外の値を表す実数を含む前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の候補歌曲の中の各参照歌曲の前記特徴値との比較を含む、請求項４０から４３のいずれか１つに記載のコンピュータによって実施される方法。
【請求項４５】
前記複数の参照歌曲の中の前記参照歌曲の参照歌曲特徴値は、各特徴値が二進値１または二進値０に限定されるように、二進値１または二進値０に限定される、請求項４０から４４のいずれか１つに記載のコンピュータによって実施される方法。
【請求項４６】
前記複数の参照歌曲は、少なくとも１万曲の参照歌曲を含み、
前記参照歌曲特徴データは、前記少なくとも１万曲の参照歌曲の音声特徴を識別する、請求項４０から４５のいずれか１つに記載のコンピュータによって実施される方法。
【請求項４７】
前記コンピューティング装置を用いて、音楽判断プロセスに従って、前記デジタル音声データが音楽を表すか否かを判断することをさらに含み、
前記コンピューティング装置は、前記音楽判断プロセスに従って、前記デジタル音声データが音楽を表すことを判断した後、前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値と比較する、請求項４０から４６のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４８】
前記周波数領域形式は、第１周波数領域形式であり、
前記周波数領域変換プロセスは、第１周波数領域変換プロセスであり、
前記デジタル音声データが音楽を表すか否かを判断することは、
第２周波数領域変換プロセスにおいて、前記デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、
前記第２周波数領域形式の前記デジタル音声データを受信し、前記デジタル音声データが音楽を表すか否かを示す表記を出力する音楽特徴決定プロセスにおいて、前記第２周波数領域形式の前記デジタル音声データを使用することとを含む、請求項４０から４７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４９】
前記音楽判断プロセスは、音声が音楽を表すか否かを判断するように訓練された機械学習システムを実行することを含む、請求項４７または４８に記載のコンピュータによって実施される方法。
【請求項５０】
前記コンピューティング装置は、前記複数の参照歌曲の中の各参照歌曲の前記複数の音声特徴を識別するための前記参照歌曲特徴データにアクセスすることなく、前記デジタル音声データが音楽を表すか否かを判断する、請求項４７から４９のいずれか一項に記載のコンピュータによって実施される方法。
【請求項５１】
前記コンピューティング装置を用いて、前記音楽判断プロセスに従って前記デジタル音声データが音楽を表すか否かを判断することは、前記デジタル音声データが音楽を表すことを判断する前に、前記音楽判断プロセスを開始するためのユーザ入力を受信することなく、前記コンピューティング装置を用いて、前記デジタル音声データが音楽を表さないことを複数回判断することを含む、請求項４７から５０のいずれか一項に記載のコンピュータによって実施される方法。
【請求項５２】
前記第２周波数領域形式および前記第１周波数領域形式は、異なる数の周波数ビンを解析する、請求項４７から５１のいずれか一項に記載のコンピュータによって実施される方法。
【請求項５３】
前記デジタル音声データが音楽を表すか否かを判断することは、前記コンピューティング装置の第１プロセッサによって実行され、
前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値と比較することは、前記コンピューティング装置の第２プロセッサによって実行され、
前記デジタル音声データの前記複数の特徴値を、前記複数の候補歌曲の中の各参照歌曲の前記複数の特徴値と比較することは、前記コンピューティング装置の前記第２プロセッサによって実行される、請求項４７から５２のいずれか一項に記載のコンピュータによって実施される方法。
【請求項５４】
前記第１プロセッサは、前記第２プロセッサよりも低い電圧またはワット数で動作する、請求項５３に記載のコンピュータによって実施される方法。
【請求項５５】
前記第２プロセッサは、前記第１プロセッサが動作するクロック信号より少なくとも一桁速いクロック信号で動作する、請求項５３または５４に記載のコンピュータによって実施される方法。
【請求項５６】
前記特定の参照歌曲を示す表記を出力することは、ユーザ入力によって歌曲識別プロセスを実行するように前記コンピューティング装置を促すことなく、連続した歌曲識別プロセスを有効にすることによって、前記コンピューティング装置のロック画面、前記コンピューティング装置の常時オン画面、または前記コンピューティング装置のロック解除画面に表示された通知に、前記特定の参照歌曲の名前を提示することを含む、請求項４０から５５のいずれか一項に記載のコンピュータによって実施される方法。
【請求項５７】
コンピュータシステムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されると、以下の動作を実行させる命令を含む１つ以上のコンピュータ可読装置とを含み、
前記動作は、
コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することと、
前記コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することと、
前記コンピューティング装置を用いて、前記デジタル音声データを時間領域形式から周波数領域形式に変換することと、
前記コンピューティング装置を用いて、前記周波数領域形式の前記デジタル音声データを前記デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスに使用することとを含み、前記特徴値の少なくとも一部は、二進値０および二進値１以外の値を表し、
前記コンピューティング装置を用いて、前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値と比較することによって、前記複数の参照歌曲から、前記デジタル音声データの前記複数の特徴値に対応する一部の参照歌曲を複数の候補歌曲として選択することと、
前記コンピューティング装置を用いて、前記デジタル音声データの前記複数の特徴値を前記複数の候補歌曲の中の各参照歌曲の複数の特徴値と比較することによって、前記デジタル音声データの前記複数の特徴値が前記特定の参照歌曲の前記複数の特徴値に最も関連していると判断することと、
前記デジタル音声データの前記複数の特徴値が前記特定の参照歌曲の前記複数の特徴値に最も関連しているという判断に応答して、前記コンピューティング装置を用いて、前記特定の参照歌曲を示す表記を出力することとを含む、コンピュータシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
最新のコンピューティング装置の多くは、電話音声の録音、ノイズキャンセルのための外部ノイズの特定、音声入力の受信などの様々な目的に使用されるマイクロフォンを含む。マイクロフォンのもう１つの用途は、音声を録音して、コンピューティング装置がその音声をリモートサーバシステムに送信して解析することによって、歌曲として認識することである。音声をリモートサーバシステムに送信して解析することは、計算コストが高く、時間がかかる。
【発明の概要】
【０００２】
概要
本明細書は、検出された音声が音楽を表すまたは含むか否かを判断し、その音楽を特定の歌曲として識別するための技術、方法、システムおよび他のメカニズムを説明する。本明細書に記載されたメカニズムを実現する装置は、上記のプロセスを継続的に実行することができる。したがって、ユーザが現在環境内のスピーカから再生している歌曲の名前を知りたいと思うときに、装置は、既にこの歌曲を特定し、歌曲の曲名を表示装置に出力している。いくつかの例において、本明細書に記載の音楽検出メカニズムおよび歌曲識別メカニズムが全てポータブルコンピューティング装置上で実行され、ポータブルコンピューティング装置が周囲音声の録音から生成されたデータを解析のためにリモート電子システムに送信しないため、ネットワーク接続が利用できない場合でも、ポータブルコンピューティング装置が音楽を認識および識別することができる。この機能によって、ローカルに記録された音声データをリモート電子システムに送信して、歌曲を認識および識別する必要がない。
【０００３】
いくつかの例において、音楽判断プロセスおよび歌曲識別プロセスは、２つの段階で実行されてもよい。第１段階は、（例えば、継続的な監視プロセスに基づいて）コンピューティング装置によって検出された音声が音楽を表すかまたは含むか否かを認識することを含む。第１段階を連続的にまたは少なくとも一定の期間に連続的に作動する必要があるため、第１段階は、コンピューティング装置に動作可能に結合されまたは含まれ、コンピューティング装置のメインプロセッサとは異なる低電力プロセッサによって実行される。この低電力プロセッサは、メインプロセッサよりも低い電圧およびクロック速度で動作するため、音楽検出プロセスによるバッテリの消費を最小限に抑えることができる。低電力プロセッサは、メインプロセッサから物理的に分離されてもよい。したがって、低電力プロセッサは、メインプロセッサとは異なるコンピューティング装置の部分（例えば、別個の回路基板、モジュール、またはハウジング）に収容されてもよい。
【０００４】
低電力プロセッサによって周囲音声が音楽を表すまたは含むと判断した後、メインプロセッサは、歌曲識別プロセスにおいて記録された音声を解析することを含む第２段階を実行する。歌曲識別プロセスは、２つのステップを含むことができる。第１ステップにおいて、記録された音声の特徴を、数千曲の参照歌曲の特徴を識別するための数千曲の参照歌曲の装置上データセットと比較することによって、１組の候補歌曲を識別する。第１ステップにおいて、比較的低い解像度の特徴を使用することによって、候補歌曲を識別するための速度を上げることができる。１組の候補歌曲を識別すると、歌曲識別プロセスは、記録された音声とマッチングする候補歌曲（存在する場合）を識別するための第２ステップを実行する。第２ステップにおいて、比較的高い解像度の特徴を使用することによって、歌曲マッチング精度を最大化することができる。
【０００５】
歌曲を識別すると、コンピューティング装置は、再生されている歌曲を示す表記を提示することができる。例えば、コンピューティング装置がスマートフォンであり且つ「ロック」されている（すなわち、殆どアクセスされていないまたは完全にアクセスされていないセキュリティ状態にある）場合、コンピューティング装置は、装置の「ロック画面」または「常時表示画面」に歌曲の名前を表示することができる。コンピューティング装置がロックされていない場合、コンピューティング装置は、装置の画面（例えば、スマートフォンの通知画面）に歌曲の名前を表示することができる。このように連続的な方法で歌曲を識別することによって、ユーザは、専用の歌曲識別アプリケーションを起動して音声を録音するボタンを選択する必要がなく、歌曲の名前を確認することができる。そのため、ユーザは、歌曲識別アプリケーションを起動するためにコンピューティング装置上で行われている動作を停止する必要がなく、環境内のスピーカから再生されている歌曲を識別することができる。また、歌曲識別アプリケーションの起動および実行には時間がかかるため、ユーザが歌曲識別アプリケーションを起動して実行する前に、歌曲の再生が終了してしまう場合がある。さらに、装置は、歌曲を識別できない場合があり、ユーザが歌曲識別アプリケーションを起動および実行しても、歌曲を識別できないという失望感を体験するため、自動歌曲識別プロセスは、ユーザが歌曲識別アプリケーションを起動および実行する回数を制限する。
【０００６】
以下に記載される実施形態の追加の説明として、本開示は、以下の実施形態を記載する。
【０００７】
実施形態１は、コンピュータによって実施される方法である。この方法は、コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することを含む。この方法は、コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することを含む。この方法は、コンピューティング装置を用いて、音楽判断プロセスに従って、デジタル音声データが音楽を表すか否かを判断することを含む。この方法は、デジタル音声データが音楽を表すことを判断した後、コンピューティング装置を用いて、デジタル音声データが複数の参照歌曲の中の特定の参照歌曲を表すことを認識することを含む。この方法は、デジタル音声データが複数の参照歌曲の中の特定の参照歌曲を表すという判断に応答して、コンピューティング装置を用いて、特定の参照歌曲を示す表記を出力することを含む。
【０００８】
実施形態２は、実施形態１に記載のコンピュータによって実施される方法である。この場合、複数の参照歌曲は、少なくとも１万曲の参照歌曲を含み、参照歌曲特徴データは、少なくとも１万曲の参照歌曲の音声特徴を識別する。
【０００９】
実施形態３は、実施形態１または２のいずれか１つに記載のコンピュータによって実施される方法である。この場合、複数の参照歌曲の中の参照歌曲の参照歌曲特徴値は、各特徴値が二進値１または二進値０に限定されるように、二進値１または二進値０に限定される。
【００１０】
実施形態４は、実施形態１から３のいずれか１つに記載のコンピュータによって実施される方法である。この場合、デジタル音声データが音楽を表すか否かを判断することは、デジタル音声データを時間領域形式から周波数領域形式に変換することと、周波数領域形式のデジタル音声データを音楽判断プロセスに使用することと、デジタル音声データが音楽を表すという表記を出力することとを含む。
【００１１】
実施形態５は、実施形態４に記載のコンピュータによって実施される方法である。この場合、音楽判断プロセスは、音声が音楽を表すか否かを判断するように訓練された機械学習システムを実行することを含む。
【００１２】
実施形態６は、実施形態１から５のいずれか１つに記載のコンピュータによって実施される方法である。この場合、コンピューティング装置は、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データにアクセスすることなく、デジタル音声データが音楽を表すか否かを判断する。
【００１３】
実施形態７は、実施形態１から６のいずれか１つに記載のコンピュータによって実施される方法である。この場合、デジタル音声データが音楽を表すか否かを判断することは、デジタル音声データが音楽を表すことを判断する前に、音楽判断プロセスを開始するためのユーザ入力を受信することなく、コンピューティング装置を用いてデジタル音声データが音楽を表さないことを複数回判断することを含む。
【００１４】
実施形態８は、実施形態４から７のいずれか１つに記載のコンピュータによって実施される方法である。この場合、周波数領域形式は、第１周波数領域形式であり、周波数領域変換プロセスは、第１周波数領域変換プロセスであり、デジタル音声データが特定の参照歌曲を表すことを認識することは、（ｉ）第２周波数領域変換プロセスにおいて、デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、（ｉｉ）第２周波数領域形式のデジタル音声データを受信し、デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスにおいて、第２周波数領域形式のデジタル音声データを使用することと、（ｉｉｉ）デジタル音声データの複数の特徴値を複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することによって、特定の参照歌曲の複数の特徴値がデジタル音声データの複数の特徴値に最も関連していると判断することとを含む。
【００１５】
実施形態９は、実施形態８に記載のコンピュータによって実施される方法である。この場合、第２周波数領域形式および第１周波数領域形式は、異なる数の周波数ビンを解析する。
【００１６】
実施形態１０は、実施形態８または９のいずれか１つに記載のコンピュータによって実施される方法である。この場合、音楽特徴決定プロセスは、音楽の特徴を決定するように訓練された機械学習システムによって実行される。
【００１７】
実施形態１１は、実施形態８から１０のいずれか１つに記載のコンピュータによって実施される方法である。この場合、デジタル音声データの複数の特徴値を複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することは、別のコンピューティング装置に歌曲特徴データを要求するためのリクエストを送信することなく、コンピューティング装置によって格納された複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値にアクセスすることによって実行される。
【００１８】
実施形態１２は、実施形態８から１１のいずれか１つに記載のコンピュータによって実施される方法である。この場合、コンピューティング装置は、デジタル音声データの複数の特徴値を、複数の候補歌曲の一部の歌曲の中の各歌曲の複数の特徴値のみと比較し、方法は、デジタル音声データの複数の特徴値の中の特徴値を、複数の候補歌曲の中の各歌曲の複数の特徴値と比較することによって、複数の参照歌曲から一部の歌曲を選択することをさらに含む。
【００１９】
実施形態１３は、実施形態８から１２のいずれか１つに記載のコンピュータによって実施される方法である。この場合、デジタル音声データの複数の特徴値の中の特徴値を、二進値０および１に限定されない値から二進値０および１に限定された値に変換することをさらに含み、デジタル音声の複数の特徴値の中の特徴値を、複数の候補歌曲の中の各歌曲の複数の特徴値と比較することは、（ａ）二進値０および二進値１に限定されたデジタル音声データの特徴値と、（ｂ）二進値０および二進値１に限定された複数の歌曲の中の各歌曲の特徴値との比較を含む。
【００２０】
実施形態１４は、実施形態８から１３のいずれかに記載のコンピュータによって実施される方法である。この場合、デジタル音声データの複数の特徴値を、複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することは、（ａ）二進値０および二進値１以外の値を表す実数を含むデジタル音声データの特徴値と、（ｂ）二進値０および二進値１に限定された複数の歌曲の少なくとも一部の歌曲の中の各歌曲の特徴値との比較を含む。
【００２１】
実施形態１５は、実施形態１から１３のいずれか１つに記載のコンピュータによって実施される方法である。この場合、デジタル音声データが音楽を表すか否かを判断することは、コンピューティング装置の第１プロセッサによって実行され、デジタル音声データが複数の参照歌曲の中の特定の参照歌曲を表すことを認識することは、コンピューティング装置の第２プロセッサによって実行される。
【００２２】
実施形態１６は、実施形態１５に記載のコンピュータによって実施される方法である。この場合、第１プロセッサは、第２プロセッサよりも低い電圧で動作する。
【００２３】
実施形態１７は、実施形態１５に記載のコンピュータによって実施される方法である。この場合、第２プロセッサは、第１プロセッサが動作するクロック信号よりも少なくとも一桁速いクロック信号で動作する。
【００２４】
実施形態１８は、実施形態１から１７のいずれか１つに記載のコンピュータによって実施される方法である。この場合、特定の参照歌曲が再生されていることを示す表記を出力することは、ユーザ入力によって歌曲識別プロセスを実行するようにコンピューティング装置を促すことなく、連続した歌曲識別プロセスを有効にすることによって、コンピューティング装置のロック画面、コンピューティング装置の常時オン画面、またはコンピューティング装置のロック解除画面に表示された通知に、特定の参照歌曲の名前を提示することを含む。
【００２５】
実施形態１９は、実施形態１から１７のいずれか１つに記載のコンピュータによって実施される方法である。この場合、コンピューティング装置は、マイクロフォンを含む。
【００２６】
実施形態２０は、コンピュータシステムに関する。このコンピュータシステムは、１つ以上のプロセッサと、１つ以上のプロセッサによって実行されると、実施形態１から１９のいずれか１つに記載の方法を実行させる命令を含む１つ以上のコンピュータ可読装置とを含む。
【００２７】
実施形態２１は、コンピューティングシステムに関する。コンピューティングシステムは、音声信号を記録するように構成されたマイクロフォンを備えている。コンピューティングシステムは、記録された音声信号からデジタル音声データを生成するように構成されたアナログ−デジタルコンバータを備えている。コンピューティングシステムは、（ｉ）複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データと、（ｉｉ）プロセッサによって実行可能であり、プロセッサの動作を構成するための命令とを格納する１つ以上のコンピュータ可読メモリ装置を備えている。コンピューティングシステムは、デジタル音声データが音楽を表すと判断した場合、デジタル音声データが音楽を表すことを示す表記を出力するように構成された第１プロセッサを備えている。コンピューティングシステムは、第１プロセッサからデジタル音声データが音楽を表すことを示す表記を受信し、デジタル音声データが複数の参照歌曲の中の特定の参照歌曲を表すことを認識するように構成された第２プロセッサを備えている。コンピューティングシステムは、第２プロセッサによって、デジタル音声データが複数の参照歌曲の中の特定の参照歌曲を表すことを認識したことに応答して、特定の参照歌曲の識別子を提示するように構成された表示装置を備えている。
【００２８】
実施形態２２は、実施形態２１に記載のコンピューティングシステムである。この場合、コンピューティングシステムは、モバイルコンピューティング装置を含み、このモバイルコンピューティング装置は、マイクロフォンと、アナログデジタルコンバータと、１つ以上のコンピュータ可読メモリ装置と、第１プロセッサと、第２プロセッサとを備える。
【００２９】
実施形態２３は、実施形態２１または２２のいずれか１つに記載のコンピューティングシステムである。この場合、第１プロセッサは、第２プロセッサよりも低い電圧またはワット数で動作する。
【００３０】
実施形態２４は、実施形態２１から２３のいずれか１つに記載のコンピューティングシステムである。この場合、第２プロセッサは、第１プロセッサが動作するクロック信号より少なくとも一桁速いクロック信号で動作する。
【００３１】
実施形態２５は、実施形態２２から２４のいずれか１つに記載のコンピューティングシステムである。この場合、第１プロセッサは、デジタル音声データが音楽を表すことを示す表記を出力するように構成され、第２プロセッサは、コンピューティング装置がデジタル音声データをコンピューティング装置以外のコンピューティングシステムに送信することなく、デジタル音声データが特定の参照歌曲を表すことを認識するように構成される。
【００３２】
実施形態２６は、実施形態２２から２５のいずれか１つに記載のコンピューティングシステムである。この場合、第１プロセッサは、デジタル音声データが音楽を表すことを示す表記を出力するように構成され、第２プロセッサは、コンピューティング装置がネットワークを介して外部装置に接続することなく、デジタル音声データが特定の参照歌曲を表すことを認識するように構成される。
【００３３】
実施形態２７は、実施形態２２から２６のいずれか１つに記載のコンピューティングシステムである。この場合、デジタル音声データが音楽を表すことを判断することは、第１プロセッサを用いてデジタル音声データが音楽を表すことを判断する前に、音楽判断プロセスを開始するためのユーザ入力を受信することなく、コンピューティング装置を用いてデジタル音声データが音楽を表さないことを複数回判断することを含む。
【００３４】
実施形態２８は、実施形態２１から２７のいずれか１つに記載のコンピューティングシステムである。この場合、複数の参照歌曲の中の参照歌曲の参照歌曲特徴値は、各特徴値が二進値１または二進値０に限定されるように、二進値１または二進値０に限定される。
【００３５】
実施形態２９は、実施形態２１から２８のいずれか１つに記載のコンピューティングシステムである。この場合、複数の参照歌曲は、少なくとも１万曲の参照歌曲を含み、１つ以上のコンピュータ可読メモリ装置によって格納された参照歌曲特徴データは、少なくとも１万曲の参照歌曲の音声特徴を識別する。
【００３６】
実施形態３０は、実施形態２１から２９のいずれか１つに記載のコンピューティングシステムである。この場合、第１プロセッサは、周波数領域変換プロセスにおいて、デジタル音声データを時間領域形式から周波数領域形式に変換することと、周波数領域形式のデジタル音声データを受信し、デジタル音声データが音楽を表すことを示す表記を出力する音楽判断プロセスにおいて、周波数領域形式のデジタル音声データを使用することとを行うことによって、デジタル音声データが音楽を表すことを判断するように構成される。
【００３７】
実施形態３１は、実施形態３０に記載のコンピューティングシステムである。この場合、音楽判断プロセスは、音声が音楽を表すか否かを判断するように訓練された機械学習システムを実行することを含む。
【００３８】
実施形態３２は、実施形態３０に記載のコンピューティングシステムである。この場合、音楽判断プロセスは、低電力プロセッサ上で重畳型ニューラルネットワークを実行することを含む。
【００３９】
実施形態３３は、実施形態２１から３２のいずれか１つに記載のコンピューティングシステムである。この場合、周波数領域形式は、第１周波数領域形式であり、周波数領域変換プロセスは、第１周波数領域変換プロセスであり、第２プロセッサは、（ｉ）第２周波数領域変換プロセスにおいて、デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、（ｉｉ）第２周波数領域形式のデジタル音声データを受信し、デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスにおいて、第２周波数領域形式のデジタル音声データを使用することと、（ｉｉｉ）デジタル音声データの複数の特徴値を複数の参照歌曲の一部の歌曲の中の各歌曲の複数の特徴値と比較することによって、特定の参照歌曲の複数の特徴値がデジタル音声データの複数の特徴値に最も関連していると判断することとを行うことによって、デジタル音声データが複数の参照歌曲の中の特定の参照歌曲を表すことを認識するように構成される。
【００４０】
実施形態３４は、実施形態３３に記載のコンピューティングシステムである。この場合、第２周波数領域形式および第１周波数領域形式は、異なる数の周波数ビンを解析する。
【００４１】
実施形態３５は、実施形態３３または３４のいずれか１つに記載のコンピューティングシステムである。この場合、音楽特徴決定プロセスは、音楽の特徴を決定するように訓練された機械学習システムによって実行される。
【００４２】
実施形態３６は、実施形態３３から３５のいずれか１つに記載のコンピューティングシステムである。この場合、記デジタル音声データの複数の特徴値を複数の参照歌曲の一部の歌曲の中の各歌曲の複数の特徴値と比較することは、別のコンピューティング装置に歌曲特徴データを要求するためのリクエストを送信することなく、コンピューティング装置によって格納された複数の参照歌曲の一部の歌曲の中の各歌曲の複数の特徴値にアクセスすることによって実行される。
【００４３】
実施形態３７は、実施形態３３から３６のいずれか１つに記載のコンピューティングシステムである。この場合、デジタル音声データの複数の特徴値の中の特徴値を、複数の候補歌曲の中の各歌曲の複数の特徴値と比較することによって、複数の参照歌曲から一部の歌曲を選択することをさらに含む。
【００４４】
実施形態３８は、実施形態３３から３７のいずれか１つに記載のコンピューティングシステムである。この場合、デジタル音声データの複数の特徴値を、二進値０および１に限定されない値から二進値０および１に限定された値に変換することをさらに含み、デジタル音声データの複数の特徴値を複数の候補歌曲の中の各歌曲の複数の特徴値と比較することは、（ａ）二進値０および二進値１に限定されたデジタル音声データの特徴値と、（ｂ）二進値０および二進値１に限定された複数の歌曲の中の各歌曲の特徴値との比較を含む。
【００４５】
実施形態３９は、実施形態３３から３８のいずれか１つに記載のコンピューティングシステムである。この場合、デジタル音声データの複数の特徴値を複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することは、（ａ）二進値０および二進値１以外の値を表す実数を含むデジタル音声データの特徴値と、（ｂ）二進値０および二進値１に限定された複数の歌曲の少なくとも一部の歌曲の中の各歌曲の特徴値との比較を含む。
【００４６】
実施形態４０は、コンピュータによって実施される方法である。この方法は、コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することを含む。この方法は、コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することを含む。この方法は、コンピューティング装置を用いて、デジタル音声データを時間領域形式から周波数領域形式に変換することを含む。この方法は、コンピューティング装置を用いて、周波数領域形式のデジタル音声データをデジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスに使用することとを含み、特徴値の少なくとも一部は、二進値０および二進値１以外の値を表す。この方法は、コンピューティング装置を用いて、デジタル音声データの複数の特徴値を複数の参照歌曲の中の各参照歌曲の複数の特徴値と比較することによって、複数の参照歌曲から、デジタル音声データの複数の特徴値に対応する一部の参照歌曲を複数の候補歌曲として選択することを含む。この方法は、コンピューティング装置を用いて、デジタル音声データの複数の特徴値を複数の候補歌曲の中の各参照歌曲の複数の特徴値と比較することによって、デジタル音声データの複数の特徴値が特定の参照歌曲の複数の特徴値に最も関連していると判断することを含む。この方法は、デジタル音声データの複数の特徴値が特定の参照歌曲の複数の特徴値に最も関連しているという判断に応答して、コンピューティング装置を用いて、特定の参照歌曲を示す表記を出力することを含む。
【００４７】
実施形態４１は、実施形態４０に記載のコンピュータによって実施される方法である。この場合、音楽特徴決定プロセスは、音楽の特徴を決定するように訓練された機械学習システムによって実行される。
【００４８】
実施形態４２は、実施形態４０または４１のいずれか１つに記載のコンピュータによって実施される方法である。この場合、デジタル音声データの複数の特徴値を複数の参照歌曲の中の各参照歌曲の複数の特徴値と比較することは、別のコンピューティング装置に歌曲特徴データを要求するためのリクエストを送信することなく、コンピューティング装置によって格納された複数の参照歌曲の中の各参照歌曲の複数の特徴値にアクセスすることによって実行される。
【００４９】
実施形態４３は、実施形態４０から４２のいずれか１つに記載のコンピュータによって実施される方法である。この場合、デデジタル音声データの複数の特徴値を、二進値０および１に限定されない値から二進値０および１に限定された値に変換することをさらに含み、デジタル音声データの複数の特徴値を、複数の参照歌曲の中の各歌曲の複数の特徴値と比較することは、（ａ）二進値０および二進値１に限定されたデジタル音声データの特徴値と、（ｂ）二進値０および二進値１に限定された複数の歌曲の中の各歌曲の特徴値との比較を含む。
【００５０】
実施形態４４は、実施形態４０から４３のいずれか１つに記載のコンピュータによって実施される方法である。この場合、デジタル音声データの複数の特徴値を、複数の候補歌曲の中の各参照歌曲の複数の特徴値と比較することは、（ａ）二進値０および二進値１以外の値を表す実数を含むデジタル音声データの特徴値と、（ｂ）二進値０および二進値１に限定された複数の候補歌曲の中の各参照歌曲の特徴値との比較を含む。
【００５１】
実施形態４５は、実施形態４０から４４のいずれか１つに記載のコンピュータによって実施される方法である。この場合、複数の参照歌曲の中の参照歌曲の参照歌曲特徴値は、各特徴値が二進値１または二進値０に限定されるように、二進値１または二進値０に限定される。
【００５２】
実施形態４６は、実施形態４０から４５のいずれか１つに記載のコンピュータによって実施される方法である。この場合、複数の参照歌曲は、少なくとも１万曲の参照歌曲を含み、参照歌曲特徴データは、少なくとも１万曲の参照歌曲の音声特徴を識別する。
【００５３】
実施形態４７は、実施形態４０から４６のいずれか１つに記載のコンピュータによって実施される方法である。この場合、コンピューティング装置を用いて、音楽判断プロセスに従って、デジタル音声データが音楽を表すか否かを判断することをさらに含み、コンピューティング装置は、音楽判断プロセスに従って、デジタル音声データが音楽を表すことを判断した後、デジタル音声データの複数の特徴値を、複数の参照歌曲の中の各参照歌曲の複数の特徴値と比較する。
【００５４】
実施形態４８は、実施形態４０から４７のいずれか１つに記載のコンピュータによって実施される方法である。この場合、周波数領域形式は、第１周波数領域形式であり、周波数領域変換プロセスは、第１周波数領域変換プロセスであり、デジタル音声データが音楽を表すか否かを判断することは、第２周波数領域変換プロセスにおいて、デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、第２周波数領域形式のデジタル音声データを受信し、デジタル音声データが音楽を表すか否かを示す表記を出力する音楽特徴決定プロセスにおいて、第２周波数領域形式のデジタル音声データを使用することとを含む。
【００５５】
実施形態４９は、実施形態４７または４８のいずれか１つに記載のコンピュータによって実施される方法である。この場合、音楽判断プロセスは、音声が音楽を表すか否かを判断するように訓練された機械学習システムを実行することを含む。
【００５６】
実施形態５０は、実施形態４７から４９のいずれか１つに記載のコンピュータによって実施される方法である。この場合、コンピューティング装置は、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データにアクセスすることなく、デジタル音声データが音楽を表すか否かを判断する。
【００５７】
実施形態５１は、実施形態４７から５０のいずれか１つに記載のコンピュータによって実施される方法である。この場合、コンピューティング装置を用いて、音楽判断プロセスに従ってデジタル音声データが音楽を表すか否かを判断することは、デジタル音声データが音楽を表すことを判断する前に、音楽判断プロセスを開始するためのユーザ入力を受信することなく、コンピューティング装置を用いて、デジタル音声データが音楽を表さないことを複数回判断することを含む。
【００５８】
実施形態５２は、実施形態４７から５１のいずれか１つに記載のコンピュータによって実施される方法である。この場合、第２周波数領域形式と第１周波数領域形式は、異なる数の周波数ビンを解析する、
実施形態５３は、実施形態４７から５２のいずれか１つに記載のコンピュータによって実施される方法である。この場合、デジタル音声データが音楽を表すか否かを判断することは、コンピューティング装置の第１プロセッサによって実行され、デジタル音声データの複数の特徴値を、複数の参照歌曲の中の各参照歌曲の複数の特徴値と比較することは、コンピューティング装置の第２プロセッサによって実行され、デジタル音声データの複数の特徴値を、複数の候補歌曲の中の各参照歌曲の複数の特徴値と比較することは、コンピューティング装置の第２プロセッサによって実行される。
【００５９】
実施形態５４は、実施形態５３に記載のコンピュータによって実施される方法である。この場合、第１プロセッサは、第２プロセッサよりも低い電圧またはワット数で動作する。
【００６０】
実施形態５５は、実施形態５３または５４のいずれか１つに記載のコンピュータによって実施される方法である。この場合、第２プロセッサは、第１プロセッサが動作するクロック信号より少なくとも一桁速いクロック信号で動作する。
【００６１】
実施形態５６は、実施形態４０から５５のいずれか１つに記載のコンピュータによって実施される方法である。この場合、特定の参照歌曲を示す表記を出力することは、ユーザ入力によって歌曲識別プロセスを実行するようにコンピューティング装置を促すことなく、連続した歌曲識別プロセスを有効にすることによって、コンピューティング装置のロック画面、コンピューティング装置の常時オン画面、またはコンピューティング装置のロック解除画面に表示された通知に、特定の参照歌曲の名前を提示することを含む。
【００６２】
実施形態５７は、コンピュータシステムに関する。このコンピュータシステムは、１つ以上のプロセッサと、１つ以上のプロセッサによって実行されると、実施形態４０から５６のいずれか１つに記載の方法を実行させる命令を含む１つ以上のコンピュータ可読装置とを含む。
【００６３】
１つ以上の実施例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的および利点は、説明および図面ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００６４】
【図１】自動音楽判断および歌曲識別を実行するためのコンピューティング装置と、コンピューティング装置に参照歌曲データを提供するためのリモートサーバシステムとを示す図である。
【図２】例示的なコンピューティング装置の現在環境に音楽が再生されていることを検出および判断するために使用された例示的なコンピューティング装置の構成要素、動作およびデータ構造を示す概念図である。
【図３Ａ】例示的なコンピューティング装置の現在環境に音楽が再生されていることを判断するための例示的なプロセスを示す図である。
【図３Ｂ】例示的なコンピューティング装置の現在環境に音楽が再生されていることを判断するための例示的なプロセスを示す図である。
【図４】参照歌曲データを受信および格納し、例示的なコンピューティング装置の現在環境に再生されている歌曲を識別するために使用される例示的なコンピューティング装置の構成要素、動作およびデータ構造を示す概念図である。
【図５】参照歌曲データを受信および格納するための例示的なプロセスを示す図である。
【図６Ａ】例示的なコンピューティング装置の現在環境に再生されている歌曲を識別するための例示的なプロセスを示す図である。
【図６Ｂ】例示的なコンピューティング装置の現在環境に再生されている歌曲を識別するための例示的なプロセスを示す図である。
【図７】例示的なコンピューティング装置によって実行された例示的な候補歌曲識別プロセスを示す概念図である。
【図８】コンピューティング装置によって提示され、識別された歌曲が周囲環境に再生されていることを示す例示的なユーザインターフェイスを示す図である。
【図９】本明細書に記載されたシステムおよび方法を実施するシステム例を示す概念図である。
【図１０】本明細書に記載されたシステムおよび方法をクライアントまたは１つ以上のサーバとして実装するための例示的なコンピューティング装置を示すブロック図である。
【発明を実施するための形態】
【００６５】
詳細な説明
様々な図面において、同様の参照記号は、同様の要素を示す。
【００６６】
本明細書は、一般的に、検出された周囲音声が音楽を表すまたは含むことを判断した後、周囲音声に含まれた歌曲を識別するためのメカニズムを説明する。この開示は、まず、図１を参照してこのプロセスの要点を説明し、次に図２〜１０を参照して当該プロセスの追加の詳細を提供する。
【００６７】
図１は、自動音楽判断および歌曲識別を実行するためのコンピューティング装置１００と、コンピューティング装置１００に参照歌曲データを提供するためのリモートサーバシステム１５０とを示している。コンピューティング装置１００は、図１においてタッチスクリーンスマートフォンとして示されているが、コンピューティング装置１００は、他の種類のモバイルコンピューティング装置または非モバイルコンピューティング装置、例えば、タブレット、スマートウォッチ、デスクトップコンピュータおよびスマート家電であってもよい。
【００６８】
コンピューティング装置１００は、音声データ１０２を連続的に記録し、音声データ１０２を解析することによって、検出された周囲音声に音楽が含まれているか否かを判断するように構成されている。音声データ１０２は、マイクロフォンを用いてアナログ形式に記録され、その後、低電力プロセッサ１０４に提供される。低電力プロセッサ１０４は、音声データ１０２をアナログ形式からデジタル形式に変換する。
【００６９】
低電力プロセッサ１０４は、デジタル形式の音声データ１０２をバッファに格納し、音声データ１０２を容易に解析するように、（例えば、音声データ１０２に対して高速フーリエ変換を実行することによって）音声データ１０２を時間領域形式から周波数領域形式に変換する。低電力プロセッサ１０４は、一定の間隔（例えば、１０ミリ秒ごと、２０ミリ秒ごと、４０ミリ秒ごと、または別の適切な値）で、この変換プロセスを定期的に実行することができる。高速フーリエ変換は、上記の間隔よりも長い時間窓上で動作することができる（例えば、１０ミリ秒の間隔で２５ミリ秒の時間窓上で動作することができる）。
【００７０】
低電力プロセッサ１０４は、一定の秒数（例えば、５秒、１０秒、２０秒、または別の値）の配列をバッファに保存し、最後の秒数（例えば、５秒）よりも長い各間隔（例えば、１０ミリ秒の間隔、２０ミリ秒の間隔、４０ミリ秒の間隔）に対して、コンピューティング装置は、異なる周波数範囲の複数の「ビン」（例えば、３２ビン、６４ビン、１２８ビン）の各々の周波数コンテンツのパワーを特定する。バッファは、一定の秒数（例えば、５秒）よりも古い配列が新たに生成された配列によって置換されるような循環型バッファであってもよい。低電力プロセッサ１０４は、このプロセスを連続的に（すなわち、プロセスを開始するためのユーザの反復入力を必要せず、定期的に繰り返して）実行することができる。
【００７１】
低電力プロセッサ１０４は、一定の間隔（例えば、１秒ごと、２秒ごと、５秒ごと）で、５秒間のバッファを解析することによって、最近取得した音声データ１０２がコンピューティング装置１００の周囲環境で再生されている音楽を表すか否かを判断する。いくつかの例において、この解析は、低電力プロセッサ１０４上で動作する機械学習システム、例えば重畳型ニューラルネットワークによって実行される。機械学習システムは、数万個の音声録音および各音声録音が音楽を表すか否かを示す表記を機械学習システムに入力することによって、別個のコンピューティングシステム上で訓練される。これらの入力は、最終的に機械学習システムを訓練し、訓練された機械学習システムは、（例えば、機械学習システムの構成データを転送することによって）コンピューティング装置１００および類似する他の装置に転送することができる。コンピューティング装置１００は、機械学習システムの随時更新を受信することができる。
【００７２】
低電力プロセッサ１０４は、各間隔（例えば、１秒ごと、２秒ごと、または５秒ごと）で、音楽推定結果（例えば、信頼値および／または「はい」または「いいえ」という判断）のバッファを生成することによって、音声データ１０２が音楽を表すか否かを識別することができる。低電力プロセッサ１０４は、これらの音楽推定結果を別のバッファに格納することができ、音楽推定結果の最近の履歴を解析することによって、これらの音楽推定結果が、音楽がコンピューティング装置１００を配置している周囲環境に実際に再生されていることを示す表記を出力するための所定の基準を満たしているか否かを判断することができる。いくつかの例において、低電力プロセッサ１０４は、過去の判断の少なくとも特定の部分（例えば、最後の７つの１秒判断のうち５つ）が「はい」（すなわち、検出された周囲音声が音楽を含むこと）を示す場合、音楽が再生されていることを示す結果を出力することができる。７つの個別の判断に対するこの「表決」（voting）は、例えば、低電力プロセッサ１０４によって出力された音楽判断結果の信頼性を高め、（例えば、テレビ広告において）２秒または３秒のみの音楽クリップが再生されている場合に、低電力プロセッサ１０４が、音楽が再生されていることを示さないことを保証する。表決は、いくつかの偽陽性分類が存在する場合にも有用である。
【００７３】
低電力プロセッサ１０４は、検出された周囲音声に音楽が含まれていることを判断した後、高電力プロセッサ１１０に命令１０８を送信して、高出力プロセッサ１１０に再生されている歌曲を識別させる。また、低電力プロセッサ１０４は、音楽が再生されていることを判断したときに基づいた基礎音声データ１０６を高電力プロセッサ１１０に送信する。低電力プロセッサ１０４は、時間領域形式の基礎音声データ１０６を送信し、高電力プロセッサは、低電力プロセッサ１０４によって生成された音声データ１０２の表現よりも高い解像度の周波数領域表現を生成することができる。低電力プロセッサ１０４が高電力プロセッサ１１０に送信したバッファは、分類窓とは異なるサイズであってもよい（例えば、分類が最後の５秒間に実行されても、バッファは、最後の８秒間であってもよい）。
【００７４】
高電力プロセッサ１１０は、音声データ１０６を受信し、音声データ１０６の解析を行うために、音声データ１０６を周波数領域形式に変換する。高速フーリエ変換プロセスを用いて周波数領域変換を実行することによって、音声データ１０６の比較的高解像度の周波数領域表現を生成することができる。この高解像度の周波数領域表現は、（例えば、ビンの数に対応する長さを有する配列を生成するために）各変換に対応する特定の数のビン（例えば、２５６ビン、５１２ビン、１０２４ビン）を含む。高電力プロセッサ１１０は、低電力プロセッサ１０４から受信した音声データ１０６に対して、一定の間隔（例えば、４６ミリ秒の間隔、９２ミリ秒の間隔、１８４ミリ秒の間隔）で周波数領域変換プロセスを実行することができる。高電力プロセッサ１１０は、生成された配列をバッファに格納することができる。したがって、高電力プロセッサ１１０は、低電力プロセッサ１０４から時間領域形式の音声データ１０６を取得し、周波数領域形式の音声データ１０６を表す値の配列をバッファに格納する。
【００７５】
次に、高電力プロセッサ１１０は、バッファに格納された周波数領域形式の音声データ１０６を解析することによって、音声データ１０６の特徴を決定する。例えば、高電力プロセッサ１１０は、周波数領域形式の音声データ１０６を、特徴値セットを生成するように訓練された機械学習システム（例えば、ニューラルネットワーク）に提供することができる。各特徴値セットは、音声の特徴を決定するための一定数の値（例えば、４８個の値、９６個の値、１９２個の値、または別の適切な数の値）を有する。本実施例において、高電力プロセッサ１１０は、単一セットの値を生成してバッファ内の音声データ１０６の全ての特徴を決定するのではなく、バッファの全体に対して１秒の間隔で特徴決定プロセスを実行し、一回に音声データ１０２の２秒間の特徴を決定することができる。よって、バッファの長さが８秒である場合、高電力プロセッサ１１０は、７セットの特徴値（１つのセット：０〜２秒、次のセット：１〜３秒、別のセット：２〜４秒、以下同様）を生成する。各特徴値は、「浮動」値（float value）に含まれている実数（例えば、小数部分が「７８３」である実数０．７８３）であってもよい。機械学習システムを用いてバッファ内の音声データ１０６を解析する前に、高電力プロセッサ１１０は、例えば、周波数ビンの重み付けまたは特徴スケーリング／正規化（例えば、０の平均、１の標準偏差）を行うことによって、バッファ内の値を処理することができる。
【００７６】
高電力プロセッサ１１０は、このような特徴データを作成し、コンピューティング装置１００が記録した音声データ１０６を、同様に作成され、コンピューティング装置１００によって装置上歌曲データベース１１６に保存されている数千曲の歌曲の参照歌曲特徴データ１１８と比較する。コンピューティング装置１００は、リモートサーバシステム１５０から参照歌曲特徴データ１１８を受信し、装置上歌曲データベース１１６に保存することができる。リモートサーバシステム１５０は、数十万または数百万曲の歌曲の特徴データを格納するグローバル歌曲データベース１２０を含むことができ、歌曲選別プロセス１２２を用いてコンピューティング装置１００に送信する歌曲特徴データを選択することができる。
【００７７】
例えば、グローバル歌曲データベース１２０は、世界中で人気のある歌曲の特徴データを含むが、一部の歌曲の参照歌曲特徴データ１１８のみをコンピューティング装置１００に送信してもよい。例えば、リモートサーバシステム１５０によってコンピューティング装置１００が北米に位置していると判断された場合、コンピューティング装置１００に送信される参照歌曲特徴データ１１８は、北米で人気のある歌曲のみを含むことができる。コンピューティング装置１００が位置する地理区域に異なる歌曲が人気になるため、リモートサーバシステム１５０は、参照歌曲データ１１８の更新リストをコンピューティング装置１００に定期的に送信することができる。グローバル歌曲データベース１２０の全ての歌曲から参照歌曲特徴データ１１８を選択するための基準は、地理位置以外の要素、例えば、ユーザの年齢（例えば、若い人にポップミュージック、年寄の人にクラシック歌曲を提供する）、装置の記憶容量（例えば、より大きい容量を有する装置またはユーザがより多くの歌曲特徴データの記憶を許可した装置により多くの歌曲データを提供する）、日中時間（例えば、ユーザの好みに基づいて、夜にディスコ音楽、朝にトレーニング歌曲を提供する）、年間時間（例えば、１２月により多くの祝日音楽を提供する）、ユーザの趣味（例えば、ソーシャルネットワークのプロファイルまたはメッセージから収集された情報に基づいて音楽を提供する）の組み合わせに基づくことができる。このような個人データの収集および使用は、ユーザのオプトインリクエスト（opt-in request）に応じて実行される。したがって、ユーザが個人データを参照歌曲特徴データ１１８のカスタマイズに使用することを明確に認めない限り、個人データが利用または使用されない。参照歌曲特徴データ１１８は、上記で説明したように、コンピューティング装置１００上で記録された音声データ１０６に対して実行されたプロセスと類似または同様の特徴決定プロセスを用いて生成されてもよい。換言すれば、リモートサーバシステム１５０は、全ての参照歌曲に対して、参照歌曲の１秒の間隔で一定数の特徴値（例えば、４８個の値、９６個の値、１９２個の値、または別の適切な値）を生成することができる。参照歌曲特徴データ１１８は、二進値で保存され、各特徴値は、公称値から切り捨てまたは切り上げることによって「０」または「１」にする。これによって、記憶スペースを節約し、迅速な比較を容易にする。一方、コンピューティング装置１００によって生成された特徴データは、実数（「浮動」値、例えば、０．７８３に含まれた実数）として格納される。
【００７８】
高電力プロセッサ１１０は、（例えば、機械学習システムを用いて）音声データ１０６の特徴を決定することによって、音声データ１０６を歌曲特徴データに変換すると、その歌曲特徴データを参照歌曲特徴化データ１１４と比較して、記録された音声データ１０６が装置上歌曲データベース１１６内の歌曲と一致するか否かを判断することができる。この比較プロセスは、２つのステップで実行されてもよい。第１ステップにおいて、高電力プロセッサ１１０は、装置上歌曲データベース１１６内の全ての歌曲に対して軽量比較を実行することによって、コンピューティング装置によって記録された音声データ１０６に類似する１組の候補歌曲を特定する。これらの候補歌曲は、第２ステップに実行されるより詳細な解析の対象である。
【００７９】
いくつかの例において、候補歌曲を特定するための軽量比較は、音声データ１０６から生成された特徴値の一部（例えば、６４個の値、４８個の値、３２個の値、または別の適切な数の値）を選択することと、（端数処理プロセスを用いて）各々の特徴値を二進値「０」または二進値「１」に変換することとを含む。次に、高電力プロセッサ１１０は、数千個曲の参照歌曲の各歌曲の１秒間隔ごとに、記録された音声データ１０６から生成された二進値特徴値の一部を、装置上歌曲データベース１１６に格納された対応する６４個の二進値特徴値と比較する。この比較プロセスは、数十万回の比較を含む。例えば、記録された音声１０６から生成された特徴値セットが７つであり、各々の特徴値セットは、装置上歌曲データベース１１６に保存されている各歌曲の１秒間隔の特徴値セットと比較される。例えば、各歌曲の長さが約２００秒であると仮定する場合、この比較プロセスは、装置上歌曲データベース１１６内の各歌曲に対して１４００回の比較を実行する。比較される値の両方が二進値であり、プロセッサ比較命令を使用できるため、高電力プロセッサ１１０は、これらの比較を比較的迅速に実行することができる。
【００８０】
高電力プロセッサ１１０は、候補歌曲（例えば、記録された音声データ１０６と一致する歌曲または類似度比較プロセスによって生成された高い類似度スコアを有する歌曲）のリストを生成した後、記録された音声データ１０６と候補歌曲とのより詳細な比較を含む第２ステップを実行することができる。このより詳細な比較は、（候補識別プロセスと同様に、二進表現ではなく）実数値形式の全ての特徴値（例えば、４８個の値、９６個の値、１９２個の値、または別の適切な数の値）を、装置上歌曲データベース内の対応する特徴値と比較することを含む。
【００８１】
比較プロセスに実数値（例えば、小数点を有する値）を使用することによって、単に「一致」または「不一致」という結果ではなく、記録された音声データ１０６の特徴値と参照歌曲特徴データ１１８の対応する参照歌曲の特徴値との間の類似度を示す値の配列を含む結果を出力することができる。数十万回の比較を実行した後、高電力プロセッサ１１０は、記録された音声データ１０６と最も高い類似度を有する候補歌曲（少なくとも候補歌曲の特徴値と記録された音声データ１０６の特徴値との間の類似度が所定の閾値を超えるべきである）を、周囲環境に再生されている歌曲として特定する。
【００８２】
いくつかの例において、コンピューティング装置１００は、周囲環境に再生されている歌曲を特定したことを視覚的または聴覚的に表示する。例えば、コンピューティング装置１００は、歌曲情報１１２（例えば、歌曲の曲名および歌手の名前）をコンピューティング装置１００のディスプレイ上に表示することができる。例えば、コンピューティング装置１００は、歌曲情報１１２を通知画面またはバックグラウンドディスプレイの一部に表示することができる。
【００８３】
以下、本開示は、残りの図面を参照して、このプロセスをさらに詳細に説明する。
図２は、例示的なコンピューティング装置の現在環境に音楽が再生されていることを検出および判断するために使用された例示的なコンピューティング装置の構成要素、動作およびデータ構造を示す概念図である。図２に示すように、例えば、（図１に示された低電力プロセッサ１０４と同様の）低電力プロセッサ２０２を用いて、デジタル音声データを連続的に処理し、デジタル音声データが音楽を表すか否かを判断することができる。例えば、低電力プロセッサ２０２は、装置のマイクロフォンからの信号を処理するように構成された専用オーディオコーデックチップに含まれた専用デジタル信号プロセッサ（ＤＳＰ）である。低電力プロセッサ２０２は、メインプロセッサ（例えば、中央処理装置（ＣＰＵ））よりも低い電圧またはワット数で動作し、メインプロセッサのクロック信号よりも少なくとも５倍、１０倍、２０倍、または３０倍遅いクロック信号で動作する。したがって、低電力プロセッサ２０２は、低い量の装置バッテリ電力（例えば、バッテリ容量の１％未満）を消費しながら、装置のマイクロフォンによって検出された周囲音声を継続的に監視することができる。検出された周囲音声に音楽が含まれていることを判断するために使用された低電力プロセッサ２０２の構成要素、動作およびデータ構造は、図３Ａおよび３Ｂを参照してさらに詳細に説明される。
【００８４】
図３Ａおよび３Ｂは、例示的なコンピューティング装置の現在環境に音楽が再生されていることを判断するための例示的なプロセスを示す図である。一般的に、具体的なユーザ入力がなくても、このプロセスを継続的に実行することができる。例えば、ユーザは、プロセスを開始する前の適切な時点で、装置の構成設定を変更することによって、装置の電源がオンになったときにプロセスを継続的に実行する指示を装置に提供することができる。その後、装置は、さらなるユーザ入力がなくても、装置がオンになるたびにこのプロセスを実行することができる。検出された周囲音声に音楽が含まれていることを判断するための動作は、例えば、（図２に示された）低電力プロセッサ２０２によって実行することができる。
【００８５】
ボックス３０２において、マイクロフォンによって捕捉された音声入力を受信する。例えば、（図１に示された）コンピューティング装置１００は、マイクロフォンによって検出された周囲音声を継続的に監視および記録することができる。
【００８６】
ボックス３０４において、音声入力をアナログ形式からデジタル形式に変換する。図２を参照して、周囲音声信号（例えば、装置のマイクロフォンによって生成されたアナログ音声信号）は、アナログ−デジタル（Ａ／Ｄ）コンバータ２０４によって受信される。アナログ−デジタルコンバータ２０４は、アナログ音声信号を時間領域形式のデジタル音声データに変換することができる。いくつかの例において、アナログ−デジタルコンバータ２０４は、低電力プロセッサ２０２とは別個の集積回路として実装されてもよい。いくつかの例において、アナログ−デジタルコンバータ２０４は、低電力プロセッサ２０２上に実装されてもよい。
【００８７】
ボックス３０６において、デジタル音声データをデジタル音声バッファに保存する。例えば、アナログ−デジタルコンバータ２０４は、デジタル音声データの連続ストリームを出力することができ、このデジタル音声データの連続ストリームは、低電力プロセッサ２０２のデジタル音声バッファ２０６に保存される。いくつかの例において、デジタル音声バッファ２０６は、特定の秒数（例えば、４秒、８秒、１６秒）より古いデジタル音声が新たに受信されたデジタル音声データによって上書きされるような循環型バッファであってもよい。
【００８８】
ボックス３０８において、デジタル音声データが音楽を表すか否かを判断する。例えば、低電力プロセッサ２０２は、デジタル音声バッファ２０６からのデジタル音声データストリームを連続的に処理することができ、この処理に基づいて、デジタル音声データの特定の断片が音楽を表すか否かを定期的に判断することができる。
【００８９】
ボックス３１０において、デジタル音声データが音楽を表すか否かを判断することは、第１周波数領域変換プロセスにおいて、デジタル音声データを時間領域形式から第１周波数領域形式に変換することを含む。例えば、低電力プロセッサ２０２は、周期的に（例えば、１０ミリ秒、２０ミリ秒、４０ミリ秒または別の適切な時間間隔で）周波数変換プロセス２０８を実行することができる。これによって、デジタル音声バッファ２０６からの特定の時間窓（例えば、２５ミリ秒、５０ミリ秒、１００ミリ秒または別の適切な時間窓）のデジタル音声データは、時間領域形式から第１周波数領域形式に変換される。本実施例において、低電力プロセッサ２０２は、２０ミリ秒ごとに１回に、デジタル音声バッファ２０６からの最近の５０ミリ秒のデジタル音声をサンプリングおよび処理するように、周波数変換プロセス２０８を実行する。例えば、周波数変換プロセス２０８は、特定数のビン（例えば、１６個のビン、３２個のビン、６４個のビン、または別の適切な数のビン）を含むデータフレーム２１０を出力する。各ビンは、周波数範囲に関連付けられ、サンプリング期間中に周波数範囲内の音声の強度を表す関連値を有する。本実施例において、データフレーム２１０は、１６個のビンを含み、各ビンは、音声範囲（例えば、可聴音声範囲）の異なる部分に関連付けられ、音声範囲の一部の音声の強度を表す浮動値を有する。いくつかの例において、周波数変換プロセス２０８は、高速フーリエ変換（ＦＦＴ）アルゴリズムを用いて、サンプリングされたデジタル音声データを時間領域形式から第１周波数領域形式のデータフレームに変換することができる。
【００９０】
ボックス３１２において、デジタル音声データが音楽を表すか否かを判断することは、第１周波数領域形式のデジタル音声データをバッファに格納することを含む。例えば、低電力プロセッサ２０２は、（例えば、デジタル音声バッファ２０６の最近の５０ミリ秒のデジタル音声を表す）データフレーム２１０を周波数変換バッファ２１２に追加することができる。周波数変換バッファ２１２は、過去のサンプリング期間中に周波数変換プロセス２０８によって生成された一連のデータフレームを含む。本実施例において、周波数変換バッファ２１２は、過去の５秒間に亘って生成されたデータフレームを含む。いくつかの例において、周波数変換バッファ２１２は、特定の秒数（例えば、５秒）よりも古いデータフレームが新たに生成されたデータフレームによって上書きされるような循環型バッファであってもよい。
【００９１】
ボックス３１４において、デジタル音声データが音楽を表すか否かを判断することは、第１周波数領域形式のデジタル音声データを、第１周波数領域形式のデジタル音声データを受信する音楽判断プロセスに提供することを含む。例えば、音楽判断プロセスの一部として、低電力プロセッサ２０２は、周波数変換バッファ２１２に保存されている過去に生成されたデータフレームの一部または全体に対して、音楽推定プロセス２１４を定期的に（例えば、毎秒１回に）実行することができる。本実施例において、音楽推定プロセス２１４は、第１周波数領域形式で格納された音声データからサンプリングされた最後の５秒の音声データを含む周波数変換バッファ２１２の全体を入力として受信する。
【００９２】
ボックス３１６において、音楽判断プロセスは、音声データが音楽を表すか否かを判断するように訓練された機械学習システムを含む。例えば、周波数変換バッファ２１２が音楽を表すか否かを判断するために、音楽推定プロセス２１４は、オフラインで（例えば、予めサーバシステム１５０で）訓練され、低電力プロセッサ２０２に提供された機械学習モデルを参照することを含むことができる。機械学習モデルを用いて、第１周波数領域形式のデジタル音声データ（例えば、周波数変換バッファ２１２内の一連のデータフレーム）が音楽を表すまたは音楽を表さないか否かに関して二項分類を実行することができる。いくつかの例において、機械学習モデルは、低電力プロセッサ２０２上で連続的に動作する小さな量子化重畳型ニューラルネットワークであってもよい。
【００９３】
ボックス３２０において、デジタル音声データが音楽を表すか否かを判断することは、デジタル音声データが音楽を表すか否かを示す値を音楽推定結果バッファ２１６に保存することを含む。例えば、音楽推定プロセス２１４を実行した後、低電力プロセッサ２０２は、第１周波数領域形式のデジタル音声データが音楽を表すか否かを示す二進値２１８（例えば、音楽を示す場合「１」、音楽を示ない場合「０」）を音楽推定結果バッファ２１６に追加することができる。いくつかの例において、音楽推定結果バッファ２１６は、特定数（例えば、７つ）の最新の音楽推定結果値が保存され、より古い決定値が新しい決定値によって上書きされるような循環型バッファであってもよい。
【００９４】
ボックス３２２において、デジタル音声データが音楽を表すか否かを判断することは、過去の音楽推定結果がデジタル音声が音楽を表すことを示す表記を出力するための所定の基準を満たすか否かを判断することを含む。例えば、二進値２１８を音楽推定結果バッファ２１６に追加した後、低電力プロセッサ２０２は、音楽推定結果バッファ２１６内の過去の音楽推定結果の一部または全体を入力として受信する音楽判断プロセス２２０を実行することができる。本実施例において、音楽判断プロセス２２０は、１秒の間隔で生成された過去の７つの音楽推定結果を含む音楽推定結果バッファ２１６の全体を入力として受信する。いくつかの例において、デジタル音声が音楽を表すことを示す表記を出力するための所定の基準は、音楽推定結果バッファ２１６内の過去の音楽推定結果の閾値数（例えば、７つのうち５つ）が第１周波数領域形式のデジタル音声が音楽を表すことを示すか否かを判断することを含む。いくつかの例において、デジタル音声が音楽を表すことを示す表記を出力するための所定の基準は、音楽推定結果バッファ２１６内の過去の連続した音楽推定結果の閾値数（例えば、４つの連続した結果）が第１周波数領域形式のデジタル音声が音楽を表すことを示すか否かを判断することを含む。
【００９５】
ボックス３２４において、デジタル音声データが音楽を表すか否かを判断することは、デジタル音声データが音楽を表すことを示す表記を出力することを含む。例えば、音楽判断プロセス２２０によって第１周波数領域形式のデジタル音声データが音楽を表すという判断に応答して、低電力プロセッサ２０２は、音声を解析するための命令２２２およびデジタル音声バッファ２０６からの対応するデジタル音声２２４を（図４に示された）高電力プロセッサ４０２に提供することができる。本実施例において、（例えば、時間領域形式で記録された過去８秒のデジタル音声データを含む）デジタル音声バッファ２０６の全てのコンテンツは、高電力プロセッサに提供され、さらに処理される。
【００９６】
ボックス３２６において、デジタル音声データが音楽を表すか否かを判断することは、デジタル音声データが音楽を表すか否かを判断する前に、音楽判断プロセスを開始するためのユーザ入力を受信することなく、デジタル音声データが音楽を表さないことを複数回（例えば、数千回）に判断することを含む。例えば、コンピューティング装置１００は、音楽の周囲音声を継続的に監視することによって、音楽が存在しないと判断することができる。音楽が存在する場合（例えば、音楽が装置の近くに再生される場合、または装置が音楽のある場所に移動される場合）、コンピューティング装置１００は、装置のユーザから音楽を判断するプロセスを開始するための入力なしで、音楽を検出することができる。
【００９７】
図４は、参照歌曲データを受信および格納し、例示的なコンピューティング装置の現在環境に再生されている歌曲を識別するために使用される例示的なコンピューティング装置の構成要素、動作およびデータ構造を示す概念図である。図４に示すように、（例えば、図１に示された高電力プロセッサ１１０と同様の）高電力プロセッサ４０２を用いて、再生中の歌曲を示すデータが（例えば、図１に示された装置上歌曲データベース１１６と同様の）装置上歌曲データベース４０４に格納された歌曲を示すデータと一致するか否かを判断することができる。高電力プロセッサ４０２は、例えば、装置のメインプロセッサ（例えば、中央処理装置（ＣＰＵ））であってもよい。高電力プロセッサ４０２は、（図２に示された）低電力プロセッサ２０２よりも高い電圧またはワット数で動作し、低電力プロセッサ２０２のクロック信号より少なくとも１桁速い（例えば、５倍、１０倍、２０倍、または３０倍速い）クロック信号で動作する。いくつかの例において、高電力プロセッサ４０２は、２つ以上のＣＰＵコアを含んでもよい。いくつかの例において、装置上歌曲データベース４０４は、永続的なメモリを使用して実装することができ、装置上歌曲データベース４０４内のデータの一部または全ては、歌曲識別プロセスを促進するように、装置のランダムアクセスメモリ（ＲＡＭ）にロードすることができる。参照歌曲データを受信し、装置上歌曲データベース４０４に格納するための要素、操作およびデータ構造は、図５を参照してさらに詳細に説明する。高電力プロセッサ４０２によって使用され、再生中の歌曲を識別するための要素、操作およびデータ構造は、図６Ａおよび６Ｂを参照してさらに詳細に説明する。
【００９８】
図５は、参照歌曲データを受信および格納するための例示的なプロセスを示す図である。一般的に、このプロセスは、定期的に（例えば、毎日、毎週）実行することができ、装置の変更（例えば、装置の場所の変更）に応じて実行することができ、および／またはユーザ入力に応じて実行することができる。図１を参照して、例えば、新しい歌曲を表すデータをグローバル歌曲データベース１２０に追加することができる。それに応じて、参照歌曲データ１１８は、コンピューティング装置１００に提供され、装置上参照歌曲データベース１１６に格納される。別の例として、コンピューティング装置１１０の位置を変更することができる。それに応じて、コンピューティング装置１１０の現在位置に関連する参照歌曲データ１１８は、装置上参照歌曲データベース１１６に提供され、格納される。別の例として、コンピューティング装置１１０のユーザは、最新の参照歌曲データ１１８を装置上参照歌曲データベース１１６に保存する要求をトリガーするための特定の入力をサーバシステム１５０に提供することができる。
【００９９】
ボックス５０２において、コンピューティング装置は、リモートコンピューティングシステムから参照歌曲特徴データを受信する。再び図１を参照して、コンピューティング装置１００は、例えば、サーバシステム１５０から参照歌曲データ１１８を受信する。サーバシステム１５０は、グローバル歌曲データベース１２０から、参照歌曲データ１１８によって表される歌曲を選択することができる。例えば、サーバシステム１５０は、歌曲選別プロセス１２２を用いて、装置の位置、装置ユーザの音楽趣味および他の関連要素に基づいて、コンピューティング装置１００に送信する特定の歌曲セットを選択することができる。
【０１００】
歌曲の参照歌曲特徴データは、歌曲の特徴を決定するためのデータを含む。このデータは、ニューラルネットワークを用いて、歌曲に含まれる一連の時間窓の各々の特徴ベクトルセットを生成する歌曲特徴プロセスによって生成される。一般的に、歌曲の特徴ベクトルセットを生成するプロセスは、（例えば、高速フーリエ変換（ＦＦＴ）アルゴリズムを用いて）歌曲のデジタル音声を時間領域形式から周波数領域形式に変換することと、周波数領域形式のデータをニューラルネットワークに提供することによって、歌曲の識別特徴（fingerprint）を生成する。歌曲の識別特徴は、例えば、歌曲に含まれた各々の２秒窓の９６個の特徴ベクトルセットを含むことができる。
【０１０１】
いくつかの例において、各々の特徴ベクトルに対して、平滑化プロセスを実行することができる。これによって、先行および／または後続の時間窓に対応する特徴ベクトル値に基づいて、所定の時間窓の特定の特徴ベクトル値を調整することができる。例えば、
平滑化された値［ｔ］＝
１×値［ｔ−２］＋
３×値［ｔ−１］＋
４×値［ｔ］＋
３×値［ｔ＋１］＋
１×値［ｔ＋２］
いくつかの例において、特徴ベクトル値は、浮動値から二進値に変換することができる。例えば、特徴ベクトル値は、ゼロ平均値に分布されている正値および負値を含むことができる。例えば、各特徴ベクトル値を平滑化した後、これらの値を二進値に変換して、正値を真（例えば、１）にマッピングし、ゼロおよび負値を偽（例えば、−１）にマッピングすることができる。いくつかの例において、平滑化された値［ｔ］は、特定の特徴ベクトルの各値に対して生成される。例えば、特徴ベクトル値を二値化および平滑化することによって、各歌曲のコンパクトな識別特徴を生成することができる。
【０１０２】
ボックス５０４において、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納する。図４を参照して、参照歌曲特徴データ（例えば、図１に示された参照歌曲データ１１８）は、装置上歌曲データベース４０４に格納されてもよい。
【０１０３】
ボックス５０６において、格納された複数の参照歌曲の中の各参照歌曲の参照歌曲特徴データは、複数の音声特徴に対応する複数の参照歌曲特徴値を含む。本実施例において、歌曲の各２秒窓は、９６個の歌曲特徴値に関連し、各々の歌曲特徴値は、異なる音声特徴に対応する。
【０１０４】
ボックス５０８において、格納された複数の参照歌曲の中の全ての参照歌曲の参照歌曲特徴データは、同じ量の音声特徴を有する。本実施例において、各歌曲は、９６個の音声特徴を有する。  ボックス５１０において、複数の参照歌曲の全ての参照歌曲の参照歌曲特徴値は、二進値１または二進値０である（すなわち、各値は、二進値１または二進値０に限定される）。本実施例において、各歌曲および歌曲の各２秒窓の各歌曲特徴には、二進値１または二進値０が割り当てられる。
【０１０５】
ボックス５１２において、複数の参照歌曲は、少なくとも１万曲の参照歌曲を含み、参照歌曲特徴データは、少なくとも１万曲の参照歌曲の音声特徴を識別する。各々の歌曲がコンパクトでありながら詳細な識別特徴を有するため、例えば、装置上歌曲データベース４０４に大量の参照歌曲の識別特徴データを保存することができる。
【０１０６】
図６Ａおよび６Ｂは、例示的なコンピューティング装置の現在環境に再生されている歌曲を識別するための例示的なプロセスを示す図である。一般的に、このプロセスは、（図３Ａおよび３Ｂを参照して上述したように）検出された周囲音声に音楽が含まれているという判断に応じて、コンピューティング装置によって自動的に開始されてもよい。例えば、（図１に示された）コンピューティング装置１００は、（図１に示された）低電力プロセッサ１０４を用いて、可能な音楽を検出するための環境内の周囲音声を継続的に監視し、音楽が検出された場合のみ、コンピューティング装置１００は、（図１に示された）高電力プロセッサ１１０を用いて、複数の参照歌曲から、再生されている特定の歌曲を識別することができる。
【０１０７】
ボックス６０２において、音声を解析するための命令を受信する。例えば、（図２に示された、図１の低電力プロセッサ１０４と同様の）低電力プロセッサ２０２は、デジタル音声データが音楽を表すという判断に応じて、音声２２２を解析するための命令を（図４に示された、図１の高電力プロセッサ１１０と同様の）高電力プロセッサ４０２に提供することができる。
【０１０８】
ボックス６０４において、音声を解析するための命令を受信することは、対応するデジタル音声２２４を受信することを含むことができる。例えば、対応するデジタル音声２２４は、（図２に示された）デジタル音声バッファ２０６のコンテンツの一部または全てを含むことができる。本実施例において、対応するデジタル音声２２４は、記録および変換された時間領域形式のデジタル音声データの過去の８秒を含む。このデジタル音声データは、低電力プロセッサ１０４が音楽が再生されているという判断を行うときに基づいた音声コンテンツと少なくとも同様であってもよい。
【０１０９】
ボックス６０６において、コンピューティング装置は、デジタル音声データが複数の参照歌曲の中の特定の参照歌曲を表すことを認識する。例えば、高電力プロセッサ４０２は、対応するデジタル音声２２４が、装置上歌曲データベース４０４内の歌曲のいずれかの参照歌曲特徴データと一致するか否かを判断することができる。
【０１１０】
ボックス６０８において、デジタル音声データが特定の参照歌曲を表すことを認識することは、第２周波数領域変換プロセスにおいて、デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、変換されたデジタル音声データをバッファに格納することとを含むことができる。例えば、高電力プロセッサ４０２は、対応するデジタル音声２２４を時間領域形式から第２周波数領域形式に変換する周波数変換プロセス４０８を実行することができる。例えば、高電力プロセッサ４０２は、特定の間隔（４６ミリ秒の間隔、６９ミリ秒の間隔、９２ミリ秒の間隔）で、特定の長さのサンプリング窓（例えば、９２ミリ秒のサンプリング窓、１３８ミリ秒のサンプリング窓、１８４ミリ秒のサンプリング窓、または別の適切な長さのサンプリング窓）を用いて、対応するデジタル音声２２４に対して周波数変換プロセス４０８を実行することができる。各サンプリング窓において、周波数変換プロセス４０８は、対応するデータフレーム（例えば、データフレーム４１０）を出力する。このデータフレームは、特定数の周波数ビン（例えば、２５６ビン、５１２ビン、１０２４ビン、または別の適切な数の周波数ビン）に対応するデータ値を含み、各周波数ビンは、周波数範囲に関連する。各ビンの値は、サンプリング期間中に周波数範囲内の音声強度を表す。いくつかの例において、周波数変換プロセス４０８は、高速フーリエ変換（ＦＦＴ）アルゴリズムを用いて、サンプリングされたデジタル音声データの一部を時間領域形式から第２周波数領域形式のデータフレームに変換することができる。生成された各データフレームは、例えば、高電力プロセッサ４０２によって、一連の周波数サンプルバッファ４１２に格納されてもよい。
【０１１１】
ボックス６１０において、異なる数の周波数ビンを解析するための第２周波数領域形式および第１周波数領域形式を生成するプロセスによって、第２周波数領域形式は、第１周波数領域形式とは異なる。ビンを計算する周波数範囲（例えば、各ビンを得るために、解析された周波数の幅および／または周波数の全幅）は、第２周波数領域形式と第１周波数領域形式との間で異なってもよい。本実施例に示されたように、（図４に示された）高電力プロセッサ４０２によって実行され、音声周波数に対して一連の比較的高い解像度のデータフレーム（例えば、２５６個の周波数ビンを有するデータフレーム）を生成する周波数変換プロセス４０８に比べて、（図２に示された）低電力プロセッサ２０２によって実行された周波数変換プロセス２０８は、音声周波数に対して一連の比較的低い解像度のデータフレーム（例えば、１６個の周波数ビンを有するデータフレーム）を生成する。また、サンプリングレートは、２つの周波数変換プロセスの間に異なる場合がある。本実施例に示されたように、高電力プロセッサ４０２によって実行され、比較的長い時間窓（例えば、１８４ミリ秒）を有する一連のデータフレームを生成する周波数変換プロセス４０８に比べて、低電力プロセッサ２０２によって実行された周波数変換プロセス２０８は、比較的短い時間窓（例えば、５０ミリ秒）を有する一連のデータフレームを生成する。
【０１１２】
ボックス６１２において、第２周波数領域形式のデジタル音声データは、第２周波数領域形式の音声データを受信する音楽特徴決定プロセスに提供される。例えば、高電力プロセッサ４０２は、周波数サンプルバッファ４１２を受信し、バッファに対して音楽特徴決定プロセス４１６を実行することができる。音楽特徴決定プロセス４１６は、１秒の間隔でサンプリングされた２秒窓上でバッファを処理する。本実施例において、歌曲特徴決定プロセス４０６は、各々の２秒窓に対して９６個の歌曲特徴セット（例えば、特徴ベクトルまたは９６個の値）を出力するため、８秒の周波数サンプルバッファ４１２に対して７セットの９６個の歌曲特徴を生成する。いくつかの例において、音楽特徴決定プロセス４０６は、１２８個の歌曲特徴セットを出力する。様々な例において、窓間の間隔は、０．５秒または１秒である。
【０１１３】
ボックス６１４において、音楽の特徴を決定するように訓練された機械学習システムを用いて、音楽特徴決定プロセスを実行することができる。例えば、歌曲特徴セットを生成するために、音楽特徴決定プロセス４１６は、オフラインで（例えば、以前にサーバシステム１５０で）訓練され、高電力プロセッサ４０２に提供された機械学習モデルを参照することができる。機械学習モデルを用いて、音楽の前後セクションの歌曲特徴セットと共に、歌曲の周波数サンプリング窓（例えば、２秒窓）から将来に使用可能な歌曲特徴セット（例えば、特徴ベクトル）を生成することによって、歌曲を鑑別または識別することができる。いくつかの例において、機械学習モデルは、高電力プロセッサ４０２上で動作する小さな量子化重畳型ニューラルネットワークであってもよい。
【０１１４】
ボックス６１６において、デジタル音声データの複数の特徴値を出力することができる。例えば、歌曲特徴決定プロセス４１６の出力（例えば、８秒間の周波数サンプルバッファ４１２の７セットの９６個の歌曲特徴）は、現在歌曲特徴４１８として装置のメモリに記憶および／または保存することができる。各歌曲特徴は、浮動値（例えば、０．４４３などの実数値）で表される。
【０１１５】
ボックス６１８において、デジタル音声データの複数の特徴値の二進表現を参照歌曲の複数の特徴値と比較することによって、複数の候補歌曲を選択する。選択された候補歌曲は、周囲音声の特徴値の二進表現に関連するまたは一致する歌曲である。例えば、高電力プロセッサ４０２は、候補識別プロセス４２０を実行することができる。候補識別プロセス４２０は、現在歌曲特徴４１８の一部または全てを受信し、装置上歌曲データベース４０４から参照された歌曲の音声特徴（例えば、特徴ベクトル）の一部または全てを受信し、比較することによって、一致する可能性がある複数の歌曲を識別する。本実施例において、候補識別プロセス４２０は、現在歌曲特徴４１８から一部の特徴（例えば、９６個の特徴から４８個の特徴）を選択し、各々の２秒窓に対応する値（例えば、７組の４８個値）を受信し、各値を浮動値から二進値に変換する。また、候補識別プロセス４２０は、装置上歌曲データベース４０４に保存された歌曲の各々に対応する４８個の音声特徴の各々の二進値を受信する。
【０１１６】
いくつかの例において、コンピューティング装置は、２秒歌曲特徴の窓が順番上に一致するか否かを考慮せず、各２秒間の現在歌曲特徴セットと各２秒間の参照歌曲特徴セットとを比較する。例えば、この比較は、現在歌曲特徴セットおよび参照歌曲特徴セットの連続性を考慮せず、各セットの現在歌曲特徴と他のセットの参照歌曲特徴との間のハミング距離を特定する。したがって、現在歌曲の８秒間の全てのバッファデータが対応する参照歌曲の８秒間のバッファデータと一致しなくても、現在歌曲の１つ以上の２秒窓のデータが参照歌曲の１つ以上の２秒窓のデータと一致した場合、コンピューティング装置は、参照歌曲をマッチング候補として特定することができる。
【０１１７】
いくつかの例において、参照歌曲に重みを付ける。これによって、全体としてより人気である（または特定のユーザに関連する基準、例えば、上述した地理位置、傾聴好みにより関連している）と判断された歌曲は、一致する可能性のある歌曲として特定される可能性が高くなる。
【０１１８】
図７を参照して、コンピューティング装置によって実行された例示的な候補識別プロセス（例えば、候補識別プロセス４２０）の概念図が示されている。図７に示されたように、現在歌曲特徴４１８は、（図４に示された）周波数サンプルバッファ４１２の各サンプリング窓の歌曲特徴セットを含み、各サンプリング窓は、隣接するサンプリング窓と部分的に重なり合う。本実施例において、現在歌曲の特徴は、０〜２秒のバッファ部分の特徴セット７０２ａ、１〜３秒のバッファ部分の特徴セット７０２ｂ、２〜４秒のバッファ部分の特徴セット７０２ｃ、３〜５秒のバッファ部分の特徴セット７０２ｄ、４〜６秒のバッファ部分の特徴セット７０２ｅ、５〜７秒のバッファ部分の特徴セット７０２ｆ、および６〜８秒のバッファ部分の特徴セット７０２ｇを含む。比較７０４は、高電力プロセッサ４０２（図４に示す）によって実行され、全ての歌曲に対して、現在歌曲の各特徴セットを参照歌曲の各特徴セットと比較することを含む。例えば、全ての歌曲に対して、現在歌曲の連続的な特徴セット７０２ａ〜７０２ｇは、同じセット数（例えば、７）を有する参照歌曲の連続的な特徴セットと各々比較される。本実施例において、現在歌曲の７つの連続的な特徴セット７０２ａ〜７０２ｇは、参照歌曲＃１の７つの連続的な特徴セットと比較される。この比較は、参照セット７１２ａ（例えば、０〜２秒間の歌曲の特徴）から始まり、参照セット７１２ｂ（例えば、１〜３秒の歌曲の特徴）、参照セット７１２ｃ（例えば、２〜４秒の歌曲の特徴）、参照セット７１２ｄ（例えば、３〜５秒の歌曲の特徴）、以下同様、６〜８秒のバッファ部分の現在歌曲の特徴セット７０２ｇが参照歌曲の最後の２秒間の歌曲の特徴セット７１２ｎと比較されるまで実行される。
【０１１９】
いくつかの例において、現在歌曲の各特徴セットを参照歌曲の各特徴セットと比較することは、現在歌曲の連続的な特徴セットの各特徴セットと同じセット数（例えば、７）を有する参照歌曲の連続的な特徴セットの各特徴セットとの間のハミング距離を計算することを含み得る。例えば、ハミング距離を合計することによって、特定のオフセット位置にある特定の参照歌曲のスコアを計算することができる。特定のオフセット位置にある特定の参照歌曲が閾値を満たすスコアを有する場合（例えば、スコアが閾値よりも低い場合）、その歌曲を一致する可能性のある歌曲として特定し、候補歌曲リストに追加することができる。さらなる処理を容易にするように、参照歌曲と関連するオフセット位置との情報を（例えば、メモリに）保存することができる。
【０１２０】
いくつかの例において、候補識別プロセス４２０は、解析木を実行することを含む。解析木において、現在歌曲の特徴（二進値）は、解析木の入力として提供され、候補歌曲は、参照歌曲の特徴値に応じて解析木の枝に位置する。したがって、高電力プロセッサ１１０は、現在歌曲の特徴を、装置上歌曲データベース１１６内の全ての参照歌曲の全ての特徴と比較せず、解析木に移動して、現在歌曲の特徴を有するゼロ以上の候補歌曲を特定する。
【０１２１】
ボックス６２０において、デジタル音声データの複数の特徴値を、複数の参照歌曲の中の少なくとも一部の候補歌曲の各歌曲の複数の特徴値と比較する。再び図４を参照して、例えば、高電力プロセッサ４０２は、歌曲識別プロセス４２２を実行することによって、候補歌曲のリスト（例えば、百曲の歌曲）から１つの一致する歌曲（または一致しない歌曲）を特定することができる。いくつかの例において、ボックス６２０の操作は、ボックス６１８で識別された候補歌曲セットに対して実行される。いくつかの例において、ボックス６２０の操作は、候補歌曲セットを予め識別することなく実行されてもよい。
【０１２２】
ボックス６２２において、デジタル音声データの特徴値を複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することは、（ａ）実数であるデジタル音声データの特徴値と、（ｂ）二進値０および二進値１に限定された複数の歌曲の少なくとも一部の歌曲の中の各歌曲の特徴値との比較を含む。例えば、歌曲識別プロセス４２２は、現在歌曲特徴４１８の一部または全てを受信することができ、装置上歌曲データベース４０４に保存され且つ候補歌曲リストに含まれた歌曲の音声特徴（例えば、特徴ベクトル）の一部または全てを受信することができる。例えば、現在歌曲特徴４１８の特徴値の各々は、浮動値であり得るが、装置上歌曲データベース４０４に保存された歌曲の特徴値の各々は、二進値であってもよい。
【０１２３】
いくつかの例において、デジタル音声データの特徴値を参照歌曲の特徴値と比較することは、全ての歌曲特徴よりも少ない特徴の比較を含むことができる。例えば、候補歌曲リスト内の候補歌曲を選別するために、歌曲識別プロセス４２２は、以前に識別されたオフセット位置にある各参照歌曲のスコアを再計算することを含むことができる。例えば、スコアを再計算することは、非対称二進値距離（例えば、現在歌曲の特徴の二進値と対応する参照歌曲の特徴の浮動値との間の余弦距離、偽＝−１および真＝１）を計算することを含むことができる。本実施例において、選別プロセスは、９６個の特徴のうち４８個の特徴を使用することができる。特定のオフセット位置にある特定の参照歌曲のスコアが閾値を満たさない場合（例えば、スコアが閾値以上である場合）、その歌曲を候補歌曲リストから削除することができる。
【０１２４】
いくつかの例において、デジタル音声データの特徴値を参照歌曲の特徴値と比較することは、全ての歌曲特徴の比較を含むことができる。例えば、候補歌曲リストから１つの一致する歌曲を特定するために（または一致する歌曲が存在しないことを判断するために）、歌曲識別プロセス４２２は、以前に識別されたオフセット位置にある各参照歌曲のスコアを再計算することを含むことができる。例えば、スコアを再計算することは、全ての９６個の特徴の非対称二進値距離（例えば、現在歌曲の特徴の二進値と対応する参照歌曲の特徴の浮動値との間の余弦距離、偽＝−１および真＝１）を計算することを含むことができ、様々な適応スコアリング手法を含むことができる。別の例として、歌曲識別プロセス４２２は、候補参照歌曲の各々の類似度マップ４２４を用いて、対角線に沿ってスコアを計算することによって、スコアを再計算することができる。別の例として、歌曲識別プロセス４２２は、比較解析木を用いて、スコアを再計算することができる。
【０１２５】
ボックス６２４において、デジタル音声データの特徴値を複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することは、関連するデータを要求するためのリクエストをリモートコンピューティング装置に送信せず、コンピューティング装置上の複数の歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値にアクセスすることによって実行される。例えば、装置上歌曲データベース４０４は、数万曲の歌曲のコンパクトな識別特徴を含むことができるため、モバイル装置からサーバに識別するための音声データを送信する必要なく、モバイル装置上で歌曲を識別することができる。モバイル装置上で歌曲を識別することによって、歌曲の識別を迅速に実行することができ、ネットワーク接続が利用できない状況にも実行することができる。また、モバイル装置からサーバに音声データを送信する必要なく、歌曲の識別を実行することによって、ユーザのプライバシーを維持することができる。
【０１２６】
いくつかの例において、候補歌曲のスコアを計算することは、現在歌曲のデータのバッファの全体が対応する候補歌曲のデータのバッファの全体と一致する程度を説明することができる。現在歌曲のバッファが８秒であり、７つの２秒窓のデータを含む例において、これらの７つの２秒窓のデータと、候補歌曲の７つの２秒窓のデータと順次に一致する程度が、計算された候補歌曲のスコアに影響を与える可能性がある。他の例において、バッファ全体が互いに一致する必要はないが、順次に一致した数は、計算された候補歌曲のスコアに影響を与える可能性がある。
【０１２７】
いくつかの例において、参照歌曲に重みを付ける。これによって、全体としてより人気である（または特定のユーザに関連する基準、例えば、地理位置、傾聴好みにより関連している）と判断された歌曲は、一致する歌曲として特定される可能性が高くなる。
【０１２８】
ボックス６２６において、特定の参照歌曲の複数の特徴値がデジタル音声データの複数の特徴値に最も関連していることを判断する。例えば、歌曲識別プロセス４２２は、計算されたスコアに従って、残りの候補歌曲の各々にランキングを付けることができ、全ての残りの候補歌曲のうち、特定の候補歌曲が最も高いランキングを有し且つ特定の候補歌曲のスコアが閾値を満たす場合、特定の候補歌曲を、現在歌曲特徴４１８と一致する歌曲特徴を有する歌曲として識別することができる。例えば、候補歌曲のいずれも閾値を満たすスコアを有しない場合、歌曲識別プロセスは、現在歌曲特徴４１８と一致する歌曲特徴を有する歌曲として識別しない。軽量化プロセスを用いて大量の歌曲を比較的少量の候補歌曲に選別処理した後、より計算集約的なプロセスを用いて少量の候補歌曲から一致する歌曲を識別する２段階で歌曲の識別を実行することによって、処理リソースを節約しながら、一致する歌曲を迅速且つ正確に識別することができる。
【０１２９】
ボックス６２８において、特定の参照歌曲の複数の特徴値がデジタル音声データの複数の特徴値に最も関連しているという判断に応答して、コンピューティング装置は、特定の参照歌曲が再生されていることを示す表記を出力する。例えば、歌曲識別プロセス４２２は、識別された歌曲を示す表記４３０を出力することができる。
【０１３０】
ボックス６３０において、特定の参照歌曲が再生されていることを示す表記を出力することは、ユーザ入力によって歌曲識別プロセスを実行するようにコンピューティング装置を促すことなく、少なくとも数時間前（例えば、少なくとも４時間前、少なくとも数日前、または少なくとも１か月前）に連続した歌曲識別プロセスを有効にすることによって、コンピューティング装置のロック画面に特定の参照歌曲の名前を提示することを含む。図８を参照して、例えば、（図１に示された）コンピューティング装置１００のロック画面上に表示される例示的なユーザインターフェイス８００を示している。例えば、ユーザインターフェイス８００は、現在識別された歌曲の視覚表記８０２を含む。視覚表記８０２は、歌曲に関連するテキスト情報、例えば、歌曲の曲名、歌手の名前、アルバム名および他の関連情報を含むことができる。いくつかの例において、特定の参照歌曲が再生されていることを示す表記を出力することは、特定の参照歌曲を特定するための音声を再生することを含むことができる。例えば、音声は、歌曲の曲名、歌手の名前、アルバム名およびその他の関連情報を告知することができる。
【０１３１】
ボックス６３２において、特定の参照歌曲が再生されていることを示す表記を出力することは、ユーザ入力によって歌曲識別プロセスを実行するようにコンピューティング装置を促すことなく、少なくとも数時間前（例えば、少なくとも４時間前、少なくとも数日前、または少なくとも１か月前）に連続した歌曲識別プロセスを有効にすることによって、コンピューティング装置のロック解除画面の通知パネルに特定の参照歌曲の名前を提示することを含む。コンピューティング装置１００は、例えば、最近再生された過去の１つ以上の歌曲および／または前日の同じ時間に再生された歌曲の履歴情報を表示することもできる。再び図８を参照して、例えば、例示的なユーザインターフェイス８１０は、（図１に示された）コンピューティング装置１００のロック解除画面の通知パネル８１２に特定の参照歌曲の名前を提示する。例えば、通知パネル８１２は、現在識別された歌曲に関連するテキスト情報、例えば、歌曲の曲名、歌手の名前、アルバム名および他の関連情報を含む通知を提示することができる。コンピューティング装置１００は、通知を（例えば、プルダウンメニューではなく）ポップアップダイアログボックスに提示することができ、通知を変化テキストとして装置ホーム画面のバックグラウンドディスプレイに提示することもできる。
【０１３２】
いくつかの例において、ユーザと提示された歌曲識別制御との相互作用は、コンピューティング装置に、識別された歌曲に関する１つ以上の動作を実行させることができる。例えば、ユーザとユーザインターフェイス８００の視覚表記８０２との相互作用８０４（例えば、タッチ入力）またはユーザとユーザインターフェイス８１０の通知パネル８１２との相互作用８１４（例えば、タッチ入力）に応じて、（図１に示された）コンピューティング装置１００は、現在識別された歌曲および以前に識別された歌曲のさらなる情報（例えば、発売年、歌詞、アルバムカバーの画像、関連するウェブコンテンツへのリンク）および／または利用可能なオプションを表示させるインターフェイス８２０を提示することができる。本実施例において、インターフェイス８２０は、再生制御８２２、視聴制御８２４、および以前に識別された歌曲のリスト８２６を含む。例えば、ユーザによる再生制御８２２の選択に応じて、現在識別された歌曲をコンピューティング装置１００で再生することを開始することができる。例えば、ユーザによる視聴制御８２４の選択に応答して、コンピューティング装置１００は、現在識別された歌曲のビデオを再生することができる。例えば、以前に識別された歌曲のリスト８２６内の歌曲の選択に応答して、コンピューティング装置１００は、選択された歌曲のオプションおよび／または追加情報を提示することができる。
【０１３３】
いくつかの例において、歌曲識別プロセスの主要部分または全ては、クライアント側ではなくサーバ側で実行される。このような例において、サーバ側のコンピューティングシステムは、歌曲の特徴データをクライアント装置に送信せず、代わりに、クライアント装置で記録された音声から生成された音声データまたは歌曲の特徴データをクライアント装置から受信し、歌曲の識別を実行することができる。例えば、サーバ側のコンピューティングシステムは、ボックス６０２〜６２６の操作を実行し、一致があった場合、サーバ側のコンピューティングシステムは、（例えば、ボックス６２８〜６３２で説明したように）一致する歌曲を識別する情報を送信し、音声を録音したクライアント装置によって提示される。このような例において、サーバ側のコンピューティングシステムは、（例えば、ボックス３０８〜３２６で説明したように）音楽が再生されているか否かを判断するための操作を実行する必要がない。これによって、歌曲を含まないと判断された音声の処理を回避することができる。また、ユーザが歌曲の識別を明確に要求した場合に、サーバ側のコンピューティングシステムは、音声を解析することができる。この場合、「音楽が再生されているか否か」を判断する操作をスキップして、単に「どの歌曲が再生されているか」を判断する操作を実行することは、合理的である。すなわち、音楽判断プロセスは、オプションであり、音楽判断プロセスおよび歌曲識別プロセスの両方をクライアント側またはサーバ側で実行することができ、または、一方をクライアントで実行し、他方をサーバで実行することもできる。
【０１３４】
図９を参照して、本明細書に記載されたシステムおよび方法を実施する例示的なシステムの概念図を示している。このシステムにおいて、モバイルコンピューティング装置９１０は、基地局９４０と無線通信することができる。基地局９４０は、ネットワーク９５０を介して、多くのホストサービス９６０への無線アクセスをモバイルコンピューティング装置に提供することができる。
【０１３５】
この図において、モバイルコンピューティング装置９１０は、モバイルコンピューティング装置９１０のユーザにコンテンツを提示し、ユーザからタッチベース入力を受け取るためのタッチスクリーン式ディスプレイ装置９１２を含む携帯式モバイル電話（例えば、スマートフォンまたはアプリケーション電話）として示されている。他の視覚的出力要素、触覚的出力要素および聴覚的出力要素（例えば、ＬＥＤライト、触覚出力用の振動機構、または音色出力、音声生成または録音出力を提供するためのスピーカ）ならびに様々な異なる入力要素（例えば、キーボード９１４、物理ボタン、トラックボール、加速度計、ジャイロスコープ、磁力計）を設けることもできる。
【０１３６】
ディスプレイ装置９１２の形にした例示的な視覚的出力メカニズムは、抵抗性または容量性タッチ機能を備えたディスプレイであってもよい。表示装置は、ビデオ、グラフィックス、画像およびテキストを表示することができ、ユーザのタッチ入力位置を情報表示位置に合わせて調整することができる。したがって、装置９１０は、表示されたアイテムの位置に対するユーザのタッチをそのアイテムに関連付けることができる。代替的に、モバイルコンピューティング装置９１０は、ラップトップコンピュータ、タブレットまたはスレートコンピュータ、携帯情報端末、組込みシステム（例えば、カーナビシステム）、デスクトップパーソナルコンピュータ、またはコンピュータワークステーションであってもよい。
【０１３７】
ユーザ入力を受信するための例示的なメカニズムは、キーボード９１４を含む。キーボード９１４は、標準のQWERTYキーボードであってもよく、数字「０〜９」、「＊」および「＃」キーを含む従来のキーパッドであってもよい。ユーザがキーボードのキーを物理的に接触または押下したときに、キーボード９１４は、入力を受け取る。ユーザは、トラックボール９１６を操作するまたはトラックパッドと相互作用することによって、（例えば、ディスプレイ装置９１２上のカーソルの位置を操作する）動作の方向および速度情報をモバイルコンピューティング装置９１０に提供することができる。
【０１３８】
モバイルコンピューティング装置９１０は、タッチスクリーン式ディスプレイ装置９１２との物理的接触の位置（例えば、指またはスタイラスによる接触の位置）を判断することができる。タッチスクリーン９１２を用いて、様々な「仮想」入力メカニズムを生成することができる。この場合、ユーザは、グラフィカルユーザインターフェイス要素に接触することにより、タッチスクリーン９１２に示されたグラフィカルユーザインターフェイス要素と対話する。「仮想」入力メカニズムの例は、「ソフトウェアキーボード」である。この場合、キーボードは、タッチスクリーンに表示され、ユーザは、各キーに対応するタッチスクリーン９１２の領域を押すことでキーを選択する。
【０１３９】
モバイルコンピューティング装置９１０は、機械式またはタッチ感応式ボタン９１８ａ〜９１８ｄを含むことができる。さらに、モバイルコンピューティング装置は、１つ以上のスピーカ９２０による出力音量を調整するためのボタン、およびモバイルコンピューティング装置をオンまたはオフにするためのボタンを含むことができる。モバイルコンピューティング装置９１０は、マイクロフォン９２２を用いて、可聴音を電気信号に変換することができる。変換後の電気信号は、デジタル信号にエンコードされ、コンピュータ可読メモリに保存されるまたは別のコンピューティング装置に送信される。モバイルコンピューティング装置９１０は、デジタルコンパス、加速度計、近接センサ、および周囲光センサを含むこともできる。
【０１４０】
オペレーティングシステムは、モバイルコンピューティング装置のハードウェア（例えば、入出力機構、およびコンピュータ可読媒体から取得された命令を実行するプロセッサ）とソフトウェアとの間のインターフェイスを提供することができる。オペレーティングシステムは、例示として、ＡＮＤＲＯＩＤ（登録商標）、ＣＨＲＯＭＥ、ＩＯＳ、ＭＡＣ  ＯＳ  Ｘ、ＷＩＮＤＯＷＳ（登録商標）７、ＷＩＮＤＯＷＳ  ＰＨＯＮＥ  ７、ＳＹＭＢＩＡＮ（登録商標）、ＢＬＡＣＫＢＥＲＲＹ（登録商標）、ＷＥＢＯＳ、様々なＵＮＩＸ（登録商標）オペレーティングシステム、またはコンピュータ化装置用の専用オペレーティングシステムを含む。オペレーティングシステムは、コンピューティング装置とユーザとの間の相互作用を容易にするアプリケーションプログラムを実行するためのプラットフォームを提供することができる。
【０１４１】
モバイルコンピューティング装置９１０は、タッチスクリーン９１２を用いて、グラフィカルユーザインターフェイスを形成することができる。グラフィカルユーザインターフェイスは、１つ以上のグラフィカルインターフェイス要素を含み、静的であってもよく（例えば、ディスプレイは、一定の期間に同様である）または動的であってもよい（例えば、グラフィカルユーザインターフェイスは、ユーザ入力なしで動画化するグラフィカルインターフェイス要素を含む）。
【０１４２】
グラフィカルインターフェイス要素は、テキスト、線、形状、画像、またはそれらの組み合わせであってもよい。例えば、グラフィカルインターフェイス要素は、デスクトップに表示されるアイコンおよびアイコンに関連するテキストであってもよい。いくつかの例において、グラフィカルインターフェイス要素は、ユーザ入力によって選択可能である。例えば、ユーザは、グラフィカルインターフェイス要素の表示に対応するタッチスクリーンの領域を押すことによって、グラフィカルインターフェイス要素を選択することができる。いくつかの例において、ユーザは、トラックボールを操作することによって、フォーカスを有するように単一のグラフィカルインターフェイス要素を強調表示することができる。ユーザによるグラフィカルインターフェイス要素の選択は、モバイルコンピューティング装置によって事前定義された動作を呼び出すことができる。いくつかの例において、追加的にまたは代替的には、選択可能なグラフィカルインターフェイス要素は、キーボード９０４上のボタンに対応してもよい。ユーザによるボタンの選択は、事前定義された動作を呼び出すことができる。
【０１４３】
いくつかの例において、オペレーティングシステムは、モバイルコンピューティング装置９１０をオンにした後、スリープ状態からモバイルコンピューティング装置９１０を起動した後、モバイルコンピューティング装置９１０を「ロック解除」した後、またはユーザによって「ホーム」ボタン９１８ｃを選択した後に、「デスクトップ」グラフィカルユーザインターフェイスを形成する。デスクトップグラフィカルユーザインターフェイスは、選択されると対応するアプリケーションプログラムを呼び出すいくつかのグラフィカルインターフェイス要素を表示することができる。呼び出されたアプリケーションプログラムは、終了されるまたは隠されるまで、デスクトップグラフィカルユーザインターフェイスを置換するグラフィカルインターフェイスを形成することができる。
【０１４４】
ユーザ入力は、モバイルコンピューティング装置９１０の動作の実行順序に影響を与えることができる。例えば、単一動作のユーザ入力（例えば、タッチスクリーンのシングルタップ、タッチスクリーンのスワイプ、ボタンとの接触、または同時に発生するこれら動作の組み合わせ）は、ユーザインターフェイスの表示を変更する操作を呼び出すことができる。ユーザ入力がない場合、ユーザインターフェイスは、特定の時点で変更されなくてもよい。例えば、マッピングアプリケーションがデフォルトで数秒後にズームインする場合でも、タッチスクリーン９１２に対するマルチタッチユーザ入力は、マッピングアプリケーションを呼び出して、ある位置で「ズームイン」することができる。
【０１４５】
デスクトップグラフィカルインターフェイスは、「ウィジェット」を表示することもできる。ウィジェットは、実行中のアプリケーションプログラムに関連し、実行中のアプリケーションプログラムによって制御されるデスクトップコンテンツ上に表示される１つ以上のグラフィカルインターフェイス要素である。モバイル装置の電源をオンにすると、ウィジェットのアプリケーションプログラムが起動する場合がある。さらに、ウィジェットは、全画面を占有しなくてもよい。代わりに、ウィジェットは、デスクトップの小さな一部のみを「占有」し、デスクトップのこの部分にコンテンツを表示し、ユーザのタッチスクリーン入力を受け取ることができる。
【０１４６】
モバイルコンピューティング装置９１０は、１つ以上の位置特定機構を含むことができる。位置特定機構は、モバイル装置の地理位置の推定値をオペレーティングシステムおよびアプリケーションプログラムに提供するためのハードウェアおよびソフトウェアを含むことができる。位置特定機構は、衛星測位技術、基地局送信アンテナ特定、複数の基地局三角測量、インターネットアクセスポイントＩＰ位置決定、検索エンジンクエリに基づくユーザ位置の推定、および（例えば、ユーザから場所の「チェックイン」を受信することによって）ユーザによって提供された位置の特定を使用することができる。
【０１４７】
モバイルコンピューティング装置９１０は、他のアプリケーション、コンピューティングサブシステム、およびハードウェアを含むことができる。通話処理ユニットは、着信電話の表示を受信し、着信電話に応答する機能をユーザに提供することができる。ユーザは、メディアプレーヤーを用いて、モバイルコンピューティング装置９１０のローカルメモリに保存されている音楽を聴いたり、映画を再生したりすることができる。モバイルコンピューティング装置９１０は、デジタルカメラセンサ、および対応する画像および動画を取得または編集するためのソフトウェアを含むことができる。ユーザは、インターネットブラウザを用いて、ウェブページに対応するアドレスを入力するまたはウェブページへのリンクを選択することによってウェブページのコンテンツを閲覧することができる。
【０１４８】
モバイルコンピューティング装置９１０は、基地局９４０と無線で情報を通信するためのアンテナを含むことができる。基地局９４０は、モバイルコンピューティング装置が地理的に移動しても、モバイルコンピューティング装置９１０とネットワーク９５０との通信を維持する複数の基地局（例えば、携帯電話セルラーネットワーク）のうちの１つであってもよい。代替的または追加的に、コンピューティング装置９１０は、Ｗｉ−Ｆｉ（登録商標）ルータまたは有線接続（例えば、イーサネット（登録商標）、ＵＳＢまたはファイアワイヤ）を介して、ネットワーク９５０と通信することができる。コンピューティング装置９１０は、ブルートゥース（登録商標）プロトコルを用いて他のコンピューティング装置と無線で通信することができ、またはアドホック無線ネットワークを使用することもできる。
【０１４９】
基地局のネットワークを運営するサービスプロバイダは、モバイルコンピューティング装置９１０をネットワーク９５０に接続することによって、モバイルコンピューティング装置９１０とサービス９６０を提供する他のコンピューティングシステムとの間の通信を可能にする。様々なネットワーク（例えば、サービスプロバイダの内部ネットワーク、公衆交換電話網、およびインターネット）を介してサービス９６０を提供することができるが、ネットワーク９５０は、単一のネットワークとして示されている。サービスプロバイダは、モバイルコンピューティング装置９１０とサービス９６０に関連するコンピューティングシステムとの間に情報パケットおよび音声データをルーティングするサーバシステム９５２を稼動することができる。
【０１５０】
ネットワーク９５０は、モバイルコンピューティング装置９１０と別のコンピューティング装置との間の音声通信またはファックス通信を確立するために、モバイルコンピューティング装置９１０をＰＳＴＮ（Public Switched Telephone Network：公衆交換電話網）９６２に接続することができる。例えば、サービスプロバイダのサーバシステム９５２は、ＰＳＴＮ９６２から、モバイルコンピューティング装置９１０への着信電話の指示を受信することができる。逆に、モバイルコンピューティング装置９１０は、ＰＳＴＮ９６２を介してアクセス可能な装置に関連する電話番号を用いて、通話を開始するための通信をサービスプロバイダのサーバシステム９５２に送信することができる。
【０１５１】
ネットワーク９５０は、ＰＳＴＮとは対照的に、モバイルコンピューティング装置９１０を、ＩＰネットワークを介して音声通信をルーティングするＶｏＩＰ（Voice over Internet Protocol：ボイスオーバーインターネットプロトコル）サービス９６４に接続することができる。例えば、モバイルコンピューティング装置９１０のユーザは、ＶｏＩＰアプリケーションを呼び出し、呼び出したアプリケーションを使用して通話を開始することができる。サービスプロバイダサーバシステム９５２は、通話の音声データをＶｏＩＰサービスに転送することができ、ＶｏＩＰサービスは、インターネットを介して、場合によって接続の最終部分にＰＳＴＮを用いて、通話を対応するコンピューティング装置にルーティングすることができる。
【０１５２】
アプリケーションストア９６６は、リモートに格納されたアプリケーションプログラムのリストをモバイルコンピューティング装置９１０のユーザに提供することができる。よって、ユーザは、ネットワーク９５０を介してアプリケーションプログラムをダウンロードし、モバイルコンピューティング装置９１０にインストールすることができる。アプリケーションストア９６６は、第三者のアプリケーション開発者によって開発されたアプリケーションのリポジトリとして機能する。モバイルコンピューティング装置９１０にインストールされたアプリケーションプログラムは、ネットワーク９５０を介して、アプリケーションプログラム用に指定されたサーバシステムと通信することができる。例えば、ユーザは、アプリケーションストア９６６からダウンロードしたＶｏＩＰアプリケーションプログラムを用いて、ＶｏＩＰサービス９６４と通信することができる。
【０１５３】
モバイルコンピューティング装置９１０は、ネットワーク９５０を介して、インターネット９６８上のコンテンツにアクセスすることができる。例えば、モバイルコンピューティング装置９１０のユーザは、ウェブブラウザアプリケーションを呼び出して、指定のＵＲＬでアクセス可能なリモートコンピューティング装置からデータを要求することができる。様々な例において、サービス９６０の一部は、インターネットを介してアクセスすることができる。
【０１５４】
モバイルコンピューティング装置は、パーソナルコンピュータ９７０と通信することができる。例えば、パーソナルコンピュータ９７０は、モバイルコンピューティング装置９１０のユーザが使用しているホームコンピュータであってもよい。したがって、ユーザは、自分のパーソナルコンピュータ９７０からメディアを再生することができる。また、ユーザは、自分のパーソナルコンピュータ９７０のファイル構造を閲覧し、コンピュータ装置の間に選択した文書を転送することができる。
【０１５５】
音声認識サービス９７２は、モバイルコンピューティング装置のマイクロフォン９２２で記録された音声通信データを受信し、音声通信データを対応するテキストデータに変換することができる。いくつかの例において、変換されたテキストは、ウェブクエリとして検索エンジンに提供され、検索エンジンからの検索結果は、モバイルコンピューティング装置９１０に送信される。
【０１５６】
モバイルコンピューティング装置９１０は、ソーシャルネットワーク９７４と通信することができる。ソーシャルネットワークは、多数のメンバを含むことができ、そのうちの一部は、知り合いとして帰属される。モバイルコンピューティング装置９１０上のアプリケーションプログラムは、ソーシャルネットワーク９７４にアクセスして、モバイルコンピューティング装置のユーザの知り合いに基づいて情報を取得することができる。例えば、「アドレス帳」アプリケーションプログラムは、ユーザの知り合いの電話番号を取得することができる。様々な例において、メンバおよび相互の関連性を示すソーシャルネットワークグラフにおけるユーザと他のメンバとのソーシャルネットワーク上の距離に基づいて、モバイルコンピューティング装置９１０にコンテンツを配信することができる。例えば、ユーザと「親しい」メンバ（「友達」または「友達の友達」）からの広告およびニュース記事との絡み程度に基づいて、これらのコンテンツを選択してユーザに提供することができる。
【０１５７】
モバイルコンピューティング装置９１０は、ネットワーク９５０を介して個人連絡先９７６にアクセスすることができる。各連絡先は、個人を特定し、その人に関する情報（例えば、電話番号、電子メールアドレスおよび誕生日）を含むことができる。連絡先は、モバイルコンピューティング装置９１０に対してリモートでホストされているため、ユーザは、複数の装置から共通の連絡先としての連絡先９７６にアクセスし、保存することができる。
【０１５８】
モバイルコンピューティング装置９１０は、クラウドベースアプリケーションプログラム９７８にアクセスすることができる。クラウドコンピューティングは、アプリケーションプログラム（例えば、ワードプロセッサまたは電子メールプログラム）を提供することができる。これらのアプリケーションプログラムは、モバイルコンピューティング装置９１０に対してリモートでホストされ、装置９１０は、ウェブブラウザまたは専用プログラムを介してアクセス可能である。クラウドベースアプリケーションプログラムの例は、ＧＯＯＧＬＥ（登録商標）ドキュメントワードプロセッサおよびスプレッドシートサービス、ＧＯＯＧＬＥ  ＧＭＡＩＬウェブメールサービス、ＰＩＣＡＳＡピクチャマネージャを含む。
【０１５９】
マッピングサービス９８０は、モバイルコンピューティング装置９１０にストリートマップ、ルート計画情報、および衛星画像を提供することができる。マッピングサービスの例は、ＧＯＯＧＬＥマップを含む。また、マッピングサービス９８０は、クエリを受信し、特定の位置を示す結果を返すことができる。例えば、モバイルコンピューティング装置９１０は、モバイルコンピューティング装置の推定位置および「ピザ店」を探すユーザクエリをマッピングサービス９８０に送信することができる。マッピングサービス９８０は、スーパーインポーズ「マーカ」で近くの「ピザ店」の地理位置を標記したストリートマップを返すことができる。
【０１６０】
ターンバイターンサービス９８２は、ユーザが指定した目的地へのターンバイターン方向をモバイルコンピューティング装置９１０に提供することができる。例えば、ターンバイターンサービス９８２は、装置９１０の推定位置のストリートビューを装置９１０に配信すると共に、音声コマンドおよびスーパーインポーズ矢印を使用して、装置９１０のユーザを目的地まで誘導することができる。
【０１６１】
モバイルコンピューティング装置９１０は、様々なストリーミングメディア９８４をリクエストすることができる。例えば、コンピューティング装置９１０は、事前に録画したビデオファイル、ライブテレビ番組またはライブラジオ番組のストリームをリクエストすることができる。ストリーミングメディアを提供するサービスの例は、YouTube（登録商標）およびPandoraを含む。
【０１６２】
マイクロブログサービス９８６は、モバイルコンピューティング装置９１０から、投稿の受信者を指定しないユーザ投稿を受け取ることができる。マイクロブログサービス９８６は、ユーザの投稿を購読したマイクロブログサービス９８６の他のメンバに投稿を配布することができる。
【０１６３】
検索エンジン９８８は、モバイルコンピューティング装置９１０からユーザが入力したテキストクエリまたは音声クエリを受信し、クエリに対応するインターネットアクセス可能なドキュメントを決定し、対応するドキュメントの検索結果のリストを示す情報を装置９１０に提供することができる。音声クエリを受信した場合、音声認識サービス９７２は、受信した音声をテキストクエリに変換して、検索エンジンに送信する。
【０１６４】
これらのサービスおよび他のサービスは、サーバシステム９９０で実施されてもよい。サーバシステムは、サービスまたは複数のサービスを提供するハードウェアとソフトウェアの組み合わせであってもよい。例えば、物理的に独立なコンピュータ装置およびネットワーク接続したコンピュータ装置は、論理サーバシステムユニットとして協働して必要な操作を処理することによって、数百台のコンピューティング装置にサービスを提供することができる。このようなサーバシステムは、本明細書においてコンピューティングシステムとも呼ばれる。
【０１６５】
様々な実施形態において、別の操作（例えば、判断または識別）「に応答して」または「の結果として」実行される操作は、先行の操作が失敗した場合（例えば、判断が行われていない場合）、実行されない。「自動的に」実行される操作は、ユーザの介入（ユーザ入力）なしで実行される操作である。本明細書において、条件付き言語で記載された特徴は、その実装が選択的であることを意味する。いくつかの例において、第１装置から第２装置に「送信」することは、第１装置が第２装置によって受信されるデータをネットワークに配置することを含むが、第２装置がデータを受信することを含まなくてもよい。逆に、第１装置から「受信」することは、ネットワークからデータを受信することを含むが、第１装置がデータを送信することを含まなくてもよい。
【０１６６】
コンピューティングシステムによる「判断」することは、別の装置が判断を実行し、その結果を当該コンピューティングシステムに供給することを要求することを含むことができる。また、コンピューティングシステムによる「表示」または「提示」することは、コンピューティングシステムがデータを別の装置に送信して、別の装置に参照情報を表示または提示させることを含むことができる。
【０１６７】
図１０は、クライアントとしてもしくはサーバまたは複数のサーバとして、本明細書に記載のシステムおよび方法を実現するために使用されたコンピューティング装置１０００、１０５０を示すブロック図である。コンピューティング装置１０００は、ラップトップ、デスクトップ、ワークステーション、ＰＤＡ（Personal Digital Assistant）、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図されている。コンピューティング装置１０５０は、パーソナルデジタルアシスタント、携帯電話、ＰＤＡ、携帯電話、スマートフォンおよび他の類似するコンピューティング装置などの様々な形態のモバイル装置を表すように意図されている。図示された構成要素、それらの接続および関係並びにそれらの機能は、例示的なものに過ぎず、本明細書に記載および／または請求される発明の実施を限定するものではない。
【０１６８】
コンピューティング装置１０００は、プロセッサ１００２と、メモリ１００４と、記憶装置１００６と、メモリ１００４および高速拡張ポート１０１０を連結する高速インターフェイス１００８と、低速バス１０１４および記憶装置１００６を連結する低速インターフェイス１０１２とを含む。構成要素１００２、１００４、１００６、１００８、１０１０および１０１２は、様々なバスを使用して相互に接続され、共通のマザーボード上に実装されてもよく、または適切な他の方法で実装されてもよい。プロセッサ１００２は、メモリ１００４または記憶装置１００６に記憶された命令を含むコンピューティング装置１０００内に実行される命令を処理することによって、外部入力／出力装置のＧＵＩに、例えば高速インターフェイス１００８に接続されたディスプレイ１０１６にグラフィック情報を表示することができる。他の実施態様において、複数のプロセッサおよび／または複数のバスは、複数のメモリおよび複数種類のメモリと共に、適切に使用されることができる。また、各装置が（例えば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして）必要な動作の一部を実行するように、複数のコンピューティング装置１０００を接続することができる。
【０１６９】
メモリ１００４は、コンピューティング装置１０００に情報を格納する。一実現例において、メモリ１００４は、揮発性メモリユニットである。別の実現例において、メモリ１００４は、不揮発性メモリユニットである。メモリ１００４は、別の形態のコンピュータ可読媒体、例えば、磁気ディスクまたは光ディスクであってもよい。
【０１７０】
記憶装置１００６は、コンピューティング装置１０００に大容量の記憶を提供することができる。一実現例において、記憶装置１００６は、例えば、フロッピー（登録商標）ディスク装置、ハードディスク装置、光学ディスク装置、テープディスク装置、フラッシュメモリまたは他の同様の固体メモリ装置、または記憶エリアネットワークまたは他の構成内の装置を含むアレイ記憶装置などのコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報担体に有形的に具体化することができる。また、コンピュータプログラム製品は、命令を含むことができる。これらの命令は、実行されると、上述したような１つ以上の方法を実行することができる。情報担体は、例えば、メモリ１００４、記憶装置１００６、またはプロセッサ１００２上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【０１７１】
高速コントローラ１００８は、コンピューティング装置１０００の高速の帯域幅集約動作を管理し、低速コントローラ１０１２は、低速の帯域幅集約動作を管理する。このような機能の割り当ては、例示に過ぎない。一実現例において、高速コントローラ１００８は、メモリ１００４、（例えば、グラフィックプロセッサまたはアクセラレータを介して）ディスプレイ１０１６、および様々な拡張カード（図示せず）を挿入できる高速拡張ポート１０１０に連結される。この実現例において、低速コントローラ１０１２は、記憶装置１００６および低速拡張ポート１０１４に連結される。様々な通信ポート（例えば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、例えば、キーボード、ポインティング装置、スキャナなどの１つ以上の入出力装置に連結されてもよく、またはネットワークアダプタを介して、スイッチまたはルータなどのネットワーキング装置に連結されてもよい。
【０１７２】
図示のように、コンピューティング装置１０００は、いくつかの異なる形態で実装されることができる。例えば、コンピューティング装置１０００は、標準サーバ１０２０として実装されてもよく、または標準サーバのグループ内に複数回実装されてもよい。また、コンピューティング装置１０００は、サーバラックシステム１０２４の一部として実装されてもよい。さらに、コンピューティング装置１０００は、ラップトップコンピュータ１０２２のようなパーソナルコンピュータに実装されてもよい。代替的には、コンピューティング装置１０００の要素は、装置１０５０などのモバイル装置（図示せず）内の他の要素と組み合わてもよい。このような装置の各々は、１つ以上のコンピューティング装置１０００、１０５０を含んでもよく、システムの全体は、互いに通信できる複数のコンピューティング装置１０００、１０５０から構成されてもよい。
【０１７３】
コンピューティング装置１０５０は、プロセッサ１０５２、メモリ１０６４、ディスプレイ１０５４などの入出力装置、通信インターフェイス１０６６、およびトランシーバ５６８を含む。装置１０５０は、追加の記憶を提供するために、マイクロドライブまたは他の素子などの記憶装置を備えることもできる。要素１０５０、１０５２、１０６４、１０５４、１０６６および１０６８は、様々なバスを介して相互に接続され、一部の要素は、共通のマザーボード上に実装されてもよく、または適切な他の方法で実装されてもよい。
【０１７４】
プロセッサ１０５２は、メモリ５６４に格納された命令を含むコンピューティング装置１０５０内の命令を実行することができる。このプロセッサは、互いに独立している複数のアナログプロセッサおよびデジタルプロセッサを備えるチップのチップセットとして実装されてもよい。また、いくつかのアーキテクチャのいずれかを用いて、プロセッサを実装することができる。例えば、プロセッサは、ＣＩＳＣ（複合命令セットコンピュータ）プロセッサ、ＲＩＳＣ（縮小命令セットコンピュータ）プロセッサ、またはＭＩＳＣ（最小命令セットコンピュータ）プロセッサであってもよい。このプロセッサは、装置１０５０の他の要素の協調、例えば、ユーザインターフェイスの制御、装置１０５０によるアプリケーションの実行、および装置１０５０による無線通信を提供することができる。
【０１７５】
プロセッサ１０５２は、制御インターフェイス１０５８およびディスプレイ１０５４に結合されたディスプレイインターフェイス１０５６を介してユーザと通信することができる。ディスプレイ１０５４は、例えば、ＴＦＴディスプレイ（薄膜トランジスタ液晶ディスプレイ）またはＯＬＥＤ（有機発光ダイオードディスプレイ）、または他の適切なディスプレイ技術を使用することができる。表示インターフェイス１０５６は、グラフィック情報および他の情報をユーザに表示するために、ディスプレイ１０５４を駆動する適切な回路を含むことができる。制御インターフェイス１０５８は、ユーザからの指令を受信し、変換してからプロセッサ１０５２に提供することができる。また、プロセッサ１０５２と通信するように外部インターフェイス１０６２を設けることによって、装置１０５０は、他の装置と近距離通信を行うことができる。外部インターフェイス１０６２は、例えば、いくつかの実現例において有線通信を提供することができ、他の実現例において無線通信を提供することができる。複数のインターフェイスを使用することもできる。
【０１７６】
メモリ１０６４は、コンピューティング装置１０５０に情報を格納する。メモリ１０６４は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットのうち、１つまたは複数として実装することができる。拡張メモリ１０７４は、例えば、ＳＩＭＭ（Single In Line Memory Module）カードインターフェイスを含む拡張インターフェイス１０７２を介して、装置１０５０に提供され、接続されてもよい。具体的には、拡張メモリ１０７４は、上述したプロセスを実行するまたは補足するための命令を格納することができ、セキュリティ情報を格納することもできる。したがって、拡張メモリ１０７４は、例えば、装置１０５０のセキュリティモジュールとして提供されてもよく、装置１０５０の安全使用を可能にする命令でプログラムされてもよい。さらに、ＳＩＭＭカードを介して、追加情報と共に、セキュリティアプリケーションを配置することができる。例えば、ハッキングできない方法で、ＳＩＭＭカード上に識別情報を配置することができる。
【０１７７】
以下に説明するように、メモリは、例えば、フラッシュメモリおよび／またはＮＶＲＡＭメモリを含むことができる。一実現例において、コンピュータプログラム製品は、情報担体に有形的に具体化される。コンピュータプログラム製品は、命令を含み、これらの命令は、実行されると、上述したような１つ以上の方法を実行する。情報担体は、例えば、メモリ１０６４、拡張メモリ１０７４、またはプロセッサ１０５２上のメモリなどのコンピュータ可読媒体または機械可読媒体であり、トランシーバ１０６８または外部インターフェイス１０６２を介して受信動作を実行してもよい。
【０１７８】
装置１０５０は、必要に応じてデジタル信号処理回路を含む通信インターフェイス１０６６を介して無線通信を行うことができる。通信インターフェイス１０６６は、とりわけ、ＧＳＭ（登録商標）通話、ＳＭＳ、ＥＭＳ、またはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳなどの様々なモードまたはプロトコルに基づいて、通信を提供することができる。このような通信は、例えば、高周波トランシーバ１０６８を介して行われてもよい。また、ブルートゥース（登録商標）、ＷｉＦｉ（登録商標）、または他のトランシーバ（図示せず）を用いて、短距離通信を行うことができる。さらに、ＧＰＳ（全地球測位システム）受信モジュール１０７０は、追加のナビゲーション関連無線データおよび位置関連無線データを装置１０５０に提供することができる。これらの無線データは、装置１０５０上で動作するアプリケーションに適宜に使用される。
【０１７９】
また、装置１０５０は、音声コーデック１０６０を使用して音声通信を行うことができる。音声コーデック１０６０は、ユーザから受信した音声情報を使用可能なデジタル情報に変換することができる。同様に、音声コーデック１０６０は、例えば、装置１０５０の送受話器内のスピーカを介して、ユーザに可聴な音声を生成することができる。このような音声は、音声電話からの音声を含むことができ、記録された音声（例えば、音声メッセージ、音楽ファイル）を含むことができ、装置１０５０上で動作するアプリケーションによって生成された音声を含むこともできる。
【０１８０】
図示のように、コンピューティング装置１０５０は、いくつかの異なる形態で実装されてもよい。例えば、コンピューティング装置１０５０は、携帯電話１０８０として実装されてもよく、スマートフォン１０８２、ＰＤＡまたは他の類似するモバイル装置の一部として実装されてもよい。
【０１８１】
また、コンピューティング装置１０００または１０５０は、ユニバーサルシリアルバス（ＵＳＢ）フラッシュドライブを含むことができる。ＵＳＢフラッシュドライブは、オペレーティングシステムおよび他のアプリケーションを格納することができる。ＵＳＢフラッシュドライブは、入力／出力要素、例えば、別のコンピューティング装置のＵＳＢポートに挿入することができるワイヤレストランスミッタまたはＵＳＢコネクタを含むことができる。
【０１８２】
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェアおよび／またはそれらの組み合わせで実現することができる。これらの様々な実装は、プログラム可能なシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムにおける実装を含むことができる。このプログラム可能なシステムは、記憶システムからデータおよび命令を受信し、データおよび命令を記憶システムに送信するように記憶システムに連結された少なくとも１つのプログラム可能な専用または汎用のプロセッサ、少なくとも１つの入力要素、および少なくとも１つの出力装置を含む。
【０１８３】
（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている）これらのコンピュータプログラムは、プログラム可能なプロセッサ用の機械命令を含み、高度な手続き型プログラミング言語および／または高度なオブジェクト指向プログラミング言語で実装することができ、および／またはアセンブリ言語／機械言語で実装することができる。「機械可読媒体」という用語は、本明細書に使用された場合、プログラム可能なプロセッサに機械命令および／またはデータを提供するために使用された機械可読信号としての機械命令を受け取る機械可読媒体を含む任意のコンピュータプログラム製品、機械および／または装置（例えば、磁気ディスク、光学ディスク、メモリ、プログラム可能な論理装置（ＰＬＤ））を指す。「機械可読信号」という用語は、機械命令および／またはデータをプログラム可能なプロセッサに提供するために使用された任意の信号を指す。
【０１８４】
ユーザとの情報交換を提供するために、本開示に記載されたシステムおよび技術は、情報をユーザに提示するための表示装置（例えば、ＣＲＴ（陰極線管）モニタまたはＬＣＤ（液晶ディスプレイ）モニタ）、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティング装置（例えば、マウスまたはトラックボール）を備えたコンピュータ上で実装することができる。他の種類の装置を用いて、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、任意種類の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであってもよく、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形で受信することができる。
【０１８５】
本明細書に記載のシステムおよび技術は、バックエンド要素（例えば、データサーバ）を含むコンピューティングシステム、またはミドルウェア要素（例えば、アプリケーションサーバ）を含むコンピューティングシステム、またはフロントエンド要素（例えば、ユーザが本明細書に記載のシステムおよび技術の実装と情報交換を行うことができるグラフィカルユーザインターフェイスまたはウェブブラウザを含むクライアントコンピュータ）を含むコンピューティングシステム、またはバックエンド要素、ミドルウェア要素およびフロントエンド要素の任意の組み合わせを含むコンピューティングシステムに実装されてもよい。これらのシステム要素は、任意の形式または媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ピアツーピアネットワーク（アドホックまたは静的メンバを有する）、グリッドコンピューティングインフラストラクチャ、およびインターネットを含む。
【０１８６】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般的に互いに遠隔であり、典型的には通信ネットワークを介して情報交換を行う。クライアントとサーバとの関係は、各々のコンピュータ上で動作しており、互いにクライアント−サーバ関係を有するコンピュータプログラムに依存する。
【０１８７】
上記でいくつかの実施例を詳細に説明したが、他の変更も可能である。また、本明細書に記載のシステムおよび方法を実行するために、他のメカニズムを使用することもできる。さらに、望ましい結果を達成するために、図示の論理フローは、示された特定の順序でまたは逐次に行う必要がない。図示のフローに他のステップを追加してもよく、または図示のフローから他のステップを省いてもよい。記載のシステムに他の要素を追加してもよく、システムから他の要素を除去してもよい。したがって、他の実施例は、添付の特許請求の範囲内に含まれる。
【図１】
2020537198.tif 000003
【図２】
2020537198.tif 000004
【図３Ａ】
2020537198.tif 000005
【図３Ｂ】
2020537198.tif 000006
【図４】
2020537198.tif 000007
【図５】
2020537198.tif 000008
【図６Ａ】
2020537198.tif 000009
【図６Ｂ】
2020537198.tif 000010
【図７】
2020537198.tif 000011
【図８】
2020537198.tif 000012
【図９】
2020537198.tif 000013
【図１０】
2020537198.tif 000014
【手続補正書】
【提出日】令和2年6月9日(2020.6.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータによって実施される方法であって、
コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することと、
前記コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することと、
前記コンピューティング装置を用いて、音楽判断プロセスに従って、前記デジタル音声データが音楽を表すか否かを判断することと、
前記デジタル音声データが音楽を表すことを判断した後、前記コンピューティング装置を用いて、前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識することと、
前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すという判断に応答して、前記コンピューティング装置を用いて、前記特定の参照歌曲を示す表記を出力することとを含む、コンピュータによって実施される方法。
【請求項２】
前記デジタル音声データが音楽を表すか否かを判断することは、
前記デジタル音声データを時間領域形式から周波数領域形式に変換することと、
前記周波数領域形式の前記デジタル音声データを前記音楽判断プロセスに使用することと、
前記デジタル音声データが音楽を表すという表記を出力することとを含む、請求項１に記載のコンピュータによって実施される方法。
【請求項３】
前記周波数領域形式は、第１周波数領域形式であり、
前記周波数領域変換プロセスは、第１周波数領域変換プロセスであり、
前記デジタル音声データが前記特定の参照歌曲を表すことを認識することは、
（ｉ）第２周波数領域変換プロセスにおいて、前記デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、
（ｉｉ）前記第２周波数領域形式の前記デジタル音声データを受信し、前記デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスにおいて、前記第２周波数領域形式の前記デジタル音声データを使用することと、
（ｉｉｉ）前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することによって、前記特定の参照歌曲の前記複数の特徴値が前記デジタル音声データの前記複数の特徴値に最も関連していると判断することとを含む、請求項２に記載のコンピュータによって実施される方法。
【請求項４】
前記音楽特徴決定プロセスは、音楽の特徴を決定するように訓練された機械学習システムによって実行される、請求項３に記載のコンピュータによって実施される方法。
【請求項５】
前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の複数の特徴値と比較することは、別のコンピューティング装置に歌曲特徴データを要求するためのリクエストを送信することなく、前記コンピューティング装置によって格納された前記複数の参照歌曲の前記少なくとも一部の歌曲の中の各歌曲の前記複数の特徴値にアクセスすることによって実行される、請求項３または４に記載のコンピュータによって実施される方法。
【請求項６】
前記コンピューティング装置は、前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の前記一部の歌曲の中の各歌曲の前記複数の特徴値のみと比較し、
前記方法は、
前記デジタル音声データの前記複数の特徴値の中の特徴値を、前記複数の候補歌曲の中の各歌曲の前記複数の特徴値と比較することによって、前記複数の参照歌曲の前記一部の歌曲を選択することをさらに含む、請求項３から５のいずれか一項に記載のコンピュータによって実施される方法。
【請求項７】
前記デジタル音声データの前記複数の特徴値の中の特徴値を、二進値０および１に限定されない値から二進値０および１に限定された値に変換することをさらに含み、
前記デジタル音声データの前記複数の特徴値の中の特徴値を、前記複数の候補歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１に限定された前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項３から６のいずれか一項に記載のコンピュータによって実施される方法。
【請求項８】
前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の少なくとも一部の歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１以外の値を表す実数を含む前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の前記少なくとも一部の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項３から７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項９】
前記デジタル音声データが音楽を表すか否かを判断することは、前記コンピューティング装置の第１プロセッサによって実行され、
前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識することは、前記コンピューティング装置の第２プロセッサによって実行される、請求項１から７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１０】
前記特定の参照歌曲が再生されていることを示す表記を出力することは、ユーザ入力によって歌曲識別プロセスを実行するように前記コンピューティング装置を促すことなく、連続した歌曲識別プロセスを有効にすることによって、前記コンピューティング装置のロック画面、前記コンピューティング装置の常時オン画面、または前記コンピューティング装置のロック解除画面に表示された通知に、前記特定の参照歌曲の名前を提示することを含む、請求項１から９のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１１】
前記コンピューティング装置は、前記マイクロフォンを含む、請求項１から９のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１２】
コンピュータシステムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されると、以下の動作を実行させる命令を含む１つ以上のコンピュータ可読装置とを含み、
前記動作は、
コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することと、
前記コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することと、
前記コンピューティング装置を用いて、音楽判断プロセスに従って、前記デジタル音声データが音楽を表すか否かを判断することと、
前記デジタル音声データが音楽を表すことを判断した後、前記コンピューティング装置を用いて、前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識することと、
前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すという判断に応答して、前記コンピューティング装置を用いて、前記特定の参照歌曲を示す表記を出力することとを含む、コンピュータシステム。
【請求項１３】
コンピューティングシステムであって、
音声信号を記録するように構成されたマイクロフォンと、
記録された音声信号からデジタル音声データを生成するように構成されたアナログ−デジタルコンバータと、
（ｉ）複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データと、（ｉｉ）プロセッサによって実行可能であり、前記プロセッサの動作を設定するための命令とを格納する１つ以上のコンピュータ可読メモリ装置と、
前記デジタル音声データが音楽を表すと判断した場合、前記デジタル音声データが音楽を表すことを示す表記を出力するように構成された第１プロセッサと、
前記第１プロセッサから前記デジタル音声データが音楽を表すことを示す前記表記を受信し、前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識するように構成された第２プロセッサと、
前記第２プロセッサによって、前記デジタル音声データが前記複数の参照歌曲の中の前記特定の参照歌曲を表すことを認識したことに応答して、前記特定の参照歌曲の識別子を提示するように構成された表示装置とを含む、コンピューティングシステム。
【請求項１４】
前記コンピューティングシステムは、モバイルコンピューティング装置を含み、
前記モバイルコンピューティング装置は、前記マイクロフォンと、前記アナログ−デジタルコンバータと、前記１つ以上のコンピュータ可読メモリ装置と、前記第１プロセッサと、前記第２プロセッサとを備える、請求項１３に記載のコンピューティングシステム。
【請求項１５】
前記第１プロセッサは、前記第２プロセッサよりも低い電圧で動作する、請求項１３または１４に記載のコンピューティングシステム。
【請求項１６】
前記第２プロセッサは、前記第１プロセッサが動作するクロック信号より少なくとも一桁速いクロック信号で動作する、請求項１３から１５のいずれか一項に記載のコンピューティングシステム。
【請求項１７】
前記第１プロセッサは、前記デジタル音声データが音楽を表すことを示す表記を出力するように構成され、
前記第２プロセッサは、前記コンピューティング装置が前記デジタル音声データを前記コンピューティング装置以外のコンピューティングシステムに送信することなく、前記デジタル音声データが前記特定の参照歌曲を表すことを認識するように構成される、請求項１４から１６のいずれか一項に記載のコンピューティングシステム。
【請求項１８】
前記第１プロセッサは、前記デジタル音声データが音楽を表すことを示す表記を出力するように構成され、
前記第２プロセッサは、前記コンピューティング装置がネットワークを介して外部装置に接続することなく、前記デジタル音声データが前記特定の参照歌曲を表すことを認識するように構成される、請求項１４から１７のいずれか一項に記載のコンピューティングシステム。
【請求項１９】
前記デジタル音声データが音楽を表すことを判断することは、
前記第１プロセッサを用いて、前記デジタル音声データが音楽を表すことを判断する前に、前記音楽判断プロセスを開始するためのユーザ入力を受信することなく、前記デジタル音声データが音楽を表さないことを複数回判断することを含む、請求項１４から１８のいずれか一項に記載のコンピューティングシステム。
【請求項２０】
前記１つ以上のコンピュータ可読メモリ装置によって格納された、前記複数の参照歌曲の中の前記参照歌曲の参照歌曲特徴値は、各特徴値が二進値１または二進値０に限定されるように、二進値１または二進値０に限定される、請求項１３から１９のいずれか一項に記載のコンピューティングシステム。
【請求項２１】
前記複数の参照歌曲は、少なくとも１万曲の参照歌曲を含み、
前記１つ以上のコンピュータ可読メモリ装置によって格納された前記参照歌曲特徴データは、前記少なくとも１万曲の参照歌曲の音声特徴を識別する、請求項１３から２０のいずれか一項に記載のコンピューティングシステム。
【請求項２２】
前記第１プロセッサは、
周波数領域変換プロセスにおいて、前記デジタル音声データを時間領域形式から周波数領域形式に変換することと、
前記周波数領域形式の前記デジタル音声データを受信し、前記デジタル音声データが音楽を表すことを示す表記を出力する音楽判断プロセスにおいて、前記周波数領域形式の前記デジタル音声データを使用することと
を行うことによって、前記デジタル音声データが音楽を表すことを判断するように構成される、請求項１３から２１のいずれか一項に記載のコンピューティングシステム。
【請求項２３】
前記音楽判断プロセスは、音声が音楽を表すか否かを判断するように訓練された機械学習システムを実行することを含む、請求項２２に記載のコンピューティングシステム。
【請求項２４】
前記音楽判断プロセスは、前記低電力プロセッサ上で重畳型ニューラルネットワークを実行することを含む、請求項２２に記載のコンピューティングシステム。
【請求項２５】
前記周波数領域形式は、第１周波数領域形式であり、
前記周波数領域変換プロセスは、第１周波数領域変換プロセスであり、
前記第２プロセッサは、
（ｉ）第２周波数領域変換プロセスにおいて、前記デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、
（ｉｉ）前記第２周波数領域形式の前記デジタル音声データを受信し、前記デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスにおいて、前記第２周波数領域形式の前記デジタル音声データを使用することと、
（ｉｉｉ）前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の一部の歌曲の中の各歌曲の複数の特徴値と比較することによって、前記特定の参照歌曲の前記複数の特徴値が前記デジタル音声データの前記複数の特徴値に最も関連していると判断することと
を行うことによって、前記デジタル音声データが前記複数の参照歌曲の中の特定の参照歌曲を表すことを認識するように構成される、請求項１３から２４のいずれか一項に記載のコンピューティングシステム。
【請求項２６】
前記第２周波数領域形式および前記第１周波数領域形式は、異なる数の周波数ビンを解析する、請求項２５に記載のコンピューティングシステム。
【請求項２７】
前記音楽特徴決定プロセスは、音楽の特徴を決定するように訓練された機械学習システムによって実行される、請求項２５または２６に記載のコンピューティングシステム。
【請求項２８】
前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の前記一部の歌曲の中の各歌曲の前記複数の特徴値と比較することは、別のコンピューティング装置に歌曲特徴データを要求するためのリクエストを送信することなく、前記コンピューティング装置によって格納された前記複数の参照歌曲の前記一部の歌曲の中の各歌曲の前記複数の特徴値にアクセスすることによって実行される、請求項２５から２７のいずれか一項に記載のコンピューティングシステム。
【請求項２９】
前記デジタル音声データの前記複数の特徴値の中の特徴値を、前記複数の候補歌曲の中の各歌曲の前記複数の特徴値と比較することによって、前記複数の参照歌曲の前記一部の歌曲を選択することをさらに含む、請求項２５から２８のいずれか一項に記載のコンピューティングシステム。
【請求項３０】
前記デジタル音声データの前記複数の特徴値の中の特徴値を、二進値０および１に限定されない値から二進値０および１に限定された値に変換することをさらに含み、
前記デジタル音声データの前記複数の特徴値の中の特徴値を前記複数の候補歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１に限定された前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項２５から２９のいずれか一項に記載のコンピューティングシステム。
【請求項３１】
前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の前記一部の歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１以外の値を表す実数を含む前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の前記少なくとも一部の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項２５から３０のいずれか一項に記載のコンピューティングシステム。
【請求項３２】
コンピュータによって実施される方法であって、
コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することと、
前記コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することと、
前記コンピューティング装置を用いて、前記デジタル音声データを時間領域形式から周波数領域形式に変換することと、
前記コンピューティング装置を用いて、前記周波数領域形式の前記デジタル音声データを前記デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスに使用することとを含み、前記特徴値の少なくとも一部は、二進値０および二進値１以外の値を表し、  前記コンピューティング装置を用いて、前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値と比較することによって、前記複数の参照歌曲から、前記デジタル音声データの前記複数の特徴値に対応する一部の参照歌曲を複数の候補歌曲として選択することと、
前記コンピューティング装置を用いて、前記デジタル音声データの前記複数の特徴値を前記複数の候補歌曲の中の各参照歌曲の複数の特徴値と比較することによって、前記デジタル音声データの前記複数の特徴値が前記特定の参照歌曲の前記複数の特徴値に最も関連していると判断することと、
前記デジタル音声データの前記複数の特徴値が前記特定の参照歌曲の前記複数の特徴値に最も関連しているという判断に応答して、前記コンピューティング装置を用いて、前記特定の参照歌曲を示す表記を出力することとを含む、コンピュータによって実施される方法。
【請求項３３】
前記音楽特徴決定プロセスは、音楽の特徴を決定するように訓練された機械学習システムによって実行される、請求項３２に記載のコンピュータによって実施される方法。
【請求項３４】
前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の中の各参照歌曲の複数の特徴値と比較することは、別のコンピューティング装置に歌曲特徴データを要求するためのリクエストを送信することなく、前記コンピューティング装置によって格納された前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値にアクセスすることによって実行される、請求項３２または３３に記載のコンピュータによって実施される方法。
【請求項３５】
前記デジタル音声データの前記複数の特徴値を、二進値０および１に限定されない値から二進値０および１に限定された値に変換することをさらに含み、
前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の中の各歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１に限定された前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の歌曲の中の各歌曲の前記特徴値との比較を含む、請求項３２から３４のいずれか一項に記載のコンピュータによって実施される方法。
【請求項３６】
前記デジタル音声データの前記複数の特徴値を、前記複数の候補歌曲の中の各参照歌曲の前記複数の特徴値と比較することは、（ａ）二進値０および二進値１以外の値を表す実数を含む前記デジタル音声データの前記特徴値と、（ｂ）二進値０および二進値１に限定された前記複数の候補歌曲の中の各参照歌曲の前記特徴値との比較を含む、請求項３２から３５のいずれか一項に記載のコンピュータによって実施される方法。
【請求項３７】
前記複数の参照歌曲の中の前記参照歌曲の参照歌曲特徴値は、各特徴値が二進値１または二進値０に限定されるように、二進値１または二進値０に限定される、請求項１、２および３２から３６のいずれか一項に記載のコンピュータによって実施される方法。
【請求項３８】
前記複数の参照歌曲は、少なくとも１万曲の参照歌曲を含み、
前記参照歌曲特徴データは、前記少なくとも１万曲の参照歌曲の音声特徴を識別する、請求項１および３２から３７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項３９】
前記コンピューティング装置を用いて、音楽判断プロセスに従って、前記デジタル音声データが音楽を表すか否かを判断することをさらに含み、
前記コンピューティング装置は、前記音楽判断プロセスに従って、前記デジタル音声データが音楽を表すことを判断した後、前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値と比較する、請求項３２から３８のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４０】
前記周波数領域形式は、第１周波数領域形式であり、
前記周波数領域変換プロセスは、第１周波数領域変換プロセスであり、
前記デジタル音声データが音楽を表すか否かを判断することは、
第２周波数領域変換プロセスにおいて、前記デジタル音声データを時間領域形式から第２周波数領域形式に変換することと、
前記第２周波数領域形式の前記デジタル音声データを受信し、前記デジタル音声データが音楽を表すか否かを示す表記を出力する音楽特徴決定プロセスにおいて、前記第２周波数領域形式の前記デジタル音声データを使用することとを含む、請求項３２から３９のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４１】
前記音楽判断プロセスは、音声が音楽を表すか否かを判断するように訓練された機械学習システムを実行することを含む、請求項２、３９および４０のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４２】
前記コンピューティング装置は、前記複数の参照歌曲の中の各参照歌曲の前記複数の音声特徴を識別するための前記参照歌曲特徴データにアクセスすることなく、前記デジタル音声データが音楽を表すか否かを判断する、請求項１、２および３９から４１のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４３】
前記コンピューティング装置を用いて、前記音楽判断プロセスに従って前記デジタル音声データが音楽を表すか否かを判断することは、前記デジタル音声データが音楽を表すことを判断する前に、前記音楽判断プロセスを開始するためのユーザ入力を受信することなく、前記コンピューティング装置を用いて、前記デジタル音声データが音楽を表さないことを複数回判断することを含む、請求項１、２および３９から４２のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４４】
前記第２周波数領域形式および前記第１周波数領域形式は、異なる数の周波数ビンを解析する、請求項３および３９から４３のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４５】
前記デジタル音声データが音楽を表すか否かを判断することは、前記コンピューティング装置の第１プロセッサによって実行され、
前記デジタル音声データの前記複数の特徴値を、前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値と比較することは、前記コンピューティング装置の第２プロセッサによって実行され、
前記デジタル音声データの前記複数の特徴値を、前記複数の候補歌曲の中の各参照歌曲の前記複数の特徴値と比較することは、前記コンピューティング装置の前記第２プロセッサによって実行される、請求項３９から４４のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４６】
前記第１プロセッサは、前記第２プロセッサよりも低い電圧またはワット数で動作する、請求項９または４５に記載のコンピュータによって実施される方法。
【請求項４７】
前記第２プロセッサは、前記第１プロセッサが動作するクロック信号より少なくとも一桁速いクロック信号で動作する、請求項９、４５および４６のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４８】
前記特定の参照歌曲を示す表記を出力することは、ユーザ入力によって歌曲識別プロセスを実行するように前記コンピューティング装置を促すことなく、連続した歌曲識別プロセスを有効にすることによって、前記コンピューティング装置のロック画面、前記コンピューティング装置の常時オン画面、または前記コンピューティング装置のロック解除画面に表示された通知に、前記特定の参照歌曲の名前を提示することを含む、請求項３２から４７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項４９】
コンピュータシステムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されると、以下の動作を実行させる命令を含む１つ以上のコンピュータ可読装置とを含み、
前記動作は、
コンピューティング装置を用いて、複数の参照歌曲の中の各参照歌曲の複数の音声特徴を識別する参照歌曲特徴データを格納することと、
前記コンピューティング装置を用いて、マイクロフォンによって記録された音声を表すデジタル音声データを受信することと、
前記コンピューティング装置を用いて、前記デジタル音声データを時間領域形式から周波数領域形式に変換することと、
前記コンピューティング装置を用いて、前記周波数領域形式の前記デジタル音声データを前記デジタル音声データの複数の特徴値を出力する音楽特徴決定プロセスに使用することとを含み、前記特徴値の少なくとも一部は、二進値０および二進値１以外の値を表し、
前記コンピューティング装置を用いて、前記デジタル音声データの前記複数の特徴値を前記複数の参照歌曲の中の各参照歌曲の前記複数の特徴値と比較することによって、前記複数の参照歌曲から、前記デジタル音声データの前記複数の特徴値に対応する一部の参照歌曲を複数の候補歌曲として選択することと、
前記コンピューティング装置を用いて、前記デジタル音声データの前記複数の特徴値を前記複数の候補歌曲の中の各参照歌曲の複数の特徴値と比較することによって、前記デジタル音声データの前記複数の特徴値が前記特定の参照歌曲の前記複数の特徴値に最も関連していると判断することと、
前記デジタル音声データの前記複数の特徴値が前記特定の参照歌曲の前記複数の特徴値に最も関連しているという判断に応答して、前記コンピューティング装置を用いて、前記特定の参照歌曲を示す表記を出力することとを含む、コンピュータシステム。
【請求項５０】
請求項１から１２および３２から４８のいずれか一項に記載の方法をコンピュータに実行させるプログラム。
【国際調査報告】
2020537198.tif 000015
2020537198.tif 000016
2020537198.tif 000017
2020537198.tif 000018
2020537198.tif 000019