JP6372072B2 - Acoustic signal analysis apparatus, acoustic signal analysis method, and acoustic signal analysis program - Google Patents
Acoustic signal analysis apparatus, acoustic signal analysis method, and acoustic signal analysis program Download PDFInfo
- Publication number
- JP6372072B2 JP6372072B2 JP2013253987A JP2013253987A JP6372072B2 JP 6372072 B2 JP6372072 B2 JP 6372072B2 JP 2013253987 A JP2013253987 A JP 2013253987A JP 2013253987 A JP2013253987 A JP 2013253987A JP 6372072 B2 JP6372072 B2 JP 6372072B2
- Authority
- JP
- Japan
- Prior art keywords
- tempo
- beat
- determined
- phase
- acoustic signal
- 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
Links
Images
Description
本発明は、楽曲の演奏音を表わす音響信号を取り込みつつ前記取り込んだ音響信号を分析することにより、拍の位置及びテンポを実時間で推定する音響信号分析装置、音響信号分析方法、及び音響信号分析装置が備えるコンピュータに適用されるコンピュータプログラムに関する。 The present invention relates to an acoustic signal analyzing apparatus, an acoustic signal analyzing method, and an acoustic signal for estimating a beat position and a tempo in real time by analyzing the captured acoustic signal while capturing an acoustic signal representing a performance sound of a music piece. The present invention relates to a computer program applied to a computer provided in an analysis apparatus.
従来から、例えば、下記非特許文献1に示されているように、楽曲の演奏音を表わす音響信号を分析することにより、拍点を推定する音響信号分析装置は知られている。この音響信号分析装置においては、拍の時刻と1小節内における拍の位置とを隠れ状態とした隠れマルコフモデルが設定されている。そして、最尤の状態経路が計算されて、拍点が決定される。
2. Description of the Related Art Conventionally, for example, as shown in Non-Patent
上記非特許文献1に記載の音響信号分析装置においては、楽曲のテンポが既知である必要がある。また、楽曲全体の音響信号を取り込んだ後でなければ、拍点を推定することができない。つまり、上記非特許文献1に記載の音響信号分析装置は、拍点及びテンポを実時間で推定することができない。
In the acoustic signal analyzer described in Non-Patent
本発明は上記問題に対処するためになされたもので、その目的は、拍点及びテンポを実時間で精度良く推定することができる音響信号分析装置を提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。 The present invention has been made to cope with the above-described problems, and an object of the present invention is to provide an acoustic signal analyzer capable of accurately estimating beat points and tempos in real time. In addition, in the description of each constituent element of the present invention below, in order to facilitate understanding of the present invention, reference numerals of corresponding portions of the embodiment are described in parentheses, but each constituent element of the present invention is The present invention should not be construed as being limited to the configurations of the corresponding portions indicated by the reference numerals of the embodiments.
上記目的を達成するために、本発明の特徴は、楽曲全体を複数の区間(ti)に分割したときの各区間の演奏音を表わす音響信号を取り込むごとに前記取り込んだ音響信号を分析することにより、前記楽曲の各区間における拍の存在及びテンポを実時間で推定する音響信号分析装置(10)であって、前記楽曲の各区間における拍の存在に関する物理量及びテンポに関する物理量の組み合わせにより分類された状態(q)の系列として記述された確率モデルに基づいて現在の区間における拍の存在及びテンポを仮決定する拍点・テンポ仮決定手段(S14)と、過去の区間において決定されたテンポに基づいて前記仮決定されたテンポ(ωin)を補正し、前記補正されたテンポに基づいて、現在の区間のテンポ(ωtarget、ω)を決定するテンポ決定手段(S15)と、前記決定されたテンポに基づいて、現在の区間からみた拍点までの時間に相当する拍位相(θ)を計算する拍位相計算手段(S17、S18)と、拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間及びその区間の後続の1つ又は複数の区間において、前記拍位相の絶対値を所定の補正値だけ小さくするように補正する拍位相補正手段(S16)と、前記拍位相の正負符号が変化した区間に拍が存在するとして決定して、前記決定された拍点を、前記テンポ決定手段において決定されたテンポとともに出力する拍点・テンポ出力手段(S19、S20)と、を備えた音響信号分析装置としたことにある。
In order to achieve the above object, the present invention is characterized in that the captured sound signal is analyzed every time a sound signal representing a performance sound of each section when the entire music is divided into a plurality of sections (t i ) is captured. Thus, an acoustic signal analyzing apparatus (10) for estimating the existence and tempo of beats in each section of the music in real time, classified by a combination of a physical quantity related to the presence of beats in each section of the music and a physical quantity related to tempo Beat point / tempo provisional deciding means (S14) for tentatively determining the presence and tempo of the beat in the current section based on the probability model described as the sequence of the state (q), and the tempo determined in the past section the correction of a provisional decision tempo (ω in) on the basis of, on the basis of the corrected tempo, tempo of the current interval (ω target, ω) a Tempo determination means (S15) to be determined, and beat phase calculation means (S17, S18) for calculating the beat phase (θ) corresponding to the time from the current section to the beat point based on the determined tempo The absolute value of the beat phase is set to a predetermined correction value in a section tentatively determined that a beat is present and the beat phase is included in a predetermined range and one or more subsequent sections of the section. The beat phase correcting means (S16) for correcting the beat phase to be reduced, and determining that a beat exists in a section where the sign of the beat phase has changed, and the determined beat point is determined by the tempo determining means. The sound signal analyzing apparatus includes beat point / tempo output means (S19, S20) for outputting together with the tempo.
この場合、テンポ決定手段は、過去の区間において決定されたテンポと前記仮決定されたテンポの2倍のテンポとの差分が所定の閾値より小さいとき、前記仮決定されたテンポの2倍のテンポに基づいて現在の区間のテンポを決定し、過去の区間において決定されたテンポと前記仮決定されたテンポの半分のテンポとの差分が所定の閾値より小さいとき、前記仮決定されたテンポの半分のテンポに基づいて現在の区間のテンポを決定し、過去の区間において決定されたテンポと前記仮決定されたテンポの2倍のテンポとの差分が所定の閾値以上であり、且つ過去の区間において決定されたテンポと前記仮決定されたテンポの半分のテンポとの差分が所定の閾値以上であるとき、前記仮決定されたテンポに基づいて現在の区間のテンポを決定するとよい。 In this case, when the difference between the tempo determined in the past section and the tempo twice the tentatively determined tempo is smaller than a predetermined threshold, the tempo determining means has a tempo that is twice the tentatively determined tempo. The tempo of the current section is determined based on the above, and when the difference between the tempo determined in the past section and the tempo of half of the tentatively determined tempo is smaller than a predetermined threshold, half of the tentatively determined tempo The tempo of the current section is determined based on the tempo of the current section, and the difference between the tempo determined in the past section and the tempo twice the tentatively determined tempo is equal to or greater than a predetermined threshold, and in the past section When the difference between the determined tempo and half of the tentatively determined tempo is equal to or greater than a predetermined threshold, the tempo of the current section is determined based on the tentatively determined tempo. When may.
また、この場合、拍位相補正手段は、拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間における前記拍位相を補正すべき位相角として決定する補正量決定手段(S163〜S166)と、拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間及びその区間の後続の1つ又は複数の区間において、前記補正すべき位相角の絶対値が前記所定の補正値だけ小さくなるように、前記補正すべき位相角を更新する補正量更新手段(S168)と、を備え、拍が存在すると仮決定された区間であって、拍位相が前記所定の範囲に含まれる区間から前記拍位相の補正を開始し、前記補正すべき位相角が所定の位相角以下になったとき前記拍位相の補正を終了するとよい。 Further, in this case, the beat phase correction means determines a correction amount for determining a phase angle to be corrected in the section where the beat phase is provisionally determined and the beat phase is included in a predetermined range. Means (S163 to S166) and a section to be corrected in a section provisionally determined that a beat exists, in which a beat phase is included in a predetermined range and one or more sections following the section Correction amount update means (S168) for updating the phase angle to be corrected so that the absolute value of the angle is reduced by the predetermined correction value, and a section provisionally determined to have a beat, It is preferable that correction of the beat phase is started from a section where the beat phase is included in the predetermined range, and the correction of the beat phase is ended when the phase angle to be corrected is equal to or smaller than the predetermined phase angle.
上記のような確率モデルに基づいて仮決定されたテンポは、真のテンポのM倍又は1/M倍(「M」は整数)のテンポである可能性がある。とくに、真のテンポの2倍又は1/2倍のテンポである可能性がある。また、仮決定された拍点は、真の拍点から半拍分ずれた時点(つまり、裏拍)である可能性がある。また、真の拍点の付近の複数のフレームにおいて拍点が存在すると仮決定される可能性がある。 The tempo temporarily determined based on the probability model as described above may be a tempo that is M times or 1 / M times the true tempo (“M” is an integer). In particular, the tempo may be twice or half the true tempo. In addition, the tentatively determined beat point may be a time point that is shifted by half a beat from the true beat point (that is, a back beat). Further, there is a possibility that it is temporarily determined that a beat point exists in a plurality of frames near the true beat point.
本発明によれば、過去のフレームにおけるテンポの値の最終的な推定結果に基づいて、現フレームおいて仮決定されたテンポ(仮テンポ)の値が補正される。これにより、現フレームのテンポが真のテンポのM倍又は1/M倍のテンポであると誤推定されることが抑制される。 According to the present invention, the tempo (temporary tempo) value provisionally determined in the current frame is corrected based on the final estimation result of the tempo value in the past frame. This suppresses erroneous estimation that the tempo of the current frame is M times or 1 / M times the true tempo.
例えば、現フレームにおける仮テンポの値が1つ前のフレームにおいて最終的に推定されたテンポの値と同一とみなせる場合には、現フレームにおけるテンポの最終的な推定値が仮テンポの値に基づいて設定される。また、現フレームにおける仮テンポの値が1つ前のフレームにおいて最終的に推定されたテンポの値の2倍程度である場合には、現フレームにおけるテンポの最終的な推定値が仮テンポの1/2倍の値に基づいて設定される。また、現フレームにおける仮テンポの値が1つ前のフレームにおいて最終的に推定されたテンポの値の1/2倍程度である場合には、現フレームにおけるテンポの最終的な推定値が仮テンポの2倍の値に基づいて設定される。これにより、現在のフレームのテンポが真のテンポの2倍又は半分のテンポであると誤推定されることが抑制される。 For example, when the temporary tempo value in the current frame can be regarded as the same as the tempo value finally estimated in the previous frame, the final estimated tempo value in the current frame is based on the temporary tempo value. Is set. If the value of the temporary tempo in the current frame is about twice the value of the tempo finally estimated in the previous frame, the final estimated value of the tempo in the current frame is 1 of the temporary tempo. It is set based on a value of / 2. When the temporary tempo value in the current frame is about ½ times the final estimated tempo value in the previous frame, the final estimated tempo value in the current frame is the temporary tempo. Is set based on a value twice as large as. This suppresses erroneous estimation that the current frame tempo is twice or half the true tempo.
また、拍点が存在すると仮決定された区間においては、拍位相は「0」であるべきである。そこで、拍位相を補正するようにした。ただし、拍位相が所定の範囲に含まれる場合にのみ拍位相を補正する。例えば、以下のような場合には、拍位相を補正しないようにするとよい。 In addition, the beat phase should be “0” in the section where it is temporarily determined that a beat point exists. Therefore, the beat phase was corrected. However, the beat phase is corrected only when the beat phase is included in the predetermined range. For example, in the following cases, it is preferable not to correct the beat phase.
上記のような確率モデルに基づいて拍点を推定する場合、拍位相が「0」に近い区間であって、連続又は近接する複数の区間に拍が存在すると仮決定される可能性が高い。このとき拍位相を補正すると、拍点の推定精度が低下する可能性がある。そこで、この場合は、拍位相を補正しないように構成するとよい。これにより、拍位相が「0」に近い複数の区間に拍が存在すると誤推定されることが抑制される。また、半拍分のずれが生じている可能性が高いと考えられる区間では、拍位相を補正しないように構成するとよい。 When the beat point is estimated based on the probability model as described above, it is highly likely that the beat phase is a section close to “0” and that a beat exists in a plurality of sections that are continuous or close to each other. If the beat phase is corrected at this time, the beat point estimation accuracy may be lowered. Therefore, in this case, it may be configured not to correct the beat phase. This suppresses erroneous estimation that a beat exists in a plurality of sections having a beat phase close to “0”. In addition, it is preferable that the beat phase is not corrected in a section where it is considered highly likely that a half-beat shift has occurred.
したがって、上記のように構成された音響信号分析装置によれば、拍点及びテンポを実時間で精度良く推定することができる。 Therefore, according to the acoustic signal analyzer configured as described above, the beat point and the tempo can be accurately estimated in real time.
また、本発明は、音響信号分析装置の発明に限られず、音響信号分析方法、及び音響信号分析装置が備えるコンピュータに適用されるコンピュータプログラムとしても実施可能である。 In addition, the present invention is not limited to the invention of the acoustic signal analysis device, and can also be implemented as an acoustic signal analysis method and a computer program applied to a computer included in the acoustic signal analysis device.
本発明の一実施形態に係る音響信号分析装置10について説明する。音響信号分析装置10は、楽曲の演奏音を表わす音響信号を取り込みつつ前記取り込んだ音響信号を分析することにより、拍の位置及びテンポを実時間で推定する。
An
音響信号分析装置10は、図1に示すように、入力操作子11、コンピュータ部12、表示器13、記憶装置14、外部インターフェース回路15及びサウンドシステム16を備えており、これらがバスBSを介して接続されている。
As shown in FIG. 1, the
入力操作子11は、オン・オフ操作に対応したスイッチ(例えば数値を入力するためのテンキー)、回転操作に対応したボリューム又はロータリーエンコーダ、スライド操作に対応したボリューム又はリニアエンコーダ、マウス、タッチパネルなどから構成される。これらの操作子は、拍点・テンポ推定の開始又は停止、拍点・テンポ推定に関する各種パラメータの設定などに用いられる。入力操作子11を操作すると、その操作内容を表す操作情報が、バスBSを介して、後述するコンピュータ部12に供給される。
The
コンピュータ部12は、バスBSにそれぞれ接続されたCPU12a、ROM12b及びRAM12cからなる。CPU12aは、後述する拍点・テンポ推定処理の手順を表わした拍点・テンポ推定プログラムをROM12bから読み出して実行する。ROM12bには、前記プログラムに加えて、初期設定パラメータ、表示器13に表示される画像を表わす表示データを生成するための図形データ及び文字データなどの各種データが記憶されている。RAM12cには、前記プログラムの実行時に必要なデータが一時的に記憶される。
The
表示器13は、液晶ディスプレイ(LCD)によって構成される。コンピュータ部12は、図形データ、文字データなどを用いて表示すべき内容を表わす表示データを生成して表示器13に供給する。例えば、コンピュータ部12は、後述する拍点・テンポ推定処理により推定された拍点及びテンポを表わす表示データを表示器13に供給する。表示器13は、コンピュータ部12から供給された表示データに基づいて画像を表示する。
The
また、記憶装置14は、HDD、FDD、CD、DVDなどの大容量の不揮発性記録媒体と、同各記録媒体に対応するドライブユニットから構成されている。
The
外部インターフェース回路15は、音響信号分析装置10を電子音楽装置、パーソナルコンピュータなどの外部機器に接続可能とする接続端子を備えている。音響信号分析装置10は、外部インターフェース回路15を介して、LAN(Local Area Network)、インターネットなどの通信ネットワークにも接続可能である。
The
サウンドシステム16は、ディジタル音信号を生成する音源回路、前記生成されたディジタル音信号をアナログ音信号に変換するD/A変換器、前記変換したアナログ音信号を増幅するアンプ、及び増幅されたアナログ音信号を音響信号に変換して出力するスピーカを備えている。また、サウンドシステム16は、楽曲の演奏により放音された楽音を収音するためのマイク、収音された楽音を表わすアナログ音信号をディジタル音信号に変換するA/D変換器、変換されたディジタル音信号を表わすサンプルデータを一時的に記憶するバッファも備えている。つまり、サウンドシステム16は、楽音を所定のサンプリング周期(例えば、1/44100sec)でサンプリングし、サンプリングによって得られたサンプルデータを前記バッファに記憶する。
The
次に、音響信号分析装置10の動作について説明する。まず、その概略について説明する。音響信号分析装置10は、楽曲の演奏音を表わす音響信号を逐次サンプリングする。そして、楽曲全体を複数のフレームti=0,1,2,・・・,Iに分割した場合(図2参照)における各フレームに相当する部分のサンプリングを終了するごと(すなわち、所定数のサンプルデータが得られるごと)に、それまでに得られたサンプルデータを用いて、現在のフレームに関する拍の有無及びテンポを推定する。なお、上記の「i」はフレームのインデックスである。各フレームの長さは共通である。各フレームの長さは、例えば、4msである。また、上記の「フレーム」が本発明の「区間」に相当する。
Next, the operation of the
次に、音響信号分析装置10の動作について具体的に説明する。ユーザが音響信号分析装置10の図示しない電源スイッチをオンにすると、CPU12aは、図3に示す拍点・テンポ推定プログラムをROM12bから読み出して実行する。
Next, the operation of the
次に、CPU12aは、ステップS11にて、音響信号分析のための初期設定を実行する。具体的には、後述するオンセット特徴量XO、BPM特徴量XBなどを一時的に記憶する領域をRAM12c内に確保する。また、CPU12aは、処理対象のフレームを最初のフレームに設定する。すなわち、フレームのインデックスである「i」の値を「0」に設定する。
Next, CPU12a performs the initial setting for an acoustic signal analysis in step S11. Specifically, an area for temporarily storing an onset feature value XO, a BPM feature value XB, and the like to be described later is secured in the
次に、CPU12aは、ステップS12にて、サウンドシステム16に、楽曲の演奏音を表わす音響信号のサンプリングを開始させる。
Next, in step S12, the
次に、CPU12aは、ステップS13にて、フレームtiに含まれる音響信号(サンプルデータ)をサウンドシステム16のバッファから読み込む。ただし、フレームtiに含まれる全てのサンプルデータが未だサンプリングされていない場合には、全てのサンプルデータがサンプリングされるまで待機する。次に、CPU12aは、ステップS14にて、フレームtiにおける拍の有無及びテンポを仮決定する。
Then,
ここで、拍の有無及びテンポの仮決定手順の概略について説明する。まず、CPU12aは、前記読み込んだサンプルデータを用いて、拍の有無に関する特徴を表すオンセット特徴量XO及びテンポに関する特徴を表すBPM(beats per minute(1分間あたりの拍数))特徴量XBを計算する。そして、各フレームtiにおける拍周期bの値(テンポの逆数に比例する値)及び次の拍までのフレーム数nの値の組み合わせに応じて分類された状態qb,nの系列として記述された確率モデル(隠れマルコフモデル、図4参照)に前向きアルゴリズムを適用し、前向き変数が最大となる状態を検出する。これにより、フレームtiにおける拍の有無及びテンポが仮決定される。なお、拍周期bは、フレームの数によって表わされる。したがって、拍周期bの値は「1≦b≦bmax」を満たす整数であり、拍周期bの値が「β」である状態では、フレーム数nの値は「0≦n<β」を満たす整数である。
Here, an outline of the procedure for temporarily determining the presence / absence of a beat and the tempo will be described. First, the
次に、拍の有無及びテンポの仮決定手順について具体的に説明する。まず、CPU12aは、フレームtiに関するオンセット特徴量XO及びBPM特徴量XBを計算する。
Next, the procedure for temporarily determining the presence / absence of a beat and the tempo will be described in detail. First,
フレームtiのオンセット特徴量XO(ti)は、次のようにして計算される。CPU12aは、まず、フレームtiの音響信号を短時間フーリエ変換し、各周波数ビンの信号強度を計算する。次に、CPU12aは、メルフィルタバンクを用いて、各周波数帯域fbx(例えば、x=1,2,・・・,20)の信号強度を計算する。次に、CPU12aは、1つ前のフレームに対する各周波数帯域の信号強度の増加量R(fbx,ti)を計算する。下記の式(1)に示すように、前記各周波数帯域の信号強度の増加量の総和がオンセット特徴量XO(ti)である。
フレームtiのBPM特徴量XB(ti)は、次のようにして計算される。CPU12aは、まず、オンセット特徴量XO(t0),XO(t1)・・・をこの順にフィルタバンクFBB(図5参照)に入力する。フィルタバンクFBBは、拍周期bの値に応じてそれぞれ設けられた複数のコムフィルタCFbからなる。コムフィルタCFbは、1つのデータが入力される度に1つのデータを出力する。コムフィルタCFbは、過去の出力データを拍周期bの値に応じた個数だけ記憶するFIFO(=First In First Out)メモリを有しており、入力されたデータと前記記憶手段に記憶されているデータのうちの最古のデータを所定の比率(例えば、1:1(すなわち、α=0.5))で加算して出力する。オンセット特徴量XOの系列XO(t){=XO(t0),XO(t1)・・・}をフィルタバンクFBBに入力することにより得られたデータXDbの系列XDb(t){=XDb(t0),XDb(t1)・・・を時系列的に逆にして、フィルタバンクFBBに再度入力することにより、拍周期bに関するBPM特徴量の系列XBb(t){=XBb(t0),XBb(t1)・・・}が得られる。フレームtiのBPM特徴量XB(ti)は、拍周期bごとに計算されたBPM特徴量XBb=1,2・・・(ti)の集合として表わされる(図6参照)。
The BPM feature value XB (t i ) of the frame t i is calculated as follows. First, the
次に、CPU12aは、前向きアルゴリズムを用いて、フレームtiにおける拍の有無及びテンポを仮決定する。
Then,
具体的には、CPU12aは、まず、オンセット特徴量XO(ti)及びBPM特徴量XB(ti)の観測尤度LO(ti)及び観測尤度LB(ti)をそれぞれ計算する。ここで、オンセット特徴量XO(ti)は、次の拍点までのフレーム数nの値に応じて設定された正規分布に従うものとする。つまり、オンセット特徴量XOの観測尤度LO(ti)は、次の拍点までのフレーム数nの値に応じて設定された正規分布の確率変数としてオンセット特徴量XOを代入することにより計算される。例えば、フレーム数nの値が「0」であるときは、平均値が「3」であって、且つ分散が「1」である正規分布が用いられる。また、拍周期bの値が「β」であって、フレーム数nの値が「β/2」であるときは、平均値が「1」であって、且つ分散が「1」である正規分布が用いられる。また、フレーム数nの値が「0」及び「β/2」のいずれの値とも異なるとき、平均値が「0」であって、且つ分散が「1」である正規分布が用いられる。
Specifically,
また、BPM特徴量XB(ti)の観測尤度LBは、拍周期bごとに設けられたテンプレートTMPbに対するBPM特徴量XBの適合度に相当する。つまり、下記の式(2)に示すように、テンプレートTMPbとBPM特徴量XB(ti)の内積が、観測尤度LB(ti)である。なお、この演算式における「νb」は、オンセット特徴量XO(ti)に対するBPM特徴量XB(ti)の重みを決定する係数である。つまり、「νb」を大きく設定するほど、結果的に、BPM特徴量XB(ti)が重視される。また、この演算式における「Z(νb)」は、「νb」に依存する正規化係数である。つまり、前記テンプレートTMPbは、BPM特徴量XB(ti)を構成するBPM特徴量XBb(ti)にそれぞれ乗算される係数δb,γ{=1,2・・・}の系列からなる(図7参照)。テンプレートTMPbを構成する係数δb,γのうち、インデックスγが拍周期bに等しい係数及び拍周期bの整数倍に等しい係数が極大となるように、テンプレートTMPbが設定されている。
次に、CPU12aは、観測尤度LO(ti)と観測尤度LB(ti)との積の対数である対数観測尤度LOB(ti)(下記の式(3)参照)を用いて、各状態に関する前向き変数を計算する。
なお、本実施形態においては、(拍周期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」だけ減少する。 In the present embodiment (from the state where the value of the beat period b is “βs” and the value of the number of frames n is “ηs”, the value of the beat period b is “βe” and the frame The value of the logarithmic transition probability T to the state where the value of the number n is “ηe” is set as follows (see FIG. 4): “ηe = 0”, “βe = βs”, and “ηe” = Βe−1 ”, the value of the logarithmic transition probability T is“ −0.2. ”When“ ηs = 0 ”,“ βe = βs + 1 ”, and“ ηe = βe−1 ”, The value of the logarithmic transition probability T is “−0.6”, and when “ηs = 0”, “βe = βs−1”, and “ηe = βe−1”, the value of the logarithmic transition probability T. Is “−0.6.” When “ηs> 0”, “βe = βs”, and “ηe = ηs−1”, the logarithmic transition probability T is “0”. Logarithm other than the above The value of the transition probability T is “−∞.” That is, when the transition from the state where the value of the number of frames n is “0” (ηs = 0) to the next state, the value of the beat period b is “1”. In this case, the value of the frame number n is set to a value smaller by “1” than the value of the beat period b after the transition. Also, the value of the frame number n is not “0” ( When transitioning from (ηs ≠ 0) to the next state, the value of the beat period b is not changed, and the value of the number of frames n is decreased by “1”.
次に、CPU12aは、フレームtiにおける各状態のうち、前向き変数の値が最大である状態qmaxに基づいて拍の有無を仮決定する。つまり、CPU12aは、状態qmaxのフレーム数nの値が「0」であれば、フレームtiに拍が存在すると仮決定する。一方、状態qmaxのフレーム数nの値が「1」以上であれば、フレームtiに拍は存在しないと仮決定する。また、CPU12aは、状態qmaxの拍周期bの値に基づいて、テンポを仮決定する。フレームtiに拍が存在すると仮決定した場合、CPU12aは、拍の有無を表わすビートイベントフラグBFを「1」に設定する。一方、フレームtiに拍が存在しないと仮決定した場合、CPU12aは、ビートイベントフラグBFを「0」に設定する。
Then,
上記のようにして仮決定されたテンポは、真のテンポの半分のテンポ、又は真のテンポの倍のテンポである可能性がある(図20参照)。また、仮決定された拍点は、真の拍点から半拍分ずれた時点(つまり、裏拍)である可能性がある(図21参照)。また、真の拍点の付近の複数のフレームにおいて拍点が存在すると仮決定される可能性がある(図22参照)。すなわち、ビートイベントフラグBFが連続(又は近接)する複数のフレームにおいて「1」に設定される可能性がある。 The tempo temporarily determined as described above may be a tempo that is half the true tempo or a tempo that is twice the true tempo (see FIG. 20). In addition, the tentatively determined beat point may be a time point shifted from the true beat point by half a beat (that is, a back beat) (see FIG. 21). Further, there is a possibility that a beat point is temporarily determined to exist in a plurality of frames near the true beat point (see FIG. 22). That is, there is a possibility that the beat event flag BF is set to “1” in a plurality of continuous (or close) frames.
そこで、CPU12aは、以下説明するステップS15乃至S19を実行し、テンポに関する推定結果及び拍点の有無に関する推定結果を補正する。
Therefore, the
ここで、図8及び図9を用いて、拍位相について説明する。上記の通り、拍周期bは、テンポに相当する。また、フレーム数nは、次の拍点までの時間に相当する。図8における1つの拍点から見て半拍分だけ前の時点から、前記1つの拍点から見て半拍分だけ後の時点までを表わす時間座標系は、図9のように循環座標系(回転座標系)として表わすことができる。すると、この循環座標系における角速度がテンポに相当する。また位相角が拍点までの時間に相当する。以下の説明では、前記仮決定されたテンポを仮テンポωin(rad/フレーム)と表記する。また、最終的に推定されるべきテンポ(つまり、真のテンポ)を推定テンポωtarget(rad/フレーム)と表記する。また、テンポ補正処理において内部的に用いられる変数としてのテンポを内部テンポω(rad/フレーム)と表記する。また、後述の拍位相補正処理及び拍点の決定処理において内部的に用いられる位相角を拍位相θ(rad)と表記する。前記1つの拍点から半拍分だけ前の時点に相当する拍位相θの値が「−π(rad)」であり、前記1つの拍点から半拍分だけ後の時点に相当する拍位相θの値が「π(rad)」である。また、拍位相θは、基本的には、フレームごとに内部テンポωに相当する位相角だけ進む。ただし、詳しくは後述するように、ビートイベントフラグBFが「1」であるフレームにおいて拍位相θが所定の範囲に含まれる場合に拍位相θの補正が開始され、後続の1つ又は複数のフレームにおいて拍位相θが補正される。 Here, the beat phase will be described with reference to FIGS. 8 and 9. As described above, the beat period b corresponds to the tempo. The frame number n corresponds to the time until the next beat point. The time coordinate system from the time point before half a beat as viewed from one beat point in FIG. 8 to the time point after half a beat as viewed from the one beat point is a cyclic coordinate system as shown in FIG. It can be expressed as (rotating coordinate system). Then, the angular velocity in this circular coordinate system corresponds to the tempo. The phase angle corresponds to the time until the beat point. In the following description, the temporarily determined tempo is expressed as a temporary tempo ω in (rad / frame). In addition, the tempo to be finally estimated (that is, the true tempo) is expressed as an estimated tempo ω target (rad / frame). Also, the tempo as a variable used internally in the tempo correction process is expressed as an internal tempo ω (rad / frame). In addition, a phase angle used internally in the later-described beat phase correction process and beat point determination process is referred to as a beat phase θ (rad). The value of the beat phase θ corresponding to a time point half a beat before the one beat point is “−π (rad)”, and the beat phase corresponding to a time point half a beat after the one beat point The value of θ is “π (rad)”. Further, the beat phase θ basically advances by a phase angle corresponding to the internal tempo ω for each frame. However, as will be described in detail later, correction of the beat phase θ is started when the beat phase θ is included in a predetermined range in a frame in which the beat event flag BF is “1”, and the subsequent frame or frames are corrected. The beat phase θ is corrected.
まず、CPU12aは、ステップS15にて、図10に示すテンポ補正処理を実行する。なお、同図においては、「判断」のステップを六角形で示す。同図に示すテンポ補正処理において、CPU12aは、推定テンポωtarget及び内部テンポωの値を次のように更新する。まず、CPU12aは、仮テンポωinの値が1つ前のフレームにおける推定テンポωtargetの値と同一とみなせる場合には、フレームtiにおける推定テンポωtargetの値を仮テンポωinの値と同じ値に更新する。また、仮テンポωinの値が1つ前のフレームにおける推定テンポωtargetの値の2倍程度である場合には、フレームtiにおける推定テンポωtargetの値を仮テンポωinの1/2倍の値に更新する。また、仮テンポωinの値が1つ前のフレームにおける推定テンポωtargetの値の1/2倍程度である場合には、推定テンポωtargetを仮テンポωinの2倍の値に更新する。そして、内部テンポωの値を推定テンポωtargetに近づけるように補正する。
First, in step S15, the
次に、テンポ補正処理について具体的に説明する。CPU12aは、ステップS150にてテンポ補正処理を開始する。そして、ステップS151にて、仮テンポωinが推定テンポωtargetの2倍程度であるか否かを判定する。具体的には、仮テンポωinの半分の値と推定テンポωtargetとの差分が所定の閾値ωthres(例えば、ωthres=0.05ωin)よりも小さいか否かを判定する。仮テンポωinの半分の値と推定テンポωtargetとの差分が所定の閾値ωthresよりも小さい場合には、CPU12aは「Yes」と判定して、ステップS152にて、推定テンポωtargetを仮テンポωinの半分の値に更新する。一方、ステップS151において仮テンポωinの半分の値と推定テンポωtargetとの差分が所定の閾値ωthres以上である場合には、CPU12aは、「No」と判定して、ステップS153にて、仮テンポωinが推定テンポωtargetの半分程度であるか否かを判定する。具体的には、仮テンポωinの2倍の値と推定テンポωtargetとの差分が閾値ωthresよりも小さいか否かを判定する。仮テンポωinの2倍の値と推定テンポωtargetとの差分が閾値ωthresよりも小さい場合には、CPU12aは「Yes」と判定して、ステップS154にて、推定テンポωtargetを仮テンポωinの2倍の値に更新する。一方、ステップS153において仮テンポωinの2倍の値と推定テンポωtargetとの差分が閾値ωthres以上である場合には、CPU12aは、「No」と判定して、ステップS155にて、推定テンポωtargetを仮テンポωinと同じ値に更新する。ただし、最初のフレームt0においては、推定テンポωtargetを仮テンポωinと同じ値に設定する。
Next, the tempo correction process will be specifically described. The
次に、CPU12aは、ステップS156にて、内部テンポωの値を同図に示す更新式を用いて更新する。この更新式を用いることにより、内部テンポωの値が、現在のフレームに後続する複数のフレームにおいて指数関数的に推定テンポωtargetに近づく。なお、同更新式中の係数ρは、「0≦ρ≦1」を満たすように予め設定される。例えば、係数ρは「0.5」に設定される。係数ρは、テンポの推移の滑らかさを表わす。つまり、係数ρが小さいほど内部テンポωが推定テンポωtargetに近づく速度が遅い。CPU12aはステップS157にてテンポ補正処理を終了し、メインルーチンのステップS16に処理を進める。
Next, in step S156, the
次に、CPU12aは、ステップS16にて、図11に示す拍位相補正処理を実行する。なお、同図においては、「判断」のステップを六角形で示す。拍位相補正処理において、CPU12aは、拍位相θを次のように補正する。まず、仮テンポωinと推定テンポωtargetとが同じとみなせる場合について説明する。ビートイベントフラグBFが「1」であるフレームtiにおいて拍位相θが図12に示すように領域A(ζω≦θ≦θthres)に含まれる場合又は図13に示すように領域B(−θthres≦θ≦−ζω)に含まれる場合、その拍位相θが補正すべき位相角を表わす補正量Δθである。なお、係数ζは、「0≦ζ≦1」を満たすように予め設定される。例えば、係数ζは「0.5」に設定される。この場合、フレームtiにおいて補正量Δθだけ拍位相θを補正するのではなく、フレームti及び後続の1つ又は複数のフレームに亘って少しずつ(例えば「ζω」ずつ)拍位相θを補正する。なお、本実施形態では、「θthres=π/2」である。
Next, in step S16, the
また、図14に示す領域C(−ζω≦θ≦ζω)においては、ビートイベントフラグBFが連続又は近接する複数のフレームにおいて「1」に設定される可能性が高い。拍位相θが領域Cに含まれるとき拍位相θを補正すると、拍点の推定精度が低下する可能性がある。そこで、この場合は、拍位相θを補正しない。 Further, in the region C (−ζω ≦ θ ≦ ζω) shown in FIG. 14, the beat event flag BF is highly likely to be set to “1” in a plurality of continuous or adjacent frames. If the beat phase θ is corrected when the beat phase θ is included in the region C, the beat point estimation accuracy may be lowered. Therefore, in this case, the beat phase θ is not corrected.
また、拍位相θが図15に示す領域D(θthres≦θ≦π or −π≦θ≦−θthres)に含まれていて、ビートイベントフラグBFが「1」に設定されたとき、半拍分のずれが生じている可能性が高い。そのため、この場合も拍位相θを補正しない。 When the beat phase θ is included in the region D (θ thres ≦ θ ≦ π or −π ≦ θ ≦ −θ thres ) shown in FIG. 15 and the beat event flag BF is set to “1”, There is a high possibility that a beat shift has occurred. Therefore, in this case, the beat phase θ is not corrected.
次に、仮テンポωinが推定テンポωtargetの「M」倍(Mは「2」以上の自然数)である場合について説明する。この場合、「2πm/M」(「m」は、「0≦m<M」を満たす整数)の近傍の領域E(「2πm/M+ζω/M≦θ≦2πm/M+θthres/M」及び「2πm/M−θthres/M≦θ≦2πm/M−ζω」を「−π(rad)」〜「π(rad)」の範囲内にラッピングした領域:図16(M=2)及び図17(M=3)参照)が、領域A及び領域B(図12及び図13参照)に相当する。そこで、ビートイベントフラグBFが「1」であるフレームtiにおいて拍位相θが領域Eに含まれる場合、その拍位相θを「M」倍し、その位相角を「−π(rad)」〜「π(rad)」の範囲内にラッピングする。そして、前記ラッピングされた位相角を「1/M」倍した値が、拍位相θの補正量Δθである。 Next, the case where the temporary tempo ω in is “M” times the estimated tempo ω target (M is a natural number equal to or greater than “2”) will be described. In this case, the region E (“2πm / M + ζω / M ≦ θ ≦ 2πm / M + θ thres / M” and “2πm” in the vicinity of “2πm / M” (“m” is an integer satisfying “0 ≦ m <M”). / M−θ thres / M ≦ θ ≦ 2πm / M−ζω ”is a region wrapped within the range of“ −π (rad) ”to“ π (rad) ”: FIG. 16 (M = 2) and FIG. M = 3) corresponds to region A and region B (see FIGS. 12 and 13). Therefore, when the beat phase θ is included in the region E in the frame t i in which the beat event flag BF is “1”, the beat phase θ is multiplied by “M”, and the phase angle is set to “−π (rad)” to Wrapping within the range of “π (rad)”. A value obtained by multiplying the lapped phase angle by “1 / M” is a correction amount Δθ of the beat phase θ.
次に、拍位相補正処理について具体的に説明する。CPU12aは、ステップS160にて拍位相補正処理を開始する。次に、CPU12aは、ステップS161にて、ビートイベントフラグBFが「1」であるか否かを判定する。ビートイベントフラグBFが「0」である場合、CPU12aは、「No」と判定して、後述するステップS167に処理を進める。一方、ビートイベントフラグBFが「1」である場合、CPU12aは、「Yes」と判定し、ステップS162にて、拍位相θが所定の領域(つまり、領域A、B又はE)に含まれるか否かを判定する。拍位相θが前記所定の領域に含まれない場合、CPU12aは「No」と判定して、後述するステップS167に処理を進める。一方、拍位相θが前記所定の領域に含まれる場合、CPU12aは、「Yes」と判定し、ステップS163にて、同図に示す演算式に基づいて、仮テンポωinと推定テンポωtargetとの比率Mを計算する。次に、CPU12aは、ステップS164にて、現在の拍位相θに比率Mを乗算する。そして、CPU12aは、ステップS165にて、前記乗算結果を「−π(rad)」〜「π(rad)」の範囲内にラッピングする。ただし、最初のフレームt0における拍位相θの値は、「0」とする。次に、CPU12aは、ステップS166にて、前記ラッピングされた位相角を「1/M」倍することにより、拍位相θの補正量Δθを計算する。
Next, the beat phase correction process will be specifically described. In step S160, the
次に、CPU12aは、ステップS167にて、補正量Δθの絶対値が所定の範囲(ζω<|Δθ|<θthres)に含まれるか否かを判定する。補正量Δθの絶対値が前記所定の範囲に含まれる場合には、CPU12aは、ステップS168にて、同図に示す更新式に基づいて、拍位相θ及び補正量Δθを更新する。すなわち、補正量Δθが正の値である場合には、拍位相θから「ζω」に相当する位相角を減算する。一方、補正量Δθが負の値である場合には、拍位相θに「ζω」に相当する位相角を加算する。また、補正量Δθが正の値である場合には、補正量Δθから「ζω」に相当する位相角を減算する。一方、補正量Δθが負の値である場合には、補正量Δθに「ζω」に相当する位相角を加算する。そして、CPU12aは、ステップS169にて、拍位相補正処理を終了してメインルーチンのステップS17に処理を進める。一方、ステップS167において、補正量Δθの絶対値が前記所定の範囲に含まれない場合には、CPU12aは、「No」と判定して、拍位相を補正することなく、ステップS169にて拍位相補正処理を終了してメインルーチンのステップS17に処理を進める。
Next, in step S167, the
次に、CPU12aは、ステップS17にて、拍位相θを内部テンポωに相当する位相角だけ進める。次に、CPU12aは、ステップS18にて、「−π(rad)」〜「π(rad)」の範囲内に拍位相θをラッピングする。次に、CPU12aは、ステップS19にて、拍位相θの正負符号が変化したか否かを判定する。つまり、拍位相θが負の値から「0」へ変化したか否か、又は拍位θが負の値から正の値へ変化したか否かを判定する。拍位相θの正負符号が変化しなかった場合、CPU12aは、「No」と判定して、後述のステップS21へ処理を進める。一方、拍位相θが「0」又は拍位相θの符号が負から正へ遷移した場合には、CPU12aは「Yes」と判定して、ステップS20にて、拍イベントを出力する。例えば、現フレーム(フレームti)に拍点が存在する旨を表示器13に表示するとともに、推定テンポωtargetの値(推定テンポωtargetに対応するBPM値)又は内部テンポωの値(内部テンポωに対応するBPM値)を現フレームのテンポとして表示器13に表示する。そして、ステップS21にて、フレームのインデックスiをインクリメントして、処理をステップS13に進める。
Next, in step S17, the
上記のようにして計算された拍位相θ及び補正量Δθの推移及び拍点の推定結果の例を図18及び図19に示す。この例においては、説明を簡単にするために、全てのフレームにおいて仮テンポωinが一定であって、推定テンポωtargetと同値であると仮定した。また、図18においては、ビートイベントフラグBFが「1」に設定されたフレームの先頭のタイミングを一点鎖線で示す。また、最終的に推定された拍点を「・」で示す。同図に示すように、ビートイベントフラグBFが「1」であるときであって、拍位相θが領域A又はBに含まれるときにのみ拍位相θの補正が開始される。ビートイベントフラグBFが「1」であるときであっても、拍位相θが領域C又はDに含まれるときには拍位相θの補正が開始されない。 Examples of transition of beat phase θ and correction amount Δθ calculated as described above, and beat point estimation results are shown in FIGS. In this example, in order to simplify the explanation, it is assumed that the temporary tempo ω in is constant in all frames and is equal to the estimated tempo ω target . In FIG. 18, the start timing of the frame in which the beat event flag BF is set to “1” is indicated by a one-dot chain line. In addition, the finally estimated beat point is indicated by “·”. As shown in the figure, correction of the beat phase θ is started only when the beat event flag BF is “1” and the beat phase θ is included in the region A or B. Even when the beat event flag BF is “1”, the correction of the beat phase θ is not started when the beat phase θ is included in the region C or D.
音響信号分析装置10においては、仮テンポωinの値が1つ前のフレームにおける推定テンポωtargetの値と同一とみなせる場合には、現フレームにおける推定テンポωtargetの値を仮テンポωinの値と同じ値に更新する。また、仮テンポωinの値が1つ前のフレームにおける推定テンポωtargetの値の2倍程度である場合には、現フレームにおける推定テンポωtargetの値を仮テンポωinの1/2倍の値に更新する。また、仮テンポωinの値が1つ前のフレームにおける推定テンポωtargetの値の1/2倍程度である場合には、推定テンポωtargetを仮テンポωinの値の2倍の値に更新する。これにより、現在のフレームのテンポが真のテンポの2倍又は半分のテンポであると誤推定することが抑制される。
In the
ビートイベントフラグBFが「1」であるフレームtiにおいて拍位相θが領域A又は領域Bに含まれる場合、拍位相θは「0」であるべきである。そこで、拍位相θを補正するようにした。ただし、フレームtiにおいて補正量Δθだけ拍位相θを補正するのではなく、フレームti及び後続する複数のフレームに亘って少しずつ拍位相θを補正する。 When the beat phase θ is included in the region A or the region B in the frame t i in which the beat event flag BF is “1”, the beat phase θ should be “0”. Therefore, the beat phase θ is corrected. However, instead of correcting the beat phase θ by the correction amount Δθ in the frame t i , the beat phase θ is corrected little by little over the frame t i and a plurality of subsequent frames.
また、領域Cにおいては、ビートイベントフラグBFが連続又は近接する複数のフレームにおいて「1」に設定される可能性が高い。拍位相θが領域Cに含まれるとき拍位相θを補正すると、拍点の推定精度が低下する可能性がある。そこで、この場合は、拍位相θを補正しないようにした。これにより、拍位相θが「0」に近い複数のフレームに拍点が存在すると誤推定することを抑制できる。 In the area C, the beat event flag BF is highly likely to be set to “1” in a plurality of frames that are continuous or close to each other. If the beat phase θ is corrected when the beat phase θ is included in the region C, the beat point estimation accuracy may be lowered. Therefore, in this case, the beat phase θ is not corrected. Accordingly, it is possible to suppress erroneous estimation that beat points exist in a plurality of frames having a beat phase θ close to “0”.
また、拍位相θが領域Dに含まれていて、ビートイベントフラグBFが「1」に設定されたとき、半拍分のずれが生じている可能性が高い。そのため、この場合も拍位相θを補正しないようにした。 Further, when the beat phase θ is included in the region D and the beat event flag BF is set to “1”, there is a high possibility that a shift of half a beat has occurred. Therefore, in this case, the beat phase θ is not corrected.
ただし、仮テンポωinが推定テンポωtargetの「M」倍(Mは「2」以上の自然数)である場合もある。そこで、ビートイベントフラグBFが「1」であるフレームtiにおいて拍位相θが領域Eに含まれる場合、その拍位相θを「M」倍し、その位相角を「−π(rad)」〜「π(rad)」の範囲内にラッピングする。そして、前記ラッピングされた位相角を「1/M」倍した値を、拍位相θの補正量Δθとするように構成した。 However, the temporary tempo ω in may be “M” times the estimated tempo ω target (M is a natural number equal to or greater than “2”). Therefore, when the beat phase θ is included in the region E in the frame t i in which the beat event flag BF is “1”, the beat phase θ is multiplied by “M”, and the phase angle is set to “−π (rad)” to Wrapping within the range of “π (rad)”. A value obtained by multiplying the lapped phase angle by “1 / M” is set as a correction amount Δθ of the beat phase θ.
これにより、裏拍を表拍であると誤推定されることを抑制できる。また、真の拍点の付近の複数のフレームにおいて拍点が存在すると誤推定されることを抑制できる。したがって、上記のように構成された音響信号分析装置10によれば、拍点及びテンポを実時間で精度良く推定することができる。
Thereby, it can suppress that a back beat is mistakenly estimated to be a table beat. Further, it is possible to suppress erroneous estimation that a beat point exists in a plurality of frames near the true beat point. Therefore, according to the
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。 Furthermore, in carrying out the present invention, the present invention is not limited to the above embodiment, and various modifications can be made without departing from the object of the present invention.
例えば、拍の有無及びテンポを仮決定する手法は、上記実施形態に限られない。離散的な状態変数を用いた確率モデルに前向きアルゴリズムを適用して拍の有無及びテンポを仮決定する手法であれば、どのような手法であっても採用可能である。 For example, the method of temporarily determining the presence / absence of a beat and the tempo is not limited to the above embodiment. Any technique can be adopted as long as it applies a forward algorithm to a probability model using discrete state variables to provisionally determine the presence / absence of a beat and the tempo.
また、上記実施形態では、拍位相θを内部テンポωに相当する位相角だけ進めるステップS17は、拍位相補正処理の後に実行されているが、テンポ補正処置と拍位相補正処理との間に実行されてもよい。 In the above embodiment, the step S17 for advancing the beat phase θ by the phase angle corresponding to the internal tempo ω is executed after the beat phase correction process, but is executed between the tempo correction process and the beat phase correction process. May be.
10・・・音響信号分析装置、12・・・コンピュータ部、13・・・表示器、16・・・サウンドシステム 、A,B,C,D,E・・・領域、b・・・拍周期、BF・・・ビートイベントフラグ、M・・・比率、n・・・フレーム数、qb,n・・・状態、ti・・・フレーム、Δθ・・・補正量、ζ・・・係数、θ・・・拍位相、ρ・・・係数、ω・・・内部テンポ、ωin・・・・仮テンポ、ωtarget・・・推定テンポ、ωthres・・・閾値
DESCRIPTION OF
Claims (5)
前記楽曲の各区間における拍の存在に関する物理量及びテンポに関する物理量の組み合わせにより分類された状態の系列として記述された確率モデルに基づいて現在の区間における拍の存在及びテンポを仮決定する拍点・テンポ仮決定手段と、
過去の区間において決定されたテンポに基づいて前記仮決定されたテンポを補正し、前記補正されたテンポに基づいて、現在の区間のテンポを決定するテンポ決定手段と、
前記決定されたテンポに基づいて、現在の区間からみた拍点までの時間に相当する拍位相を計算する拍位相計算手段と、
拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間及びその区間の後続の1つ又は複数の区間において、前記拍位相の絶対値を所定の補正値だけ小さくするように補正する拍位相補正手段と、
前記拍位相の正負符号が変化した区間に拍が存在するとして決定して、前記決定された拍点を、前記テンポ決定手段において決定されたテンポとともに出力する拍点・テンポ出力手段と、を備えた音響信号分析装置。 By analyzing the captured acoustic signal each time an acoustic signal representing a performance sound of each section when the entire music is divided into a plurality of sections, the existence and tempo of beats in each section of the music are measured in real time. An acoustic signal analyzer for estimating,
Beat points and tempos that temporarily determine the presence and tempo of beats in the current section based on a probability model described as a series of states classified by combinations of physical quantities related to the presence of beats and physical quantities related to the tempo in each section of the music Provisional decision means,
Tempo determination means for correcting the tentatively determined tempo based on the tempo determined in the past interval, and determining the tempo of the current interval based on the corrected tempo;
Beat phase calculation means for calculating a beat phase corresponding to the time from the current section to the beat point based on the determined tempo;
In a section that is temporarily determined to have a beat and the beat phase is included in a predetermined range and one or more of the subsequent sections, the absolute value of the beat phase is decreased by a predetermined correction value. Beat phase correction means for correcting
Beat point / tempo output means for determining that a beat is present in a section in which the sign of the beat phase has changed, and outputting the determined beat point together with the tempo determined by the tempo determination means; Acoustic signal analyzer.
前記テンポ決定手段は、
過去の区間において決定されたテンポと前記仮決定されたテンポの2倍のテンポとの差分が所定の閾値より小さいとき、前記仮決定されたテンポの2倍のテンポに基づいて現在の区間のテンポを決定し、
過去の区間において決定されたテンポと前記仮決定されたテンポの半分のテンポとの差分が所定の閾値より小さいとき、前記仮決定されたテンポの半分のテンポに基づいて現在の区間のテンポを決定し、
過去の区間において決定されたテンポと前記仮決定されたテンポの2倍のテンポとの差分が所定の閾値以上であり、且つ過去の区間において決定されたテンポと前記仮決定されたテンポの半分のテンポとの差分が所定の閾値以上であるとき、前記仮決定されたテンポに基づいて現在の区間のテンポを決定する、音響信号分析装置。 The acoustic signal analyzer according to claim 1,
The tempo determination means includes
When the difference between the tempo determined in the past section and the tempo twice the tentatively determined tempo is smaller than a predetermined threshold, the tempo of the current section is based on the tempo twice the tempo determined. Decide
When the difference between the tempo determined in the past interval and half of the tentatively determined tempo is smaller than a predetermined threshold, the tempo of the current interval is determined based on the tempo that is half of the temporarily determined tempo And
The difference between the tempo determined in the past interval and the tempo twice the tentatively determined tempo is equal to or greater than a predetermined threshold, and the tempo determined in the past interval and half of the tentatively determined tempo An acoustic signal analyzing apparatus that determines a tempo of a current section based on the temporarily determined tempo when a difference from a tempo is equal to or greater than a predetermined threshold.
前記拍位相補正手段は、
拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間における前記拍位相を補正すべき位相角として決定する補正量決定手段と、
拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間及びその区間の後続の1つ又は複数の区間において、前記補正すべき位相角の絶対値が前記所定の補正値だけ小さくなるように、前記補正すべき位相角を更新する補正量更新手段と、を備え、
拍が存在すると仮決定された区間であって、拍位相が前記所定の範囲に含まれる区間から前記拍位相の補正を開始し、前記補正すべき位相角が所定の位相角以下になったとき前記拍位相の補正を終了する、音響信号分析装置。 In the acoustic signal analyzer according to claim 1 or 2,
The beat phase correcting means is
Correction amount determining means for determining a phase angle to be corrected in a section that is temporarily determined that a beat is present and the beat phase is included in a predetermined range;
An absolute value of the phase angle to be corrected is an interval that is provisionally determined that a beat is present and the beat phase is included in a predetermined range and one or more of the subsequent sections. Correction amount update means for updating the phase angle to be corrected so as to reduce only the correction value,
When the beat phase correction is started from a section where the beat phase is provisionally determined and the beat phase is included in the predetermined range, and the phase angle to be corrected is equal to or smaller than the predetermined phase angle An acoustic signal analyzer that finishes correcting the beat phase.
前記楽曲の各区間における拍の存在に関する物理量及びテンポに関する物理量の組み合わせにより分類された状態の系列として記述された確率モデルに基づいて現在の区間における拍の存在及びテンポを仮決定する拍点・テンポ仮決定ステップと、
過去の区間において決定されたテンポに基づいて前記仮決定されたテンポを補正し、前記補正されたテンポに基づいて、現在の区間のテンポを決定するテンポ決定ステップと、
前記決定されたテンポに基づいて、現在の区間からみた拍点までの時間に相当する拍位相を計算する拍位相計算ステップと、
拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間及びその区間の後続の1つ又は複数の区間において、前記拍位相の絶対値を所定の補正値だけ小さくするように補正する拍位相補正ステップと、
前記拍位相の正負符号が変化した区間に拍が存在するとして決定して、前記決定された拍点を、前記テンポ決定ステップにおいて決定されたテンポとともに出力する拍点・テンポ出力ステップと、を含む音響信号分析方法。 By analyzing the captured acoustic signal each time an acoustic signal representing a performance sound of each section when the entire music is divided into a plurality of sections, the existence and tempo of beats in each section of the music are measured in real time. An acoustic signal analysis method for estimating,
Beat points and tempos that temporarily determine the presence and tempo of beats in the current section based on a probability model described as a series of states classified by combinations of physical quantities related to the presence of beats and physical quantities related to the tempo in each section of the music A tentative decision step;
A tempo determination step of correcting the tentatively determined tempo based on the tempo determined in the past interval, and determining the tempo of the current interval based on the corrected tempo;
A beat phase calculating step for calculating a beat phase corresponding to the time from the current interval to the beat point based on the determined tempo;
In a section that is temporarily determined to have a beat and the beat phase is included in a predetermined range and one or more of the subsequent sections, the absolute value of the beat phase is decreased by a predetermined correction value. A beat phase correction step for correcting
A beat point / tempo output step of determining that a beat exists in a section in which the sign of the beat phase has changed, and outputting the determined beat point together with the tempo determined in the tempo determination step. Acoustic signal analysis method.
前記楽曲の各区間における拍の存在に関する物理量及びテンポに関する物理量の組み合わせにより分類された状態の系列として記述された確率モデルに基づいて現在の区間における拍の存在及びテンポを仮決定する拍点・テンポ仮決定ステップと、
過去の区間において決定されたテンポに基づいて前記仮決定されたテンポを補正し、前記補正されたテンポに基づいて、現在の区間のテンポを決定するテンポ決定ステップと、
前記決定されたテンポに基づいて、現在の区間からみた拍点までの時間に相当する拍位相を計算する拍位相計算ステップと、
拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間及びその区間の後続の1つ又は複数の区間において、前記拍位相の絶対値を所定の補正値だけ小さくするように補正する拍位相補正ステップと、
前記拍位相の正負符号が変化した区間に拍が存在するとして決定して、前記決定された拍点を、前記テンポ決定ステップにおいて決定されたテンポとともに出力する拍点・テンポ出力ステップと、を実行させる音響信号分析プログラム。 By analyzing the captured acoustic signal each time an acoustic signal representing a performance sound of each section when the entire music is divided into a plurality of sections, the existence and tempo of beats in each section of the music are measured in real time. A computer program applied to an acoustic signal analyzer to be estimated, the computer included in the acoustic signal analyzer,
Beat points and tempos that temporarily determine the presence and tempo of beats in the current section based on a probability model described as a series of states classified by combinations of physical quantities related to the presence of beats and physical quantities related to the tempo in each section of the music A tentative decision step;
A tempo determination step of correcting the tentatively determined tempo based on the tempo determined in the past interval, and determining the tempo of the current interval based on the corrected tempo;
A beat phase calculating step for calculating a beat phase corresponding to the time from the current interval to the beat point based on the determined tempo;
In a section that is temporarily determined to have a beat and the beat phase is included in a predetermined range and one or more of the subsequent sections, the absolute value of the beat phase is decreased by a predetermined correction value. A beat phase correction step for correcting
Determined as a section beats the sign of the beat phase is changed is present, perform the determined beat positions, and a beat point tempo output step of outputting together with the tempo determined in the tempo determination step acoustic signal minute 析Pu program to be.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013253987A JP6372072B2 (en) | 2013-12-09 | 2013-12-09 | Acoustic signal analysis apparatus, acoustic signal analysis method, and acoustic signal analysis program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013253987A JP6372072B2 (en) | 2013-12-09 | 2013-12-09 | Acoustic signal analysis apparatus, acoustic signal analysis method, and acoustic signal analysis program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015114360A JP2015114360A (en) | 2015-06-22 |
JP6372072B2 true JP6372072B2 (en) | 2018-08-15 |
Family
ID=53528239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013253987A Active JP6372072B2 (en) | 2013-12-09 | 2013-12-09 | Acoustic signal analysis apparatus, acoustic signal analysis method, and acoustic signal analysis program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6372072B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6729515B2 (en) * | 2017-07-19 | 2020-07-22 | ヤマハ株式会社 | Music analysis method, music analysis device and program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4360358B2 (en) * | 2005-08-01 | 2009-11-11 | ティアック株式会社 | Tempo detection device and tempo detection method |
JP2007057727A (en) * | 2005-08-24 | 2007-03-08 | Xing Inc | Electronic percussion instrument amplifier system with musical sound reproducing function |
JP4640407B2 (en) * | 2007-12-07 | 2011-03-02 | ソニー株式会社 | Signal processing apparatus, signal processing method, and program |
JP5282548B2 (en) * | 2008-12-05 | 2013-09-04 | ソニー株式会社 | Information processing apparatus, sound material extraction method, and program |
-
2013
- 2013-12-09 JP JP2013253987A patent/JP6372072B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015114360A (en) | 2015-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9171532B2 (en) | Sound signal analysis apparatus, sound signal analysis method and sound signal analysis program | |
US9087501B2 (en) | Sound signal analysis apparatus, sound signal analysis method and sound signal analysis program | |
JP6187132B2 (en) | Score alignment apparatus and score alignment program | |
US8543387B2 (en) | Estimating pitch by modeling audio as a weighted mixture of tone models for harmonic structures | |
JP6252147B2 (en) | Acoustic signal analysis apparatus and acoustic signal analysis program | |
JP6295794B2 (en) | Acoustic signal analysis apparatus and acoustic signal analysis program | |
JP4630956B2 (en) | Howling frequency component enhancement method and apparatus, howling detection method and apparatus, howling suppression method and apparatus, peak frequency component enhancement method and apparatus | |
JP6372072B2 (en) | Acoustic signal analysis apparatus, acoustic signal analysis method, and acoustic signal analysis program | |
JP6281211B2 (en) | Acoustic signal alignment apparatus, alignment method, and computer program | |
CN107210029A (en) | Method and apparatus for handling succession of signals to carry out polyphony note identification | |
JP6307814B2 (en) | Fundamental visualization device, fundamental visualization method and program | |
JP3849679B2 (en) | Noise removal method, noise removal apparatus, and program | |
JP2014028111A (en) | Respiratory sound analyzer, intermittent rhonchus detector, continuous rhonchus detector, respiratory sound analyzing method, intermittent rhonchus detection method, continuous rhonchus detection method and respiratory sound analyzing program | |
WO2020189107A1 (en) | Audio signal processing method, device and program | |
JP6447357B2 (en) | Audio signal processing apparatus, audio signal processing method, and audio signal processing program | |
WO2017130417A1 (en) | Biological sound analysis device, biological sound analysis method, computer program, and recording medium | |
JP2011257643A (en) | Noise suppressor and program | |
Buys et al. | Real-time bowed string feature extraction for performance applications | |
JP6183067B2 (en) | Data analysis apparatus and method, program, and recording medium | |
Glover et al. | Real-time segmentation of the temporal evolution of musical sounds | |
JP2015179188A (en) | Voice processor, analysis method for voice processor, and program | |
JP6314393B2 (en) | Acoustic signal analyzing apparatus, acoustic signal analyzing method, and computer program | |
JP2016090670A (en) | Frequency analysis device and program | |
JP2015210419A (en) | Converter, method, and program | |
JP2010056688A (en) | Method and program for processing synchronous operation of digital signal |
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 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180109 |
|
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: 20180619 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180702 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6372072 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |