(57)【要約】【課題】正確なテンポを迅速に検出する。【解決手段】音楽の拍子に応じて入力された打拍信号に基づいて当該音楽のＢＰＭを検出する場合は、まず、基本間隔を設定する（Ｓ１０）。続いて、当該基本間隔に基づいて、次の打拍信号の入力タイミングを予想する（Ｓ１２）。予想された予想タイミングと実際の打拍信号の入力タイミングとが一致する場合は基本間隔に基づいてＢＰＭを算出する（Ｓ２６）。一致しない場合には、その際の打拍信号の入力間隔に基づいて候補間隔を設定するとともに、当該候補間隔に基づいて次の入力タイミングを予想する（Ｓ１６，Ｓ１８）。その入力タイミングと次の打拍信号入力タイミングとが一致すれば、候補間隔を新たな基本間隔としてＢＰＭを算出する（Ｓ２２，Ｓ２６）。一致しない場合には、基本間隔の値を変更することなく、現在の基本間隔の値でＢＰＭを算出する（Ｓ２４，Ｓ２６）。【選択図】図６
2007041108.tif 000002
【特許請求の範囲】
【請求項１】
間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出装置であって、
予め設定された基本間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第一判断手段と、
第一判断手段により両間隔が一致しないと判断された場合における打拍信号の入力間隔を新たな基本間隔の候補である候補間隔として設定する候補間隔設定手段と、
設定された候補間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第二判断手段と、
第二判断手段により設定された候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する基本間隔更新手段と、
設定されている基本間隔に基づいて打拍信号の入力テンポを算出するテンポ算出手段と、
を備えることを特徴とするテンポ検出装置。
【請求項２】
請求項１に記載のテンポ検出装置であって、さらに、
前記第一判断手段により一致していると判断され得る許容範囲内で基本間隔と打拍信号の入力間隔とがずれている場合に、当該打拍信号の入力間隔に応じて基本間隔の値を補正する基本間隔補正手段を有し、
テンポ算出手段は、
少なくとも過去３回分以上の基本間隔の値の変更履歴を記憶する手段と、
当該基本間隔の変更履歴に基づいて、テンポが変化しているか否かを判断するテンポ状況判断手段と、
テンポが変化していると判断した場合には最新の基本間隔に基づいてテンポを算出し、テンポが変化していないと判断した場合には変更履歴に記憶されている複数の基本間隔の平均値に基づいてテンポを算出する算出手段と、
を有することを特徴とするテンポ検出装置。
【請求項３】
請求項２に記載のテンポ検出装置であって、
テンポ状況判断手段は、変更履歴に記憶されている基本間隔が連続して増加または減少している場合、あるいは、候補間隔に更新されている場合には、テンポが変化していると判断することを特徴とするテンポ検出装置。
【請求項４】
間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出方法であって、
予め設定された基本間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第一判断ステップと、
第一判断ステップにより両間隔が一致しないと判断された場合における打拍信号の入力間隔を新たな基本間隔の候補である候補間隔として設定する候補間隔設定ステップと、
設定された候補間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第二判断ステップと、
第二判断ステップにより設定された候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する基本間隔更新ステップと、
設定されている基本間隔に基づいて打拍信号の入力テンポを算出するテンポ算出ステップと、
を備えることを特徴とするテンポ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出装置およびテンポ検出方法に関する。
【背景技術】
【０００２】
従来から音楽の拍子を示す信号である打拍信号等、間欠的に入力される信号の入力テンポを検出し、ユーザに提示するテンポ検出装置が知られている（例えば、特許文献１〜３など）。かかるテンポ検出装置は、記録媒体に記録された音楽を再生するオーディオ装置や、ユーザにより演奏される電子楽器などに搭載され、ユーザの音楽の楽しみの幅を広げている。
【０００３】
例えば、近年、ディスコ等では、ＤＪと呼ばれる演出者が、ダンス中の踊り客の雰囲気を機敏に感じ取り、踊り客にとって乗りのよいテンポの音楽を間断無く提供することにより、ダンス中の演出効果を高めるようにしている。このとき、ＤＪは、音楽のテンポが急に変化しないように、オーディオ装置を用いて再生されている音楽、あるいは、これから再生しようとする音楽のテンポを正確に把握しておく必要がある。この場合、オーディオ装置に搭載されたテンポ検出装置は、再生されている音楽データから自動的に検出され入力される打拍信号、または、音楽のテンポに応じてユーザが手動入力する打拍信号に基づいて、当該音楽のテンポを検出する。
【０００４】
【特許文献１】特開２００１−２４３６９２号公報
【特許文献２】特開２０００−４７６６４号公報
【特許文献３】特開平８−１７９７７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、テンポ検出装置に入力される打拍信号の入力間隔は一定ではなく、変化することがある。例えば、テンポ検出対象である音楽のテンポが変化すれば、当該音楽のテンポに応じて入力される打拍信号の入力間隔も当然変化する。また、ユーザの誤操作やノイズ等が原因で不要な打拍信号が誤入力されることにより、入力間隔が変化する場合もある。入力間隔の変化がテンポ変化に起因する場合は、その入力間隔の変化からテンポ変化後のテンポを迅速に検出し、ユーザに提示する必要がある。一方、入力間隔の変化が誤入力に起因する場合には、その入力間隔の変化は無視して、テンポを検出する必要がある。
【０００６】
しかし、通常、テンポ検出装置では、入力間隔の変化が、テンポ変化によるものか、誤入力によるものか、を判断し難いという問題がある。その結果、誤入力の影響を受けた不正確なテンポが検出されることがあった。そこで、この誤入力の影響を低減するために、過去数回分の打拍信号の入力間隔の移動平均値に基づいて、テンポを算出する方法が提案されている。この移動平均値に基づくテンポ算出であれば、一回の誤入力の影響が低減できる。しかし、その一方で、移動平均値は、常に遅れを含むことになるため、テンポ変化が生じた場合に、迅速に対応できないという問題が生じる。つまり、従来の方法では、誤入力の影響を受けない正確なテンポを迅速に算出できなかった。
【０００７】
そこで、本発明では、正確なテンポを迅速に検出でき得るテンポ検出装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のテンポ検出装置は、間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出装置であって、予め設定された基本間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第一判断手段と、第一判断手段により両間隔が一致しないと判断された場合における打拍信号の入力間隔を新たな基本間隔の候補である候補間隔として設定する候補間隔設定手段と、設定された候補間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第二判断手段と、第二判断手段により設定された候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する基本間隔更新手段と、設定されている基本間隔に基づいて打拍信号の入力テンポを算出するテンポ算出手段と、を備えることを特徴とする。
【０００９】
好適な態様では、さらに、前記第一判断手段により一致していると判断され得る許容範囲内で基本間隔と打拍信号の入力間隔とがずれている場合に、当該打拍信号の入力間隔に応じて基本間隔の値を補正する基本間隔補正手段を有し、テンポ算出手段は、少なくとも過去３回分以上の基本間隔の値の変更履歴を記憶する手段と、当該基本間隔の変更履歴に基づいて、テンポが変化しているか否かを判断するテンポ状況判断手段と、テンポが変化していると判断した場合には最新の基本間隔に基づいてテンポを算出し、テンポが変化していないと判断した場合には変更履歴に記憶されている複数の基本間隔の平均値に基づいてテンポを算出する算出手段と、を有する。テンポ状況判断手段は、変更履歴に記憶されている基本間隔が連続して増加または減少している場合、あるいは、候補間隔に更新されている場合には、テンポが変化していると判断することが望ましい。
【００１０】
他の本発明であるテンポ検出方法は、間欠的に入力される打拍信号に基づいて当該打拍信号の入力テンポを検出するテンポ検出方法であって、予め設定された基本間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第一判断ステップと、第一判断ステップにより両間隔が一致しないと判断された場合における打拍信号の入力間隔を新たな基本間隔の候補である候補間隔として設定する候補間隔設定ステップと、設定された候補間隔と打拍信号の入力間隔とが所定の許容範囲内で一致するか否かを判断する第二判断ステップと、第二判断ステップにより設定された候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する基本間隔更新ステップと、設定されている基本間隔に基づいて打拍信号の入力テンポを算出するテンポ算出ステップと、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、候補間隔で打拍信号が入力されたと判断された場合に、当該候補間隔を新たな基本間隔として設定する。したがって、単発的に生じる誤入力は無視される一方で、迅速にテンポ変化に対応できる。その結果、正確なテンポを迅速に検出することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について図面を参照して説明する。図１は、本発明の実施形態であるオーディオ装置１０の概略構成図である。このオーディオ装置１０は、記録媒体に記録された音楽を再生することができる。また、このオーディオ装置１０は、再生された音楽に応じてユーザが入力した打拍信号に基づいて、当該音楽のテンポを検出し、表示するテンポ表示機能を備えている。
【００１３】
再生部１２は、記憶媒体、例えば、光ディスクや磁気ディスク、磁気テープなどに記憶されている音楽データを読み込み、当該音楽データに応じた音を出力する。この再生部１２の構成は、種々の周知の構成を用いることができる。
【００１４】
操作部１４は、当該オーディオ装置１０を操作するための各種操作子が設けられている。この操作子の中には、再生されている音楽のテンポに応じて、ユーザが操作するタップボタンも設けられている。音楽のテンポを検出、表示させたい場合、ユーザは、当該タップボタンを音楽のテンポに応じて操作する。タップボタンが操作されると、打拍信号がテンポ検出部１６へと出力される。
【００１５】
テンポ検出手段は、打拍信号の出力間隔に基づいて、当該音楽のテンポを算出する。ここで、算出されるテンポの形式としては、１分あたりの拍子数、いわゆる、ＢＰＭ（ビート・パー・ミニッツ）である。このテンポ検出部１６は、後に詳説するように２種類の打拍間隔を管理している。一つは現時点での打拍間隔である基本間隔、一つは新たな基本間隔の候補である候補間隔である。この二つの間隔については後に詳説する。
【００１６】
テンポ検出手段で検出されたテンポは、表示部１８に設けられたＢＰＭ表示部２４に表示される。この表示の形式としては、現時点でのＢＰＭのみを表示してもよいし、ＢＰＭの遷移をグラフ形式で表示してもよい。
【００１７】
制御部２０は、ユーザからの指示に応じて、各部を制御する。ユーザからの指示は、既述の操作部１４を介して入力される。制御部２０は、この指示に応じて、再生部１２に対する音楽データの再生、停止指示や、テンポ検出部１６に対するテンポ検出の開始、終了などを指示する。
【００１８】
図２は、テンポ検出部１６のより詳細なブロック図である。このテンポ検出部１６は、基本間隔管理部３０、候補間隔管理部３２、比較部３４、ＢＰＭ算出部４０、および、互いに独立した二つのタイマ３６，３８を備えている。基本間隔管理部３０は、現時点での打拍間隔（打拍信号の入力間隔）である基本間隔を管理している。この基本間隔は、それ以前に入力された打拍信号の入力間隔に基づいて設定される。この基本間隔は、後述する候補間隔管理部３２から更新指示が出されない限り、一定の値が保持される。基本間隔管理部３０は、この基本間隔に基づいて次の打拍信号の入力タイミングを予想するとともに、当該タイミングに合わせて基本信号を比較部３４に出力する。
【００１９】
ここで、テンポ検出対象である音楽は人により演奏されており、また、テンポ検出のためのタップボタンの操作も人によりなされている。つまり、人によりテンポが形成、検出されている。そのため、例え、テンポに大きな変更が無くても、テンポを示す打拍信号の入力間隔は、多少の変動をせざるを得ない。この変動を許容するために、基本間隔管理部３０では、予め、許容範囲ｄｉｖが設定されている。そして、基本信号は、図３に図示する通り、予想タイミングｔより許容範囲ｄｉｖだけ早めに出力され、予想タイミングｔから許容範囲ｄｉｖだけ経過した後に出力停止される。
【００２０】
候補間隔管理部３２は、新たな基本間隔の候補である候補間隔を管理する。この候補間隔は、基本間隔と、打拍信号の入力間隔と、が一致しなかった場合に設定される。具体的には、基本間隔と異なる間隔で打拍信号が入力された場合、当該異なる間隔が、候補間隔として設定される。候補間隔管理部３２は、この候補間隔に基づいて、次の打拍信号の入力タイミングを予想するとともに、当該タイミングに合わせて候補信号を比較部３４に出力する。また、２回連続して候補間隔で打拍信号が入力された場合には、当該候補間隔を新たな基本間隔に設定するように、基本間隔管理部３０に更新指示を出力する。この候補間隔管理部３２においても、許容範囲ｄｉｖが設定されており、候補信号は予想タイミングより前後ｄｉｖ分だけ余分に出力される。
【００２１】
比較部３４は、タップボタンの操作に応じて入力される打拍信号、基本間隔管理部３０から入力される基本信号、候補間隔管理部３２から入力される候補信号の入力タイミングを比較し、その比較結果に応じた比較結果信号を出力する。基本間隔管理部３０および候補間隔管理部３２は、この比較部３４から出力される比較結果信号に基づいて、打拍間隔と基本間隔、または、打拍間隔と候補間隔との一致、不一致を判断し、現在の基本間隔または候補間隔を維持または更新する。
【００２２】
第一タイマ３６は、基本間隔管理部３０が使用するタイマである。この第一タイマ３６は、基本間隔管理部３０からの指示に応じて、時間管理する。そして、必要に応じて、基本間隔管理部３０に経過時間の値を通知したり、所定時間経過時にアラームを通知したりする。第二タイマ３８は、候補間隔管理部３２が使用するタイマで、候補間隔管理部３２からの指示に応じて、時間管理や経過時間等の通知を行う。
【００２３】
ＢＰＭ算出部４０は、基本間隔管理部３０で管理されている基本間隔に基づいてＢＰＭを算出し、表示部１８に出力する。このＢＰＭ算出部４０は、基本間隔の変更履歴に応じて、ＢＰＭ算出の方法を切り替える。この切り替えについては後に詳説する。
【００２４】
次に、比較部３４の詳細な構成について説明する。図４は比較部３４の構成の一例を示す図である。図４に示す通り、比較部３４は、複数のＡＮＤ回路、および、ＮＯＲ回路からなる。この比較部３４には、入力信号として、基本信号、候補信号、打拍信号が入力される。また、出力信号としては、Ａ信号、Ｂ信号、Ｘ信号の３種類が出力される。３種類の出力信号のうち、Ａ信号は、基本間隔管理部３０および候補間隔管理部３２の双方に出力される（図２参照）。一方、Ｂ信号およびＸ信号は、候補間隔管理部３２にのみ出力される。
【００２５】
図５は、この比較部３４の入出力関係を示す表であり、上３行は入力信号（打拍信号、基本信号、候補信号）の状態を、下３行は出力信号（Ａ信号、Ｂ信号、Ｘ信号）の状態を示している。図５において、「Ｈ」は信号「Ｈｉｇｈ」状態、すなわち、信号が出力されていることを示している。「Ｌ」は信号が「Ｌｏｗ」状態、すなわち、信号が出力されていないことを示している。さらに、「×」は、「Ｌｏｗ」状態、「Ｈｉｇｈ」状態のいずれでもよいことを示している。
【００２６】
図５の表から分かる通り、打拍信号が「Ｌｏｗ」状態、すなわち、打拍信号が入力されていない状態では、基本信号、候補信号の状態に関わらず、Ａ信号、Ｂ信号、Ｘ信号のいずれの信号も出力されない。
【００２７】
一方、打拍信号のみが入力され、基本信号、候補信号が入力されていない状態では、Ｘ信号のみが出力される。ここで、打拍信号は、ユーザがタップボタンを操作することにより出力される信号である。一方、基本信号は、予め設定された基本間隔に基づいて予想される打拍信号の入力タイミングに出力される信号である。また、候補信号は、新たな基本間隔の候補である候補間隔に基づいて予想される入力タイミングに出力される信号である。この基本信号および候補信号が入力されず、かつ、打拍信号のみが入力されるということは、すなわち、今までに無い、全く新しい間隔で打拍信号が入力されたことを意味する。この場合は、Ｘ信号が出力される。このＸ信号は、候補間隔管理部３２にのみ出力される。
【００２８】
打拍信号および候補信号が同時に入力された場合には、基本信号の入力の有無に関わらず、Ｂ信号が出力される。換言すれば、新たな基本間隔の候補である候補間隔と、打拍信号の入力間隔とが一致した場合には、Ｂ信号が出力される。このＢ信号は、候補間隔管理部３２にのみ出力される。
【００２９】
打拍信号および基本信号が同時に入力され、かつ、候補信号が入力されない場合には、Ａ信号が出力される。換言すれば、予め設定された基本間隔と、打拍信号の入力間隔（ユーザによるタップボタンの操作間隔）が一致している場合には、Ａ信号が出力される。このＡ信号は、基本間隔管理部３０および候補間隔管理部３２の双方に出力される。
【００３０】
次に、このテンポ検出部１６によるテンポ検出の簡単な流れについて説明する。図６は、テンポ検出部１６によるテンポ検出の基本的な流れを示すフローチャートである。テンポ検出する場合は、まず、基本間隔管理部３０において、基本間隔の値が設定される（Ｓ１０）。この基本間隔の値設定の処理については後に詳説する。続いて、基本間隔管理部３０は、設定された基本間隔に基づいて次の打拍信号の入力タイミング、換言すれば、ユーザがタップボタンを操作するタイミングを予想する。そして、得られたタイミング時に（正確には許容範囲ｄｉｖ分だけ早めに）、基本信号を出力する（Ｓ１２）。なお、この時点では、候補間隔は設定されていないため、候補間隔管理部３２は、候補信号を出力しない。
【００３１】
次に、この出力された基本信号と、打拍信号と、の比較部３４への入力タイミングが一致するか否かを判断する（Ｓ１４）。この判断は、比較部３４から出力される信号種類に基づいて判断できる。すなわち、打拍信号と基本信号がほぼ同じタイミングで比較部３４に入力された場合、換言すれば、予め設定された基本間隔で打拍信号が入力された場合には、Ａ信号が比較部３４から出力される。比較部３４からＡ信号が出力された場合、基本信号と打拍信号の入力タイミングが一致したと判断する。
【００３２】
ここで、基本信号と打拍信号の入力タイミングが一致した場合には、現在の基本間隔が、現在のＢＰＭを表していると考えることができる。したがって、Ａ信号出力時には、ＢＰＭ算出部４０が現時点での基本間隔に基づいてＢＰＭを算出する（Ｓ２６）。算出されたＢＰＭは、ＢＰＭ表示部２４に出力され、表示される。ＢＰＭが算出されれば、テンポ検出部１６は、再び、入力タイミング予想、基本信号出力等を行う。
【００３３】
一方、基本信号と打拍信号の入力タイミングが一致しなかった場合には、テンポが変更された、または、誤って打拍信号が入力されたと考えることができる。その場合には、比較部３４から候補間隔管理部３２に対してＸ信号が出力される。Ｘ信号を受信した候補間隔管理部３２は、新たな基本間隔の候補である候補間隔を設定する（Ｓ１６）。この候補間隔は、前回の打拍信号の入力タイミングをＴ０、および、今回の打拍信号タイミングをＴ１、候補間隔をＴｒとした場合、Ｔｒ＝Ｔ１−Ｔ０で求めることができる。
【００３４】
候補間隔が設定されれば、候補間隔管理部３２は、当該候補間隔に基づいて、次の打拍信号の入力タイミングを予想するとともに、当該入力タイミング時に候補信号を出力する。また、基本間隔管理部３０は、現時点での基本間隔に基づいて次の打拍信号の入力タイミングを予想し、当該入力タイミングに基本信号を出力する（Ｓ１８）。
【００３５】
続いて、この候補信号および基本信号の比較部３４への入力タイミングと、打拍信号の比較部３４への入力タイミングが一致するか否かを判断する（Ｓ２０、Ｓ２４）。この判断は、比較部３４から出力される信号の種類に基づいて判断できる。すなわち、候補信号と打拍信号が、ほぼ同じタイミングで比較部３４に入力された場合、換言すれば、打拍信号が候補間隔で入力された場合には、比較部３４からＢ信号が出力される。このＢ信号が候補間隔管理部３２に出力された場合には、候補信号と打拍信号の入力タイミングが一致したと判断する。この場合、音楽のテンポが変更され、今後も、この候補間隔で打拍信号が入力されると判断する。したがって、候補信号および打拍信号の入力タイミングが一致した場合、候補間隔管理部３２は、基本間隔管理部３０に対して、候補間隔を新たな基本間隔とするように基本間隔値変更を指示するとともに、現在の候補間隔の値を破棄する（Ｓ２２）。当該変更指示を受けた基本間隔管理部３０は、基本間隔の値を変更するとともに、変更後の値をＢＰＭ算出部４０に出力する。ＢＰＭ算出部４０は、この新たな基本間隔に基づいてＢＰＭを算出し、ＢＰＭ表示部２４に出力する（Ｓ２６）。
【００３６】
一方、候補信号と打拍信号の入力タイミングが一致せず、かつ、基本信号と打拍信号の入力タイミングが一致した場合には、Ａ信号が比較部３４から出力される。このＡ信号を受けた場合には、前回の打拍信号は、誤入力と判断する。したがって、この場合には、候補間隔管理部３２は、現在の候補間隔を破棄する。また、基本間隔管理部３０は、現在の基本間隔の値を維持したまま、次の打拍信号の入力タイミングを予想する（Ｓ１２）。ＢＰＭ算出部４０は、現在の基本間隔の値で、ＢＰＭ算出し、ＢＰＭ表示部２４に出力する（Ｓ２６）。
【００３７】
打拍信号の入力タイミングが、基本信号および候補信号のいずれの入力タイミングとも一致しなかった場合には、再度、Ｘ信号が出力される。連続して２回以上Ｘ信号が出力された場合、打拍信号の入力間隔が乱れていることになる。この場合には、テンポが変更されたのか、誤って打拍信号が入力されたのかが判断できない。したがって、この場合、候補間隔管理部３２は、再度、新たな候補間隔を設定する（Ｓ１６）。そして、候補間隔または基本間隔のいずれかと打拍信号の入力間隔が一致するまで、この候補間隔の再設定を繰り返す。
【００３８】
次に、このテンポ検出について具体例を用いて説明する。図７Ａ〜Ｅは、比較部３４への信号入力のタイミングチャートである。
【００３９】
打拍信号のｎ打目とｎ＋１打目において、打拍信号の入力間隔と基本間隔ｔ０が一致している場合、換言すれば、ユーザのタップボタンの操作テンポと基本間隔ｔ０が一致している場合には、図６Ａに図示の通り、打拍信号の出力タイミングと基本信号の出力タイミングとが一致する。このとき、比較部３４からはＡ信号が出力される。なお、この時点では、候補間隔は未設定であるため、候補信号は出力されない。ただし、候補間隔管理部３２には、Ａ信号が出力される。候補間隔管理部３２は、Ａ信号を受信すれば、第二タイマ３８を起動させ、前回Ａ信号受信から、次の信号（Ａ信号、または、Ｘ信号）受信までの時間を計測する。
【００４０】
続いて、ｎ＋２打目において、それまでと異なる間隔で打拍信号が出力されると、当然、基本信号と打拍信号とのタイミングがずれる。この場合、比較部３４出力からはＸ信号が出力される。Ｘ信号をうけた候補間隔管理部３２は、新たに候補間隔ｔ１を設定する。候補間隔は、前回のＡ信号受信時から、今回のＸ信号受信時までの第二タイマ３８経過時間から得る。そして、候補間隔管理部３２は、当該候補間隔ｔ１に応じたタイミングで候補信号を出力する。一方、基本間隔管理部３０は、現時点での基本間隔ｔ０に基づいたタイミングで基本信号の出力を行う。そして、この後、ｎ＋３打目の打拍信号がどのタイミングで出力されるかによって、検出されるテンポが異なってくる。
【００４１】
図７Ｂには、ｎ＋３打目の打拍信号と、候補信号と、の入力タイミングが一致した場合を図示している。このとき、比較部３４からはＢ信号が出力される。つまり、比較部３４からは、Ｘ信号、Ｂ信号が順に連続して出力される。Ｘ信号、Ｂ信号が順に連続して出力される場合には、打拍信号が候補間隔で連続して２回（ｎ＋２，ｎ＋３打目）出力されることになる。この場合には、タップボタンの操作テンポ、換言すれば、現在再生されている音楽のテンポが変更されたと判断し、この候補間隔ｔ１を新たな基本間隔として設定する。また、現時点の候補間隔を破棄する。ＢＰＭ算出部４０は、この変更後の基本間隔（ｔ１）に基づいてＢＰＭを算出する。
【００４２】
ここで、新たなＢＰＭが算出されるのは、ｎ＋３打目の直後である。つまり、テンポが変更されてから打拍信号が２打分（ｎ＋２，ｎ＋３打）だけ入力されれば、即座に、テンポ変更後のＢＰＭが算出される。その結果、テンポ変更後、極めて迅速に、新たなテンポ（ＢＰＭ）を得ることができる。
【００４３】
図７Ｃには、ｎ＋３打目の打拍信号と、候補信号および基本信号の入力タイミングが一致した場合を図示している。この場合は、図７Ｂと同様に、テンポが変更されたと認識し、候補間隔を新たな基本間隔として設定される。すなわち、ｎ＋３打目において、基本信号と打拍信号の入力タイミングが一致していたとしても、候補信号と打拍信号の入力タイミングが一致している場合、換言すれば、候補間隔ｔ１で連続して２回（ｎ＋２打、ｎ＋３打）、打拍信号が入力された場合には、当該候補間隔ｔ１を新たな基本間隔として設定する。そして、以降では、この新たな基本間隔に基づいてＢＰＭを算出する。
【００４４】
図７Ｄには、ｎ＋３打目の打拍信号と候補信号の入力タイミングが一致せず、かつ、打拍信号と基本信号の入力タイミングが一致した場合を図示している。この場合、ｎ＋３打目において、比較部３４からはＡ信号が出力される。すなわち、比較部３４からはＸ信号（ｎ＋２打）、Ａ信号（ｎ＋３打）が順に出力される。この場合、ｎ＋２打は、誤入力と判断し、現時点での基本間隔ｔ０を維持する。すなわち、基本間隔管理部３０は、以降も、現時点での基本間隔ｔ０に基づいて基本信号を出力する。ＢＰＭ算出部４０は、この現時点での基本間隔に基づいてＢＰＭを算出する。候補間隔管理部３２は、現在の候補間隔を破棄し、再度Ｘ信号が出力されるまで、候補信号の出力を停止する。
【００４５】
つまり、本実施形態では、打拍信号が基本間隔と異なる間隔で１回だけ入力されたとしても、基本間隔の変更、換言すれば、ＢＰＭ算出の基準値の変更を行わない。その結果、ユーザが誤って、間違ったタイミングでタップボタンを操作しても、その誤操作は、ＢＰＭの値に反映されない。したがって、誤操作の影響を受けない、より信頼性の高いＢＰＭを認識することができる。
【００４６】
図７Ｅには、ｎ＋２打目において、打拍信号と基本信号の入力タイミングが一致しなかった後、さらに、ｎ＋３打目においても、打拍信号と候補信号および基本信号との入力タイミングが一致しない場合を図示している。この場合、再度、現在の基準間隔ｔ０が維持されるとともに、新たな候補間隔が設定される。すなわち、ｎ＋２打目でＸ信号が出力されると、候補間隔としてｔ１が設定され、基本間隔はｔ０のまま維持される。続いて、ｎ+３打目においても、Ｘ信号が出力されると、新たな候補間隔ｔ２が設定され、基本間隔ｔ０はそのまま維持される。そして、ｎ＋４打目において、候補信号と打拍信号が一致すれば、すなわち、ｎ＋４打目の打拍信号が図７Ｅにおけるａタイミングで入力されれば、当該候補間隔が新たな基本間隔として設定される。一方、ｎ＋４打目において、基本信号と打拍信号が一致すれば、すなわち、ｎ＋４打目の打拍信号が図７Ｅにおけるｂタイミングで入力されれば、当該候補間隔は破棄されるとともに、現時点での基本間隔が維持される。ｎ＋４打目においても、なお、打拍信号と、基本信号および候補信号との入力タイミングが一致しなければ、再度、候補間隔が設定しなおされる。この間、ＢＰＭは、その時点での基本間隔に基づいて算出される。
【００４７】
つまり、本実施形態では、打拍信号の入力間隔が変更されても、その変更の原因がテンポ変更によるものか、誤打によるものか、が明確になるまで、ＢＰＭを変更しない。その結果、誤打の影響を受けない、信頼性のより高いＢＰＭを得ることができる。
【００４８】
次に、基本間隔の初期値設定について図８を用いて説明する。図８は、打拍信号の入力直後におけるタイミングチャートの例である。基本間隔の初期値は、予め所定の値をユーザが設定するようにしてもよいし、実際に入力された打拍信号に基づいて求めるようにしてもよい。図８は、実際に入力された打拍信号に基づいて、基本間隔の初期値を求める様子を示している。
【００４９】
この場合、初期段階においては、基本間隔および候補間隔は、いずれも、未設定の状態である。したがって、ユーザがタップボタンを操作して、１打目の打拍信号を入力した時点では、基本信号および候補信号のいずれも出力されない。したがって、１打目の時点で、比較部３４からは必ずＸ信号が出力される。Ｘ信号が出力されれば、候補間隔管理部３２は、候補間隔の設定を試みる。しかし、１打目の打拍信号の入力直後の時点では、１打目以前の打拍信号入力履歴が無いため、候補間隔は設定できない。
【００５０】
したがって、２打目の打拍信号入力の時点でも、候補信号および基本信号は、未設定のままで、２打目の際にも、必ず、Ｘ信号が出力される。このＸ信号の出力を受けた候補間隔設定部は、再度、候補間隔の設定を試みる。この時点では、２打目の入力タイミングと、１打目の入力タイミングと、の差分に基づいて、候補間隔ｔ０を得ることができる。したがって、候補間隔管理部３２は、当該候補間隔ｔ０に基づいて、候補信号を出力する。この候補信号と、３打目の打拍信号の入力タイミングとが一致すれば、Ｂ信号が出力される。Ｂ信号が出力されれば、現時点の候補間隔ｔ０が、基本間隔の初期値として設定される。そして、４打目以降は、この基本間隔ｔ０に基づいて、基本信号が出力される。
【００５１】
ところで、上述の説明では、分かりやすさのために、候補間隔管理部３２から更新指示が無い限り、基本間隔の値を一定として説明している。しかし、実際には、基本間隔は、微小範囲で適宜、補正されている。この補正について説明する。図９は、基本間隔の値補正の様子を示すタイミングチャートである。既述したように、基本間隔管理部３０は、基本間隔に基づいて次の打拍信号の入力タイミングを予想する。そして、当該予想タイミングの前後に許容範囲ｄｉｖ分だけの余裕を持って、基本信号を出力する（図３参照）。
【００５２】
今、あるｎ打目において、打拍信号が、許容範囲ｄｉｖを超えない範囲で予想タイミングＴｎより早めに入力されたとする。このとき、基本間隔管理部３０は、ｎ打目の打拍信号の入力タイミングを基準とし、現時点での基本間隔ｔ０に基づいて、ｎ＋１打目の打拍信号の入力タイミングを予想し、当該予想タイミングＴｎ＋１に基づいて基本信号を出力する。このとき、ｎ＋１打目の打拍信号が、許容範囲ｄｉｖを超えない範囲で、予想タイミングＴｎ＋１より遅れて入力されたとする。このとき、基本間隔管理部３０は、ｎ打目入力からｎ＋１打目入力までの間隔ｔ１を基本間隔として補正する。そして、ｎ＋２打目の予想タイミングＴｎ＋２を、ｎ＋１打目の打拍信号の入力タイミングを基準として、間隔ｔ１に基づいて予想する。ｎ＋２打目においても、予想タイミングＴｎ＋２と、実際の入力タイミングと、が許容範囲ｄｉｖの範囲内でずれた場合には、基本間隔の値を、（ｎ＋２打目の入力タイミング−ｎ＋１打目の入力タイミング）の値に補正する。
【００５３】
すなわち、実際の打拍信号の入力タイミングと、基本間隔に基づく予想タイミングと、が許容範囲ｄｉｖを超えない範囲でずれた場合には、常に、基本間隔の値が補正されることになる。
【００５４】
基本間隔管理部３０は、この適宜、補正され、値変更される基本間隔の過去ｍ回分の値を、ｔｎ，ｔｎ−１，ｔｎ−２・・・ｔｎ−（ｍ−１）して記憶している。ＢＰＭ算出部４０は、この過去ｍ回分の基本間隔ｔｎ，ｔｎ−１，ｔｎ−２・・・ｔｎ−（ｍ−１）に基づいてＢＰＭを算出する。このＢＰＭの算出に当たっては、過去ｍ回分の基本間隔ｔｎ，ｔｎ−１，ｔｎ−２・・・ｔｎ−（ｍ−１）の変動状況に応じて、その算出の方法を変えている。
【００５５】
すなわち、ＢＰＭ算出部４０は、ＢＰＭ算出に先立って、過去ｍ回分の基本間隔の値を比較する。そして、基本間隔が徐々に短くなる場合（ｔｎ＜ｔｎ−１＜ｔｎ−２・・・＜ｔｎ−（ｍ−１））、あるいは、基本間隔が徐々に長くなる場合（ｔｎ＞ｔｎ−１＞ｔｎ−２・・・＞ｔｎ−（ｍ−１））には、テンポが変化しかけていると判断する。この場合には、最新の基本間隔ｔｎに基づいて、ＢＰＭを算出する。すなわち、ＢＰＭ＝６０／ｔｎ（ｔｎの単位はｓｅｃ）とする。このように、テンポ変化が予測される場合には、最新の基本間隔のみに基づいてＢＰＭを算出することにより、最新のテンポ状態をより強く反映したＢＰＭを得ることができる。その結果、信頼性のより高いＢＰＭを得ることができる。
【００５６】
また、候補間隔に基づいて新たな基本間隔が再設定された場合も、最新の基本間隔ｔｎに基づいて、ＢＰＭを算出する。つまり、候補間隔に基づいて新たな基本間隔が再設定された場合、換言すれば、明らかなテンポ変更があった場合には、最新の基本間隔のみに基づいて、ＢＰＭを算出している。その結果、テンポ変更前の影響を受けない、より正確なＢＰＭを得ることができる。
【００５７】
一方、過去ｍ回分の基本間隔ｔｎ，ｔｎ−１，ｔｎ−２・・・ｔｎ−（ｍ−１）の変動状況が、上記のいずれにも該当しない場合には、テンポは安定していると判断し、基本間隔が変動していない過去ｍ回分の基本間隔ｔｎ，ｔｎ−１，ｔｎ−２・・・ｔｎ−（ｍ−１）の平均値を算出し、当該平均値に基づいてＢＰＭを算出する。すなわち、ＢＰＭ＝６０／｛（ｔｎ，ｔｎ−１，ｔｎ−２・・・ｔｎ−（ｍ−１））／ｍ｝とする。過去３回分の平均に基づいてＢＰＭを算出することにより、ノイズや、人の不正確さ等の影響を軽減できる。なお、ｍは、３回以上での適度な数であることが望ましい。ｍを２回とした場合、（ｔｎ＜ｔｎ−１）あるいは（ｔｎ＞ｔｎ−１）なるケースが殆どであり、常に、テンポが変化しかけていると判断されてしまう。逆に、ｍをあまり大きい数字とすると、基本間隔が徐々に短く、または、徐々に長くなる場合が稀となり、常に、テンポが安定していると判断されてしまう。
【００５８】
このように、基本間隔の変動状況に応じて、ＢＰＭ算出方法を変えることにより、信頼性のより高いＢＰＭを得ることができる。
【００５９】
以上の説明したように、本実施形態では、テンポを示す打拍信号が、基本間隔とは異なる候補間隔で連続して２回以上入力された場合にのみテンポ変更と判断している。連続して２回以上の場合にのみテンポ変更と判断することにより、打拍信号の入力間隔の変動が、誤入力によるものか、テンポ変更によるものか、を明確に判断できる。その結果、誤入力の影響を受けることなく、正確なＢＰＭを得ることができる。テンポ変更された場合には、迅速にテンポ変更後のＢＰＭを得ることができる。また、本実施形態では、過去数回分の基本間隔の値変動状況、換言すれば、打拍信号の入力間隔の変動状況に応じて、ＢＰＭの算出方法を切り替えている。そのため、信頼性のより高いＢＰＭを得ることができる。
【００６０】
なお、本実施形態では、テンポを示す打拍信号は、ユーザがタップボタンを手動操作することにより生成、出力されている。しかしながら、再生される音楽の音声データから自動的に打拍信号を生成、出力されるようにしてもよい。すなわち、音声データから低周波信号が出力されれば、自動的に、打拍信号を出力するようにしてもよい。この打拍信号の出力については、特許文献１に記載の技術などを応用できる。
【００６１】
また、本実施形態では、オーディオ装置１０に搭載されたテンポ検出部１６を例に説明している。しかし、テンポ検出が必要な機器であれば、当然、他の機器、例えば、電子楽器等にも当然、応用できる。
【００６２】
また、本実施形態では、基本間隔を候補間隔の値に更新する条件として、候補間隔での打拍信号の入力が２回連続してあることとしている。しかし、候補間隔での打拍信号の入力が連続してあるのであれば、その回数は特に制限されない。ただし、この回数をあまり多くするとテンポ変化に対する対応（基本間隔の値更新）が遅れるため、ユーザにとって問題のない程度の回数とするのが望ましい。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施形態でオーディオ装置の概略構成を示すブロック図である。
【図２】テンポ検出部の構成を示すブロック図である。
【図３】基本信号および候補信号の許容範囲ｄｉｖを示す図である。
【図４】比較部の構成を示す図である。
【図５】比較部の入出力関係を示す表である。
【図６】テンポ検出の流れを示すフローチャートである。
【図７Ａ】比較部での信号入出力の一例を示すタイミングチャートである。
【図７Ｂ】比較部での信号入出力の一例を示すタイミングチャートである。
【図７Ｃ】比較部での信号入出力の一例を示すタイミングチャートである。
【図７Ｄ】比較部での信号入出力の一例を示すタイミングチャートである。
【図７Ｅ】比較部での信号入出力の一例を示すタイミングチャートである。
【図８】基本間隔の初期値設定の様子を説明するタイミングチャートである。
【図９】基本間隔の補正の様子を説明するタイミングチャートである。
【符号の説明】
【００６４】
１０  オーディオ装置、１２  再生部、１４  操作部、１６  テンポ検出部、１８  表示部、２０  制御部、２４  ＢＰＭ表示部、３０  基本間隔管理部、３２  候補間隔管理部、３４  比較部、３６，３８  タイマ、４０  ＢＰＭ算出部。
【図１】
2007041108.tif 000003
【図２】
2007041108.tif 000004
【図３】
2007041108.tif 000005
【図４】
2007041108.tif 000006
【図５】
2007041108.tif 000007
【図６】
2007041108.tif 000008
【図７Ａ】
2007041108.tif 000009
【図７Ｂ】
2007041108.tif 000010
【図７Ｃ】
2007041108.tif 000011
【図７Ｄ】
2007041108.tif 000012
【図７Ｅ】
2007041108.tif 000013
【図８】
2007041108.tif 000014
【図９】
2007041108.tif 000015