JP5066692B2 - Tempo detection device - Google Patents

Tempo detection device Download PDF

Info

Publication number
JP5066692B2
JP5066692B2 JP2006290322A JP2006290322A JP5066692B2 JP 5066692 B2 JP5066692 B2 JP 5066692B2 JP 2006290322 A JP2006290322 A JP 2006290322A JP 2006290322 A JP2006290322 A JP 2006290322A JP 5066692 B2 JP5066692 B2 JP 5066692B2
Authority
JP
Japan
Prior art keywords
value
bpm
tempo
signal
candidate
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
JP2006290322A
Other languages
Japanese (ja)
Other versions
JP2008107569A (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.)
Korg Inc
Original Assignee
Korg Inc
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 Korg Inc filed Critical Korg Inc
Priority to JP2006290322A priority Critical patent/JP5066692B2/en
Publication of JP2008107569A publication Critical patent/JP2008107569A/en
Application granted granted Critical
Publication of JP5066692B2 publication Critical patent/JP5066692B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

本発明は、楽音信号等の音楽データのテンポを示す指標であるBPM値(Beat Per Minute)を検出するテンポ検出装置の改良に関する。   The present invention relates to an improvement in a tempo detection device that detects a BPM value (Beat Per Minute) that is an index indicating the tempo of music data such as a musical sound signal.

音楽分野等での音信号からテンポを検出する装置は従来から多数提案されている。例えば、CPUに大きな負担をかけず、且つ、テンポを正確に検出するため、所定の単位時間区間であるフレームを処理単位とし、所定レベル以上のピーク位置を検出して、当該フレーム区間における各ピーク位置間の間隔を求め、発生頻度の高いピーク値間隔をテンポとして決定する装置等が提案されていた(例えば、特許文献1参照)。   Many devices for detecting the tempo from sound signals in the music field have been proposed. For example, in order to accurately detect the tempo without imposing a heavy burden on the CPU, a frame that is a predetermined unit time interval is used as a processing unit, and a peak position that exceeds a predetermined level is detected, and each peak in the frame interval is detected. There has been proposed an apparatus for obtaining an interval between positions and determining a peak value interval having a high occurrence frequency as a tempo (see, for example, Patent Document 1).

特開2004−302053号公報(第6−14頁、第8図)JP 2004-302053 A (page 6-14, FIG. 8)

しかしながら、この装置は、図8に示すように1フレーム区間を越えるビート間隔には対応できないものであった。つまり、フレーム長さに依存してテンポを求めているため種々の音楽データには対応不能であった。しかも、この装置に限らず従来のテンポ検出装置にあっては、そのアルゴリズムが複雑でプログラム量が多くなる等の装置規模の大きなものであった。   However, this apparatus cannot cope with beat intervals exceeding one frame section as shown in FIG. In other words, since the tempo is obtained depending on the frame length, it is impossible to deal with various music data. Moreover, the conventional tempo detection device is not limited to this device, and has a large device scale such that the algorithm is complicated and the amount of programs increases.

本発明は、かかる従来の課題を解決するためになされたもので、フレーム長さに依存せず正確なテンポ検出が可能なテンポ検出装置を提供することを目的とする。   The present invention has been made to solve such a conventional problem, and an object of the present invention is to provide a tempo detection device capable of accurate tempo detection without depending on the frame length.

上記目的を達成するために、本発明は、音楽信号に対し所要の信号処理を施した信号を出力する第1の信号処理手段と、
この第1の信号処理手段からの出力信号をアナログデジタル変換して出力する信号変換手段と、
この信号変換手段からの出力信号をピークホールドしたものに対して順次そのビート位置に対応する時間情報を出力する検出手段と、
この検出手段からの時間情報に基づいてテンポ値の候補を抽出出力するテンポ値候補抽出手段と、
この出力されたテンポ値候補群の出現頻度に関する出現頻度情報に基づいてテンポ値を検出するテンポ値決定手段と、を備え、
前記テンポ値候補抽出手段は、
前記検出手段から出力される時間情報の差を順次BPM値(Beat Per Minute)に変換する一方、1個おきの時間情報の差も順次BPM値に変換して、これらをBPM値候補として出力し、
前記テンポ決定手段は、
既に記憶されている旧BPM値候補と新たに送られてくる新BPM値候補との差分が所定値内の場合には、旧BPM値候補と新BPM値候補の平均値を新たなBPM値候補としてこの頻度数を1増加させる一方、旧BPM値候補と新BPM値候補との差分が前記所定値内でない場合には、旧BPM値候補に頻度数をそのままに維持していく処理を繰り返し実行することによって、最も頻度が大きなBPM値候補を最終的なBPM値として決定出力する手段であって、或る値よりも頻度値が大きくなるものが出現した場合に前記所定値を複数段階で小さくなるように変更制御する閾値制御部を含んで成る手段であることを特徴とするようにした。
In order to achieve the above object, the present invention provides a first signal processing means for outputting a signal obtained by performing a required signal processing on a music signal;
A signal converting means for converting the output signal from the first signal processing means into an analog-digital converter and outputting the converted signal;
Detecting means for sequentially outputting time information corresponding to the beat position with respect to the peak-holded output signal from the signal converting means;
Tempo value candidate extraction means for extracting and outputting tempo value candidates based on time information from the detection means;
Tempo value determining means for detecting a tempo value based on the appearance frequency information relating to the appearance frequency of the output tempo value candidate group, and
The tempo value candidate extracting means includes
While the difference in time information output from the detection means is sequentially converted into a BPM value (Beat Per Minute), the difference in every other time information is also sequentially converted into a BPM value and these are output as BPM value candidates. ,
The tempo value determining means includes
When the difference between the previously stored old BPM value candidate and the newly sent new BPM value candidate is within a predetermined value, the average value of the old BPM value candidate and the new BPM value candidate is determined as the new BPM value candidate. If the difference between the old BPM value candidate and the new BPM value candidate is not within the predetermined value, the process of maintaining the frequency number in the old BPM value candidate is repeatedly executed. By doing so, a means for determining and outputting a BPM value candidate having the highest frequency as a final BPM value, and when a frequency value larger than a certain value appears, the predetermined value is decreased in a plurality of stages. It is characterized by being a means including a threshold value control unit for changing and controlling so as to be.

