(57)【特許請求の範囲】
【請求項１】
基準演奏情報を記憶した記憶手段と、
演奏者による演奏に基づき実演奏情報を発生する実演奏情報発生手段と、
楽音信号を発生する楽音信号発生手段と、
前記実演奏情報に基づいて前記楽音信号楽音信号発生手段に対して楽音信号の発生を指示する制御手段であって、前記実演奏情報と前記基準演奏情報とが所定の関係にある場合にのみ、前記基準演奏情報に基づいて前記実演奏情報を修正し、該修正された実演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示する制御手段と
を有し、
前記基準演奏情報および前記実演奏情報は発生すべき楽音信号の音高を指示する音高情報を含み、
前記制御手段は、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報とが一致しない場合であっても、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報との差が所定値以上である場合、あるいは、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報とが所定の音程関係にある場合には、前記実演奏情報の修正を行わない
ことを特徴とする楽音生成装置。
【請求項２】
基準演奏情報を記憶した記憶手段と、
演奏者による演奏に基づき実演奏情報を発生する実演奏情報発生手段と、
楽音信号を発生する楽音信号発生手段と、
前記実演奏情報に基づいて前記楽音信号楽音信号発生手段に対して楽音信号の発生を指示する制御手段であって、前記実演奏情報と前記基準演奏情報とが所定の関係にある場合にのみ、前記基準演奏情報に基づいて前記実演奏情報を修正し、該修正された実演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示する制御手段と
を有し、
前記制御手段は、前記実演奏情報が前記基準演奏情報を含む所定範囲以内であるか否かを判断し、該所定範囲より外れている場合には前記実演奏情報を前記所定範囲の境界値に修正する
ことを特徴とする楽音生成装置。
【請求項３】
基準演奏情報を記憶した記憶手段と、
演奏者による演奏に基づき実演奏情報を発生する実演奏情報発生手段と、
楽音信号を発生する楽音信号発生手段と、
前記基準演奏情報と前記実演奏情報との比較結果に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示する制御手段であって、前記実演奏情報の発生が所定時間以上中断した場合、あるいは、前記基準演奏情報に基づき規定されるタイミングから所定時間以上経過しても前記実演奏情報が発生されない場合、前記基準演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示する制御手段と
を有し、
前記制御手段は、モード１およびモード２の動作モードを指定可能であり、前記モード１が指示された場合には、前記実演奏情報の発生が中断した時点から所定時間経過したタイミング、あるいは、前記基準演奏情報に基づき規定されるタイミングから所定時間経過したタイミングに対応する前記基準演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示し、前記モード２が指示された場合には、前記実演奏情報の発生が中断したタイミング、あるいは、前記基準演奏情報に基づき規定されるタイミングに対応する前記基準演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示するものである
ことを特徴とする楽音生成装置。
【請求項４】
コンピュータに、
基準演奏情報を記憶する過程と、
演奏者による演奏に基づき実演奏情報を発生する過程と、
前記実演奏情報と前記基準演奏情報とが所定の関係にある場合にのみ、前記基準演奏情報に基づいて前記実演奏情報を修正し、適宜修正された該実演奏情報に基づいて楽音信号を発生する過程と
を実行させるためプログラムであって、
前記基準演奏情報および前記実演奏情報は発生すべき楽音信号の音高を指示する音高情報を含み、
前記楽音信号を発生する過程にあっては、
前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報とが一致しない場合であっても、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報との差が所定値以上である場合、あるいは、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報とが所定の音程関係にある場合には、前記実演奏情報の修正を行わない
プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項５】
コンピュータに、
基準演奏情報を記憶する過程と、
演奏者による演奏に基づき実演奏情報を発生する過程と、
前記実演奏情報と前記基準演奏情報とが所定の関係にある場合にのみ、前記基準演奏情報に基づいて前記実演奏情報を修正し、適宜修正された該実演奏情報に基づいて楽音信号を発生する過程と
を実行させるためプログラムであって、
前記楽音信号を発生する過程にあっては、
前記実演奏情報が前記基準演奏情報を含む所定範囲以内であるか否かを判断し、該所定範囲より外れている場合には前記実演奏情報を前記所定範囲の境界値に修正する
プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
コンピュータに、
基準演奏情報を記憶する過程と、
演奏者による演奏に基づき実演奏情報を発生する過程と、
前記実演奏情報の発生が所定時間以上中断した場合、あるいは、前記基準演奏情報に基づき規定されるタイミングから所定時間以上経過しても前記実演奏情報が発生されない場合、前記基準演奏情報に基づいて楽音信号を発生する過程と
を実行させるためプログラムであって、
モード１およびモード２の動作モードを指定可能であり、前記モード１が指示された場合には、前記実演奏情報の発生が中断した時点から所定時間経過したタイミング、あるいは、前記基準演奏情報に基づき規定されるタイミングから所定時間経過したタイミングに対応する前記基準演奏情報に基づいて前記楽音信号を発生し、
前記モード２が指示された場合には、前記実演奏情報の発生が中断したタイミング、あるいは、前記基準演奏情報に基づき規定されるタイミングに対応する前記基準演奏情報に基づいて前記楽音信号を発生する
プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器に用いて好適な楽音生成装置および記録媒体に関する。
【０００２】
【従来の技術】
従来より、音楽教室等においては、教師の模範演奏と生徒の演奏とを比較して採点する装置が用いられれている。この装置においては、予め教師の模範演奏を演奏情報として記憶し、この演奏情報が生徒の演奏と比較され、比較結果が出力される。従って、生徒はこの比較結果を見て、次回の演奏において修正すべき点を知ることができる。
【０００３】
【発明が解決しようとする課題】
しかし、上記装置においては、比較結果をリアルタイムに確認することができず不便であった。さらに、比較結果に基づいて演奏内容を修正することも不可能であった。
この発明は上述した事情に鑑みてなされたものであり、演奏内容を自動的に修正できる楽音生成装置および記録媒体を提供することを第１の目的としている。また、模範演奏と実演奏との比較結果をリアルタイムに確認できる楽音生成装置および記録媒体を提供することを第２の目的としている。
【０００４】
【課題を解決するための手段】
上記課題を解決するため請求項１記載の構成にあっては、基準演奏情報を記憶した記憶手段と、演奏者による演奏に基づき実演奏情報を発生する実演奏情報発生手段と、楽音信号を発生する楽音信号発生手段と、前記実演奏情報に基づいて前記楽音信号楽音信号発生手段に対して楽音信号の発生を指示する制御手段であって、前記実演奏情報と前記基準演奏情報とが所定の関係にある場合にのみ、前記基準演奏情報に基づいて前記実演奏情報を修正し、該修正された実演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示する制御手段とを有し、前記基準演奏情報および前記実演奏情報は発生すべき楽音信号の音高を指示する音高情報を含み、前記制御手段は、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報とが一致しない場合であっても、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報との差が所定値以上である場合、あるいは、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報とが所定の音程関係にある場合には、前記実演奏情報の修正を行わないことを特徴とする。
さらに、請求項２に記載の構成にあっては、基準演奏情報を記憶した記憶手段と、演奏者による演奏に基づき実演奏情報を発生する実演奏情報発生手段と、楽音信号を発生する楽音信号発生手段と、前記実演奏情報に基づいて前記楽音信号楽音信号発生手段に対して楽音信号の発生を指示する制御手段であって、前記実演奏情報と前記基準演奏情報とが所定の関係にある場合にのみ、前記基準演奏情報に基づいて前記実演奏情報を修正し、該修正された実演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示する制御手段とを有し、前記制御手段は、前記実演奏情報が前記基準演奏情報を含む所定範囲以内であるか否かを判断し、該所定範囲より外れている場合には前記実演奏情報を前記所定範囲の境界値に修正することを特徴とする。
さらに、請求項３に記載の構成にあっては、基準演奏情報を記憶した記憶手段と、演奏者による演奏に基づき実演奏情報を発生する実演奏情報発生手段と、楽音信号を発生する楽音信号発生手段と、前記基準演奏情報と前記実演奏情報との比較結果に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示する制御手段であって、前記実演奏情報の発生が所定時間以上中断した場合、あるいは、前記基準演奏情報に基づき規定されるタイミングから所定時間以上経過しても前記実演奏情報が発生されない場合、前記基準演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示する制御手段とを有し、前記制御手段は、モード１およびモード２の動作モードを指定可能であり、前記モード１が指示された場合には、前記実演奏情報の発生が中断した時点から所定時間経過したタイミング、あるいは、前記基準演奏情報に基づき規定されるタイミングから所定時間経過したタイミングに対応する前記基準演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示し、前記モード２が指示された場合には、前記実演奏情報の発生が中断したタイミング、あるいは、前記基準演奏情報に基づき規定されるタイミングに対応する前記基準演奏情報に基づいて前記楽音信号発生手段に対して楽音信号の発生を指示するものであることを特徴とする。
さらに、請求項４に記載の構成にあっては、コンピュータに、基準演奏情報を記憶する過程と、演奏者による演奏に基づき実演奏情報を発生する過程と、前記実演奏情報と前記基準演奏情報とが所定の関係にある場合にのみ、前記基準演奏情報に基づいて前記実演奏情報を修正し、適宜修正された該実演奏情報に基づいて楽音信号を発生する過程とを実行させるためプログラムであって、前記基準演奏情報および前記実演奏情報は発生すべき楽音信号の音高を指示する音高情報を含み、前記楽音信号を発生する過程にあっては、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報とが一致しない場合であっても、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報との差が所定値以上である場合、あるいは、前記基準演奏情報に含まれる音高情報と前記実演奏情報に含まれる音高情報とが所定の音程関係にある場合には、前記実演奏情報の修正を行わないプログラムを記録したことを特徴とする。
さらに、請求項５に記載の構成にあっては、コンピュータに、基準演奏情報を記憶する過程と、演奏者による演奏に基づき実演奏情報を発生する過程と、前記実演奏情報と前記基準演奏情報とが所定の関係にある場合にのみ、前記基準演奏情報に基づいて前記実演奏情報を修正し、適宜修正された該実演奏情報に基づいて楽音信号を発生する過程とを実行させるためプログラムであって、前記楽音信号を発生する過程にあっては、前記実演奏情報が前記基準演奏情報を含む所定範囲以内であるか否かを判断し、該所定範囲より外れている場合には前記実演奏情報を前記所定範囲の境界値に修正するプログラムを記録したことを特徴とする。
さらに、請求項６に記載の構成にあっては、コンピュータに、基準演奏情報を記憶する過程と、演奏者による演奏に基づき実演奏情報を発生する過程と、前記実演奏情報の発生が所定時間以上中断した場合、あるいは、前記基準演奏情報に基づき規定されるタイミングから所定時間以上経過しても前記実演奏情報が発生されない場合、前記基準演奏情報に基づいて楽音信号を発生する過程とを実行させるためプログラムであって、モード１およびモード２の動作モードを指定可能であり、前記モード１が指示された場合には、前記実演奏情報の発生が中断した時点から所定時間経過したタイミング、あるいは、前記基準演奏情報に基づき規定されるタイミングから所定時間経過したタイミングに対応する前記基準演奏情報に基づいて前記楽音信号を発生し、前記モード２が指示された場合には、前記実演奏情報の発生が中断したタイミング、あるいは、前記基準演奏情報に基づき規定されるタイミングに対応する前記基準演奏情報に基づいて前記楽音信号を発生するプログラムを記録したことを特徴とする。
【０００５】
【発明の実施の形態】
１．実施形態の構成
次に、本実施形態の電子楽器の構成を図１を参照し説明する。図において１はＣＰＵであり、後述する制御プログラムに基づいて、バス１５を介して他の各部を制御する。２は電子音源であり、ＣＰＵ１の制御の下、楽音信号を発生させる。この楽音信号は、出力ポート８、アンプ９、スピーカ１０またはヘッドホン１１を順次介して発音される。
【０００６】
１２は鍵盤、１３はペダルであり、演奏者によって操作される。１４は操作パネルであり、電子楽器の音色設定や各種モード設定を行う。３はセンサ部であり、鍵盤１２、ペダル１３および操作パネル１４の操作状態を検出するセンサによって構成されている。４はディスプレイであり、ユーザに対して各種情報を表示する。すなわち、ディスプレイ４は楽曲の進行に伴って模範演奏の演奏情報を楽譜として表示するとともに、演奏者が誤った演奏を行った場合にはその旨の警告メッセージを表示する（詳細は後述する）。
【０００７】
５はＲＡＭであり、ＣＰＵ１のワークメモリとして用いられる。６はＲＯＭであり、後述する各種制御プログラムが格納される。７はフロッピーディスクドライブであり、演奏情報等の記録および再生のために用いられる。ここで、演奏情報のデータ構成を図１０に示しておく。
【０００８】
図において演奏情報はノートオン、ノートオフ等のイベントデータと、各イベントデータ間の相対時間（絶対時間はテンポに応じて変動する）を示すデュレーションデータと、演奏情報の終了を示すエンドデータとから構成される。各イベントデータは、ノートオン／オフの区別を示すデータと、ノートオン／オフに係るノートコードとを含み、さらにノートオンイベントデータは、イベントの強さを示すベロシティを含んでいる。
【０００９】
図１に戻り、上記操作パネル１４においては、以下のようなスイッチが設けられている。まず、１４ａはモード切換スイッチであり、モード０，１，２の何れかの動作モードを選択する。ここで、モード０は模範演奏に基づいて演奏支援を行わないモードであり、実演奏の内容は模範演奏と比較されることなくそのまま出力される。モード１，２は演奏支援を行うモードであり、その動作の詳細については実施形態の動作とともに説明する。
【００１０】
１４ｂはスタートスイッチであり、自動演奏の開始を指示するためのスイッチである。すなわち、モード０においてはスタートスイッチ１４ｂが押下されると直ちに自動演奏が開始され、モード１，２においては所定の条件の下、自動演奏が開始される（詳細は後述する）。また、１４ｃはストップスイッチであり、上記自動演奏の終了を指示するためのスイッチである。
【００１１】
２．実施形態の動作
２．１．モード０の場合の動作
２．１．１．自動演奏オフ
電子楽器の電源が投入されると、図２に示すメインルーチンが起動される。図において処理がステップＳＰ１に進むと、所定の初期設定が行われる。この初期設定の際、動作モードはモード０に設定される。次に、処理がステップＳＰ２に進むと、図４に示す鍵盤処理ルーチンが呼び出される。同ルーチンにおいて処理がステップＳＰ１１に進むと、いずれかの鍵が操作されたか否かが判定される。ここで「ＮＯ」と判定されると、処理は直ちにメインルーチンに戻る。
【００１２】
何れかの鍵が操作された場合は処理はステップＳＰ１２に進み、動作モードはモード０であるか否かが判定される。ここで、動作モードはモード０に初期設定されているから「ＹＥＳ」と判定され、処理はステップＳＰ１３に進む。ここでは、操作された鍵に関する情報が電子音源２に供給される。
【００１３】
すなわち何れかの鍵のキーオンが検出された場合は、キーオン信号、その鍵のノートコードおよびベロシティが電子音源２に供給され、電子音源２において対応する音の発音が開始される。一方、何れかの鍵のキーオフが検出された場合は、キーオフ信号およびその鍵のノートコードが電子音源２に供給され、電子音源２における消音処理が行われる。このように、モード０においては、キーオン、キーオフ等のタイミングが特に修正されることなく発音または消音処理が行われる。
【００１４】
次に、メインルーチンに戻り、処理がステップＳＰ３に進むと、図５に示す自動演奏処理ルーチンが呼び出される。図において処理がステップＳＰ３１に進むと、モード切換スイッチ１４ａがオンされたか否かが判定される。スタートスイッチ１４ｂがオンされていなければ「ＮＯ」と判定され、処理はステップＳＰ３４に進む。ここでは、ストップスイッチ１４ｃがオンされたか否かが判定される。ストップスイッチ１４ｃがオンされていなければ「ＮＯ」と判定され、処理はステップＳＰ３６に進む。
【００１５】
ここでは、フラグＢＦが“１”であるか否かが判定される。ここで、フラグＢＦは初期設定（ステップＳＰ１）において“０”に初期化されている。従って、ここでは「ＮＯ」と判定され、処理はメインルーチンに戻る。メインルーチンにおいて処理がステップＳＰ４に進むと、パネル処理が行われる。すなわち、操作パネル１４の操作状態に応じて自動演奏のテンポ設定や動作モードの設定等が行われる。次に、処理がステップＳＰ５に進むと、その他各種の処理が行われる。以後、ステップＳＰ２〜ＳＰ５の処理が繰返される。
【００１６】
ところで、設定されたテンポに応じた周期でＣＰＵ１に対してタイマ割込みが発生し、図３に示す割込処理ルーチン（図３）が起動される。図において処理がステップＳＰ２１に進むと、フラグＢＦが“１”であるか否かが判定される。ここで「ＮＯ」と判定されると、割込処理は直ちに終了し、実質的な処理は行われない。
【００１７】
２．１．２．自動演奏オン
ここで、演奏者がスタートスイッチ１４ｂを押下すると、その旨がセンサ部３を介して検出される。その後に自動演奏処理ルーチン（図５）が呼び出され処理がステップＳＰ３１に進むと、ここで「ＹＥＳ」と判定され、処理はステップＳＰ３２に進む。
【００１８】
ここでは、フラグＢＦが“１”に設定される。次に処理がステップＳＰ３３に進むと、アドレスＡＤ１が「１」に設定される。すなわち、模範演奏の演奏データの読出しアドレスが、該演奏データの先頭に設定される。また、ステップＳＰ３３においては、アドレスＡＤ１＝「１」またはそれ以降の演奏データにおいて、最初のデュレーションデータが読み出され、そのデュレーションデータがレジスタＤに格納される。
【００１９】
次に、処理がステップＳＰ３４を介してステップＳＰ３６に進むと、フラグＢＦは“１”に設定されたから「ＹＥＳ」と判定され、処理はステップＳＰ３７に進む。ここでは、動作モードに基づいて処理が分岐される。ここでは、動作モードとしてモード０が選択されているから、処理はステップＳＰ３８に進み、モード０処理サブルーチン（図６）が呼び出される。
【００２０】
図６において処理がステップＳＰ５１に進むと、レジスタＤの値が「０」であるか否かが判定される。ここで、「ＮＯ」と判定されると処理は呼出元の自動演奏処理ルーチン（図５）に戻り、さらにメインルーチン（図２）に戻る。その後、タイマ割込みが発生し割込処理ルーチン（図３）が起動されると、先にフラグＢＦが“１”に設定されたからステップＳＰ２１において「ＹＥＳ」と判定され、処理はステップＳＰ２２に進む。
【００２１】
ここでは、レジスタＤの値が「１」だけデクリメントされ、レジスタＳが「１」だけインクリメントされる。従って、レジスタＤは、デュレーションの残り時間を示すレジスタになる。なお、レジスタＳは、モード０においては特に使用されないため、その用途に関しては後述する。
【００２２】
次に、処理がステップＳＰ２３に進むと、フラグＣＦが“１”であるか否かが判定される。ここで、フラグＣＦは初期設定（ステップＳＰ１）において“０”に初期化されており、その後に変更されていない。従って、ここでは「ＮＯ」と判定され、割込処理が終了する。このように、モード０においては、テンポに応じた周期毎に割込処理ルーチン（図３）が呼び出され、レジスタＤがデクリメントされるとともにレジスタＳがインクリメントされる。
【００２３】
そうすると、やがてレジスタＤは「０」になる。その後に自動演奏処理ルーチン（図５）が呼び出されさらにモード０処理サブルーチン（図６）が呼び出されると、ステップＳＰ５１において「ＹＥＳ」と判定され、処理はステップＳＰ５２に進む。ここでは、次のデュレーションデータが読み出されるまでアドレスＡＤ１が進められ、デュレーションデータが読み出されると、その値が再びレジスタＤに格納される。
【００２４】
ところで、前回のデュレーションデータから今回のデュレーションデータに至るまでアドレスＡＤ１を進めると、一般的にはその間に一または複数のイベントデータ（キーオン、キーオフ等）が存在する。処理がステップＳＰ５３に進むと、これらイベントデータが電子音源２に送出される。これにより、電子音源２においては、楽音信号の発生あるいは消音等の処理が行われる。
【００２５】
以上の処理が終了すると、自動演奏処理ルーチン（図５）を介して処理はメインルーチン（図２）に戻る。このように、モード０においては、模範演奏の演奏情報の内容に基づく発音等の処理（ステップＳＰ５３）と、演奏者のマニュアル演奏に基づく発音等の処理（ステップＳＰ１３）とは全く独立しており、単なる模範演奏の再生や、模範演奏とマニュアル演奏とのアンサンブル等を行うことができる。
【００２６】
ここで、演奏者がストップスイッチ１４ｃを押下すると、その旨がセンサ部３を介して検出される。その後に自動演奏処理ルーチン（図５）が呼び出され処理がステップＳＰ３４に進むと、ここで「ＹＥＳ」と判定され、処理はステップＳＰ３５に進む。ここではフラグＢＦが“０”に設定され、ステップＳＰ３６を介して処理がメインルーチンに戻る。これ以降、タイマ割込みが発生したとしても割込処理ルーチン（図３）では実質的な処理が行われなくなるから、自動演奏は停止することになる。
【００２７】
２．２．モード１における動作
２．２．１．自動演奏オフ
ここで、演奏者がモード切換スイッチ１４ａをモード１にセットすると、ステップＳＰ４においてその旨が検出される。次に、演奏者が何れかの鍵を押下すると、鍵盤処理ルーチンにおいて処理はステップＳＰ１１，ＳＰ１２を順次介してステップＳＰ１４に進む。ここでは、フラグＡＦが“０”に設定され、レジスタＳに「０」が代入される。
【００２８】
次に、処理がステップＳＰ１５に進むと、「模範演奏の正規のタイミングよりも所定時間以上前に鍵の操作があったか否か」が判定される。但し、自動演奏がオフの状態ではここでは必ず「ＮＯ」と判定され、処理はステップＳＰ１８に進む。ここでは、上述したステップＳＰ１３と同様の処理が行われる。
【００２９】
すなわち何れかの鍵のキーオンが検出された場合は、キーオン信号、その鍵のノートコードおよびベロシティが電子音源２に供給され、電子音源２において対応する音の発音が開始される。一方、何れかの鍵のキーオフが検出された場合は、キーオフ信号およびその鍵のノートコードが電子音源２に供給され、電子音源２における消音処理が行われる。
【００３０】
但し、ステップＳＰ１８においては、実演奏におけるノートコードが模範演奏のものとは異なる場合、またはベロシティが模範演奏のものに対して所定範囲以上外れる場合は、実演奏におけるノートコードまたはベロシティは模範演奏におけるこれらの値に置き換えられる。これにより、聞き手に対して、正しいノートコードおよびベロシティで演奏されたものと認識させることができる。
【００３１】
さらに、ステップＳＰ１８においては、このように演奏情報の修正が行われた場合は、実演奏のノートコードまたはベロシティと、修正後のノートコードまたはベロシティとがディスプレイ４に表示される。例えば、ノートコードが誤った場合には「Ａが押鍵されましたが、正しくはＡ＃です」のようなメッセージが表示される。また、ベロシティが不適切であった場合は「Ａの押鍵は弱すぎるのでｍｆに修正しました」のように表示される。
【００３２】
これにより、演奏者は、誤った演奏操作を行ったことをリアルタイムに認識することができる。さらに、ディスプレイ４に表示されたメッセージは、模範演奏の演奏情報および実演奏の演奏情報とともにＲＡＭ５に記憶される。何れの演奏情報もＭＩＤＩデータ形式で記録すると好適である。この記録内容は後にディスプレイ４に表示させたり、フロッピーディスクに転送できるため、演奏者は演奏が終了した後に、メッセージを含めて演奏操作の内容を見直すことも可能である。
【００３３】
さて、ステップＳＰ１８が終了すると、次に処理はステップＳＰ１９に進むが、自動演奏がオフである場合はステップＳＰ１９において特に処理は行われない。このように、自動演奏がオフであれば、演奏者によるマニュアル演奏に基づいて発音等の処理が行われるが、ノートコードあるいはベロシティが不適切な場合は自動的に訂正される。
【００３４】
２．２．２．自動演奏オン
ここで、演奏者がスタートスイッチ１４ｂを押下すると、その旨がセンサ部３を介して検出される。その後に処理がステップＳＰ２に進み自動演奏処理ルーチン（図５）が呼び出されると、上述したようにステップＳＰ３２，３３を介して、フラグＢＦが“１”に設定され、アドレスＡＤ１が「１」に設定される。そして、模範演奏の演奏データの読出しアドレスであるアドレスＡＤ１＝「１」またはそれ以降の演奏データにおいて、最初のデュレーションデータがレジスタＤに格納される。
【００３５】
次に、ステップＳＰ３４〜ＳＰ３７を介してステップＳＰ３９に進むと、モード１処理サブルーチン（図７）が呼び出される。図において処理がステップＳＰ６１に進むと、レジスタＤの内容は「０」であるか否かが判定される。
【００３６】
先にステップＳＰ３３でセットされたデュレーションデータが「０」でなければ「ＮＯ」と判定され、処理は自動演奏処理ルーチン（図５）を介してメインルーチン（図２）に戻る。ここでは、以後、テンポに応じた周期毎に割込処理ルーチン（図３）が呼び出され、レジスタＤがデクリメントされるとともにレジスタＳがインクリメントされる。
【００３７】
（１）適切なタイミングの実演奏に対する処理
ここで、演奏者が何れかの鍵を操作すると、鍵盤処理ルーチンにおいて処理はステップＳＰ１１，ＳＰ１２を順次介してステップＳＰ１４に進む。ここでは、フラグＡＦが“０”に設定され、レジスタＳに「０」が代入される。次に、処理がステップＳＰ１５に進むと、「模範演奏の正規のタイミングよりも所定時間以上前に鍵の操作があったか否か」が判定される。
【００３８】
これは、模範演奏の演奏情報において次のイベントが発生するタイミングと現在時刻との差に基づいて判断される。ここで、模範演奏におけるタイミングと実演奏のタイミングとが近接している場合は「ＮＯ」と判定され、処理はステップＳＰ１８に進む。
【００３９】
すなわち何れかの鍵のキーオンが検出された場合は、キーオン信号、その鍵のノートコードおよびベロシティが適宜修正された後に電子音源２に供給され、電子音源２において対応する音の発音が開始される。次に、処理がステップＳＰ１９に進むと、今回の鍵操作に対応するイベントデータのアドレスがアドレスＡＤ２に格納される。
【００４０】
以後、タイマ割込みが発生する毎に割込処理ルーチン（図３）が呼び出され、レジスタＤがデクリメントされるとともにレジスタＳがインクリメントされる。ここで、レジスタＳは先にステップＳＰ１４が実行された際に「０」に設定されたから、レジスタＳは鍵が最後に操作された後の経過時間を指標することになる。
【００４１】
メインルーチン（図２）に戻り、処理がステップＳＰ３に進むと、自動演奏処理ルーチン（図５）が呼び出され、そのステップＳＰ３９を介してモード１処理サブルーチン（図７）が呼び出される。ここでは、レジスタＤが「０」になるまで実質的な処理は行われない。タイマ割込みが繰返えされることにより、やがてレジスタＤが「０」になると、ステップＳＰ６１において「ＹＥＳ」と判定され処理はステップＳＰ６２に進む。
【００４２】
ここでは、上述したステップＳＰ５２と同様の処理が行われる。すなわち、次のデュレーションデータが読み出されるまでアドレスＡＤ１が進められ、デュレーションデータが読み出されると、その値が再びレジスタＤに格納される。次に、処理がステップＳＰ６３に進むと、レジスタＳの値が所定値を超えたか否かが判定される。ここで、「所定値」は演奏中の楽曲における最長のイベント間隔よりも充分大きい値に設定されている。
【００４３】
従って、通常は、レジスタＳの値は該所定値に達する前に「０」に戻される（ステップＳＰ１４）から、ステップＳＰ６３においては「ＮＯ」と判定され、処理は自動演奏処理ルーチン（図５）を介してメインルーチンに戻る。以後同様に、適切な実演奏が行われている限りにおいて実演奏におけるイベントのみに基づいて楽音制御が行われ（ステップＳＰ１８）、模範演奏に基づく自動演奏は行われない。
【００４４】
（２）鍵操作が長時間無かった場合の処理
ステップＳＰ６２においてデュレーションデータがレジスタＤに格納されると、割込処理ルーチンが実行される毎にステップＳＰ２２を介してレジスタＤがデクリメントされる。ここで、鍵操作が全く発生しなかった場合は、やがてレジスタＤは「０」になり、モード１処理サブルーチンにおいてステップＳＰ６２が再び実行される。
【００４５】
そして、割込処理ルーチンが実行される毎にステップＳＰ２２を介してレジスタＤがデクリメントされる。以後、同様の処理が繰返されることになる。ここで、レジスタＤの内容はステップＳＰ６２が実行される毎に新たな値に設定されるが、レジスタＳの値は鍵操作が発生してステップＳＰ１４が実行されるまで「０」に再設定されることはない。
【００４６】
すなわち、演奏者が鍵操作を行わなければ、割込処理ルーチンのステップＳＰ２２が実行される毎にレジスタＳがインクリメントされ、その値が時間の経過とともに大きくなる。これにより、レジスタＳはやがてステップＳＰ６３における所定値を超えることになる。その後にレジスタＤが「０」になりモード１処理サブルーチンが呼び出されると、処理はステップＳＰ６２に進み、次のデュレーションデータが読出され、レジスタＤに格納される。
【００４７】
次に、処理がステップＳＰ６３に進むと、レジスタＳの値は所定値を超えているから「ＹＥＳ」と判定され処理はステップＳＰ６４に進む。ここでは、上述したステップＳＰ５３と同様に、新たに読出されたイベントデータが電子音源２に送出される。これにより、電子音源２においては、楽音信号の発生あるいは消音等の処理が行われる。
【００４８】
それ以降も、演奏者による鍵操作が検出されない限りレジスタＳの内容は増えつづけるため、ステップＳＰ６３においては常に「ＹＥＳ」と判定されることになる。この結果、モード１処理サブルーチンにおける動作はモード０処理サブルーチン（図６）における動作と全く同様になり、模範演奏に基づく自動演奏が継続されることになる。
【００４９】
ここで何らかの鍵操作が検出されると、鍵盤処理ルーチン（図４）において処理はステップＳＰ１１，ＳＰ１２を順次介してステップＳＰ１４に進む。ここで、レジスタＳには「０」が格納され、フラグＡＦは“０”に設定される。この鍵操作が模範演奏の正規のタイミングよりも所定時間以上前に為されたものでなかった場合には、処理はステップＳＰ１５を介してステップＳＰ１８に進み、この鍵操作に基づく発音あるいは消音等の処理が行われることになる。
【００５０】
次に、レジスタＤが「０」になった後に自動演奏処理ルーチン（図５）が呼び出され、さらにモード１処理サブルーチン（図７）が呼び出されると、処理はステップＳＰ６１，ＳＰ６２を順次介してステップＳＰ６３に進む。レジスタＳは先にステップＳＰ１４において「０」に設定されたから、その後に割込処理ルーチン（図３）が何回か呼び出されたとしても、レジスタＳの値は所定値には達しない。従って、ステップＳＰ６３においては、再び「ＮＯ」と判定されるようになり、模範演奏に基づく自動演奏は停止されることになる。
【００５１】
このように、モード１において模範演奏がオン状態になっていると、鍵操作が所定期間以上無かった場合に、その期間内の模範演奏の演奏情報が順次読み飛ばされ（ステップＳＰ６２）、該所定期間以後の模範演奏に基づく自動演奏を自動的に開始させることができる。
【００５２】
従って、演奏者が実演奏中に演奏すべきパートが解らなくなった場合等においても、レジスタＳが所定値に達するまでの若干の空白期間を置いて模範演奏に基づく自動演奏が開始されるから、演奏者の失敗をある程度リカバーすることができる。しかも、演奏すべきパートを演奏者が再び認識できた時は、鍵盤１２の操作によって模範演奏に基づく自動演奏が終了するから、しかる後には、演奏者の実演奏に基づく楽音合成処理を継続することができる。
【００５３】
（３）鍵操作が早すぎた場合の処理
次に、演奏者の鍵操作が模範演奏の正規のタイミングよりも所定時間以上前に為された場合の処理を説明する。かかる場合に鍵盤処理ルーチン（図４）が呼び出されると、ステップＳＰ１１，ＳＰ１２，ＳＰ１４を介して処理はステップＳＰ１５に進み、ここで「ＹＥＳ」と判定され処理はステップＳＰ１６に進む。
【００５４】
ステップＳＰ１６においては、模範演奏の正規のタイミングと実演奏のタイミングとの差がレジスタＲに格納され、さらにフラグＣＦが“１”にセットされる。次に、処理がステップＳＰ１７に進むと、操作された鍵に関する情報（キーオン／キーオフの別、ノートコード、ベロシティ等）がＲＡＭ５の所定領域に格納される。このように、鍵操作が早すぎた場合には、電子音源２に対する制御が行われることなく、鍵盤処理ルーチンが終了する。このとき、ステップＳＰ１８と同様に、実演奏と模範演奏とを比較して実演奏の情報を修正する。
【００５５】
次に、タイマ割込みが発生すると、割込処理ルーチン（図３）においてステップＳＰ２１を介して処理はステップＳＰ２２に進み、レジスタＤがデクリメントされるとともにレジスタＳがインクリメントされる。次に、処理がステップＳＰ２３に進むと、フラグＣＦが“１”であるか否かが判定される。フラグＣＦはステップＳＰ１６において“１”にセットされたから「ＹＥＳ」と判定され処理はステップＳＰ２４に進む。
【００５６】
ステップＳＰ２４にあっては、レジスタＲがデクリメントされる。次に、処理がステップＳＰ２５に進むと、レジスタＲの内容は「０」であるか否かが判定される。ここで「ＮＯ」と判定されると、割込処理ルーチンは終了する。その後、テンポに応じた周期毎に割込処理ルーチンが呼び出されると、その度にレジスタＤ，ＲがデクリメントされるとともにレジスタＳがインクリメントされる。
【００５７】
やがてレジスタＲが「０」になると、ステップＳＰ２５において「ＹＥＳ」と判定され処理はステップＳＰ２６に進む。ここでは、先に鍵盤処理ルーチン（図４）のステップＳＰ１７で記憶された情報（キーオン／キーオフの別、ノートコード、ベロシティ等）が電子音源２に送出され、発音／消音処理等が行われる。
【００５８】
このように、モード１において模範演奏がオン状態になっていると、模範演奏の演奏情報と比較して実演奏における鍵操作が早すぎた場合は、その早すぎた期間だけ遅らせて発音等の処理が行われるから、演奏の不自然さを緩和することができる。
【００５９】
２．３．モード２における動作（自動演奏オン）
ここで、演奏者がモード切換スイッチ１４ａをモード２にセットすると、ステップＳＰ４においてその旨が検出される。なお、モード２において自動演奏がオフである状態の処理はモード１の場合と同様であるため、自動演奏がオン状態である時の処理について説明する。
【００６０】
（１）適切なタイミングの実演奏に対する処理
ここで、演奏者が適切なタイミングで何れかの鍵を操作すると、モード１の場合と同様に、鍵盤処理ルーチン（図４）においてステップＳＰ１４，ＳＰ１８，ＳＰ１９の処理が実行される。すなわち、ステップＳＰ１４においては、フラグＡＦが“０”に設定され、レジスタＳに「０」が代入され、ステップＳＰ１８においては電子音源２に対して操作された鍵の情報が送出され電子音源２において発音または消音処理が開始される。そして、ステップＳＰ１９においては、今回の鍵操作に対応するイベントデータのアドレスがアドレスＡＤ２に格納される。
【００６１】
以後、タイマ割込みが発生する毎に割込処理ルーチン（図３）が呼び出され、レジスタＤがデクリメントされるとともにレジスタＳがインクリメントされる。ここで、メインルーチン（図２）において処理がステップＳＰ３に進むと、自動演奏処理ルーチン（図５）が呼び出され、さらにモード２処理サブルーチン（図８）が呼び出される。
【００６２】
図８において処理がステップＳＰ７１に進むと、レジスタＳが所定値を超えているか否かが判定される。この所定値は上述したステップＳＰ６２における所定値と同一の値であり、適切なタイミングの実演奏が行われている限りこの条件は充足されない。従って、ここでは「ＮＯ」と判定され処理はステップＳＰ７６に進む。
【００６３】
ここでは、レジスタＤが「０」であるか否かが判定される。上記割込処理ルーチン（図３）が繰返されてレジスタＤが「０」になった場合は「ＹＥＳ」と判定され処理はステップＳＰ７７に進む。ここでは、上記ステップＳＰ５２およびＳＰ６２と同様の処理が行われる。すなわち、次のデュレーションデータが読み出されるまでアドレスＡＤ１が進められ、デュレーションデータが読み出されると、その値が再びレジスタＤに格納される。
【００６４】
次に、処理がステップＳＰ７８に進むと、フラグＡＦは“１”であるか否かが判定される。フラグＡＦは、先の鍵盤処理ルーチン（図４）のステップＳＰ１４において“０”に設定されたから「ＮＯ」と判定され、処理は自動演奏処理ルーチン（図５）を介してメインルーチン（図２）に戻る。以後同様に、適切なタイミングで実演奏が行われている限りにおいて実演奏におけるイベントのみに基づいて楽音制御が行われ（ステップＳＰ１８）、模範演奏に基づく自動演奏は行われない。
【００６５】
（２）鍵操作が長時間無かった場合の処理
鍵操作が長時間無かった場合には、モード１の動作と同様に、時間の経過とともにレジスタＳの内容が大となり、やがてステップＳＰ７１における所定値を超えるようになる。かかる状態でモード２処理サブルーチンが呼び出されると、ステップＳＰ７１において「ＹＥＳ」と判定され処理はステップＳＰ７２に進む。
【００６６】
ここでは、フラグＡＦが“０”であるか否かが判定される。フラグＡＦは最後に鍵操作が検出された際に鍵盤処理ルーチン（図４）のステップＳＰ１４において“０”に設定されたから、ここでは「ＹＥＳ」と判定され処理はステップＳＰ７３に進む。ステップＳＰ７３においては、アドレスＡＤ２の次のイベントデータが読出され、該イベントデータが電子音源２に送出される。
【００６７】
ここで、アドレスＡＤ２には、図４のステップＳＰ１９において、最後の鍵操作に対応するアドレスがセットされている。従って、電子音源２には、「最後の鍵操作の後に行われるべきであった鍵操作」に係るイベントデータが送出されることになる。これにより、該イベントデータに基づく発音あるいは消音処理が直ちに実行されることになる。
【００６８】
次に、処理がステップＳＰ７４に進むと、先にステップＳＰ７３で読出されたイベントデータの次のデュレーションデータがレジスタＤに格納されるとともに、このデュレーションデータのアドレスがアドレスＡＤ１に設定される。次に、処理がステップＳＰ７５に進むと、フラグＡＦが“１”に設定される。
【００６９】
次に、処理がステップＳＰ７６に進むと、レジスタＤが「０」であるか否かが判定される。先のステップＳＰ７４においてレジスタＤに「１」以上の値が設定されたとすると、ここで「ＮＯ」と判定され、モード２処理サブルーチンの処理は終了する。処理が自動演奏処理ルーチン（図５）を介してメインルーチン（図２）に戻ると、ステップＳＰ４，ＳＰ５，ＳＰ２を介して再び自動演奏処理ルーチンおよびモード２処理サブルーチンが呼び出される。
【００７０】
ここでは、レジスタＳは未だ「０」にリセットされていないため処理はステップＳＰ７１を介してステップＳＰ７２に進む。ここで、フラグＡＦは先にステップＳＰ７５が実行された際に“１”に設定されたから「ＮＯ」と判定され、ステップＳＰ７６を介して処理は自動演奏処理ルーチンに戻る。このように、フラグＡＦが“０”であってレジスタＤが「０」でない場合は、モード２処理サブルーチン（図８）においては実質的な処理は行われない。
【００７１】
その後、タイマ割込みが繰返されると、割込処理ルーチン（図３）のステップＳＰ２２においてレジスタＤがデクリメントされつづけるから、やがてレジスタＤは「０」になる。その後にモード２処理サブルーチンが呼び出され処理がステップＳＰ７６に進むと「ＹＥＳ」と判定され処理はステップＳＰ７７に進む。ここでは、上記ステップＳＰ５２と同様に、次のデュレーションデータが読み出されるまでアドレスＡＤ１が進められ、読み出されたデュレーションデータがレジスタＤに格納される。
【００７２】
次に処理がステップＳＰ７８に進むと、フラグＡＦが“１”であるか否かが判定される。フラグＡＦは先にステップＳＰ７５が実行された際に“１”に設定されたから「ＹＥＳ」と判定され、処理はステップＳＰ７９に進む。ここでは、上記ステップＳＰ５３と同様の処理が行われる。すなわち、ステップＳＰ７７で読出されたイベントデータが電子音源２に送出され、該イベントデータに基づく発音・消音処理等が行われることになる。
【００７３】
以後同様に、鍵操作が全く検出されなければ、タイマ割込み毎にレジスタＤをデクリメントする処理（図３のステップＳＰ２２）と、レジスタＤが「０」に達した際に次のデュレーションデータをレジスタＤにセットする処理（ＳＰ７７）と、該デュレーションデータとともに読出されたイベントデータに基づいて音源制御を行う処理（ＳＰ７８）とが繰返され、模範演奏に基づく自動演奏が継続されることになる。
【００７４】
ここで何らかの鍵操作が検出されると、モード１の場合と同様の処理が行われる。すなわち、鍵盤処理ルーチン（図４）において処理はステップＳＰ１１，ＳＰ１２を順次介してステップＳＰ１４に進み、レジスタＳには「０」が格納され、フラグＡＦは“０”に設定される。この鍵操作が模範演奏の正規のタイミングよりも所定時間以上前に為されたものでなかった場合には、処理はステップＳＰ１５を介してステップＳＰ１８に進み、この鍵操作に基づく発音あるいは消音等の処理が行われることになる。
【００７５】
次に、自動演奏処理ルーチン（図５）が呼び出され、さらにモード２処理サブルーチン（図８）が呼び出されると、ステップＳＰ７１において「ＮＯ」と判定されるようになる。そして、レジスタＤが「０」になった後にステップＳＰ７６を介して処理がステップＳＰ７７に進むと、次のデュレーションデータが読出され、その値がレジスタＤに格納される。但し、鍵操作に際してステップＳＰ１４においてフラグＡＦは“０”に設定されたから、ステップＳＰ７８においては「ＮＯ」と判定され、ステップＳＰ７９の自動演奏処理は行われないことになる。
【００７６】
（３）鍵操作が早すぎた場合の処理
鍵操作が早すぎた場合、すなわち演奏者の鍵操作が模範演奏の正規のタイミングよりも所定時間以上前に為された場合の処理は、モード１の場合と同様である。すなわち、ステップＳＰ１６において、模範演奏の正規のタイミングと実演奏のタイミングとの差がレジスタＲに格納され、さらにフラグＣＦが“１”にセットされる。
【００７７】
また、ステップＳＰ１７においては、操作された鍵に関する情報がＲＡＭ５の所定領域に格納される。そして、タイマ割込みが発生する毎にステップＳＰ２４において、レジスタＲがデクリメントされ、レジスタＲの内容が「０」になると、先にステップＳＰ１７で記憶された情報が電子音源２に送出され、発音／消音処理等が行われる。
【００７８】
３．実施形態の効果
（１）上述したように、モード１において自動演奏がオン状態になっていると、鍵操作が所定期間以上無かった場合に、その期間内の模範演奏の演奏情報が順次読み飛ばされ、該所定期間以後の模範演奏に基づく自動演奏を自動的に開始させることができる。この様子を図９(a)〜(c)に示しておく。図９(a)および(b)は各々模範演奏および実演奏の演奏情報である。
【００７９】
小節Ａ，Ｂにおいては、実演奏は模範演奏に追従しているが、小節Ｂの終了後に途切れている。実演奏が途中で途切れると、所定時間（図示の例では小節Ｃ，Ｄの区間）だけ待機した後、模範演奏に基づく自動演奏が開始される。モード１（同図(c)）においては、模範演奏のタイミングと等しくなるように小節Ｅから自動演奏が開始されるのである。
【００８０】
一方、モード２においては、実演奏が途切れた箇所である小節Ｃから自動演奏が開始される。すなわち、モード２においては、同様な場合において演奏情報が読み飛ばされることなく、該所定時間だけ遅れて自動演奏が開始される。この様子を同図(d)に示しておく。
【００８１】
モード１においては、模範演奏の演奏タイミングが維持されるため、演奏者が他の演奏者とともにアンサンブルを行っている場合に選択すると好適である。これは、アンサンブルを行う場合に一部の楽器のタイミングが狂うと、著しい不具合を呈するからである。一方、モード２においては、模範演奏の演奏情報が読み飛ばされることなく再生されるため、特に演奏者が独奏を行っている場合に用いて好適である。このように、本実施形態においては、演奏者は、演奏態様に応じて最適なモードを自由に選択できる。
【００８２】
（２）また、ステップＳＰ１８の処理が行われることにより、演奏者が本来の鍵に隣接する鍵を押下するなどのミスタッチ等を行った場合に、模範演奏の内容を優先して発音させることができる。さらに、押鍵が強すぎたり弱すぎたりした場合においても、適切なベロシティで発音させることができる。
【００８３】
４．変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
（１）上記実施形態のステップＳＰ１８においては、実演奏におけるベロシティが模範演奏のもに対して所定範囲以上外れる場合は、実演奏におけるベロシティは模範演奏のベロシティに置き換えられた。しかし、かかる場合に該所定範囲の上限または下限にベロシティを設定してもよい。
【００８４】
例えば、模範演奏のベロシティが「５４」であって所定範囲が「±５」（すなわち４９〜５９）であったとする。ここで実演奏のベロシティが「６０」以上である場合は「５９」を修正値とし、実演奏のベロシティが「４８」以下であれば「４９」を修正値にすればよい。これにより、模範演奏に対して大きく外れることが無く、かつ、実演奏のニュアンスを活かしつつ、楽音を発生させることができる。
【００８５】
（２）上記実施形態のステップＳＰ１７およびステップＳＰ１８においては、実演奏におけるノートコードが模範演奏のノートコードと異なる場合には全て模範演奏のノートコードに置換されるようにしたが、ミスタッチは模範演奏のノートコードと近接する範囲内（例えば半オクターブ以内）で通常起こるため、実演奏におけるノートコードと模範演奏のノートコードとの差が所定値以上（例えば半オクターブ以上）の場合には、演奏者が意図的に模範演奏と異なる演奏をしたものと判断してノートコードの置換を行わないようにしてもよい。
【００８６】
これはベロシティについても同様であり、実演奏のベロシティが模範演奏のベロシティよりも所定範囲（ステップＳＰ１７およびステップＳＰ１８で判断される所定範囲よりも大きい）以上外れる場合には演奏者が意図的に模範演奏と異なる実演奏をしたものと判断してベロシティの置換を行わないようにしてもよい。また、実演奏におけるノートコードと模範演奏のノートコードとが協和音程の関係などの所定の関係にある場合には、演奏者が模範演奏のノートコードの協和音程のノートコード等を意図的に指示したと判断して、ノートコードの置換を行わないようにしてもよい。
【００８７】
（３）上記実施形態においては、ディスプレイ４で楽譜を表示するようにしたが、これに限らず、鍵盤の各鍵毎にその近傍にＬＥＤ等の表示器を設け、模範演奏の進行に応じて押下すべき鍵に対応する表示器を点灯するようにしてもよい。
また、ステップＳＰ１７およびステップＳＰ１８においてどの演奏情報が修正されたかを記憶するようにして、次回の演奏練習時において押下すべき鍵を表示するに際し、前回の演奏練習で修正があった箇所と無かった箇所とで表示態様を異ならせるようにすれば、前回の演奏練習で修正の有った箇所について演奏者の注意を喚起することができ、練習効果が向上する。
【００８８】
（４）上記実施形態は演奏者は鍵盤を操作することを想定したものであるが、ＭＩＤＩ信号等の演奏情報が得られる演奏操作子であれば、その形態を問わず利用できることは言うまでもない。さらに、上述した各制御プログラムの内容をＣＤ−ＲＯＭあるいはフロッピーディスク等の記録媒体に格納することにより、汎用パーソナルコンピュータにおいて同様の処理を行うことも可能である。
【００８９】
（５）また、上記実施形態においては、鍵盤１２の実演奏と模範演奏とを比較したが、ペダル１３のオンオフあるいは踏み込み量等についても実演奏と模範演奏とを比較し、鍵盤１２の場合と同様に演奏情報を修正してもよい。また、電子楽器においては、鍵盤やペダル以外に各種の音色設定操作子が設けられているから、これらの操作情報に関しても同様に修正してもよい。
【００９０】
（６）また、上記実施形態のモード２においては、実演奏の操作タイミングが模範演奏の正規のタイミングよりも大幅に遅れた場合、実演奏が途切れた時点の演奏情報に遡って模範演奏が自動演奏される。この際、模範演奏の本来の進行（模範演奏を遡らせなかった場合の進行）に追い付くまでの間は、模範演奏の演奏データのデュレーションを小さく（例えば半分に）して模範演奏の進行速度を早め、模範演奏の本来の進行に追い付いた時点で本来のデュレーションに戻すようにしてもよい。
【００９１】
【発明の効果】
以上説明したようにこの発明によれば、入力演奏情報の入力タイミングおよび入力演奏情報と基準演奏情報との比較結果に基づいて楽音信号を生成するから、演奏内容を自動的に修正しつつ発音することができる。
【図面の簡単な説明】
【図１】  本発明の一実施形態の電子楽器のブロック図である。
【図２】  上記電子楽器のメインルーチンのフローチャートである。
【図３】  上記電子楽器の割込処理ルーチンのフローチャートである。
【図４】  上記電子楽器の鍵盤処理ルーチンのフローチャートである。
【図５】  上記電子楽器の自動演奏処理ルーチンのフローチャートである。
【図６】  上記電子楽器のモード０処理サブルーチンのフローチャートである。
【図７】  上記電子楽器のモード１処理サブルーチンのフローチャートである。
【図８】  上記電子楽器のモード２処理サブルーチンのフローチャートである。
【図９】  上記電子楽器の動作説明図である。
【図１０】  上記電子楽器に採用される演奏情報の構成を示す図である。
【符号の説明】
２……電子音源、３……センサ部、４……ディスプレイ、５……ＲＡＭ、６……ＲＯＭ、７……フロッピーディスクドライブ、８……出力ポート、９……アンプ、１０……スピーカ、１１……ヘッドホン、１２……鍵盤、１３……ペダル、１４……操作パネル、１４ａ……モード切換スイッチ、１４ｂ……スタートスイッチ、１４ｃ……ストップスイッチ、１５……バス。
【図１】
0003932708.tif 000002
【図２】
0003932708.tif 000003
【図３】
0003932708.tif 000004
【図４】
0003932708.tif 000005
【図５】
0003932708.tif 000006
【図６】
0003932708.tif 000007
【図７】
0003932708.tif 000008
【図８】
0003932708.tif 000009
【図９】
0003932708.tif 000010
【図１０】
0003932708.tif 000011