[go: up one dir, main page]

JP4360358B2 - テンポ検出装置およびテンポ検出方法 - Google Patents

テンポ検出装置およびテンポ検出方法 Download PDF

Info

Publication number
JP4360358B2
JP4360358B2 JP2005222650A JP2005222650A JP4360358B2 JP 4360358 B2 JP4360358 B2 JP 4360358B2 JP 2005222650 A JP2005222650 A JP 2005222650A JP 2005222650 A JP2005222650 A JP 2005222650A JP 4360358 B2 JP4360358 B2 JP 4360358B2
Authority
JP
Japan
Prior art keywords
interval
tempo
input
basic
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.)
Expired - Fee Related
Application number
JP2005222650A
Other languages
English (en)
Other versions
JP2007041108A (ja
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.)
Teac Corp
Original Assignee
Teac Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Teac Corp filed Critical Teac Corp
Priority to JP2005222650A priority Critical patent/JP4360358B2/ja
Publication of JP2007041108A publication Critical patent/JP2007041108A/ja
Application granted granted Critical
Publication of JP4360358B2 publication Critical patent/JP4360358B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出装置およびテンポ検出方法に関する。
従来から音楽の拍子を示す信号である打拍信号等、間欠的に入力される信号の入力テンポを検出し、ユーザに提示するテンポ検出装置が知られている(例えば、特許文献1〜3など)。かかるテンポ検出装置は、記録媒体に記録された音楽を再生するオーディオ装置や、ユーザにより演奏される電子楽器などに搭載され、ユーザの音楽の楽しみの幅を広げている。
例えば、近年、ディスコ等では、DJと呼ばれる演出者が、ダンス中の踊り客の雰囲気を機敏に感じ取り、踊り客にとって乗りのよいテンポの音楽を間断無く提供することにより、ダンス中の演出効果を高めるようにしている。このとき、DJは、音楽のテンポが急に変化しないように、オーディオ装置を用いて再生されている音楽、あるいは、これから再生しようとする音楽のテンポを正確に把握しておく必要がある。この場合、オーディオ装置に搭載されたテンポ検出装置は、再生されている音楽データから自動的に検出され入力される打拍信号、または、音楽のテンポに応じてユーザが手動入力する打拍信号に基づいて、当該音楽のテンポを検出する。
特開2001−243692号公報 特開2000−47664号公報 特開平8−179773号公報
ここで、テンポ検出装置に入力される打拍信号の入力間隔は一定ではなく、変化することがある。例えば、テンポ検出対象である音楽のテンポが変化すれば、当該音楽のテンポに応じて入力される打拍信号の入力間隔も当然変化する。また、ユーザの誤操作やノイズ等が原因で不要な打拍信号が誤入力されることにより、入力間隔が変化する場合もある。入力間隔の変化がテンポ変化に起因する場合は、その入力間隔の変化からテンポ変化後のテンポを迅速に検出し、ユーザに提示する必要がある。一方、入力間隔の変化が誤入力に起因する場合には、その入力間隔の変化は無視して、テンポを検出する必要がある。
しかし、通常、テンポ検出装置では、入力間隔の変化が、テンポ変化によるものか、誤入力によるものか、を判断し難いという問題がある。その結果、誤入力の影響を受けた不正確なテンポが検出されることがあった。そこで、この誤入力の影響を低減するために、過去数回分の打拍信号の入力間隔の移動平均値に基づいて、テンポを算出する方法が提案されている。この移動平均値に基づくテンポ算出であれば、一回の誤入力の影響が低減できる。しかし、その一方で、移動平均値は、常に遅れを含むことになるため、テンポ変化が生じた場合に、迅速に対応できないという問題が生じる。つまり、従来の方法では、誤入力の影響を受けない正確なテンポを迅速に算出できなかった。
そこで、本発明では、正確なテンポを迅速に検出でき得るテンポ検出装置および方法を提供することを目的とする。
本発明のテンポ検出装置は、間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出装置であって、予め設定された基本間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第一判断手段と、第一判断手段により両間隔が一致しないと判断された場合における打拍信号の入力間隔を新たな基本間隔の候補である候補間隔として設定する候補間隔設定手段と、設定された候補間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第二判断手段と、第二判断手段により設定された候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する基本間隔更新手段と、設定されている基本間隔に基づいて打拍信号の入力テンポを算出するテンポ算出手段と、を備えることを特徴とする。
好適な態様では、さらに、前記第一判断手段により一致していると判断され得る許容範囲内で基本間隔と打拍信号の入力間隔とがずれている場合に、当該打拍信号の入力間隔に応じて基本間隔の値を補正する基本間隔補正手段を有し、テンポ算出手段は、少なくとも過去3回分以上の基本間隔の値の変更履歴を記憶する手段と、当該基本間隔の変更履歴に基づいて、テンポが変化しているか否かを判断するテンポ状況判断手段と、テンポが変化していると判断した場合には最新の基本間隔に基づいてテンポを算出し、テンポが変化していないと判断した場合には変更履歴に記憶されている複数の基本間隔の平均値に基づいてテンポを算出する算出手段と、を有する。テンポ状況判断手段は、変更履歴に記憶されている基本間隔が連続して増加または減少している場合、あるいは、候補間隔に更新されている場合には、テンポが変化していると判断することが望ましい。
他の本発明であるテンポ検出方法は、間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出方法であって、予め設定された基本間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第一判断ステップと、第一判断ステップにより両間隔が一致しないと判断された場合における打拍信号の入力間隔を新たな基本間隔の候補である候補間隔として設定する候補間隔設定ステップと、設定された候補間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第二判断ステップと、第二判断ステップにより設定された候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する基本間隔更新ステップと、設定されている基本間隔に基づいて打拍信号の入力テンポを算出するテンポ算出ステップと、を備えることを特徴とする。
本発明によれば、候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する。したがって、単発的に生じる誤入力は無視される一方で、迅速にテンポ変化に対応できる。その結果、正確なテンポを迅速に検出することができる。
以下、本発明の実施形態について図面を参照して説明する。図1は、本発明の実施形態であるオーディオ装置10の概略構成図である。このオーディオ装置10は、記録媒体に記録された音楽を再生することができる。また、このオーディオ装置10は、再生された音楽に応じてユーザが入力した打拍信号に基づいて、当該音楽のテンポを検出し、表示するテンポ表示機能を備えている。
再生部12は、記憶媒体、例えば、光ディスクや磁気ディスク、磁気テープなどに記憶されている音楽データを読み込み、当該音楽データに応じた音を出力する。この再生部12の構成は、種々の周知の構成を用いることができる。
操作部14は、当該オーディオ装置10を操作するための各種操作子が設けられている。この操作子の中には、再生されている音楽のテンポに応じて、ユーザが操作するタップボタンも設けられている。音楽のテンポを検出、表示させたい場合、ユーザは、当該タップボタンを音楽のテンポに応じて操作する。タップボタンが操作されると、打拍信号がテンポ検出部16へと出力される。
テンポ検出手段は、打拍信号の出力間隔に基づいて、当該音楽のテンポを算出する。ここで、算出されるテンポの形式としては、1分あたりの拍子数、いわゆる、BPM(ビート・パー・ミニッツ)である。このテンポ検出部16は、後に詳説するように2種類の打拍間隔を管理している。一つは現時点での打拍間隔である基本間隔、一つは新たな基本間隔の候補である候補間隔である。この二つの間隔については後に詳説する。
テンポ検出手段で検出されたテンポは、表示部18に設けられたBPM表示部24に表示される。この表示の形式としては、現時点でのBPMのみを表示してもよいし、BPMの遷移をグラフ形式で表示してもよい。
制御部20は、ユーザからの指示に応じて、各部を制御する。ユーザからの指示は、既述の操作部14を介して入力される。制御部20は、この指示に応じて、再生部12に対する音楽データの再生、停止指示や、テンポ検出部16に対するテンポ検出の開始、終了などを指示する。
図2は、テンポ検出部16のより詳細なブロック図である。このテンポ検出部16は、基本間隔管理部30、候補間隔管理部32、比較部34、BPM算出部40、および、互いに独立した二つのタイマ36,38を備えている。基本間隔管理部30は、現時点での打拍間隔(打拍信号の入力間隔)である基本間隔を管理している。この基本間隔は、それ以前に入力された打拍信号の入力間隔に基づいて設定される。この基本間隔は、後述する候補間隔管理部32から更新指示が出されない限り、一定の値が保持される。基本間隔管理部30は、この基本間隔に基づいて次の打拍信号の入力タイミングを予想するとともに、当該タイミングに合わせて基本信号を比較部34に出力する。
ここで、テンポ検出対象である音楽は人により演奏されており、また、テンポ検出のためのタップボタンの操作も人によりなされている。つまり、人によりテンポが形成、検出されている。そのため、例え、テンポに大きな変更が無くても、テンポを示す打拍信号の入力間隔は、多少の変動をせざるを得ない。この変動を許容するために、基本間隔管理部30では、予め、許容範囲divが設定されている。そして、基本信号は、図3に図示する通り、予想タイミングtより許容範囲divだけ早めに出力され、予想タイミングtから許容範囲divだけ経過した後に出力停止される。
候補間隔管理部32は、新たな基本間隔の候補である候補間隔を管理する。この候補間隔は、基本間隔と、打拍信号の入力間隔と、が一致しなかった場合に設定される。具体的には、基本間隔と異なる間隔で打拍信号が入力された場合、当該異なる間隔が、候補間隔として設定される。候補間隔管理部32は、この候補間隔に基づいて、次の打拍信号の入力タイミングを予想するとともに、当該タイミングに合わせて候補信号を比較部34に出力する。また、2回連続して候補間隔で打拍信号が入力された場合には、当該候補間隔を新たな基本間隔に設定するように、基本間隔管理部30に更新指示を出力する。この候補間隔管理部32においても、許容範囲divが設定されており、候補信号は予想タイミングより前後div分だけ余分に出力される。
比較部34は、タップボタンの操作に応じて入力される打拍信号、基本間隔管理部30から入力される基本信号、候補間隔管理部32から入力される候補信号の入力タイミングを比較し、その比較結果に応じた比較結果信号を出力する。基本間隔管理部30および候補間隔管理部32は、この比較部34から出力される比較結果信号に基づいて、打拍間隔と基本間隔、または、打拍間隔と候補間隔との一致、不一致を判断し、現在の基本間隔または候補間隔を維持または更新する。
第一タイマ36は、基本間隔管理部30が使用するタイマである。この第一タイマ36は、基本間隔管理部30からの指示に応じて、時間管理する。そして、必要に応じて、基本間隔管理部30に経過時間の値を通知したり、所定時間経過時にアラームを通知したりする。第二タイマ38は、候補間隔管理部32が使用するタイマで、候補間隔管理部32からの指示に応じて、時間管理や経過時間等の通知を行う。
BPM算出部40は、基本間隔管理部30で管理されている基本間隔に基づいてBPMを算出し、表示部18に出力する。このBPM算出部40は、基本間隔の変更履歴に応じて、BPM算出の方法を切り替える。この切り替えについては後に詳説する。
次に、比較部34の詳細な構成について説明する。図4は比較部34の構成の一例を示す図である。図4に示す通り、比較部34は、複数のAND回路、および、NOR回路からなる。この比較部34には、入力信号として、基本信号、候補信号、打拍信号が入力される。また、出力信号としては、A信号、B信号、X信号の3種類が出力される。3種類の出力信号のうち、A信号は、基本間隔管理部30および候補間隔管理部32の双方に出力される(図2参照)。一方、B信号およびX信号は、候補間隔管理部32にのみ出力される。
図5は、この比較部34の入出力関係を示す表であり、上3行は入力信号(打拍信号、基本信号、候補信号)の状態を、下3行は出力信号(A信号、B信号、X信号)の状態を示している。図5において、「H」は信号「High」状態、すなわち、信号が出力されていることを示している。「L」は信号が「Low」状態、すなわち、信号が出力されていないことを示している。さらに、「×」は、「Low」状態、「High」状態のいずれでもよいことを示している。
図5の表から分かる通り、打拍信号が「Low」状態、すなわち、打拍信号が入力されていない状態では、基本信号、候補信号の状態に関わらず、A信号、B信号、X信号のいずれの信号も出力されない。
一方、打拍信号のみが入力され、基本信号、候補信号が入力されていない状態では、X信号のみが出力される。ここで、打拍信号は、ユーザがタップボタンを操作することにより出力される信号である。一方、基本信号は、予め設定された基本間隔に基づいて予想される打拍信号の入力タイミングに出力される信号である。また、候補信号は、新たな基本間隔の候補である候補間隔に基づいて予想される入力タイミングに出力される信号である。この基本信号および候補信号が入力されず、かつ、打拍信号のみが入力されるということは、すなわち、今までに無い、全く新しい間隔で打拍信号が入力されたことを意味する。この場合は、X信号が出力される。このX信号は、候補間隔管理部32にのみ出力される。
打拍信号および候補信号が同時に入力された場合には、基本信号の入力の有無に関わらず、B信号が出力される。換言すれば、新たな基本間隔の候補である候補間隔と、打拍信号の入力間隔とが一致した場合には、B信号が出力される。このB信号は、候補間隔管理部32にのみ出力される。
打拍信号および基本信号が同時に入力され、かつ、候補信号が入力されない場合には、A信号が出力される。換言すれば、予め設定された基本間隔と、打拍信号の入力間隔(ユーザによるタップボタンの操作間隔)が一致している場合には、A信号が出力される。このA信号は、基本間隔管理部30および候補間隔管理部32の双方に出力される。
次に、このテンポ検出部16によるテンポ検出の簡単な流れについて説明する。図6は、テンポ検出部16によるテンポ検出の基本的な流れを示すフローチャートである。テンポ検出する場合は、まず、基本間隔管理部30において、基本間隔の値が設定される(S10)。この基本間隔の値設定の処理については後に詳説する。続いて、基本間隔管理部30は、設定された基本間隔に基づいて次の打拍信号の入力タイミング、換言すれば、ユーザがタップボタンを操作するタイミングを予想する。そして、得られたタイミング時に(正確には許容範囲div分だけ早めに)、基本信号を出力する(S12)。なお、この時点では、候補間隔は設定されていないため、候補間隔管理部32は、候補信号を出力しない。
次に、この出力された基本信号と、打拍信号と、の比較部34への入力タイミングが一致するか否かを判断する(S14)。この判断は、比較部34から出力される信号種類に基づいて判断できる。すなわち、打拍信号と基本信号がほぼ同じタイミングで比較部34に入力された場合、換言すれば、予め設定された基本間隔で打拍信号が入力された場合には、A信号が比較部34から出力される。比較部34からA信号が出力された場合、基本信号と打拍信号の入力タイミングが一致したと判断する。
ここで、基本信号と打拍信号の入力タイミングが一致した場合には、現在の基本間隔が、現在のBPMを表していると考えることができる。したがって、A信号出力時には、BPM算出部40が現時点での基本間隔に基づいてBPMを算出する(S26)。算出されたBPMは、BPM表示部24に出力され、表示される。BPMが算出されれば、テンポ検出部16は、再び、入力タイミング予想、基本信号出力等を行う。
一方、基本信号と打拍信号の入力タイミングが一致しなかった場合には、テンポが変更された、または、誤って打拍信号が入力されたと考えることができる。その場合には、比較部34から候補間隔管理部32に対してX信号が出力される。X信号を受信した候補間隔管理部32は、新たな基本間隔の候補である候補間隔を設定する(S16)。この候補間隔は、前回の打拍信号の入力タイミングをT0、および、今回の打拍信号タイミングをT1、候補間隔をTrとした場合、Tr=T1−T0で求めることができる。
候補間隔が設定されれば、候補間隔管理部32は、当該候補間隔に基づいて、次の打拍信号の入力タイミングを予想するとともに、当該入力タイミング時に候補信号を出力する。また、基本間隔管理部30は、現時点での基本間隔に基づいて次の打拍信号の入力タイミングを予想し、当該入力タイミングに基本信号を出力する(S18)。
続いて、この候補信号および基本信号の比較部34への入力タイミングと、打拍信号の比較部34への入力タイミングが一致するか否かを判断する(S20、S24)。この判断は、比較部34から出力される信号の種類に基づいて判断できる。すなわち、候補信号と打拍信号が、ほぼ同じタイミングで比較部34に入力された場合、換言すれば、打拍信号が候補間隔で入力された場合には、比較部34からB信号が出力される。このB信号が候補間隔管理部32に出力された場合には、候補信号と打拍信号の入力タイミングが一致したと判断する。この場合、音楽のテンポが変更され、今後も、この候補間隔で打拍信号が入力されると判断する。したがって、候補信号および打拍信号の入力タイミングが一致した場合、候補間隔管理部32は、基本間隔管理部30に対して、候補間隔を新たな基本間隔とするように基本間隔値変更を指示するとともに、現在の候補間隔の値を破棄する(S22)。当該変更指示を受けた基本間隔管理部30は、基本間隔の値を変更するとともに、変更後の値をBPM算出部40に出力する。BPM算出部40は、この新たな基本間隔に基づいてBPMを算出し、BPM表示部24に出力する(S26)。
一方、候補信号と打拍信号の入力タイミングが一致せず、かつ、基本信号と打拍信号の入力タイミングが一致した場合には、A信号が比較部34から出力される。このA信号を受けた場合には、前回の打拍信号は、誤入力と判断する。したがって、この場合には、候補間隔管理部32は、現在の候補間隔を破棄する。また、基本間隔管理部30は、現在の基本間隔の値を維持したまま、次の打拍信号の入力タイミングを予想する(S12)。BPM算出部40は、現在の基本間隔の値で、BPM算出し、BPM表示部24に出力する(S26)。
打拍信号の入力タイミングが、基本信号および候補信号のいずれの入力タイミングとも一致しなかった場合には、再度、X信号が出力される。連続して2回以上X信号が出力された場合、打拍信号の入力間隔が乱れていることになる。この場合には、テンポが変更されたのか、誤って打拍信号が入力されたのかが判断できない。したがって、この場合、候補間隔管理部32は、再度、新たな候補間隔を設定する(S16)。そして、候補間隔または基本間隔のいずれかと打拍信号の入力間隔が一致するまで、この候補間隔の再設定を繰り返す。
次に、このテンポ検出について具体例を用いて説明する。図7A〜Eは、比較部34への信号入力のタイミングチャートである。
打拍信号のn打目とn+1打目において、打拍信号の入力間隔と基本間隔t0が一致している場合、換言すれば、ユーザのタップボタンの操作テンポと基本間隔t0が一致している場合には、図6Aに図示の通り、打拍信号の出力タイミングと基本信号の出力タイミングとが一致する。このとき、比較部34からはA信号が出力される。なお、この時点では、候補間隔は未設定であるため、候補信号は出力されない。ただし、候補間隔管理部32には、A信号が出力される。候補間隔管理部32は、A信号を受信すれば、第二タイマ38を起動させ、前回A信号受信から、次の信号(A信号、または、X信号)受信までの時間を計測する。
続いて、n+2打目において、それまでと異なる間隔で打拍信号が出力されると、当然、基本信号と打拍信号とのタイミングがずれる。この場合、比較部34出力からはX信号が出力される。X信号をうけた候補間隔管理部32は、新たに候補間隔t1を設定する。候補間隔は、前回のA信号受信時から、今回のX信号受信時までの第二タイマ38経過時間から得る。そして、候補間隔管理部32は、当該候補間隔t1に応じたタイミングで候補信号を出力する。一方、基本間隔管理部30は、現時点での基本間隔t0に基づいたタイミングで基本信号の出力を行う。そして、この後、n+3打目の打拍信号がどのタイミングで出力されるかによって、検出されるテンポが異なってくる。
図7Bには、n+3打目の打拍信号と、候補信号と、の入力タイミングが一致した場合を図示している。このとき、比較部34からはB信号が出力される。つまり、比較部34からは、X信号、B信号が順に連続して出力される。X信号、B信号が順に連続して出力される場合には、打拍信号が候補間隔で連続して2回(n+2,n+3打目)出力されることになる。この場合には、タップボタンの操作テンポ、換言すれば、現在再生されている音楽のテンポが変更されたと判断し、この候補間隔t1を新たな基本間隔として設定する。また、現時点の候補間隔を破棄する。BPM算出部40は、この変更後の基本間隔(t1)に基づいてBPMを算出する。
ここで、新たなBPMが算出されるのは、n+3打目の直後である。つまり、テンポが変更されてから打拍信号が2打分(n+2,n+3打)だけ入力されれば、即座に、テンポ変更後のBPMが算出される。その結果、テンポ変更後、極めて迅速に、新たなテンポ(BPM)を得ることができる。
図7Cには、n+3打目の打拍信号と、候補信号および基本信号の入力タイミングが一致した場合を図示している。この場合は、図7Bと同様に、テンポが変更されたと認識し、候補間隔を新たな基本間隔として設定される。すなわち、n+3打目において、基本信号と打拍信号の入力タイミングが一致していたとしても、候補信号と打拍信号の入力タイミングが一致している場合、換言すれば、候補間隔t1で連続して2回(n+2打、n+3打)、打拍信号が入力された場合には、当該候補間隔t1を新たな基本間隔として設定する。そして、以降では、この新たな基本間隔に基づいてBPMを算出する。
図7Dには、n+3打目の打拍信号と候補信号の入力タイミングが一致せず、かつ、打拍信号と基本信号の入力タイミングが一致した場合を図示している。この場合、n+3打目において、比較部34からはA信号が出力される。すなわち、比較部34からはX信号(n+2打)、A信号(n+3打)が順に出力される。この場合、n+2打は、誤入力と判断し、現時点での基本間隔t0を維持する。すなわち、基本間隔管理部30は、以降も、現時点での基本間隔t0に基づいて基本信号を出力する。BPM算出部40は、この現時点での基本間隔に基づいてBPMを算出する。候補間隔管理部32は、現在の候補間隔を破棄し、再度X信号が出力されるまで、候補信号の出力を停止する。
つまり、本実施形態では、打拍信号が基本間隔と異なる間隔で1回だけ入力されたとしても、基本間隔の変更、換言すれば、BPM算出の基準値の変更を行わない。その結果、ユーザが誤って、間違ったタイミングでタップボタンを操作しても、その誤操作は、BPMの値に反映されない。したがって、誤操作の影響を受けない、より信頼性の高いBPMを認識することができる。
図7Eには、n+2打目において、打拍信号と基本信号の入力タイミングが一致しなかった後、さらに、n+3打目においても、打拍信号と候補信号および基本信号との入力タイミングが一致しない場合を図示している。この場合、再度、現在の基準間隔t0が維持されるとともに、新たな候補間隔が設定される。すなわち、n+2打目でX信号が出力されると、候補間隔としてt1が設定され、基本間隔はt0のまま維持される。続いて、n+3打目においても、X信号が出力されると、新たな候補間隔t2が設定され、基本間隔t0はそのまま維持される。そして、n+4打目において、候補信号と打拍信号が一致すれば、すなわち、n+4打目の打拍信号が図7Eにおけるaタイミングで入力されれば、当該候補間隔が新たな基本間隔として設定される。一方、n+4打目において、基本信号と打拍信号が一致すれば、すなわち、n+4打目の打拍信号が図7Eにおけるbタイミングで入力されれば、当該候補間隔は破棄されるとともに、現時点での基本間隔が維持される。n+4打目においても、なお、打拍信号と、基本信号および候補信号との入力タイミングが一致しなければ、再度、候補間隔が設定しなおされる。この間、BPMは、その時点での基本間隔に基づいて算出される。
つまり、本実施形態では、打拍信号の入力間隔が変更されても、その変更の原因がテンポ変更によるものか、誤打によるものか、が明確になるまで、BPMを変更しない。その結果、誤打の影響を受けない、信頼性のより高いBPMを得ることができる。
次に、基本間隔の初期値設定について図8を用いて説明する。図8は、打拍信号の入力直後におけるタイミングチャートの例である。基本間隔の初期値は、予め所定の値をユーザが設定するようにしてもよいし、実際に入力された打拍信号に基づいて求めるようにしてもよい。図8は、実際に入力された打拍信号に基づいて、基本間隔の初期値を求める様子を示している。
この場合、初期段階においては、基本間隔および候補間隔は、いずれも、未設定の状態である。したがって、ユーザがタップボタンを操作して、1打目の打拍信号を入力した時点では、基本信号および候補信号のいずれも出力されない。したがって、1打目の時点で、比較部34からは必ずX信号が出力される。X信号が出力されれば、候補間隔管理部32は、候補間隔の設定を試みる。しかし、1打目の打拍信号の入力直後の時点では、1打目以前の打拍信号入力履歴が無いため、候補間隔は設定できない。
したがって、2打目の打拍信号入力の時点でも、候補信号および基本信号は、未設定のままで、2打目の際にも、必ず、X信号が出力される。このX信号の出力を受けた候補間隔設定部は、再度、候補間隔の設定を試みる。この時点では、2打目の入力タイミングと、1打目の入力タイミングと、の差分に基づいて、候補間隔t0を得ることができる。したがって、候補間隔管理部32は、当該候補間隔t0に基づいて、候補信号を出力する。この候補信号と、3打目の打拍信号の入力タイミングとが一致すれば、B信号が出力される。B信号が出力されれば、現時点の候補間隔t0が、基本間隔の初期値として設定される。そして、4打目以降は、この基本間隔t0に基づいて、基本信号が出力される。
ところで、上述の説明では、分かりやすさのために、候補間隔管理部32から更新指示が無い限り、基本間隔の値を一定として説明している。しかし、実際には、基本間隔は、微小範囲で適宜、補正されている。この補正について説明する。図9は、基本間隔の値補正の様子を示すタイミングチャートである。既述したように、基本間隔管理部30は、基本間隔に基づいて次の打拍信号の入力タイミングを予想する。そして、当該予想タイミングの前後に許容範囲div分だけの余裕を持って、基本信号を出力する(図3参照)。
今、あるn打目において、打拍信号が、許容範囲divを超えない範囲で予想タイミングTより早めに入力されたとする。このとき、基本間隔管理部30は、n打目の打拍信号の入力タイミングを基準とし、現時点での基本間隔t0に基づいて、n+1打目の打拍信号の入力タイミングを予想し、当該予想タイミングTn+1に基づいて基本信号を出力する。このとき、n+1打目の打拍信号が、許容範囲divを超えない範囲で、予想タイミングTn+1より遅れて入力されたとする。このとき、基本間隔管理部30は、n打目入力からn+1打目入力までの間隔t1を基本間隔として補正する。そして、n+2打目の予想タイミングTn+2を、n+1打目の打拍信号の入力タイミングを基準として、間隔t1に基づいて予想する。n+2打目においても、予想タイミングTn+2と、実際の入力タイミングと、が許容範囲divの範囲内でずれた場合には、基本間隔の値を、(n+2打目の入力タイミング−n+1打目の入力タイミング)の値に補正する。
すなわち、実際の打拍信号の入力タイミングと、基本間隔に基づく予想タイミングと、が許容範囲divを超えない範囲でずれた場合には、常に、基本間隔の値が補正されることになる。
基本間隔管理部30は、この適宜、補正され、値変更される基本間隔の過去m回分の値を、t,tn−1,tn−2・・・tn−(m−1)して記憶している。BPM算出部40は、この過去m回分の基本間隔t,tn−1,tn−2・・・tn−(m−1)に基づいてBPMを算出する。このBPMの算出に当たっては、過去m回分の基本間隔t,tn−1,tn−2・・・tn−(m−1)の変動状況に応じて、その算出の方法を変えている。
すなわち、BPM算出部40は、BPM算出に先立って、過去m回分の基本間隔の値を比較する。そして、基本間隔が徐々に短くなる場合(t<tn−1<tn−2・・・<tn−(m−1))、あるいは、基本間隔が徐々に長くなる場合(t>tn−1>tn−2・・・>tn−(m−1))には、テンポが変化しかけていると判断する。この場合には、最新の基本間隔tに基づいて、BPMを算出する。すなわち、BPM=60/t(tの単位はsec)とする。このように、テンポ変化が予測される場合には、最新の基本間隔のみに基づいてBPMを算出することにより、最新のテンポ状態をより強く反映したBPMを得ることができる。その結果、信頼性のより高いBPMを得ることができる。
また、候補間隔に基づいて新たな基本間隔が再設定された場合も、最新の基本間隔tに基づいて、BPMを算出する。つまり、候補間隔に基づいて新たな基本間隔が再設定された場合、換言すれば、明らかなテンポ変更があった場合には、最新の基本間隔のみに基づいて、BPMを算出している。その結果、テンポ変更前の影響を受けない、より正確なBPMを得ることができる。
一方、過去m回分の基本間隔t,tn−1,tn−2・・・tn−(m−1)の変動状況が、上記のいずれにも該当しない場合には、テンポは安定していると判断し、基本間隔が変動していない過去m回分の基本間隔t,tn−1,tn−2・・・tn−(m−1)の平均値を算出し、当該平均値に基づいてBPMを算出する。すなわち、BPM=60/{(t,tn−1,tn−2・・・tn−(m−1))/m}とする。過去3回分の平均に基づいてBPMを算出することにより、ノイズや、人の不正確さ等の影響を軽減できる。なお、mは、3回以上での適度な数であることが望ましい。mを2回とした場合、(t<tn−1)あるいは(t>tn−1)なるケースが殆どであり、常に、テンポが変化しかけていると判断されてしまう。逆に、mをあまり大きい数字とすると、基本間隔が徐々に短く、または、徐々に長くなる場合が稀となり、常に、テンポが安定していると判断されてしまう。
このように、基本間隔の変動状況に応じて、BPM算出方法を変えることにより、信頼性のより高いBPMを得ることができる。
以上の説明したように、本実施形態では、テンポを示す打拍信号が、基本間隔とは異なる候補間隔で連続して2回以上入力された場合にのみテンポ変更と判断している。連続して2回以上の場合にのみテンポ変更と判断することにより、打拍信号の入力間隔の変動が、誤入力によるものか、テンポ変更によるものか、を明確に判断できる。その結果、誤入力の影響を受けることなく、正確なBPMを得ることができる。テンポ変更された場合には、迅速にテンポ変更後のBPMを得ることができる。また、本実施形態では、過去数回分の基本間隔の値変動状況、換言すれば、打拍信号の入力間隔の変動状況に応じて、BPMの算出方法を切り替えている。そのため、信頼性のより高いBPMを得ることができる。
なお、本実施形態では、テンポを示す打拍信号は、ユーザがタップボタンを手動操作することにより生成、出力されている。しかしながら、再生される音楽の音声データから自動的に打拍信号を生成、出力されるようにしてもよい。すなわち、音声データから低周波信号が出力されれば、自動的に、打拍信号を出力するようにしてもよい。この打拍信号の出力については、特許文献1に記載の技術などを応用できる。
また、本実施形態では、オーディオ装置10に搭載されたテンポ検出部16を例に説明している。しかし、テンポ検出が必要な機器であれば、当然、他の機器、例えば、電子楽器等にも当然、応用できる。
また、本実施形態では、基本間隔を候補間隔の値に更新する条件として、候補間隔での打拍信号の入力が2回連続してあることとしている。しかし、候補間隔での打拍信号の入力が連続してあるのであれば、その回数は特に制限されない。ただし、この回数をあまり多くするとテンポ変化に対する対応(基本間隔の値更新)が遅れるため、ユーザにとって問題のない程度の回数とするのが望ましい。
本発明の実施形態でオーディオ装置の概略構成を示すブロック図である。 テンポ検出部の構成を示すブロック図である。 基本信号および候補信号の許容範囲divを示す図である。 比較部の構成を示す図である。 比較部の入出力関係を示す表である。 テンポ検出の流れを示すフローチャートである。 比較部での信号入出力の一例を示すタイミングチャートである。 比較部での信号入出力の一例を示すタイミングチャートである。 比較部での信号入出力の一例を示すタイミングチャートである。 比較部での信号入出力の一例を示すタイミングチャートである。 比較部での信号入出力の一例を示すタイミングチャートである。 基本間隔の初期値設定の様子を説明するタイミングチャートである。 基本間隔の補正の様子を説明するタイミングチャートである。
符号の説明
10 オーディオ装置、12 再生部、14 操作部、16 テンポ検出部、18 表示部、20 制御部、24 BPM表示部、30 基本間隔管理部、32 候補間隔管理部、34 比較部、36,38 タイマ、40 BPM算出部。

