米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> 株式会社河合楽器製作所

発明の名称 電子楽器のデータ構造
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−93800(P2007−93800A)
公開日 平成19年4月12日(2007.4.12)
出願番号 特願2005−280682(P2005−280682)
出願日 平成17年9月27日(2005.9.27)
代理人 【識別番号】100086863
【弁理士】
【氏名又は名称】佐藤 英世
発明者 佐藤 馨
要約 課題
複数のグレードがある機種構成の電子楽器のレジストレーションデータなどを互換性を保ち、且つデータの追加を容易にできる電子楽器のデータ構造を提供する。

解決手段
各グレード別データ構成マップで使用されるワード数を表すマップワード数と、データ1ワードを1ビットで表し各グレード毎の有効な構成データに対応するビットをマーキングしたグレード別データ構成マップと、グレード別データ構成マップのマーキング数と同じワード数を1セットとして、各グレード別に有効な構成データからなるグレード別データ本体とを備えており、電子鍵盤楽器は、上記マップワード数及びグレード別データ構成マップを受信すると共に上記グレード別データ本体をパート数及び/又は音色分繰り返し受信し、構成データをグレード別データ構成マップに従って、各パート及び/又は音色毎にアサイン処理する。
特許請求の範囲
【請求項1】
グレード間の互換性を保ちながら、電子楽器のレジストレーションデータなどの受け渡しが可能な電子楽器に使用されるデータ構造であって、
該データ構造として、各グレード別データ構成マップで使用される複数ビットからなるワード数を表すマップワード数と、データ1ワードを1ビットで表し、各グレード毎の有効な構成データに対応するビットをマーキングして、マップワード数で規定されるワード数のグレード別データ構成マップと、グレード別データ構成マップのマーキング数と同じワード数を1セットとして、各グレード別に有効な構成データからなるグレード別データ本体とを備えており、
電子楽器の制御手段は、上記マップワード数及びグレード別データ構成マップを読み込み、または受信すると共に、上記グレード別データ本体を、パート数及び/又は音色分繰り返し読み込み、または受信し、マップワード数で、グレード別データ構成マップにおける各グレード毎の有効な構成データに必要なビット数を抽出し、さらに該グレード別データ構成マップの各ビットで各構成データの有効・無効を判定して、上記構成データを、グレード別データ構成マップに従って、各パート及び/又は音色毎に、アサイン処理することを特徴とする電子楽器のデータ構造。
【請求項2】
読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より小さい場合に、楽器本体にセットされているグレード別データ構成マップに有効データマーキングがあって、読み込み、又は受信したグレード別データ構成マップにそのマーキングがない、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子楽器の制御手段により、デフォルト値をセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記制御手段により、読み込み、又は受信した構成データをセットし、さらに楽器本体にセットされているグレード別データ本体の残りの構成データが、読み込み、又は受信したグレード別データ本体の残りの構成データより多い部分に関しては、上記制御手段により、デフォルト値をセットすることを特徴とする請求項1記載の電子楽器のデータ構造。
【請求項3】
読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より大きい場合に、楽器本体にセットされているグレード別データ構成マップに有効データマーキングがなくて、読み込み、又は受信したグレード別データ構成マップにそのマーキングがある、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子楽器の制御手段により、それを無視するヌル状態にセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記制御手段により、読み込み、又は受信した構成データをセットし、さらに読み込み、又は受信したグレード別データ本体の残りの構成データが、楽器本体にセットされているグレード別データ本体の残りの構成データより多い部分に関しては、上記制御手段により、それを無視するヌル状態にセットすることを特徴とする請求項1記載の電子楽器のデータ構造。
発明の詳細な説明
【技術分野】
【0001】
本発明は、グレード間の互換性を保ちながら、電子楽器のレジストレーションデータなどの受け渡しが可能な電子楽器のデータ構造に関する。
【背景技術】
【0002】
複数の演奏パート、音色を持つ電子楽器の場合、各パートの割り当て音色名やボリューム情報などを記憶したレジストレーションデータや、音色別のエンベロープオフセット値やビブラートオフセット値などを記憶した音色データを、その電子楽器が持つパート数分、音色分、持っている。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、機種のグレードによりパート数が違ったり、音色数が違ったりする場合、上記のデータを機種グレード間で互換性を持たせるために、従来技術の構成では、最もデータ量の多い最上位グレードのデータ構成を、全グレード共通に使用し、パート数や音色数の少ない下位グレードでは、自身には無用なデータをダミーとして持つことになり、メモリ効率が著しく劣るものとなっていた。なお、機種グレード間で互換性を持たせるのは、たとえば、練習と演奏とを、同じ機種の上位グレードと下位グレードとの間で行う場合に、すぐに上記レジストレーションデータなどをセットできるようにする必要があるからである。
【0004】
またバージョンアップなどでデータ数が増える場合に、その増えたデータが上位グレードのみに有効な場合でも、下位グレードもデータ構成の変更作業が必要となり、作業効率も悪かった。
【0005】
本発明は、以上のような問題に鑑み創案されたもので、複数のグレードがある機種構成の電子楽器のレジストレーションデータなどを互換性を保ちながら効率的に持ち、且つデータの追加を容易にできる電子楽器のデータ構造を提供せんとするものである。
【課題を解決するための手段】
【0006】
そのため本発明に係る電子楽器のデータ構造は、
グレード間の互換性を保ちながら、電子楽器のレジストレーションデータなどの受け渡しが可能な電子楽器に使用されるデータ構造であって、
該データ構造として、各グレード別データ構成マップで使用される複数ビットからなるワード数を表すマップワード数と、データ1ワードを1ビットで表し、各グレード毎の有効な構成データに対応するビットをマーキングして、マップワード数で規定されるワード数のグレード別データ構成マップと、グレード別データ構成マップのマーキング数と同じワード数を1セットとして、各グレード別に有効な構成データからなるグレード別データ本体とを備えており、
電子楽器の制御手段は、上記マップワード数及びグレード別データ構成マップを読み込み、または受信すると共に、上記グレード別データ本体を、パート数及び/又は音色分繰り返し読み込み、または受信し、マップワード数で、グレード別データ構成マップにおける各グレード毎の有効な構成データに必要なビット数を抽出し、さらに該グレード別データ構成マップの各ビットで各構成データの有効・無効を判定して、上記構成データを、グレード別データ構成マップに従って、各パート及び/又は音色毎に、アサイン処理する
ことを基本的特徴としている。
【0007】
また読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より小さい場合(下位グレードの機種から上位グレードの機種に上記レジストレーションデータなどを移す場合)に、楽器本体にセットされているグレード別データ構成マップに有効データマーキングがあって、読み込み、又は受信したグレード別データ構成マップにそのマーキングがない、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子楽器の制御手段により、デフォルト値をセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記制御手段により、読み込み、又は受信した構成データをセットし、さらに楽器本体にセットされているグレード別データ本体の残りの構成データが、読み込み、又は受信したグレード別データ本体の残りの構成データより多い部分に関しては、上記制御手段により、デフォルト値をセットするものとする。
【0008】
さらに、読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より大きい場合(上位グレードの機種から下位グレードの機種に上記レジストレーションデータなどを移す場合)に、楽器本体にセットされているグレード別データ構成マップに有効データマーキングがなくて、読み込み、又は受信したグレード別データ構成マップにそのマーキングがある、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子楽器の制御手段により、それを無視するヌル状態にセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記制御手段により、読み込み、又は受信した構成データをセットし、さらに読み込み、又は受信したグレード別データ本体の残りの構成データが、楽器本体にセットされているグレード別データ本体の残りの構成データより多い部分に関しては、上記制御手段により、それを無視するヌル状態にセットするものとする。
【0009】
機種グレード間で互換性を持たせるために、従来技術の構成では、最もデータ量の多い最上位グレードのデータ構成を、全グレード共通に使用し、パート数や音色数の少ない下位グレードでは、自身には無用なデータをダミーとして持つ必要があったが、上記本発明によれば、上記のようなデータ構造とすることにより、同じ機種の下位グレード用に無用なダミーデータを加える必要がなくなって、メモリ効率が著しく向上することになる。
【0010】
またバージョンアップなどでデータ数が増える場合に、追加データが必要なグレードだけ、構成データの従来のものの後ろ(グレード別データ構成マップのところが当初何も有効データマーキングになっていない、当然それに相当する構成データもない状態)に追加データ分だけ追加し、これに合わせてグレード別データ構成マップ、グレード別データ構成マップワード数、グレード別データ本体を変更するだけで済むことになる。
【発明の効果】
【0011】
本発明の請求項1〜請求項3記載の電子楽器のデータ構造によれば、同じ機種の下位グレードの、メモリ効率が著しく向上することになるという優れた効果を奏し得る。
【0012】
また同じ機種のグレードが複数ある場合でも、ある特定のグレードに対しての、データの追加も容易にできるようになる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態を図示例と共に説明する。
図1は、電子オルガンの上位グレード機種Aと下位グレード機種Bの2種類での各音色データの一例を示すデータ構成説明図である。
【0014】
この電子オルガンの上位グレード機種Aでは、同図に示すように、音色数が3つで、アタックレベル、アタックタイム、ディケイ1レベル、ディケイ1タイム、ディケイ2レベル、ディケイ2タイム、リリースタイム、トランスポーズ、チューニングMSB、チューニングLSBの10種のデータを、レジストレーションデータとして備えている。他方同電子オルガンの下位グレード機種Bでは、同図に示すように、音色数が2つで、アタックレベル、アタックタイム、ディケイ1レベル、ディケイ1タイム、リリースタイム、トランスポーズ、の6種のデータを、レジストレーションデータとして備えている。
【0015】
図2及び図3は、電子オルガンの上位グレード機種Aと下位グレード機種Bのレジストレーションデータのデータ構造を示している。これらのデータは、各グレード別データ構成マップで使用される複数ビットからなるワード数を表すマップワード数と、データ1バイトを1ビットで表し、各グレード毎の有効な構成データに対応するビットをマーキングして、マップワード数で規定されるワード数のグレード別データ構成マップと、グレード別データ構成マップのマーキング数と同じワード数を1セットとして、各グレード別に有効な構成データからなるグレード別データ本体とを備えている。
【0016】
そのうち、図2は、上記上位グレード機種Aのレジストレーションデータのデータ構造を示す説明図である。機種Aでは、上述のように、10種のデータが有効な構成データであるので、10種の有効な構成データに対応するビットをマーキングしており、そのため、グレード別データ構成マップは、1バイトではなく、2バイト(16ビット)必要であり、そのためマップワード数は、2に設定されている。
【0017】
そして、その後に、10種の有効な構成データそのものが、1バイト(8ビット)構成の各データがシーケンスに連続して、グレード別データ本体となっている。ただし、上位グレード機種Aは、3音色であるので、3つのシーケンスが連続することになる。
【0018】
また図3は、上記下位グレード機種Bのレジストレーションデータのデータ構造を示す説明図である。機種Bでは、上述のように、6種のデータが有効な構成データであるので、6種の有効な構成データに対応するビットをマーキングしており、そのため、グレード別データ構成マップは、1バイト(8ビット)で足り、そのためマップワード数は、1に設定されている。
【0019】
そして、その後に、6種の有効な構成データそのものが、1バイト(8ビット)構成の各データがシーケンスに連続して、グレード別データ本体となっている。ただし、下位グレード機種Bは、2音色であるので、2つのシーケンスが連続することになる。
【0020】
以上のような構成であると、同一種類の電子オルガンをバージョンアップし、上記10種類のデータとは異なる別の種類のデータを増やす場合でも、上位グレード機種Aでは、2バイトのうち、6ビット分のグレード別データ構成マップ上の構成データが有効になっていないため、たとえば11ビット目の0に設定されたビットを1に変更し、グレード別データ本体に、新たな構成データ(1ワード、例えば8ビット)を追加すれば済む。
【0021】
他方、下位グレード機種Bでは、1バイト分使用してグレード別データ構成マップ上の構成データの有効・無効を示しており、新たな構成データの付加は、そのままではできない。そのため、マップワード数を1バイトから2バイトに変更し、2バイト目の最初の2つは、無効な構成データであるので、両方とも0にセットし、そして上記上位グレード機種Aに合わせて、たとえば11ビット目のビットを1にセットし、グレード別データ本体に、新たな構成データ(1ワード、例えば8ビット)を追加することで、上記バージョンアップに対応可能となる。
【0022】
もちろん、これらで付加された構成データは、上記音色分の付加が必要となる。
【0023】
図4は、下位グレード機種Bから上位グレード機種Aへレジストレーションデータを受け渡しする場合の例を示している。すなわち、下位グレード機種Bに設定されたレジストレーションデータをフレキシブルディスクなどに書き込み、それを上位グレード機種Aで読み込んで、機種Bに設定されたレジストレーションデータを機種Aに反映できるようにする状態を示している。
【0024】
その際、上位グレード機種Aでは、その内部に備えられたCPU(図示無し)により、上記マップワード数及びグレード別データ構成マップが読み出され、また上記グレード別データ本体が、音色分繰り返し読み出される。
【0025】
そして、マップワード数から、グレード別データ構成マップにおける各グレード毎の有効な構成データに必要なビット数が抽出される。さらに該グレード別データ構成マップの各ビットで各構成データの有効・無効が判定され、上記グレード別データ本体の各8ビットからなる構成データが、グレード別データ構成マップに従って、アサイン処理される。
【0026】
すなわち上位グレード機種Aでは、そのCPUにより、[読み出されたマップワード数(機種Bのもの)]<(機種A自身に設定されているマップワード数)、と判断されるので、機種A自身に設定されているグレード別データ構成マップに有効構成データのマーキングがあり、読み出されたグレード別データ構成マップに有効構成データのマーキングがない場合、読み出されたグレード別データ本体に、有効な構成データがないので、機種A自身が規定するデフォルト値が設定される。
【0027】
また(機種A自身に設定されているグレード別データ構成マップ)と、(読み出されたグレード別データ構成マップ)との、両方にマーキングがある場合、読み出されたグレード別データ本体の該当する構成データが、そのまま設定される。
【0028】
さらに、(機種A自身に設定されているグレード別データ構成マップ)が、(読み出されたグレード別データ構成マップ)より多い部分に関しては、読み出されたグレード別データ本体の該当する構成データがないため、機種A自身が規定するデフォルト値が設定される。
【0029】
図5は、上位グレード機種Aから下位グレード機種Bへレジストレーションデータを受け渡しする場合の例を示している。すなわち、上位グレード機種Aに設定されたレジストレーションデータをフレキシブルディスクなどに書き込み、それを下位グレード機種Bで読み込んで、機種Aに設定されたレジストレーションデータを機種Bに反映できるようにする状態を示している。
【0030】
その際、下位グレード機種Bでは、その内部に備えられたCPU(図示無し)により、上記マップワード数及びグレード別データ構成マップが読み出され、また上記グレード別データ本体が、音色分繰り返し読み出される。
【0031】
そして、マップワード数から、グレード別データ構成マップにおける各グレード毎の有効な構成データに必要なビット数が抽出される。さらに該グレード別データ構成マップの各ビットで各構成データの有効・無効が判定され、上記グレード別データ本体の各8ビットからなる構成データが、グレード別データ構成マップに従って、アサイン処理される。
【0032】
すなわち下位グレード機種Bでは、そのCPUにより、[読み出されたマップワード数(機種Aのもの)]>(機種B自身に設定されているマップワード数)、と判断されるので、機種B自身に設定されているグレード別データ構成マップに有効構成データのマーキングがなく、読み出されたグレード別データ構成マップに有効構成データのマーキングがある場合、読み出されたグレード別データ本体の、該当する有効な構成データは、この下位グレード機種Bでは使用しないので、そのデータを無視するヌル状態に設定される。
【0033】
また(機種B自身に設定されているグレード別データ構成マップ)と、(読み出されたグレード別データ構成マップ)との、両方にマーキングがある場合、読み出されたグレード別データ本体の該当する構成データが、そのまま設定される。
【0034】
さらに、(機種B自身に設定されているグレード別データ構成マップ)が、(読み出されたグレード別データ構成マップ)より多い部分に関しては、読み出されたグレード別データ本体の該当する構成データは使用されないため、そのデータを無視するヌル状態に設定される。
【0035】
以上のデータに関し、上位グレード機種Aのグレード別データ本体では、1音色10バイト(1種類の構成データにつき1バイトの構成であり、1音色に10種類のデータがあるため)であり、それが3音色分あるため、全体で30バイト分のデータで構成される。また下位グレード機種Bのグレード別データ本体では、1音色6バイト(1種類の構成データにつき1バイトの構成であり、1音色に6種類のデータがあるため)であり、それが2音色分あるため、全体で12バイト分のデータで構成される。
【0036】
そして、上位グレード機種Aから下位グレード機種Bへレジストレーションデータが受け渡しされる場合、マップワード数を示す部分に2バイト、グレード別データ構成マップに2バイト、そして上述のように、上位グレード機種Aのグレード別データ本体全体で30バイト分が必要となるため、合計34バイトが転送されることになる。反対に下位グレード機種Bから上位グレード機種Aへレジストレーションデータが受け渡しされる場合、マップワード数を示す部分に2バイト、グレード別データ構成マップに1バイト、そして上述のように、下位グレード機種Bのグレード別データ本体全体で12バイト分が必要となるため、合計15バイトが転送されることになる。
【0037】
図6〜図11は、上記電子オルガンにおける処理のフローを示すフローチャートである。
【0038】
図6は、上記電子オルガンのCPUを中心に行われるメイン処理のフローチャートである。
【0039】
まず、初期化がなされ(ステップS100)、イベントがあるか否かがチェックされる(ステップS102)。
【0040】
イベントがあれば(ステップS102;Y)、イベント処理がなされ(ステップS104)、イベントがなければ(ステップS102;N)、イベント処理がなされず、その後ビブラート処理などの定常処理がなされる(ステップS106)。
【0041】
図7は、図6のステップS104で行われるイベント処理のフローチャートである。
【0042】
まず、データ読み出しがあるか否かがチェックされ(ステップS200)、データ読み出しがあれば(ステップS200;Y)、データ読み出し処理がなされる(ステップS202)。
【0043】
他方データ読み出しがなければ(ステップS200;N)、鍵イベントがあるか否かがチェックされ(ステップS204)、鍵イベントがあれば(ステップS204;Y)、押鍵イベント・離鍵イベント処理がなされる(ステップS206)。
【0044】
他方鍵イベントがなければ(ステップS204;N)、他のイベント処理がなされる(ステップS208)。
【0045】
図8は、図7のステップS206で行われる押鍵イベント・離鍵イベント処理のフローチャートである。
【0046】
同図によれば、レジストが読み出され(ステップS300)、CPUにより発音データが演算処理されて(ステップS302)、発音データが送出される(ステップS304)。
【0047】
図9は、図7のステップS202で行われるデータ読み出し処理のフローチャートである。
【0048】
上記フレキシブルディスクから、データ読み出し処理がなされるが、まず、マップワード数部分からデータ長が読み出される(ステップS400)。
【0049】
このデータ長から次に読み込むマップのワード数(本実施例の場合バイト数)が分かるので、グレード別データ構成マップの各ビットの値が読み出される(ステップS402)。
【0050】
さらに上記マップワード数から下位グレード機種Bか上位グレード機種Aかが分かるため、下位グレード機種か否かがチェックされる(ステップS404)。
【0051】
下位グレード機種Bであれば(ステップS404;Y)、グレード別データ構成マップの各ビットの値に従って、下位グレード機種Bのグレード別データ本体の構成データが読み出される(ステップS406)。反対に上位グレード機種Aであれば(ステップS404;N)、グレード別データ構成マップの各ビットの値に従って、上位グレード機種Aのグレード別データ本体の構成データが読み出される(ステップS408)。
【0052】
図10は、図9のステップS408で行われる、上位グレード機種Aのグレード別データ本体の構成データを、下位グレード機種Bへ読み出す処理のフローチャートである。
【0053】
まず、送られた機種Aのデータ長の計算処理がなされる(ステップS500)。すなわち、送られた機種Aのデータの1音色分のグレード別データ本体のワード数(バイト数)が算出される。本実施例構成の場合、グレード別データ構成マップの1になっているbit総数は10bitであり、1音色につき、10バイトの構成データが読み出される計算である。
【0054】
そして1音色目が読み出され、そのデータエリアにアサインされる(ステップS502)。
【0055】
送られた機種Aのデータのグレード別データ構成マップのビットスキャンカウンタbの最上位ビットをカウント0とし(ステップS504)、図2ではマップワード数に合わせて0〜15の範囲でカウントされることになる。
【0056】
送られた機種Aのデータのグレード別データ本体のカウンタdをカウント0とし(ステップS506)、図2ではアタックレベルを0とし、0〜9の範囲でカウントされることになる。
【0057】
そして、下位グレード機種Bの内部のグレード別データ構成マップのbit[b]が1の場合であって、且つ送られた上位グレード機種Aのグレード別データ構成マップのbit[b]が1か否かがチェックされ(ステップS508)、その値が1の場合(ステップS508;N)、次のステップS510に移行する。反対にその値が1でない場合(ステップS508;Y)、ステップS512に移行する。
【0058】
ステップS510では、送られた機種Aのグレード別データ本体のdバイト目のデータを下位グレード機種Bのデータエリア(グレード別データ本体)に取り込む。
【0059】
それが終了して上記ビットスキャンカウンタb及びグレード別データ本体のカウンタdが夫々インクリメントされる(ステップS512、ステップS514)。
【0060】
その後グレード別データ本体のカウンタdが、機種Aのデータの1音色分のグレード別データ本体のデータ長である10バイトに達したか否かがチェックされる(ステップS516)。
【0061】
10バイトに達していなければ(ステップS516;N)、ステップS508に復帰して以上の処理を繰り返す。
【0062】
反対に10バイトに達していれば(ステップS516;Y)、1音色分のデータが読み出されたことになる。従って、次にこれまで読み出し処理されたデータが、下位グレード機種Bの音色数2に達したか(最終音色のデータであるか否か)否かがチェックされる(ステップS518)。
【0063】
読み出されたデータが、最終音色のデータであれば(ステップS518;Y)、そこで、上位グレード機種Aのグレード別データ本体の構成データを、下位グレード機種Bへ読み出す処理は終了する。
【0064】
反対に読み出されたデータが、最終音色のデータでなければ(ステップS518;N)、次の音色が読み出され、そのデータエリアにアサインされる(ステップS520)。そして上記ステップS504に復帰する。
【0065】
図11は、図9のステップS406で行われる、下位グレード機種Bのグレード別データ本体の構成データを、上位グレード機種Aへ読み出す処理のフローチャートである。
【0066】
まず、送られた機種Bのデータ長の計算処理がなされる(ステップS600)。すなわち、送られた機種Bのデータの1音色分のグレード別データ本体のワード数(バイト数)が算出される。本実施例構成の場合、グレード別データ構成マップの1になっているbit総数は6bitであり、1音色につき、6バイトの構成データが読み出される計算である。
【0067】
そして1音色目が読み出され、そのデータエリアにアサインされる(ステップS602)。
【0068】
送られた機種Bのデータのグレード別データ構成マップのビットスキャンカウンタbの最上位ビットをカウント0とし(ステップS604)、図3ではマップワード数に合わせて0〜7の範囲でカウントされることになる。
【0069】
送られた機種Bのデータのグレード別データ本体のカウンタdをカウント0とし(ステップS606)、図3ではアタックレベルを0とし、0〜5の範囲でカウントされることになる。
【0070】
上位グレード機種Aのデータのグレード別データ本体のカウンタeをカウント0とし(ステップS608)、図1よりアタックレベルを0とし、0〜9の範囲でカウントされることになる。
【0071】
そして、上位グレード機種Aの内部のグレード別データ構成マップのbit[b]が1の場合であって、且つ送られた下位グレード機種Bのグレード別データ構成マップのbit[b]が1か否かがチェックされ(ステップS610)、その値が1の場合(ステップS610;N)、次のステップS614に移行する。反対にその値が1でない場合(ステップS610;Y)、ステップS612に移行する。
【0072】
ステップS612で、送られた下位グレード機種Bのグレード別データ本体に上位グレード機種Aのグレード別データ本体のデータエリアのeバイト目に有効なデータがないので、デフォルト値が取り込まれる。
【0073】
ステップS614では、送られた機種Bのグレード別データ本体のdバイト目のデータを上位グレード機種Aのデータエリアeバイト目に取り込む。
【0074】
それが終了して上記グレード別データ本体のカウンタd、ビットスキャンカウンタb及びカウンタeが夫々インクリメントされる(ステップS616、ステップS618及びステップS620)。
【0075】
その後グレード別データ本体のカウンタeが、機種Bのデータの1音色分のグレード別データ本体のデータ長である6バイトに達したか否かがチェックされる(ステップS622)。
【0076】
6バイトに達していなければ(ステップS622;N)、ステップS610に復帰して以上の処理を繰り返す。
【0077】
反対に6バイトに達していれば(ステップS622;Y)、1音色分のデータが読み出されたことになる。従って、次にこれまで読み出し処理されたデータが、下位グレード機種Bの音色数2に達したか(最終音色のデータであるか否か)否かがチェックされる(ステップS624)。
【0078】
読み出されたデータが、最終音色のデータであれば(ステップS624;Y)、そこで、下位グレード機種Bのグレード別データ本体の構成データを、上位グレード機種Aへ読み出す処理は終了する。
【0079】
反対に読み出されたデータが、最終音色のデータでなければ(ステップS624;N)、次の音色が読み出され、そのデータエリアにアサインされる(ステップS626)。そして上記ステップS604に復帰する。
【0080】
以上説明したように本実施例構成によれば、複数のグレードがある機種構成の電子オルガンのグレード間の互換性を保つ場合に、下位グレードに無用なダミーデータを加える必要がなくなり、上述のようにその分転送スピードも上がることになる。またバージョンアップなどにより新たな種類のデータの追加が必要になった場合でも、このデータが必要なグレードだけ、グレード別データ本体の従来の構成データの後ろに追加データ分だけ追加し、これに合わせて、マップワード数及びグレード別データ構成マップを変更するだけで良い。
【0081】
さらに詳述する。すなわち、図2及び図3に示すようなデータ構造とするこで、下位グレードの機種Bから上位グレードの機種Aに上記レジストレーションデータなどを移す場合(読み込み、又は受信したマップワード数が楽器本体にセットされているマップワード数より小さい場合)に、電子オルガン本体にセットされているグレード別データ構成マップに有効データマーキングがあって、読み込み、又は受信したグレード別データ構成マップにそのマーキングがない、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子オルガンのCPUにより、デフォルト値をセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記CPUにより、読み込み、又は受信した構成データをセットし、さらに電子オルガン本体にセットされているグレード別データ本体の残りの構成データが、読み込み、又は受信したグレード別データ本体の残りの構成データより多い部分に関しては、上記CPUにより、デフォルト値をセットするものとする。
【0082】
一方、上位グレードの機種Aから下位グレードの機種Bに上記レジストレーションデータなどを移す場合(読み込み、又は受信したマップワード数が電子オルガン本体にセットされているマップワード数より大きい場合)に、電子オルガン本体にセットされているグレード別データ構成マップに有効データマーキングがなくて、読み込み、又は受信したグレード別データ構成マップにそのマーキングがある、読み込み、又は受信したグレード別データ本体の構成データについて、上記電子オルガンのCPUにより、それを無視するヌル状態にセットすると共に、両方に有効データマーキングがあるものに相当するグレード別データ本体の構成データについては、上記CPUにより、読み込み、又は受信した構成データをセットし、さらに読み込み、又は受信したグレード別データ本体の残りの構成データが楽器本体にセットされているグレード別データ本体の残りの構成データより多い部分に関しては、上記CPUにより、それを無視するヌル状態にセットするものとする。
【0083】
従って、上記構成によれば、同じ機種の下位グレード機種B用に無用なダミーデータを加える必要がなくなって、メモリ効率が著しく向上することになる。
【0084】
またバージョンアップなどでデータ数が増える場合に、追加データが必要なグレードだけ、構成データの従来のものの後ろ(グレード別データ構成マップのところが当初何も有効データマーキングになっていない、当然それに相当する構成データもない状態)に追加データ分だけ追加し、これに合わせてグレード別データ構成マップ、グレード別データ構成マップワード数、グレード別データ本体を変更するだけで済むことになる。
【0085】
尚、本発明の電子楽器のデータ構造は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【産業上の利用可能性】
【0086】
本発明の電子楽器のデータ構造は、電子楽器だけではなく、機種中にグレードが存在する一般的な電化製品や電子機器におけるデータ構造にも適用可能である。
【図面の簡単な説明】
【0087】
【図1】電子オルガンの上位グレード機種Aと下位グレード機種Bの2種類での各音色データの一例を示すデータ構成説明図である。
【図2】電子オルガンの上位グレード機種Aのレジストレーションデータのデータ構造を示す説明図である。
【図3】電子オルガンの下位グレード機種Bのレジストレーションデータのデータ構造を示す説明図である。
【図4】下位グレード機種Bから上位グレード機種Aへレジストレーションデータを受け渡しする場合の例を示す説明図である。
【図5】上位グレード機種Aから下位グレード機種Bへレジストレーションデータを受け渡しする場合の例を示す説明図である。
【図6】電子オルガンのCPUを中心に行われるメイン処理のフローチャートである。
【図7】図6のステップS104で行われるイベント処理のフローチャートである。
【図8】図7のステップS206で行われる押鍵イベント・離鍵イベント処理のフローチャートである。
【図9】図7のステップS202で行われるデータ読み出し処理のフローチャートである。
【図10】図9のステップS408で行われる、上位グレード機種Aのグレード別データ本体の構成データを、下位グレード機種Bへ読み出す処理のフローチャートである。
【図11】図9のステップS406で行われる、下位グレード機種Bのグレード別データ本体の構成データを、上位グレード機種Aへ読み出す処理のフローチャートである。
【符号の説明】
【0088】
A、B グレード




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013