(57)【特許請求の範囲】
【請求項１】
グレード間の互換性を保ちながら、電子楽器のレジストレーションデータなどの受け渡しが可能な電子楽器であって、
各グレード別データ構成マップで使用される複数ビットからなるワード数を表すマップワード数と、データ１ワードを１ビットで表し、各グレード毎の有効な構成データに対応するビットをマーキングして、マップワード数で規定されるワード数のグレード別データ構成マップと、グレード別データ構成マップのマーキング数と同じワード数を１セットとして、各グレード別に有効な構成データからなるグレード別データ本体とを備えたデータの受け渡しが電子楽器の制御手段によりなされると共に、
該電子楽器の制御手段は、上記マップワード数及びグレード別データ構成マップを読み込み、または受信すると共に、上記グレード別データ本体を、パート数及び／又は音色分繰り返し読み込み、または受信し、マップワード数で、グレード別データ構成マップにおける各グレード毎の有効な構成データに必要なビット数を抽出し、さらに該グレード別データ構成マップの各ビットで各構成データの有効・無効を判定して、上記構成データを、グレード別データ構成マップに従って、各パート及び／又は音色毎に、アサイン処理することを特徴とする電子楽器。
【請求項２】
読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より小さい場合に、楽器本体にセットされているグレード別データ構成マップに有効データマーキングがあって、読み込み、又は受信したグレード別データ構成マップにそのマーキングがない、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子楽器の制御手段により、デフォルト値をセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記制御手段により、読み込み、又は受信した構成データをセットし、さらに楽器本体にセットされているグレード別データ本体の残りの構成データが、読み込み、又は受信したグレード別データ本体の残りの構成データより多い部分に関しては、上記制御手段により、デフォルト値をセットすることを特徴とする請求項１記載の電子楽器。
【請求項３】
読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より大きい場合に、楽器本体にセットされているグレード別データ構成マップに有効データマーキングがなくて、読み込み、又は受信したグレード別データ構成マップにそのマーキングがある、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子楽器の制御手段により、それを無視するヌル状態にセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記制御手段により、読み込み、又は受信した構成データをセットし、さらに読み込み、又は受信したグレード別データ本体の残りの構成データが、楽器本体にセットされているグレード別データ本体の残りの構成データより多い部分に関しては、上記制御手段により、それを無視するヌル状態にセットすることを特徴とする請求項１記載の電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グレード間の互換性を保ちながら、電子楽器のレジストレーションデータなどの受け渡しが可能な電子楽器に関する。
【背景技術】
【０００２】
複数の演奏パート、音色を持つ電子楽器の場合、各パートの割り当て音色名やボリューム情報などを記憶したレジストレーションデータや、音色別のエンベロープオフセット値やビブラートオフセット値などを記憶した音色データを、その電子楽器が持つパート数分、音色分、持っている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、機種のグレードによりパート数が違ったり、音色数が違ったりする場合、上記のデータを機種グレード間で互換性を持たせるために、従来技術の構成では、最もデータ量の多い最上位グレードのデータ構成を、全グレード共通に使用し、パート数や音色数の少ない下位グレードでは、自身には無用なデータをダミーとして持つことになり、メモリ効率が著しく劣るものとなっていた。なお、機種グレード間で互換性を持たせるのは、たとえば、練習と演奏とを、同じ機種の上位グレードと下位グレードとの間で行う場合に、すぐに上記レジストレーションデータなどをセットできるようにする必要があるからである。
【０００４】
またバージョンアップなどでデータ数が増える場合に、その増えたデータが上位グレードのみに有効な場合でも、下位グレードもデータ構成の変更作業が必要となり、作業効率も悪かった。
【０００５】
本発明は、以上のような問題に鑑み創案されたもので、複数のグレードがある機種構成の電子楽器のレジストレーションデータなどを互換性を保ちながら効率的に持ち、且つデータの追加を容易にできる電子楽器を提供せんとするものである。
【課題を解決するための手段】
【０００６】
そのため本発明に係る電子楽器は、
グレード間の互換性を保ちながら、電子楽器のレジストレーションデータなどの受け渡しが可能な電子楽器であって、
各グレード別データ構成マップで使用される複数ビットからなるワード数を表すマップワード数と、データ１ワードを１ビットで表し、各グレード毎の有効な構成データに対応するビットをマーキングして、マップワード数で規定されるワード数のグレード別データ構成マップと、グレード別データ構成マップのマーキング数と同じワード数を１セットとして、各グレード別に有効な構成データからなるグレード別データ本体とを備えたデータの受け渡しが電子楽器の制御手段によりなされると共に、
該電子楽器の制御手段は、上記マップワード数及びグレード別データ構成マップを読み込み、または受信すると共に、上記グレード別データ本体を、パート数及び／又は音色分繰り返し読み込み、または受信し、マップワード数で、グレード別データ構成マップにおける各グレード毎の有効な構成データに必要なビット数を抽出し、さらに該グレード別データ構成マップの各ビットで各構成データの有効・無効を判定して、上記構成データを、グレード別データ構成マップに従って、各パート及び／又は音色毎に、アサイン処理する
ことを基本的特徴としている。
【０００７】
また読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より小さい場合（下位グレードの機種から上位グレードの機種に上記レジストレーションデータなどを移す場合）に、楽器本体にセットされているグレード別データ構成マップに有効データマーキングがあって、読み込み、又は受信したグレード別データ構成マップにそのマーキングがない、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子楽器の制御手段により、デフォルト値をセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記制御手段により、読み込み、又は受信した構成データをセットし、さらに楽器本体にセットされているグレード別データ本体の残りの構成データが、読み込み、又は受信したグレード別データ本体の残りの構成データより多い部分に関しては、上記制御手段により、デフォルト値をセットするものとする。
【０００８】
さらに、読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より大きい場合（上位グレードの機種から下位グレードの機種に上記レジストレーションデータなどを移す場合）に、楽器本体にセットされているグレード別データ構成マップに有効データマーキングがなくて、読み込み、又は受信したグレード別データ構成マップにそのマーキングがある、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子楽器の制御手段により、それを無視するヌル状態にセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記制御手段により、読み込み、又は受信した構成データをセットし、さらに読み込み、又は受信したグレード別データ本体の残りの構成データが、楽器本体にセットされているグレード別データ本体の残りの構成データより多い部分に関しては、上記制御手段により、それを無視するヌル状態にセットするものとする。
【０００９】
機種グレード間で互換性を持たせるために、従来技術の構成では、最もデータ量の多い最上位グレードのデータ構成を、全グレード共通に使用し、パート数や音色数の少ない下位グレードでは、自身には無用なデータをダミーとして持つ必要があったが、上記本発明によれば、上記のような構成とすることにより、同じ機種の下位グレード用に無用なダミーデータを加える必要がなくなって、メモリ効率が著しく向上することになる。
【００１０】
またバージョンアップなどでデータ数が増える場合に、追加データが必要なグレードだけ、構成データの従来のものの後ろ（グレード別データ構成マップのところが当初何も有効データマーキングになっていない、当然それに相当する構成データもない状態）に追加データ分だけ追加し、これに合わせてグレード別データ構成マップ、グレード別データ構成マップワード数、グレード別データ本体を変更するだけで済むことになる。
【発明の効果】
【００１１】
本発明の請求項１〜請求項３記載の電子楽器の構成によれば、同じ機種の下位グレードの、メモリ効率が著しく向上することになるという優れた効果を奏し得る。
【００１２】
また同じ機種のグレードが複数ある場合でも、ある特定のグレードに対しての、データの追加も容易にできるようになる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態に係る電子オルガンの構成を図示例と共に説明する。
図１は、上記電子オルガンの上位グレード機種Ａと下位グレード機種Ｂの２種類での各音色データの一例を示すデータ構成説明図である。
【００１４】
この電子オルガンの上位グレード機種Ａでは、同図に示すように、音色数が３つで、アタックレベル、アタックタイム、ディケイ１レベル、ディケイ１タイム、ディケイ２レベル、ディケイ２タイム、リリースタイム、トランスポーズ、チューニングＭＳＢ、チューニングＬＳＢの１０種のデータを、レジストレーションデータとして備えている。他方同電子オルガンの下位グレード機種Ｂでは、同図に示すように、音色数が２つで、アタックレベル、アタックタイム、ディケイ１レベル、ディケイ１タイム、リリースタイム、トランスポーズ、の６種のデータを、レジストレーションデータとして備えている。
【００１５】
図２及び図３は、電子オルガンの上位グレード機種Ａと下位グレード機種Ｂのレジストレーションデータのデータ構造を示している。これらのデータは、各グレード別データ構成マップで使用される複数ビットからなるワード数を表すマップワード数と、データ１バイトを１ビットで表し、各グレード毎の有効な構成データに対応するビットをマーキングして、マップワード数で規定されるワード数のグレード別データ構成マップと、グレード別データ構成マップのマーキング数と同じワード数を１セットとして、各グレード別に有効な構成データからなるグレード別データ本体とを備えている。
【００１６】
そのうち、図２は、上記上位グレード機種Ａのレジストレーションデータのデータ構造を示す説明図である。機種Ａでは、上述のように、１０種のデータが有効な構成データであるので、１０種の有効な構成データに対応するビットをマーキングしており、そのため、グレード別データ構成マップは、１バイトではなく、２バイト（１６ビット）必要であり、そのためマップワード数は、２に設定されている。
【００１７】
そして、その後に、１０種の有効な構成データそのものが、１バイト（８ビット）構成の各データがシーケンスに連続して、グレード別データ本体となっている。ただし、上位グレード機種Ａは、３音色であるので、３つのシーケンスが連続することになる。
【００１８】
また図３は、上記下位グレード機種Ｂのレジストレーションデータのデータ構造を示す説明図である。機種Ｂでは、上述のように、６種のデータが有効な構成データであるので、６種の有効な構成データに対応するビットをマーキングしており、そのため、グレード別データ構成マップは、１バイト（８ビット）で足り、そのためマップワード数は、１に設定されている。
【００１９】
そして、その後に、６種の有効な構成データそのものが、１バイト（８ビット）構成の各データがシーケンスに連続して、グレード別データ本体となっている。ただし、下位グレード機種Ｂは、２音色であるので、２つのシーケンスが連続することになる。
【００２０】
以上のような構成であると、同一種類の電子オルガンをバージョンアップし、上記１０種類のデータとは異なる別の種類のデータを増やす場合でも、上位グレード機種Ａでは、２バイトのうち、６ビット分のグレード別データ構成マップ上の構成データが有効になっていないため、たとえば１１ビット目の０に設定されたビットを１に変更し、グレード別データ本体に、新たな構成データ（１ワード、例えば８ビット）を追加すれば済む。
【００２１】
他方、下位グレード機種Ｂでは、１バイト分使用してグレード別データ構成マップ上の構成データの有効・無効を示しており、新たな構成データの付加は、そのままではできない。そのため、マップワード数を１バイトから２バイトに変更し、２バイト目の最初の２つは、無効な構成データであるので、両方とも０にセットし、そして上記上位グレード機種Ａに合わせて、たとえば１１ビット目のビットを１にセットし、グレード別データ本体に、新たな構成データ（１ワード、例えば８ビット）を追加することで、上記バージョンアップに対応可能となる。
【００２２】
もちろん、これらで付加された構成データは、上記音色分の付加が必要となる。
【００２３】
図４は、下位グレード機種Ｂから上位グレード機種Ａへレジストレーションデータを受け渡しする場合の例を示している。すなわち、下位グレード機種Ｂに設定されたレジストレーションデータをフレキシブルディスクなどに書き込み、それを上位グレード機種Ａで読み込んで、機種Ｂに設定されたレジストレーションデータを機種Ａに反映できるようにする状態を示している。
【００２４】
その際、上位グレード機種Ａでは、その内部に備えられたＣＰＵ（図示無し）により、上記マップワード数及びグレード別データ構成マップが読み出され、また上記グレード別データ本体が、音色分繰り返し読み出される。
【００２５】
そして、マップワード数から、グレード別データ構成マップにおける各グレード毎の有効な構成データに必要なビット数が抽出される。さらに該グレード別データ構成マップの各ビットで各構成データの有効・無効が判定され、上記グレード別データ本体の各８ビットからなる構成データが、グレード別データ構成マップに従って、アサイン処理される。
【００２６】
すなわち上位グレード機種Ａでは、そのＣＰＵにより、［読み出されたマップワード数（機種Ｂのもの）］＜（機種Ａ自身に設定されているマップワード数）、と判断されるので、機種Ａ自身に設定されているグレード別データ構成マップに有効構成データのマーキングがあり、読み出されたグレード別データ構成マップに有効構成データのマーキングがない場合、読み出されたグレード別データ本体に、有効な構成データがないので、機種Ａ自身が規定するデフォルト値が設定される。
【００２７】
また（機種Ａ自身に設定されているグレード別データ構成マップ）と、（読み出されたグレード別データ構成マップ）との、両方にマーキングがある場合、読み出されたグレード別データ本体の該当する構成データが、そのまま設定される。
【００２８】
さらに、（機種Ａ自身に設定されているグレード別データ構成マップ）が、（読み出されたグレード別データ構成マップ）より多い部分に関しては、読み出されたグレード別データ本体の該当する構成データがないため、機種Ａ自身が規定するデフォルト値が設定される。
【００２９】
図５は、上位グレード機種Ａから下位グレード機種Ｂへレジストレーションデータを受け渡しする場合の例を示している。すなわち、上位グレード機種Ａに設定されたレジストレーションデータをフレキシブルディスクなどに書き込み、それを下位グレード機種Ｂで読み込んで、機種Ａに設定されたレジストレーションデータを機種Ｂに反映できるようにする状態を示している。
【００３０】
その際、下位グレード機種Ｂでは、その内部に備えられたＣＰＵ（図示無し）により、上記マップワード数及びグレード別データ構成マップが読み出され、また上記グレード別データ本体が、音色分繰り返し読み出される。
【００３１】
そして、マップワード数から、グレード別データ構成マップにおける各グレード毎の有効な構成データに必要なビット数が抽出される。さらに該グレード別データ構成マップの各ビットで各構成データの有効・無効が判定され、上記グレード別データ本体の各８ビットからなる構成データが、グレード別データ構成マップに従って、アサイン処理される。
【００３２】
すなわち下位グレード機種Ｂでは、そのＣＰＵにより、［読み出されたマップワード数（機種Ａのもの）］＞（機種Ｂ自身に設定されているマップワード数）、と判断されるので、機種Ｂ自身に設定されているグレード別データ構成マップに有効構成データのマーキングがなく、読み出されたグレード別データ構成マップに有効構成データのマーキングがある場合、読み出されたグレード別データ本体の、該当する有効な構成データは、この下位グレード機種Ｂでは使用しないので、そのデータを無視するヌル状態に設定される。
【００３３】
また（機種Ｂ自身に設定されているグレード別データ構成マップ）と、（読み出されたグレード別データ構成マップ）との、両方にマーキングがある場合、読み出されたグレード別データ本体の該当する構成データが、そのまま設定される。
【００３４】
さらに、（機種Ｂ自身に設定されているグレード別データ構成マップ）が、（読み出されたグレード別データ構成マップ）より多い部分に関しては、読み出されたグレード別データ本体の該当する構成データは使用されないため、そのデータを無視するヌル状態に設定される。
【００３５】
以上のデータに関し、上位グレード機種Ａのグレード別データ本体では、１音色１０バイト（１種類の構成データにつき１バイトの構成であり、１音色に１０種類のデータがあるため）であり、それが３音色分あるため、全体で３０バイト分のデータで構成される。また下位グレード機種Ｂのグレード別データ本体では、１音色６バイト（１種類の構成データにつき１バイトの構成であり、１音色に６種類のデータがあるため）であり、それが２音色分あるため、全体で１２バイト分のデータで構成される。
【００３６】
そして、上位グレード機種Ａから下位グレード機種Ｂへレジストレーションデータが受け渡しされる場合、マップワード数を示す部分に２バイト、グレード別データ構成マップに２バイト、そして上述のように、上位グレード機種Ａのグレード別データ本体全体で３０バイト分が必要となるため、合計３４バイトが転送されることになる。反対に下位グレード機種Ｂから上位グレード機種Ａへレジストレーションデータが受け渡しされる場合、マップワード数を示す部分に２バイト、グレード別データ構成マップに１バイト、そして上述のように、下位グレード機種Ｂのグレード別データ本体全体で１２バイト分が必要となるため、合計１５バイトが転送されることになる。
【００３７】
図６〜図１１は、上記電子オルガンにおける処理のフローを示すフローチャートである。
【００３８】
図６は、上記電子オルガンのＣＰＵを中心に行われるメイン処理のフローチャートである。
【００３９】
まず、初期化がなされ(ステップＳ１００）、イベントがあるか否かがチェックされる(ステップＳ１０２）。
【００４０】
イベントがあれば(ステップＳ１０２；Ｙ）、イベント処理がなされ（ステップＳ１０４）、イベントがなければ(ステップＳ１０２；Ｎ）、イベント処理がなされず、その後ビブラート処理などの定常処理がなされる(ステップＳ１０６）。
【００４１】
図７は、図６のステップＳ１０４で行われるイベント処理のフローチャートである。
【００４２】
まず、データ読み出しがあるか否かがチェックされ(ステップＳ２００）、データ読み出しがあれば(ステップＳ２００；Ｙ）、データ読み出し処理がなされる(ステップＳ２０２）。
【００４３】
他方データ読み出しがなければ(ステップＳ２００；Ｎ）、鍵イベントがあるか否かがチェックされ(ステップＳ２０４）、鍵イベントがあれば(ステップＳ２０４；Ｙ）、押鍵イベント・離鍵イベント処理がなされる(ステップＳ２０６）。
【００４４】
他方鍵イベントがなければ(ステップＳ２０４；Ｎ）、他のイベント処理がなされる(ステップＳ２０８）。
【００４５】
図８は、図７のステップＳ２０６で行われる押鍵イベント・離鍵イベント処理のフローチャートである。
【００４６】
同図によれば、レジストが読み出され（ステップＳ３００）、ＣＰＵにより発音データが演算処理されて（ステップＳ３０２）、発音データが送出される（ステップＳ３０４）。
【００４７】
図９は、図７のステップＳ２０２で行われるデータ読み出し処理のフローチャートである。
【００４８】
上記フレキシブルディスクから、データ読み出し処理がなされるが、まず、マップワード数部分からデータ長が読み出される（ステップＳ４００）。
【００４９】
このデータ長から次に読み込むマップのワード数（本実施例の場合バイト数）が分かるので、グレード別データ構成マップの各ビットの値が読み出される（ステップＳ４０２）。
【００５０】
さらに上記マップワード数から下位グレード機種Ｂか上位グレード機種Ａかが分かるため、下位グレード機種か否かがチェックされる（ステップＳ４０４）。
【００５１】
下位グレード機種Ｂであれば（ステップＳ４０４；Ｙ）、グレード別データ構成マップの各ビットの値に従って、下位グレード機種Ｂのグレード別データ本体の構成データが読み出される（ステップＳ４０６）。反対に上位グレード機種Ａであれば（ステップＳ４０４；Ｎ）、グレード別データ構成マップの各ビットの値に従って、上位グレード機種Ａのグレード別データ本体の構成データが読み出される（ステップＳ４０８）。
【００５２】
図１０は、図９のステップＳ４０８で行われる、上位グレード機種Ａのグレード別データ本体の構成データを、下位グレード機種Ｂへ読み出す処理のフローチャートである。
【００５３】
まず、送られた機種Ａのデータ長の計算処理がなされる（ステップＳ５００）。すなわち、送られた機種Ａのデータの１音色分のグレード別データ本体のワード数（バイト数）が算出される。本実施例構成の場合、グレード別データ構成マップの１になっているbit総数は１０bitであり、１音色につき、１０バイトの構成データが読み出される計算である。
【００５４】
そして１音色目が読み出され、そのデータエリアにアサインされる（ステップＳ５０２）。
【００５５】
送られた機種Ａのデータのグレード別データ構成マップのビットスキャンカウンタｂの最上位ビットをカウント０とし（ステップＳ５０４）、図２ではマップワード数に合わせて０〜１５の範囲でカウントされることになる。
【００５６】
送られた機種Ａのデータのグレード別データ本体のカウンタｄをカウント０とし（ステップＳ５０６）、図２ではアタックレベルを０とし、０〜９の範囲でカウントされることになる。
【００５７】
そして、下位グレード機種Ｂの内部のグレード別データ構成マップのbit[b]が１の場合であって、且つ送られた上位グレード機種Ａのグレード別データ構成マップのbit[b]が１か否かがチェックされ（ステップＳ５０８）、その値が１の場合（ステップＳ５０８；Ｎ）、次のステップＳ５１０に移行する。反対にその値が１でない場合（ステップＳ５０８；Ｙ）、ステップＳ５１２に移行する。
【００５８】
ステップＳ５１０では、送られた機種Ａのグレード別データ本体のｄバイト目のデータを下位グレード機種Ｂのデータエリア（グレード別データ本体）に取り込む。
【００５９】
それが終了して上記ビットスキャンカウンタｂ及びグレード別データ本体のカウンタｄが夫々インクリメントされる（ステップＳ５１２、ステップＳ５１４）。
【００６０】
その後グレード別データ本体のカウンタｄが、機種Ａのデータの１音色分のグレード別データ本体のデータ長である１０バイトに達したか否かがチェックされる（ステップＳ５１６）。
【００６１】
１０バイトに達していなければ（ステップＳ５１６；Ｎ）、ステップＳ５０８に復帰して以上の処理を繰り返す。
【００６２】
反対に１０バイトに達していれば（ステップＳ５１６；Ｙ）、１音色分のデータが読み出されたことになる。従って、次にこれまで読み出し処理されたデータが、下位グレード機種Ｂの音色数２に達したか（最終音色のデータであるか否か）否かがチェックされる（ステップＳ５１８）。
【００６３】
読み出されたデータが、最終音色のデータであれば（ステップＳ５１８；Ｙ）、そこで、上位グレード機種Ａのグレード別データ本体の構成データを、下位グレード機種Ｂへ読み出す処理は終了する。
【００６４】
反対に読み出されたデータが、最終音色のデータでなければ（ステップＳ５１８；Ｎ）、次の音色が読み出され、そのデータエリアにアサインされる（ステップＳ５２０）。そして上記ステップＳ５０４に復帰する。
【００６５】
図１１は、図９のステップＳ４０６で行われる、下位グレード機種Ｂのグレード別データ本体の構成データを、上位グレード機種Ａへ読み出す処理のフローチャートである。
【００６６】
まず、送られた機種Ｂのデータ長の計算処理がなされる（ステップＳ６００）。すなわち、送られた機種Ｂのデータの１音色分のグレード別データ本体のワード数（バイト数）が算出される。本実施例構成の場合、グレード別データ構成マップの１になっているbit総数は６bitであり、１音色につき、６バイトの構成データが読み出される計算である。
【００６７】
そして１音色目が読み出され、そのデータエリアにアサインされる（ステップＳ６０２）。
【００６８】
送られた機種Ｂのデータのグレード別データ構成マップのビットスキャンカウンタｂの最上位ビットをカウント０とし（ステップＳ６０４）、図３ではマップワード数に合わせて０〜７の範囲でカウントされることになる。
【００６９】
送られた機種Ｂのデータのグレード別データ本体のカウンタｄをカウント０とし（ステップＳ６０６）、図３ではアタックレベルを０とし、０〜５の範囲でカウントされることになる。
【００７０】
上位グレード機種Ａのデータのグレード別データ本体のカウンタｅをカウント０とし（ステップＳ６０８）、図１よりアタックレベルを０とし、０〜９の範囲でカウントされることになる。
【００７１】
そして、上位グレード機種Ａの内部のグレード別データ構成マップのbit[b]が１の場合であって、且つ送られた下位グレード機種Ｂのグレード別データ構成マップのbit[b]が１か否かがチェックされ（ステップＳ６１０）、その値が１の場合（ステップＳ６１０；Ｎ）、次のステップＳ６１４に移行する。反対にその値が１でない場合（ステップＳ６１０；Ｙ）、ステップＳ６１２に移行する。
【００７２】
ステップＳ６１２で、送られた下位グレード機種Ｂのグレード別データ本体に上位グレード機種Ａのグレード別データ本体のデータエリアのｅバイト目に有効なデータがないので、デフォルト値が取り込まれる。
【００７３】
ステップＳ６１４では、送られた機種Ｂのグレード別データ本体のｄバイト目のデータを上位グレード機種Ａのデータエリアｅバイト目に取り込む。
【００７４】
それが終了して上記グレード別データ本体のカウンタｄ、ビットスキャンカウンタｂ及びカウンタｅが夫々インクリメントされる（ステップＳ６１６、ステップＳ６１８及びステップＳ６２０）。
【００７５】
その後グレード別データ本体のカウンタｅが、機種Ｂのデータの１音色分のグレード別データ本体のデータ長である６バイトに達したか否かがチェックされる（ステップＳ６２２）。
【００７６】
６バイトに達していなければ（ステップＳ６２２；Ｎ）、ステップＳ６１０に復帰して以上の処理を繰り返す。
【００７７】
反対に６バイトに達していれば（ステップＳ６２２；Ｙ）、１音色分のデータが読み出されたことになる。従って、次にこれまで読み出し処理されたデータが、下位グレード機種Ｂの音色数２に達したか（最終音色のデータであるか否か）否かがチェックされる（ステップＳ６２４）。
【００７８】
読み出されたデータが、最終音色のデータであれば（ステップＳ６２４；Ｙ）、そこで、下位グレード機種Ｂのグレード別データ本体の構成データを、上位グレード機種Ａへ読み出す処理は終了する。
【００７９】
反対に読み出されたデータが、最終音色のデータでなければ（ステップＳ６２４；Ｎ）、次の音色が読み出され、そのデータエリアにアサインされる（ステップＳ６２６）。そして上記ステップＳ６０４に復帰する。
【００８０】
以上説明したように本実施例構成によれば、複数のグレードがある機種構成の電子オルガンのグレード間の互換性を保つ場合に、下位グレードに無用なダミーデータを加える必要がなくなり、上述のようにその分転送スピードも上がることになる。またバージョンアップなどにより新たな種類のデータの追加が必要になった場合でも、このデータが必要なグレードだけ、グレード別データ本体の従来の構成データの後ろに追加データ分だけ追加し、これに合わせて、マップワード数及びグレード別データ構成マップを変更するだけで良い。
【００８１】
さらに詳述する。すなわち、本電子オルガンにおいて、図２及び図３に示すようなデータ構造を基にした諸種の情報処理がなされることで、下位グレードの機種Ｂから上位グレードの機種Ａに上記レジストレーションデータなどを移す場合（読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より小さい場合）に、電子オルガン本体にセットされているグレード別データ構成マップに有効データマーキングがあって、読み込み、又は受信したグレード別データ構成マップにそのマーキングがない、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子オルガンのＣＰＵにより、デフォルト値をセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記ＣＰＵにより、読み込み、又は受信した構成データをセットし、さらに電子オルガン本体にセットされているグレード別データ本体の残りの構成データが、読み込み、又は受信したグレード別データ本体の残りの構成データより多い部分に関しては、上記ＣＰＵにより、デフォルト値をセットするものとする。
【００８２】
一方、上位グレードの機種Ａから下位グレードの機種Ｂに上記レジストレーションデータなどを移す場合（読み込み、又は受信したマップワード数が電子オルガン本体にセットされているマップワード数より大きい場合）に、電子オルガン本体にセットされているグレード別データ構成マップに有効データマーキングがなくて、読み込み、又は受信したグレード別データ構成マップにそのマーキングがある、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子オルガンのＣＰＵにより、それを無視するヌル状態にセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記ＣＰＵにより、読み込み、又は受信した構成データをセットし、さらに読み込み、又は受信したグレード別データ本体の残りの構成データが楽器本体にセットされているグレード別データ本体の残りの構成データより多い部分に関しては、上記ＣＰＵにより、それを無視するヌル状態にセットするものとする。
【００８３】
従って、上記構成によれば、同じ機種の下位グレード機種Ｂ用に無用なダミーデータを加える必要がなくなって、メモリ効率が著しく向上することになる。
【００８４】
またバージョンアップなどでデータ数が増える場合に、追加データが必要なグレードだけ、構成データの従来のものの後ろ（グレード別データ構成マップのところが当初何も有効データマーキングになっていない、当然それに相当する構成データもない状態）に追加データ分だけ追加し、これに合わせてグレード別データ構成マップ、グレード別データ構成マップワード数、グレード別データ本体を変更するだけで済むことになる。
【００８５】
尚、本発明の電子楽器の構成は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【産業上の利用可能性】
【００８６】
本発明の電子楽器の構成は、機種中にグレードが存在する一般的な電化製品や電子機器の構成にも適用可能である。
【図面の簡単な説明】
【００８７】
【図１】電子オルガンにおいて情報処理のなされるところの上位グレード機種Ａと下位グレード機種Ｂの２種類での各音色データの一例を示すデータ構成説明図である。
【図２】電子オルガンにおいて情報処理のなされるところの上位グレード機種Ａのレジストレーションデータのデータ構造を示す説明図である。
【図３】電子オルガンにおいて情報処理のなされるところの下位グレード機種Ｂのレジストレーションデータのデータ構造を示す説明図である。
【図４】下位グレード機種Ｂから上位グレード機種Ａへレジストレーションデータを受け渡しする場合の例を示す説明図である。
【図５】上位グレード機種Ａから下位グレード機種Ｂへレジストレーションデータを受け渡しする場合の例を示す説明図である。
【図６】電子オルガンのＣＰＵを中心に行われるメイン処理のフローチャートである。
【図７】図６のステップＳ１０４で行われるイベント処理のフローチャートである。
【図８】図７のステップＳ２０６で行われる押鍵イベント・離鍵イベント処理のフローチャートである。
【図９】図７のステップＳ２０２で行われるデータ読み出し処理のフローチャートである。
【図１０】図９のステップＳ４０８で行われる、上位グレード機種Ａのグレード別データ本体の構成データを、下位グレード機種Ｂへ読み出す処理のフローチャートである。
【図１１】図９のステップＳ４０６で行われる、下位グレード機種Ｂのグレード別データ本体の構成データを、上位グレード機種Ａへ読み出す処理のフローチャートである。
【符号の説明】
【００８８】
Ａ、Ｂ    グレード
【図１】
0004672501.tif 000002
【図２】
0004672501.tif 000003
【図３】
0004672501.tif 000004
【図４】
0004672501.tif 000005
【図５】
0004672501.tif 000006
【図６】
0004672501.tif 000007
【図７】
0004672501.tif 000008
【図８】
0004672501.tif 000009
【図９】
0004672501.tif 000010
【図１０】
0004672501.tif 000011
【図１１】
0004672501.tif 000012