本発明においては、信号変換手段が、第1の信号処理手段からの出力信号をアナログデジタル変換して出力し、検出手段がこの信号変換手段からの出力信号をピークホールドしたものに対して順次そのビート位置に対応する時間情報を出力する。そして、テンポ値候補抽出手段が、この検出手段からの時間情報に基づいてテンポ値の候補を抽出出力し、テンポ値決定手段が、この出力されたテンポ値候補群の出現頻度に関する出現頻度情報に基づいてテンポ値を検出する。したがって、フレーム長さ等に依存せず正確なテンポ検出が可能なテンポ検出装置を簡素な構成で実現することが可能となる。 In the present invention, the signal conversion means converts the output signal from the first signal processing means from analog to digital and outputs the result, and the detection means sequentially applies the output signal from the signal conversion means to the peak held signal. Outputs time information corresponding to the beat position. The tempo value candidate extracting means extracts and outputs tempo value candidates based on the time information from the detecting means, and the tempo value determining means outputs the appearance frequency information relating to the appearance frequency of the output tempo value candidate group. Based on this, the tempo value is detected. Therefore, it is possible to realize a tempo detection device capable of accurate tempo detection without depending on the frame length or the like with a simple configuration.

より具体的には、前記テンポ値候補抽出手段を、前記検出手段から出力される時間情報の差を順次BPM値(Beat Per Minute)に変換する一方、1個おきの時間情報の差も順次BPM値に変換してこれらをBPM値候補として出力する構成とし、更に、前記テンポ決定手段が、前記候補とされたBPM値の前記出現頻度情報に応じて最終的なBPM値を決定する構成とすることができる。   More specifically, the tempo value candidate extraction unit sequentially converts the difference in time information output from the detection unit into a BPM value (Beat Per Minute), while the difference in every other time information is also sequentially converted into BPM. It converts into a value, and it is set as the structure which outputs these as a BPM value candidate, Furthermore, the said tempo determination means is set as the structure which determines the final BPM value according to the said appearance frequency information of the said BPM value made into the candidate. be able to.

また、前記テンポ値候補抽出手段を、前記時間情報を先入れ先出し可能に所定数個記憶する記憶手段と、この記憶手段に記憶された最新の前記所定数個の時間情報に基づいて、任意の2個の時間情報で組み合わせ可能な時間幅をテンポ値候補として出力するテンポ値候補生成手段と、を含んで成る構成とすることも可能である。この場合には、前記テンポ値決定手段が、前記テンポ値候補生成手段から出力されるBPM値候補群に関する前記出現頻度情報を記憶する第2の記憶手段と、前記テンポ値候補生成手段からのBPM値候補群の出現頻度情報の記憶更新を所定の条件を満足するものに限って行くように制御する制御手段とを含んで成る構成とすることも可能である。   Further, the tempo value candidate extracting means can store any two of the time information on the basis of the storage means for storing the predetermined number of pieces of time information in a first-in first-out manner and the latest predetermined number of pieces of time information stored in the storage means. It is also possible to include a tempo value candidate generating means for outputting a time width that can be combined with the time information as tempo value candidates. In this case, the tempo value determining means has second storage means for storing the appearance frequency information related to the BPM value candidate group output from the tempo value candidate generating means, and BPM from the tempo value candidate generating means. It is also possible to employ a configuration including control means for controlling the storage update of the appearance frequency information of the value candidate group so as to be limited to those satisfying a predetermined condition.

本発明によれば、フレーム長さ等に依存せず正確なテンポ検出が可能なテンポ検出装置を実現することが可能になるという効果が得られる。   According to the present invention, there is an effect that it is possible to realize a tempo detection device capable of accurate tempo detection without depending on the frame length or the like.

以下、本発明を実施するための最良の形態を図面を参照しつつ説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

