以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の一実施の形態に係る打撃タイミング判定装置が適用された電子楽器の全体構成を示すブロック図である。この電子楽器は、複数の打撃用のパッド操作子13を備えた電子打楽器(電子ドラム)として構成される。
この電子楽器は、ROM2、RAM3、タイマ4、演奏操作子インターフェイス5、設定操作子6、表示装置7、発光装置8、音源9、サウンドシステム10、記憶装置11及び各種インターフェイス(I/F)16が、バス12を介してCPU1にそれぞれ接続されて構成される。複数のパッド操作子13は、演奏操作子インターフェイス5に接続される。
ROM2は、CPU1が実行する制御プログラムや各種テーブルデータ等を記憶する。CPU1は、ROM2に格納されている制御プログラムに基づいてRAM3のワーキングエリアを使用して電子楽器全体の制御を行う。RAM3は、演奏データ、テキストデータ等の各種入力情報、各種フラグやバッファデータ及び演算結果等を一時的に記憶する。タイマ4は、自動演奏処理の演奏タイミングを規定するクロック信号や、クリック発音のタイミングを規定するクロック信号を発生させる回路である。
各パッド操作子13には、打撃強さに応じた信号を出力するピエゾ素子等のセンサ(打撃検出手段)が設けられており、その電圧情報等の信号を、検出信号として演奏操作子インターフェイス5を介してCPU1に送る。CPU1は、受けた検出信号レベルの変化に基づいて、打撃の有無、打撃強さ(ベロシティVEL)を各パッド操作子13毎に判断する。基本的な機能として、CPU1は、判断した打撃操作に応じて打撃音の発音制御を行う。パッド操作子13に対応付けられる楽音の種類は、一般的な打楽器に備えられるものと同じであり、例えば、スネアドラム(SNARE)、バスドラム(KICK)、ハイハットシンバル(HIHAT)等である。
また、CPU1は、各種スイッチ等でなる設定操作子6の操作イベントを検出し、各種操作に応じた設定等の処理を行う。さらに、CPU1は、液晶パネル表示器等の表示装置7の表示の制御を行う。この表示装置7には、楽器本体の各種の設定情報が表示され、設定操作子6によりユーザが本電子楽器の各種機能を選択設定する際の視覚的支援が行われる。例えば、モード、音色や効果設定、自動演奏の曲の選択・設定を可能にするものである。
ユーザが自動演奏データを曲として捉える観点から、この自動演奏データを「ソング」ともいう。また、表示装置7は、設定操作子6と協働して自動演奏のテンポやクリック発音のテンポの設定、クリック発音の符長の設定等を可能にするものである。また、後述のように、表示装置7には、打撃練習モード時に実際に打撃操作をしたタイミングが、各パッド操作子13毎に表示される。
発光装置8は、各パッド操作子13の不図示のパッド面の周囲等に配設されたLED等の発光素子を含み、打撃操作されたパッド操作子13に対応するLEDを発光させる。LEDの発光量(発光輝度)は打撃の強さに応じたものにするが、打撃操作に対する評価結果に応じて発光させたり発光させなかったりするようにしてもよい。なお、打撃の強さに応じて、発光継続時間を変えてもよい。
音源9は、打撃演奏あるいは自動演奏によりCPU1から設定される各種データに応じて打撃音や自動演奏の楽音信号を生成する。生成された楽音信号は、スピーカを含むサウンドシステム10に出力され、サウンドシステム10は、D/A変換や増幅等を行って該スピーカから発音する。また、記憶装置11はハードディスク等で構成され、自動演奏データ等を記憶している。記憶装置11には、音色データやパターンデータ、効果データ、その他プログラムを記憶しておいてもよい。
各種インターフェイス(I/F)16には、MIDIインターフェイスのほか、外部機器とやりとりができる有線または無線の通信インターフェイスが含まれる。
本電子楽器の構成の一例としては、上記説明した構成要素のうち、発光装置8及びパッド操作子13で、打楽器ユニットが構成され、音源9及びサウンドシステム10で、楽音発生ユニットが構成され、これらを除いた他の構成要素で「打撃タイミング判定装置」が構成される。そして、打撃タイミング判定装置に対して、打楽器ユニット及び楽音発生ユニットが電気的に接続される。
図2(a)〜(d)は、表示装置7の画面表示の一例を示す図である。本打撃タイミング判定装置には、例えば表示装置7に隣接して、赤色LED14及び緑色LED15が設けられる。図3は、後述するタイミングチェック時の時間経過を示す概念図である。本実施の形態における処理の詳細な内容は、図4〜図9のフローチャートで後述するが、まず、図2、図3を参照して、主な処理の内容を概説する。
図3において、テンポクロックTCLは、tickを単位として1小節毎にリセットされる変数である。1tickの長さはテンポ設定によって定まる。4分音符が480tickに相当し、4/4拍子なら、1920tickで1小節分となる。ちなみに、8分音符の長さは240tick、8分3連符(「♪3」と表記する)における1音符の長さは160tickに相当する。
タイミングチェック(図8)は、ソングやクリック音等の指標となる音を聞きながら打撃演奏をして、実際に打撃したタイミングが、目標値に対して合致しているかどうかを判定する処理である。詳細は後述するが、実際に打撃したタイミングが、チェックゲートcGT内に入っている場合に、適切なタイミングで打撃された「合致」と判定される。タイミングチェックは、打撃練習のために行われ、リズムゲート処理(図7)内で実行される。スウィング感を持たせた打撃演奏の練習も可能である。
リズムゲート処理を行いたい場合は、まず、表示装置7の画面表示において、グルーブセッティングモードを選択する。これは、図2(a)に示すように、「GROOVE」中の「SETTING」を選択する(白色反転させる)ことでなされ、実際の選択操作は、設定操作子6でなされる。そして、この画面において、チェックノートnote及びスウィングレートsgRT(swing)を設定する(図5のステップS503)。
リズムゲート処理は、ソングまたはクリック音のいずれかまたは双方を再生しながら行う。ソングを再生するソング再生の場合は、ソングを選択することで、拍子や基本的なリズムも定まる。クリック音だけを再生するクリック再生の場合は、事前に拍子を指定し、さらにチェックノートnoteを設定すると、基本的なリズムが定まる。
ソング再生におけるソングは、リズムゲート設定モード(図2(c)参照)における設定に対して事前に選択でき、事後的にも選択・変更することができる。また、ソング再生と並行してクリック音を発生させるクリックオンモードも任意に設定可能である。一方、クリック再生の場合は、クリックオンモードが自動設定され、ソングを選択する必要がない。
ここで、チェックノートnoteは、タイミングチェックの基準を規定するものであり、音符種類と3連符の有無で規定される。また、スウィングレートsgRTは、チェックノートnoteで決まる正規のタイミングのうちの裏拍タイミングに対する前後のずれ量を規定する値である。スウィングレートsgRTは、−39〜+39tickの範囲で定めることができ、0にも設定できる。本実施の形態では、スウィングレートsgRTが設定できるのは、3連符が有りのときと、表拍に相当する音符種類が選択されたときだけである。
例えば、4/4拍子で、チェックノートnoteが4分音符や8分3連符(♪3)であれば、スウィングレートsgRTの設定が可能である。しかし、4/4拍子で、チェックノートnoteが8分音符や16分音符の場合は、スウィングレートsgRTを設定できない(0とされる)。スウィングレートsgRTが設定できない、あるいは0である場合のタイミングチェックは、いわゆるスウィング演奏の練習には該当しない。
ここで、上記した「正規のタイミング」とは、チェックノートnoteが示す音符が単純に連続するとした場合における各音符に対応するタイミングである。例えば、4/4拍子でチェックノートnoteが8分音符の場合は1小節に8回、4/4拍子でチェックノートnoteが8分3連符(♪3)の場合は1小節に12回、それぞれ等間隔で到来するタイミングである。
また、「表拍」は、4/4拍子なら1小節に4回、6/8拍子なら1小節に6回、2/2拍子なら1小節に2回、それぞれ等間隔で到来する拍タイミングである。一方、「裏拍」は、隣接する表拍の真ん中に訪れるタイミングである。特に、3連符の場合は、3連符を構成する3つの音符のうち、先頭の第1音符が「表拍」に対応し、第3音符が「裏拍」に対応する。
次に、リズムゲート設定モードを選択する。これは、図2(b)に示すように、「GROOVE」中の「R.GATE」を選択することでなされる。そして、この画面において、グルーブチェック幅gcBを設定する(図5のステップS506)。上記チェックノートnote、スウィングレートsgRT、及びグルーブチェック幅gcBによって、チェックゲートcGTが規定される。
図3では、4/4拍子において、チェックノートnoteが4分音符で且つスウィングレートsgRTが0の場合と、チェックノートnoteが8分3連符(♪3)で且つスウィングレートsgRTが0以外に設定された場合における、チェックゲートcGTの時間的位置及び範囲(幅)が示されている。図3は、1小節の1/4を少し超える程度の時間分しか示していないが、実際には、ここに示された状態が定期的に(4/4拍子では拍タイミング間隔で)繰り返される。
ここで、チェックノートnoteとスウィングレートsgRTとで、チェックゲートcGTの時間的中央である基準点P0が定まる。sgRT=0の場合は、基準点P0は、正規のタイミングと一致する。例えば、図3に示すように、4/4拍子においてnote=4分音符で且つsgRT=0の場合は、表拍タイミングであるTCL=0、480・・・という、480tick間隔毎のタイミングに基準点P0が位置する。4/4拍子においてnote=8分音符で且つsgRT=0の場合は、TCL=0、240、480、720・・・という、240tick間隔毎の各タイミングに基準点P0が位置する(図示略)。また、4/4拍子においてnote=♪3で且つsgRT=0の場合は、3連符における各音符に対応する、TCL=0、160、320、480、640・・・という、160tick間隔毎の各タイミングに基準点P0が位置する(図示略)。
一方、sgRT≠0の場合は、基準点P0は正規のタイミングからずれる。例えば、4/4拍子においてnote=♪3で且つsgRT≠0の場合は、裏拍タイミングであるTCL=320からsgRT値分だけずれたタイミングに基準点P0が位置する。ちなみに、4/4拍子においてnote=4分音符で且つsgRT≠0の場合は、図示は省略するが、裏拍タイミングであるTCL=240からsgRT値分だけずれたタイミングに基準点P0が位置することになる。これら2つの例の基準点P0も、それぞれ480tick間隔毎に存在する(図示略)。
グルーブチェック幅gcBは、打撃タイミングずれの許容範囲を意味するもので、例えば、±59tickの範囲内で設定される。基準点P0を中心として、グルーブチェック幅gcBの値だけ前後に広げた区間が、チェックゲートcGTである。図2(a)、(b)に示す例では、note=♪3、sgRT=+1に設定されるので、基準点P0は、TCL=321のタイミングに設定される。そして、gcB=±2と設定されるので(図2(b)参照)、TCL=321を中心とした4tick分の時間幅のチェックゲートcGTが設定される。
図2(a)、(b)に示すように、スウィングレートsgRT及びグルーブチェック幅gcBは、各パッド操作子13に対応する打楽器種類のすべてに対して一律の値を同時に設定可能である。一方、スウィングレートsgRT及びグルーブチェック幅gcBを、各打楽器種類毎に個別に設定することも可能である。その場合の設定を図2(c)に例示する。スウィングレートsgRTの設定は、図示していないが、図2(a)の画面において、各打楽器種類毎に個別に設定できるものとする。
ところで、スウィングレートsgRTの値は、ソングに応じた値や習得したいスウィングの程度に応じてユーザが決めることができる。また、グルーブチェック幅gcBは、ユーザの熟練の度合いによって決めればよい。スウィングレートsgRTが±39内で、グルーブチェック幅gcBが±59内でのみ設定できるようにしたので、4/4拍子においてnote=♪3の設定の場合は、図3に示すように、チェックゲートcGTは、TCL=222〜418の範囲内で設定される。
次に、図2(d)に示すように、「GROOVE」中の「G.CHECK」を選択することで、グルーブチェックモードを選択する。この画面の表示状態において、タイミングチェックを行う場合は、設定操作子6のスタート/ストップスイッチ(図示せず)をオンすることで、ソング再生またはクリック再生の開始を指示する。
通常、ソング再生では、ソングの全打楽器音が発音される。クリック再生では、各拍子における表拍のタイミングで所定のクリック音が発音される。ユーザは、ソング再生またはクリック再生で聞こえる音を指標として、適切なパッド操作子13を実際に打撃する。その際の打撃タイミングの指標の一例としては、ソングにおける全打楽器音自体を用いることができる。
しかし、本実施の形態では、後述する図9のインタラプト処理によって、聴覚による指標として、クリックオンモードを設定すれば、先頭拍(第1拍)のタイミングで第1クリック音が発音され、他の拍タイミングで第2クリック音が発音されるようになっている。また、視覚による指標として、同インタラプト処理によって、先頭拍(第1拍)のタイミングで赤色LED14が点灯され、他の拍タイミングで緑色LED15が点灯される。これらもユーザに演奏の指標を提供することになる。
なお、ソングにおける全打楽器音の発音はキャンセルできるようにしてもよい。また、ユーザに、打撃タイミングの指標を与えることができればよいので、指標として、視覚または聴覚のいずれか一方だけとしてもよいし、簡単には、メトロノーム音だけを発生させてそれを指標としてもよい。ソング再生またはクリック再生において、聴覚による指標としては、少なくとも先頭拍の音が発音されるようにしてもよい。
ソング再生またはクリック再生において、打撃されたパッド操作子13とその打撃タイミングが検出され、それが、実打撃タイミング17として、各パッド操作子13に対応する各打楽器毎に、図2(d)に示す画面に表示される(図7のステップS706)。実打撃タイミング17を示すマークは、例えば、菱形である「◆」、あるいは「◆」に縦棒を付加した表示であるが、これらに限るものではない。チェックゲートcGTは、定期的に到来するので、毎回のチェックゲートcGTに対して、実打撃タイミング17が更新されて表示される。なお、過去の実打撃タイミング17を何らかの表示態様で残すようにしてもよい。
ユーザは、実打撃タイミング17がチェックゲートcGTに入っているか、またはどれだけずれているかを見ることによって、適切なタイミングで打撃ができたか否かの判定結果を視覚的に認識することができる。実打撃タイミング17は、タイミングチェック(判定)が必要なパッド操作子13についてだけ表示させるようにすることも、設定により可能である。このタイミングチェックを行う対象とされたパッド操作子13を「チェック対象」と呼称する。「チェック対象」は、図2(d)に示すグルーブチェックモード画面で選択でき、この例では、「KICK(バスドラム)」に割り当てられているパッド操作子13が「チェック対象」となっている。「チェック対象」は、複数乃至全てを選択可能である。
以下、上記のタイミングチェックを含むメイン処理を説明する。図4は、メイン処理のフローチャートを示す図である。本処理は電源のオン時に開始される。
まず、初期設定を実行、すなわち所定プログラムの実行を開始し、RAM3等の各種レジスタに初期値を設定して初期設定を行う(ステップS401)。次いで、後述する図5のパネル設定を実行、すなわち、設定操作子6の操作を受け付け、機器の設定等の指示を実行する(ステップS402)。次いで、後述する図6の演奏制御を実行して(ステップS403)、前記ステップS402に戻る。
図5は、図4のステップS402で実行されるパネル設定処理のフローチャートである。まず、設定操作子6の操作によるイベントがあった場合において(ステップS501)、各入力モードにおける入力処理を実行する。例えば、グルーブセッティングモードにおける入力処理(ステップS502〜S504)、リズムゲート設定モードにおける入力処理(ステップS505〜S507)をそれぞれ実行する。これら以外のその他入力モードでは、各種入力設定処理を実行する(ステップS508、S509)。入力モードの変化がある度に(ステップS504、S507)、前記ステップS502に戻り、いずれの入力モードでもなくなったら(ステップS508)、本処理を終了する。
具体的には、前記ステップS503の、リズムゲート設定モードにおける入力処理では、上述のようにチェックノートnote及びスウィングレートsgRTを設定する(図2(a)参照)。前記ステップS506のリズムゲート設定モードにおける入力処理では、上述のようにグルーブチェック幅gcBを設定する(図2(b)、(c)参照)。
前記ステップS509の各種入力設定処理では、各種モード設定等の事項を設定する。その中には、拍子の設定、ソングの選択(選曲)、ソング再生におけるテンポの設定が含まれる。また、その他入力モードには、グルーブチェックモード(図2(d)参照)も含まれ、「チェック対象」の選択もこの処理で行う。さらに、ソング再生またはクリック再生の選択及びこれらの再生の開始、停止の指示、並びに、上記したクリックオンモードの設定/設定解除もこの処理で行う。
図6は、図4のステップS403で実行される演奏制御処理のフローチャートである。まず、パッド操作子13に対する打撃入力が検出されたか否かを判別し(ステップS601)、打撃入力がない場合は、本処理を終了する。
一方、打撃入力があった場合は、発音chセットデータに、MIDIch、ノートNo.及びベロシティVELのデータをセットする。この時点で、発音chセットデータが音源9に送出されることになるかどうかは未定である(一時ストック)。ここで、MIDIchは、ドラムパートに対応する所定のチャンネルである。ノートNo.は、打撃されたパッド操作子13で定まるデータであり、打楽器音を規定する。
実際には、演奏操作子インターフェイス5(図1参照)としては、各パッド操作子13が接続される端子(図示せず)が各パッド操作子13に対応して設けられていて、どの端子にどのパッド操作子13を挿入すべきかも予め決まっている。各端子には、打楽器音が割り当てられている。そのため、パッド操作子13を適切な端子に接続した場合は、適切な音色の打楽器音が、各パッド操作子13に割り当てられることになる。ベロシティVELは、上述したように、各パッド操作子13毎の打撃された強さに応じたデータである。
次に、後述する図7のリズムゲート処理を実行する(ステップS603)。リズムゲート処理を経て、発音指示フラグTfが「1」に設定されているか否かを判別し(ステップS604)、「1」に設定されていれば、前記ステップS605で、発音chセットデータが音源9に送出される。これにより、発音chセットデータに従って、音源9で楽音信号が生成され、サウンドシステム10から楽音が発生する。すなわち、実際に打撃されたパッド操作子13に対応する打楽器音が、打撃したタイミングで発音される。しかし、発音指示フラグTfが「0」に設定されている場合は、前記ステップS605を実行することなく、本処理を終了する。この場合は、打撃音が発生しない。
図7は、図6のステップS603で実行されるリズムゲート処理のフローチャートである。まず、発音指示フラグTfを「1」に設定し(ステップS701)、現在の表示装置7の画面表示が、グルーブチェックモードの画面(図2(d)参照)となっているか否かを判別する(ステップS702)。グルーブチェックモードの画面であれば、ソング再生またはクリック再生の実行中か否かを判別し(ステップS703)、いずれかの再生実行中であれば、打撃されたパッド操作子13が、チェック対象となっているか否かを判別する(ステップS704)。
従って、グルーブチェックモードの画面であって、ソング再生またはクリック再生の実行中で、且つ打撃されたパッド操作子13がチェック対象である場合にのみ、後述する図8のタイミングチェック処理を実行する(ステップS705)。その他の場合は、直ちに本処理を終了する。
次に、ステップS706では、モニタである、表示装置7の画面表示に、タイミングチェック処理の結果を表示し、本処理を終了する。ステップS706の結果表示処理においては、上述のように、グルーブチェックモードの画面(図2(d)参照)において、直近の実打撃タイミング17をマーク表示する。これは、判定結果をユーザに報知する手段の1つである。
図8は、図7のステップS705で実行されるタイミングチェック処理のフローチャートである。まず、現在(打撃があった時点)のテンポクロックTCLの値を取得すると共に、設定されているチェックノートnote(図2(a)参照)を取得する(ステップS801)。
次に、打撃があったパッド操作子13に対応する打楽器種類に対して設定されているスウィングレートsgRT(図2(a)参照)を取得し、その値が0でないか否かを判別する(ステップS802)。その判別の結果、sgRT≠0である場合は、スウィング演奏の練習に該当する。この場合は、設定されている拍子(ソング再生の場合はソングで規定される拍子)を把握した上で、チェックノートnote、スウィングレートsgRT及びグルーブチェック幅gcBから、裏拍用のチェックゲートcGTを特定する(ステップS803)。すなわち、チェックノートnoteとスウィングレートsgRTとから基準点P0を特定し、さらに、該基準点P0を中心としたグルーブチェック幅gcBの幅を有する裏拍用のチェックゲートcGTの時間的前端と後端の位置を、小節内において特定する。
例えば、図3の例でいえば、4/4拍子においてnote=♪3の場合は、3連符における第3音に対応する、TCL=320付近のタイミングを基準点P0とするチェックゲートcGTが特定される。これと同時に、このチェックゲートcGTに対してtick値が480の倍数だけずれている位置にもチェックゲートcGTが特定される。従って、1小節内に全部で4つ特定される。
次に、前記ステップS801で取得したテンポクロックTCLの値が、上記特定したチェックゲートcGT内に入っている(合致する)か否かを判別する(ステップS804)。その判別の結果、入っていれば発音指示フラグTfを「1」に設定する一方(ステップS805)、入っていない場合は、発音指示フラグTfを「0」に設定して(ステップS807)、本処理を終了する。
従って、チェックゲートcGT内のタイミングで打撃できたときは、対応する打撃音が発音される(図6のステップS604→S605)。しかし、タイミングが外れた場合は、発音がされない。(図6のステップS604→終了)。この、判定結果による打撃発音の有り無しの制御も、ユーザに対する結果報知の手段の1つである。すなわち、ユーザは、打撃発音の有無と、図7の前記ステップS706における実打撃タイミング17のマーク表示とによって、スウィング感を持たせた適切なタイミングで打撃できたかどうかを、聴覚及び視覚によって確認することができる。しかもそのような練習乃至確認を、各パッド操作子13の個別に行える。
前記ステップS802の判別の結果、打撃があったパッド操作子13に対応する打楽器種類に対して設定されているスウィングレートsgRTが「0」であった場合は、スウィング演奏の練習には該当しない。この場合は、拍子を把握した上で、チェックノートnote及びグルーブチェック幅gcBとから、チェックゲートcGTを特定する(ステップS806)。
例えば、4/4拍子においてnote=4分音符の場合は、各拍タイミングに対応する、TCL=0、480、960、1440のタイミングを基準点P0とする4つのチェックゲートcGTが、小節内において特定される(図3参照)。また、4/4拍子においてnote=♪3の場合は、3連符における各音符に対応する、TCL=0、160、320、480・・・のタイミングを基準点P0とする12個のチェックゲートcGTが特定される。
前記ステップS804以降の処理は、前記ステップS803から移行した場合と同様である。前記ステップS806から移行した場合は、スウィング演奏ではないが、リズムに忠実な適切なタイミングで打撃できたかどうかを確認することができる。
図9は、タイマインタラプト処理のフローチャートである。本処理は、図2のメイン処理の実行中において、1tick間隔毎に実行される。
まず、今回のテンポクロックTCLの値が小節先頭を示すか否かを判別する(ステップS901)。1小節のtick数は、拍子の設定によって異なり、例えば、4/4拍子であれば1920、6/8拍子であれば1440である。従って、このステップでは、TCL値が「1小節分のtick数−1」の値(4/4拍子であれば1919)に達したとき、小節先頭を示すと判別される。
そして、小節先頭を示さない場合は、今回のTCL値が示すタイミングにおいて発音すべき音があれば発音する(ステップS902)。例えば、ソング再生等の自動演奏が指示されている場合は、選択されているソングの進行に従って音源9で楽音信号が生成され、サウンドシステム10から楽音が発生する。
次に、ステップS903に進み、クリックオンモードが設定されていて且つ今回のTCL値が拍タイミング(表拍)を示す場合に限り、各拍用の第2のクリック音を発音させると共に、緑色LED15(図2参照)を短い所定時間だけ点灯する。次に、TCL←TCL+1として(ステップS904)、本処理を終了する。
一方、前記ステップS901で、今回のテンポクロックTCLの値が小節先頭を示す場合は、ステップS905に進み、今回のTCL値が示す小節先頭のタイミングにおいて発音すべき音があれば発音する。例えば、自動演奏が指示されている場合は、小節先頭に対応する音があればその楽音信号が生成され、楽音が発生する。それと同時に、赤色LED14(図2参照)を短い所定時間だけ点灯する。次に、クリックオンモードが設定されている場合に限り、先頭拍(第1拍)用の第1のクリック音(第2のクリック音とは異なる音)を発音させる(ステップS906)。次に、TCL←0として(ステップS907)、小節番号を示す変数BARを、1だけインクリメントして小節を進め(ステップS908)、本処理を終了する。
本処理によれば、ソング再生またはクリック再生が実行されている場合において、まず、先頭拍タイミングで、赤色LED14が点灯される。しかも、クリック再生、及びソング再生でのクリックオンモードではさらに、その他の拍タイミングに対応して緑色LED15が点灯されると共に、先頭拍タイミングとその他の拍タイミングとに対応して、第1のクリック音と第2のクリック音とが発音される。これらは、演奏練習における指標となる。さらに、ソング再生を含む、自動演奏が指定されている場合は、自動再生がなされる。
本実施の形態によれば、チェックゲートcGTを用いて打撃タイミングのチェックをするに当たって、裏拍タイミングについては、チェックゲートcGTの中心位置をスウィングレートsgRTの値だけ前後にずらすことができる。これにより、従来にはない、スウィング感を盛り込んだ演奏練習が可能となり、スウィング感を持たせた打撃演奏を体得することができる。特に、チェックノートnoteでは3連符を設定でき、3連符の場合は、先頭の音符を第1音符とする第3音符を裏拍として、チェックゲートcGTが規定されるので、代表的なスウィング演奏の体得に役立てることができる。しかも、スウィングレートsgRTは、所定範囲内で自由に設定可能であるので、いろいろなレベルのスウィング感を体得することができる。
また、実打撃タイミング17が表示され(図2(d)参照)、しかも、適切なタイミングで打撃できたときのみ、打撃したパッド操作子13に応じた打撃音が発生するので、視覚及び聴覚によって打撃タイミングの適否をユーザに明確に認識させることができる。
また、チェックゲートcGTにおいて、基準点P0を中心とした許容時間幅としてグルーブチェック幅gcBを所定範囲内で任意に設定できるので(図3参照)、ユーザの体得度合いに応じた練習機能を発揮することができる。
また、チェックゲートcGTは、各パッド操作子13毎に対応して規定でき、タイミングチェックも各パッド操作子13毎に判定できるので、複数種類の打楽器のスウィング演奏を同時に練習可能にして、練習効率を高めることができる。しかも、その場合、各チェックゲートcGTの基準点P0の位置を、各パッド操作子13毎に個別に設定できるので、目標とするスウィングの程度を打楽器毎に設定可能にして、実用性を高めることができる。
なお、実際に打撃したタイミングがチェックゲートcGT内に入っていない場合に、打撃音が発生しない構成としたが、その代わりに、本来の打撃音とは別の音を発生させるようにしてもよい。
なお、表拍のタイミングチェックと、スウィングが有る裏拍のタイミングチェックとを、同一楽器において並行して行えるように構成してもよい。その場合、例えば、図8のステップS803において、裏拍用のチェックゲートcGTを特定するのに加えて、ステップS806で行う処理と同様に、チェックノートnote及びグルーブチェック幅gcBとから、表拍用のチェックゲートcGTを特定する。そして、ステップS804では、これら特定した裏拍用及び表拍用のチェックゲートcGT内にテンポクロックTCLの値が入っている(合致する)か否かを判別するようにすればよい。このように構成した場合においても、上記のように、スウィングレートsgRTが±39内で、グルーブチェック幅gcBが±59内でのみ設定できるようにしたので(図3参照)、表拍用のチェックゲートcGTと裏拍用のチェックゲートcGTとが時間的に干渉することがなく、誤判定が回避される。
なお、本実施の形態において、タイミングに関係する設定や制御の処理は、tick値で行ったが、時間値で行えるようにしてもよい。
なお、本実施の形態では、基準点P0に対する実打撃タイミング17のタイミングの適否を、チェックゲートcGTという範囲を用いて行ったが、チェックゲートcGTを規定せずに、演算処理によって行うようにしてもよい。
1 CPU(判定手段、基準タイミング設定手段、楽音発生手段)、 6 設定操作子(リズム設定手段、ずれ量入力手段、許容時間幅設定手段)、 7 表示装置(報知手段)、 10 サウンドシステム(指標手段、報知手段、楽音発生手段)、 13 パッド操作子(打撃操作子)、 14 赤色LED(指標手段)、 15 緑色LED(指標手段)、 P0 基準点(基準タイミング)、 sgRT スウィングレート(ずれ量)、 gcB グルーブチェック幅(許容時間幅)、 cGT チェックゲート(許容時間幅)