(57)【要約】音声入力信号（２０２）データを楽譜表示データに自動的に変換するための方法、システム、およびデバイスを記載する。本発明の実施形態は、第１の閾値を超える音声信号から周波数情報の変化を識別し（２０４）、第２の閾値を超える音声信号から振幅情報の変化を識別し（２０６）、音符開始事象を生成し（２１０）、各音符開始事象は、第１の閾値を超える周波数情報の識別された変化、および第２の閾値を超える振幅情報の識別された変化のうちの少なくとも１つの音声信号中の時間位置を表す。音声入力信号からの音符開始事象および他の情報の生成は、音の高さ（２５５）、音符値（２４５）、テンポ（２４０）、拍子、調（２５０）、楽器編成（２６０）、および他の楽譜表示情報を抽出するために使用されてもよい。
2010518428.tif 000002
【特許請求の範囲】
【請求項１】
音声信号から楽譜データを生成するシステムであって、
該音声信号を処理するように動作可能である音声受信機と、
該処理された音声信号を受信し、かつ、
第１の閾値を超える周波数の変化を識別すること、
および第２の閾値を超える振幅の変化を識別すること
のうちの少なくとも１つに反応して、該処理された音声信号中の時間位置と関連する音符開始事象を生成するように動作可能である音符識別ユニットと
を備える、システム。
【請求項２】
前記音符識別ユニットは、
信号プロセッサであって、
前記第１の閾値を超える前記音声信号の周波数の前記変化を識別するように動作可能である周波数検出器ユニットと、
前記第２の閾値を超える該音声信号の振幅の変化を識別するように動作可能である振幅検出器ユニットと
を備える、信号プロセッサと、
該周波数検出器ユニットおよび該振幅検出器ユニットと動作可能に連絡し、かつ、前記音符開始事象を生成するように動作可能である音符開始事象生成器を含む、音符プロセッサと
を備える、請求項１に記載のシステム。
【請求項３】
前記音符プロセッサは、
前記処理された音声信号の大きさに従って第１の包絡線信号を生成するように動作可能である第１の包絡線生成器と、
該第１の包絡線信号の平均電力値に従って第２の包絡線信号を生成するように動作可能である第２の包絡線生成器と、
変化が、所定の制御時間よりも長い時間にわたって延在するように、第１の方向から第２の方向への該第１の包絡線信号の該変化に反応する制御信号を生成するように動作可能である制御信号生成器と
をさらに備え、
前記振幅検出器ユニットは、該第２の包絡線信号の大きさよりも大きい値を有する該制御信号の大きさに反応して、前記第２の閾値を超える該音声信号の大きさの変化を識別する、請求項２に記載のシステム。
【請求項４】
音符開始事象を生成することは、該音符開始事象に対応する前記音声入力信号のタイムスタンプ値を示すことを含む、請求項３に記載のシステム。
【請求項５】
第１の包絡線関数は、各タイムスタンプ値における前記音声入力信号の前記大きさに近似する関数を含み、第２の包絡線関数は、平均化間隔にわたって該第１の包絡線関数の平均電力に近似する関数を含む、請求項４に記載のシステム。
【請求項６】
各タイムスタンプ値における前記制御信号値は、先行タイムスタンプ値における前記第１の包絡線関数の最大規模値に等しく設定され、タイムスタンプ値における該第１の包絡線関数値と、第３の閾値よりも大きい時間間隔の値が異なる、先行タイムスタンプ値における該第１の包絡線関数値との間の値の差に反応して、該タイムスタンプ値における該制御信号値は、該先行制御信号値と比較して負の値に変更される、請求項５に記載のシステム。
【請求項７】
音符開始事象を生成することは、受信された調整値に反応して、前記第２の包絡線関数の前記平均化間隔を調整することをさらに含む、請求項５に記載のシステム。
【請求項８】
前記受信された調整値は、ユーザ入力から受信される楽器種類選択に従って決定される、請求項７に記載のシステム。
【請求項９】
前記受信された調整値は、ユーザ入力から受信される音楽ジャンル選択に従って決定される、請求項７に記載のシステム。
【請求項１０】
前記音符開始事象生成器と動作的に連絡しており、かつ、少なくとも第１の音符開始事象と第２の音符開始事象との間の前記時間間隔を決定することによって、音符長さを検出するように動作可能である音符長さ検出器ユニットであって、該第１の音符開始事象および該第２の音符開始は、既に該音符開始事象生成器によって生成されており、該第２の音符開始事象は、時間的に該第１の音符開始事象に後続する、音符長さ検出器ユニットと、
該音符長さを該第１の音符開始事象に関連付けることであって、該音符長さは、該決定された時間間隔を表す、ことと
をさらに含む、請求項１に記載のシステム。
【請求項１１】
前記音符開始事象生成器と動作的に連絡しており、かつ、少なくとも第１の音符開始事象と第２の音符開始事象との間の前記時間間隔を決定することによって、音符長さを検出するように動作可能である音符長さ検出器ユニットであって、該第１の音符開始事象および該第２の音符開始は、既に該音符開始事象生成器によって生成されており、該第２の音符開始事象は、時間的に該第１の音符開始事象に後続する、音符長さ検出器ユニットと、
該音符長さを該第１の音符開始事象に関連付けることであって、該音符長さは該決定された時間間隔を表す、こととをさらに含み、
前記閾値は、音符長さの関数である時間間隔に対応する調整可能な値である、請求項６に記載のシステム。
【請求項１２】
前記第２の音符開始は、前記第１の音符開始事象に時間的に後続する最も近い音符開始事象である、請求項１０に記載のシステム。
【請求項１３】
前記制御信号の前記振幅が、前記第２の包絡線信号の前記振幅よりも小さくなる時に、前記音声信号中の時間位置と関連する音符終了事象を生成するように動作可能である音符終了事象検出器ユニットと、
前記音符開始事象生成器および該音符終了事象検出器ユニットと動作的に連絡しており、少なくとも音符開始事象と音符終了事象との間の前記時間間隔を決定することによって、音符長さを検出するように動作可能であり、該音符終了事象は、該音符開始事象に時間的に後続し、該音符長さを該音符開始事象に関連付けるように動作可能であり、該音符長さは該決定された時間間隔を表す、音符長さ検出器ユニットと
をさらに備える、請求項３に記載のシステム。
【請求項１４】
休符検出閾値以下の振幅を有する前記音声信号の一部分を識別することによって休符を検出するように動作可能である休符検出器ユニットをさらに備える、請求項１に記載のシステム。
【請求項１５】
前記休符検出器は、音の高さの信頼閾値未満の音の高さの信頼値を決定することによって、休符を検出するようにさらに動作可能であり、該音の高さの信頼値は、前記音声信号の前記部分が音符開始事象と関連する音の高さを含むという尤度を表す、請求項１４に記載のシステム。
【請求項１６】
前記振幅検出器ユニットと動作的に連絡しているテンポ検出ユニットであって、
一式の基準テンポを決定するステップと、
一式の基準音符長さを決定するステップであって、各基準音符長さは所定の音符種類が各基準テンポにおいて持続する時間の長さを表す、ステップと、
第１の時間位置から第２の時間位置に延在する前記音声信号の連続部分を表す、テンポ抽出窓を決定するステップと、
該音声信号の該連続部分内で発生する前記音符開始事象の位置を特定することによって、一式の音符開始事象を生成するステップと、
各音符開始事象に対する音符間隔を生成するステップであって、各音符間隔は、該一式の音符開始事象における該音符開始事象と次期後続音符開始事象との間の時間間隔を表す、ステップと、
一式のエラー値を生成するステップであって、各エラー値は関連基準テンポと関連し、該一式のエラー値を生成するステップは、
該一式の基準音符長さの各々によって各音符間隔を分割することと、
該分割することの各結果を、該分割することにおいて使用される該基準音符長さの最近倍数に四捨五入することと、
該四捨五入することの各結果と該分割することの各結果との間の差の絶対値を評価することと
を含む、一式のエラー値を生成するステップと
該一式のエラー値の最小エラー値を識別するステップと
を含むステップを実行することによって、一式のテンポデータを生成するように動作可能である、テンポ検出器ユニットと、
該テンポ抽出窓と関連する抽出されたテンポを決定することであって、該抽出されたテンポは、該最小エラー値と関連する該関連基準テンポである、こととをさらに備える、請求項１に記載のシステム。
【請求項１７】
前記テンポ検出器ユニットはさらに、
一式の第２の基準音符長さを決定するように動作可能であって、各基準音符長さは、一式の所定の音符種類の各々が前記抽出されたテンポにおいて持続する時間の長さを表し、
各音符開始事象に対する受信された音符長さを生成するように動作可能であり、
各受信された音符長さに対する受信された音符値を決定するように動作可能であって、該受信された音符値は、該受信された音符長さに最も良く近似する該第２の基準音符長さを表す、請求項１６に記載のシステム。
【請求項１８】
前記周波数検出器ユニットと動作的に連絡している調検出ユニットであって、
一式の費用関数を決定するステップであって、各費用関数は調と関連し、該関連調への一式の所定の周波数の各々の適合を表す、ステップと、
第１の時間位置から第２の時間位置に延在する前記音声信号の連続部分を表す、調抽出窓を決定するステップと、
該音声信号の該連続部分内で発生する音符開始事象の位置を特定することによって、一式の音符開始事象を生成するステップと、
該一式の音符開始事象の各々に対する音符周波数を決定するステップと、
該一式の費用関数の各々に対して該音符周波数を評価するステップに基づいて、一式の調エラー値を生成するステップと
を含むステップを実行することによって、一式の調データを生成するように動作可能である、調検出器ユニットと、
受信された調を決定することであって、該受信された調は、最低調エラー値を生成した該費用関数と関連する該調である、ことと
をさらに備える、請求項１に記載のシステム。
【請求項１９】
前記調検出器ユニットはさらに、
一式の基準の音の高さを生成するように動作可能であって、各基準の音の高さは、前記一式の所定の音の高さのうちの１つと前記受信された調との間の関係を表し、
各音符開始事象に対する調の音の高さの指定を決定するように動作可能であって、該調の音の高さの指定は、該音符開始事象の前記音符周波数に最も良く近似する前記基準の音の高さを表す、請求項１８に記載のシステム。
【請求項２０】
前記周波数検出器ユニットと動作的に連絡しており、音符開始事象と関連する音色データを検出するように動作可能である音色検出器ユニットをさらに備える、請求項１に記載のシステム。
【請求項２１】
前記音色検出器ユニットおよび前記周波数検出器ユニットと動作的に連絡しているトラック検出ユニットであって、
一式の音符開始事象を生成するステップであって、各音符開始事象は、少なくとも１つの一式の音符特性によって特徴付けられ、該一式の音符特性は音符周波数および音符音色を含む、ステップと、
前記音声信号中に存在する複数の音声トラックを識別するステップであって、各音声トラックは、一式のトラック特性によって特徴付けられ、該一式のトラック特性は、音の高さマップまたは音色マップのうちの少なくとも１つを含む、ステップと、
各音符開始事象に対する各一式の音符特性に対して推定トラックを割り当てるステップであって、該推定トラックは、該一式の音符特性と最も密接に一致する該一式のトラック特性によって特徴付けられる該音声トラックである、ステップと
を含むステップを実行することによって、該音声信号中に存在する音声トラックを検出するように動作可能である、トラック検出器ユニットをさらに備える、請求項２０に記載のシステム。
【請求項２２】
前記振幅検出器ユニットと動作的に連絡しており、かつ、音符開始事象に対するアタック、ディケイ、サスティン、またはリリースのうちの少なくとも１つに関する一式の包絡線情報を決定するように動作可能である包絡線検出器ユニットをさらに備える、請求項１に記載のシステム。
【請求項２３】
前記音色検出器ユニットと動作的に連絡しており、かつ、前記音色データと音色サンプルのデータベースとの比較に少なくとも部分的に基づいて楽器を識別するように動作可能である楽器識別ユニットであって、各音色サンプルは楽器種類に関する、楽器識別ユニットをさらに備える、請求項２０に記載のシステム。
【請求項２４】
前記音色検出器ユニットと動作的に連絡しているニューラルネットワークを備える楽器識別ユニットであって、該ニューラルネットワークは、所定の費用関数に対して前記音色データを評価することに少なくとも部分的に基づいて、楽器を識別するように動作可能である、楽器識別ユニットをさらに備える、請求項２０に記載のシステム。
【請求項２５】
前記包絡線検出器ユニットと動作的に連絡しており、かつ、前記包絡線情報と包絡線サンプルのデータベースとの比較に少なくとも部分的に基づいて楽器を識別するように動作可能である、楽器識別ユニットであって、各包絡線サンプルは楽器種類に関する、楽器識別ユニットをさらに備える、請求項２２に記載のシステム。
【請求項２６】
前記テンポ検出器ユニットと動作的に連絡しており、かつ、ニューラルネットワークを使用して一式の拍子の費用関数に対して前記一式のテンポデータを少なくとも部分的に評価することによって、拍子検出窓の間に発生する前記音声信号の一部分の拍子を決定するように動作可能である拍子検出器ユニットをさらに備える、請求項１６に記載のシステム。
【請求項２７】
前記一式の拍子の費用関数は、振幅情報または音の高さ情報のうちの少なくとも１つに関する、請求項２６に記載のシステム。
【請求項２８】
前記音声信号は、演奏に関する情報を有するデジタル信号を含む、請求項１に記載のシステム。
【請求項２９】
前記音声信号は、１つ以上の音源から受信され、各音源は、マイクロホン、デジタルオーディオコンポーネント、音声ファイル、サウンドカード、およびメディアプレーヤーから成る群より選択される、請求項１に記載のシステム。
【請求項３０】
音声信号から楽譜データを生成する方法であって、
第１の閾値を超える該音声信号から周波数情報の変化を識別することと、
第２の閾値を超える該音声信号から振幅情報の変化を識別することと、
音符開始事象を生成することであって、各音符開始事象は、該第１の閾値を超える該周波数情報の識別された変化、または該第２の閾値を超える該振幅情報の識別された変化のうちの少なくとも１つの該音声信号中の時間位置を表す、ことと
を含む、方法。
【請求項３１】
音符記録を前記音符開始事象に関連付けることであって、該音符記録は、一式の音符特性データを含む、ことをさらに含む、請求項３０に記載の方法。
【請求項３２】
前記一式の音符特性データは、音の高さ、振幅、包絡線、タイムスタンプ、長さ、または信頼度測定基準のうちの少なくとも１つを含む、請求項３１に記載の方法。
【請求項３３】
第１の包絡線信号を生成することであって、該第１の包絡線信号は、前記音声信号から前記振幅情報の絶対値を実質的に追跡する、ことと、
第２の包絡線信号を生成することであって、該第２の包絡線信号は、該第１の包絡線信号の平均電力を実質的に追跡する、ことと、
制御信号を生成することであって、該制御信号は、所定の制御時間よりも長く持続する該第１の包絡線信号の方向変化を実質的に追跡する、ことと
をさらに含み、
振幅情報の変化を識別することは、該制御信号の振幅が該第２の包絡線信号の振幅よりも大きくなる該音声信号中の時間位置を表す、第１の音符開始位置を識別することを含む、請求項３０に記載の方法。
【請求項３４】
音符開始事象を生成することは、該音符開始事象に対応する前記音声入力信号のタイムスタンプ値を示すことを含む、請求項３３に記載の方法。
【請求項３５】
前記第１の包絡線関数は、各タイムスタンプ値における前記音声入力信号の前記大きさに近似する関数を含み、前記第２の包絡線関数は、平均化間隔にわたって、前記第１の包絡線関数の平均電力に近似する関数を含む、請求項３４に記載の方法。
【請求項３６】
各タイムスタンプ値における前記制御信号値は、先行タイムスタンプ値における前記第１の包絡線関数の最大規模値に等しく設定され、タイムスタンプ値における前記第１の包絡線関数値と、第３の閾値よりも大きい時間間隔の値が異なる、先行タイムスタンプ値における前記第１の包絡線関数値との間の値の差に反応して、該タイムスタンプ値における該制御信号値は、前記先行制御信号値と比較して負の値に変化される、請求項３５に記載の方法。
【請求項３７】
音符開始事象を生成することは、受信された調整値に反応して、前記第２の包絡線関数の前記平均化間隔を調整することをさらに含む、請求項３５に記載の方法。
【請求項３８】
前記受信された調整値は、ユーザ入力から受信される楽器種類に従って決定される、請求項３７に記載の方法。
【請求項３９】
前記受信された調整値は、ユーザ入力から受信される音楽ジャンル選択に従って決定される、請求項３７に記載の方法。
【請求項４０】
前記制御信号の前記振幅が、前記第１の時間位置の後で、初めて前記第２の包絡線信号の前記振幅よりも大きくなる、前記音声信号中の時間位置を表す、第２の音符開始位置を識別することと、
長さを前記音符開始事象に関連付けることであって、該長さは、前記第１の音符開始位置から該第２の音符開始位置までの時間間隔を表す、ことと
をさらに含む、請求項３３に記載の方法。
【請求項４１】
前記制御信号の前記振幅が、前記第１の音符開始位置の後で、初めて前記第２の包絡線信号の前記振幅よりも小さくなる、前記音声信号中の時間位置を表す、音符終了位置を識別することと、
長さを前記音符開始事象に関連付けることであって、該長さは、該第１の音符開始位置から前記音符終了位置までの前記時間間隔を表す、ことと
をさらに含む請求項３３に記載の方法。
【請求項４２】
長さを前記音符開始事象に関連付けることをさらに含み、
前記第３の閾値は、音符長さの関数である時間間隔に対応する調整可能な値である、請求項３６に記載の方法。
【請求項４３】
休符検出閾値以下の振幅を有する前記音声信号の一部分を識別することによって、休符を検出することをさらに含む、請求項３０に記載の方法。
【請求項４４】
前記休符を検出することは、音の高さの信頼閾値未満の音の高さの信頼値を決定することをさらに含み、該音の高さの信頼値は、前記音声信号の前記部分が、音符開始事象と関連する音の高さを含むという尤度を表す、請求項４３に記載の方法。
【請求項４５】
一式の基準テンポを決定することと、
一式の基準音符長さを決定することであって、各基準音符長さは、所定の音符種類が各基準テンポにおいて持続する時間の長さを表す、ことと、
第１の時間位置から第２の時間位置に延在する前記音声信号の連続部分を表す、テンポ抽出窓を決定することと、
該音声信号の該連続部分内で発生する音符開始事象の位置を特定することによって、前記一式の音符開始事象を生成することと、
各音符開始事象に対する音符間隔を生成することであって、各音符間隔は、該一式の音符開始事象における該音符開始事象と前記次期後続音符開始事象との間の前記時間間隔を表す、ことと、
一式のエラー値を生成することであって、各エラー値は、関連基準テンポと関連することであり、該一式のエラー値を生成することは、
該一式の基準音符長さの各々によって各音符間隔を分割することと、
該分割することの各結果を、該分割することにおいて使用される該基準音符長さの最近倍数に四捨五入することと、
該四捨五入することの各結果と該分割することの各結果との間の差の絶対値を評価することと
を含む、一式のエラー値を生成することと、
該一式のエラー値の最小エラー値を識別することと、
該テンポ抽出窓と関連する抽出されたテンポを決定することであって、該抽出されたテンポは、該最小エラー値と関連する該関連基準テンポである、ことと
をさらに含む、請求項３０に記載の方法。
【請求項４６】
一式の第２の基準音符長さを決定することであって、各基準音符長さは、一式の所定の音符種類の各々が前記抽出されたテンポにおいて持続する時間の長さを表す、ことと、
各音符開始事象に対する受信された音符長さを生成することと、
各受信された音符長さに対する受信された音符値を決定することであって、該受信された音符値は、該受信された音符長さに最も良く近似する、該第２の基準音符長さを表す、こととをさらに含む、請求項４５に記載の方法。
【請求項４７】
一式の費用関数を決定することであって、各費用関数は、調と関連し、該関連調への一式の所定の周波数の各々の適合を表す、ことと、
第１の時間位置から第２の時間位置に延在する前記音声信号の連続部分を表す、調抽出窓を決定することと、
該音声信号の該連続部分内で発生する音符開始事象の位置を特定することによって、前記一式の音符開始事象を生成することと、
該一式の音符開始事象の各々に対する音符周波数を決定することと、
該一式の費用関数の各々に対して該音符周波数を評価することに基づいて、一式の調エラー値を生成することと、
受信された調を決定することであって、該受信された調は、最低調エラー値を生成した該費用関数と関連する該調である、ことと
をさらに含む、請求項３０に記載の方法。
【請求項４８】
一式の基準の音の高さを生成することであって、各基準の音の高さは、前記一式の所定の音の高さのうちの１つと前記受信された調との間の関係を表す、ことと、
各音符開始事象に対する調の音の高さの指定を決定することであって、該調の音の高さの指定は、該音符開始事象の前記音符周波数に最も良く近似する該基準の音の高さを表す、ことと
をさらに含む、請求項４７に記載の方法。
【請求項４９】
一式の音符開始事象を生成することであって、各音符開始事象は、少なくとも１つの一式の音符特性によって特徴付けられ、該一式の音符特性は、音符周波数および音符音色を含む、ことと、
前記音声信号中に存在する複数の音声トラックを識別することであって、各音声トラックは一式のトラック特性によって特徴付けられ、該一式のトラック特性は、音の高さマップまたは音色マップのうちの少なくとも１つを含む、ことと、
各音符開始事象に対する各一式の音符特性に対して推定トラックを割り当てることであって、該推定トラックは、該一式の音符特性と最も密接に一致する該一式のトラック特性によって特徴付けられる該音声トラックである、ことと
をさらに含む、請求項３０に記載の方法。
【請求項５０】
音声信号からテンポデータを生成する方法であって、
一式の基準テンポを決定することと、
一式の基準音符長さを決定することであって、各基準音符長さは、所定の音符種類が各基準テンポにおいて持続する時間の長さを表す、ことと、
第１の時間位置から第２の時間位置に延在する該音声信号の連続部分を表す、テンポ抽出窓を決定することと、
該音声信号の該連続部分内で発生する音符開始事象の位置を特定することによって、該一式の音符開始事象を生成することと、
各音符開始事象に対する音符間隔を生成することであって、各音符間隔は、該一式の音符開始事象における該音符開始事象と次期後続音符開始事象との間の時間間隔を表す、ことと、
一式のエラー値を生成することであって、各エラー値は関連基準テンポと関連し、該一式のエラー値を生成することは、
該一式の基準音符長さの各々によって、各音符間隔を分割することと、
該分割するステップの各結果を、該分割するステップにおいて使用される該基準音符長さの最近倍数に四捨五入することと、
該四捨五入することの各結果と該分割するステップの各結果との間の差の絶対値を評価することと
を含む、一式のエラー値を生成することと、
該一式のエラー値の最小エラー値を識別することと、
該テンポ抽出窓と関連する抽出されたテンポを決定することであって、該抽出されたテンポは、該最小エラー値と関連する該関連基準テンポである、ことと
を含む、方法。
【請求項５１】
一式の第２の基準音符長さを決定することであって、各基準音符長さは、一式の所定の音符種類の各々が前記抽出されたテンポにおいて持続する時間の長さを表す、ことと、
各音符開始事象に対する受信された音符長さを生成することと、
各受信された音符長さに対する受信された音符値を決定することであって、該受信された音符値は、該受信された音符長さに最も良く近似する第２の基準音符長さを表す、ことと
をさらに含む、請求項５０に記載の方法。
【請求項５２】
一式の受信された音符長さから、該受信された音符長さが所定の最短長さ値よりも短い時に、該受信された音符長さを除去することをさらに含む、請求項５０に記載の方法。
【請求項５３】
第１の受信された音符長さが所定の最短長さ値よりも短い時に、該第１の受信された音符長さを第２の音符長さに付加することであって、第２の受信された音符長さは、該第１の受信された音符長さと関連する音符開始に最も時間的に隣接する音符開始と関連する、ことと、
該記一式の受信された音符長さから該第１の受信された音符長さを除去することと
をさらに含む、請求項５０に記載の方法。
【請求項５４】
音声信号から調データを生成する方法であって、
一式の費用関数を決定することであって、各費用関数は、調と関連し、該関連調への一式の所定の周波数の各々の適合を表す、ことと、
第１の時間位置から第２の時間位置に延在する該音声信号の連続部分を表す、調抽出窓を決定することと、
該音声信号の該連続部分内で発生する音符開始事象の位置を特定することによって、該一式の音符開始事象を生成することと、
該一式の音符開始事象の各々に対する音符周波数を決定することと、
該一式の費用関数の各々に対して該音符周波数を評価することに基づいて、一式の調エラー値を生成することと、
受信された調を決定することであって、該受信された調は、最低調エラー値を生成した該費用関数と関連する該調である、ことと
を含む、方法。
【請求項５５】
一式の基準の音の高さを生成することであって、各基準の音の高さは、前記一式の所定の音の高さのうちの１つと前記受信された調との間の関係を表す、ことと、
各音符開始事象に対する調の音の高さの指定を決定することであって、該調の音の高さの指定は、該音符開始事象の前記音符周波数に最も良く近似する該基準の音の高さを表す、ことと
をさらに含む、請求項５４に記載の方法。
【請求項５６】
前記一式の音符開始事象の各々に対する前記音符周波数を決定することは、
一式の音符サブ窓を抽出することであって、各音符サブ窓は、前記調抽出窓の間に発生する音符開始から決定された音符長さにわたって延在する、前記音声信号の前記連続部分の一部分を表す、ことと、
一式の音符周波数を抽出することであって、各音符周波数は、前記一式の音符サブ窓のうちの１つの間に発生する前記音声信号の前記部分の周波数である、こととを含む、請求項５４に記載の方法。
【請求項５７】
前記一式の音符サブ窓のうちの１つの間に発生する前記音声信号の前記部分の周波数は、基本周波数である、請求項５６に記載の方法。
【請求項５８】
前記音声信号に関するジャンル情報を受信することと、
該ジャンル情報に部分的に基づいて、前記一式の費用関数を生成することと
をさらに含む、請求項５４に記載の方法。
【請求項５９】
複数の調抽出窓を決定することと、
各調抽出窓に対する受信された調を決定することと、
該受信された調から調パターンを決定することと、
該調パターンに部分的に基づいて、前記一式の費用関数を精緻化することと
をさらに含む、請求項５４に記載の方法。
【請求項６０】
音声信号からトラックデータを生成する方法であって、
一式の音符開始事象を生成することであって、各音符開始事象は、少なくとも１つの一式の音符特性によって特徴付けられ、該一式の音符特性は、音符周波数および音符音色を含む、ことと、
該音声信号中に存在する複数の音声トラックを識別することであって、各音声トラックは、一式のトラック特性によって特徴付けられ、該一式のトラック特性は、音の高さマップまたは音色マップのうちの少なくとも１つを含む、ことと、
各音符開始事象に対する各一式の音符特性に対して推定トラックを割り当てることであって、該推定トラックは、該一式の音符特性と最も密接に一致する該一式のトラック特性によって特徴付けられる該音声トラックである、ことと
を含む、方法。
【請求項６１】
前記推定トラックに割り当てられる全ての前記音符開始事象を識別することによって、前記音声信号から該推定トラックを解析することをさらに含む、請求項６０に記載の方法。
【請求項６２】
前記音声信号中に存在する複数の音声トラックを識別することは、前記音符開始事象の少なくとも一部分に対する前記一式の音符特性の間からパターンを検出することを含む、請求項６０に記載の方法。
【請求項６３】
音声信号を受信するように構成される音声受信機と、該音声信号を処理するように構成される信号プロセッサと、該処理された音声信号から音符データを生成するように構成される音符プロセッサとを含む、楽譜データ生成システムの動作を指示するための、自身の中に統合されたコンピュータ可読プログラムを有するコンピュータ可読記憶媒体であって、該コンピュータ可読プログラムは、
第１の閾値を超える該音声信号から周波数情報の変化を識別することと、
第２の閾値を超える該音声信号から振幅情報の変化を識別することと、
音符開始事象を生成することであって、各音符開始事象は、該第１の閾値を超える周波数情報の識別された変化、または該第２の閾値を超える振幅情報の識別された変化のうちの少なくとも１つの該音声信号中の時間位置を表す、こととに従って、該処理された音声信号および該音符データから楽譜データを生成するための命令を含む、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（相互参照）
本願は、同時係属中の米国仮特許出願第６０／８８７，７３８号（名称「ＭＵＳＩＣ  ＴＲＡＮＳＣＲＩＰＴＩＯＮ」、２００７年２月１日出願、代理人整理番号０２６２８７−０００２００ＵＳ）の優先権を主張し、この出願は本明細書にあらゆる目的に対して全体が参考として援用される。
【０００２】
（発明の分野）
本発明は、概して、音声アプリケーションに関し、具体的には、音声分解および楽譜生成に関する。
【背景技術】
【０００３】
転写のための、生の音声入力信号の楽譜データへの正確なリアルタイム変換を提供することが望ましくあり得る。例えば、演奏者（例えば、声および／または他の楽器を使用した、生または録音音楽の）は、シートミュージックを生成するために、または演奏を編集可能なデジタル楽譜ファイルに変換するために、演奏を自動的に転写することを望んでいるであろう。音符、音色、モード、強弱、リズム、およびトラックを含む、多くの要素が演奏の一部となり得る。演奏者は、正確な楽譜を生成するために、これらの要素の全てが、音声ファイルから確実に抽出されることを必要としているであろう。
【０００４】
従来のシステムは、概して、これらの分野において限られた能力のみを提供し、それらの能力でさえ、概して、正確性および適時性が限られた出力を提供する。例えば、多くの従来のシステムは、システムが音声信号を有用な楽譜データに変換することを助けるために、ユーザがシステムにデータ（音声信号以外）を提供することを必要とする。結果として生じる一つの制限は、生の音声信号以外のデータをシステムに提供することが、多大な時間を必要とするか、または望ましくない場合があることである。結果として生じる別の制限は、ユーザが、システムに要求されるデータのことをよく知らない場合があることである（例えば、ユーザは、音楽理論に詳しくない場合がある）。結果として生じるさらに別の制限は、システムが、システムへの要求されたデータの提供を可能にするために、広範なユーザインターフェース能力を提供しなければならない場合があることである（例えば、システムは、キーボード、ディスプレイ等を有さなければならない場合がある）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、生の音声ファイルから楽譜データを自動的かつ正確に抽出するための改善された能力を提供することが、望ましくあり得る。
【課題を解決するための手段】
【０００６】
音声信号から楽譜データを自動的かつ正確に抽出するための方法、システム、およびデバイスが記載される。第１の閾値を超える音声入力信号からの周波数情報の変化が識別され、第２の閾値を超える音声入力信号からの振幅情報の変化が識別される。音符開始事象は、各音符開始事象が、第１の閾値を超える周波数情報の識別された変化、または第２の閾値を超える振幅情報の識別された変化のうちの、少なくとも１つの音声入力信号中の時間位置を表すように生成される。本明細書に記載される技術は、方法、システム、およびその中に統合されたコンピュータ可読プログラムを有するコンピュータ可読記憶媒体で実行されてもよい。
【０００７】
本発明の一側面では、音声信号は、１つ以上の音源から受信される。音声信号は、周波数および振幅情報を抽出するために処理される。周波数および振幅情報は、音符開始事象（すなわち、音符が始まると確定される時間位置）を検出するために使用される。各音符開始事象に対して、包絡線データ、音色データ、音の高さデータ、強弱データ、および他のデータが生成される。一式の音符開始事象からのデータを分析することによって、テンポデータ、拍子データ、調データ、全体的強弱データ、楽器編成およびトラックデータ、ならびに他のデータが生成される。次いで、楽譜出力を生成するために、種々のデータが使用される。
【０００８】
さらに別の側面では、テンポデータが音声信号から生成され、一式の基準テンポが決定される。一式の基準音符長さが決定され、各基準音符長さは、所定の音符種類が各基準テンポにおいて持続する時間の長さを表し、第１の時間位置から第２の時間位置に延在する音声信号の連続部分を表す、テンポ抽出窓が決定される。音声信号の連続部分内で発生する音符開始事象の位置を特定するステップと、各音符開始事象に対する音符間隔を生成するステップであって、各音符間隔は、一式の音符開始事象における音符開始事象と次期後続音符開始事象との間の時間間隔を表す、ステップと、一式のエラー値を生成するステップであって、各エラー値は、関連基準テンポと関連するステップであって、一式の基準音符長さの各々によって各音符間隔を分割するステップと、分割するステップの各結果を、分割するステップで使用される基準音符長さの最近倍数に四捨五入するステップと、四捨五入するステップの各結果と分割するステップの各結果との間の差の絶対値を評価するステップとを含む、一式のエラー値を生成するステップと、一式のエラー値の最小エラー値を識別するステップと、テンポ抽出窓と関連する抽出されたテンポを決定するステップであって、抽出されたテンポは、最小エラー値と関連する関連基準テンポである、ステップとによって、一式の音符開始事象は生成される。一式の第２の基準音符長さを決定するステップであって、各基準音符長さは、一式の所定の音符種類の各々が抽出されたテンポにおいて持続する時間の長さを表す、ステップと、各音符開始事象に対する受信された音符長さを生成するステップと、各受信された音符長さに対する受信された音符値を決定するステップであって、受信された音符値は、受信された音符長さに最も良く近似する第２の基準音符長さを表す、ステップとによって、テンポデータはさらに生成されてもよい。
【０００９】
さらに別の側面では、音声信号から調データを生成するための技術は、一式の費用関数を決定するステップであって、各費用関数は、調と関連し、関連調への一式の所定の周波数の各々の適合を表す、ステップと、第１の時間位置から第２の時間位置に延在する音声信号の連続部分を表す調抽出窓を決定するステップと、音声信号の連続部分内で発生する音符開始事象の位置を特定することによって、一式の音符開始事象を生成するステップと、一式の音符開始事象の各々に対する音符周波数を決定するステップと、一式の費用関数の各々に対して音符周波数を評価するステップに基づいて、一式の調エラー値を生成するステップと、受信された調を決定するステップであって、受信された調は、最低調エラー値を生成した費用関数と関連する調である、ステップとを含む。いくつかの実施形態では、方法は、一式の基準の音の高さを生成するステップであって、各基準の音の高さは、一式の所定の音の高さのうちの１つと受信された調との間の関係を表す、ステップと、各音符開始事象に対する調の音の高さの指定を決定するステップであって、調の音の高さの指定は、音符開始事象の音符周波数に最も良く近似する基準の音の高さを表す、ステップとをさらに含む。
【００１０】
さらに別の側面では、音声信号からトラックデータを生成するための技術は、一式の音符開始事象を生成するステップであって、各音符開始事象は、少なくとも１つの一式の音符特性によって特徴付けられ、一式の音符特性は、音符周波数および音符音色を含む、ステップと、音声信号中に存在するいくつかの音声トラックを識別するステップであって、各音声トラックは、一式のトラック特性によって特徴付けられ、一式のトラック特性は、音の高さマップまたは音色マップののうちの少なくとも１つを含む、ステップと、各音符開始事象に対する各一式の音符特性に対して推定トラックを割り当てるステップであって、推定トラックは、一式の音符特性と最も密接に一致する一式のトラック特性によって特徴付けられる、ステップとを含む。
【００１１】
本発明の他の特徴および利点は、本発明の原理を一例として例示する、以下の発明を実施するための形態から明らかとなるはずである。
【図面の簡単な説明】
【００１２】
本発明の本質および利点のさらなる理解は、以下の図面を参照することによって実現され得る。添付の図面において、同様の構成要素または特徴は、同一の参照ラベルを有する場合がある。さらに、同一種類の種々の構成要素は、参照ラベルの後にダッシュおよび同様の構成要素を区別する第２のラベルを続けることによって、区別される場合がある。第１の参照ラベルのみが明細書に使用される場合、説明は、第２の参照ラベルにかかわらず、同一の第１の参照ラベルを有する同様の構成要素のいずれか１つに適用される。
【図１Ａ】図１Ａは、本発明に従ったシステムの高度に簡略化されたブロック図を提供する。
【図１Ｂ】図１Ｂは、本発明に従った、図１に示されるようなシステムの低度に簡略化されたブロック図を提供する。
【図２】図２は、本発明の実施形態に従った、音声信号データを楽譜データに変換するための例示的方法のフロー図を提供する。
【図３】図３は、本発明の実施形態に従った、音の高さの検出のための例示的方法のフロー図を提供する。
【図４Ａ】図４Ａは、本発明の実施形態に従った、音符開始事象の生成のための例示的方法のフロー図を提供する。
【図４Ｂ】図４Ｂは、本発明の実施形態に従った、アタック事象を決定するための例示的方法のフロー図を提供する。
【図５】図５は、本発明の実施形態に従った、音符開始事象での使用のための、種々の包絡線を有する音声信号の図解を提供する。
【図６】図６は、本発明の実施形態に従った、音符長さの検出のための例示的方法のフロー図を提供する。
【図７】図７は、本発明の実施形態に従った、音符長さの検出での使用のための、種々の包絡線を有する音声信号の図解を提供する。
【図８】図８は、本発明の実施形態に従った、休符の検出のための例示的方法のフロー図を提供する。
【図９】図９は、本発明の実施形態に従った、テンポの検出のための例示的方法のフロー図を提供する。
【図１０】図１０は、本発明の実施形態に従った、音符値の決定のための例示的方法のフロー図を提供する。
【図１１】図１１は、この例示的テンポ検出方法を図示する例示的データのグラフを提供する。
【図１２】図１２は、図１１に示す例示的テンポ検出方法を図示する追加の例示的データを提供する。
【図１３】図１３は、本発明の実施形態に従った、調の検出のための例示的方法のフロー図を提供する。
【図１４Ａ】図１４Ａおよび１４Ｂは、本発明の実施形態に従った、調検出で使用される２つの例示的な調の費用関数の図解を提供する。
【図１４Ｂ】図１４Ａおよび１４Ｂは、本発明の実施形態に従った、調検出で使用される２つの例示的な調の費用関数の図解を提供する。
【図１５】図１５は、本発明の実施形態に従った、調の音の高さの指定の決定のための例示的方法のフロー図を提供する。
【図１６】図１６は、本発明のある実施形態を実行するための、コンピュータによるシステム１６００のブロック図を提供する。
【発明を実施するための形態】
【００１３】
本説明は、例示的な実施形態のみを提供し、本発明の範囲、適用性、または構成を制限することを目的としていない。むしろ、実施形態の以下に続く説明は、本発明の実施形態を実行するための実施可能な説明を当業者に提供する。本発明の精神および範囲から逸脱することなく、要素の機能および配列は変更されてもよい。
【００１４】
したがって、種々の実施形態は、必要に応じて、種々の手順または構成要素を省略、置き換え、または追加してもよい。例えば、代替実施形態では、記載されるものとは異なる順序で実行されてもよく、種々のステップが追加、省略、または組み合わされてもよいことを理解されたい。また、ある実施形態に関して記載される特徴は、種々の他の実施形態において組み合わされてもよい。実施形態の異なる側面および要素は、同様の方法で組み合わされてもよい。
【００１５】
また、以下のシステム、方法、およびソフトウェアは、個々に、または集合的に、より大きいシステムの構成要素であってもよく、他の手順が、それらの適用に優先するか、そうでなければそれらの適用を修正してもよいことは理解されるべきである。また、いくつかのステップは、以下の実施形態の前、後、またはそれらと並行して必要とされてもよい。
【００１６】
図１Ａは、本発明に従って音声信号から楽譜データを自動的かつ正確に抽出するための、本発明に従って構成されたシステムの高度に簡略化されたブロック図を示す。システム１００は、音声受信機ユニット１０６において音声入力信号１０４を受信し、信号プロセッサユニット１１０、音符プロセッサユニット１３０、および楽譜プロセッサユニット１５０を通じて信号を送信する。次いで、楽譜プロセッサユニット１５０は、楽譜出力１７０を生成してもよい。
【００１７】
本発明のいくつかの実施形態に従って、システム１００は、音声入力信号１０４として曲または演奏を受信し、演奏の対応する楽譜表示１７０を生成してもよい。音声入力信号１０４は、生演奏でもよく、または録音演奏からの再生を含んでもよく、楽器および人声の両方を含むことができる。楽譜表示１７０は、音声入力信号１０４を構成する異なる楽器および声の各々に対して生成されることができる。楽譜表示１７０は、例えば、音の高さ、リズム、音色、強弱、および／または他の任意の有用な楽譜情報を提供してもよい。
【００１８】
いくつかの実施形態では、単独の、または組み合わせた楽器および声は、楽器および声が演奏している周波数に従って（例えば、音域の相違によって）、または異なる音色を区別することによって他と識別される。例えば、オーケストラにおいて、異なる周波数範囲で演奏している個々の演奏者または演奏者のグループ（例えば、第１バイオリンもしくは第２バイオリン、またはバイオリンおよびチェロ）は、互いから識別および区別されることができる。同様に、受信された音声入力信号１０４の分解能を高めるために、音声入力信号１０４に含まれる音声トラックまたは楽器の数を増加させるために、または音声入力信号１０４のための他の情報（例えば、空間情報または深度）を提供するために、複数のマイクロホンまたは他の音声検出器アレイが使用されてもよい。
【００１９】
一実施形態では、曲は、マイクロホンまたはマイクロホンアレイ１０２によってリアルタイムで受信され、音声受信機ユニット１０６による受信のために、アナログ電気音声入力信号１０４に変換される。他の実施形態では、音声入力信号１０４は、再生に好適な録音音楽ファイル等のデジタルデータを含んでもよい。音声入力信号１０４がアナログ信号である場合、信号プロセッサユニット１１０、音符プロセッサユニット１３０、および楽譜プロセッサユニット１５０によるデジタル信号処理に備えて、それは、音声受信機ユニット１０６によってデジタル表示に変換される。入力信号はリアルタイムで受信されるため、音声入力信号１０４の全長を予め決定する方法はない場合がある。そのようなものとして、音声入力信号１０４は、所定の間隔で受信され記憶されてもよく（例えば、経過時間、デジタルサンプル数、使用されるメモリ容量等）、それに応じて処理されてもよい。別の実施形態では、録音されたサウンドクリップが、音声受信機１０６によって受信され、デジタル化され、それによって固定された時間長を有する。
【００２０】
いくつかの実施形態では、マイクロホンアレイは、同時に演奏する複数の楽器の検出に使用されてもよい。アレイ内の各マイクロホンは、他の楽器のいずれかよりも特定の楽器により近接するように配置され、したがって、その楽器によって生成される周波数の強度は、他のマイクロホンのいずれかに対してよりも、そのマイクロホンに対してより高くなる。受信された音全体にわたって４つの検出器によって提供された情報を組み合わせること、および全てのマイクロホンによって録音された信号を使用することによって、曲のデジタル要約表示がもたらされてもよく、それは、この場合の楽器に関する情報を有する録音のＭＩＤＩ表示を模擬し得る。情報の組み合わせは、周波数の継続期間（リズム）、基本周波数と関連する倍音列（音色：楽器の種類または特定の声）、および相対強度（強弱）を有する、音の高さまたは音符の配列に関する情報を含む。代替として、複数の楽器または他の源からの出力を同時に受信するために、単一のマイクロホンが使用されてもよい。
【００２１】
種々の実施形態では、音声入力信号１０４から抽出された情報は、楽譜表示１７０を自動的に生成するために処理される。楽譜表示１７０からシートミュージックを生成するための従来のソフトウェアパッケージおよびライブラリが入手可能である。そのような多くのツールは、Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ（ＭＩＤＩ）等の所定のフォーマットにおける曲の表示の形での入力を受け入れる。したがって、システムのいくつかの実施形態は、そのような従来のツールとの互換性を確実にするために、ＭＩＤＩ標準に実質的に従った楽譜表示１７０を生成する。一旦楽譜表示１７０が作成されると、考えられる用途は何倍にもなる。種々の実施形態では、楽譜は、デバイスディスプレイ上に表示されるか、印刷されるか、音楽出版プログラムに取り込まれるか、記憶されるか、あるいは他と共有される（例えば、共同音楽プロジェクトのために）。
【００２２】
システム１００の多くの実装が本発明に従って可能であることを理解されるであろう。いくつかの実施形態では、システム１００は、専用デバイスとして実装される。デバイスは、音圧を感知し、それをシステム１００による使用のために音声入力信号１０４に変換するように構成される、１つ以上の内部マイクロホンを含んでもよい。代替として、デバイスは、外部マイクロホン、メディアデバイス、データストア、または他の音源とインターフェースを取るための１つ以上の音声入力ポートを含んでもよい。これらの実施形態のうちのいくつかでは、デバイスは、手持ち式または携帯用デバイスであってもよい。他の実施形態では、システム１００は、多目的または汎用デバイスに実行されてもよい（例えば、コンピュータによる実行のためにコンピュータ可読媒体上に記憶されるソフトウェアモジュールとして）。これらの実施形態のうちのいくつかでは、音源１０２は、サウンドカード、外部マイクロホン、または記憶された音声ファイルであってもよい。次いで、音声入力信号１０４が生成され、システム１００に提供される。
【００２３】
システム１００の他の実施形態は、ある旋律もしくはメロディー、またはその一部分を演奏または歌うユーザからの音声を１つのマイクロホンに受信する聴音デバイスとしての動作のために、簡略化またはモノラルバージョンとして実装されてもよい。単一マイクロホン配列において、システム１００は、続いて、１つのマイクロホンからの録音音楽を対応する楽譜に翻訳する。これは、話される単語や文章をコンピュータ可読テキストに翻訳する音声変換ソフトウェアに相当する音楽の同等物を提供し得る。音／音符の変換として、旋律またはメロディーは、あたかも１つの楽器が演奏しているかのように記録される。
【００２４】
システム１００の異なる実装はまた、ユーザおよび他のシステムとの互換性に関する異なる種類のインターフェースおよび機能を含んでもよいことを理解されるであろう。例えば、ラインレベル入力（例えば、ステレオシステムもしくはギターアンプからの）、マイクロホン入力、ネットワーク入力（例えば、インターネットからの）、または他のデジタルオーディオコンポーネントのために、入力ポートが提供されてもよい。同様に、スピーカ、オーディオコンポーネント、コンピュータ、およびネットワーク等への出力のために、出力ポートが提供されてもよい。さらに、いくつかの実装において、システム１００は、ユーザ入力（例えば、物理的または仮想的キーパッド、スライダ、ノブ、スイッチ等）および／またはユーザ出力（例えば、ディスプレイ、スピーカ等）を提供してもよい。例えば、システム１００によってユーザが録音または録音から抽出されたデータを聴くことを可能にするために、インターフェース能力が提供されてもよい。
【００２５】
システム１００の一実施形態の下位ブロック図が図１Ｂに提供される。音声入力信号を生成するために、１つ以上の音源１０２が使用されてもよい。音源１０２は、音声受信機１０６に音声入力信号１０４を提供することが可能ないかなるものであってもよい。いくつかの実施形態では、１つ以上のマイクロホン、トランスデューサ、および／または他のセンサが、音源１０２として使用される。マイクロホンは、生演奏（または録音演奏の再生）からの圧力または電磁波を音声入力信号１０４としての使用のための電気信号に変換してもよい。例えば、生演奏において、マイクロホンが歌手からの音声を感知および変換するために使用されてもよい一方で、電磁「ピックアップ」は、ギターおよびベースからの音声を感知および変換するために使用されてもよい。他の実施形態では、音源１０２は、音声入力信号１０４または音声入力信号１０４が読み取られ得る音声ファイルを提供するように構成される、アナログまたはデジタルデバイスを含んでもよい。例えば、デジタル化された音声ファイルは、音声フォーマットで記憶媒体上に記憶され、記憶媒体によって、音声入力信号１０４として音声受信機１０６に提供されてもよい。
【００２６】
音源１０２に応じて、音声入力信号１０４は、異なる特性を有し得ることを理解されるであろう。音声入力信号１０４は、単声的または多声的であってもよく、音声データの複数のトラックを含んでもよく、多くの種類の楽器からの音声を含んでもよく、またあるファイルフォーマット等を含んでもよい。同様に、音声受信機１０６は、音声入力信号１０４を受信することが可能ないかなるものであってもよいことを理解されるであろう。さらに、音声受信機１０６は、音源１０２とインターフェースを取るために、または音声入力信号１０４を受信もしくは解釈するために必要な１つ以上のポート、デコーダ、または他のコンポーネントを含んでもよい。
【００２７】
音声受信機１０６は、追加の機能性を提供してもよい。一実施形態では、音声受信機１０６は、アナログ音声入力信号１０４をデジタル音声入力信号１０４に変換する。別の実施形態では、音声受信機１０６は、システム１００への計算負荷を減少させるために、音声入力信号１０４をより低いサンプル速度にダウンコンバートするように構成される。一実施形態では、音声入力信号１０４は、約８−９ｋＨｚまでダウンサンプリングされる。これは、音声入力信号１０４のより高い周波数分解能を提供することができ、システム１００の設計に対するある制約（例えば、フィルタ仕様）を減少させることができる。
【００２８】
さらに別の実施形態では、音声受信機１０６は、ある閾値を超える音声レベルの検出によって音声入力信号１０４の受信を開始する（例えば、録音を開始する）ように構成される、閾値検出コンポーネントを含む。例えば、閾値検出コンポーネントは、音声入力信号１０４の振幅が、ある所定の時間にわたって所定の閾値以上のままであるかどうかを検出するために、特定期間にわたって音声を分析してもよい。閾値検出コンポーネントは、音声入力信号１０４の振幅が、所定の時間にわたって所定の閾値を下回る時に、音声入力信号１０４の受信を停止する（例えば、録音を停止する）ように、さらに構成されてもよい。さらに別の実施形態では、閾値検出コンポーネントは、実際に音声入力信号１０４の受信を開始または終了するよりもむしろ、ある時間にわたって閾値を超えるまたは下回る音声入力信号１０４の振幅の状態を表す、システム１００のための標識を生成するために使用されてもよい。
【００２９】
（信号および音符処理）
図１Ｂに従って、音声受信機１０６は、振幅抽出ユニット１１２および周波数抽出ユニット１１４を含む信号プロセッサユニット１１０に、音声入力信号１０４を送信する。振幅抽出ユニット１１２は、音声入力信号１０４から振幅関連情報を抽出するように構成される。周波数抽出ユニット１１４は、音声入力信号１０４から周波数関連情報を抽出するように構成される。
【００３０】
一実施形態では、周波数抽出ユニット１１４は、変換アルゴリズムを使用して信号を時間領域から周波数領域に変換する。例えば、時間領域にある間に、音声入力信号１０４は、経時的な振幅の変化として表されてもよい。しかしながら、高速フーリエ変換（ＦＦＴ）アルゴリズムを適用した後に、同一の音声入力信号１０４は、その周波数成分の各々の振幅（例えば、信号がそこで処理される倍音列のような、周波数範囲における各周波数帯の相対的強度または寄与率）のグラフとして表されてもよい。処理効率のために、アルゴリズムをある周波数範囲に限定することが望ましくあり得る。例えば、周波数範囲は、可聴スペクトル（例えば、約２０Ｈｚから２０ｋＨｚまで）のみを対象としてもよい。
【００３１】
種々の実施形態では、信号プロセッサユニット１１０は、他の方法で周波数関連情報を抽出してもよい。例えば、多くの変換アルゴリズムは、固定幅の線形周波数「バケット」における信号を出力する。これは、特に、音声信号が（線形的であるよりもむしろ）実際は本質的に対数的であり得るということを考慮すると、考えられる周波数分解能または変換の有効性を制限する場合がある。音声入力信号１０４から周波数関連情報を抽出するための多くのアルゴリズムが、当技術分野において既知である。
【００３２】
次いで、振幅抽出ユニット１１２によって抽出された振幅関連情報および周波数抽出ユニット１１４によって抽出された周波数関連情報は、音符処理ユニット１３０の種々のコンポーネントによって使用されてもよい。いくつかの実施形態では、音符処理ユニット１３０は、音符開始検出器ユニット１３２、音符長さ検出器ユニット１３４、音の高さ検出器ユニット１３６、休符検出器ユニット１４４、包絡線検出器ユニット１３８、音色検出器ユニット１４０、および音符強弱検出器ユニット１４２の全てまたはいくつかを含む。
【００３３】
音符開始検出器ユニット１３２は、音符の開始を検出するように構成される。音符の開始（または始まり）は、典型的には、音の高さの変化（例えば、スラー）、振幅の変化（例えば、包絡線の接続部分）、または音の高さおよび振幅の変化のいくつかの組み合わせとして音楽に現れる。そのようなものとして、音符開始検出器ユニット１３２は、図４−５に関連して以下により詳細に記載されるような、ある種類の周波数（もしくは音の高さ）および／または振幅の変化がある時はいつでも、音符開始事象を生成するように構成されてもよい。
【００３４】
音符はまた、それらの長さ（秒単位での音符が持続する時間、またはサンプル数）によって特徴付けられてもよい。いくつかの実施形態では、音符処理ユニット１３０は、音符開始事象によってマーク付けされた音符の長さを検出するように構成される、音符長さ検出器ユニット１３４を含む。音符長さの検出は、図６および７に関して以下により詳細に考察される。
【００３５】
音楽のある特性が、信号の純粋に物理的な属性であるよりもむしろ心理音響的であることは注目に値する。例えば、周波数は、信号の物理的特性（例えば、正弦波によって移動するヘルツ数を表す）であるが、音の高さは、より複雑な心理音響現象である。一つの理由は、１つの楽器によって演奏される単一の音の高さの音符が、通常、音色として知られる、各々が異なる振幅にあるいくつかの周波数で構成されていることである。脳は、それらの周波数（例えば、典型的には、基本周波数）のうちの１つを「音の高さ」として感知すると同時に、他の周波数を音符への「ハーモニーの音色」の追加としてのみ感知し得る。ある場合には、聴取者によって経験される音符の音の高さは、大部分または完全に信号に存在しない周波数であり得る。
【００３６】
いくつかの実施形態では、音符処理ユニット１３０は、音符開始事象によってマーク付けされた音符の音の高さを検出するように構成される、音の高さ検出器ユニット１３６を含む。他の実施形態では、音の高さ検出器ユニット１３６は、個々の音符の音の高さよりもむしろ（またはそれに加えて）、音声入力信号１０４の音の高さを追跡するように構成される。音の高さ検出器ユニット１３６は、閾値を超える音声入力信号１０４の音の高さの変化を決定するために、ある場合には、音符開始検出器ユニット１３２によって使用されてもよいことが理解されるであろう。
【００３７】
音の高さ検出器ユニット１３６のある実施形態は、最終の楽譜表示１７０とさらなる互換性を有するように、音の高さをさらに処理する。音の高さ検出の実施形態は、図３に関してより十分に説明される。
【００３８】
音符処理ユニット１３０のいくつかの実施形態は、音声入力信号１０４内の休符の存在を検出するように構成される、休符検出器ユニット１４４を含む。休符検出器ユニット１４４の一実施形態は、振幅抽出ユニット１１２によって抽出された振幅関連情報、および音の高さ検出器ユニット１３６によって得られた信頼度情報を使用する。例えば、振幅関連情報は、音声入力信号１０４の振幅が、ある時間窓にわたって比較的に低い（例えば、ノイズフロアにあるか、またはそれに近い）ことを示し得る。同一の時間窓にわたって、音の高さ検出器ユニット１３６は、任意の特定の音の高さの存在について非常に低い信頼度しかないことを決定し得る。この情報および他の情報を使用して、休符検出器ユニット１４４は、休符の存在および休符が開始すると考えられる時間位置を検出する。休符検出の実施形態は、図９および１０に関してさらに説明される。
【００３９】
いくつかの実施形態では、音符処理ユニット１３０は、音色検出器ユニット１４０を含む。振幅抽出ユニットによって抽出された振幅関連情報および周波数抽出ユニット１１４によって抽出された周波数関連情報は、音声入力信号１０４の一部分のための音色情報を検出するために、音色検出器ユニット１４０によって使用されてもよい。音色情報は、音声信号１０４の一部分のハーモニーの曲を示してもよい。音色情報は、いくつかの実施形態では、音色検出器ユニット１４０は、音符開始事象で始まる特定の音符に関する音色情報を検出してもよい。
【００４０】
音色検出器ユニット１４０の一実施形態では、振幅関連情報および周波数関連情報は、フィルタリングされたスペクトルを生成するためにガウスフィルタで畳み込まれる。次いで、フィルタリングされたスペクトルは、音の高さ検出器ユニット１３６によって検出された音の高さ周りの包絡線を生成するために使用されてもよい。この包絡線は、その音の高さにおける音符の音色に対応し得る。
【００４１】
いくつかの実施形態では、音符処理ユニット１３０は、包絡線検出器ユニット１３８を含む。振幅抽出ユニット１１２によって抽出された振幅関連情報は、音声入力信号１０４の一部分に対する包絡線情報を検出するために、包絡線検出器ユニット１３８によって使用されてもよい。例えば、ピアノの鍵盤を打つことによって、ハンマーは一式の弦をたたき、大きいアタック振幅を有する音声信号をもたらし得る。この振幅は、それが、弦が共振する幾分定常状態の振幅において継続するまで、急速に減衰する（当然ながら、振幅は、弦におけるエネルギーが使い果たされるにつれて、包絡線のこの部分にわたってゆっくりと減少し得る）。最後に、ピアノの鍵盤が開放されると、ダンパーは弦の上に落下し、振幅をゼロまで急速に減少させる。この種類の包絡線は、典型的には、ＡＤＳＲ（アタック、ディケイ、サスティン、リリース）包絡線と呼ばれる。包絡線検出器ユニット１３８は、ＡＤＳＲ包絡線の一部分のいくつかもしくは全て、または他の任意の種類の有用な包絡線情報を検出するように構成されてもよい。
【００４２】
種々の実施形態では、音符処理ユニット１３０はまた、音符強弱検出器ユニット１４２を含む。ある実施形態では、音符強弱検出器ユニット１４２は、ある音符開始事象で始まる特定の音色に対して、包絡線検出器ユニット１３８に同様の機能性を提供する。他の実施形態では、音符強弱検出器ユニット１４２は、包絡線検出器ユニット１３８によって検出されている包絡線のパターンに対して異常であるか、またはある所定のパターンに適合する、音符包絡線を検出するように構成される。例えば、スタッカート音符は、そのＡＤＳＲ包絡線の鋭いアタックおよび短いサスティン部分によって特徴付けられ得る。別の実施例では、アクセント付きの音符は、周囲の音符のアタック振幅よりも有意に大きいアタック振幅によって特徴付けられ得る。
【００４３】
音符強弱検出器ユニット１４２および他の音符処理ユニットは、楽譜表示１７０の一部分として望ましくあり得る音符の複数の他の属性を識別するために使用されてもよいことを理解されるであろう。例えば、音符は、スラー、アクセント、スタッカート、装飾音等によって特徴付けられ得る。多くの他の音符特性は、本発明に従って抽出されてもよい。
【００４４】
（楽譜処理）
複数音符または音符開始事象（休符を含む）に関する情報は、他の情報を生成するために使用されてもよい。図１Ｂの実施形態に従って、音符処理ユニット１３０の種々のコンポーネントは、楽譜処理ユニット１５０の種々のコンポーネントと動作的に連絡していてもよい。楽譜処理ユニット１５０は、テンポ検出ユニット１５２、拍子検出ユニット１５４、調検出ユニット１５６、楽器識別ユニット１５８、トラック検出ユニット１６２、および全体的強弱検出ユニット１６４の全てまたはいくつかを含んでもよい。
【００４５】
いくつかの実施形態では、楽譜処理ユニット１５０は、時間窓にわたって音声入力信号１０４のテンポを検出するように構成される、テンポ検出ユニット１５２を含む。典型的には、一曲のテンポ（例えば、音楽が心理音響的に通過すると思われる速度）は、音符および休符の存在および長さに部分的に影響を受ける場合がある。そのようなものとして、テンポ検出ユニット１５２のある実施形態は、テンポを決定するために、音符開始検出器ユニット１３２、音符長さ検出器ユニット１３４、および休符検出器ユニット１４４からの情報を使用する。テンポ検出ユニット１５２の他の実施形態は、音符および休符に音符値（例えば、４分音符、８分音符等）を割り当てるために、決定されたテンポをさらに使用する。テンポ検出ユニット１５２の例示的動作は、図１１−１５に関してさらに詳細に考察される。
【００４６】
拍子は、音楽の各小節中に何拍あるか、およびそれがどの音符値を１拍とみなしたかを指示する。例えば、４／４拍子は、各小節が４拍を有し（分子）、１拍が４分音符によって表される（分母）ことを表す。したがって、拍子は、音符および小節線の位置、ならびに有用な楽譜表示１７０を提供するために必要とされ得る他の情報を決定するのに役立ち得る。いくつかの実施形態では、楽譜処理ユニット１５０は、音声入力信号１０４の拍子を検出するように構成される、拍子検出ユニット１５４を含む。
【００４７】
いくつかの実施形態では、単純拍子は、テンポ検出ユニット１５２によって抽出されたテンポ情報および音符値、ならびに他の情報（例えば、音符強弱検出器ユニット１４２によって抽出された音符強弱情報）から推定される。しかしながら、通常、拍子の決定は、複雑なパターン認識を伴う複雑なタスクである。
【００４８】
例えば、以下の音符値の配列が音声入力信号１０４から抽出されたとする：４分音符、４分音符、８分音符、８分音符、８分音符、８分音符。この単純配列は、４／４の１小節、２／４の２小節、１／４の４小節、８／８の１小節、または多くの他の拍子として表され得る。第１の４分音符および第１の８分音符上にアクセント（例えば、増加したアタック振幅）があったと仮定すると、これは、配列が２／４の２小節、４／８の２小節、または４／４の１小節のいずれかである可能性をより高くさせ得る。さらに、４／８が非常にまれな拍子であると仮定することは、それを推測として除外するのに十分であり得る。さらに、音声入力信号１０４のジャンルがフォークソングであるという知識は、４／４が、もっとも可能性のある拍子の候補である可能性をより高くさせ得る。
【００４９】
上記の実施例は、非常に単純な音符値の配列とさえ関係する複雑性を説明している。多くの音符列ははるかに複雑であり、異なる値の多くの音符、複数の小節に及ぶ音符、付点音符および装飾音、切分音、および拍子の解釈における他の困難性を伴う。したがって、従来の計算アルゴリズムは、拍子の正確な決定における困難性を有する可能性がある。そのようなものとして、拍子検出ユニット１５４の種々の実施形態は、それらの複雑なパターンを検出するように訓練された人工ニューラルネットワーク（ＡＮＮ）０１６０を使用する。ＡＮＮ０１６０は、異なる拍子の多くのサンプルおよび各サンプルによって精緻化する費用関数をＡＮＮ０１６０に提供することによって訓練されてもよい。いくつかの実施形態では、ＡＮＮ０１６０は、学習パラダイムを使用して訓練される。学習パラダイムは、例えば、教師あり学習、教師なし学習、または強化学習アルゴリズムを含んでもよい。
【００５０】
テンポおよび拍子情報のいずれかまたは両方を使用することによって、多くの有用な種類の情報が、楽譜表示１７０による使用のために生成されてもよいことを理解されるであろう。例えば、情報は、個々に標識で音符を指定するよりもむしろ、どこで音符を合わせて（例えば、一式の８分音符として）小節を区切るのか、いつ２小節にわたる音符を分割し、またそれをつなぐのか、またはいつ一式の音符を３連符（または高次の一式）、修飾音、トリルまたはモルデント、グリッサンド等として指定するのかという決定を可能にしてもよい。
【００５１】
楽譜表示１７０の生成に有用であり得る別の一式の情報は、音声入力信号１０４の一部分の調に関する。調情報は、例えば、識別された根音の高さおよび関連した様式を含んでもよい。例えば、「Ａマイナー」は、調の根音の高さが「Ａ」であり、様式が短調であることを表す。各調は、「調にある」音符（例えば、調と関連する全音階の一部分）および「調にない」音符（例えば、調のパラダイム内の臨時記号）を識別する調号によって特徴付けられる。例えば、「Ａマイナー」はシャープもフラットも含まないが、「Ｄメジャー」は、２つのシャープを含み、フラットは含まない。
【００５２】
いくつかの実施形態では、楽譜処理ユニット１５０は、音声入力信号１０４の調を検出するように構成される、調検出ユニット１５６を含む。調検出ユニット１５６のいくつかの実施形態は、音の高さの配列を一式の費用関数と比較するステップに基づいて調を決定する。費用関数は、例えば、特定の時間窓にわたって一曲中の臨時記号の数を最小限にしようとしてもよい。他の実施形態では、調検出ユニット１５６は、複雑な調の決定を行うか、または精緻化するために、人工ニューラルネットワークを使用してもよい。さらに他の実施形態では、調の決定を精緻化するために、一連の転調が費用関数に対して評価されてもよい。さらに他の実施形態では、調検出ユニット１５６によって得られた調情報は、特定の調の音の高さの指定を有する音符（または音符開始事象）に帰属するために使用されてもよい。例えば、Ｆメジャーにおける「Ｂ」は、「Ｂナチュラル」と指定され得る。当然ながら、調情報は、楽譜表示のための調号または他の情報を生成するために使用されてもよい。いくつかの実施形態では、調情報は、コードまたは他の倍音情報を生成するためにさらに使用されてもよい。例えば、ギターコードは、ＴＡＢ譜形式で生成されてもよく、またはジャズコードが提供されてもよい。調検出ユニット１５６の例示的動作は、図１３−１５に関してさらに詳細に考察される。
【００５３】
他の実施形態では、楽譜処理ユニット１５０はまた、音声入力信号１０４上で演奏されている楽器を識別するように構成される、楽器識別ユニット１５８を含む。多くの場合、楽器は特定の音色を有するといわれている。しかしながら、演奏されている音符または音符が演奏されている方法に応じて、単一楽器の音色に差がある場合がある。例えば、すべてのバイオリンの音色は、例えば、その構造に使用される材料、演奏者の弾き方、音符が弓で弾かれるか指で弾かれるかにかかわらず、演奏されている音符（例えば、開放弦で演奏される音符は、指で押さえた弦で演奏される同一音符とは異なる音色を有し、バイオリンの音域において低い音符は、高音域における音符とは異なる音色を有する）等に基づいて異なる。しかしながら、依然として、バイオリンの音符間には十分な相似性があり、別の楽器とは対照的にそれらをバイオリンとして識別し得る。
【００５４】
楽器識別ユニット１５８の実施形態は、明らかに音声入力信号１０４の楽器によって演奏されている音の高さの範囲、それらの音の高さの各々において楽器によって生成されている音色、および／または楽器で演奏されている音符の振幅包絡線を決定するために、単一または複数の音符の特性を比較するように構成される。一実施形態では、音色の差は、楽器サンプルの典型的な音色記号を音声入力信号１０４からの検出された音色と比較することによって、異なる楽器を検出するために使用される。例えば、同一の長さにわたって同一の音量で同一の音符を演奏する時でさえ、サックスおよびピアノは、それらの異なる音色のために非常に異なって聞こえ得る。当然ながら、前述のように、音色のみに基づく識別は、制限された正確性を有し得る。
【００５５】
別の実施形態では、音の高さの範囲は、異なる楽器を検出するために使用される。例えば、チェロは、典型的には、ミドルＣの下の約２オクターブからミドルＣの上の約１オクターブに及ぶ音符を演奏し得る。しかしながら、バイオリンは、典型的には、ミドルＣのすぐ下からミドルＣの上の約４オクターブに及ぶ音符を演奏し得る。したがって、バイオリンおよびチェロが同様の音色を有し得ても（それらは両方、弓で弾かれる弦楽器）、それらの音の高さの範囲は、識別のために使用されるには十分異なり得る。当然ながら、音域が実際にある程度重複することを考えると、エラーは起こり得る。さらに、他の楽器（例えば、ピアノ）はより広い音域を有するため、多くの楽器と重複し得る。
【００５６】
さらに別の実施形態では、包絡線検出は、異なる楽器を識別するために使用される。例えば、ハンマー打楽器（例えば、ピアノ）で演奏される音符は、木管楽器（例えば、フルート）、リード楽器（例えば、オーボエ）、金管楽器（例えば、トランペット）、または弦（例えば、バイオリン）楽器で演奏されている同一音符とは異なって聞こえ得る。しかしながら、各楽器は、音符がどのように演奏されるかに応じて、多くの異なる種類の包絡線を生成することが可能であり得る。例えば、バイオリンは、指または弓で弾かれてもよく、または音符はレガートまたはスタッカートで演奏されてもよい。
【００５７】
少なくとも前述の困難性のために、正確な楽器の識別は、複雑なパターンの検出を必要とし、場合によっては複数の音符にわたる音声入力信号１０４の複数の特性を伴う。そのようなものとして、楽器識別ユニット１５８のいくつかの実施形態は、これらの複雑なパターンの組み合わせを検出するように訓練された人工ニューラルネットワークを利用する。
【００５８】
楽譜処理ユニット１５０いくつかの実施形態は、音声入力信号１０４内から音声トラックを識別するように構成される、トラック検出ユニット１６２を含む。ある場合には、音声入力信号１０４は、トラックによってすでに分離されたフォーマットであってもよい。例えば、いくつかのデジタルオーディオテープ（ＤＡＴ）上の音声は、８つの別々のデジタル音声トラックとして記憶されてもよい。これらの場合では、トラック検出ユニット１６２は、個々の音声トラックを単に識別するように構成されてもよい。
【００５９】
しかしながら、他の場合では、複数のトラックは、単一の音声入力信号１０４内に記憶され、その音声入力信号からあるデータを抽出することによって識別される必要がある場合がある。そのようなものとして、トラック検出ユニット１６２のいくつかの実施形態は、別々の音声トラックを識別するために、音声入力ファイル１０４から抽出された情報を使用するように構成される。例えば、演奏は、同時に演奏する５つの楽器（例えば、ジャズ五重奏）を含んでもよい。楽譜表示１７０において演奏を正確に表すことが可能となるように、それらの別々の楽器を別々のトラックとして識別することが望ましくあり得る。
【００６０】
トラック検出は、いくつかの異なる方法で達成されてもよい。一実施形態では、トラック検出ユニット１６２は、異なる音符列がある音の高さの範囲に限定されて現れるかどうかを決定するために、音の高さ検出を使用する。別の実施形態では、トラック検出ユニット１６２は、異なるトラックを決定するために、楽器識別ユニット１５８からの楽器識別情報を使用する。
【００６１】
多くの楽譜はまた、曲または演奏の全体的強弱に関する情報を含む。全体的強弱は、前述の音符強弱とは対照的に、２つ以上の音符に及ぶ強弱を意味する。例えば、曲全体または曲の部分は、フォルテ（強く）またはピアノ（弱く）として表示されて得る。別の実施例では、音符の配列は、クレッシェンドで徐々にふくらみ得る。この種類の情報を生成するために、楽譜処理ユニット１５０のいくつかの実施形態は、全体的強弱検出ユニット１６４を含む。全体的強弱検出ユニット１６４の実施形態は、全体的強弱を検出するために、ある場合には、音符強弱情報および／または包絡線情報を含む振幅情報を使用する。
【００６２】
ある実施形態では、閾値は、強弱決定に役立つように、予め定められるか、または音声入力信号１０４から適応的に生成される。例えば、ロック演奏の平均的音量は、フォルテとみなされ得る。ある音量で（例えば、閾値、標準偏差等で）その平均を超える振幅が、フォルティッシモと見なされ得る一方で、ある音量でその平均を下回る振幅は、ピアノと見なされ得る。
【００６３】
ある実施形態は、強弱の変化が発生する長さをさらに考慮してもよい。例えば、静かな音符の２分間から開始し、突然より大きい音符の２分間の部分に切り替わる曲は、ピアノの部分、続いてフォルテの部分を有するとみなされ得る。一方、数個の音符にわたって張っていき、さらに数個の音符にわたってそのより高い音量でとどまり、次いで、元の振幅に戻る静かな曲は、クレッシェンド、続いてデクレッシェンドを有するとみなされ得る。
【００６４】
前述の種々の種類の情報の全て、および他の任意の有用な情報は、楽譜表示１７０としての使用のために生成されてもよい。この楽譜表示１７０は、保存または出力されてもよい。ある実施形態では、楽譜表示１７０は、種々の種類の情報を楽譜フォーマットに転写する楽譜生成ソフトウェアに出力される。楽譜フォーマットは、表示印刷、電子送信等のために構成されてもよい。
【００６５】
前述の種々のユニットおよびコンポーネントは、本発明から逸脱することなく、種々の方法で実装されてもよいことを理解されるであろう。例えば、あるユニットは、他のユニットのコンポーネントであってもよく、または別のユニットの追加機能性として実装されてもよい。さらに、ユニットは、多くの方法で接続されてもよく、データは、本発明に従った多くの方法でそれらの間を流れてもよい。そのようなものとして、図１Ｂは、例示としてみなされるべきであり、本発明の範囲を制限すると解釈されるべきではない。
【００６６】
（音声処理のための方法）
図２は、本発明の実施形態に従った、音声信号データを楽譜データに変換するための例示的方法のフロー図を提供する。方法２００は、ブロック２０２において音声信号を受信することから始まる。いくつかの実施形態では、音声信号は、前処理されてもよい。例えば、音声信号は、アナログからデジタルに変換されるか、より低いサンプル速度にダウンコンバートされるか、あるエンコーダもしくはデコーダとの互換性のためにトランスコードされるか、単声音声トラックに解析されるか、または他の任意の有用な前処理が行われてもよい。
【００６７】
ブロック２０４において、周波数情報は、音声信号から抽出されてもよく、周波数のある変化が識別されてもよい。ブロック２０６において、振幅情報は、音声信号から抽出されてもよく、振幅のある変化が識別されてもよい。
【００６８】
いくつかの実施形態では、音の高さ情報は、ブロック２０４において音声入力信号から抽出された周波数情報から、ブロック２０８において得られる。ブロック２０８における音の高さ検出の例示的実施形態は、図３に関してより十分に説明される。さらに、いくつかの実施形態では、周波数および振幅に関する抽出および識別された情報は、ブロック２１０において音符開始事象を生成するために使用される。ブロック２１０における音符開始事象生成の例示的実施形態は、図４−５に関してより十分に説明される。
方法２００のいくつかの実施形態では、ブロック２０４において抽出された周波数情報、ブロック２０６において抽出された振幅情報、およびブロック２１０において生成された音符開始事象は、音声信号からの他の情報を抽出および処理するために使用される。ある実施形態では、情報は、ブロック２２０において音符長さを決定するために、ブロック２３０において休符を決定するために、ブロック２４０において時間窓にわたってテンポを決定するために、ブロック２５０において窓わたって調を決定するために、ブロック２６０において楽器編成を決定するために使用される。他の実施形態では、ブロック２２０において決定された音符長さ、ブロック２３０において決定された休符、ブロック２４０において決定されたテンポは、ブロック２４５において音符値を決定するために使用され、ブロック２５０において決定された調は、ブロック２５５において調の音の高さの指定を決定するために使用され、ブロック２６０において決定された楽器編成は、ブロック２７０においてトラックを決定するために使用される。種々の実施形態では、ブロック２２０−２７０の出力は、ブロック２８０において楽譜表示データを生成するために使用されるように構成される。ブロック２２０−２５５のための例示的方法は、図６−１５に関連してより詳細に説明される。
【００６９】
（音の高さ検出）
図３は、本発明の実施形態に従った、音の高さの検出のための例示的方法のフロー図を提供する。音の高さの人間の知覚は、心理音響的現象である。したがって、方法２０８のいくつかの実施形態は、ブロック３０２において、音声入力信号を心理音響的フィルタバンクでプレフィルタリングすることから始まる。ブロック３０２におけるプレフィルタリングは、例えば、人間の耳の可聴範囲を刺激する聴感補正スケールを伴ってもよい。そのような聴感補正スケールは、当業者に既知である。
【００７０】
次いで、方法２０８は、音声入力信号１０４を所定の間隔に分割することによってブロック３０４において継続してもよい。これらの間隔は、音符開始事象、信号のサンプリング周波数、または他の任意の有用な間隔に基づいてもよい。間隔の種類に応じて、方法２０８の実施形態は、例えば、音符開始事象によってマーク付けされる音符の音の高さを検出するように、または音声入力信号における音の高さの変化を追跡するように構成されてもよい。
【００７１】
各間隔に対して、方法２０８は、ブロック３０６において基本周波数を検出してもよい。基本周波数は、間隔の（または音符の）「音の高さ」として割り当てられてもよい。基本周波数は、最低位周波数および最大強度を有する周波数である場合が多いが必ずというわけではない。
【００７２】
方法２０８は、最終楽譜表示により適合するように音の高さをさらに処理してもよい。例えば、楽譜表示は、楽譜を構成する音符によって表される、明確かつ有限な一式の音の高さを必要とし得る。したがって、方法２０８の実施形態は、周波数スペクトルを特定の音符と関連したビンに分離してもよい。一実施形態では、方法２０８は、ビンの各々におけるエネルギーを計算し、最低位エネルギーを有するビンを基本の音の高さの周波数として識別する。別の実施形態では、方法２０８は、ビンの各々におけるエネルギーに基づいて音声入力信号の倍音列を計算し、基本の音の高さの周波数を決定するために倍音列を使用する。
【００７３】
例示的な一実施形態では、方法２０８は、一式の均等に重複した２オクターブ幅フィルタを有するフィルタバンクを採用する。各フィルタバンクは、音声入力信号の一部分に適用される。各フィルタバンクの出力は、音声入力信号のフィルタリングされた部分が本質的に単一の周波数を含むのに十分正弦波であるかどうかを決定するために分析される。このようにして、方法２０８は、ある時間間隔にわたる音声入力信号の基本周波数を、その間隔にわたる信号の音の高さとして抽出することが可能であり得る。ある実施形態では、方法２０８は、基本周波数が信号から失われている場合でさえ、ある間隔にわたって音声入力信号の基本周波数を抽出するように構成されてもよい（例えば、その窓にわたって音声入力信号中に存在する周波数の倍音列間の幾何学的関係を使用することによって）。
【００７４】
いくつかの実施形態では、方法２０８は、ブロック３０８において一式の音声サンプルを生成するために一連のフィルタバンク出力を使用する。各音声サンプルは、例えば、推定周波数、信頼値、タイムスタンプ、長さ、およびピアノの鍵盤のインデックスに関する情報を含む、関連データ記録を有してもよい。音声入力信号からこのデータ記録情報を抽出するための多くの方法は、当技術分野において既知であることを理解されるであろう。例示的な一アプローチは、Ｌａｗｒｅｎｃｅ  Ｓａｕｌ，Ｄａｎｉｅｌ  Ｌｅｅ，Ｃｈａｒｌｅｓ  Ｉｓｂｅｌｌ，ａｎｄ  Ｙａｕｎ  ＬｅＣｕｎ，“Ｒｅａｌ  ｔｉｍｅ  ｖｏｉｃｅ  ｐｒｏｃｅｓｓｉｎｇ  ｗｉｔｈ  ａｕｄｉｏｖｉｓｕａｌ  ｆｅｅｄｂａｃｋ：ｔｏｗａｒｄ  ａｕｔｏｎｏｍｏｕｓ  ａｇｅｎｔｓ  ｗｉｔｈ  ｐｅｒｆｅｃｔ  ｐｉｔｃｈ，”Ａｄｖａｎｃｅｓ  ｉｎ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ（ＮＩＰＳ）  １５，ｐｐ．１２０５−１２１２（２００２）に詳述され、すべての目的で参照することによって本明細書に組み込まれる。音声サンプルのためのデータ記録情報は、どの音の高さが聴取者によって聴かれるかを決定するために、バッファリングおよびソートされてもよい。
【００７５】
方法２０８のいくつかの実施形態は、どこで音の高さの変化が発生したかを決定することによるブロック３１０に続く。例えば、音の高さが音楽ビンに分離される場合（例えば、音階音）、どこで音声信号の音の高さが１つのビンから次のビンに移ったかを決定することが望ましくあり得る。そうでなければ、ビブラート、トレモロ、および他のエフェクトは、音の高さの変化として誤って識別され得る。音の高さの変化の開始を識別するステップはまた、以下に記載するように、音符開始事象を決定するステップに有用であり得る。
【００７６】
（音符開始検出）
曲の多くの要素は、少なくとも部分的に音符の始まりによって特徴付けられる。楽譜上で、例えば、小節中の音符の適切な時間的配置、曲のテンポおよび拍子、ならびに他の重要な情報を決定するために、どこで音符が始まるかを知ることは必要であり得る。どこで音符が始まるかの主観的決定を伴う音符の変化を伴う表現力豊かな演奏もある（例えば、１音符から次の音符への緩やかなスラーによって）。しかしながら、楽譜生成は、どこで音符が開始および終了するのかのより客観的な決定を余儀なくさせる。これらの音符の始まりは、音符開始事象と呼ばれる。
【００７７】
図４Ａは、本発明の実施形態に従った、音符開始事象の生成のための例示的方法のフロー図を提供する。方法２１０は、ブロック４１０において、音の高さの変化事象を識別することから始まる。いくつかの実施形態では、音の高さの変化事象は、第１の閾値４０４を超える音声信号から抽出された周波数情報の変化４０２（例えば、図２のブロック２０４にあるような）に基づいて、ブロック４１０において決定される。方法２１０のいくつかの実施形態では、音の高さの変化事象は、図２のブロック２０８に関連して記載される方法を使用して識別される。
【００７８】
ブロック４１０において音の高さの変化事象を識別することによって、方法２１０は、十分な音の高さの変化がある時はいつでも、ブロック４５０において音符開始事象を検出することができる。このようにして、検出可能な振幅の変化を有しない１つの音の高さから次の音の高さへの緩やかなスラーでさえ、ブロック４５０において音符開始事象を生成する。しかしながら、音の高さ検出のみの使用は、繰り返しの音の高さを検出することができない。演奏者が同一の音の高さを何度も演奏するとすれば、ブロック４１０において音の高さの変化事象を信号で伝えるための音の高さの変化はなく、ブロック４５０において音符開始事象の生成もない。
【００７９】
したがって、方法２１０の実施形態はまた、ブロック４２０においてアタック事象を識別する。いくつかの実施形態では、アタック事象は、第２の閾値４０８を超える音声信号から抽出された振幅情報の変化４０６（例えば、図２のブロック２０６にあるような）に基づいて、ブロック４２０において決定される。アタック事象は、音符の開始を信号で伝えるための特性の音声信号の振幅の変化であってもよい。ブロック４２０においてアタック事象を識別することによって、方法２１０は、振幅の特性変化がある時はいつでも、ブロック４５０において音符開始事象を検出することができる。このようにして、繰り返しの音の高さでさえ、ブロック４５０において音符開始事象を生成する。
【００８０】
アタック事象を検出するための多くの方法が可能であることを理解されるであろう。図４Ｂは、本発明の実施形態に従った、アタック事象を決定するための例示的方法のフロー図を提供する。方法４２０は、ブロック４２２において第１の包絡線信号を生成するために、音声信号から抽出された振幅情報４０６を使用することから始まる。第１の包絡線信号は、音声信号の振幅における包絡線レベルの変化を追跡する「高速包絡線」を表し得る。
【００８１】
いくつかの実施形態では、第１の包絡線信号は、最初に振幅情報４０６を整流およびフィルタリングすることによって、ブロック４２２において生成される。一実施形態では、信号振幅の絶対値が得られ、次いで、整流した形の音声信号を生成するために、全波整流器を使用して整流される。次いで、第１の包絡線信号は、ローパスフィルタを使用して整流された信号をフィルタリングすることによって生成されてもよい。これは、整流された音声信号の全体的な形態を実質的に保持する第１の包絡線信号を得ることができる。
【００８２】
第２の包絡線信号は、ブロック４２４において生成されてもよい。第２の包絡線信号は、音声信号の包絡線の平均電力に近似する「低速包絡線」を表し得る。いくつかの実施形態では、第２の包絡線信号は、連続的に、あるいは所定の時間間隔にわたって、第１の包絡線信号の平均電力を計算することによって（例えば、信号を統合することによって）、ブロック４２４において生成されてもよい。ある実施形態では、第２の閾値４０８は、所与の時間位置において第２の包絡線信号の値から得られてもよい。
【００８３】
ブロック４２６において、制御信号が生成される。制御信号は、第１の包絡線信号におけるより有意な方向変化を表し得る。一実施形態では、制御信号は、（１）第１の時間位置において第１の包絡線信号の振幅を求めることによって、（２）第２の時間位置までその振幅を持続することによって（例えば、第１および第２の時間位置は、所定の時間離間している）、および（３）第２の時間位置を新しい時間位置として設定し、プロセスを繰り返すことによって（すなわち、第２の時間位置において新しい振幅に移動し、所定の時間にわたってそこにとどまる）、ブロック４２６において生成される。
【００８４】
次いで、方法４２０は、制御信号がブロック４２８においてアタック事象として第２の包絡線信号よりも大きくなる（例えば、正の方向に移る）任意の位置を識別する。このようにして、アタック事象は、包絡線の有意な変化が発生する場合のみ識別されてもよい。この方法４２０の例示的図解は、図５に示される。
【００８５】
図５は、本発明の実施形態に従った、音符開始事象生成での使用のための種々の包絡線を有する音声信号の図解を提供する。例示的グラフ５００は、音声入力信号５０２、第１の包絡線信号５０４、第２の包絡線信号５０６、および制御信号５０８に対する振幅対時間を示す。グラフはまた、制御信号５０８の振幅が第２の包絡線信号５０６の振幅よりも大きくなるアタック事象位置５１０を図示する。
【００８６】
（音符長さ検出）
一旦音符の始まりが音符開始事象を生成することによって識別されると、どこで音符が終了するか（または音符の長さ）を決定することが有用であり得る。図６は、本発明の実施形態に従った、音符長さの検出のための例示的方法のフロー図を提供する。方法２２０は、ブロック６０２において第１の音符開始位置を識別することから始まる。いくつかの実施形態では、第１の音符開始位置は、図４−５に関してより十分に説明されるような、音符開始事象を生成（または識別）することによって、ブロック６０２において識別される。
【００８７】
いくつかの実施形態では、方法２２０は、ブロック６１０において第２の音符開始位置を識別することによって続く。この第２の音符開始位置は、ブロック６０２において識別された第１の音符開始位置の識別と同一の方法またはそれとは異なる方法で、ブロック６１０において識別されてもよい。ブロック６１２において、第１の音符開始位置と関連した音符の長さは、第１の音符開始位置と第２の音符開始位置との間の時間間隔を決定することによって計算される。ブロック６１２におけるこの決定は、音符の長さを１つの音符の開始から次の音符の開始までの経過時間として得ることができる。
【００８８】
しかしながら、ある場合には、音符は、次の音符の始まりの少し前に終了してもよい。例えば、音符は、続いて休符があってもよく、または音符は、スタッカートの形で演奏されてもよい。これらの場合では、ブロック６１２における決定は、音符の実際の長さを超える音符長さを得るであろう。この潜在的制限が、音符終了位置を検出することによって多くの方法で訂正され得ることは注目すべきである。
【００８９】
方法２２０のいくつかの実施形態は、ブロック６２０において音符終了位置を識別する。次いで、ブロック６２２において、第１の音符開始位置と関連した音符の長さは、第１の音符開始位と音符終了位置との間の時間間隔を決定することによって計算されてもよい。ブロック６２２におけるこの決定は、音符の長さを１つの音符の開始からその音符の終了までの経過時間として得ることができる。一旦音符長さがブロック６１２またはブロック６２２のいずれかにおいて決定されると、音符長さは、ブロック６３０において第１の時間位置から始まる音符（または音符開始事象）に割り当てられてもよい。
【００９０】
本発明に従った、ブロック６２０において音符終了位置を識別するための多くの方法が可能であることを理解されるであろう。一実施形態では、音符終了位置は、音符間に休符が存在するかどうかを決定することによって、また音符長さから休符の長さを抽出するために、ブロック６２０において検出される（休符および休符長さの検出は、以下に考察される）。別の実施形態では、音符の包絡線は、音符がその長さを変化させるような方法で演奏されていたかどうか（例えば、スタッカートの形で）を決定するために分析される。
【００９１】
ブロック６２０のさらに別の実施形態では、音符終了位置は、図４Ｂの方法４２０における音符開始位置の検出と同様に検出される。音声入力信号から抽出された振幅情報を使用して、第１の包絡線信号、第２の包絡線信号、および制御信号の全てが生成されてもよい。音符終了位置は、制御信号の振幅が第２の包絡線信号の振幅よりも小さくなる位置を識別することによって決定されてもよい。
【００９２】
多声音楽において、音符が重複する場合があり得ることに注目すべきである。そのようなものとして、第１の音符の終りが第２の音符の始まりの後だが、第２の音符の終りの前にくる状態があり得る。したがって、音符の始まりの後の第１の音符の終りを単に検出することは、その音符に対する適切な終了位置をもたらさない場合がある。そのようなものとして、音符長さをより正確に識別するために、単声トラックを抽出すること（以下に説明されるように）が必要であり得る。
【００９３】
図７は、本発明の実施形態に従った、音符長さ検出での使用のための種々の包絡線を有する音声信号の図解を提供する。例示的グラフ７００は、音声入力信号５０２、第１の包絡線信号５０４、第２の包絡線信号５０６、および制御信号５０８に対する振幅対時間を示す。グラフはまた、制御信号５０８の振幅が第２の包絡線信号５０６の振幅よりも大きくなる音符開始位置７１０、および制御信号５０８の振幅が第２の包絡線信号５０６よりも小さくなる音符終了位置７２０を図示する。
【００９４】
グラフ７００は、音符長さ検出の２つの実施形態をさらに図示する。一実施形態では、第１の音符長さ７３０−１は、第１の音符開始位置７１０−１と第２の音符開始位置７１０−２との間の経過時間を求めることによって決定される。別の実施形態では、第２の音符長さ７４０−１は、第１の音符開始位置７１０−１と第１の音符終了位置７２０−１との間の経過時間を求めることによって決定される。
【００９５】
（休符検出）
図８は、本発明の実施形態に従った、休符の検出のための例示的方法のフロー図を提供する。方法２３０は、ブロック８０２において入力音声信号中の低振幅状態を識別することから始まる。本発明に従った、低振幅状態を識別するための多くの方法が可能であることを理解されるであろう。一実施形態では、ノイズ閾値レベルは、入力音声信号に対するノイズフロア以上のある振幅で設定される。次いで、低振幅状態は、信号の振幅がある所定の時間にわたってノイズ閾値以下のままである入力音声信号の領域として識別されてもよい。
【００９６】
ブロック８０４において、低振幅状態がある領域は、音の高さの信頼度に対して分析される。音の高さの信頼度は、音の高さが（例えば、対象とする音符の一部分として）領域内に存在するという尤度を識別してもよい。音の高さの信頼度が、例えば、上記で音の高さ検出に関連して記載されるような多くの方法で決定されてもよいことを理解されるであろう。
【００９７】
音の高さの信頼度が、信号の低振幅領域においてある音の高さの信頼閾値以下である場合、音符が存在している可能性は極めて低くあり得る。ある実施形態では、音符が存在しない領域は、ブロック８０６において休符を含むように決定される。当然ながら、前述のように、他の音楽的条件が、休符の出現をもたらし得る（例えば、スタッカート音符）。そのようなものとして、いくつかの実施形態では、他の情報（例えば、包絡線情報、楽器識別等）は、休符が存在しているかどうかの決定を精緻化するために使用されてもよい。
【００９８】
（テンポ検出）
一旦音符および休符の位置がわかると、テンポを決定することが望ましくあり得る。テンポは、適応可能な拍の音楽的概念を標準的な時間の物理的概念に適合させ、曲の速度の基準（例えば、どれ位の速さで曲が演奏されるべきか）を本質的に提供する。多くの場合、テンポは、１分当たりの拍数で表され、拍は、ある音符値によって表される。例えば、楽譜は、１拍を４分音符として表してもよく、テンポは、１分間に８４拍（８４ｂｐｍ）であってもよい。この実施例では、指定テンポにおける曲の実行は、８４個の４分音符分の音楽が１分間に演奏される速度で曲を演奏することを意味する。
【００９９】
図９は、本発明の実施形態に従った、テンポの検出のための例示的方法のフロー図を提供する。方法２４０は、ブロック９０２において一式の基準テンポを決定することから始まる。一実施形態では、標準的なメトロノームテンポが使用されてもよい。例えば、典型的なメトロノームは、４ｂｐｍの間隔で４０ｂｐｍから２０８ｂｐｍに及ぶテンポに対して拍子を取るように構成されてもよい（すなわち、４０ｂｐｍ、４４ｂｐｍ、４８ｂｐｍ、．．．２０８ｂｐｍ）。他の実施形態では、他の値および値の間の間隔が使用されてもよい。例えば、一式の基準テンポは、１／４ｂｐｍ間隔で１０ｂｐｍから３００ｂｐｍに及ぶ全てのテンポを含んでもよい（すなわち、１０ｂｐｍ、１０．２５ｂｐｍ、１０．５ｂｐｍ、．．．３００ｂｐｍ）。
【０１００】
次いで、方法２４０は、基準テンポに対する基準音符長さを決定してもよい。基準音符長さは、ある音符値が所与の基準テンポをどれ位長く持続するかを表してもよい。いくつかの実施形態では、基準音符長さは、時間（例えば、秒）で測定されてもよいが、他の実施形態では、基準音符長さは、サンプル数で測定されてもよい。例えば、４分音符が１拍を表すと仮定すると、８４ｂｐｍにおける４分音符は、約０．７１４３秒持続する（すなわち、１分当たり６０秒÷１分当たり８４拍）同様に、１秒当たり４４，１００サンプルのサンプル速度を仮定すると、８４ｂｐｍにおける４分音符は、３１，５００サンプル持続する（すなわち、１秒当たり４４，１００サンプル×１分当たり６０秒÷１分当たり８４拍）。ある実施形態では、いくつかの音符値は、一式の基準音符長さを生成するために、各基準テンポにおいて評価されてもよい。例えば、１６分音符、８分音符、４分音符、および２分音符は全て評価されてもよい。このようにして、理想的音符値は、各基準テンポに対して作成されてもよい。
【０１０１】
方法２４０のいくつかの実施形態では、テンポ抽出窓がブロック９０６において決定されてもよい。テンポ抽出窓は、声入力信号のある連続部分に及ぶ所定または適応時間窓であってもよい。好ましくは、テンポ抽出窓は、多数の音符開始事象に及ぶのに十分広い。そのようなものとして、ブロック９０６のある実施形態は、所定の数の音符開始事象に及ぶように、テンポ抽出窓の幅を適合させる。
【０１０２】
ブロック９０８において、テンポ抽出窓にわたって発生する一式の音符開始事象は、識別または生成される。ある実施形態では、テンポ抽出窓にわたって発生する一式の休符開始位置もまた、識別または生成される。ブロック９１０において、音符開始間隔が抽出される。音符開始間隔は、各音符または休符の開始と後続音符または休符の開始との間に経過する時間を表す。前述のように、音符開始間隔は、音符長さと同一であるか、またはそれと異なってもよい。
【０１０３】
方法２４０は、ブロック９０４において決定された理想的音符値に対して、各抽出された音符開始間隔に対するエラー値を決定することによって、ブロック９２０において続く。一実施形態では、各音符開始間隔は、ブロック９２２において各基準音符長さによって分割される。次いで、結果は、ブロック９２４において音符開始間隔に対する最も近い基準音符長さ（または基準音符長さの倍数）を決定するために使用されてもよい。
【０１０４】
例えば、音符開始間隔は、３５，６５０サンプルであってもよい。種々の基準音符長さによって音符開始間隔を分割するステップ、および差の絶対値を取るステップは、種々の結果をもたらし得、各結果はエラー値を表す。例えば、基準の７２ｂｐｍにおける４分音符（３６，７５０サンプル）と比較される音符開始間隔のエラー値は、約０．０３であり得、基準の７６ｂｐｍにおける８分音符（１７，４０８サンプル）と比較される音符開始間隔のエラー値は、約１．０５であり得る。次いで、最小エラー値は、最も近い基準音符長さ（例えば、この例示的な場合では、７２ｂｐｍにおける４分音符）を決定するために使用されてもよい。
【０１０５】
いくつかの実施形態では、１つ以上のエラー値は、複数の音符開始事象にわたって生成される。一実施形態では、テンポ抽出窓における全ての音符開始事象のエラー値は、最小複合エラー値が決定される前に数学的に統合される。例えば、種々の音符開始事象のエラー値は、合計される、平均化される、あるいはそうでなければ数学的に統合されてもよい。
【０１０６】
一旦エラー値がブロック９２０において決定されると、最小エラー値がブロック９３０において決定される。次いで、最小エラー値と関連した基準テンポが、抽出されたテンポとして使用される。上記の実施例では、最低エラー値は、７２ｂｐｍにおける４分音符の基準音符長さから得られた。そのようなものとして、７２ｂｐｍは、所与の窓にわたる抽出されたテンポとして決定されてもよい。
【０１０７】
一旦テンポが決定されると、音声入力信号中で（または少なくとも信号の窓において）識別された各音符または休符に対して、音符値を割り当てることが望ましくあり得る。図１０は、本発明の実施形態に従った、音符値の決定のための例示的方法のフロー図を提供する。方法２４５は、ブロック１００２において、図９のブロック９３０において抽出されたテンポに対する第２の一式の基準音符長さを決定することから始まる。いくつかの実施形態では、第２の一式の基準音符長さは、第１の一式の基準音符長さと同一である。これらの実施形態では、第２の一式は、第１の一式の基準音符長さのサブセットとして単に抽出されてもよいことを理解されるであろう。他の実施形態では、第１の一式の基準音符長さが、考えられる音符値のサブセットのみを含む一方で、第２の一式の基準音符長さは、抽出されたテンポに対するより完全な一式の考えられる音符長さを含む。
【０１０８】
ブロック１００４において、方法２４５は、音声入力信号から抽出されるような、窓における音符開始事象に対する受信された音符長さを生成および識別してもよい。受信された音符長さは、第２の一式の基準音符長さによって表される理想的長さとは対照的に、窓にわたって発生する音符および休符の実際の長さを表してもよい。ブロック１００６において、受信された音符長さは、最も近い基準音符長さ（または基準音符長さの倍数）を決定するために基準音符長さと比較される。
【０１０９】
次いで、最も近い基準音符長さは、音符または休符にその音符値として割り当てられてもよい。一実施例では、受信された音符長さは、約１．０１の基準の４分音符であると決定され、１つの４分音符の音符値が割り当てられてもよい。別の実施例では、受信された音符長さは、約１．５１の基準の８分音符であると決定され、１つの付点８分音符（または１６分音符にタイで結ばれた８分音符）の音符値が割り当てられる。
【０１１０】
図１２は、この例示的テンポ検出方法を図示する例示的データのグラフを提供する。グラフ１２００は、１分当たりの拍数でテンポに対する複合エラー値を示す。四角点１２０２は、基準の４分音符の使用からのエラー値を表し、ひし形点１２０４は、基準の８分音符の使用からのエラー値を表す。例えば、グラフ１２００上の第１の四角点１２０２−１は、７２ｂｐｍにおける基準の４分音符と比較される一式の音符開始間隔にわたって、約３．３のエラー値が生成されたことを図示する。
【０１１１】
グラフ１２００は、４分音符の基準長さ１２１０−１に対する最小エラーおよび８分音符の基準長さ１２１０−２に対する最小エラーの両方が、８４ｂｐｍで生成されたことを図示する。これは、音声入力信号の窓にわたって、抽出されたテンポが８４ｂｐｍであることを示唆し得る。
【０１１２】
図１１は、図１２に示される例示的テンポ検出方法を図示する追加の例示的データを提供する。一式の音符開始間隔１１０２の一部分は、７，８８１から６３，０１２サンプルに及ぶサンプル数で測定されることが示される。音符開始間隔１１０２は、一式の基準音符長さ１１０４に対して評価されるものとする。基準音符長さ１１０４は示されるように、８つの基準テンポにわたって４つの音符値の秒およびサンプルの両方の長さを含む（１秒当たり４４，１００サンプルのサンプル速度を仮定すると）。図１２に示されるように、抽出されたテンポは、８４ｂｐｍであると決定される。８４ｂｐｍの基準テンポ１１０６に関する基準音符長さが抽出され、音符開始間隔と比較される。最も近い基準音符長さ１１０８が識別される。次いで、これらの長さは、音符値１１１０を各音符開始間隔（または各音符開始間隔において始まる各音符の長さ）に割り当てるために使用されてもよい。
【０１１３】
（調検出）
音声入力信号の一部分の調の決定は、有用な楽譜出力を生成するために重要であり得る。例えば、調の決定は、曲の一部分に対する調号を提供し得、どこで音符が臨時記号によって識別されるべきかを識別し得る。しかしながら、調の決定は、いくつかの理由によって困難であり得る。
【０１１４】
一理由は、曲が、多くの場合、調を移動することである（例えば、転調によって）。例えば、ロックの曲は、Ｇメジャーの調のバースを有し、各コーラスに対してＣメジャーの調に転調し、ブリッジの間にＤマイナーにさらに転調する。別の理由は、曲が、多くの場合、いくつかの臨時記号（「調にない」音符）を含むことである。例えば、Ｃメジャーの曲（シャープもフラットも含まない）は、音符フレーズにカラーまたは緊張感を加えるためにシャープまたはフラットを使用し得る。さらに別の理由は、曲が、多くの場合、フレーズがある種の複合調を示す、調の間の移行期間を有することである。これらの複合状態において、いつ調が変化するか、または音楽のどの部分がどの調に属するかを決定することは困難であり得る。例えば、ＣメジャーからＦメジャーへの移行の間に、曲は、Ｂフラットを繰り返し使用し得る。これは、Ｆの調ではなくＣメジャーの調において臨時記号として表れる。したがって、楽譜表示１７０が、臨時記号を不正確に反映するか、または調の間で繰り返し突然変更しないように、どこで転調が発生するかを決定することが望ましくあり得る。調の決定が困難であり得るさらに別の理由は、複数の調が同一の調号を有し得ることである。例えば、Ｃメジャー、Ａマイナー、またはＤドリアンのいずれにおいても、シャープもフラットもない。
【０１１５】
図１３は、本発明の実施形態に従った、調の検出のための例示的方法のフロー図を提供する。方法２５０は、ブロック１３０２において一式の調の費用関数を決定することから始まる。費用関数は、例えば、特定の時間窓にわたって一曲中の臨時記号の数を最小限に抑えるようにしてもよい。
【０１１６】
図１４Ａおよび１４Ｂは、本発明の実施形態に従った、調検出における２つの例示的な調の費用関数の使用についての図解を提供する。図１４Ａにおいて、調の費用関数１４００は、種々の調における一連の全音階に基づいている。「１」の値は、その調に対する全音階にある全ての音符に対して与えられ、「０」の値は、その調に対する全音階にない全ての音符に対して与えられる。例えば、Ｃメジャーの調は以下の全音階を含む：Ｃ−Ｄ−Ｅ−Ｆ−Ｇ−Ａ−Ｂ。したがって、費用関数１４００の第１の列１４０２−１は、それらの音符のみに対して「１」を示す。
【０１１７】
図１４Ｂにおいて、調の費用関数１４５０もまた、種々の調における一連の全音階に基づいている。図１４Ａの費用関数１４００とは異なり、図１４Ｂの費用関数１４５０は、所与の調における全ての１度、３度、および５度の音階音に対して「２」の値を割り当てる。依然として、「１」の値は、その調に対する全音階にある全ての他の音符に対して与えられ、「０」の値は、その調に対する全音階にない全ての音符に対して与えられる。例えば、Ｃメジャーの調は、全音階、Ｃ−Ｄ−Ｅ−Ｆ−Ｇ−Ａ−Ｂを含み、１度の音階音はＣであり、３度の音階音はＥであり、５度の音階音はＧである。したがって、費用関数１４５０の第１の列１４５２−１は、２−０−１−０−２−１−０−２−０−１−０−１を示す。
【０１１８】
この費用関数１４５０は、いくつかの理由で有用であり得る。一つの理由は、多くの音楽ジャンル（例えば、フォーク、ロック、クラシック等）において、１度、３度、および５度の音階音は、聴取者におけるある調の感覚の作成に心理音響的意義を有する傾向があることである。そのようなものとして、費用関数をそれらの音符に向かってより重く重み付けすることは、ある場合における調の決定の正確性を高め得る。この費用関数１４５０を使用する別の理由は、同様の調号を有する調を区別することであり得る。例えば、Ｃメジャー、Ｄドリアン、Ｇミクソリディアン、Ａマイナー、および他の調は全て、シャープもフラットも含まない。しかしながら、これらの調の各々は、他の各々とは異なる１度、３度、および／または５度の音階音を有する。したがって、スケールにおける全ての音符の均等な重み付けは、これらの調の存在の間の差をほとんど示さない場合があるが（有意な心理音響的差があり得ても）、調整された重み付けは、調の決定を改善することができる。
【０１１９】
異なる理由で費用関数に他の調整が行われてもよいことが理解されるであろう。一実施形態では、費用関数は、音声入力信号（例えば、ユーザ、音声ファイル内のヘッダ情報等から受信される）のジャンルを反映するために異なって重み付けされてもよい。例えば、ブルースの費用関数は、調の全音階よりもむしろ５音音階に従って、音符をより重く重み付けしてもよい。
【０１２０】
図１３を再び参照すると、調抽出窓は、ブロック１３０４において決定されてもよい。調抽出窓は、音声入力信号のある連続部分に及ぶ所定または適応時間窓であってもよい。好ましくは、調抽出窓は、多数の音符開始事象に及ぶのに十分広い。そのようなものとして、ブロック１３０４のある実施形態は、所定の数の音符開始事象に及ぶように、テンポ抽出窓の幅を適合させる。
【０１２１】
ブロック１３０６において、調抽出窓にわたって発生する一式の音符開始事象は、識別または生成される。次いで、各音符開始事象に対する音の高さが、ブロック１３０８において決定される。音の高さは、ブロック１３０８において、前述の音の高さ決定方法を含む任意の効果的な方法で決定されてもよい。音符開始事象は時間位置を表すため、厳密にはその時間位置に音の高さがあることは不可能である（音の高さ決定は、ある時間長を必要とする）ことを理解されるであろう。そのようなものとして、音符開始における音の高さは、概して、音符開始事象に続く音符長さと関連した音の高さを意味する。
【０１２２】
ブロック１３１０において、各音の高さは、一式のエラー値を生成するために、各費用関数に対して評価されてもよい。例えば、音声入力信号の窓に対する音の高さの配列は、以下のようであるとする：Ｃ−Ｃ−Ｇ−Ｇ−Ａ−Ａ−Ｇ−Ｆ−Ｆ−Ｅ−Ｅ−Ｄ−Ｄ−Ｃ。図１４Ａにおける費用関数１４００の第１の列１４０２−１に対するこの配列の評価は、１＋１＋１＋１＋１＋１＋１＋１＋１＋１＋１＋１＋１＋１＝１４のエラー値をもたらし得る。図１４Ａにおける費用関数１４００の第３の列１４０２−２に対する配列の評価は、０＋０＋１＋１＋１＋１＋１＋０＋０＋１＋１＋１＋１＋０＝９のエラー値をもたらし得る。重要なことには、図１４Ａにおける費用関数１４００の第４の列１４０２−３に対する配列の評価は、第１の列１４０２−１が使用された時と同一の１４のエラー値をもたらし得る。このデータを使用して、音の高さの配列がＤメジャーの調にある可能性は比較的低いと思われるが、ＣメジャーまたはＡマイナー（同一の調号を共有する）のどちらが、より可能性のある候補かを決定することは不可能である。
【０１２３】
図１４Ｂにおける費用関数１４５０の使用は、異なる結果をもたらす。第１の列１４５２−１に対する配列の評価は、２＋２＋２＋２＋１＋１＋２＋１＋１＋２＋２＋１＋１＋２＝２２のエラー値をもたらし得る。第３の列１４５２−２に対する配列の評価は、０＋０＋１＋１＋２＋２＋１＋０＋０＋２＋２＋１＋１＋０＝１３のエラー値をもたらし得る。重要なことには、第４の列１４５２−３に対する配列の評価は、第１の列１４５２−１が使用された時に得られた２２のエラー値よりも１小さい、２＋２＋１＋１＋２＋２＋１＋１＋１＋２＋２＋１＋１＋２＝２１のエラー値をもたらし得る。このデータを使用して、音の高さの配列がＤメジャーの調にある可能性は、依然として比較的低いと思われるが、ここでは、配列が、ＡマイナーよりもＣメジャーにある可能性がわずかに高いと思われる。
【０１２４】
上記に考察される費用関数（例えば、１４００および１４５０）は、非ゼロ値が調内の音符に割り当てられるという事実によって、受信された音符が所与の調にある可能性がより高い時に、より高い結果をもたらす。しかしながら、他の実施形態は、費用関数の基準に従って、「調の最大量」である音の高さに「０」を割り当てる可能性がある。費用関数のこれらの他の実施形態の使用は、あまり一致しない調に対するより高い数をもたらし、それによって、より直感的なエラー値に成り得るものを生成する可能性がある（すなわち、より高いエラー値は、より悪い一致を表す）。
【０１２５】
ブロック１３１２において、異なる調の費用関数に対する種々のエラー値は、音の高さの配列との最良一致を有する調を得るために比較される。前述のように、費用関数の定式化に応じて、いくつかの実施形態では、これは、最高結果（すなわち、最良一致）を求めるステップを伴い得るが、他の実施形態では、これは、最低結果（すなわち、最低一致エラー）を求めるステップを伴い得る。
【０１２６】
調の決定の他の方法が、本発明に従って可能であることは注目すべきである。いくつかの実施形態では、人工ニューラルネットワークは、複雑な調の決定を行うか、または精緻化するために使用されてもよい。他の実施形態では、転調の配列は、調の決定を精緻化するために、費用関数に対して評価されてもよい。例えば、方法２５０は、Ｃメジャー−Ｆメジャー−Ｇメジャー−Ｃメジャーというパターンの音声入力信号中の一連の調を検出してもよい。しかしながら、いくつかのＢナチュラルの検出によって、Ｆメジャーの検出における信頼度は制限され得る（Ｆのシャープ４度は、ほとんどの音楽ジャンルにおいてあまりない音符）。Ｆメジャーとして識別された調が、Ｃメジャーで開始および終了する曲のＧメジャーにおける部分に先行すると考えると、臨時的なＢナチュラルの存在でさえ、調の決定がより適合する選択（例えば、ＤドリアンまたはＤマイナーでさえ）に修正されるべきであることを示唆し得る。
【０１２７】
一旦調が決定されると、調の音の高さの指定を各音符開始事象における音符に適合させることが望ましくあり得る（少なくとも、調抽出窓内で発生するそれらの開始事象に対して）。図１５は、本発明の実施形態に従った、調の音の高さの指定の決定のための例示的方法のフロー図を提供する。方法２５５は、ブロック１５０２において、抽出された調に対する一式の基準の音の高さを生成することから始まる。
【０１２８】
考えられる音の高さは、全ての調に対して同一であってもよいことに注目すべきである（例えば、特に、現代のチューニング基準を考慮して）。例えば、ピアノの各オクターブにおける全ての１２個の半音階音符は、いかなる調でも演奏され得る。違いは、それらの音の高さが楽譜上でどのように表されるかであり得る（例えば、異なる調は、同一の音の高さに異なる臨時記号を割り当て得る）。例えば、Ｃメジャーにおけるピアノの「白鍵」に対する調の音の高さは、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ａ、およびＢと指定され得る。Ｄメジャーにおける同一の一式の調の音の高さは、Ｃナチュラル、Ｄ、Ｅ、Ｆナチュラル、Ｇ、Ａ、およびＢと指定され得る。
【０１２９】
ブロック１５０４において、各抽出された音の高さに対する最も近い基準の音の高さは、その音符に対する調の音の高さの決定のために決定および使用される。次いで、調の音の高さの決定は、ブロック１５０６において音符（または音符開始事象）に割り当てられてもよい。
【０１３０】
（例示的ハードウェアシステム）
前述のシステムおよび方法は、いくつかの方法で実行されてもよい。そのような一実装は、種々の電子的構成要素を含む。例えば、図１Ｂにおけるシステムのユニットは、個々に、または集合的に、ハードウェアにおける適用可能な機能の一部または全てを実行するように適合される、１つ以上の特定用途向け集積回路（ＡＳＩＣ）で実装されてもよい。代替として、機能は、１つ以上の集積回路上の１つ以上の他の処理ユニット（またはコア）によって実行されてもよい。他の実施形態では、他の種類の集積回路が使用されてもよく（例えば、Ｓｔｒｕｃｔｕｒｅｄ／Ｐｌａｔｆｏｒｍ  ＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および他のセミカスタムＩＣ）、当技術分野において既知の任意の方法でプログラムされてもよい。各ユニットの機能はまた、１つ以上の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされる、メモリ内に統合された命令で、全体的または部分的に実行されてもよい。
【０１３１】
図１６は、本発明のある実施形態を実装するためのコンピュータによるシステム１６００のブロック図を提供する。一実施形態では、計算システム１６００は、図１Ａに示されるシステム１００として機能してもよい。図１６は、種々の構成要素の一般化した図解を提供することのみを意図され、種々の構成要素のいずれかまたは全ては、必要に応じて利用されてもよいことに留意されたい。したがって、図１６は、個々のシステム要素が、比較的分離された方法または比較的より統合された方法で、どのように実装され得るのかを広く図示する。
【０１３２】
コンピュータシステム１６００は、バス１６２６を介して電気的に連結されることができる（またはそうでなければ、必要に応じて通信してもよい）ハードウェア要素を備えることが示される。ハードウェア要素は、１つ以上の汎用プロセッサおよび／または１つ以上の特殊用途プロセッサ（デジタル信号処理チップ、グラフィック加速チップ等）を含むがこれに限定されない、１つ以上のプロセッサ１６０２、マウス、キーボード等を含むがこれに限定されない、１つ以上の入力デバイス１６０４、ならびにディスプレイデバイス、プリンタ等を含むがこれに限定されない、１つ以上の出力デバイス１６０６を含むことができる。
【０１３３】
コンピュータによるシステム１６００は、ローカルおよび／もしくはネットワークアクセス可能ストレージを含むことができるがこれに制限されない、ならびに／またはプログラム可能、フラッシュ更新可能であることができる、ディスクドライブ、ディスクアレイ、光学式記憶デバイス、ランダムアクセスメモリ（「ＲＡＭ」）等の半導体記憶デバイス、および／もしくは読み取り専用メモリ（「ＲＯＭ」）等を含むことができるがこれに制限されない、１つ以上の記憶デバイス１６０８をさらに含んでもよい（および／またはそれらと通信してもよい）。コンピュータによるシステム１６００はまた、モデム、ネットワークカード（ワイヤレスまたは有線）、赤外線通信デバイス、ワイヤレス通信デバイスおよび／またはチップセット（Ｂｌｕｅｔｏｏｔｈデバイス、８０２．１１デバイス、ＷｉＦｉデバイス、ＷｉＭａｘデバイス、移動体通信機器等）等を含むことができるがこれに制限されない、通信サブシステム１６１４を含み得る。通信サブシステム１６１４は、データが、ネットワーク（一例を挙げると、以下に記載されるネットワーク等）、および／または本明細書に記載される他の任意のデバイスと交換されることを可能にしてもよい。多くの実施形態では、コンピュータによるシステム１６００は、前述のようなＲＡＭまたはＲＯＭデバイスを含むことができる、作業メモリ１６１８をさらに備える。
【０１３４】
コンピュータによるシステム１６００はまた、本明細書に記載されるような、本発明のコンピュータプログラムを備えてもよい、ならびに／または本発明の方法を実行するように、および／もしくは本発明のシステムを構成するように設計されてもよい、オペレーティングシステム１６２４および／または１つ以上のアプリケーションプログラム１６２２等の他のコードを含む、作業メモリ１６１８内に現在位置するように示されるソフトウェア要素を備えてもよい。ほんの一例として、上記に考察される方法に関して記載される１つ以上の手順は、コンピュータ（および／またはコンピュータ内のプロセッサ）によって実行されるコードおよび／または命令として実行され得る。一式のこれらの命令および／またはコードは、コンピュータ可読記憶媒体１６１０ｂに記憶され得る。いくつかの実施形態では、コンピュータ可読記憶媒体１６１０ｂは、前述の記憶デバイス１６０８である。他の実施形態では、コンピュータ可読記憶媒体１６１０ｂは、コンピュータシステム内に組み込まれ得る。さらに他の実施形態では、コンピュータ可読記憶媒体１６１０ｂは、コンピュータシステムから分離され得るか（すなわち、コンパクトディスク等の取り外し可能な媒体）、記憶媒体が、そこに記憶される命令／コードで汎用コンピュータをプログラムするために使用されることができるように、インストールパッケージで提供され得る。これらの命令は、コンピュータシステム１６００によって実行可能な実行可能コードの形を取り得、ならびに／またはコンピュータシステム１６００上でのコンパイルおよび／もしくはインストールによって（例えば、種々の一般に利用可能なコンパイラ、インストールプログラム、圧縮／解凍ユーティリティ等のいずれかを使用して）、次いで実行可能コードの形を取る、ソースおよび／またはインストール可能コードの形を取り得る。これらの実施形態では、コンピュータ可読記憶媒体１６１０ｂは、コンピュータ可読記憶媒体リーダ１６１０ａによって読み取られてもよい。
【０１３５】
特定の要件に従って実質的な変更が行われてもよいことは、当業者には明らかとなるであろう。例えば、カスタマイズされたハードウェアもまた使用され得、および／または特定の要素が、ハードウェア、ソフトウェア（アプレット等の携帯型ソフトウェア）、または両方に実装され得る。さらに、ネットワーク入力／出力デバイス等の他の計算デバイスへの接続が採用されてもよい。
【０１３６】
いくつかの実施形態では、入力デバイス１６０４のうちの１つ以上は、オーディオインターフェース１６３０と連結されてもよい。オーディオインターフェース１６３０は、例えば、物理的、光学的、電磁的に等、マイクロホン、楽器、デジタルオーディオデバイス、または他の音声信号もしくはファイルソースとインターフェースを取るように構成されてもよい。さらに、いくつかの実施形態では、出力デバイス１６０６のうちの１つ以上は、ソース転写インターフェース１６３２と連結されてもよい。ソース転写インターフェース１６３２は、本発明の実施形態によって生成される楽譜表示データを、そのデータを処理することが可能な１つ以上のシステムに出力するように構成されてもよい。例えば、ソース転写インターフェースは、楽譜転写ソフトウェア、楽譜出版システム、スピーカ等とインターフェースを取るように構成されてもよい。
【０１３７】
一実施形態では、本発明は、本発明の方法を実行するために、コンピュータシステム（コンピュータによるシステム１６００等）を採用する。一式の実施形態に従って、そのような方法の手順の一部または全ては、作業メモリ１６１８に含まれる１つ以上の命令（オペレーティングシステム１６２４および／またはアプリケーションプログラム１６２２等の他のコードに組み込まれ得る）の１つ以上のシーケンスを実行するプロセッサ１６０２に反応して、コンピュータによるシステム１６００によって実行される。そのような命令は、記憶デバイス１６０８（または１６１０）のうちの１つ以上等の別の機械可読媒体から、作業メモリ１６１８に読み込まれてもよい。ほんの一例として、作業メモリ１６１８に含まれる命令のシーケンスの実行は、プロセッサ１６０２に、本明細書に記載される方法の１つ以上の手順を実行させ得る。
【０１３８】
ここで使用される「機械可読媒体」および「コンピュータ可読媒」という用語は、機械に特定の方法で動作させるデータの提供に関与する任意の媒体を意味する。コンピュータによるシステム１６００を使用して実装される一実施形態では、種々の機械可読媒体は、実行のためのプロセッサ１６０２への命令／コードの提供に関与し得、ならびに／またはそのような命令／コードを（例えば、信号として）記憶および／もしくは搬送するために使用され得る。多くの実装において、コンピュータ可読媒体は、物理的および／または有形記憶媒体である。そのような媒体は、不揮発性媒体、揮発性媒体および伝送媒体を含むがこれに限定されない、多くの形態を取ってもよい。不揮発性媒体は、例えば、記憶デバイス（１６０８または１６１０）等の光または磁気ディスクを含む。揮発性媒体は、作業メモリ１６１８等のダイナミックメモリを含むがこれに限定されない。伝送媒体は、バス１６２６を備えるワイヤを含む、同軸ケーブル、銅線、および光ファイバ、ならびに通信サブシステム１６１４の種々の構成要素（および／または通信サブシステム１６１４が他のデバイスとの通信を提供する媒体）を含む。
【０１３９】
物理的および／または有形コンピュータ可読媒体の一般的な形態は、例えば、フロッピィディスク、フレキシブルディスク、ハードディスク、磁気テープもしくは他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他の任意のメモリチップもしくはカートリッジ、以下に記載される搬送波、またはコンピュータが命令および／もしくはコードを読み出すことができる他の任意の媒体を含む。
【０１４０】
機械可読媒体の種々の形態は、実行のためのプロセッサ１６０２への１つ以上の命令の１つ以上のシーケンスの搬送に関与してもよい。ほんの一例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび／または光ディスクで搬送されてもよい。リモートコンピュータは、そのダイナミックメモリにメモリをロードし、コンピュータによるシステム１６００によって受信および／または実行されるように、伝送媒体で命令を信号として送信し得る。電磁信号、音響信号、光信号等の形態であり得るこれらの信号は全て、本発明の種々の実施形態に従った、命令がエンコードされることができる搬送波の実施例である。
【０１４１】
通信サブシステム１６１４（および／またはそのコンポーネント）は、概して、信号を受信し、次いで、バス１６２６が、信号（および／または信号によって実行されるデータ、命令等）を作業メモリ１６１８に搬送し得て、そこから、プロセッサ１６０２は命令を取出し、実行する。作業メモリ１６１８によって受信される命令は、随意に、プロセッサ１６０２による実行の前または後のいずれかに、記憶デバイス１６０８に記憶されてもよい。
【０１４２】
（他の能力）
前述のものに加えて、多くの他の処理能力が可能であることが理解されるであろう。一式の追加処理能力は、ユーザに提供されるカスタマイズの可能性の量を増加させることを伴う。例えば、実施形態は、本発明の種々の構成要素および方法の強化されたカスタマイズ可能性を可能にし得る。
【０１４３】
いくつかの実施形態では、種々の閾値、窓、および構成要素および方法への他の入力は各々、種々の理由で調整可能であってもよい。例えば、ユーザは、調の決定があまりに多く行われていると思われる場合、調抽出窓を調整することが可能であってもよい（例えば、ユーザは、調からの短時間の逸脱が楽譜上で転調として表れることを望まない場合がある）。別の実施例として、録音は、録音している演奏の間に使用される６０Ｈｚの電力からもたらされる背景ノイズを含み得る。ユーザは、この６０Ｈｚの音の高さを無視し、それを楽譜上で低音として表さないように、種々のフィルタアルゴリズムを調整することを望み得る。さらに別の実施例では、ユーザは、音の高さの分解能を調整するために、音の高さが量子化される音楽ビンの分解能を調整してもよい。
【０１４４】
他の実施形態では、より小さいカスタマイズの可能性がユーザに提供されてもよい。一実施形態では、ユーザは、表示正確性レベルを調整することが可能であってもよい。ユーザは、テンポおよび音の高さ等の、個々の楽譜表示要素に対する正確性の選択を含む１つ以上のパラメータに基づいて、より正確な楽譜表示、またはあまり正確ではない楽譜表示を生成するべきかどうかを入力してもよい（例えば、物理または仮想スライダ、ノブ、スイッチ等を介した）。
【０１４５】
例えば、いくつかの内部設定は、最小音符値が１６分音符であるように協働してもよい。表示正確性を調整することによって、より長い長さまたはより短い長さが検出され、最小値として表されてもよい。これは、演奏者が一定の拍に厳密に合わせて演奏しておらず（例えば、打楽器部がない、メトロノームがない等）、感度の良すぎるシステムが望ましくない表示をもたらし得る（例えば、３付点音符）場合に有用であり得る。別の実施例として、いくつかの内部設定は、最小の音の高さの変化が、半音（すなわち、半音階上の音符）であるように協働してもよい。
【０１４６】
さらに他の実施形態では、さらに小さいカスタマイズの可能性がユーザに提供されてもよい。一実施形態では、ユーザは、自分が初心者ユーザまたは上級ユーザであるかどうかを入力してもよい。別の実施形態では、ユーザは、システムが高感度または低感度を有するべきかどうかを入力してもよい。いずれの実施形態でも、多くの構成要素または方法における多くの異なるパラメータは、所望のレベルに適合するように合わせて調整されてもよい。例えば、ある場合においては、歌手は、音の高さおよび長さにおけるすべての変動を正確に転写することを望み得るが（例えば、誤りを見つけるための練習補助として、またはその全ての感性の機微を有して特定の演奏を忠実に再生するために）、別の場合においては、歌手は、システムに小さい偏差を無視させることによって、出版のために読みやすい楽譜を生成することを望み得る。
【０１４７】
別の一式の追加処理能力は、入力音声信号の処理を精緻化するか、またはそうでなければ入力音声信号の処理に影響を与えるために、異なる種類の入力を使用するステップを伴う。一実施形態は、ある決定を精緻化するために、１つ以上の訓練された人工ニューラルネットワーク（ＡＮＮ）を使用する。例えば、心理音響的決定（例えば、拍子、調、楽器編成等）は、訓練されたＡＮＮの使用によく適している可能性がある。
【０１４８】
別の実施形態は、複数のトラックを重ねる能力をユーザに提供する（例えば、一人バンド）。ユーザは、ドラムトラックを演奏することから始めてもよく、本発明のシステムを使用してリアルタイムで処理される。次いで、ユーザは、ギタートラック、キーボードトラック、およびボーカルトラックを連続的に演奏してもよく、各々は処理される。ある場合には、ユーザは、合わせて処理するために複数のトラックを選択しても良く、他の場合には、ユーザは、各トラックが別々に処理されるように選択してもよい。次いで、いくつかのトラックからの情報は、他のトラックの処理を精緻化または指示するために使用されてもよい。例えば、ドラムトラックは、高信頼度のテンポおよび拍子情報を生成するために、独立して処理されてもよい。次いで、テンポおよび拍子情報は、音符長さおよび音符値をより正確に決定するために、他のトラックと使用されてもよい。別の実施例として、ギタートラックは、小さい時間窓にわたって多くの音の高さを提供してもよく、調を決定することをより容易にし得る。次いで、調の決定は、キーボードトラックにおける音符に調の音の高さの決定を割り当てるために使用されてもよい。さらに別の実施例として、複数のトラックは、１つ以上の側面において配列、量子化、または正規化されてもよい（例えば、トラックは、同一のテンポ、平均音量、音の高さの範囲、音の高さの分解能、最小音符長さ等を有するように正規化されてもよい）。さらに、「一人バンド」のいくつかの実施形態では、ユーザは、音声信号を生成するために１つの楽器を使用し、次いで、異なる１つの楽器または複数の楽器に変換するためにシステムまたは方法を使用してもよい（例えば、キーボードを使用して四重奏の４つ全てのトラックを演奏し、キーボード入力を弦楽四重奏に変換するためにシステムを使用する）。ある場合には、これは、音色を調整するステップ、音楽のラインを移調するステップ、および他の処理を伴ってもよい。
【０１４９】
さらに別の実施形態は、処理を精緻化または指示するために、音声入力信号の外部からの入力を使用する。一実施形態では、ジャンル情報は、種々の費用関数を精緻化するために、ユーザ、別のシステム（例えば、コンピュータシステムもしくはインターネット）、またはデジタル音声ファイル内のヘッダ情報のいずれかから受信される。例えば、調の費用関数は、ブルース、インディアンクラシック、フォーク等に対して異なり得るか、または異なる楽器編成は、異なるジャンルにおいてよりふさわしくあり得る（例えば、「オルガンのような」音は、賛美歌音楽においてはオルガンである可能性が高く、ポルカ音楽においてはアコーディオンである可能性が高くあり得る。
【０１５０】
第３の一式の追加処理能力は、複雑な決定を精緻化するために、複数の構成要素または方法にわたる情報を使用するステップを伴う。一実施形態では、楽器識別方法の出力は、既知の能力または識別された楽器の制限に基づいて決定を精緻化するために使用される。例えば、楽器識別方法が、音楽のラインがピアノによって演奏されている可能性が高いと決定するとする。しかしながら、音の高さの識別方法は、音楽のラインが速く浅いビブラートを含むと決定する（例えば、検出された調の音の高さの指定の１つまたは２つの半音のみにおける音の高さの震え）。これは、典型的には、ピアノで生成するために可能なエフェクトではないため、システムは、ラインが別の楽器によって演奏されていると決定し得る（例えば、電子キーボードまたはオルガン）。
【０１５１】
多くのそのような追加処理能力が本発明に従って可能であることを理解されるであろう。さらに、上記に考察される方法、システム、およびデバイスは、実施例であることのみを目的とすることに留意されたい。種々の実施形態は、必要に応じて種々の手順または構成要素を省略、置換、または追加してもよいことは強調されなければならない。例えば、代替実施形態において、方法は、記載されるものとは異なる順序で実行されてもよく、種々のステップは、追加、省略、または組み合わされてもよいことを理解されたい。また、ある実施形態に関して記載される機能は、種々の他の実施形態に組み合わされてもよい。実施形態の異なる側面および要素は、同様の方法で組み合わされてもよい。また、技術は発達し、したがって、要素の多くは、実施例であり、本発明の範囲を制限すると解釈されるべきではないことは強調されるべきである。
【０１５２】
実施形態の完全な理解を提供するために、発明を実施するための形態において具体的な詳細が示される。しかしながら、実施形態は、これらの具体的な詳細なしで実施されてもよいことは、当業者によって理解されるであろう。例えば、よく知られている回路、プロセス、アルゴリズム、構造、および技術は、実施形態を曖昧にすることを回避するために、不必要な詳細なしで示されてきた。さらに、本明細書に提供される見出しは、種々の実施形態の説明の明確さを促進することのみを目的としており、本発明の範囲、または本発明のいかなる部分の機能性を制限するものと解釈されるべきではない。例えば、ある方法または構成要素は、異なる見出しで記載されるとしても、他の方法または構成要素の一部として実行されてもよい。
【０１５３】
また、実施形態は、フロー図またはブロック図として図示されるプロセスとして記載され得ることに留意されたい。各々は、順次プロセスとしての動作を説明し得るが、動作の多くは、同時に、または並行して実行されることができる。加えて、動作の順序は並べ替えられてもよい。プロセスは、図面に含まれない追加ステップを有してもよい。
【図１Ａ】
2010518428.tif 000003
【図１Ｂ】
2010518428.tif 000004
【図２】
2010518428.tif 000005
【図３】
2010518428.tif 000006
【図４Ａ】
2010518428.tif 000007
【図４Ｂ】
2010518428.tif 000008
【図５】
2010518428.tif 000009
【図６】
2010518428.tif 000010
【図７】
2010518428.tif 000011
【図８】
2010518428.tif 000012
【図９】
2010518428.tif 000013
【図１０】
2010518428.tif 000014
【図１１】
2010518428.tif 000015
【図１２】
2010518428.tif 000016
【図１３】
2010518428.tif 000017
【図１４Ａ】
2010518428.tif 000018
【図１４Ｂ】
2010518428.tif 000019
【図１５】
2010518428.tif 000020
【図１６】
2010518428.tif 000021
【国際調査報告】
2010518428.tif 000022
2010518428.tif 000023
2010518428.tif 000024
2010518428.tif 000025
2010518428.tif 000026