(57)【要約】【課題】楽曲の音楽信号を再生しながら高精度に音楽のリズムにおけるビートを抽出する。【解決手段】ビート抽出処理部１２は、.wavファイルに記録されているデジタルオーディオ信号が供給されると、このデジタルオーディオ信号から粗いビート位置情報を抽出し、結果を.mtyファイルに記録されたメタデータとして出力する。また、ビート整列処理部１３は、.mtyファイルに記録されたメタデータのビート情報を整列し、結果を.mayファイルに記録されたメタデータとして出力する。【選択図】図２
2007199306.tif 000002
【特許請求の範囲】
【請求項１】
楽曲におけるリズムのビート位置情報を抽出するビート抽出処理手段と、
上記ビート抽出処理手段により抽出されて得られた上記ビート位置情報を用いてビート周期情報を生成し、当該ビート周期情報に基づいて、上記ビート抽出処理手段により抽出されたビート位置情報のビートを整列するビート整列処理手段と
を備えることを特徴とするビート抽出装置。
【請求項２】
上記ビート整列処理手段は、
上記楽曲全体又は上記楽曲のテンポが同じと想定される部分において抽出されたビート位置情報を用いることを特徴とする請求項１記載のビート抽出装置。
【請求項３】
上記ビート抽出処理手段は、
上記音楽の音楽信号における時間波形より上記音楽信号のパワースペクトルを算出するパワースペクトル算出手段と、
上記パワースペクトル算出手段で算出されたパワースペクトルの変化量を算出し、上記算出した変換量を出力する変化量算出手段と
を備えることを特徴とする請求項１記載のビート抽出装置。
【請求項４】
上記ビート整列手段は、上記ビート周期情報のビート周期と時間的に一致するビートを中心としてウィンドウ幅を定義し、当該ウィンドウ幅内に存在するビートのみを抽出することを特徴とする請求項１記載のビート抽出装置。
【請求項５】
上記ビート抽出手段は、上記ウィンドウ幅内にビートが存在しない場合、当該ウィンドウ幅内に新たなビートを付加し、当該付加されたビートを抽出することを特徴とする請求項４記載のビート抽出装置。
【請求項６】
上記ビート整列処理手段は、上記ビートが整列されたビート位置情報の信頼度を示す指標値を算出して当該指標値が一定の閾値以上であるか否かを判断することを特徴とする請求項１記載のビート抽出装置。
【請求項７】
上記ビート抽出処理手段及び上記ビート整列処理手段は、それぞれビート抽出処理条件及びビート整列処理条件を特定する内部パラメータを有し、上記指標値が一定の閾値以上になるまでそれぞれ上記内部パラメータを繰り返し変更することを特徴とする請求項６記載のビート抽出装置。
【請求項８】
上記指標値が一定の閾値以上になるまで上記ビート整列処理手段で整列されたビート位置情報を手動にて修正する修正手段をさらに備えることを特徴とする請求項６記載のビート抽出装置。
【請求項９】
上記指標値は、上記ビート位置情報のビート間における瞬時ＢＰＭの分散値に反比例する関数であることを特徴とする請求項６記載のビート抽出装置。
【請求項１０】
楽曲におけるリズムのビート位置情報を抽出するビート抽出処理工程と、
上記ビート抽出処理工程により抽出されて得られた上記ビート位置情報を用いてビート周期情報を生成し、当該ビート周期情報に基づいて、上記ビート抽出処理手段により抽出されたビート位置情報のビートを整列するビート整列処理工程と
を有することを特徴とするビート抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽のリズムのビートを抽出するビート抽出装置及びビート抽出方法に関する。
【背景技術】
【０００２】
楽曲は、小節や拍といった時間尺度が基本となって構成されている。このため、演奏家は、小節や拍を基本的な時間尺度として楽曲を演奏する。演奏家は、楽曲を演奏するタイミングを採るに当たり、何小節の何拍目から特定の音を鳴らすという方法で演奏しているのであって、決して、演奏開始から何分何秒後に特定の音を鳴らすといったタイムスタンプを用いた方法で演奏しているのではない。音楽が小節や拍で規定されていることにより、演奏家は、テンポやリズムに揺れがあっても柔軟に対応でき、また、同じ楽譜の演奏でも演奏家毎にテンポやリズムにおいて個性を出すことが可能となる。
【０００３】
演奏家が行う演奏は、最終的に音楽コンテンツとしてユーザの元に届けられる。具体的には、各演奏家の演奏が、例えばステレオの２チャンネルという形でミックスダウンされ、一つの完成パッケージとなる。この完成パッケージは、例えばＰＣＭ（Pulse Code Modulation）方式を利用した音楽ＣＤ（Compact Disc）としてユーザに届く。この音楽ＣＤにおける音源は、いわゆるサンプリング音源と呼ばれるものである。
【０００４】
このようなＣＤ等のパッケージの段階では、演奏家が意識している小節や拍等のタイミングについての情報が欠落している。
【０００５】
しかし、人間は、このＰＣＭ方式における音声波形をＤ／Ａ（Digital to Analog）変換して得られたアナログ音を聴くだけで、自然に小節や拍といったタイミングについての情報を再認識することができる。すなわち、人間は、音楽のリズムという感覚を自然に取り戻すことができるのである。一方、機械は、このような能力を有しておらず、音楽そのものとは直接関係の無いタイムスタンプという時刻についての情報のみを有する。
【０００６】
このような演奏家による演奏や歌手の歌声により提供される楽曲の比較対象として、従来のカラオケのようなシステムがある。このシステムでは、音楽のリズムに合わせて歌詞をカラオケ用の表示画面に表示する。
【０００７】
しかし、このようなカラオケシステムは、音楽のリズムを認識しているのではなく、ＭＩＤＩ（Music Instrument Digital Interface）と呼ばれる専用データを単に再生しているに過ぎない。
【０００８】
ＭＩＤＩフォーマットには、シンクロ制御に必要な演奏情報や歌詞情報、発音タイミング（イベント時刻）を記述したタイムコード情報（タイムスタンプ）がＭＩＤＩデータとして記述されている。ＭＩＤＩデータは、コンテンツ制作者により予め作られたものであり、カラオケ再生装置は、ＭＩＤＩデータの指示に従って、しかるべきタイミングで発音を行っているに過ぎない。言わば、装置が楽曲をその場で生成（演奏）しているのである。これは、ＭＩＤＩデータとその専用装置という限定的な環境でのみ楽しみを享受できるものである。
【０００９】
なお、ＭＩＤＩの他にもＳＭＩＬ（Synchronized Multimedia Integration Language）等、多種多様なフォーマットが存在するが、基本的な考え方は同じである。
【００１０】
ところで、世の中に流通している音楽コンテンツは、ＭＩＤＩやＳＭＩＬより、例えばＣＤに代表されるＰＣＭデータやその圧縮音声であるＭＰ３（MPEG（Moving Picture Experts Group）Audio Layer ３）等、前述したサンプリング音源と呼ばれる生の音声波形を主体としたフォーマットが主流である。
【００１１】
音楽再生装置は、これらのサンプリングされたＰＣＭ等の音声波形をＤ／Ａ変換して出力することにより、ユーザに音楽コンテンツを提供する。また、ＦＭラジオ放送等に見られるように、音楽波形そのもののアナログ信号を放送するという例もある。さらには、コンサート、ライブ演奏等、その場で人が演奏してユーザに提供するという例もある。
【００１２】
もし、機械が音楽の生の音楽波形から、音楽の小節や拍といったタイミングを自動的に認識できたとすれば、ＭＩＤＩやＳＭＩＬのイベント時刻情報等のような予め用意された情報がなくとも、カラオケやダンスのように音楽と他のメディアがリズム同期するようなシンクロ機能を実現でき、さらには、膨大な既存のＣＤ等のコンテンツに対しても新たなエンターテインメントの可能性が広がる。
【００１３】
従来から、テンポやビートを自動的に抽出する試みは行われてきている。
【００１４】
例えば、特許文献１には、時系列信号としての音楽波形信号の自己相関を算出し、この算出結果に基いて音楽のビート構造を解析し、さらにこの解析結果に基づいて音楽のテンポを抽出する方法が開示されている。
【００１５】
また、特許文献２には、楽曲データから複数の周波数帯別の音圧データを作成し、その複数の周波数帯の中からリズムを最も顕著に刻む周波数帯を特定し、特定した周波数タイミングの音圧データにおける変化周期に基づいてリズム成分を推定する方法が記載されている。
【００１６】
【特許文献１】特開２００２−１１６７５４公報
【特許文献２】特許第３０６６５２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
リズム、ビート、テンポ等を算出する技術を大きく分類すると、上記特許文献１のように音楽信号を時間領域で分析するものと、上記特許文献２のように周波数領域で分析するものとに分けられる。
【００１８】
しかし、前者の時間領域で分析するものは、ビートと時間波形とが必ずしも一致するわけではないので、本質的に高い抽出精度が得られない。また、後者の周波数分析を用いるものは、前者よりも比較的抽出精度を向上させる事ができるが、周波数分析により得られたデータの中には、特定の音符におけるビート以外に多くのビートが多く含まれ、全てのビートから特定の音符におけるビートを分離する事が極めて困難である。また、音楽のテンポ（時間周期）自体にも大きな揺らぎがあるため、それらの揺れに追従して、特定の音符におけるビートのみを抽出するのは極めて困難である。
【００１９】
このように、従来の技術では１曲全体に渡って、時間的に揺れている特定の音符におけるビートを抽出する事は不可能であった。
【００２０】
本発明は、このような従来の実情に鑑みて提案されたものであり、テンポが揺れている楽曲に対しても、１曲全体に渡って高精度に特定の音符におけるビートのみを抽出することができるビート抽出装置及びビート抽出方法を提供することを目的とする。
【課題を解決するための手段】
【００２１】
上述した目的を達成するために、本発明に係るビート抽出装置は、楽曲におけるリズムのビート位置情報を抽出するビート抽出処理手段と、上記ビート抽出処理手段により抽出されて得られた上記ビート位置情報を用いてビート周期情報を生成し、当該ビート周期情報に基づいて、上記ビート抽出処理手段により抽出されたビート位置情報のビートを整列するビート整列処理手段とを備えることを特徴とする。
【００２２】
また、上述した目的を達成するために、本発明に係るビート抽出方法は、楽曲におけるリズムのビート位置情報を抽出するビート抽出処理工程と、上記ビート抽出処理工程により抽出されて得られた上記ビート位置情報を用いてビート周期情報を生成し、当該ビート周期情報に基づいて、上記ビート抽出処理手段により抽出されたビート位置情報のビートを整列するビート整列処理工程とを有することを特徴とする。
【発明の効果】
【００２３】
本発明によれば、楽曲におけるリズムのビート位置情報を抽出し、この抽出されて得られたビート位置情報を用いてビート周期情報を生成し、このビート周期情報に基づいて抽出されたビート位置情報のビートを整列することにより、楽曲全体から特定の音符におけるビート位置情報を高精度に抽出することが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２５】
図１は、本発明に係るビート抽出装置の一実施形態を含む音楽再生装置１０の内部構成を示すブロック図である。音楽再生装置１０は、例えば、パーソナルコンピュータで構成される。
【００２６】
音楽再生装置１０において、システムバス１００には、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３とが接続されている。ＲＯＭ１０２には各種プログラムが記録されており、ＣＰＵ１０１は、ワークエリアとしたＲＡＭ１０３上でこれらのプログラムに基づく処理を実行する。
【００２７】
また、システムバス１００には、音声データデコード部１０４と、メディアドライブ１０５と、通信ネットワークインターフェース（インターフェースは図ではＩ／Ｆと記載する。以下同じ。）１０７と、操作入力部インターフェース１０９と、ディスプレイインターフェース１１１と、Ｉ／Ｏポート１１３及びＩ／Ｏポート１１４と、入力部インターフェース１１５と、ＨＤＤ（Hard Disc Drive）１２１とが接続されている。各機能ブロックで処理される一連のデータは、このシステムバス１００を介して他の機能ブロックに供給される。
【００２８】
メディアドライブ１０５は、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）等のディスク１０６に記憶されている音楽コンテンツの音楽データを、システムバス１００に取り込む。
【００２９】
操作入力部インターフェース１０９には、キーボード、マウス等の操作入力部１１０が接続されている。
【００３０】
ディスプレイ１１２は、例えば、抽出したビートに同期した表示をしたり、抽出したビートに同期して踊る人形やロボットを表示したりすることを想定している。
【００３１】
Ｉ／Ｏポート１１３には、オーディオ再生部１１７と、ビート抽出部１１とが接続されている。また、Ｉ／Ｏポート１１４には、ビート抽出部１１が接続されている。
【００３２】
入力部インターフェース１１５には、Ａ／Ｄ（Analog to Digital）変換器１１６Ａと、マイクロホン端子１１６Ｂと、マイクロホン１１６Ｃとを備える入力部１１６が接続されている。マイクロホン１１６Ｃで収音された音声信号や音楽信号は、Ａ／Ｄ変換器１１６Ａでデジタルオーディオ信号に変換されて入力部インターフェース１１５に供給される。入力部インターフェース１１５は、このデジタルオーディオ信号をシステムバス１００に取り込む。システムバス１００に取り込まれたデジタルオーディオ信号（時間波形信号に相当）は、ＨＤＤ１２１上に.wavファイル等の形式で記録される。この入力部インターフェース１１５を介して取り込まれたデジタルオーディオ信号は、オーディオ再生部１１７に直接は供給されない。
【００３３】
音楽データデコード部１０４は、システムバス１００を介してＨＤＤ１２１またはメディアドライブ１０５から音楽データが供給されると、この音楽データをデコードし、デジタルオーディオ信号を復元する。音楽データデコード部１０４は、この復元されたデジタルオーディオ信号を、システムバス１００を介してＩ／Ｏポート１１３に転送する。Ｉ／Ｏポート１１３は、システムバス１００を介して転送されてくるデジタルオーディオ信号をビート抽出部１１及びオーディオ再生部１１７に供給する。
【００３４】
既存のＣＤ等のメディア１０６はメディアドライブ１０５を通して、システムバス１００に取り込まれる。リスナーがダウンロード等をすることにより取得されてＨＤＤ１２１に取り込まれている非圧縮音声コンテンツは、直接システムバス１００に取り込まれる。一方、圧縮音声コンテンツは、一旦、音声データデコード部１０４を通してシステムバス１００に戻される。入力部１１６から入力部インターフェース１１５を介してシステムバス１００に取り込まれたデジタルオーディオ信号（デジタルオーディオ信号は、音楽の信号に限らず、例えば、人声信号やその他のオーディオ帯域信号を含むものとする）も一旦、ＨＤＤ１２１に取り込まれた後、再びシステムバス１００に戻される。
【００３５】
本発明を適用した一実施形態における音楽再生装置１０では、システムバス１００に取り込まれたデジタルオーディオ信号（時間波形信号に相当）は、Ｉ／Ｏポート１１３に転送され、ビート抽出部１１に供給される。
【００３６】
本発明に係るビート処理装置の一実施形態であるビート抽出部１１は、楽曲におけるリズムのビート位置情報を抽出するビート抽出処理部１２と、ビート抽出処理部１２により抽出されて得られたビート位置情報を用いてビート周期情報を生成し、このビート周期情報に基づいて、ビート抽出処理部１２により抽出されたビート位置情報のビートを整列するビート整列処理部１３とを備える。
【００３７】
図２に示すように、ビート抽出処理部１２は、.wavファイルに記録されているデジタルオーディオ信号が供給されると、このデジタルオーディオ信号から粗いビート位置情報を抽出し、結果を.mtyファイルに記録されたメタデータとして出力する。また、ビート整列処理部１３は、.mtyファイルに記録されたメタデータの全部、又はテンポが同じと想定される楽曲部分に対応するメタデータを用いて、ビート抽出処理部１２により抽出されたビート位置情報を整列し、結果を.mayファイルに記録されたメタデータとして出力する。これにより、段階的に精度の高い抽出ビート位置情報を得ることが可能となる。なお、ビート抽出部１１についての詳細は、後述する。
【００３８】
オーディオ再生部１１７は、Ｄ／Ａ変換器１１７Ａと、出力アンプ１１７Ｂと、スピーカ１１７Ｃとを備える。Ｉ／Ｏポート１１３は、システムバス１００を介して転送されてくるデジタルオーディオ信号を、オーディオ再生部１１７が備えるＤ／Ａ変換器１１７Ａに供給する。Ｄ／Ａ変換器１１７Ａは、Ｉ／Ｏポート１１３から供給されたデジタルオーディオ信号をアナログオーディオ信号に変換し、出力アンプ１１７Ｂを通じてスピーカ１１７Ｃに供給する。スピーカ１１７Ｃは、この出力アンプ１１７Ｂを通じてＤ／Ａ変換器１１７Ａから供給されたアナログオーディオ信号を音響再生する。
【００３９】
ディスプレイインターフェース１１１には、例えば、ＬＣＤ（Liquid Crystal Display）等からなるディスプレイ１１２が接続されている。ディスプレイ１１２には、例えば、音楽コンテンツの音楽データから抽出されたビート成分やテンポ値が表示される。また、ディスプレイ１１２には、音楽に同期して、例えば、アニメーション画像や歌詞が表示される。
【００４０】
通信ネットワークインターフェース１０７は、インターネット１０８に接続されている。音楽再生装置１０では、音楽コンテンツの属性情報を記憶するサーバに、インターネット１０８を介してアクセスし、音楽コンテンツの識別情報を検索ワードとしてその属性情報の取得要求を送り、この取得要求に応じてサーバから送られてくる属性情報を、例えば、ＨＤＤ１２１が備えるハードディスクに記憶させる。
【００４１】
音楽再生装置１０に適用される音楽コンテンツの属性情報は、楽曲を構成する情報を含む。楽曲を構成する情報は、楽曲の区切りについての情報、楽曲におけるコード、コード単位のテンポ、キー、音量、及び拍子についての情報、楽譜についての情報、コード進行についての情報、歌詞についての情報等、いわゆる曲調が決まる基準となる情報からなる。
【００４２】
ここで、コード単位とは、楽曲の拍、小節等、楽曲に付すコードの単位である。また、楽曲の区切りついての情報は、例えば、楽曲の先頭位置からの相対位置情報やタイムスタンプからなるものである。
【００４３】
本発明を適用した一実施形態における音楽再生装置１０が備えるビート抽出部１１は、以下に説明するデジタルオーディオ信号の特徴に基づいて、音楽のリズムのビート位置情報を抽出する。
【００４４】
図３（Ａ）は、デジタルオーディオ信号の時間波形の一例を示すものである。この図３（Ａ）に示される時間波形には、所々で瞬間的に大きなピーク値を呈する部分があることがわかる。この大きなピーク値を呈する部分は、例えば、ドラムのビートの一部に相当する部分である。
【００４５】
ところで、図３（Ａ）に示される時間波形を有するデジタルオーディオ信号の時間波形では、隠れていてわからないが、この図３（Ａ）に示される時間波形を有するデジタルオーディオ信号の音楽を実際に聴いてみると、さらに多くのビート成分がほぼ等間隔で含まれていることがわかる。すなわち、図３（Ａ）に示される時間波形の大きなピーク値だけからでは、実際の音楽のリズムのビート成分を抽出することができない。
【００４６】
図３（Ｂ）は、図３（Ａ）に示される時間波形を有するデジタルオーディオ信号のスペクトログラムを示すものである。この図３（Ｂ）に示されるデジタルオーディオ信号のスペクトログラムでは、図３（Ａ）に示される時間波形において隠れていたビート成分が、パワースペクトルが瞬間的に大きく変化する部分として見えることがわかる。そして、実際に音を聴くと、このスペクトログラムにおけるパワースペクトルが瞬間的に大きく変化する部分が、ビート成分に相当するということがわかる。ビート抽出部１１では、このスペクトログラムにおけるパワースペクトルが瞬間的に大きく変化する部分をリズムのビート成分と見なす。
【００４７】
このビート成分を抽出してビート周期を計測することにより、音楽のリズム周期やＢＰＭ（Beat Per Minutes）を知ることもできる。
【００４８】
ビート抽出処理部１２は、図４に示すように、パワースペクトル算出部１２Ａと、変化率算出部１２Ｂと、エンベロープフォロア部１２Ｃと、コンパレータ部１２Ｄと、２値化部１２Ｅとを備える。
【００４９】
パワースペクトル算出部１２Ａには、楽曲の図５（Ａ）に示すような時間波形からなるデジタルオーディオ信号が入力される。
【００５０】
すなわち、音楽データデコード部１０４から供給されたデジタルオーディオ信号は、ビート抽出処理部１２が備えるパワースペクトル算出部１２Ａに供給される。
【００５１】
パワースペクトル算出部１２Ａは、時間波形から高精度にビート成分を抽出することができないため、この時間波形に対し、例えば、ＦＦＴ（Fast Fourier Transform）を用いて図５（Ｂ）に示すようなスペクトログラムを算出する。
【００５２】
このＦＦＴ演算における分解能は、ビート抽出処理部１２へ入力されるデジタルオーディオ信号のサンプリング周波数が４８ｋＨｚである場合、サンプル数を５１２サンプル、又は１０２４サンプルとし、実時間で５〜３０ｍｓｅｃに設定するのが好ましいが、このＦＦＴ演算において設定された各種数値については、これらに限定されない。また、例えば、ハニングやハミング等の窓関数（ウィンドウ関数）をかけながら、且つ、窓（ウィンドウ）をオーバーラップさせながらＦＦＴ演算を行うのが一般的に好ましい。
【００５３】
パワースペクトル算出部１２Ａは、算出したパワースペクトルを変化率算出部１２Ｂに供給する。
【００５４】
変化率算出部１２Ｂは、パワースペクトル算出部１２Ａから供給されたパワースペクトルの変化率を算出する。すなわち、変化率算出部１２Ｂは、パワースペクトル算出部１２Ａから供給されたパワースペクトルに対して微分演算を施すことによりパワースペクトルの変化率を算出する。変化率算出部１２Ｂは、時々刻々と変化するパワースペクトルに対して、微分演算を繰り返し施すことにより、図５（Ｃ）に示すようなビート抽出波形を示す検出信号を出力する。ここで、図５（Ｃ）に示すビート抽出波形の内、正方向に立ち上がるピークをビート成分と見なす。
【００５５】
エンベロープフォロア部１２Ｃは、変化率算出部１２Ｂから検出信号が供給されると、この検出信号に適度な時定数によるヒステリシス特性を加えることにより、この検出信号のチャタリングを除去し、このチャタリングが除去された検出信号をコンパレータ部１２Ｄに供給する。
【００５６】
コンパレータ部１２Ｄは、適度なスレショルドを設け、エンベロープフォロア部１２Ｃから供給された検出信号の低レベルのノイズをカットし、この低レベルのノイズがカットされた検出信号を２値化部１２Ｅに供給する。
【００５７】
２値化部１２Ｅは、コンパレータ部１２Ｄから供給された検出信号の内、閾値以上のレベルを有する検出信号のみを残す２値化処理を行い、Ｐ１,Ｐ２,及びＰ３からなるビート成分の時間位置を示すビート位置情報を.mtyファイルに記録されたメタデータとして出力する。
【００５８】
このように、ビート抽出処理部１２は、デジタルオーディオ信号の時間波形からビート位置情報を抽出し、.mtyファイルに記録されたメタデータとして出力する。なお、このビート抽出処理部１２が備える各構成部には、内部パラメータが存在し、各内部パラメータを変更することで各構成部の動作の効果が変更される。この内部パラメータは、後述するように、自動で最適化されるが、例えば、操作入力部１１０においてユーザの手動によるマニュアル操作により設定する事も可能である。
【００５９】
ビート抽出処理部１２ににより抽出されて.mtyファイルにメタデータとして記録されている楽曲のビート位置情報のビート間隔は、例えば、図６（Ａ）に示すように、非等間隔であることが多い。
【００６０】
ビート整列処理部１３は、ビート抽出処理部１２により抽出されたビート位置情報の内、楽曲、又はテンポが同じと想定される楽曲部分におけるビート位置情報の整列処理を行う。
【００６１】
ビート整列処理部１３は、ビート抽出処理部１２により抽出されて.mtyファイルに記録されているビート位置情報のメタデータから例えば図６（Ａ）のＡ１からＡ１１に示されるような時間間隔が等間隔なビートである等間隔ビートを抽出し、Ｂ１からＢ４で示されるような非等間隔ビートを抽出しないようにする。本実施の形態における等間隔ビートとは４分音符の間隔で等間隔であるものとする。
【００６２】
ビート整列処理部１３は、ビート抽出処理部１２により抽出されて.mtyファイルに記録されているビート位置情報のメタデータから高精度な平均周期Ｔを算出し、平均周期Ｔと時間間隔が等しいビートを等間隔ビートとして抽出する。
【００６３】
ここで、抽出された等間隔ビートのみでは、図６（Ａ）に示すような空白期間が存在してしまう。このため、ビート整列処理部１３は、図６（Ｂ）に示すように、本来等間隔ビートが存在する位置に、Ｃ１からＣ３で示されるような補間ビートを新たに付加する。これにより、全てのビート間隔が等間隔であるビート位置情報を得ることが可能となる。
【００６４】
ビート整列処理部１３は、等間隔ビートと位相がほぼ等しいビートをインビートと定義して抽出する。ここで、インビートは、実際の音楽ビートと同期するビートであり、等間隔ビートも含まれる。一方、ビート整列処理部１３は、等間隔ビートと位相が全く異なるビートをアウトビートと定義して、これを除外する。アウトビートは、実際の音楽ビート（４分音符ビート）とは同期しないビートである。このため、ビート整列処理部１３は、インビートとアウトビートを判別する必要がある。
【００６５】
具体的に、あるビートがインビートであるかアウトビートであるかを判断する方法として、ビート整列処理部１３は、図７に示すように、等間隔ビートを中心とした一定のウィンドウ幅Ｗを定義する。ビート整列処理部１３は、ウィンドウ幅Ｗに含まれるビートをインビートとし、また、ウィンドウ幅Ｗに含まれないビートをアウトビートと判断する。
【００６６】
また、ビート整列処理部１３は、ウィンドウ幅Ｗに等間隔ビートが含まれていないとき、等間隔ビートを補間するためのビートである補間ビートを付加する。
【００６７】
すなわち、ビート整列処理部１３は、例えば、図８に示すように、Ａ１１からＡ２０で示されるような等間隔ビートと、等間隔ビートＡ１１と位相がほぼ等しいビートであるインビートＤ１１とをインビートとして抽出するとともに、Ｃ１１からＣ１３で示されるような補間ビートを抽出する。また、ビート抽出部１３は、Ｂ１１からＢ１３で示されるようなアウトビートを４分音符ビートとしては抽出しないようにする。
【００６８】
実際、音楽ビートは、時間的に揺らいでいるため、この判断において、揺れが大きい音楽に対しては抽出されるインビート数が少なくなる。この結果、ビートスリップと呼ばれる抽出エラーを引き起こすといった問題が発生する。
【００６９】
そこで、揺れが大きい音楽に対しては、ウィンドウ幅Ｗの値を大きく設定し直すことで抽出されるインビート数が多くなり、抽出エラーを少なくすることができる。このウィンドウ幅Ｗは、通常、一定値でよいが、極端に揺れの大きい楽曲に対しては、値を大きくする等、パラメータとして調整を行うことができる。
【００７０】
ビート整列処理部１３は、ウィンドウ幅Ｗに含まれるインビート、一方、ウィンドウ幅Ｗに含まれないアウトビートというビート属性をメタデータとして与える。また、ビート整列処理部１３は、ウィンドウ幅Ｗ内に抽出ビートが存在しない場合、自動的に補間ビートを付加し、この補間ビートというビート属性をもメタデータとして与える。これにより、ビート情報を構成するメタデータは、上述したビート位置情報や上記のビート属性といったビート情報が含まれ、メタデータファイル（.may）に記録される。なお、このビート整列処理部１３が備える各構成部には、基本ウィンドウ幅Ｗ等の内部パラメータが存在し、各内部パラメータを変更することで動作の効果が変更される。
【００７１】
このように、ビート抽出部１１は、ビート抽出処理部１２及びビート整列処理部１３における２段階によるデータ処理により、デジタルオーディオ信号から非常に高精度なビート情報を自動的に抽出することが可能となる。インビート／アウトビート判定のみならず、適切なビート補間処理を加えることにより、１曲全体に渡って、４分音符の等間隔なビート情報を得ることができる。
【００７２】
次に、音楽再生装置１０が、本発明に係るビート抽出部１１で抽出されたビート位置情報に付随して得られる各種音楽特徴量の計算方法について説明する。
【００７３】
音楽再生装置１０は、図９に示すように、ビート抽出部１１で抽出された先頭ビートＸ１と最終ビートＸｎのビート位置情報に基づいて、以下に示す数式（１）により総ビート数を算出することができる。
【００７４】
総ビート数＝総インビート数＋総補間ビート数        （１）
また、音楽再生装置１０では、ビート抽出部１１で抽出されたビート位置情報に基づいて、以下に示す数式（２）及び数式（３）により、音楽テンポ（平均ＢＰＭ）を算出することができる。
【００７５】
平均ビート周期［サンプル］＝（最終ビート位置−先頭ビート位置）／（総ビート数−１）        （２）
平均ＢＰＭ［bpm］＝サンプリング周波数／平均ビート周期×６０        （３）
このように、音楽再生装置１０では、簡単な四則演算により総ビート数及び平均ＢＰＭを得る事ができる。これにより、音楽再生装置１０は、この算出された結果を用いて高速且つ低負荷で楽曲のテンポを算出することができる。なお、楽曲のテンポを求める方法は、これに限られない。
【００７６】
この計算方法では、計算精度が音声サンプリング周波数に依存するので、一般的に、有効数字８桁と、非常に高精度な値を得ることができる。また、この計算方法では、万が一、ビート整列処理部１３のビート抽出処理中に抽出エラーが生じても、そのエラーレートが数百分の一から数千分の一であるため、得られるＢＰＭは、高精度な値となる。
【００７７】
また、音楽再生装置１０は、ビート抽出部１１で抽出されたビート位置情報に基づいて、これまで実現不可能であった楽曲の瞬間的なテンポの揺らぎを示す瞬時ＢＰＭを算出することができる。音楽再生装置１０は、図１０に示すように、等間隔ビートの時間間隔を瞬時ビート周期Ｔｓとして、以下の数式（４）により、瞬時ＢＰＭを算出する。
【００７８】
瞬時ＢＰＭ［bpm］＝サンプリング周波数／瞬時ビート周期Ｔｓ×６０        （４）
音楽再生装置１０は、１ビート毎にこの瞬時ＢＰＭをグラフ化し、ディスプレイインターフェース１１１を介してディスプレイ１１２に表示する。ユーザは、この瞬時ＢＰＭの分布を実際に聴いている音楽におけるテンポの揺らぎ分布として把握し、例えば、リズムトレーニング、楽曲のレコーディングの際に生じる演奏ミスの把握等に利用する事ができる。
【００７９】
図１１は、ライブ録音された楽曲における拍数に対する瞬時ＢＰＭを示すグラフである。また、図１２は、コンピュータのいわゆる打ち込みにより録音された楽曲における拍数に対する瞬時ＢＰＭを示すグラフである。両者を比較してもわかるように、コンピュータ録音された楽曲は、ライブ録音された楽曲よりも揺らぎの時間幅が小さい。これは、コンピュータ録音された楽曲におけるテンポ変動がかなり少ないという性質を有するためである。この性質を利用する事により、これまで不可能であった、ある楽曲がライブ録音されたのか、コンピュータ録音されたのかを自動的に判断することができる。
【００８０】
次に、ビート位置情報の抽出処理をより高精度にする方法について説明する。
【００８１】
ビート抽出部１１により抽出されたビート位置情報を示すメタデータは、一般的に、コンピュータの自動認識技術によって抽出されたものであるため、このビート位置情報は、多少の抽出エラーを含む。特に、楽曲によっては、ビートが不均一に大きく揺れるものや、ビート感の極端に乏しいものがある。
【００８２】
そこで、ビート整列処理部１３は、ビート抽出処理部１２より供給されたメタデータに、このメタデータの信頼度を示す信頼度指標値を付与し、メタデータの信頼度を自動的に判断する。この信頼度指標値は、例えば、以下の数式（５）に示すように、瞬時ＢＰＭの分散値に反比例する関数として定義される。
【００８３】
信頼度指標∝１／瞬時ＢＰＭの分散値        （５）
これは、一般的に、ビート抽出処理において抽出ミスが生じた場合、瞬時ＢＰＭの分散値が大きくなるといった性質があるためである。すなわち、瞬時ＢＰＭの分散値が小さい程、信頼度指標値が大きくなるように定義されている。
【００８４】
この信頼度指標値に基づいて、より高精度にビート位置情報を抽出する方法について図１３及び図１４のフローチャートを用いて説明する。
【００８５】
ビート位置情報の抽出エラーを含む千差万別の楽曲に対して、１００％正確に特定のビート位置情報を自動的に取得することは不可能といってもよい。そこで、ビート位置情報の抽出エラーをユーザの手動によるマニュアル操作により修正することができる。抽出エラーを容易に発見して、エラー部分を修正することができれば、修正作業がより効率的になる。
【００８６】
図１３は、信頼度指標値に基いてビート位置情報を手動修正する一例の処理手順を示すフローチャートである。
【００８７】
ステップＳ１において、Ｉ／Ｏポート１１３よりビート抽出部１１が備えるビート抽出処理部１２にデジタルオーディオ信号が供給される。
【００８８】
ステップＳ２において、ビート抽出処理部１２は、Ｉ／Ｏポート１１３より供給されたデジタルオーディオ信号から、ビート位置情報を抽出し、.mtyファイルに記録されたメタデータとしてビート整列処理部１３に供給する。
【００８９】
ステップＳ３において、ビート整列処理部１３は、ビート抽出処理部１２から供給されたビート位置情報を構成するビートの整列処理を行う。
【００９０】
ステップＳ４において、ビート整列処理部１３は、整列処理が行われたメタデータに付与された信頼度指標値が一定の閾値Ｎ（％）以上であるか否かを判断する。このステップＳ４において、信頼度指標値がＮ（％）以上である場合は、ステップＳ６に進み、信頼度指標値がＮ（％）未満である場合は、ステップＳ５に進む。
【００９１】
ステップＳ５において、音楽再生装置１０が備えるオーサリングツール（図示せず）にて、ユーザによるビート整列処理における手動修正が行われる。
【００９２】
ステップＳ６において、ビート整列処理部１３は、ビート整列処理が行われたビート位置情報を.mayファイルに記録されたメタデータとしてＩ／Ｏポート１１４に供給する。
【００９３】
また、上記信頼度指標値に基いてビート位置情報の抽出条件を変更することにより、ビート位置情報をより高精度に抽出することができる。
【００９４】
図１４は、ビート抽出条件を特定する一例の処理手順を示すフローチャートである。
【００９５】
ビート抽出部１１におけるビート抽出処理では、抽出条件を特定する複数の内部パラメータが存在し、そのパラメータ値により抽出精度が変わる。そこで、ビート抽出部１１においてビート抽出処理部１２及びビート整列処理部１３は、複数の内部パラメータがセットになったものを予め用意し、パラメータセット毎にビート抽出処理を行い、上記信頼度指標値を算出する。
【００９６】
ステップＳ１１において、Ｉ／Ｏポート１１３よりビート抽出部１１が備えるビート抽出処理部１２にデジタルオーディオ信号が供給される。
【００９７】
ステップＳ１２において、ビート抽出処理部１２は、Ｉ／Ｏポート１１３より供給されたデジタルオーディオ信号から、ビート位置情報を抽出し、.mtyファイルに記録されたメタデータとしてビート整列処理部１３に供給する。
【００９８】
ステップＳ１３において、ビート整列処理部１３は、ビート抽出処理部１２から供給されたメタデータのビート整列処理を行う。
【００９９】
ステップＳ１４において、ビート整列処理部１３は、整列処理が完了したメタデータに付与された信頼度指標値が一定の閾値Ｎ（％）以上であるか否かを判断する。このステップＳ１４において、信頼度指標値がＮ（％）以上である場合は、ステップＳ１６に進み、信頼度指標値がＮ（％）未満である場合は、ステップＳ１５に進む。
【０１００】
ステップＳ１５において、ビート抽出処理部１２及びビート整列処理部１３は、それぞれ上述したパラメータセットのパラメータを変更し、ステップＳ１２に戻る。ステップＳ１２及びステップＳ１３の工程後、ステップＳ１４において、再び信頼度指標値の判断が行われる。
【０１０１】
ステップＳ１４において信頼度指標値がＮ（％）以上になるまでステップＳ１２からステップＳ１５までの工程は、繰り返される。
【０１０２】
このような工程を経ることによって最適なパラメータセットを特定することができ、自動ビート抽出処理の抽出精度を大幅に向上させることができる。
【０１０３】
上述したように、本発明に係るビート抽出装置を備えた音楽再生装置１０によれば、ビート位置情報といったタイムスタンプ情報を持たないＰＣＭ等の音声波形（サンプリング音源）であっても、他のメディアと音楽的に同調させることができる。また、ビート位置情報といったタイムスタンプ情報のデータサイズは、数Kbyteから数十Kbyteであり音声波形のデータサイズの数千分の１と非常に小さいことから、メモリ量や処理工程を削減することができるため、ユーザは、非常に容易に取り扱うことができる。
【０１０４】
以上、本発明に係るビート抽出装置を備えた音楽再生装置１０によれば、テンポが変更する音楽やリズムに揺れがある音楽に対して、１曲全体に渡って正確にビートを抽出する事ができ、さらには、音楽と他のメディアの同調させることにより、新たなエンターテイメントを創造することが可能となる。
【０１０５】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【０１０６】
例えば、本発明に係るビート抽出装置は、上述したパーソナルコンピュータや携帯型の音楽再生機にのみ適用されるものではなく、如何なる態様の装置や電子機器にも適用することが可能である。
【図面の簡単な説明】
【０１０７】
【図１】本発明に係るビート抽出装置の一実施形態を含む音楽再生装置の内部構成を示す機能ブロック図である。
【図２】ビート抽出部の内部構成を示す機能ブロック図である。
【図３】（Ａ）は、デジタルオーディオ信号の時間波形の一例を示す図であり、（Ｂ）は、このデジタルオーディオ信号のスペクトログラムを示す図である。
【図４】ビート抽出処理部の内部構成を示す機能ブロック図である。
【図５】（Ａ）は、デジタルオーディオ信号の時間波形の一例を示す図であり、（Ｂ）は、このデジタルオーディオ信号のスペクトログラムを示す図であり、（Ｃ）は、このデジタルオーディオ信号のビート抽出波形を示す図である。
【図６】（Ａ）は、ビート抽出処理部により抽出されたビート位置情報のビート間隔を示す図であり、（Ｂ）は、ビート整列処理部により整列処理されたビート位置情報のビート間隔を示す図である。
【図７】特定ビートがインビートか否かを判断するためのウィンドウ幅を示す図である。
【図８】ビート位置情報のビート間隔を示す図である。
【図９】ビート抽出部で抽出されたビート位置情報に基づいて算出される総ビートを示す図である。
【図１０】総ビート及び瞬時ビート周期を示す図である。
【図１１】ライブ録音された楽曲における拍数に対する瞬時ＢＰＭを示すグラフである。
【図１２】コンピュータのいわゆる打ち込みにより録音された楽曲における拍数に対する瞬時ＢＰＭを示すグラフである。
【図１３】信頼度指標値に応じてビート位置情報を修正する一例における処理手順を示すフローチャートである。
【図１４】ビート抽出条件を自動的に最適化する一例の処理手順を示すフローチャートである。
【符号の説明】
【０１０８】
１０  音楽再生装置、１１  ビート抽出部、１２  ビート抽出処理部、１３  ビート整列処理部、１００  システムバス、１０１  ＣＰＵ、１０２  ＲＯＭ、１０３  ＲＡＭ
【図１】
2007199306.tif 000003
【図２】
2007199306.tif 000004
【図３】
2007199306.tif 000005
【図４】
2007199306.tif 000006
【図５】
2007199306.tif 000007
【図６】
2007199306.tif 000008
【図７】
2007199306.tif 000009
【図８】
2007199306.tif 000010
【図９】
2007199306.tif 000011
【図１０】
2007199306.tif 000012
【図１１】
2007199306.tif 000013
【図１２】
2007199306.tif 000014
【図１３】
2007199306.tif 000015
【図１４】
2007199306.tif 000016