(57)【特許請求の範囲】
【請求項１】
複数パートの演奏データを記憶する記憶手段と、
前記演奏データを読み出して自動演奏する自動演奏手段と、
演奏操作子と、
前記自動演奏中に前記演奏操作子が操作された時、該演奏操作子の属するパートの自動演奏を停止すると共に、当該パートがマニュアル演奏モードとされて前記操作された演奏操作子に基づいた発音を行う発音手段とを備え、
前記演奏データ中の音楽的に区切られた演奏データの場所を示すチェックポイントデータが前記記憶手段に記憶されていると共に、前記マニュアル演奏モードとされていた時は、前記演奏データの前記チェックポイントデータの位置において前記停止されていたパートの自動演奏を復帰させることを特徴とする自動演奏装置。
【請求項２】
複数パートの演奏データを記憶する記憶手段と、
前記演奏データを読み出して自動演奏する自動演奏手段と、
演奏操作子と、
前記自動演奏中に前記演奏操作子が操作された時、該演奏操作子の属するパートの自動演奏を停止すると共に、当該パートがマニュアル演奏モードとされて前記操作された演奏操作子に基づいた発音を行う発音手段とを備え、
前記演奏データ中の音楽的に区切られた演奏データの場所を示すチェックポイントデータが前記記憶手段に記憶されていると共に、前記演奏操作子の操作が所定時間停止された時に、次に読出されたチェックポイントデータが示す演奏データの場所で前記停止されていたパートの自動演奏を復帰させることを特徴とする自動演奏装置。
【請求項３】
複数パートの演奏データを記憶する記憶手段と、
前記演奏データを読み出して自動演奏する自動演奏手段と、
演奏操作子と、
前記自動演奏中に前記演奏操作子が操作された時、該演奏操作子の属するパートの自動演奏を停止すると共に、当該パートがマニュアル演奏モードとされて前記操作された演奏操作子に基づいた発音を行う発音手段とを備え、
前記演奏データ中の音楽的に区切られた演奏データの場所を示すチェックポイントデータが前記記憶手段に記憶されていると共に、あるチェックポイントデータと、その次のチェックポイントデータとの間において新たに前記演奏操作子が操作されなかった場合に、その次のチェックポイントデータが示す演奏データの場所で、前記停止されていたパートの自動演奏を復帰させることを特徴とする自動演奏装置。
【請求項４】
複数パートの演奏データを記憶する記憶手段と、
前記演奏データを読み出して自動演奏する自動演奏手段と、
演奏操作子と、
前記自動演奏中に前記演奏操作子が操作された時、該演奏操作子の属するパートの自動演奏を停止すると共に、当該パートがマニュアル演奏モードとされて前記操作された演奏操作子に基づいた発音を行う発音手段と、
前記演奏操作子の操作に基づくマニュアル演奏データと、前記記憶手段に記憶されている演奏データとを比較して正押鍵を判定する比較判定手段とを備え、
前記演奏データ中の音楽的に区切られた演奏データの場所を示すチェックポイントデータが前記記憶手段に記憶されていると共に、前記マニュアル演奏モードとされていた時は、前記比較判定手段において判定された正押鍵の割合に応じて、前記停止されていたパートを自動演奏に復帰させるチェックポイントデータを選択するようにしたことを特徴とする自動演奏装置。
【請求項５】
前記演奏データに前記チェックポイントデータが付加されて、前記記憶手段に記憶されていることを特徴とする請求項１ないし４記載の自動演奏装置。
【請求項６】
前記記憶手段において、前記演奏データが記憶されている記憶領域と異なる独立した記憶領域に前記チェックポイントデータが記憶されていることを特徴とする請求項１ないし４記載の自動演奏装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は自動演奏装置に関するものであり、特に自動演奏を停止するよう演奏操作子が操作され、次いで演奏操作子の操作が停止された場合、音楽的に区切られた適切な場所で自動演奏を復帰させることができるものに関する。
【０００２】
【従来の技術】
従来、予め演奏データを記憶しておき、テンポクロックに応じて読出した演奏データにより自動演奏を行う自動演奏装置が知られている。このような自動演奏装置においては、一般に複数パートの自動演奏データが記憶されており、自動演奏中に複数パートの内１つまたは複数のパートをオフして自動演奏するマイナスワン機能が備えられている。このマイナスワン機能によれば、一部パートをオフして自動演奏することにより、オフしたパートのみマニュアルで演奏して一人でも複数パートの演奏を楽しむことができる。
【０００３】
しかしながら、マイナスワン機能により自動演奏と同時にマニュアル演奏をする場合、曲の最初から最後までオフしたパートをマニュアル演奏したい場合に限らず、曲の一部のみアドリブ演奏を挿入するようにして、他の部分はそのパートも自動演奏したい場合がある。これを実現するため、鍵盤等の演奏操作子が自動演奏中に操作された時に、複数のパートの内操作された演奏操作子に対応するパートの自動演奏を停止し、停止されたパートに替わり操作された演奏操作子の操作に基づいた発音を行い、演奏操作子の操作停止後に自動的に自動演奏に復帰させるようにした自動演奏装置が提案されている（特開平５−１７３５６１号公報参照）。
【０００４】
【発明が解決しようとする課題】
しかしながら、前記した従来のマイナスワン機能においては、パートの停止される期間は、例えば最初に演奏操作子が操作された小節を含めて２小節，４小節等の小節単位とされており、演奏操作子の操作が所定時間停止された時に、自動演奏の楽音は常に小節の最初の部分で復帰することになるため、音楽的に区切られた適切なタイミングではない部分において自動演奏が復帰してしまうおそれがあるという問題点があった。
そこで、本発明はマイナスワン機能により停止されていたパートを復帰する場合に、音楽的に区切られた適切な場所で自動演奏を復帰することのできる自動演奏装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
前記目的を達成するために、本発明の自動演奏装置は、複数パートの演奏データを記憶する記憶手段と、前記演奏データを読み出して自動演奏する自動演奏手段と、演奏操作子と、前記自動演奏中に前記演奏操作子が操作された時、該演奏操作子の属するパートの自動演奏を停止すると共に、当該パートがマニュアル演奏モードとされて前記操作された演奏操作子に基づいた発音を行う発音手段とを備え、前記演奏データ中の音楽的に区切られた演奏データの場所を示すチェックポイントデータが前記記憶手段に記憶されていると共に、前記マニュアル演奏モードとされていた時は、前記演奏データの前記チェックポイントデータの位置において前記停止されていたパートの自動演奏を復帰させるようにしたものである。
【０００６】
また、前記目的を達成することのできる本発明の他の自動演奏装置は、複数パートの演奏データを記憶する記憶手段と、前記演奏データを読み出して自動演奏する自動演奏手段と、演奏操作子と、前記自動演奏中に前記演奏操作子が操作された時、該演奏操作子の属するパートの自動演奏を停止すると共に、当該パートがマニュアル演奏モードとされて前記操作された演奏操作子に基づいた発音を行う発音手段とを備え、前記演奏データ中の音楽的に区切られた演奏データの場所を示すチェックポイントデータが前記記憶手段に記憶されていると共に、前記演奏操作子の操作が所定時間停止された時に、次に読出されたチェックポイントデータが示す演奏データの場所で前記停止されていたパートの自動演奏を復帰させるようにしたものである。
【０００７】
さらに、前記目的を達成することのできる本発明のさらに他の自動演奏装置は、複数パートの演奏データを記憶する記憶手段と、前記演奏データを読み出して自動演奏する自動演奏手段と、演奏操作子と、前記自動演奏中に前記演奏操作子が操作された時、該演奏操作子の属するパートの自動演奏を停止すると共に、当該パートがマニュアル演奏モードとされて前記操作された演奏操作子に基づいた発音を行う発音手段とを備え、前記演奏データ中の音楽的に区切られた演奏データの場所を示すチェックポイントデータが前記記憶手段に記憶されていると共に、あるチェックポイントデータと、その次のチェックポイントデータとの間において新たに前記演奏操作子が操作されなかった場合に、その次のチェックポイントデータが示す演奏データの場所で、前記停止されていたパートの自動演奏を復帰させるようにしたものである。
【０００８】
さらにまた、前記目的を達成することのできる本発明のさらに他の自動演奏装置は、複数パートの演奏データを記憶する記憶手段と、前記演奏データを読み出して自動演奏する自動演奏手段と、演奏操作子と、前記自動演奏中に前記演奏操作子が操作された時、該演奏操作子の属するパートの自動演奏を停止すると共に、当該パートがマニュアル演奏モードとされて前記操作された演奏操作子に基づいた発音を行う発音手段と、前記演奏操作子の操作に基づくマニュアル演奏データと、前記記憶手段に記憶されている演奏データとを比較して正押鍵を判定する比較判定手段とを備え、前記演奏データ中の音楽的に区切られた演奏データの場所を示すチェックポイントデータが前記記憶手段に記憶されていると共に、前記マニュアル演奏モードとされていた時は、前記比較判定手段において判定された正押鍵の割合に応じて、前記停止されていたパートの自動演奏をチェックポイントデータに基づいて復帰させる態様を異ならせるようにしたものである。
さらにまた、上記した本発明の自動演奏装置において、前記演奏データに前記チェックポイントデータが付加されて、前記記憶手段に記憶されているようにしてもよく、前記記憶手段において、前記演奏データが記憶されている記憶領域と異なる独立した記憶領域に前記チェックポイントデータが記憶されているようにしてもよい。
【０００９】
【作用】
本発明によれば、音楽的に区切られた演奏データの場所を示すチェックポイントのデータを記憶することにより、自動演奏に復帰させる場合に音楽的に適切なタイミングで復帰させることができるようになる。
また、マニュアル演奏時にチェックポイントに達した場合、演奏操作子の操作が所定時間停止された後にチェックポイントに達した場合、あるいはチェックポイント間においてマニュアル演奏がされなかった場合に自動演奏に復帰させることにより、マニュアル演奏を停止した際に確実に自動演奏に復帰させることができるようになる。
さらに、自動演奏中の演奏操作子による演奏データが正押鍵であるか否かを判定した結果により、自動演奏を復帰させるためのチェックポイントデータを選択するようにしたので、正押鍵の割合が少ない場合に、再度同じ部分を演奏操作子により演奏できるようにすることもでき、教習に好適な自動演奏装置とすることができる。
【００１０】
【実施例】
本発明の演奏操作子を備える自動演奏装置のブロック図を図１に示すが、本発明の自動演奏装置におけるパートは、右手パート、左手パート、ベースパート、リズムパート等の複数のパートから構成されている。
この図において、１は演奏操作子であるキーボード（鍵盤）、２はキーボードのキーイベントを検出すると共に、どのパートのキーイベントかを検出して、バスライン１３を介しマイクロプロセッサ（ＣＰＵ）１１にパート別のキーイベント情報を送出する検出回路、３はマニュアル演奏時の音色選択スイッチや自動リズムのパターン選択スイッチ、演奏テンポ設定スイッチ、自動演奏のスタート／ストップスイッチ等が設けられているパネルスイッチ、４はパネルスイッチ３のスイッチイベントを検出して、バスライン１３を介しＣＰＵ１１にスイッチイベント情報を送出する検出回路、５はＣＰＵ１１の制御に基づいて自動演奏時あるいはマニュアル演奏時の楽音を発生する楽音発生部（Ｔ．Ｇ）、６はＴ．Ｇ５より発生された楽音を増幅してスピーカ７から発音させるサウンドシステムである。
【００１１】
さらに、８はパネルスイッチ３等を操作する場合に操作情報等が表示されるディスプレイ（ＤＩＳＰＬＡＹ）、９は自動演奏の演奏データやユーザの設定した音色データ等が記憶されるランダムアクセスメモリ（ＲＡＭ）、１０は予め設定されている音色データやＣＰＵ１１のプログラムが記憶されているリードオンリメモリ（ＲＯＭ）、１１は自動演奏及びマニュアル演奏の制御や、演奏データをＴ．Ｇ５にバスライン１３を介して供給することにより、楽音を発生させる等の処理を行うマイクロプロセッサ（ＣＰＵ）、１２は設定されたテンポに応じて自動演奏時の演奏タイミングを発生してＣＰＵ１１に割込みをかけるタイマである。
【００１２】
次に、メモリに記憶される演奏データのフォーマットの例を図２に示すが、データフォ−マットは２つの実施例が提案されている。
この図の（ａ）は第１実施例のフォーマットであり、２１として示すようにタイミングデータとノートデータとで１組の演奏データを構成しているが、音楽的に区切られた演奏データの場所には、その旨を示すチェックポイントデータが付加されて、２２として示すようにタイミングデータとノートデータとチェックポイントデータとで１組の演奏データを構成している。すなわち、第１実施例の演奏データのフォーマットにおいては演奏データの読出しの中でチェックポイントデータも読み出されるようにされている。
【００１３】
また、図２（ｂ）に示す第２実施例のフォーマットにおいては、３１〜３３として示すようにタイミングデータとノートデータとで１組の演奏データを構成し、チェックポイントデータは、４１〜４５として示すようにチェックポイントデータだけまとめられて、独立した領域に割り当てられて記憶されている。すなわち、第２実施例の演奏データのフォーマットにおいては、演奏データの読出しとは別に制御される読出しにおいてチェックポイントデータを読出して管理するようにされている。このフォーマットにおいては従来の演奏データをそのまま使用できるメリットを有している。
なお、第２実施例の演奏データのフォーマットにおいては、演奏データと別に記憶されているため、チェックポイントデータにはそのチェックポイントが示す演奏データの場所を示すタイミングデータを含むデータとされている。
【００１４】
また、チェックポイントは音楽的に好ましいフレーズの切れ目などに入っているのが望ましい。
なお、前記ノートデータは、キーオンおよびその音高情報、発音継続時間等を表すイベント情報であり、このイベント情報には音色情報、音量情報、効果情報等が含まれている。また、前記タイミングデータはイベント情報の発生タイミングを示すデータであり、後述するタイマ割込み回数に対応したデータ等で示されている。なお、同じタイミングに複数のイベントがある時は、複数のイベント情報が１つのタイミングデータに続いて設定される。
【００１５】
このようにフォーマットされた自動演奏データがＲＡＭ９に格納されている場合は、ＣＰＵ１１がＲＡＭ９から順次演奏データを読み出して、Ｔ．Ｇ５に供給することにより自動演奏の楽音がスピーカ７から発音される。この場合のテンポは、タイマ１２がＣＰＵ１１にタイマ割込をかけるタイミングで決定されている。
また、タイマ割込により行われる演奏データの読み出し処理後に行われるチェックポイント処理は、後述する第１ないし第４の処理内容の異なるチェックポイント処理の実施例のいずれかを採用するようにする。第１実施例のチェックポイント処理においては、最後の押鍵の次にきたチェックポイントが示す演奏データの場所で、無条件に自動演奏楽音のミュートを解除して自動演奏を復帰させるようにしている。
【００１６】
また、第２実施例のチェックポイント処理においては、最後の押鍵の後、所定時間以上経過した後にきたチェックポイントが示す演奏データの場所で、自動演奏楽音のミュートを解除して自動演奏を復帰させるようにしている。
さらに、第３実施例のチェックポイント処理においては、チェックポイントとチェックポイントとの間で押鍵がなかった時に、後のチェックポイントが示す演奏データの場所で自動演奏楽音のミュートを解除して自動演奏を復帰させるようにしている。
さらにまた、第３実施例のチェックポイント処理において、自動演奏時にマニュアル演奏された押鍵が正押鍵か否かの判断を行うようにし、正押鍵の割合に応じてどのチェックポイントに戻して自動演奏を復帰するかの制御を行う処理を付加するようにしても良い。
【００１７】
次に、図１に示す自動演奏装置の動作を示すメインルーチンを図３に示す。
図３において、電源等が投入されるとステップＳ１００において各種レジスタのクリア、ＲＵＮフラグを「０」にクリアする等のイニシャライズ処理が行われる。そして、ステップＳ１１０における鍵盤処理、ステップＳ１２０におけるスイッチ処理、ステップＳ１３０におけるその他の処理が繰り返し行われる。なお、鍵盤処理においては、キーオン処理およびキーオフ処理が行われ、スイッチ処理においては、自動演奏スイッチのオン／オフ処理等が行われ、その他の処理においては、ディスプレイの表示処理等が行われる。
【００１８】
図５はスイッチ処理のフローチャートであり、ステップＳ３００において自動演奏のスタートスイッチがオンされているか否かが判断され、オンされていると判断されるとステップＳ３１０において読み出し初期処理が行われる。この読み出し初期処理においては、音色やテンポの設定、演奏データの最初のタイミングデータを読み出す等の処理が行われる。そして、ステップＳ３２０においてＲＵＮフラグが「１」に設定され自動演奏モードとされる。次いで、スタートスイッチがオンされていないとステップＳ３００で判断された場合と同様にステップＳ３３０に移行し、自動演奏スイッチのストップスイッチがオンされているか否かが判断される。
【００１９】
このステップＳ３３０においてストップスイッチがオンしていると判断された場合はステップＳ３４０に進み、自動演奏の発音停止処理が行われ発音中の楽音についてはキーオフ処理が行われる。次いで、ステップＳ３５０においてＲＵＮフラグが「０」に設定される。そして、ステップＳ３３０においてストップスイッチがオンされていないと判断された場合と同様にステップＳ３６０に移行し、その他のスイッチ処理が行われる。その他のスイッチ処理においては、音色の設定スイッチ、音量スイッチ等の処理が行われる。
なお、自動演奏中（ＲＵＮ＝１）に再度スタートスイッチがオンされてもその操作は無視され、自動演奏停止中（ＲＵＮ＝０）に再度ストップスイッチがオンされてもその操作は無視される。また、スタートスイッチとストップスイッチとを一つのスイッチとして、スイッチを操作する毎にスタートとストップとを交互に切り替えるようにしても良い。
【００２０】
図４はタイマ１２のタイマ割り込み処理のフローチャートであり、テンポに応じて割り込み処理が行われるがその間隔は、例えば４分音符の長さにおいて９６回割り込み処理が行われ、１回の割込み処理において１クロック分の処理が行われるようにされる。
タイマ１２よりタイマ割込みがかかると、ステップＳ２００においてＲＵＮフラグが「１」か否か判断され、「１」と判断されると自動演奏中と判断されてステップＳ２１０に進み、自動演奏の演奏データ読み出し処理が行われ、続いてステップＳ２２０においてチェックポイント処理が行われる。そして、ステップＳ２００においてＲＵＮフラグが「１」でないと判断された場合と同様にリターンされる。
【００２１】
次に、鍵盤処理のフローチャートを図６に示すが、このフローチャートのステップＳ４００において、キーボード（鍵盤）１のキーイベントがあるか否かが判断され、キーイベントがあると判断された場合はステップＳ４１０に進み、さらにステップＳ４１０においてキーオンイベントと判断された場合は、ステップＳ４２０においてキーオン処理が行われリターンされる。また、ステップＳ４１０においてキーオンでないと判断された場合はキーオフと判断され、ステップＳ４３０に進みキーオフ処理が行われる。そして、ステップＳ４００においてキーイベントがあると判断されない場合と同様にリターンされる。
【００２２】
前記ステップＳ４２０において処理されるキーオン処理のフローチャートを図８に示す。
このフローチャートにおいては、ステップＳ６００においてキーオンされたキーがキーボード１の右鍵域にあるか否かが判断される。右鍵域にあると判断されると、ステップＳ６１０に進み右カウンタがカウント中か否かが判断される。これは、右カウンタがカウント中の場合は右鍵域のキーが全てオフされていることを意味しており、そのカウント値を見ることにより所定時間後に現れるチェックポイントで自動演奏を復帰させることができるようになるからである。
そこで、ステップＳ６１０において右カウント中と判断された場合は、右カウントを中止するように、ステップＳ６２０に進み右カウンタがリセットされて初期値がホールドされるようになる。
【００２３】
次いで、ステップＳ６１０において右カウント中と判断されない場合と同様に、ステップＳ６３０においてキーイベントメモリにキーオンされたキーのキーコードとそのタイミングデータが書き込まれる。これは、チェックポイントとチェックポイントとの間にキーイベントがない時に自動演奏を復帰させる場合に、キーイベントメモリを参照しているからである。また、マニュアル演奏データが正押鍵であるか否かの判断を行うために、キーイベントメモリを参照しているからである。
なお、前記書き込まれるタイミングデータは、例えば最初のキーオンイベントの場合は、それ以前のチェックポイントからのタイミングデータとし、次のキーオンイベントの場合はその前のキーオンイベントからのタイミングデータとする。
【００２４】
そして、ステップＳ６４０に進み右鍵域に相当する右手パートがミュート状態とされているか否かが判断され、ミュート状態と判断されるとステップＳ６５０においてキーオンされたキーに応じた発音処理が行われ、リターンされる。
また、ステップＳ６４０において右手パートがミュート状態と判断されない場合は、ステップＳ６６０において右手パートがミュート状態とされてステップＳ６５０に進み、前記と同様の処理が行われリターンされる。
【００２５】
また、ステップＳ６００において右鍵域と判断されない場合は、ステップＳ６７０に進み左カウント中か否かが判断される。このステップＳ６７０は前記ステップＳ６１０と同じ処理を達成するために行われる処理である。そして、ステップＳ６７０において左カウント中と判断された場合は、左カウントを中止するため、ステップＳ６８０に進み左カウンタがリセットされて初期値がホールドされる。
続いて、ステップＳ６７０において左カウント中と判断されない場合と同様に、ステップＳ６９０に進みキーイベントメモリにキーオンされたキーのキーコードとそのタイミングデータが書き込まれる。この理由もステップＳ６３０が設けられている理由と同様である。
【００２６】
そして、ステップＳ７００に進み左鍵域に相当する左手パートがミュート状態とされているか否かが判断され、ミュート状態と判断されるとステップＳ６５０においてキーオンされたキーに応じた発音処理が行われ、リターンされる。
また、ステップＳ７００において左手ミュート状態と判断されない場合は、ステップＳ７１０において左手パートがミュート状態とされてステップＳ６５０に進み、前記と同様の処理が行われリターンされる。
【００２７】
次に、鍵盤処理のステップＳ４３０におけるキーオフ処理のフローチャートを図７に示す。
このフローチャートのステップＳ５００において、キーオフされたキーが右鍵域か否かが判断され、右鍵域と判断されると、ステップＳ５１０に進み全ての右鍵域がオフか否かがさらに判断される。ここで、全ての右鍵域のキーがオフされていると判断されると、ステップＳ５２０において右カウンタのカウントが開始される。さらに、ステップＳ５１０において全ての右鍵域のキーがオフされていないと判断された場合と同様に、ステップＳ５３０においてキーオフされたキーに対応する消音処理が行われてリターンされる。
【００２８】
また、ステップＳ５００において右鍵域でないと判断された場合は、ステップＳ５４０に進み全ての左鍵域がオフか否かがさらに判断される。ここで、全ての左鍵域のキーがオフされていると判断されると、ステップＳ５５０において左カウンタのカウントが開始される。さらに、ステップＳ５４０において全ての左鍵域のキーがオフされていないと判断された場合と同様に、ステップＳ５３０においてキーオフされたキーに対応する消音処理が行われてリターンされる。
【００２９】
次に、演奏データ読み出し処理１のフローチャートを図９に示すが、この演奏データ読み出し処理１は自動演奏データが前記図２（ａ）に示す第１実施例のデータフォーマットの場合の読み出し処理である。
このフローチャートのステップＳ８００において、右カウント中か否かが判断され、右カウント中と判断されるとステップＳ８１０において「１」だけ右カウンタがカウントアップされる。そして、右カウント中と判断されない場合と同様に、ステップＳ８２０においてＴＩＭＥ１のデータが「１」だけデクリメントされる。このＴＩＭＥ１のデータは、最初は前記図５に示すスイッチ処理におけるステップＳ３１０の読み出し初期処理において最初に読み出されたタイミングデータにより設定される右手パートのタイミングデータである。
【００３０】
そして、ステップＳ８３０においてＴＩＭＥ１のデータが「０」であるか否かが判断され、「０」であると判断されると発音すべきタイミングになったと判断されて、ステップＳ８４０において次のデータが読出される。そして、ステップＳ８５０において読み出されたデータがチェックポイントデータか否かが判断されるが、この場合読み出されたデータはタイミングデータの次のイベントデータとなるため、チェックポイントデータではないと判断されステップＳ９３０に進む。ステップＳ９３０において右手パートはミュート状態、すなわちマニュアル演奏モードか否かが判断され、ミュート状態ではない（自動演奏モード）と判断されると、ステップＳ９４０においてイベントデータに対応した自動演奏のキーオンやキーオフの処理が行われ、ステップＳ９３０においてミュート状態と判断された場合と同様にステップＳ８８０に移行し、さらに次のデータが読み出される。
【００３１】
次いで、ステップＳ８９０において読み出されたデータがタイミングデータか否かが判断され、タイミングデータの場合はステップＳ９００においてＴＩＭＥ１のデータとして設定される。また、ステップＳ８９０においてタイミングデータでないと判断された場合は、ステップＳ８５０に戻り、読み出されたデータがチェックポイントデータか否かが判断される。そして、チェックポイントデータと判断されるとステップＳ８６０に進み、このステップＳ８６０においてチェックポイントの位置が記憶され、次いでステップＳ８７０において右チェックフラグが「１」にセットされる。ここで、チェックポイントの位置を記憶するのは、正押鍵の割合が少なく前のチェックポイントの位置に自動演奏を戻す場合に使用するためである（詳しくは後述する）。従って、メモリ上の位置、および音色や音量が変化している場合は、チェックポイントの位置の音色や音量のデータも記憶するようにする。
【００３２】
そして、ステップＳ８８０に進んで次データが読み出され、ステップＳ８９０において読み出されたデータがタイミングデータか否かが判断される。
このように、ステップＳ８５０ないしステップＳ８９０の処理は、タイミングデータが読み出されるまで繰り返し行われる。
また、ステップＳ８００ないしステップ９００の処理は右手パートための処理であり、ステップＳ９００までの処理が終わると、ステップＳ９１０に移行し左手パートの処理が行われる。左手パートの処理は前記した右手パートの処理と同様なのでその詳細は省略する。そして、ステップＳ９２０においてその他のパートの処理が行われるが、その他のパートにおいては演奏データにチェックポイントデータは含まれていないので、前記した右手パート処理においてチェックポイント処理を除いた処理と同様の処理がこのステップにおいて行われ、これらの処理が終了するとリターンされる。
なお、図示していないが、演奏データが最終のデータに達した場合は、自動演奏はそこで停止するようにされている。
【００３３】
次に、演奏データ読み出し処理２のフローチャートを図１０に示すが、この読出し処理２は自動演奏データが前記図２（ｂ）に示す第２実施例のデータフォーマットの場合の読み出し処理である。
このフローチャートのステップＳ１０００において右カウント中か否かが判断され、右カウント中と判断されるとステップＳ１０１０において「１」だけ右カウンタがカウントアップされる。そして、右カウント中と判断されない場合と同様に、ステップＳ１０２０においてＴＩＭＥ１のデータが「１」だけデクリメントされる。
【００３４】
そして、ステップＳ１０３０においてＴＩＭＥ１のデータが「０」であるか否かが判断され、「０」であると判断されると発音すべきタイミングになったと判断されて、ステップＳ１０４０において次のデータが読み出される。そして、ステップＳ１０５０において右手パートはミュート状態、すなわちマニュアル演奏状態か否かが判断され、ミュート状態ではないと判断されると、ステップＳ１１２０においてイベントデータに対応した自動演奏のキーオンやキーオフの処理が行われ、ステップＳ１０５０においてミュート状態と判断された場合と同様にステップＳ１０６０に移行し、さらに次のデータの読み出しが行われる。
【００３５】
次いで、ステップＳ１０７０において読み出されたデータがタイミングデータか否かが判断され、タイミングデータの場合はステップＳ１０８０においてＴＩＭＥ１のデータとして設定される。また、ステップＳ１０７０においてタイミングデータでないと判断された場合は、ステップＳ１０５０に戻り、右手パートはミュート状態、すなわちマニュアル演奏状態か否かが判断され、ミュート状態でないと判断されると、ステップＳ１１２０において読み出されたイベントデータに対応した自動演奏のキーオンやキーオフの処理が行われ、ステップＳ１０５０においてミュート状態と判断された場合と同様にステップＳ１０６０に移行し、さらに次のデータが読出される。
このように、ステップＳ１０５０ないしステップＳ１０７０の処理はタイミングデータが読み出されるまで繰り返し行われる。
【００３６】
そして、ステップＳ１０８０の処理に続いてステップＳ１０９０においてチェックポイント読み出し処理が行われる。
以上のステップＳ１０００ないしステップ１０９０の処理は右手パートための処理であり、ステップＳ１０９０までの処理が終わると、ステップＳ１１００に移行し左手パートの処理が行われる。左手パートの処理は前記した右手パートの処理と同様なのでその詳細は省略する。そして、ステップＳ１１１０においてその他のパートの処理が行われるが、その他のパートにおいては演奏データにチェックポイントデータは含まれていないので、前記した右手パート処理におけるチェックポイント処理を除いた処理と同様の処理がこのステップにおいて行われ、これらの処理が終了するとリターンされる。
なお、図示していないが、演奏データが最終データに達した場合は、自動演奏はそこで停止するようにされている。
【００３７】
この演奏データ読み出し処理２におけるステップＳ１０９０におけるチェックポイント読み出し処理のフローチャートを図１１に示すが、この場合チェックポイントデータは、演奏データとは異なるメモリ領域から読み出される前記第２実施例のデータフォ−マットとされている。
このフローチャートのステップＳ１２００において、チェックポイント読み出し処理が行われる度に現在位置（演奏データの読み出し位置に対応）が更新される。次いで、ステップＳ１２１０においてチェックポイントデータがセットされたＣＨＥＣＫと現在位置とが一致するか否かが判断され、一致すると判断されるとステップＳ１２２０に進んでチェックポイントの位置に相当する演奏データの位置が記憶される。このＣＨＥＣＫのデータとしては、最初は前記したスイッチ処理における読み出し初期設定により読み出された最初のチェックポイントデータが設定されている。また、チェックポイントの位置に相当する演奏データの位置を記憶するのは、正押鍵の割合が少なく前のチェックポイントの位置に自動演奏を戻す場合に使用するためである。
【００３８】
そして、ステップＳ１２３０において右チェックフラグが「１」にセットされ、ステップＳ１２４０に移行する。このステップＳ１２４０において次のチェックポイントデータが読み出され、読み出されたチェックポイントデータが新たにＣＨＥＣＫのデータとしてセットされて、リターンされる。
【００３９】
次にチェックポイント処理の説明を行うが、前記したようにチェックポイント処理には３つの異なる実施例がある。そのうちの第１実施例のチェックポイント処理１のフローチャートを図１２に示す。
このフローチャートはチェックポイントに達した時に、無条件に自動演奏に復帰させるチェックポイント処理を行うものであり、まずステップＳ１３００において右チェックフラグが「１」であるか否かが判断される。チェックフラグが「１」と判断された場合は、図１１で説明したようにチェックポイントに達している時であるから、ステップＳ１３１０において右手パートがミュート状態となっているか否かが判断される。そして、ミュート状態、すなわちマニュアル演奏状態と判断された場合は、ステップＳ１３２０においてミュート状態が解除されて自動演奏が復帰される。
【００４０】
続いて、ステップＳ１３３０において右チェックフラグが「０」にセットされて右手パートの処理が終了し、同様の処理を行う左手パートの処理がステップＳ１３４０において行われ、終了するとリターンされる。
また、ステップＳ１３１０において右手パートがミュート状態でないと判断された場合は、自動演奏状態とされているのでステップＳ１３３０に進み右チェックフラグが「０」にセットされる。
さらに、ステップＳ１３００において右チェックフラグが「１」でないと判断された場合は、チェックポイントに達していないわけであるから左手パートの処理に移行するようステップＳ１３４０に進む。
【００４１】
次に、第２実施例のチェックポイント処理２のフローチャートを図１３に示す。このフローチャートは、チェックポイントに達した時、所定時間以上キーが操作されていない場合に自動演奏状態に復帰させるものである。
このフローチャートのステップＳ１４００において、右チェックフラグが「１」であるか否かが判断される。チェックフラグが「１」と判断された場合は、図１１で説明したようにチェックポイントに達している時であるから、ステップＳ１４１０において右手パートがミュート状態となっているか否かが判断される。そして、ミュート状態、すなわちマニュアル演奏状態と判断された場合は、さらに、ステップＳ１４２０において右カウント値は所定値以上であるか否かが判断される。所定値以上と判断された場合は一定時間以上右手パートの全てのキーが操作されていないので、ステップＳ１４３０においてミュート状態が解除されて自動演奏が復帰される。
【００４２】
続いて、ステップＳ１４４０において右チェックフラグが「０」にセットされて右手パートの処理が終了し、同様の処理を行う左手パートの処理がステップＳ１４５０において行われ、終了するとリターンされる。
また、ステップＳ１４１０において右手パートがミュート状態でないと判断された場合、およびステップＳ１４２０において右カウント値は所定値以上でないと判断された場合は、自動演奏状態あるいは右手パートのキーの操作停止から一定時間以上経過していないので、ステップＳ１４４０に進み右チェックフラグが「０」にセットされる。
【００４３】
さらに、ステップＳ１４００において右チェックフラグが「１」でないと判断された場合は、チェックポイントに達していないわけであるから左手パートの処理に移行するようステップＳ１４５０に進む。
なお、前記所定値は、例えば１小節程度の長さとなるカウント値とされるが、１小節に限らずそれ以上、あるいはそれ以下のカウント値としてもよい。その判断基準としては、演奏者がマニュアル演奏を停止したと感じる程度の時間長に所定値を設定するのが好適である。
【００４４】
次に、第３実施例のチェックポイント処理３のフローチャートを図１４に示す。このフローチャートは、チェックポイントとチェックポイントとの間の期間において、全てのキーが操作されていない場合に自動演奏状態に復帰させるものである。
このフローチャートのステップＳ１５００において、右チェックフラグが「１」であるか否かが判断される。チェックフラグが「１」と判断された場合は、図１１で説明したようにチェックポイントに達している時であるから、ステップＳ１５１０において右手パートがミュート状態となっているか否かが判断される。そして、ミュート状態、すなわちマニュアル演奏状態と判断された場合は、さらに、ステップ１５２０においてキーイベントメモリがチェックされる。
【００４５】
続いて、キーイベントメモリをチェックした結果、ステップＳ１５３０においてキーイベント情報がキーイベントメモリに書き込まれているか否かが判断される。書き込まれていないと判断された場合はチェックポイント間において全てのキーが操作されていないので、ステップＳ１５７０においてミュート状態が解除されて自動演奏に復帰される。
また、ステップＳ１５３０において書き込まれていると判断された場合は、チェックポイント間でキーが操作されたわけであるから自動演奏状態には復帰させず、ステップＳ１５４０においてキーイベントメモリをクリアする。
続いて、ステップＳ１５５０において右チェックフラグが「０」にセットされて右手パートの処理が終了し、同様の処理を行う左手パートの処理がステップＳ１５６０において行われ、終了するとリターンされる。
【００４６】
また、ステップＳ１５１０において右手パートがミュート状態でないと判断された場合は、自動演奏状態と既にされているので、ステップＳ１５５０に進み右チェックフラグが「０」にセットされる。
さらに、ステップＳ１５００において右チェックフラグが「１」でないと判断された場合は、チェックポイントに達していないわけであるから左手パートの処理に移行するようステップＳ１５６０に進む。
【００４７】
次に、第３実施例のチェックポイント処理において、自動演奏時にマニュアル演奏された押鍵が正押鍵か否かの判断を行うようにし、正押鍵の割合に応じてどのチェックポイントに戻して自動演奏を復帰するかの制御を行う処理を付加した教習用のチェックポイント処理４のフローチャートを図１５に示す。
このフローチャートのステップＳ１６００ないしステップＳ１６３０の処理、およびステップＳ１７１０の処理は、前記した図１４に示す第３実施例のチェックポイント処理３のステップＳ１５００ないしステップＳ１５３０、およびステップＳ１５７０の処理と同様なのでこれらのステップにおける処理の説明は省略する。
【００４８】
そこで、ステップＳ１６３０においてキーイベントがあると判断された場合は、ステップＳ１６４０においてキーイベントメモリの内容であるマニュアル演奏データとチェックポイント間の自動演奏データとを比較し、正押鍵の割合が判定される。演奏データの比較および判定技術については周知であるので、ここでの説明は省略する。次いで、ステップＳ１６５０において正押鍵がほとんどないと判定された場合は、ステップＳ１６６０においてミュートが解除されて自動演奏状態に復帰され、次のステップＳ１６７０において前述のステップＳ８６０あるいはステップＳ１２２０にて記憶した１つ前のチェックポイントのデータの位置に、演奏データの読み出し位置が戻されるため、前のチェックポイントからの自動演奏データに基づいて自動演奏されることになる。従って、ユーザが上手に弾けなかった部分における手本の自動演奏を聴かせることができるようになる。
【００４９】
また、ステップＳ１６５０において正押鍵の割合が中くらいと判定された場合は、そのままステップＳ１６７０に進み、ミュート状態のまま自動演奏データの読み出し位置は前のチェックポイントの位置に戻されるが、マニュアル演奏状態が依然として維持されているため、前のチェックポイント間の演奏練習を演奏者が再度行えるようになる。
さらに、ほぼ正押鍵と判定された場合はステップＳ１６８０に進み、キーイベントメモリはクリアされる。続いて、右チェックフラグが「０」とされて次のチェックポイント処理の準備が行われる。すなわち、ほぼ正押鍵の時はマニュアル演奏の練習が続行される。
以上が右手パートの処理であり、右手パートの処理が終了するとステップＳ１７００に移行し、右手パートの処理と同様の左手パート処理が行われ、左手パート処理が終了するとリターンされる。
【００５０】
また、図１５に示すチェックポイント処理４は、チェックポイント間の教習を行うようチェックポイント処理３を前提としているが、これに限らず次のチェックポイントになるまでの教習を行えるチェックポイント処理１、あるいはマニュアル演奏後一定時間経過した後に教習を行うチェックポイント処理２を前提とするものであっても良い。
【００５１】
以上説明した本発明の自動演奏装置は、自動リズム演奏や、自動伴奏装置にも適用することができる。例えば、打楽器のバッドを叩くと、自動リズム演奏の内の叩かれたパッドに相当する音色の音がミュートされ、その後読み出されるチェックポイントに基づいてミュートされた音が復帰するようにしても良い。
また、外部から入力されたノートデータ（自然楽器の音からピッチを抽出し、抽出したピッチに基づいてノートデータを生成するものも含む。）によって自動演奏がミュートされるようなものにも適用することができる。すなわち、自動演奏装置と鍵盤楽器等のマニュアル演奏装置とが別体で構成されているようなものであっても良い。
さらに、前記説明においてはミュートするパートを鍵域によって識別したが、音色によって識別しても良い。
なお、マニュアル演奏時に自動演奏データに基づいて押鍵指示をするようにしても良い。
【００５２】
【発明の効果】
本発明は以上のように構成されているので、音楽的に区切られた演奏データの場所を示すチェックポイントのデータを記憶することにより、自動演奏に復帰させる場合に音楽的に適切なタイミングで復帰させることができるようになる。
また、マニュアル演奏時にチェックポイントに達した場合、演奏操作子の操作が所定時間停止された後にチェックポイントに達した場合、あるいはチェックポイント間においてマニュアル演奏がされなかった場合に自動演奏に復帰させることにより、マニュアル演奏を停止した際に確実に自動演奏に復帰させることができるようになる。
さらに、自動演奏ミュート中のマニュアル演奏による演奏データが正押鍵であるか否かを判定して、自動演奏が復帰するチェックポイントデータを選択するようにしたので、正押鍵の割合が少ない場合に、再度同じ部分を演奏操作子により演奏できるようにすることができ、教習に好適な自動演奏装置とすることができる。
【図面の簡単な説明】
【図１】本発明の自動演奏装置のブロック図である。
【図２】自動演奏データのフォーマットを示す図である。
【図３】本発明の自動演奏装置のメインルーチンを示すフローチャートである。
【図４】本発明の自動演奏装置のタイマ割込み処理を示すフローチャートである。
【図５】本発明の自動演奏装置のスイッチ処理を示すフローチャートである。
【図６】本発明の自動演奏装置の鍵盤処理を示すフローチャートである。
【図７】本発明の自動演奏装置のキーオフ処理を示すフローチャートである。
【図８】本発明の自動演奏装置のキーオン処理を示すフローチャートである。
【図９】本発明の自動演奏装置の演奏データ読み出し処理１を示すフローチャートである。
【図１０】本発明の自動演奏装置の演奏データ読み出し処理２を示すフローチャートである。
【図１１】本発明の自動演奏装置のチェックポイント読み出し処理を示すフローチャートである。
【図１２】本発明の自動演奏装置のチェックポイント処理１を示すフローチャートである。
【図１３】本発明の自動演奏装置のチェックポイント処理２を示すフローチャートである。
【図１４】本発明の自動演奏装置のチェックポイント処理３を示すフローチャートである。
【図１５】本発明の自動演奏装置のチェックポイント処理４を示すフローチャートである。
【符号の説明】１  キーボード、２，４  検出回路、３  パネルスイッチ、５  Ｔ．Ｇ、６  サウンドシステム、  ７  スピーカ、８  ディスプレイ、９
ＲＡＭ、１０  ＲＯＭ、１１  ＣＰＵ、１２  タイマ、１３  バスライン
【図１】
0003561956.tif 000002
【図２】
0003561956.tif 000003
【図３】
0003561956.tif 000004
【図４】
0003561956.tif 000005
【図５】
0003561956.tif 000006
【図６】
0003561956.tif 000007
【図７】
0003561956.tif 000008
【図８】
0003561956.tif 000009
【図９】
0003561956.tif 000010
【図１０】
0003561956.tif 000011
【図１１】
0003561956.tif 000012
【図１２】
0003561956.tif 000013
【図１３】
0003561956.tif 000014
【図１４】
0003561956.tif 000015
【図１５】
0003561956.tif 000016