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 PDF

Info

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
Application number
JP2013253987A
Other languages
Japanese (ja)
Other versions
JP2015114360A (en
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 JP2013253987A priority Critical patent/JP6372072B2/en
Publication of JP2015114360A publication Critical patent/JP2015114360A/en
Application granted granted Critical
Publication of JP6372072B2 publication Critical patent/JP6372072B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Document 1 below, an acoustic signal analyzer that estimates a beat point by analyzing an acoustic signal representing a musical performance sound is known. In this acoustic signal analyzer, a hidden Markov model is set in which the beat time and the beat position within one measure are hidden. The most likely state path is then calculated to determine the beat point.

Geoffroy Peeters,Helelne Papadopoulos、「Simultaneos beat and downbeat−tracking using a probabilistic framework: theory and large−scale evaluation」、IEEE Transactions on Audio,Speech and Language Processiong、2011年8月、vol.19、issue6、p.1754−1769Geoffroy Peters, Helelne Papadopoulos, “Simultaneos beat and down beer-tracking using a proficient framework: theory and large-scale eval” 19, issue 6, p. 1754-1769

上記非特許文献1に記載の音響信号分析装置においては、楽曲のテンポが既知である必要がある。また、楽曲全体の音響信号を取り込んだ後でなければ、拍点を推定することができない。つまり、上記非特許文献1に記載の音響信号分析装置は、拍点及びテンポを実時間で推定することができない。   In the acoustic signal analyzer described in Non-Patent Document 1, the tempo of the music needs to be known. In addition, the beat point cannot be estimated unless the acoustic signal of the entire music is captured. That is, the acoustic signal analyzer described in Non-Patent Document 1 cannot estimate the beat point and tempo in real time.

本発明は上記問題に対処するためになされたもので、その目的は、拍点及びテンポを実時間で精度良く推定することができる音響信号分析装置を提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。   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.

上記目的を達成するために、本発明の特徴は、楽曲全体を複数の区間(t)に分割したときの各区間の演奏音を表わす音響信号を取り込むごとに前記取り込んだ音響信号を分析することにより、前記楽曲の各区間における拍の存在及びテンポを実時間で推定する音響信号分析装置(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.

本発明の一実施形態に係る音響信号分析装置の構成を表わすブロック図である。It is a block diagram showing the structure of the acoustic signal analyzer which concerns on one Embodiment of this invention. 音響信号の例を示すグラフである。It is a graph which shows the example of an acoustic signal. 拍点・テンポ推定プログラムのフローチャートである。It is a flowchart of a beat point / tempo estimation program. 拍点及びテンポを仮決定するための隠れマルコフモデルの概念図である。It is a conceptual diagram of the hidden Markov model for tentatively determining a beat point and a tempo. コムフィルタのブロック図である。It is a block diagram of a comb filter. BPM特徴量の計算結果を示すグラフである。It is a graph which shows the calculation result of a BPM feature-value. テンプレートの構成を示す表である。It is a table | surface which shows the structure of a template. 時間座標系における現フレームの位置を示す概念図である。It is a conceptual diagram which shows the position of the present flame | frame in a time coordinate system. 循環座標系における現フレームの位置を示す概念図である。It is a conceptual diagram which shows the position of the present flame | frame in a circular coordinate system. テンポ補正プログラムのフローチャートである。It is a flowchart of a tempo correction program. 拍位相補正プログラムのフローチャートである。It is a flowchart of a beat phase correction program. 領域A及びBの範囲を示す概念図であって、現在の拍位相が領域Aに含まれる例を示す概念図である。FIG. 4 is a conceptual diagram showing ranges of regions A and B, and is a conceptual diagram showing an example in which the current beat phase is included in region A. 領域A及びBの範囲を示す概念図であって、現在の拍位相が領域Bに含まれる例を示す概念図である。FIG. 4 is a conceptual diagram showing ranges of regions A and B, and is a conceptual diagram showing an example in which the current beat phase is included in region B. 領域Cの範囲を示す概念図である。3 is a conceptual diagram showing a range of a region C. FIG. 領域Dの範囲を示す概念図である。3 is a conceptual diagram showing a range of a region D. FIG. 仮テンポが推定テンポの2倍であるときの領域Eの範囲を示す概念図である。It is a conceptual diagram which shows the range of the area | region E when a temporary tempo is twice an estimated tempo. 仮テンポが推定テンポの3倍であるときの領域Eの範囲を示す概念図である。It is a conceptual diagram which shows the range of the area | region E when a temporary tempo is 3 times the estimated tempo. 拍位相θ及び補正量Δθの推移及び拍点の推定結果を示すグラフである。It is a graph which shows transition of beat phase (theta) and correction amount (DELTA) (theta), and the estimation result of a beat point. 拍位相θ及び補正量Δθの推移を示す表である。It is a table | surface which shows transition of beat phase (theta) and correction amount (DELTA) (theta). 仮決定されたテンポが、真のテンポの半分のテンポ、又は真のテンポの倍のテンポである例を示すグラフである。10 is a graph showing an example in which the temporarily determined tempo is half the true tempo or twice the true tempo. 仮決定された拍点が、真の拍点から半拍分ずれた時点である例を示すグラフである。It is a graph which shows the example which is a time point which the tentatively determined beat point shifted | deviated by a half beat from the true beat point. 真の拍点の付近の複数のフレームにおいて拍点が存在すると仮決定された例を示すグラフである。It is a graph which shows the example temporarily determined that a beat point exists in the some flame | frame near a true beat point.

本発明の一実施形態に係る音響信号分析装置10について説明する。音響信号分析装置10は、楽曲の演奏音を表わす音響信号を取り込みつつ前記取り込んだ音響信号を分析することにより、拍の位置及びテンポを実時間で推定する。   An acoustic signal analyzer 10 according to an embodiment of the present invention will be described. The acoustic signal analyzing apparatus 10 estimates the position and tempo of the beat in real time by analyzing the captured acoustic signal while capturing the acoustic signal representing the performance sound of the music.

音響信号分析装置10は、図1に示すように、入力操作子11、コンピュータ部12、表示器13、記憶装置14、外部インターフェース回路15及びサウンドシステム16を備えており、これらがバスBSを介して接続されている。   As shown in FIG. 1, the acoustic signal analyzer 10 includes an input operator 11, a computer unit 12, a display 13, a storage device 14, an external interface circuit 15, and a sound system 16, which are connected via a bus BS. Connected.

入力操作子11は、オン・オフ操作に対応したスイッチ(例えば数値を入力するためのテンキー)、回転操作に対応したボリューム又はロータリーエンコーダ、スライド操作に対応したボリューム又はリニアエンコーダ、マウス、タッチパネルなどから構成される。これらの操作子は、拍点・テンポ推定の開始又は停止、拍点・テンポ推定に関する各種パラメータの設定などに用いられる。入力操作子11を操作すると、その操作内容を表す操作情報が、バスBSを介して、後述するコンピュータ部12に供給される。   The input operator 11 includes a switch corresponding to an on / off operation (for example, a numeric keypad for inputting a numerical value), a volume or rotary encoder corresponding to a rotation operation, a volume or linear encoder corresponding to a slide operation, a mouse, a touch panel, etc. Composed. These operators are used for starting or stopping beat point / tempo estimation, setting various parameters relating to beat point / tempo estimation, and the like. When the input operator 11 is operated, operation information indicating the operation content is supplied to the computer unit 12 described later via the bus BS.

コンピュータ部12は、バスBSにそれぞれ接続されたCPU12a、ROM12b及びRAM12cからなる。CPU12aは、後述する拍点・テンポ推定処理の手順を表わした拍点・テンポ推定プログラムをROM12bから読み出して実行する。ROM12bには、前記プログラムに加えて、初期設定パラメータ、表示器13に表示される画像を表わす表示データを生成するための図形データ及び文字データなどの各種データが記憶されている。RAM12cには、前記プログラムの実行時に必要なデータが一時的に記憶される。   The computer unit 12 includes a CPU 12a, a ROM 12b, and a RAM 12c connected to the bus BS. The CPU 12a reads out and executes a beat point / tempo estimation program representing a procedure of beat point / tempo estimation processing described later from the ROM 12b. In addition to the program, the ROM 12b stores various data such as initial setting parameters, graphic data for generating display data representing an image displayed on the display 13, and character data. The RAM 12c temporarily stores data necessary for executing the program.

表示器13は、液晶ディスプレイ(LCD)によって構成される。コンピュータ部12は、図形データ、文字データなどを用いて表示すべき内容を表わす表示データを生成して表示器13に供給する。例えば、コンピュータ部12は、後述する拍点・テンポ推定処理により推定された拍点及びテンポを表わす表示データを表示器13に供給する。表示器13は、コンピュータ部12から供給された表示データに基づいて画像を表示する。   The display 13 is configured by a liquid crystal display (LCD). The computer unit 12 generates display data representing contents to be displayed using graphic data, character data, and the like, and supplies the display data to the display unit 13. For example, the computer unit 12 supplies the display unit 13 with display data representing beat points and tempo estimated by beat point / tempo estimation processing described later. The display device 13 displays an image based on the display data supplied from the computer unit 12.

また、記憶装置14は、HDD、FDD、CD、DVDなどの大容量の不揮発性記録媒体と、同各記録媒体に対応するドライブユニットから構成されている。   The storage device 14 includes a large-capacity nonvolatile recording medium such as an HDD, FDD, CD, or DVD, and a drive unit corresponding to each recording medium.

外部インターフェース回路15は、音響信号分析装置10を電子音楽装置、パーソナルコンピュータなどの外部機器に接続可能とする接続端子を備えている。音響信号分析装置10は、外部インターフェース回路15を介して、LAN(Local Area Network)、インターネットなどの通信ネットワークにも接続可能である。   The external interface circuit 15 includes a connection terminal that enables the acoustic signal analyzer 10 to be connected to an external device such as an electronic music device or a personal computer. The acoustic signal analyzer 10 can be connected to a communication network such as a LAN (Local Area Network) or the Internet via the external interface circuit 15.

サウンドシステム16は、ディジタル音信号を生成する音源回路、前記生成されたディジタル音信号をアナログ音信号に変換するD/A変換器、前記変換したアナログ音信号を増幅するアンプ、及び増幅されたアナログ音信号を音響信号に変換して出力するスピーカを備えている。また、サウンドシステム16は、楽曲の演奏により放音された楽音を収音するためのマイク、収音された楽音を表わすアナログ音信号をディジタル音信号に変換するA/D変換器、変換されたディジタル音信号を表わすサンプルデータを一時的に記憶するバッファも備えている。つまり、サウンドシステム16は、楽音を所定のサンプリング周期(例えば、1/44100sec)でサンプリングし、サンプリングによって得られたサンプルデータを前記バッファに記憶する。   The sound system 16 includes a sound source circuit that generates a digital sound signal, a D / A converter that converts the generated digital sound signal into an analog sound signal, an amplifier that amplifies the converted analog sound signal, and an amplified analog A speaker that converts a sound signal into an acoustic signal and outputs the sound signal is provided. The sound system 16 includes a microphone for collecting a musical sound emitted by playing a musical piece, an A / D converter for converting an analog sound signal representing the collected musical sound into a digital sound signal, and a converted sound. A buffer for temporarily storing sample data representing the digital sound signal is also provided. That is, the sound system 16 samples the musical sound at a predetermined sampling period (for example, 1/444100 sec), and stores the sample data obtained by the sampling in the buffer.

次に、音響信号分析装置10の動作について説明する。まず、その概略について説明する。音響信号分析装置10は、楽曲の演奏音を表わす音響信号を逐次サンプリングする。そして、楽曲全体を複数のフレームti=0,1,2,・・・,Iに分割した場合(図2参照)における各フレームに相当する部分のサンプリングを終了するごと(すなわち、所定数のサンプルデータが得られるごと)に、それまでに得られたサンプルデータを用いて、現在のフレームに関する拍の有無及びテンポを推定する。なお、上記の「i」はフレームのインデックスである。各フレームの長さは共通である。各フレームの長さは、例えば、4msである。また、上記の「フレーム」が本発明の「区間」に相当する。 Next, the operation of the acoustic signal analyzer 10 will be described. First, the outline will be described. The acoustic signal analyzer 10 sequentially samples acoustic signals representing musical performance sounds. When the entire music piece is divided into a plurality of frames t i = 0, 1, 2,..., I (see FIG. 2), the sampling corresponding to each frame is finished (ie, a predetermined number of frames). Every time sample data is obtained), the presence or absence of beats and the tempo for the current frame are estimated using the sample data obtained so far. The above “i” is a frame index. The length of each frame is common. The length of each frame is 4 ms, for example. The “frame” described above corresponds to the “section” of the present invention.

次に、音響信号分析装置10の動作について具体的に説明する。ユーザが音響信号分析装置10の図示しない電源スイッチをオンにすると、CPU12aは、図3に示す拍点・テンポ推定プログラムをROM12bから読み出して実行する。   Next, the operation of the acoustic signal analyzer 10 will be specifically described. When the user turns on a power switch (not shown) of the acoustic signal analyzer 10, the CPU 12a reads the beat point / tempo estimation program shown in FIG. 3 from the ROM 12b and executes it.

次に、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 RAM 12c. Further, the CPU 12a sets the processing target frame as the first frame. That is, the value of “i” that is the index of the frame is set to “0”.

次に、CPU12aは、ステップS12にて、サウンドシステム16に、楽曲の演奏音を表わす音響信号のサンプリングを開始させる。   Next, in step S12, the CPU 12a causes the sound system 16 to start sampling of an acoustic signal representing the musical performance sound.

次に、CPU12aは、ステップS13にて、フレームtに含まれる音響信号(サンプルデータ)をサウンドシステム16のバッファから読み込む。ただし、フレームtに含まれる全てのサンプルデータが未だサンプリングされていない場合には、全てのサンプルデータがサンプリングされるまで待機する。次に、CPU12aは、ステップS14にて、フレームtにおける拍の有無及びテンポを仮決定する。 Then, CPU 12a, at step S13, reads audio signals contained in the frame t i (sample data) from the buffer of the sound system 16. However, if all of the sample data contained in the frame t i has not yet been sampled, waits until all the sample data is sampled. Then, CPU 12a, at step S14, temporarily determines the presence and tempo beat at frame t i.

ここで、拍の有無及びテンポの仮決定手順の概略について説明する。まず、CPU12aは、前記読み込んだサンプルデータを用いて、拍の有無に関する特徴を表すオンセット特徴量XO及びテンポに関する特徴を表すBPM(beats per minute(1分間あたりの拍数))特徴量XBを計算する。そして、各フレームtにおける拍周期bの値(テンポの逆数に比例する値)及び次の拍までのフレーム数nの値の組み合わせに応じて分類された状態qb,nの系列として記述された確率モデル(隠れマルコフモデル、図4参照)に前向きアルゴリズムを適用し、前向き変数が最大となる状態を検出する。これにより、フレームtにおける拍の有無及びテンポが仮決定される。なお、拍周期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 CPU 12a uses the read sample data to calculate an onset feature value XO representing a feature related to the presence or absence of a beat and a BPM (beats per minute) feature value XB representing a feature related to a tempo. calculate. It is described as a series of states q b, n classified according to the combination of the value of the beat period b in each frame t i (value proportional to the reciprocal of the tempo) and the value of the number of frames n up to the next beat. A forward algorithm is applied to the probabilistic model (Hidden Markov Model, see FIG. 4) to detect a state in which the forward variable is maximized. Thereby, the presence / absence of a beat in frame t i and the tempo are provisionally determined. The beat period b is represented by the number of frames. Therefore, the value of the beat period b is an integer satisfying “1 ≦ b ≦ b max ”, and in the state where the value of the beat period b is “β”, the value of the number of frames n is “0 ≦ n <β”. It is an integer that satisfies.

次に、拍の有無及びテンポの仮決定手順について具体的に説明する。まず、CPU12aは、フレームtに関するオンセット特徴量XO及びBPM特徴量XBを計算する。 Next, the procedure for temporarily determining the presence / absence of a beat and the tempo will be described in detail. First, CPU 12a calculates the onset feature values XO and BPM feature value XB for a frame t i.

フレームtのオンセット特徴量XO(t)は、次のようにして計算される。CPU12aは、まず、フレームtの音響信号を短時間フーリエ変換し、各周波数ビンの信号強度を計算する。次に、CPU12aは、メルフィルタバンクを用いて、各周波数帯域fb(例えば、x=1,2,・・・,20)の信号強度を計算する。次に、CPU12aは、1つ前のフレームに対する各周波数帯域の信号強度の増加量R(fb,t)を計算する。下記の式(1)に示すように、前記各周波数帯域の信号強度の増加量の総和がオンセット特徴量XO(t)である。

Figure 0006372072
The onset feature value XO (t i ) of the frame t i is calculated as follows. CPU12a firstly short-time Fourier transform of the acoustic signal of the frame t i, to calculate the signal strength of each frequency bin. Next, the CPU 12a calculates the signal strength of each frequency band fb x (for example, x = 1, 2,..., 20) using the mel filter bank. Next, the CPU 12a calculates an increase amount R (fb x , t i ) of signal strength in each frequency band with respect to the previous frame. As shown in the following equation (1), the sum of the increase amounts of the signal intensity in each frequency band is the onset feature amount XO (t i ).
Figure 0006372072

フレーム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参照)。 The BPM feature value XB (t i ) of the frame t i is calculated as follows. First, the CPU 12a inputs onset feature values XO (t 0 ), XO (t 1 ),... In this order to the filter bank FBB (see FIG. 5). Filter bank FBB is composed of a plurality of comb filters CF b respectively provided in accordance with the value of the beat period b. The comb filter CF b outputs one data every time one data is input. The comb filter CF b has a FIFO (= First In First Out) memory for storing past output data by the number corresponding to the value of the beat period b, and is stored in the storage means with the input data. The oldest data among the existing data is added at a predetermined ratio (for example, 1: 1 (that is, α = 0.5)) and output. The sequence XD b (t) of the data XD b obtained by inputting the sequence XO (t) {= XO (t 0 ), XO (t 1 )...} Of the onset feature quantity XO to the filter bank FBB. By reversing {= XD b (t 0 ), XD b (t 1 )... In time series and inputting them again into the filter bank FBB, the BPM feature quantity series XB b (t ) {= XB b (t 0 ), XB b (t 1 ). The BPM feature value XB (t i ) of the frame t i is represented as a set of BPM feature values XB b = 1, 2... (T i ) calculated for each beat period b (see FIG. 6).

次に、CPU12aは、前向きアルゴリズムを用いて、フレームtにおける拍の有無及びテンポを仮決定する。 Then, CPU 12a, using the forward algorithm, temporarily determines the presence and tempo beat at frame t i.

具体的には、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」である正規分布が用いられる。 Specifically, CPU 12a first calculates onset feature quantity XO (t i) and BPM feature value XB observation likelihood LO (t i) of (t i) and the observation likelihood LB a (t i), respectively . Here, the onset feature amount XO (t i ) follows a normal distribution set according to the value of the number of frames n up to the next beat point. In other words, the observation likelihood LO (t i ) of the onset feature quantity XO substitutes the onset feature quantity XO as a normal distribution random variable set according to the value of the number of frames n up to the next beat point. Is calculated by For example, when the value of the number of frames n is “0”, a normal distribution having an average value of “3” and a variance of “1” is used. Further, when the value of the beat period b is “β” and the value of the number of frames n is “β / 2”, the normal value is “1” and the variance is “1”. A distribution is used. Further, when the value of the number of frames n is different from both “0” and “β / 2”, a normal distribution having an average value of “0” and a variance of “1” is used.

また、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 0006372072
Further, the observation likelihood LB of the BPM feature quantity XB (t i ) corresponds to the adaptability of the BPM feature quantity XB to the template TMP b provided for each beat period b. That is, as shown in the following equation (2), the inner product of the template TMP b and the BPM feature quantity XB (t i ) is the observation likelihood LB (t i ). Note that “ν b ” in this arithmetic expression is a coefficient that determines the weight of the BPM feature quantity XB (t i ) with respect to the onset feature quantity XO (t i ). That is, the larger the value of “ν b ” is, the greater the importance is placed on the BPM feature value XB (t i ). In addition, “Z (ν b )” in this arithmetic expression is a normalization coefficient that depends on “ν b ”. In other words, the template TMP b, the coefficient [delta] b, which are respectively multiplied to the BPM feature value XB (t i) constituting the BPM feature value XB b (t i), from the series of γ {= 1,2 ···} (See FIG. 7). Coefficient [delta] b constituting the template TMP b, of gamma, as a factor equal to an integer multiple of the index gamma is the beat period b equal to the coefficient and the beat period b is maximum, template TMP b is set.
Figure 0006372072

次に、CPU12aは、観測尤度LO(t)と観測尤度LB(t)との積の対数である対数観測尤度LOB(t)(下記の式(3)参照)を用いて、各状態に関する前向き変数を計算する。

Figure 0006372072
Next, the CPU 12a uses a logarithmic observation likelihood LOB (t i ) (see Equation (3) below) that is a logarithm of the product of the observation likelihood LO (t i ) and the observation likelihood LB (t i ). To calculate a forward variable for each state.
Figure 0006372072

なお、本実施形態においては、(拍周期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は、フレームtにおける各状態のうち、前向き変数の値が最大である状態qmaxに基づいて拍の有無を仮決定する。つまり、CPU12aは、状態qmaxのフレーム数nの値が「0」であれば、フレームtに拍が存在すると仮決定する。一方、状態qmaxのフレーム数nの値が「1」以上であれば、フレームtに拍は存在しないと仮決定する。また、CPU12aは、状態qmaxの拍周期bの値に基づいて、テンポを仮決定する。フレームtに拍が存在すると仮決定した場合、CPU12aは、拍の有無を表わすビートイベントフラグBFを「1」に設定する。一方、フレームtに拍が存在しないと仮決定した場合、CPU12aは、ビートイベントフラグBFを「0」に設定する。 Then, CPU 12a, of each state in the frame t i, the value of the forward variable temporarily determines the presence or absence of a beat on the basis of the state q max is the maximum. That is, if the value of the number of frames n in the state q max is “0”, the CPU 12a temporarily determines that a beat exists in the frame t i . On the other hand, if the value of the number of frames n in the state q max is “1” or more, it is provisionally determined that no beat exists in the frame t i . Further, the CPU 12a provisionally determines the tempo based on the value of the beat cycle b of the state q max . If the frame t i beats has to the provisionally determined the presence, CPU 12a is a beat event flag BF representing the presence or absence of beats is set to "1". On the other hand, if the frame t i beats was provisionally decided not to exist, CPU12a sets the beat event flag BF to "0".

上記のようにして仮決定されたテンポは、真のテンポの半分のテンポ、又は真のテンポの倍のテンポである可能性がある(図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 CPU 12a executes steps S15 to S19 described below to correct the estimation result regarding the tempo and the estimation result regarding the presence or absence of beat points.

ここで、図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の値と同一とみなせる場合には、フレームtにおける推定テンポωtargetの値を仮テンポωinの値と同じ値に更新する。また、仮テンポωinの値が1つ前のフレームにおける推定テンポωtargetの値の2倍程度である場合には、フレームtにおける推定テンポωtargetの値を仮テンポωinの1/2倍の値に更新する。また、仮テンポωinの値が1つ前のフレームにおける推定テンポωtargetの値の1/2倍程度である場合には、推定テンポωtargetを仮テンポωinの2倍の値に更新する。そして、内部テンポωの値を推定テンポωtargetに近づけるように補正する。 First, in step S15, the CPU 12a executes a tempo correction process shown in FIG. In the figure, the “judgment” step is indicated by a hexagon. In the tempo correction process shown in the figure, the CPU 12a updates the values of the estimated tempo ω target and the internal tempo ω as follows. First of all, CPU12a is, if the value of the provisional tempo ω in can be regarded the same as the value of the estimated tempo ω target in one previous frame, and the value of the value of the estimated tempo ω target provisional tempo ω in the frame t i Update to the same value. In addition, if the value of the provisional tempo ω in is about twice the value of the estimated tempo ω target in one previous frame, the value of the estimated tempo ω target in the frame t i of the provisional tempo ω in 1/2 Update to double value. When the value of the temporary tempo ω in is about ½ times the value of the estimated tempo ω target in the previous frame, the estimated tempo ω target is updated to a value twice the temporary tempo ω in. . Then, the value of the internal tempo ω is corrected so as to approach the estimated tempo ω target .

次に、テンポ補正処理について具体的に説明する。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と同じ値に更新する。ただし、最初のフレームtにおいては、推定テンポωtargetを仮テンポωinと同じ値に設定する。 Next, the tempo correction process will be specifically described. The CPU 12a starts tempo correction processing in step S150. Then, in step S151, it is determined whether or not the temporary tempo ω in is about twice the estimated tempo ω target . Specifically, it is determined whether or not the difference between the half value of the temporary tempo ω in and the estimated tempo ω target is smaller than a predetermined threshold ω thres (for example, ω thres = 0.05ω in ). If the difference between the half value of the temporary tempo ω in and the estimated tempo ω target is smaller than the predetermined threshold ω thres , the CPU 12a determines “Yes”, and the estimated tempo ω target is temporarily set in step S152. Update to half of tempo ω in . On the other hand, when the difference between the half value of the temporary tempo ω in and the estimated tempo ω target is equal to or larger than the predetermined threshold ω thres in step S151, the CPU 12a determines “No”, and in step S153, It is determined whether or not the temporary tempo ω in is about half of the estimated tempo ω target . Specifically, it is determined whether or not the difference between the value twice the temporary tempo ω in and the estimated tempo ω target is smaller than the threshold ω thres . When the difference between the value twice the temporary tempo ω in and the estimated tempo ω target is smaller than the threshold ω thres , the CPU 12a determines “Yes”, and the estimated tempo ω target is set to the temporary tempo in step S154. Update to twice the value of ω in . On the other hand, if the difference between the value twice the temporary tempo ω in and the estimated tempo ω target is equal to or greater than the threshold ω thres in step S153, the CPU 12a determines “No” and estimates in step S155. The tempo ω target is updated to the same value as the temporary tempo ω in . However, in the first frame t 0 , the estimated tempo ω target is set to the same value as the temporary tempo ω in .

次に、CPU12aは、ステップS156にて、内部テンポωの値を同図に示す更新式を用いて更新する。この更新式を用いることにより、内部テンポωの値が、現在のフレームに後続する複数のフレームにおいて指数関数的に推定テンポωtargetに近づく。なお、同更新式中の係数ρは、「0≦ρ≦1」を満たすように予め設定される。例えば、係数ρは「0.5」に設定される。係数ρは、テンポの推移の滑らかさを表わす。つまり、係数ρが小さいほど内部テンポωが推定テンポωtargetに近づく速度が遅い。CPU12aはステップS157にてテンポ補正処理を終了し、メインルーチンのステップS16に処理を進める。 Next, in step S156, the CPU 12a updates the value of the internal tempo ω using the update formula shown in FIG. By using this update formula, the value of the internal tempo ω approaches the estimated tempo ω target exponentially in a plurality of frames following the current frame. The coefficient ρ in the update formula is set in advance so as to satisfy “0 ≦ ρ ≦ 1”. For example, the coefficient ρ is set to “0.5”. The coefficient ρ represents the smoothness of the tempo transition. That is, the smaller the coefficient ρ, the slower the internal tempo ω approaches the estimated tempo ω target . In step S157, the CPU 12a ends the tempo correction process, and proceeds to step S16 of the main routine.

次に、CPU12aは、ステップS16にて、図11に示す拍位相補正処理を実行する。なお、同図においては、「判断」のステップを六角形で示す。拍位相補正処理において、CPU12aは、拍位相θを次のように補正する。まず、仮テンポωinと推定テンポωtargetとが同じとみなせる場合について説明する。ビートイベントフラグBFが「1」であるフレームtにおいて拍位相θが図12に示すように領域A(ζω≦θ≦θthres)に含まれる場合又は図13に示すように領域B(−θthres≦θ≦−ζω)に含まれる場合、その拍位相θが補正すべき位相角を表わす補正量Δθである。なお、係数ζは、「0≦ζ≦1」を満たすように予め設定される。例えば、係数ζは「0.5」に設定される。この場合、フレームtにおいて補正量Δθだけ拍位相θを補正するのではなく、フレームt及び後続の1つ又は複数のフレームに亘って少しずつ(例えば「ζω」ずつ)拍位相θを補正する。なお、本実施形態では、「θthres=π/2」である。 Next, in step S16, the CPU 12a executes a beat phase correction process shown in FIG. In the figure, the “judgment” step is indicated by a hexagon. In the beat phase correction process, the CPU 12a corrects the beat phase θ as follows. First, a case where the temporary tempo ω in and the estimated tempo ω target can be regarded as the same will be described. When the beat phase θ is included in the region A (ζω ≦ θ ≦ θ thres ) as shown in FIG. 12 or the region B (−θ as shown in FIG. 13 in the frame t i where the beat event flag BF is “1”. (thres ≦ θ ≦ −ζω), the beat phase θ is a correction amount Δθ representing the phase angle to be corrected. The coefficient ζ is set in advance so as to satisfy “0 ≦ ζ ≦ 1”. For example, the coefficient ζ is set to “0.5”. In this case, instead of correcting the beat phase θ by the correction amount Δθ in the frame t i , the beat phase θ is corrected little by little (for example, “ζω”) over the frame t i and one or more subsequent frames. To do. In the present embodiment, “θ thres = π / 2”.

また、図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」であるフレームtにおいて拍位相θが領域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)」の範囲内にラッピングする。ただし、最初のフレームtにおける拍位相θの値は、「0」とする。次に、CPU12aは、ステップS166にて、前記ラッピングされた位相角を「1/M」倍することにより、拍位相θの補正量Δθを計算する。 Next, the beat phase correction process will be specifically described. In step S160, the CPU 12a starts the beat phase correction process. Next, in step S161, the CPU 12a determines whether or not the beat event flag BF is “1”. When the beat event flag BF is “0”, the CPU 12a determines “No” and advances the process to step S167 described later. On the other hand, when the beat event flag BF is “1”, the CPU 12a determines “Yes”, and whether the beat phase θ is included in the predetermined region (that is, the region A, B, or E) in step S162. Determine whether or not. When the beat phase θ is not included in the predetermined area, the CPU 12a determines “No” and proceeds to step S167 described later. On the other hand, when the beat phase θ is included in the predetermined area, the CPU 12a determines “Yes”, and in step S163, based on the arithmetic expression shown in FIG. 9, the temporary tempo ω in and the estimated tempo ω target The ratio M is calculated. Next, in step S164, the CPU 12a multiplies the current beat phase θ by the ratio M. In step S165, the CPU 12a wraps the multiplication result within a range of “−π (rad)” to “π (rad)”. However, the value of the beat phase θ in the first frame t 0 is “0”. Next, in step S166, the CPU 12a calculates the correction amount Δθ of the beat phase θ by multiplying the lapped phase angle by “1 / M”.

次に、CPU12aは、ステップS167にて、補正量Δθの絶対値が所定の範囲(ζω<|Δθ|<θthres)に含まれるか否かを判定する。補正量Δθの絶対値が前記所定の範囲に含まれる場合には、CPU12aは、ステップS168にて、同図に示す更新式に基づいて、拍位相θ及び補正量Δθを更新する。すなわち、補正量Δθが正の値である場合には、拍位相θから「ζω」に相当する位相角を減算する。一方、補正量Δθが負の値である場合には、拍位相θに「ζω」に相当する位相角を加算する。また、補正量Δθが正の値である場合には、補正量Δθから「ζω」に相当する位相角を減算する。一方、補正量Δθが負の値である場合には、補正量Δθに「ζω」に相当する位相角を加算する。そして、CPU12aは、ステップS169にて、拍位相補正処理を終了してメインルーチンのステップS17に処理を進める。一方、ステップS167において、補正量Δθの絶対値が前記所定の範囲に含まれない場合には、CPU12aは、「No」と判定して、拍位相を補正することなく、ステップS169にて拍位相補正処理を終了してメインルーチンのステップS17に処理を進める。 Next, in step S167, the CPU 12a determines whether or not the absolute value of the correction amount Δθ is included in a predetermined range (ζω <| Δθ | <θ thres ). When the absolute value of the correction amount Δθ is included in the predetermined range, in step S168, the CPU 12a updates the beat phase θ and the correction amount Δθ based on the update formula shown in FIG. That is, when the correction amount Δθ is a positive value, the phase angle corresponding to “ζω” is subtracted from the beat phase θ. On the other hand, when the correction amount Δθ is a negative value, a phase angle corresponding to “ζω” is added to the beat phase θ. When the correction amount Δθ is a positive value, the phase angle corresponding to “ζω” is subtracted from the correction amount Δθ. On the other hand, when the correction amount Δθ is a negative value, a phase angle corresponding to “ζω” is added to the correction amount Δθ. Then, in step S169, the CPU 12a ends the beat phase correction process and proceeds to step S17 of the main routine. On the other hand, if the absolute value of the correction amount Δθ is not included in the predetermined range in step S167, the CPU 12a determines “No” and corrects the beat phase in step S169 without correcting the beat phase. The correction process is terminated, and the process proceeds to step S17 of the main routine.

次に、CPU12aは、ステップS17にて、拍位相θを内部テンポωに相当する位相角だけ進める。次に、CPU12aは、ステップS18にて、「−π(rad)」〜「π(rad)」の範囲内に拍位相θをラッピングする。次に、CPU12aは、ステップS19にて、拍位相θの正負符号が変化したか否かを判定する。つまり、拍位相θが負の値から「0」へ変化したか否か、又は拍位θが負の値から正の値へ変化したか否かを判定する。拍位相θの正負符号が変化しなかった場合、CPU12aは、「No」と判定して、後述のステップS21へ処理を進める。一方、拍位相θが「0」又は拍位相θの符号が負から正へ遷移した場合には、CPU12aは「Yes」と判定して、ステップS20にて、拍イベントを出力する。例えば、現フレーム(フレームt)に拍点が存在する旨を表示器13に表示するとともに、推定テンポωtargetの値(推定テンポωtargetに対応するBPM値)又は内部テンポωの値(内部テンポωに対応するBPM値)を現フレームのテンポとして表示器13に表示する。そして、ステップS21にて、フレームのインデックスiをインクリメントして、処理をステップS13に進める。 Next, in step S17, the CPU 12a advances the beat phase θ by a phase angle corresponding to the internal tempo ω. Next, in step S18, the CPU 12a wraps the beat phase θ within a range of “−π (rad)” to “π (rad)”. Next, in step S19, the CPU 12a determines whether or not the sign of the beat phase θ has changed. That is, it is determined whether or not the beat phase θ has changed from a negative value to “0” or whether the beat position θ has changed from a negative value to a positive value. When the sign of the beat phase θ has not changed, the CPU 12a determines “No” and advances the process to step S21 described later. On the other hand, if the beat phase θ is “0” or the sign of the beat phase θ is changed from negative to positive, the CPU 12a determines “Yes” and outputs a beat event in step S20. For example, displays on the display unit 13 to the effect that the beat point current frame (frame t i) is present, the value of the estimated tempo omega value (BPM value corresponds to the estimated tempo omega target) of target or internal tempo omega (internal BPM value corresponding to tempo ω) is displayed on the display 13 as the tempo of the current frame. In step S21, the frame index i is incremented, and the process proceeds to step S13.

上記のようにして計算された拍位相θ及び補正量Δθの推移及び拍点の推定結果の例を図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 acoustic signal analyzer 10, when the value of the temporary tempo ω in can be regarded as the same as the value of the estimated tempo ω target in the previous frame, the value of the estimated tempo ω target in the current frame is set to the value of the temporary tempo ω in . Update to the same value as the value. When the value of the temporary tempo ω in is about twice the value of the estimated tempo ω target in the previous frame, the value of the estimated tempo ω target in the current frame is ½ times the temporary tempo ω in . Update to the value of. In addition, if the value of the provisional tempo ω in is 1/2 times the value of the estimated tempo ω target in one previous frame, the estimated tempo ω target to 2 times the value of the value of the provisional tempo ω in Update. This suppresses erroneous estimation that the tempo of the current frame is twice or half the true tempo.

ビートイベントフラグBFが「1」であるフレームtにおいて拍位相θが領域A又は領域Bに含まれる場合、拍位相θは「0」であるべきである。そこで、拍位相θを補正するようにした。ただし、フレームtにおいて補正量Δθだけ拍位相θを補正するのではなく、フレームt及び後続する複数のフレームに亘って少しずつ拍位相θを補正する。 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」であるフレームtにおいて拍位相θが領域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 acoustic signal analyzer 10 configured as described above, the beat point and the tempo can be accurately estimated in real time.

さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。   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・・・状態、t・・・フレーム、Δθ・・・補正量、ζ・・・係数、θ・・・拍位相、ρ・・・係数、ω・・・内部テンポ、ωin・・・・仮テンポ、ωtarget・・・推定テンポ、ωthres・・・閾値 DESCRIPTION OF SYMBOLS 10 ... Acoustic signal analyzer, 12 ... Computer part, 13 ... Display, 16 ... Sound system, A, B, C, D, E ... area | region, b ... Beat period , BF · · · beat event flag, M · · · ratio, n · · · frame number, q b, n ··· state, t i · · · frames, [Delta] [theta] · · · correction amount, zeta · · · coefficient , Θ ... beat phase, ρ ... coefficient, ω ... internal tempo, ω in ... temporary tempo, ω target ... estimated tempo, ω thres ... threshold

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.
請求項1に記載の音響信号分析装置において、
前記テンポ決定手段は、
過去の区間において決定されたテンポと前記仮決定されたテンポの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又は2に記載の音響信号分析装置において、
前記拍位相補正手段は、
拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間における前記拍位相を補正すべき位相角として決定する補正量決定手段と、
拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間及びその区間の後続の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.
JP2013253987A 2013-12-09 2013-12-09 Acoustic signal analysis apparatus, acoustic signal analysis method, and acoustic signal analysis program Active JP6372072B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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