(57)【特許請求の範囲】
【請求項１】
複数のパートからなりかつ少なくともノートオンデータ及び各ノートオンデータを読み出すべきタイミングを示す時間データが所定の順序で配列されて記憶手段に記憶された曲データの中から、特定のパートに含まれるノートオンデータを読み出す特定パートデータ読出手段と、
前記記憶手段に記憶された曲データから前記特定パートデータ読出手段により読み出されたノートオンデータを、前記時間データに基づくタイミングで順次読み出すと共に、当該ノートオンデータが読み出された時点で読出し動作を停止させる曲データ読出手段と、
前記特定パートデータ読出手段によりノートオンデータが読み出されると、当該読み出されたノートオンデータに基づいて演奏装置の演奏教習に係る操作部に対応する発光手段を所定の態様で発光させるための演奏教習データを作成して送信する第１の送信手段と、
前記曲データ読出手段によりノートオンデータが読み出されると、当該読み出されたノートオンデータのうち、特定パートのノートオンデータに基づいて前記演奏装置の演奏教習に係る操作部に対応する発光手段を前記所定の態様とは異なる態様で発光させるための演奏教習データを作成するとともに、当該演奏教習データを送信する第２の送信手段と、
前記演奏装置の操作部により発生したノートオンデータを受信する受信手段と、
この受信手段によりノートオンデータが受信されたことに応答して、前記特定パートデータ読出し手段に対して前記曲データの次のノートオンデータを読み出させるように制御するとともに、前記曲データ読出手段に対して読出し動作を再開させるように制御する読出制御手段と、
を有する演奏教習データ送信装置。
【請求項２】
複数のパートからなりかつ少なくともノートオンデータが所定の順序で配列されて記憶手段に記憶された曲データの中から、特定のパートに含まれるノートオンデータを読み出す特定パートデータ読出手段と、
前記特定パートデータ読出手段により読み出されたノートオンデータに基づいてノートオフデータを作成し、このノートオフデータ及びノートオフデータの両方を所定時間間隔で交互に発生させることによって接続された演奏装置の演奏教習に係る操作部に対応する発光手段を点滅発光させるための演奏教習データを作成して送信する第１の送信手段と、
前記演奏装置の操作部により発生したノートオンデータを受信する受信手段と、
この受信手段によりノートオンデータが受信されたことに応答して、前記特定パートデータ読出し手段が前記曲データの次のノートオンデータを読み出させるように制御する読出制御手段と、
を有する演奏教習データ送信装置。
【請求項３】
複数のパートからなりかつ少なくともノートオンデータ及び各ノートオンデータを読み出すべきタイミングを示す時間データが所定の順序で配列されて記憶手段に記憶された曲データの中から、特定のパートに含まれるノートオンデータを読み出す特定パートデータ読出手順と、
前記記憶手段に記憶された曲データから前記特定パートデータ読出手順により読み出されたノートオンデータを、前記時間データに基づくタイミングで読み出すと共に、当該ノートオンデータが読み出された時点で読出し動作を停止させる曲データ読出手順と、
前記特定パートデータ読出手順によりノートオンデータが読み出されると、当該読み出されたノートオンデータに基づいて演奏装置の演奏教習に係る操作部に対応する発光手段を所定の態様で発光させるための演奏教習データを作成して送信する第１の送信手順と、
前記曲データ読出手順によりノートオンデータが読み出されると、当該読み出されたノートオンデータのうち、特定パートのノートオンデータに基づいて前記演奏装置の演奏教習に係る操作部に対応する発光手段を前記所定の態様とは異なる態様で発光させるための演奏教習データを作成するとともに、当該演奏教習データを送信する第２の送信手順と、
前記演奏装置の操作部により発生したノートオンデータを受信する受信手順と、
この受信手順によりノートオンデータが受信されたことに応答して、前記特定パートデータ読出し手順に対して前記曲データの次のノートオンデータを読み出させるように制御するとともに、前記曲データ読出手順に対して読出し動作を再開させるように制御する読出制御手順と、
を有する演奏教習データ送信処理プログラムを記録した記録媒体。
【請求項４】
複数のパートからなりかつ少なくともノートオンデータが所定の順序で配列されて記憶手段に記憶された曲データの中から、特定のパートに含まれるノートオンデータを読み出す特定パートデータ読出手順と、
前記特定パートデータ読出手順により読み出されたノートオンデータに基づいてノートオフデータを作成し、このノートオフデータ及びノートオフデータの両方を所定時間間隔で交互に発生させることによって接続された演奏装置の演奏教習に係る操作部に対応する発光手段を点滅発光させるための演奏教習データを作成して送信する第１の送信手順と、
前記演奏装置の操作部により発生したノートオンデータを受信する受信手順と、
この受信手順によりノートオンデータが受信されたことに応答して、前記特定パートデータ読出し手順が前記曲データの次のノートオンデータを読み出させるように制御する読出制御手順と、
を有する演奏教習データ送信処理のプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子鍵盤楽器やその他の演奏装置に接続して演奏を教習する演奏教習データを送信する演奏教習装置及び演奏教習処理プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来の演奏装置において、例えば電子鍵盤楽器の中には、鍵盤の各鍵に対応してＬＥＤ等の発光素子を設けて、複数のパートからなる曲データの進行に合わせて、メロディパート等の音高データに対応する鍵の発光素子を点灯させ、曲の演奏練習を可能にするナビゲーション（以下「ナビ」と称する）の機能をもったものがある。練習する曲データは内部のＲＯＭ等のメモリにあらかじめ格納することができるが、ＭＩＤＩ規格の電子鍵盤楽器では、フロッピーディスク等の外部記録媒体から曲データをＭＩＤＩ形式で入力してこのようなナビ機能を行うことができる。したがって、あらかじめ内蔵されている曲に限定されることなく、外部から提供される様々な曲の練習が可能になる。
この場合において、演奏者の認識時間や手の動き時間等を考慮すると、他のパートの演奏開始時間よりも、演奏練習をナビするパートの発光素子の点灯時間を早くする必要がある。このため、選択された曲データのすべてを外部記録媒体からＲＡＭ等のメモリにロードして、他のパートの演奏開始時間を遅らせる時間調整処理を行っている。
【０００３】
【発明が解決しようとする課題】
しかしながら、選択された曲データのすべてを外部記録媒体からメモリにロードするためには、曲データ分のメモリ容量が必要になり、低コストや小型化の障害になっていた。また、演奏練習のたびに曲データをメモリにロードして時間調整処理を行うので、曲の選択から演奏開始まで時間がかかり過ぎていた。
本発明の課題は、複数のパートからなる曲の特定のパートについて、演奏装置の操作部に対応する発光手段を発光させて演奏教習を行う場合に、曲データ分のメモリ容量を必要とせず、曲の選択からすみやかに演奏開始ができるようにすることである。
【０００４】
【課題を解決するための手段】
請求項１に記載の演奏教習データ送信装置は、複数のパートからなりかつ少なくともノートオンデータ及び各ノートオンデータを読み出すべきタイミングを示す時間データが所定の順序で配列されて記憶手段に記憶された曲データの中から、特定のパートに含まれるノートオンデータを読み出す特定パートデータ読出手段と、
前記記憶手段に記憶された曲データから前記特定パートデータ読出手段により読み出されたノートオンデータを、前記時間データに基づくタイミングで順次読み出すと共に、当該ノートオンデータが読み出された時点で読出し動作を停止させる曲データ読出手段と、前記特定パートデータ読出手段によりノートオンデータが読み出されると、当該読み出されたノートオンデータに基づいて演奏装置の演奏教習に係る操作部に対応する発光手段を所定の態様で発光させるための演奏教習データを作成して送信する第１の送信手段と、前記曲データ読出手段によりノートオンデータが読み出されると、当該読み出されたノートオンデータのうち、特定パートのノートオンデータに基づいて前記演奏装置の演奏教習に係る操作部に対応する発光手段を前記所定の態様とは異なる態様で発光させるための演奏教習データを作成するとともに、当該演奏教習データを送信する第２の送信手段と、前記演奏装置の操作部により発生したノートオンデータを受信する受信手段と、この受信手段によりノートオンデータが受信されたことに応答して、前記特定パートデータ読出し手段に対して前記曲データの次のノートオンデータを読み出させるように制御するとともに、前記曲データ読出手段に対して読出し動作を再開させるように制御する読出制御手段と、を備えた構成になっている。
また請求項２に記載の演奏教習データ送信装置は、複数のパートからなりかつ少なくともノートオンデータが所定の順序で配列されて記憶手段に記憶された曲データの中から、特定のパートに含まれるノートオンデータを読み出す特定パートデータ読出手段と、前記特定パートデータ読出手段により読み出されたノートオンデータに基づいてノートオフデータを作成し、このノートオフデータ及びノートオフデータの両方を所定時間間隔で交互に発生させることによって接続された演奏装置の演奏教習に係る操作部に対応する発光手段を点滅発光させるための演奏教習データを作成して送信する第１の送信手段と、前記演奏装置の操作部により発生したノートオンデータを受信する受信手段と、この受信手段によりノートオンデータが受信されたことに応答して、前記特定パートデータ読出し手段が前記曲データの次のノートオンデータを読み出させるように制御する読出制御手段と、を備えた構成になっている。
【０００５】
請求項３に記載の記録媒体は、複数のパートからなりかつ少なくともノートオンデータ及び各ノートオンデータを読み出すべきタイミングを示す時間データが所定の順序で配列されて記憶手段に記憶された曲データの中から、特定のパートに含まれるノートオンデータを読み出す特定パートデータ読出手順と、前記記憶手段に記憶された曲データから前記特定パートデータ読出手順により読み出されたノートオンデータを、前記時間データに基づくタイミングで読み出すと共に、当該ノートオンデータが読み出された時点で読出し動作を停止させる曲データ読出手順と、前記特定パートデータ読出手順によりノートオンデータが読み出されると、当該読み出されたノートオンデータに基づいて演奏装置の演奏教習に係る操作部に対応する発光手段を所定の態様で発光させるための演奏教習データを作成して送信する第１の送信手順と、前記曲データ読出手順によりノートオンデータが読み出されると、当該読み出されたノートオンデータのうち、特定パートのノートオンデータに基づいて前記演奏装置の演奏教習に係る操作部に対応する発光手段を前記所定の態様とは異なる態様で発光させるための演奏教習データを作成するとともに、当該演奏教習データを送信する第２の送信手順と、前記演奏装置の操作部により発生したノートオンデータを受信する受信手順と、この受信手順によりノートオンデータが受信されたことに応答して、前記特定パートデータ読出し手順に対して前記曲データの次のノートオンデータを読み出させるように制御するとともに、前記曲データ読出手順に対して読出し動作を再開させるように制御する読出制御手順と、を有する演奏教習データ送信処理プログラムを記録している。
さらに請求項４に記載の記録媒体は、複数のパートからなりかつ少なくともノートオンデータが所定の順序で配列されて記憶手段に記憶された曲データの中から、特定のパートに含まれるノートオンデータを読み出す特定パートデータ読出手順と、前記特定パートデータ読出手順により読み出されたノートオンデータに基づいてノートオフデータを作成し、このノートオフデータ及びノートオフデータの両方を所定時間間隔で交互に発生させることによって接続された演奏装置の演奏教習に係る操作部に対応する発光手段を点滅発光させるための演奏教習データを作成して送信する第１の送信手順と、前記演奏装置の操作部により発生したノートオンデータを受信する受信手順と、この受信手順によりノートオンデータが受信されたことに応答して、前記特定パートデータ読出し手順が前記曲データの次のノートオンデータを読み出させるように制御する読出制御手順と、を有する演奏教習データ送信処理のプログラムを記録している。
【０００６】
請求項１及び３に記載の演奏教習装置又は請求項２及び４に記載の記録媒体の発明によれば、所定の記憶手段に記憶されている複数のパートからなる曲データを読み出して、所定の通信手段を介して接続された演奏装置に送信する際に、演奏教習に係るパートについては現在時間がまだ演奏開始時間に到っていない曲データを前もって読み出し、他のパートについては現在時間が演奏開始時間に到った曲データを読み出す。
【０００７】
【発明の実施の形態】
以下、図１〜図４２を参照して本発明の演奏教習装置の実施形態について説明する。この演奏教習装置では、複数のパートで構成された曲データにおいて、特定の１つのパート例えばメロディパートを指定して、そのパートだけを自動演奏から除くマイナスワンのパートに設定する。演奏者は、他のパートの自動演奏に合わせてそのマイナスワンのパートを演奏練習する。この場合において、演奏者の押鍵を待たないモード、すなわち演奏結果に関係なく他のパートの自動演奏を行う「ノーマルレッスンモード」、いずれかの鍵の押鍵を待って次の自動演奏を開始する「イージー（１）レッスンモード」、正しい鍵の押鍵を待って次の自動演奏を開始する「イージー（２）レッスンモード」が選択できる。その他、演奏練習のパートだけを模範演奏として聞くソロ演奏モードを設定することもできる。
【０００８】
図１は、演奏教習装置を用いたシステム構成を示している。演奏教習装置１０及び電子鍵盤楽器２０は、ＭＩＤＩケーブル３０を介して接続されている。演奏教習装置１０において、ＣＰＵ１１は、システムバスに接続されている下記の各部に対して制御信号を送出してデータの授受を行ってこの装置全体を制御する。また、ＣＰＵ１１には、演奏教習処理の制御プログラムを格納するＲＯＭが内蔵されている。
【０００９】
スイッチ部１２は、スキャン制御信号に応じて各スイッチのオン・オフ状態のデータを入力する。ＦＤＤＣ（フロッピーディスク・ドライブ・コントローラ）１３は、ドライブ制御信号に応じてＦＤＤ（フロッピーディスク・ドライバ）１４を制御して、装着されたＦＤ（フロッピーディスク）１５を駆動させ、ＦＤ１５の曲データを入力する。曲データについては後述する。ＲＡＭ１６は、スイッチ部１２、ＦＤＤＣ１３から入力されたデータや、電子鍵盤楽器２０との間で送受信するデータ、その他のデータを記憶するためのエリアを備えている。ＲＡＭ１６のエリアのデータ構成については後述する。
【００１０】
ＭＩＤＩインターフェース１７は、ＭＩＤＩ出力制御信号に応じてＲＡＭ１６から読み出されたＭＩＤＩデータを電子鍵盤楽器２０に送信し、電子鍵盤楽器２０から受信したＭＩＤＩデータをＭＩＤＩ入力制御信号に応じてＲＡＭ１６にストアする。ＬＣＤＣ（ＬＣＤコントローラ）１８は、表示制御信号とともにＣＰＵ１１から与えられる表示データをＬＣＤ表示部１８に送出して表示させる。
【００１１】
電子鍵盤楽器２０においては、ＣＰＵ２１は、システムバスに接続されている下記の各部に対して制御信号を送出してデータの授受を行ってこの装置全体を制御する。ＲＯＭ２２は、ＣＰＵ２１によって実行される楽音制御処理のプログラムを記憶している。ＭＩＤＩインターフェース２３は、ＭＩＤＩ出力制御信号に応じてＭＩＤＩデータを演奏教習装置１０に送信し、演奏教習装置１０から受信したＭＩＤＩデータをＭＩＤＩ入力制御信号に応じて入力する。インターフェース２４は、鍵盤、スイッチ部及び表示部からなる操作・表示部２５と、ＣＰＵ２１との間において、押鍵データ、離鍵データ、スイッチオン・オフデータ、表示データの授受を中継する。鍵盤には、各鍵ごとにＬＥＤ等の発光素子が設けられ、演奏教習装置１０からのＭＩＤＩデータに応じて点灯又は点滅する。
【００１２】
ＲＡＭ２６は、ＭＩＤＩインターフェース２３を介して送受信されるＭＩＤＩデータ、インターフェース２３を介して授受される押鍵データ、離鍵データ、スイッチオン・オフデータ、表示データを記憶する。音源部２７は、ＣＰＵ２１からの発音制御信号及び楽音データに応じて、波形ＲＯＭ２８の波形データを読み出して楽音信号を生成し、その楽音信号をサウンドシステム２９に送出して発音させる。
【００１３】
図２は、演奏教習装置１０の外観図であり、複数のスイッチからなるスイッチ部１２、ＬＣＤ表示部１９が正面の操作部に設けられ、側面にはＦＤＤ１４のＦＤ挿入口が設けられている。図３にスイッチ部の詳細を示す。パワースイッチ３１は、この装置の電源をオン・オフするスイッチであり、電源をオンにするとＣＰＵ１１の制御プログラムが起動する。ファンクションスイッチ３２は、演奏モード又は設定モードを選択するためのモード切替スイッチである。ガイドパートスイッチ３３は、１つのガイドパートをソロ演奏するガイドパートモード状態又は通常演奏の通常ソング状態を切り替える状態切替スイッチである。セレクトスイッチ３４は、「←」マークの左セレクトスイッチ及び「→」マークの右セレクトスイッチからなり、モードに応じて異なる選択機能をもっている。
【００１４】
レッスンスイッチ３５は、イージー（１）スイッチ、イージー（２）スイッチ、及びノーマルスイッチからなり、レッスン演奏のステップ（段階）を設定する。プレイスイッチ３６は、ソロ演奏又は通常演奏を開始する演奏開始スイッチである。ストップスイッチ３７は、ソロ演奏、通常演奏、又はレッスン演奏を停止する演奏停止開始スイッチである。ソングセレクトスイッチ３８は、演奏する曲を選択するための曲選択スイッチである。バリュースイッチ３９は、モードに応じて鍵域又はナビチャンネルを選択するスイッチである。
なお、上記各スイッチの詳細な働きについてはさらに後述する。
【００１５】
図４は、ＬＣＤ表示部１９の表示内容のエリアを示している。エリア４１は、鍵盤を示し、最大８８鍵に対応している。エリア４２は、曲の鍵域が電子鍵盤楽器２０の高音域側の鍵域を超えたときに点滅するＵＰセグメントである。エリア４３は、曲の鍵域が電子鍵盤楽器２０の低音域側の鍵域を超えたときに点滅するＤＯＷＮセグメントである。エリア４２及び４３の間には、１〜１６の数字等からなるエリアが設けられている。このエリアは、１６個のチャンネルの状態を表している。拡大図に示すように、チャンネル数のエリア４４は自動演奏のチャンネルか又は手動演奏のチャンネルであるかを示し、バー表示のエリア４５は発音中のチャンネルであるか否かを示している。エリア４６は、現在の演奏状態例えばノーマルレッスンモードの状態を表している。その他のエリアについては、本発明には直接関係しないので説明は省略する。
【００１６】
図５は、ＦＤ（フロッピーディスク）１５に記憶されている曲データの構成、及びその曲データを記憶するＲＡＭ１６の記憶エリアを示している。ＦＤ１５の曲データは、イベントのデータ及び次イベント開始までのデルタタイムのデータで構成され、アドレスＡＰによって各データが指定される。イベントには、発音及び音量を示すノートオンイベント、消音を示すノートオフイベントの他、音色を切り替えるプログラムチェンジ、エフェクトを制御するコントロールチェンジのイベント等で構成されている。例えば、ノートオンイベントの場合には、ＲＡＭ１６のレジスタＥＶＥＮＴにはノートオンの音高（鍵番号）がセットされ、ベロシティ用のレジスタにはベロシティがセットされ、レジスタΔＴにはデルタタイムがセットされる。また、アドレスポインタのレジスタＡＰにはイベント又はデルタタイムのアドレスがセットされる。
【００１７】
図６は、ＲＡＭ１６の他の記憶エリアを示している。バッファエリア５１は、発音処理バッファ、予告点滅バッファ、ＭＩＤＩ押鍵要求バッファ、ＭＩＤＩ・ＮｅｗＯＮバッファ、ＭＩＤＩ出力バッファ、ＭＩＤＩ入力バッファで構成されている。発音処理バッファは、発音する音高及びベロシティの発音データを記憶する。予告点滅バッファは、次に押鍵すべき電子鍵盤楽器２０の鍵に対応する発光素子を点滅するための予告点滅データを記憶する。ＭＩＤＩ押鍵要求バッファは、電子鍵盤楽器２０に対して送信した予告点滅データに対応して押鍵すべき鍵の鍵番号を示す押鍵要求データを記憶する。ＭＩＤＩ・ＮｅｗＯＮバッファは、送信した押鍵指示に応答して電子鍵盤楽器２０において新たに押鍵されて送信された鍵番号データを記憶する。ＭＩＤＩ出力バッファ及びＭＩＤＩ入力バッファは、上記各ＭＩＤＩデータを含むすべてのＭＩＤＩデータについて、電子鍵盤楽器２０に送信する送信ＭＩＤＩデータ、及び電子鍵盤楽器２０から受信する受信ＭＩＤＩデータを記憶する。
【００１８】
カウンタエリア５２は、再生カウンタ及び予告点滅カウンタで構成されている。再生カウンタは、演奏状態において設定された時間からタイマインタラプトごとにインクリメントされるカウンタである。予告点滅カウンタは、次に押鍵すべき電子鍵盤楽器２０の鍵に対応する発光素子を点滅する点滅実時間をデルタタイムの値に応じて累算するカウンタである。
【００１９】
レジスタエリア５３は、ＴＩＭＥ、ガイドパートチャンネル、ナビチャンネル、ＳＴＥＰ、発音数、ＹＡＰ、ＲＡＮＧＥの複数のレジスタで構成されている。ＴＩＭＥレジスタは、デルタタイムによって更新される時間データをセットする。ガイドパートチャンネルのレジスタは、ソロ演奏のチャンネル番号をセットする。ナビチャンネルのレジスタは、演奏教習のパートのチャンネル番号をセットする。ＳＴＥＰレジスタは、いずれかの鍵の押鍵を待って次の自動演奏を開始する「イージー（１）レッスンモード」、正しい鍵の押鍵を待って次の自動演奏を開始する「イージー（２）レッスンモード」、演奏結果に関係なく他のパートの自動演奏を行う「ノーマルレッスンモード」、又は通常の自動演奏モードの設定モードに応じて、それぞれ「１」、「２」、「３」、及び「０」の値をセットする。発音数レジスタは、同時に発音する発音の数をセットする。ＹＡＰレジスタは、次に演奏するイベントのアドレスをセットする。ＲＡＮＧＥレジスタは、電子鍵盤楽器２０の鍵域をセットする。
【００２０】
フラグエリア５４は、ファンクションフラグ、ガイドパートフラグ、ＳＴＦ（スタートフラグ）、ＵＰオーバーフラグ、ＤＯＷＮオーバーフラグ、早送りモードフラグ、ウェイトフラグ、点滅フラグで構成され、「０」又は「１」の値に応じて状態を表す。ファンクションフラグは、「０」のとき演奏モード「１」のときファンクションモードを表している。ガイドパートフラグは、「１」のときソロ演奏モードを表している。ＳＴＦ（スタートフラグ）は、「０」のとき自動演奏停止「１」のとき自動演奏を表している。ＵＰオーバーフラグは、「１」のとき高音域側の鍵域オーバーを表している。ＤＯＷＮオーバーフラグは、「１」のとき低音域側の鍵域オーバーを表している。早送りモードフラグは、「１」のとき早送りモードを表している。ウェイトフラグは、「１」のとき押鍵待ち状態を表している。点滅フラグは、電子鍵盤楽器２０の発光素子を点滅するときに点滅周期ごとに値を反転するフラグである。
【００２１】
次に、実施形態における演奏教習装置１０の動作について、ＣＰＵ１１のフローチャート及びＬＣＤ表示部１９の表示画面を参照して説明する。
図７はメインフローであり、所定のイニシャライズ処理（ステップＡ１）の後、スイッチ処理（ステップＡ２）、表示処理（ステップＡ３）、ＦＤ読込処理（ステップＡ４）、シーケンス処理（ステップＡ５）、送信データ作成処理（ステップＡ６）、予告点滅処理（ステップＡ７）、ＭＩＤＩ処理（ステップＡ８）を実行し、パワーオフであるか否かを判別する（ステップＡ９）。パワーオフでない場合には、上記ステップＡ２〜ステップＡ９の各処理を繰り返し実行する。ステップＡ９においてパワーオフになったときは、パワーオフ処理（ステップＡ１０）を行ってメインフローを終了する。
【００２２】
メインフローの実行中において、ＭＩＤＩ出力のタイマインタラプトが入ると、図８に示すＭＩＤＩ出力割込処理を実行し、ＭＩＤＩ出力バッファの内容を電子鍵盤楽器２０に出力して（ステップＡ１１）、メインフローに戻る。また、ＭＩＤＩ入力のタイマインタラプトが入ると、図８に示すＭＩＤＩ入力割込処理を実行し、電子鍵盤楽器２０から受信したＭＩＤＩデータをＭＩＤＩ入力バッファにストアして（ステップＡ１２）、メインフローに戻る。
【００２３】
図９は、メインフローにおけるスイッチ処理のフローである。このフローでは、各スイッチのオン・オフ状態を検出する。すなわち、ファンクションスイッチ処理（ステップＢ１）、イージー（１）スイッチ処理（ステップＢ２）、イージー（２）スイッチ処理（ステップＢ３）、ノーマルスイッチ処理（ステップＢ４）、プレイスイッチ処理（ステップＢ５）、ストップスイッチ処理（ステップＢ６）、ガイドパートスイッチ処理（ステップＢ７）、セレクトスイッチ処理（ステップＢ８）、バリュースイッチ処理（ステップＢ９）、その他のスイッチ処理（ステップＢ１０）を実行して、メインフローに戻る。
【００２４】
図１０は、図９のステップＢ１におけるファンクションスイッチ処理のフローである。ファンクションスイッチがオンされたか否かを判別し（ステップＢ１１）、オンされたときはファンクションフラグを反転する（ステップＢ１２）。そして、図９のフローに戻る。図１１は、図９のステップＢ７におけるガイドパートスイッチ処理のフローである。このフローでは、ファンクションフラグが０（演奏モード）であるか否かを判別し（ステップＢ１３）、このフラグが１（ファンクションモード）である場合にはこのフローを終了する。このフラグが０である場合には、ガイドスイッチがオンされたか否かを判別する（ステップＢ１４）。オンされていない場合にはこのフローを終了するが、オンされたときはガイドパートフラグを反転する（ステップＢ１５）。そして、図９のフローに戻る。
【００２５】
図１２は図９のステップＢ２におけるイージー（１）スイッチ処理のフローである。この処理ではファンクションフラグが０（演奏モード）であるか否かを判別し（ステップＢ１６）、このフラグが１（ファンクションモード）である場合にはこのフローを終了する。このフラグが０である場合には、イージー（１）スイッチがオンであるか否かを判別する（ステップＢ１７）。このスイッチがオフである場合にはこのフローを終了するが、このスイッチがオンされたときは、レジスタＳＴＥＰに１（いずれかの鍵の押鍵を待つイージー（１）モード）をセットする（ステップＢ１８）。また、ＳＴＦに１（自動演奏）をセットする（ステップＢ１９）。次に、再生カウンタに０をセットしてクリアし（ステップＢ２０）、予告点滅カウンタに０をセットしてクリアする（ステップＢ２１）。次に、アドレスポインタＡＰ及び予告アドレスポインタＹＡＰに初期値０をセットする（ステップＢ２２）。そして、レジスタＴＩＭＥに０をセットして（ステップＢ２３）、このフローを終了する。
【００２６】
図１３は図９のステップＢ３におけるイージー（２）スイッチ処理のフローである。この処理ではファンクションフラグが０（演奏モード）であるか否かを判別し（ステップＢ２４）、このフラグが１（ファンクションモード）である場合にはこのフローを終了する。このフラグが０である場合には、イージー（２）スイッチがオンであるか否かを判別する（ステップＢ２５）。このスイッチがオフである場合にはこのフローを終了するが、このスイッチがオンでされたときは、レジスタＳＴＥＰに２（正しい鍵の押鍵を待つイージー（２）モード）をセットする（ステップＢ２６）。また、ＳＴＦに１（自動演奏）をセットする（ステップＢ２７）。次に、再生カウンタに０をセットしてクリアし（ステップＢ２８）、予告点滅カウンタに０をセットしてクリアする（ステップＢ２９）。次に、アドレスポインタＡＰ及び予告アドレスポインタＹＡＰに初期値０をセットする（ステップＢ３０）。そして、レジスタＴＩＭＥに０をセットして（ステップＢ３１）、このフローを終了する。
【００２７】
図１４は図９のステップＢ４におけるノーマルスイッチ処理のフローである。この処理ではファンクションフラグが０（演奏モード）であるか否かを判別し（ステップＢ３２）、このフラグが１（ファンクションモード）である場合にはこのフローを終了する。このフラグが０である場合には、ノーマルスイッチがオンであるか否かを判別する（ステップＢ３３）。このスイッチがオフである場合にはこのフローを終了するが、このスイッチがオンでされたときは、レジスタＳＴＥＰに３（押鍵を待たないノーマルモード）をセットする（ステップＢ３４）。また、ＳＴＦに１（自動演奏）をセットする（ステップＢ３５）。次に、再生カウンタに０をセットしてクリアし（ステップＢ３６）、予告点滅カウンタに０をセットしてクリアする（ステップＢ３７）。次に、アドレスポインタＡＰ及び予告アドレスポインタＹＡＰに初期値０をセットする（ステップＢ３８）。そして、レジスタＴＩＭＥに０をセットして（ステップＢ３９）、このフローを終了する。
【００２８】
図１５は図９のステップＢ５におけるプレイスイッチ処理のフローである。この処理ではファンクションフラグが０（演奏モード）であるか否かを判別し（ステップＢ４０）、このフラグが１（ファンクションモード）である場合にはこのフローを終了する。このフラグが０である場合には、プレイスイッチがオンであるか否かを判別する（ステップＢ４１）。このスイッチがオフである場合にはこのフローを終了するが、このスイッチがオンでされたときは、レジスタＳＴＥＰに０（自動演奏モード）をセットする（ステップＢ４２）。また、ＳＴＦに１（自動演奏）をセットする（ステップＢ４３）。次に、再生カウンタに０をセットしてクリアし（ステップＢ４４）、アドレスポインタＡＰ及び予告アドレスポインタＹＡＰに初期値０をセットする（ステップＢ４５）。そして、レジスタＴＩＭＥに０をセットして（ステップＢ４６）、このフローを終了する。
【００２９】
図１６は、図９のステップＢ６におけるストップスイッチ処理のフローである。このフローでは、ＳＴＦに０（自動演奏停止）をセットし（ステップＢ４７）、音源部に対して消音を指示する（ステップＢ４８）。そしてこのフローを終了する。
図１７は、図９のステップＢ８におけるセレクトスイッチ処理のフローである。まず、ファンクションフラグが０（演奏モード）であるか否かを判別する（ステップＢ４９）。このフラグが０である場合には、左セレクトスイッチがオンされたか否かを判別し（ステップＢ５０）、このスイッチがオンされたときは、ガイドパートチャンネルの番号をデクリメントする（ステップＢ５１）。デクリメントしたチャンネル番号が０になったときは、チャンネル番号を１６（最大チャンネル番号）に変更する。ステップＢ５０において左セレクトスイッチがオンでない場合には、右セレクトスイッチがオンされたか否かを判別する（ステップＢ５２）。このスイッチがオンされたときは、ガイドパートチャンネルの番号をインクリメントする（ステップＢ５３）。インクリメントしたチャンネル番号が１７になったときは、チャンネル番号を１（最小チャンネル番号）に変更する。
【００３０】
ステップＢ４９においてファンクションフラグが１（ファンクションモード）である場合には、左セレクトスイッチ又は右セレクトスイッチのいずれか一方がオンされたか否かを判別する（ステップＢ５４）。いずれのスイッチもオンされない場合にはこのフローを終了するが、いずれか一方がオンされたときはファンクションモードのメニューを変更する。すなわち、現在のファンクションモードが鍵域設定モードであるか否かを判別し（ステップＢ５５）、鍵域設定モードである場合にはナビチャンネル設定モードに変更する（ステップＢ５６）。一方、現在のファンクションモードがナビチャンネル設定モードである場合には、鍵域設定モードに変更する（ステップＢ５７）。設定モードを変更した後はこのフロー終了して図９のフローに戻る。
【００３１】
図１８は、図９のステップＢ９におけるバリュースイッチ処理のフローである。このフローにおいては、ファンクションモードのメニューに応じた処理を行う。現在のファンクションモードが鍵域設定モードであるか否かを判別し（ステップＢ５８）、このモードである場合には「＋」スイッチがオンされたか否かを判別する（ステップＢ５９）。このスイッチがオンされたときは、レジスタＲＡＮＧＥの値をインクリメントする（ステップＢ６０）。「＋」スイッチがオンでない場合には、「−」スイッチがオンされたか否かを判別する（ステップＢ６１）。このスイッチがオンされたときは、ＲＡＮＧＥの値をデクリメントする（ステップＢ６２）。すなわち,接続されている電子鍵盤楽器２０の鍵数に応じた値がＲＡＮＧＥにセットされる。
【００３２】
ステップＢ５８において現在のファンクションモードが鍵域設定モードでない場合には、ナビチャンネル設定モードであるか否かを判別する（ステップＢ６３）。このモードである場合には、「＋」スイッチがオンされたか否かを判別する（ステップＢ６４）。このスイッチがオンされたときは、ナビチャンネルの番号をインクリメントする（ステップＢ６５）。インクリメントしたチャンネル番号が１７になったときはチャンネル番号を１にする。「＋」スイッチがオンでない場合には、「−」スイッチがオンされたか否かを判別する（ステップＢ６６）。このスイッチがオンされたときは、ナビチャンネルの番号をデクリメントする（ステップＢ６７）。デクリメントしたチャンネル番号が０になったときは、チャンネル番号を１６にする。
ステップＢ５８において鍵域設定モードでなく、ステップＢ６３においてナビチャンネル設定モードでもない場合には、その他の設定処理を行う（ステップＢ６８）。各設定モードに応じた処理の後は、このフローを終了する。
【００３３】
図１９及び図２０は、図７のメインフローにおけるステップＡ３の表示処理のフローであり、図２１〜図２３は、表示画面の例を示している。図１９において、ファンクションフラグが１（ファンクションモード）であるか否かを判別し（ステップＣ１）、このフラグが１である場合には、鍵域設定モードであるか否かを判別する（ステップＣ２）。このモードである場合には、図２１（１）〜（５）に示すような鍵域設定画面を表示し（ステップＣ３）、ＲＡＮＧＥに対応する鍵域数を表示する（ステップＣ４）。電子鍵盤楽器２０の鍵数が８８鍵である場合には、図１８のバリュースイッチ処理においてＲＡＮＧＥの値が８８に設定されているので、図２１（１）に示すように、鍵盤表示エリアのすべての鍵が点滅し、「８８Ｋｅｙｓ」が表示される。ＲＡＮＧＥの値が７６である場合には、図２１（２）に示すように、鍵盤表示エリアのうち７６鍵が点滅し、「７６Ｋｅｙｓ」が表示される。ＲＡＮＧＥの値が７３、６１、４９である場合も同様に、図２１（３）、（４）、（５）に示す表示画面となる。
【００３４】
図１９のフローのステップＣ２において鍵域設定モードでない場合には、ナビチャンネル設定モードであるか否かを判別する（ステップＣ５）。このモードである場合には、図２２に示すようなナビチャンネル設定画面を表示し（ステップＣ６）、ナビチャンネルを表示する（ステップＣ７）。図２２の例は、ナビチャンネルが４チャンネルの場合である。したがって、「４  Ｎａｖｉ．ｃｈ」と表示されている。
【００３５】
図１９のフローのステップＣ１において、ファンクションフラグが０（演奏モード）である場合には、図２０のフローにおいて、図２３（１）〜（５）に示すように、演奏状態に対応した演奏画面を表示する（ステップＣ８）。例えば、通常再生の場合には、チャンネル１からチャンネル１６までが自動演奏のチャンネルに設定されるので、図２３（１）に示すように、全部のチャンネル番号マークを強調表示し、発音中のチャンネルのチャンネル番号（この例では、１及び４）に対応する位置のマークを点灯する。
【００３６】
図２０のフローにおいて、ガイドパートフラグが１であるか否かを判別し（ステップＣ９）、このフラグが１である場合には、ガイドパートチャンネルを表示する（ステップＣ１０）。すなわち、ガイドパート再生の場合には、図２３（２）に示すように、自動演奏するソロパートのチャンネル（この例では、４）のチャンネル番号マークのみを強調表示し、発音中のチャンネルのチャンネル番号に対応する位置のマークを点灯する。イージー（１）、イージー（２）及びノーマルのレッスンモードの場合には、マイナスワン演奏であるので図２３（３）、（４）に示すように、練習演奏するパートのチャンネル以外の他のチャンネルの番号を強調表示する。演奏停止状態の場合には、発音中のチャンネルは全くないので、図２３（５）に示すように、いずれのチャンネル番号のマークも消灯する。
【００３７】
また、図２０のフローにおいて、ＳＴＦが１（自動演奏）であるか否かを判別し（ステップＣ１１）、このフラグが１である場合には、ＭＩＤＩ出力バッファ内のノートイベントに基づき鍵表示を行う（ステップＣ１２）。次に、ＵＰオーバーフラグが１（高音域オーバー）であるか否かを判別し（ステップＣ１３）、このフラグが１である場合には、図２３（１）、（３）、（４）、（５）に示すように、ＵＰセグメントを点滅する（ステップＣ１４）。また、ＤＯＷＮオーバーフラグが１（低音域オーバー）であるか否かを判別し（ステップＣ１５）、このフラグが１である場合には、図２３（２）に示すように、ＤＯＷＮセグメントを点滅する（ステップＣ１６）。
【００３８】
図２４〜図３３は、図７のステップＡ５におけるシーケンス処理のフローである。まず、ＳＴＦが１（自動演奏）であるか否かを判別し（ステップＤ１）、このフラグが１である場合には、最小分解能時間が経過したか否かを判別する（ステップＤ２）。最小分解能時間とは、４分音符の時間長の整数（例えば２４）分の１で表される。したがって、テンポが１２０の場合で４分音符の時間長が５００ｍｓのときは、最小分解能時間は約２１ｍｓとなる。最小分解能時間が経過しないときは、ウェイトフラグが０であるか否かを判別し（ステップＤ３）、このフラグが０で押鍵待ちでない場合には、このフローを終了する。
【００３９】
一方、最小分解能時間が経過したときは、レジスタＳＴＥＰの値が０（通常自動演奏モード）又は３（押鍵を待たないノーマルレッスンモード）であるか否かを判別する（ステップＤ４）。ＳＴＥＰの値が０又は３である場合には、経過した最小分解能時間だけ再生カウンタの値をインクリメントする（ステップＤ５）。そして、ＳＴＥＰの値が０であるか否かを判別する（ステップＤ６）。この値が０である場合には、通常再生処理を実行する（ステップＤ７）。そして、メインフローに戻る。
【００４０】
図２５に通常再生処理のフローを示す。このフローにおいては、指定した曲データがＦＤ（フロッピーディスク）にあるか否かを判別し（ステップＤ８）、データがない場合にはこのフローを終了する。データがある場合には、ＦＤのアドレスＡＰのデルタタイムのデータであるＭＥＭ［ＡＰ］をレジスタΔＴにセットする（ステップＤ９）。すなわち、次のイベントの開始時間をΔＴにセットする。そして、再生カウンタの値が、ＴＩＭＥの値及びΔＴの値の加算値以上であるか否かを判別する（ステップＤ１０）。上記したように、再生カウンタの値は最小分解能時間の経過ごとに累積する時間データであるので、再生カウンタの値が小さい場合には、次のイベントの開始時間にまだ達していないので、このフローを終了する。
【００４１】
再生カウンタの値が、ＴＩＭＥの値及びΔＴの値の加算値以上である場合、すなわち、再生カウンタの値が次のイベントの開始時間に達している場合には、ＴＩＭＥの値にΔＴの値を加算し（ステップＤ１１）、曲データのアドレスポインタＡＰの値をインクリメントして（ステップＤ１２）、イベントデータを指定する。そして、そのイベントデータＭＥＭ［ＡＰ］をレジスタＥＶＥＮＴにセットする（ステップＤ１３）。次に、ガイドパートフラグが１（ソロパート自動演奏）であるか否かを判別する（ステップＤ１４）。このフラグが１である場合には、ＥＶＥＮＴのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する（ステップＤ１５）。
【００４２】
ガイドパートフラグが０である場合、又はＥＶＥＮＴのチャンネルとガイドパートのチャンネルとが同一である場合には、ＥＶＥＮＴのデータを発音処理バッファにストアする（ステップＤ１６）。データをストアした後、又はステップＤ１５においてＥＶＥＮＴのチャンネルとガイドパートのチャンネルとが異なる場合には、ＡＰの値をインクリメントして（ステップＤ１７）、ステップＤ８に移行して、ステップＤ１７までの処理を繰り返す。そして、再生カウンタの値がイベントデータの開始時間に達するたびに、そのイベントデータを発音処理バッファにストアする。ステップＤ８において読み出すべき曲データがなく、曲が終了したときは、メインフローに戻る。
【００４３】
図２４のフローのステップＤ６において、ＳＴＥＰの値が０でなく３（押鍵を待たないレッスンモード）である場合には、図２６のフローにおいて、再生カウンタの値が予告点滅カウンタの値に達したか否かを判別する（ステップＤ１８）。予告点滅カウンタには、電子鍵盤楽器２０の押鍵を教習するために発光素子を点滅させる時間データがセットされている。したがって、最小分解能時間ごとに値が累算される再生カウンタの値が予告点滅カウンタの値に達したときは、現在時間が押鍵タイミング時間に達したときである。そこで、その発光素子を点滅から点灯に変える必要がある。このため、予告点滅カウンタをクリアする（ステップＤ１９）。このカウンタをクリアした後、又は再生カウンタの値が予告点滅カウンタの値にまだ達していない場合には、ＳＴＥＰの値が３（押鍵を待たないレッスンモード）における予告ノート検出処理を実行する（ステップＤ２０）。すなわち、データの先読みを行う。次に、曲データ読込み処理を実行する（ステップＤ２１）。そして、メインフローに戻る。
【００４４】
図２７は、図２６のステップＤ２０における予告ノート検出処理（ＳＴＥＰ３）のフローである。ＦＤ内にまだ曲データがあるか否かを判別し（ステップＤ２２）、データがない場合すなわち曲が終了したときはこのフローを終了する。まだデータがある場合には、予告アドレスポインタＹＡＰのデルタタイムのデータＭＥＭ［ＹＡＰ］をΔＴにセットし（ステップＤ２３）、次の予告アドレスポインタ（ＹＡＰ＋１）のイベントデータをＥＶＥＮＴにセットする（ステップＤ２４）。次に、ＥＶＥＮＴのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する（ステップＤ２５）。
【００４５】
同一でない場合には、予告点滅カウンタの値にΔＴの値を加算し（ステップＤ２６Ａ）、 ＹＡＰの値に２を加算する（ステップＤ２６Ｂ）。すなわち、次の予告ノートのデータを指定する。次に、ステップＤ２２に移行して指定したデータがあるか否かを判別する。そして、ガイドパートのチャンネルと同一のチャンネルのＥＶＥＮＴを検出するまで、ステップＤ２２〜ステップＤ２６Ｂのループを繰り返す。ステップＤ２５において同一のチャンネルのＥＶＥＮＴを検出したときは、そのＥＶＥＮＴのノートのＲＡＮＧＥは鍵域内であるか否かを判別する（ステップＤ２７）。
【００４６】
鍵域内である場合には、ＥＶＥＮＴのノートを予告点滅バッファにストアする（ステップＤ２８）。すなわち、押鍵すべき鍵に対応する発光素子を予告点滅させるデータとしてストアする。ＥＶＥＮＴのノートのＲＡＮＧＥが鍵域内でない場合には、予告点滅バッファをクリアする（ステップＤ２９）。予告点滅バッファにノートをストアした後、又は、予告点滅バッファをクリアした後は、予告点滅カウンタの値にΔＴの値を加算し（ステップＤ３０）、ＹＡＰの値に２を加算する（ステップＤ３１）。すなわち、次の予告ノートのデータを指定する。そして、図２６のフローのステップＤ２１に移行する。
【００４７】
図２８は、図２６のステップＤ２１における曲データ読込み処理のフローである。指定した曲データがＦＤにあるか否かを判別し（ステップＤ３２Ａ）、データがない場合にはこのフローを終了する。データがある場合には、ＦＤのアドレスＡＰのデルタタイムのデータであるＭＥＭ［ＡＰ］をレジスタΔＴにセットする（ステップＤ３２Ｂ）。そして、再生カウンタの値が、ＴＩＭＥの値及びΔＴの値の加算値以上であるか否かを判別する（ステップＤ３３）。再生カウンタの値が小さい場合には、次のイベントの開始時間にまだ達していないので、このフローを終了する。
【００４８】
再生カウンタの値が、ＴＩＭＥの値及びΔＴの値の加算値以上である場合、すなわち、再生カウンタの値が次のイベントの開始時間に達している場合には、ＴＩＭＥの値にΔＴの値を加算し（ステップＤ３４）、曲データのアドレスポインタＡＰの値をインクリメントして（ステップＤ３５）、イベントデータを指定する。そして、そのイベントデータＭＥＭ［ＡＰ］をレジスタＥＶＥＮＴにセットする（ステップＤ３６）。そして、ＥＶＥＮＴのデータを発音処理バッファにストアする（ステップＤ３７）。次に、ＡＰの値をインクリメントして（ステップＤ３８）、ステップＤ３２Ａに移行して、ステップＤ３８までの処理を繰り返す。そして、再生カウンタの値がイベントデータの開始時間に達するたびに、そのイベントデータを発音処理バッファにストアする。ステップＤ３２Ａにおいて読み出すべき曲データがなく、曲が終了したときは、メインフローに戻る。
【００４９】
図２４のシーケンス処理のステップＤ４において、ＳＴＥＰの値が１（イージー（１）レッスン）又は２（イージー（２）レッスン）である場合には、図２９のフローにおいて、予告点滅カウンタの値が再生カウンタの値と同じでないか否かを判別する（ステップＤ３９）。これらの値が同じでない場合、すなわち、電子鍵盤楽器２０の発光素子が点滅中で次の押鍵予告を行っているが、再生カウンタの値（時間）が予告点滅カウンタの値（点滅終了時間）に達しておらず、まだ押鍵開始時間に達していない場合には、ＭＩＤＩ押鍵要求バッファにデータがあるか否かを判別する（ステップＤ４０）。
【００５０】
このバッファにデータがある場合、すなわち電子鍵盤楽器２０側に押鍵すべきノートデータがある場合には、ＭＩＤＩＮｅｗＯＮバッファにデータがあるか否かを判別する（ステップＤ４１）。このバッファにデータがある場合、すなわち電子鍵盤楽器２０において、まだ押鍵開始時間に達していないにもかかわらず、押鍵がされた場合には、ＭＩＤＩＮｅｗＯＮバッファにその押鍵によるノートデータがストアされる。この場合には、ＳＴＥＰの値が２（イージー（２）レッスン）であるか否かを判別する（ステップＤ４２）。ＳＴＥＰの値が２で、正しい押鍵待ちレッスンモードである場合には、ＭＩＤＩ押鍵要求バッファのノートデータとＭＩＤＩＮｅｗＯＮバッファのノートデータとが一致するか否かを判別する（ステップＤ４３）。すなわち、押鍵要求のノートデータと実際の押鍵のノートデータとが一致するか否かを判別する。
【００５１】
両バッファのノートデータが一致しない場合には押鍵とは認めず、経過した最小分解能時間（図２４のステップＤ２）だけ再生カウンタの値をインクリメントする（ステップＤ４４）。ステップＤ４０においてＭＩＤＩ押鍵要求バッファにデータがない場合すなわち鍵域がオーバーしている場合、又は、ステップＤ４１においてＭＩＤＩＮｅｗＯＮバッファにデータがない場合すなわち押鍵がされていない場合にも、ステップＤ４４において再生カウンタの値をインクリメントする。次に、予告点滅バッファはクリアされているか否かを判別する（ステップＤ４５）。このバッファがクリアされている場合には、イージー（１）レッスン及びイージー（２）レッスンにおける予告ノート検出処理を実行する（ステップＤ４６）。すなわち、データの先読みを行う。予告ノート検出処理（ＳＴＥＰ１，２）の後、又は、ステップＤ４５において予告点滅バッファにデータがある場合には、図２８のフローに示した曲データ読込み処理を実行する（ステップＤ４７）。そして、メインフローに戻る。
【００５２】
ステップＤ４２においてＳＴＥＰの値が１で、いずれかの鍵の押鍵待ちレッスンモードである場合、又は、ステップＤ４３において、ＭＩＤＩ押鍵要求バッファのノートデータとＭＩＤＩＮｅｗＯＮバッファのノートデータとが一致する場合には、まだ押鍵開始時間に達していないにもかかわらず押鍵がされた場合である。この場合には、図３０のフローにおいて、再生カウンタの値を予告点滅カウンタの値に更新する（ステップＤ４８）。すなわち、再生カウンタの値である現在時間を押鍵開始時間に先送りして進めるために、予告点滅カウンタの値に変更する。そして、早送りモードフラグに１（早送りモード）をセットする（ステップＤ４９）。次に、図２８のフローに示した曲データ読込み処理を実行する（ステップＤ５０）。すなわちこの場合には、現在時間を進めたその時間差分の曲データを早送りモードで読み込む。
【００５３】
また、図２９のステップＤ３９において、予告点滅カウンタの値が再生カウンタの値に一致した場合、すなわち、鍵域内のノートの押鍵開始時間に達したとき又は鍵域外のノートの発音時間に達したときは、図３０のステップＤ５１において、ＭＩＤＩ押鍵要求バッファにデータがあるか否かを判別する（ステップＤ５１）。このバッファにデータがない場合には、鍵域外であるので、図２８のフローに示した曲データ読込み処理を実行する（ステップＤ５０）。すなわちこの場合には、押鍵指示ができないので発音のみを行うために曲データを読み込む。
【００５４】
ステップＤ５０における曲データ読込み処理が終了すると、ＭＩＤＩ押鍵要求バッファをクリアし（ステップＤ５２）、予告点滅バッファをクリアする（ステップＤ５３）。そして、イージー（１）レッスン及びイージー（２）レッスンにおける予告ノート検出処理を実行する（ステップＤ５４）。次に、早送りモードフラグが０であるか否かを判別する（ステップＤ５５）。このフラグが０である場合には、経過した最小分解能時間（図２４のステップＤ２）だけ再生カウンタの値をインクリメントする（ステップＤ５６）。そして、メインフローに戻る。早送りモードフラグが１の場合には、ステップＤ４８において再生カウンタの値を予告点滅カウンタの値に更新しているので、再生カウンタのインクリメントをすることなく、メインフローに戻る。
【００５５】
図３０のステップＤ５１において、ＭＩＤＩ押鍵要求バッファにデータがある場合、すなわち、電子鍵盤楽器２０において点滅している発光素子に対応する鍵の押鍵開始時間に達したときは、図３１のフローにおいて、ウェイトフラグが０であるか否かを判別する（ステップＤ５７）。このフラグが０である場合には、図２８に示した曲データ読込み処理を実行し（ステップＤ５８）、ウェイトフラグに１（押鍵待ちモード）をセットする（ステップＤ５９）。次に、予告点滅バッファをクリアする（ステップＤ６０）。バッファをクリアした後、又は、ステップＤ５７若しくは図２４のステップＤ３においてウェイトフラグが１である場合には、ＭＩＤＩＮｅｗＯＮバッファにデータがあるか否かを判別する（ステップＤ６１）。データがない場合には鍵域オーバーであるので、押鍵を待つ必要がないのでメインフローに戻る。
【００５６】
ＭＩＤＩＮｅｗＯＮバッファにデータがある場合には、ＳＴＥＰの値が２（イージー（２）レッスンモード）であるか否かを判別する（ステップＤ６２）。この値が２で、正しい押鍵待ちモードである場合には、ＭＩＤＩ押鍵要求バッファのノートとＭＩＤＩＮｅｗＯＮバッファのノートとが一致しているか否かを判別する（ステップＤ６３）。両バッファのノートが一致しない場合、すなわち押鍵要求のノートと実際の押鍵されたノートとが異なる場合には、メインフローに戻る。ステップＤ６２においてＳＴＥＰの値が１で、いずれかの鍵の押鍵待ちモードである場合、又は、ステップＤ６３において両バッファのノートが一致した場合は、ウェイトフラグに０をセットし（ステップＤ６４）、ＭＩＤＩ押鍵要求バッファをクリアする（ステップＤ６５）。そして、図３０のステップＤ５４に移行して、予告ノート検出処理（ＳＴＥＰ１，２）を実行する。
【００５７】
図３２及び図３３は、図２９のステップＤ４６及び図３９のステップＤ５４における予告ノート検出処理（ＳＴＥＰ１，２）のフローである。このフローでは、ＦＤ（フロッピーディスク）の曲データを検索して予告ノートを先読みする。ＦＤ内に曲データがあるか否かを判別し（ステップＤ６６）、データがない場合すなわち曲が終了したときはこのフローを終了する。データがある場合には、予告アドレスポインタＹＡＰのデルタタイムのデータＭＥＭ［ＹＡＰ］をΔＴにセットし（ステップＤ６７）、次の予告アドレスポインタ（ＹＡＰ＋１）のイベントデータをＥＶＥＮＴにセットする（ステップＤ６８）。次に、ＥＶＥＮＴのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する（ステップＤ６９）。
【００５８】
同一でない場合には、予告点滅カウンタの値にΔＴの値を加算し（ステップＤ７０）、ＹＡＰの値に２を加算する（ステップＤ７１）。すなわち、次の予告ノートのデータを指定する。次に、ステップＤ６６に移行して指定したデータがあるか否かを判別する。そして、ガイドパートのチャンネルと同一のチャンネルのＥＶＥＮＴを検出するまで、ステップＤ６６〜ステップＤ７１のループを繰り返す。ステップＤ６９において同一のチャンネルのＥＶＥＮＴを検出したときは、そのＥＶＥＮＴのノートのＲＡＮＧＥは鍵域内であるか否かを判別する（ステップＤ７２）。
【００５９】
鍵域内である場合には、ＥＶＥＮＴのノートを予告点滅バッファにストアする（ステップＤ７３Ａ）。すなわち、押鍵すべき鍵に対応する発光素子を予告点滅させるデータとしてストアする。また、ＥＶＥＮＴのノートをＭＩＤＩ押鍵要求バッファにストアする（ステップＤ７３Ｂ）。ステップＤ７２においてＥＶＥＮＴのノートのＲＡＮＧＥが鍵域外である場合には、予告点滅バッファをクリアする（ステップＤ７４）。予告点滅バッファをクリアした後、又は、ステップＤ７３ＢにおいてＭＩＤＩ押鍵要求バッファにノートをストアした後は、予告点滅カウンタの値にΔＴの値を加算し（ステップＤ７５）、ＹＡＰの値に２を加算する（ステップＤ７６）。すなわち、次の予告ノートのデータを指定する。そして、発音数のレジスタに１をセットする（ステップＤ７７）。
【００６０】
次に、ＹＡＰで指定したアドレスのデータがあるか否かを判別し（ステップＤ７８）、データがない場合にはこのフローを終了する。データがある場合には、予告アドレスポインタＹＡＰのデルタタイムのデータＭＥＭ［ＹＡＰ］をΔＴにセットし（ステップＤ７９）、次の予告アドレスポインタ（ＹＡＰ＋１）のイベントデータをＥＶＥＮＴにセットする（ステップＤ８０）。次に、予告点滅カウンタの値にΔＴの値を加算した値が、予告点滅カウンタの値に所定値αを加算した値以内であるか否かを判別する（ステップＤ８１）。所定値αは、シーケンスデータ構成の曲データにおいて、先読みしてＥＶＥＮＴにセットしたノートが、前に読み出したノートと同時に発音すべき和音のノートであるかどうかを判別する閾値である。予告点滅カウンタの値にΔＴの値を加算した値が、予告点滅カウンタの値に所定値αを加算した値を超えている場合には、ＥＶＥＮＴのノートは前のノートと和音を構成しないので、このフローを終了する。
【００６１】
予告点滅カウンタの値にΔＴの値を加算した値が、予告点滅カウンタの値に所定値αを加算した値以内である場合には、ＥＶＥＮＴのノートは前に読み出したノートと和音を構成するノートであるので、図３３のフローにおいて、ＥＶＥＮＴのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する（ステップＤ８２）。チャンネルが同一でない場合にはこのフローを終了する。チャンネルが同一の場合には、発音数レジスタにセットされている現在の発音数に１を加算した発音数が、最大発音数以内であるか否かを判別する（ステップＤ８３）。現在の発音数に１を加算した発音数が最大発音数（指数）を超えている場合には、図３２のステップＤ８０においてＥＶＥＮＴにセットした最新のノートを前の複数のノートと同時に押鍵して発音できないので、このフローを終了する。
【００６２】
現在の発音数に１を加算した発音数が、最大発音数以内である場合には、ＥＶＥＮＴにセットした最新のノートを前の複数のノートと同時に押鍵して発音できるので、発音数レジスタの値を１だけインクリメントする（ステップＤ８４）。次に、そのノートのＲＡＮＧＥは鍵域内か否かを判別し（ステップＤ８５）、鍵域内である場合には、ＥＶＥＮＴのノートを予告点滅バッファにストアし（ステップＤ８６）、ＥＶＥＮＴのノートをＭＩＤＩ押鍵要求バッファにストアする（ステップＤ８７）。次に、予告点滅カウンタの値にΔＴの値を加算する（ステップＤ８８）。そして、ＹＡＰのアドレスを２だけ加算して（ステップＤ８９）、次のイベントデータを指定する。そして、図３２のステップＤ７８に移行して、その指定したデータがあるか否かを判別する。データがある場合には、ステップＤ７８〜ステップＤ８９のループを繰り返す。
【００６３】
図３４は、図７のメインフローのステップＡ６における送信データ作成処理のフローである。発音処理バッファにデータがあるか否かを判別し（ステップＥ１）、データがある場合には、そのデータはノートオン又はノートオフのイベントであるか否かを判別する（ステップＥ２）。ノートイベントである場合には、ＳＴＥＰの値が０（通常自動演奏）であるか否かを判別する（ステップＥ３）。ＳＴＥＰの値が０である場合、又は、発音処理バッファのデータがノートイベントでない場合には、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する（ステップＥ４）。
【００６４】
この２つのチャンネルが同一である場合には、イベントのチャンネルをナビチャンネルに変更する（ステップＥ５）。２つのチャンネルが異なる場合には、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する（ステップＥ６）。この２つのチャンネルが同一である場合には、イベントのチャンネルをガイドパートのチャンネルに変更する（ステップＥ７）。そして、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ８）。例えば、図３５に示すように、ＦＤに記憶されている曲データのガイドパートチャンネルが８チャンネルで、ナビチャンネルが４チャンネルの場合、４チャンネルのイベントをＭＩＤＩ出力バッファの８チャンネルに転送し、８チャンネルのイベントをＭＩＤＩ出力バッファの４チャンネルに転送する。ステップＥ４、ステップＥ６において、イベントがガイドパートチャンネルでもなく、ナビチャンネルでもない場合には、図３５に示すように、そのイベントをＭＩＤＩ出力バッファの同じチャンネルに転送する。
【００６５】
ステップＥ３において、ＳＴＥＰの値が０でない場合には、ＳＴＥＰの値が３であるか否か、すなわち押鍵を待たないレッスンモードであるか否かを判別する（ステップＥ９）。この値が３である場合には、ＳＴＥＰ（３）再生処理を実行する（ステップＥ１０）。この値が３でない場合、すなわち１又は２である場合には、ＳＴＥＰ（１，２）再生処理を実行する（ステップＥ１１）。ステップＥ８においてイベントをＭＩＤＩ出力バッファに転送した後、又は、ステップＥ１０若しくはＥ１１において再生処理を実行した後は、ステップＥ１に移行して発音処理バッファのデータの有無を判別する。データがある場合には上記各ステップを繰り返し、発音処理バッファのすべてのデータを処理してデータがなくなったときは、１にセットされている早送りモードフラグを０にして（ステップＥ１２）、メインフローに戻る。
【００６６】
図３６〜図３８は、図３４のステップＥ１１におけるＳＴＥＰ（１，２）再生処理のフローである。図３６において、イベントのノートはＲＡＮＧＥの鍵域内か否かを判別し（ステップＥ１３）、ＲＡＮＧＥの鍵域内である場合には、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する（ステップＥ１４）。チャンネルが同一である場合には、イベントはノートオンイベントであるか否かを判別する（ステップＥ１５）。ノートオンイベントである場合には、早送りモードフラグが０であるか否かを判別する（ステップＥ１６）。このフラグが０で早送りモードでない場合には、イベントのベロシティ値を１（最小値）に変更する（ステップＥ１７）。
【００６７】
ベロシティ値を変更した後、又は、ステップＥ１５においてイベントがノートオンイベントでない場合すなわちノートオフイベントである場合には、イベントのチャンネルをナビチャンネルに変更する（ステップＥ１８）。そして、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ１９）。イベントを転送した後、又は、ステップＥ１６において早送りモードフラグが１（早送りモード）である場合には、図３４のフローのステップＥ１に戻る。
【００６８】
図３６のステップＥ１３において、イベントのノートがＲＡＮＧＥの鍵域内でない場合には、そのノートがＲＡＮＧＥの高音域側の鍵域外であるか否かを判別する（ステップＥ２０）。高音域側である場合には、ＵＰオーバーフラグに１をセットする（ステップＥ２１）。高音域側でない場合すなわち低音域側である場合には、ＤＯＷＮオーバーフラグに１をセットする（ステップＥ２２）。
【００６９】
ステップＥ１４においてイベントのチャンネルとガイドパートのチャンネルおとが同一でない場合には、図３７のフローにおいて、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する（ステップＥ２３）。チャンネルが同一である場合には、早送りモードフラグが０であるか否かを判別する（ステップＥ２４）。このフラグが０である場合には、イベントのチャンネルをガイドパートのチャンネルに変更し（ステップＥ２５）、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ２６）。イベントを転送した後、又は、ステップＥ２４において早送りモードフラグが１（早送りモード）である場合には、図３４のフローのステップＥ１に戻る。
【００７０】
ステップＥ２３において、イベントのチャンネルとガイドパートのチャンネルとが同一でない場合、すなわち、イベントのチャンネルがナビチャンネルともガイドパートチャンネルとも異なる場合には、早送りモードフラグが０であるか否かを判別する（ステップＥ２７）。このフラグが０である場合には、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ２８）。イベントを転送した後、又は、ステップＥ２７において早送りモードフラグが１（早送りモード）である場合には、図３４のフローのステップＥ１に戻る。
【００７１】
図３６のステップＥ２１又はステップＥ２２において、ＵＰオーバーフラグ又はＤＯＷＮオーバーフラグに１をセットした後は、図３８のフローにおいて、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する（ステップＥ２９）。チャンネルが同一である場合には、早送りモードフラグが０であるか否かを判別する（ステップＥ３０）。このフラグが０で早送りモードでない場合には、イベントのチャンネルをナビチャンネルに変更する（ステップＥ３１）。そして、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ３２）。イベントを転送した後、又は、ステップＥ３０において早送りモードフラグが１（早送りモード）である場合には、図３４のフローのステップＥ１に戻る。
【００７２】
ステップＥ２９において、イベントのチャンネルとガイドパートのチャンネルとが異なる場合には、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する（ステップＥ３３）。チャンネルが同一である場合には、早送りモードフラグが０であるか否かを判別する（ステップＥ３４）。このフラグが０である場合には、イベントのチャンネルをガイドパートのチャンネルに変更し（ステップＥ３５）、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ３６）。イベントを転送した後、又は、ステップＥ３４において早送りモードフラグが１（早送りモード）である場合には、図３４のフローのステップＥ１に戻る。
【００７３】
ステップＥ３３において、イベントのチャンネルとガイドパートのチャンネルとが同一でない場合、すなわち、イベントのチャンネルがナビチャンネルともガイドパートチャンネルとも異なる場合には、早送りモードフラグが０であるか否かを判別する（ステップＥ３７）。このフラグが０である場合には、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ３８）。イベントを転送した後、又は、ステップＥ３７において早送りモードフラグが１（早送りモード）である場合には、図３４のフローのステップＥ１に戻る。
【００７４】
図３９及び図４０は、図３４のフローのステップＥ１０におけるＳＴＥＰ（３）再生処理のフローである。図３９において、イベントのノートはＲＡＮＧＥの鍵域内か否かを判別し（ステップＥ３９）、ＲＡＮＧＥの鍵域内である場合には、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する（ステップＥ４０）。チャンネルが同一である場合には、イベントはノートオンイベント又はノートオフイベントであるか否かを判別する（ステップＥ４１）。ノートオンイベント又はノートオフイベントである場合には、イベントのチャンネルをナビチャンネルに変更する（ステップＥ４２）。
【００７５】
次に、イベントはノートオンイベントであるか否かを判別する（ステップＥ４３）。ノートオンイベントである場合には、イベントのベロシティ値を１（最小値）に変更する（ステップＥ４４）。ベロシティ値を変更した後、又は、ステップＥ４３においてイベントがノートオンイベントでない場合すなわちノートオフイベントである場合には、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ４５）。ステップＥ４１においてイベントがノートイベントでない場合には、イベントのチャンネルをナビチャンネルに変更し（ステップＥ４６）、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ４５）。イベントを転送した後は、図３４のフローのステップＥ１に戻る。
【００７６】
ステップＥ４０において、イベントのチャンネルとガイドパートのチャンネルとが同一でない場合には、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する（ステップＥ４７）。チャンネルが同一である場合には、イベントのチャンネルをガイドパートのチャンネルに変更する（ステップＥ４８）。チャンネルを変更した後、又は、ステップＥ４７においてイベントのチャンネルとガイドパートのチャンネルとが同一でない場合、すなわちイベントのチャンネルがガイドパートのチャンネルともナビチャンネルとも異なる場合には、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ４９）。イベントを転送した後は、図３４のフローのステップＥ１に戻る。
【００７７】
図３９のステップＥ３９において、イベントがＲＡＮＧＥの鍵域内でない場合には、図４０のフローにおいて、イベントのノートがＲＡＮＧＥの高音域側の鍵域外すなわち上限オーバーであるか否かを判別する（ステップＥ５０）。上限オーバーである場合には、ＵＰオーバーフラグに１をセットする（ステップＥ５１）。上限オーバーでない場合すなわち低音域側の下限オーバーである場合には、ＤＯＷＮオーバーフラグに１をセットする（ステップＥ５２）。ＵＰオーバーフラグ又はＤＯＷＮオーバーフラグに１をセットした後は、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する（ステップＥ５３）。チャンネルが同一である場合には、イベントのチャンネルをナビチャンネルに変更する（ステップＥ５４）。
【００７８】
ステップＥ５３においてイベントのチャンネルとガイドパートのチャンネルとが同一でない場合には、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する（ステップＥ５５）。チャンネルが同一である場合には、イベントのチャンネルをガイドパートのチャンネルに変更する（ステップＥ５６）。ステップＥ５４若しくはステップＥ５６において、チャンネルを変更した後、又は、ステップＥ５３若しくはステップＥ５５において、イベントのチャンネルがガイドパートのチャンネルともナビチャンネルとも異なる場合には、イベントをＭＩＤＩ出力バッファに転送する（ステップＥ５７）。イベントを転送した後は、図３４のフローのステップＥ１に戻る。
【００７９】
図４１は、図７のメインフローのステップＡ７における予告点滅処理のフローである。このフローでは、電子鍵盤楽器２０の発光素子を点滅させるために、点滅周期時間ごとに、点灯データ及び消灯データを交互に送信する。すなわち、点滅周期時間が経過したか否かを判別し（ステップＦ１）、経過していない場合にはメインフローに戻る。経過したときは、点滅フラグを反転する（ステップＦ２）。そして、点滅フラグが１であるか否かを判別する（ステップＦ３）。このフラグが１である場合には、予告点滅バッファ内のノートでノートオンデータを作成する（ステップＦ４）。また、イベントのベロシティ値を１すなわち最小値に変更する（ステップＦ５）。そして、イベントをＭＩＤＩ出力バッファに転送する（ステップＦ６）。
【００８０】
ステップＦ３において点滅フラグが０である場合には、予告点滅バッファ内のノートでノートオフデータを作成し（ステップＦ７）、そのノートオフデータのイベントをＭＩＤＩ出力バッファに転送する（ステップＦ６）。イベントを転送した後、予告点滅バッファにまだノートデータがあるか否かを判別する（ステップＦ８）。まだノートデータがある場合には、ステップＦ３〜ステップＦ８の処理を繰り返し、予告点滅バッファの処理すべきノートデータがなくなったときは、メインフローに戻る。
【００８１】
図４２は、図７のメインフローのステップＡ８におけるＭＩＤＩ処理のフローである。ＭＩＤＩ入力バッファに新たなイベントの入力があるか否かを判別し（ステップＧ１）、新たな入力があったときはそのイベントがノートオンデータであるか否かを判別する（ステップＧ２）。すなわち、電子鍵盤楽器２０において押鍵されたノートオンデータであるか否かを判別する。入力されたイベントがノートオンデータでない場合、又は、ＭＩＤＩ入力バッファに新たなイベントの入力がない場合には、メインフローに戻る。入力されたイベントがノートオンデータである場合には、そのイベントのノートをＭＩＤＩＮｅｗＯＮバッファにストアする（ステップＧ３）。そして、メインフローに戻る。
【００８２】
このように上記実施形態によれば、ＦＤ１５に記憶されている複数のパートからなる曲データを読み出して、ＭＩＤＩインターフェース１７を介して接続された電子鍵盤楽器２０に送信する際に、演奏教習に係るパートについては現在時間がまだ演奏開始時間に到っていない曲データを前もって読み出し、他のパートについては現在時間が演奏開始時間に到った曲データを読み出す。したがって、複数のパートからなる曲の特定のパートについて、電子鍵盤楽器２０の鍵盤の各鍵に対応する発光素子を発光させて演奏教習を行う場合に、曲データ分のメモリ容量を必要とせず、曲の選択からすみやかに演奏開始ができる。
【００８３】
この場合において、演奏教習に係るパートについても現在時間が演奏開始時間に到った曲データを読み出す。そして、演奏教習に係るパートにおける現在時間がまだ演奏開始時間に到っていない曲データに基づく演奏教習データを送信して、電子鍵盤楽器器２０の演奏教習に係る鍵に対応する発光素子を所定の態様で発光させ、演奏教習に係るパートにおける演奏開始時間に到った曲データに基づく演奏教習データを送信して、電子鍵盤楽器２０の演奏教習に係る鍵に対応する発光素子を異なる態様で発光させる。したがって、演奏者は、所定の態様で発光する発光素子によって演奏予告をまず認識し、異なる態様で発光する発光素子によって演奏開始時間をすみやかに認識できるので、他のパートの自動演奏に遅れることなく、演奏教習のパートをスムーズに練習できる。
【００８４】
なお、上記実施形態においては、本発明の演奏教習装置と接続された演奏装置として、電子鍵盤楽器２０を例に採ったが、電子弦楽器や電子打楽器等の演奏装置にも適用できる。電子弦楽器の場合の操作部は各弦であり、メロディパート及びコードパートからなる曲データにおいて、一方のパートにおける演奏教習に係る弦に対応する発光素子を点滅させて演奏予告を行う。また、打楽器の場合の操作部は各ドラムの打面であり、ハイハット、スネア、バスドラからなる複数のパートのうち、特定のパートにおける演奏教習に係る打面に対応する発光素子を点滅させて演奏予告を行う。
【００８５】
また、上記実施形態においては、電子鍵盤楽器２０と専用の演奏教習装置１０とを接続するシステム構成について説明したが、パソコン等の汎用のコンピュータと電子鍵盤楽器とを接続して、コンピュータによる演奏教習処理を行うシステム構成も可能である。
この場合には、フロッピーディスク等の記録媒体に、所定の記憶手段に記憶されている複数のパートからなる曲データを読み出すデータ読出手順と、このデータ読出手順によって読み出された演奏教習に係るパートの曲データに基づく演奏教習データ及び他のパートの曲データを所定の通信手段を介して接続された演奏装置に送信するデータ送信手順と、前記他のパートについては現在時間が演奏開始時間に到った曲データを前記データ読出手段に読み出させ、前記演奏教習に係るパートについては現在時間がまだ演奏開始時間に到っていない曲データを前もって前記データ読出手順に読み出させる読出制御手順と、を実行する演奏教習処理プログラムを記録して、このプログラムをコンピュータにロードして、上記実施形態に示した演奏教習処理を実行させる。
【００８６】
【発明の効果】
本発明によれば、所定の記憶手段に記憶されている複数のパートからなる曲データを読み出して、所定の通信手段を介して接続された演奏装置に送信する際に、演奏教習に係るパートについては現在時間がまだ演奏開始時間に到っていない曲データを前もって読み出し、他のパートについては現在時間が演奏開始時間に到った曲データを読み出す。したがって、複数のパートからなる曲の特定のパートについて、演奏装置の操作部に対応する発光手段を発光させて演奏教習を行う場合に、曲データ分のメモリ容量を必要とせず、曲の選択からすみやかに演奏開始ができる。
【図面の簡単な説明】
【図１】本発明の演奏教習装置を用いた実施形態のシステム構成を示すブロック図。
【図２】図１における演奏教習装置の外観を示す斜視図。
【図３】図２におけるスイッチ部の詳細図。
【図４】図２におけるＬＣＤ表示部の表示内容を示す図。
【図５】図１におけるＦＤに記憶されている曲データの構成を示す図。
【図６】図１におけるＲＡＭの記憶エリアの構成を示す図。
【図７】図１における演奏教習装置のＣＰＵのメインフローチャート。
【図８】ＣＰＵのＭＩＤＩ割込処理のフローチャート。
【図９】図７におけるスイッチ処理のフローチャート。
【図１０】図９におけるファンクションスイッチ処理のフローチャート。
【図１１】図９におけるガイドパートスイッチ処理のフローチャート。
【図１２】図９におけるイージー（１）スイッチ処理のフローチャート。
【図１３】図９におけるイージー（２）スイッチ処理のフローチャート。
【図１４】図９におけるノーマルスイッチ処理のフローチャート。
【図１５】図９におけるプレイスイッチ処理のフローチャート。
【図１６】図９におけるストップスイッチ処理のフローチャート。
【図１７】図９におけるセレクトスイッチ処理のフローチャート。
【図１８】図９におけるバリュースイッチ処理のフローチャート。
【図１９】図７における表示処理のフローチャート。
【図２０】図１９に続く表示処理のフローチャート。
【図２１】ＬＣＤ表示部における鍵域設定画面を示す図。
【図２２】ＬＣＤ表示部におけるナビチャンネル設定画面を示す図。
【図２３】ＬＣＤ表示部における鍵域オーバーの画面を示す図。
【図２４】図７におけるシーケンス処理のフローチャート。
【図２５】図２４における通常再生処理のフローチャート。
【図２６】図２４に続くシーケンス処理のフローチャート。
【図２７】図２６における予告ノート検出処理ＳＴＥＰ（３）のフローチャート。
【図２８】図２６、図２９、図３０、及び図３１における曲データ読込み処理のフローチャート。
【図２９】図２４に続くシーケンス処理のフローチャート。
【図３０】図２９に続くシーケンス処理のフローチャート。
【図３１】図３０に続くシーケンス処理のフローチャート。
【図３２】図２９及び図３０における予告ノート検出処理ＳＴＥＰ（１，２）のフローチャート。
【図３３】図３２に続く予告ノート検出処理ＳＴＥＰ（１，２）のフローチャート。
【図３４】図７における送信データ作成処理のフローチャート。
【図３５】送信データ作成処理におけるチャンネル変更の様子を示す図。
【図３６】図３４におけるＳＴＥＰ（１，２）再生処理のフローチャート。
【図３７】図３６に続くＳＴＥＰ（１，２）再生処理のフローチャート。
【図３８】図３６に続くＳＴＥＰ（１，２）再生処理のフローチャート。
【図３９】図３４におけるＳＴＥＰ（３）再生処理のフローチャート。
【図４０】図３９に続くＳＴＥＰ（３）再生処理のフローチャート。
【図４１】図７における予告点滅処理のフローチャート。
【図４２】図７におけるＭＩＤＩ処理のフローチャート。
【符号の説明】
１１  ＣＰＵ
１２  スイッチ部
１３  ＦＤＤＣ
１４  ＦＤＤ
１５  ＦＤ
１６  ＲＡＭ
１７  ＭＩＤＩインターフェース
１８  ＬＣＤＤ
１９  ＬＣＤ表示部
２０  電子鍵盤楽器
【図１】
0003743878.tif 000002
【図２】
0003743878.tif 000003
【図３】
0003743878.tif 000004
【図４】
0003743878.tif 000005
【図５】
0003743878.tif 000006
【図６】
0003743878.tif 000007
【図７】
0003743878.tif 000008
【図８】
0003743878.tif 000009
【図９】
0003743878.tif 000010
【図１０】
0003743878.tif 000011
【図１１】
0003743878.tif 000012
【図１２】
0003743878.tif 000013
【図１３】
0003743878.tif 000014
【図１４】
0003743878.tif 000015
【図１５】
0003743878.tif 000016
【図１６】
0003743878.tif 000017
【図１７】
0003743878.tif 000018
【図１８】
0003743878.tif 000019
【図１９】
0003743878.tif 000020
【図２０】
0003743878.tif 000021
【図２１】
0003743878.tif 000022
【図２２】
0003743878.tif 000023
【図２３】
0003743878.tif 000024
【図２４】
0003743878.tif 000025
【図２５】
0003743878.tif 000026
【図２６】
0003743878.tif 000027
【図２７】
0003743878.tif 000028
【図２８】
0003743878.tif 000029
【図２９】
0003743878.tif 000030
【図３０】
0003743878.tif 000031
【図３１】
0003743878.tif 000032
【図３２】
0003743878.tif 000033
【図３３】
0003743878.tif 000034
【図３４】
0003743878.tif 000035
【図３５】
0003743878.tif 000036
【図３６】
0003743878.tif 000037
【図３７】
0003743878.tif 000038
【図３８】
0003743878.tif 000039
【図３９】
0003743878.tif 000040
【図４０】
0003743878.tif 000041
【図４１】
0003743878.tif 000042
【図４２】
0003743878.tif 000043