(構成)
図1は本発明の最良の実施形態であるテンポ検出装置1の構成図である。本装置1は、楽音信号等の音楽信号を入力し後述するような信号処理を施す信号処理部10と、この信号処理部10からのアナログ信号をデジタル信号に変換するA/D変換部50と、変換されたデジタル信号に基づいて信号処理を行う信号処理部20と、信号処理部20からの出力信号に基づいてテンポ値としてのBPM(Beat Per Minutes)値の候補値を抽出出力するBPM値候補抽出部30と、このBPM値候補抽出部30から出力されたBPM値候補群の出現頻度に関する出現頻度情報に基づいてテンポ値を決定出出力するBPM値決定部40とを備えて構成される。
(Constitution)
FIG. 1 is a block diagram of a tempo detection apparatus 1 according to the best embodiment of the present invention. The apparatus 1 receives a music signal such as a musical sound signal and performs signal processing as described later, an A / D conversion unit 50 that converts an analog signal from the signal processing unit 10 into a digital signal, A signal processing unit 20 that performs signal processing based on the converted digital signal, and a BPM value that extracts and outputs a candidate value of a BPM (Beat Per Minutes) value as a tempo value based on an output signal from the signal processing unit 20 The candidate extraction unit 30 and a BPM value determination unit 40 that determines and outputs a tempo value based on the appearance frequency information related to the appearance frequency of the BPM value candidate group output from the BPM value candidate extraction unit 30 are configured. .

信号処理部10は、入力された楽音信号に対して全波整流を行いその後、フィルタによって所望の周波数帯域の信号を抽出する。図3(a)、図3(b)はその信号処理例であり、図3(a)の入力信号に対して全波整流処理、フィルタ処理を行った結果、図3(b)に示すような信号を得ることができる。また、信号処理部20は、ピークホールド部22及びビート位置検出部24とを備えて構成される。その動作の詳細は後述するが、このピークホールド部22及びビート位置検出部24が一体になって行う動作によって、図3(c)に示すような波形が得られると共に、ビート位置に対応する時間情報「t(0)〜t(10)…」が得られる構成になっている。   The signal processing unit 10 performs full-wave rectification on the input musical sound signal, and then extracts a signal in a desired frequency band using a filter. FIGS. 3A and 3B show examples of the signal processing. As a result of performing full-wave rectification processing and filter processing on the input signal of FIG. 3A, as shown in FIG. Signal can be obtained. The signal processing unit 20 includes a peak hold unit 22 and a beat position detection unit 24. Although the details of the operation will be described later, a waveform as shown in FIG. 3C is obtained by the operation performed integrally by the peak hold unit 22 and the beat position detection unit 24, and the time corresponding to the beat position is obtained. Information “t (0) to t (10)...” Is obtained.

なお、本装置1のBPM値決定部40からの最終決定されたBPM値の情報を表示したり、この信号に基づいて不図示の他の装置を同期制御させることも可能である。上記実施形態では、A/D変換器50を信号処理部10の後段に設ける構成としたが、A/D変換器を信号処理部10の前段の設けて、総ての信号処理をデジタル信号の信号処理で実行することも可能である(請求項2)。   Note that it is also possible to display information on the finally determined BPM value from the BPM value determining unit 40 of the present apparatus 1 and to synchronize and control other apparatuses (not shown) based on this signal. In the above embodiment, the A / D converter 50 is provided in the subsequent stage of the signal processing unit 10. However, the A / D converter is provided in the previous stage of the signal processing unit 10 to perform all signal processing of the digital signal. It is also possible to execute by signal processing (claim 2).

(動作)
次に動作を説明する。信号処理部10で信号処理され、更に、A/D変換部50によってアナログデジタル変換されたデジタル信号は、信号処理部20に入力されてピークホールド部22及びビート位置検出部2によって所要の信号処理が行われる。図2を参照して、ピークホールド部22及びビート位置検出部2が一体になって実行する処理を説明する。以下、「FAG1」をビート位置検出フラグ、「IN1」をピークホールド部22への入力値、「BUF1」をピークホールド値バッファ、「CNT1」をピークホールドカウンタとする。
(Operation)
Next, the operation will be described. To signal processing by the signal processing unit 10, furthermore, a digital signal which is analog-digital converted by the A / D conversion unit 50, predetermined signal is input to the signal processing unit 20 by the peak hold unit 22 and the beat position detector 2 4 Processing is performed. Referring to FIG. 2, the peak hold unit 22 and the beat position detector 2 4 illustrating processing to be executed in unison. Hereinafter, “F L AG1” is a beat position detection flag, “IN1” is an input value to the peak hold unit 22, “BUF1” is a peak hold value buffer, and “CNT1” is a peak hold counter.

先ず、「FRAG1」をクリアし(ステップS200)、ステップS205において、「IN1」の値つまりピークホールド部22への入力値が、「BUF1」に記憶されているピークホールド値より大きいか否かを判定する。大きいと判定した場合(Yes)には、ステップS230において「CNT1」に「100」を設定し、ステップS235において、今回入力値「IN1」を「BUF1」に記憶して処理を終える。即ち、ステップS205、230、235のルートで処理が移行される場合は、信号が単調に増加する場合である。   First, “FRAG1” is cleared (step S200), and in step S205, whether or not the value of “IN1”, that is, the input value to the peak hold unit 22 is larger than the peak hold value stored in “BUF1” is determined. judge. If it is determined that the value is larger (Yes), “100” is set in “CNT1” in step S230, and the current input value “IN1” is stored in “BUF1” in step S235, and the process is terminated. In other words, the case where the processing is shifted through the route of steps S205, 230, and 235 is a case where the signal monotonously increases.

