【事件の表示】
　特許第２７４６１５７号「電子楽器」の請求項１ないし３に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結論】
　訂正を認める。
　特許第２７４６１５７号の請求項１、３に係る特許を維持する。
【理由】
１．手続きの経緯
　　特許出願　　　　　平成６年１１月１６日
　　特許権設定登録　　平成１０年２月１３日
　　特許異議の申立て　平成１０年１０月２７日
　　　（異議申立人石原伴蔵）
　　取消理由通知　　　平成１１年４月８日
　　特許異議意見　　　平成１１年６月２１日
　　訂正請求　　　　　平成１１年６月２１日
　　訂正拒絶理由通知　平成１１年９月８日
　　手続補正（訂正請求書）　平成１１年９月８日
２．訂正の適法性
（１）本件発明
　訂正特許明細書の請求項１、２に係る発明（以下、「本件発明」という。）は、その特許請求の範囲の請求項１、２に記載された次のとおりのものである。
「【請求項１】
音色群選択情報を受信し、受信した音色群選択情報を保持し、
前記保持してある音色群選択情報により選択される音色群の中の前記
により選択される音色を設定し、該設定した音色で
　前記受信した音色選択情報
により選択される
前記保持されている音色群選択情報により選択される音色群の中に備えられている音色であるときは、前記受信した音色選択情報により選択される音色に設定するとともに、前記音色群選択情報により選択される音色群に対応した記憶エリアに前記受信した音色選択情報を記憶し、前記受信した音色選択情報により選択される音色が、前記保持されている音色群選択情報により選択される音色群の中
より選択される
設定
前記受信した音色選択情報が属する音色群において最後
前記記憶エリアに記憶されている
選択情報により選択される音色に設定する
　【請求項
２
該音色選択情報で選択された音色に
　
前記他の電子楽器に設定される所望の
を選択する
を
する前
該所望の音色が標準音色であるか否かを判断する判断手段と、
　
前記判断手段において標準音色でないと判断された場合、該所望の
される標準
し記憶する選択記憶
　
前記判断手段において前記所望の音色が標準音色でないと判断された場合には、前記選択記憶手段に記憶された標準音色を選択する
所望の音色を選択する
し、前記判断手段において前記所望の音色が標準音色であると判断された場合には、前記所望の音色を選択する音色選択情報を送信
送信
、
　を備えたことを特徴とする電子楽器。」
（２）訂正の目的の適否及び拡張・変更の存否
　上記訂正は、訂正前特許請求の範囲の請求項１〜３に対して、請求項２を削除し請求項３を繰り上げて請求項２とし、上記特許請求の範囲の請求項１、２の記載事項中、下線部の構成を付加限定し若しくは明瞭化したものであって、特許請求の範囲の減縮若しくは明瞭でない記載の釈明に該当し、実質的に特許請求の範囲を拡張又は変更するものではない。
（３）独立特許要件の判断
　本件特許発明に対して、当審が通知した取消理由で引用した刊行物１（特開平４−６５９８号公報：甲第１号証）には、「音色選択装置」であって「従来、鍵盤などの演奏手段を有する、あるいは有さない電子楽器において生成する楽音の音色を選択する場合には、パネル上などに設けられた音色選択操作子を操作して選択する他に、ＭＩＤＩなどの通信手段を介して他の電子楽器など外部の装置から受信した音色選択指令にもとづいて選択することも広く行われている。」、「音色選択指令を受信した電子楽器では受信した音色番号に対応する音色を選択する。」及び「楽音生成できない音色に対応する音色番号が指定された場合には音色選択指令が無視され音色が切り換えが行われないために不適当な音色で楽音生成がなされるといった問題点があった。」ことが、同刊行物２（「Ｋｅｙｂｏａｒｄ　ｍａｇａｚｉｎｅ」、１９９３年１月号、１９９３年１月１日株式会社リットーミュージック発行、第７１頁：甲第２号証）には、「ＭＩＤＩ　ＦＯＲＵＭ」と題する記事中の「バンク・セレクト」の項に「音色の切り換えは、プログラム・チェンジで行われる。このデータ・バイトは１バイト（７ビット）なので，０〜１２７までの１２８通りしか音色を切り換えることができない。しかし，最近のシンセサイザーには１０００近い音色を持つものまで登場するなど１２８種類ではとうてい間に合わない状況である。そこで，バンクを切り換えることで，プログラム・チェンジを拡張しようということになった。動作としては，バンク・セレクトによってバンクを切り換えておき，次にプログラム・チェンジによってバンク内の音色を切り換える。・・・・バンク・セレクトは，来るべきプログラム・チェンジのためにメモリーされるだけである。プログラム・チェンジを受信してはじめて音色が切り変わる。バンクは，一度送ればメモリーされている・・・・自分にとって意味を持たないバンク指定を受けたとき，どう処理するかは受信側の自由である。メッセージを無視するもの，代替えのバンクが選択されるものなど様々。」であることが、夫々記載されている。
同周知技術は、周知の一般的な電子楽器に於いて、音色選択スイッチの操作に応じて音色選択情報を送信することである。
　そこで、本件発明と上記刊行物１、２に記載された発明及び上記周知技術とを対比すると、後者のいずれも、少なくとも前者の必須の構成要件である「前記受信した音色選択情報により選択される音色が、前記保持されている音色群選択情報により選択される音色群の中に備えられていない音色であるときは、前記受信した音色選択情報により選択される音色の設定は行わず、前記受信した音色選択情報が属する音色群において最後に有効であった前記記憶エリアに記憶されている音色選択情報により選択される音色に設定する手段」あるいは「前記他の電子楽器に設定される所望の音色を選択する音色選択情報を送信する前に、該所望の音色が標準音色であるか否かを判断する判断手段」を具備していない。
　そして、前者は上記必須の構成要件を具備することにより、後者から予測できない「受信した音色を持っていない場合の音色の置き換え時に、過去に受信して有効であった音色に置き換わるようにしているので、常に同一の音色に置き換わってしまうのではなく、指示に従って置き換わる先の音色を指定することが出来、従来の方法より、自由度の高い置き換えを実現することが出来る。」という明細書記載のとおりの顕著な作用効果を奏するものであるから、前者が後者のいずれかと同一であるとも、後者から容易に発明をすることができたものともいえない。
　また、本件特許明細書の記載に不備があるとの取消理由については、上記訂正により記載不備が解消したことは明らかであるので、この取消理由は理由がないものである。
　したがって、本件発明は特許出願の際独立して特許を受けることができない発明とすることはできない。
（４）その他の訂正について
　上記特許請求の範囲の減縮若しくは明瞭でない記載の釈明に伴い、明細書の明瞭でない記載の釈明をしたものであって、実質的に特許請求の範囲を拡張又は変更するものではない。
（５）むすび
　以上のとおりであるから、上記訂正請求は、特許法第１２０条の４第２項及び同条第３項で準用する第１２６条第２〜４項の規定に適合するので、当該訂正を認める。
３．特許異議申立てについての判断
（１）特許異議申立ての理由の概要
　異議申立人石原伴蔵は、特許請求の範囲の請求項１、２に係る発明は、甲第１号証若しくは甲第２号証に記載された発明と同一であり、特許法第２９条第１項の規定により、また甲第１号証及び又は甲第２号証に記載された発明に基いて、当業者が容易に発明をすることができたものであり、特許法第２９条第２項の規定により、また特許請求の範囲の請求項２の記載は不備であって、特許法第３６条の規定に違反しているので、また特許請求の範囲の請求項３に係る発明は、周知技術と同一であり、特許法第２９条第１項の規定により、また周知技術に基いて、当業者が容易に発明をすることができたものであり、特許法第２９条第２項の規定により、また本件特許明細書の記載は不備であって、特許法第３６条の規定に違反しているので、特許を受けることができないものであるから、その特許は取り消されるべきものである旨主張している。
（２）判断
　本件発明は、上記２．（３）で示したように、いずれの取消理由も存しないものである。
４．むすび
　以上のとおりであるから、特許異議申立ての理由及び証拠によって、本件発明の特許を取り消すことはできない。
　よって、結論のとおり決定する。
【異議決定日】
平成１１年９月１７日（１９９９．９．１７）
【訂正の要旨】
▲１▼特許請求の範囲を、
『【請求項１】
　
音色群選択情報を受信し、受信した音色群選択情報を保持し、
前記保持してある音色群選択情報により選択される音色群の中の前記
より選択される音色を設定し、該設定した音色で
　前記受信した音色選択情報
により選択される
前記保持されている音色群選択情報により選択される音色群の中に備えられている音色であるときは、前記受信した音色選択情報により選択される音色に設定するとともに、前記音色群選択情報により選択される音色群に対応した記憶エリアに前記受信した音色選択情報を記憶し、前記受信した音色選択情報により選択される音色が、前記保持されている音色群選択情報により選択される音色群の中
より選択される
設定
前記受信した音色選択情報が属する音色群において最後に
前記記憶エリアに記憶されている
選択情報により選択される音色に設定する
　【請求項
２
　他の電子楽器に向けて音色選択情報を送信し、該他の電子楽器により発音される楽音の音色を
該音色選択情報で選択された音色に
　
前記他の電子楽器に設定される所望の
を選択する
を
する前
該所望の音色が標準音色であるか否かを判断する判断手段と、
　
前記判断手段において標準音色でないと判断された場合、該所望の
される標準
し記憶する選択記憶
　
前記判断手段において前記所望の音色が標準音色でないと判断された場合には、前記選択記憶手段に記憶された標準音色を選択する
所望の音色を選択する
し、前記判断手段において前記所望の音色が標準音色であると判断された場合には、前記所望の音色を選択する音色選択情報を送信
送信
、
　を備えたことを特徴とする電子楽器。』
と訂正する。
▲２▼明細書の段落【０００８】を、
『【課題を解決するための手段】
　本発明は、
音色群選択情報を受信し、受信した音色群選択情報を保持し、
前記保持してある音色群選択情報により選択される音色群の中の前記
より選択される音色を設定し、該設定した音色で
により選択される
前記保持されている音色群選択情報により選択される音色群の中に備えられている音色であるときは、前記受信した音色選択情報により選択される音色に設定するとともに、前記音色群選択情報により選択される音色群に対応した記憶エリアに前記受信した音色選択情報を記憶し、前記受信した音色選択情報により選択される音色が、前記保持されている音色群選択情報により選択される音色群の中
より選択される
設定
前記受信した音色選択情報が属する音色群において最後に
前記記憶エリアに記憶されている
選択情報により選択される音色に設定する
と訂正する。
▲３▼明細書の段落【０００９】を、削除する。
▲４▼明細書の段落【００１０】を、
『さらに、他の電子楽器に向けて音色選択情報を送信し、該他の電子楽器により発音される楽音の音色を
該音色選択情報で選択された音色
前記他の電子楽器に設定される所望の
を選択する
を
する前
該所望の音色が標準音色であるか否かを判断する判断手段と、前記判断手段において標準音色でないと判断された場合、該所望の
される標準
し記憶する選択記憶
前記判断手段において前記所望の音色が標準音色でないと判断された場合には、前記選択記憶手段に記憶された標準音色を選択する
所望の音色を選択する
し、前記判断手段において前記所望の音色が標準音色であると判断された場合には、前記所望の音色を選択する音色選択情報を送信
送信
、
と訂正する。
（５４）【発明の名称】
電子楽器
（５７）【特許請求の範囲】
　　【請求項１】
　
音色群選択情報を受信し、受信した音色群選択情報を保持し、
前記保持してある音色群選択情報により選択される音色群の中の前記
により選択される音色を設定し、該設定した音色で
　前記受信した音色選択情報
により選択される
前記保持されている音色群選択情報により選択される音色群の中に備えられている音色であるときは、前記受信した音色選択情報により選択される音色に設定するとともに、前記音色群選択情報により選択される音色群に対応した記憶エリアに前記受信した音色選択情報を記憶し、前記受信した音色選択情報により選択される音色が、前記保持されている音色群選択情報により選択される音色群の中
より選択される
設定
前記受信した音色選択情報が属する音色群において最後に
前記記憶エリアに記憶されている
選択情報により選択される音色に設定する
　　【請求項
２
　他の電子楽器に向けて音色選択情報を送信し、該他の電子楽器により発音される楽音の音色を
該音色選択情報で選択された音色に
　
前記他の電子楽器に設定される所望の
を選択する
を
する前
該所望の音色が標準音色であるか否かを判断する判断手段と、
　
前記判断手段において標準音色でないと判断された場合、該所望の
される標準
し記憶する選択記憶
　
前記判断手段において前記所望の音色が標準音色でないと判断された場合には、前記選択記憶手段に記憶された標準音色を選択する
所望の音色を選択する
し、前記判断手段において前記所望の音色が標準音色であると判断された場合には、前記所望の音色を選択する音色選択情報を送信
送信
、
　を備えたことを特徴とする電子楽器。
【発明の詳細な説明】
　　　【０００１】
　　【産業上の利用分野】
　この発明は、電子楽器に関し、特にＭＩＤＩにより各種のデータを受信および送信して動作する電子楽器などに適用して好適な技術に関する。
　　　【０００２】
　　【従来の技術】
　特開昭５９−１９７０９０号公報には、外部から取り込まれた楽音制御情報を、その楽音発生手段で発生可能な楽音の特性を制御する楽音制御用データに変換する技術が示されている。これは、その電子楽器で発音できない音色を受け付けたときに、なんらかの音色で置き換えて発音するものである。
　　　【０００３】
　しかしながら、楽器の音色のなかには置き換えることができる音色と置き換えることがふさわしくない音色とがある。上記公報に開示された技術では、すべての音色を置き換えていたので、これらの考慮がなされていなかった。
　　　【０００４】
　機種間で楽曲データを共通にするには、特定の音色番号に対して、機種で共通の音色を割り当てることが望ましい。しかしながら、各機種は個別の発音方式と、個別の性能を有しているので、その機種固有の音色を持つことも考えられる。さらに、機種間で共通の音色についても、高級な機種であれば、その中で複数の音色のバリエーションを持つことが考えられる。
　　　【０００５】
　ここで、音色の少ない機種を用いて、高級な機種の楽曲データを再生しようとした場合、対応する音色番号がないことが考えられるが、バリエーションのなかで音色を置き換えても、問題は生じない。ところが、機種固有の音色に関しては、置き換えた場合、全く違った楽音が発生し、楽曲データの再生に支障を来すことが考えられる。
　　　【０００６】
　また、バリエーションの音色の置き換えに関しても、各機種がどのようなバリエーションを持っているかは分からないので、単純な置き換えでは、常に同一のバリエーションに置き換わってしまうことが考えられる。
　　　【０００７】
　　【発明が解決しようとする課題】
　この発明は、バリエーションに相当する音色だけを置き換えの対象とし、さらに、置き換え時に過去に有効であったものから置き換え対象を選択することにより、置き換わる音色の選択の範囲を広げる電子楽器を提供することを目的とする。
　　　【０００８】
　　【課題を解決するための手段】
　本発明は、
音色群選択情報を受信し、受信した音色群選択情報を保持し、
前記保持してある音色群選択情報により選択される音色群の中の前記
により選択される音色を設定し、該設定した音色で
により選択される
前記保持されている音色群選択情報により選択される音色群の中に備えられている音色であるときは、前記受信した音色選択情報により選択される音色に設定するとともに、前記音色群選択情報により選択される音色群に対応した記憶エリアに前記受信した音色選択情報を記憶し、前記受信した音色選択情報により選択される音色が、前記保持されている音色群選択情報により選択される音色群の中
より選択される
設定
前記受信した音色選択情報が属する音色群において最後に
前記記憶エリアに記憶されている
選択情報により選択される音色に設定する
　　　【０００９】
　　　【００１０】
　さらに、他の電子楽器に向けて音色選択情報を送信し、該他の電子楽器により発音される楽音の音色を
該音色選択情報で選択された音色に
前記他の電子楽器に設定される所望の
を選択する
を
する前
該所望の音色が標準音色であるか否かを判断する判断手段と、前記判断手段において標準音色でないと判断された場合、該所望の
される標準
し記憶する選択記憶
前記判断手段において前記所望の音色が標準音色でないと判断された場合には、前記選択記憶手段に記憶された標準音色を選択する
所望の音色を選択する
し、前記判断手段において前記所望の音色が標準音色であると判断された場合には、前記所望の音色を選択する音色選択情報を送信
送信
、
　　　【００１１】
　　【作用】
　本発明によれば、受信した音色選択情報が指示する音色が、自機に備えられていない音色であるときは、その音色選択情報に応じた音色の置き換えは行われず、前に有効であった音色の設定がそのまま用いられる。
　　　【００１２】
　また、音色選択情報の受信時に、第１の候補の音色への置き換えを指示する音色選択情報と、第２の候補の音色への置き換えを指示する音色選択情報とを受信したとき、第２の候補の音色で発音することが不可能な場合は、第１の候補の音色に置き換えて発音が行われる。
　　　【００１３】
　さらに、他の電子楽器に向けて音色選択情報を送信するときには、置き換えるべき第１の候補である音色に代替可能な第２の音色を選択しておき、第２の候補の音色選択情報を送信した後に、第１の音色の音色選択情報を送信するようにする。
　　　【００１４】
　　【実施例】
　以下、図面を用いて、この発明の実施例を説明する。
　　　【００１５】
　図１は、この発明の一実施例に係る電子楽器のブロック構成を示す。この電子楽器は、ＭＩＤＩインターフェース１、ＣＰＵ（中央処理装置）２、ＲＯＭ（リードオンリーメモリ）３、ＲＡＭ（ランダムアクセスメモリ）４、操作パネル５、楽音合成回路６、エフェクト回路７、サウンドシステム８、およびバスライン９を備えている。
　　　【００１６】
　ＭＩＤＩインターフェース１は、ＭＩＤＩ（Ｍｕｓｉｃａｌ　Ｉｎｓｔｒｕｍｅｎｔ　Ｄｉｇｉｔａｌ　Ｉｎｔｅｒｆａｃｅ）規格にしたがって、外部のＭＩＤＩ機器との間で演奏情報を送受するためのインターフェースである。ＣＰＵ２は、この電子楽器全体の動作を制御する。ＲＯＭ３には、ＣＰＵ２が実行するプログラムや各種の制御データなどが格納されている。ＲＡＭ４には、各種のレジスタやフラグなどのワーキング領域が設けられている。
　　　【００１７】
　操作パネル５は、ユーザが操作するための各種の操作子を含む。楽音合成回路６は、ＣＰＵ２からの指示に基づいて楽音信号を発生する。エフェクト回路７は、楽音合成回路６から出力された楽音信号を原音として入力し、各種のエフェクトを付与して出力する。サウンドシステム８は、エフェクト回路７から出力されるエフェクト付与済みの楽音信号に応じて楽音を放音する。バスライン９は、これら各部を接続する双方向のバスラインである。
　　　【００１８】
　図２は、エフェクト回路７のブロック構成を示す。この実施例のエフェクト回路７は、リバーブ回路１１、トレモロ回路１２、コーラス回路１３、乗算器２１〜２４、および加算器３１〜３３を備えている。リバーブ回路１１やトレモロ回路１２などの個々のエフェクト付与のための回路は、エフェクト付与回路と総称するものとする。エフェクト回路７は各ＭＩＤＩチャンネルに対応して独立に設けられるが、時分割処理で共有してもよい。
　　　【００１９】
　楽音合成回路６からの原音の楽音信号は、４つの乗算器２１〜２４に入力してそれぞれ所定の乗数と乗算される。乗算器２１は、エフェクトを付与しない原音（ドライ音）の音量レベルを調整するためのものである。乗算器２２は、リバーブ回路１１によりリバーブを付与するエフェクト音の音量レベルを調整するためのものである。乗算器２３は、トレモロ回路１２によりトレモロを付与するエフェクト音の音量レベルを調整するためのものである。乗算器２４は、コーラス回路１３によりコーラスを付与するエフェクト音の音量レベルを調整するためのものである。
　　　【００２０】
　このように音量レベルが調整されたドライ音、および各エフェクト音は、加算器３１〜３３により加算され、最終的なエフェクト付与済みの楽音信号として、サウンドシステム８に出力される。
　　　【００２１】
　次に、この実施例の電子楽器の動作の概要を説明する。
　　　【００２２】
　この電子楽器では、ＭＩＤＩインターフェース１を介して、外部から演奏情報を受信する。受信した演奏情報は、所定のＭＩＤＩバッファに格納される。ＣＰＵ２は、このＭＩＤＩバッファをスキャンし、データがあるときは、そのデータに応じた処理を行なう。さらに、この電子楽器ではＭＩＤＩインターフェース１を介して、音色選択情報などの演奏情報を外部へ送信する。
　　　【００２３】
　例えば、ノートデータ（音高データやキーオン／オフデータなどを含む演奏データ）を受信した場合、ＣＰＵ２は、そのノートデータを一旦ノートバッファに書き込み、後に楽音合成回路６に対し、そのノートデータに応じた楽音信号を発生するように指示を与える。楽音合成回路６は、ＣＰＵ２からの指示に応じて楽音信号を発生する。
　　　【００２４】
　音色選択情報の送信にあたっては、その音色選択情報を受信する電子楽器が同一の音色を備えていないことが考えられるので、送信する音色選択情報に置き換わることの出来る、より一般的な音色選択情報を予め送信し、それに引き続き、目的とする音色選択情報を送信する。これにより、万一目的とする音色が受信側の電子楽器に存在しない場合でも、その前に送られたより一般的な音色に置き換えられて発音させることができる。
　　　【００２５】
　上述した乗算器２１〜２４の乗数、すなわちドライ音および各エフェクト音の音量レベルも、外部から与えられたエフェクトデータに応じて決定される。すなわち、外部からエフェクトデータを受信すると、ＣＰＵ２は、そのエフェクトデータに応じて、エフェクト回路７におけるドライ音および各エフェクト音の音量レベルを設定する。
　　　【００２６】
　ここで、外部から与えられるエフェクトデータ中には、この電子楽器に備えられていないエフェクトに対するものもある。例えば、図２のエフェクト回路１１〜１３、乗算器２１〜２４、および加算器３１〜３３に加えて、さらに別のエフェクト回路であるセレステ回路４１およびフェーザ回路４２、乗算器５１，５２、並びに加算器６１〜６３を備えた他の電子楽器で、エフェクトデータを作成する場合がある。
　　　【００２７】
　このとき、そのエフェクトデータ中には、セレステやフェーザのエフェクト音の音量レベルを設定（調整）するためのエフェクトデータが含まれるとともに、ドライ音の音量レベルは、セレステやフェーザのエフェクト音が出力されることを仮定して設定してある。
　　　【００２８】
　したがって、受信したエフェクトデータ（セレステやフェーザに対する音量レベルの設定データを含むエフェクトデータ）をそのまま用いて、セレステ回路やフェーザ回路を備えていない本実施例の電子楽器のエフェクト回路７におけるドライ音およびエフェクト音の音量レベル設定を行なうと、ドライ音の音量レベルが小さめとなり、全体としてのエフェクトバランスがくずれることとなる。
　　　【００２９】
　そこで、この実施例の電子楽器では、自機が備えていないセレステやフェーザに対する音量レベルの設定データを含むエフェクトデータが受信された場合でも、適正なエフェクトバランスを得ることができるように、以下のように音量レベルを設定するようにしている。
　　　【００３０】
▲１▼エフェクトデータとして、「ＢｎＨ＋５ＡＨ＋Ｖｄ」が受信された場合
　「ＢｎＨ」はコントロールチェンジのコードであり、引き続く２バイトのデータに応じて電子楽器の各部分をコントロールすることができる。「ｎ」に「０」から「Ｆ」までのＭＩＤＩチャンネル番号を指定することができる。またＨは１６進表記であることを示す。このように、以下のエフェクトは、ＭＩＤＩチャンネル毎に指定できる。よって、各レジスタも、特にことわらないが，ＭＩＤＩチャンネル毎に用意されているものとする。
　　　【００３１】
　「５ＡＨ」は、引き続くデータがドライセンドレベルＶｄであることを示すコードである。ドライセンドレベルＶｄのデフォルト値は７ＦＨとする。ただし、レベル値の範囲は００Ｈ〜７ＦＨである。「５ＡＨ＋Ｖｄ」が受信された場合、ＣＰＵ２は、その時点で設定されている他のエフェクト音のレベルに応じてドライセンドレベルＶｄを補正し、補正後の値に応じてドライ音の音量レベルを設定する。
　　　【００３２】
　具体的には、ドライセンドレベルＶｄに、リバーブ、トレモロ、コーラス、セレステ、およびフェーザの内、受信能力のないエフェクト（この実施例ではセレステとフェーザ）のセンドレベルの相当音量を足し算する。すなわち、受信能力のない任意のエフェクトのセンドレベルをＶｅとすると、ドライセンドレベルの合計は次式により算出する。
　　　【００３３】
　Ｌ＝２０ｌｏｇ｛（Ｖｄ４＋ΣＶｅ４／１６）１／２／１２７２｝…（１）
　　　【００３４】
　ここで、Ｌは合計したドライ音量レベル（ｄＢ）、ΣＶｅ４は受信能力のない（すなわち装備されていない）エフェクトのセンドレベルの各々を４乗したものの和を取ったものである。このドライレベルＬを、エフェクト回路７に送り、この値に応じて乗算器２１の乗数を設定する。
　　　【００３５】
　ただし、合計音量が０ｄＢを越える場合は、すべて０ｄＢとみなす。また、（Ｖｄ４＋ΣＶｅ４／１６）１／２＝０のときは、Ｌ＝−∞（音量ゼロ）とする。ドライセンド量のダイナミックレンジの下限値以下の音量については、下限値で代用するものとする。
　　　【００３６】
▲２▼エフェクトデータとして、「ＢｎＨ＋５ＢＨ＋Ｖ」が受信された場合
　「５ＢＨ」は、引き続くデータがリバーブのセンドレベルＶであることを示すコードである。このエフェクトデータが受信された場合、ＣＰＵ２は、次式によってリバーブレベルＬを算出し、そのリバーブレベルＬをエフェクト回路７に送り、この値に応じて乗算器２２の乗数を設定する。
　　　【００３７】
　Ｌ＝２０ｌｏｇ（Ｖ２／１２７２）…（２）
　　　【００３８】
▲３▼リバーブ以外のエフェクト、すなわちトレモロ、コーラス、セレステ、およびフェーザについても、上記▲２▼と同様に（２）式で算出したレベルで設定する。ただし、コード「５ＢＨ」は、それぞれ「５ＣＨ」、「５ＤＨ」、「５ＥＨ」および「５ＦＨ」とする。
　　　【００３９】
　なお、当然ながら、装備されていないエフェクトについてのエフェクトデータが上記▲２▼および▲３▼のように受信されたときには、受信したエフェクトのセンドレベルＶを記憶する（▲１▼のＶｅとして用いるための記憶）だけで、エフェクト回路への設定は行なわれない。
　　　【００４０】
　また、上記▲２▼および▲３▼において、Ｖ＝０のときは、Ｌ＝−∞（音量ゼロ）とする。各エフェクトのリターン音の音量レベルは、センドレベル値が最大のときにドライ音に対しておおむね−１２ｄＢの音量感になるようにセットする。センド量のダイナミックレンジの下限値以下の音量については、下限値で代用するものとする。
　　　【００４１】
　各エフェクトのセンドレベルＶのデフォルト値は、リバーブが４０Ｈ、他のエフェクトが００Ｈとなるようにしている。
　　　【００４２】
　次に、図３〜図１５のフローチャートを参照して、この実施例の電子楽器の動作を詳しく説明する。
　　　【００４３】
　図３は、この電子楽器のメインルーチンを示す。この電子楽器の電源がオンされると、まず、ステップＳ１でイニシャライズを行なう。次に、ステップＳ２でＭＩＤＩインターフェース処理を行ない、ステップＳ３で発音処理を行ない、ステップＳ４でパネル処理を行ない、ステップＳ５でその他の処理を行なう。その後、ステップＳ２に戻り、以降の処理を繰り返す。
　　　【００４４】
　図４は、図３のステップＳ２のＭＩＤＩインターフェース処理ルーチンを示す。まず、ステップＳ１１でＭＩＤＩバッファをスキャンする。受信したデータは、ＭＩＤＩバッファに格納されるようになっている。ステップ１２でＭＩＤＩバッファにイベントデータが格納されているか否か判別する。イベントデータが格納されていない場合は、ステップＳ１５以下の送信データの処理に進む。
　　　【００４５】
　ステップＳ１２でＭＩＤＩバッファにイベントデータが格納されている場合は、そのイベントに応じて、ステップＳ１３で図５以下の各イベント対応処理を実行する。各イベント対応処理を実行した後は、ステップＳ１４にて処理済のイベントデータをＭＩＤＩバッファから削除し、ステップＳ１１に戻って、ＭＩＤＩバッファにイベントデータが残っているかぎり、ステップＳ１１からＳ１４までの処理を繰り返す。
　　　【００４６】
　ステップＳ１５ではＭＩＤＩ送信バッファをスキャンする。送信すべきデータは、ＭＩＤＩ送信バッファに格納されるようになっている。ステップＳ１６で、ＭＩＤＩ送信バッファに送信すべきイベントデータが格納されているか否か判別する。イベントデータが格納されている場合は、ステップＳ１７で、そのイベントデータを図１のＭＩＤＩインターフェイス１から送信する。イベントデータを送出した後は、ステップＳ１８にて、送信済みのイベントデータをＭＩＤＩ送信バッファから削除し、ステップＳ１５に戻って、ＭＩＤＩ送信バッファにイベントデータが残っているかぎり、ステップＳ１５からＳ１８までの処理を繰り返す。ステップＳ１６で送信すべきイベントデータがないときは、リターンする。
　　　【００４７】
　図５は、図４のステップＳ１３から呼び出されるエフェクト処理ルーチンを示す。以下のルーチンでは、各ＭＩＤＩチャンネル毎に独立に処理が行われる。まず、ステップＳ２１で、ＭＩＤＩバッファのエフェクトデータがドライレベルの設定を指示するデータ（上記▲１▼の場合）か否かを判別する。ドライレベルの設定を指示するデータであるときは、ステップＳ２２でドライレベル設定処理を行ない、リターンする。
　　　【００４８】
　ステップＳ２１でドライレベルの設定を指示するデータでないときは、ステップＳ２３で、エフェクトデータがリバーブレベルの設定を指示するデータ（上記▲２▼の場合）か否かを判別する。リバーブレベルの設定を指示するデータであるときは、ステップＳ２４でリバーブ設定処理を行ない、リターンする。
　　　【００４９】
　ステップＳ２３でリバーブレベルの設定を指示するデータでないときは、ステップＳ２５で、トレモロレベルの設定を指示するデータか否かを判別する。トレモロレベルの設定を指示するデータであるときは、ステップＳ２６でトレモロ設定処理を行ない、リターンする。
　　　【００５０】
　ステップＳ２５でトレモロレベルの設定を指示するデータでないときは、ステップＳ２７で、コーラスレベルの設定を指示するデータか否かを判別する。コーラスレベルの設定を指示するデータであるときは、ステップＳ２８でコーラス設定処理を行ない、リターンする。
　　　【００５１】
　ステップＳ２７でコーラスレベルの設定を指示するデータでないときは、ステップＳ２９で、セレステレベルの設定を指示するデータか否かを判別する。セレステレベルの設定を指示するデータであるときは、ステップＳ３０でセレステ設定処理を行ない、リターンする。
　　　【００５２】
　ステップＳ２９でセレステレベルの設定を指示するデータでないときは、ステップＳ３１で、フェーザレベルの設定を指示するデータか否かを判別する。フェーザレベルの設定を指示するデータであるときは、ステップＳ３２でフェーザ設定処理を行ない、リターンする。ステップ３１でフェーザレベルの設定を指示するデータでないときは、ステップＳ３３でその他のエフェクト処理を行ない、リターンする。
　　　【００５３】
　図６は、図５のステップＳ２２のドライレベル設定処理ルーチンを示す。まず、ステップＳ４１で、自機のエフェクト回路７がリバーブ、トレモロ、コーラス、セレステ、およびフェーザを装備しているか否かを調べる。次に、ステップＳ４２で、受信したドライセンドレベルのデータをレジスタＶｄにセットする。
　　　【００５４】
　また、ステップＳ４３で、装備されていないエフェクトのレベルをレジスタＶｅｉにセットする。この実施例では、セレステおよびフェーザが装備されていないから、現時点におけるセレステレベルをレジスタＶｅ１に、フェーザレベルをレジスタＶｅ２に、それぞれセットすることとなる。
　　　【００５５】
　次に、ステップＳ４４で、
　Ｌ＝２０ｌｏｇ｛（Ｖｄ４＋ΣＶｅｉ４／１６）１／２／１２７２｝
を計算する。これは上記▲１▼の（１）式の計算である。この実施例ではΣＶｅｉ４は、Ｖｅ１４＋Ｖｅ２４となる。なお、合計音量が０ｄＢを越える場合は、０ｄＢとする。
　　　【００５６】
　次に、ステップＳ４５で、上記のＬをドライレベルとして、エフェクト回路７に送出する。これにより、ドライレベルＬに応じて乗算器２１の乗数が設定されることとなる。ステップＳ４５の後、リターンする。
　　　【００５７】
　図７は、図５のステップＳ２４のリバーブ設定処理ルーチンを示す。まず、ステップＳ５１で、受信したリバーブのセンドレベルのデータをレジスタＶにセットする。次に、ステップＳ５２で、センドレベルＶをリバーブレベルとして、所定のレジスタに記憶保持する。ここで、リバーブレベルを記憶しておくのは、もし自機のエフェクト回路にリバーブが装備されていないとき、上述した図６のステップＳ４３で装備されていないエフェクトのレベルとして用いるためである。
　　　【００５８】
　次に、ステップＳ５３で、自機のエフェクト回路７にリバーブが装備されているか否かを判別する。リバーブが装備されていないときは、そのままリターンする。リバーブが装備されているときは、ステップＳ５４でＬ＝２０ｌｏｇ（Ｖ２／１２７２）を計算する。これは、上述の▲２▼の（２）式の計算である。
　　　【００５９】
　そして、ステップＳ５４で計算結果Ｌをリバーブレベルとしてエフェクト回路７に送出する。これにより、リバーブレベルＬに応じて乗算器２２の乗数が設定されることとなる。ステップＳ５５の後、リターンする。
　　　【００６０】
　図５のステップＳ２６のトレモロ設定処理、ステップＳ２８のコーラス設定処理、ステップＳ３０のセレステ設定処理、およびステップＳ３２のフェーザ設定処理は、上述の図７のリバーブ設定処理と同様である。すなわち、受信した各エフェクトのセンドレベルをレジスタＶにセットするとともに、所定のレジスタに記憶保持し、さらに自機がトレモロなど各エフェクトを装備しているか否か判別し、装備している場合は、ステップＳ５４，Ｓ５５のように（２）式でレベルＬを算出して各エフェクトのレベルとしてエフェクト回路７に送出する。
　　　【００６１】
　この実施例では、セレステとフェーザが装備されていないから、ステップＳ３０のセレステ設定処理とステップＳ３２のフェーザ設定処理においては、ステッブＳ５４，Ｓ５５に相当する処理は実行されないことになる。
　　　【００６２】
　次に、図４のステップＳ１３から呼び出される他の処理ルーチンについて、図８〜図１２を参照して説明するが、その前にそれらの処理ルーチンで用いているレジスタについて説明する。
　　　【００６３】
（１）ＢＳＬ［ｉ］：各ＭＩＤＩチャンネル毎のバンクセレクトのＬＳＢを記憶するレジスタである。引き数ｉがＭＩＤＩチャンネルを示す。
（２）ＢＳＭ［ｉ］：各ＭＩＤＩチャンネル毎のバンクセレクトのＭＳＢを記憶するレジスタである。引き数ｉがＭＩＤＩチャンネルを示す。
（３）ＫＣ：キーコードを記憶するレジスタである。
（４）ＫＥＶ：キーイベント（キーオンまたはキーオフ）の別を記憶するレジスタである。
　　　【００６４】
（５）ＫＶ：キーベロシティを記憶するレジスタである。
（６）ＬＳＤ［ｉ］：各ＭＩＤＩチャンネル毎のバンクセレクトＬＳＢの一時記憶レジスタである。引き数ｉがＭＩＤＩチャンネルを示す。
（７）Ｍ：マスターチューニングデータを記憶するレジスタである。
（８）ＭＣＨ：ＭＩＤＩチャンネル番号を記憶するレジスタである。
（９）ＭＳＤ［ｉ］：各ＭＩＤＩチャンネル毎のバンクセレクトＭＳＢの一時記憶レジスタである。引き数ｉがＭＩＤＩチャンネルを示す。
　　　【００６５】
（１０）ｍｔｕｎ：マスタチューニングの最終計算値を記憶するレジスタである。
（１１）ｍｖｏｌ：マスタボリュームの最終計算値を記憶するレジスタである。
（１２）ＰＣ［ｉ］：各ＭＩＤＩチャンネル毎のプログラムチェンジ番号を記憶するレジスタである。引き数ｉがＭＩＤＩチャンネルを示す。
（１３）ＰＤ［ｉ］：各ＭＩＤＩチャンネル毎のプログラムチェンジ番号の一時記憶レジスタである。引き数ｉがＭＩＤＩチャンネルを示す。
（１４）ＴＣＨ：空きチャンネル番号を記憶するレジスタである。
　　　【００６６】
（１５）ＶＤ［ｉ］：各ＭＩＤＩチャンネル毎のビブラートデータの一時記憶レジスタである。引き数ｉがＭＩＤＩチャンネルを示す。
（１６）ＶＤＥ：各ＭＩＤＩチャンネル毎のビブラートデータの最終計算値を記憶するレジスタである。
（１７）ＶＭｉｎ：各音色毎のビブラートの最低変調深さを記憶するレジスタである。
（１８）ＶＳｅｎｓ：各音色毎のビブラートのセンシティビティーを記憶するレジスタである。
　　　【００６７】
（１９）ＬＢＳＬ［ｉ］：各ＭＩＤＩチャンネル毎の最後にバンクセレクトＭＳＢ＝００Ｈで発音可能であったバンクセレクトのＬＳＢを記憶するレジスタである。引き数ｉがＭＩＤＩチャンネルを示す。
（２０）ＬＰＣ［ｉ］：各ＭＩＤＩチャンネル毎の最後にバンクセレクトＭＳＢ＝７ＦＨで発音可能であったプログラムチェンジ番号を記憶するレジスタである。引き数ｉがＭＩＤＩチャンネルを示す。
（２１）ＵＳＥＲ：メロディ音色としてＭＳＢ＝００Ｈ以外を選択した際に、その音色がその楽器に用意されているかどうかを示す。
　　　【００６８】
　なお、これらのレジスタは初期化の際にすべて０に初期設定される。
　　　【００６９】
　図８は、図４のステップＳ１３から呼び出されるエクスクルーシブ処理ルーチンを示す。エクスクルーシブ処理ルーチンは、ＭＩＤＩインターフェースからエクスクルーシブメッセージを受信したとき実行される。
　　　【００７０】
　まず、ステップＳ６１で、ＭＩＤＩバッファのエクスクルーシブデータがマスタチューニングの設定を指示するデータであるか否かを判別する。マスタチューニングの設定を指示するデータであるときは、ステップＳ６２で、受信したマスタチューニングのデータをレジスタＭにセットする。ただし、データの範囲は００Ｈ〜ＦＦＨである。また、デフォルト値は７ＦＨとする。
　　　【００７１】
　次に、ステップＳ６３で、レジスタＭの値を元にマスタチューニングの最終計算値ｍｔｕｎを計算する。ｍｔｕｎは、レジスタＭのデータが００Ｈのときに−１００、７ＦＨのときに約１００の値をとり、これをセント値として解釈することにより、標準ピッチを中心に前後半音の範囲でマスタチューニングの設定を行うことができる。
　　　【００７２】
　さらに、ステップＳ６４では、楽音合成回路にレジスタｍｔｕｎの値を出力する。その後、図４のステップ１４に戻る。楽音合成回路においては、ｍｔｕｎの値を受信した時点でマスタチューニングを変更してもよいし、その後新たに受け付ける発音より、マスタチューニングを変更するようにしてもよい。
　　　【００７３】
　ステップＳ６１でマスタチューニングの設定を指示するデータでないときは、ステップＳ６５で、マスタボリュームの設定を指示するデータか否かを判断する。マスタボリュームの設定を指示するデータであるときは、ステップＳ６６で、受信したマスタボリュームのデータをレジスタｍｖｏｌにセットする。ただし、データの範囲は００Ｈ〜７ＦＨである。
　　　【００７４】
　次に、ステップＳ６７で、楽音合成回路にレジスタｍｖｏｌの値を出力する。マスタボリュームは実時間で処理されるべきデータであるので、楽音合成回路に送った時点で、各チャンネルのボリュームが変化する。その後、図４のステップ１４に戻る。
　　　【００７５】
　ステップＳ６５でマスタボリュームの設定を指示するデータでないときは、ステップＳ６８で、システムのイニシャライズを指示するデータか否かを判断する。システムのイニシャライズを指示するデータであるときは、ステップＳ６９で、マスタチューニング以外の各種の設定の初期化を行う。
　　　【００７６】
　ここで、一般の自然楽器やＭＩＤＩ信号を受け付ける自然楽器とアンサンブル演奏を行う場合、楽器間のチューニングは最終的に演奏者が行う必要がある。一般にこれらのチューニングは時間がかかるが、一度合わせれば、ある程度の期間は再調整をする必要がない。これに対して、システムのイニシャライズは、曲の変わり目などで新たなデータを送る前に、不要な設定が残らないようにするなど、比較的頻繁に使われるものである。よって、ここではマスタチューニングのデータに限ってイニシャライズを行わないようにする。イニシャライズでは以下の情報の設定を行う。
　　　【００７７】
・ドライセンドレベル←７ＦＨ
・各エフェクトレベル←００Ｈ
・マスタチューニング←７ＦＨ
・マスタボリューム←７ＦＨ
・プログラムチェンジ←００Ｈ
・バンクセレクトＭＳＢ←００Ｈ
・バンクセレクトＭＳＢ←７ＦＨ（ＭＩＤＩ１０ｃｈのみ）
・バンクセレクトＬＳＢ←００Ｈ
・ビブラートデータ←００Ｈ
　　　【００７８】
その後、図４のステップＳ１４に戻る。
　　　【００７９】
　ステップＳ６８でイニシャライズを指示するデータでないときは、ステップＳ７０にてその他のエクスクルーシブ処理を行った後、図４のステップＳ１４に戻る。
　　　【００８０】
　図９は、図４のステップＳ１３から呼び出されるバンクセレクト処理ルーチンを示す。バンクセレクト処理ルーチンは、ＭＩＤＩインターフェースからバンクセレクト信号を受信したとき実行される。バンクセレクトは、ＭＳＢとＬＳＢとを備えている。バンクセレクトＭＳＢは、メロディ音色、リズム音色、およびユーザ音色の切り替えに用いる。バンクセレクトＬＳＢは、メロディ音色およびユーザ領域の拡張部を表す。
　　　【００８１】
　まず、ステップＳ８１で、受信したバンクセレクトのＭＩＤＩチャンネル番号をレジスタＭＣＨに設定する。ステップＳ８２では、受信したバンクセレクト信号がＭＳＢ側のデータであるかどうかが判断される。ＭＳＢ側のデータであった場合は、ステップＳ８３で、ＭＩＤＩチャンネル毎に設けられているバンクセレクトデータのＭＳＢの一時記憶レジスタＭＳＤに、受信したバンクセレクトデータを記憶する。その後、リターンする。
　　　【００８２】
　ステップＳ８２にて、受信したバンクセレクト信号がＭＳＢ側のデータでない（すなわち、ＬＳＢ側のデータ）と判断されたときは、ステップＳ８４にて、レジスタＬＳＤに、受信したバンクセレクトデータを記憶する。その後、リターンする。
　　　【００８３】
　ここで、実際のバンクセレクトは、後述するプログラムチェンジ信号を受信した時点で行われることになる。そのために、各バンクセレクトデータは、一時記憶レジスタＭＳＤ、およびＬＳＤに記憶される。
　　　【００８４】
　図１０は、図４のステップＳ１３から呼び出されるプログラムチェンジ処理ルーチンを示す。プログラムチェンジ処理ルーチンは、ＭＩＤＩインターフェースからプログラムチェンジデータを受信したとき実行される。
　　　【００８５】
　まず、ステップＳ９１で、受信したプログラムチェンジのＭＩＤＩチャンネル番号をレジスタＭＣＨに設定し、プログラムチェンジ番号自体をプログラムチェンジデータの一時記憶レジスタＰＤ［ＭＣＨ］に設定する。ステップＳ９２で、受信したバンクセレクトデータ、およびプログラムチェンジデータを、一時的に音源送出用の各レジスタＢＳＭ［ＭＣＨ］，ＢＳＬ［ＭＣＨ］，ＰＣ［ＭＣＨ］に記憶する。
　　　【００８６】
　次に、ステップＳ９３で、そのＭＩＤＩチャンネルに割り当てられているバンクセレクトＭＳＢが７ＦＨであるか否かを判断する。７ＦＨであった場合は、そのＭＩＤＩチャンネルにリズム音色が割り当てられていることを示す。以下に説明するとおり、リズム音色とメロディ音色とによって、プログラムチェンジやバンクセレクトの信号の解釈が異なる。
　　　【００８７】
　ＭＩＤＩのＭＣＨチャンネルにメロディ音色が割り当てられている場合は、ステップＳ９４にて、ＭＣＨチャンネルのバンクセレクトＭＳＢ、バンクセレクトＬＳＢ、およびプログラムチェンジＰＤに応じて、メロディ音色テーブルを参照する。メロディ音色テーブルには、実際の楽音データの記憶領域のアドレスが書き込まれており、それらより、音色が存在するか否かも判断することができる。
　　　【００８８】
　ステップＳ９５では、バンクセレクトＭＳＢが００Ｈであるか否かを判断する。００Ｈである場合は、指定された音色が機種間共通の音色セットの内の１つであることを示すので、ステップＳ９６以下の音色置き換え処理を行なう。
　　　【００８９】
　機種間共通の音色を採用する楽器においても、性能の違いにより、すべての音色を用意しているとは限らない。機種間共通の音色セットを用いる場合は、プログラムチェンジにより音色を選択し、バンクセレクトのＬＳＢにより音色のバリエーションを選択するようになっている。よって、高性能の機種においては、ＬＳＢの拡張により、多種類のバリエーションを備えているが、廉価な機種においては、音色セットを１種類しか備えていないということが考えられる。
　　　【００９０】
　しかし、このような場合においても、同一のプログラムチェンジ番号にしたがった音色を発音すれば、それほど違和感のない音色で発音される。そこで、指定された音色が機種間共通の音色セットの内の１つである場合には、以下の通りに、最後に確認されたバンクセレクトＬＳＢの音色セットが発音されることとなる。
　　　【００９１】
　ステップＳ９６では、ステップＳ９４の判断に基づいて対応する音色があったかどうかが判断される。音色がある場合は、ステップＳ９２にて設定された各情報に基づいて楽音を発生できるので、何も変更は加えず、ステップＳ９７にて、最後に確認されたバンクセレクトＬＳＢの番号として、ＢＳＬをレジスタＬＢＳＬにセットする。その後、リターンする。
　　　【００９２】
　ステップＳ９６で音色がないと判断された場合は、ステップＳ９８に進み、ステップＳ９２にて設定された情報のうち、バンクセレクトＬＳＢを、ステップＳ９７で設定される、ＬＢＳＬで置き換える。その後、リターンする。このようにして、バンクセレクトＭＳＢが００Ｈの場合は、バンクセレクトＬＳＢによる音色セットの置き換えが行なわれる。
　　　【００９３】
　ＬＢＳＬには当該ＭＩＤＩチャンネルの最後にバンクセレクトＭＳＢ＝００Ｈで発音可能であったバンクセレクトのＬＳＢが記憶されているので、ステップＳ９８の置き換えにより、いま受信した音色に切り換えることができないときはその前に有効であった音色が設定されることになる。
　　　【００９４】
　ここで、置き換え可能な音色を受信する際の動作を、図１４を参照して説明する。
　　　【００９５】
　図１４において、１−で始まる番号を付した各ブロックはメロディー音色を示す。実線のブロックは電子楽器に備わっている音色、破線のブロックはその電子楽器に備わっていない音色であることを示す。音色のバリエーションは、領域によってその性質が特徴づけられており、図１４の場合では、１−１から１−７に標準音色のバリエーション、１−８から１−Ｆに明るい音色のバリエーション、１−１０から１−１７に暗い音色のバリエーションが記録されているとする。
　　　【００９６】
　送信側の電子楽器において、１−１１の音色が登録されていた場合、送信側は始めに似た音色である１−１０の音色を選択する旨の音色選択情報を送信し、次に、１−１１の音色選択情報を送信する。受信側では、前述のフローチャートの説明通り、１−１０の音色選択情報は受信するが、１−１１の音色は備えていないので、その前に有効であった１−１０の音色が設定される。
　　　【００９７】
　このようにして、音色の置き換えがおきる可能性がある場合に、段階的に音色選択情報を送ることにより、（その音色がない場合でも、設定できる音色の中から）より相応しい音色に置き換わることを指示することが出来る。上の例では、暗い音色のバリエーションに置き換わるように指定している。ここで、受信側が１−１０の音色を備えていなかった場合は、最後に有効であった音色が１−１０に代わって採用されることはいうまでもない。
　　　【００９８】
　再び図１０を参照して、プログラムチェンジ処理について説明を続ける。
　　　【００９９】
　ステップＳ９５でバンクセレクトＭＳＢが００Ｈでなかった場合は、機種間共通の音色セットではなく、機種固有の音色セットが選択されたことを示す。この場合、機種間共通音色のように音色の置き換えを行なうことはできない。そこで、音色がある場合は、その音色で発音を行ない、音色がない場合は少なくとも発音を行なわないようにする。さらに、発音チャンネルの無駄遣いを防ぐために発音チャンネルのアサイン自体を行なわないようにしてもよい。
　　　【０１００】
　ステップＳ９９では、ステップＳ９４の判断結果に応じて、レジスタＵＳＥＲを設定する。レジスタＵＳＥＲは後述する発音処理（図１３）にて利用され、ＵＳＥＲ＝０の場合は、発音チャンネルの割当自体を行なわないようにする。
　　　【０１０１】
　ステップＳ９３に戻り、ＭＳＤが７ＦＨであると判断された場合は、ステップＳ１００に進み、ＭＩＤＩのＭＣＨチャンネルのバンクセレクトＬＳＢを記憶するレジスタＢＳＭ、およびプログラムチェンジ番号を一時的に記憶するレジスタＰＤに応じて、リズム音色テーブル中に対応する楽音が存在するかを調べる。
　　　【０１０２】
　リズム音色についても、メロディ音色のバンクセレクトＬＳＢのように、プログラムチェンジにより、バリエーションの選択を行なうことができる。
　　　【０１０３】
　ステップＳ１０１において、音色があると判断されたときは、ステップＳ９２にて設定されたプログラムチェンジ番号ＰＣに応じて楽音の発生を行なうが、音色の置き換えのために、ステップＳ１０２にて設定されたＰＣをＬＰＣに保存しておく。また、音色が無しと判断されたときは、ステップＳ１０３において、ステップＳ９２で設定されたプログラムチェンジ番号を、発音することが確認されているプログラムチェンジ番号ＬＰＣで置き換える。その後、リターンする。
　　　【０１０４】
　以上のように、バンクセレクトＭＳＢは、メロディ音とリズム音との切り替えやモデル毎の特殊な音色セットの切り替えなどの、もっとも大局的な選択を行う。特に、バンクセレクトＭＳＢ＝００Ｈは、機種間共通音色を示し、それ以外は機種固有音色であることを示す。よって、機種間共通音色の場合は、その直前に発音が確認されているバンクを選択することにより、音色の置き換えを確実に行ない、機種固有音色の場合は、音色の置き換えを行わず、無発音とすることにより、不適切な音色の切り替えを防ぐことができる。バンクセレクトＬＳＢは、同一系統の音色の中でのバリエーションであるので、これが変更されてもそれほど多くの不都合を招くことがない。
　　　【０１０５】
　また、リズム音色（バンクセレクトＭＳＢ＝７ＦＨ）の場合は、バンクセレクトＬＳＢによる選択は用いずに、プログラムチェンジおよびキーコードによって音色の選択を行う。ここにおいて、リズム音色のプログラムチェンジにおいても、メロディ音色のバンクセレクトＬＳＢと同じく、音色の置き換えを行なっている。
　　　【０１０６】
　図１１は、図４のステップＳ１３から呼び出されるビブラート処理ルーチンを示す。ビブラート処理ルーチンは、ＭＩＤＩインターフェースからビブラートデータを受信したとき実行される。
　　　【０１０７】
　ビブラート処理ルーチンでは、ステップＳ１１１で、受信したプログラムチェンジのＭＩＤＩチャンネル番号をレジスタＭＣＨに設定し、ビブラートデータをレジスタＶＤ［ＭＣＨ］に設定し、図４のステップＳ１４に戻る。
　　　【０１０８】
　この例では、受信されたビブラートデータは、受信された時点ではレジスタに記憶されるだけであり、実際にビブラートの情報として参照されるのは、対応するＭＩＤＩチャンネルの発音を受け付けたときである。しかし、このビブラート処理内で楽音合成回路に対してビブラート情報を送り、リアルタイムでビブラート処理を行えるようにしてもよい。
　　　【０１０９】
　図１２は、図４のステップＳ１３から呼び出されるノートイベント処理ルーチンを示す。ノートイベント処理ルーチンは、ＭＩＤＩインターフェースからノートイベントデータを受信したとき実行される。
　　　【０１１０】
　まず、ステップＳ１２１では、受信したプログラムチェンジのＭＩＤＩチャンネル番号をレジスタＭＣＨに設定し、キーコード、ベロシティ、およびキーイベントの各情報をそれぞれレジスタＫＣ、ＫＶ、ＫＥＶにセットする。ＫＥＶにはキーオンＫＯＮまたはキーオフＫＯＦＦが入る。続いて、ステップＳ１２２にて、セットされた情報がノートバッファに記憶され、図４のステップＳ１４に戻る。
　　　【０１１１】
　図１５は、図４のステップＳ１７から呼び出される音色情報送出処理ルーチンを示す。音色情報送出処理ルーチンは、演奏者によってパネルの音色スイッチが操作され、さらに、音色の設定が外部にも送出されるモードになっている際に実行される。
　　　【０１１２】
　まず、ステップＳ１５１では、送信が指示された音色選択情報が、どの楽器においても登録されていると予測できる標準音色であるか否かが判断される。送信する音色を、受信側が備えていない可能性がある場合は、ステップＳ１５２にすすみ、送信音色に近い音色で、送信音色よりも標準的な音色を選択し、その音色を選択することを指示する音色選択情報をＭＩＤＩ送信バッファに書き込む。
　　　【０１１３】
　次に、ステップＳ１５３に進み、当初の目的である音色の音色選択情報をＭＩＤＩ送信バッファに書き込む。これによって、受信側では、上記説明したように、特殊な音色を備えない場合に音色の代替が起こっても、必ず同じ音色に代替されるのではなく、近い音色に代替されるように制御することが可能になる。
　　　【０１１４】
　ステップＳ１５１で、送出する音色が、他の楽器も備えていると予想できる場合は、ステップＳ１５３に進み、そのままその音色選択情報をＭＩＤＩ送信バッファに書き込む。
　　　【０１１５】
　以上、図５から図１２で説明されたとおり、ＭＩＤＩインタフェースに入力されたデータは、図４のＭＩＤＩインタフェース処理ルーチンにて、その内容に応じて処理される。ＭＩＤＩバッファに処理されるべきデータが無くなったときは、図３のステップＳ３に戻り、発音の処理を行う。
　　　【０１１６】
　図１３は、図３のステップＳ３から呼び出される発音処理ルーチンである。発音処理ルーチンでは、まずステップＳ１３１で、ノートバッファより、図１２のステップＳ１２２にて書き込まれた各データを読みだす。
　　　【０１１７】
　次に、ステップＳ１３２で、読みだされたイベントがＫＯＮイベントであるか否かを判断する。ＫＯＮイベントであると判断された場合は、ステップＳ１３３で、ＵＳＥＲが１か否かを判断する。ＵＳＥＲが１でないときは（すなわち、ＵＳＥＲ＝０）、その音色はその楽器に用意されていないから、そのＭＩＤＩチャンネルはアサインされないように、ステップＳ１４３に進む。ＵＳＥＲが１のときは、ステップＳ１３４に進む。
　　　【０１１８】
　ステップＳ１３４にて、そのキーオンイベントを発音するための発音空きチャンネルの確保を行う。ここで、確保されたチャンネル番号は、レジスタＴＣＨにセットされる。ステップＳ１３５では、発音のために指定されたＭＩＤＩチャンネルにリズム音色が指定されている（ＢＳＭ＝７ＦＨ）か否かが判断される。ＢＳＭが７ＦＨ以外の場合は、指定されたＭＩＤＩチャンネルに、メロディ系音色が割り当てられていることを示す。この場合は、ステップＳ１３６に進む。
　　　【０１１９】
　ステップＳ１３６では、各バンクセレクトデータ、およびプログラムチェンジデータに応じて、メロディ音色リストより楽音データを読みだす。ここで読みだされる楽音データは、各音色の波形の記憶アドレス、エンベロープの情報、ビブラートの情報、エフェクトの情報、および音量バランスの情報などである。
　　　【０１２０】
　次に、ステップＳ１３７では、読みだされたビブラートセンシティビティをレジスタＶｓｅｎｓにセットし、最低変調深さをレジスタＶＭｉｎにセットする。ステップＳ１３８では、これらの値を元に実際のビブラートの値としてＶＤＥを計算し、ステップＳ１３９にて、ビブラート情報を楽音合成回路に出力する。ステップＳ１３９の後、ステップＳ１４１に進む。
　　　【０１２１】
　ステップＳ１３５においてＢＳＭが７ＦＨであると判断された場合は、リズム音色が割り当てられていることを示す。この場合は、ステップＳ１４０で、プログラムチェンジデータ、およびキーコードに応じて、リズム音色リストより楽音データを読みだし、ステップＳ１４１に進む。
　　　【０１２２】
　以上のようにして、読みだされた楽音データは、ステップＳ１４１にて楽音合成回路に出力される。これにより、楽音の発生が開始する。
　　　【０１２３】
　ステップＳ１３３に戻り、イベントがキーオンイベントＫＯＮでない、すなわちキーオフの場合は、ステップＳ１４２に進み、対応する発音チャンネルにキーオフ信号を送出する。その後、ステップＳＩ４３に進む。
　　　【０１２４】
　ステップＳ１４３およびＳ１４４では、処理したノートバッファのデータをクリアし、データが依然ノートバッファに残っていればステップＳ１３１に戻り、処理を継続する。
　　　【０１２５】
　なお、上記実施例においては、受信した音色が存在しない場合は、以前に有効であった音色で置き換えるようにしているが、これに限らず、各楽器に共通であることが保証されている音色セットに置き換えるようにしても良い。実施例では、図１０のステップＳ９８でＢＳＬに０を設定することによって実現できる。
　　　【０１２６】
　また、リズム音色の場合も同様の置き換えを行うことが出来る。この場合、メロディー音色における音色ＬＳＢはリズム音色のプログラムチェンジに相当するので、ステップＳ１０３でＰＣに０を設定することによって実現できる。
　　　【０１２７】
　　【発明の効果】
　以上説明したように、この発明によれば、受信した音色を持っていない場合の音色の置き換え時に、過去に受信して有効であった音色に置き換わるようにしているので、常に同一の音色に置き換わってしまうのではなく、指示に従って置き換わる先の音色を指定することが出来、従来の方法より、自由度の高い置き換えを実現することが出来る。
【図面の簡単な説明】
　　【図１】
　この発明の実施例に係る効果付与装置を適用した電子楽器のブロック構成図
　　【図２】
　エフェクト回路のブロック構成図
　　【図３】
　実施例の電子楽器のメインルーチンを示すフローチャート図
　　【図４】
　ＭＩＤＩインターフェース処理ルーチンのフローチャート図
　　【図５】
　エフェクト処理ルーチンのフローチャート図
　　【図６】
　ドライレベル設定処理ルーチンのフローチャート図
　　【図７】
　リバーブ設定処理ルーチンのフローチャート図
　　【図８】
　エクスクルーシブ処理ルーチンを示すフローチャート図，
　　【図９】
　バンクセレクト処理ルーチンのフローチャート図
　　【図１０】
　プログラムチェンジ処理ルーチンのフローチャート図
　　【図１１】
　ビブラート処理ルーチンのフローチャート図
　　【図１２】
　ノートイベント処理ルーチンのフローチャート図
　　【図１３】
　発音処理ルーチンのフローチャート図
　　【図１４】
　実施例の電子楽器が備える音色を示す音色テーブルの概念図
　　【図１５】
　音色情報送出処理ルーチンを示すフローチャート図
　　【符号の説明】
　１…ＭＩＤＩインターフェース、２…ＣＰＵ（中央処理装置）、３…ＲＯＭ（リードオンリーメモリ）、４…ＲＡＭ（ランダムアクセスメモリ）、５…操作パネル、６…楽音合成回路、７…エフェクト回路、８…サウンドシステム、９…バスライン、１１…リバーブ回路、１２…トレモロ回路、１３…コーラス回路、２１〜２４…乗算器、３１〜３３…加算器、４１…セレステ回路、４２…フェーザ回路、５１，５２…乗算器、６１〜６３…加算器。