(57)【要約】【課題】テンポを決定するためにユーザが操作子を操作するべき回数が変動したとしても、ユーザはテンポの決定のみに集中することが可能となる電子音楽装置およびその制御方法を実現するためのプログラムを提供する。【解決手段】ユーザがタップテンポモードを選択すると、デフォルト設定されたテンポおよび拍子でメトロノーム音が発生する。デフォルト設定されたテンポおよび拍子がそれぞれ“１００”および“４／４”であった場合には、１小節毎に等間隔で、「ピッ」「ポッ」「ポッ」「ポッ」「ポッ」というメトロノーム音が発生する。このとき、ＬＣＤ９ａには、現在設定されているテンポ（“♪＝１００”）と、テンポの決定までに、ユーザがパッドを叩くべき回数を示す残り拍数（“◎◎◎◎◎”）が表示される。ユーザがパッドを叩く度に、残り拍数の表示が、その直前の表示より１回減少した表示に変わって行き、第５回目のタッピングを行うと、残り拍数の表示がリセットされ、継続して再度テンポを決定する際の表示（“◎◎◎◎”）に変わる。【選択図】図４
2008134547.tif 000002
【特許請求の範囲】
【請求項１】
ユーザがテンポを決定するために操作する操作子と、
ユーザがテンポを決定するために前記操作子を操作する回数を、設定された拍子に応じた回数に決定する決定手段と、
該決定手段によって決定された回数、ユーザが前記操作子を操作したときに、該操作子の操作時間に基づいてテンポを算出する算出手段と、
該算出手段によって算出されたテンポをユーザに報知するように、または、該算出手段によって算出されたテンポでソングデータを自動演奏するように制御する制御手段と、
前記決定された回数のうち、ユーザが前記操作子を操作するべき残りの回数を、所定の態様で提示する提示手段と
を有することを特徴とする電子音楽装置。
【請求項２】
ユーザが前記操作子を操作してからの経過時間に応じて、ユーザが前記操作子を操作するべき残りの回数を初期値にリセットするリセット手段をさらに有することを特徴とする請求項１に記載の電子音楽装置。
【請求項３】
前記決定された回数、ユーザが前記操作子を操作したことにシンクロして、前記制御手段に当該制御の開始を指示する指示手段をさらに有することを特徴とする請求項１または２に記載の電子音楽装置。
【請求項４】
ユーザがテンポを決定するために操作子を操作する回数を、設定された拍子に応じた回数に決定する決定モジュールと、
該決定モジュールによって決定された回数、ユーザが前記操作子を操作したときに、該操作子の操作時間に基づいてテンポを算出する算出モジュールと、
該算出モジュールによって算出されたテンポをユーザに報知するように、または、該算出モジュールによって算出されたテンポでソングデータを自動演奏するように制御する制御モジュールと、
前記決定された回数のうち、ユーザが前記操作子を操作するべき残りの回数を、所定の態様で提示する提示モジュールと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設定された拍子またはテンポ決定を開始してからの経過時間に応じた回数、ユーザが操作した操作子の操作間隔を計測し、該計測した操作間隔に基づいてテンポを決定し、このテンポを報知あるいはこのテンポでソングデータを自動演奏する電子音楽装置およびその制御方法を実現するためのプログラムに関する。
【背景技術】
【０００２】
設定された拍子またはテンポ決定を開始してからの経過時間に応じた回数、ユーザが操作した操作子の操作間隔を計測し、該計測した操作間隔に基づいてテンポを決定し、このテンポを報知あるいはこのテンポで曲データを自動演奏する電子音楽装置は、従来から知られている。
【０００３】
このような電子音楽装置として、自動演奏を開始する前に、自動演奏させたい曲データの拍子の数と同じ回数だけ、操作子が操作されたことを検出した後、自動演奏を開始するとともに、その操作間隔に基づいて決定したテンポで当該曲データを自動演奏させるようにしたものがある（たとえば、特許文献１参照）。
【０００４】
また、設定された拍子に拘わらず、所定回数（たとえば、４回）操作子が操作されたことを検出すると、その操作間隔に基づいてテンポを決定して表示させる電子音楽装置（具体的には、電子メトロノーム）であって、テンポが決定されるまでに、ユーザが操作子を後何回操作すればよいかを数字で表示するようにしたものもある。
【特許文献１】特開平５−１７３５６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の電子音楽装置のうちの前者では、自動演奏させたい曲データに応じて操作子の操作回数が変動するにも拘わらず、ユーザは、テンポが決定されるまでに操作子を操作するべき残りの操作回数を知ることができないので、ユーザは、操作子を操作する時間間隔の他に、テンポを決定するために操作子を後何回操作するべきかについても気遣わなければならず、ユーザは操作子の操作間隔、つまりテンポの決定のみに集中することができなかった。
【０００６】
本発明は、この点に着目してなされたものであり、テンポを決定するためにユーザが操作子を操作するべき回数が変動したとしても、ユーザはテンポの決定のみに集中することが可能となる電子音楽装置およびその制御方法を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１に記載の電子音楽装置は、ユーザがテンポを決定するために操作する操作子と、ユーザがテンポを決定するために前記操作子を操作する回数を、設定された拍子に応じた回数に決定する決定手段と、該決定手段によって決定された回数、ユーザが前記操作子を操作したときに、該操作子の操作時間に基づいてテンポを算出する算出手段と、該算出手段によって算出されたテンポをユーザに報知するように、または、該算出手段によって算出されたテンポでソングデータを自動演奏するように制御する制御手段と、前記決定された回数のうち、ユーザが前記操作子を操作するべき残りの回数を、所定の態様で提示する提示手段とを有することを特徴とする。
【０００８】
また、請求項２に記載の電子音楽装置は、請求項１の電子音楽装置において、ユーザが前記操作子を操作してからの経過時間に応じて、ユーザが前記操作子を操作するべき残りの回数を初期値にリセットするリセット手段をさらに有することを特徴とする。
【０００９】
さらに、請求項３に記載の電子音楽装置は、請求項１または２の電子音楽装置において、前記決定された回数、ユーザが前記操作子を操作したことにシンクロして、前記制御手段に当該制御の開始を指示する指示手段をさらに有することを特徴とする。
【００１０】
上記目的を達成するため、請求項４に記載のプログラムは、請求項１と同様の技術的思想によって実現できる。
【発明の効果】
【００１１】
請求項１または４に記載の発明によれば、ユーザがテンポを決定するために操作子を操作する回数が、設定された拍子に応じた回数に決定され、該決定された回数のうち、ユーザが前記操作子を操作するべき残りの回数が、所定の態様で提示されるので、ユーザは操作子を操作するべき残りの回数を常に把握でき、これにより、ユーザはテンポの決定のみに集中することができる。
【００１２】
請求項２に記載の発明によれば、ユーザが前記操作子を操作してからの経過時間に応じて、ユーザが前記操作子を操作するべき残りの回数を初期値にリセットすることで、ユーザの操作性を良くしても、ユーザはその残りの回数を常に把握することができるので、この場合にも、ユーザはテンポの決定のみに集中することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１４】
図１は、本発明の一実施の形態に係る電子音楽装置を適用した電子ドラムの概略構成を示すブロック図である。
【００１５】
同図に示すように、本実施の形態の電子ドラムは、複数（図示例では、Ｎ個）のパッド１と、各種情報を入力するための複数のスイッチを含む設定操作子２と、各パッド１の操作状態をそれぞれ検出する検出回路３と、設定操作子２の操作状態を検出する検出回路４と、装置全体の制御を司るＣＰＵ５と、該ＣＰＵ５が実行する制御プログラムや、各種テーブルデータ等を記憶するＲＯＭ６と、ソングデータ、各種入力情報および演算結果等を一時的に記憶するＲＡＭ７と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ８と、各種情報等を表示する、たとえば液晶ディスプレイ（ＬＣＤ）および発光ダイオード（ＬＥＤ）等を備えた表示装置９と、前記制御プログラムを含む各種アプリケーションプログラムや各種ソングデータ、各種データ等を記憶する外部記憶装置１０と、外部からのＭＩＤＩ（Musical Instrument Digital Interface）メッセージを入力したり、ＭＩＤＩメッセージを外部に出力したりするＭＩＤＩインターフェース（Ｉ／Ｆ）１１と、通信ネットワーク１０１を介して、たとえばサーバコンピュータ（以下、「サーバ」と略して言う）１０２とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）１２と、パッド１から入力された演奏イベントや予め設定されたソングデータ等をオーディオ信号に変換する音源回路１３と、該音源回路１３からのオーディオ信号に各種効果を付与するための効果回路１４と、該効果回路１４からのオーディオ信号を音響に変換する、たとえば、ＤＡＣ（Digital-to-Analog Converter）やアンプ、スピーカ等のサウンドシステム１５とにより構成されている。
【００１６】
上記構成要素３〜１４は、バス１６を介して相互に接続され、ＣＰＵ５にはタイマ８が接続され、ＭＩＤＩＩ／Ｆ１１には他のＭＩＤＩ機器１００が接続され、通信Ｉ／Ｆ１２には通信ネットワーク１０１が接続され、音源回路１３には効果回路１４が接続され、効果回路１４にはサウンドシステム１５が接続されている。ここで、通信Ｉ／Ｆ１２および通信ネットワーク１０１は、有線方式のものに限らず、無線方式のものであってもよい。また、両方式のものを備えていてもよい。
【００１７】
外部記憶装置１０としては、たとえば、フレキシブルディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＣＤ−ＲＯＭドライブおよび光磁気ディスク（ＭＯ）ドライブ等を挙げることができる。そして、外部記憶装置１０には、前述のように、ＣＰＵ５が実行する制御プログラムも記憶でき、ＲＯＭ６に制御プログラムが記憶されていない場合には、この外部記憶装置１０に制御プログラムを記憶させておき、それをＲＡＭ７に読み込むことにより、ＲＯＭ６に制御プログラムを記憶している場合と同様の動作をＣＰＵ５にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００１８】
なお、本実施の形態の電子ドラムは、上述の構成から分かるように、パッド、本体および表示装置を含む一体型の装置として構成したが、パッド、本体および表示装置をそれぞれ別体の装置とし、各装置をＭＩＤＩＩ／Ｆや各種ネットワーク等の通信手段を用いて接続して構成してもよい。
【００１９】
図２は、タップテンポモードが選択されたときに、本実施の形態の電子ドラムが実行する制御処理のソフトウェア構成を示すブロック図である。
【００２０】
同図に示すように、タップテンポモードが選択されたときに、本実施の形態の電子ドラムが実行する制御処理のソフトウェアは、主制御部５ａ、割り込みハンドラ部５ｂおよび自動演奏部５ｃでそれぞれ実行される処理によって構成されている。なお、同図には、説明の都合上、ハードウェアである、タイマ８および楽音生成部（音源回路）１３と、ＲＡＭ７の所定位置に確保された、時刻情報を一時的に記憶する時刻情報一時記憶領域７ａおよび時刻情報の履歴を記憶する時刻情報履歴記憶領域７ｂも記載されている。ただし、楽音生成部１３は、ソフトウェアによっても実現することができ、楽音生成部１３として、ハードウェア音源あるいはソフトウェア音源のいずれを採用してもよいが、本実施の形態では、ハードウェア音源を採用している。
【００２１】
主制御部５ａ、割り込みハンドラ部５ｂおよび自動演奏部５ｃはいずれも、ＣＰＵ５に対応している。つまり、ＣＰＵ５が実行する制御処理は、主制御部５ａが実行する処理と、割り込みハンドラ部５ｂが実行する処理と、自動演奏部５ｃが実行する処理と、それ以外の処理とによって構成される。
【００２２】
割り込みハンドラ部５ｂは、前記検出回路３からの出力の状態を常時チェックし、ユーザによって、いずれかのパッド１が叩かれたことを検出すると、そのときのタイマ８の計時値を時刻情報として時刻情報一時記憶領域７ａに一時的に記憶する。なお、割り込みハンドラ部５ｂが実行する割り込み処理の詳細は、図７を用いて後述する。
【００２３】
主制御部５ａは、主として
（Ａ）時刻情報一時記憶領域７ａに記憶されている時刻情報を時刻情報履歴記憶領域７ｂに書き込む時刻情報書き込み処理
（Ｂ）残り拍数カウンタ（図３参照）をカウントダウンするカウントダウン処理
（Ｃ）時刻情報履歴記憶領域７ｂに記憶された時刻情報に基づいて、ユーザがパッド１を叩いて指示したテンポを算出するテンポ算出処理
（Ｄ）ユーザによる拍子の設定操作あるいはソングデータの読み込み操作により、現在設定されている拍子が変更されたときに、拍子設定を変更された拍子で更新する拍子更新処理
（Ｅ）上記（Ｃ）のテンポ算出処理によって算出されたテンポあるいは上記（Ｄ）の拍子更新処理によって更新された拍子を自動演奏部５ｃに通知する通知処理
（Ｆ）残り拍数カウンタの値を所定の態様で表示装置９上に表示させる表示処理
を行う。なお、上記（Ａ）〜（Ｆ）の各処理の詳細については、図５〜図７を用いて後述する。
【００２４】
自動演奏部５ｃは、シーケンサ機能とメトロノーム機能のうちのいずれかを選択して実行させることができるように構成されている。シーケンサ機能が選択されたときには、自動演奏部５ｃは、前記ＲＡＭ７の所定位置に確保されたソングデータ格納領域（図示せず）に格納されたソングデータを、主制御部５ａから通知されたテンポに基づいて自動演奏する。具体的には、ソングデータが、キーオンイベント、キーオフイベント、ベロシティデータ等のイベントデータと、該イベントデータの再生（演奏）タイミングを示すタイミングデータを一組とし、それを再生順に複数組並べて形成したシーケンスによって構成されている場合、自動演奏部５ｃは、再生ポインタ（図示せず）が示すタイミングデータを前記通知されたテンポに基づいてカウントダウンして行き、タイミングデータの値が“０”になると、そのタイミングデータと同じ組のイベントデータを読み出し、このイベントデータの内容に応じた指示（発音指示または消音指示）を楽音生成部１３に行う。一方、メトロノーム機能が選択されたときには、自動演奏部５ｃは、１小節毎に、前記主制御部５ａから通知された拍子に応じた数のメトロノーム音の発音指示を、前記通知されたテンポで楽音生成部１３に行う。なお、メトロノーム音の消音指示は、その発音指示から所定時間経過した後に楽音生成部１３に行う。
【００２５】
楽音生成部１３は、自動演奏部５ｃからの発音指示に応じて、指示された音高および音色の楽音を生成する一方、自動演奏部５ｃからの消音指示に応じて、生成中の楽音を消音する。また、楽音生成部１３には、割り込みハンドラ部５ｂからの発音指示も供給される。割り込みハンドラ部５ｂは、ユーザがパッド１を叩いたときに、その打撃音が生成されるように、楽音生成部１３に発音指示を行う。楽音生成部１３は、この発音指示に応じて、指示された音高および音色の打撃音を生成する。
【００２６】
本実施の形態では、タップテンポモードが選択され、パッド１をテンポを決定するための操作子として使用する場合、Ｎ個のパッド１のうちのいずれを叩いても、テンポを決定することができるようにした。つまり、第Ｋパッドを叩いてテンポを決定している途中で、第Ｌパッド（Ｌ≠Ｋ）に変更して叩いたとしても、問題なくテンポを決定することができる。もちろん、これに限らず、テンポを決定するときに使用するパッドを、Ｎ個のパッド１のうちのある一部（典型的には、いずれか１つ）に特定するようにしてもよい。この場合、特定のパッドをユーザが変更できるようにした方が好ましい。
【００２７】
図３は、時刻情報履歴記憶領域７ｂに記憶された時刻情報の一例を示す図であり、同図（ａ）は、本実施の形態で採用しているフォーマットで記憶された時刻情報の例を示し、同図（ｂ）は、（ａ）とは異なったフォーマットで記憶された時刻情報の例を示している。なお、図３には、拍子を記憶するためにＲＡＭ７の所定位置に確保された拍子記憶領域７ｃと、残り拍数をカウントするためにＲＡＭ７上に設けられた残り拍数カウンタ７ｄも記載されている。
【００２８】
図３（ａ）に示すように、時刻情報履歴記憶領域７ｂは、複数の時刻情報を記憶するための複数の記憶領域によって構成されている。本実施の形態では、時刻情報履歴記憶領域７ｂには、設定された拍子に応じた数の時刻情報の履歴を記憶するようにしているので、つまり、設定された拍子毎に、時刻情報履歴記憶領域７ｂに記憶される時刻情報の最大個数が異なるので、時刻情報履歴記憶領域７ｂは、設定可能な拍子の最大値に対応する最大個数の時刻情報を記憶できるだけの領域を備えている。
【００２９】
ユーザによる拍子の設定操作あるいはソングデータの読み込み操作によって拍子が決まると、前記主制御部５ａは、その拍子の値を拍子記憶領域７ｃに記憶するとともに、その拍子に応じた残り拍数を算出し、その算出値を残り拍数カウンタ７ｄに記憶する。残り拍数カウンタ７ｄの値は、前記（Ｂ）のカウントダウン処理によって、ユーザがパッド１を叩く度に“１”ずつカウントダウンされる。残り拍数カウンタ７ｄには、ユーザがパッド１を叩いたときの時刻である時刻情報を、時刻情報履歴記憶領域７ｂの複数の領域のうちのどの領域に格納すべきかを示すポインタとしての機能も営ませているので、主制御部５ａは、時刻情報が時刻情報一時記憶領域７ａに格納されると、その時刻情報を、時刻情報履歴記憶領域７ｂ中、残り拍数カウンタ７ｄによって示される領域に格納する。
【００３０】
時刻情報履歴記憶領域７ｂに記憶された時刻情報の履歴は、前記（Ｃ）のテンポ算出処理がテンポを算出する際に使用する。図３（ａ）の例を用いて具体的に説明すると、主制御部５ａは、最後の１拍の時刻情報（ただし、図３（ａ）の例では、時刻情報は未記録となっている）の値と最後から５拍目の時刻情報の値（０ｘ２Ｆ２７００ＦＡ（“０ｘ”は、その後の英数字が１６進数であることを示している）））との差分、つまり、ユーザが指定した１小節分の時間を設定された拍数で等分し、これを１拍分の時間的長さとすることで、テンポを算出している。このように、主制御部５ａは、テンポを算出する際に、１小節中、最初の拍の時刻情報と最後の拍の時刻情報のみを使用し、その間の拍の時刻情報を使用していないので、時刻情報履歴記憶領域としては、前記図３（ｂ）のような、最初の拍の時刻情報と最後の拍の時刻情報のみを記憶する時刻情報履歴記憶領域７ｂ′を採用してもよい。ただし、テンポを算出する際に、最初の拍と最後の拍以外の拍も使用する場合、たとえば、隣接する拍間の時間差に重み付けし、これをテンポの算出に用いる場合には、当然、すべての拍の時刻情報を記憶する、時刻情報履歴記憶領域７ｂを採用しなければならない。
【００３１】
以上のように構成された電子ドラムが実行する制御処理を、まず図４を参照してその概要を説明し、次に図５〜図７を参照して詳細に説明する。
【００３２】
図４は、本実施の形態の電子ドラムが実行する制御処理の概要を説明するための図であり、図４には、メトロノーム機能が選択された場合が示されている。
【００３３】
ユーザが、たとえば前記設定操作子２中のタップテンポモード指定スイッチ（図示せず）を押すことで、タップテンポモードを選択すると、本実施の形態の電子ドラムからは、デフォルト設定されたテンポおよび拍子でメトロノーム音が発生する（ただし、デフォルト設定されたテンポおよび拍子が変更されたときには、変更された後のテンポおよび拍子でメトロノーム音が発生する）。たとえば、デフォルト設定されたテンポおよび拍子がそれぞれ“１００”および“４／４”であった場合には、１小節毎に等間隔（ただし、その時間間隔は、設定されたテンポに依存する）で、「ピッ」「ポッ」「ポッ」「ポッ」「ポッ」というメトロノーム音が発生する。このとき、表示装置９のＬＣＤ９ａには、現在のモード（“ＴＡＰ  ＴＥＭＰＯ”（＝タップテンポモード））と、現在設定されているテンポ（“♪＝１００”）と、テンポを決定するまでに、ユーザがパッド１を叩くべき回数を示す残り拍数（“◎◎◎◎◎”）が表示される。
【００３４】
ユーザがメトロノーム音を聞きながらパッド１を叩く場合、ユーザは、まず「ピッ」というメトロノーム音が発生した直後のタイミングＴ１で、第１回目のタッピングを行う。これにより、残り拍数の表示が、その直前の表示より１回減少した表示（“◎◎◎◎”）に変わる。次に「ポッ」というメトロノーム音が発生した直後のタイミングＴ２で、第２回目のタッピングを行うと、残り拍数の表示が、その直前の表示より１回減少した表示（“◎◎◎”）に変わる。これと同様のタッピングを繰り返し、タイミングＴ５で、第５回目のタッピングを行うと、残り拍数の表示がリセットされ、テンポを継続して再決定する状態の表示（“◎◎◎◎”）に変わる。ここで、タップテンポモードが選択されて、他のモードからタップテンポモードに移行した直後の残り拍数の表示と、テンポを継続して再決定する状態の残り拍数の表示とは、前者の表示が設定された拍数＋１を示すのに対して、後者の表示が設定された拍数を示す点が異なっている。これは、タップテンポモードに移行してから初めてテンポを決定するときや、後述するユーザ操作がタイムアウトになったときには、テンポの決定（算出）を開始する時点を特定するためのタッピングが必要となるのに対して、テンポを継続して再決定するときには、テンポの決定（算出）を開始する時点は、直前のテンポ決定区間（＝１小節）の最後のタッピング（図４では、タイミングＴ５のタッピング）によって特定すればよいからである。なお、本実施の形態では、タップテンポモードが選択されている間、テンポ決定区間毎に、最初のタッピングから最後のタッピングまでの経過時間を常時監視し、その経過時間が所定のタイムアウト時間を超えると、残り拍数の表示を、タップテンポモードに移行した直後の表示（“◎◎◎◎◎”）に戻すとともに、時刻情報履歴記憶領域７ｂをクリアするようにしている。このようにすることで、ユーザがタップ操作を中断した後にタップ操作をやり直すときなどの操作性が向上する。ここで、タイムアウトしたかどうかの判定は、小節などのテンポ決定区間毎に、最初のタッピングから最後のタッピングまでの経過時間を監視することによって行ったが、これに限らず、あるタッピングのタイミングから次のタッピングのタイミングまでの１拍の操作の経過時間を監視することによって行うようにしてもよい。タイムアウトになった場合には、残り拍数は、前述のように拍数＋１となり、タップテンポモードに移行してから初めてテンポを決定するときと同じ表示になる（図４参照）。
【００３５】
なお、本実施の形態では、残り拍数の表示態様として、図形（“◎”）を採用したが、これに限らず、ＬＣＤ９ａ′に示すように、回数（“５”）をそのまま表示させたり、ＬＣＤ９ａ″に示すように、ＬＣＤ９ａ″上には表示させずに、その近傍に設けられたＬＥＤ９ｂを点灯（図４中、“○”が「点灯」を示し、“●”が「消灯」を示している）させることによって表示するようにしてもよい。
【００３６】
このように、本実施の形態では、ユーザがテンポを決定するためにパッド１を叩く回数が、設定された拍子またはテンポ決定を開始してからの経過時間に応じた回数に決定されるので、つまり、テンポを決定する際に、ユーザがパッド１を叩く回数が変動するので、ユーザは意図通りの回数だけ、パッド１を叩いて、テンポを決定することができる。そして、パッド１を叩くべき回数が変動したとしても、テンポを決定するまでに叩くべき残りの回数が常時表示されるので、ユーザは、テンポの決定に最も重要な、パッド１を叩く間隔（タイミング）のみに集中することができる。
【００３７】
次に、この制御処理を詳細に説明する。
【００３８】
図５は、本実施の形態の電子ドラム、特にＣＰＵ５が実行するメインルーチンの手順を示すフローチャートである。
【００３９】
本メインルーチンは、主として
（１）初期化処理（ステップＳ１）
（２）タップテンポモードへの移行および解除を判定するとともに、タップテンポモードが選択されているときには、タップテンポモード特有の処理を行うタップテンポモード処理（ステップＳ２〜Ｓ１０）
（３）その他の処理（ステップＳ１１）
によって構成されている。
【００４０】
上記（１）の初期化処理では、ＲＡＭ７をクリアしたり、各種パラメータの値をデフォルト値に設定したりする。
【００４１】
上記（２）のタップテンポモード処理は、主として
（１１）他のモードからタップテンポモードに移行したときや、現在設定中の拍子（拍子設定）が変更されたときに実行される初期化処理（ステップＳ４〜Ｓ６）
（１２）前記（Ｂ）のカウントダウン処理およびこれに関連する処理を行うカウントダウン関連処理（ステップＳ７）
（１３）拍子設定が変更されたときに実行される拍子更新処理（ステップＳ１０）
によって構成されている。
【００４２】
上記（１１）の初期化処理では、時刻情報履歴記憶領域７ｂをクリアし（ステップＳ４）、残り拍数カウンタ７ｄに、設定されている拍子の数に“１”を加算した値を格納した（ステップＳ５）後、この残り拍数カウンタ７ｄの値と設定されているテンポの値で表示を更新する（ステップＳ６）。これにより、前記ＬＣＤ９ａには、図４のタイミングＴ１の直前の状態が表示される。
【００４３】
図６は、上記（１２）のカウントダウン関連処理の詳細な手順を示すフローチャートである。
【００４４】
このカウントダウン関連処理は、主として
（２１）テンポ決定区間の最初のタッピングから最後のタッピングまでの経過時間（以下、「テンポ決定時間」という）がタイムアウト時間を超えているかどうかを判定するタイムアウト判定処理（ステップＳ２１〜Ｓ２３）
（２２）前記（１１）の初期化処理と同様の初期化処理（ステップＳ３７，Ｓ３８）
（２３）前記（Ａ）の時刻情報書き込み処理（ステップＳ２５）
（２４）前記（Ｂ）のカウントダウン処理（ステップＳ２７）
（２５）前記（Ｃ）のテンポ算出処理（ステップＳ２９）
（２６）前記（Ｅ）の通知処理（ステップＳ３０）
（２７）シンクロスタート機能がＯＮ設定されているときに実行されるシンクロスタート処理（ステップＳ３２およびＳ３３）
（２８）テンポを継続して再決定する際の初期化処理（ステップＳ３４，Ｓ３５）
（２９）前記（Ｆ）の表示処理（ステップＳ３６）
によって構成されている。
【００４５】
前記（２１）のタイムアウト判定処理では、タイマ８から現在時刻を取得する（ステップＳ２１）とともに、時刻情報履歴記憶領域７ｂから、最初の１拍目の時刻情報を取得し（ステップＳ２２）、両者の時間差（ユーザが最初の１拍目としてパッド１を叩いたときの操作時刻から現在までの経過時間）が所定のタイムアウト時間を超えているかどうかを判定する（ステップＳ２３）。この（２１）タイムアウト判定処理によって、テンポ決定時間がタイムアウト時間を超えていると判定されたときには、ＣＰＵ５は、処理を前記（２２）の初期化処理に進める（ステップＳ２３→Ｓ３７）。この（２２）初期化処理により、ＬＣＤ９ａの表示は、前記（１１）の初期化処理が実行されたときの表示に戻る。一方、（２１）タイムアウト判定処理によって、テンポ決定時間がタイムアウト時間を超えていないと判定されたときには、ＣＰＵ５は、処理を前記（２３）の時刻情報書き込み処理に進める（ステップＳ２３→Ｓ２４）。
【００４６】
（２３）時刻情報書き込み処理では、ユーザがパッド１を叩いたときにセット（“１”）されるタッピングフラグの状態をチェックし（ステップＳ２４）、タッピングフラグの値が“１”のとき、つまり、ユーザがパッド１を叩き、時刻情報一時記憶領域７ａに有効な時刻情報（ユーザがパッド１を叩いたときの時刻を示す情報）が記憶されているときには、時刻情報一時記憶領域７ａに記憶されている時刻情報を、時刻情報履歴記憶領域７ｂ中、残り拍数カウンタ７ｄによって示される領域に書き込んだ（ステップＳ２６）後、タッピングフラグをリセット（“０”）する（ステップＳ２６）。
【００４７】
次にＣＰＵ５は、処理を前記（２４）のカウントダウン処理に進め、残り拍数カウンタ７ｄを“１”だけデクリメントする（ステップＳ２７）。そしてＣＰＵ５は、残り拍数カウンタ７ｄの値をチェックし（ステップＳ２８）、その値が“０”のときには、つまり、テンポ決定区間中でパッド１を叩くべき回数、ユーザが叩いたときには、処理を前記（２５）のテンポ算出処理に進める（ステップＳ２８→Ｓ２９）。この（２５）テンポ算出処理では、前記（Ｃ）のテンポ算出処理で説明したようにしてテンポを算出する。
【００４８】
次にＣＰＵ５は、処理を前記（２６）の通知処理に進める。この（２６）通知処理では、上記（２５）テンポ算出処理によって算出されたテンポを自動演奏部５ｃに通知する。
【００４９】
次にＣＰＵ５は、シンクロスタート機能がオン状態のときにセットされ、オフ状態のときにリセットされるシンクロスタートフラグの値をチェックし（ステップＳ３１）、シンクロスタートフラグの値が“１”のときには、処理を前記（２７）のシンクロスタート処理に進める。ここで、シンクロスタート機能とは、自動演奏部５ｃに対して、テンポが決定されると直ぐに（つまり、そのテンポ決定にシンクロして）、その決定されたテンポで、現在選択されているソングデータ（前記ソングデータ格納領域に格納されているソングデータ）を自動演奏させる機能である。前記（２７）シンクロスタート処理では、自動演奏部５ｃに対してソングデータの演奏開始を指示した（ステップＳ３２）後、シンクロスタートフラグをリセットする（ステップＳ３３）。シンクロスタートフラグは、まず前記（１）の初期化処理で、デフォルト値に設定され、次に上記ステップＳ３３の指示に従って自動演奏が開始された後、終了したときに、自動演奏部５ｃにより、シンクロスタート機能が選択されているかどうかに応じてセット／リセットされる。なお、シンクロスタート機能のオン（選択）／オフ（非選択）設定は、たとえば、ユーザが前記設定操作子２中のシンクロスタートオン／オフ設定スイッチ（図示せず）を操作したときに、それに応じて、前記（３）のその他の処理中で行われる。このオン／オフ設定により、現在のオン／オフ設定が異なるオン／オフ設定に変更されたときには、シンクロスタートフラグの値も、変更されたオン／オフ設定に応じて変更しておく必要がある。このシンクロスタートフラグの値の変更も、前記（３）のその他の処理中で行うようにすればよい。
【００５０】
一方、ステップＳ３１で、シンクロスタートフラグの値が“０”のときには、上記（２７）シンクロスタート処理をスキップして、その次の処理である、前記（２８）の初期化処理に進める。
【００５１】
この（２８）初期化処理では、時刻情報履歴記憶領域７ｂ中、残り拍数カウンタ７ｄの値が“１”のときに時刻情報を格納すべき領域に、残り拍数カウンタ７ｄの値が拍子の数のときの領域に格納されている時刻情報を格納した（ステップＳ３４）後、残り拍数カウンタ７ｄに、現在設定されている拍子の数を格納する（ステップＳ３５）。ここで、ステップＳ３４の処理は、図４を用いて前述したように、テンポを継続して再決定するときに、テンポの決定（算出）を開始する時点を、直前のテンポ決定区間の最後のタッピング（図４では、タイミングＴ５のタッピング）によって特定する処理に対応し、ステップＳ３５の処理は、単に残り拍数カウンタ７ｄを、テンポを継続して再決定する際の初期値に戻すだけではなく、ＬＣＤ９ａ上の表示を、テンポを継続して再決定する際の初期表示（“◎◎◎◎”）に更新するための処理も兼ねている。
【００５２】
次にＣＰＵ５は、処理を前記（２９）の表示処理に進める。この（２９）表示処理では、残り拍数カウンタ７ｄの値を表示に反映させる（ステップＳ３６）。これにより、ＬＣＤ９ａ上は、残り拍数カウンタ７ｄの値に応じて、図４のタイミングＴ１〜Ｔ６の各直前の表示のうちのいずれかが表示される。
【００５３】
図５に戻り、前記（１３）の拍子更新処理は、たとえば、ユーザによる拍子の設定操作あるいはソングデータの読み込み操作により、現在設定中の拍子（つまり、拍子記憶領域７ｃに記憶されている拍子）が変更されたときに、ＣＰＵ５によって実行される。この（１３）拍子更新処理では、変更後の拍子の値を拍子記憶領域７ｃに格納する（ステップＳ１０）。
【００５４】
前記（３）のその他の処理では、たとえば、前記シンクロスタート機能のオン（選択）／オフ（非選択）設定処理、前記シンクロスタートフラグのセット／リセット処理、前記自動演奏部５ｃによって実行される処理、シーケンサ機能／メトロノーム機能の選択設定処理などが実行される。なお、自動演奏部５ｃによって実行される処理には、シーケンサとしての処理と、メトロノームとしての処理があるが、両処理とも、その処理内容に本発明の特徴がある訳ではなく、周知の処理を採用すればよいので、その処理の説明は省略する。
【００５５】
図７は、割り込み処理の手順を示すフローチャートであり、本割り込み処理は、ユーザがパッド１を叩いたときに起動され、実行される。
【００５６】
本割り込み処理では、まず、タイマ８から現在時刻を取得し、時刻情報として前記時刻情報一時記憶領域７ａに記憶する（ステップＳ１０１）。タイマ８は、その内部に、たとえば２ｍｓｅｃ毎にカウントアップする、３２ビット長のフリーランカウンタ（図示せず）を備え、ＣＰＵ５がタイマ８に対してカウント開始を指示すると、それに応じて、フリーランカウンタはカウントを開始するように構成されている。ステップＳ１０１では、そのときのフリーランカウンタの値が、時刻情報一時記憶領域７ａに記憶される。
【００５７】
次に、前記タッピングフラグをセットする（ステップＳ１０２）。これにより、ＣＰＵ５は、時刻情報一時記憶領域７ａに有効な時刻情報が記憶されたことを知ることができる。
【００５８】
最後に、自動演奏部５ｃに所定の発音を指示する（ステップＳ１０３）。ここで、所定の発音とは、ユーザがパッド１を叩いたときに発生させる打撃音の発音であるので、典型的には、そのパッド１が叩かれたときに通常発生する音である（たとえば、そのパッド１が実ドラムセットのスネアドラムに対応するものである場合に、通常発生する音とは、スネアドラムの音色の音である）が、これに限らず、他の音色の音であってもよい。
【００５９】
なお、本実施の形態では、タイムアウトしたかどうかの判定を、小節などのテンポ決定区間毎に最初のタッピングから最後のタッピングまでの経過時間を監視することによって行ったが、これに限らず、あるタッピングのタイミングから次のタッピングのタイミングまでの１拍の操作の経過時間を監視することによって行うようにしてもよい。この場合、前記（２１）のタイムアウト判定処理を、直前のタッピングからの経過時間がタイムアウト時間を超えているかどうか判定するように変更する。具体的には、前記図６のステップＳ２２の処理を、時刻情報履歴記憶領域から、直前の拍の時刻情報、つまり最後にタッピングされた直近の拍の時刻情報を取得する処理に変更し、ステップＳ２３の処理を、ユーザが直前にパッドを叩いたときの操作時刻から現在までの経過時間が所定のタイムアウト時間を超えているかどうかを判定する処理に変更する。この場合の時刻情報履歴記憶領域の構成としては、前記図３（ａ）に示す構成、あるいは、前記図３（ｂ）に示す構成に、直前の１拍の時刻情報を記憶する領域を加えた構成（そして、その領域の記憶内容をタッピングの度に更新する）を採るようにする。
【００６０】
また、本実施の形態では、ユーザがメトロノームの音を聞きながらパッド１を叩くことを想定し、タッピングモードが選択された時点からメトロノーム音を発音するようにしたが、これに限らず、タッピングモードが選択され、タッピングによってテンポが決定されてからメトロノーム音を発音するようにしてもよい。これを実現する処理は、前記（１２）のカウントダウン関連処理内の前記（２７）シンクロスタート処理に追加するようにすればよい。具体的には、前記図６のステップＳ３２の処理に、「メトロノーム音の発音を開始するように前記音源回路１３に指示する」処理を追加する。
【００６１】
なお、本実施の形態では、本発明の電子音楽装置を電子ドラムに適用するようにしたが、その適用対象は、電子ドラムに限らず、鍵盤型などの他の態様の電子楽器で、少なくとも１つのパッドを備えたものでもよい。また、電子楽器が通常備えている、演奏操作子（たとえば、鍵やブレスコントローラ）をパッド代わりに用いるようにしてもよい。さらに、電子楽器の自動演奏機能を使わず、同じ電子楽器に搭載されたメトロノーム機能のみを使う際に、そのメトロノーム機能にのみ適用するようにしてもよい。また、本発明の電子音楽装置を、電子楽器ではなく、メトロノーム専用装置に適用するようにしてもよい。このように、本発明をメトロノーム機能にのみ、あるいはメトロノーム専用装置に適用する場合には、前記図２中の自動演奏部５ｃがメトロノーム機能のみを使用するか、あるいはメトロノーム機能のみを持つようにし、楽音生成部１３はメトロノーム音のみを生成するようにする。このとき、楽音生成部１３は、前述のように、タップテンポモードが選択された時点からメトロノーム音の発音を開始してもよいし、タッピングモードが選択され、タッピングによってテンポが決定されてからメトロノーム音の発音を開始するようにしてもよい。
【００６２】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００６３】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６４】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００６５】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００６６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００６７】
【図１】本発明の一実施の形態に係る電子音楽装置を適用した電子ドラムの概略構成を示すブロック図である。
【図２】タップテンポモードが選択されたときに、図１の電子ドラムが実行する制御処理のソフトウェア構成を示すブロック図である。
【図３】図１中のＲＡＭに確保された時刻情報履歴記憶領域に記憶された時刻情報の一例を示す図である。
【図４】図１の電子ドラムが実行する制御処理の概要を説明するための図である。
【図５】図１の電子ドラム、特にＣＰＵが実行するメインルーチンの手順を示すフローチャートである。
【図６】図５中のカウントダウン関連処理の詳細な手順を示すフローチャートである。
【図７】割り込み処理の手順を示すフローチャートである。
【符号の説明】
【００６８】
１…パッド（操作子），５…ＣＰＵ（決定手段、算出手段、制御手段、提示手段），９…表示装置（提示手段）
【図１】
2008134547.tif 000003
【図２】
2008134547.tif 000004
【図３】
2008134547.tif 000005
【図４】
2008134547.tif 000006
【図５】
2008134547.tif 000007
【図６】
2008134547.tif 000008
【図７】
2008134547.tif 000009