一方、ステップS205で「No」と判定された場合、即ち、「IN1」の値が「BUF1」に記憶されているピークホールド値以下の場合にはステップS210において「CNT1」が0か否かを判定する。「CNT1」が「0」の場合(Yes)にはステップS240に移行する一方、「CNT1」が「0」でない場合(No)にはステップS215に移行する。ステップS240においては、現在「BUF1」の値に「0.8」を乗じて処理を終える。即ち、ステップS240に移行する場合には、信号が小さくなっていく場合に対応する処理が実行される。 On the other hand, if “No” is determined in step S205, that is, if the value of “IN1” is less than or equal to the peak hold value stored in “BUF1”, whether or not “CNT1” is 0 in step S210. Determine. If “CNT1” is “0” (Yes), the process proceeds to step S240. If “CNT1” is not “0” (No), the process proceeds to step S215. In step S240, the current “BUF1” value is multiplied by “0.8” to finish the process. That is, when the process proceeds to step S240, a process corresponding to the case where the signal becomes smaller is executed.

さて、ステップS215に移行した場合には、「CNT1」を「1」だけデクリメントしてステップS220に移行する。ステップS220において、「CNT1」が「0」か否かを判定する。この判定結果が「0」でない場合(No)には処理を終了する。一方。判定結果が「0」の場合(Yes)にはステップS225に移行して「FLAG1」をセットし、即ち「FLAG1」を「1」として処理を終える。このステップS205、ステップS210、ステップS215、ステップS220、ステップS225の一連の処理ルートは、信号が或る時間幅で平坦になっている場合の処理である。したがって、「FLAG1」がセットされた時刻を検出すれば、図3(d)に示すようなビート位置に対応する時間情報t(0)〜t(10)を得ることが可能となる。このようにして。図2に示す信号処理を信号処理部20が繰り返し行うことによって、ビート位置に対する時間情報を得てこれをBPM値抽出部30へと出力する。なお、「FLAG1」がセットされた時刻から所定時間遡った時刻を出力することもできる。例えば、上記時間幅(信号が平坦になっている時間)だけ遡った時刻を出力すれば、信号のピーク位置(信号の振幅が増加から減少に転じた位置)をビート位置とすることになる。 When the process proceeds to step S215, “CNT1” is decremented by “1”, and the process proceeds to step S220. In step S220, it is determined whether “CNT1” is “0”. If this determination result is not “0” (No), the process is terminated. on the other hand. When the determination result is “0” (Yes), the process proceeds to step S225, “FLAG1” is set, that is, “FLAG1” is set to “1”, and the process is ended. A series of processing routes of step S205, step S210, step S215, step S220, and step S225 is processing when the signal is flat for a certain time width. Therefore, if the time when “FLAG1” is set is detected, time information t (0) to t (10) corresponding to the beat position as shown in FIG. 3D can be obtained. In this way. The signal processing unit 20 repeatedly performs the signal processing shown in FIG. 2, thereby obtaining time information for the beat position and outputting this to the BPM value extracting unit 30. It is also possible to output a time that is a predetermined time later than the time when “FLAG1” was set. For example, if a time that is traced back by the time width (the time when the signal is flat) is output, the peak position of the signal (the position where the amplitude of the signal has changed from increasing to decreasing) is set as the beat position.

図4はBPM値抽出部30が行う信号処理を説明するためのエントリーテーブル400である。「n」はビート位置に対応する時刻情報列tの要素番号で、0から始まり時刻情報が得られる度に1加算される。BPM値抽出部30は、新たな時刻情報が得られる度に(「n」が加算される度に)、一つ前の時刻情報と今回の時刻情報との差分を求め、これを「(t(n)−t(n−1))」の欄に格納するのであるが、この差分値「(t(n)−t(n−1))」が一分間に何回入るかがBPM値なので、「60000/(t(n)−t(n−1))」をBPM値とし、前記計算の結果、BPM値が「80〜160」の範囲に収まるようにし(外れるものについては、2または1/2を乗算する計算を繰り返し80〜160の範囲に収まるようにする:図4のテーブルにある数値もこれが適用された結果)、これをBPM値候補として格納していく処理を繰り返し行う。これと共に、BPM値抽出部30は、1個おきの時間情報の差分を求め、これを「(t(n)−t(n−2))」の欄に格納するとともに、この差分値をBPM値に変換してこれをBPM値候補の欄に格納していく処理を繰り返して実行することによって、エンントリーテーブル400に示すようなBPM値候補の抽出を行うことができる。かくして、BPM値候補が出力される。   FIG. 4 is an entry table 400 for explaining signal processing performed by the BPM value extraction unit 30. “N” is an element number of the time information sequence t corresponding to the beat position, and is incremented by 1 every time information is obtained starting from 0. Each time new time information is obtained (every time “n” is added), the BPM value extraction unit 30 obtains a difference between the previous time information and the current time information, and obtains the difference “(t (N) -t (n-1)) "is stored in the column, but how many times this difference value" (t (n) -t (n-1)) "enters per minute is the BPM value. Therefore, “60000 / (t (n) −t (n−1))” is set as the BPM value, and the BPM value falls within the range of “80 to 160” as a result of the calculation (for those that fall outside, 2 Alternatively, the calculation for multiplying by 1/2 is repeatedly made to fall within the range of 80 to 160: the numerical value in the table of FIG. 4 is applied as a result), and the process of storing this as a BPM value candidate is repeated. . At the same time, the BPM value extraction unit 30 obtains a difference between every other piece of time information, stores this difference in the column “(t (n) −t (n−2))”, and uses this difference value as the BPM. BPM value candidates as shown in the entry table 400 can be extracted by repeatedly executing the process of converting the values and storing them in the BPM value candidate column. Thus, BPM value candidates are output.

