以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の実施の形態にかかる演奏教習装置の概略を示す図である。図1に示すように、本実施の形態にかかる演奏教習装置10は、電子鍵盤楽器の形態をとり、鍵盤11を有する。鍵盤11は、キーナンバー「0」の鍵からキーナンバー「SP」までの鍵を含む第1の鍵域11aと、キーナンバー「SP+1」からキーナンバー「N−1」までの鍵を含む第2の鍵域11bとを備える。たとえば、本実施の形態において、第1の鍵域11aは2オクターブの音域を有する。キーナンバー「SP」がスプリットポイントを示す。後述するように、本実施の形態においては、後述する教習モードにおいて、第1の鍵域11aの鍵を押鍵すれば、キーナンバー「n」に対応する音高の楽音が発音される。その一方、教習モードにおいて第2の鍵域11bの鍵(キーナンバー「m」)を押鍵すると、キーナンバー「m−24」に対応する音高の楽音、つまり、キーナンバー「m」より2オクターブ低い音高の楽音が発音される。
また、本実施の形態にかかる演奏教習装置10において、少なくとも第1の鍵域11aの鍵のそれぞれに対応したLEDが配置されたナビゲータ表示領域16が設けられる。本実施の形態においては、ナビゲータ表示領域16は、第1の鍵域11aの上部に設けられているがこれに限定されるものではなく、少なくとも第1の鍵域11aの各鍵の内部にLEDが設けられても良い。本実施の形態においては、ナビゲータ表示領域16が設けられた第1の鍵域11aが生徒用の鍵域であり、第2の鍵域11bが講師用の鍵域となる。
図1には示していないが、演奏教習装置10は、発音すべき楽音の音色を指定する音色指定スイッチ、当該演奏教習装置10における動作モードを指定するモードスイッチを含む入力部12を備える。また、図1には示していないが、演奏教習装置10には液晶表示装置14が設けられ、音色など種々の情報を含む画像を表示することができる。本実施の形態にかかる演奏教習装置10においてはモードスイッチの操作により、通常モード、第1の教習モードおよび第2の教習モードの何れかの演奏モードの下で動作する。
通常モードにおいては、鍵盤11を単一の鍵域として用いて、押鍵された鍵のキーナンバーに対応する音高の楽音が発生される。第1の教習モードにおいては、第1の鍵域の鍵については押鍵された鍵のキーナンバーに対応する音高の楽音が発生され、その一方、第2の鍵域の鍵については押鍵された鍵のキーナンバーより2オクターブ低い音高の楽音が発音され、かつ、第2の鍵域の押鍵に応答して、第1の鍵域における一定の関係を有する鍵に対応するLEDが点灯する。第2の教習モードにおいては、第1の鍵域の鍵については押鍵された鍵のキーナンバーに対応する音高の楽音が発生され、その一方、第2の鍵域の鍵については押鍵された鍵のキーナンバーより2オクターブ低い音高の楽音が発音される。さらに、第2の教習モードにおいては、生徒および教師の双方の新規の押鍵、離鍵がなくなり、その後、所定時間が経過したときに、再生済みでない(つまり、LEDの点灯、消灯がされていない)演奏データについて、第1の鍵域11aにおいてLEDの点灯、消灯することにより、講師の演奏をガイドする。
図2は、本実施の形態にかかる演奏教習装置の構成を示すブロックダイヤグラムである。図2に示すように、本実施の形態にかかる演奏教習装置10は、CPU21、ROM22、RAM23、サウンドシステム24、鍵盤11、入力部12および表示部13を備える。
入力部12は、音色指定スイッチやモードスイッチを有する。表示部13は、液晶表示装置14およびLED群15を有する。LED群15を構成するLEDは、電子楽器の第1の鍵域11aの上部位置するナビゲータ表示領域16において、第1の鍵域11aの鍵に対応付けられて配置されている。
CPU21は、演奏教習装置10全体の制御、鍵盤11の鍵の押鍵や入力部12を構成するスイッチ(モードスイッチ)の操作の検出、鍵やスイッチの操作にしたがったサウンドシステム24の制御、LEDの点灯など種々の処理を実行する。
ROM22は、CPU21に実行させる種々の処理、鍵盤11の鍵の押鍵や入力部12を構成するスイッチ(モードスイッチ)の操作の検出、鍵やスイッチの操作にしたがったサウンドシステム24の制御、LEDの点灯など種々の処理プログラムを格納する。また、ROM22は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの楽音を生成するための波形データを格納した波形データエリアを有する。
RAM23は、ROM22から読み出されたプログラムや、処理の過程で生成されたデータを記憶する。また、本実施の形態においては、第2の教習モードにおいて、第2の鍵域11bにおいて押鍵された鍵に基づくイベントおよびタイムピリオドのレコードが生成され、イベントおよびタイムピリオドのレコードから構成される演奏データがRAM23に格納される。
サウンドシステム24は、音源部26、オーディオ回路27およびスピーカ28を有する。音源部26は、たとえば、ノートオンイベントをCPU21から受信すると、ROM22の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。オーディオ回路27は、楽音データをD/A変換して増幅する。これによりスピーカ28から音響信号が出力される。
図3は、本実施の形態にかかる電子楽器のメインフローの概略を示すフローチャートである。電源の投入とともに、メインフローは起動し、イニシャライズ処理(ステップ301)の後、ステップ302以降の処理が繰り返し実行される。図3に示すように、演奏教習装置10のCPU21は、演奏教習装置10の電源が投入されると、RAM23中のデータのクリア、液晶表示装置14の画像のクリアおよびLED群15のクリアを含むイニシャライズ処理を実行する(ステップ301)。イニシャライズ処理(ステップ301)が終了すると、CPU21は、入力部12を構成するスイッチのそれぞれの操作を検出し、検出された操作にしたがった処理を実行するスイッチ処理を実行する(ステップ302)。図4は、本実施の形態にかかるスイッチ処理の例を示すフローチャートである。
図4に示すように、スイッチ処理において、CPU21は、入力部12のいずれかのスイッチの操作があったかを判断する(ステップ401)。ステップ401でNoと判断された場合には、スイッチ処理を終了する。ステップ401でYesと判断された場合には、CPU21は、操作されたスイッチが、モードスイッチであるかを判断する(ステップ402)。ステップ402でNoと判断された場合には、CPU21は、操作されたスイッチ(たとえば、音色指定スイッチ)にしたがった処理(その他のスイッチ処理)を実行する(ステップ408)。
ステップ402でYesと判断された場合には、CPU21は、モードスイッチにより通常モードが指定されたかを判断する(ステップ403)。ステップ403でYesと判断された場合には、CPU21は、RAM23中のモード指定フラグNFに「0」をセットする(ステップ404)。ステップ403でNoと判断された場合には、CPU21は、モードスイッチにより第1の教習モードが指定されたかを判断する(ステップ405)。ステップ405でYesと判断された場合には、RAM23中のモード指定フラグNFに「1」をセットする(ステップ406)。ステップ405でNoと判断された場合には、RAM23中のモード指定フラグNFに「2」をセットする(ステップ407)。
スイッチ処理(ステップ302)が終了すると、CPU21は、鍵盤処理を実行する(ステップ303)。図5ないし図9は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。
本実施の形態にかかる鍵盤処理においては、キーナンバーの小さい鍵(キーナンバー「0」)から順に、鍵の状態が判定され、必要な処理が実行される。図5に示すように、CPU21は、キーナンバーを特定するパラメータKNを「0」に初期化して(ステップ501)。パラメータKNが示す鍵の状態を判断する(ステップ502)。ステップ502においては、パラメータKNが示す件が新規に「オン」状態となったこと、新規に「オフ」状態となったこと、或いは、鍵の状態が「変化なし」であること、の何れかが判断される。
ステップ502で鍵が「オン」状態と判断された場合には、CPU21は、モード指定フラグNFが「0」であるか、つまり、演奏教習装置10が「通常モード」の下で動作しているかを判断する(ステップ503)。ステップ503でYesと判断された場合に、CPU21は、KNに対応する鍵、つまり、キーナンバーKNの鍵のノートオンイベントを生成して、音源部26に送出する(ステップ504)。音源部26は、ノートオンイベントにしたがって、指定された音色の波形データを、指定された音高に基づいて読み出して、かつ、読み出された波形データに、エンベロープに基づく乗算値を乗算して楽音データを生成し、オーディオ回路27に出力する。
次いで、CPU21は、パラメータKNをインクリメントして(ステップ507)、パラメータKNが、最大数(本実施の形態では「N−1」)以下であれば(ステップ508でNo)、ステップ502に戻る。
ステップ502で鍵が「オフ」状態と判断された場合にも、CPU21は、モード指定フラグNFが「0」であるか、つまり、演奏教習装置10が「通常モード」の下で動作しているかを判断する(ステップ505)。ステップ505でYesと判断された場合には、CPU21は、KNに対応する鍵、つまり、キーナンバーKNの鍵のノートオフイベントを生成して、音源部26に送出する(ステップ506)。音源部26は、ノートオフイベントにしたがって、読み出された波形データに、リリースエンベロープに基づく乗算値を乗算して、徐々に減衰する楽音データを生成し、オーディオ回路27に出力する。
ステップ502において、鍵状態が「変化なし」と判断された場合には後述する。次に、ステップ503でNoと判断された場合、つまり、演奏教習装置10が、「第1の教習モード」或いは「第2の教習モード」の何れかの動作モードの下で動作していることになる。ステップ503でNoと判断された場合には、CPU21は、モード指定フラグNFが「1」であるかを判断する(ステップ601)。ステップ601でYesと判断された場合には、CPU21は、パラメータKNが、スプリットポイントSPより大きいかを判断する(ステップ604)。ステップ604でNoと判断された場合には、CPU21は、KNに対応する鍵、つまり、キーナンバーKNの鍵のノートオンイベントを生成して、音源部26に送出する(ステップ603)。音源部26は、ノートオンイベントにしたがって、指定された音色の波形データを、指定された音高に基づいて読み出して、かつ、読み出された波形データに、エンベロープに基づく乗算値を乗算して楽音データを生成し、オーディオ回路27に出力する。
ステップ604でYesと判断されることは、第1の教習モードにおいて、第2の鍵域11bの鍵が押鍵されたことを意味している。ステップ604でYesと判断された場合には、CPU21は、LED点灯フラグTFを「1」にセットし(ステップ605)、かつ、講師の演奏に基づくキーナンバーTKNとして、「KN−24」をセットする(ステップ606)。LED点灯フラグTFおよびキーナンバーTKNは、RAM23に格納される。また、本実施の形態において、キーナンバーTKNは、キーナンバーKNより2オクターブ低い音高を示している。
次いで、CPU21は、TKNに対応する鍵、つまり、キーナンバーTKN(=KN−12)の鍵のノートオンイベントを生成して、音源部26に送出する(ステップ607)。音源部26は、ノートオンイベントにしたがって、指定された音色の波形データを、指定された音高に基づいて読み出して、かつ、読み出された波形データに、エンベロープに基づく乗算値を乗算して楽音データを生成し、オーディオ回路27に出力する。
また、ステップ601でNoと判断された場合、つまり、モード指定フラグNFが「2」である場合には、CPU21は、パラメータKNが、スプリットポイントSPより大きいかを判断する(ステップ602)。ステップ602でNoと判断された場合には、CPU21は、KNに対応する鍵、つまり、キーナンバーKNの鍵のノートオンイベントを生成して、音源部26に送出する(ステップ603)。音源部26は、ノートオンイベントにしたがって、指定された音色の波形データを、指定された音高に基づいて読み出して、かつ、読み出された波形データに、エンベロープに基づく乗算値を乗算して楽音データを生成し、オーディオ回路27に出力する。
その一方、ステップ602でYesと判断された場合には、CPU21は、RAM23を参照して、RAM23に格納されている記録停止フラグSTFが「1」であるかを判断する(ステップ701)。記録停止フラグSTFは、第2の教習モードにおいて、ナビゲート処理におけるタイマインタラプトの解除、および、演奏データの記録・記録動作の停止を制御する。
ステップ701でYesと判断された場合には、CPU21は、記録停止フラグSTFを「0」に」リセットするとともに(ステップ702)、第1のタイマ値Tを「0」にセットする(ステップ703)。その後、CPU21は、第1タイマインタラプトを解除する(ステップ704)。なお、本明細書において、インタラプトの解除とは、インタラプトの動作制限をやめて、動作可能とすること、つまり、インタラプト処理が実行され得る状態となることを意味している。
その一方、ステップ702でNoと判断された場合、つまり、記録停止フラグSTFが「0」である場合には、CPU21は、第1のタイマのタイマ値Tを、演奏データのレコードとしてRAM23に格納する(ステップ705)。その後、CPU21は、第1のタイマをリセットしてタイマ値Tを「0」にする(ステップ706)。
ステップ704或いはステップ706が終了した後、CPU21は、講師の演奏に基づくキーナンバーTKNとして、「KN−24」をセットして(ステップ707)、TKNに対応する鍵、つまり、キーナンバーTKN(=KN−12)の鍵のノートオンイベントを生成して、演奏データのレコードとしてRAM23に格納する(ステップ708)。その後、ステップ607において、生成されたノートオンイベントが音源部26に送出される。
以下、本実施の形態にかかる演奏データについて説明する。ステップ705において、タイマ値Tが演奏データのレコードとしてRAM23に格納され、ステップ708では、ノートオンイベントが演奏データのレコードとして格納される。さらに、後述するように、ステップ809において、タイマ値Tが演奏データのレコードとしてRAM23に格納され、ステップ809では、ノートオフイベントが演奏データのレコードとして格納される。
図10は、生成された演奏データのデータ構成例を示す図である。図10に示すように、演奏データ1000においては、たとえば、ノートオンイベント、タイムピリオド、ノートオフイベント、タイムピリオドという順にレコードが格納されている(たとえば、符号1001参照)。ノートオンイベント#00(符号1011参照)には、押鍵された鍵のキーナンバーが含まれる。また、引き続くタイムピリオド#00(符号1012参照)は、ノートオンイベント#00と、次のイベント(ノートオフイベント#0)までのタイマ値が格納される。
次に、ステップ505でNoと判断された場合、つまり、キーナンバーKNの鍵が「オフ」状態で、かつ、演奏教習装置10が、「第1の教習モード」或いは「第2の教習モード」の何れかの下で動作している場合には、CPU21は、モード指定フラグNFが「1」であるかを判断する(ステップ801)。ステップ801でYesと判断された場合には、CPU21は、パラメータKNが、スプリットポイントSPより大きいかを判断する(ステップ802)。
ステップ802でYesと判断された場合には、CPU21は、「TKN+24=KN」であるかを判断する(ステップ803)。ステップ803では、新たに「オフ状態」となった鍵のキーナンバーに対応するパラメータKNが、講師の演奏に基づくキーナンバーTKNの2オクターブ上の音高に対応するかを判断している。ステップ803でYesと判断された場合には、LED点灯フラグTFを「0」にリセットする(ステップ804)。次いで、CPU21は、TKNに対応する鍵のノートオフイベントを生成して、音源部26に送出する(ステップ805)。音源部26は、ノートオフイベントにしたがって、読み出された波形データに、リリースエンベロープに基づく乗算値を乗算して、徐々に減衰する楽音データを生成し、オーディオ回路27に出力する。その後、ステップ507に進む。また、ステップ803でNoと判断された場合にも、ステップ507に進む。
ステップ802でNoと判断された場合、つまり、パラメータKNが、スプリットポイントSP以下である場合には、CPU21は、KNに対応する鍵のノートオフイベントを生成して、音源部26に送出する(ステップ806)。音源部26は、ノートオフイベントにしたがって、読み出された波形データに、リリースエンベロープに基づく乗算値を乗算して、徐々に減衰する楽音データを生成し、オーディオ回路27に出力する。その後、ステップ507に進む。
次に、ステップ801でNoと判断された場合について説明する。ステップ801でNoと判断されることは、モード指定フラグNFが「2」、つまり、演奏教習装置10が、第2の教習モードの下で動作していることを意味する。この場合には、CPU21は、パラメータKNが、スプリットポイントSPより大きいかを判断する(ステップ807)。ステップ807でNoと判断された場合には、CPU21は、KNに対応する鍵のノートオフイベントを生成して、音源部26に送出する(ステップ806)。
ステップ807でYesと判断された場合には、CPU21は、「TKN+24=KN」であるかを判断する(ステップ808)。ステップ808でNoと判断された場合には、ステップ507に進む。ステップ808でYesと判断された場合には、第1のタイマのタイマ値Tを、演奏データのレコードとしてRAM23に格納する(ステップ809)。その後、CPU21は、第1のタイマをリセットしてタイマ値Tを「0」にする(ステップ810)。その後、CPU21は、TKNに対応する鍵のノートオフイベントを生成して、演奏データのレコードとしてRAM23に格納する(ステップ811)。ステップ811において生成されたノートオフイベントは、ステップ805において音源部26に送出される。
次に、ステップ802において、「変化なし」と判断された場合について説明する。この場合には、CPU21は、記録停止フラグSTFが「0」であるかを判断する(ステップ901)。ステップ901でYesと判断された場合には、CPU21は、RAM23に格納された時間情報(タイマ値T)が、所定値を超えているかを判断する(ステップ902)。ステップ901でNo、或いは、ステップ902でNoと判断された場合には、ステップ507に進む。
ステップ902でYesと判断された場合には、CPU21は、演奏データにおいてまだ読み出されていないレコードのうち、先頭に位置するレコードのノートオンイベントを読み出して、ノートオンイベントが示す音高に対応するLEDを点灯する(ステップ904)。次いで、CPU21は、演奏データにおいて引き続くレコード中のタイムピリオドを読み出して(ステップ905)、第2のタイマ値tとして、レコードに含まれるタイムピリオドをセットする(ステップ906)。その後、CPU21は、第2タイマインタラプトを解除する(ステップ907)。また、CPU21は、ガイドフラグGFを「1」にセットする(ステップ908)。このガイドフラグGFもRAM23に格納される。
鍵盤処理(ステップ303)の後、CPU21は、ナビゲート処理を実行する(ステップ304)。図11および図12は、本実施の形態にかかるナビゲート処理の例を示すフローチャートである。図11に示すように、CPU21は、モード指定フラグNFが「1」であるかを判断する(ステップ1101)。
ステップ1101でYesと判断された場合には、LED点灯フラグTFが「1」であるかを判断する。ステップ1102でYesと判断された場合には、CPU21は、RAM23に格納されたTKNを参照して、TKNが示す音高に対応するLEDを点灯する(ステップ1103)。その一方、LED点灯フラグTFが「0」である場合には、TKNが示す音高に対応するLEDを消灯する(ステップ1104)。
ステップ1101でNoと判断された場合には、モード指定フラグNFが「2」であるかを判断する(ステップ1105)。ステップ1105でYesと判断された場合には、CPU21は、ガイドフラグGFが「1」であるかを判断する(ステップ1106)。ステップ1106でYesと判断された場合には、CPU21は、第2のタイマ値tが「0」以下であるかを判断する(ステップ1107)。ステップ1105〜1107の何れかでNoと判断された場合には、処理を終了する。
ステップ1107でYesと判断された場合には、演奏データから、読み出されていないレコードのうち、先頭のレコード、つまり、先の処理で読み出されたレコードの次のレコードを読み出す(ステップ1202)。読み出すレコードが存在した場合には(ステップ1202でNo)、CPU21は、レコードの種別を判断する(ステップ1203)。
レコード種別がタイムピリオドである場合には、第2のタイマ値tに、読み出されたレコードに含まれる値をセットして(ステップ1204)、処理を終了する。
その一方、レコード種別がイベントである場合には、CPU21は、イベント種別を判断する(ステップ1205)。イベントがノートオンイベントである場合には、CPU21は、ノートオンイベントが示す音高に対応するLEDを点灯する(ステップ1206)。その一方、イベントがノートオフイベントである場合には、CPU21は、ノートオフイベントが示す音高に対応するLEDを消灯する(ステップ1207)。ステップ1206、1207の後、ステップ1201に戻る。
ステップ1202においてNoと判断された場合、つまり、演奏データのレコードが末尾まで読み出された場合には、CPU21は、第1インタラプトおよび第2インタラプトを停止する(ステップ1208)。また、CPU21は、記録停止フラグSTFを「1」にセットするとともに(ステップ1209)、ガイドフラグGFを「0」にリセットする(ステップ1210)。
ナビゲート処理(ステップ304)が終了すると、CPU21は、その他の処理、たとえば、液晶表示装置14の画像の生成および表示などを実行する(ステップ305)。
なお、第1のタイマインタラプト、および、第2のタイマインタラプトが解除されると、第1のタイマインタラプト処理および第2のタイマインタラプト処理が、図13(a)、(b)に示すようにそれぞれ実行される。第1のインタラプト処理、および、第2のインタラプト処理は、所定の単位時間ごとに実行される。図13(a)に示すように、第1のタイマインタラプト処理においては、第1のタイマ値Tがインクリメントされる(ステップ1301)。その一方、図13(b)に示すように、第2のタイマインタラプト処理においては、第2のタイマ値がデクリメントされる(ステップ1302)。
上述した処理、特に、鍵盤処理およびナビゲート処理により、第1の鍵域11aにおける生徒の演奏、および、第2の鍵域11bにおける講師の演奏によって、LEDの点灯、消灯が以下のように行われる。
第1の教習モードの下では、第2の鍵域11bの鍵が押鍵されると、その2オクターブ下の音高の楽音が発音されるとともに、当該2オクターブしたの鍵に対応するLEDが点灯する。図14(a)〜(d)は、第1の教習モードにおいて、キーナンバーKN1およびKN2の鍵が、順次押鍵・離鍵されたときの演奏教習装置10における動作を説明する図である。
キーナンバーKN1の鍵がオン状態となったときに、ステップ605においてLED点灯フラグTFが「1」にセットされ、ステップ607において、TKN1=KN1−24が示す音高の楽音が発生される。また、ナビゲート処理のステップ1102においてYesと判断されるため、ステップ1103において、TKN1が示す音高のLEDが点灯される(図14(a)参照)。
また、キーナンバーKN1の鍵がオフ状態となったときに、ステップ804においてLED点灯フラグTFが「0」にリセットされ、ステップ805において、TKN1が示す音高の楽音が消音される。また、ナビゲート処理において、ステップ1102においてNoと判断され、ステップ1104において、TKN1が示す音高のLEDが消灯される(図14(b)参照)。
同様に、第2の鍵域11bのキーナンバーKN2の鍵がオン状態となると、TKN2=KN2−24が示す音高の楽音が発生されると共に、TKN2が示す音高のLEDが点灯される(図14(c)参照)。また、キーナンバーKN2の鍵がオン状態となると、TKN2が示す音高の楽音が消音されるとともに、TKN2が示す音高のLEDが消灯される(図14(d)参照)。
次に、第2の教習モードにおけるLEDの点灯、消灯についてより具体的に説明する。図15(a)〜(j)は、第2の教習モードにおいて、キーナンバーKN1およびKN2の鍵が順次押鍵・離鍵され、その後、一定時間、新規の押鍵・離鍵がなかったときの演奏教習装置10における動作を説明する図である。
第2の鍵域11bのキーナンバーKN1の鍵がオン状態になると、ステップ705において、演奏データのレコードとしてタイマ値Tが格納されるとともに、ステップ708において、その次の演奏データのレコードとしてTKN1(=KN1−24)に対応する音高のノートオンイベント(KOnTKN1)が格納される(図15(a)参照)。符号1501が、キーナンバーKN1の鍵が押鍵されたときの、演奏データのレコードの状態を示す。また、この状態では、記録停止フラグSTFは「0」であり、第1のタイマインタラプトは解除されている。また、ステップ607において、TKN1が示す音高の楽音が発音される。
キーナンバーKN1の鍵がオフ状態となると、ステップ809において、演奏データのレコード(符号1502参照)。としてタイマ値Tが格納されるとともに、ステップ811において、TKN1に対応する音高のノートオフイベント(KOffTKN1)が格納される(図15(b)参照)。また、ステップ805において、TKN1が示す音高の楽音が消音される。
その後、キーナンバーKN2の鍵がオン状態となると、演奏データのレコード(符号1423参照)としてタイマ値Tが格納されるとともに、その次の演奏データのレコードとしてTKN2(=KN2−24)に対応する音高のノートオンイベント(KOnTKN2)が格納される(図15(c)参照)。また、TKN2が示す音高の楽音が発音される。キーナンバーKN2の鍵がオフ状態となると、演奏データのレコード(符号1504参照)。としてタイマ値Tが格納されるとともに、TKN2に対応する音高のノートオフイベント(KOffTKN2)が格納される(図15(d)参照)。また、TKN2が示す音高の楽音が消音される。
その後、第1の鍵域11aおよび第2の鍵域11bの双方において、所定値より長い時間だけ、新たな鍵の押鍵或いは離鍵が無かったとする。図15(e)に示すように、第1のタイマ値Tが、所定値より大きくなると、ステップ903において、最初のノートオンイベント(KOnTKN1)が読み出され、ステップ904において、TKN1が示す音高のLEDが点灯する。また、ステップ906〜908において、第2のタイマ値tとして演奏レコード中のタイムピリオドT2がセットされ、第2のタイマインタラプトが解除され、さらに、ガイドフラグGFが「1」にセットされる。
図15(f)は、演奏データのレコード(符号1504)が示されている。図15(g)に示すように、第2のタイマインタラプトが解除されたことにより、第2のタイマ値tが「0」以下になると、ステップ1202、1203、1205および1206を経て、演奏データの次のレコード(ノートオフイベントKOffTKN1)が読み出され、TKN1が示す音高のLEDが消灯する。また、ステップ1202、1203、1204を経て、第2のタイマ値tとして演奏データ中のタイムピリオドT3がセットされる。
図15(h)に示すように、第2のタイマ値tが「0」以下になると、ステップ1202、1203、1205および1207を経て、演奏データの次のレコード(ノートオンイベントKOnTKN2)が読み出され、TKN2が示す音高のLEDが点灯する。また、ステップ1202、1203、1204を経て、第2のタイマ値tとして演奏データ中のタイムピリオドT4がセットされる。
図15(i)に示すように、さらに、第2のタイマ値tが「0」以下になると、ステップ1202、1203、1205および1206を経て、演奏データの次のレコード(ノートオフイベントKOffTKN2)が読み出され、TKN1が示す音高のLEDが消灯する。また、ステップ1202、1208、1209を経て、第1のタイマインタラプトおよび第2のインタラプトが停止され、STFが「1」にセットされるとともに、GFが「0」にリセットされる。その後、新たに第2の鍵域11bにおいて、キーナンバーKN3の鍵が押鍵されると、STFが「0」にリセットされ、第1のタイマインタラプトが解除される。
本実施の形態においては、CPU21は、第2の鍵域に属する鍵の何れかが操作されたときに、当該第2の鍵域に属する鍵と音高的に一定の対応関係にある、第1の鍵域に属する鍵に対応する音高の楽音データを生成するように音源部26に指示を与えるとともに、第1の鍵域に属する鍵に対応するLEDを点灯させる。また、CPU21は、第2の鍵域に属する鍵の操作に基づく演奏データのレコードをRAM23に格納する。CPU21は、RAM23に格納された演奏データのレコードに基づき、第1の鍵域に属する鍵に対応するLEDを点灯させる。
本実施の形態によれば、第2の鍵域において講師が第2の鍵域における一連の鍵を操作すると、当該一連の鍵のそれぞれと一定の対応関係にある第1の鍵域の、一連の鍵のそれぞれに対応付けられたLEDが順次点灯する。したがって、生徒は、第1の鍵域の一連の鍵のそれぞれに対応付けられたLEDの点灯を参照して、一連の鍵の操作に基づくフレーズを練習することができる。その一方、講師も一連の鍵の操作をした後、LEDの点灯に基づく生徒による、当該一連の鍵と同等の鍵の操作に注意をしてアドバイスを与えることができる。
また、本実施の形態において、CPU21は、第1の鍵域の鍵、および、第2の鍵域の鍵が操作されなくなってから所定時間経過したときに、RAM23に格納された演奏データに基づき、第1の鍵域に属する鍵に対応するLEDを点灯させる。したがって、講師および生徒の双方の演奏が中断して所定時間が経過すると、講師の操作による一連の鍵のそれぞれと一定の対応関係にある第1の鍵域の、一連の鍵のそれぞれに対応付けられたLEDが順次点灯する。したがって、講師は、生徒の演奏が中断したときに自分の演奏も中断させることにより、所定時間後にLEDの点灯によるガイドを開始させることができる。
また、本実施の形態において、演奏データは、鍵がオンされたことを示すノートオンイベント、鍵がオフされたことを示すノートオフイベント、イベント間の時間間隔を示すタイムピリオドのレコードを含む。CPU21は、演奏データのレコードのうち、まだ読み取られていない先頭のノートオンイベントを読み出して、当該ノートオンイベントが示す第1の鍵域に属する鍵に対応するLEDを点灯させ、また、タイムピリオドが示す時間の経過後、次のレコードを読み出し、また、点灯中のLEDに対応する鍵に関するノートオフイベントを読み出すと、当該点灯中のLEDを消灯させる。したがって、LEDの点滅は、講師が鍵の押鍵および離鍵のタイミングに合致させることができる。
本実施の形態においては、演奏操作子である鍵のそれぞれを指定する操作子指定手段としてLEDが用いられている。LEDは、鍵のそれぞれに隣接して配置されていても良いし、鍵のそれぞれの内部に配置されていても良い。LEDを点灯させることにより、生徒は、押鍵すべき鍵を即座に知ることが可能となる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
前記実施の形態において、演奏操作子である鍵を指定する操作子指定手段としてLEDが用いられているがこれに限定されるものではない。たとえば、液晶表示装置の画面上に第1の鍵域に相当する画像を生成して、当該画像中、所定の鍵を指定する印を含ませることにより、操作すべき鍵を指定しても良い。
また、前記実施の形態において、低音域側の第1の鍵域11aを生徒用として使用し、第1の鍵域11aの上部にナビゲータ表示領域16を設け、ナビゲータ表示領域中に、第1の鍵域11aの鍵に対応付けてLEDを配置している。しかしながら、鍵域の位置関係は上述したものに限定されず、低音域側を講師用の第2の鍵域、高音域側を生徒用の第1の鍵域として、第1の鍵域の上部にナビゲータ表示領域を設けても良い。
また、本実施の形態においては、CPU21は、第1の鍵域の鍵、および、第2の鍵域の鍵が操作されなくなってから所定時間経過したときに、RAM23に格納された演奏データに基づき、第1の鍵域に属する鍵に対応するLEDを点灯させる。しかしながら、LEDの点灯だけではなく、第1の鍵域に属する鍵の音高の楽音を発音させても良い。
以下、第2の教習モード(モード指定フラグNF=2)のときに、LEDの点灯および楽音の発音をさせるような処理について説明する。モード指定フラグNFが「2」のときに、演奏データからノートオンイベントが読み出され、ノートオンイベントが示す音高のLEDを点灯する処理が実行される(図9のステップ904、図12のステップ1206)。このときに、つまり、ステップ904、ステップ1206において、CPU21は、ノートオンイベントを音源部26に送出して、楽音データの生成を指示する。また、演奏データからノートオフイベントが読み出され、ノートオフイベントが示す音高のLEDが消灯されている(図12のステップ107)。このとき、つまり、ステップ1207において、CPU21は、ノートオフイベントを音源部26に送出して、発音中の楽音の消音を指示する。
上述したように第2の教習モードにおいて、LEDの点灯および楽音の発音をする構成としても良いし、第2の教習モードは、前記実施の形態と同様にLEDの点灯のみを行い、さらに他の教習モードとして第3の教習モードを設け、演奏教習装置10が、第3の教習モード(モード指定フラグNF=3)のときに、上述したように、ノートオンイベントが示す音高のLEDを点灯する処理が実行される際に、CPU21がノートオンイベントを音源部26に送出し、かつ、ノートオフイベントが示す音高のLEDが消灯される際に、CPU21がノートオフイベントを音源部26に送出しても良い。
このような構成を採用すると、講師の一連の鍵の操作に基づくフレーズを構成する鍵を、LEDの点灯により示すことができるとともに、楽音を発音することで聴かせることも可能となる。すなわち、LEDの点灯により目によりフレーズを覚えさせ、同時に、楽音を聴かせることにより耳でフレーズを覚えさせることが可能となる。