(57)【要約】【課題】演奏表現力を向上させる演奏記録再生装置を実現する。【解決手段】ユーザ操作で登録待機状態に設定した後、例えば図３に図示するベース鍵からトリガー鍵の「手弾き音」を演奏すると、それらの演奏データがシーケンス構成音レジスタ７ａに記録され、トリガー鍵の演奏データを記録した時点で、インターバル情報に応じてシーケンス構成音レジスタ７ａの内容が更新され、更新された各シーケンス構成音の内、トリガー鍵に対応する演奏データ以外をループ再生して自動演奏する。ループ再生が一巡する毎に、インターバル情報に応じてシーケンス構成音レジスタ７ａの内容を更新する。これにより、あたかも三本目の手が弾いているかのような自然な反復フレーズが自動演奏される結果、演奏表現力が向上する。【選択図】  図３
2004341385.tif 000002
【特許請求の範囲】
【請求項１】
最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録手段と、
前記記録手段に第２の演奏データが記録された時に、前記記録手段に記録された複数の演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段と
を具備することを特徴とする演奏記録再生装置。
【請求項２】
最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録手段と、
前記記録手段に第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記記録手段に記録される各演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示手段と、
前記再生指示手段からの再生指示に従い、前記記録手段に記録される各演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段と、
前記再生手段の繰り返し再生が一巡する毎に、前記インターバル情報を前記記録手段に記録される各演奏データにそれぞれ加算して更新する更新手段と
を具備することを特徴とする演奏記録再生装置。
【請求項３】
最初に演奏入力される第１の演奏データと同じ音名の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録手段と、
前記記録手段に第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記記録手段に記録される各演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示手段と、
前記再生指示手段からの再生指示に従い、前記記録手段に記録される各演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段と、
前記再生手段の繰り返し再生が一巡する毎に、前記インターバル情報を前記記録手段に記録される各演奏データにそれぞれ加算して更新する更新手段と
を具備することを特徴とする演奏記録再生装置。
【請求項４】
最初に演奏入力される第１の演奏データと同じ音高の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録手段と、
前記記録手段に第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記記録手段に記録される各演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示手段と、
前記再生指示手段からの再生指示に従い、前記記録手段に記録される各演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段と、
前記再生手段の繰り返し再生が一巡する毎に、前記インターバル情報を前記記録手段に記録される各演奏データにそれぞれ加算して更新する更新手段と
を具備することを特徴とする演奏記録再生装置。
【請求項５】
予め指定された鍵域において鍵入力される第１の演奏データと同じ音名もしくは同じ音高のいずれかの第２の演奏データが鍵入力されるまでの、複数の演奏データを記録する記録手段と、
前記記録手段に第２の演奏データが記録された時に、この記録された第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記記録手段に記録される各演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示手段と、
前記再生指示手段からの再生指示に従い、前記記録手段に記録される各演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段と、
前記再生手段の繰り返し再生が一巡する毎に、前記インターバル情報を前記記録手段に記録される各演奏データにそれぞれ加算して更新する更新手段と
を具備することを特徴とする演奏記録再生装置。
【請求項６】
最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録ステップと、
前記記録ステップにて第２の演奏データが記録された時に、記録された複数の演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップと
をコンピュータで実行させることを特徴とする演奏記録再生プログラム。
【請求項７】
最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録ステップと、
前記記録ステップで第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記複数の演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示ステップと、
前記再生指示ステップからの再生指示に従い、前記再生指示ステップにて更新された各演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップと、
前記再生ステップによる繰り返し再生が一巡する毎に、前記インターバル情報を前記再生指示ステップにて更新された各演奏データに順次加算して更新する更新ステップと
をコンピュータで実行させることを特徴とする演奏記録再生プログラム。
【請求項８】
最初に演奏入力される第１の演奏データと同じ音名の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録ステップと、
前記記録ステップで第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記複数の演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示ステップと、
前記再生指示ステップからの再生指示に従い、前記再生指示ステップにて更新された各演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップと、
前記再生ステップによる繰り返し再生が一巡する毎に、前記インターバル情報を前記再生指示ステップにて更新された各演奏データに順次加算して更新する更新ステップと
をコンピュータで実行させることを特徴とする演奏記録再生プログラム。
【請求項９】
最初に演奏入力される第１の演奏データと同じ音高の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録ステップと、
前記記録ステップで第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記複数の演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示ステップと、
前記再生指示ステップからの再生指示に従い、前記再生指示ステップにて更新された各演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップと、
前記再生ステップによる繰り返し再生が一巡する毎に、前記インターバル情報を前記再生指示ステップにて更新された各演奏データに順次加算して更新する更新ステップと
をコンピュータで実行させることを特徴とする演奏記録再生プログラム。
【請求項１０】
予め指定された鍵域において鍵入力される第１の演奏データと同じ音名もしくは同じ音高のいずれかの第２の演奏データが鍵入力されるまでの、複数の演奏データを記録する記録ステップと、
前記記録ステップで第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記複数の演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示ステップと、
前記再生指示ステップからの再生指示に従い、前記再生指示ステップにて更新された各演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップと、
前記再生ステップによる繰り返し再生が一巡する毎に、前記インターバル情報を前記再生指示ステップにて更新された各演奏データに順次加算して更新する更新ステップと
をコンピュータで実行させることを特徴とする演奏記録再生プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演奏表現力を向上させ得る演奏記録再生装置および演奏記録再生プログラムに関する。
【０００２】
【従来の技術】
演奏すべき各音の音高や発音タイミング等を表わす演奏データを記録しておき、これを再生して自動演奏する演奏記録再生装置が知られている。この種の装置では、予め記録しておいた演奏データを再生（自動演奏）するだけなので、画一的な演奏にならざるを得ず演奏表現力に欠ける嫌いがある。その為、近年では、例えば特許文献１に開示されているように、自動演奏中に演奏データに所望の変化を与えて生演奏のような自動演奏を提供する技術なども案出されている。
【０００３】
【特許文献１】
特許公開平５−３２３９６３号公報
【０００４】
【発明が解決しようとする課題】
ところで、上記特許文献１に開示の技術は、自動演奏進行中に演奏データの内容を変更させるだけだから、例えばユーザがトリルで弾いた複数音の演奏データを記録し、それを即座に繰り返し再生（自動演奏）してパート演奏を代理させる等、演奏中に記録したユーザ自身の演奏を、あたかも三本目の手が弾いているかのような自然な形で自動演奏させて演奏表現力を向上させることができない、という問題がある。
そこで本発明は、このような事情に鑑みてなされたもので、演奏中に記録したユーザ自身の演奏を、あたかも三本目の手が弾いているかのような自然な形で自動演奏させて演奏表現力を向上させることができる演奏記録再生装置および演奏記録再生プログラムを提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録手段と、前記記録手段に第２の演奏データが記録された時に、前記記録手段に記録された複数の演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段とを具備することを特徴とする。
【０００６】
請求項２に記載の発明では、最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録手段と、前記記録手段に第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記記録手段に記録される各演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示手段と、前記再生指示手段からの再生指示に従い、前記記録手段に記録される各演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段と、前記再生手段の繰り返し再生が一巡する毎に、前記インターバル情報を前記記録手段に記録される各演奏データにそれぞれ加算して更新する更新手段とを具備することを特徴とする。
【０００７】
請求項３に記載の発明では、最初に演奏入力される第１の演奏データと同じ音名の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録手段と、前記記録手段に第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記記録手段に記録される各演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示手段と、前記再生指示手段からの再生指示に従い、前記記録手段に記録される各演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段と、前記再生手段の繰り返し再生が一巡する毎に、前記インターバル情報を前記記録手段に記録される各演奏データにそれぞれ加算して更新する更新手段とを具備することを特徴とする。
【０００８】
請求項４に記載の発明では、最初に演奏入力される第１の演奏データと同じ音高の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録手段と、前記記録手段に第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記記録手段に記録される各演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示手段と、前記再生指示手段からの再生指示に従い、前記記録手段に記録される各演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段と、前記再生手段の繰り返し再生が一巡する毎に、前記インターバル情報を前記記録手段に記録される各演奏データにそれぞれ加算して更新する更新手段とを具備することを特徴とする。
【０００９】
請求項５に記載の発明では、予め指定された鍵域において鍵入力される第１の演奏データと同じ音名もしくは同じ音高のいずれかの第２の演奏データが鍵入力されるまでの、複数の演奏データを記録する記録手段と、前記記録手段に第２の演奏データが記録された時に、この記録された第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記記録手段に記録される各演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示手段と、前記再生指示手段からの再生指示に従い、前記記録手段に記録される各演奏データの内、第２の演奏データ以外を繰り返し再生する再生手段と、前記再生手段の繰り返し再生が一巡する毎に、前記インターバル情報を前記記録手段に記録される各演奏データにそれぞれ加算して更新する更新手段とを具備することを特徴とする。
【００１０】
請求項６に記載の発明では、最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録ステップと、前記記録ステップにて第２の演奏データが記録された時に、記録された複数の演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップとをコンピュータで実行させることを特徴とする。
【００１１】
請求項７に記載の発明では、最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録ステップと、前記記録ステップで第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記複数の演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示ステップと、前記再生指示ステップからの再生指示に従い、前記再生指示ステップにて更新された各演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップと、前記再生ステップによる繰り返し再生が一巡する毎に、前記インターバル情報を前記再生指示ステップにて更新された各演奏データに順次加算して更新する更新ステップとをコンピュータで実行させることを特徴とする。
【００１２】
請求項８に記載の発明では、最初に演奏入力される第１の演奏データと同じ音名の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録ステップと、前記記録ステップで第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記複数の演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示ステップと、前記再生指示ステップからの再生指示に従い、前記再生指示ステップにて更新された各演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップと、前記再生ステップによる繰り返し再生が一巡する毎に、前記インターバル情報を前記再生指示ステップにて更新された各演奏データに順次加算して更新する更新ステップとをコンピュータで実行させることを特徴とする。
【００１３】
請求項９に記載の発明では、最初に演奏入力される第１の演奏データと同じ音高の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録する記録ステップと、前記記録ステップで第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記複数の演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示ステップと、前記再生指示ステップからの再生指示に従い、前記再生指示ステップにて更新された各演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップと、前記再生ステップによる繰り返し再生が一巡する毎に、前記インターバル情報を前記再生指示ステップにて更新された各演奏データに順次加算して更新する更新ステップとをコンピュータで実行させることを特徴とする。
【００１４】
請求項１０に記載の発明では、予め指定された鍵域において鍵入力される第１の演奏データと同じ音名もしくは同じ音高のいずれかの第２の演奏データが鍵入力されるまでの、複数の演奏データを記録する記録ステップと、前記記録ステップで第２の演奏データが記録された時に、この第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、前記複数の演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する再生指示ステップと、前記再生指示ステップからの再生指示に従い、前記再生指示ステップにて更新された各演奏データの内、第２の演奏データ以外を繰り返し再生する再生ステップと、前記再生ステップによる繰り返し再生が一巡する毎に、前記インターバル情報を前記再生指示ステップにて更新された各演奏データに順次加算して更新する更新ステップとをコンピュータで実行させることを特徴とする。
【００１５】
本発明では、最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録し、第２の演奏データが記録された時に、記録された複数の演奏データの内、第２の演奏データ以外を繰り返し再生するので、ユーザが弾いた複数音の演奏データを記録し、それを即座に繰り返し再生（自動演奏）してパート演奏を代理させることが可能になる。
【００１６】
本発明の好ましい態様では、最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録し、第２の演奏データが記録された時点で第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、記録された各演奏データにそれぞれ加算して更新し、更新した各演奏データの再生を指示する。そして、この再生指示に従い、更新された各演奏データの内、第２の演奏データ以外を繰り返し再生し、繰り返し再生が一巡する毎に、前記インターバル情報を各演奏データにそれぞれ加算して更新させれば、演奏中に記録したユーザ自身の演奏を、あたかも三本目の手が弾いているかのような自然な形で自動演奏させて演奏表現力を向上させることが可能になる。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態による演奏記録再生装置を搭載した電子楽器を実施例とし、これについて図面を参照して説明する。
Ａ．実施例の構成
（１）全体構成
図１は、本発明の一実施例による電子楽器の全体構成を示すブロック図である。この図において、１は押離鍵操作（演奏操作）に応じたキーオン／キーオフ信号およびノート番号、ベロシティ等からなる演奏データを発生する鍵盤である。２は楽器パネルに配設されるパネルスイッチであり、各スイッチ操作に応じたスイッチイベントを発生する。パネルスイッチ２には、図示されていないが、発生楽音の音色を選択したり、付与するエフェクト種を指定する等の各種パラメータスイッチの他、ペダルシーケンスボタン２ａが設けられている。
【００１８】
ペダルシーケンスボタン２ａとは、後述するソステヌート／シーケンスペダル３ｂのペダル機能を切換えるボタンスイッチである。ペダルシーケンスボタン２ａは、押下操作される毎に交互にオンオフ状態に設定され、オン設定されているときはソステヌート／シーケンスペダル３ｂをシーケンスペダルとして機能させ、一方、オフ設定されているときはソステヌート／シーケンスペダル３ｂを本来のソステヌートペダルとして機能させるようになっている。
【００１９】
３はソフトペダル３ａ、ソステヌート／シーケンスペダル３ｂおよびダンパペダル３ｃを備えるペダル操作子である。ソフトペダル３ａはペダル操作に応じて音量および音色を制御する操作信号を発生する。ソステヌート／シーケンスペダル３ｂは、上述したペダルシーケンスボタン２ａがオン状態に設定されている場合、シーケンスペダルとして機能し、ペダル踏下に応じて演奏データの記録を指示するイベントを発生する。
一方、ペダルシーケンスボタン２ａがオフ状態に設定されている場合、本来のソステヌートペダルとして機能し、ペダル踏下時に発音中の音に余韻を付けるソステヌート効果の付与を指示する。ダンパペダル３ｃはペダル踏下に応じて、発音中の全ての音に余韻を付けるダンパ効果の付与を指示する。
【００２０】
４はＬＣＤパネル等から構成される表示部であり、後述するＣＰＵ５から供給される表示制御信号に応じて楽器各部の設定状態や動作モード等を表示する。ＣＰＵ５は、スイッチ・ペダル操作に応じて発生するイベントに基づき演奏記録を開始する一方、鍵盤１から供給される演奏データに応じた楽音の発生を音源８に指示したり、記録した演奏データを再生して自動演奏する。本発明の要旨に関わるこれら処理動作の詳細については追って述べる。６は上記ＣＰＵ５にロードされる各種制御プログラムを記憶するＲＯＭである。このＲＯＭ６に記憶される各種制御プログラムとは、後述するメインルーチン、スイッチ・ペダル処理、鍵盤処理および自動演奏処理を含む。
【００２１】
７はＣＰＵ５のワークエリアとして用いられるＲＡＭであり、各種レジスタ・フラグデータを一時記憶する。ＲＡＭ６に設けられる主要なレジスタの構成については追って述べる。音源８は、周知の波形メモリ読み出し方式にて構成され、ＣＰＵ５から供給される演奏データに応じた楽音波形を発生する。９は音源８が発生する楽音出力をアナログ波形信号に変換して不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカから放音させるサウンドシステムである。
【００２２】
（２）ＲＡＭ７のレジスタ構成
ＲＡＭ７は、シーケンス構成音レジスタ７ａ、インターバルレジスタ７ｂ、登録モードレジスタ７ｃ、自動演奏モードレジスタ７ｄ、タイマ７ｅおよび鍵オンオフレジスタ７ｆを有する。
シーケンス構成音レジスタ７ａには、後述する登録モード下で複数の演奏音の演奏データが記録され、記録された演奏データは後述の自動演奏処理にて繰り返し読み出して再生する、所謂ループ再生にて自動演奏される。シーケンス構成音レジスタ７ａに記録される複数の演奏音をシーケンス構成音と称す。
シーケンス構成音レジスタ７ａは、図２に示すように、５行Ｎ列の配列要素を備えた２次元レジスタであり、その列要素は始端のベース鍵登録アドレス（１）から終端のトリガー鍵登録アドレス（Ｎ）まで最大Ｎ個のシーケンス構成音を登録可能にしている。シーケンス構成音は、行要素のアドレスＡＹ〜ＤＹにて指定される属性からなる演奏データとアドレスＥＹで指定される処理フラグとから構成される。
【００２３】
演奏データはＭＩＤＩ規格に準拠した値で表現され、アドレスＡＹで指定されるノート番号、アドレスＢＹで指定されるベロシティ、アドレスＣＹで指定されるＯＮタイミング（発音タイミング）およびアドレスＤＹでＯＦＦタイミング（消音タイミング）から形成される。なお、アドレスＣＹ，ＤＹで指定されるＯＮ／ＯＦＦタイミングは、それぞれベース鍵押鍵時点からの経過時間で表現される時間長データである。アドレスＥＹで指定される処理フラグは、対応する演奏データの自動演奏状況を表すフラグであり、発音待機中の場合に「０」、発音中の場合に「１」、発音終了の場合に「２」がセットされる。
【００２４】
こうした構成のシーケンス構成音レジスタ７ａでは、登録モード下で最初に押離鍵操作されるベース鍵の演奏データが始端の登録アドレス（１）に登録される。以後、ベース鍵と同じ音名のシーケンス構成音（トリガー鍵）が演奏されるまでの間に押離鍵操作される鍵の演奏データを順番に登録して行き、トリガー鍵が押離鍵操作された時点で、そのトリガー鍵の演奏データを終端の登録アドレス（Ｎ）に登録する。始端の登録アドレス（１）から終端の登録アドレス（Ｎ）までの間に空きエリアが生じる場合には、その空きエリアに空白を表すデータｎｕｌｌがセットされる。
なお、図２に図示するシーケンス構成音レジスタ７ａに登録される演奏データの内、トリガー鍵に対応する演奏データのアドレスＣＹ，ＤＹで指定されるＯＮタイミング／ＯＦＦタイミングは、トリガー鍵の音を発音させないようにする為に同値に設定される。
【００２５】
インターバルレジスタ７ｂは４行１列の配列要素を備えるレジスタであって、上記シーケンス構成音レジスタ７ａの終端の登録アドレス（Ｎ）にトリガー鍵の演奏データが登録された時点で、インターバル情報が各列にストアされる。インターバル情報とは、トリガー鍵の演奏データと登録アドレス（１）にストアされたベース鍵の演奏データとの差分を指す。
図２に図示する一例の場合、インターバル情報として、インターバルレジスタ７ｂのアドレスＡＹにノート番号差「＋１２」、アドレスＢＹにベロシティ差「＋２」、アドレスＣＹに発音タイミング差「４９０」がストアされる。アドレスＤＹの消音タイミング差は、アドレスＣＹの発音タイミング差「４９０」がコピーされる。
【００２６】
登録モードレジスタ７ｃは、上述したシーケンス構成音レジスタ７ａの登録状態を表す登録フラグＲを記憶する。登録フラグＲは後述するスイッチ・ペダル処理および鍵盤処理にてフラグ値「０」〜「３」がセットされる。フラグ値「０」は登録モードオフ状態を、フラグ値「１」は登録待機中を、フラグ値「２」は登録中を、フラグ値「３」は登録終了をそれぞれ表す。
自動演奏モードレジスタ７ｄは、自動演奏モードオフ時に「０」、自動演奏時に「１」となる自動演奏フラグＡを記憶する。タイマ７ｅは、ＣＰＵ５がタイマ割込み処理（不図示）でタイマクロックを累算して得るタイマカウント値を一時記憶する。
鍵オンオフレジスタ７ｆは、ノート番号ｋに対応した鍵毎のキーオン／キーオフ状態を表すフラグＫＶ（ｋ）を記憶する。フラグＫＶ（ｋ）は、キーオン時に「１」、キーオフ時に「０」がセットされる。鍵盤１がＡ０音からＣ８音までの８８鍵の鍵域を有する場合、鍵オンオフレジスタ７ｆはノート番号「２１」〜「１０８」（ＭＩＤＩノート番号値）に対応するフラグＫＶ（２１）〜ＫＶ（１０８）を保持する。
【００２７】
Ｂ．実施例の動作
次に、図３〜図７を参照して実施例の動作について説明する。以下では、最初に概略動作としてメインルーチンの動作を説明した後、続いてメインルーチンからコールされるスイッチ・ペダル処理、鍵盤処理および自動演奏処理の動作を詳述する。
【００２８】
（１）メインルーチンの動作
上記構成による実施例の電子楽器に電源が投入されると、ＣＰＵ５はＲＯＭ６から所定の制御プログラムを読み出して自身にロードし、図４に示すメインルーチンを実行する。メインルーチンが実行されると、ＣＰＵ４は先ずステップＳＡ１に処理を進め、ＲＡＭ６のワークエリアに格納される各種レジスタやフラグをリセットしたり、初期値をセットするイニシャライズ処理を行う。また、このステップＳＡ１では、音源８に対して各種レジスタやフラグ類を初期化するよう指示する。そして、イニシャライズ完了後、ステップＳＡ２に処理を進め、パネルスイッチ２が発生するスイッチイベントや、ペダル操作子３のペダル操作に対応したスイッチ・ペダル処理を実行する。
【００２９】
続いて、ステップＳＡ３では、鍵盤１の押離鍵操作に応じて発生する演奏データに従って音源８に発音／消音を指示する他、登録モードに設定されている場合にはその演奏データをシーケンス構成音レジスタ７ａに記録する鍵盤処理を実行する。また、鍵盤処理では、トリガー鍵の押離鍵により生じる演奏データをシーケンス構成音レジスタ７ａに記録した時点で自動演奏フラグＡを「１」にセットして自動演奏開始を指示する。
【００３０】
次いで、ステップＳＡ４では、自動演奏フラグＡが「１」にセットされている場合に、シーケンス構成音レジスタ７ａに記録されたシーケンス構成音をループ再生して自動演奏する自動演奏処理を実行する。自動演奏処理では、あたかも三本目の手が弾いているかのような自然な形で自動演奏させるべく、ループ再生が一巡する毎にシーケンス構成音を修飾しており、こうした点については追って詳述する。そして、ステップＳＡ５では、例えば現在設定されている動作モードを表示部４に画面表示させる等の、その他の処理を実行する。以後、電源がオフされる迄、上述したステップＳＡ２〜ＳＡ５を繰り返し実行する。
【００３１】
（２）スイッチ・ペダル処理の動作
次に、図５を参照してスイッチ・ペダル処理の動作を説明する。なお、ここでは本発明の要旨に関わるペダルシーケンスボタン２ａおよびソステヌート／シーケンスペダル３ｂの操作を主眼において動作説明を進める。
上述したメインルーチンのステップＳＡ２（図４参照）を介してスイッチ・ペダル処理が実行されると、ＣＰＵ５は図５のステップＳＢ１に進み、操作イベントを検出すべく、パネルスイッチ２およびペダル操作子３を走査する。続くステップＳＢ２では、上記ステップＳＢ１の走査結果に基づきペダルシーケンスボタン２ａがオン設定されているか否かを判断する。以下、ペダルシーケンスボタン２ａがオン設定されている場合と、オフ設定されている場合とに分けて説明を進める。
【００３２】
▲１▼オン設定されている場合
ペダルシーケンスボタン２ａがオン設定されていると、ステップＳＢ２の判断結果が「ＹＥＳ」になり、ステップＳＢ３に進み、ソステヌート／シーケンスペダル３ｂのオン操作の有無を判断する。オン操作されていなければ、判断結果は「ＮＯ」になり、後述するステップＳＢ７に処理を進める。
一方、オン操作されていると、判断結果が「ＹＥＳ」となり、ステップＳＢ４に進み、登録フラグＲが「０」、つまり登録モードオフ状態であるかどうかを判断する。登録モードオフ状態であると、判断結果は「ＹＥＳ」になり、ステップＳＢ５に進み、登録フラグＲに「１」をセットして登録モード下の登録待機状態に設定してステップＳＢ６に進む。
【００３３】
このように、ペダルシーケンスボタン２ａがオン設定されている時に、ソステヌート／シーケンスペダル３ｂをオン操作すると、登録モードオフ状態から登録待機状態に設定されるようになっている。これに対し、既に登録モード下にある場合には、ステップＳＢ４の判断結果が「ＮＯ」になり、ステップＳＢ６に進む。したがって、既に登録モード下である時には、ソステヌート／シーケンスペダル３ｂのオン操作を無効にする。そして、ステップＳＢ６では、その他のスイッチ操作やペダル操作に対応した処理を実行して本処理を完了させる。
【００３４】
▲２▼オフ設定されている場合
一方、ペダルシーケンスボタン２ａがオフ設定されていると、上述したステップＳＢ２の判断結果が「ＮＯ」になり、ステップＳＢ７に進み、登録モードオフ状態であるかどうかを判断する。登録モードオフ状態であれば、判断結果は「ＹＥＳ」になり、上述したステップＳＢ６を実行して本処理を終える。
一方、登録モード下にあると、上記ステップＳＢ７の判断結果が「ＮＯ」になり、ステップＳＢ８に進み、自動演奏フラグＡが「１」、すなわち自動演奏中であるか否かを判断する。自動演奏中でなければ、判断結果は「ＮＯ」になり、ステップＳＢ１０に進み、ＲＡＭ７のシーケンス構成音レジスタ７ａ、インターバルレジスタ７ｂ、登録モードレジスタ７ｃ、自動演奏モードレジスタ７ｄおよびタイマ７ｅを全てゼロリセットした後、上述のステップＳＢ６を実行してから本処理を完了させる。
【００３５】
これに対し、自動演奏中であれば、上記ステップＳＢ８の判断結果は「ＹＥＳ」になり、ステップＳＢ９に進む。ステップＳＢ９では、シーケンス構成音レジスタ７ａに記録されたシーケンス構成音の内、発音中のシーケンス構成音、すなわち処理フラグが「１」のシーケンス構成音を検索し、それに該当するシーケンス構成音のノート番号のノートオフイベントを作成して音源８に送出する。そして、ステップＳＢ１０にて各レジスタ７ａ〜７ｄおよびタイマ７ｅを全てゼロリセットした後、上述のステップＳＢ６を実行してから本処理を完了させる。
このように、自動演奏中にペダルシーケンスボタン２ａがオフ設定されると、発音中のシーケンス構成音を全て消音させてから、ＲＡＭ７のシーケンス構成音レジスタ７ａ、インターバルレジスタ７ｂ、登録モードレジスタ７ｃ、自動演奏モードレジスタ７ｄおよびタイマ７ｅを全てゼロリセットして自動演奏を停止させる。
【００３６】
（３）鍵盤処理の動作
次に、図６を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップＳＡ３（図４参照）を介して本処理が実行されると、ＣＰＵ５は図６のステップＳＣ１に進み、ノート番号ｋに対応する鍵の楽音が発音中であるか否かを判断する。以下では、発音中、消音中、登録待機中、登録中および登録終了の各場合に分けて動作説明を進める。
【００３７】
▲１▼発音中の場合
ノート番号ｋの鍵の楽音が発音中であると、ステップＳＣ１の判断結果は「ＹＥＳ」となり、ステップＳＣ２に進み、鍵オンオフレジスタ７ｆのノート番号ｋに対応するフラグＫＶ（ｋ）が「０」、すなわち新たな押鍵であるかどうかを判断する。フラグＫＶ（ｋ）が「１」となる押鍵中の場合、判断結果は「ＮＯ」になり、後述するステップＳＣ６に処理を進める。
一方、新たな押鍵であると、判断結果が「ＹＥＳ」となり、次のステップＳＣ３に進み、登録フラグＲが「０」、つまり登録モードオフ状態であるかどうかを判断する。登録モードオフ状態であると、判断結果は「ＹＥＳ」になり、ステップＳＣ４に進む。ステップＳＣ４では、ノート番号ｋのノートオンイベントを作成して音源８に送出する。これにより、新たに押鍵された鍵のノート番号ｋに対応する音高の楽音が音源８で生成される。
【００３８】
次いで、ステップＳＣ５に進むと、ノート番号ｋの発音に従い、鍵オンオフレジスタ７ｆのフラグＫＶ（ｋ）に「１」をセットする。続いて、ステップＳＣ６では、ノート番号ｋが「１０７」以下であるか否か、すなわち鍵走査中であるかどうかを判断する。鍵走査中であると、判断結果は「ＹＥＳ」になり、次のステップＳＣ７に進み、ノート番号ｋをインクリメントして歩進させた後、前述のステップＳＣ１に処理を戻し、歩進したノート番号ｋに対応する鍵が発音中であるか否かを新たに判断する。
一方、鍵盤１が備える８８鍵全てを鍵走査し終えると、ステップＳＣ６の判断結果が「ＮＯ」となり、ステップＳＣ８に進み、ノート番号ｋを初期値「２１」にリセットしていったん本処理を完了させる。このように、ステップＳＣ１〜ＳＣ８では、ノート番号ｋを歩進させながら鍵走査を行い、新たな押鍵が生じると、押鍵された鍵のノート番号ｋに対応する音高の楽音を発音させる。
【００３９】
▲２▼消音中の場合
ノート番号ｋの鍵の楽音が消音中であると、ステップＳＣ１の判断結果は「ＮＯ」となり、ステップＳＣ９に進み、鍵オンオフレジスタ７ｆのノート番号ｋに対応するフラグＫＶ（ｋ）が「０」、すなわち離鍵中であるかどうかを判断する。離鍵中であれば、判断結果は「ＹＥＳ」になり、前述したステップＳＣ６以降を実行して鍵走査を続行する。
一方、新たな離鍵により消音状態になると、上記ステップＳＣ９の判断結果が「ＮＯ」となり、ステップＳＣ１０に進む。ステップＳＣ１０では、登録フラグＲが「２」、すなわち登録中であるかどうかを判断する。登録中でなければ、判断結果は「ＮＯ」になり、ステップＳＣ１２に進み、ノート番号ｋのノートオフイベントを作成して音源８に送出する。これにより、新たに離鍵された鍵に対応する楽音が消音される。そして、ステップＳＣ１３に進み、新たに離鍵された鍵のノート番号ｋに対応するフラグＫＶ（ｋ）をゼロリセットする。この後、前述したステップＳＣ６以降を実行して鍵走査を進める。このように、ステップＳＣ９〜ＳＣ１３では、新たな離鍵が生じると、離鍵された鍵に対応する音高の楽音を消音させる。
【００４０】
▲３▼登録待機中の動作
さて、以上のように鍵盤１の押離鍵操作に対応した発音／消音が行われている過程で、ユーザがペダルシーケンスボタン２ａをオン設定した後、ソステヌート／シーケンスペダル３ｂをオン操作したとする。そうすると、前述したスイッチ・ペダル処理によって登録フラグＲが「１」にセットされて登録待機状態に設定される。
そして、登録待機状態で新たな押鍵がなされると、上述したステップＳＣ３の判断結果が「ＮＯ」になり、ステップＳＣ１４に進む。ステップＳＣ１４では、登録待機状態であるか否かを判断するが、現在、登録待機状態に設定されているので、判断結果は「ＹＥＳ」になり、ステップＳＣ１５に進み、タイマ７ｅのタイマカウントをスタートさせる。
【００４１】
次いで、ステップＳＣ１６では登録待機状態で行われる新たな押鍵、つまり最初に登録するベース鍵の演奏データ（ノート番号、ベロシティ、ＯＮタイミングおよび処理フラグ）をシーケンス構成音レジスタ７ａにストアする。すなわち、シーケンス構成音レジスタ７ａ（図２参照）の始端のベース鍵登録アドレス（１）において、アドレスＡＹ〜ＣＹにベース鍵のノート番号、ベロシティおよびＯＮタイミング（タイマ７ｅのタイマカウント値）をそれぞれストアする。また、アドレスＥＹに発音中を表す処理フラグ「１」をストアする。こうして、ベース鍵の押鍵により生じる演奏データをシーケンス構成音レジスタ７ａに登録し終えると、ＣＰＵ５はステップＳＣ１７に進み、登録フラグＲに「２」をセットして登録中であることを表す。この後、前述したステップＳＣ４以降に進み、ベース鍵押鍵に応じた発音処理を行う。
【００４２】
そして、ベース鍵が離鍵されると、前述のステップＳＣ１，ＳＣ９の各判断結果が「ＮＯ」、ステップＳＣ１０の判断結果が「ＹＥＳ」となってステップＳＣ１１に進む。ステップＳＣ１１では、シーケンス構成音レジスタ７ａに登録されたシーケンス構成音の内、離鍵された鍵のノート番号ｋと一致し、かつ処理フラグ「１」を有するシーケンス構成音を検索し、該当するシーケンス構成音のアドレスＤＹに、離鍵時のタイマカウント値をＯＦＦタイミングとしてストアすると共に、アドレスＥＹの処理フラグを「２」にセットして発音終了を表す。この後、前述したステップＳＣ１２以降に処理を進め、ベース鍵離鍵に応じた消音処理を行う。
【００４３】
▲４▼登録中の動作
ベース鍵登録に続き、次の押鍵がなされると、ステップＳＣ１８の判断結果が「ＹＥＳ」になり、ステップＳＣ１９に進む。ステップＳＣ１９では、現在押鍵された鍵のノート番号ｋとシーケンス構成音レジスタ７ａに登録されたベース鍵のノート番号Ａ１Ｖとの差を「１２」で除した結果が整数か否か、つまりベース鍵と同じ音名の鍵が弾かれたかどうかを判断する。換言すると、登録終了を意図するトリガー鍵が押鍵されたか否かを判断する。
【００４４】
トリガー鍵の押鍵でなければ、判断結果は「ＮＯ」になり、ステップＳＣ２０に進む。ステップＳＣ２０では、シーケンス構成音レジスタ７ａにおいて、終端のトリガー鍵登録アドレス（Ｎ）以外の空きエリアの有無を判断する。空きエリアが有れば、判断結果は「ＹＥＳ」になり、ステップＳＣ２１に進み、その空きエリアのアドレスＡＹ〜ＣＹに、押鍵により生じる演奏データ（ノート番号、ベロシティおよびＯＮタイミング（タイマ７ｅのタイマカウント値））をそれぞれストアする一方、アドレスＥＹに発音中を表す処理フラグ「１」をストアする。一方、空きエリアが無ければ、判断結果は「ＮＯ」になり、ステップＳＣ２２に進み、トリガー鍵登録アドレス（Ｎ）の一つ手前の登録アドレス（Ｎ−１）のアドレスＡＹ〜ＣＹに、押鍵により生じる演奏データ（ノート番号、ベロシティおよびＯＮタイミング（タイマ７ｅのタイマカウント値））をそれぞれ上書きする一方、アドレスＥＹに発音中を表す処理フラグ「１」をストアする。
【００４５】
こうして、押鍵により生じる演奏データおよび処理フラグをシーケンス構成音レジスタ７ａに登録し終えると、前述したステップＳＣ４以降に処理を進め、押鍵に応じた発音処理を行う。
また、離鍵時には、上述したベース鍵離鍵時の動作を同様、ステップＳＣ１１に進み、シーケンス構成音レジスタ７ａのシーケンス構成音の内、離鍵された鍵のノート番号ｋと一致し、かつ処理フラグ「１」を有するシーケンス構成音を検索し、該当するシーケンス構成音のアドレスＤＹに、離鍵時のタイマカウント値をＯＦＦタイミングとしてストアすると共に、アドレスＥＹの処理フラグを「２」にセットして発音終了を表す。この後、前述したステップＳＣ１２以降に処理を進め、離鍵に応じた消音処理を行う。
以後、トリガー鍵が押鍵されるまで上述した動作を繰り返し、押離鍵操作される鍵の楽音を発音／消音させながら、それらをシーケンス構成音としてシーケンス構成音レジスタ７ａに順次記録して行く。
【００４６】
▲５▼登録終了時の動作
そして今、例えば図３に図示される楽譜で表されるように、ベース鍵の音高より１オクターブ上の鍵がトリガー鍵として押鍵されたとする。そうすると、上述したステップＳＣ１９の判断結果が「ＹＥＳ」になり、ステップＳＣ２３に進む。ステップＳＣ２３〜ＳＣ２９では、鍵走査を行ってトリガー鍵以外に発音中にある鍵の有無を判別し、該当する鍵が有ると、その発音中の鍵のノート番号ｋと一致し、かつ処理フラグ「１」を有するシーケンス構成音をシーケンス構成音レジスタ７ａから検索し、検索したシーケンス構成音のアドレスＤＹに現在のタイマカウント値をＯＦＦタイミングとしてストアする。
上記ステップＳＣ２３〜ＳＣ２９で行われる鍵走査が一巡すると、ステップＳＣ２７の判断結果が「ＹＥＳ」になり、ステップＳＣ３０に進む。ステップＳＣ３０では、シーケンス構成音レジスタ７ａの終端のトリガー鍵登録アドレス（Ｎ）において、トリガー鍵の押鍵により生じる演奏データ（ノート番号、ベロシティおよびＯＮタイミング（押鍵時のタイマカウント値））をそれぞれアドレスＡＹ〜ＣＹにストアする。また、アドレスＣＹにストアされたＯＮタイミングを、アドレスＤＹにコピーする。
【００４７】
次いで、ステップＳＣ３１では、シーケンス構成音レジスタ７ａに登録されたトリガー鍵の演奏データとベース鍵の演奏データとの差分を求め、それをインターバル情報としてインターバルレジスタ７ｂにストアする。例えば図３に図示する楽譜で表される最初の５連符が弾かれた場合、図２に図示するように、インターバルレジスタ７ｂのアドレスＡＹにはノート番号差「＋１２」、アドレスＢＹにはベロシティ差「＋２」、アドレスＣＹにはＯＮタイミング差「４９０」がストアされ、さらにアドレスＤＹのＯＦＦタイミング差にはアドレスＣＹのＯＮタイミング差「４９０」がコピーされる。
【００４８】
次に、ステップＳＣ３２では、インターバル情報に応じてシーケンス構成音レジスタ７ａの内容を更新する。すなわち、インターバルレジスタ７ｂに格納されるノート番号差、ベロシティ差、ＯＮタイミング差およびＯＦＦタイミング差を、シーケンス構成音レジスタ７ａに登録された各シーケンス構成音の対応する演奏データにそれぞれ加算する一方、各シーケンス構成音の処理フラグをゼロリセットする。
そして、ステップＳＣ３３では、登録フラグＲに「３」をセットして登録終了を表し、続くステップＳＣ３４では、自動演奏フラグＡに「１」をセットして自動演奏の開始を表す。この後、前述のステップＳＣ５に処理を進め、トリガー鍵の押鍵に応じて、トリガー鍵のノート番号ｋに対応した鍵オンオフレジスタ７ｆのフラグＫＶ（ｋ）に「１」をセットしてからステップＳＣ６以降の鍵走査を進める。
【００４９】
以上のように、鍵盤処理では、ユーザ操作によって登録待機状態に設定された後の新たな押離鍵操作に応じてベース鍵の演奏データがシーケンス構成音レジスタ７ａに記録され、以後、そのベース鍵と同じ音名のトリガー鍵が押鍵されるまでの間に押離鍵される鍵の演奏データを順次シーケンス構成音レジスタ７ａに記録して行く。そして、例えばベース鍵の音高より１オクターブ上の鍵がトリガー鍵として押鍵されると、そのトリガー鍵の演奏データをシーケンス構成音レジスタ７ａを記録する一方、トリガー鍵の演奏データとベース鍵の演奏データとの差分値からなるインターバル情報に応じてシーケンス構成音レジスタ７ａの内容を更新して自動演奏を開始する状態に設定する。
【００５０】
（４）自動演奏処理の動作
次に、図７を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップＳＡ４（図４参照）を介して本処理が実行されると、ＣＰＵ５は図７のステップＳＤ１に進み、自動演奏フラグＡが「１」であるか否か、つまり自動演奏中であるかどうかを判断する。自動演奏が開始しておらず、自動演奏フラグＡが「０」であると、判断結果は「ＮＯ」となり、ステップＳＤ７に進み、ポインタＭを「１」に初期化して本処理を完了させる。なお、ポインタＭとは、シーケンス構成音レジスタ７ａにおける列要素の登録アドレス（Ｍ）を指定するものである。
【００５１】
一方、上述した鍵盤処理において、トリガー鍵の押鍵に応じて自動演奏フラグＡが「１」にセットされ、これにより自動演奏開始が指示されると、上記ステップＳＤ１の判断結果が「ＹＥＳ」になり、ステップＳＤ２に進む。ステップＳＤ２では、登録値ＡＭＶが有効か否かを判断する。登録値ＡＭＶは、ポインタＭで指定されるシーケンス構成音レジスタ７ａの登録アドレス（Ｍ）に格納される演奏データの内、アドレスＡＹ（図２参照）で指定されるノート番号を指す。従って、このステップＳＤ２では、空白を表すｎｕｌｌデータ以外のノート番号が、シーケンス構成音レジスタ７ａの登録アドレス（Ｍ）に登録されているかどうかを判断する。
【００５２】
登録値ＡＭＶが空白を表すｎｕｌｌデータであったとすると、判断結果は「ＮＯ」になり、ステップＳＤ１０に進み、ポインタＭをインクリメントして歩進させる。次いで、ステップＳＤ１１に進むと、歩進されたポインタＭがシーケンス構成音レジスタ７ａの終端のトリガー鍵登録アドレス（Ｎ）を超えたかどうかを判断する。超えていないと、判断結果は「ＮＯ」となり、いったん本処理を完了させるが、超えた場合には判断結果が「ＹＥＳ」になり、ステップＳＤ７に進み、ポインタＭの値を「１」に初期化してから本処理を完了させる。
【００５３】
一方、登録値ＡＭＶが有効の場合、すなわちノート番号が登録されていれば、上記ステップＳＤ２の判断結果は「ＹＥＳ」になり、ステップＳＤ３に進む。ステップＳＤ３では、登録値ＥＭＶが「０」か否かを判断する。登録値ＥＭＶは、ポインタＭで指定されるシーケンス構成音レジスタ７ａの登録アドレス（Ｍ）に格納される演奏データの内、アドレスＥＹで指定される処理フラグを指す。従って、このステップＳＤ３では、ポインタＭに対応するシーケンス構成音が発音待機中であるかどうかを判断する。以下、発音待機中（処理フラグ「０」）の場合と、発音中（処理フラグ「１」）の場合とに分けて各動作を説明する。
【００５４】
▲１▼発音待機中（処理フラグ「０」）の場合
ポインタＭで指定されるシーケンス構成音が発音待機中であると、ステップＳＤ３の判断結果は「ＹＥＳ」になり、ステップＳＤ４に進む。ステップＳＤ４では、登録値ＣＭＶがタイマカウント値Ｔ以上であるか否かを判断する。登録値ＣＭＶは、ポインタＭで指定されるシーケンス構成音の演奏データの内、アドレスＣＹで指定されるＯＮタイミングを指す。従って、このステップＳＤ４では、発音タイミングに達したかどうかを判断する。
発音タイミングに達していなければ、判断結果は「ＮＯ」になり、上述のステップＳＤ１０以降に進み、ポインタＭを歩進させ、歩進されたポインタＭが終端のトリガー鍵登録アドレス（Ｎ）を超えたかどうかを判断し、超えていなければ、本処理を完了させ、一方、超えた場合にはポインタＭの値を「１」に初期化してから本処理を完了させる。
【００５５】
これに対し、発音タイミングに達すると、上記ステップＳＤ４の判断結果が「ＹＥＳ」となり、ステップＳＤ５に進む。ステップＳＤ５では、ポインタＭが終端のトリガー鍵登録アドレス（Ｎ）に達したか否かを判断する。以下、ポインタＭが終端のトリガー鍵登録アドレス（Ｎ）に達した場合と、そうでない場合とに分けて動作説明を進める。
【００５６】
ａ．ポインタＭがトリガー鍵登録アドレス（Ｎ）に達した場合
この場合、ステップＳＤ５の判断結果は「ＹＥＳ」になり、ステップＳＤ６に進む。ステップＳＤ６では、インターバルレジスタ７ｂにストアされるインターバル情報（トリガー鍵の演奏データとベース鍵の演奏データとの差分値）を、シーケンス構成音レジスタ７ａに登録されるシーケンス構成音の各演奏データにそれぞれ加算して登録内容を更新すると共に、シーケンス構成音レジスタ７ａ中のアドレスＥＹで指定される処理フラグを全てゼロリセットして発音待機状態に設定する。この後、ステップＳＤ７に進み、ポインタＭを初期値「１」にリセットして本処理を完了させる。
このように、ポインタＭがトリガー鍵登録アドレス（Ｎ）に達した場合には、トリガー鍵に対応する演奏データを自動演奏させず、インターバル情報に応じてシーケンス構成音レジスタ７ａの内容を更新させ、かつ全てのシーケンス構成音を発音待機状態に設定するようになっている。
【００５７】
ｂ．ポインタＭがトリガー鍵登録アドレス（Ｎ）に達していない場合
この場合、ステップＳＤ５の判断結果が「ＮＯ」となり、ステップＳＤ８に進む。ステップＳＤ８では、ポインタＭにて指定されるシーケンス構成音レジスタ７ａの登録アドレス（Ｍ）に格納される演奏データの内、アドレスＡＹ、ＢＹに対応するノート番号、ベロシティに基づきノートオンイベントを作成して音源８に送付する。これにより、ポインタＭにて指定されるシーケンス構成音が自動演奏される。
次いで、ステップＳＤ９では、ポインタＭで指定されるシーケンス構成音レジスタ７ａの登録アドレス（Ｍ）のアドレスＥＹで指定される処理フラグに「１」をセットして発音中であることを表す。この後、上述したステップＳＤ１０以降に進み、ポインタＭを歩進させ、歩進されたポインタＭが終端のトリガー鍵登録アドレス（Ｎ）を超えたかどうかを判断し、超えていなければ、本処理を完了させ、一方、超えた場合にはポインタＭの値を「１」に初期化してから本処理を完了させる。
【００５８】
▲２▼発音中（処理フラグ「１」）の場合
ポインタＭで指定されるシーケンス構成音が発音中であると、ステップＳＤ３の判断結果は「ＮＯ」になり、ステップＳＤ１２に進み、ここでの判断結果が「ＹＥＳ」となり、ステップＳＤ１３に進む。なお、既にポインタＭに対応するシーケンス構成音の発音が終了して、その登録値ＥＭＶ（処理フラグ）が「２」に設定されていると、ステップＳＤ１２の判断結果が「ＮＯ」となり、上述したステップＳＤ１０以降に進む。
次に、ステップＳＤ１３では、登録値ＤＭＶがタイマカウント値Ｔ以上であるか否かを判断する。登録値ＤＭＶは、ポインタＭで指定されるシーケンス構成音の演奏データの内、アドレスＤＹで指定されるＯＦＦタイミングを指す。従って、このステップＳＤ４では、消音タイミングに達したかどうかを判断する。消音タイミングに達していなければ、判断結果は「ＮＯ」になり、上述のステップＳＤ１０以降に進む。
【００５９】
これに対し、消音タイミングに達すると、上記ステップＳＤ１３の判断結果が「ＹＥＳ」となり、ステップＳＤ１４に進む。ステップＳＤ１４では、ポインタＭにて指定されるシーケンス構成音レジスタ７ａの登録アドレス（Ｍ）に格納される演奏データの内、アドレスＡＹに対応するノート番号に基づきノートオフイベントを作成して音源８に送付する。これにより、ポインタＭにて指定されるシーケンス構成音が消音される。
次いで、ステップＳＤ１５では、ポインタＭで指定されるシーケンス構成音レジスタ７ａの登録アドレス（Ｍ）のアドレスＥＹで指定される処理フラグに「２」をセットして発音終了を表した後、上述したステップＳＤ１０以降に進み、ポインタＭを歩進させ、歩進されたポインタＭが終端のトリガー鍵登録アドレス（Ｎ）を超えたかどうかを判断し、超えていなければ、本処理を完了させ、一方、超えた場合にはポインタＭの値を「１」に初期化してから本処理を完了させる。
【００６０】
このように、自動演奏処理では、自動演奏開始が指示されると、シーケンス構成音レジスタ７ａに登録されるシーケンス構成音の演奏データをループ再生して自動演奏を進め、ループ再生が一巡する時、すなわちトリガー鍵に対応したシーケンス構成音の演奏データが読みされた場合に、そのトリガー鍵の演奏データを自動演奏させず、インターバルレジスタ７ｂに格納されるインターバル情報を、各シーケンス構成音の演奏データに加算してシーケンス構成音レジスタ７ａの内容を更新させる。以後、自動演奏停止が指示される迄、ループ再生が一巡する毎にインターバル情報に応じてシーケンス構成音レジスタ７ａの内容を更新させ、更新されたシーケンス構成音の演奏データをループ再生して自動演奏する。
【００６１】
以上説明したように、本実施例では、ユーザがペダルシーケンスボタン２ａをオン設定し、さらにソステヌート／シーケンスペダル３ｂをオン操作して登録待機状態に設定した後、例えば図３に図示する楽譜中のベース鍵からトリガー鍵の「手弾き音」を演奏すると、それらの演奏データがシーケンス構成音レジスタ７ａに記録される。トリガー鍵の演奏データをシーケンス構成音レジスタ７ａに記録した時点で、インターバル情報に応じてシーケンス構成音レジスタ７ａの内容が更新され、更新された各シーケンス構成音の内、トリガー鍵に対応する演奏データ以外をループ再生して自動演奏する。ループ再生が一巡する毎に、インターバル情報に応じてシーケンス構成音レジスタ７ａの内容を更新する。これにより、図３に図示するように、「手弾き音」の各音はループ再生が一巡する毎に１オクターブづつ上昇する形で再生される為、あたかも三本目の手が弾いているかのような自然な反復フレーズを自動演奏することが可能になる。
【００６２】
なお、上述した実施例では、ベース鍵と同じ音名の押鍵をトリガー鍵としたが、これに限らず、ベース鍵と同じ音高の押鍵をトリガー鍵と見做すようにしても良い。ベース鍵と同じ音高の押鍵をトリガー鍵と見做すようにようにすると、例えば図８（ａ），（ｂ）に図示するように、トリル演奏やアルペジオ演奏されたシーケンス構成音を記録し、それを即座にループ再生してパート演奏を自動演奏させることで、演奏表現力を向上させることができる。
【００６３】
さらに、本実施例では、ペダルシーケンスボタン２ａおよびソステヌート／シーケンスペダル３ｂの操作によって登録待機状態に設定された以後の押離鍵操作に対応して発生する演奏データをシーケンス構成音としてシーケンス構成音レジスタ７ａに登録するようにしたが、これに替えて、鍵盤１を複数の鍵域に分割しておき、ある鍵域（登録鍵域）で行われる押離鍵操作に応じた演奏データだけをシーケンス構成音としてシーケンス構成音レジスタ７ａに登録する態様としても良い。
このようにすれば、登録鍵域で弾かれる反復フレーズをシーケンス構成音としてシーケンス構成音レジスタ７ａに登録し、その反復フレーズと並行して他の鍵域で弾かれるメロディ音についてはシーケンス構成音から除外することができる結果、意図した演奏音のみを記録再生し得るようになる。
【００６４】
また、本実施例では、インターバル情報に従い、ループ再生が一巡する毎に、シーケンス構成音レジスタ７ａに登録される各シーケンス構成音の音高を１オクターブシフトするようにしたが、これに限らず、ループ再生が一巡する毎の音高シフト値を変化させるようにしても良い。
【００６５】
【発明の効果】
請求項１，６に記載の発明によれば、最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録し、第２の演奏データが記録された時に、記録された複数の演奏データの内、第２の演奏データ以外を繰り返し再生するので、ユーザが弾いた複数音の演奏データを記録し、それを即座に繰り返し再生（自動演奏）してパート演奏を代理させることができる。
請求項２，７に記載の発明によれば、最初に演奏入力される第１の演奏データと同じ属性の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録し、第２の演奏データが記録された時点で第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、記録された各演奏データにそれぞれ加算して更新し、更新された各演奏データの内、第２の演奏データ以外を繰り返し再生し、繰り返し再生が一巡する毎に、前記インターバル情報を各演奏データにそれぞれ加算して更新するので、演奏中に記録したユーザ自身の演奏を、あたかも三本目の手が弾いているかのような自然な形で自動演奏させて演奏表現力を向上させることができる。
請求項３，８に記載の発明によれば、最初に演奏入力される第１の演奏データと同じ音名の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録し、第２の演奏データが記録された時点で第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、記録された各演奏データにそれぞれ加算して更新し、更新された各演奏データの内、第２の演奏データ以外を繰り返し再生し、繰り返し再生が一巡する毎に、前記インターバル情報を各演奏データにそれぞれ加算して更新するので、あたかも三本目の手が弾いているかのような自然な反復フレーズを自動演奏することができる。
請求項４，９に記載の発明によれば、最初に演奏入力される第１の演奏データと同じ音高の第２の演奏データが演奏入力されるまでの、複数の演奏データを記録し、第２の演奏データが記録された時点で第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、記録された各演奏データにそれぞれ加算して更新し、更新された各演奏データの内、第２の演奏データ以外を繰り返し再生し、繰り返し再生が一巡する毎に、前記インターバル情報を各演奏データにそれぞれ加算して更新するので、例えばトリル演奏やアルペジオ演奏を記録し、それを即座に繰り返し再生してパート演奏を自動演奏させることができる。
請求項５，１０に記載の発明によれば、予め指定された鍵域において鍵入力される第１の演奏データと同じ音名もしくは同じ音高のいずれかの第２の演奏データが鍵入力されるまでの、複数の演奏データを記録し、第２の演奏データが記録された時点で第２の演奏データと第１の演奏データとの差分を表すインターバル情報を、記録された各演奏データにそれぞれ加算して更新し、更新された各演奏データの内、第２の演奏データ以外を繰り返し再生し、繰り返し再生が一巡する毎に、前記インターバル情報を各演奏データにそれぞれ加算して更新するので、例えば指定された鍵域で弾かれた反復フレーズのみ記録し、その反復フレーズと並行して他の鍵域で弾かれるメロディ音については記録対象から除外することができ、意図した演奏音のみを記録再生することができる。
【図面の簡単な説明】
【図１】本発明による一実施例の構成を示すブロック図である。
【図２】ＲＡＭ７に設けられるシーケンス構成音レジスタ７ａおよびインターバルレジスタ７ｂの構成を示す図である。
【図３】本実施例の動作の一例を説明するための図である。
【図４】メインルーチンの動作を示すフローチャートである。
【図５】スイッチ・ペダル処理の動作を示すフローチャートである。
【図６】鍵盤処理の動作を示すフローチャートである。
【図７】自動演奏処理の動作を示すフローチャートである。
【図８】トリル演奏およびアルペジオ演奏を記録再生する動作を説明するための図である。
【符号の説明】
１  鍵盤
２  パネルスイッチ
３  ペダル操作子
４  表示部
５  ＣＰＵ
６  ＲＯＭ
７  ＲＡＭ
８  音源
９  サウンドシステム
【図１】
2004341385.tif 000003
【図２】
2004341385.tif 000004
【図３】
2004341385.tif 000005
【図４】
2004341385.tif 000006
【図５】
2004341385.tif 000007
【図６】
2004341385.tif 000008
【図７】
2004341385.tif 000009
【図８】
2004341385.tif 000010