図5はBPM値決定部40が行う信号処理を説明するためのエントリーテーブル500のである。「n」はビート位置に対応する時刻情報列tの要素番号であり、新たな時刻情報が得られる度に、個々のデータ領域に、1組の「BPM値候補」と「頻度」とが対になって格納される。図4、図5を参照してBPM値決定部40が行う処理について説明する。なお、この例では最終的に6個のグループがエントリーされている。なお、頻度情報は単純に度数分布を求めるのではなく、BPM値候補のグループ化を図りながら頻度情報を求めて行く点に特徴がある。以下これについて説明する。   FIG. 5 is an entry table 500 for explaining signal processing performed by the BPM value determination unit 40. “N” is an element number of the time information sequence t corresponding to the beat position, and each time a new time information is obtained, a pair of “BPM value candidate” and “frequency” are paired with each data area. Is stored. Processing performed by the BPM value determination unit 40 will be described with reference to FIGS. 4 and 5. In this example, six groups are finally entered. Note that the frequency information is characterized in that the frequency information is not obtained simply but the frequency information is obtained while grouping the BPM value candidates. This will be described below.

「n=1」の場合には、図4に示すように、BPM値候補は「156」のみでありこの頻度を「1」としてそのまま格納する。「n=2」の場合には新たにBPM値候補「105」、「125」が送られてくるが、過去のBPM値候補即ち「156」に対して一定の差であるΔ(例えば±6)に収まるものは存在しないので、「105」、「125」を新たに格納する。そして、「n=3」の場合には、新たに送られてきた「117」については過去のBPM値候補との差がΔ以内のものはないので「117」を新たに格納する一方、新たに送られてきた「111」は既に格納されているBPM値候補「105」との差がΔ以内に収まるので、両BPM値候補「111」と「105」の平均値である新たな値「108」を頻度「2」と対応付けてBPM値候補として格納する。   In the case of “n = 1”, as shown in FIG. 4, the BPM value candidate is only “156”, and this frequency is stored as it is as “1”. In the case of “n = 2”, new BPM value candidates “105” and “125” are sent, but Δ (for example ± 6) which is a constant difference from the past BPM value candidates, ie, “156”. ) Does not exist, and “105” and “125” are newly stored. In the case of “n = 3”, there is no difference between the newly sent “117” and the past BPM value candidates within Δ, so “117” is newly stored, Since the difference between the “111” sent to the BPM value candidate “105” already stored within Δ is within Δ, a new value “1” that is the average value of both BPM value candidates “111” and “105” is stored. 108 ”is stored in association with the frequency“ 2 ”as a BPM value candidate.

つまり、新たに送られてくるBPM候補値が過去に送られてきたものとΔ以内である場合にはそれらの平均値を新たなBPM値とし頻度を「1」だけインクリメントする。かくして、図5に示すエントリーテーブル500が構築されていき、頻度が一定以上(例えば4)に達した候補の中で、最も頻度の大きなもの(この場合、n=6、7、8の時は「107」、n=9、10の時は「108」)をBPM値として逐次決定出力する。   In other words, if the BPM candidate values that are newly sent are within Δ and those that have been sent in the past, the average value thereof is set as the new BPM value, and the frequency is incremented by “1”. Thus, the entry table 500 shown in FIG. 5 is constructed, and among the candidates whose frequency has reached a certain level (for example, 4), the one with the highest frequency (in this case, when n = 6, 7, or 8) When “107” and n = 9 and 10, “108”) is sequentially determined and output as a BPM value.

以上説明してきたように、入力信号のビート位置に対応する時間情報の差を順次BPM値に変換する一方、1個おきの時間情報の差も順次BPM値に変換してこれらをテンポ値候補とし、更に、候補とされたテンポ値の頻度に応じて最終的なテンポ値を決定するので、フレーム長さ等に依存せず正確なテンポ検出が可能なテンポ検出装置1を簡素な構成で実現することが可能となる。   As described above, the time information difference corresponding to the beat position of the input signal is sequentially converted into a BPM value, while every other time information difference is also sequentially converted into a BPM value and these are used as tempo value candidates. Furthermore, since the final tempo value is determined according to the frequency of the candidate tempo value, the tempo detection device 1 that can accurately detect the tempo without depending on the frame length or the like is realized with a simple configuration. It becomes possible.