Claims (3)

  1. 間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出装置であって、
    予め設定された基本間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第一判断手段と、
    第一判断手段により両間隔が一致しないと判断された場合における打拍信号の入力間隔を新たな基本間隔の候補である候補間隔として設定する候補間隔設定手段と、
    設定された候補間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第二判断手段と、
    第二判断手段により設定された候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する基本間隔更新手段と、
    設定されている基本間隔に基づいて打拍信号の入力テンポを算出するテンポ算出手段と、
    を備えることを特徴とするテンポ検出装置。
  2. 請求項1に記載のテンポ検出装置であって、さらに、
    前記第一判断手段により一致していると判断され得る許容範囲内で基本間隔と打拍信号の入力間隔とがずれている場合に、当該打拍信号の入力間隔に応じて基本間隔の値を補正する基本間隔補正手段を有し、
    テンポ算出手段は、
    少なくとも過去3回分以上の基本間隔の値の変更履歴を記憶する手段と、
    当該基本間隔の変更履歴に基づいて、テンポが変化しているか否かを判断するテンポ状況判断手段と、
    テンポが変化していると判断した場合には最新の基本間隔に基づいてテンポを算出し、テンポが変化していないと判断した場合には変更履歴に記憶されている複数の基本間隔の平均値に基づいてテンポを算出する算出手段と、
    を有し、
    テンポ状況判断手段は、変更履歴に記憶されている基本間隔が連続して増加または減少している場合、あるいは、候補間隔に更新されている場合には、テンポが変化していると判断する、
    ことを特徴とするテンポ検出装置。
  3. 間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出方法であって、
    予め設定された基本間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第一判断ステップと、
    第一判断ステップにより両間隔が一致しないと判断された場合における打拍信号の入力間隔を新たな基本間隔の候補である候補間隔として設定する候補間隔設定ステップと、
    設定された候補間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第二判断ステップと、
    第二判断ステップにより設定された候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する基本間隔更新ステップと、
    設定されている基本間隔に基づいて打拍信号の入力テンポを算出するテンポ算出ステップと、
    を備えることを特徴とするテンポ検出方法。
