(57)【特許請求の範囲】
【請求項１】
制御データを受信して対応する楽音を合成し、該楽音をデジタルのシリアルデータとして送出する１またはＮ（Ｎは２以上の整数）の音源モジュールと、該１またはＮの音源モジュールからの楽音のデジタルのシリアルデータを受信して、該音源モジュールがＮである場合はそれぞれをミキシング合成して発音する発音モジュールとを少なくとも備えた電子楽器の通信装置において、
前記デジタルのシリアルデータの１サンプル時間をＮ分割する分割手段と、
前記分割されたサンプル時間のいずれかに前記音楽モジュールのデジタルのシリアルデータを送出する送出手段とを備え、
前記音源モジュールを単体で使用するシングル音源モードの場合と、複数接続して使用するマルチ音源モードの場合とで、該音源モジュールが前記発音モジュールに対して出力するデジタル楽音信号の転送レートを切り替えるようにしたことを特徴とする電子楽器の通信装置。
【請求項２】
前記発音モジュールは、
前記マルチ音源モードの場合、前記音源モジュールから出力されたデジタル楽音信号をミキシング合成する合成手段と、
該合成手段から出力されたデジタル楽音信号にエフェクトをかける手段とを具備したことを特徴とする請求項１に記載の電子楽器の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は電子楽器の通信装置に関し、特に電子楽器で使用される各種データや各種信号のシリアル通信速度、あるいは転送レートを可変とした電子楽器の通信装置に関する。
【背景技術】
【０００２】
図１２に、従来の電子楽器の通信装置の一例を示す。該電子楽器の通信装置は、ホストモジュール１０、複数個の音源モジュール３０、５０、および発音モジュール７０から構成されている。
【０００３】
ホストモジュール１０は、システムバス１１に接続された鍵盤スキャナ部１２、ＲＡＭ１３、ＣＰＵプログラム等を格納されたＲＯＭ１４、ホストモジュール１０の全体の動作を制御するホストＣＰＵ１５、ＦＤ（フロッピー(登録商標)ディスク）ドライバ１６、パネルＳＷ／表示部１７、非同期シリアル通信部Ａ１８、および非同期シリアル通信部Ｂ１９から構成されている。鍵盤スキャナ部１２は、電子楽器本体１の鍵盤スイッチの状態を調べ、その鍵盤番号、オンまたはオフ情報を出力すると共に、そのオン／オフを示す信号から、鍵盤タッチの強さを示すタッチデータを生成する。また、ＦＤドライバ１６は、ＦＤ駆動装置２を制御し、ＦＤから演奏データ等を読み出す動作をする。また、非同期シリアル通信部Ａ１８は、外部ＭＩＤＩとの間でデータの送受信を非同期で行う。
【０００４】
次に、音源モジュール３０、５０は同構成であるので音源モジュール３０を代表にあげてその構成を説明すると、音源モジュール３０は、システムバス３１に接続された非同期シリアル通信部Ｂ３２、モジュールＮＯ．設定部３３、音源ＣＰＵ３４、第１のＲＯＭ３５、第１のＲＡＭ３６、第２のＲＯＭ３７、楽音発生回路３８、ＤＳＰ(Digital signal processor)３９（エフェクト回路と呼ぶこともある）、第２のＲＡＭ４０、およびＤＡＣ(Digital analog converter)４１から構成されている。
【０００５】
前記非同期シリアル通信部Ｂ１９と３２は、両者間で、演奏データなどのデータを非同期シリアル通信する。前記モジュールＮＯ．設定部３３には、例えばディップスイッチ等で、音源モジュールの番号が付けられる。前記第１のＲＯＭ３５には、ＣＰＵプログラム、ＤＳＰプログラム、各種パラメータ等が格納される。また、第２のＲＯＭ３７は波形メモリとしての働きをする。前記ＤＳＰ３９はエフェクト回路として働き、前記第２のＲＡＭ４０は、プログラムメモリおよび係数メモリとしての働きをする。
【０００６】
さらに、発音モジュール７０は、前記音源モジュール３０、５０のＤＡＣ４１から出力されたアナログの楽音信号を混合するアナログミキサ７１、増幅器７２、および左右のスピーカ７３Ｌ、７３Ｒから構成されている。
【０００７】
なお、マスタＣＰＵより各ボイスユニットに制御プログラムや波形データ等を転送すると共にキーオン／オフ信号等の操作に伴う発生楽音の制御データ等のシリアル制御データを供給する楽音信号発生装置は、下記の特許文献１に示されている。
【特許文献１】特開平７−１９１６７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前記非同期シリアル通信部Ｂ１９と３２は演奏データやＭＩＤＩデータ等を非同期シリアル通信するが、その通信速度は一定であった。
【０００９】
例えば、前記非同期シリアル通信Ａは外部とのＭＩＤＩ通信であるため、ＭＩＤＩ規格から、その転送レートは３１．２５Ｋボーであり、前記非同期シリアル通信Ｂは内部通信のためもう少し高速であり２５０Ｋボー程度であった。
【００１０】
この内部通信速度の２５０Ｋボーという転送速度は、演奏データをリアルタイムで転送するには十分な速度である。つまり、１つのキーオン情報は２５ビット程度からなるので２５０Ｋボーで転送すれば２５／２５０Ｋ（秒）＝０．１ミリ秒程度で送信可能である。同時に１０鍵弾いても１ミリ秒で送信できる。
【００１１】
しかし、多量の楽音データを送信する場合、例えば低域のピアノ音のＰＣＭ波形データ等は１波形だけでも２４００Ｋビット（１２ビット×２００Ｋワード）程度であり、これを上記２５０Ｋボーで転送すると９．６秒かかってしまう。
【００１２】
ＰＣＭ波形で製作したピアノ音は、１オクターブ内に４波形程度が必要なことを考慮すると（高域は波形容量が少なくて済むことを考慮しても）、そのデータ転送に数分かかることは明らかである。
【００１３】
つまり、従来の内部転送速度は演奏情報を転送するのには十分であったが、波形データ等を転送するには不十分な速度であった。
【００１４】
ただ、それならば常に最高速度で転送すれば良いかというと、そうではない。なぜならば、転送を司る各ＣＰＵの負荷が転送速度を上げることで極端に重くなり、例えば１Ｍボーで転送を行うと約０．０１ミリ秒毎に割込みが発生することになり、通常の処理がこなせない。
【００１５】
よって、各ＣＰＵが通常の処理をこなしながら、転送を行なう上での最高の速度は２５０Ｋボー程度であり、１Ｍボーという転送の場合は通常の処理を行なわず、データダンプに専念することになる。
【００１６】
ところで、波形データ等を転送する場合は、その楽器（又は楽音発生装置）が編集モードにあり、演奏を一次停止することが許される状況である。
【００１７】
また、各音源モジュール３０、５０は、ＤＳＰ３９でエフェクトされたデータを、各ＤＡＣ４１でアナログ楽音に変えた後、発音モジュール７０のアナログミキサ７１に送信するようにしているため、楽音信号のミキシング結果に、トータルエフェクトをかけることが困難であるという問題があった。すなわち、トータルエフェクトをかけるには、デジタル楽音でないと、任意のエフェクトがかけられないため、従来装置でエフェクトをかけようとすると、前記アナログミキサ７１の後段にＡ／Ｄ変換器を入れて一旦デジタル信号に変換しなければならず、Ｓ／Ｎが悪くなるばかりか、コストアップになるという問題があった。
【００１８】
本発明は、前記した従来技術に鑑みてなされたものであり、その目的は転送すべき演奏内容（演奏データ、楽音データ、エフェクトプログラム、またはエフェクト係数データ）に最適な通信速度を自動的に選択可能としたことにある。
【００１９】
また、本発明はトータルエフェクトを少ない配線数で、かつ安価にかけることのできる電子楽器の送信装置を提供することにある。
【課題を解決するための手段】
【００２０】
本発明は、音源モジュールを単体で使用する場合と、複数接続して使用する場合とで、該音源モジュールのエフェクト回路が出力するデジタル楽音信号の転送レートを切替えるようにした点に特徴がある。この特徴によれば、共通の出力ラインを使用することができるようになり、出力ラインの配線数を低減できると共に、厚みのある音を再生できるようになる。
【発明の効果】
【００２１】
本発明によれば、音源モジュールを単体で使用する場合と、複数接続して使用する場合とで、該音源モジュールのエフェクト回路が出力するデジタル楽音信号の転送レートを切替えるようにしたので、共通の出力ラインを使用することができるようになり、出力ラインの本数を低減できると共に、厚みのある音を再生できるようになる。
【発明を実施するための最良の形態】
【００２２】
以下に、図面を参照して、本発明を詳細に説明する。図１は、本発明の一実施形態の構成を示すブロック図である。なお、このブロック図において、図１２と同一の符号は、同一または同等物を示すので、説明を省略する。
【００２３】
図１において、ホストモジュール１０ａは、インピーダンスコンバータとしての働きをするアナログＳＷ２０（例えば、マルチプレクサ）、非同期シリアル通信部Ｃ２１、バッファＡ２２、バッファＢ２３、バッファＣ２４、およびバッファＳ２５を有している。また、非同期シリアル通信部Ａ１８は、受信レジスタ１８ａ、送信レジスタ１８ｂを有し、非同期シリアル通信部Ｂは、受信レジスタ１９ａ、送信レジスタ１９ｂを有している。また、ＣＤＲドライバ２６は、ＣＤＲ駆動装置３の動作を制御する。ここに、該ＣＤＲ駆動装置３は、ＣＤに記憶されている演奏データ、波形データ、ＤＳＰプログラム、ＤＳＰ係数などの高速転送データをＣＤから読み出して出力する。
【００２４】
該ホストモジュール１０ａに対して、音源モジュール３０ａ，５０ａは最大４個（０〜３）接続できるが、図示では２個接続した例が示されている。これらの４個の音源モジュールは同一構成であるので、音源モジュール３０ａを代表に挙げて構成を説明すると、該音源モジュール３０ａは、波形メモリとしてＲＡＭ４２を用いると共に、各ＤＳＰ３９からの出力線を共通線にして、発音モジュール７０ａに接続する点を除いて、図１２の音源モジュール３０と同一または同等である。
【００２５】
次に、発音モジュール７０ａは、例えば４音源時分割のデジタルミキサ８１と、トータルエフェクトをかけるＤＳＰ８２と、ＤＡＣ（Ｄ／Ａ変換器）８３とを有し、該ＤＡＣ８３の出力はアンプ７２で増幅されて、左右のスピーカ７３Ｌ，７３Ｒから放音される。前記ＤＳＰ８２は、プログラムメモリ８４に蓄積されたＤＳＰプログラムおよびホストモジュール１０ａから前記非同期シリアル通信部Ｃ２１を経て送られてきて係数メモリ８５に蓄積されるＤＳＰ係数を用いて、デジタルミキサ８１の出力信号に、ＥＱ（エコー）、リバーブなどの、トータルエフェクトをかける。
【００２６】
次に、本実施形態の動作を、図２〜図４のフローチャートを参照して説明する。このフローチャートは、ホストＣＰＵ１５のメインフローを示すものであり、主に、データの転送速度の制御を中心とする処理を示す。
【００２７】
パワーオンされてホストＣＰＵ１５の処理がスタートすると、ステップＳ１では、ホストＣＰＵ１５、ＲＡＭ１３等のワークエリアがイニシャライズ（初期化）される。ステップＳ２では、非同期シリアル通信部Ａ１８における非同期シリアル通信Ａの転送速度をＭＩＤＩレベル（すなわち、３１．２５Ｋボー）に設定し、通信Ａ用割込みを許可する。これによって、ホストモジュール１０ａと外部ＭＩＤＩとの割込み通信が可能になるが、該通信Ａ用割込み処理の詳細は、図５を参照して後述する。ステップＳ３では、非同期シリアル通信部Ｂ１９における非同期シリアル通信Ｂの転送速度をＭＩＤＩレベル（すなわち、３１．２５Ｋボー）に設定し、通信Ｂ用割込みを許可する。これによって、ホストモジュール１０ａと音源モジュール３０ａ，５０ａあるいは発音モジュール７０ａ間の割込み通信が可能になるが、該通信Ｂ用割込み処理の詳細は、図６を参照して後述する。
【００２８】
次に、ステップＳ４では、非同期シリアル通信Ｂ用のインピーダンスを最大（すなわち、ＭＩＤＩ×１倍用）に設定する。この設定は、非同期シリアル通信Ｂに使用されるデジタル信号は一般的に矩形波が使用されるために、回路のインピーダンス（ＣＲ時定数）を該デジタル信号の周期に適合する値にして、矩形波の角を丸くし、できるだけ不要な電磁波が放出されないようにするためであるが、詳細は、図７を参照して後述する。
【００２９】
ステップＳ５では、音源モジュール０、１、２、３に対して、非同期シリアル通信Ｂの転送速度を、ＭＩＤＩ×８倍レベル（２５０Ｋボー）に変更する命令を送る。この命令は、前記ＭＩＤＩレベルの最も遅い転送速度で送られる。続いて、ステップＳ６では、ホストＣＰＵ１５は、非同期シリアル通信Ｂ用割込みを禁止した後、例えば１０ｍ秒遅延する。これは、音源モジュール０、１、２、３が、受信速度の切り替えに要する時間を確保するためであり、１０ｍ秒としたのは一例に過ぎない。ステップＳ６の遅延時間が経過すると、ステップＳ７に進み、非同期シリアル通信Ｂの転送速度を、ＭＩＤＩ×８倍レベル（２５０Ｋボー）に設定する。ステップＳ８では、非同期シリアル通信Ｂ用のインピーダンスを中の大きさ（すなわち、ＭＩＤＩ×８倍用）に設定する。このようにインピーダンスを中の大きさに設定する理由も、回路のＣＲ時定数を矩形波の転送速度と適合させて、できるだけ不要な電磁波が発生しないようにするためであるが、詳細は、図７を参照して後述する。ステップＳ９では、図６で後述する通信Ｂ用割込みを許可する。以上で、ホストＣＰＵ１５の初期化ルーチンは終わり、次に図３、図４のメインルーチンに進む。
【００３０】
図３のステップＳ１０では、ホストＣＰＵ１５は、パネルＳＷ／表示部１７に対して、パネルＳＷのスキャン検出と、それに対応した表示処理を行う。次いで、ステップＳ１１では、鍵盤スキャナ部１２に対して電子楽器本体１の鍵盤をスキャンする指令を出力する。ステップＳ１２では、キーイベントがあったか否かの判断を行い、キーイベントがあった場合にはステップＳ１３に進んで該キーイベントをバッファＡ２２に入れ、ステップＳ１４では該キーイベントをバッファＢ２３に入れる。前記キーイベントがなかった場合、あるいは前記キーイベントをバッファＡ，Ｂに入れた後に、ステップＳ１５に進んで、前記ＣＤＲドライバ２６にて、ＣＤに記憶されている演奏データ、波形データ、ＤＳＰプログラム、ＤＳＰ係数等のデータを読み出す。ステップＳ１６では、該ＣＤから読み出したデータがあるかないかの判断を行い、該判断が肯定の時にはステップ１７に進んで、ステップＳ１５で読み出したデータが、波形データ、ＤＳＰプログラム、ＤＳＰ係数等の高速転送データであるか否かの判断がなされる。そして、高速転送データである場合には、ステップＳ１８に進む。一方、前記ステップＳ１６の判断が否定の時には、図４のステップＳ３３に進み、ステップＳ１７の判断が否定の時には、ステップＳ３２に進む。
【００３１】
前記ステップＳ１８では、前記バッファＢ２３が空になるまで待機する。ステップＳ１９では、音源モジュール０、１、２、３に対して、非同期シリアル通信Ｂの転送速度を、ＭＩＤＩ×３２倍レベル（１Ｍボー）に変更する命令を送る。この命令は、前記ＭＩＤＩ×８レベルの中速の転送速度で送られる。続いて、ステップＳ２０では、ホストＣＰＵ１５は、非同期シリアル通信Ｂ用割込みを禁止した後、例えば１０ｍ秒遅延する。ステップＳ２１では、非同期シリアル通信Ｂの転送速度を、ＭＩＤＩ×３２倍レベル（１Ｍボー）に設定する。ステップＳ２２では、非同期シリアル通信Ｂ用のインピーダンスを最小の大きさ（すなわち、ＭＩＤＩ×３２倍用）に設定する。次いで、ステップＳ２３に進み通信Ｂ用割込みを許可する。
【００３２】
次に、図４のステップＳ２４に進んで、高速転送データを指定の音源モジュールに、前記１Ｍボーで高速転送する。例えば、波形データは波形メモリ４２に、ＤＳＰプログラムはＤＳＰ用プログラムメモリ４０ａまたは８４へ、またＤＳＰ係数は係数メモリ４０ｂまたは８５に転送される。例えば、エコー、リザーブに関するＤＳＰ係数は係数メモリ８５に転送され、これら以外の残響、コーラス、アンサンブル等のＤＳＰ係数は係数メモリ４０ｂに転送される。なお、ここでは、ホストＣＰＵ１５は、バッファＢは使わないで、データ転送に専念する。ステップＳ２５では、全データの転送が終了したか否かの判断がなされ、この判断が否定の時には、ステップＳ２４に戻って、その動作を繰り返す。
【００３３】
高速転送データの転送が終了すると、通常の中速の転送速度に戻るために、ステップＳ２６の処理を行う。ステップＳ２６では、音源モジュール０、１、２、３に対し、非同期シリアル通信Ｂの転送速度をＭＩＤＩ×８倍レベル（２５０Ｋボー）に変更する命令を、各音源モジュールに送る。ステップＳ２７では、通信Ｂ用割込みを禁止した後、例えば１０ｍ秒遅延する。ステップＳ２８では、再度非同期シリアル通信Ｂの転送速度を、ＭＩＤＩ×８倍レベル（２５０Ｋボー）に設定する。ステップＳ３０では、非同期シリアル通信Ｂ用のインピーダンスを中の大きさ（すなわち、ＭＩＤＩ×８倍用）に設定する。その後、ステップＳ３０で、通信Ｂ用割込みを許可する。
【００３４】
次に、前記ステップＳ１７の判断が否定の時には、ステップＳ３２に進んで、中速転送データ、例えば自動演奏データ（ソングファイル）をバッファＳ２５へ記憶する。また、前記ステップＳ１６の判断が否定の時、またはステップＳ３０またはＳ３２の処理の後に、ステップＳ３３に進んで、自動演奏中であるか否かの判断がなされる。この判断が肯定の時には、ステップＳ３４に進んで、読み出すべきタイミングの演奏データであるか否かの判断がなされる。この判断が肯定の時には、ステップＳ３５に進み、キーイベント、音色イベント、音量イベントなどの演奏データがバッファＳ２５から読み出され、バッファＢ２３に入れられる。バッファＢ２３に入れられたデータは、通信Ｂ用割込みにより非同期シリアル通信部Ｂ１９から、音源モジュールに転送される。その後、図３のステップＳ１０に戻って、該ステップＳ１０以降の処理が繰り返される。
【００３５】
次に、前記通信Ａ用割込み処理の一例を、図５のフローチャートを参照して説明する。ステップＳ５１では、受信データがあるか否かの判断がなされ、この判断が肯定の場合には、ステップＳ５２に進んで、非同期シリアル通信Ａの受信レジスタ１８ａの内容が、バッファＢ２３に格納される。ステップＳ５３では、バッファＡに未転送のデータがあるか否かの判断がなされ、この判断が肯定の時には、ステップＳ５４に進んで、未転送のデータを１つ読み出し、非同期シリアル通信Ａの送信レジスタ１８ｂに書込む。その後、リターンする。この動作により、非同期シリアル通信部Ａ１８と外部ＭＩＤＩとの間で、データの送受信が行われる。
【００３６】
次に、前記通信Ｂ用割込み処理の一例を、図６のフローチャートを参照して説明する。ステップＳ６１では、受信データがあるか否かの判断がなされる。この判断が肯定の場合には、ステップＳ６２に進んで、非同期シリアル通信Ｂの受信レジスタ１９ａの内容が、バッファＣ２４に格納される。ステップＳ６３では、バッファＢに未転送のデータがあるか否かの判断がなされ、この判断が肯定の時には、ステップＳ６４に進んで、未転送のデータを１つ読み出し、非同期シリアル通信Ｂの送信レジスタ１９ｂに書込む。その後、リターンする。この動作により、ホストモジュール１０ａの非同期シリアル通信部Ｂ１９と音源モジュール３０ａ、５０ａの非同期シリアル通信部Ｂ３２との間で、データの送受信が行われる。また、前記バッファＢに格納されているデータが、非同期シリアル通信部Ａ１８と外部ＭＩＤＩとの間の通信で受信された外部ＭＩＤＩのデータであった場合には、この通信Ｂ用割込み処理により、外部ＭＩＤＩデータが、音源モジュール３０ａ、５０ａへ送信されることになる。
【００３７】
次に、図７を参照して、前記ステップＳ４、Ｓ８、Ｓ２２において、それぞれ、非同期シリアル通信Ｂ用のインピーダンスを最大、中、最小に設定する理由を説明する。  
【００３８】
電子楽器に電源投入直後、または音源モジュールを単体で利用している時には、同図(a) に示されているように、非同期シリアル通信Ｂの転送速度は、３１．２５Ｋボー（Ｋビット／秒）であり、矩形波信号の一周期は大きい。そこで、前記アナログＳＷ２０でインピーダンスを最大（ＭＩＤＩ×１倍用）にする。そうすると、ＣＲ時定数１が大きくなり、矩形波信号の角の丸みが大きくなる。
【００３９】
次に、電子楽器の通常動作時には、演奏者が遅れを感じないレベルの転送速度、すなわち非同期シリアル通信Ｂの転送速度は、２５０Ｋボー（Ｋビット／秒）とされる。これは、ホストＣＰＵ１５が、外部ＭＩＤＩからの情報の他に、鍵盤からの操作情報（キーオン、オフデータ）も、音源モジュール３０ａ、５０ａに送る必要があるためである。この時、矩形波信号の一周期は中程度の大きさになるので、前記アナログＳＷ２０でインピーダンスを中（ＭＩＤＩ×８倍用）にする。そうすると、ＣＲ時定数２が中程度の大きさになり、矩形波信号の角が丸くなって、ホストモジュール１０ａと音源モジュール間の通信線２６等から不要な電磁波が放出されるのが抑制される。
【００４０】
次に、高速データ転送時には、非同期シリアル通信Ｂの転送速度は、１Ｍボー（Ｍビット／秒）にされる。これは、ホストＣＰＵから、多量の波形データを音源モジュールの波形メモリ４２に転送する時、あるいはホストＣＰＵ１５からエフェクト回路を構成するＤＳＰ３９に対して効果プログラムや係数データを素早く転送したい時にのみ、該高速転送速度にされる。この高速転送により、演奏者の待ち時間が短くなる。また、前記アナログＳＷ２０でインピーダンスを最大（ＭＩＤＩ×３２倍用）にすることにより、ＣＲ時定数３が最大の大きさになり、電磁波の発生を最小限に抑えることができるようになる。
【００４１】
以上のように、本実施形態によれば、イニシャライズ時はデータの転送速度を低速のＭＩＤＩレベル（すなわち、３１．２５Ｋボー）に、またインピーダンスを最小のＭＩＤＩ×１倍用に設定し、演奏データ等のデータの転送時には中速のＭＩＤＩ×８倍レベル（２５０Ｋボー）に、またインピーダンスを中の大きさ（すなわち、ＭＩＤＩ×８倍用）に設定し、波形データ、ＤＳＰプログラム等の転送時には高速のＭＩＤＩ×３２倍レベル（１Ｍボー）に、またインピーダンスを最大の大きさ（すなわち、ＭＩＤＩ×３２倍用）に設定するようにしたので、低速および中速の転送速度で利用する一般ユーザは勿論、高速の転送速度をも使用するプロまたはプロに近いユーザにも十分に使用されることのできる電子楽器を提供できるようになる。
【００４２】
次に、前記音源モジュール３０ａ、５０ａ等の音源ＣＰＵ３４の機能を、図８のフローチャートを参照して説明する。該音源モジュールに電源が投入されてパワーオンになると、ステップＳ８１に進んで、音源ＣＰＵのワークエリアがイニシャライズされる。ステップＳ８２では、楽音発生回路３８をクリアし、非発音状態とされる。ステップＳ８３では、自ボードの音源モジュール番号、すなわちモジュールＮｏ．設定部３３に設定されている番号（＝ＴＧ．ＮＯ）を取込む。ステップＳ８４では、ＴＧ．ＮＯ＝１１１B であるか否かの判断がされる。ここにＢはバイナリ（二進数）を表す。また１１１B は、単独で使用される音源モジュール（シングル音源モード）を表し、ＴＧ．ＮＯ＝０００B 〜０１１B の場合は、複数で使用される音源モジュール（マルチ音源モード）を表す。
【００４３】
そこで、前記ステップＳ８４の判断が肯定になるとステップＳ８５に進んで、自ボードのエフェクト回路３９の出力をシングル音源モードとする。一方、該判断が否定のときには、ステップＳ８６に進んで、自ボードのエフェクト回路３９の出力をマルチ音源モードとし、自ボード用のタイムスロットを設定する。なお、該自ボード用のタイムスロットを設定する処理の詳細は、図１１にて後述する。  ステップＳ８７では、前記番号ＴＧ．ＮＯが０００B であるか否かの判断がなされる。番号ＴＧ．ＮＯが０００B の音源モジュールは、マルチ音源モードの場合、他の音源モジュールの基準となるＣＬＫを発生するから、ステップＳ８８に進んで、自ボードからＬＲＣＫおよびＣＫ（クロック）を出力し、それと合わせてＤＡＴ（データ）を出力できるようにする。一方、ステップＳ８７の判断が否定の場合、すなわちＴＧ．ＮＯ＝００１B 〜０１１B の場合には、ステップＳ８９に進む。ステップＳ８９では、これらのＴＧ．ＮＯの音源モジュールは、ＴＧ．ＮＯ＝０００B のボードから、ＬＲＣＫ、ＣＫを入力し、それに合わせてＤＡＴ（データ）を出力可能にする。
【００４４】
ステップＳ９０では、非同期シリアル通信Ｂの転送速度をＭＩＤＩレベル（３１．２５ボー）に設定し、通信Ｂ用割込みを許可する。該通信Ｂ用割込みの詳細は、図１０を参照して後述する。次いで、ステップＳ９１に進み、通信Ｂ用転送レートレジスタ（以下、ＴＧＲＡＴＥと記す）を１にセット、すなわちイニシャライズする。以上が、音源ＣＰＵのイニシャラズ処理であり、以後メインルーチンに入る。
【００４５】
ステップＳ９２では、ＴＧ．ＮＯ＝１１１B であるか否かの判断がなされ、この判断が肯定の場合、すなわちシングル音源モードの場合には、ステップＳ９３に進んで、パネルＳＷ４３のスキャン検出、およびそれに対応した表示処理を行う。なお、音源モジュールのパネルＳＷ／表示部４３から、音色設定や音量調節が可能である。次に、ステップＳ９４で、ＴＧＲＡＴＥ＝３であるか否かの判断がなされ、この判断が肯定であれば、ステップＳ９５に進んで、高速転送処理に移る。ＴＧＲＡＴＥ＝３の意味については、図１０で後述する。そして、あるバッファＴＧから読み出した内容を、波形メモリ４２あるいはＤＳＰプログフラム４０ａ、ＤＳＰ係数メモリ４０ｂの書込みポインタの示すアドレスに転送して書込む。なお、この高速転送処理の間は、発音モジュール７０ａにおける発音を停止する。
【００４６】
一方、ステップＳ９４の判断が否定の時、すなわちＴＧＲＡＴＥ＝１または２の時には、図９のステップＳ９６に進んで、前記バッファＴＧから１個の内容（制御データ）を読み出す。次いで、ステップＳ９７では、該制御データがキーオンデータであるか否かの判断がなされ、この判断が肯定の場合にはステップＳ９８に進んで、キーアサイナにより発音するチャネルｃｈを決定し、このチャネルｃｈを用いて発音を開始する。
【００４７】
ステップＳ９７でキーオンデータと判断されなかった場合には、ステップＳ９９に進んでキーオフデータであるか否かの判断がなされ、この判断が肯定の時にはステップＳ１００に進んで、キーオフされた発音ｃｈを検索し、そのｃｈを消音（リリース状態に）する。
【００４８】
キーオフデータでもなかった場合（ステップＳ９９の判断が否定）には、ステップＳ１０１に進んで、その他の楽音発生回路用のデータ（例えば、ボリューム、音色データ等）であるか否かの判断がなされる。この判断が肯定の時には、ステップＳ１０２に進んで、該データを楽音発生回路３８に書込む。ステップＳ１０１の判断がさらに否定の時には、ステップＳ１０３に進んで、ＤＳＰ用のデータ（リバーブ、残響等の係数）であるか否かの判断がなされる。この判断が肯定の時には、ステップＳ１０４に進んで、該データをエフェクト回路３９の係数メモリへ書込む。一方、該ステップＳ１０３の判断が否定の時には、ステップＳ１０５に進んで、その他の処理が行われる。前記ステップＳ１０４またはＳ１０５の処理が終わると、ステップＳ９２に戻り、該ステップＳ９２以下の処理が繰り返される。
【００４９】
次に、図１０のフローチャートを参照して、音源ＣＰＵ３４の通信Ｂ用割込み処理を説明する。  
【００５０】
ステップＳ１１０では、受信データがあるか否かの判断がなされ、受信データがあった場合にはステップＳ１１１に進んで、非同期シリアル通信Ｂの転送速度が変更されたか否かの判断がなされる。この判断が肯定になった場合には、ステップＳ１１２に進んで、前記バッファＴＧに残っている内容を処理して、空にする。ステップＳ１１３では、前記転送速度の変更が、「ＭＩＤＩ×１６」命令であるか否かの判断をする。この判断が肯定の時には、ステップＳ１１４に進んで、楽音発生回路３８をクリアし、強制的に非発音状態とする。すなわち、発音中であっても、非発音状態にする。ステップＳ１１５では、非同期シリアル通信Ｂの転送速度を、ＭＩＤＩ×３２（＝１Ｍボー）に変更する。続いて、ステップＳ１１６に進み、通信Ｂ用転送レートレジスタ（ＴＧＲＡＴＥ）に“３”をセットする。
【００５１】
一方、前記ステップＳ１１３の判断が否定の時には、ステップＳ１１７に進んで、「ＭＩＤＩ×８」命令であるか否かの判断をする。この判断が肯定の時には、ステップＳ１１８に進んで、非同期シリアル通信Ｂの転送速度を、ＭＩＤＩ×８（＝２５０Ｋボー）に変更する。続いて、ステップＳ１１９に進み、通信Ｂ用転送レートレジスタ（ＴＧＲＡＴＥ）に“２”をセットする。
【００５２】
さらに、前記ステップＳ１１７の判断が否定の時には、ステップＳ１２０に進んで、非同期シリアル通信Ｂの転送速度を、ＭＩＤＩ×１（＝３１．２５Ｋボー）に変更する。続いて、ステップＳ１２１に進み、通信Ｂ用転送レートレジスタ（ＴＧＲＡＴＥ）に“１”をセットする。
【００５３】
前記ステップＳ１１６、Ｓ１１９、またはＳ１２１の後は、ステップＳ１２２に進んで、各転送レートで受信したデータを、バッファＴＧに格納する。ステップＳ１２３では、割込み許可を行い、リターンする。
【００５４】
図１１は、音源モジュールのエフェクト回路３９の出力信号速度を示すタイミングチャートであり、同図(a) はシングル音源モード（１音源時分割）時の出力信号速度、同図(b) はマルチ音源モード（４音源時分割）時の出力信号速度を示す。
【００５５】
同図(a) に示されているように、シングル音源モードでは、ＬＲＣＫ（クロック）は４４．１ＫＨｚであり、ＬおよびＲ用データ転送タイミングのそれぞれの間に、２４ビットのＬ用データ（ＤＡＴ）およびＲ用データが転送される。したがって、該シングル音源モードにおけるデータ転送ＣＫは、１．０６ＭＨｚになる。
【００５６】
一方、マルチ音源モード（４音源時分割）では、同図(b) に示されているように、前記ＬおよびＲ用データ転送タイミングのそれぞれの間に、４音源の２４ビットのＬ用データ（ＤＡＴ）およびＲ用データが転送される。このため、該マルチ音源モード（４音源時分割）におけるデータ転送ＣＫは、４．２３ＭＨｚ、すなわちシングル音源モードの時の４倍になる。このため、楽音データの転送速度も、シングル音源モードの時の４倍になる。なお、該マルチ音源モード（４音源時分割）では、前記ステップＳ８６〜Ｓ８９に示したように、ＴＧ．ＮＯ＝０００B のボードがＬＲＣＫ、ＣＫを生成し、他のボード（ＴＧ．ＮＯ＝００１B 〜０１１B ）は該０００B のボードが生成したＬＲＣＫ、ＣＫを入力するから、各ボードから出力されるデータ（ＤＡＴ）は同一のクロックと同期して出力されることになる。
【００５７】
したがって、本実施形態によれば、マルチ音源モード（４音源時分割）には、４個の音源モジュールから出力されるＣＬＫとＤＡＴは、シングル音源モード時の４倍の転送速度で、かつ共通の出力ラインを経て、発音モジュール７０ａ（図１参照）のデジタルミキサー８１のＣＬＫ端子とＤＡＴ端子に転送され、該４個の音源モジュールから出力されたデータは１つにミキシングされる。該ミキシングされたデータは、ＤＳＰ８２でエフェクトをかけられ、ＤＡＣ８３に出力される。このように、４個の音源モジュールから出力された楽音データをミキシングすることにより、厚みのある音を再生できるようになる。また、ＴＧ．ＮＯが００１B 〜０１１B のボードのクロックＣＬＫをＴＧ．ＮＯが０００B のボードで生成されたものを使用し、シングル音源モード時の４倍の転送速度で転送するようにしたので、各音源モジュールのエフェクト回路３９と発音モジュール７０ａのデジタルミキサー８１とを結ぶ出力ラインの本数が図１のように削減され、またデジタルミキサー８１の入力端子はＣＬＫとＤＡＴの２個でよくなる。なお、前記の説明では、４個の音源モジュールを対象としたが、本発明はこれに限定されず、２個または３個の音源モジュールであってもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】図１のホストＣＰＵの動作を説明するためのフローチャートである。
【図３】図２の続きのフローチャートである。
【図４】図３の続きのフローチャートである。
【図５】非同期通信Ａ用割込み処理の一例を示すフローチャートである。
【図６】非同期通信Ｂ用割込み処理の一例を示すフローチャートである。
【図７】非同期通信Ｂの転送速度の変化およびインピーダンスの切替えを示す図である。
【図８】音源ＣＰＵの動作を説明するためのフローチャートである。
【図９】図８の続きのフローチャートである。
【図１０】音源ＣＰＵの通信Ｂ用割込み処理の一例を示すフローチャートである。
【図１１】エフェクト回路の出力信号速度の変化を示す図である。
【図１２】従来構成の一例を示すブロック図である。
【符号の説明】
【００５９】
１…電子楽器本体、３…ＣＤＲ駆動装置、１０ａ…ホストモジュール、１５…ホストＣＰＵ、１８…非同期シリアル通信部Ａ、１９…非同期シリアル通信部Ｂ、３０ａ…音源モジュール、３２…非同期シリアル通信部Ｂ、３４…音源ＣＰＵ、３８…楽音発生回路、３９…ＤＳＰ（エフェクト回路）、７０ａ…発音モジュール、８１…デジタルミキサー、８２…ＤＳＰ（トータルエフェクト回路）。
【図１】
0004766575.tif 000002
【図２】
0004766575.tif 000003
【図３】
0004766575.tif 000004
【図４】
0004766575.tif 000005
【図５】
0004766575.tif 000006
【図６】
0004766575.tif 000007
【図７】
0004766575.tif 000008
【図８】
0004766575.tif 000009
【図９】
0004766575.tif 000010
【図１０】
0004766575.tif 000011
【図１１】
0004766575.tif 000012
【図１２】
0004766575.tif 000013