(他の構成:動作例)
次に他の構成、動作例を説明する。図6はBPM値候補抽出部35の構成図、図7はBPM値決定部45の構成図である。このBPM値候補抽出部35は、時刻情報を管理する時刻管理部105を備えた制御部100と、ビート検出時刻記憶部110と、BPM値候補生成部120とを備える。また、BPM値決定部45は、BPM値頻度テーブル210と閾値制御部200とを備えて構成される。なお、図6のビート検出時刻記憶部110は、先入れ先だし方式のFIFO等で実現され、記憶しきれなくなった古い時間情報を廃棄し新たな情報を記憶する構成としている。
(Other configuration: operation example)
Next, other configurations and operation examples will be described. FIG. 6 is a configuration diagram of the BPM value candidate extraction unit 35, and FIG. 7 is a configuration diagram of the BPM value determination unit 45. The BPM value candidate extraction unit 35 includes a control unit 100 including a time management unit 105 that manages time information, a beat detection time storage unit 110, and a BPM value candidate generation unit 120. The BPM value determination unit 45 includes a BPM value frequency table 210 and a threshold control unit 200. Note that the beat detection time storage unit 110 in FIG. 6 is realized by a first-in first-out FIFO or the like, and is configured to discard old time information that cannot be stored and store new information.

本装置1の動作を開始させると、これを基準時として時刻管理部105は時刻を把握可能となる。制御部100は、時刻管理部105の時刻情報を参照して所定時間、時間情報が送られてこない場合には、楽音信号の入力が終了したか途絶えた等と判断しリセット信号を出力する。閾値制御部200はこのリセット信号を受信すると、BPM頻度テーブル210の記憶内容をクリアして再度の楽音信号の入力に備える構成となっている。   When the operation of the apparatus 1 is started, the time management unit 105 can grasp the time using this as a reference time. When the time information is not sent for a predetermined time with reference to the time information of the time management unit 105, the control unit 100 determines that the input of the tone signal has been completed or has stopped, and outputs a reset signal. Upon receiving this reset signal, the threshold control unit 200 is configured to clear the stored contents of the BPM frequency table 210 and prepare for the input of a musical sound signal again.

さて、信号処理部20から時間情報を受け取った制御部100は、時刻管理部105の時刻を参照して、ビート検出時刻情報記憶部110にその時刻情報を記憶させる処理を繰り返す。これに応じて、ビート検出時刻情報記憶部110には所定数個(例えば4個)の最新の時刻情報が格納される。すると、BPM値候補生成部120はこれらの時刻情報に基づいてBPM値候補を生成する。より具体的には、最新の4個の時刻情報に基づいて、任意の2個の時刻情報で組み合わせ可能な時間幅をBPM値候補として出力する。図9はこの動作の説明図であり、今「t1<t2<t3<t4」の場合を想定している。この場合、任意の2つの時刻差である、Ta、Tb、Tc、Td、Te、TfがBPM値候補として生成出力される。   Now, the control unit 100 that has received the time information from the signal processing unit 20 refers to the time of the time management unit 105 and repeats the process of storing the time information in the beat detection time information storage unit 110. In response to this, the beat detection time information storage unit 110 stores a predetermined number (for example, four) of the latest time information. Then, the BPM value candidate generation unit 120 generates a BPM value candidate based on the time information. More specifically, based on the latest four time information, a time width that can be combined with any two pieces of time information is output as a BPM value candidate. FIG. 9 is an explanatory diagram of this operation, and it is assumed that “t1 <t2 <t3 <t4”. In this case, Ta, Tb, Tc, Td, Te, and Tf, which are any two time differences, are generated and output as BPM value candidates.

これらBPM値候補を受け取った閾値制御部200は、先にエントリーテーブル500を用いた処理で説明した動作を行う。つまり、BPM頻度テーブル210に、BPM値候補と頻度とを対応付けて記憶していく処理を実行する。この際、閾値制御部200は、先に説明したΔを複数段階で小さくしていき、頻度の多い或るBPM値を絞っていくようにBPM頻度テーブル210の更新処理を実行する。例えば最初のΔ1(±6)を、Δ2(±5)、…というようにΔを変更制御し、Δ以内の時間情報を受け取った場合にのみ、BPM頻度テーブルを更新するように動作する。なお、このΔの変更制御は装置動作の開始からの時間に応じて行っても良いし、例えば、或る値よりも頻度値が大きくなるものが出現した場合を契機として実行することができる。そして、閾値制御部210は最も頻度の大きなBPM値候補を最終的なBPM値として出力する。   Receiving these BPM value candidates, the threshold control unit 200 performs the operation described above in the process using the entry table 500. That is, a process of storing the BPM value candidate and the frequency in association with each other in the BPM frequency table 210 is executed. At this time, the threshold control unit 200 executes the updating process of the BPM frequency table 210 so as to reduce Δ described above in a plurality of stages and narrow down a certain BPM value having a high frequency. For example, the first Δ1 (± 6) is controlled so as to change Δ to Δ2 (± 5),..., And the BPM frequency table is updated only when time information within Δ is received. The change control of Δ may be performed according to the time from the start of the device operation. For example, the change control of Δ can be executed when a thing having a frequency value larger than a certain value appears. Then, the threshold control unit 210 outputs the most frequent BPM value candidate as the final BPM value.