JP2005222650A 2005-08-01 2005-08-01 テンポ検出装置およびテンポ検出方法 Expired - Fee Related JP4360358B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005222650A JP4360358B2 (ja) 2005-08-01 2005-08-01 テンポ検出装置およびテンポ検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005222650A JP4360358B2 (ja) 2005-08-01 2005-08-01 テンポ検出装置およびテンポ検出方法

Publications (2)

Publication Number Publication Date
JP2007041108A JP2007041108A (ja) 2007-02-15
JP4360358B2 true JP4360358B2 (ja) 2009-11-11

Family

ID=37799170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005222650A Expired - Fee Related JP4360358B2 (ja) 2005-08-01 2005-08-01 テンポ検出装置およびテンポ検出方法

Country Status (1)

Country Link
JP (1) JP4360358B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5309459B2 (ja) * 2007-03-23 2013-10-09 ヤマハ株式会社 ビート検出装置
JP2009186591A (ja) * 2008-02-04 2009-08-20 Seiko Instruments Inc テンポ表示装置及びテンポ表示方法
WO2011105579A1 (ja) 2010-02-26 2011-09-01 シャープ株式会社 コンテンツ再生装置、テレビジョン受像機、コンテンツ再生方法、コンテンツ再生プログラム、および記録媒体
JP6372072B2 (ja) * 2013-12-09 2018-08-15 ヤマハ株式会社 音響信号分析装置、音響信号分析方法、及び音響信号分析プログラム
KR101560797B1 (ko) 2013-12-27 2015-10-15 김명구 손쉬운 코드 설정 시스템 및 방법

