JP2015114360A - Acoustic signal analysis device, acoustic signal analysis method, and acoustic signal analysis program - Google Patents
Acoustic signal analysis device, acoustic signal analysis method, and acoustic signal analysis program Download PDFInfo
- Publication number
- JP2015114360A JP2015114360A JP2013253987A JP2013253987A JP2015114360A JP 2015114360 A JP2015114360 A JP 2015114360A JP 2013253987 A JP2013253987 A JP 2013253987A JP 2013253987 A JP2013253987 A JP 2013253987A JP 2015114360 A JP2015114360 A JP 2015114360A
- Authority
- JP
- Japan
- Prior art keywords
- tempo
- beat
- determined
- section
- phase
- 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.)
- Granted
Links
Images
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
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. Beat phase correcting means (S16) that corrects the beat phase to be reduced, and it is determined that a beat exists in a section in which the sign of the beat phase changes, and the determination result is output together with the determined tempo. The acoustic signal analyzer includes output means (S19, S20).
この場合、テンポ決定手段は、過去の区間において決定されたテンポと前記仮決定されたテンポの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 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
次に、CPU12aは、ステップS13にて、フレームtiに含まれる音響信号(サンプルデータ)をサウンドシステム16のバッファから読み込む。ただし、フレームtiに含まれる全てのサンプルデータが未だサンプリングされていない場合には、全てのサンプルデータがサンプリングされるまで待機する。次に、CPU12aは、ステップS14にて、フレームtiにおける拍の有無及びテンポを仮決定する。
Then, CPU 12a, at step S13, reads audio signals contained in the frame t i (sample data) from the buffer of the
ここで、拍の有無及びテンポの仮決定手順の概略について説明する。まず、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 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は、フレーム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, CPU 12a calculates the onset feature values XO and BPM feature value XB for a frame t i.
フレーム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 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は、前向きアルゴリズムを用いて、フレームtiにおける拍の有無及びテンポを仮決定する。 Then, CPU 12a, using the forward algorithm, temporarily determines the presence and tempo beat at frame t i.
具体的には、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, 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(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, 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の値と同一とみなせる場合には、フレーム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 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
次に、テンポ補正処理について具体的に説明する。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 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」であるフレームtiにおいて拍位相θが図12に示すように領域A(ζω≦θ≦θthres)に含まれる場合又は図13に示すように領域B(−θthres≦θ≦−ζω)に含まれる場合、その拍位相θが補正すべき位相角を表わす補正量Δθである。なお、係数ζは、「0≦ζ≦1」を満たすように予め設定される。例えば、係数ζは「0.5」に設定される。この場合、フレームtiにおいて補正量Δθだけ拍位相θを補正するのではなく、フレームti及び後続の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」であるフレーム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 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にて、拍イベントを出力する。例えば、現フレーム(フレームti)に拍点が存在する旨を表示器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
上記のようにして計算された拍位相θ及び補正量Δθの推移及び拍点の推定結果の例を図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
An acoustic signal analyzing apparatus comprising: beat point / tempo output means that determines that a beat is present in a section in which the sign of the beat phase changes and outputs the determination result together with the determined tempo.
前記テンポ決定手段は、
過去の区間において決定されたテンポと前記仮決定されたテンポの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
An acoustic signal analysis method comprising: a beat point / tempo output step that determines that a beat is present in a section in which the sign of the beat phase changes, and outputs the determination result together with the determined tempo.
前記楽曲の各区間における拍の存在に関する物理量及びテンポに関する物理量の組み合わせにより分類された状態の系列として記述された確率モデルに基づいて現在の区間における拍の存在及びテンポを仮決定する拍点・テンポ仮決定ステップと、
過去の区間において決定されたテンポに基づいて前記仮決定されたテンポを補正し、前記補正されたテンポに基づいて、現在の区間のテンポを決定するテンポ決定ステップと、
前記決定されたテンポに基づいて、現在の区間からみた拍点までの時間に相当する拍位相を計算する拍位相計算ステップと、
拍が存在すると仮決定された区間であって、拍位相が所定の範囲に含まれる区間及びその区間の後続の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
A beat point / tempo output step for determining that a beat exists in a section in which the sign of the beat phase has changed, and outputting the determination result together with the determined tempo, and an acoustic signal analyzer program to be executed
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 true JP2015114360A (en) | 2015-06-22 |
JP6372072B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019017242A1 (en) * | 2017-07-19 | 2019-01-24 | ヤマハ株式会社 | Musical composition analysis method, musical composition analysis device and program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007041108A (en) * | 2005-08-01 | 2007-02-15 | Teac Corp | Tempo detecting device and tempo detecting method |
JP2007057727A (en) * | 2005-08-24 | 2007-03-08 | Xing Inc | Electronic percussion instrument amplifier system with musical sound reproducing function |
JP2009139769A (en) * | 2007-12-07 | 2009-06-25 | Sony Corp | Signal processor, signal processing method and program |
JP2010134231A (en) * | 2008-12-05 | 2010-06-17 | Sony Corp | Information processing apparatus, sound material segmentation method, and program |
-
2013
- 2013-12-09 JP JP2013253987A patent/JP6372072B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007041108A (en) * | 2005-08-01 | 2007-02-15 | Teac Corp | Tempo detecting device and tempo detecting method |
JP2007057727A (en) * | 2005-08-24 | 2007-03-08 | Xing Inc | Electronic percussion instrument amplifier system with musical sound reproducing function |
JP2009139769A (en) * | 2007-12-07 | 2009-06-25 | Sony Corp | Signal processor, signal processing method and program |
JP2010134231A (en) * | 2008-12-05 | 2010-06-17 | Sony Corp | Information processing apparatus, sound material segmentation method, and program |
Non-Patent Citations (1)
Title |
---|
浜中 雅俊: "ドラムスの生演奏にMIDI音源の再生音をリアルタイムでシンクロさせるシステムの開発", 情報処理学会研究報告 VOL.98 NO.74 IPSJ SIG NOT, vol. Vol.98、No.74, JPN6017043578, 9 August 1998 (1998-08-09), JP, pages 53 - 60 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019017242A1 (en) * | 2017-07-19 | 2019-01-24 | ヤマハ株式会社 | Musical composition analysis method, musical composition analysis device and program |
US11328699B2 (en) | 2017-07-19 | 2022-05-10 | Yamaha Corporation | Musical analysis method, music analysis device, and program |
Also Published As
Publication number | Publication date |
---|---|
JP6372072B2 (en) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9087501B2 (en) | Sound signal analysis apparatus, sound signal analysis method and sound signal analysis program | |
EP2779155B1 (en) | Sound signal analysis apparatus, sound signal analysis method and sound signal analysis program | |
US8543387B2 (en) | Estimating pitch by modeling audio as a weighted mixture of tone models for harmonic structures | |
JP2015079183A (en) | Score alignment device and score alignment program | |
JP6252147B2 (en) | Acoustic signal analysis apparatus and acoustic signal analysis program | |
EP2375407A1 (en) | Music analysis apparatus | |
CN103943113A (en) | Method and device for removing accompaniment from song | |
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 | |
CN107210029B (en) | Method and apparatus for processing a series of signals for polyphonic note recognition | |
JP2007108070A (en) | Signal processor, signal processing method, and computer program | |
JP6372072B2 (en) | Acoustic signal analysis apparatus, acoustic signal analysis method, and acoustic signal analysis program | |
CN113178183B (en) | Sound effect processing method, device, storage medium and computing equipment | |
JP6281211B2 (en) | Acoustic signal alignment apparatus, alignment method, and computer program | |
JP6307814B2 (en) | Fundamental visualization device, fundamental visualization method and program | |
JP6229576B2 (en) | Sampling frequency estimation device | |
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 | |
CN107657962B (en) | Method and system for identifying and separating throat sound and gas sound of voice signal | |
CN110751935A (en) | Method for determining musical instrument playing point and scoring rhythm | |
JP6329408B2 (en) | Speech processing apparatus, analysis method and program for speech processing apparatus | |
WO2020189107A1 (en) | Audio signal processing method, device and program | |
JP2015040970A (en) | Measure interval estimation, and device, method and program for performing feature value extraction for the estimation | |
JP6183067B2 (en) | Data analysis apparatus and method, program, and recording medium | |
JPWO2017130417A1 (en) | Body sound analysis apparatus, body sound analysis method, computer program, and recording medium | |
JP2011257643A (en) | Noise suppressor and program |
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 | Request for written amendment filed |
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 |