したがって、この他の構成によっても、フレーム長さ等に依存せず正確なテンポ検出が可能なテンポ検出装置1を簡素な構成で実現することが可能となる。   Therefore, even with this other configuration, the tempo detection device 1 capable of accurate tempo detection without depending on the frame length or the like can be realized with a simple configuration.

(その他)
図10(a)は例えばドラム等の楽音信号の波形である。この信号波形ではアタック操作の開始点が不明確となっている。なお、1−A、1−B、1−C…はこのオリジナル波形のビート位置を示している。一方、図10(b)に示す2−A、2−B、2−C…は、図3(b)に示す波形に対して、信号処理部20が検出したビート位置である。そして、図10(b)の3−A、3−B、3−C、…は、より改良したアルゴリズムでビート位置を検出したものである。つまり、アタックが不鮮明の場合には信号処理部20が求めたビート位置は、若干送れぎみに検出される。そこで、信号処理部20がビート位置を求めるのと並行してピーク位置を求め、そして、2−A、2−B、2−C、…に示すビート位置よりも、1個ピーク前のピーク位置をビート位置と見なして処理を行うことによって、正確なアタック位置を反映させたビート検出が行える。
(Other)
FIG. 10A shows a waveform of a tone signal such as a drum. In this signal waveform, the starting point of the attack operation is unclear. 1-A, 1-B, 1-C... Indicate beat positions of the original waveform. On the other hand, 2-A, 2-B, 2-C... Shown in FIG. 10B are beat positions detected by the signal processing unit 20 with respect to the waveform shown in FIG. And, 3-A, 3-B, 3-C,... In FIG. 10 (b) are beat positions detected by a more improved algorithm. That is, when the attack is unclear, the beat position obtained by the signal processing unit 20 is slightly detected. Accordingly, the peak position is obtained in parallel with the signal processing unit 20 obtaining the beat position, and the peak position one peak before the beat positions indicated by 2-A, 2-B, 2-C,. By performing the processing while regarding as a beat position, it is possible to detect a beat that reflects an accurate attack position.

以上説明してきたように、本発明のテンポ検出装置は音楽分野等の装置に適用して好適である。   As described above, the tempo detection device of the present invention is suitable for application to devices in the music field and the like.

テンポ検出装置1の構成図である。1 is a configuration diagram of a tempo detection device 1. FIG. 信号処理部20の動作を説明するためのフローチャートである。5 is a flowchart for explaining the operation of the signal processing unit 20. 信号処理の説明図である。It is explanatory drawing of signal processing. エントリーテーブル400の説明図である。It is explanatory drawing of the entry table 400. FIG. エントリーテーブル500の説明図である。It is explanatory drawing of the entry table 500. FIG. BPM値候補抽出部35の構成図である。4 is a configuration diagram of a BPM value candidate extraction unit 35. FIG. BPM値決定部45の構成図である。4 is a configuration diagram of a BPM value determination unit 45. FIG. 従来技術の説明図である。It is explanatory drawing of a prior art. BPM値候補生成部120の動作の説明図である。It is explanatory drawing of operation | movement of the BPM value candidate production | generation part. 信号処理の説明図であるIt is explanatory drawing of signal processing.

符号の説明Explanation of symbols

1 テンポ検出装置
10 信号処理部
20 信号処理部
22 ピークホールド部
24 ビート位置検出部
30 BPM値候補抽出部
35 BPM値候補抽出部
40 BPM値決定部
45 BPM値決定部
400 エントリーテーブル
500 エントリーテーブル
DESCRIPTION OF SYMBOLS 1 Tempo detection apparatus 10 Signal processing part 20 Signal processing part 22 Peak hold part 24 Beat position detection part 30 BPM value candidate extraction part 35 BPM value candidate extraction part 40 BPM value determination part 45 BPM value determination part 400 Entry table 500 Entry table

Claims (1)