Also Published As

Publication number Publication date
JP2007041108A (ja) 2007-02-15

Similar Documents

Publication Publication Date Title
US8723011B2 (en) Musical sound generation instrument and computer readable medium
JP4747847B2 (ja) 演奏情報発生装置およびプログラム
US12198660B2 (en) Video processing device and video processing method
JP4360358B2 (ja) テンポ検出装置およびテンポ検出方法
JP4659681B2 (ja) コンテンツタグ付け支援装置およびコンテンツタグ付け支援方法
JP5309459B2 (ja) ビート検出装置
JP2009244707A (ja) 音域判定システムおよびプログラム
US7233200B2 (en) AGC circuit, AGC circuit gain control method, and program for the AGC circuit gain control method
JP4891135B2 (ja) 評価装置
US11557270B2 (en) Performance analysis method and performance analysis device
CN101025983A (zh) 缓冲控制系统及方法
JP2000267655A (ja) リズムの同期方法
JP3259602B2 (ja) 自動演奏装置
JP5162754B2 (ja) 演奏開始装置および演奏開始プログラム
JP4214606B2 (ja) テンポ算出方法及びテンポ算出装置
US20250373936A1 (en) Information processing device, information processing method, and storage medium
JP2006268936A (ja) オーディオ信号再生装置
WO2025011233A1 (zh) 数据处理方法、装置、电子设备和存储介质
JPH0620390A (ja) 同期パターン検出装置
JP2005204265A (ja) 時計装置及び番組記録装置
CN102132346B (zh) 利用可适配信号再现速率的信号处理装置和方法
JP2606501B2 (ja) 自動演奏機能付電子楽器
JP5162887B2 (ja) 電子音楽装置およびその制御方法を実現するためのプログラム
JP2009300622A (ja) 演奏開始時刻予想装置
JPH0687199B2 (ja) テンポ表示装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090611

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4360358

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130821

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees