(57)【要約】      （修正有）【課題】拍点、コード進行、及び小節線の位置の推定精度を向上させた音響信号分析装置及び音響信号分析プログラムを提供する。【解決手段】楽曲の音響信号を取り込み、第１拍点候補系列ＯＲ１、及び第１拍点候補系列に対して半拍分ずれた第２拍点候補系列ＯＲ２を検出する。次に、第１拍点系列及び前記第２拍点系列の隣り合う２つの拍点候補の間のコードの特徴を表わす第１ビート同期型コード特徴量系列ＣＲ１及び第２ビート同期型コード特徴量系列ＣＲ２をそれぞれ計算する。楽曲のコード進行を表わす確率モデルのうち、第１ビート同期型コード特徴量系列ＣＲ１及び第２ビート同期型コード特徴量系列ＣＲ２が所定の基準を満たす確率モデルをそれぞれ１つずつ選択し、選択した２つの確率モデルのうち尤度が大きい確率モデルに基づいて、楽曲の拍点、コード進行、及び小節線の位置を推定する。【選択図】図２
2015114361.tif 000002
【特許請求の範囲】
【請求項１】
分析対象としての楽曲の演奏音を表わす音響信号を取り込む音響信号取得手段と、
前記取り込んだ音響信号に基づいて、前記楽曲の複数の拍点候補からなる第１拍点候補系列、及び前記第１拍点候補系列を構成する複数の拍点候補に対してそれぞれ半拍分ずれた複数の拍点候補からなる第２拍点候補系列を検出する拍点候補系列検出手段と、
前記取り込んだ音響信号に基づいて、前記第１拍点系列を構成する複数の拍点候補のうちの隣り合う２つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第１ビート同期型コード特徴量系列を計算するとともに、前記第２拍点系列を構成する複数の拍点候補のうちの隣り合う２つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第２ビート同期型コード特徴量系列を計算するビート同期型コード特徴量系列計算手段と、
前記楽曲のコード進行を表わす確率モデルであって、１小節内の拍数、前記楽曲の調及び最初の拍点の拍子位置の組み合わせに応じて拍点間におけるコードの遷移確率が設定された確率モデルのうち、前記第１ビート同期型コード特徴量系列が所定の基準を満たす確率モデル及び前記第２ビート同期型コード特徴量系列が所定の基準を満たす確率モデルをそれぞれ１つずつ選択し、前記選択した２つの確率モデルのうち尤度が大きい確率モデルに基づいて、前記楽曲の拍点、コード進行、及び小節線の位置を推定する推定手段と、を備えた音響信号分析装置。
【請求項２】
請求項１に記載の音響信号分析装置において、
前記ビート同期型コード特徴量計算手段は、
前記隣り合う２つの拍点候補の間に位置する複数の区間ごとにコードの特徴量を表す個度特徴量を計算するコード特徴量計算手段と、
前記隣り合う２つの拍点候補の間に位置する複数の区間のコード特徴量を平滑化することにより、前記ビート同期型コード特徴量を計算するコード特徴量平滑化手段と、を備えた音響信号分析装置。
【請求項３】
請求項１又は２に記載の音響信号分析装置において、
前記拍点候補系列検出手段は、
前記楽曲の各区間における拍の存在に関する特徴を表わす第１特徴量及びテンポに関する特徴を表わす第２特徴量を計算する拍・テンポ特徴量計算手段と、
前記楽曲の各区間における拍の存在に関する物理量及びテンポに関する物理量の組み合わせにより分類された状態の系列として記述された複数の確率モデルのうち、前記第１特徴量及び前記第２特徴量が前記楽曲の各区間において同時に観測される確率を表わす観測尤度の系列が所定の基準を満たす確率モデルを選択することにより、前記楽曲における拍点及びテンポの推移を同時に推定する拍点・テンポ推定手段と、を備えた音響信号分析装置。
【請求項４】
音響信号分析装置が備えるコンピュータに、
分析対象としての楽曲の演奏音を表わす音響信号を取り込む音響信号取得ステップと、
前記取り込んだ音響信号に基づいて、前記楽曲の複数の拍点候補からなる第１拍点候補系列、及び前記第１拍点候補系列を構成する複数の拍点候補に対してそれぞれ半拍分ずれた複数の拍点候補からなる第２拍点候補系列を検出する拍点候補系列検出ステップと、
前記取り込んだ音響信号に基づいて、前記第１拍点系列を構成する複数の拍点候補のうちの隣り合う２つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第１ビート同期型コード特徴量系列を計算するとともに、前記第２拍点系列を構成する複数の拍点候補のうちの隣り合う２つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第２ビート同期型コード特徴量系列を計算するビート同期型コード特徴量系列計算ステップと、
前記楽曲のコード進行を表わす確率モデルであって、１小節内の拍数、前記楽曲の調及び最初の拍点の拍子位置の組み合わせに応じて拍点間におけるコードの遷移確率が設定された確率モデルのうち、前記第１ビート同期型コード特徴量系列が所定の基準を満たす確率モデル及び前記第２ビート同期型コード特徴量系列が所定の基準を満たす確率モデルをそれぞれ１つずつ選択し、前記選択した２つの確率モデルのうち尤度が大きい確率モデルに基づいて、前記楽曲の拍点、コード進行、及び小節線の位置を推定する推定ステップと、を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲を表わす音響信号を分析して、楽曲における拍点（拍のタイミング）及び楽曲の各区間で発音されるコード（和音）を検出する音響信号分析装置及び音響信号分析プログラムに関する。
【背景技術】
【０００２】
従来から、例えば、下記非特許文献１に示されているように、楽曲における拍点、及び楽曲の各区間で発音されるコード（和音）を検出する音響信号分析装置は知られている。この音響信号分析装置においては、まず、音響信号を分析して、楽曲の拍点を決定している。そして、前記検出した拍点においてコード変化が生起し、かつ小節の先頭でコード変化が生起するという仮定の下で、楽曲の各区間のコード及び小節線の位置を検出している。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｍ．Ｇｏｔｏ  ｅｔ  ａｌ．  、“ＳＯＮＧＬＥ：  Ａ  ＷＥＢ  ＳＥＲＶＩＣＥ  ＦＯＲ  ＡＣＴＩＶＥ  ＭＵＳＩＣ  ＬＩＳＴＥＮＩＮＧ  ＩＭＰＲＯＶＥＤ  ＢＹ  ＵＳＥＲ  ＣＯＮＴＲＩＢＵＴＩＯＮＳ”、ＩＳＭＩＲ、２０１１、ｐ．３１１−３１６
【発明の概要】
【０００４】
上記非特許文献１には、誤って裏拍を拍点（表拍）として選択してしまう可能性や、楽曲のテンポが真のテンポの倍のテンポとなるような拍点を選択してしまう可能性を考慮して、尤もらしい拍点を選択すると記載されているが、その選択手段については具体的には開示されていない。また、裏拍を拍点（表拍）として選択した場合や、楽曲のテンポが真のテンポの倍のテンポとなるような拍点を選択した場合には、コードの検出精度及び小節線の位置の検出精度が低下する。
【０００５】
本発明は上記問題に対処するためになされたもので、その目的は、拍点、コード進行、及び小節線の位置の推定精度を向上させた音響信号分析装置及び音響信号分析プログラムを提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。
【０００６】
上記目的を達成するために、本発明の特徴は、分析対象としての楽曲の演奏音を表わす音響信号を取り込む音響信号取得手段（Ｓ１１）と、前記取り込んだ音響信号に基づいて、前記楽曲の複数の拍点候補からなる第１拍点候補系列（ＯＲ１）、及び前記第１拍点候補系列を構成する複数の拍点候補に対してそれぞれ半拍分ずれた複数の拍点候補からなる第２拍点候補系列（ＯＲ２）を検出する拍点候補系列検出手段（Ｓ１５）と、前記取り込んだ音響信号に基づいて、前記第１拍点系列を構成する複数の拍点候補のうちの隣り合う２つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第１ビート同期型コード特徴量系列（ＣＲ１）を計算するとともに、前記第２拍点系列を構成する複数の拍点候補のうちの隣り合う２つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第２ビート同期型コード特徴量系列（ＣＲ２）を計算するビート同期型コード特徴量系列計算手段（Ｓ１６）と、前記楽曲のコード進行を表わす確率モデルであって、１小節内の拍数、前記楽曲の調及び最初の拍点の拍子位置の組み合わせに応じて拍点間におけるコードの遷移確率が設定された確率モデルのうち、前記第１ビート同期型コード特徴量系列が所定の基準を満たす確率モデル及び前記第２ビート同期型コード特徴量系列が所定の基準を満たす確率モデルをそれぞれ１つずつ選択し、前記選択した２つの確率モデルのうち尤度が大きい確率モデルに基づいて、前記楽曲の拍点、コード進行、及び小節線の位置を推定する推定手段（Ｓ１７〜Ｓ２１）と、を備えた音響信号分析装置としたことにある。
【０００７】
この場合、前記ビート同期型コード特徴量計算手段は、前記隣り合う２つの拍点候補の間に位置する複数の区間（ｔｉ）ごとにコードの特徴量を表すコード特徴量（ＸＣ）を計算するコード特徴量計算手段と、前記隣り合う２つの拍点候補の間に位置する複数の区間のコード特徴量を平滑化することにより、前記ビート同期型コード特徴量を計算するコード特徴量平滑化手段と、を備えるとよい。
【０００８】
また、この場合、拍点候補系列検出手段は、前記楽曲の各区間における拍の存在に関する特徴を表わす第１特徴量及びテンポに関する特徴を表わす第２特徴量を計算する拍・テンポ特徴量計算手段と、前記楽曲の各区間における拍の存在に関する物理量及びテンポに関する物理量の組み合わせにより分類された状態の系列として記述された複数の確率モデルのうち、前記第１特徴量及び前記第２特徴量が前記楽曲の各区間において同時に観測される確率を表わす観測尤度の系列が所定の基準を満たす確率モデルを選択することにより、前記楽曲における拍点及びテンポの推移を同時に推定する拍点・テンポ推定手段と、を備えるとよい。
【０００９】
一般に、コードの変化は、表拍で生起する可能性が高い。そのため、誤って裏拍を表拍として選択してしまった場合には、拍点と拍点の間においてコードが変化する可能性が高い。そのため、この場合、ビート同期型コード特徴量は、コードの特徴を的確に表現できていない。つまり、裏拍を表拍として選択してしまった場合には、真の拍点（つまり表拍）を選択した場合に比べて、ビート同期型コード特徴量系列の尤度が低くなる。そこで、本発明に係る音響信号分析装置は、第１拍点候補系列と、第１拍点候補系列を構成する各拍点候補に対して半拍分ずれた拍点候補からなる第２拍点候補系列を検出し、第１拍点候補系列及び第２拍点候補系列に関するビート同期型コード特徴量系列の尤度をそれぞれ計算する。そして、両尤度を比較して、尤度の高い拍点候補系列を選択する。これにより、裏拍を誤って表拍として選択してしまうことを抑制できる。また、ビート同期型コード特徴量系列の尤度が最も高くなるような拍子位置及び調の組み合わせが選択されて、楽曲における拍点、コード進行及び小節線の位置が同時に（一体的）に推定される。したがって、本発明に係る音響信号分析装置によれば、拍点、コード進行、及び小節線の位置の推定精度を従来よりも向上させることができる。
【００１０】
また、本発明は、音響信号分析装置が備えるコンピュータに適用されるコンピュータプログラムとしても実施可能である。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る音響信号分析装置の構成を表わすブロック図である。
【図２】拍点・コード推定処理を表わすフローチャートである。
【図３】分析対象の音響信号の波形を表わすグラフである。
【図４】拍点候補を計算するための確率モデルの概念図である。
【図５】コムフィルタのブロック図である。
【図６】ＢＰＭ特徴量の計算結果を示すグラフである。
【図７】テンプレートの構成を示す表である。
【図８】コード特徴量の概念図である。
【図９】ビート同期型コード特徴量の概念図である。
【発明を実施するための形態】
【００１２】
本発明の一実施形態に係る音響信号分析装置１０について説明する。音響信号分析装置１０は、以下説明するように、楽曲を表わす音響信号を取り込んで、その楽曲における拍点及びテンポの推移を検出する。音響信号分析装置１０は、図１に示すように、入力操作子１１、コンピュータ部１２、表示器１３、記憶装置１４、外部インターフェース回路１５及びサウンドシステム１６を備えており、これらがバスＢＳを介して接続されている。
【００１３】
入力操作子１１は、オン・オフ操作に対応したスイッチ（例えば数値を入力するためのテンキー）、回転操作に対応したボリューム又はロータリーエンコーダ、スライド操作に対応したボリューム又はリニアエンコーダ、マウス、タッチパネルなどから構成される。これらの操作子は、演奏者の手によって操作されて、分析対象の楽曲の選択、音響信号の分析開始又は停止、楽曲の再生又は停止（後述するサウンドシステム１６からの出力又は停止）、音響信号の分析に関する各種パラメータの設定などに用いられる。入力操作子１１を操作すると、その操作内容を表す操作情報が、バスＢＳを介して、後述するコンピュータ部１２に供給される。
【００１４】
コンピュータ部１２は、バスＢＳにそれぞれ接続されたＣＰＵ１２ａ、ＲＯＭ１２ｂ及びＲＡＭ１２ｃからなる。ＣＰＵ１２ａは、詳しくは後述する音響信号分析プログラム及びそのサブルーチンをＲＯＭ１２ｂから読み出して実行する。ＲＯＭ１２ｂには、音響信号分析プログラム及びそのサブルーチンに加えて、初期設定パラメータ、表示器１３に表示される画像を表わす表示データを生成するための図形データ及び文字データなどの各種データが記憶されている。ＲＡＭ１２ｃには、音響信号分析プログラムの実行時に必要なデータが一時的に記憶される。
【００１５】
表示器１３は、液晶ディスプレイ（ＬＣＤ）によって構成される。コンピュータ部１２は、図形データ、文字データなどを用いて表示すべき内容を表わす表示データを生成して表示器１３に供給する。表示器１３は、コンピュータ部１２から供給された表示データに基づいて画像を表示する。例えば分析対象の楽曲の選択時には、楽曲のタイトルリストが表示される。また、例えば分析終了時には、拍点及び小節線を表わすグラフやコード進行を表わすコード名の系列が表示される。
【００１６】
また、記憶装置１４は、ＨＤＤ、ＦＤＤ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどの大容量の不揮発性記録媒体と、同各記録媒体に対応するドライブユニットから構成されている。記憶装置１４には、複数の楽曲をそれぞれ表わす複数の楽曲データが記憶されている。楽曲データは、楽曲を所定のサンプリング周期（例えば１／４４１００秒）でサンプリングして得られた複数のサンプル値からなり、各サンプル値が記憶装置１４における連続するアドレスに順に記録されている。楽曲のタイトルを表わすタイトル情報、楽曲データの容量を表わすデータサイズ情報なども楽曲データに含まれている。楽曲データは予め記憶装置１４に記憶されていてもよいし、後述する外部インターフェース回路１５を介して外部機器から取り込んでもよい。記憶装置１４に記憶されている楽曲データは、ＣＰＵ１２ａによって読み込まれ、楽曲における拍点及びテンポの推移が分析される。
【００１７】
外部インターフェース回路１５は、音響信号分析装置１０を電子音楽装置、パーソナルコンピュータなどの外部機器に接続可能とする接続端子を備えている。音響信号分析装置１０は、外部インターフェース回路１５を介して、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどの通信ネットワークにも接続可能である。
【００１８】
サウンドシステム１６は、楽曲データをアナログ音信号に変換するＤ／Ａ変換器、変換したアナログ音信号を増幅するアンプ、及び増幅されたアナログ音信号を音響信号に変換して出力する左右一対のスピーカを備えている。ユーザが入力操作子１１を用いて分析対象の楽曲の再生を指示すると、ＣＰＵ１２ａは、分析対象の楽曲データをサウンドシステム１６に供給する。これにより、ユーザは分析対象の楽曲を試聴できる。
【００１９】
つぎに、音響信号分析装置１０の動作について具体的に説明する。ユーザが音響信号分析装置１０の図示しない電源スイッチをオンにすると、ＣＰＵ１２ａは、図２に示す拍点・コード推定プログラムをＲＯＭ１２ｂから読み出して実行する。なお、図２においては、「判断」のステップを六角形で示す。
【００２０】
ＣＰＵ１２ａは、ステップＳ１０にて拍点・コード推定処理を開始し、ステップＳ１１にて、記憶装置１４に記憶されている複数の楽曲データにそれぞれ含まれるタイトル情報を読み込んで、楽曲のタイトルをリスト形式で表示器１３に表示する。ユーザは、入力操作子１１を用いて、表示器１３に表示された楽曲の中から分析対象の楽曲データを選択する。なお、ステップＳ１１にて分析対象の楽曲データを選択する際、選択しようとする楽曲データが表す楽曲の一部又は全部を再生して楽曲データの内容を確認できるように構成してもよい。
【００２１】
つぎに、ＣＰＵ１２ａは、ステップＳ１２にて、音響信号分析のための初期設定を実行する。具体的には、前記選択された楽曲データのデータサイズ情報に応じた記憶領域をＲＡＭ１２ｃ内に確保し、前記確保した記憶領域に前記選択された楽曲データを読み込む。また、後述するオンセット特徴量ＸＯ、ＢＰＭ特徴量ＸＢなどを一時的に記憶する領域をＲＡＭ１２ｃ内に確保する。また、ユーザは、前記選択した楽曲の拍子（又は１小節内に含まれる拍数）を、入力操作子１１を用いて入力する。つまり、本実施形態においては、前記選択した楽曲の拍子（又は１小節内に含まれる拍数）が既知であると仮定する。
【００２２】
ＣＰＵ１２ａは、ステップＳ１３にて、図３に示すように、前記選択された楽曲を所定の時間間隔をおいて区切り、複数のフレームｔｉ｛ｉ＝０，１，・・・，Ｉ｝に分割する。各フレームの長さは共通である。説明を簡単にするために、本実施形態では各フレームの長さを１２５ｍｓとする。上記のように、各楽曲のサンプリング周期は１／４４１００秒であるので、各フレームは、約５０００個のサンプル値から構成されている。
【００２３】
次に、ＣＰＵ１２ａは、複数の拍点候補から構成される拍点候補系列ＯＲ１及び拍点候補系列ＯＲ２を計算する。ここで、拍点候補系列ＯＲ１及び拍点候補系列ＯＲ２の計算手順の概略を説明する。まず、拍点候補系列ＯＲ１が次のようにして計算される。拍の存在に関する特徴を表すオンセット特徴量ＸＯ及びテンポに関する特徴を表すＢＰＭ（ｂｅａｔｓ  ｐｅｒ  ｍｉｎｕｔｅ（１分間あたりの拍数））特徴量ＸＢをフレームｔｉごとに計算する。そして、各フレームｔｉにおける拍周期ｂの値（テンポの逆数に比例する値）及び次の拍までのフレーム数ｎの値の組み合わせに応じて分類された状態ｑｂ，ｎの系列として記述された確率モデル（隠れマルコフモデル）のうち、観測値としてのオンセット特徴量ＸＯ及びＢＰＭ特徴量ＸＢが同時に観測される確率を表わす観測尤度の系列が最も尤もらしい確率モデルを選択する（図４参照）。これにより、分析対象の楽曲における拍点候補系列ＯＲ１が検出される。そして、前記検出された拍点候補系列ＯＲ１を用いて、拍点候補系列ＯＲ１を構成する複数の拍点に対して半拍ずれた複数の拍点候補から構成された拍点候補系列ＯＲ２が計算される（図９参照）。なお、拍周期ｂは、フレームの数によって表わされる。したがって、拍周期ｂの値は「１≦ｂ≦ｂｍａｘ」を満たす整数であり、拍周期ｂの値が「β」である状態では、フレーム数ｎの値は「０≦ｎ＜β」を満たす整数である。
【００２４】
次に、拍点候補系列ＯＲ１及び拍点候補系列ＯＲ２の計算手順について具体的に説明する。まず、ＣＰＵ１２ａは、ステップＳ１４にて、フレームごとに、オンセット特徴量ＸＯ及びＢＰＭ特徴量ＸＢを計算する。
【００２５】
フレームｔｉのオンセット特徴量ＸＯ（ｔｉ）は、次のようにして計算される。ＣＰＵ１２ａは、まず、フレームごとに短時間フーリエ変換を実行し、各周波数ビンの信号強度を計算する。次に、ＣＰＵ１２ａは、メルフィルタバンクを用いて、各周波数帯域ｆｂｘ（例えば、ｘ＝１，２，・・・，２０）の信号強度Ｍ（ｆｂｘ，ｔｉ）を計算する。次に、ＣＰＵ１２ａは、フレーム間における各周波数帯域の信号強度の増加量Ｒ（ｆｂｘ，ｔｉ）を計算する。下記の式（１）に示すように、フレーム間における前記各周波数帯域の信号強度の増加量の総和がオンセット特徴量ＸＯ（ｔｉ）である。
【数１】
2015114361.tif 000003
【００２６】
フレームｔｉのＢＰＭ特徴量ＸＢ（ｔｉ）は、次のようにして計算される。ＣＰＵ１２ａは、まず、オンセット特徴量ＸＯ（ｔ０），ＸＯ（ｔ１）・・・をこの順にフィルタバンクＦＢＢ（図５参照）に入力する。フィルタバンクＦＢＢは、拍周期ｂの値に応じてそれぞれ設けられた複数のコムフィルタＣＦｂからなる。コムフィルタＣＦｂは、１つのデータが入力される度に１つのデータを出力する。コムフィルタＣＦｂは、過去の出力データを拍周期ｂの値に応じた個数だけ記憶するＦＩＦＯ（＝Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）メモリを有しており、入力されたデータと前記記憶手段に記憶されているデータのうちの最古のデータを所定の比率（例えば、１：１（すなわち、α＝０．５））で加算して出力する。オンセット特徴量ＸＯの系列ＸＯ（ｔ）｛＝ＸＯ（ｔ０），ＸＯ（ｔ１）・・・｝をフィルタバンクＦＢＢに入力することにより得られたデータＸＤｂの系列ＸＤｂ（ｔ）｛＝ＸＤｂ（ｔ０），ＸＤｂ（ｔ１）・・・を時系列的に逆にして、フィルタバンクＦＢＢに再度入力することにより、拍周期ｂに関するＢＰＭ特徴量の系列ＸＢｂ（ｔ）｛＝ＸＢｂ（ｔ０），ＸＢｂ（ｔ１）・・・｝が得られる。フレームｔｉのＢＰＭ特徴量ＸＢ（ｔｉ）は、拍周期ｂごとに計算されたＢＰＭ特徴量ＸＢｂ＝１，２・・・（ｔｉ）の集合として表わされる（図６参照）。
【００２７】
次に、ＣＰＵ１２ａは、ステップＳ１５にて、ビタビアルゴリズムを用いて、最尤の状態系列を推定する。これにより、拍点候補系列ＯＲ１が推定される。なお、拍点候補系列ＯＲ１が推定される際、拍周期ｂの値の系列（つまり、テンポの推移）も同時（一体的）に推定される。
【００２８】
具体的には、ＣＰＵ１２ａは、まず、オンセット特徴量ＸＯ（ｔｉ）及びＢＰＭ特徴量ＸＢ（ｔｉ）の観測尤度ＬＯ（ｔｉ）及び観測尤度ＬＢ（ｔｉ）をそれぞれ計算する。ここで、オンセット特徴量ＸＯ（ｔｉ）は、次の拍点までのフレーム数ｎの値に応じて設定された正規分布に従うものとする。つまり、オンセット特徴量ＸＯの観測尤度ＬＯ（ｔｉ）は、次の拍点までのフレーム数ｎの値に応じて設定された正規分布の確率変数としてオンセット特徴量ＸＯを代入することにより計算される。例えば、フレーム数ｎの値が「０」であるときは、平均値が「３」であって、且つ分散が「１」である正規分布が用いられる。また、拍周期ｂの値が「β」であって、フレーム数ｎの値が「β／２」であるときは、平均値が「１」であって、且つ分散が「１」である正規分布が用いられる。また、フレーム数ｎの値が「０」及び「β／２」のいずれの値とも異なるとき、平均値が「０」であって、且つ分散が「１」である正規分布が用いられる。
【００２９】
また、ＢＰＭ特徴量ＸＢ（ｔｉ）の観測尤度ＬＢは、拍周期ｂごとに設けられたテンプレートＴＭＰｂに対するＢＰＭ特徴量ＸＢの適合度に相当する。つまり、下記の式（２）に示すように、テンプレートＴＭＰｂとＢＰＭ特徴量ＸＢ（ｔｉ）の内積が、観測尤度ＬＢ（ｔｉ）である。なお、この演算式における「νｂ」は、オンセット特徴量ＸＯ（ｔｉ）に対するＢＰＭ特徴量ＸＢ（ｔｉ）の重みを決定する係数である。つまり、「νｂ」を大きく設定するほど、結果的に、ＢＰＭ特徴量ＸＢ（ｔｉ）が重視される。また、この演算式におけるＺ（νｂ）は、「νｂ」に依存する正規化係数である。つまり、前記テンプレートＴＭＰｂは、ＢＰＭ特徴量ＸＢ（ｔｉ）を構成するＢＰＭ特徴量ＸＢｂ（ｔｉ）にそれぞれ乗算される係数δｂ，γ｛＝１，２・・・｝の系列からなる（図７参照）。テンプレートＴＭＰｂを構成する係数δｂ，γのうち、インデックスγが拍周期ｂに等しい係数及び拍周期ｂの整数倍に等しい係数が極大となるように、テンプレートＴＭＰｂが設定されている。
【数２】
2015114361.tif 000004
【００３０】
次に、ＣＰＵ１２ａは、観測尤度ＬＯ（ｔｉ）と観測尤度ＬＢ（ｔｉ）との積の対数である対数観測尤度ＬＯＢ（ｔｉ）（下記の式（３）参照）を用いて、尤度が最大となる状態系列を計算する。この最尤の状態系列の計算においては、ビタビアルゴリズムを用いる。
【数３】
2015114361.tif 000005
【００３１】
なお、本実施形態においては、（拍周期ｂの値が「βｓ」であり、且つフレーム数ｎの値が「ηｓ」である状態から、拍周期ｂの値が「βｅ」であり、且つフレーム数ｎの値が「ηｅ」である状態への対数遷移確率Ｔの値は、次のように設定されている（図４参照）。「ηｅ＝０」、「βｅ＝βｓ」、かつ「ηｅ＝βｅ−１」のとき、対数遷移確率Ｔの値は、「−０．２」である。また、「ηｓ＝０」、「βｅ＝βｓ＋１」、かつ「ηｅ＝βｅ−１」のとき、対数遷移確率Ｔの値は、「−０．６」である。また、「ηｓ＝０」、「βｅ＝βｓ−１」、かつ「ηｅ＝βｅ−１」のとき、対数遷移確率Ｔの値は、「−０．６」である。また、「ηｓ＞０」、「βｅ＝βｓ」、かつ「ηｅ＝ηｓ−１」のとき、対数遷移確率Ｔの値は、「０」である。上記以外の対数遷移確率Ｔの値は、「−∞」である。すなわち、フレーム数ｎの値が「０」である状態（ηｓ＝０）から次の状態へ遷移するとき、拍周期ｂの値は「１」だけ増減され得る。このとき、フレーム数ｎの値は、遷移後の拍周期ｂの値より「１」だけ小さい値に設定される。また、フレーム数ｎの値が「０」でない状態（ηｓ≠０）から次の状態へ遷移するとき、拍周期ｂの値は変更されず、フレーム数ｎの値が「１」だけ減少する。
【００３２】
上記のようにして計算された最尤の状態系列を構成する各状態のうち、フレーム数ｎが「０」である状態の系列が拍点候補系列ＯＲ１である。また、前記最尤の状態系列を構成する各状態のうち、拍周期ｂとフレーム数ｎの値が下記の式（４）を満たす状態の系列が拍点候補系列ＯＲ２である。
【数４】
2015114361.tif 000006
【００３３】
これにより、拍点候補系列ＯＲ１を構成する複数の拍点候補から見てそれぞれ半拍分（例えば、４分の４拍子の楽曲においては８分音符の長さ）ずれた複数の拍点候補からなる拍点候補系列ＯＲ２が得られる。
【００３４】
つぎに、ＣＰＵ１２ａは、ステップＳ１６にて、拍点候補系列ＯＲ１を構成する各拍点候補における和音の特徴を表わすビート同期型コード特徴量ＸＢＣ１の系列であるビート同期型コード特徴量系列ＣＲ１と、拍点候補系列ＯＲ２を構成する各拍点候補における和音の特徴を表わすビート同期型コード特徴量ＸＢＣ２の系列であるビート同期型コード特徴量系列ＣＲ２を計算する。
【００３５】
ビート同期型コード特徴量系列ＣＲ１及びビート同期型コード特徴量系列ＣＲ２は次のようにして計算される。まず、各フレームｔｉの各周波数ビンのパワーを、その周波数に最も近い音高の周波数（例えば平均律における各音高の基本周波数）にマッピングする。上記のようにして各音高にマッピングされたパワーのうち、低音域（例えば「Ｂ１」以下）に属するパワーをピッチクラス（Ｃ，Ｃ＃，Ｄ，・・・，Ｂ＃）ごとに加算（又は積算）する。このようにして計算された各ピッチクラスのパワーからなる１２次元の特徴量をベース特徴量ＨＰＣＰ（Ｂ）と呼ぶ（図８参照）。また、各音高にマッピングされたパワーのうち、高音域（例えば「Ｃ２」以上）に属するパワーをピッチクラス（Ｃ，Ｃ＃，Ｄ，・・・，Ｂ＃）ごとに加算（又は積算）する。このようにして計算された各ピッチクラスのパワーからなる１２次元の特徴量をトレブル特徴量ＨＰＣＰ（Ｔ）と呼ぶ。
【００３６】
また、低音域のパワーのＬ２ノルムをベースパワーρ（Ｂ）と呼び、高音域のパワーのＬ２ノルムをトレブルパワーρ（Ｔ）と呼ぶ。
【００３７】
各フレームｔｉに関するベース特徴量ＨＰＣＰ（Ｂ）、トレブル特徴量ＨＰＣＰ（Ｔ）、ベースパワーρ（Ｂ）及びトレブルパワーρ（Ｔ）からなる２６次元の特徴量をコード特徴量ＸＣ（ｔｉ）と呼ぶ。
【００３８】
ビート同期型コード特徴量ＸＢＣ１（ｍ）は、拍点候補系列ＯＲ１における「ｍ」番目の拍点候補と「ｍ＋１」番目の拍点候補の間のフレームのコード特徴量ＸＣ（ｔｉ）を平滑化することにより得られる２６次元の特徴量である。また、ビート同期型コード特徴量ＸＢＣ２（ｍ）は、拍点候補系列ＯＲ２における「ｍ」番目の拍点候補と「ｍ＋１」番目の拍点候補の間のフレームのコード特徴量ＸＣ（ｔｉ）を平滑化することにより得られる２６次元の特徴量である。なお、上記の平滑化とは、例えば、前記拍点候補間のフレームのベース特徴量ＨＰＣＰ（Ｂ）の平均を計算するとともに、前記拍点候補間のフレームのトレブル特徴量ＨＰＣＰ（Ｔ）、ベースパワーρ（Ｂ）及びトレブルパワーρ（Ｔ）のメジアンをそれぞれ計算することを意味する。拍点候補系列ＯＲ１を構成する全ての拍点候補に関して、ビート同期型コード特徴量ＸＢＣ１を計算することにより、ビート同期型コード特徴量系列ＣＲ１が計算される。また、拍点候補系列ＯＲ２を構成する全ての拍点候補に関して、ビート同期型コード特徴量ＸＢＣ２を計算することにより、ビート同期型コード特徴量系列ＣＲ２が計算される。
【００３９】
次に、ＣＰＵ１２ａは、ステップＳ１７にて、最尤のビート同期型コード特徴量系列ＣＲ１の尤度ＬＫ１及び最尤のビート同期型コード特徴量系列ＣＲ２の尤度ＬＫ２を計算する。最尤のビート同期型コード特徴量系列ＣＲ１の尤度ＬＫ１及び最尤のビート同期型コード特徴量系列ＣＲ２の尤度ＬＫ２の計算手順は共通である。そこで、以下の説明においては、ビート同期型コード特徴量系列ＣＲ１及びビート同期型コード特徴量系列ＣＲ２を単にビート同期型コード特徴量系列ＣＲと表記する。また、ビート同期型コード特徴量ＸＢＣ１及びビート同期型コード特徴量ＸＢＣ２を単にビート同期型コード特徴量ＸＢＣと表記する。
【００４０】
ここで、ベース特徴量ＨＰＣＰ（Ｂ）及びトレブル特徴量ＨＰＣＰ（Ｔ）は、ｖＭＦ（＝ｖｏｎ  Ｍｉｓｅｓ  Ｆｉｓｈｅｒ）分布に従うと仮定する。また、ベースパワーρ（Ｂ）及びトレブルパワーρ（Ｔ）は、ガンマ分布に従うと仮定する。一般の楽曲は、和音が発生されている区間においてパワーが強い。一方、和音が発生されていない区間においてはパワーが弱い。また、和音が発生されていない区間におけるベース特徴量ＨＰＣＰ（Ｂ）及びトレブル特徴量ＨＰＣＰ（Ｔ）を構成する各ピッチクラスのパワーの分布と、和音が発生されている区間における前記各ピッチクラスのパワーの分布とが異なる。そこで、和音が発生されている状態と和音が発生されていない状態とに関し、ベース特徴量ＨＰＣＰ（Ｂ）及びトレブル特徴量ＨＰＣＰ（Ｔ）並びにベースパワーρ（Ｂ）及びトレブルパワーρ（Ｔ）を同時に学習する。また、１つの和音に対して、単一のｖＭＦ分布及びガンマ分布を用いるのではなく、複数のモデル（混合モデル）を設定しておき、それらの重み付き線形和としてビート同期型コード特徴量の観測尤度を定義する。ビート同期型コード特徴量ＸＢＣの観測尤度は、ビート同期型コード特徴量ＸＢＣの構成要素としてのベース特徴量ＨＰＣＰ（Ｂ）、トレブル特徴量ＨＰＣＰ（Ｔ）、ベースパワーρ（Ｂ）及びトレブルパワーρ（Ｔ）、並びにｖＭＦ分布の平均μｋ、ｖＭＦ分布の分散κｋ、ガンマ分布の尺度母数ｕ、ガンマ分布の形状母数ｖ、及び前記線形和の重みｗｋを用いて、下記の式（５）のように表わされる。なお、「ｋ」は、混合モデルを構成する分布を識別するためのインデックスである。また、低音域に関する変数の右上の括弧内には、「Ｂ」が表記されている。また、中高音域に関する変数の右上の括弧内には、「Ｔ」が表記されている。また、「Θｊ」は、和音ｊに関するパラメータを表わす。例えば、「Θｊ」は、ベース特徴量ＨＰＣＰ（Ｂ）及びトレブル特徴量ＨＰＣＰ（Ｔ）の形状（各ピッチクラスのパワーの分布）を表わす。
【数５】
2015114361.tif 000007
【００４１】
また、一般に、和音から和音への遷移確率は、楽曲の調ｋｅｙに依存する。例えば、和音「Ｃ」から和音「Ｆ」への遷移はハ長調の楽曲において生起する可能性が高い。また、和音から和音への遷移確率は、拍点の拍子位置ｓ（直前の小節線から数えた拍数）に依存する。例えば、４分の４拍子の楽曲において、４拍目（つまりｓ＝４）の和音が「Ｇ７」であるとき、次の小節の１拍目の和音は「Ｃ」である可能性が高い（ドミナントモーション）。そこで、音響信号分析装置１０は、和音の遷移確率を記憶した複数のデータベースを備える。各データベースは、拍子にそれぞれ対応している。つまり、音響信号分析装置１０は、例えば、４分の３拍子の楽曲を分析するときに用いるデータベース、４分の４拍子の楽曲を分析するときに用いるデータベース、８分の６拍子の楽曲を分析するときに用いるデータベースなどを備える。そして、各データベースには、和音から和音への遷移確率が、調ｋｅｙ及び拍子位置ｓに関連づけて記憶されている。和音から和音への遷移確率は、種々の楽曲における和音の遷移を学習することにより決定される。これらのデータベースはＲＯＭ１２ｂに記憶されている。ここで、「ｍ−１」番目の拍点候補における和音が「ｊ´」であって、かつ「ｍ」番目の拍点候補における和音が「ｊ」である確率を下記の式（６）のように表記する。なお、１小節内の拍数にそれぞれ対応したデータベースが設けられていても良い。
【数６】
2015114361.tif 000008
【００４２】
すると、最初の拍の拍子位置ｓ及び調ｋｅｙが既知であるという条件下においては、ビート同期型コード特徴量系列ＣＲの尤度ＬＫ（ｓ，ｋｅｙ）は、下記の式（７）のように表される。
【数７】
2015114361.tif 000009
【００４３】
なお、式（７）における「Ｚｊ（ｍ）」は、次に説明するような２値変数である。つまり、「Ｚｊ（ｍ）」は、「ｍ」番目の拍点候補の和音が「ｊ」である場合に「１」であり、その他の場合に「０」である。また、「Ｚｊ´（ｍ−１）Ｚｊ（ｍ）」は、「ｍ−１」番目の拍点候補における和音が「ｊ´」であって、かつ「ｍ」番目の拍点候補における和音が「ｊ」である場合にのみ「１」であり、その他の場合に「０」である。
【００４４】
ここで、拍点候補系列ＯＲ１についての尤度ＬＫ（ｓ，ｋｅｙ）を尤度ＬＫ（１）（ｓ，ｋｅｙ）と表記する。最尤のビート同期型コード特徴量系列ＣＲ１の尤度ＬＫ１は、式（８）に基づいて計算される。
【数８】
2015114361.tif 000010
【００４５】
また、拍点候補系列ＯＲ２についての尤度ＬＫ（ｓ，ｋｅｙ）を尤度ＬＫ（２）（ｓ，ｋｅｙ）と表記する。最尤のビート同期型コード特徴量系列ＣＲ２の尤度ＬＫ２は、式（９）に基づいて計算される。
【数９】
2015114361.tif 000011
【００４６】
なお、ＣＰＵ１２ａは、ビタビアルゴリズムを用いて尤度ＬＫ１及び尤度ＬＫ２を計算する。また、ＣＰＵ１２ａは、尤度ＬＫ１及び尤度ＬＫ２を計算する際、ステップＳ１２においてユーザによって入力された拍子（又は１小節内の拍数）に応じたデータベースを参照して和音の遷移確率を決定する。
【００４７】
次に、ＣＰＵ１２ａは、ステップＳ１８にて、尤度ＬＫ１と尤度ＬＫ２と比較する。尤度ＬＫ１が尤度ＬＫ２よりも大きいとき、ＣＰＵ１２ａは、「Ｙｅｓ」と判定して、ステップＳ１９にて、前記推定された拍点候補系列ＯＲ１、最尤のビート同期型コード特徴量系列ＣＲ１及び拍子位置ｓを出力する。具体的には、拍点候補系列ＯＲ１及び拍子位置ｓに基づいて、拍点及び小節線を表わすグラフを表示器１３に表示する。また、最尤のビート同期型コード特徴量系列ＣＲ１に基づいて、コード進行Ｚ１（コード名の系列）を計算して、表示器１３に表示する。コード進行Ｚ１は、最尤のビート同期型コード特徴量系列ＣＲ１を構成する各ビート同期型コード特徴量ＸＢＣ１（ｍ）に対応するコード名の系列である。そして、ＣＰＵ１２ａは、ステップＳ２０にて、拍点・コード推定処理を終了する。
【００４８】
一方、ステップＳ１８において、尤度ＬＫ１が尤度ＬＫ２以下であるとき、ＣＰＵ１２ａは、「Ｎｏ」と判定して、ステップＳ２１にて、前記推定された拍点候補系列ＯＲ２、最尤のビート同期型コード特徴量系列ＣＲ２及び拍子位置ｓを出力する。具体的には、拍点候補系列ＯＲ２及び拍子位置ｓに基づいて、拍点及び小節線を表わすグラフを表示器１３に表示する。また、最尤のビート同期型コード特徴量系列ＣＲ２に基づいて、コード進行Ｚ２（コード名の系列）を計算して、表示器１３に表示する。コード進行Ｚ２は、最尤のビート同期型コード特徴量系列ＣＲ２を構成する各ビート同期型コード特徴量ＸＢＣ２（ｍ）に対応するコード名の系列である。そして、ＣＰＵ１２ａは、ステップＳ２０にて、拍点・コード推定処理を終了する。
【００４９】
一般に、コードの変化は、表拍で生起する可能性が高い。そのため、フレームｔｉごとに計算されたコード特徴量ＸＣ（ｔｉ）は、表拍において大きく変化する可能性が高い。よって、誤って裏拍を表拍として選択してしまった場合には、拍点と拍点の間においてコード特徴量ＸＣ（ｔｉ）が大きく変化する可能性が高い。そのため、この場合、ビート同期型コード特徴量は、コードの特徴を的確に表現できていない。つまり、裏拍を表拍として選択してしまった場合には、真の拍点（つまり表拍）を選択した場合に比べて、ビート同期型コード特徴量系列の尤度が低くなる。そこで、音響信号分析装置１０は、拍点候補系列ＯＲ１と、拍点候補系列ＯＲ１を構成する各拍点候補に対して半拍分ずれた拍点候補からなる拍点候補系列ＯＲ２を検出し、拍点候補系列ＯＲ１及び拍点候補系列ＯＲ２に関するビート同期型コード特徴量系列の尤度ＬＫ１及び尤度ＬＫ２を計算する。そして、尤度ＬＫ１及び尤度ＬＫ２を比較して、尤度の高い拍点候補系列を選択する。これにより、誤って裏拍を表拍として選択してしまうことを抑制できる。また、ビート同期型コード特徴量系列の尤度が最も高くなるような拍子位置ｓ及び調ｋｅｙの組み合わせが選択されて、楽曲における拍点、コード進行及び小節線の位置が同時に（一体的）に推定される。したがって、音響信号分析装置１０によれば、拍点、コード進行、及び小節線の位置の推定精度を従来よりも向上させることができる。
【００５０】
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【００５１】
例えば、上記実施形態では、楽曲全体の演奏音が楽曲データとして記憶されており、その楽曲データを分析して、拍点、コード進行、及び小節線の位置を推定している。しかし、これに代えて、楽曲の演奏音をリアルタイムで取り込みつつ、取り込んだ演奏音を表わすデータを上記実施形態と同様に分析して、拍点、コード進行、及び小節線の位置を推定しても良い。
【符号の説明】
【００５２】
１０・・・音響信号分析装置、ＣＲ１・・・ビート同期型コード特徴量系列、ＣＲ２・・・ビート同期型コード特徴量系列、ＨＰＣＰ（Ｔ）・・・トレブル特徴量、ＨＰＣＰ（Ｂ）・・・ベース特徴量、ｊ・・・和音、ｋｅｙ・・・調、ＯＲ１・・・拍点候補系列、ＯＲ２・・・拍点候補系列、ｓ・・・拍子位置、ＸＢ・・・ＢＰＭ特徴量、ＸＢＣ１・・・ビート同期型コード特徴量、ＸＢＣ２・・・ビート同期型コード特徴量、ＸＣ・・・コード特徴量、ＸＯ・・・オンセット特徴量、ρ（Ｔ）・・・トレブルパワー、ρ（Ｂ）・・・ベースパワー
【図１】
2015114361.tif 000012
【図２】
2015114361.tif 000013
【図３】
2015114361.tif 000014
【図４】
2015114361.tif 000015
【図５】
2015114361.tif 000016
【図６】
2015114361.tif 000017
【図７】
2015114361.tif 000018
【図８】
2015114361.tif 000019
【図９】
2015114361.tif 000020