(57)【特許請求の範囲】
【請求項１】
コンピューティング装置によって受信された音声信号に含まれる音楽コンテンツの自動採譜を実行する方法であって、前記方法は、
前記音楽コンテンツの少なくとも一部を特徴付ける音楽情報を抽出するために前記コンピューティング装置を使用して前記受信された音声信号を処理することと、
前記コンピューティング装置を使用して前記抽出された音楽情報の選択的音楽解釈を表示する複数の音楽表記を生成することと、
前記複数の音楽表記の各々について前記受信された音声信号の適合を示す小節を表示するそれぞれの適合スコアを生成することと、
前記生成された複数の適合スコアに基づいて前記複数の音楽表記のうちの１つを選択することと、
前記受信された音声信号の前記音楽コンテンツを採譜するために前記複数の音楽表記のうちの前記選択された１つを適用することと
を備える、方法。
【請求項２】
前記複数の音楽表記を前記コンピューティング装置のエンドユーザに提示することを更に備え、
前記複数の音楽表記のうちの１つを選択することは、前記コンピューティング装置に結合された入力装置を使用して前記エンドユーザによって行われる、請求項１に記載の方法。
【請求項３】
前記複数の音楽表記から選択的音楽表記を前記コンピューティング装置のエンドユーザに提示することと、
前記コンピューティング装置によって入力装置を介して前記選択的音楽表記を選択することと
を更に備える、請求項２に記載の方法。
【請求項４】
前記選択的音楽表記は、半時間表記及び倍時間表記のうちの１つに対応する、請求項３に記載の方法。
【請求項５】
前記選択的音楽表記は、４／４表記及び３／４表記のうちの１つに対応する、請求項３に記載の方法。
【請求項６】
前記選択的音楽表記はストレート時間及びスイング時間のうちの１つに対応する、請求項３に記載の方法。
【請求項７】
前記複数の音楽表記の各々のスコアを生成することを更に備える、請求項１に記載の方法。
【請求項８】
前記複数の音楽表記の各々の前記スコアを生成することは、前記音声信号において検出されたオンセット箇所が特定の音楽表記の期待された拍箇所に一致していることに少なくとも部分的に基づいている、請求項７に記載の方法。
【請求項９】
前記複数の音楽表記の各々の前記スコアを生成することは、時間箇所及び前記音声信号において検出された音符または和音の長さのうちの少なくとも１つが、期待された時間箇所及び特定の音楽表記の音符または和音の長さのうちの少なくとも１つに一致していることに少なくとも部分的に基づいている、請求項７に記載の方法。
【請求項１０】
前記複数の音楽表記の各々の前記スコアを生成することは、更に、（ｉ）前記音声信号において検出されたオンセット箇所が特定の音楽表記の期待された拍箇所に一致していること、及び（ｉｉ）時間箇所及び前記音声信号において検出された音符または和音の長さのうちの少なくとも１つが、期待された時間箇所及び前記特定の音楽表記の音符または和音の長さのうちの少なくとも１つに一致していることに基づいている、請求項７に記載の方法。
【請求項１１】
前記複数の音楽表記の各々の前記スコアを生成することは、特定の音楽表記の確率に少なくとも部分的に基づいている、請求項７に記載の方法。
【請求項１２】
前記複数の音楽表記の各々の前記スコアを生成することは、使用履歴に少なくとも部分的に基づいている、請求項７に記載の方法。
【請求項１３】
前記複数の音楽表記のうちの前記選択された１つは最大適合スコアに対応する、請求項１に記載の方法。
【請求項１４】
前記コンピューティング装置のエンドユーザに前記複数の適合スコアのうちの２つ以上の最大適合スコアに対応する前記複数の音楽表記のサブセットを提示することを更に備え、
前記複数の音楽表記のうちの１つを選択することは、前記コンピューティング装置に結合された入力装置を使用して、前記２つ以上の最大適合スコアについて前記エンドユーザによって実行される、請求項１に記載の方法。
【請求項１５】
前記複数の適合スコアを生成することは、特定の音楽ジャンル及びエンドユーザのプロファイルのうちの少なくとも１つに基づく、請求項１に記載の方法。
【請求項１６】
前記複数の音楽表記は、調号、拍子、メータ、及び音符の値のうちの少なくとも１つが異なる、請求項１に記載の方法。
【請求項１７】
前記コンピューティング装置を使用して、前記抽出された音楽情報と音楽的に互換性のある相補的音楽情報を決定することを更に備え、
前記採譜された音楽コンテンツは、また、前記相補的音楽情報を含む、請求項１に記載の方法。
【請求項１８】
前記音声信号は、第１タイプの楽器を使用して生成され、前記相補的音楽情報は、第２タイプの楽器のために生成される、請求項１７に記載の方法。
【請求項１９】
受信された音声信号に含まれている音楽コンテンツの自動採譜を行うためのコンピュータプログラム製品であって、
前記コンピュータプログラム製品は、
コンピュータ可読プログラムコードが具現されたコンピュータ可読記憶媒体を備え、
前記コンピュータ可読プログラムコードは、
前記音楽コンテンツの少なくとも一部を特徴付ける音楽情報を抽出するために受信された第１音声信号を処理することと、
前記抽出された音楽情報の選択的音楽解釈を表示する複数の音楽表記を生成することと、
前記複数の音楽表記の各々について前記受信された音声信号の適合を示す小節を表示するそれぞれの適合スコアを生成することと、
前記生成された複数の適合スコアに基づいて前記複数の音楽表記のうちの１つを選択することと、
前記受信された音声信号の前記音楽コンテンツを採譜するために前記複数の音楽表記のうちの前記選択された１つを適用することと
を実行するように１つまたは複数のコンピュータプロセッサによって実行可能である、コンピュータプログラム製品。
【請求項２０】
受信された音声信号に含まれる音楽コンテンツの自動採譜を実行するための音楽採譜装置であって、
前記装置は、
１つまたは複数のコンピュータプロセッサを備え、
前記１つまたは複数のコンピュータプロセッサは、
前記音楽コンテンツの少なくとも一部を特徴付ける音楽情報を抽出するために前記受信された音声信号を処理することと、
前記抽出された音楽情報の選択的音楽解釈を表示する複数の音楽表記を生成することと、
前記複数の音楽表記の各々について前記受信された音声信号の適合を示す小節を表示するそれぞれの適合スコアを生成することと、
前記生成された複数の適合スコアに基づいて前記複数の音楽表記のうちの１つを選択することと、
前記受信された音声信号の前記音楽コンテンツを採譜するために前記複数の音楽表記のうちの前記選択された１つを適用することと、
前記採譜された音楽コンテンツを出力することと
を実行するように構成されている、音楽採譜装置。
【請求項２１】
前記採譜された音楽コンテンツの出力は、前記１つまたは複数のコンピュータプロセッサに結合されたディスプレイ装置を使用して実行される、請求項２０に記載の音楽採譜装置。
【請求項２２】
前記複数の音楽表記のうちの１つを選択することは、前記１つまたは複数のコンピュータプロセッサに結合された入力装置を使用して実行される、請求項２０に記載の音楽採譜装置。
【請求項２３】
前記複数の音楽表記は、調号、拍子、メータ、及び音符の値のうちの少なくとも１つが異なる、請求項２０に記載の音楽採譜装置。
【請求項２４】
前記１つまたは複数のコンピュータプロセッサは更に、
前記抽出された音楽情報と音楽的に互換性のある相補的音楽情報を決定するように構成されており、
前記採譜された音楽コンテンツの出力はまた、前記相補的音楽情報を含んでいる、請求項２０に記載の音楽採譜装置。
【請求項２５】
前記１つまたは複数のコンピュータプロセッサは更に、
前記相補的音楽情報に対応する相補的音声信号を生成することと、
前記受信された音声信号と同じ時期に前記１つまたは複数のコンピュータプロセッサに結合された音声出力装置を使用して前記相補的音声信号を出力することと
を実行するように構成されている、請求項２４に記載の音楽採譜装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１５年１月２０日に出願された合衆国予備特許出願第６２／１０５，５２１号の利益を請求するものであり、その出願の開示が本出願における参照により全部にわたって一体化されるものである。
【０００２】
（技術分野）
本特許出願において開示された態様は、一般的に信号処理に関し、より具体的に音声信号に含まれている音楽コンテンツの処理を含んでいる様々な用途に関するものである。
【背景技術】
【０００３】
音楽の採譜では、楽曲の解釈は複数の方法がある。しかし、従来から実施していることは、音楽（または音声）について一つの解釈だけが提供され、採譜処理中に生じた誤りの修正あるいは訂正はユーザに依存している。
【発明の概要】
【課題を解決するための手段】
【０００４】
少なくとも一つの実施形態では、コンピューティング装置によって受信された音声信号に含まれている音楽コンテンツの自動採譜を行う方法が提供される。この方法は、コンピューティング装置を使用して、音楽コンテンツの少なくとも一部を特徴付ける音楽情報を抽出するための受信した音声信号を処理する方法、及びコンピューティング装置使用して、抽出された音楽情報の他の音楽の解釈を表す複数の音楽表記を生成する方法を含んでいる。この方法はさらに、受信された音声信号の音楽コンテンツを採譜するための複数の音楽表記から選択された１つの表記を適用することを含んでいる。
【０００５】
少なくとも一つの実施形態は、受信した音声信号に含まれている音楽コンテンツの自動採譜を実行するコンピュータプログラム製品を提供する。コンピュータプログラム製品は、コンピュータ可読プログラムコードが具現されたコンピュータ可読記憶媒体を含んでいる。音楽コンテンツの少なくとも一部を特徴付ける音楽情報を抽出するための受信された第１の音声信号を処理し、抽出された他の音楽の解釈を表す音楽表記を複数に生成するために、コンピュータ可読プログラムコードが１つまたは複数のコンピュータプロセッサによって実行可能である。また、コンピュータ可読プログラムコードは、受信された音声信号の音楽コンテンツを採譜する複数の音楽表記から選択された１つの表記を適用するために、１つまたは複数のコンピュータプロセッサによって実行可能である。
【０００６】
少なくとも一つの実施形態では、受信した音声信号に含まれている音楽コンテンツの自動的な採譜を行うための音楽の採譜装置が提供される。その装置は、音楽コンテンツの少なくとも一部を特徴付ける音楽情報を抽出するための受信された第１の音声信号を処理し、抽出された他の音楽の解釈を表す複数の音楽表記を生成するように構成された１つまたは複数のコンピュータプロセッサを含んでいる。１つまたは複数のコンピュータプロセッサは、受信された音声信号の音楽コンテンツを採譜するための複数の音楽表記から選択された１つの表記を適用し、採譜された音楽コンテンツを出力するように更に構成されている。
例えば、本願発明は以下の項目を提供する。
（項目１）
コンピューティング装置によって受信された音声信号に含まれる音楽コンテンツの自動採譜を実行する方法であって、上記方法は、
上記音楽コンテンツの少なくとも一部を特徴付ける音楽情報を抽出するために上記コンピューティング装置を使用して上記受信された音声信号を処理すること、
上記コンピューティング装置を使用して上記抽出された音楽情報について選択的に音楽的解釈を表示する複数の音楽表記を生成すること、及び、
上記受信された音声信号の上記音楽コンテンツを採譜するために上記複数の音楽表記の選択された１つを適用すること、
を備える上記方法。
（項目２）
更に、上記複数の音楽表記を上記コンピューティング装置のエンドユーザに提示すること、を備え、
上記複数の音楽表記の１つを選択することは、上記コンピューティング装置に結合された入力装置を使用して上記エンドユーザによって行われる上記項目に記載の上記方法。
（項目３）
上記複数の音楽表記から選択的音楽表記を上記コンピューティング装置のエンドユーザに提示すること、及び、
上記コンピューティング装置によって入力装置を介して上記選択的音楽表記を選択すること、
を備える上記項目のいずれか一項に記載の上記方法。
（項目４）
上記選択的音楽表記は、半時間表記及び倍時間表記の１つに対応する上記項目のいずれか一項に記載の上記方法。
（項目５）
上記選択的音楽表記は、４／４表記及び３／４表記の１つに対応する上記項目のいずれか一項に記載の上記方法。
（項目６）
上記選択的音楽表記はストレート時間及びスイング時間の１つである上記項目のいずれか一項に記載の上記方法。
（項目７）
更に、上記複数の音楽表記の各々のスコアを生成することを備える上記項目のいずれか一項に記載の上記方法。
（項目８）
上記複数の音楽表記の各々の上記スコアを生成することは、上記音声信号において検出されたオンセット箇所が特定の音楽表記の期待された拍箇所に一致していることに少なくとも部分的に基づいている上記項目のいずれか一項に記載の上記方法。
（項目９）
上記複数の音楽表記の各々の上記スコアを生成することは、時間箇所及び上記音声信号で検出された音符または和音の長さの少なくとも１つが、期待された時間箇所及び特定の音楽表記の音符または和音の長さの少なくとも１つに一致していることに少なくとも部分的に基づいている上記項目のいずれか一項に記載の上記方法。
（項目１０）
上記複数の音楽表記の各々の上記スコアを生成することは、更に、（ｉ）上記音声信号において検出されたオンセット箇所が特定の音楽表記の期待された拍箇所に一致していること、及び（ｉｉ）時間箇所及び上記音声信号において検出された音符または和音の期間の少なくとも１つが期待された時間箇所及び上記特定音楽表記の音符または和音の少なくとも１つに一致することに基づいている上記項目のいずれか一項に記載の上記方法。
（項目１１）
各々の上記複数の音楽表記のスコアを生成することは、特定の音楽表記の演繹的な可能性に少なくとも基づいている上記項目のいずれか一項に記載の上記方法。
（項目１２）
上記複数の音符の各々のスコアを生成することは、少なくとも使用履歴に基づいている上記項目のいずれか一項に記載の上記方法。
（項目１３）
更に、
上記複数の音符の各々について上記音声信号の適合を示す小節を表示するそれぞれの適合スコアを生成すること、
上記複数の音楽表記の１つを選択することは上記生成された複数の適合スコアに基づくこと、
を備える上記項目のいずれか一項に記載の上記方法。
（項目１４）
上記複数の音楽表記の上記選択された１つは最大適合スコアに対応する上記項目のいずれか一項に記載の上記方法。
（項目１５）
更に、
上記コンピューティング装置のエンドユーザに上記複数の適合スコアの２つ以上の最大適合スコアに対応する上記複数の音楽表記のサブセットを提示することを備え、
上記複数の音楽表記の１つを選択することは、上記コンピューティング装置に結合された入力装置を使用して、上記２つ以上の最大適合スコアについてエンドユーザによって実行される上記項目のいずれか一項に記載の上記方法。
（項目１６）
上記複数の適合スコアを生成することは、特定の音楽ジャンル及びエンドユーザのプロファイの少なくとも１つに基づくことから上記項目のいずれか一項に記載の上記方法。
（項目１７）
上記複数の音楽表記は調号、拍子、メータ、及び音符の値の少なくとも１つ毎に異なる上記項目のいずれか一項に記載の上記方法。
（項目１８）
更に、
上記コンピューティング装置を使用して、上記抽出された音楽情報と音楽的に互換性のある相補的音楽情報を決定することを備え、
上記採譜された音楽コンテンツは、また、上記相補的音楽情報を含む上記項目のいずれか一項に記載の上記方法。
（項目１９）
上記音声信号は、第１タイプの楽器を使用して生成され、上記相補的音楽情報は、第２タイプの楽器のために生成される上記項目のいずれか一項に記載の上記方法。
（項目２０）
受信された音声信号に含まれている音楽コンテンツの自動採譜を行うコンピュータプログラム製品であって、
上記コンピュータプログラム製品は、
コンピュータ可読プログラムコードを有するコンピュータ可読記憶媒体と共に、１つまたは複数のコンピュータプロセッサによって実行可能な上記コンピュータ可読プログラムコードを備え、
上記コンピュータ可読プログラムコードは、
上記音楽コンテンツの少なくとも一部を特徴付ける音楽情報を抽出するために受信した第１音声信号を処理し、
上記抽出された音楽情報の選択的音楽解釈を表わす複数の音楽表記を生成し、
上記受信された音声信号の上記音楽コンテンツを採譜する上記複数の音楽表記の選択された１つを適用することができる、上記コンピュータプログラム製品。
（項目２１）
受信された音声信号に含まれる音楽コンテンツの自動採譜を実行する音楽採譜装置であって、
上記装置は、
１つまたは複数のコンピュータプロセッサを有し、
上記コンピュータプロセッサは、
上記音楽コンテンツの少なくとも一部を特徴付ける音楽情報を抽出するために上記受信された音声信号を処理し、
上記抽出された音楽情報の選択的音楽解釈を表わす複数の音楽表記を生成し、
上記受信された音声信号の上記音楽コンテンツを採譜するために上記複数の音楽表記の選択された１つを適用し、
上記採譜された音楽コンテンツを出力する、ように構成された上記音楽採譜装置。
（項目２２）
上記採譜された音楽コンテンツの出力は、上記１つまたは複数のコンピュータプロセッサに結合されたディスプレイ装置を使用して実行される上記項目に記載の上記音楽採譜装置。
（項目２３）
上記複数の音楽表記の１つを選択することは、上記１つまたは複数のコンピュータプロセッサに結合された入力装置を使用して実行される上記項目のいずれか一項に記載の上記音楽採譜装置。
（項目２４）
上記複数の音楽表記は、調号、拍子、メータ及び音符の値の少なくとも１つが異なる上記項目のいずれか一項に記載の上記音楽採譜装置。
（項目２５）
上記１つまたは複数のコンピュータプロセッサは更に、
上記抽出された音楽情報と音楽的に互換性のある相補的音楽情報を決定するように構成され、
上記採譜された音楽コンテンツ出力はまた、上記相補的音楽情報を含んでいる上記項目のいずれか一項に記載の上記音楽採譜装置。
（項目２６）
上記１以上のコンピュータプロセッサは更に、
上記相補的音楽情報に対応する相補的音声信号を生成し、
上記受信された音声信号と同じ時期に上記１つまたは複数のコンピュータプロセッサに結合された音声出力装置を使用して上記相補的音声信号を出力するように構成された、上記項目のいずれか一項に記載の上記音楽採譜装置。
（摘要）
少なくとも一実施形態において、コンピューティング装置によって受信された音声信号に含まれている音楽コンテンツの自動採譜実行方法が提供されている。その方法は、コンピューティング装置を使用して、受信された音声信号を処理し、音楽コンテンツの少なくとも一部を特徴とする音楽情報を抽出し、コンピューティング装置を使用して、抽出された音楽情報の選択的な音楽的解釈を表す複数の音楽表記を生成することを含んでいる。その方法は、更に、受信された音声信号の音楽コンテンツを採譜するために、複数の音楽表記のうち選択されたものを適用することを含んでいる。
【図面の簡単な説明】
【０００７】
本開示の実施形態は、添付の特許請求の範囲に具体的に指摘されている。しかしながら、様々な実施形態の他の特徴がより明らかになり、添付の図面と併せて以下の詳細な説明を参照することによって最もよく理解されるであろう。
【図１】一実施形態に係る音声信号に含まれている音楽コンテンツの自動採譜を行うためのシステムの一例を図示している。
【図２Ａ】一実施形態に係る音楽コンテンツの自動採譜を行うシステムで使用する一実施例の音楽情報及びユーザプロファイルを図示している。
【図２Ｂ】一実施形態に係る音楽コンテンツの自動採譜を行うシステムで使用する一実施例の音楽情報及びユーザプロファイルを図示している。
【図３】一実施形態に係る音声信号に含まれている音楽コンテンツの自動採譜を行う方法を図示している。
【図４Ａ】一実施形態に係る抽出された音楽情報のための複数の音楽表記を生成する方法を図示している。
【図４Ｂ】一実施形態に係る音楽表記のうちの一つの選択を行う方法を図示している。
【図５Ａ】それぞれ１つの実施形態に係る同じ音楽情報に対応する他の音楽表記を図示している。
【図５Ｂ】それぞれ１つの実施形態に係る同じ音楽情報に対応する他の音楽表記を図示している。
【図６】一実施形態に係る選択された音楽表記を使用して音楽表記及び採譜の選択を図示している。
【図７】一実施形態に係る受信した音声信号に含まれている音楽コンテンツのリアルタイム音楽の伴奏を行うためのシステムの一実施例を図示している。
【図８】一実施形態に係るリアルタイムの音楽の伴奏を行うためのシステムのタイミングの一実施例を図示している。
【図９】一実施形態に係るリアルタイムの音楽の伴奏を行うシステムの一実施例を図示している。
【図１０】一実施形態に係る受信した音声信号に含まれている音楽コンテンツのリアルタイムの音楽の伴奏を行う方法を図示している。
【発明を実施するための形態】
【０００８】
必要に応じて、本発明の詳細な実施形態が本明細書に開示されている。しかしながら、開示された実施形態は、様々な代替的形態で実施することができる本発明の単なる例であることが分かる。図面は、必ずしも縮尺通りになってはいない。特定のコンポーネントの詳細を表示しているために、いくつかの特徴が誇張または最小化される。従って、本明細書に開示された特定の構造及び機能の詳細は、限定するものとして解釈されるべきではなく、単に本発明を様々な形態で採用できるように、この分野の通常の知識を有する者に教示する代表的な基準として解釈されるべきである。
（音声信号の自動採譜）
【０００９】
いくつかの実施形態は、一般的に、音声信号に含まれている音楽コンテンツの自動的な採譜を行う方法、システム及び装置を開示している。音楽コンテンツの情報は、表記法の特定のスタイルの音楽記号を使用してデジタル表現またはアナログ（例えば、楽譜）などの様々な方法の膨大な数で表すことができる。しかし、表記における特定のスタイルの中でも（例えば、一般的に書かれた音楽のために使用される五線譜）、曖昧さが同じ音楽情報について他の解釈を可能にする。例えば、拍子、テンポ、及び／または音符の長さを変更することによって、同じ音楽情報を表す複数の競合する解釈が発生する。これらの解釈の各々は、技術的に正確である。従って、音楽コンテンツの正確な採譜を行うことは、主観的であり得るいくつかの因子の数に依存し、ユーザの意図や音楽情報の好みに基づいている。
【００１０】
図１は、一実施形態に係る音声信号に含まれている音楽コンテンツの自動的な採譜を行うためのシステムの一実施例を図示している。システム１００は、１つまたは複数の入力装置１８５、１つまたは複数の出力装置１９０、及び他のコンピューティング装置を含んでいるネットワーク１９５に作動的に結合することができるコンピューティング装置１０５を含んでいる。
【００１１】
コンピューティング装置１０５は、一般的に、プロセッサ１１０、メモリ１２０及び入力／出力（またはＩ／Ｏ）１８０を含み、これらは１つまたは複数の接続１１５を使用して相互接続されている。コンピューティング装置１０５は、任意の適切な形で実装されることができる。コンピューティング装置１０５のいくつかの非限定的な実施例は、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ネットブックコンピュータ、タブレット、ウェブブラウザ、電子ブックリーダ、携帯情報端末（ＰＤＡ）などの汎用コンピューティング装置を含んでいる。コンピューティング装置１０５の他の実施例は、携帯電話とメディアデバイス（レコーダ、エディタ及びテレビジョン、セットトップボックス、音楽プレーヤー、デジタルフォトフレーム、デジタルカメラのようなプレーヤーを含む）などの通信機器を含んでいる。いくつかの実施形態では、コンピューティング装置１０５は、デジタル・オーディオ・ワークステーション、コンソール、楽器ペダル、電子楽器（例えば、デジタルピアノ）などの特定の音楽デバイスとして実装されてもよい。
【００１２】
一実施形態では、接続１１５は、コンピューティング装置１０５内の共通バスを表してもよい。代替的な実施形態では、システム１００は、分散され、本明細書に記載の機能を実行するために複数の離散コンピューティング装置１０５を含んでいる。このような実施形態では、接続部１１５は、コンピューティング装置間の有線または無線ネットワーク接続と同様の、装置内の接続（例えば、バス）を含むことができる。
【００１３】
プロセッサ１１０は、本明細書に記載の機能を実行するのに適している任意の処理要素を含むことができ、かつ単一または複数のコアプロセッサ、ならびにそれらの組合せを含むことができる。プロセッサ１１０は、単一のコンピューティング装置１０５内に含まれてもよく、多数のネットワークにされたコンピューティング装置にわたって含まれる処理要素の集合を表すことができる。
【００１４】
メモリ１２０は、サイズ、相対的な性能、またはその他の機能に基づいて選択された様々なコンピュータ読み取り可能な媒体、例えば、揮発性及び／または不揮発性媒体、取り外し可能及び／または取り外し不能メディアなどを含んでもよい。メモリ１２０は、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、記憶装置などを含んでもよい。メモリ１２０の一部として含まれた記憶装置は、典型的には、不揮発性メモリを提供し、フラッシュメモリ、ハードディスクドライブ、ソリッドステートドライブ、光記憶装置及び／または磁気記憶装置などの１つまたは複数の異なる記憶要素を含んでもよい。メモリ１２０は、単一のコンピューティング装置に含まれていてもよく、または、ネットワークコンピューティング装置に含まれるメモリの集合を表してもよい。
【００１５】
メモリ１２０は、本明細書で記述する様々な機能を実行するために使用される複数のモジュールを含んでもよい。モジュールは、一般的に、１つまたは複数のプロセッサ１１０によって実行可能なプログラムコードを含み、ソフトウェア及び／またはファームウェアとして実装される。別の実施形態では、１つまたは複数のモジュールは、別個の特定用途向け集積回路（ＡＳＩＣ）としてハードウェアに実装されている。図示されているように、モジュールは、抽出モジュール１３０、解釈モジュール１３２、スコアリングモジュール１３４、採譜モジュール１３６、伴奏モジュール１３８、作曲モジュール１４０、指導モジュール１４２及びゲームモジュール１４４を含んでいる。モジュールは、独立して作動してもよいし、特定の機能を実行するように相互作用してもよい。例えば、動作中のゲームモジュール１４４は、解釈モジュール１３２、採譜モジュール１３６などに発信を行うことがある。この分野の通常の知識を有する者は、本明細書中に提供されているモジュールは、単に非限定的な実施例であることを認識するであろう。所望に応じて、システム１００を適切に作動させるために異なる機能及び／または機能のグループを含めてもよい。
【００１６】
メモリ１２０は、１つ以上の音声信号１２５を含んでいる。本明細書中で使用される信号や音声信号は、一般に、一人または複数のリスナーに提示される音に対応する時間的に変化する電気信号を意味する。このような信号は、一般に、マイクロフォン、ギターピックアップ、または他のデバイスなどの１つまたは複数の音声変換器で生成される。これらの信号は、スピーカやヘッドフォンなどの音声出力装置への配信の前に、例えば、増幅またはフィルタリングや、他の技術を使用して処理することができる。
【００１７】
音声信号１２５は、アナログまたはデジタルの任意の適切な形態を有することができる。音声信号は、モノフォニック（すなわち、単一ピッチを含んでいる）またはポリフォニック（すなわち、複数のピッチを含んでいる）であってもよい。音声信号１２５は、１つまたは複数の入力装置１８５を使用して同時に生成され、入力／出力１８０を介して受信された信号またはメモリ１２０に含まれる、１つまたは複数の事前に記録されたファイル、トラック、ストリーミングメディアなどを含んでもよい。入力装置１８５は、音声入力装置１８６及びユーザインターフェース（ＵＩ）装置１８７を含んでいる。音声入力装置１８６は、受動デバイス（例えば、楽器またはボーカルのためのマイクロフォンまたはピックアップ）及び／またはＭＩＤＩ出力を提供する電子機器のような能動的受電装置を含んでいる。ユーザインタフェース装置１８７は、ユーザがコンピューティング装置１０５（例えば、キーボード、マウス、タッチスクリーンなど）を相互作用または制御動作を可能にする当技術分野で知られている様々なデバイスを含んでいる。
【００１８】
抽出モジュール１３０は、音声信号１２５の音楽コンテンツの様々な特性を表す音楽情報１６０を抽出するために１つ以上の音声信号１２５の一部または全てを分析するように構成されている。一つの実施形態では、抽出モジュール１３０は音声信号１２５の一部をサンプルし、その一部に対応する音楽情報を抽出する。抽出モジュール１３０は、本明細書に含まれる音楽コンテンツの特性を判定するために音声信号１２５に適切な信号処理技術を適用することができる。音楽情報１６０は、音符のタイミング（オンセット及び／または持続時間）などの音楽コンテンツの時間ベースの特徴を含んでいる。音楽情報１６０は、また、音符のピッチや周波数（例えば、４４０Ｈｚ）などの音楽コンテンツの周波数ベースの特性が含まれている。
【００１９】
解釈モジュール１３２は、音楽情報１６０を分析し、音楽情報を表すことが可能表記１３３（すなわち、音楽の解釈）を複数生成するように構成されている。上述したように、音楽情報を表現するために膨大な数の表現方法が存在し、これらは文化的規範、個人的な好み、表現が視覚的にフォーマット（例えば、楽譜）されること、またはコンピュータシステムによって処理されること（例えば、ＭＩＤＩ）などによって異なる場合がある。解釈モジュール１３２は、生成された表記の精度を向上させるために、ユーザプロファイル情報１７０及び／または音楽のジャンル情報１７５としてメモリ１２０に保存された他のデータと相互作用をすることができる。
【００２０】
図２Ａを参照すると、解釈モジュール１３２は、音声信号１２５の音楽情報１６０を評価し、異なる音楽的特徴の数に応じて情報を正確に分類することを試みることができる。特徴のいくつかは、調号２０５、和音２２０、音符２２５のいくつかの態様（例えば、音符ピッチ、特徴的なポリフォニック音符）などの主にピッチまたは周波数ベースである。音符２２５のグループは、メロディ２２６やハーモニー２２７として分類することができ、これらの部分は、表記１３３に一緒に含まれてもよく、別々に解釈されてもよい。その他の特徴は、小節線または小節の数２０７、拍子２１０、テンポ２１５、音符２２５の他の態様（例えば、音符オンセットと長さ）、リズム２３０など、主に時間ベースである。リズム２３０は音楽情報の全体的な「スタイル」または「フィール」に対応することができ、音符２２５のタイミングパターンに反映される。リズム２３０の例は、ストレートタイム２３１、スイングタイム２３２及びこの分野の通常の知識を有する者に知られている他のリズム２３３（例えば、スタッカートスイング、シャッフルなど）を含んでいる。解釈モジュール１３２はまた、音楽のダイナミクス（例えば、信号の容量または振幅、速度の時間ベースの変化）などのこの分野の通常の知識を有する者に知られている他の特徴２３５を含んでもよい。音楽的特性の更なる考察は、以下の図５Ａ及び図５Ｂに関連して提供されている。
【００２１】
図１に戻って、解釈モジュール１３２によって生成された表記１３３は、上述した音楽的特徴の複数を含んでいることができる。特定の音楽情報１６０のために生成された各記号１３３は、音楽的特徴の同じセット（または少なくとも部分的に共有セット）を含んでいることができるが、共有音楽的特徴の１つまたは複数の値は、一般的に、表記の間で変動する。このように、表記１３３は十分に区別可能である同じ音楽情報１６０の代替表現を複数提供している。代替表現を提供することは、完全に主観的な好みを反映することができるエンドユーザが求めている表記を推定するために有用であり得る。代替表現は、音楽の様々なスタイルの可能性を受容してもよいし、また、人間の演奏の中に起こる軽微な変動を克服するのに役立つかもしれない。例の表記は、図５Ａ及び図５Ｂに関連して以下に説明する。
【００２２】
システム１００の一実装では、一般的なシナリオは、楽器（例えば、ギター）を使用して音声信号１２５を提供するミュージシャンを含んでいる。音声信号における音楽のフレーズがプロセッサ１１０を使用して実行されるアルゴリズムによって学習されるべきであることを示すためには、音楽家は、フットスイッチを踏むか、最初の音符が演奏される時間について音楽のフレーズが始まること示す別の指示を提供する。ミュージシャンは、関連する和音を、必要に応じて、フレーズの間の様々な点において変更しながら、特定の拍子（例えば、３／４または４／４）及び特定のフィール（例えば、ストレートまたはスイング）を有する音楽のフレーズを演奏する。フレーズが完了すると、ミュージシャンは、別の指示（例えば、再びフットスイッチを踏む）を提供することができる。フレーズの始まりは、別の指示を使用することより、むしろ一定のエネルギーレベルを超える機器の信号を聞くためのアルゴリズムを指示する（すなわち、「アーミング」）にことによっても示されることができる。一実施形態では、音楽のフレーズの開始と終了に対するより正確な位置は、ユーザによって示される開始と終了の範囲内（例えば＋／−１００ｍｓ）で最も近い音符オンセット（例えば＋／−１００ｍｓ）を検索することによって決定することができる。
【００２３】
フレーズが演奏されている間、音声信号１２５（例えば、ギターの楽器信号）のリアルタイム分析が、システム１００によって実行される。例えば、ポリフォニック音符検出は、演奏された音符ピッチ（例えば、ギターのつま弾き）を抽出するために使用することができ、オンセット検出は、ギターがつま弾かれ、またはピックで弾かれた時間を決定するために使用され得る。つま弾きの時間を決定することに加えて、のちほどつま弾き強調（例えば、小節の開始つま弾き、ダウンつま弾きまたはアップつま弾きなど）を決定するために、つま弾きを互いに相関させる完全な分析で使用することができる各つま弾きに対応する特徴を抽出することができる。例えば、いくつかのバンドでのスペクトルエネルギーは、それぞれのオンセットに対する特徴ベクトルとして抽出することができる。
【００２４】
ミュージシャンが音楽のフレーズの終わりを示すと、解釈モジュール１３２は、そのフレーズに対応する複数の表記を生成するために、完全な分析を行うことができる。一実施形態では、完全な分析は、音楽のフレーズの表記を仮定して、仮説に反して検出した音符とオンセットをスコアリングすることによって動作する。例えば、１つの表記は４／４ストレートフィールタイミングの４小節を含む場合がある。この場合、４分音符及び８分音符の位置またはその付近にオンセットが見つけられることが期待され、そのオンセットは、フレーズを３２のセクション（例えば、４小節×１小節あたり８音符）に分割することによって推定されることができる。検出されたオンセットは、４分音符／８分音符の期待の場所で発生したら、表記は、一般的に、より高いスコアを受けることになる。一実施形態では、８分音符と比較した場合、４分音符により高いスコアリングの重量が適用され、小節の開始に対応するオンセットにさらにより大きなスコア重量が適用される。各オンセットのために抽出された特徴を使用して、類似度測定は、検出オンセットのそれぞれについて決定することができる。小節の開始に関連付けられたオンセットが高い類似度測定を持つ場合は、そのオンセットスコアが増大する。
【００２５】
音符は、特定の和音が演奏されたかどうかを決定するためにも分析することができる。一実施形態において、解釈は、和音の変更のタイミングが小節の境界付近に発生しやすい場所である可能性がさらに高い。一実施形態では、和音変更スコアは表記スコアの全体的な計算に含まれることがある。さらに、推測的なスコア（または確率）が演奏される可能性がより高いものに基づいて各表記に割り当てることができる。例えば、より大きな推測的なスコアが３／４表記より４／４表記に割り当てられることがあり、あるいは、より大きな推測的なスコアが、小節の奇数より偶数に割り当てられることがある。スコア（例えば、０と１の間）を適切にスケーリングすることにより、表記のための全体的なスコアは、和音変更スコアと推測的なスコアをオンセットスコアに乗じて計算することができる。音楽のフレーズに対する可能な表記の数が多いため、ダイナミックプログラミングの標準的な方法は、計算負荷を低減するために使用されることができる。
【００２６】
いくつかのケースでは、異なる仮説のスコアは、単一の「正しい」表記を選択することを困難にするほど非常に近いかもしれない（例えば、図５Ａを参照）。この理由のために、表記仮説のトップスコアのサブセットは、エンドユーザに面倒な編集なしの表記仮説を選択するための簡単な方法を提供することができる。一実施形態では、単一の「代替のタイミング」ボタンを、二つの最大のスコアを有する仮説記号の間で切り替えるために使用してもよい。一実施形態では、第１の特定の種類の最高の表記（例えば、４／４表記）から第１の特定の異なる種類の最高の表記（例えば、３／４表記）に切り替えるためにボタンやノブなどのユーザインタフェース（ＵＩ）要素を使用してもよい。また、第２の特定の種類の最高の表記（（例えば、半分の時間表記）から第２の特定の異なる種類の最高の表記（例えば、倍の時間表記）に切り替えるためにボタンやノブなどのユーザインタフェース（ＵＩ）要素を使用してもよい。さらに、第３の特定の種類の最高の表記（（例えば、半分の時間表記）から第３の特定の異なる種類の最高の表記（例えば、倍の時間表記）に切り替えるためにノブまたはボタンなどのユーザインタフェース（ＵＩ）要素を使用してもよい。
【００２７】
複数の表記１３３は、音楽情報１６０の異なる音楽的解釈を表す。スコアリングモジュール１３４は、（音楽情報１６０に対応する）音声信号１２５や音声信号１２５の一部と一致する小節に基づいて、生成された表記１３３のそれぞれにスコアを割り当てるように構成されている。任意の適切なアルゴリズムが、相対的なマッチングを決定または定量化するために使用することができる。いくつかの実施形態では、マッチングは、例えば音声信号１２５で特定の表記１３３のために決定された音符２２５及び／または和音２２０の配列を比較することによって直接に行われる。一実施形態では、表記１３３と音声信号１２５との間の音符のタイミング及び／またはピッチのバラツキを決定することができる。例えば、処理中に抽出モジュール１３０は、音声信号内に含まれている音符が特定の時間の長さ（例えば、４２５ｍｓ）を有するように決定することができる。また、解釈モジュール１３２によって生成された表記のいずれかが、４分音符が１拍に対応したうえで、ストレート時間に１分あたり１６０拍（ＢＰＭ）のテンポを含んでいることも推定している。この例では、４分音符は、０．３７５秒または３７５ｍｓ（例えば、６０秒／分を１６０ＢＰＭで割る）の時間値を有することが予想される。解釈モジュールは、音符を４分音符（ユーザ不正確に対応するための所定のマージンを含んでも良い）として分類するために、４２５ｍｓ音符が予想された３７５ｍｓに十分に近いと考慮することができる。また、解釈モジュールは、特定の表記パラメータを考慮し、可能な限り最高の分類として、この分類を考慮することができ、例えば、次の可能な限り最も近い音符の分類は、５６２．５ｍｓ（１．５×３７５ミリ）の予想される時間値を持つ付点４分音符である可能性がある。ここでは、付点４分音符（１３７．５ｍｓ）として分類することよりも４分音符（５０ｍｓ）として４２５ｍｓの音符を分類することにエラーが少ないことは明らかである。もちろん、解釈モジュールは、このような分類を行うために、個々の音符や音符のグループ化への追加または代替ロジックを適用することができる。音声信号１２５に表記１３３の全体のマッチングスコアを決定するために、個々の音符または音符のグループの分類に対応するエラーの量は、さらに処理することができる。いくつかの実施形態では、マッチングスコアを決定するために、エラーの量がまとめられ及び／または重み付けがなされる。
【００２８】
いくつかの実施形態では、マッチングの基準とスコア計算は、１つまたは複数のユーザプロファイル１７０に含まれる情報、ならびに音声信号１２５  ／音楽情報１６０のために選択または指定された１つまたは複数のジャンル１７５に基づいても良い。ジャンル１７５は、一般的に、いくつかの音楽スタイルの異なる幅広いカテゴリを含んでいる。ジャンルが音楽情報１６０の特定の音楽的資質（リズム情報、音符／和音または調音の予想グループなど）を提案できるように、選択されたジャンルは、解釈モジュール１３２が音楽情報１６０を正確に処理し、解釈できるように助力してもよい。共通ジャンル１７５のいくつかの例は、ロック、カントリー、リズム・アンド・ブルース（Ｒ＆Ｂ）、ジャズ、ブルース、ポピュラー音楽（ポップ）、メタルなどを含んでいる。もちろん、これらの例は一般的に西洋音楽の好みを反映しており、ジャンル１７５は、異なる文化の中の共通の音楽スタイルを含んでいてもよい。一実施形態においては、ジャンル情報は、解釈モジュール１３２が音楽情報１６０を解釈する動作を行う前に、指定されてもよい。一実施形態では、音声信号のためのジャンル１７５は、ＵＩ１８７の要素を介してエンドユーザによって選択される。
【００２９】
図２Ｂを参照すると、ユーザプロファイル１７０は、エンドユーザ固有の嗜好情報２５０と履歴情報２６０（または使用履歴）を含んでもよい。履歴情報２６０は、一般的に、システム１００を使用したエンドユーザの以前のセッションに関連する情報を含み、ユーザの音楽の嗜好を示している傾向がある。履歴情報２６０は、音楽情報１６０の事前の例、選択された対応するジャンル１７５、選択された対応する表記１３３、選択されていない表記１３３などを示すデータを含んでいることができる。エンドユーザの好み２５０は、ＵＩ１８７を介して、エンドユーザによって明示的に決定または指定されてもよく、または、システム１１０のさまざまな機能／モジュールとエンドユーザとの相互作用に基づいて、コンピューティング装置１０５によって暗黙に決定されてもよい。嗜好２５０は、ジャンル嗜好２５１と解釈嗜好２５２のようないくつかの異なるカテゴリを含んでいることができる。
【００３０】
スコアリングモジュール１３４は、表記１３３をスコアリングする際、ユーザプロファイル１７０（特定のエンドユーザ及び／または他のエンドユーザのため）及びジャンル１７５を考慮することができる。例えば、一人のエンドユーザの履歴２６０が強いジャンル嗜好２５１としてメタルを示していると仮定する。メタルのジャンルと一致して、エンドユーザはまた、高速テンポとストレート時間フィールの解釈嗜好２５２を有する。特定のエンドユーザのための複数の表記１３３をスコアリングすると、スコアリングモジュール１３４は、一般的に、遅いテンポ、スイング時間フィールなどの音楽的特徴を有する異なるジャンル（例えば、ジャズやＲ＆Ｂなど）に共通する音楽的な特徴を持つ表記に低いスコアを与える可能性がある。もちろん、他の実施形態では、スコアリングモジュール１３４は、トレンド、特性の類似度などを評価するためにいくつかの異なるエンドユーザの履歴２６０を考慮することができる。
【００３１】
図１に戻って、採譜モジュール１３６は、１つまたは複数の採譜１５０を生成するために、音楽情報１６０の選択された表記を適用するように構成されている。表記１３３が選択されると、全体の音声信号は、特性に応じて処理される。例えば、音声信号１２５のサンプリングされた部分に対応する最初の音楽情報１６０は、複数の表記１３３を用いて分類することができる。
【００３２】
いくつかの実施形態では、複数の生成された表記１３３からの表記を選択することは、表記１３３の一部または全部（例えば、最高スコアの表記のサブセット）を、ＵＩ１８７を介してエンドユーザに提示することを含むことができ、例えば、別の表記に関連する情報がグラフィカル・ユーザ・インターフェースを使用して、エンドユーザに表示される。エンドユーザは、手動で表記の１つを選択する。他の実施形態では、エンドユーザからの選択入力を受信せずに表記を自動的に選択することができる。例えば、最も高いスコアを有する表記は、採譜モジュールによって選択される。
【００３３】
表記１３３の一つが選択されると、選択された表記の音楽的特徴（例えば、ピッチ／周波数とタイミング情報）は、完全な音声信号に対応する音楽情報１６０を分類するために適用される。一実施形態では、全体の音声信号のための音楽情報は、表記が選択された後、決定され、処理時間とエネルギーを節約することができる。プロセッサ１１０が最初の（限定された）音楽情報１６０に基づいて、様々な表記１３３を生成するために重要な並列処理を行うために必要とされることから、これは有用であるといえる。別の実施形態では、音声信号全体のための音楽情報１６０は事前に決定されるか、または表記１３３の選択と同時に行われる。
【００３４】
採譜モジュール１３６は、選択された表記を楽譜、コードチャート、シートミューシック、ギターのタブ譜などのような任意の適切なフォーマットを有する採譜１５０として出力することができる。いくつかの実施形態では、採譜部１５０は、コンピューティング装置１０５及び／または他のネットワークコンピューティング装置によって読み取り可能なデジタル信号（またはファイル）として提供されてもよい。例えば、採譜１５０は、ファイルとして生成され、メモリ１２０に格納されてもよい。他の実施形態では、採譜１５０は、視覚的表示装置（例えば、電子視覚ディスプレイ及び／または発光ダイオード（ＬＥＤ）のような視覚インジケータ）、印刷装置などを含んでいるディスプレイ装置１９２を使用して、視覚的にエンドユーザに提供されることができる。
【００３５】
いくつかの実施形態では、採譜１５０及び／または音声信号１２５に対応する音楽情報１６０は、相補音楽情報及び／または相補的な音声信号１５５を生成するために使用することができる。一実施形態では、伴奏モジュール１３８は、完了された採譜１５０に基づいて、１つまたは複数の相補的な音声信号１５５を生成する。別の実施形態では、伴奏モジュール１３８は、音楽情報１６０に基づいて、相補的な音声信号１５５を生成する。以下の図７〜１０に関してより詳細に論じるいくつかの実施態様では、相補的音声信号１５５は音声信号１２５を受信して同時に出力することができる。楽曲は、一般的に、ある程度の予測可能性（例えば、キー、リズムなどの相対的な一貫性）があるので、相補的な音声信号１５５は前方を見据えたもの（すなわち、音符が出力される前に、ある程度の時間で生成される）として生成することができる。
【００３６】
相補的な音声信号１５５内に含まれた音楽情報は、音楽情報１６０との音楽の互換性に基づいて選択することができる。一般的には、音楽互換性の性質（タイミング、ピッチ、音量など）が、音声信号１５５と共に相補的な音声信号を同時に出力するために望ましい。例えば、相補的な音声信号１５５のリズムは、各信号の音符または和音が同期または少なくとも調和または予測可能なタイミングでリスナーに提供されるように、音声信号１２５のために決定されたリズムに一致させることができる。同様に、相補的な音声信号１５５のピッチコンテンツは、いくつかのケースでは文化的嗜好に基づく主観的である音符の音楽の互換性に基づいて、選択することができる。例えば、相補的な音声信号１５５は、受信した音声信号に含まれる音楽情報と協和音及び／または不協和音のハーモニーを形成する音符を含むことができる。一般的に、協和音のハーモニーは、他の音符の高調波周波数を補完する音符を含み、不協和音のハーモニーは複雑な相互作用（例えばビート）に至る音符で構成されている。協和音ハーモニーは、一般的に、３、４、５、７、８、９、及び１２半音の音符間隔で作られる音符として説明されている。協和音ハーモニーは、時々「快適」と見なされるが、不協和音ハーモニーは「不快」と見なされる。しかし、不協和音のハーモニーは、時々、音楽的に望ましい（例えば、協和音ハーモニーに対して「解決を求める」感覚を引き起こす）ときもあるため、この快適／不快の分類は、大きな単純化である。音楽のほとんどの形態、特に、欧米のポピュラー音楽では、ハーモニー音の大半は協和音であり、不協和音が音楽の目的を果たす一定の条件の下でのみ不協和音ハーモニーが生成される。
【００３７】
コンピューティング装置１０５の特定のモジュールを使用して決定される音楽情報１６０及び／または採譜１５０は、エンドユーザごとに異なる機能を提供するさまざまなアプリケーションモジュールとつなぎ合わせることができる。いくつかの実施形態では、アプリケーションモジュールは、本明細書に記載の様々な実施形態に従って提供される機能を含んでいる単体の商用プログラム（すなわち、音楽プログラム）であってもよい。アプリケーションモジュールの一例は、作曲モジュール１４０である。伴奏モジュール１３８と同様に、作曲モジュール１４０は、音楽情報１６０及び／または採譜１５０に基づいて、相補的な音楽情報を生成するように構成されている。しかし、出力するための別個の相補音声信号１５５を生成する代わりに、作曲モジュール１４０は、採譜１５０に基づいて、エンドユーザに提案や提言を提供するように動作する。提案が採譜１５０に示された音符／和音を修正または調整、同じ楽器のための和音パートを追加、異なる楽器のためのパートを追加するように設計することができる。これは、楽曲をアレンジすることを希望するが、複数の楽器を演奏しない、または音楽理論と作曲に特に精通していないミュージシャンのために特に有用である。作曲モジュール１４０の最終結果は、大きな高調波の深さを有する楽譜、かつ／または音声信号１２５に提供されたパート以外の追加の楽器のパートを含んでいる変更された採譜１５０である。
【００３８】
別の例のアプリケーションモジュールとして、どのように楽器を演奏するか、どのように楽曲を譜面にするか、エンドユーザをトレーニングするための指導モジュール１４２がある。音声信号１２５は、所定のレッスンや楽器の楽曲を演奏するエンドユーザの試みを表すことができ、対応する音楽情報１６０及び／または採譜１５０は、エンドユーザの学習進捗状況を評価し、適応的にトレーニングプログラムを更新するために使用することができる。例えば、指導モジュール１４２は、エンドユーザの特定の能力及び／または不備などを識別するために、音楽情報１６０を用いて、所定のレッスン／音楽の音声信号１２５の類似度を決定するなどいくつかの機能を実行することができる。
【００３９】
別のアプリケーションモジュール例は、ゲームモジュール１４４である。いくつかの実施形態では、ゲームモジュール１４４は、エンドユーザにとってより魅力的な学習環境を提供するために、指導モジュール１４２と一体化することができる。他の実施形態では、ゲームモジュール１４４は、特定の指導モジュールの機能なしで提供されてもよい。ゲームモジュール１４４は、所定の楽譜や楽曲の音声信号１２５の類似度を評価するため、楽曲と音声信号１２５の倍音の適合性を決定するため、音声信号自体の定量的または定性的分析などを行うため、などに使用することができる。
【００４０】
図３は、一実施形態に係る音声信号に含まれる音楽コンテンツの自動採譜を行う方法を示している。方法３００は、システム１００の一部、及びメモリ１２０に含まれている機能モジュールの一つまたは複数を用いるなど、本明細書に記載の様々な実施形態と併せて使用することができる。
【００４１】
方法３００は、音声信号がコンピューティング装置によって受信されるブロック３０５で始まる。音声信号は、一般的に、音楽コンテンツを含み、デジタルまたはアナログかどうか、任意の適切な形態で提供することができる。必要に応じて、ブロック３１５において、音声信号の部分がサンプリングされる。いくつかの実施形態では、複数の音声信号が同時に受信される。独立した音声信号は、例えばエンドユーザが楽器を演奏したり、歌ったりするような楽曲の異なる部分を表すことができる。
【００４２】
ブロック３２５では、コンピューティング装置は、音楽情報を抽出するために少なくとも音声信号の部分を処理する。抽出された情報のいくつかの例には、音符オンセット、オーディオレベル、ポリフォニック音符検出などがある。一実施形態では、抽出された音楽情報は、音声信号の部分のみに対応する。別の実施形態では、抽出された音楽情報は、音声信号の全体に対応する。
【００４３】
ブロック３３５では、コンピューティング装置は、抽出された音楽情報のための音楽の表記を複数生成する。表記は、抽出された音楽情報の代替解釈を提供し、一般的に、各表記は拍子記号、調号、テンポ、音符、和音、リズム・タイプなど複数の音楽的特徴を含んでいる。表記は、特性のセットを共有することができ、いくつかの実施形態では、エンドユーザが異なる表記を識別できるように、特定の共有される特徴値は表記の間で異なっていてもよい。
【００４４】
ブロック３４５では、コンピューティング装置は、音楽の表記のそれぞれに対するスコアを生成する。スコアは、一般的に、表記が音声信号と一致する度合いに基づいている。スコアリングは、音楽の特定のジャンル及び／またはコンピューティング装置のエンドユーザに対応する１つまたは複数のユーザプロファイルに基づいて行われてもよい。
【００４５】
ブロック３５５において、複数の音楽の表記のうちの一つが選択されている。一実施形態では、選択は、最大の計算されたスコアに対応する表記を選択するよう、コンピューティング装置によって自動的に行われる。他の実施形態では、二つ以上の音楽表記が、ユーザインタフェースを介して選択入力を受信するために、エンドユーザに提示される。一実施形態では、対応する計算された最大スコアを有する特定の数の表記など、複数の音楽の表記のサブセットがエンドユーザに提示される。
【００４６】
ブロック３６５では、音声信号の音楽コンテンツは、選択された音楽の表記を使用して採譜される。採譜は、デジタルまたはアナログ、視覚的またはコンピュータ可読など適切なフォーマットであってもよい。採譜は楽譜、コード・チャート、ギター譜、または任意の代替の適切な音楽表現として提供してもよい。
【００４７】
ブロック３７５において、採譜は、出力装置に出力される。一実施形態では、電子ディスプレイ装置を使用して、採譜は視覚的にエンドユーザに表示される。別の実施形態では、採譜はエンドユーザの使用のために（印刷装置を使用して）紙または別の適切な媒体に印刷されてもよい。
【００４８】
図４Ａは、一実施形態に係る、抽出された音楽情報のための音楽の表記を複数生成する方法を示している。方法４００は、一般に、方法３００のブロック３３５に対応し、本明細書に記載の様々な実施形態と組み合わせて使用することができる。
【００４９】
ブロック４０５において、コンピューティング装置は、抽出された音楽情報に対応した音符値と長さを決定する。決定方法は、決定された音符オンセット、オーディオレベル、ポリフォニック音符検出などを含んでいる抽出された音楽情報に基づいている。決定方法は、ベースライン表記ルールのシステムを使用して、ピッチ及び／または音長によって音符の分類を含んでもよい。例えば、今日に一般的に使用されている五線譜によると、音符のピッチは、ＡからＧまで分類され、臨時記号で修飾されている。音符の長さは、他の音符、テンポ、拍子などと関連して分類されている。もちろん、代替の楽譜を基準にしているシステムは、他の文化で一般的であってもよく、そのような代替システムは、それに応じてベースラインの分類規則を指示してもよい。
【００５０】
ブロック４１０〜４３０において、コンピューティング装置は、ブロック４０５で決定された音符情報に基づいて、種々の特性を決定する。ブロック４１０において、１つまたは複数の調号が決定される。ブロック４１５において、１つまたは複数の拍子記号が決定される。ブロック４２０において、１つまたは複数のテンポが決定される。ブロック４２５において、１つまたは複数のリズムスタイルや「フィール」が決定される。ブロック４３０において、音符情報に対応する小節の数が決定される。ブロック４１０〜４３０が順番にまたは実質的に同時に決定されることができる。一実施形態では、１つのブロックに対応する選択された値は、他のブロックの値に影響を与える可能性がある。例えば、拍子、テンポ、及び音符の長さは、すべて相互に関連しており、音楽コンテンツを正確に反映するために、これらのプロパティのいずれかを調整することは、少なくとも一つの他の調整を必要とする。別の例では、小節の数は、１つ以上の拍子記号、テンポ、及び音符の長さの複数に基づいて、決定されてもよい。
【００５１】
ブロック４３５において、コンピューティング装置は、抽出された音楽情報のために音楽表記を複数出力する。複数の音楽表記は、上記に決定された特徴の様々な組合せを含むことができる。
【００５２】
次に、図４Ｂは、一実施形態に係る、複数の音楽の表記のうちの一つの選択を行う方法を示している。方法４５０は、一般に、方法３００のブロック３５５に対応し、本明細書に記載の様々な実施形態と共に使用することができる。
【００５３】
ブロック４５５において、コンピューティング装置は、最高の計算されたスコアに対応する音楽の表記のサブセットを選択する。いくつかの実施形態では、サブセットは、エンドユーザのために表示された表記の読みやすさに基づくことができる所定数の表記に限定される（例えば、２つ、３つ、４つなど）。別の実施形態では、サブセットは、特定の閾値を超える全ての表記に限定される。
【００５４】
このブロック４６５において、音楽の表記のサブセットは、エンドユーザに提示される。一実施形態では、これは、電子ディスプレイを使用して行うことができる（例えば、サブセットのそれぞれに対する情報をディスプレイ上に表示する）。別の実施形態では、音楽の表記は、異なる音楽的特徴を図示しているために照らされたＬＥＤなどの視覚インジケータを介して提供される。ブロック４７５において、コンピューティング装置は、音楽の表記の一つのエンドユーザの選択を受け付ける。いくつかの実施形態では、選択入力は、例えばグラフィカル・ユーザ・インターフェースのような、ユーザインタフェースを介して提供されてもよい。
【００５５】
ブロック４５５から４７５までの方法分岐の選択肢として、ブロック４８５において、コンピューティング装置が計算された最高のスコアに対応する楽譜を自動的に選択することができる。
【００５６】
図５Ａ及び５Ｂは、それぞれ１つの実施形態に係る、同じ音楽情報に対応する代替の音楽表記を示している。図５Ａは、音符５２０１−８の最初のセットを示している。例を簡単にするために、音符５２０のそれぞれは、同一の周波数／周期（ここでは、「Ｂフラット」または「Ｂｂ」）に実質的に対応し、実質的に同じ長さを有すると仮定する。
【００５７】
表記５００は、それぞれがこの分野の通常の知識を有する者に知られている譜表５０１、音部記号５０２、調音５０３、拍子５０４、及びテンポ５０５を含んでいる。音律５１０は、音符５２０１−８を含み、拍子５０４とテンポ５０５に基づいて、８分音符５１５１、５１５２、などとして表示されている。
【００５８】
表記５２５は、同じ調号５０３及び拍子５０４を含んでいる。しかし、テンポ５３０はテンポ５０５と異なり、１分間に１６０の４分音符が演奏されるべきであることを指す（１分当たり１６０拍（ＢＰＭ）、４分音符が１拍を受ける）。一方、テンポ５０５は、８０ＢＰＭを指す。従って、音符５２０は表記５２５と異なる長さで、つまり、４分音符５４０１、５４０２などと表示される。表記５２５においても、４／４拍子の曲の小節ごとに４つの４分音符しか存在しないため、音符５２０も２つの小節または音律である５３５１（音符５２０１−４の場合）及び５３５２（音符５２０５−８の場合）に分割されている。テンポ５３０はテンポ５０５の８０ＢＰＭから１６０ＢＰＭに増加しているので、これは４分音符の長さが半分にされたことを意味し、表記５２５に示された８つの４分音符は、表記５００に示された８つの８分音符と同じ時間の長さを表している。
【００５９】
表記５００及び表記５２５は、本質的に同じ抽出された音楽情報（音符５２０１−８）を示しているが、表記はテンポ及び音符の長さが異なる。代替的な実施形態では、表記は特定のＢＰＭ値に対応する質的なテンポインジケータ（例えば、アダージョ、アレグロ、プレスト）を含むことができる。もちろん、複数の代替表記は、拍子記号（例えば、１小節当たり２拍、または１つの拍を受ける２分音符）と音符の長さを調整することによって提供することができる。ここでは図示していないが、音符用のピッチ特性は別の形（例えば、Ｄ＃またはＥｂ）、または同じ調号に基づいて別のキー（例えば、Ｂｂ長調またはＧ短調）で示してもよい。
【００６０】
図５Ｂは、第２のセットの音符５６０１−１２の他の音楽的解釈に対応する表記５５０、５７５を示している。音楽の解釈のタイミングの側面を強調表示するには、表記５５０、５７５は、図５Ａの表記より採譜の異なるスタイルで提示されている（例えば、音符ピッチ／周波数情報なしで示されている）。
【００６１】
表記５５０は、拍子（すなわち、４／４拍子５５２）、フィール（すなわち、トリプレットフィール５５４）、テンポ（すなわち、６０ＢＰＭ５５６）を含んでいる。これらの特性に基づいて、表記５５０は、音符５６０１−１２を単一の小節内または小節５５８内で、そして時間軸に対して３連音符５６５１−４としてグループ分けする。各３連音符５６５は、小節５５８内の強い拍（すなわち、５６０１、５６０４、５６０７、５６０１０）に対応する１つの３連音符の８分音符も含んでいる。
【００６２】
次に、表記５７５は、拍子（すなわち、３／４拍子５７６）、フィール（すなわち、ストレートフィール５７８）、テンポ（すなわち、９０ＢＰＭ５８０）を含んでいる。これらの特性に基づいて、表記５７５は音符５６０１―１２を２つの小節または小節５８２１、５８２２をわたって、８分音符のペア５９０１−６にグループ分けする。各８分音符ペア５９０は小節５８２内に強い拍すなわち、５６０１、  ５６０３、５６０５、・・・、５６０１１）に対応する１つの８分音符を含んでいる。
【００６３】
図５Ａに図示しているように、表記５５０及び表記５７５は、本質的に同じ音楽情報（すなわち、音符５６０１―１２）の別の解釈を提供している。音符オンセットタイミング情報のみを使用して、音符５６０１−１２の単一の「正しい」解釈を識別することは困難であろう。しかし、音符の解釈の違いは小節の数の差だけでなく、小節内の強い拍のタイミングの差も生じる。この分野の通常の知識を有する者は、代替的な表記におけるこのような差は、音声信号に含んでいる音楽コンテンツの表記に対しても、以下に詳細に記載する適切なリアルタイムの音楽の伴奏の生成に対しても、かなりの影響を有し得ることを理解するであろう。例えば、表記法５５０に従って解釈される楽曲を演奏する（例えば、音声信号に含まれている音楽コンテンツを再現する、または音楽コンテンツに基づいて生成された伴奏パートを演奏する）ミュージシャンが、表記５７５に従って解釈の楽曲より形式上完全に異なっている方法で演奏することになろう。
【００６４】
ここで提供された例は比較的単純であるが、この分野の通常の知識を有する者はまた、複数の表記が、例えば、異なるいくつかの音楽的特徴、例えば、ピッチに基づく特性と同様に、異なるテンポとスイングの指標の組み合わせによって、異なる場合があることをも認識するであろう。示された表記は、音符を客観的かつ正確に示しているにもかかわらず、エンドユーザは、音声信号の音楽コンテンツを採譜するための表記のいずれかを明示的に好むだろう（あるいは、少なくとも選択するであろう）。従って、このような意識的または無意識的なエンドユーザの好みとして無形または主観的な要素を受容するために、これらの複数の競合の代替的な表記を生成することは有益であろう。
【００６５】
図６は、一実施形態に係る、選択された音楽の表記を使用して音楽の表記及び採譜の選択を示している。表示装置６００は、電子ディスプレイ装置の１回目の表示画面６０５及び２回目の表示画面６２５を提示し得る。表示画面６０５、６２５は、ＵＩ１８７のようなＵＩの要素を含んでいる。
【００６６】
表示画面６０５は、上記の図５Ｂの記載の音符５６０１―１２に対応するいくつかの表記５５０、５７５及び６１０を含み、各表記が表示画面６０５の別々の部分に表示されている。表記は採譜形式（例えば、図５Ｂに示される表記５５０と５７５のように）で表示画面上表示され、及び／または表記音楽的特徴（例えば、Ｂｂ長調のキー、ストレート４／４拍子、１６０ＢＰＭなど）について記載されている情報を含んでもよい。
【００６７】
表記は、所定の位置及び／または順序に表示されることがある。一実施形態では、減少しているスコアが位置６０６２  及び６０６３に対応するように、表記は算出されたスコア（すなわち、最大のスコアを持つ表記５５０が６０６１位に対応する）に従って順序付けされている。
【００６８】
表示画面６０５は、さらにエンドユーザが音声信号の別の表記を指定するために選択できるエリア６１５（「その他」）を含んでいる。エンドユーザの入力は、全く異なる生成された表記（ランク付けられたいない、現在、表示画面６０５上に表示されているものなど）を選択することができる、及び／または生成された表記に対してエンドユーザによって指定された１つまたは複数の別個の変化を含んでいることができる。
【００６９】
表記を選択すると、コンピューティング装置は、完全な音声信号の採譜を生成するために選択された表記についての情報を使用する。示されるように、ユーザの手６２０は、表示画面上６０５の表記５５０を選択する。表示画面６２５は、表記５５０による音声信号の採譜６４０を図示している。一実施形態では、エンドユーザの選択のために表示された音符５６０１―１２は、選択された表記に従って既に６３０１が採譜され、コンピューティング装置は、表記を選択した後、音符５６０１３−ｎ（図示しないが、小節６３０２−６３０ｋに含まれている）に対応する採譜６４０の部分６３５を採譜する。音符フォーマットは採譜６４０のために示されているが、代替採譜が可能である。また、採譜６４０は、音声信号のダイナミックコンテンツに関する情報（例えば、音量変化、アクセントなど）、を含んでいることができる。
（リアルタイム音楽伴奏の生成）
【００７０】
幾つかの実施形態は、コンピューティング装置によって受信された音声信号に含まれている音楽コンテンツのリアルタイム伴奏を実行することに関するものである。楽器信号（ミュージシャンによる演奏など）で出力するのに適した伴奏信号を生成したいミュージシャンは、楽器信号を使用して、自動伴奏システムをトレーニングすることができる。しかし、ミュージシャンは、一般的には、再生に適した伴奏信号の処理の完了まで待たなければならないため、プロセスが完全に非同期でない場合は、楽器の演奏の中断が発生する。
【００７１】
自動伴奏装置は、学習段階内にＭＩＤＩ信号のような音声信号または派生的な信号の形式を受信することにより作動することができる。伴奏信号の最も適切な音楽の性質を決定するために（キー、和音構造、小節数、拍子、テンポ、フィール、などに基づいて）、ミュージシャンは学習段階が完了（例えば、歌の部分の最後に）したと指示した後に、かなり複雑な後処理分析を行う必要がある。この後処理は、現代の非常に高速な信号処理装置にしてもかなりの時間を必要とする。
【００７２】
図７は、一実施形態に係る、受信した音声信号に含まれている音楽コンテンツのリアルタイムの音楽の伴奏を行うためのシステムの一例を図示している。いくつかの実施例では、システム７００は、例えば、抽出モジュール１３０及び伴奏モジュール１３８を使用して、上述したシステム１００内に含めることができる。
【００７３】
このシステム７００は、１つの入力として、音楽コンテンツを含んでいる音声信号１２５を受信するように構成されている。いくつかの実施形態では、音声信号１２５は、ギターのような楽器を演奏することによって生成することができる。他の実施形態では、音声信号１２５は、例えば、ＭＩＤＩに対応しているキーボードから出力された派生的な音声信号の形であってもよい。
【００７４】
システム７００はさらに、１つまたは複数の制御入力７３５、７４５を受信するように構成されている。制御入力７３５、７４５は、一般に、システム７００が異なるモードで動作するようにする。示されるように、制御入力７３５はシステム７００の「学習」モードに対応し、制御入力７４５は「伴奏」モードに対応する。一実施形態では、動作中のシステム７００は、一般的に、利用可能な選択された一つのモードで動作する。一般的に、オペレーションの学習モードは、適切な相補的な音声信号が伴奏モードで生成される前に音声信号を分析するために実行される。一実施形態では、エンドユーザは、システムのＵＩに関連付けられた受動デバイス（例えば、１つまたは複数の電気スイッチ）または能動デバイスを使用して（例えば、電子ディスプレイ装置のグラフィカル・ユーザ・インターフェースを介して）、制御入力７３５の制御、つまりシステム７００を制御することができる。
【００７５】
オペレーション期間、音声信号１２５は、抽出モジュール１３０の特徴抽出モジュール７０５によって受信され、そのモジュールは一般に音声信号のリアルタイム特徴抽出を実行するように構成されている。リアルタイム分析は、また、後で考察されるが、予備的分析モジュール７１５を使用して、実行されてもよい。多くの音楽上の特徴は、ノートオンセット、オーディオレベル、ポリフォニックノート検出など、もっと包括的な音楽情報の分析を行うプロセスで使用されてもよい。一実施形態では、特徴抽出モジュール７０５は、受信された音声信号のリアルタイム抽出を実質的に連続的に実行することができる。一実施形態において、リアルタイム抽出は、制御入力の状態に関係なく行われる。システム７００は、エンドユーザの明示的な命令がなくとも（制御信号によって明らかなように）、音声信号１２５から有用な情報を抽出するために、特徴抽出モジュール７０５を使用することができる。このようにして、エンドユーザの開始指示の時刻前  （すなわち、学習モードの開始時），に生じる事象が捕捉され得る。一実施形態では、特徴抽出モジュール７０５は、学習モードにおいて、システム７００の作動に先立って、受信された音声信号に対処する。
【００７６】
オペレーション期間、エンドユーザは、ＵＩを操作しシステム７００に学習モードに入る遷移を通知することができる。例えば、学習モードに遷移するために、エンドユーザはギターペダルのフットスイッチなどのスイッチを操作し、または、ＧＵＩを使用して選択をすることができる。実施形態  によっては、システム７００は、特徴抽出モジュール７０５が受信された音声信号の第１ノートオンセットを検出して、自動的に学習モードに入る「オートアーム」とする構成にされてもよい。
【００７７】
学習モードに入ると、システムは、予備的分析モジュール７１５を作動してもよく、そのモジュールは、リアルタイムにおいて音声信号１２５の限定分析を実行するように構成されている。限定分析の実施例は、音声信号の音楽コンテンツのキーを決定することを含んでいる。もちろん、付加的または代替的分析は実行され得るが、一般的には、ピッチまたはタイミング情報について、分析は限定されたセットの特徴のみを決定でき、その分析は実質的にリアルタイムで完了することができる（換言すれば、目立った遅延なく、受信されたように音声信号の部分を処理することができる）。一実施形態において、予備的分析モジュール７１５は、また、音声信号１２５に対応する意図された第１音楽コードを決定する。
【００７８】
特定量の音楽曲が演奏された後で、エンドユーザは学習フェーズの完了と伴奏フェーズの開始を指示することができる。音声信号１２５に含まれる演奏量は、エンドユーザによって所望の楽曲量を反映することができるが、場合によっては、エンドユーザが楽曲の特定セクション（または、他のサブディビジョン）の最後で、例えば、そのセクションを繰り返す前、または他のセクションを開始する前に、遷移表示を提示する方がもっと自然に感じることもある。一実施形態において、エンドユーザはフットスイッチを操作して適切な制御入力７４５を提示して伴奏を開始すべきであることを指示する。
【００７９】
一実施例において、伴奏モジュール１３８は、エンドユーザが伴奏モードに移る指示を提供するときにほぼ直ちに、１つまたは複数の相補的音声信号１５５を出力する。「ほぼ直ちに」とは、音声信号と相補的音声信号１５５の相対的タイミングに関するエンドユーザの知覚に基づいて一般的に定義される。一実施形態では、「ほぼ直ちに」は、音声信号内の次のビートと同一時刻より前またはその時刻での相補的音声出力を含んでいる。一実施形態では、「ほぼ直ちに」は、例えば、４０ｍｓまたはそれより短いエンドユーザにとって聴覚的に認識できない時間内の相補的音声信号の出力を含んでいる。伴奏信号の出力を「ほぼ直ちに」開始することによって、システム７００はエンドユーザにフットスイッチまたは他のＵＩ素子の操作が契機となって直ちに伴奏を開始したという印象を与える。この印象は、エンドユーザにとって重要であり、そのエンドユーザは、処理を完了するために、停止し、伴奏が開始されたときに再開することによって起こる中断の代わりに、継続し休止しない音楽演奏を好んでいる。
【００８０】
幾つかの実施形態では、相補的音声信号の初期部分は、「ほぼ直ちに」に出力されるが、予備的分析モジュール７１５によって実行される音声信号の限定された予備的分析に対応する。従って、相補的音声信号１５５の当該初期部分は、受信音声信号について十分な分析が完了した後で生成される後期部分より、音楽的な複雑さが少ない状態で生成され得る。一実施形態では、単一音符または和音が生成され、相補的音声信号１５５の初期部分のために出力され、その音符または和音は音声信号の分析が完了されるまで、維持されてもされなくてもよい。一実施形態では、相補的音声信号の初期部分は、決められたキー及び決められた和音の１つに基づいている。
【００８１】
相補的音楽信号１５５は、１つまたは複数の別個の楽器部分に対応して生成されてもよい。一実施形態では、伴奏モジュール１３８は、音声信号１２５を形成するために使用される同一の楽器のために、相補的音声信号を出力する。例えば、ギターからの入力信号のために、出力された相補的音声信号はギターパートに対応してもよい。別の実施形態では、伴奏モジュール１３８は、１つまたは複数の別の楽器のために、相補的音声信号１５５を出力する。例えば、入力ギター信号は、ベースギター及び／またはドラムセットのために生成された相補的音声信号に対応してもよい。このようにして、システム７００は、独りのミュージシャンを数個の楽器パートを持っている「ワンマンバンド」に効果的に変えるために使用することができる。更に、リアルタイム演奏態様は、システム７００をライブ音楽演奏または録音の使用に適するようにする。また、特徴抽出及びリアルタイム演奏の適応性は、システム７００が即興演奏を含む音楽演奏に適したものにもし、それがジャズ、ブルースなどの演奏音楽の特別なスタイルまたはジャンルに共通となり得る。
【００８２】
相補的音声信号１５５の駆動を過ぎて、エンドユーザの伴奏モードへの遷移表示は、また、より音楽的に複雑で、相補的音声信号の初期部分に続く相補的音声信号の後続部分を生成するために、音声信号７２５（すなわち、完全な分析モジュール７２５によって）のより完全な分析を始めるための、システム７００への合図となり得る。例えば、学習モード内で抽出された特徴は、好ましい相補的音声信号を生成するために要する多くのパラメータを決定するために分析されてもよい。決定されたパラメータの例は、楽曲セクションまたはパートの長さ、小節線または小節の数、コード進行、小節当たりのビート数、テンポ及びリズムまたはフィールのタイプ（例えば、ストレートまたはスウィング時間）を含んでいる。
【００８３】
実施形態には、モダンプロセッサ上で効果的なプログラミング手法（ダイナミックプログラミングなど）を使うと、音声信号内の次の主要ビートが生じる前に抽出された特徴の分析を完全に行うことが可能となるものもある。そうしてエンドユーザに学習モードと伴奏モードの間の継続的な流れの印象を与えて、後続部分を音声信号の次の主要ビートから始めることができる。処理の完了のために追加時間が必要な場合であっても、少なくとも相補的音声信号の少なくとも初期部分が音声信号の最初のビートと同期して開始すると、エンドユーザは、合理的な短い時間内に後続部分が始まる限り、エンドユーザは、それでも、音楽演奏について、これが受け入れ可能な継続であると判ると思われる。一実施形態において、例えば、次のビート、次の小節またはセクションの開始に同期するなど、音声信号の音楽コンテンツの分割部分に対応して、初期部分に続く第１後続部分が開始する。
【００８４】
図８は一実施形態によるリアルタイム音楽伴奏を行うシステムのタイミングの実施例を図示するチャートである。チャート８００は、一般に、システム７００の動作と提示された記述に対応している。
【００８５】
チャート８００は、最初のプロットについて、音声信号を示している。音声信号８０５は、４つの繰り返しセクション８１０１，８１０２，８１０３，８１０４（すなわち、それぞれ、人の演奏、雑音などによる音声信号に多分少ない変量を持った類似の音楽情報）を含んでいる。各セクション８１０は、第２プロット（すなわち、時間）上に示されているそれぞれの時刻ｔ０、  ｔ１、ｔ２、  ｔ３で開始する。
【００８６】
その他の含まれているプロット、ラベルが貼ってある分析は、システム７００のいろいろなモードにわたって実行される信号処理の概略を提示している。第１ピリオド８１５は、受信された音声信号から特定のセットの特徴が抽出される継続的抽出モードを備えている。一実施形態において、このモードは、音声信号８０５を受信する前に（すなわち、ｔ０に先立って）開始する。抽出されるこのセットの音楽的特徴は、後で行われる音声信号の完全な分析から制限を受け得る。期間８１５内で抽出される例示の特徴は、ノートオンセット、オーディオレベル、ポリフォニックノート検出、などを含んでいる。期間８１５内で、システム７００は、多かれ少なかれ連続的に抽出された特徴を更新してもよく、あるいは１つまたは複数の個別の時間間隔（すなわち、時刻Ａ、Ｂ、Ｃ）で特徴を更新してもよい。
【００８７】
時刻ｔ１に対応する時刻Ｄで、エンドユーザは、システム７００に学習モードに入るよう指示するために素子ＵＩを作動する。一実施形態では、これはエンドユーザが電気スイッチを作動すること（例えば、フットスイッチをステップオンすること）を含んでいる。他の実施形態では、これは表示されたＧＵＩを使用するモード選択を含んでいる。エンドユーザは、音声信号の音楽に関連する任意の時間でＵＩを作動させてもよいが、場合によっては、自然の遷移ポイント（連続セクション８１０）で遷移モードを選択してもよい。
【００８８】
エンドユーザの入力に応じて、システムは学習モードに入り、期間８２０Ａの第１サブピリオド８２５の間に受信された音声信号の予備的分析を開始する。予備的分析は、期間８１５の間に抽出された音楽的を使用して行われてもよく、音声信号８０５の音楽コンテンツの付加的なセットを決定することを含んでもよい。予備的分析から決定された特徴の例には、音声信号８０５の音楽コンテンツのキー、音声信号の最初の和音、音声信号内の主要ビートのタイミングなどを含んでいる。一実施形態において、予備的分析期間（すなわち、サブピリオド８２５）に決定される特徴のセットは、期間８１５に決定される特徴のセットを越える処理が必要となることもある。特徴の特定のセットの決定は、伴奏モードに入る前（すなわち、時刻Ｅ）に完了され得る。一実施形態では、予備的分析の完了が、伴奏モード（すなわち、時刻Ｆ）に入るきっかけとなる。他の実施形態では、システムが、学習モードに留まり、伴奏モードへの遷移するためにエンドユーザからの入力を待ち、音声信号８０５の付加的な処理を実行してもよい。付加的な処理は、予備的分析（継続的または周期的に）によって、決定される特徴セットを更新し及び／または音声信号の特徴決定の次のフェーズ（例えば、後で考察する「完全分析」の幾つかまたは全てに対応する）の実行を含んでもよい。
【００８９】
音声信号の予備的分析において使用に好適な１つの例示方法は、次のことを含んでいる。
【００９０】
第一に、エンドユーザが学習モードを開始したときに続いて最も近いノートオンセットを決定する。次に、所定の間隔（例えば、「早期学習フェーズ」）の期間、システムは、検出された音楽ノートを分析し、特に、その検出されたノートを類似のルートを持っている和音にグループ分けを試みる。
【００９１】
次いで、システムは、コードセグメントが他のセグメントによって分離されていても、同じルートを有し結ばれていないコードセグメントを組み合わせる第２グルーピングアルゴリズムを適用する。一実施形態では、他のセグメントが、相対的に短い時間の１つまたは複数の不安定セグメントを含んでもよい。
【００９２】
次に、システムは、所定の間隔の期間、好ましい安定的なコードルートが見つかったかどうか決定する。安定的なコードルートが見つかった場合、音符は、相補的音声信号の可能な開始音符として保存され得る。
【００９３】
コードルートが十分安定していない場合、システムは、音声信号から来る音符の注視を続け、音楽コンテンツのキーを予測する任意の周知の手法を使用してもよい。システムは、相補的音声信号の開始音符として、この予測キーのルート音符を使用してもよい。当該提示方法はこのステップの後で終了する。
【００９４】
時刻Ｆでシステム７００は、伴奏モードに入り、その期間に１つまたは複数の相補的音声信号８４０，８５０が生成され及び／またはスピーカあるいはヘッドフォンなどの関連する音声出力装置に出力される。モードの遷移は、エンドユーザが素子ＵＩを操作することが契機となり、その素子は、一般に，学習モードの終了をシステム７００に指示する。学習モードの終了を明示的に知らせて、音声信号８０５で捕捉された音楽演奏の意図された長さの最初の見積もりをシステムが行えるようにする。このため、システムは、音声信号がより著しく及び／または著しく異なった分析されるべき内容を含んでいるかどうかはっきりしていない分析の初期時と比較されるとき、学習モード期間（または少なくとも遷移の時刻、時刻Ｆの音楽的特徴の状態）に決定される音楽的特徴とより大きい信頼性と関連付けることができる。
【００９５】
伴奏モードに入ると（または、代わりに、学習モードを終了すると）、システム７００は、音声信号８０５の音楽コンテンツの完全な分析を行う。完全な分析は、まだ更なる音楽的特徴の決定を含み得るため、決定される特徴の総量は、シーケンス（例えば、連続抽出モードから学習モードと伴奏モードへ）の各ステージまたはモードのために増加する。完全な分析では、システムは、好ましい相補的音声信号を生成するために必要な多くの音楽演奏を決定することができる。決定されたパラメータの実施例は、楽曲セクションまたはパートの長さ、多くの小節線及び小節、コードプログレッション、小節あたりの多数のビート、テンポ、リズムやフィールのタイプ（例えば、ストレートまたはスイング時間）を含んでいる。一実施形態においては、学習モードから伴奏モードに遷移後のみ完全な分析が開始する。他の実施形態では、予備的分析の特徴決定の終了後に引き続く学習モードで、完全な分析のために、幾つかのまたは全ての特徴決定が開始する。
【００９６】
ＵＩ素子のオペレーションが中断なしの音楽演奏にとって好ましい即興伴奏の契機になるという印象をエンドユーザに提示するために、システムは、伴奏モードに遷移する時刻Ｆで入力を受信することにより、時刻Ｇで、実質的に直ちに（上述で十分定義されている）相補的音声信号の出力をすることができる。一実施形態では、時刻ＦとＧの間の間隔は、エンドユーザにとって音響的に知覚不可能な、例えば、４０ｍｓ、あるいはそれ以下である。
【００９７】
しかし、場合によっては、音声信号８０５の完全な分析を完了するために必要な時間は、時刻Ｇを超過してもよい。この時間は、サブピリオド８２０Ｂとして示されている。実施形態によっては、完全な分析が部分的にしか終了していないにもかかわらず、エンドユーザに「即興伴奏」の印象を与えるために、システム７００は完了した分析（例えば、予備的分析または完全な分析の完了部分）に基づいた相補的音声信号の初期部分を生成する。初期部分は、相補的音声信号８４０のサブピリオド８４２によって表示される。一実施形態では、初期部分は、単一音符または和音を含んでよく、場合によっては、サブピリオド８４２の長さ期間維持されてもよい。
【００９８】
時間Ｈで、完全な分析が終了すると、システムは、完全な分析に基づいた相補的音声信号の後続部分を生成することができる。１つの後続部分が、相補的音声信号８４０及び８５０の時間サブピリオド８４４及び８５４のために、それぞれ図示されている。完全な音楽分析は、相補的音声信号を生成するために利用できるので、一般に、後続部分は、初期部分よりもっと音楽的に複雑である。エンドユーザに中断のない印象を与えるために、一実施形態において、システム７００は、次に決定される音声信号のサブディビジョン（例えば、次のビート、主要ビート、小節、フレーズ、パートなど）に対応する相補的音声信号の後続部分の出力を遅延することができる。この決定された遅延は、時刻Ｈ及びＩの間の時間間隔によって表される。
【００９９】
複数の相補的音声信号８４０，８５０が生成され、それぞれは、別の楽器パート（ベースギター、またはドラムなど）に対応してもよい。一実施形態では、生成される全ての相補的音声信号は、同じ時間長の初期部分（例えば、後続部分よりもっと簡単である）を含んでいる。しかし、一実施形態では、１つまたは複数の相補的音声信号は、初期部分とは異なる時間長を持ってもよく、相補的音声信号によっては、初期部分を全く含まないものもある。音声信号分析の特定のタイプが複雑さで異なり、または多かれ少なかれプロセッサ中心である場合、あるいは相補的音声信号の生成している特定部分が多かれ少なかれプロセッサ中心である場合、システム７００は、音声信号の分析及び／または相補的音声信号の生成を相応して優先することができる。例えば、ドラムパートが時間情報のみ必要であるのに対して、ベースギターは、正しい周波数情報（ノートピッチ）並びにタイミング情報の決定が必要である。そのため、一実施形態においては、システム７００は、入力音声信号内のビートまたはリズムの決定を優先し、処理が、初期の簡単な部分（例えば，相補的音声信号８４０）を生成してベースギターパートを決定する必要がある場合は、ドラムパートは完全な演奏を始め、最初の簡単な部分（例えば、相補的音声信号８５０）を含む必要がないとしてよい。異なった楽器のパートについて、このような連続するまたは階層化の導入は、またはエンドユーザに対する現実感や中断のない印象を強調することもできる。もちろん、他の実施形態では、システム７００は、追加の分析を要するパートを優先し、全ての音楽パートが、ふらついた導入とならずに、より早い時期に完成される。一実施形態では、階層のあるまたは同時の導入が、例えば、ＵＩを介してエンドユーザが選択できるようにしてもよい。
【０１００】
図９は一実施形態によるリアルタイム音楽伴奏実行システムの実施例を図示している。実施例は、回路を内蔵したハウジング９０５を有するギターフットペダル９００を示している。回路は、一般に、システム１００及び７００（例えば、プロセッサ１１０、様々な機能モジュールを持ったメモリ１２０を含んでいる）について図示され記述されているコンピューティング装置１０５の部分に対応している。簡略のため、フットペダル部分は、明確に図示も記述もされていないが、この分野の通常の知識を有する者は理解できよう。
【０１０１】
フットペダル９００は、システムに対する１つまたは複数の入力と１つまたは複数の出力を利用可能にしている。図示されている通り、ハウジング９０５は、音声入力ポート９５５を介して有線接続、制御入力ポート９６０、１つまたは複数の音声出力ポート９７０１、９７０２及びデータ入力／出力ポート９７５を保持する開口を備えている。他の実施形態では、１つまたは複数のポートは、コンピューティング装置、楽器、音声出力装置などとの無線接続を備えてもよい。音声出力ポート９７０１、９７０２は、それぞれ、別の楽器パートに対応して生成される相補的音声信号などの分離出力音声信号を提供してもよく、あるいは同一の音声信号について実行される別の処理をできれば反映するようにしてもよい。一実施形態では、データ入力／ポート９７５は、音声入力ポート９５５で受信される信号の自動採譜を提示するために使用され得る。
【０１０２】
ハウジング９０５は、複数のノブ９１０、フットスイッチ９２０、ＬＥＤのような視覚表示器９３０などの１つまたは複数のＵＩ素子を利用可能にする。ノブ９１０は、それぞれ、音楽分析及び／または伴奏、それぞれの機能を制御することができる。一実施形態では、ジャンル選択ノブ９１０Ａは、ユーザが特定の音楽ジャンルに適合する伴奏のタイプを選択し、スタイル選定ノブ９１０Ｂは、どのスタイルが自動採譜に最も相応しいかを表示し（例えば、特定のスタイルがどの程度よく適合しているかを示す色または輝度を使用する）、テンポ調整ノブ９１０Ｃは、生成される伴奏について、例えば、練習をするために、速度を上げたり下げたりするために使用される。ベース（音量）レベルノブ９１０Ｄ及びドラムレベルノブ９１０Ｅは、出力ミックスにおける各楽器のレベルを制御する。もちろん、その代わりとなる機能が備えられてもよい。ノブ９１０は、選択マーカ９１５（例えば、選択マーカ９１５Ａ）を備えてもよく、その適応によって連続（ベースレベルノブ９１０Ｄまたはドラムレベルノブ９１０Ｅ）または個別選択位置（ジャンルノブ９１０Ａ）を指示する。ノブ９１０は、また、視覚表示器（例えば、表示器９１７９−１１が図示されている）に対応してもよく、ノブなどの位置または向きによって照明される。色及び／または輝度は、可変でもよく、スタイルがどの程度よく学習された演奏と適合しているかなどの情報を表示するため使用することができる。
【０１０３】
フットスイッチ９２０は、学習モード及び伴奏モードなどのモードを選択するために作動され得る。一構成では、フットペダル９００は、電力が供給され、かつデフォルトによって、連続抽出モードに入る。そして、エンドユーザは、最初のときにフットスイッチ９２０を押して、システムを学習モード（視覚表示器９３０Ａを照明して表示することができる）に入れることができ、第二の時期にシステムの学習モードを終了し及び／または伴奏モード（視覚表示器９３０Ｂに対応する）に入るようにすることができる。もちろん、モード間の時間ベースの遷移などの他の構成も可能である。
【０１０４】
ハウジング９０５は、また、場合によっては、照明されるプッシュボタン９４２などの他の機能を選択し表示するＵＩ素子を利用可能にする。プッシュボタン９４２は、プロセッサ１１０を使用する所望の音声処理効果を入力信号（「ギターＦＸ」９４０）に適用するように選択するため及び／または表示するために使用される。一実施形態では、ギターＦＸ９４０ボタンを一度押すと、そのボタンを緑色に照明し、ギターをかき鳴らすに最も適切な効果になり、ボタンをもう一度押すとボタンは赤くなってリードギターに最も適切な効果になる。同様なプッシュボタンまたは素子が、１つまたは複数の音楽パート９４５（メモリ１２０に保存される）を選択し及び／または表示するために設けられてもよく、変動時間９５０も同様である。一実施形態においては、変動時間ボタン９５０は、自動採譜によって決定された現行テンポ設定及びテンポノブ９１０Ｃの設定では緑色に点滅する。押されたときに、例えば元のテンポの半分または２倍のテンポで、自動採譜に首尾よく適合する変動するテンポで、表示器は赤色に点滅する。
【０１０５】
図１０は、一実施形態による、受信された音声信号に含まれる音楽コンテンツのために、リアルタイムで音楽伴奏をする方法を図示している。方法１０００は、一般に、システム１００、７００と一緒に使用されてもよく、上述した図７−９の記述と一致している。
【０１０６】
方法１０００は、音声信号がシステムによって受信される場合、ブロック１００５で開始する。音声信号は、音楽コンテンツを含んでおり、ボーカル信号、楽器信号及び／またはボーカル信号または楽器信号から生じた信号でもよい。音声信号は、録音され（すなわち、メモリから受信される）または音楽演奏によってライブで生成されてもよい。音声信号は、アナログやデジタルに係わらず、適切なフォーマットで表現されてもよい。
【０１０７】
ブロック１０１５において、音声信号の部分は選択的にサンプルされる。ブロック１０２５は、システムが音声信号の少なくともサンプルされた部分を処理して、対応している音楽コンテンツから音楽情報を抽出する。一実施形態においては、システムは抽出された音楽情報の全体を処理する。一実施形態においては、音楽情報の処理と抽出は、複数のステージまたはフェーズ期間に生じ、その各々は、システムオペレーションの異なったモードに対応することができる。一実施形態では、音楽的特徴セットは、数が増加し及び／または処理の各後続ステージの複雑さが増加する。
【０１０８】
ブロック１０３５では、システムは、所定の長さを持つ最も近い期間に抽出された音楽情報を、選択的に維持する。一般に、これは所定周期で音楽情報を更新することに対応してもよい。一実施形態においては、音楽情報の更新は以前に抽出された音楽情報セットを破棄することを含んでもよい。
【０１０９】
ブロック１０４５では、システムは、抽出された音楽情報と音楽的に互換性のある相補的音楽情報を決定する。これは伴奏モジュールで実行されてもよい。ブロック１０５５では、システムは、相補的音楽情報に対応する１つまたは複数の相補的音声信号を生成する。一実施形態において、相補的音声信号は別の楽器に対応し、受信された音声信号を生成するために使用される楽器とは異なってもよい。
【０１１０】
ブロック１０６５では、相補的音声信号は、音声信号の受信と同時に出力される。一般に、相補的音声信号は、システムに結合された音声出力装置を使用して出力される。出力された相補的音声信号の開始時間は、システムのＵＩ素子を介して、エンドユーザによって制御されてもよい。相補的音声信号のタイミングは、エンドユーザにとって、繋ぎ目のない、中断のない音楽演奏の印象を与えるように決定してもよく、そのエンドユーザは、場合によっては、受信された音声信号に対応する楽器の演奏者であってもよい。一実施形態においては、相補的音声信号は、受信された音声信号の処理の進捗に基づいて、より音楽的複雑さのない開始部分を有し、もっと音楽的複雑さがある後続部分を含んでいる。一実施形態において、相補的音声信号の出力は、エンドユーザにとって聴覚的には認識できない短時間内であるように、例えば指示される開始時間の４０ｍｓ以内に生じる。一実施形態では、システムは、次の主要ビート、ビート、フレーズ、パートなどの音声信号の予め決定されたサブディビジョンに対応する相補的音声信号部分の出力を遅延することができる。方法１０００は、次のブロック１０６５で終了する。
【０１１１】
本開示の様々な実施形態の記述は、例示目的で提示されたものであり、これに尽きることが意図されたものではではなく、開示された実施形態に限定されるものでもない。多くの修正や変更が、この分野の通常の知識を有する者にとって、記述された実施形態の趣旨と範囲を逸脱しないで、明らかであろう。ここで使用されている用語は、実施形態の原理、市場で見受けられる技術の実用的応用または技術的な改良を最もよく説明するために選定され、あるいはこの分野の他の知識を有する者がここで開示された実施形態を理解できるように選定されたものである。
【０１１２】
これまでの記述は、この開示で提示された実施形態を参照してなされた。しかし、本開示の範囲は、特定の開示された実施形態に限定されない。代わりに、記述の特徴や要素の組み合わせが、別の実施形態に関連するかどうかに係わりなく、記述された実施形態を実行し実施するために記述されている。更に、ここで開示されている実施形態は他の可能な解決または先行技術ついて利益をもたらすことができるが、特定の利益が所与の実施形態によって達成されるかどうかは、本開示の範囲を限定するものではない。このため、これまでの態様、特徴、実施形態及び利益は、単に例示的なものであり、特許請求の範囲で明示的に言及された場合を除き、添付特許請求の範囲の要件または限定とみなされない。同様に、「本発明」  についての参照は、ここで開示された発明主題の一般化と解釈されるべきではなく、特許請求の範囲で明示的に言及された場合を除き、添付特許請求範囲の要素または限定と解釈されてはならない。
【０１１３】
本開示の態様は、全体をハードウエアの実施形態とし、全体をソフトウエアの実施形態（ファームウエア、予め組み込まれているソフトウエアマイクロコードなどを含む）とするか、または、ここで、一般に、「回路」、「モジュール」または「システム」と総称しているソフトウエアとハードウエアを組み合わせた実施形態を取ってもよい。
【０１１４】
本開示は、システム、モジュール、及び／またはコンピュータプログラム製品として実施してもよい。コンピュータプログラム製品は、プロセッサが本発明の態様を実行するためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（あるいは、メディア）を含んでもよい。
【０１１５】
コンピュータ可読記憶媒体は、命令実行装置によって使用のために命令を維持し、保存することができる有形装置であり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学的記憶装置、電磁気記憶装置、半導体記億装置またはそれらの適切な組み合わせであってもよいが、そのような装置に限定されない。コンピュータ可読記憶媒体のより特定された実施例のリストは、全てを網羅していないが、次のものを含んでいる。ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、消去可能なプログラマブルリードオンリーメモリ（ＥＰＲＯＭ、またはフラッシュメモリ）、スタッティックランダムアクセスメモリ（ＳＲＡＭ）、ポータブルコンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、デジタル・バーサタイル・ディスク（ＤＶＤ）、メモリススティック、フロッピー（登録商標）ディスク、パンチカードや命令が記録された溝隆起構造などの機械的符号化装置、及び前記装置の適切な組み合わせ。ここで使用のコンピュータ可読記憶媒体は、無線電波または自由に伝播する電磁波、導波管や他の伝送媒体（例えば、ファイバ光ケーブルを通過する光パルス）または有線を介して送信される電気信号など、一時的な信号それ自体と解釈されない。
【０１１６】
ここで記述されているコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれコンピューティング／処理装置にダウンロードされることができ、または、例えば、インターネット、広域ネットワーク及び／または無線ネットワークを介して、外部コンピュータあるいは外部記憶装置にダウンロードされることができる。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウオール、スイッチ、ゲートウエイコンピュータ及び／またはエッジサーバを備え得る。各コンピューティング／処理装置のネットワーク・アダプタ・カードまたはネットワークインターフェースは、コンピュータ可読プログラム命令をネットワークから受信し、コンピュータ可読プログラム命令をそれぞれコンピューティング／処理装置内のコンピュータ可読記憶媒体の記憶のために送る。
【０１１７】
本開示のオペレーションを実行するコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、機械語命令、機械依存命令、マイクロコード、ファームウエア命令、状態設定データあるいは１つまたは複数のプログラム言語の組み合わせで記述されたソースコードまたはオブジェクトコードでありことができ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクトオリエンテッド言語、及び「Ｃ」プログラム言語または類似のプログラム言語などの従来の手続きプログラム言語を含んでいる。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全て実行し、部分的にユーザのコンピュータ上でスタンドアロンソフトウエアパッケージのように実行し、部分的にユーザのコンピュータ上で、かつ、部分的に遠隔コンピュータ上で実行するか、または遠隔コンピュータまたはセーバ上で全て実行することができる。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のネットワークを介してユーザのコンピュータに接続されてもよく、接続は外部コンピュータに（例えば、インターネット・サービス・プロバイダを使用して、インターネットを介して）なされてもよい。実施形態によっては、例えば、プログラマブルロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）またはプログラマブルロジックアレイ（ＰＬＡ）が、本開示の態様を実行するために、電子回路を特定の個人のものとするコンピュータ可読プログラム命令の状態情報を使用して、コンピュータ可読プログラム命令を実行することができる。
【０１１８】
本開示の態様は、この明細書では、本開示の実施形態に従って、フローチャート図示及び／または方法のブロック図、装置（システム）及びコンピュータプログラム製品を参照して記述されている。フローチャート図の各ブロック及び／ブロック図及びフローチャート例示のブロック及び／またはブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実行され得ることが理解されるであろう。
【０１１９】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特定用途コンピュータまたはその他の機械を生産するためのプログラマブルデータ処理装置に提供されることができ、その結果、コンピュータのプロセッサやその他のプログラマブルデータ処理装置を介して命令が実施され、フローチャートに規定された機能／作用及び／またはブロック図のブロックもしくは複数のブロックを実行または遂行するために実装され得る。これらのコンピュータ可読プログラム命令は、また、コンピュータ、プログラマブルデータ処理装置及び／またはその他の装置に命令し、特定の方法で機能することができるコンピュータ可読記憶媒体に保存されることができ、そこに保存された命令を有するコンピュータ可読記憶媒体は、フローチャート及び／またはブロック図の１ブロックまたは複数のブロックにおいて特定された機能／作用の態様を実施する命令を含む製造品を備える。
【０１２０】
コンピュータ可読プログラム命令はまた、コンピュータ、その他のプログラマブルデータ処理装置、またはコンピュータ、その他のプログラマブル装置、あるいはコンピュータ組込プロセスを生成するためのその他の装置上に一連のオペレーショナルステップもたらす他の装置にロードされることができ、コンピュータ上、その他のプログラマブル装置上、あるいはその他の装置上で実行する命令は、フローチャート及び／またはブロック図のブロックまたは複数ブロックで特定された機能や／作用を実施する。
【０１２１】
図のフローチャート及びブロック図は、本開示の様々な実施形態によるアーキテクチャ、機能性、システムの実施可能な操作、方法及びコンピュータプログラム製品を図示している。これに関連して、フローチャートやブロック図の各ブロックは、モジュール、セグメントまたは命令の部分を表示でき、それは特定の論理機能を実施するための１つまたは複数の実行可能な命令から構成される。代わりとなる実施形態によっては、ブロックに記載された機能が図面に記載された順序外で生じることもある。例えば、連続して示されている２ブロックが、実際、実質的に連続して実行され、または関与する機能性に依存して、逆の順序で行われることもある。ブロック図及び／またはフローチャート図の各ブロック、及び、ブロック図及び／またはフローチャート図のブロックの組み合わせが、特定の機能または作用をし、あるいは特定目的のハードウエア及びコンピュータ命令の組み合わせを実行する特定目的のハードウエアベースシステムによって実施され得ることも、特に言及される。
【０１２２】
本開示の実施形態は、クラウド・コンピューティング・インフラストラクチャを介して、エンドユーザに提供されてもよい。クラウドコンピューティングは、一般に、ネットワークによるサービスとして規模の大きいコンピューティングリソースの提供を言う。より公式には、クラウドコンピューティングは、コンピューティングリソースとそれを支える技術アーキテクチャ（例えば、サーバ、ストレージ、ネットワーク）の間の抽象概念を提供するコンピューティング能力として定義され、便利でオンデマンドのネットワークアクセスを、急速に用意され最小のマネジメント努力でリリースされる構成可能なコンピューティングリソースの共用プールまたはサービスプロバイダの相互作用をするものである。このため、クラウドコンピューティングによって、ユーザは「クラウド」において、コンピューティングリソースを提供するために使用され、支えられている実在のシステム（または当該システムの場所）に係わりなく、バーチャル・コンピューティング・リソース（ストレージ、データ、アプリケーション及び完全な仮想化コンピューティングシステム）にアクセスできる。
【０１２３】
典型的には、クラウド・コンピューティング・リソースは、使用料支払に基づいてユーザに提供され、ユーザはコンピューティングリソースを実際に使用したことに対してのみ課金される（例えば、ユーザによって消費されたストレージスペース量、またはユーザによって例示され仮想化された多くのシステム）。ユーザはいつでもクラウドにあるどのリソースにも、インターネットによってどこからでもアクセスできる。本開示の文脈では、ユーザは、アプリケーション（例えば、メモリ１２０に示されている１つまたは複数の機能モジュールを含んでいる）あるいはクラウドで利用できる関連データ（例えば、ユーザプロファイル１７０からの情報）にアクセスしてもよい。例えば、スコアリングモジュール１３４は、クラウドのコンピューティングシステム上で実行することができ、そのスコアリングアルゴリズムは、別のユーザプロファイル、ジャンルなどから集められたデータに基づき適応性がある更新をすることができる。その場合、スコアリングモジュール１３４は、クラウドの保存場所にスコアリングアルゴリズムの反復を保存して、システム１００の最も進んだまたは改良した実行を提供するために、エンドユーザの様々なコンピューティング装置によってアクセスされることができる。そうすることによって、ユーザは、クラウド（例えば、インターネットを介して）に接続されたネットワークに取り付けられたどのコンピューティングシステムからもこの情報にアクセスできる。
【０１２４】
例示の実施形態がこれまで記述されているが、これらの実施形態は、全ての可能な形態の記述を意図していない。むしろ、明細書で使用されている語句は限定というより記述の語句であり、従って、様々な変更が本発明の趣旨や範囲を逸脱しないで実施できることが理解されよう。加えて、各種の実施形態の特徴は、本発明の更なる実施形態を形成するために組み合わせることもできる。
【図１】
0006735100.tif 000002
【図２Ａ】
0006735100.tif 000003
【図２Ｂ】
0006735100.tif 000004
【図３】
0006735100.tif 000005
【図４Ａ】
0006735100.tif 000006
【図４Ｂ】
0006735100.tif 000007
【図５Ａ】
0006735100.tif 000008
【図５Ｂ】
0006735100.tif 000009
【図６】
0006735100.tif 000010
【図７】
0006735100.tif 000011
【図８】
0006735100.tif 000012
【図９】
0006735100.tif 000013
【図１０】
0006735100.tif 000014