JP2019117224A - Tempo detector, tempo detecting method and program - Google Patents
Tempo detector, tempo detecting method and program Download PDFInfo
- Publication number
- JP2019117224A JP2019117224A JP2017249915A JP2017249915A JP2019117224A JP 2019117224 A JP2019117224 A JP 2019117224A JP 2017249915 A JP2017249915 A JP 2017249915A JP 2017249915 A JP2017249915 A JP 2017249915A JP 2019117224 A JP2019117224 A JP 2019117224A
- Authority
- JP
- Japan
- Prior art keywords
- bpm
- peak hold
- sample
- hold value
- value
- 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)
Abstract
Description
本発明は、楽音信号からテンポを検出するテンポ検出装置、テンポ検出方法、プログラムに関する。 The present invention relates to a tempo detection device, a tempo detection method, and a program for detecting a tempo from a tone signal.
特許文献1には、電子ピアノや電子オルガンの鍵盤の押鍵、離鍵を判断し、その押鍵間隔から演奏テンポを検出して表示するテンポ表示装置が開示されている。
電子ピアノの場合、演奏者が鍵を押した瞬間をセンサなどで検出することは容易であり、特許文献1のように、鍵盤の押鍵、離鍵を判断し、その押鍵間隔から演奏テンポを検出して表示することは難しくない。また、ドラムの打撃音は減衰が急峻であるため、センサではなく音声信号を用いた場合でも、演奏者がドラムを打撃して音を出した瞬間(以下、アタックの瞬間という)とそれ以外とを峻別することが比較的容易であり、テンポの検出も比較的容易である。
In the case of an electronic piano, it is easy to detect the moment the player presses the key with a sensor or the like, and as in
しかしながら、例えばベースギターなどの撥弦楽器の場合、楽器の構造上、センサを配置しにくいため、特許文献1のようなテンポ検出方法は採用しにくい。また例えば音声信号を用いた場合でも、撥弦楽器の楽音はドラムの打撃音と性質が異なるため、アタックの瞬間とそれ以外の峻別が困難な場合がある。演奏者が指で弦をはじくと弦の振動はしばらく継続し、通常は弦の振動が完全に静止する前に演奏者はさらに弦をはじく場合が多く、弦の振動の有無をテンポ検出の基準とすることはできない。
However, for example, in the case of a stringed musical instrument such as a bass guitar, it is difficult to arrange a sensor due to the structure of the musical instrument, so it is difficult to adopt the tempo detection method as disclosed in
そこで本発明では、撥弦楽器のテンポを検出することができるテンポ検出装置を提供することを目的とする。 Therefore, it is an object of the present invention to provide a tempo detection device capable of detecting the tempo of a plucked instrument.
本発明のテンポ検出装置は、レベル取得部と、ピークホールド値計算部と、バッファ部と、アタック候補検出部と、BPM計算部を含む。 The tempo detection device of the present invention includes a level acquisition unit, a peak hold value calculation unit, a buffer unit, an attack candidate detection unit, and a BPM calculation unit.
レベル取得部は、楽音信号のサンプル毎のレベルを取得する。ピークホールド値計算部は、現在のサンプルにおけるレベルが、直前のサンプルにおけるピークホールド値に所定の係数を乗じて減衰させたピークホールド値よりも大きい場合に、現在のサンプルにおけるレベルを新たなピークホールド値として更新し、それ以外の場合に、減衰させたピークホールド値を現在のサンプルにおけるピークホールド値として維持する。バッファ部は、Nを1以上の整数とし、1サンプル過去からNサンプル過去のサンプルまでのピークホールド値を記憶する。アタック候補検出部は、現在のサンプルにおけるピークホールド値とNサンプル過去におけるピークホールド値の比の値が1以上の所定の値を超える場合に、現在のサンプルをアタック候補として検出する。BPM計算部は、隣り合うアタック候補のサンプル差であるインターバルが所定の条件を充たす場合に、インターバルと、サンプルのサンプリング周波数に基づいて、1分間あたりの拍数であるBPMを計算する。 The level acquisition unit acquires the level of each sample of the tone signal. The peak hold value calculator calculates a new peak hold level for the current sample when the level for the current sample is greater than the peak hold value attenuated by multiplying the peak hold value for the previous sample by a predetermined coefficient. Update as a value, otherwise keep the attenuated peak hold value as the peak hold value for the current sample. The buffer unit sets N as an integer of 1 or more, and stores peak hold values from one sample past to N samples past. The attack candidate detection unit detects the current sample as an attack candidate when the value of the ratio of the peak hold value in the current sample and the peak hold value in the past of N samples exceeds a predetermined value of 1 or more. When an interval which is a sample difference between adjacent attack candidates satisfies a predetermined condition, the BPM calculation unit calculates BPM which is the number of beats per minute based on the interval and the sampling frequency of the sample.
本発明のテンポ検出装置によれば、撥弦楽器のテンポを検出することができる。 According to the tempo detection device of the present invention, the tempo of a plucked instrument can be detected.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. Note that components having the same function will be assigned the same reference numerals and redundant description will be omitted.
以下、図1を参照して実施例1のテンポ検出装置の概略を説明する。同図に示すように、本実施例のテンポ検出装置1は、本体11とクリップ12を含む構成であって、本体11は表示部117と各種の操作ボタンを含む。ベースギター(例えばエレキベース)のヘッド部分をクリップ12で挟持することで、ベースギター本体にテンポ検出装置1を取り付けることができる。
Hereinafter, an outline of the tempo detection device of the first embodiment will be described with reference to FIG. As shown in the figure, the
以下、図2を参照してテンポ検出装置1の本体11の機能ブロック図を説明する。同図に示すように、本体11は、サンプルカウンタ111と、レベル取得部112と、ピークホールド値計算部113と、バッファ部114と、アタック候補検出部115と、BPM計算部116と、表示部117を含む。テンポ検出装置1には、デジタルまたはアナログの楽音信号を入力することができるものとする。楽音信号がデジタル信号である場合、信号源(例えばエレキベース)とテンポ検出装置1とを有線接続、または無線接続して、デジタルの楽音信号を取得する。楽音信号がアナログ信号である場合、本体11は、図示しないピエゾピックアップまたはマイクロホン、AD変換器を備え、ピエゾピックアップまたはマイクロホンが取得したアナログ信号をAD変換器でデジタル信号に変換する。取得、または変換したデジタル信号のサンプリングレートをFsとする。
Hereinafter, a functional block diagram of the
以下、図3を参照してテンポ検出装置1の動作を説明する。まず、テンポ検出装置1のサンプルカウンタ111は、サンプルカウント値iを0にセットする(S11A)。次にレベル取得部112は、i番目のサンプルの楽音信号を取り込み、そのレベルを取得する(S11B)。次に、ピークホールド値計算部113は、現在の(i番目の)サンプルにおけるピークホールド値を計算する(S11C)。
Hereinafter, the operation of the
図4を参照してステップS11Cの動作の詳細について説明する。まず、ピークホールド値計算部113は、現在の(i番目の)サンプルにおけるレベルの絶対値aを求める(S11C−1)。次にピークホールド値計算部113は、直前の(i−1番目の)サンプルにおけるピークホールド値dに所定の係数(例えば0.9995)を乗じて減衰させる(d=d*0.9995,S11C−2)。なお、直前のサンプルが存在しない場合には、直前のサンプルのピークホールド値d=0と設定する。ピークホールド値計算部113は、現在のサンプルにおけるレベルの絶対値aと、減衰させたピークホールド値dを比較し、d<aの場合には、現在のサンプルにおけるレベルの絶対値aを新たなピークホールド値dとして更新する(d=a,S11C−3)。例えばi=0の場合、直前のサンプルが存在しないため、直前のサンプルのピークホールド値d=0であるから、最初のサンプルのレベルの絶対値aが新たなピークホールド値dとなる。また、d<aでない場合には、減衰させたピークホールド値dを現在のサンプルにおけるピークホールド値として維持する(S11C−4)。
Details of the operation of step S11C will be described with reference to FIG. First, the peak hold
図5、図6にピークホールド値の計算例を示す。図5は、エレキベースの1ストロークの楽音信号全体を表示したグラフ、図6はストロークの最初の部分を拡大して表示したグラフである。図5、図6に太線と四角形の凡例で示したように、ピークホールド値は、サンプルごとのレベル(絶対値)の最大値が更新されるたびに、その最大値と同じ値に更新され、その後は時間経過とともにゆっくりと減衰していく。 5 and 6 show calculation examples of peak hold values. FIG. 5 is a graph showing the entire electric bass one-stroke tone signal, and FIG. 6 is a graph showing the first part of the stroke in an enlarged manner. As shown by the bold and square legends in FIGS. 5 and 6, the peak hold value is updated to the same value as the maximum value of the level (absolute value) of each sample each time the value is updated. After that, it decays slowly with the passage of time.
再び図3を参照し、バッファ部114は、Nを1以上の整数とし、1サンプル過去からNサンプル過去のサンプルまでのピークホールド値を記憶する(S11D)。Nはテンポ検出の対象となる楽器に応じて変更可能なパラメータであり、例えばエレキベースの場合、Fs=10kHzの場合であれば、N=4程度とすればよい。本実施例では、N=4とし、バッファ部114は、1〜4サンプル過去のピークホールド値を記憶し、新たなサンプルのピークホールド値が計算されるたびに、最も古いピークホールド値を消去して、新たなピークホールド値を記憶するものとする。
Referring again to FIG. 3, the
アタック候補検出部115は、現在のサンプルにおけるピークホールド値とNサンプル(本実施例では、4サンプル)過去におけるピークホールド値の比の値(ratio)を求める(S11E)。アタック候補検出部115は、現在のサンプルにおけるピークホールド値とNサンプル過去におけるピークホールド値の比の値が1以上の所定の値(本実施例では1.2)を超える場合に(ratio>1.2)、現在のサンプルをアタック候補として検出する。例えば図6では、サンプルfnにおけるピークホールド値と、4サンプル過去のサンプルfn−4におけるピークホールド値の比の値が、1.2を超えるため、サンプルfnをアタック候補として検出する。
The attack
例えば2回目のストローク(アタック)が1回目のストローク(アタック)と同程度のレベルの楽音信号を発生したとしても、図5に記載のように、ピークホールド値は時間経過とともに減衰されているため、2回目のストローク(アタック)のレベルはratio>1.2を満たし、容易に検出できる。検出精度を上げるために、アタック候補検出のためのratioの条件や、減衰に用いる係数を調整してもよい。 For example, even if the second stroke (attack) generates a tone signal of the same level as the first stroke (attack), the peak hold value is attenuated with time as shown in FIG. The level of the second stroke (attack) satisfies ratio> 1.2 and can be easily detected. In order to increase the detection accuracy, the condition of the ratio for attack candidate detection or the coefficient used for attenuation may be adjusted.
BPM計算部116は、現在のサンプルのレベル(絶対値)が予め定めた最小のレベル(min_level)を超える場合であって(level>min_level)、隣り合うアタック候補のサンプル差であるインターバル(interval)が予め定めた最小のインターバル(min_interval)を超える場合(interval>min_interval)に、インターバル(interval)と、サンプルのサンプリング周波数Fsに基づいて、1分間あたりの拍数であるBPM(Beat Per Minute)を計算する(BPM=Fs*60/interval,S11H)。
The
例えば図6では、サンプルfmにおけるピークホールド値と、4サンプル過去のサンプルfm−4におけるピークホールド値の比の値が、1.2を超えるため、サンプルfmはアタック候補として検出されるが、隣り合うアタック候補のサンプル差(サンプルfmとサンプルfnのサンプル差)であるintervalが、min_intervalを超えないため、フローはS11Hに進まず、後述する(interval>3*Fs)?の判断に進む。min_intervalは、例えば0.1秒、すなわち0.1*Fsサンプルとすることができる。このような判断フローを加えることで、楽音信号のレベルの立ち上がり時におけるノイズなどがBPM計算に影響しないようにすることができる。 In FIG. 6, for example, a peak hold value in the sample f m, the value of the ratio of the peak hold value in 4 samples past samples f m-4, for more than 1.2, the sample f m is detected as an attack candidate but sample difference of adjacent attack candidate is (sample f m and sample f n of sample difference) interval is, because not exceeding min_interval, flow does not proceed to S11H, described later (interval> 3 * Fs)? Proceed to the judgment of The min_interval may be, for example, 0.1 seconds, ie, 0.1 * Fs samples. By adding such a determination flow, it is possible to prevent noise and the like at the rise of the level of the tone signal from affecting the BPM calculation.
表示部117は、計算されたBPMを、例えば図1に示すように、数値、波形で表示する(S11K,S11L)。その後、BPM計算部116は、インターバル(interval)を0にリセットし(S11M)、処理は後述するステップS11Gに進む。
The
以下、BPM計算部116における例外処理について説明する。前述したように、本実施例のテンポ検出装置1はベースギターのヘッドなどに取り付けて使用することを想定しているため、装置が小型であることを要し、表示部117も小型の画面とすることが要求される。従って計算されたBPMを表示部117に表示する際には分かりやすい表示となるように工夫が必要となる。そこで、本実施例のテンポ検出装置1では、表示部117に表示するBPMに範囲を設けた。本実施例のテンポ検出装置1では、表示するBPMの範囲を80〜160BPMとした。BPM計算部116は、例えばステップS11Hで計算されたBPMが予め設定した最小BPM(min_BPM=80)よりも小さい場合(BPM<min_BPM)、計算されたBPMに2を乗算し(S11I)、再び最小BPMとの比較を行い(BPM<min_BPM?)、2を乗算したBPMが最小BPMと等しいか、最小BPMよりも大きくなるまで、さらに2を繰り返し乗算する(S11I)。
Hereinafter, exception processing in the
また、BPM計算部116は、例えばステップS11Hで計算されたBPMが予め設定した最大BPM(max_BPM=160)よりも大きい場合(BPM>max_BPM)、計算されたBPMを2で除算し(S11J)、再び最大BPMとの比較を行い(BPM>max_BPM?)、2で除算したBPMが最大BPMと等しいか、最大BPMよりも小さくなるまで、さらに2で繰り返し除算する(S11J)。
Further, for example, when the BPM calculated in step S11H is larger than the preset maximum BPM (max_BPM = 160) (BPM> max_BPM), the
演奏者が上述のテンポ検出装置1の仕様を事前に理解していれば、例えば演奏者がmax_BPMを超えるテンポで演奏を行った場合、演奏者は表示部117に表示された数値を適宜2倍、または4倍、あるいは2x倍に換算するなどして、自身の演奏のテンポをチェックすることができる。同様に、演奏者がmin_BPMよりも遅いテンポで演奏を行った場合、演奏者は表示部117に表示された数値を適宜半分、または4分の1、あるいは1/2xに換算するなどして、自身の演奏のテンポをチェックすることができる。
If the performer understands the specifications of the above-described
再び図3を参照し、ステップS11E実行後に、ratio,level,intervalなどが所定の条件を充たさない場合のテンポ検出装置1の動作について述べる。この場合、アタック候補が存在しない、あるいはアタック候補は存在したものの、当該アタック候補はアタックとみなすことができないと判断されたとみなせるため、例えばインターバル(interval)がサンプリング周波数Fsの3倍を超える(すなわち、インターバルが3秒を超える)場合に、表示部117に表示されたBPM値やその波形を消灯し(S11F)、それ以外の場合には、表示部117に表示されたBPM値やその波形を維持して、インターバル(interval)、サンプルカウント値(i)を1インクリメントし(S11G)、サンプルカウント値iが楽音信号の最後のサンプルカウント値である場合には(i=Nsample)、処理を終了する(エンド)。一方、サンプルカウント値iが楽音信号の最後のサンプルカウント値でない場合(i≠Nsample)には、ステップS11Bに戻り、1インクリメントされたサンプルカウント値iのサンプルの楽音信号を取り込み、そのレベルを取得する(S11B)。以下、ステップS11C以降が上記と同様に実行される。
Referring back to FIG. 3, the operation of the
本実施例のテンポ検出装置1によれば、ピークホールド値という計算容易なパラメータを導入したため、撥弦楽器のようなアタックの瞬間とそれ以外の峻別が難しい楽器において、精度よくテンポを検出することができる。また、表示範囲外のBPMの表示を適宜2x倍、また1/2x倍して表示することとしたため、表示画面が小さい場合においても情報量過多にならず、演奏者に適切にテンポを表示することができる。
According to the
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplementary Note>
The apparatus according to the present invention is, for example, an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected as a single hardware entity, or a communication device (for example, communication cable) capable of communicating outside the hardware entity. Communication unit that can be connected, CPU (central processing unit, cache memory, registers, etc. may be provided), RAM or ROM that is memory, external storage device that is hard disk, input unit for these, output unit, communication unit , CPU, RAM, ROM, and a bus connected so as to enable exchange of data between external storage devices. If necessary, the hardware entity may be provided with a device (drive) capable of reading and writing a recording medium such as a CD-ROM. Examples of physical entities provided with such hardware resources include general purpose computers.
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。 The external storage device of the hardware entity stores a program necessary for realizing the above-mentioned function, data required for processing the program, and the like (not limited to the external storage device, for example, the program is read) It may be stored in the ROM which is a dedicated storage device). In addition, data and the like obtained by the processing of these programs are appropriately stored in a RAM, an external storage device, and the like.
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。 In the hardware entity, each program stored in the external storage device (or ROM etc.) and data necessary for processing of each program are read into the memory as necessary, and interpreted and processed appropriately by the CPU . As a result, the CPU realizes predetermined functions (each component requirement expressed as the above-mentioned,...
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。 The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention. Further, the processing described in the above embodiment may be performed not only in chronological order according to the order of description but also may be performed in parallel or individually depending on the processing capability of the device that executes the processing or the necessity. .
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。 As described above, when the processing function in the hardware entity (the apparatus of the present invention) described in the above embodiment is implemented by a computer, the processing content of the function that the hardware entity should have is described by a program. Then, by executing this program on a computer, the processing function of the hardware entity is realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。 The program describing the processing content can be recorded in a computer readable recording medium. As the computer readable recording medium, any medium such as a magnetic recording device, an optical disc, a magneto-optical recording medium, a semiconductor memory, etc. may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only) Memory), CD-R (Recordable) / RW (Rewritable), etc. as magneto-optical recording medium, MO (Magneto-Optical disc) etc., as semiconductor memory EEP-ROM (Electronically Erasable and Programmable Only Read Memory) etc. Can be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 Further, this program is distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD, a CD-ROM or the like recording the program. Furthermore, this program may be stored in a storage device of a server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 For example, a computer that executes such a program first temporarily stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, at the time of execution of the process, the computer reads the program stored in its own recording medium and executes the process according to the read program. Further, as another execution form of this program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer Each time, processing according to the received program may be executed sequentially. In addition, a configuration in which the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes processing functions only by executing instructions and acquiring results from the server computer without transferring the program to the computer It may be Note that the program in the present embodiment includes information provided for processing by a computer that conforms to the program (such as data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 Further, in this embodiment, the hardware entity is configured by executing a predetermined program on a computer, but at least a part of the processing content may be realized as hardware.
Claims (5)
現在のサンプルにおける前記レベルが、直前のサンプルにおけるピークホールド値に所定の係数を乗じて減衰させた前記ピークホールド値よりも大きい場合に、現在のサンプルにおける前記レベルを新たな前記ピークホールド値として更新し、それ以外の場合に、減衰させた前記ピークホールド値を現在のサンプルにおける前記ピークホールド値として維持するピークホールド値計算部と、
Nを1以上の整数とし、1サンプル過去からNサンプル過去のサンプルまでの前記ピークホールド値を記憶するバッファ部と、
現在のサンプルにおける前記ピークホールド値とNサンプル過去における前記ピークホールド値の比の値が1以上の所定の値を超える場合に、現在のサンプルをアタック候補として検出するアタック候補検出部と、
隣り合うアタック候補のサンプル差であるインターバルが所定の条件を充たす場合に、前記インターバルと、前記サンプルのサンプリング周波数に基づいて、1分間あたりの拍数であるBPMを計算するBPM計算部と、
を含むテンポ検出装置。 A level acquisition unit for acquiring the level of each sample of the tone signal;
Update the level in the current sample as the new peak hold value if the level in the current sample is greater than the peak hold value attenuated by multiplying the peak hold value in the previous sample by a predetermined factor A peak hold value calculation unit that maintains the attenuated peak hold value as the peak hold value in the current sample otherwise;
A buffer unit for storing the peak hold value from 1 sample past to N sample past samples, where N is an integer of 1 or more;
An attack candidate detection unit that detects the current sample as an attack candidate when the value of the ratio of the peak hold value in the current sample and the peak hold value in the past N samples exceeds a predetermined value of 1 or more;
A BPM calculation unit that calculates BPM, which is the number of beats per minute, based on the interval and the sampling frequency of the sample when an interval that is a sample difference between adjacent attack candidates satisfies a predetermined condition;
Tempo detection device including.
前記BPM計算部は、
前記BPMが予め設定した最小BPMよりも小さい場合に、前記最小BPMと等しいか、前記最小BPMよりも大きくなるまで、前記BPMに2を繰り返し乗算し、前記BPMが予め設定した最大BPMよりも大きい場合に、前記最大BPMと等しいか、前記最大BPMよりも小さくなるまで、前記BPMを2で繰り返し除算する
テンポ検出装置。 The tempo detection device according to claim 1, wherein
The BPM calculation unit
When the BPM is smaller than a preset minimum BPM, the BPM is repeatedly multiplied by 2 until it is equal to or larger than the minimum BPM, and the BPM is larger than the preset maximum BPM In this case, the tempo detection device repeatedly divides the BPM by 2 until it is equal to or smaller than the maximum BPM.
現在のサンプルにおける前記レベルが、直前のサンプルにおけるピークホールド値に所定の係数を乗じて減衰させた前記ピークホールド値よりも大きい場合に、現在のサンプルにおける前記レベルを新たな前記ピークホールド値として更新し、それ以外の場合に、減衰させた前記ピークホールド値を現在のサンプルにおける前記ピークホールド値として維持するピークホールド値計算ステップと、
Nを1以上の整数とし、現在のサンプルにおける前記ピークホールド値とNサンプル過去における前記ピークホールド値の比の値が1以上の所定の値を超える場合に、現在のサンプルをアタック候補として検出するアタック候補検出ステップと、
隣り合うアタック候補のサンプル差であるインターバルが所定の条件を充たす場合に、前記インターバルと、前記サンプルのサンプリング周波数に基づいて、1分間あたりの拍数であるBPMを計算するBPM計算ステップと、
を含むテンポ検出方法。 A level acquisition step of acquiring the level of each sample of the tone signal;
Update the level in the current sample as the new peak hold value if the level in the current sample is greater than the peak hold value attenuated by multiplying the peak hold value in the previous sample by a predetermined factor A peak hold value calculating step of maintaining the attenuated peak hold value as the peak hold value in the current sample otherwise
A current sample is detected as an attack candidate when N is an integer of 1 or more and the ratio of the peak hold value in the current sample to the peak hold value in the past N samples exceeds a predetermined value of 1 or more. Attack candidate detection step;
A BPM calculation step of calculating BPM, which is the number of beats per minute, based on the interval and the sampling frequency of the sample, when an interval which is a sample difference between adjacent attack candidates satisfies a predetermined condition;
Tempo detection method including:
前記BPM計算ステップは、
前記BPMが予め設定した最小BPMよりも小さい場合に、前記最小BPMと等しいか、前記最小BPMよりも大きくなるまで、前記BPMに2を繰り返し乗算し、前記BPMが予め設定した最大BPMよりも大きい場合に、前記最大BPMと等しいか、前記最大BPMよりも小さくなるまで、前記BPMを2で繰り返し除算する
テンポ検出方法。 The tempo detection method according to claim 3, wherein
The BPM calculation step is
When the BPM is smaller than a preset minimum BPM, the BPM is repeatedly multiplied by 2 until it is equal to or larger than the minimum BPM, and the BPM is larger than the preset maximum BPM In this case, the tempo is repeatedly divided by 2 until it is equal to or smaller than the maximum BPM.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017249915A JP6963808B2 (en) | 2017-12-26 | 2017-12-26 | Tempo detector, tempo detection method, program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017249915A JP6963808B2 (en) | 2017-12-26 | 2017-12-26 | Tempo detector, tempo detection method, program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019117224A true JP2019117224A (en) | 2019-07-18 |
| JP6963808B2 JP6963808B2 (en) | 2021-11-10 |
Family
ID=67304426
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017249915A Active JP6963808B2 (en) | 2017-12-26 | 2017-12-26 | Tempo detector, tempo detection method, program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6963808B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112866732A (en) * | 2020-12-30 | 2021-05-28 | 广州方硅信息技术有限公司 | Music broadcasting method and device, equipment and medium thereof |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0764544A (en) * | 1993-08-25 | 1995-03-10 | Casio Comput Co Ltd | Tempo data generation device and tempo data generation method |
| JPH08201542A (en) * | 1995-01-20 | 1996-08-09 | Pioneer Electron Corp | Instrument for counting beats |
| JP2011133906A (en) * | 2011-03-18 | 2011-07-07 | Yamaha Corp | Effect adding method of audio reproduction and device therefor |
-
2017
- 2017-12-26 JP JP2017249915A patent/JP6963808B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0764544A (en) * | 1993-08-25 | 1995-03-10 | Casio Comput Co Ltd | Tempo data generation device and tempo data generation method |
| JPH08201542A (en) * | 1995-01-20 | 1996-08-09 | Pioneer Electron Corp | Instrument for counting beats |
| JP2011133906A (en) * | 2011-03-18 | 2011-07-07 | Yamaha Corp | Effect adding method of audio reproduction and device therefor |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112866732A (en) * | 2020-12-30 | 2021-05-28 | 广州方硅信息技术有限公司 | Music broadcasting method and device, equipment and medium thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6963808B2 (en) | 2021-11-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8592670B2 (en) | Polyphonic note detection | |
| US10671278B2 (en) | Enhanced virtual instrument techniques | |
| US20110307084A1 (en) | Detecting if an audio stream is monophonic or polyphonic | |
| JP5454317B2 (en) | Acoustic analyzer | |
| JP2015004973A (en) | Performance analyzing method and performance analyzer | |
| JP2008275975A (en) | Rhythm detection device and computer program for rhythm detection | |
| JP2015114361A (en) | Acoustic signal analysis device and acoustic signal analysis program | |
| EP3579223B1 (en) | Method, device and computer program product for scrolling a musical score | |
| EP3350799A1 (en) | Electronic measuring device | |
| JP6963808B2 (en) | Tempo detector, tempo detection method, program | |
| JP6281211B2 (en) | Acoustic signal alignment apparatus, alignment method, and computer program | |
| JP6690446B2 (en) | Acoustic analysis device and acoustic analysis method | |
| JP5669646B2 (en) | Performance evaluation device, electronic musical instrument and program | |
| JP6835247B2 (en) | Data generator and program | |
| JP2015200685A (en) | Attack position detection program and attack position detection device | |
| JP2013015601A (en) | Sound source identification apparatus and information processing apparatus interlocked with sound source | |
| JP2014109603A (en) | Musical performance evaluation device and musical performance evaluation method | |
| JP5843074B2 (en) | Stringed instrument performance evaluation apparatus and stringed instrument performance evaluation program | |
| JP7158583B2 (en) | Method and device for flattening power of musical sound signal, and method and device for detecting beat timing of music | |
| JP6584230B2 (en) | Performance practice support device and program | |
| WO2020262074A1 (en) | Signal processing device, stringed instrument, signal processing method, and program | |
| JP6119422B2 (en) | Information processing apparatus and musical instrument | |
| Fan et al. | The realization of multifunctional guitar effectors&synthesizer based on ADSP-BF533 | |
| Maksimyuk et al. | TECHNIQUE OF STRAIN-GAUGE MEASUREMENT OF THE DYNAMIC CHARACTERISTICS OF PERCUSSION MUSIC. | |
| JP4855202B2 (en) | Electronic keyboard instrument |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201120 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210916 |
|
| 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: 20211005 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211011 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6963808 Country of ref document: JP 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 |