(57)【要約】【課題】よりユーザの意図した設定状態に変更するレジストレーション装置を実現する。【解決手段】セーブスイッチのオン操作に応じて、カレントエリアＣＥの音色エリアに記憶されるレジスタＴＯＮＥとその更新日時、伴奏エリアに記憶されるレジスタＢＡＮＳＯとその更新日時、テンポエリアに記憶されるレジスタＴＥＭＰＯとその更新日時を、当該オン操作されたセーブスイッチの番号ＳＡＶＥに対応するエリアＲＥ（ＳＡＶＥ）に登録する。２つのコールスイッチが同時にオン操作されると、その２つのコールスイッチの番号ＣＡＬＬ１，ＣＡＬＬ２にそれぞれ対応するエリアＲＥ（ＣＡＬＬ１）とエリアＲＥ（ＣＡＬＬ２）とに格納される各パラメータ（音色データ番号、伴奏データ番号およびテンポ値）毎に、更新日時の新旧比較を行い、更新日時が新しい方のパラメータと当該更新日時とをカレントエリアＣＥにストアする。【選択図】図３
2011215444.tif 000002
【特許請求の範囲】
【請求項１】
更新日時が付加された各種パラメータを記憶する第１の記憶手段と、
複数の記憶エリアを備える第２の記憶手段と、
前記第２の記憶手段が備える複数の記憶エリアの内、ユーザ操作に応じて登録指示された記憶エリアに、前記第１の記憶手段の更新日時が付加された各種パラメータを登録する登録手段と、
ユーザ操作に応じて、前記第２の記憶手段の複数の記憶エリアから各種パラメータを呼び出す呼出指示が発生した場合に、呼出対象の各記憶エリアにそれぞれ記憶される各種パラメータ毎に更新日時の新旧比較を行い、更新日時の新しいパラメータと当該更新日時とを前記第１の記憶手段へ転送する呼出手段と
を具備することを特徴とするレジストレーション装置。
【請求項２】
更新日時が付加された各種パラメータを記憶する第１の記憶手段と、
複数の記憶エリアを備える第２の記憶手段と、
前記第２の記憶手段が備える複数の記憶エリアの内、ユーザ操作に応じて登録指示された記憶エリアに、前記第１の記憶手段の更新日時が付加された各種パラメータを登録する登録手段と、
ユーザ操作に応じて、前記第２の記憶手段の複数の記憶エリアから各種パラメータを呼び出す呼出指示が発生した場合に、呼出対象の各記憶エリアにそれぞれ記憶される各種パラメータ毎に更新日時の新旧比較を行い、更新日時の古いパラメータと当該更新日時とを前記第１の記憶手段へ転送する呼出手段と
を具備することを特徴とするレジストレーション装置。
【請求項３】
前記第１の記憶手段に記憶される各種パラメータの中で変更の対象となるパラメータを編集項目として指定する編集項目指定手段と、
前記編集項目指定手段によって編集項目として指定されたパラメータを変更すると共に、その変更したパラメータに付加する更新日時を、変更を行った日時に変更する日時変更手段と
を更に備えることを特徴とする請求項１又は２の何れかに記載のレジストレーション装置。
【請求項４】
コンピュータに、
第１のメモリに記憶され、更新日時が付加された各種パラメータを、第２のメモリが備える複数の記憶エリアの中からユーザ操作に応じて登録指示された記憶エリアに登録する登録ステップと、
ユーザ操作に応じて、前記第２のメモリの複数の記憶エリアから各種パラメータを呼び出す呼出指示が発生した場合に、呼出対象の各記憶エリアにそれぞれ記憶される各種パラメータ毎に更新日時の新旧比較を行い、更新日時の新しいパラメータと当該更新日時とを前記第１のメモリへ転送する呼出ステップと
を実行させることを特徴とするプログラム。
【請求項５】
コンピュータに、
第１のメモリに記憶され、更新日時が付加された各種パラメータを、第２のメモリが備える複数の記憶エリアの中からユーザ操作に応じて登録指示された記憶エリアに登録する登録ステップと、
ユーザ操作に応じて、前記第２のメモリの複数の記憶エリアから各種パラメータを呼び出す呼出指示が発生した場合に、呼出対象の各記憶エリアにそれぞれ記憶される各種パラメータ毎に更新日時の新旧比較を行い、更新日時の古いパラメータと当該更新日時とを前記第１のメモリへ転送する呼出ステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器に用いて好適なレジストレーション装置およびプログラムに関する。
【背景技術】
【０００２】
従来より、発生させる楽音の音色や音量あるいは付加するエフェクト（効果）種類等の、楽音発生形態を指定する各種パラメータの設定内容を一まとめにしたレジストレーション情報をメモリに登録しておき、メモリ登録された複数のレジストレーション情報の内から所望の楽音発生形態を指定するレジストレーション情報を選択し、選択したレジストレーション情報に基づき楽音形成する、所謂、レジストレーション機能を備えた電子楽器が知られている。
【０００３】
こうした電子楽器には、スイッチ操作に応じて、メモリに登録された複数のレジストレーション情報の内から所望のレジストレーション情報を呼出して楽器各部の動作態様を設定するレジストレーション装置が設けられており、当該装置によって例えば演奏中にワンタッチで楽音発生形態を切り替える等して操作性の向上を図るようになっている。
【０００４】
レジストレーション情報の呼び出しに応じて、全てのパラメータの設定を一意的に更新する態様であると、ユーザが意図しない設定に変更されてしまうという弊害が生じる為、一部パラメータを現設定のままに維持し、それ以外のパラメータについてのみ更新させるレジストレーション装置や、例えば特許文献１に開示されるように、最後に更新されたパラメータをレジストレーション呼出しの対象から外すようにしたレジストレーション装置も知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２３７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記特許文献１に開示の技術のように、最後に更新されたパラメータをレジストレーション呼出しの対象から外すようにしても、その「最後に設定したパラメータ」がユーザにとって必ずしも現状維持すべき値になるとは限らない。つまり、最後に設定したパラメータも含めて全面的変更を要することも多々あり、必ずしもユーザの意図を反映したものではない場合が多い。
【０００７】
しかも、上記特許文献１に開示の技術では、最後に更新されたパラメータをレジストレーション呼出しの対象から外すだけなので、例えば一部のパラメータについては現在の設定とし、残りのパラメータについては別に記憶された過去の設定にしたり、一部のパラメータについては別に記憶された過去の設定とし、残りのパラメータについては現在の設定にしたりする等、よりユーザの意図した設定状態に変更することが出来ない、という問題がある。
【０００８】
本発明は、このような事情に鑑みてなされたもので、よりユーザの意図した設定状態に変更することができるレジストレーション装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１に記載の発明では、更新日時が付加された各種パラメータを記憶する第１の記憶手段と、複数の記憶エリアを備える第２の記憶手段と、前記第２の記憶手段が備える複数の記憶エリアの内、ユーザ操作に応じて登録指示された記憶エリアに、前記第１の記憶手段の更新日時が付加された各種パラメータを登録する登録手段と、ユーザ操作に応じて、前記第２の記憶手段の複数の記憶エリアから各種パラメータを呼び出す呼出指示が発生した場合に、呼出対象の各記憶エリアにそれぞれ記憶される各種パラメータ毎に更新日時の新旧比較を行い、更新日時の新しいパラメータと当該更新日時とを前記第１の記憶手段へ転送する呼出手段とを具備することを特徴とする。
【００１０】
請求項２に記載の発明では、更新日時が付加された各種パラメータを記憶する第１の記憶手段と、複数の記憶エリアを備える第２の記憶手段と、前記第２の記憶手段が備える複数の記憶エリアの内、ユーザ操作に応じて登録指示された記憶エリアに、前記第１の記憶手段の更新日時が付加された各種パラメータを登録する登録手段と、ユーザ操作に応じて、前記第２の記憶手段の複数の記憶エリアから各種パラメータを呼び出す呼出指示が発生した場合に、呼出対象の各記憶エリアにそれぞれ記憶される各種パラメータ毎に更新日時の新旧比較を行い、更新日時の古いパラメータと当該更新日時とを前記第１の記憶手段へ転送する呼出手段とを具備することを特徴とする。
【００１１】
上記請求項１又は２の何れかに従属する請求項３に記載の発明では、前記第１の記憶手段に記憶される各種パラメータの中で変更の対象となるパラメータを編集項目として指定する編集項目指定手段と、前記編集項目指定手段によって編集項目として指定されたパラメータを変更すると共に、その変更したパラメータに付加する更新日時を、変更を行った日時に変更する日時変更手段とを更に備えることを特徴とする。
【００１２】
請求項４に記載の発明では、コンピュータに、第１のメモリに記憶され、更新日時が付加された各種パラメータを、第２のメモリが備える複数の記憶エリアの中からユーザ操作に応じて登録指示された記憶エリアに登録する登録ステップと、ユーザ操作に応じて、前記第２のメモリの複数の記憶エリアから各種パラメータを呼び出す呼出指示が発生した場合に、呼出対象の各記憶エリアにそれぞれ記憶される各種パラメータ毎に更新日時の新旧比較を行い、更新日時の新しいパラメータと当該更新日時とを前記第１のメモリへ転送する呼出ステップとを実行させることを特徴とする。
【００１３】
請求項５に記載の発明では、コンピュータに、第１のメモリに記憶され、更新日時が付加された各種パラメータを、第２のメモリが備える複数の記憶エリアの中からユーザ操作に応じて登録指示された記憶エリアに登録する登録ステップと、ユーザ操作に応じて、前記第２のメモリの複数の記憶エリアから各種パラメータを呼び出す呼出指示が発生した場合に、呼出対象の各記憶エリアにそれぞれ記憶される各種パラメータ毎に更新日時の新旧比較を行い、更新日時の古いパラメータと当該更新日時とを前記第１のメモリへ転送する呼出ステップとを実行させることを特徴とする。
【発明の効果】
【００１４】
本発明では、よりユーザの意図した設定状態に変更することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態による電子楽器１００の全体構成を示すブロック図である。
【図２】ＲＯＭ１３の記憶内容を示すメモリマップである。
【図３】ＲＡＭ１４の記憶内容を示すメモリマップである。
【図４】メインルーチンの動作を示すフローチャートである。
【図５】タイマインタラプト処理の動作を示すフローチャートである。
【図６】イニシャライズ処理の動作を示すフローチャートである。
【図７】スイッチ処理の動作を示すフローチャートである。
【図８】編集スイッチ処理の動作を示すフローチャートである。
【図９】「＋」、「−」スイッチ処理の動作を示すフローチャートである。
【図１０】スタート／ストップスイッチ処理の動作を示すフローチャートである。
【図１１】セーブスイッチ処理の動作を示すフローチャートである。
【図１２】コールスイッチ処理の動作を示すフローチャートである。
【図１３】図１２に続くコールスイッチ処理の動作を示すフローチャートである。
【図１４】鍵盤処理の動作を示すフローチャートである。
【図１５】伴奏処理の動作を示すフローチャートである。
【図１６】第２実施形態によるコールスイッチ処理の動作を示すフローチャートである。
【図１７】図１６に続く第２実施形態のコールスイッチ処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について説明する。
［第１実施形態］
Ａ．構成  
図１は、本発明によるレジストレーション装置を備えた第１実施形態である電子楽器１００の全体構成を示すブロック図である。図１において、鍵盤１０は、演奏操作（押離鍵操作）に応じたキーオン／キーオフ信号、鍵番号およびベロシティ等の演奏情報を発生する。操作部１１は、楽器パネルに配設される各種スイッチから構成され、各スイッチ操作に応じたスイッチイベントを発生する。操作部１１が発生するスイッチイベントは後述するＣＰＵ１２に取り込まれる。
【００１７】
操作部１１には、図示されていないが、編集すべきパラメータ（音色データ番号、伴奏データ番号およびテンポ値の何れか）を指定する編集スイッチ、編集スイッチにより編集項目として指定されたパラメータの値をインクリメント又はデクリメントする「＋」、「−」スイッチ、自動伴奏の開始／停止を指示するスタート／ストップスイッチ、レジストレーション情報の保存を指示するセーブスイッチおよび保存されたレジストレーション情報の呼出しを指示するコールスイッチが設けられており、これらスイッチ操作に対応した動作については追って述べる。
【００１８】
なお、ここで言う編集スイッチとは、音色データ番号を編集項目に指定する音色スイッチ、伴奏データ番号を編集項目に指定する伴奏スイッチおよびテンポ値を編集項目に指定するテンポスイッチを含む総称である。また、ここで言う編集項目とは、設定変更の対象となるパラメータを意味する。
【００１９】
さらに、セーブスイッチおよびコールスイッチは、後述するＲＡＭ１４のレジストレーションエリアＲＥ（図３参照）に設けられたエリアＲＥ（１）〜（４）にそれぞれ対応付けられた４つのスイッチ（セーブスイッチ１〜４、コールスイッチ１〜４）から構成される。加えて、コールスイッチ１〜４は、単独でオン操作される場合と、２つを同時にオン操作される場合とがあり、これらが意図するところについては追って述べる。
【００２０】
ＣＰＵ１２は、ＲＯＭ１３に記憶される各種プログラムを実行し、操作部１１が発生するスイッチイベントに応じて楽器各部を制御したり、鍵盤１０が発生する演奏情報に応じたノートオン／ノートオフイベントを生成して音源１６を制御する。本発明の要旨に係わるＣＰＵ１２の特徴的な処理動作については後述する。
【００２１】
ＲＯＭ１３は、図２に図示するように、プログラムエリアＰＥ、音色データエリアＴＥおよび伴奏データエリアＡＥを備える。ＲＯＭ１３のプログラムエリアＰＥには、ＣＰＵ１２にロードされる各種プログラムデータが記憶される。ここで言う各種プログラムとは、後述するメインルーチン、タイマインタラプト処理、イニシャライズ処理、スイッチ処理、鍵盤処理および伴奏処理を含む。なお、スイッチ処理は、編集スイッチ処理、「＋」，「−」スイッチ処理、スタート／ストップスイッチ処理、セーブスイッチ処理およびコールスイッチ処理を含む。
【００２２】
ＲＯＭ１３の音色データエリアＴＥには、各種音色の波形データに音色データ番号を対応付けた音色データ（１）〜（ｎ）が記憶される。ＲＯＭ１３の伴奏データエリアＡＥには、自動伴奏に用いる各種伴奏パターンを形成する伴奏データ（１）〜（ｎ）が記憶される。一つの伴奏データは、所定小節分の伴奏曲を構成する各音を表す。一つの音は、曲開始時点からの経過時間で現イベントのタイミングを表すタイムＴと、発音音高（又は消音音高）を表すノートナンバを含むイベントＥＶとが対になって曲進行に対応した時系列のアドレス順に記憶される、いわゆる絶対時間方式と呼ばれるデータ形式で表現され、その終端には曲（伴奏パターン）の終わりを表すデータＥＮＤが設けられる。
【００２３】
ＲＡＭ１４は、図３に図示するように、カレントエリアＣＥ、レジストレーションエリアＲＥおよびワークエリアＷＥを備える。ＲＡＭ１４のカレントエリアＣＥには、現在の楽音発生形態を表すパラメータを一まとめにしたレジストレーション情報が一時記憶される。このカレントエリアＣＥは、音色エリア、伴奏エリアおよびテンポエリアを備える。
【００２４】
音色エリアには、発生楽音の音色を指定する音色データ番号がストアされるレジスタＴＯＮＥと、当該レジスタＴＯＮＥに音色データ番号がストアされた時点を表す更新日時とが記憶される。伴奏エリアには、自動伴奏に用いられる伴奏パターンを指定する伴奏データ番号がストアされるレジスタＢＡＮＳＯと、当該レジスタＢＡＮＳＯに伴奏データ番号がストアされた時点を表す更新日時とが記憶される。テンポエリアには、自動伴奏の再生テンポを表すテンポ値がストアされるレジスタＴＥＭＰＯと、当該レジスタＴＥＭＰＯにテンポ値がストアされた時点を表す更新日時とが記憶される。
【００２５】
ＲＡＭ１４のレジストレーションエリアＲＥには、エリアＲＥ（１）〜（４）が設けられており、これらエリアＲＥ（１）〜（４）にそれぞれ対応付けられた４つのセーブスイッチ１〜４の内、オン操作されたセーブスイッチの番号に対応したエリアＲＥに、上記カレントエリアＣＥに記憶されるレジストレーション情報が登録される。例えば、セーブスイッチ１がオン操作された場合には、レジスタＴＯＮＥ（音色データ番号）とその更新日時、レジスタＢＡＮＳＯ（伴奏データ番号）とその更新日時、レジスタＴＥＭＰＯ（テンポ値）と更新日時が、エリアＲＥ（１）に登録される。
【００２６】
ＲＡＭ１４のワークエリアＷＥには、各種レジスタ・フラグデータ（Ｔ、ＴＯＮＥＦ、ＢＡＮＳＯＦ、ＴＥＭＰＯＦ、ＡＤ、ＳＴＦ、ＣＯＤＥ、ＲＯＯＴ、ＳＡＶＥ、ＣＡＬＬ１およびＣＡＬＬ２）が一時記憶される。これら各種レジスタ・フラグデータが意図するところについては、後述の動作説明において述べる。
【００２７】
表示部１５は、例えばカラー液晶パネル等から構成され、ＣＰＵ１２から供給される表示制御信号に応じて楽器各部の設定状態や動作状態などを画面表示する。音源１６は、周知の波形メモリ読み出し方式にて構成され、ＲＯＭ１３の音色データエリアＴＥに記憶される各種の音色データの内、カレントエリアＣＥのレジストレーション情報に基づきＣＰＵ１２が指定する音色データ（指定音色の波形データ）を用い、演奏情報に応じてＣＰＵ１２が生成するノートオン／ノートオフイベントに従って楽音形成する。また、音源１６はＣＰＵ１２から自動伴奏開始の指示を受けた場合には、カレントエリアＣＥのレジストレーション情報に基づき指定される伴奏データを指定テンポで再生する自動伴奏を行う。サウンドシステム１７は、音源１６から出力される楽音波形をアナログ信号形式に変換した後、不要ノイズ除去やレベル増幅を施してからスピーカから発音させる。時計カレンダ部１８は、ＲＴＣ（リアルタイムクロック）に基づき現在日時を発生する。
【００２８】
Ｂ．動作  
次に、図４〜図１５を参照して、上記構成による第１実施形態の動作について説明する。以下では、ＣＰＵ１２が実行するメインルーチン、タイマインタラプト処理、イニシャライズ処理、スイッチ処理（編集スイッチ処理、「＋」，「−」スイッチ処理、スタート／ストップスイッチ処理、セーブスイッチ処理およびコールスイッチ処理）、鍵盤処理および伴奏処理の各動作について述べる。
【００２９】
（１）メインルーチンの動作
電源が投入されると、ＣＰＵ１２は図４に図示するメインルーチンを実行し、ステップＳＡ１に進み、イニシャライズ処理を実行する。イニシャライズ処理では、後述するように、ＲＡＭ１４のワークエリアＷＥにおける各種レジスタ・フラグデータをゼロリセットすると共に、ＲＡＭ１４のカレントエリアＣＥに、デフォルトの設定状態（楽音発生形態）を表すパラメータ（音色データ番号、伴奏データ番号およびテンポ値）を、レジストレーション情報として音色エリアのレジスタＴＯＮＥ、伴奏エリアのレジスタＢＡＮＳＯおよびテンポエリアのレジスタＴＥＭＰＯにそれぞれセットする。
【００３０】
次いで、ステップＳＡ２では、各種スイッチ（編集スイッチ処理、「＋」，「−」スイッチ処理、スタート／ストップスイッチ処理、セーブスイッチ処理およびコールスイッチ処理）の操作に応じたスイッチ処理を実行する。各種スイッチ処理の詳細な動作については追って述べる。
【００３１】
続いて、ステップＳＡ３では、鍵盤処理を実行する。鍵盤処理では、後述するように、伴奏鍵域で押鍵された場合には、押鍵された鍵の音高がコード（和音）として成立するならば、そのコード種および根音をそれぞれレジスタＣＯＤＥ、レジスタＲＯＯＴにストアし、一方、メロディ鍵域で押鍵された場合には、押鍵された鍵の鍵番号およびベロシティを含むノートオンイベントとレジストレーション情報中のレジスタＴＯＮＥ（音色データ番号）とを音源１６に送付して発音指示し、離鍵された場合には、離鍵された鍵の鍵番号を含むノートオフイベントとレジストレーション情報中のレジスタＴＯＮＥ（音色データ番号）とを音源１６に送付して消音指示する。
【００３２】
そして、ステップＳＡ４では、伴奏処理を実行する。伴奏処理では、後述するように、スタートフラグＳＴＦが「１」となって自動伴奏が開始されていると、イベントタイミングに達したかどうかを判断し、イベントタイミングに達していると、読み出しアドレスＡＤを歩進させ、歩進された読み出しアドレスＡＤに応じて伴奏パターンから読み出されるデータ（ＡＤ）が「イベントＥＶ」、「タイムＴ」および「ＥＮＤ」の何れであるかを判別する。
【００３３】
読み出されたデータ（ＡＤ）が「イベントＥＶ」（コード／ベースのイベント）であると、伴奏鍵域でのコード演奏で得られたコード種ＣＯＤＥおよび根音ＲＯＯＴに応じて音高変換されたコード／ベースのイベントを音源１６に供給してコード音（又はベース音）の発音（又は消音）させる。伴奏パターンから読み出されるデータ（ＡＤ）が「タイムＴ」であると、その読み出されたタイムＴを次イベントタイミングとしてレジスタＴにストアする。伴奏パターンから読み出されるデータ（ＡＤ）が伴奏パターンの終わりを表す「ＥＮＤ」ならば、読み出しアドレスＡＤを伴奏パターンの先頭アドレスに戻して伴奏パターンを繰り返し再生させる。
【００３４】
次いで、ステップＳＡ５では、例えば楽器動作の状態を表示部１５に画面表示させる等の、その他の処理を実行する。この後、上述のステップＳＡ２に処理を戻し、以後、電源がオフされる迄の間、上述のステップＳＡ２〜ＳＡ５の各処理を順次繰り返し実行する。
【００３５】
（２）タイマインタラプト処理の動作
次に、図５を参照してタイマインタラプト処理の動作を説明する。タイマインタラプト処理は、カレントエリアＣＥに格納されるレジストレーション情報の内、音色エリアのレジスタＴＥＭＰＯに格納されるテンポ値（自動伴奏の再生テンポ）に基づき設定されるインタラプト周期毎に割り込み実行される。割り込み実行タイミングになると、図５に図示するステップＳＢ１に進み、レジスタＴの値をデクリメントして本処理を終える。なお、レジスタＴには、後述するように、自動伴奏のイベントタイミングを表すタイムＴがストアされるようになっている。
【００３６】
（３）イニシャライズ処理の動作
次に、図６を参照してイニシャライズ処理の動作を説明する。上述したメインルーチンのステップＳＡ１（図４参照）を介して本処理が実行されると、ＣＰＵ１２は図６に図示するステップＳＣ１に進み、ＲＡＭ１４のワークエリアＷＥ（図３参照）に設けられる各種レジスタ・フラグデータをゼロリセットし、続くステップＳＣ２では、ＲＡＭ１４のカレントエリアＣＥに、デフォルトの楽音発生形態を表すレジストレーション情報をセットする。すなわち、音色エリアのレジスタＴＯＮＥ、伴奏エリアのレジスタＢＡＮＳＯおよびテンポエリアのレジスタＴＥＭＰＯにそれぞれデフォルト値の音色データ番号、伴奏データ番号およびテンポ値をストアして本処理を終える。
【００３７】
（４）スイッチ処理の動作
次に、図７を参照してスイッチ処理の動作を説明する。上述したメインルーチンのステップＳＡ２（図４参照）を介して本処理が実行されると、ＣＰＵ１２は図７に図示するステップＳＤ１に進み、編集スイッチ（音色スイッチ、伴奏スイッチおよびテンポスイッチ）の内、オン状態のスイッチ種に対応するパラメータ（音色データ番号、伴奏データ番号およびテンポ値）を編集項目に指定する編集スイッチ処理を実行する。
【００３８】
続いて、ステップＳＤ２では、上記ステップＳＤ１の編集スイッチ処理によって編集項目として指定されたパラメータ（音色データ番号、伴奏データ番号およびテンポ値の何れか）を、「＋」スイッチのオン操作に応じてインクリメントしたり、「−」スイッチのオン操作に応じてデクリメントしたりすると共に、インクリメント（又はデクリメント）された日時を、対応するパラメータの更新日時として記録する「＋」、「−」スイッチ処理を実行する。
【００３９】
次いで、ステップＳＤ３では、スタート／ストップスイッチ処理を実行する。スタート／ストップスイッチ処理では、後述するように、スタート／ストップスイッチのオン操作に応じて反転されたスタートフラグＳＴＦが「１」となって自動伴奏の開始を表す場合には、レジスタＢＡＮＳＯに格納される伴奏データ番号で指定される伴奏パターンの先頭アドレスを読み出しアドレスＡＤとして当該伴奏パターンから最初のデータであるタイムＴを読み出してレジスタＴにストアした後、レジスタＴＥＭＰＯに格納されるテンポ値に基づきインタラプト周期を設定してタイマインタラプト禁止を解除し、一方、オン操作に応じて反転されたスタートフラグＳＴＦが「０」となって自動伴奏の停止を表す場合には、音源１６に対して発音中の全ての伴奏音の消音を指示してタイマインタラプト禁止に設定する。
【００４０】
続いて、ステップＳＤ４では、セーブスイッチのオン操作に応じて、ＲＡＭ１４のカレントエリアＣＥの音色エリアに記憶されるレジスタＴＯＮＥ（音色データ番号）／更新日時、伴奏エリアに記憶されるレジスタＢＡＮＳＯ（伴奏データ番号）／更新日時、テンポエリアに記憶されるレジスタＴＥＭＰＯ（テンポ値）／更新日時をそれぞれ読み出し、オン操作されたセーブスイッチの番号ＳＡＶＥに対応するエリアＲＥ（ＳＡＶＥ）に登録するセーブスイッチ処理を実行する。
【００４１】
そして、ステップＳＤ５では、コールスイッチ処理を実行する。コールスイッチ処理では、後述するように、コールスイッチ１〜４の何れかが単独でオン操作されると、オン操作されたコールスイッチの番号ＣＡＬＬに対応するエリアＲＥ（ＣＡＬＬ）の内容をカレントエリアＣＥにストアするレジストレーション呼び出しを行い、一方、コールスイッチ１〜４の何れか２つが同時にオン操作されると、オン操作された２つのコールスイッチの番号ＣＡＬＬ１，ＣＡＬＬ２にそれぞれ対応するエリアＲＥ（ＣＡＬＬ１）とエリアＲＥ（ＣＡＬＬ２）とにそれぞれ格納される各パラメータ（音色データ番号、伴奏データ番号およびテンポ値）毎に、更新日時の新旧比較を行い、更新日時が新しい方のパラメータ（音色データ番号、伴奏データ番号およびテンポ値）と当該更新日時とをカレントエリアＣＥにストアするレジストレーション呼び出しを行う。この後、ステップＳＤ６に進み、例えば発生楽音に付加するエフェクト種を選択する等の、その他のスイッチ処理を実行して本処理を終える。
【００４２】
（５）編集スイッチ処理の動作
次に、図８を参照して編集スイッチ処理の動作を説明する。上述したスイッチ処理のステップＳＤ１（図７参照）を介して本処理が実行されると、ＣＰＵ１２は図８に図示するステップＳＥ１に進む。ステップＳＥ１〜ＳＥ３では、編集スイッチを構成する音色スイッチ、伴奏スイッチおよびテンポスイッチの中でオン状態のスイッチ種を判別する。以下、音色スイッチがオン状態の場合、伴奏スイッチがオン状態の場合およびテンポスイッチがオン状態の場合に分けて動作説明を進める。
【００４３】
＜音色スイッチがオン状態の場合＞
音色スイッチがオン状態であると、ステップＳＥ１の判断結果が「ＹＥＳ」となり、ステップＳＥ５に進み、音色フラグＴＯＮＥＦに「１」をセットする一方、伴奏フラグＢＡＮＳＯＦおよびテンポフラグＴＥＭＰＯＦをそれぞれゼロリセットして本処理を終える。なお、音色フラグＴＯＮＥＦ、伴奏フラグＢＡＮＳＯＦおよびテンポフラグＴＥＭＰＯＦは、それぞれ編集項目に指定されたパラメータであるか否かを表すフラグであり、「１」の場合に編集項目であることを表し、「０」の場合に編集項目ではないことを表す。したがって、音色スイッチがオン状態の場合には、レジストレーション情報中の音色データ番号が編集項目として指定される。
【００４４】
＜伴奏スイッチがオン状態の場合＞
伴奏スイッチがオン状態であると、ステップＳＥ２の判断結果が「ＹＥＳ」となり、ステップＳＥ６に進み、伴奏フラグＢＡＮＳＯＦに「１」をセットする一方、音色フラグＴＯＮＥＦおよびテンポフラグＴＥＭＰＯＦをそれぞれゼロリセットして本処理を終える。したがって、伴奏スイッチがオン状態の場合には、レジストレーション情報中の伴奏データ番号が編集項目として指定される。
【００４５】
＜テンポスイッチがオン状態の場合＞
テンポスイッチがオン状態であると、ステップＳＥ３の判断結果が「ＹＥＳ」となり、ステップＳＥ７に進み、テンポフラグＴＥＭＰＯＦに「１」をセットする一方、音色フラグＴＯＮＥＦおよび伴奏フラグＢＡＮＳＯＦをそれぞれゼロリセットして本処理を終える。したがって、テンポスイッチがオン状態の場合には、レジストレーション情報中のテンポ値が編集項目として指定される。なお、音色スイッチ、伴奏スイッチおよびテンポスイッチが何れもオン状態でなければ、上記ステップＳＥ１〜ＳＥ３の各判断結果は何れも「ＮＯ」となるので、ステップＳＥ４に進み、その他のスイッチ処理を実行して本処理を終える。
【００４６】
このように、編集スイッチ処理では、編集スイッチを構成する音色スイッチ、伴奏スイッチおよびテンポスイッチの中でオン状態のスイッチ種を判別し、音色スイッチがオンされていれば、レジストレーション情報中の音色データ番号を編集項目として指定し、伴奏スイッチがオンされていれば、レジストレーション情報中の伴奏データ番号を編集項目として指定し、テンポスイッチがオンされていれば、レジストレーション情報中のテンポ値を編集項目として指定する。
【００４７】
（６）「＋」、「−」スイッチ処理の動作
次に、図９を参照して「＋」、「−」スイッチ処理の動作を説明する。上述したスイッチ処理のステップＳＤ２（図７参照）を介して本処理が実行されると、ＣＰＵ１２は図９に図示するステップＳＦ１に進み、「＋」スイッチがオン操作されたか否かを判断する。「＋」スイッチがオン操作された場合には、判断結果が「ＹＥＳ」となり、ステップＳＦ２以降を実行する。
【００４８】
一方、「＋」スイッチがオン操作されていなければ、上記ステップＳＦ１の判断結果は「ＮＯ」になり、ステップＳＦ９に進み、「−」スイッチがオン操作されたか否かを判断する。「−」スイッチがオン操作された場合には、判断結果が「ＹＥＳ」となり、ステップＳＦ１０以降を実行する。これに対し、「−」スイッチがオン操作されていなければ、上記ステップＳＦ９の判断結果は「ＮＯ」になり、本処理を終える。
【００４９】
以下、「＋」スイッチがオン操作された場合に実行されるステップＳＦ２〜ＳＦ８の動作と、「−」スイッチがオン操作された場合に実行されるステップＳＦ１０〜ＳＦ１６の動作とに分けて説明を進める。
【００５０】
＜「＋」スイッチがオン操作された場合＞
この場合、ステップＳＦ２に進み、音色フラグＴＯＮＥＦが「１」であるか否か、つまりレジストレーション情報中の音色データ番号が編集項目として指定されているかどうかを判断する。音色データ番号が編集項目として指定されていれば、判断結果は「ＹＥＳ」となり、ステップＳＦ３に進む。ステップＳＦ３では、カレントエリアＣＥの音色エリアにおいて、レジスタＴＯＮＥに格納される音色データ番号をインクリメントして歩進させた後、ステップＳＦ８に進み、時計カレンダ部１８から取得した現在日時を音色データ番号の更新日時としてストアして本処理を終える。
【００５１】
一方、音色データ番号が編集項目として指定されていなければ、上記ステップＳＦ２の判断結果は「ＮＯ」となり、ステップＳＦ４に進む。ステップＳＦ４では、伴奏フラグＢＡＮＳＯＦが「１」であるか否か、つまりレジストレーション情報中の伴奏データ番号が編集項目として指定されているかどうかを判断する。伴奏データ番号が編集項目として指定されていれば、判断結果は「ＹＥＳ」となり、ステップＳＦ５に進む。ステップＳＦ５では、カレントエリアＣＥの伴奏エリアにおいて、レジスタＢＡＮＳＯに格納される伴奏データ番号をインクリメントして歩進させた後、ステップＳＦ８に進み、時計カレンダ部１８から取得した現在日時を伴奏データ番号の更新日時としてストアして本処理を終える。
【００５２】
これに対し、伴奏データ番号が編集項目として指定されていなければ、上記ステップＳＦ４の判断結果は「ＮＯ」となり、ステップＳＦ６に進む。ステップＳＦ６では、テンポフラグＴＥＭＰＯＦが「１」であるか否か、つまりレジストレーション情報中のテンポ値が編集項目として指定されているかどうかを判断する。テンポ値が編集項目として指定されていれば、判断結果は「ＹＥＳ」となり、ステップＳＦ７に進む。ステップＳＦ７では、カレントエリアＣＥのテンポエリアにおいて、レジスタＴＥＭＰＯに格納されるテンポ値をインクリメントして歩進させた後、ステップＳＦ８に進み、時計カレンダ部１８から取得した現在日時をテンポ値の更新日時としてストアして本処理を終える。
【００５３】
＜「−」スイッチがオン操作された場合＞
この場合、ステップＳＦ１０に進み、音色フラグＴＯＮＥＦが「１」であるか否か、つまりレジストレーション情報中の音色データ番号が編集項目として指定されているかどうかを判断する。音色データ番号が編集項目として指定されていれば、判断結果は「ＹＥＳ」となり、ステップＳＦ１１に進む。ステップＳＦ１１では、カレントエリアＣＥの音色エリアにおいて、レジスタＴＯＮＥに格納される音色データ番号をデクリメントした後、ステップＳＦ１６に進み、時計カレンダ部１８から取得した現在日時を音色データ番号の更新日時としてストアして本処理を終える。
【００５４】
一方、音色データ番号が編集項目として指定されていなければ、上記ステップＳＦ１０の判断結果は「ＮＯ」となり、ステップＳＦ１２に進む。ステップＳＦ１０では、伴奏フラグＢＡＮＳＯＦが「１」であるか否か、つまりレジストレーション情報中の伴奏データ番号が編集項目として指定されているかどうかを判断する。伴奏データ番号が編集項目として指定されていれば、判断結果は「ＹＥＳ」となり、ステップＳＦ１３に進む。ステップＳＦ１３では、カレントエリアＣＥの伴奏エリアにおいて、レジスタＢＡＮＳＯに格納される伴奏データ番号をデクリメントした後、ステップＳＦ１６に進み、時計カレンダ部１８から取得した現在日時を伴奏データ番号の更新日時としてストアして本処理を終える。
【００５５】
これに対し、伴奏データ番号が編集項目として指定されていなければ、上記ステップＳＦ１２の判断結果は「ＮＯ」となり、ステップＳＦ１４に進む。ステップＳＦ１４では、テンポフラグＴＥＭＰＯＦが「１」であるか否か、つまりレジストレーション情報中のテンポ値が編集項目として指定されているかどうかを判断する。テンポ値が編集項目として指定されていれば、判断結果は「ＹＥＳ」となり、ステップＳＦ１５に進む。ステップＳＦ１５では、カレントエリアＣＥのテンポエリアにおいて、レジスタＴＥＭＰＯに格納されるテンポ値をデクリメントした後、ステップＳＦ１６に進み、時計カレンダ部１８から取得した現在日時をテンポ値の更新日時としてストアして本処理を終える。一方、テンポ値が編集項目として指定されていなければ、上記ステップＳＦ１４の判断結果は「ＮＯ」になり、本処理を終える。
【００５６】
このように、「＋」、「−」スイッチ処理では、前述の編集スイッチ処理によって指定された編集項目（音色データ番号、伴奏データ番号およびテンポ値）の値を、「＋」スイッチのオン操作に応じてインクリメントしたり、「−」スイッチのオン操作に応じてデクリメントしたりすると共に、インクリメント（又はデクリメント）された日時を対応するパラメータの更新日時として記録する。
【００５７】
（７）スタート／ストップスイッチ処理の動作
次に、図１０を参照してスタート／ストップスイッチ処理の動作を説明する。前述したスイッチ処理のステップＳＤ３（図７参照）を介して本処理が実行されると、ＣＰＵ１２は図１０に図示するステップＳＧ１に進み、スタート／ストップスイッチがオン操作されたかどうかを判断する。オン操作されていなければ、判断結果は「ＮＯ」となり、本処理を終えるが、オン操作されていると、上記ステップＳＧ１の判断結果は「ＹＥＳ」になり、ステップＳＧ２に進み、スタートフラグＳＴＦを反転させる。スタートフラグＳＴＦは、そのフラグ値が「１」の場合に自動伴奏開始（もしくは伴奏進行中）を表し、「０」の場合に自動伴奏停止を表す。
【００５８】
次いで、ステップＳＧ３では、オン操作に応じて反転されたスタートフラグＳＴＦが「１」、つまり自動伴奏の開始であるかどうかを判断する。自動伴奏の開始であると、判断結果は「ＹＥＳ」となり、ステップＳＧ４に進む。ステップＳＧ４では、ＲＯＭ１３の伴奏データエリアＡＥにおいて、レジスタＢＡＮＳＯに格納される伴奏データ番号で指定される伴奏パターンの先頭アドレスを、レジスタＡＤにストアする。以下、レジスタＡＤの内容を読み出しアドレスＡＤと称する。
【００５９】
そして、ステップＳＧ５では、読み出しアドレスＡＤに従い、伴奏データ番号で指定される伴奏パターンから最初のデータであるタイムＴを読み出してレジスタＴにストアする。次いで、ステップＳＧ６では、レジスタＴＥＭＰＯに格納されるテンポ値に基づきインタラプト周期を設定し、続くステップＳＧ７では、タイマインタラプト禁止を解除して本処理を終える。なお、上記ステップＳＧ７にてタイマインタラプト禁止が解除されると、前述したタイマインタラプト処理（図５参照）が、上記ステップＳＧ６で設定した周期毎に割り込み実行される。
【００６０】
さて一方、オン操作に応じて反転されたスタートフラグＳＴＦが「０」、つまり自動伴奏停止になると、上記ステップＳＧ３の判断結果は「ＮＯ」になり、ステップＳＧ８に進み、音源１６に対して発音中の全ての伴奏音の消音を指示するオールノートオフ処理を行った後、ステップＳＧ９に進み、タイマインタラプト禁止に設定して本処理を終える。
【００６１】
このように、スタート／ストップスイッチ処理では、スタート／ストップスイッチのオン操作に応じて反転されたスタートフラグＳＴＦが「１」となって自動伴奏の開始を表す場合には、レジスタＢＡＮＳＯに格納される伴奏データ番号で指定される伴奏パターンの先頭アドレスを読み出しアドレスＡＤとして当該伴奏パターンから最初のデータであるタイムＴを読み出してレジスタＴにストアした後、レジスタＴＥＭＰＯに格納されるテンポ値に基づきインタラプト周期を設定してタイマインタラプト禁止を解除する。一方、オン操作に応じて反転されたスタートフラグＳＴＦが「０」となって自動伴奏の停止を表す場合には、音源１６に対して発音中の全ての伴奏音の消音を指示してタイマインタラプト禁止に設定する。
【００６２】
（８）セーブスイッチ処理の動作
次に、図１１を参照してセーブスイッチ処理の動作を説明する。前述したスイッチ処理のステップＳＤ４（図７参照）を介して本処理が実行されると、ＣＰＵ１２は図１１に図示するステップＳＨ１に進み、ＲＡＭ１４のレジストレーションエリアＲＥに設けられたエリアＲＥ（１）〜（４）にそれぞれ対応付けられたセーブスイッチ１〜４の何れかがオン操作されたか否かを判断する。何れもオン操作されていなければ、判断結果は「ＮＯ」になり、本処理を終えるが、何れかがオン操作されると、上記ステップＳＨ１の判断結果は「ＹＥＳ」になり、ステップＳＨ２に進む。
【００６３】
ステップＳＨ２では、オン操作されたセーブスイッチの番号をレジスタＳＡＶＥにストアし、続くステップＳＨ３では、ＲＡＭ１４のカレントエリアＣＥに格納されるレジストレーション情報、すなわち音色エリアに記憶されるレジスタＴＯＮＥ（音色データ番号）とその更新日時、レジスタＢＡＮＳＯ（伴奏データ番号）とその更新日時、レジスタＴＥＭＰＯ（テンポ値）とその更新日時をそれぞれ読み出し、ＲＡＭ１４のレジストレーションエリアＲＥ中の、レジスタＳＡＶＥにストアされたセーブスイッチの番号に対応するエリアＲＥ（ＳＡＶＥ）にストアして本処理を終える。
【００６４】
このように、セーブスイッチ処理では、セーブスイッチのオン操作に応じて、ＲＡＭ１４のカレントエリアＣＥに格納されるレジストレーション情報、すなわち音色エリアに記憶されるレジスタＴＯＮＥ（音色データ番号）とその更新日時、伴奏エリアに記憶されるレジスタＢＡＮＳＯ（伴奏データ番号）とその更新日時、テンポエリアに記憶されるレジスタＴＥＭＰＯ（テンポ値）とその更新日時をそれぞれ読み出し、オン操作されたセーブスイッチの番号ＳＡＶＥに対応するエリアＲＥ（ＳＡＶＥ）に登録する。
【００６５】
（９）コールスイッチ処理の動作
次に、図１２〜図１３を参照してコールスイッチ処理の動作を説明する。前述したスイッチ処理のステップＳＤ５（図７参照）を介して本処理が実行されると、ＣＰＵ１２は図１２に図示するステップＳＪ１に進み、ＲＡＭ１４のレジストレーションエリアＲＥに設けられたエリアＲＥ（１）〜（４）にそれぞれ対応付けられたコールスイッチ１〜４の何れか２つが同時にオン操作されたか否かを判断する。
【００６６】
コールスイッチが２個同時オン操作されなければ、判断結果は「ＮＯ」になり、ステップＳＪ２に進み、単独のオン操作であるか否かを判断する。オン操作されなければ、判断結果は「ＮＯ」になり、本処理を終えるが、単独のオン操作であると、上記ステップＳＪ２の判断結果は「ＹＥＳ」になり、ステップＳＪ３に進み、オン操作されたコールスイッチの番号をレジスタＣＡＬＬ１にストアし、続くステップＳＪ４では、レジスタＣＡＬＬ１にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）の内容をカレントエリアＣＥにストアするレジストレーション呼び出しを行って本処理を終える。
【００６７】
一方、コールスイッチが２個同時オン操作されると、上記ステップＳＪ１の判断結果は「ＹＥＳ」となり、ステップＳＪ５に進み、コールスイッチ１〜４の中で同時にオン操作された２つのコールスイッチの番号をレジスタＣＡＬＬ１，ＣＡＬＬ２にそれぞれストアする。次いで、ステップＳＪ６では、レジスタＣＡＬＬ１にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＯＮＥの更新日時と、レジスタＣＡＬＬ２にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＯＮＥの更新日時とを読み出す。
【００６８】
そして、ステップＳＪ７では、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＯＮＥの更新日時の方が新しいか否かを判断する。エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＯＮＥの更新日時の方が新しければ、判断結果は「ＹＥＳ」になり、ステップＳＪ８に進み、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＯＮＥの音色データ番号と更新日時とをカレントエリアＣＥの音色エリアにストアするレジストレーション呼び出しを行った後、ステップＳＪ１０に進む。
【００６９】
これに対し、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＯＮＥの更新日時の方が新しければ、上記ステップＳＪ７の判断結果は「ＮＯ」になり、ステップＳＪ９に進み、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＯＮＥの音色データ番号と更新日時とをカレントエリアＣＥの音色エリアにストアするレジストレーション呼び出しを行った後、ステップＳＪ１０に進む。
【００７０】
続いて、ステップＳＪ１０では、レジスタＣＡＬＬ１にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）におけるレジスタＢＡＮＳＯの更新日時と、レジスタＣＡＬＬ２にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ２）におけるレジスタＢＡＮＳＯの更新日時とを読み出す。
【００７１】
そして、図１３に図示するステップＳＪ１１に進み、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＢＡＮＳＯの更新日時の方が新しいか否かを判断する。エリアＲＥ（ＣＡＬＬ１）におけるレジスタＢＡＮＳＯの更新日時の方が新しければ、判断結果は「ＹＥＳ」になり、ステップＳＪ１２に進み、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＢＡＮＳＯの伴奏データ番号と更新日時とをカレントエリアＣＥの伴奏エリアにストアするレジストレーション呼び出しを行った後、ステップＳＪ１４に進む。
【００７２】
一方、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＢＡＮＳＯの更新日時の方が新しければ、上記ステップＳＪ１１の判断結果は「ＮＯ」になり、ステップＳＪ１３に進み、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＢＡＮＳＯの伴奏データ番号と更新日時とをカレントエリアＣＥの伴奏エリアにストアするレジストレーション呼び出しを行った後、ステップＳＪ１４に進む。
【００７３】
ステップＳＪ１４では、レジスタＣＡＬＬ１にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＥＭＰＯの更新日時と、レジスタＣＡＬＬ２にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＥＭＰＯの更新日時とを読み出す。
【００７４】
次いで、ステップＳＪ１５では、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＥＭＰＯの更新日時の方が新しいか否かを判断する。エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＥＭＰＯの更新日時の方が新しければ、判断結果は「ＹＥＳ」になり、ステップＳＪ１６に進み、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＥＭＰＯのテンポ値と更新日時とをカレントエリアＣＥのテンポエリアにストアするレジストレーション呼び出しを行った後、本処理を終える。
【００７５】
一方、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＥＭＰＯの更新日時の方が新しければ、上記ステップＳＪ１５の判断結果は「ＮＯ」になり、ステップＳＪ１７に進み、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＥＭＰＯのテンポ値と更新日時とをカレントエリアＣＥのテンポエリアにストアするレジストレーション呼び出しを行った後、本処理を終える。
【００７６】
このように、コールスイッチ処理では、コールスイッチ１〜４の何れかが単独でオン操作された場合には、オン操作されたコールスイッチの番号ＣＡＬＬ１に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）の内容をカレントエリアＣＥにストアするレジストレーション呼び出しを行い、一方、コールスイッチ１〜４の何れか２つが同時にオン操作された場合には、オン操作された２つのコールスイッチの番号ＣＡＬＬ１，ＣＡＬＬ２にそれぞれ対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）とエリアＲＥ（ＣＡＬＬ２）とにそれぞれ格納される各パラメータ（音色データ番号、伴奏データ番号およびテンポ値）毎に、更新日時の新旧比較を行い、更新日時が新しい方のパラメータ（音色データ番号、伴奏データ番号およびテンポ値）と当該更新日時とをカレントエリアＣＥにストアするレジストレーション呼び出しを行う。
【００７７】
（１０）鍵盤処理の動作
次に、図１４を参照して伴奏処理の動作を説明する。前述したメインルーチンのステップＳＡ３（図４参照）を介して本処理が実行されると、ＣＰＵ１２は図１４に図示するステップＳＫ１に進み、鍵盤１０の伴奏鍵域の各鍵について鍵走査を行い、続くステップＳＫ２では、その鍵走査で取得される鍵変化に基づき押鍵の有無を判断する。押鍵が無ければ、判断結果は「ＮＯ」となり、後述のステップＳＫ５に進む。なお、伴奏鍵域とは、鍵盤１０における所定の鍵より低音側の鍵域を指し、それとは逆の高音側の鍵域が後述のメロディ鍵域となる。
【００７８】
一方、伴奏鍵域で押鍵が有ると、上記ステップＳＫ２の判断結果は「ＹＥＳ」となり、ステップＳＫ３に進み、押鍵された鍵の鍵番号に基づきコード成立の有無、つまりコード演奏が為されたかどうかを判断する。コードが成立しない押鍵であると、判断結果は「ＮＯ」となり、後述のステップＳＫ５に進むが、コード演奏ならば、上記ステップＳＫ３の判断結果は「ＹＥＳ」となり、ステップＳＫ４に進み、成立したコードのコード種を表すデータをレジスタＣＯＤＥにストアし、成立したコードの根音を表すデータをレジスタＲＯＯＴにストアする。
【００７９】
次いで、ステップＳＫ５では、鍵盤１０のメロディ鍵域の各鍵について鍵走査を行い、続くステップＳＫ６では、鍵走査で得られる鍵変化に基づき押離鍵操作された鍵を判別する。押離鍵操作が行われず、鍵変化無しの場合には本処理を終える。押鍵操作に応じたキーオンイベントが発生した場合には、ステップＳＫ７に進み、押鍵番号（押鍵された鍵の鍵番号）およびベロシティによりノートオンイベントを作成する。
【００８０】
そして、ステップＳＫ８に進み、ＲＡＭ１４のカレントエリアＣＥからレジストレーション情報のレジスタＴＯＮＥ（音色データ番号）を読み出し、読み出した音色データ番号と共に、上記ステップＳＫ８で作成したノートオンイベントを音源１６に供給して本処理を終える。これにより、レジスタＴＯＮＥ（音色データ番号）で指定される音色の楽音が、メロディ鍵域で押鍵された鍵の音高で発音される。
【００８１】
これに対し、離鍵操作に応じたキーオフイベントが発生した場合には、ステップＳＫ９に進む。ステップＳＫ９では、離鍵番号（離鍵された鍵の鍵番号）によりノートオフイベントを作成する。そして、ステップＳＫ８に進み、ＲＡＭ１４のカレントエリアＣＥからレジストレーション情報のレジスタＴＯＮＥ（音色データ番号）を読み出し、読み出した音色データ番号と共に、上記ステップＳＫ９で作成したノートオフイベントを音源１６に供給して本処理を終える。これにより、離鍵された鍵の音高で発音中の楽音が消音される。
【００８２】
このように、鍵盤処理では、伴奏鍵域でコード演奏が為されると、そのコード種および根音をそれぞれレジスタＣＯＤＥ、レジスタＲＯＯＴにストアし、一方、メロディ鍵域で押鍵された場合には、押鍵された鍵の鍵番号およびベロシティを含むノートオンイベントとレジストレーション情報中のレジスタＴＯＮＥ（音色データ番号）とを音源１６に送付して発音指示し、離鍵された場合には、離鍵された鍵の鍵番号を含むノートオフイベントとレジストレーション情報中のレジスタＴＯＮＥ（音色データ番号）とを音源１６に送付して消音指示する。
【００８３】
（１１）伴奏処理の動作
次に、図１５を参照して伴奏処理の動作を説明する。前述したメインルーチンのステップＳＡ４（図４参照）を介して本処理が実行されると、ＣＰＵ１２は図１４に図示するステップＳＬ１に進み、スタートフラグＳＴＦが「１」であるか否か、つまり自動伴奏が開始されているかどうかを判断する。自動伴奏の停止（スタートフラグＳＴＦが「０」）ならば、判断結果は「ＮＯ」になり、本処理を終える。
【００８４】
一方、自動伴奏が開始されていれば、上記ステップＳＬ１の判断結果は「ＹＥＳ」となり、ステップＳＬ２に進む。ステップＳＬ２では、前述したタイマインタラプト処理（図５参照）によりデクリメントされるレジスタＴの値が「０」以下であるか否か、つまりイベントタイミングに達したかどうかを判断する。イベントタイミングに達していなければ、判断結果は「ＮＯ」となり、本処理を終えるが、イベントタイミングに達していると、上記ステップＳＬ２の判断結果は「ＹＥＳ」になり、ステップＳＬ３に進む。
【００８５】
そして、ステップＳＬ３では、伴奏パターンの読み出しを進めるべく読み出しアドレスＡＤをインクリメントして歩進させ、続くステップＳＬ４では、歩進された読み出しアドレスＡＤに応じて伴奏パターンから読み出されるデータ（ＡＤ）が「イベントＥＶ」、「タイムＴ」および「ＥＮＤ」の何れであるかを判別する。なお、歩進された読み出しアドレスＡＤに応じて読み出される伴奏パターンとは、ＲＯＭ１３の伴奏データエリアＡＥにおいて、レジスタＢＡＮＳＯに格納される伴奏データ番号に対応付けられた伴奏パターンを指す。
【００８６】
伴奏パターンから読み出されるデータ（ＡＤ）が「イベントＥＶ」であると、ステップＳＬ５に進み、その読み出されたイベントＥＶがコード音／ベース音のイベントであるか否かを判断する。音高要素を持たないリズム音のイベントならば、判断結果は「ＮＯ」になり、ステップＳＬ７に進み、リズム音のイベントを音源１６に供給してリズム音の発音を指示した後、上述したステップＳＬ３に処理を戻す。
【００８７】
これに対し、コード音／ベース音のイベントであると、上記ステップＳＬ５の判断結果は「ＹＥＳ」となり、ステップＳＬ６に進む。ステップＳＬ６では、前述した鍵盤処理（図１３参照）において、伴奏鍵域でのコード演奏で得られたコード種ＣＯＤＥおよび根音ＲＯＯＴに応じて、コード音／ベース音のイベントに含まれるコード音の音高（又はベース音の音高）を音高変換し、続くステップＳＬ７では、音高変換されたコード音／ベース音のイベントを音源１６に供給してコード音（又はベース音）の発音（又は消音）を指示した後、上述したステップＳＬ３に処理を戻す。
【００８８】
そして、上記ステップＳＬ３において歩進された読み出しアドレスＡＤに応じて、伴奏パターンから「タイムＴ」が読み出されると、ステップＳＬ８に進み、その読み出されたタイムＴを次イベントタイミングとしてレジスタＴにストアして一旦、本処理を終える。
【００８９】
伴奏パターンから読み出されるデータ（ＡＤ）が伴奏パターンの終わりを表す「ＥＮＤ」になると、ステップＳＫ９に進み、ＲＯＭ１３の伴奏データエリアＡＥにおいて、レジスタＢＡＮＳＯに格納される伴奏データ番号に対応付けられた伴奏パターンの先頭アドレスを読み出しアドレスＡＤとしてセットした後、上述したステップＳＫ４に処理を戻す。これにより、自動伴奏進行中であれば、伴奏パターンが繰り返し再生される。
【００９０】
このように、伴奏処理では、スタートフラグＳＴＦが「１」となって自動伴奏が開始されていると、イベントタイミングに達したかどうかを判断し、イベントタイミングに達していると、読み出しアドレスＡＤを歩進させ、歩進された読み出しアドレスＡＤに応じて伴奏パターンから読み出されるデータ（ＡＤ）が「イベントＥＶ」、「タイムＴ」および「ＥＮＤ」の何れであるかを判別する。読み出されたデータ（ＡＤ）が「イベントＥＶ」ならば、コード／ベースのイベントであるか否かを判断する。
【００９１】
音高要素を持たないリズム音のイベントならば、そのリズム音のイベントを音源１６に供給してリズム音の発音させ、コード音／ベース音のイベントであると、伴奏鍵域でのコード演奏で得られたコード種ＣＯＤＥおよび根音ＲＯＯＴに応じて音高変換されたコード音／ベース音のイベントを音源１６に供給してコード音（又はベース音）の発音（又は消音）させる。伴奏パターンから読み出されるデータ（ＡＤ）が「タイムＴ」であると、その読み出されたタイムＴを次イベントタイミングとしてレジスタＴにストアする。伴奏パターンから読み出されるデータ（ＡＤ）が伴奏パターンの終わりを表す「ＥＮＤ」ならば、読み出しアドレスＡＤを伴奏パターンの先頭アドレスに戻して伴奏パターンを繰り返し再生させる。
【００９２】
以上説明したように、第１実施形態では、セーブスイッチのオン操作に応じて、カレントエリアＣＥの音色エリアに記憶されるレジスタＴＯＮＥ（音色データ番号）とその更新日時、伴奏エリアに記憶されるレジスタＢＡＮＳＯ（伴奏データ番号）とその更新日時、テンポエリアに記憶されるレジスタＴＥＭＰＯ（テンポ値）とその更新日時を、当該オン操作されたセーブスイッチの番号ＳＡＶＥに対応するエリアＲＥ（ＳＡＶＥ）に登録した後、コールスイッチ１〜４の何れか２つが同時にオン操作されると、オン操作された２つのコールスイッチの番号ＣＡＬＬ１，ＣＡＬＬ２にそれぞれ対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）とエリアＲＥ（ＣＡＬＬ２）とにそれぞれ格納される各パラメータ（音色データ番号、伴奏データ番号およびテンポ値）毎に、更新日時の新旧比較を行い、更新日時が新しい方のパラメータ（音色データ番号、伴奏データ番号およびテンポ値）と当該更新日時とをカレントエリアＣＥにストアするレジストレーション呼び出しを行うので、例えば一部のパラメータについては現在の設定とし、残りのパラメータについては別に記憶された過去の設定にする等、よりユーザの意図した設定状態に変更することが出来る。
【００９３】
［第２実施形態］
次に、図１６〜図１７を参照して第２実施形態によるコールスイッチ処理の動作を説明する。前述した第１実施形態と同様、スイッチ処理のステップＳＤ５（図７参照）を介して本処理が実行されると、ＣＰＵ１２は図１６に図示するステップＳＭ１に進み、ＲＡＭ１４のレジストレーションエリアＲＥに設けられたエリアＲＥ（１）〜（４）にそれぞれ対応付けられたコールスイッチ１〜４の何れか２つが同時にオン操作されたか否かを判断する。
【００９４】
コールスイッチが２個同時オン操作されなければ、判断結果は「ＮＯ」になり、ステップＳＭ２に進み、単独のオン操作であるか否かを判断する。オン操作されなければ、判断結果は「ＮＯ」になり、本処理を終えるが、単独のオン操作であると、上記ステップＳＭ２の判断結果は「ＹＥＳ」になり、ステップＳＭ３に進み、オン操作されたコールスイッチの番号をレジスタＣＡＬＬ１にストアし、続くステップＳＭ４では、レジスタＣＡＬＬ１にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）の内容をカレントエリアＣＥにストアするレジストレーション呼び出しを行って本処理を終える。
【００９５】
一方、コールスイッチが２個同時オン操作されると、上記ステップＳＭ１の判断結果は「ＹＥＳ」となり、ステップＳＭ５に進み、コールスイッチ１〜４の中で同時にオン操作された２つのコールスイッチの番号をレジスタＣＡＬＬ１，ＣＡＬＬ２にそれぞれストアする。次いで、ステップＳＭ６では、レジスタＣＡＬＬ１にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＯＮＥの更新日時と、レジスタＣＡＬＬ２にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＯＮＥの更新日時とを読み出す。
【００９６】
そして、ステップＳＭ７では、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＯＮＥの更新日時の方が古いか否かを判断する。エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＯＮＥの更新日時の方が古ければ、判断結果は「ＹＥＳ」になり、ステップＳＭ８に進み、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＯＮＥの音色データ番号と更新日時とをカレントエリアＣＥの音色エリアにストアするレジストレーション呼び出しを行った後、ステップＳＭ１０に進む。
【００９７】
これに対し、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＯＮＥの更新日時の方が古いと、上記ステップＳＭ７の判断結果は「ＮＯ」になり、ステップＳＭ９に進み、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＯＮＥの音色データ番号と更新日時とをカレントエリアＣＥの音色エリアにストアするレジストレーション呼び出しを行った後、ステップＳＭ１０に進む。
【００９８】
続いて、ステップＳＭ１０では、レジスタＣＡＬＬ１にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）におけるレジスタＢＡＮＳＯの更新日時と、レジスタＣＡＬＬ２にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ２）におけるレジスタＢＡＮＳＯの更新日時とを読み出す。
【００９９】
そして、図１６に図示するステップＳＭ１１に進み、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＢＡＮＳＯの更新日時の方が古いか否かを判断する。エリアＲＥ（ＣＡＬＬ１）におけるレジスタＢＡＮＳＯの更新日時の方が古ければ、判断結果は「ＹＥＳ」になり、ステップＳＭ１２に進み、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＢＡＮＳＯの伴奏データ番号と更新日時とをカレントエリアＣＥの伴奏エリアにストアするレジストレーション呼び出しを行った後、ステップＳＭ１４に進む。
【０１００】
一方、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＢＡＮＳＯの更新日時の方が古いと、上記ステップＳＭ１１の判断結果は「ＮＯ」になり、ステップＳＭ１３に進み、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＢＡＮＳＯの伴奏データ番号と更新日時とをカレントエリアＣＥの伴奏エリアにストアするレジストレーション呼び出しを行った後、ステップＳＭ１４に進む。
【０１０１】
ステップＳＭ１４では、レジスタＣＡＬＬ１にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＥＭＰＯの更新日時と、レジスタＣＡＬＬ２にストアしたコールスイッチの番号に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＥＭＰＯの更新日時とを読み出す。
【０１０２】
次いで、ステップＳＭ１５では、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＥＭＰＯの更新日時の方が古いか否かを判断する。エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＥＭＰＯの更新日時の方が古ければ、判断結果は「ＹＥＳ」になり、ステップＳＭ１６に進み、エリアＲＥ（ＣＡＬＬ１）におけるレジスタＴＥＭＰＯのテンポ値と更新日時とをカレントエリアＣＥのテンポエリアにストアするレジストレーション呼び出しを行った後、本処理を終える。
【０１０３】
一方、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＥＭＰＯの更新日時の方が古いと、上記ステップＳＭ１５の判断結果は「ＮＯ」になり、ステップＳＭ１７に進み、エリアＲＥ（ＣＡＬＬ２）におけるレジスタＴＥＭＰＯのテンポ値と更新日時とをカレントエリアＣＥのテンポエリアにストアするレジストレーション呼び出しを行った後、本処理を終える。
【０１０４】
このように、第２実施形態によるコールスイッチ処理では、コールスイッチ１〜４の何れかが単独でオン操作された場合には、オン操作されたコールスイッチの番号ＣＡＬＬ１に対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）の内容をカレントエリアＣＥにストアするレジストレーション呼び出しを行い、一方、コールスイッチ１〜４の何れか２つが同時にオン操作された場合には、オン操作された２つのコールスイッチの番号ＣＡＬＬ１，ＣＡＬＬ２にそれぞれ対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）とエリアＲＥ（ＣＡＬＬ２）とにそれぞれ格納される各パラメータ（音色データ番号、伴奏データ番号およびテンポ値）毎に、更新日時の新旧比較を行い、更新日時が古い方のパラメータ（音色データ番号、伴奏データ番号およびテンポ値）と当該更新日時とをカレントエリアＣＥにストアするレジストレーション呼び出しを行う。
【０１０５】
以上説明したように、第２実施形態では、セーブスイッチのオン操作に応じて、カレントエリアＣＥの音色エリアに記憶されるレジスタＴＯＮＥ（音色データ番号）とその更新日時、伴奏エリアに記憶されるレジスタＢＡＮＳＯ（伴奏データ番号）とその更新日時、テンポエリアに記憶されるレジスタＴＥＭＰＯ（テンポ値）とその更新日時を、当該オン操作されたセーブスイッチの番号ＳＡＶＥに対応するエリアＲＥ（ＳＡＶＥ）に登録した後、コールスイッチ１〜４の何れか２つが同時にオン操作されると、オン操作された２つのコールスイッチの番号ＣＡＬＬ１，ＣＡＬＬ２にそれぞれ対応するレジストレーションエリアＲＥ中のエリアＲＥ（ＣＡＬＬ１）とエリアＲＥ（ＣＡＬＬ２）とにそれぞれ格納される各パラメータ（音色データ番号、伴奏データ番号およびテンポ値）毎に、更新日時の新旧比較を行い、更新日時が古い方のパラメータ（音色データ番号、伴奏データ番号およびテンポ値）と当該更新日時とをカレントエリアＣＥにストアするレジストレーション呼び出しを行うので、例えば一部のパラメータについては別に記憶された過去の設定とし、残りのパラメータについては現在の設定にしたりする等、よりユーザの意図した設定状態に変更することが出来る。
【０１０６】
なお、上述した第１および第２実施形態では、説明の簡略化を図る為、コールスイッチ１〜４の何れか２つが同時にオン操作された場合を想定しているが、これに限らず、２つ以上のコールスイッチが同時にオン操作される場合にも適用可能である。その場合、オン操作された２つ以上の各コールスイッチの番号に対応付けられたエリアＲＥにそれぞれ格納される各パラメータ（音色データ番号、伴奏データ番号およびテンポ値）毎に、最も更新日時の新しいパラメータと当該更新日時とを選び出してカレントエリアＣＥにストアするレジストレーション呼び出しを行う態様となる。
【符号の説明】
【０１０７】
１０  鍵盤
１１  操作部
１２  ＣＰＵ
１３  ＲＯＭ
１４  ＲＡＭ
１５  表示部
１６  音源
１７  サウンドシステム
１８  時計カレンダ部
１００  電子楽器
【図１】
2011215444.tif 000003
【図２】
2011215444.tif 000004
【図３】
2011215444.tif 000005
【図４】
2011215444.tif 000006
【図５】
2011215444.tif 000007
【図６】
2011215444.tif 000008
【図７】
2011215444.tif 000009
【図８】
2011215444.tif 000010
【図９】
2011215444.tif 000011
【図１０】
2011215444.tif 000012
【図１１】
2011215444.tif 000013
【図１２】
2011215444.tif 000014
【図１３】
2011215444.tif 000015
【図１４】
2011215444.tif 000016
【図１５】
2011215444.tif 000017
【図１６】
2011215444.tif 000018
【図１７】
2011215444.tif 000019