(57)【特許請求の範囲】
【請求項１】
オーディオ信号中の音楽アクセントを表す第１のアクセント信号（a1）を生成するための第１のアクセント信号モジュールと、
前記オーディオ信号中の音楽アクセントを表す第２の異なるアクセント信号（a2）を生成するための第２のアクセント信号モジュールと、
前記第１のアクセント信号から第１のビート時間シーケンス（b1）を推定するための第１のビートトラッキングモジュールと、
前記第２のアクセント信号から第２のビート時間シーケンス（b2）を推定するための第２のビートトラッキングモジュールと、
前記第１及び第２のビート時間シーケンス（b1）（b2）のいずれが前記アクセント信号の一方又は両方の中のピークに最も近く対応しているかを特定するためのシーケンス選択器と、
を備える装置であって、更に、
前記オーディオ信号の推定テンポ（BPMest）を前記第１のアクセント信号（a1）を用いて生成するように構成されたテンポ推定器と、
前記推定テンポ（BPMest）の整数表現を取得するための手段と、
を備え、前記第２のビートトラッキングモジュールは、前記第２のアクセント信号（a2）及び前記整数表現を用いて前記第２のビート時間シーケンス（b2）を生成するように構成される、
装置。
【請求項２】
前記第１のアクセント信号モジュールが、基本周波数（f0）サリエンス分析に基づいてクロマアクセント特性を抽出することによって前記第１のアクセント信号（a1）を生成するように構成されている、請求項１に記載の装置。
【請求項３】
前記第１のビートトラッキングモジュールが、前記第１のアクセント信号（a1）及び前記推定テンポ（BPMest）を用いて前記第１のビート時間シーケンスを推定するように構成されている、請求項１又は２に記載の装置。
【請求項４】
前記第２のアクセント信号モジュールが、前記オーディオ信号の帯域幅の所定のサブバンドを用いて前記第２のアクセント信号（a2）を生成するように構成されている、請求項１から３の何れかに記載の装置。
【請求項５】
前記第２のアクセント信号モジュールが、２００Ｈｚ未満の所定のサブバンドを用いて前記第２のアクセント信号（a2）を生成するように構成されている、請求項４に記載の装置。
【請求項６】
前記第２のアクセント信号モジュールが、前記オーディオ信号のマルチレートフィルタバンク分解を実行し、前記フィルタの所定の１つからの出力を用いてアクセント信号を生成することによって前記第２のアクセント信号（a2）を生成するように構成されている、請求項４又は請求項５に記載の装置。
【請求項７】
前記推定テンポ（BPMest）の前記整数表現が、四捨五入テンポ推定関数（round(BPMest)）、テンポ推定天井関数（ceil(BPMest)）、テンポ推定床関数（floor(BPMest)）のいずれかを用いて計算される、請求項１から６のいずれかに記載の装置。
【請求項８】
天井関数及び床関数を前記推定テンポ（BPMest）に対して実行してそれぞれ切り上げテンポ推定値（ceil(BPMest)）及び切り下げテンポ推定値（floor(BPMest)）を生成する手段をさらに備え、前記第２のビートトラッキングモジュールは、前記第２のアクセント信号（a2）及び前記切り上げ及び切り下げテンポ推定値の別々のものを用いて第２及び第３のビート時間シーケンス（b2）（b3）を生成するように構成されており、前記シーケンス選択器は、前記第１、第２、第３のビート時間シーケンスのいずれが前記アクセント信号の一方または両方の中のピークに最も近く対応しているかを特定するように構成されている、請求項１から７の何れかに記載の装置。
【請求項９】
前記第２のビートトラッキングモジュールは、前記切り上げ及び切り下げテンポ推定値のそれぞれについて、前記推定値を用いて初期ビート時間シーケンス（bt）を生成し、それを参照ビート時間シーケンス（bi）と比較し、所定の類似度アルゴリズムを用いて前記第２及び第３のビート時間シーケンスを生成するように構成されている、請求項８に記載の装置。
【請求項１０】
前記第２のビートトラッキングモジュールにより用いられる前記所定の類似度アルゴリズムは、あるオフセット位置の範囲にわたって前記初期ビート時間シーケンス（bt）と前記参照ビート時間シーケンス（bi）とを比較して当該範囲内での最良マッチを特定し、前記生成された第２／第３のビート時間シーケンスが、前記最良マッチをもたらした前記参照ビート時間シーケンス（bi）のオフセットバージョンを含むようにする、請求項９に記載の装置。
【請求項１１】
前記参照ビート時間シーケンス（bi）が一定のビート間隔を有する、請求項９又は請求項１０に記載の装置。
【請求項１２】
前記参照ビート時間シーケンス（bi）が、Xを前記推定テンポの整数表現、nを整数とすると、t = 0, 1/ (X/60), 2/ (X/60) ........n/(X60)として生成される、請求項１１に記載の装置。
【請求項１３】
前記アルゴリズムで用いられるオフセット位置の範囲が、Xを前記推定テンポの整数表現とすると、０と1.1/(X/60)との間である、請求項１０から１２の何れかに記載の装置。
【請求項１４】
前記アルゴリズムにおける比較に用いられる前記オフセット位置が0.1/(BPMest/60)の刻み幅を有する、請求項１０から１３の何れかに記載の装置。
【請求項１５】
前記シーケンス選択器が、前記ビート時間シーケンスのいずれが前記第２のアクセント信号中のピークに最も近く対応するかを特定するように構成されている、請求項１から１４の何れかに記載の装置。
【請求項１６】
前記シーケンス選択器が、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の値に依存する要約統計量又は要約値を計算し、最大要約統計量又は要約値をもたらすビート時間シーケンスを選択するように構成されている、請求項１から１５の何れかに記載の装置。
【請求項１７】
前記シーケンス選択器が、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の平均値を計算し、最大平均値をもたらすビート時間シーケンスを選択するように構成されている、請求項１６に記載の装置。
【請求項１８】
共通の内容のオーディオ信号をそれぞれ有する複数のビデオクリップを受信するための手段と、
前記選択されたビートシーケンス中のビートを用いて前記ビデオクリップの利用可能な編集点を特定するためのビデオ編集モジュールと
を備える、請求項１から１７の何れかに記載の装置。
【請求項１９】
前記ビデオ編集モジュールがさらに、１以上の編集点で複数のビデオクリップを連結して連結ビデオクリップを生成するように構成されている、請求項１８に記載の装置。
【請求項２０】
オーディオ信号中の音楽アクセントを表す第１のアクセント信号（a1）を生成することと、
前記オーディオ信号中の音楽アクセントを表す第２の異なるアクセント信号（a2）を生成することと、
前記第１のアクセント信号から第１のビート時間シーケンス（b1）を推定することと、
前記第２のアクセント信号から第２のビート時間シーケンス（b2）を推定することと、
前記第１及び第２のビート時間シーケンス（b1）（b2）のいずれが前記アクセント信号の一方又は両方の中のピークに最も近く対応しているかを特定することと、
を含む方法であって、更に、
前記オーディオ信号の推定テンポ（BPMest）を前記第１のアクセント信号（a1）を用いて生成することと、
前記推定テンポ（BPMest）の整数表現を取得することと、
前記第２のアクセント信号（a2）及び前記整数表現を用いて前記第２のビート時間シーケンス（b2）を生成することと、
を含む、方法。
【請求項２１】
前記第１のアクセント信号（a1）が、基本周波数（f0）サリエンス分析に基づいてクロマアクセント特性を抽出することによって生成される、請求項２０に記載の方法。
【請求項２２】
前記第１のビート時間シーケンスが、前記第１のアクセント信号（a1）及び前記推定テンポ（BPMest）を用いて生成される、請求項２０又は２１に記載の方法。
【請求項２３】
前記第２のアクセント信号（a2）が、前記オーディオ信号の帯域幅の所定のサブバンドを用いて生成される、請求項２０から２２の何れかに記載の方法。
【請求項２４】
前記第２のアクセント信号（a2）が、２００Ｈｚ未満の所定のサブバンドを用いて生成される、請求項２３に記載の方法。
【請求項２５】
前記第２のアクセント信号（a2）が、前記オーディオ信号のマルチレートフィルタバンク分解を実行し、前記フィルタの所定の１つからの出力を用いて生成される、請求項２３又は請求項２４に記載の方法。
【請求項２６】
前記推定テンポ（BPMest）の前記整数表現が、四捨五入テンポ推定関数（round(BPMest)）、テンポ推定天井関数（ceil(BPMest)）、テンポ推定床関数（floor(BPMest)）のいずれかを用いて計算される、請求項２０から２５の何れかに記載の方法。
【請求項２７】
天井関数及び床関数を前記推定テンポ（BPMest）に対して実行してそれぞれ切り上げテンポ推定値（ceil(BPMest)）及び切り下げテンポ推定値（floor(BPMest)）を生成することと、前記第２のアクセント信号（a2）及び前記切り上げ及び切り下げテンポ推定値の別々のものを用いて第２及び第３のビート時間シーケンス（b2）（b3）を生成することと、前記第１、第２、第３のビート時間シーケンスのいずれが前記アクセント信号の一方または両方の中のピークに最も近く対応しているかを特定することとをさらに含む、請求項２０から２６の何れかに記載の方法。
【請求項２８】
前記切り上げ及び切り下げテンポ推定値のそれぞれについて、前記推定値を用いて初期ビート時間シーケンス（bt）を生成し、所定の類似度アルゴリズムを用いて前記第２及び第３のビート時間シーケンスを生成するために、前記初期ビート時間シーケンスを参照ビート時間シーケンス（bi）と比較する、請求項２７に記載の方法。
【請求項２９】
前記所定の類似度アルゴリズムを用いた比較ステップは、あるオフセット位置の範囲にわたって前記初期ビート時間シーケンス（bt）と前記参照ビート時間シーケンス（bi）とを比較して当該範囲内での最良マッチを特定することを含み、前記生成された第２／第３のビート時間シーケンスが、前記最良マッチをもたらした前記参照ビート時間シーケンス（bi）のオフセットバージョンを含むようにする、請求項２８に記載の方法。
【請求項３０】
前記参照ビート時間シーケンス（bi）が一定のビート間隔を有する、請求項２８又は請求項２９に記載の方法。
【請求項３１】
前記参照ビート時間シーケンス（bi）が、Xを前記推定テンポの整数表現、nを整数とすると、t = 0, 1/ (X/60), 2/ (X/60) ........n/(X60)として生成される、請求項３０に記載の方法。
【請求項３２】
前記アルゴリズムで用いられるオフセット位置の範囲が、Xを前記推定テンポの整数表現とすると、０と1.1/(X/60)との間である、請求項２９から３１の何れかに記載の方法。
【請求項３３】
前記アルゴリズムにおける比較に用いられる前記オフセット位置が0.1/(BPMest/60)の刻み幅を有する、請求項２９から３２の何れかに記載の方法。
【請求項３４】
前記特定ステップが、前記ビート時間シーケンスのいずれが前記第２のアクセント信号中のピークに最も近く対応するかを特定することを含む、請求項２０から３３の何れかに記載の方法。
【請求項３５】
前記特定ステップが、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の値に依存する要約統計量又は要約値を計算することと、最大要約統計量又は要約値をもたらすビート時間シーケンスを選択することとを含む、請求項２０から３４の何れかに記載の方法。
【請求項３６】
前記特定ステップが、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の値の平均値を計算することと、最大平均値をもたらすビート時間シーケンスを選択することとを含む、請求項３５に記載の方法。
【請求項３７】
共通の内容のオーディオ信号をそれぞれ有する複数のビデオクリップを受信することと、
前記選択されたビートシーケンス中のビートを用いて前記ビデオクリップの利用可能な編集点を特定することと
を含む請求項２０から３６の何れかに記載の方法。
【請求項３８】
１以上の編集点で複数のビデオクリップを連結して連結ビデオクリップを生成することをさらに含む、請求項３７に記載の方法。
【請求項３９】
コンピュータ装置により実行されると、請求項２０から３８の何れかに記載の方法を実行するように前記コンピュータ装置を制御する命令を含む、コンピュータプログラム。
【請求項４０】
コンピュータ可読コードを記憶した不揮発性コンピュータ可読記憶媒体であって、前記コンピュータ可読コードは、コンピュータ装置により実行されると、前記コンピュータ装置に、
オーディオ信号中の音楽アクセントを表す第１のアクセント信号（a1）を生成することと、
前記オーディオ信号中の音楽アクセントを表す第２の異なるアクセント信号（a2）を生成することと、
前記第１のアクセント信号から第１のビート時間シーケンス（b1）を推定することと、
前記第２のアクセント信号から第２のビート時間シーケンス（b2）を推定することと、
前記第１及び第２のビート時間シーケンス（b1）（b2）のいずれが前記アクセント信号の一方又は両方の中のピークに最も近く対応しているかを特定することと、
を含む方法であって、更に、
前記オーディオ信号の推定テンポ（BPMest）を前記第１のアクセント信号（a1）を用いて生成することと、
前記推定テンポ（BPMest）の整数表現を取得することと、
前記第２のアクセント信号（a2）及び前記整数表現を用いて前記第２のビート時間シーケンス（b2）を生成することと、
を含む方法を実行させる、不揮発性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はオーディオ信号分析に関し、特に音楽拍子分析に関する。
【発明の背景】
【０００２】
音楽用語では、音楽拍子は音楽中の強勢すなわちアクセントの反復パターンを含む。音楽拍子は、小節パルスと、それぞれ最長と最短のパルス持続時間を意味するビートパルスとテータムパルスとを含むものとして記述することができる。
【０００３】
ビートパルスは、音楽の基本時間単位を与え、ビートパルスレート（テンポ）は、楽曲を聞きながらほとんどの人が床で足を踏み鳴らすであろうレートと考えられている。楽曲中のビートパルスの発生の特定、すなわちいわゆるビートトラッキングは、多くの実用的アプリケーションにおいて望ましい。そのようなアプリケーションには、参照トラックに類似した音楽を検索する音楽推薦アプリケーション、例えばプレイリスト中の楽曲間で途切れのないビートミックスによる移行が必要なディスクジョッキー（ＤＪ）アプリケーション、自動ルーピング技術が含まれる。
【０００４】
ビートトラッキングシステム及び方法は、楽曲やその一部の中のビートの時間位置を含むビートシーケンスを生成する。
【０００５】
後述のある種の概念を理解するために、次の用語が有用である。
ピッチ：音符の基本周波数（f0）の生理的な相関物
ピッチクラスとしても知られるクロマ：共通ピッチクラスに属する整数オクターブ離れた音楽ピッチ。西洋音楽では、１２のピッチクラスが用いられる。
ビート又はタクトゥス：音楽の基本時間単位であり、楽曲を聞きながらほとんどの人が床で足を踏み鳴らすであろうレートと考えることができる。この用語は１つのビートに属する音楽部分を指すときにも用いられる。
テンポ：ビート又はタクトゥスパルスのレートであり、通常はビート数毎分（ＢＰＭ）単位で表される。
小節：ある持続時間内のあるビート数として定義される時間区分。例えば、４／４拍子の音楽では、各小節は４つのビートを含む。
アクセント（に基づく）音声分析：オーディオ信号を分析して音楽内のイベント及び／又は変化を検出する。例としては、これらには限られないが、個々のあらゆる音声イベントの開始、特に長ピッチ音の発音、音色の大きさの突然の変化、和声の変化がある。以下にさらに詳細を述べる。
【０００６】
人間は、音楽内の強勢が置かれた瞬間であるアクセントからパルスの規則的なパターンを推測することによって音楽拍子を知覚していると考えられている。音楽内の異なるイベントによりアクセントが生じる。例として、音色の大きさの変化、和声の変化、そして一般的にはすべての音声イベントの開始がある。特に、長ピッチ音の発音によりアクセントが生じる。自動テンポ、ビート、或はダウンビート推定器は、ある程度は人間による音楽拍子の知覚を模倣しようとするかもしれない。これには、音楽アクセントを測定し、１以上のパルスの周期を推定し、推定パルスの位相を求め、テンポに対応する韻律レベル又はその他の利用する韻律レベルを選択するステップが含まれる。アクセントは音楽内のイベントに関係しているため、アクセントに基づく音声分析と言えば、音楽内のイベント及び／又は変化の検出を意味する。そのような変化は、信号の音量、スペクトル、及び／又はピッチ成分に関係するかもしれない。例として、アクセントに基づく分析は、信号からスペクトルの変化を検出したり、信号から新規度又は発音検出関数を計算したり、信号から個々の発音を検出したり、例えばクロマ特性を用いて信号のピッチ及び／又は和声成分の変化を検出したりすることに関係するかもしれない。スペクトル変化検出を行う場合、様々な変換やフィルタバンク分解を用いることができる。例えば高速フーリエ変換、マルチレートフィルタバンク、或は基本周波数f0やピッチサリエンス推定器すら用いることができる。簡単な例として、信号上の短いフレーム内の周波数帯域群にわたって信号の短時間エネルギーを計算し、２つの隣接フレーム毎にその間のユークリッド距離等の差分を計算することによって、アクセント検出を行ってもよい。様々な音楽の種類について頑健性を向上させるため、多くの異なるアクセント信号分析方法が開発されてきた。
【０００７】
以下に記載するシステム及び方法は、次の文献に記載された背景知識に基づいており、これらの文献を参照によりここに援用する。
[1] Cemgil A. T. et al., "On tempo tracking: tempogram representation and Kalman filtering." J. New Music Research, 2001.
[2] Eronen, A. and Klapuri, A., "Music Tempo Estimation with k-NN regression," IEEE Trans. Audio, Speech and Language Processing, Vol. 18, No. 1, Jan 2010.
[3] Seppanen, Eronen, Hiipakka. "Joint Beat & Tatum Tracking from Music Signals", International Conference on Music Information Retrieval, ISMIR 2006 and Jarno Seppanen, Antti Eronen, Jarmo Hiipakka: Method, apparatus and computer program product for providing rhythm information from an audio signal. Nokia November 2009: US 7612275.
[4] Antti Eronen and Timo Kosonen, "Creating and sharing variations of a music file" - United States Patent Application 20070261537.
[5] Klapuri, A., Eronen, A., Astola, J., " Analysis of the meter of acoustic musical signals," IEEE Trans. Audio, Speech, and Language Processing, Vol. 14, No. 1, 2006.
[6] Jehan, Creating Music by Listening, PhD Thesis, MIT, 2005.  http://web.media.mit.edu/~tristan/phd/pdf/Tristan_PhD_MIT.pdf
[7] D. Ellis, "Beat Tracking by Dynamic Programming", J. New Music Research, Special Issue on Beat and Tempo Extraction, vol. 36 no. 1, March 2007, pp. 51-60.  (10pp) DOI: 10.1080/09298210701653344.
[8] A. Klapuri, "Multiple fundamental frequency estimation by summing harmonic amplitudes," in Proc. 7th Int. Conf. Music Inf. Retrieval (ISMIR-06), Victoria, Canada, 2006.
【発明の概要】
【０００８】
本発明の第１の態様によれば、
オーディオ信号中の音楽アクセントを表す第１のアクセント信号（a1）を生成するための第１のアクセント信号モジュールと、
前記オーディオ信号中の音楽アクセントを表す第２の異なるアクセント信号（a2）を生成するための第２のアクセント信号モジュールと、
前記第１のアクセント信号から第１のビート時間シーケンス（b1）を推定するための第１のビートトラッキングモジュールと、
前記第２のアクセント信号から第２のビート時間シーケンス（b2）を推定するための第２のビートトラッキングモジュールと、
前記第１及び第２のビート時間シーケンス（b1）（b2）のいずれが前記アクセント信号の一方又は両方の中のピークに最も近く対応しているかを特定するためのシーケンス選択器と
を含む装置が提供される。
【０００９】
この装置は、音楽信号中のビートの位置を特定するための、頑健かつ単純な計算によるシステム及び方法を提供する。特に、この装置は、電子音楽からクラシックやロック音楽に至る幅広い音楽スタイルに対応するビートトラッキングの頑健かつ正確な方法を提供する。特に、電子ダンス音楽はより正確に処理される。
【００１０】
前記第１のアクセント信号モジュールは、基本周波数（f0）サリエンス分析に基づいてクロマアクセント特性を抽出することによって前記第１のアクセント信号（a1）を生成するように構成されていてもよい。
【００１１】
前記装置は、前記オーディオ信号の推定テンポ（BPMest）を前記第１のアクセント信号（a1）を用いて生成するように構成されたテンポ推定器をさらに含んでいてもよい。
【００１２】
前記第１のビートトラッキングモジュールは、前記第１のアクセント信号（a1）及び前記推定テンポ（BPMest）を用いて前記第１のビート時間シーケンスを推定するように構成されていてもよい。
【００１３】
前記第２のアクセント信号モジュールは、前記オーディオ信号の帯域幅の所定のサブバンドを用いて前記第２のアクセント信号（a2）を生成するように構成されていてもよい。前記所定のサブバンドは、２００Ｈｚ未満であってもよい。
【００１４】
前記第２のアクセント信号モジュールは、前記オーディオ信号のマルチレートフィルタバンク分解を実行し、前記フィルタの所定の１つからの出力を用いてアクセント信号を生成することによって前記第２のアクセント信号（a2）を生成するように構成されていてもよい。
【００１５】
前記装置は、前記推定テンポ（BPMest）の整数表現を取得するための手段をさらに含んでいてもよく、前記第２のビートトラッキングモジュールは、前記第２のアクセント信号（a2）及び前記整数表現を用いて前記第２のビート時間シーケンス（b2）を生成するように構成されていてもよい。
【００１６】
前記推定テンポ（BPMest）の前記整数表現は、四捨五入テンポ推定関数（round(BPMest)）、テンポ推定天井関数（ceil(BPMest)）、テンポ推定床関数（floor(BPMest)）のいずれかを用いて計算されてもよい。
【００１７】
前記装置は、天井関数及び床関数を前記推定テンポ（BPMest）に対して実行してそれぞれ切り上げテンポ推定値（ceil(BPMest)）及び切り下げテンポ推定値（floor(BPMest)）を生成する手段をさらに含んでいてもよく、前記第２のビートトラッキングモジュールは、前記第２のアクセント信号（a2）及び前記切り上げ及び切り下げテンポ推定値の別々のものを用いて第２及び第３のビート時間シーケンス（b2）（b3）を生成するように構成されていてもよく、前記シーケンス選択器は、前記第１、第２、第３のビート時間シーケンスのいずれが前記アクセント信号の一方または両方の中のピークに最も近く対応しているかを特定するように構成されていてもよい。
【００１８】
前記第２のビートトラッキングモジュールは、前記切り上げ及び切り下げテンポ推定値のそれぞれについて、前記推定値を用いて初期ビート時間シーケンス（bt）を生成し、それを参照ビート時間シーケンス（bi）と比較し、所定の類似度アルゴリズムを用いて前記第２及び第３のビート時間シーケンスを生成するように構成されていてもよい。
【００１９】
前記第２のビートトラッキングモジュールにより用いられる前記所定の類似度アルゴリズムは、あるオフセット位置の範囲にわたって前記初期ビート時間シーケンス（bt）と前記参照ビート時間シーケンス（bi）とを比較して当該範囲内での最良マッチを特定することを含んでいてもよく、前記生成された第２／第３のビート時間シーケンスが、前記最良マッチをもたらした前記参照ビート時間シーケンス（bi）のオフセットバージョンを含むようにしてもよい。
【００２０】
前記参照ビート時間シーケンス（bi）は、一定のビート間隔を有していてもよい。前記参照ビート時間シーケンス（bi）は、Xを前記推定テンポの整数推定表現、nを整数とすると、t = 0, 1/ (X/60), 2/ (X/60) ........n/(Xt/60)として生成されてもよい。
【００２１】
前記アルゴリズムで用いられるオフセット位置の範囲は、Xを前記推定テンポの整数推定表現とすると、０と1.1/(X/60)との間であってもよい。前記アルゴリズムにおける比較に用いられる前記オフセット位置は、0.1/(BPMest/60)の刻み幅を有していてもよい。
【００２２】
前記シーケンス選択器は、前記ビート時間シーケンスのいずれが前記第２のアクセント信号中のピークに最も近く対応するかを特定するように構成されていてもよい。
【００２３】
前記シーケンス選択器は、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の値に依存する要約統計量又は要約値を計算し、最大要約統計量又は要約値をもたらすビート時間シーケンスを選択するように構成されていてもよい。
【００２４】
前記シーケンス選択器は、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の平均値を計算し、最大平均値をもたらすビート時間シーケンスを選択するように構成されていてもよい。
【００２５】
共通の内容のオーディオ信号をそれぞれ有する複数のビデオクリップを受信するための手段と、前記選択されたビートシーケンス中のビートを用いて前記ビデオクリップの利用可能な編集点を特定するためのビデオ編集モジュールとを含む、上記定義の何れかに記載の装置がさらに提供されてもよい。前記ビデオ編集モジュールはさらに、１以上の編集点で複数のビデオクリップを連結して連結ビデオクリップを生成するように構成されていてもよい。
【００２６】
本発明の第２の態様によれば、オーディオ信号中の音楽アクセントを表す第１のアクセント信号（a1）を生成することと、前記オーディオ信号中の音楽アクセントを表す第２の異なるアクセント信号（a2）を生成することと、前記第１のアクセント信号から第１のビート時間シーケンス（b1）を推定することと、前記第２のアクセント信号から第２のビート時間シーケンス（b2）を推定することと、前記第１及び第２のビート時間シーケンス（b1）（b2）のいずれが前記アクセント信号の一方又は両方の中のピークに最も近く対応しているかを特定することとを含む方法が提供される。
【００２７】
前記第１のアクセント信号（a1）は、基本周波数（f0）サリエンス分析に基づいてクロマアクセント特性を抽出することによって生成されてもよい。
【００２８】
前記方法は、前記オーディオ信号の推定テンポ（BPMest）を前記第１のアクセント信号（a1）を用いて生成することをさらに含んでいてもよい。
【００２９】
前記第１のビート時間シーケンスは、前記第１のアクセント信号（a1）及び前記推定テンポ（BPMest）を用いて生成されてもよい。
【００３０】
前記第２のアクセント信号（a2）は、前記オーディオ信号の帯域幅の所定のサブバンドを用いて生成されてもよい。
【００３１】
前記第２のアクセント信号（a2）は、２００Ｈｚ未満の所定のサブバンドを用いて生成されてもよい。
【００３２】
前記第２のアクセント信号（a2）は、前記オーディオ信号のマルチレートフィルタバンク分解を実行し、前記フィルタの所定の１つからの出力を用いて生成されてもよい。
【００３３】
前記方法は、前記推定テンポ（BPMest）の整数表現を取得することと、前記第２のアクセント信号（a2）及び前記整数表現を用いて前記第２のビート時間シーケンス（b2）を生成することをさらに含んでいてもよい。
【００３４】
前記推定テンポ（BPMest）の前記整数表現が、四捨五入テンポ推定関数（round(BPMest)）、テンポ推定天井関数（ceil(BPMest)）、テンポ推定床関数（floor(BPMest)）のいずれかを用いて計算されてもよい。
【００３５】
前記方法は、天井関数及び床関数を前記推定テンポ（BPMest）に対して実行してそれぞれ切り上げテンポ推定値（ceil(BPMest)）及び切り下げテンポ推定値（floor(BPMest)）を生成することと、前記第２のアクセント信号（a2）及び前記切り上げ及び切り下げテンポ推定値の別々のものを用いて第２及び第３のビート時間シーケンス（b2）（b3）を生成することと、前記第１、第２、第３のビート時間シーケンスのいずれが前記アクセント信号の一方または両方の中のピークに最も近く対応しているかを特定することとをさらに含んでいてもよい。前記切り上げ及び切り下げテンポ推定値のそれぞれについて、前記推定値を用いて初期ビート時間シーケンス（bt）を生成し、所定の類似度アルゴリズムを用いて前記第２及び第３のビート時間シーケンスを生成するために、前記初期ビート時間シーケンスを参照ビート時間シーケンス（bi）と比較してもよい。
【００３６】
前記所定の類似度アルゴリズムを用いた比較ステップは、あるオフセット位置の範囲にわたって前記初期ビート時間シーケンス（bt）と前記参照ビート時間シーケンス（bi）とを比較して当該範囲内での最良マッチを特定することを含んでいてもよく、前記生成された第２／第３のビート時間シーケンスが、前記最良マッチをもたらした前記参照ビート時間シーケンス（bi）のオフセットバージョンを含むようにしてもよい。
【００３７】
前記参照ビート時間シーケンス（bi）は、一定のビート間隔を有していてもよい。
【００３８】
前記参照ビート時間シーケンス（bi）は、Xを前記推定テンポの整数推定表現、nを整数とすると、t = 0, 1/ (X/60), 2/ (X/60) ........n/(X60)として生成されてもよい。
【００３９】
前記アルゴリズムで用いられるオフセット位置の範囲は、Xを前記推定テンポの整数推定表現とすると、0と1.1/(X/60)との間であってもよい。前記アルゴリズムにおける比較に用いられる前記オフセット位置は、0.1/(BPMest/60)の刻み幅を有していてもよい。
【００４０】
前記特定ステップは、前記ビート時間シーケンスのいずれが前記第２のアクセント信号中のピークに最も近く対応するかを特定することを含んでいてもよい。
【００４１】
前記特定ステップは、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の値に依存する要約統計量又は要約値を計算することと、最大要約統計量又は要約値をもたらすビート時間シーケンスを選択することとを含んでいてもよい。
【００４２】
前記特定ステップは、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の平均値を計算することと、最大平均値をもたらすビート時間シーケンスを選択することとを含んでいてもよい。
【００４３】
また、上記のビート特定方法を用いる方法であって、共通の内容のオーディオ信号をそれぞれ有する複数のビデオクリップを受信することと、前記選択されたビートシーケンス中のビートを用いて前記ビデオクリップの利用可能な編集点を特定することとを含む方法が提供されてもよい。この方法は、１以上の編集点で複数のビデオクリップを連結して連結ビデオクリップを生成することをさらに含んでいてもよい。
【００４４】
本発明の第３の態様によれば、コンピュータ装置により実行されると、上記定義の何れかに記載の方法を実行するように前記コンピュータ装置を制御する命令を含む、コンピュータプログラムが提供される。
【００４５】
本発明の第４の態様によれば、コンピュータ可読コードを記憶した不揮発性コンピュータ可読記憶媒体であって、前記コンピュータ可読コードは、コンピュータ装置により実行されると、前記コンピュータ装置に、オーディオ信号中の音楽アクセントを表す第１のアクセント信号（a1）を生成することと、前記オーディオ信号中の音楽アクセントを表す第２の異なるアクセント信号（a2）を生成することと、前記第１のアクセント信号から第１のビート時間シーケンス（b1）を推定することと、前記第２のアクセント信号から第２のビート時間シーケンス（b2）を推定することと、前記第１及び第２のビート時間シーケンス（b1）（b2）のいずれが前記アクセント信号の一方又は両方の中のピークに最も近く対応しているかを特定することとを含む方法を実行させる、不揮発性コンピュータ可読記憶媒体が提供される。
【００４６】
本発明の第５の態様によれば、少なくとも１つのプロセッサと、コンピュータ可読コードを記憶した少なくとも１つのメモリとを有する装置であって、前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、オーディオ信号中の音楽アクセントを表す第１のアクセント信号（a1）を生成させ、前記オーディオ信号中の音楽アクセントを表す第２の異なるアクセント信号（a2）を生成させ、前記第１のアクセント信号から第１のビート時間シーケンス（b1）を推定させ、前記第２のアクセント信号から第２のビート時間シーケンス（b2）を推定させ、前記第１及び第２のビート時間シーケンス（b1）（b2）のいずれが前記アクセント信号の一方又は両方の中のピークに最も近く対応しているかを特定させる、装置が提供される。
【００４７】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、基本周波数（f0）サリエンス分析に基づいてクロマアクセント特性を抽出することによって前記第１のアクセント信号（a1）を生成させてもよい。
【００４８】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記オーディオ信号の推定テンポ（BPMest）を前記第１のアクセント信号（a1）を用いて生成させてもよい。
【００４９】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記第１のアクセント信号（a1）及び前記推定テンポ（BPMest）を用いて前記第１のビート時間シーケンスを生成させてもよい。
【００５０】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記オーディオ信号の帯域幅の所定のサブバンドを用いて前記第２のアクセント信号（a2）を生成させてもよい。
【００５１】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、２００Ｈｚ未満の所定のサブバンドを用いて前記第２のアクセント信号（a2）を生成させてもよい。
【００５２】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記オーディオ信号のマルチレートフィルタバンク分解を実行し、前記フィルタの所定の１つからの出力を用いて前記第２のアクセント信号（a2）を生成させてもよい。
【００５３】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記推定テンポ（BPMest）の整数表現を取得させ、前記第２のアクセント信号（a2）及び前記整数表現を用いて前記第２のビート時間シーケンス（b2）を生成させてもよい。
【００５４】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記推定テンポ（BPMest）の前記整数表現を、四捨五入テンポ推定関数（round(BPMest)）、テンポ推定天井関数（ceil(BPMest)）、テンポ推定床関数（floor(BPMest)）のいずれかを用いて計算させてもよい。
【００５５】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、天井関数及び床関数を前記推定テンポ（BPMest）に対して実行させてそれぞれ切り上げテンポ推定値（ceil(BPMest)）及び切り下げテンポ推定値（floor(BPMest)）を生成させ、前記第２のアクセント信号（a2）及び前記切り上げ及び切り下げテンポ推定値の別々のものを用いて第２及び第３のビート時間シーケンス（b2）（b3）を生成させ、前記第１、第２、第３のビート時間シーケンスのいずれが前記アクセント信号の一方または両方の中のピークに最も近く対応しているかを特定させてもよい。
【００５６】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記切り上げ及び切り下げテンポ推定値のそれぞれについて、前記推定値を用いて初期ビート時間シーケンス（bt）を生成させ、所定の類似度アルゴリズムを用いて前記第２及び第３のビート時間シーケンスを生成するために、前記初期ビート時間シーケンスを参照ビート時間シーケンス（bi）と比較させてもよい。
【００５７】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、あるオフセット位置の範囲にわたって前記初期ビート時間シーケンス（bt）と前記参照ビート時間シーケンス（bi）とを比較して当該範囲内での最良マッチを特定させ、前記生成された第２／第３のビート時間シーケンスが、前記最良マッチをもたらした前記参照ビート時間シーケンス（bi）のオフセットバージョンを含むようにさせてもよい。
【００５８】
前記参照ビート時間シーケンス（bi）は、一定のビート間隔を有していてもよい。
【００５９】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、Xを前記推定テンポの整数表現、nを整数とすると、前記参照ビート時間シーケンス（bi）を、t = 0, 1/ (X/60), 2/ (X/60) ........n/(X60)として生成させてもよい。
【００６０】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、Xを前記推定テンポの整数表現とすると、0と1.1/(X/60)との間のオフセット位置の範囲を前記アルゴリズムで用いさせてもよい。
【００６１】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記アルゴリズムにおける比較に0.1/(BPMest/60)の刻み幅を有するオフセット位置を用いさせてもよい。
【００６２】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記ビート時間シーケンスのいずれが前記第２のアクセント信号中のピークに最も近く対応するかを特定させてもよい。
【００６３】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の値に依存する要約統計量又は要約値を計算させ、最大要約統計量又は要約値をもたらすビート時間シーケンスを選択させてもよい。
【００６４】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、前記ビート時間シーケンスのそれぞれについて、当該シーケンス中のビート時間において又はその前後で発生しているただ１つの又は各アクセント信号の値の平均値を計算させ、最大平均値をもたらすビート時間シーケンスを選択させてもよい。
【００６５】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、共通の内容のオーディオ信号をそれぞれ有する複数のビデオクリップを受信させ、前記選択されたビートシーケンス中のビートを用いて前記ビデオクリップの利用可能な編集点を特定させてもよい。
【００６６】
前記コンピュータ可読コードは実行されると、前記少なくとも１つのプロセッサを制御して、１以上の編集点で複数のビデオクリップを連結して連結ビデオクリップを生成させてもよい。
【図面の簡単な説明】
【００６７】
本発明の実施形態を、添付図面を参照しつつ非限定的な例により以下に説明する。図面において、
【００６８】
【図１】本発明の実施形態に係る音楽分析サーバと複数の端末とを含むネットワークの模式図である。
【図２】図１に示す端末の１つの斜視図である。
【図３】図２に示す端末の構成要素の模式図である。
【図４】共通の音楽イベントで用いられた場合の図１の端末を示す模式図である。
【図５】図１に示す分析サーバの構成要素の模式図である。
【図６】図１に示す分析サーバにより実行される処理段階を示すブロック図である。
【図７】図６に示す処理段階の１サブ段階で実行される処理段階を示すブロック図である。
【図８】図６に示す処理段階で実行される３つの処理段階をより詳細に示すブロック図である。
【図９】第１のアクセント信号の計算方法の概要を示した図である。
【図１０】文献[3]に記載された方法の一部、特に、マルチレートフィルタバンクによるオーディオ信号分解を用いた第２のアクセント信号（a2）の取得にかかわる部分を示した図である。
【図１１】文献[3]に記載された方法の一部、特に、マルチレートフィルタバンクによるオーディオ信号分解を用いた第２のアクセント信号（a2）の取得にかかわる部分を示した図である。
【図１２】文献[3]に記載された方法の一部、特に、マルチレートフィルタバンクによるオーディオ信号分解を用いた第２のアクセント信号（a2）の取得にかかわる部分を示した図である。
【実施形態の詳細説明】
【００６９】
以下に記載する実施形態は、音楽作品又はその一部におけるビートの時間位置を特定するための、音楽及びその音楽拍子の分析を主とする音声分析のためのシステム及び方法に関する。このプロセスは一般的にビートトラッキングとして知られている。上述の通り、ビートは、音楽推薦アルゴリズム、ＤＪアプリケーション、自動ループ等の様々な実用アプリケーションで利用できる、音楽的に有意な点を表すと考えられている。以下に記載する特定の実施形態は、ビデオクリップに関連するオーディオトラック内で特定されたビートの位置をビデオアングル切り替え可能点として用いて自動的にビデオクリップをカットするビデオ編集システムに関する。
【００７０】
図１において、音楽分析サーバ５００（以下「分析サーバ」）がネットワーク３００に接続されていることが示されており、このネットワーク３００は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、或はインターネット等の任意のデータネットワークであってよい。分析サーバ５００は、自動ビデオ編集のためのビートトラッキングを行うために、受信したビデオクリップに関連する音声を分析するように構成されている。この点については後に詳述する。
【００７１】
使用される外部端末１００、１０２、１０４は、関連するオーディオトラックを有するビデオクリップをアップロードするために、ネットワーク３００を介して分析サーバ５００と通信する。本形態の場合、端末１００、１０２、１０４は、ビデオデータをキャプチャ、記憶、ネットワーク３００を介してアップロード及びダウンロードするための、ビデオカメラ及びオーディオキャプチャ（すなわちマイク）ハードウェア及びソフトウェアを含む。
図２において、前記端末の１つ端末１００が示されているが、他の端末１０２、１０４も同様又は類似していると想定している。端末１００の外側には、タッチパネルディスプレイ１０２と、ハードウェアキー１０４と、後ろ向きカメラ１０５と、スピーカ１１８と、ヘッドフォンポート１２０とが設けられている。
【００７２】
図３に、端末１００の構成要素の模式図を示す。端末１００は、制御部１０６と、表示部１０８及び触覚インターフェース部１１０とからなるタッチパネルディスプレイ１０２と、ハードウェアキー１０４と、カメラ１３２と、メモリ１１２と、ＲＡＭ１１４と、スピーカ１１８と、ヘッドフォンポート１２０と、無線通信モジュール１２２と、アンテナ１２４と、バッテリー１１６とを有する。制御部１０６は、他の構成要素（バッテリー１１６を除く）の動作を制御するために、それらのそれぞれに接続されている。
【００７３】
メモリ１１２は、リードオンリーメモリ（ＲＯＭ）、ハードディスクドライブ（ＨＤＤ）、或はソリッドステートドライブ（ＳＳＤ）等の不揮発性メモリであってもよい。メモリ１１２は、まずオペレーティングシステム１２６を記憶しており、またソフトウェアアプリケーション１２８を記憶していてもよい。ＲＡＭ１１４は、データの一時記憶のために制御部１０６によって使用される。オペレーティングシステム１２６は、ＲＡＭ１１４との協働により制御部１０６によって実行された場合に、端末の各ハードウェア要素の動作を制御するコードを含んでいてもよい。
【００７４】
制御部１０６は、任意の形態を取ってよい。例えば、１つのマイクロコントローラや、複数のマイクロコントローラや、１つのプロセッサや、複数のプロセッサであってもよい。
【００７５】
端末１００は、携帯電話又はスマートフォン、携帯情報端末（ＰＤＡ）、携帯メディアプレーヤー（ＰＭＰ）、携帯コンピュータ、或はソフトウェアアプリケーションを実行してオーディオ出力を提供できる他の任意のデバイスであってもよい。いくつかの実施形態においては、端末１００は、無線通信モジュール１２２及びアンテナ１２４を用いてセルラー通信を行ってもよい。無線通信モジュール１２２は、ＧＳＭ（登録商標）、ＣＤＭＡ（Code Division Multiple Access）、ＵＭＴＳ（Universal Mobile Telecommunications System）、Bluetooth（登録商標）、IEEE 802.11（Wi-Fi）等のいくつかのプロトコルを用いて通信するように構成されていてもよい。
【００７６】
タッチパネルディスプレイ１０２の表示部１０８は、端末のユーザに対して画像や文字を表示するためのものであり、触覚インターフェース部１１０は、ユーザからタッチ入力を受け付けるためのものである。
【００７７】
メモリ１１２は、オペレーティングシステム１２６及びソフトウェアアプリケーション１２８を記憶するとともに、音楽及びビデオファイル等のマルチメディアファイルも記憶してもよい。ウェブブラウザ、ラジオ及び音楽プレーヤー、ゲーム、ユーティリティアプリケーション等、多様なソフトウェアアプリケーションを端末にインストールしてもよい。端末に記憶されたソフトウェアアプリケーションのいくつか又はすべてがオーディオ出力を提供してもよい。アプリケーションにより提供されるオーディオ信号は、端末の１つ又は複数のスピーカ１１８によって、或は、ヘッドフォン又はスピーカがヘッドフォンポート１２０に接続されている場合は、ヘッドフォンポート１２０に接続されたヘッドフォン又はスピーカによって、サウンドに変換されてもよい。
【００７８】
いくつかの実施形態において、端末１００は、端末に記憶されていない外部ソフトウェアアプリケーションにも関連付けられていてもよい。これらのアプリケーションは、遠隔サーバデバイスに記憶されたアプリケーションであってもよく、部分的に又はすべて遠隔サーバデバイス上で実行されてもよい。これらのアプリケーションを、クラウドがホストするアプリケーションと呼んでもよい。端末１００は、遠隔サーバデバイスに記憶されたソフトウェアアプリケーションを利用するため、遠隔サーバデバイスと通信可能であってもよい。これには、外部ソフトウェアアプリケーションにより提供されたオーディオ出力を受信することが含まれていてもよい。
【００７９】
いくつかの実施形態において、ハードウェアキー１０４は、専用の音量制御キー又はスイッチである。ハードウェアキーは例えば、２つの隣接するキー、１つのロッカースイッチ、或は回転式ダイアルを含んでいてもよい。いくつかの実施形態において、ハードウェアキー１０４は端末１００の側部に位置している。
【００８０】
メモリ１１２に記憶された前記ソフトウェアアプリケーション１２８の１つは、関連するオーディオトラックを含むキャプチャされたビデオクリップを分析サーバ５００にアップロードするように構成された専用アプリケーション（「アプリ」）である。
【００８１】
分析サーバ５００は、端末１００、１０２、１０４からビデオクリップを受信し、例えば音楽的に有意な点でクリップ同士をつなげるために、自動ビデオ処理及び編集のための関連する各オーディオトラックのビートトラッキングを行うように構成されている。分析サーバ５００は、関連する各オーディオトラックのビートトラッキングを行う代わりに、１以上のビデオクリップのオーディオトラックの一部を組み合わせることにより得られた共通オーディオトラック内でビートトラッキングを行うように構成されていてもよい。
【００８２】
図４を参照して、以下に実用例を記載する。端末１００、１０２、１０４がそれぞれ、ステージエリア１及びスピーカ３により表された音楽コンサートのイベントで使用されている様子が示されている。各端末１００、１０２、１０４は、それぞれのビデオカメラを用いてイベントをキャプチャしていると想定している。端末１００、１０２、１０４の位置が異なるため、それぞれのビデオクリップは異なるものになるであろうが、全端末が共通の時間の間キャプチャしているとすれば、オーディオトラックは共通のものになるであろう。
【００８３】
端末１００、１０２、１０４のユーザはその後、上述のアプリを用いて又は当該端末が同期しているコンピュータから、ビデオクリップを分析サーバ５００にアップロードする。同時に、ユーザは、イベントの記述を入力するか又はプルダウンメニューから登録済みイベントを選択することによりイベントを特定するように促される。その他の考えられる特定方法としては、例えば、端末１００、１０２、１０４からの関連するＧＰＳデータを用いてキャプチャ位置を特定することが挙げられる。
【００８４】
分析サーバ５００において、端末１００、１０２、１０４から受信したビデオクリップは、共通のイベントに関連するものとして特定される。そして、その後各ビデオクリップを分析することにより、自動ビデオ編集のための有用なビデオアングル切り替え点として用いられるビートを特定することができる。
【００８５】
図５において、分析サーバ５００のハードウェア要素が示されている。これらには、制御部２０２、入力及び出力インターフェース２０４、メモリ２０６、及び受信したビデオおよびオーディオクリップを記憶するための大容量記憶装置２０８が含まれる。制御部２０２は、その他の構成要素の動作を制御するために、それらのそれぞれに接続されている。
【００８６】
メモリ２０６（及び大容量記憶装置２０８）は、リードオンリーメモリ（ＲＯＭ）、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）等の不揮発性メモリであってもよい。メモリ２０６は、まずオペレーティングシステム２１０を記憶しており、またソフトウェアアプリケーション２１２を記憶していてもよい。ＲＡＭ（図示略）は、データの一時記憶のために制御部２０２によって使用される。オペレーティングシステム２１０は、ＲＡＭとの協働により制御部２０２によって実行された場合に、各ハードウェア要素の動作を制御するコードを含んでいてもよい。
【００８７】
制御部２０２は、任意の形態を取ってよい。例えば、１つのマイクロコントローラや、複数のマイクロコントローラや、１つのプロセッサや、複数のプロセッサであってもよい。
【００８８】
ソフトウェアアプリケーション２１２は、関連するオーディオ信号を処理してビートトラッキングを行うことを含む、ビデオ処理を制御し実行するように構成されている。これに代えて、ソフトウェアではなくハードウェアレベルの実装又はハードウェアおよびソフトウェアの両方の組み合わせを用いてこの処理を実行することもできる。
【００８９】
ビートトラッキングプロセスを、図６を参照して説明する。
【００９０】
少なくとも概念的には、ステップ６．１及び６．６から始まる２つの処理経路があることが分かるであろう。各処理段階に割り当てられる参照番号は、処理の順番を示すものではない。いくつかの実装においては、高速実行を可能にするように処理経路が並列に実行されるかもしれない。大まかに言えば、３つのビート時間シーケンスが、入力されたオーディオ信号、特にオーディオ信号から導出されたアクセント信号から生成される。そして、選択段階において、３つのビート時間シーケンスのうちどれがアクセント信号の１つに最もよくマッチすなわちフィットするかを特定し、このシーケンスを、ビデオ処理アプリケーションにとどまらずビートトラッキングが有用でありうる任意のアプリケーションにとって、最も有用で正確なものと考える。
【００９１】
以下に、各処理段階について順に検討する。
〔第１の（クロマ）アクセント信号段階〕
【００９２】
この方法は、ステップ６．１及び６．２において、第１のアクセント信号（a1）を基本周波数（F0）サリエンス推定に基づいて計算することにより始められる。クロマアクセント信号であるこのアクセント信号（a1）は、参考文献[2]に記載されるようにして抽出される。クロマアクセント信号（a1）は、時間の関数として音楽的変化を表し、また、F0情報に基づいて抽出されるため、信号内の和声及びピッチの情報が強調されている。ただし、クロマアクセント信号を基本周波数（F0）サリエンス推定に基づいて計算する代わりに、その他のアクセント信号表現及び計算方法を用いることもできる。例えば、参考文献[5] や参考文献[7]に記載されたアクセント信号を利用することができる。
【００９３】
図９に、第１のアクセント信号の計算方法の概要を示す。第１のアクセント信号の計算方法においては、クロマ特性を用いる。クロマ特性の抽出の仕方には様々なものがあるが、例えば、高速フーリエ変換のビン強度を対応するピッチクラスに単純に加算する方法や、定Q変換を用いる方法がある。ここに記載する方法においては、マルチ基本周波数（F0）推定器を用いてクロマ特性を計算する。F0推定は、例えば参考文献[8]に提案された方法により行うことができる。この方法への入力は、４４．１ｋＨｚのサンプリングレートでサンプルされ１６ビットの分解能を有するものであってもよい。入力信号をある程度の重なりを持たせつつフレームに分けることによりフレーミングを施してもよい。ここに記載する実装においては、５０％の重なりを持たせた９３ｍｓのフレームを用いた。この方法においてはまず、信号フレームのスペクトルを白色化し、それから各F0候補の強度すなわちサリエンスを推定する。F0候補の強度は、その協和音の振幅の加重和として計算される。推定に使用する基本周波数の範囲は、８０〜６４０Ｈｚである。各フレームについてのF0推定ステップの出力は、基本周波数候補の強度のベクトルである。ここで、基本周波数は線形周波数スケール上で表現されている。音楽信号分析により合うように、基本周波数のサリエンスを音楽周波数スケール上に変換する。ここでは特に、１オクターブにつき３６ビンに対応する、半音の三分の一に当たる分解能を有する周波数スケールを用いる。半音域の三分の一のそれぞれについて、システムはサリエンス値が最大の基本周波数成分を求めてそれだけを保持する。３６次元のクロマベクトルxb(k)（kはフレームインデックス、b = 1, 2, …, b0はピッチクラスインデックス、b0 = 36）を得るために、オクターブ等価クラスを全ピッチ域にわたり合算する。平均値を減算し、kフレームの各クロマ係数の標準偏差で除算することにより、クロマベクトルの正規化行列：
0006017687.tif 000002
を得る。
【００９４】
次のステップは、正規化クロマ行列：
0006017687.tif 000003
を用いた音楽アクセントの推定である。このアクセント推定は参考文献[5]で提案された方法に似ているが、ここでは周波数帯に代えてピッチクラスを用いる。時間分解能を向上させるため、クロマ係数の時間曲線をまず整数因子で補間してもよい。ここでは因子８による補間を行った。サンプル間に０を加える単純な補間方法を用いてもよい。ここで用いたパラメータによれば、補間後に得られるサンプリングレートはｆｒ＝１７２Ｈｚである。この後、６次バターワースローパスフィルタ（ＬＰＦ）を適用することにより平滑化ステップが実行される。このＬＰＦのカットオフ周波数は、ｆＬＰ＝１０Ｈｚである。平滑化後の信号をｚｂ（ｎ）で表す。次のステップは、微分計算と半波整流（ＨＷＲ）を含む。
［式１］
0006017687.tif 000004
ここでＨＷＲ（ｘ）＝ｍａｘ（ｘ，０）である。次のステップでは、ｚｂ（ｎ）の加重平均及びその半波整流微分値：
0006017687.tif 000005
が形成される。結果として次の信号が得られる。
［式２］
0006017687.tif 000006
式２において、因子：
0006017687.tif 000007
によりｚｂ（ｎ）とその半波整流微分値とのバランスを制御している。ここに記載する実装においては、この値はρ＝０．６である。本発明の一実施形態においては、帯域bを線形に平均化することにより、上記アクセント信号分析に基づいてアクセント信号a1を得る。このようなアクセント信号は、時間の中での音楽的強調すなわちアクセントの量を表している。
第１のビートトラッキング段階
【００９５】
ステップ６．３において、オーディオ信号のテンポ（以下「BPMest」）を、参考文献[2]に記載された方法を用いて推定する。テンポ推定の最初のステップは、周期性分析である。アクセント信号（a1）に対して周期性分析を行う。周期性推定には一般化自己相関関数（ＧＡＣＦ）を用いる。信号の異なる時間位置における周期性推定を得るために、連続するフレームにおいてＧＡＣＦを計算する。フレームの長さはWであり、隣接するフレーム間には１６％の重なりがある。ウィンドウ機能は用いていない。ｍ番目のフレームにおけるＧＡＣＦへの入力ベクトルをamで表す。
［式３］
0006017687.tif 000008
ここでＴは転置を表す。入力ベクトルは、その長さが２倍になるようにゼロでパディングされ、よってその長さは２Ｗになる。ＧＡＣＦは次のように定義されてもよい。
［式４］
γm(τ) = IDFT(|DFT(am)|p)
ここで、DFT及びIDFTはそれぞれ離散フーリエ変換及びその逆変換を表す。周波数領域圧縮量は、係数ｐを用いて制御する。周期（ラグ）τにおける周期性の強度はγm(τ)で表される。
【００９６】
他のＧＡＣＦ用周期性推定器として、例えば、オンセット間間隔ヒストグラミング、自己相関関数（ＡＣＦ）、コムフィルタバンクがある。式４にｐ＝２を設定すれば、従来のＡＣＦが得られる。パラメータｐは、異なるアクセント特性に対して最適化する必要があるかもしれない。これは例えば、異なるｐの値で試して周期性推定の正確性を評価することにより行ってもよい。正確性評価は例えば、テンポ情報を付与したデータのサブセットでテンポ推定の正確性を評価することにより行うことができる。最も正確性が高くなる値を、使用する値として選択してもよい。ここで用いるクロマアクセント特性については、例えば、ｐ＝０．６５という値を用いることができる。この値は、用いられる上記アクセント特性に対するこの種の実験で、よい結果を生むことが分かっている。
【００９７】
周期性推定の後には、隣接するフレームからの周期性ベクトルのシーケンスが存在する。楽曲又は音楽の一部について１つの代表的テンポを得るために、時間上の周期性ベクトルの点ごとの中央値を計算してもよい。周期性ベクトル中央値を、γmed(τ)により表してもよい。さらに、周期性ベクトル中央値を正規化してトレンドを排除してもよい。
［式５］
0006017687.tif 000009
トレンドは、ラグが大きい場合にウィンドウが縮小することにより発生する。周期性ベクトルのサブレンジを、最終的な周期性ベクトルとして選択してもよい。サブレンジとして、例えば０．０６〜２．２ｓの周期に対応するビンの範囲を取ってもよい。さらに、最終的な周期性ベクトルは、スカラー平均を取り除いて各周期性ベクトルのスカラー標準偏差を一定に正規化することにより正規化してもよい。正規化後の周期性ベクトルを、ｓ（τ）で表す。時間上の周期性ベクトル中央値を取る代わりに、フレーム中の周期性ベクトルを出力して別々にテンポ推定を施すこともできる。
【００９８】
そして、周期性ベクトルｓ（τ）に基づいてテンポ推定を実行する。テンポ推定は、ｋ最近傍回帰分析を用いて行われる。他のテンポ推定方法を用いてもよく、例えば、様々なテンポの以前の分布により重み付けされうる最大周期性値を求めることに基づく方法でもよい。
【００９９】
この周期性ベクトルの未知のテンポをＴで表す。テンポ推定は、再サンプリングされたテストベクトルｓｒ（τ）の生成から始めてもよい。ｒは再サンプリング比を表す。再サンプリング動作は、テストベクトルを伸ばす又は縮めるために用いてもよく、この動作が結果を向上させることが判明しているケースもある。テンポの値は連続的であるため、このような再サンプリングにより、似たような形をした周期性ベクトルが訓練データから見つかる確率が上がる可能性がある。比ｒを用いて再サンプリングされたテストベクトルは、テンポＴ／ｒに対応するものになるだろう。適切な比の群としては、例えば０．８７〜１．１５の間で線形に等間隔な５７の比でもよい。再サンプリングされたテストベクトルは、１２０ＢＰＭのテンポを有する音楽の抜粋部分について、１０４〜１３８ＢＰＭの範囲のテンポに対応する。
【０１００】
テンポ推定は、各訓練ベクトルｔｍ（τ）と再サンプリングされたテストベクトルｓｒ（τ）とのユークリッド距離の計算を含む。
［式６］
0006017687.tif 000010
式６において、ｍ＝１， ..., Ｍは、訓練ベクトルのインデックスである。各訓練インスタンスｍについて、
最小距離d(m)=minｒd(m,r)
を記憶してもよい。また、最小距離
0006017687.tif 000011
につながる再サンプリング比を記憶してもよい。そして、d(m)のｋ個の最小値につながるｋ最近傍に基づいてテンポを推定してもよい。最近傍ｉに対応する参照すなわち注目テンポをＴａｎｎ（ｉ）で表す。テストベクトルテンポの推定値を、
0006017687.tif 000012
として得る。
【０１０１】
テンポ推定値は、最近傍テンポ推定値
0006017687.tif 000013
の平均値又は中央値として得ることができる。さらに、中央値の計算に重み付けを用いて、テストベクトルに最も近い訓練インスタンスにより大きい重みを与えてもよい。例えば、重みwiは次のように計算することができる。
［式７］
0006017687.tif 000014
ここで、ｉ＝１，・・・，ｋである。パラメータθを用いて重み付けの勾配を制御してもよい。例えば、θ＝０．０１という値を用いることができる。そして、テンポ推定値BPMestは、重みwiを用いて、テンポ推定値
0006017687.tif 000015
の重み付け中央値として計算することができる。
【０１０２】
さらに図６を参照すると、ステップ６．４において、ステップ６．３で得られたBPMest及びステップ６．２で得られたクロマアクセント信号（a1）に基づいてビートトラッキングが実行される。この第１のビートトラッキング段階６．４の結果は、ビート時間インスタントを示す第１のビート時間シーケンス（b1）である。このために、ここでは参考文献[7]に記載されたものに似た動的計画法ルーチンを用いる。この動的計画法ルーチンでは、第１のクロマアクセント信号（a1）中のピークにマッチする第１のビート時間シーケンス（b1）を特定し、連続するビート間でビート周期を変えられるようにする。ＢＰＭ推定値に基づいてビート時間を得る方法は他にもある。例えば、隠れマルコフモデル、カルマンフィルタ、或は様々なヒューリスティック手法を用いることができる。動的計画法ルーチンの利点は、潜在的なすべてのビートシーケンスを効果的に検索できることである。
【０１０３】
例えば、ビートトラッキング段階６．４において、BPMestを求め、多くのビート時間が第１のアクセント信号（a1）中の大きい値に対応するようにビート時間シーケンスを求めようと試みる。参考文献[7]に示唆されるように、アクセント信号はまずガウス窓を用いて平滑化される。ガウス窓の半値幅がBPMestに対応するビート周期の１／３２に等しくなるように設定してもよい。
【０１０４】
平滑化の後、動的計画法ルーチンは、平滑化されたアクセント信号値（a1）に対して時間に沿って進められていく。時間インデックスをnで表す。各インデックスnについて、最良の先行ビート候補を求める。最良の先行ビートは、遷移スコア及び累積スコアの積を最大化することにより、過去のウィンドウの中で求められる。すなわち、このアルゴリズムは、
δ(n)=max1(ts(1)・cs(n+1))
を計算する（ts(1)は遷移スコア、cs(n+1)は累積スコア）。検索ウィンドウの範囲は、l = -round(-2P), …, -round(P/2)である（PはBPMestに対応するサンプルの周期）。遷移スコアは、次のように定義されてもよい。
［式９］
0006017687.tif 000016
ここで、l = -round(-2P), …, -round(P/2)であり、パラメータθ＝８は、前のビート位置がビート周期Pから外れるにつれて遷移スコアが小さくなる傾斜の度合いを制御している。累積スコアは、
cs(n)=αδ(n)+(1-α) α1(n)
として記憶される。パラメータαは、過去のスコアとローカルマッチとのバランスを維持するために用いられる。その値はα＝０．８である。このアルゴリズムではまた、最良の先行ビートのインデックスを、
0006017687.tif 000017
として記憶する。ここで、
0006017687.tif 000018
である。
【０１０５】
音楽の抜粋部の末尾において、末尾から１ビート周期以内の最良累積スコアが選択され、そのスコアをもたらしたビートシーケンスB1全体を、記憶された先行ビートインデックスを用いてトレースバックする。最良累積スコアは、末尾から１ビート周期以内の累積スコア値の極大値の最大値として選択することができる。そのようなスコアが見つからない場合は、最良累積スコアは、閾値を超える最後の極大値として選択される。ここでの閾値は、累積スコアの極大値の累積スコア中央値の０．５倍である。
【０１０６】
ステップ６．４で得られたビートシーケンスは、BPMestの更新に用いることができる。本発明のいくつかの実施形態においては、BPMestは、動的計画法ビートトラッキングステップから得られたビート時間に基づいて計算されたビート周期中央値に基づいて更新される。
【０１０７】
ステップ６．３で生成されるBPMestの値は、最小ＢＰＭと最大ＢＰＭの間の連続的実数値であり、最小ＢＰＭと最大ＢＰＭは、出力されうる最小及び最大ＢＰＭ値に対応する。この段階においては、ＢＰＭの最小値及び最大値は、k最近傍に基づくテンポ推定器の訓練データ中に存在する最小及び最大ＢＰＭ値により制限される。
〔天井関数及び床関数を用いたBPMestの修正〕
【０１０８】
電子音楽にはよく整数ＢＰＭ設定が用いられる。この理解に基づき、ステップ６．５において、天井関数及び床関数をBPMestに適用する。既知のことであろうが、天井関数及び床関数はそれぞれ、上下直近の整数、すなわち、次の最小及び前の最大整数を与える。したがって、この段階６．５の結果は、floor(BPMest)及びceil(BPMest)で表される２組のデータになる。
【０１０９】
floor(BPMest)及びceil(BPMest)の値は、第２の処理経路におけるＢＰＭ値として用いられ、そこでは次に記載する低音アクセント信号、すなわち、低周波数成分が支配的なアクセント信号に対してビートトラッキングが実行される。
〔マルチレートアクセント計算〕
【０１１０】
ステップ６．６において、第２のアクセント信号（a2）が、参考文献[3]に記載されたアクセント信号分析方法を用いて生成される。第２のアクセント信号（a2）は、計算効率の良いマルチレートフィルタバンクによる信号分解に基づいている。F0サリエンスに基づくアクセント信号（a1）と比較して、第２のアクセント信号（a2）は、入力された音楽信号の打楽器及び／又は低周波成分により関係し、和声情報が強調されないように生成される。特に、ステップ６．７において、参考文献[3]に記載されるように、ステップ６．６で用いられた最低周波数バンドフィルタからのアクセント信号を選択して、第2のアクセント信号（a2）ではバスドラムの打撃やその他の低周波イベントが強調されるようにする。サブバンドの典型的な上限は１８７．５Ｈｚであるが、より大まかな数字として２００Ｈｚを与えてもよい。これは、電子ダンス音楽はしばしばバスドラムによる安定したビートにより特徴づけられるという理解の結果である。
【０１１１】
図１０から１２は、参考文献[3]に記載された方法の一部、特に、マルチレートフィルタバンクによるオーディオ信号分解を用いた第２のアクセント信号（a2）の取得にかかわる部分を示す。特に、このプロセスの使用について記載した米国特許７６１２２７５号も参照する。図１０において、信号分析器の一部が示されており、ここには再サンプリング器２２２及びアクセントフィルタバンク２２６が含まれる。再サンプリング器２２２は、固定サンプリングレートでオーディオ信号２２０を再サンプリングする。固定サンプリングレートは、例えばアクセントフィルタバンク２２６の属性に基づいてあらかじめ定められていてもよい。オーディオ信号２２０が再サンプリング器２２２で再サンプリングされるので、任意のサンプリングレートを有するデータを分析器に供給してもよく、また、再サンプリング器２２２はアクセントフィルタバンク２２６での使用に適当な固定レート信号を生成するために必要な任意のアップサンプリングやダウンサンプリングを実行できるため、アクセントフィルタバンク２２６での使用に適当なサンプリングレートへの変換を行うことができる。再サンプリング器２２２の出力を、再サンプリングされたオーディオ入力と考えてもよい。よって、何かしらの音声分析を行う以前に、オーディオ信号２２０は再サンプリング器２２２により、例えば２０〜３０ｋＨｚの範囲から選ばれたサンプリングレートに変換される。一実施形態においては、２４ｋＨｚによる実装例を用いる。この選ばれたサンプリングレートが望ましいのは、分析は特定の周波数域に対して行われるからである。分析の成功には忠実度の高さは必須ではないので、再サンプリングは、線形補間等の比較的低質のアルゴリズムで行うことができる。よって一般的に、任意の標準的な再サンプリング方法を問題なく適用することができる。
【０１１２】
アクセントフィルタバンク２２６は再サンプリング器２２２と連通しており、再サンプリング器２２から再サンプリングされたオーディオ入力２２４を受信する。アクセントフィルタバンク２２６は、再サンプリングされたオーディオ入力２２４を後続の分析に適当な形式に変換するための信号処理を実装している。アクセントフィルタバンク２２６は、再サンプリングされたオーディオ入力２２４を処理してサブバンドアクセント信号２２８を生成する。各サブバンドアクセント信号２２８は、再サンプリングされたオーディオ入力２２４の特定周波数域に対応する。よって、サブバンドアクセント信号２２８は、各サブバンドにおいて知覚されたアクセントの推定値を表している。サブバンドアクセント信号２２８は大きくダウンサンプリングされているため、オーディオ信号２２０の元の情報の多くはアクセントフィルタバンク２２６で失われる。なお、図１０には４つのサブバンドアクセント信号２２８を示したが、任意の数のサブバンドアクセント信号２２８を用いることができる。ただしこの応用例においては、周波数が最も低いサブバンドアクセント信号を取得することのみに関心を置いている。
【０１１３】
図１１に、アクセントフィルタバンク２２６の実施形態例をより詳細に示す。ただし一般的には、アクセントフィルタバンク２２６は、入力データをダウンサンプリングできる任意の手段又はデバイスとして実現されてもよい。ここで用いるダウンサンプリングという用語は、データ圧縮を行うために、サンプリングされたデータをさらに処理しつつサンプリングレートを低くすることと定義される。よって、一実施形態例においては、そのようなデータ圧縮を行うために、間引きサブバンドフィルタバンク及びアクセント推定器として働くアクセントフィルタバンク２２６が用いられる。適当な間引きサブバンドフィルタバンクの例としては、下記のように直交ミラーフィルタがある。
【０１１４】
図１１に示すように、再サンプリングされたオーディオ信号２２４は、まずサブバンドフィルタバンク２３０によってサブバンドオーディオ信号２３２に分けられ、そして各帯域につき別々に、対応するパワー推定素子２３４によってサブバンドのパワーを示すパワー推定信号が計算される。または、絶対信号サンプル値に基づくレベル推定値を用いてもよい。そして、各帯域について、対応するアクセント計算素子２３６によってサブバンドアクセント信号２２８を計算してもよい。ビートトラッキングアルゴリズムの計算効率は、かなりの程度、アクセントフィルタバンク２２６におけるフロントエンド処理によって決定される。これは、オーディオ信号のサンプリングレートが比較的高いため、サンプル当りの処理の数が多くなくても、一秒当たりの処理の数は多くなるからである。したがって、この実施形態においては、サブバンドフィルタバンク２３０は、入力オーディオ信号を内部的にダウンサンプリング（すなわち間引き）しうるように実装される。さらに、パワー推定により、ある時間ウィンドウにわたる平均パワー推定値が与えられ、これによりもう一度ダウンサンプリングされた信号が出力される。
【０１１５】
上述の通り、オーディオサブバンドの数は任意に変更してもよい。しかしながら、４つの定義された信号帯域を有する実施形態例を具体的に示したのは、十分に詳細を記載するためと、よい計算性能を発揮するからである。ここで記載している実施形態例において、入力サンプリングレートが２４ｋＨｚだとすると、周波数帯域は例えば、０〜１８７．５Ｈｚ、１８７．５〜７５０Ｈｚ、７５０〜３０００Ｈｚ、３０００〜１２，０００Ｈｚであってもよい。このような周波数帯域構成は、連続するフィルタリング及びダウンサンプリングフェーズにより実装することができ、そこで各段階においてサンプリングレートは４分の１に減らされる。例えば、図１２において、サブバンドアクセント信号(a)を生成する段階では、２４ｋＨｚから６ｋＨｚにダウンサンプリングされ、サブバンドアクセント信号(b)を生成する段階では、６ｋＨｚから１．５ｋＨｚにダウンサンプリングされ、サブバンドアクセント信号(c) を生成する段階では、１．５ｋＨｚから３７５Ｈｚにダウンサンプリングされる。または、より極端なダウンサンプリングを実行してもよい。本実施形態においては、分析結果はいかなる方法でも音声信号に変換し直されることはないので、サブバンド信号の実際の質は重要ではない。したがって、音の韻律属性（metrical property）が保持される限りにおいて、ナイキスト理論により許容されるであろうよりも低いサンプリングレートにダウンサンプリングする際に発生しうるエイリアシングを考慮に入れることなく、信号をさらに間引きすることができる。
【０１１６】
図１２は、アクセントフィルタバンク２２６の一実施形態例をより詳細に示す。アクセントフィルタバンク２２６は、再サンプリングされたオーディオ信号２２４を、直交ミラーフィルタ（ＱＭＦ）２３８を介した直交ミラーフィルタリングによって、７つの周波数帯域（この例では、１２ｋＨｚ、６ｋＨｚ、３ｋＨｚ、１．５ｋＨｚ、７５０Ｈｚ、３７５Ｈｚ、１２５Ｈｚ）に分割する。ＱＭＦ１０２からの７つの１オクターブサブバンド信号は、４つの２オクターブサブバンド信号(a)〜(d)に合成される。この実施形態例においては、２つの高周波側合成サブバンド信号（すなわち、(a)及び(b)）が、それぞれ１５及び３サンプル遅延され（それぞれz<-15 >及びz<-3>で）、サブバンド間の信号群遅延を等化する。パワー推定素子２３４及びアクセント計算素子２３６は、各サブバンドについてサブバンドアクセント信号２２８を生成する。
【０１１７】
本応用例においては、信号内のバスドラムビート及び／又はその他の低周波イベントを表す最低周波数サブバンド信号のみを扱っている。出力前に、最低周波数サブバンドアクセント信号は、サンプルを最大サンプル値で除算することにより正規化することもできる。平均除去や分散正規化等のその他の正規化方法を適用することもできる。正規化された最低周波数サブバンドアクセント信号は、a2として出力される。
〔第２のビートトラッキング段階〕
【０１１８】
図６のステップ６．８において、第２及び第３のビート時間シーケンス（Bceil）（Bfloor）が生成される。
【０１１９】
この処理段階への入力には、第２のアクセント信号（a2）及びステップ６．５で生成されたfloor(BPMest)及びceil(BPMest)の値が含まれる。こうする理由は、音楽が電子ダンス音楽である場合、ビート時間シーケンスがfloor(BPMest)又はceil(BPMest)での（a2）中のピークと整合する可能性がかなり高いからである。
【０１２０】
（a2）、floor(BPMest)、ceil(BPMest)を用いてビートトラッキングを行う方法は様々なものがある。ここでは、第２のビートトラッキング段階６．８は、次のように実行される。
【０１２１】
図７において、参考文献[7]に記載された動的計画法ビートトラッキング方法が、第２のアクセント信号（a2）を用いて実行される。第２のアクセント信号（a2）は、floor(BPMest)とceil(BPMest)のそれぞれを用いて別々に適用される。これにより、図７に示すように、参照符号７．１及び７．４により示される動的計画法ビートトラッキングステップを含む２つの処理経路が提供される。
次の段落は、１つのパスのみ、具体的には、floor(BPMest)に適用されるパスのみの処理について記載するが、ceil(BPMest)に適用されるもう一方のパスでも同じ処理が実行されることは理解されるであろう。前述の場合と同様に、２つの処理経路に関係する参照符号は、いかなる意味においても処理の順番を示すものではなく、両パスを並列に実行することもできる。
【０１２２】
ステップ７．１における動的計画法ビートトラッキング方法は、初期ビート時間シーケンスbtを与える。次に、ステップ７．２において、理想ビート時間シーケンスbiが次のように計算される。
bi = 0,    1/ (floor(BPMest) / 60), 2/ (floor(BPMest) / 60), etc.
【０１２３】
次に、ステップ７．３において、biを少量オフセットした場合の初期ビート時間シーケンスbtと理想ビート時間シーケンスbiの間の最良マッチを求める。このマッチを求めるために、参考文献[1]に記載された基準を用いて２つのビート時間シーケンスの類似度を測定する。参考文献[1]で提案されたテンポトラッキングの正確性をＲ、０から1.1/ (floor(BPMest) / 60)の範囲で刻み幅0.1/ (floor(BPMest) / 60)の偏差をdevとし、スコアR(bt, bi + dev)を評価する。刻み幅はパラメータであり、可変である。Matlabの表現では、スコアRは次のように計算することができる。
function R=beatscore_cemgil(bt, at)
sigma_e=0.04; % expected onset spread
% match nearest beats
id=nearest(at(:)',bt(:));
% compute distances
d=at-bt(id);
% compute tracking index
s=exp(-d.^2/(2*sigma_e^2));
R=2*sum(s)/(length(bt)+length(at)); 
【０１２４】
ルーチンへの入力'bt'はbtであり、各イテレーションでの入力'at'は、bi + devである。関数'nearest'は、２つのベクトル中の最も近い値を求め、'bt'中の'at'に最も近い値のインデックスを返す。Matlabの表現では、この関数は次のように表現することができる。
function n = nearest(x,y)
%   x row vector
%   y column vector:
%       indices of values nearest to x's in y
x = ones(size(y,1),1)*x;
[junk,n] = min(abs(x-y));
【０１２５】
出力はビート時間シーケンスbi + devmaxであり、devmaxは最大スコアRをもたらす偏差である。ただしここで、R以外のスコアを用いることもできる。スコアが、２つのビートシーケンスの類似度の指標であることが望ましい。
上記の通り、ステップ7.4、7.5、7.6において、この処理はceil(BPMest)についても実行され、この場合は上記段落のfloor(BPMest)の値がceil(BPMest)の値に変更される。
【０１２６】
ステップ７．３及び７．６からの出力は、２つのビート時間シーケンス、すなわちceil(BPMest)に基づくBceil及びfloor(BPMest)に基づくBfloorである。これらのビートシーケンスは、一定のビート間隔を有する。すなわち、２つの隣接ビートの周期は、ビート時間シーケンス全体で一定である。
〔ビート時間シーケンスの選択〕
【０１２７】
図６に戻ると、第１及び第２のビートトラッキング段階６．４及び６．８の結果として、次の３つのビート時間シーケンスが得られている。
クロマアクセント信号及び実際のＢＰＭ値BPMestに基づくb1
ceil(BPMest)に基づくbceil
floor(BPMest)に基づくbfloor
【０１２８】
残る処理段階6.9、6.10、6.11では、これらの内どれが得られたアクセント信号を最もよく説明するものかを判断する。このために、アクセント信号a1又はa2の一方または両方を用いることができる。マルチレートアクセント信号の最低周波数帯域を表すa2のみを用いた場合に、より正確で頑健な結果が観察された。
【０１２９】
図８に示す通り、次のようにスコアリングシステムを用いる。まず、b1、bceil、bfloorのそれぞれにおいて、ビート時間に対応する時間におけるアクセント信号a2の平均値を別々に計算する。ステップ6.11において、アクセント信号a2の平均値が最も大きいビート時間シーケンスが最良マッチと判断され、ステップ6.12における出力ビート時間シーケンスとして選択される。平均値の代わりに、幾何平均、調和平均、中央値、最大値、総和等の他の指標を用いることもできる。
【０１３０】
実装の詳細として、平均アクセント信号値を計算する際に、ビートインデックスにおいて、最大でアクセント信号サンプリング周期の＋／−１０倍の小さい一定の偏差が許容される。すなわち、平均スコアを求める際に、システムはある偏差の範囲で繰り返し処理を実行し、各イテレーションにおいて、ビートインデックスに現在の偏差値を加算し、ずれたビートインデックスに対応するアクセント信号の平均値を計算して記憶する。最後に、異なる偏差の値に対応する平均値から、最大平均値を求めて出力する。このステップは任意であるが、偏差の助けがあるとビート時間をアクセント信号のピークにより正確にマッチさせることができるため、頑健性が上がることが分かっている。さらに、任意で、ずれたビート時間シーケンスにおける各ビートインデックスもずらしてもよい。この場合は、各ビートインデックスは、最大で＋／−１サンプルずらされ、平均を計算する際、各ビートに対応するアクセント信号値はこの範囲内の最大値として求められる。これにより、各ビートの正確な位置の検索が可能になる。このステップも、この方法の頑健性を若干高くすることが分かっている。
【０１３１】
直観的には、最後のスコアリングステップでは、得られた３つのビート時間シーケンス候補b1、Bceil、Bfloorのそれぞれのアクセント信号a2へのマッチングを行い、最良マッチを与えるものを選択する。良いマッチとは、アクセント信号中の大きい値がビート時間と一致し、ビート時間における平均アクセント信号値が高いものである。整数ＢＰＭ，すなわちBceil及びBfloorに基づくビートシーケンスの一方がアクセント信号a2をよく説明する場合、すなわち、ビートにおける平均アクセント信号値が高くなる場合、そのビートシーケンスがベースラインビート時間シーケンスb1よりも優先的に選択される。実験データによれば、入力される音楽信号が電子ダンス音楽（又はバスドラムにより表される強いビートを伴い整数値のテンポを有するその他の音楽）に対応する場合は、上記のような選択が行われることが多く、この方法によりそのような形式の音楽に対する性能が大きく改善することが分かっている。Bceil及びBfloorが十分に高い平均値を与えない場合は、ビートシーケンスb1を用いる。電子音楽以外のほとんどの種類の音楽についてはこれが当てはまることが観察されている。
【０１３２】
ceil(BPMest)及びfloor(BPMest)を用いる代わりに、１つの推定ＢＰＭ整数値を用いてこの方法を実行することもできる。すなわち、例えばこの方法で、round(BPMest )、ceil(BPMest)、floor(BPMest)の１つを計算し、その結果と低周波数アクセント信号a2を用いてビートトラッキングを実行する。場合によっては、ＢＰＭ値の整数への変換を完全に省略し、BPMestをa2に対して用いてビートトラッキングを行うこともありうる。
【０１３３】
テンポ推定ステップにより信号の異なる時間位置にわたってＢＰＭ値のシーケンスが生成される場合、例えばＢＰＭ値の平均又は中央値を取ることにより、アクセント信号a2に対するビートトラッキングに用いられたテンポ値を得ることができる。すなわち、この場合は、この方法により、テンポ推定器からのフレームごとのテンポ推定値を用いて、クロマアクセント特性に基づくアクセント信号a1に対してビートトラッキングを実行することができる。a2に適用されるビートトラッキングでは一定のテンポを推定することができ、場合によっては整数に四捨五入した、全体の平均又は中央値によるＢＰＭ推定値を用いて実行することができる。
【０１３４】
要約すると、制御部２０２によりソフトウェア制御の下で実行される音声分析処理は、次のステップを含む。
【０１３５】
テンポ（ＢＰＭ）推定値及び第１のビート時間シーケンスを、参考文献[2]及び参考文献[7]に記載された方法の組み合わせを用いて取得する；
低周波数帯域アクセントが強調されたアクセント信号を、参考文献[3]に記載された方法を用いて取得する；
テンポ推定値の整数切り上げ及び切り下げを計算する；
第２及び第３のビート時間シーケンスを、アクセント信号及びテンポ推定値の整数切り上げ及び切り下げを用いて計算する；
第１、第２、第３のビート時間シーケンスの「良好度」スコアを、アクセント信号を用いて計算する；
最高良好度スコアに対応するビート時間シーケンスを出力する。
【０１３６】
これらのステップは、スタジオで制作された電子音楽、そして時にはライブ音楽も（特にクラブ及び／又はその他の電子音楽コンサートや演奏において）、シーケンサーに設定された、又はメトロノームを用いて取得された一定のテンポを用いているという理解を利用している。さらに、テンポはしばしば整数値である。実験結果によれば、電子音楽に対するビートトラッキングの正確性は、上述のシステム及び方法を用いた結果、約６０％の正しさから約９０％の正しさに改善されたことが分かっている。特に、参考文献[2]に記載されたテンポ推定及び参考文献[7]に記載されたクロマアクセント特性に適用されるビートトラッキングステップに基づくビートトラッキング方法では、時にビート位相エラーが発生しやすい。すなわち、ビートがビート上ではなくビート間に位置している可能性があるということである。そのようなエラーの原因は、例えば、大量のシンコペーションを含む音楽、すなわち、オンビートではなくオフビートの音楽的イベント、強勢、或はアクセントを有する音楽である可能性がある。上述のシステム及び方法は、電子ダンス音楽におけるビート位相エラーを除去するのに特に有用であった。
【０１３７】
主たる実施形態においてはテンポ推定を用いたが、より一般的な意味において、周期又は周波数の推定を用いることができる。すなわち、ビート等の、ある韻律レベルに対応する信号中の周期又は周波数の推定を用いることができる。ビート周期の周期推定をテンポ推定と呼んでいるが、他の韻律レベルを用いることもできる。テンポは、１／＜ビート周期＞＊６０という形でビート周期に関連している。すなわち、０．５秒の周期は１２０ＢＰＭのテンポに対応する。すなわち、テンポは、テンポに対応するパルスの周波数を表現したものである。または、もちろんシステムは他の周波数表現を用いることもでき、例えばＨｚの場合は２Ｈｚが１２０ＢＰＭに対応する。
【０１３８】
上述の実施形態は例示のためだけのものであり、本発明の範囲を限定するものではないことは理解されるであろう。その他の変形や修正は、本出願を読めば当業者には明らかであろう。
【０１３９】
さらに、本出願の開示は、ここに明示的又は黙示的に開示された新規の特徴、特徴の新規な組み合わせ、或はその一般化を含むと理解されるべきである。本出願又は本出願から派生する任意の出願の審査過程において、そのような特徴及び／又は特徴の組み合わせを含む新規請求項を作成することができる。
【図１】
0006017687.tif 000019
【図２】
0006017687.tif 000020
【図３】
0006017687.tif 000021
【図４】
0006017687.tif 000022
【図５】
0006017687.tif 000023
【図６】
0006017687.tif 000024
【図７】
0006017687.tif 000025
【図８】
0006017687.tif 000026
【図９】
0006017687.tif 000027
【図１０】
0006017687.tif 000028
【図１１】
0006017687.tif 000029
【図１２】
0006017687.tif 000030