音楽信号に対し所要の信号処理を施した信号を出力する第1の信号処理手段と、
この第1の信号処理手段からの出力信号をアナログデジタル変換して出力する信号変換手段と、
この信号変換手段からの出力信号をピークホールドしたものに対して順次そのビート位置に対応する時間情報を出力する検出手段と、
この検出手段からの時間情報に基づいてテンポ値の候補を抽出出力するテンポ値候補抽出手段と、
この出力されたテンポ値候補群の出現頻度に関する出現頻度情報に基づいてテンポ値を検出するテンポ値決定手段と、を備え、
前記テンポ値候補抽出手段は、
前記検出手段から出力される時間情報の差を順次BPM値(Beat Per Minute)に変換する一方、1個おきの時間情報の差も順次BPM値に変換して、これらをBPM値候補として出力し、
前記テンポ決定手段は、
既に記憶されている旧BPM値候補と新たに送られてくる新BPM値候補との差分が所定値内の場合には、旧BPM値候補と新BPM値候補の平均値を新たなBPM値候補としてこの頻度数を1増加させる一方、旧BPM値候補と新BPM値候補との差分が前記所定値内でない場合には、旧BPM値候補に頻度数をそのままに維持していく処理を繰り返し実行することによって、最も頻度が大きなBPM値候補を最終的なBPM値として決定出力する手段であって、或る値よりも頻度値が大きくなるものが出現した場合に前記所定値を複数段階で小さくなるように変更制御する閾値制御部を含んで成る手段であることを特徴とするテンポ検出装置。
First signal processing means for outputting a signal obtained by performing required signal processing on a music signal;
A signal converting means for converting the output signal from the first signal processing means into an analog-digital converter and outputting the converted signal;
Detecting means for sequentially outputting time information corresponding to the beat position with respect to the peak-holded output signal from the signal converting means;
Tempo value candidate extraction means for extracting and outputting tempo value candidates based on time information from the detection means;
Tempo value determining means for detecting a tempo value based on the appearance frequency information relating to the appearance frequency of the output tempo value candidate group, and
The tempo value candidate extracting means includes
While the difference in time information output from the detection means is sequentially converted into a BPM value (Beat Per Minute), the difference in every other time information is also sequentially converted into a BPM value and these are output as BPM value candidates. ,
The tempo value determining means includes
When the difference between the previously stored old BPM value candidate and the newly sent new BPM value candidate is within a predetermined value, the average value of the old BPM value candidate and the new BPM value candidate is determined as the new BPM value candidate. If the difference between the old BPM value candidate and the new BPM value candidate is not within the predetermined value, the process of maintaining the frequency number in the old BPM value candidate is repeatedly executed. By doing so, a means for determining and outputting a BPM value candidate having the highest frequency as a final BPM value, and when a frequency value larger than a certain value appears, the predetermined value is decreased in a plurality of stages. A tempo detection device comprising a threshold control unit that performs change control so that the tempo is detected.
JP2006290322A 2006-10-25 2006-10-25 Tempo detection device Active JP5066692B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006290322A JP5066692B2 (en) 2006-10-25 2006-10-25 Tempo detection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006290322A JP5066692B2 (en) 2006-10-25 2006-10-25 Tempo detection device

Publications (2)

Publication Number Publication Date
JP2008107569A JP2008107569A (en) 2008-05-08
JP5066692B2 true JP5066692B2 (en) 2012-11-07

Family

ID=39440966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006290322A Active JP5066692B2 (en) 2006-10-25 2006-10-25 Tempo detection device

Country Status (1)

Country Link
JP (1) JP5066692B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5641326B2 (en) * 2010-12-21 2014-12-17 ソニー株式会社 Content reproduction apparatus and method, and program
CN103578478B (en) * 2013-11-11 2016-08-17 科大讯飞股份有限公司 Obtain the method and system of musical tempo information in real time
CN106652981B (en) * 2016-12-28 2019-09-13 广州酷狗计算机科技有限公司 BPM detection method and device
JP7105880B2 (en) * 2018-05-24 2022-07-25 ローランド株式会社 Beat sound generation timing generator

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH067320B2 (en) * 1985-11-29 1994-01-26 シャープ株式会社 Rhythm recognition device
JPH0687198B2 (en) * 1986-09-11 1994-11-02 松下電器産業株式会社 Tempo display
JP2780573B2 (en) * 1992-07-01 1998-07-30 ヤマハ株式会社 Music synthesizer
JP3780858B2 (en) * 2001-03-26 2006-05-31 ヤマハ株式会社 Waveform data analysis method, waveform data analysis apparatus and program
JP2006085090A (en) * 2004-09-17 2006-03-30 Casio Comput Co Ltd Music structure analyzing device and program

Also Published As

Publication number Publication date
JP2008107569A (en) 2008-05-08

Similar Documents

Publication Publication Date Title
US9171532B2 (en) Sound signal analysis apparatus, sound signal analysis method and sound signal analysis program
US20140260911A1 (en) Sound signal analysis apparatus, sound signal analysis method and sound signal analysis program
JP5066692B2 (en) Tempo detection device
CN107316641B (en) Voice control method and electronic equipment
JP2009207810A (en) Pulse rate measuring instrument, pulse rate measuring method, and program
JP6252147B2 (en) Acoustic signal analysis apparatus and acoustic signal analysis program
JP6631199B2 (en) Technique determination device
JP5433696B2 (en) Audio processing device
JP5388447B2 (en) Sound signal processing apparatus and sound signal processing method for specifying sound generation period
JP4799333B2 (en) Music classification method, music classification apparatus, and computer program
JP5309459B2 (en) Beat detection device
US20130339349A1 (en) Method and apparatus for music searching
JP6329753B2 (en) Information processing program, information processing apparatus, information processing system, and sound determination method
JP2015200685A (en) Attack position detection program and attack position detection device
JP2017203931A (en) Acoustic property measurement device and acoustic property measurement method
JPH09166630A (en) Frequency measuring apparatus
JP2004069350A (en) Measuring instrument
JP2018025644A (en) Music key estimation device, and music code progression estimation device
JP4360527B2 (en) Pitch detection method
JP2018072444A (en) Chord detection device, chord detection program and chord detection method
JP2021156975A (en) Tempo detector, method, and program
JP2017006286A (en) Evaluation device and evaluation method
KR100444930B1 (en) Apparatus and method for extracting quantized MIDI note
US20180374463A1 (en) Sound signal processing method and sound signal processing device
JPH03253898A (en) Automatic accompaniment device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120223

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: 20120717

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120717

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5066692

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250