JP6252147B2 - 音響信号分析装置及び音響信号分析プログラム - Google Patents

音響信号分析装置及び音響信号分析プログラム Download PDF

Info

Publication number
JP6252147B2
JP6252147B2 JP2013253993A JP2013253993A JP6252147B2 JP 6252147 B2 JP6252147 B2 JP 6252147B2 JP 2013253993 A JP2013253993 A JP 2013253993A JP 2013253993 A JP2013253993 A JP 2013253993A JP 6252147 B2 JP6252147 B2 JP 6252147B2
Authority
JP
Japan
Prior art keywords
beat
chord
beat point
feature
feature amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013253993A
Other languages
English (en)
Other versions
JP2015114361A (ja
Inventor
陽 前澤
陽 前澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2013253993A priority Critical patent/JP6252147B2/ja
Publication of JP2015114361A publication Critical patent/JP2015114361A/ja
Application granted granted Critical
Publication of JP6252147B2 publication Critical patent/JP6252147B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)

Description

本発明は、楽曲を表わす音響信号を分析して、楽曲における拍点(拍のタイミング)及び楽曲の各区間で発音されるコード(和音)を検出する音響信号分析装置及び音響信号分析プログラムに関する。
従来から、例えば、下記非特許文献1に示されているように、楽曲における拍点、及び楽曲の各区間で発音されるコード(和音)を検出する音響信号分析装置は知られている。この音響信号分析装置においては、まず、音響信号を分析して、楽曲の拍点を決定している。そして、前記検出した拍点においてコード変化が生起し、かつ小節の先頭でコード変化が生起するという仮定の下で、楽曲の各区間のコード及び小節線の位置を検出している。
上記非特許文献1には、誤って裏拍を拍点(表拍)として選択してしまう可能性や、楽曲のテンポが真のテンポの倍のテンポとなるような拍点を選択してしまう可能性を考慮して、尤もらしい拍点を選択すると記載されているが、その選択手段については具体的には開示されていない。また、裏拍を拍点(表拍)として選択した場合や、楽曲のテンポが真のテンポの倍のテンポとなるような拍点を選択した場合には、コードの検出精度及び小節線の位置の検出精度が低下する。
本発明は上記問題に対処するためになされたもので、その目的は、拍点、コード進行、及び小節線の位置の推定精度を向上させた音響信号分析装置及び音響信号分析プログラムを提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。
上記目的を達成するために、本発明の特徴は、分析対象としての楽曲の演奏音を表わす音響信号を取り込む音響信号取得手段(S11)と、前記取り込んだ音響信号に基づいて、前記楽曲の複数の拍点候補からなる第1拍点候補系列(OR1)、及び前記第1拍点候補系列を構成する複数の拍点候補に対してそれぞれ半拍分ずれた複数の拍点候補からなる第2拍点候補系列(OR2)を検出する拍点候補系列検出手段(S15)と、前記取り込んだ音響信号に基づいて、前記第1拍点系列を構成する複数の拍点候補のうちの隣り合う2つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第1ビート同期型コード特徴量系列(CR1)を計算するとともに、前記第2拍点系列を構成する複数の拍点候補のうちの隣り合う2つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第2ビート同期型コード特徴量系列(CR2)を計算するビート同期型コード特徴量系列計算手段(S16)と、前記楽曲のコード進行を表わす確率モデルであって、1小節内の拍数、前記楽曲の調及び最初の拍点の拍子位置の組み合わせに応じて拍点間におけるコードの遷移確率が設定された確率モデルのうち、前記第1ビート同期型コード特徴量系列が所定の基準を満たす確率モデル及び前記第2ビート同期型コード特徴量系列が所定の基準を満たす確率モデルをそれぞれ1つずつ選択し、前記選択した2つの確率モデルのうち尤度が大きい確率モデルに基づいて、前記楽曲の拍点、コード進行、及び小節線の位置を推定する推定手段(S17〜S21)と、を備えた音響信号分析装置としたことにある。
この場合、前記ビート同期型コード特徴量計算手段は、前記隣り合う2つの拍点候補の間に位置する複数の区間(t)ごとにコードの特徴量を表すコード特徴量(XC)を計算するコード特徴量計算手段と、前記隣り合う2つの拍点候補の間に位置する複数の区間のコード特徴量を平滑化することにより、前記ビート同期型コード特徴量を計算するコード特徴量平滑化手段と、を備えるとよい。
また、この場合、拍点候補系列検出手段は、前記楽曲の各区間における拍の存在に関する特徴を表わす第1特徴量及びテンポに関する特徴を表わす第2特徴量を計算する拍・テンポ特徴量計算手段と、前記楽曲の各区間における拍の存在に関する物理量及びテンポに関する物理量の組み合わせにより分類された状態の系列として記述された複数の確率モデルのうち、前記第1特徴量及び前記第2特徴量が前記楽曲の各区間において同時に観測される確率を表わす観測尤度の系列が所定の基準を満たす確率モデルを選択することにより、前記楽曲における拍点及びテンポの推移を同時に推定する拍点・テンポ推定手段と、を備えるとよい。
一般に、コードの変化は、表拍で生起する可能性が高い。そのため、誤って裏拍を表拍として選択してしまった場合には、拍点と拍点の間においてコードが変化する可能性が高い。そのため、この場合、ビート同期型コード特徴量は、コードの特徴を的確に表現できていない。つまり、裏拍を表拍として選択してしまった場合には、真の拍点(つまり表拍)を選択した場合に比べて、ビート同期型コード特徴量系列の尤度が低くなる。そこで、本発明に係る音響信号分析装置は、第1拍点候補系列と、第1拍点候補系列を構成する各拍点候補に対して半拍分ずれた拍点候補からなる第2拍点候補系列を検出し、第1拍点候補系列及び第2拍点候補系列に関するビート同期型コード特徴量系列の尤度をそれぞれ計算する。そして、両尤度を比較して、尤度の高い拍点候補系列を選択する。これにより、裏拍を誤って表拍として選択してしまうことを抑制できる。また、ビート同期型コード特徴量系列の尤度が最も高くなるような拍子位置及び調の組み合わせが選択されて、楽曲における拍点、コード進行及び小節線の位置が同時に(一体的)に推定される。したがって、本発明に係る音響信号分析装置によれば、拍点、コード進行、及び小節線の位置の推定精度を従来よりも向上させることができる。
また、本発明は、音響信号分析装置が備えるコンピュータに適用されるコンピュータプログラムとしても実施可能である。
本発明の一実施形態に係る音響信号分析装置の構成を表わすブロック図である。 拍点・コード推定処理を表わすフローチャートである。 分析対象の音響信号の波形を表わすグラフである。 拍点候補を計算するための確率モデルの概念図である。 コムフィルタのブロック図である。 BPM特徴量の計算結果を示すグラフである。 テンプレートの構成を示す表である。 コード特徴量の概念図である。 ビート同期型コード特徴量の概念図である。
本発明の一実施形態に係る音響信号分析装置10について説明する。音響信号分析装置10は、以下説明するように、楽曲を表わす音響信号を取り込んで、その楽曲における拍点及びテンポの推移を検出する。音響信号分析装置10は、図1に示すように、入力操作子11、コンピュータ部12、表示器13、記憶装置14、外部インターフェース回路15及びサウンドシステム16を備えており、これらがバスBSを介して接続されている。
入力操作子11は、オン・オフ操作に対応したスイッチ(例えば数値を入力するためのテンキー)、回転操作に対応したボリューム又はロータリーエンコーダ、スライド操作に対応したボリューム又はリニアエンコーダ、マウス、タッチパネルなどから構成される。これらの操作子は、演奏者の手によって操作されて、分析対象の楽曲の選択、音響信号の分析開始又は停止、楽曲の再生又は停止(後述するサウンドシステム16からの出力又は停止)、音響信号の分析に関する各種パラメータの設定などに用いられる。入力操作子11を操作すると、その操作内容を表す操作情報が、バスBSを介して、後述するコンピュータ部12に供給される。
コンピュータ部12は、バスBSにそれぞれ接続されたCPU12a、ROM12b及びRAM12cからなる。CPU12aは、詳しくは後述する音響信号分析プログラム及びそのサブルーチンをROM12bから読み出して実行する。ROM12bには、音響信号分析プログラム及びそのサブルーチンに加えて、初期設定パラメータ、表示器13に表示される画像を表わす表示データを生成するための図形データ及び文字データなどの各種データが記憶されている。RAM12cには、音響信号分析プログラムの実行時に必要なデータが一時的に記憶される。
表示器13は、液晶ディスプレイ(LCD)によって構成される。コンピュータ部12は、図形データ、文字データなどを用いて表示すべき内容を表わす表示データを生成して表示器13に供給する。表示器13は、コンピュータ部12から供給された表示データに基づいて画像を表示する。例えば分析対象の楽曲の選択時には、楽曲のタイトルリストが表示される。また、例えば分析終了時には、拍点及び小節線を表わすグラフやコード進行を表わすコード名の系列が表示される。
また、記憶装置14は、HDD、FDD、CD−ROM、MO、DVDなどの大容量の不揮発性記録媒体と、同各記録媒体に対応するドライブユニットから構成されている。記憶装置14には、複数の楽曲をそれぞれ表わす複数の楽曲データが記憶されている。楽曲データは、楽曲を所定のサンプリング周期(例えば1/44100秒)でサンプリングして得られた複数のサンプル値からなり、各サンプル値が記憶装置14における連続するアドレスに順に記録されている。楽曲のタイトルを表わすタイトル情報、楽曲データの容量を表わすデータサイズ情報なども楽曲データに含まれている。楽曲データは予め記憶装置14に記憶されていてもよいし、後述する外部インターフェース回路15を介して外部機器から取り込んでもよい。記憶装置14に記憶されている楽曲データは、CPU12aによって読み込まれ、楽曲における拍点及びテンポの推移が分析される。
外部インターフェース回路15は、音響信号分析装置10を電子音楽装置、パーソナルコンピュータなどの外部機器に接続可能とする接続端子を備えている。音響信号分析装置10は、外部インターフェース回路15を介して、LAN(Local Area Network)、インターネットなどの通信ネットワークにも接続可能である。
サウンドシステム16は、楽曲データをアナログ音信号に変換するD/A変換器、変換したアナログ音信号を増幅するアンプ、及び増幅されたアナログ音信号を音響信号に変換して出力する左右一対のスピーカを備えている。ユーザが入力操作子11を用いて分析対象の楽曲の再生を指示すると、CPU12aは、分析対象の楽曲データをサウンドシステム16に供給する。これにより、ユーザは分析対象の楽曲を試聴できる。
つぎに、音響信号分析装置10の動作について具体的に説明する。ユーザが音響信号分析装置10の図示しない電源スイッチをオンにすると、CPU12aは、図2に示す拍点・コード推定プログラムをROM12bから読み出して実行する。なお、図2においては、「判断」のステップを六角形で示す。
CPU12aは、ステップS10にて拍点・コード推定処理を開始し、ステップS11にて、記憶装置14に記憶されている複数の楽曲データにそれぞれ含まれるタイトル情報を読み込んで、楽曲のタイトルをリスト形式で表示器13に表示する。ユーザは、入力操作子11を用いて、表示器13に表示された楽曲の中から分析対象の楽曲データを選択する。なお、ステップS11にて分析対象の楽曲データを選択する際、選択しようとする楽曲データが表す楽曲の一部又は全部を再生して楽曲データの内容を確認できるように構成してもよい。
つぎに、CPU12aは、ステップS12にて、音響信号分析のための初期設定を実行する。具体的には、前記選択された楽曲データのデータサイズ情報に応じた記憶領域をRAM12c内に確保し、前記確保した記憶領域に前記選択された楽曲データを読み込む。また、後述するオンセット特徴量XO、BPM特徴量XBなどを一時的に記憶する領域をRAM12c内に確保する。また、ユーザは、前記選択した楽曲の拍子(又は1小節内に含まれる拍数)を、入力操作子11を用いて入力する。つまり、本実施形態においては、前記選択した楽曲の拍子(又は1小節内に含まれる拍数)が既知であると仮定する。
CPU12aは、ステップS13にて、図3に示すように、前記選択された楽曲を所定の時間間隔をおいて区切り、複数のフレームt{i=0,1,・・・,I}に分割する。各フレームの長さは共通である。説明を簡単にするために、本実施形態では各フレームの長さを125msとする。上記のように、各楽曲のサンプリング周期は1/44100秒であるので、各フレームは、約5000個のサンプル値から構成されている。
次に、CPU12aは、複数の拍点候補から構成される拍点候補系列OR1及び拍点候補系列OR2を計算する。ここで、拍点候補系列OR1及び拍点候補系列OR2の計算手順の概略を説明する。まず、拍点候補系列OR1が次のようにして計算される。拍の存在に関する特徴を表すオンセット特徴量XO及びテンポに関する特徴を表すBPM(beats per minute(1分間あたりの拍数))特徴量XBをフレームtごとに計算する。そして、各フレームtにおける拍周期bの値(テンポの逆数に比例する値)及び次の拍までのフレーム数nの値の組み合わせに応じて分類された状態qb,nの系列として記述された確率モデル(隠れマルコフモデル)のうち、観測値としてのオンセット特徴量XO及びBPM特徴量XBが同時に観測される確率を表わす観測尤度の系列が最も尤もらしい確率モデルを選択する(図4参照)。これにより、分析対象の楽曲における拍点候補系列OR1が検出される。そして、前記検出された拍点候補系列OR1を用いて、拍点候補系列OR1を構成する複数の拍点に対して半拍ずれた複数の拍点候補から構成された拍点候補系列OR2が計算される(図9参照)。なお、拍周期bは、フレームの数によって表わされる。したがって、拍周期bの値は「1≦b≦bmax」を満たす整数であり、拍周期bの値が「β」である状態では、フレーム数nの値は「0≦n<β」を満たす整数である。
次に、拍点候補系列OR1及び拍点候補系列OR2の計算手順について具体的に説明する。まず、CPU12aは、ステップS14にて、フレームごとに、オンセット特徴量XO及びBPM特徴量XBを計算する。
フレームtのオンセット特徴量XO(t)は、次のようにして計算される。CPU12aは、まず、フレームごとに短時間フーリエ変換を実行し、各周波数ビンの信号強度を計算する。次に、CPU12aは、メルフィルタバンクを用いて、各周波数帯域fb(例えば、x=1,2,・・・,20)の信号強度M(fb,t)を計算する。次に、CPU12aは、フレーム間における各周波数帯域の信号強度の増加量R(fb,t)を計算する。下記の式(1)に示すように、フレーム間における前記各周波数帯域の信号強度の増加量の総和がオンセット特徴量XO(t)である。
Figure 0006252147
フレームtのBPM特徴量XB(t)は、次のようにして計算される。CPU12aは、まず、オンセット特徴量XO(t),XO(t)・・・をこの順にフィルタバンクFBB(図5参照)に入力する。フィルタバンクFBBは、拍周期bの値に応じてそれぞれ設けられた複数のコムフィルタCFからなる。コムフィルタCFは、1つのデータが入力される度に1つのデータを出力する。コムフィルタCFは、過去の出力データを拍周期bの値に応じた個数だけ記憶するFIFO(=First In First Out)メモリを有しており、入力されたデータと前記記憶手段に記憶されているデータのうちの最古のデータを所定の比率(例えば、1:1(すなわち、α=0.5))で加算して出力する。オンセット特徴量XOの系列XO(t){=XO(t),XO(t)・・・}をフィルタバンクFBBに入力することにより得られたデータXDの系列XD(t){=XD(t),XD(t)・・・を時系列的に逆にして、フィルタバンクFBBに再度入力することにより、拍周期bに関するBPM特徴量の系列XB(t){=XB(t),XB(t)・・・}が得られる。フレームtのBPM特徴量XB(t)は、拍周期bごとに計算されたBPM特徴量XBb=1,2・・・(t)の集合として表わされる(図6参照)。
次に、CPU12aは、ステップS15にて、ビタビアルゴリズムを用いて、最尤の状態系列を推定する。これにより、拍点候補系列OR1が推定される。なお、拍点候補系列OR1が推定される際、拍周期bの値の系列(つまり、テンポの推移)も同時(一体的)に推定される。
具体的には、CPU12aは、まず、オンセット特徴量XO(t)及びBPM特徴量XB(t)の観測尤度LO(t)及び観測尤度LB(t)をそれぞれ計算する。ここで、オンセット特徴量XO(t)は、次の拍点までのフレーム数nの値に応じて設定された正規分布に従うものとする。つまり、オンセット特徴量XOの観測尤度LO(t)は、次の拍点までのフレーム数nの値に応じて設定された正規分布の確率変数としてオンセット特徴量XOを代入することにより計算される。例えば、フレーム数nの値が「0」であるときは、平均値が「3」であって、且つ分散が「1」である正規分布が用いられる。また、拍周期bの値が「β」であって、フレーム数nの値が「β/2」であるときは、平均値が「1」であって、且つ分散が「1」である正規分布が用いられる。また、フレーム数nの値が「0」及び「β/2」のいずれの値とも異なるとき、平均値が「0」であって、且つ分散が「1」である正規分布が用いられる。
また、BPM特徴量XB(t)の観測尤度LBは、拍周期bごとに設けられたテンプレートTMPに対するBPM特徴量XBの適合度に相当する。つまり、下記の式(2)に示すように、テンプレートTMPとBPM特徴量XB(t)の内積が、観測尤度LB(t)である。なお、この演算式における「ν」は、オンセット特徴量XO(t)に対するBPM特徴量XB(t)の重みを決定する係数である。つまり、「ν」を大きく設定するほど、結果的に、BPM特徴量XB(t)が重視される。また、この演算式におけるZ(ν)は、「ν」に依存する正規化係数である。つまり、前記テンプレートTMPは、BPM特徴量XB(t)を構成するBPM特徴量XB(t)にそれぞれ乗算される係数δb,γ{=1,2・・・}の系列からなる(図7参照)。テンプレートTMPを構成する係数δb,γのうち、インデックスγが拍周期bに等しい係数及び拍周期bの整数倍に等しい係数が極大となるように、テンプレートTMPが設定されている。
Figure 0006252147
次に、CPU12aは、観測尤度LO(t)と観測尤度LB(t)との積の対数である対数観測尤度LOB(t)(下記の式(3)参照)を用いて、尤度が最大となる状態系列を計算する。この最尤の状態系列の計算においては、ビタビアルゴリズムを用いる。
Figure 0006252147
なお、本実施形態においては、(拍周期bの値が「βs」であり、且つフレーム数nの値が「ηs」である状態から、拍周期bの値が「βe」であり、且つフレーム数nの値が「ηe」である状態への対数遷移確率Tの値は、次のように設定されている(図4参照)。「ηe=0」、「βe=βs」、かつ「ηe=βe−1」のとき、対数遷移確率Tの値は、「−0.2」である。また、「ηs=0」、「βe=βs+1」、かつ「ηe=βe−1」のとき、対数遷移確率Tの値は、「−0.6」である。また、「ηs=0」、「βe=βs−1」、かつ「ηe=βe−1」のとき、対数遷移確率Tの値は、「−0.6」である。また、「ηs>0」、「βe=βs」、かつ「ηe=ηs−1」のとき、対数遷移確率Tの値は、「0」である。上記以外の対数遷移確率Tの値は、「−∞」である。すなわち、フレーム数nの値が「0」である状態(ηs=0)から次の状態へ遷移するとき、拍周期bの値は「1」だけ増減され得る。このとき、フレーム数nの値は、遷移後の拍周期bの値より「1」だけ小さい値に設定される。また、フレーム数nの値が「0」でない状態(ηs≠0)から次の状態へ遷移するとき、拍周期bの値は変更されず、フレーム数nの値が「1」だけ減少する。
上記のようにして計算された最尤の状態系列を構成する各状態のうち、フレーム数nが「0」である状態の系列が拍点候補系列OR1である。また、前記最尤の状態系列を構成する各状態のうち、拍周期bとフレーム数nの値が下記の式(4)を満たす状態の系列が拍点候補系列OR2である。
Figure 0006252147
これにより、拍点候補系列OR1を構成する複数の拍点候補から見てそれぞれ半拍分(例えば、4分の4拍子の楽曲においては8分音符の長さ)ずれた複数の拍点候補からなる拍点候補系列OR2が得られる。
つぎに、CPU12aは、ステップS16にて、拍点候補系列OR1を構成する各拍点候補における和音の特徴を表わすビート同期型コード特徴量XBC1の系列であるビート同期型コード特徴量系列CR1と、拍点候補系列OR2を構成する各拍点候補における和音の特徴を表わすビート同期型コード特徴量XBC2の系列であるビート同期型コード特徴量系列CR2を計算する。
ビート同期型コード特徴量系列CR1及びビート同期型コード特徴量系列CR2は次のようにして計算される。まず、各フレームtの各周波数ビンのパワーを、その周波数に最も近い音高の周波数(例えば平均律における各音高の基本周波数)にマッピングする。上記のようにして各音高にマッピングされたパワーのうち、低音域(例えば「B1」以下)に属するパワーをピッチクラス(C,C#,D,・・・,B#)ごとに加算(又は積算)する。このようにして計算された各ピッチクラスのパワーからなる12次元の特徴量をベース特徴量HPCP(B)と呼ぶ(図8参照)。また、各音高にマッピングされたパワーのうち、高音域(例えば「C2」以上)に属するパワーをピッチクラス(C,C#,D,・・・,B#)ごとに加算(又は積算)する。このようにして計算された各ピッチクラスのパワーからなる12次元の特徴量をトレブル特徴量HPCP(T)と呼ぶ。
また、低音域のパワーのL2ノルムをベースパワーρ(B)と呼び、高音域のパワーのL2ノルムをトレブルパワーρ(T)と呼ぶ。
各フレームtに関するベース特徴量HPCP(B)、トレブル特徴量HPCP(T)、ベースパワーρ(B)及びトレブルパワーρ(T)からなる26次元の特徴量をコード特徴量XC(t)と呼ぶ。
ビート同期型コード特徴量XBC1(m)は、拍点候補系列OR1における「m」番目の拍点候補と「m+1」番目の拍点候補の間のフレームのコード特徴量XC(t)を平滑化することにより得られる26次元の特徴量である。また、ビート同期型コード特徴量XBC2(m)は、拍点候補系列OR2における「m」番目の拍点候補と「m+1」番目の拍点候補の間のフレームのコード特徴量XC(t)を平滑化することにより得られる26次元の特徴量である。なお、上記の平滑化とは、例えば、前記拍点候補間のフレームのベース特徴量HPCP(B)の平均を計算するとともに、前記拍点候補間のフレームのトレブル特徴量HPCP(T)、ベースパワーρ(B)及びトレブルパワーρ(T)のメジアンをそれぞれ計算することを意味する。拍点候補系列OR1を構成する全ての拍点候補に関して、ビート同期型コード特徴量XBC1を計算することにより、ビート同期型コード特徴量系列CR1が計算される。また、拍点候補系列OR2を構成する全ての拍点候補に関して、ビート同期型コード特徴量XBC2を計算することにより、ビート同期型コード特徴量系列CR2が計算される。
次に、CPU12aは、ステップS17にて、最尤のビート同期型コード特徴量系列CR1の尤度LK1及び最尤のビート同期型コード特徴量系列CR2の尤度LK2を計算する。最尤のビート同期型コード特徴量系列CR1の尤度LK1及び最尤のビート同期型コード特徴量系列CR2の尤度LK2の計算手順は共通である。そこで、以下の説明においては、ビート同期型コード特徴量系列CR1及びビート同期型コード特徴量系列CR2を単にビート同期型コード特徴量系列CRと表記する。また、ビート同期型コード特徴量XBC1及びビート同期型コード特徴量XBC2を単にビート同期型コード特徴量XBCと表記する。
ここで、ベース特徴量HPCP(B)及びトレブル特徴量HPCP(T)は、vMF(=von Mises Fisher)分布に従うと仮定する。また、ベースパワーρ(B)及びトレブルパワーρ(T)は、ガンマ分布に従うと仮定する。一般の楽曲は、和音が発生されている区間においてパワーが強い。一方、和音が発生されていない区間においてはパワーが弱い。また、和音が発生されていない区間におけるベース特徴量HPCP(B)及びトレブル特徴量HPCP(T)を構成する各ピッチクラスのパワーの分布と、和音が発生されている区間における前記各ピッチクラスのパワーの分布とが異なる。そこで、和音が発生されている状態と和音が発生されていない状態とに関し、ベース特徴量HPCP(B)及びトレブル特徴量HPCP(T)並びにベースパワーρ(B)及びトレブルパワーρ(T)を同時に学習する。また、1つの和音に対して、単一のvMF分布及びガンマ分布を用いるのではなく、複数のモデル(混合モデル)を設定しておき、それらの重み付き線形和としてビート同期型コード特徴量の観測尤度を定義する。ビート同期型コード特徴量XBCの観測尤度は、ビート同期型コード特徴量XBCの構成要素としてのベース特徴量HPCP(B)、トレブル特徴量HPCP(T)、ベースパワーρ(B)及びトレブルパワーρ(T)、並びにvMF分布の平均μ、vMF分布の分散κ、ガンマ分布の尺度母数u、ガンマ分布の形状母数v、及び前記線形和の重みwを用いて、下記の式(5)のように表わされる。なお、「k」は、混合モデルを構成する分布を識別するためのインデックスである。また、低音域に関する変数の右上の括弧内には、「B」が表記されている。また、中高音域に関する変数の右上の括弧内には、「T」が表記されている。また、「Θ」は、和音jに関するパラメータを表わす。例えば、「Θ」は、ベース特徴量HPCP(B)及びトレブル特徴量HPCP(T)の形状(各ピッチクラスのパワーの分布)を表わす。
Figure 0006252147
また、一般に、和音から和音への遷移確率は、楽曲の調keyに依存する。例えば、和音「C」から和音「F」への遷移はハ長調の楽曲において生起する可能性が高い。また、和音から和音への遷移確率は、拍点の拍子位置s(直前の小節線から数えた拍数)に依存する。例えば、4分の4拍子の楽曲において、4拍目(つまりs=4)の和音が「G7」であるとき、次の小節の1拍目の和音は「C」である可能性が高い(ドミナントモーション)。そこで、音響信号分析装置10は、和音の遷移確率を記憶した複数のデータベースを備える。各データベースは、拍子にそれぞれ対応している。つまり、音響信号分析装置10は、例えば、4分の3拍子の楽曲を分析するときに用いるデータベース、4分の4拍子の楽曲を分析するときに用いるデータベース、8分の6拍子の楽曲を分析するときに用いるデータベースなどを備える。そして、各データベースには、和音から和音への遷移確率が、調key及び拍子位置sに関連づけて記憶されている。和音から和音への遷移確率は、種々の楽曲における和音の遷移を学習することにより決定される。これらのデータベースはROM12bに記憶されている。ここで、「m−1」番目の拍点候補における和音が「j´」であって、かつ「m」番目の拍点候補における和音が「j」である確率を下記の式(6)のように表記する。なお、1小節内の拍数にそれぞれ対応したデータベースが設けられていても良い。
Figure 0006252147
すると、最初の拍の拍子位置s及び調keyが既知であるという条件下においては、ビート同期型コード特徴量系列CRの尤度LK(s,key)は、下記の式(7)のように表される。
Figure 0006252147
なお、式(7)における「Z(m)」は、次に説明するような2値変数である。つまり、「Z(m)」は、「m」番目の拍点候補の和音が「j」である場合に「1」であり、その他の場合に「0」である。また、「Zj´(m−1)Z(m)」は、「m−1」番目の拍点候補における和音が「j´」であって、かつ「m」番目の拍点候補における和音が「j」である場合にのみ「1」であり、その他の場合に「0」である。
ここで、拍点候補系列OR1についての尤度LK(s,key)を尤度LK(1)(s,key)と表記する。最尤のビート同期型コード特徴量系列CR1の尤度LK1は、式(8)に基づいて計算される。
Figure 0006252147
また、拍点候補系列OR2についての尤度LK(s,key)を尤度LK(2)(s,key)と表記する。最尤のビート同期型コード特徴量系列CR2の尤度LK2は、式(9)に基づいて計算される。
Figure 0006252147
なお、CPU12aは、ビタビアルゴリズムを用いて尤度LK1及び尤度LK2を計算する。また、CPU12aは、尤度LK1及び尤度LK2を計算する際、ステップS12においてユーザによって入力された拍子(又は1小節内の拍数)に応じたデータベースを参照して和音の遷移確率を決定する。
次に、CPU12aは、ステップS18にて、尤度LK1と尤度LK2と比較する。尤度LK1が尤度LK2よりも大きいとき、CPU12aは、「Yes」と判定して、ステップS19にて、前記推定された拍点候補系列OR1、最尤のビート同期型コード特徴量系列CR1及び拍子位置sを出力する。具体的には、拍点候補系列OR1及び拍子位置sに基づいて、拍点及び小節線を表わすグラフを表示器13に表示する。また、最尤のビート同期型コード特徴量系列CR1に基づいて、コード進行Z1(コード名の系列)を計算して、表示器13に表示する。コード進行Z1は、最尤のビート同期型コード特徴量系列CR1を構成する各ビート同期型コード特徴量XBC1(m)に対応するコード名の系列である。そして、CPU12aは、ステップS20にて、拍点・コード推定処理を終了する。
一方、ステップS18において、尤度LK1が尤度LK2以下であるとき、CPU12aは、「No」と判定して、ステップS21にて、前記推定された拍点候補系列OR2、最尤のビート同期型コード特徴量系列CR2及び拍子位置sを出力する。具体的には、拍点候補系列OR2及び拍子位置sに基づいて、拍点及び小節線を表わすグラフを表示器13に表示する。また、最尤のビート同期型コード特徴量系列CR2に基づいて、コード進行Z2(コード名の系列)を計算して、表示器13に表示する。コード進行Z2は、最尤のビート同期型コード特徴量系列CR2を構成する各ビート同期型コード特徴量XBC2(m)に対応するコード名の系列である。そして、CPU12aは、ステップS20にて、拍点・コード推定処理を終了する。
一般に、コードの変化は、表拍で生起する可能性が高い。そのため、フレームtごとに計算されたコード特徴量XC(t)は、表拍において大きく変化する可能性が高い。よって、誤って裏拍を表拍として選択してしまった場合には、拍点と拍点の間においてコード特徴量XC(t)が大きく変化する可能性が高い。そのため、この場合、ビート同期型コード特徴量は、コードの特徴を的確に表現できていない。つまり、裏拍を表拍として選択してしまった場合には、真の拍点(つまり表拍)を選択した場合に比べて、ビート同期型コード特徴量系列の尤度が低くなる。そこで、音響信号分析装置10は、拍点候補系列OR1と、拍点候補系列OR1を構成する各拍点候補に対して半拍分ずれた拍点候補からなる拍点候補系列OR2を検出し、拍点候補系列OR1及び拍点候補系列OR2に関するビート同期型コード特徴量系列の尤度LK1及び尤度LK2を計算する。そして、尤度LK1及び尤度LK2を比較して、尤度の高い拍点候補系列を選択する。これにより、誤って裏拍を表拍として選択してしまうことを抑制できる。また、ビート同期型コード特徴量系列の尤度が最も高くなるような拍子位置s及び調keyの組み合わせが選択されて、楽曲における拍点、コード進行及び小節線の位置が同時に(一体的)に推定される。したがって、音響信号分析装置10によれば、拍点、コード進行、及び小節線の位置の推定精度を従来よりも向上させることができる。
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、上記実施形態では、楽曲全体の演奏音が楽曲データとして記憶されており、その楽曲データを分析して、拍点、コード進行、及び小節線の位置を推定している。しかし、これに代えて、楽曲の演奏音をリアルタイムで取り込みつつ、取り込んだ演奏音を表わすデータを上記実施形態と同様に分析して、拍点、コード進行、及び小節線の位置を推定しても良い。
10・・・音響信号分析装置、CR1・・・ビート同期型コード特徴量系列、CR2・・・ビート同期型コード特徴量系列、HPCP(T)・・・トレブル特徴量、HPCP(B)・・・ベース特徴量、j・・・和音、key・・・調、OR1・・・拍点候補系列、OR2・・・拍点候補系列、s・・・拍子位置、XB・・・BPM特徴量、XBC1・・・ビート同期型コード特徴量、XBC2・・・ビート同期型コード特徴量、XC・・・コード特徴量、XO・・・オンセット特徴量、ρ(T)・・・トレブルパワー、ρ(B)・・・ベースパワー

Claims (4)

  1. 分析対象としての楽曲の演奏音を表わす音響信号を取り込む音響信号取得手段と、
    前記取り込んだ音響信号に基づいて、前記楽曲の複数の拍点候補からなる第1拍点候補系列、及び前記第1拍点候補系列を構成する複数の拍点候補に対してそれぞれ半拍分ずれた複数の拍点候補からなる第2拍点候補系列を検出する拍点候補系列検出手段と、
    前記取り込んだ音響信号に基づいて、前記第1拍点系列を構成する複数の拍点候補のうちの隣り合う2つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第1ビート同期型コード特徴量系列を計算するとともに、前記第2拍点系列を構成する複数の拍点候補のうちの隣り合う2つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第2ビート同期型コード特徴量系列を計算するビート同期型コード特徴量系列計算手段と、
    前記楽曲のコード進行を表わす確率モデルであって、1小節内の拍数、前記楽曲の調及び最初の拍点の拍子位置の組み合わせに応じて拍点間におけるコードの遷移確率が設定された確率モデルのうち、前記第1ビート同期型コード特徴量系列が所定の基準を満たす確率モデル及び前記第2ビート同期型コード特徴量系列が所定の基準を満たす確率モデルをそれぞれ1つずつ選択し、前記選択した2つの確率モデルのうち尤度が大きい確率モデルに基づいて、前記楽曲の拍点、コード進行、及び小節線の位置を推定する推定手段と、を備えた音響信号分析装置。
  2. 請求項1に記載の音響信号分析装置において、
    前記ビート同期型コード特徴量計算手段は、
    前記隣り合う2つの拍点候補の間に位置する複数の区間ごとにコードの特徴量を表す個度特徴量を計算するコード特徴量計算手段と、
    前記隣り合う2つの拍点候補の間に位置する複数の区間のコード特徴量を平滑化することにより、前記ビート同期型コード特徴量を計算するコード特徴量平滑化手段と、を備えた音響信号分析装置。
  3. 請求項1又は2に記載の音響信号分析装置において、
    前記拍点候補系列検出手段は、
    前記楽曲の各区間における拍の存在に関する特徴を表わす第1特徴量及びテンポに関する特徴を表わす第2特徴量を計算する拍・テンポ特徴量計算手段と、
    前記楽曲の各区間における拍の存在に関する物理量及びテンポに関する物理量の組み合わせにより分類された状態の系列として記述された複数の確率モデルのうち、前記第1特徴量及び前記第2特徴量が前記楽曲の各区間において同時に観測される確率を表わす観測尤度の系列が所定の基準を満たす確率モデルを選択することにより、前記楽曲における拍点及びテンポの推移を同時に推定する拍点・テンポ推定手段と、を備えた音響信号分析装置。
  4. 音響信号分析装置が備えるコンピュータに、
    分析対象としての楽曲の演奏音を表わす音響信号を取り込む音響信号取得ステップと、
    前記取り込んだ音響信号に基づいて、前記楽曲の複数の拍点候補からなる第1拍点候補系列、及び前記第1拍点候補系列を構成する複数の拍点候補に対してそれぞれ半拍分ずれた複数の拍点候補からなる第2拍点候補系列を検出する拍点候補系列検出ステップと、
    前記取り込んだ音響信号に基づいて、前記第1拍点系列を構成する複数の拍点候補のうちの隣り合う2つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第1ビート同期型コード特徴量系列を計算するとともに、前記第2拍点系列を構成する複数の拍点候補のうちの隣り合う2つの拍点候補の間のコードの特徴をそれぞれ表わすビート同期型コード特徴量から構成された第2ビート同期型コード特徴量系列を計算するビート同期型コード特徴量系列計算ステップと、
    前記楽曲のコード進行を表わす確率モデルであって、1小節内の拍数、前記楽曲の調及び最初の拍点の拍子位置の組み合わせに応じて拍点間におけるコードの遷移確率が設定された確率モデルのうち、前記第1ビート同期型コード特徴量系列が所定の基準を満たす確率モデル及び前記第2ビート同期型コード特徴量系列が所定の基準を満たす確率モデルをそれぞれ1つずつ選択し、前記選択した2つの確率モデルのうち尤度が大きい確率モデルに基づいて、前記楽曲の拍点、コード進行、及び小節線の位置を推定する推定ステップと、を実行させる、コンピュータプログラム。
JP2013253993A 2013-12-09 2013-12-09 音響信号分析装置及び音響信号分析プログラム Active JP6252147B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013253993A JP6252147B2 (ja) 2013-12-09 2013-12-09 音響信号分析装置及び音響信号分析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013253993A JP6252147B2 (ja) 2013-12-09 2013-12-09 音響信号分析装置及び音響信号分析プログラム

Publications (2)

Publication Number Publication Date
JP2015114361A JP2015114361A (ja) 2015-06-22
JP6252147B2 true JP6252147B2 (ja) 2017-12-27

Family

ID=53528240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013253993A Active JP6252147B2 (ja) 2013-12-09 2013-12-09 音響信号分析装置及び音響信号分析プログラム

Country Status (1)

Country Link
JP (1) JP6252147B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6743425B2 (ja) 2016-03-07 2020-08-19 ヤマハ株式会社 音信号処理方法および音信号処理装置
JP6693189B2 (ja) * 2016-03-11 2020-05-13 ヤマハ株式会社 音信号処理方法
JP6500870B2 (ja) * 2016-09-28 2019-04-17 カシオ計算機株式会社 コード解析装置、方法、及びプログラム
JP6729515B2 (ja) * 2017-07-19 2020-07-22 ヤマハ株式会社 楽曲解析方法、楽曲解析装置およびプログラム
JP7318253B2 (ja) * 2019-03-22 2023-08-01 ヤマハ株式会社 楽曲解析方法、楽曲解析装置およびプログラム
WO2022181477A1 (ja) * 2021-02-25 2022-09-01 ヤマハ株式会社 音響解析方法、音響解析システムおよびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005173492A (ja) * 2003-12-15 2005-06-30 Yamaha Corp コード進行データ生成装置及びプログラム
JP4823804B2 (ja) * 2006-08-09 2011-11-24 株式会社河合楽器製作所 コード名検出装置及びコード名検出用プログラム
JP5150573B2 (ja) * 2008-07-16 2013-02-20 本田技研工業株式会社 ロボット
JP5153517B2 (ja) * 2008-08-26 2013-02-27 株式会社河合楽器製作所 コード名検出装置及びコード名検出用コンピュータ・プログラム
JP5463655B2 (ja) * 2008-11-21 2014-04-09 ソニー株式会社 情報処理装置、音声解析方法、及びプログラム
JP5513074B2 (ja) * 2009-10-28 2014-06-04 株式会社河合楽器製作所 グリッド検出装置及びプログラム

Also Published As

Publication number Publication date
JP2015114361A (ja) 2015-06-22

Similar Documents

Publication Publication Date Title
JP6123995B2 (ja) 音響信号分析装置及び音響信号分析プログラム
JP6252147B2 (ja) 音響信号分析装置及び音響信号分析プログラム
US9087501B2 (en) Sound signal analysis apparatus, sound signal analysis method and sound signal analysis program
JP4322283B2 (ja) 演奏判定装置およびプログラム
JP6187132B2 (ja) スコアアライメント装置及びスコアアライメントプログラム
US8618401B2 (en) Information processing apparatus, melody line extraction method, bass line extraction method, and program
JP5282548B2 (ja) 情報処理装置、音素材の切り出し方法、及びプログラム
JP4465626B2 (ja) 情報処理装置および方法、並びにプログラム
JP5088030B2 (ja) 演奏音の類似度を評価する方法、装置およびプログラム
JP6295794B2 (ja) 音響信号分析装置及び音響信号分析プログラム
EP2457232A1 (en) A method and an apparatus for deriving information from an audio track and determining similarity between audio tracks
JP6123574B2 (ja) コード抽出装置、方法、およびプログラム
JP6281211B2 (ja) 音響信号のアライメント装置、アライメント方法及びコンピュータプログラム
JP2015036710A (ja) 音響信号のアライメント装置
JP2011022489A (ja) 音高認識方法、音高認識プログラム、記録媒体、及び音高認識システム
JP6232916B2 (ja) コードパワー算出装置、方法及びプログラム、並びにコード決定装置
JP6372072B2 (ja) 音響信号分析装置、音響信号分析方法、及び音響信号分析プログラム
JP6515945B2 (ja) コード抽出装置、および方法
JP7176114B2 (ja) 楽曲解析装置、プログラムおよび楽曲解析方法
JP2021076699A (ja) 基音抽出装置、基音抽出方法、およびプログラム
JP2010152381A (ja) 音響信号分析装置、音響信号分析方法及び音響信号分析プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171013

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171113

R151 Written notification of patent or utility model registration

Ref document number: 6252147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151