JP3952916B2 - 波形データ処理装置 - Google Patents
波形データ処理装置 Download PDFInfo
- Publication number
- JP3952916B2 JP3952916B2 JP2002266848A JP2002266848A JP3952916B2 JP 3952916 B2 JP3952916 B2 JP 3952916B2 JP 2002266848 A JP2002266848 A JP 2002266848A JP 2002266848 A JP2002266848 A JP 2002266848A JP 3952916 B2 JP3952916 B2 JP 3952916B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- waveform data
- waveform
- node
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、楽音処理デバイス間の接続に用いて好適な波形データ処理装置に関する。
【0002】
【従来の技術】
電子楽器、あるいはパーソナルコンピュータ等に搭載される音源ボードには、楽音信号を処理する複数のLSIが搭載され、これらLSI間に楽音信号を送受信するための結線が接続されることにより、必要な機能が実現されている。ここで、電子楽器に実装される音源ボードの一例を図1(a)に示す。図において100は音源ボードであり、音源LSI102,104が実装されている。音源LSI102,104には、複数チャンネルの楽音信号を生成する波形合成部およびこれら複数チャンネルの楽音信号を必要に応じてミキシングするミキサ等が含まれている。また、106,108はDSP(デジタル・シグナル・プロセッサ)であり、生成された楽音信号に対して各種の効果処理を施す。
【0003】
効果処理が施された楽音信号は再び音源LSI102,104に供給される。また、音源LSI102,104はこれら音源LSI相互間においても楽音信号のやりとりを行っている。そして、最終的に出力される楽音信号は、音源LSI104からDAコンバータ110に供給され、ここでアナログ信号に変換される。また、114はオプションとして追加できるプラグインボードであり、追加の波形合成部あるいはDSP等が搭載される。このプラグインボード114は、必要に応じてコネクタ112に装着される。
【0004】
また、音源ボードの他の構成を同図(b)に示す。図において120は他の音源ボードであり、その内部の音源LSI122,124は、それぞれ複数チャンネルの楽音信号を合成する。合成された楽音信号は音源LSI122,124内のミキサによってミキシングされ、そのミキシング結果である楽音信号がDSP126,128に供給される。また、DSP126,128においては、供給された楽音信号に対して効果処理が施される。ここで、DSP126において効果処理の施された楽音信号は、DSP128に供給される。また、コネクタ132にプラグインボード134が装着されている場合には、このプラグインボード134において生成された楽音信号もDSP128に供給される。DSP128においては、これらの信号がさらにミキシングされ、そのミキシング結果はDAコンバータ130においてアナログ信号に変換される。
【0005】
ところで、図1(a),(b)の例にあっては、音源ボード100,120において使用されている音源LSIおよびDSPが全く共通のものであったとしても、これらの接続状態が異なるため、音源ボード100,120自体は互換性を有しない。換言すれば、音源ボードに発揮させようとする機能に応じて、音源ボードの種類毎にハードウエアを設計/製造しなければならならなかった。
【0006】
一方、複数のノードのハードウエア的な接続状態を共通にしながら、最終的に必要な機能に応じて信号の受け渡し状態を設定し、論理的な接続関係を設定する技術が知られている。例えば、IEEE1394インタフェース上においてシンセサイザやデジタルミキサなどの電子楽器・機器およびコンピュータ等を、シリアルケーブルによって接続し、楽音信号や演奏情報の受け渡しを行うmLAN(商標)なる規格を本出願人は提案している。また、特許文献1においては、共通のバス上にADコンバータ、ハードディスク、波形メモリを接続し、これらのノード間において波形データ等の受け渡しを時分割に行う技術が開示されている。
【0007】
【特許文献1】
特開平5−188967号公報
【0008】
【発明が解決しようとする課題】
上述したように、図1(a),(b)の例にあっては音源ボード100,120は互換性を有しないため、音源ボード毎の種類毎にハードウエアを設計/製造しなければならず、設計費用が多大になるとともに、大量生産によるコストダウンを図ることが困難になる。このため、例えば図1(c)に示すように共通のバス156上に音源LSI142,144、DSP146,148、DAコンバータ150および(コネクタ152を介して)プラグインボード154を接続できれば好適である。すなわち、ハードウエア的な接続関係を共通にしておき、論理的な接続関係を必要に応じて設定できれば、図1(c)の音源ボードは例えば同図(a)または(b)に示す音源ボードと共通の機能を発揮することができる。
【0009】
この場合、バス156に各LSIを接続するための規格として如何なるものを採用するかが重要である。上述したmLAN(商標)は、シンセサイザやデジタルミキサ等の独立した機器をノードとすることを想定しているため、信号の構成が複雑であり、個々のLSIをその規格に適合させることは実現性に乏しい。また、特許文献1に開示された技術は、当該公報に示されたノード間においては波形データ等の受け渡しは可能であるが、様々な種類のノードに対して一般的・汎用的に採用できるものではなかった。
この発明は上述した事情に鑑みてなされたものであり、簡易な回路によって高い汎用性を確保できる波形データ処理装置を提供することを目的としている。
【0010】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載の波形データ処理装置にあっては、サンプリング周期毎に複数のフレームで波形データのデータ信号を伝送する内部バス(262)と、該内部バス(262)に接続された複数のデバイスノード(15,16,17)とを具備し、前記複数のデバイスノードが前記内部バス(262)を介して波形データのデータ信号を相互に授受する波形データ処理装置であって、前記複数のデバイスノードは、それぞれ独立した動作クロックに基づいて動作しており、前記複数のデバイスノードのうち、波形データの送信を行うデバイスノードは、当該デバイスノードの動作クロックに基づいて同期クロック(ACLK)を生成する同期クロック生成手段(302)と、前記サンプリング周期毎に、当該デバイスノードに割り当てられた所定の順番の前記フレームで、送信すべきデータ信号とともに前記生成した同期クロック(ACLK)を前記データ信号と並列に前記内部バスに出力する出力手段(405)とを有し、前記複数のデバイスノードのうち、波形データの受信を行うデバイスノードは、前記サンプリング周期毎に、前記内部バス(262)に伝送されている複数のフレームのデータ信号のうち、該デバイスノードが必要とする所定の順番のフレームより前記データ信号および前記同期クロックを取り込む取込手段(304)と、該取り込んだ同期クロックと当該デバイスノードの動作クロックとに基づいて、前記内部バス(262)から取り込んだデータ信号を当該デバイスノードの動作クロックに同期したデータ信号に変換する変換手段(306)とを有することを特徴とする。
さらに、請求項2記載の構成にあっては、請求項1記載の波形データ処理装置において、前記波形データの送信を行うデバイスノードが、一のフレームにおいて送信するデータ信号のサイズは、各フレーム毎に異なるサイズにすることができることを特徴とする。
さらに、請求項3記載の構成にあっては、請求項1または2記載の波形データ処理装置において、前記波形データの送信を行うデバイスノードは、前記フレームの番号と、前記内部バス(262)に出力するデータ信号のユニット数とを設定する制御手段(476,452)をさらに有し、前記各フレームのサイズは前記設定されたユニット数に応じて増減することを特徴とする。
さらに、請求項4記載の構成にあっては、請求項1ないし3の何れかに記載の波形データ処理装置において、前記データ信号はm(「32」)ビット幅の波形データであり、前記波形データの送信を行うデバイスノードは該mビットの波形データを前記各デバイスノード毎の独立したビット幅であるn(「4」または「16」)ビット幅の部分データに分割して前記内部バス(262)に送信するものであり、前記波形データの受信を行うデバイスノードは、前記内部バス(262)から一つの波形データに対応するm/n個の部分データを選択的に受信し、該m/n個の部分データから前記mビットの波形データを復元することにより、前記一つの波形データを取得するものであることを特徴とする。
さらに、請求項5記載の構成にあっては、請求項1ないし3の何れかに記載の波形データ処理装置において、前記波形データの送信を行うデバイスノードは、n(「4」または「16」)ビット幅の前記データ信号を送信するものであり、かつ、該ビット幅nは各デバイスノード毎に異なる値に設定することが可能であり、サンプリング周期毎にm(「32」)ビット幅の前記波形データをm/n個の部分データに分割して前記データ信号として出力するものであり、前記波形データの受信を行うデバイスノードは、前記複数のフレームの波形データのうち少なくとも一つのフレームの波形データを選択的に受信するものであり、サンプリング周期毎に、受信しようとするデータ信号のビット幅nに応じてm/n個の部分データを受信し、受信したm/n個の部分データからmビット幅の前記波形データを復元するものであることを特徴とする。
さらに、請求項6記載の構成にあっては、請求項1ないし3の何れかに記載の波形データ処理装置において、前記波形データの送信を行うデバイスノードは、n(「4」または「16」)ビット幅の前記データ信号を送信するものであり、かつ、該ビット幅nは送信する波形データ毎に異なる値に設定することが可能であり、サンプリング周期毎にm(「32」)ビット幅の前記各波形データを当該波形データに対応するビット幅nに応じて各々m/n個の部分データに分割しm/n個のタイムスロットを用いて前記データ信号として出力するものであり、前記波形データの受信を行うデバイスノードは、前記複数のフレームの波形データのうち少なくとも一つのフレームの波形データを選択的に受信するものであり、サンプリング周期毎に、受信しようとする波形データのビット幅nに応じて、m/n個の部分データを受信し、受信したm/n個の部分データからmビット幅の前記少なくとも一つの波形データを復元するものであることを特徴とする。
【0011】
【発明の実施の形態】
1.実施形態の一般的構成
1.1.全体構成
次に、本発明の一実施形態の楽音合成装置のハードウエア構成を図2を参照し説明する。図において202はMIDI・I/O部であり、外部のMIDI機器との間でMIDI信号の入出力を行う。MIDI・I/O部202には、例えば鍵盤、その他の演奏操作子が接続され、その演奏情報がMIDI信号として入力される。204はその他I/O部であり、MIDI信号以外の各種の信号の入出力を行う。206はパネルスイッチ部であり、ユーザによって操作される各種の音色設定操作子等が設けられている。
【0012】
250は音源部であり、後述する処理によって楽音信号を合成する。208は表示器であり、音源部250の設定状態等、ユーザに対して各種の情報を表示する。210は外部記憶装置であり、ハードディスク、フレキシブルディスク等から構成されている。212はCPUであり、所定の制御プログラムに基づいて、CPUバス218を介して楽音合成装置の各部を制御する。214はROMであり、CPUの制御プログラム等が記憶されている。216はRAMであり、CPU212のワークメモリとして用いられる。
【0013】
また、音源部250の内部において252,254は音源LSIであり、CPUバス218を介して供給される演奏情報および発音パラメータ等に基づいて波形データを生成するとともに、同様に供給されるエフェクトパラメータ等に基づいて、当該波形データにエフェクト処理を施す。256,258,260は増設ボードであり、その種類に応じて波形データの合成処理、エフェクト処理、記録処理等、各種の処理を行い、音源LSI252,254とともに音源部250に所期の機能を実現させるものである。
【0014】
262は波形データ転送用のバス(以下、Aバスという)であり、音源LSI252,254および増設ボード256,258,260間において波形データを転送する。一般に、通信ネットワークにおいては、送信すべきデータに送信先アドレス、送信チャンネル等の情報等を含むヘッダが付与されることによってパケットが構成され、当該パケットが送信される場合が多い。また、複数の送信ノードが同時に送信を開始した際の送信データの衝突を避けるため、ネットワークにノードの識別子やアドレスに基づいて調停を行う機構が設けられている。このようなネットワークと比較すると、このAバス262は、送信先アドレス、送信チャンネル等の付与されていない波形データのみが伝送されるため、送信クロックあたりの伝送効率を極めて高くすることができる。また、Aバス262に接続された各送信ノードにAバス262とは異なるバス(CPUバス218)を介して接続された制御手段(CPU212)が、各送信ノードに対して異なる送信タイミングを設定することによって衝突が防止されている。Aバス262自体には調停機能が設けられていないため、従来のネットワークと比較して構成が極めて簡単になっている。
【0015】
また、音源LSI252,254相互間においては転送される波形データ量が多いため、一部の波形データは直結ライン253を介して伝送される。264はDAコンバータであり、音源LSI252の一部の出力チャンネルの波形データをアナログ信号に変換する。変換されたアナログ信号はサウンドシステム220を介して発音される。
【0016】
251はワードクロック発生器であり、サンプリング周期毎に立ち上がるワードクロックWCKを生成する。このワードクロックWCKは、音源部250内の各部に供給される。268はワードクロック外部入力端子であり、該ワードクロック発生器251が発生するワードクロックWCKに代えて、外部からワードクロックWCKを受信するために設けられている。これは、外部機器とサンプリング周期を同期させる場合に用いられる。
【0017】
なお、上述した各構成のうち、CPUバス218またはAバス262等のバスと、MIDI・I/O部202と、その他I/O部204と、CPU212と、ROM214と、RAM216と、ワードクロック発生器251と、音源LSI252,254,DAコンバータ264等の半導体回路と、外部記憶装置210接続用のインタフェース(図示せず)と、CPUバス218にパネルスイッチ部206および表示器208を接続するためのコネクタ(図示せず)と、増設ボード256,258,260を接続するコネクタ(図示せず)と、全体に電源を供給する電源回路(図示せず)とによって本実施形態の「音源ボード」が構成されている。増設ボード256,258,260用のコネクタはCPUバス218とAバス262との双方に接続されており、これら増設ボードはこれらコネクタを介して、「音源ボード」に対して着脱自在に構成されている。
【0018】
1.2.バス構成およびタイミング
音源LSI252,254および増設ボード256,258,260等、Aバス262を介して波形データを入出力する構成要素を「ノード」と呼ぶ。各ノードとAバス262との接続関係を図3に示す。図においてAバス262は、データ信号線10と、各1ビットのクロック信号線11、方向信号線12およびフレーム信号線13とから構成されている。データ信号線10のビット幅は16ビットあるいは4ビットのうち何れも選択可能であり、一部のみ4ビット幅にすることも可能である。15,16,17は各々ノードであり、具体的には上述した音源LSI252,254あるいは増設ボード256,258,260等によって構成される。
【0019】
これらノードにおいては、Aバス262に対して、データ信号ADAT、方向信号ADIRおよびクロック信号ACLKが入出力される。これらの各信号の入出力端は、ワイアードオア形式でAバス262に接続されている。換言すれば、何れかのノードから“0”信号が出力されていない限り、Aバス262上の当該信号は必ず“1”になる。そして、これらノードのうち何れか一つのノードがデータ信号ADAT等の信号を出力しているタイミングにおいては、他のノードの入出力端はハイインピーダンス状態に設定され、必要に応じて該一つのノードの出力信号が受信される。ここで、データ信号ADATはノード間で受け渡しすべき波形データ等の信号である。また、クロック信号ACLKはデータ信号ADATに同期するクロック信号である。
【0020】
データ信号ADATおよびクロック信号ACLKを出力すべき期間は、CPU212により各ノード毎に重複しないように設定されている。この期間を「フレーム」と呼ぶ。方向信号ADIRは、このフレーム期間中“0”に設定され、これによって他のノードに対して信号出力を禁止する。また、各ノードにおいては、方向信号ADIRが“1”に立上がるよりもクロック信号ACLKの1クロック相当だけ早く立上がるフレーム信号AFRMも出力される。各ノードに割り当てられるフレームは、「ワードクロックWCKが立ち上がった後の何回目のフレームか」によって定義される。従って、各ノードにおいては、ワードクロックWCKが立ち上がった後、フレームが何回発生したかをカウントすることにより(具体的にはフレーム信号AFRMの立上がり回数をカウントすることにより)、自ノードのフレームの開始タイミングを認識することができる。
【0021】
ここで、ワードクロックWCKの立上がり後に発生する順序によって、各フレームをフレーム#0、フレーム#1、フレーム#2、……のように表記することとする。各ノードに対しては、1サンプリング周期内に一または複数の送信フレームを割り当てることができる。ここで、送信フレームとして、ノード15にフレーム#2、ノード16にフレーム#0、ノード17にフレーム#1が割り当てられた場合におけるタイミングチャートを図4および図5を参照し説明する。
【0022】
図4(a)の時刻t0においてワードクロックWCKが立上ると、その旨が各ノード15,16,17によって検知される。そして、フレーム#0が割り当てられたノード16においては、時刻t0から所定時間経過した時刻t1に方向信号ADIRおよびフレーム信号AFRMが“0”に立下げられる。そして、クロック信号ACLKが所定のクロック周期毎に立上げられ、これに同期してデータ信号ADATがデータ信号線10のビット幅(ここでは16ビット)毎に出力される。
【0023】
時刻t2においてノード16からのデータ出力が終了すると、ノード16により方向信号ADIRが“1”に立上げられる。なお、時刻t2よりもクロック信号ACLKの1周期前にフレーム信号AFRMが“1”に立上げられる。ノード17においては、このAバス262上のフレーム信号AFRMの1回めの立上がりが検出されると、次のフレームが自ノードに割り当てられたフレーム#1であることが認識される。
【0024】
そして、方向信号ADIRが立上がった後、所定のマージン時間を経た時刻t3において、上述したノード16と同様にノード17が動作する。すなわち、ノード17の方向信号ADIRおよびフレーム信号AFRMが“0”に立下げられ、クロック信号ACLKが所定のクロック周期毎に立上げられ、これに同期してデータ信号ADATがデータ信号線10に出力される。なお、フレーム間のマージン時間は、データの衝突を避けるために設けられたものである。
【0025】
次に、ノード17によってフレーム信号AFRMが“1”に立上げられると、その旨がノード15によって検知される。これはワードクロックWCKが立上がった後のフレーム信号AFRMの2回めの立上がりであるから、ノード15においては、次のフレームが自ノードに割り当てられたフレーム#2であることが認識される。そして、時刻t4においてノード17の方向信号ADIRが“1”に立上がった後、所定のマージン時間を経た時刻t5において、上述したのと同様の出力処理がノード15において実行される。
【0026】
上記例においては、各ノードに1フレームづつフレームを割り当てたが、1サンプリング周期内に複数の送信フレームを一つのノードに割り当ててもよい。このように、全てのフレームからの出力処理が終了すると、次にワードクロックWCKが立上がるまで、Aバス262の各線はハイインピーダンス状態に保たれる。ここで、図4(a),(b),(c)に示された波形のワイアードオア、すなわちAバス262上に実際に現れる波形を図5に示しておく。
【0027】
本実施形態においては、クロック信号ACLKのクロック周期およびクロック数は各ノード毎に任意に設定できる。換言すれば、各ノードにおいては、他のノードに対して送信しようとするデータ量およびデータ信号線10のビット幅に応じて、1フレーム内のクロック数が設定される。また、データを送信するノード(以下、送信ノードという)と、データを受信する一または複数のノード(以下、受信ノードという)の処理速度のうち最も遅いノードに合せて、クロック周期を決定するとよい。
【0028】
1.3.データ信号のフォーマット
上述したように、データ信号線10のビット幅は16ビットあるいは4ビットのうち何れも選択可能であり、一部のみ4ビット幅にすることも可能である。4ビット幅を採用すると、データ転送速度は遅くなるが、配線数を少なくすることができる。これによってコネクタ等のコストダウンが可能になるため、例えばコネクタが必要な増設ボード256,258,260の部分のみ4ビット幅を採用することが考えられる。
【0029】
かかる場合に、データ信号線10の16ビット幅の部分に接続されている送信ノードが16ビット幅の受信ノードおよび4ビット幅の他の受信ノードの双方に対してデータを出力する場合には、各受信ノードに応じたビット幅でデータを出力する必要がある。その場合、対応する受信ノード毎に複数のフレームを当該送信ノードに割り当てると、これらフレーム毎にビット幅を変更しつつ波形データを送信することができる。
【0030】
また、双方の受信ノードに対して波形データを送信する場合であっても、必ずしも複数のフレームに分割する必要は無く、タイムスロット毎にビット幅を設定してもよい。すなわち、1フレーム内の一部のタイムスロットにおいては16ビット幅でデータを出力し、他のタイムスロットにおいては4ビット幅でデータを出力してもよい。この場合、各受信ノードにおいては、1フレーム内において自ノードが必要とするタイムスロットが認識され、それぞれ対応するビット幅のデータ信号が受信されることになる。
【0031】
本実施形態において、ノード間で受け渡しされるデータのデータ幅は、基本的には32ビットであることとしている。この32ビットの単位を本明細書では「1ユニット」という。すなわち、1ユニットのデータは、データ信号線10が16ビット幅である場合は2(=32/16)タイムスロット、4ビット幅である場合は8(=32/4)タイムスロットを費やして出力される。各々のビット幅に対する各ビットの配列を図6(a),(b)に示す。この1タイムスロットあたりに伝送されるデータの単位(16または4ビット)を本明細書では「1ワード」と呼ぶ。なお、データ信号線10の16ビット幅の部分に接続されている送信ノードが4ビット幅の部分に接続されている受信ノードにデータを伝送する場合には、データ信号線10の上位4ビットのみが使用され、下位12ビットは常に“0”に設定される。
【0032】
一般的に、電子楽器においては複数チャンネルの楽音信号の生成等の処理が可能である。1フレーム内にノード間で複数ユニットのデータを送受信することが可能であるから、例えば1ユニットを1チャンネル分のデータに割り当てると、ユニットに相当するチャンネルの最大32ビットの波形データをノード間で受け渡しすることが可能になる。また、1ユニットにステレオのLチャンネルとRチャンネルを割り当て、L,Rチャンネルの各16ビット波形データを詰め込んでもよい。あるいは、1ユニットに独立した2チャンネルを割り当てるようにしてもよい。各フレームの長さは、当該フレームで送信すべき波形データのチャンネル数ではなく、その送信すべきチャンネルを割り当てたユニットの数に応じて決定される。
【0033】
1.4.各ノードの一般的構成
次に、各ノードの一般的構成を図7を参照し説明する。図において304はバッファアンプであり、ノード300の入出力信号をバッファリングする。306はタイムスロット変換部であり、ノード300の受信信号のタイムスロット変換を行う。なお、その詳細については後述する。
【0034】
ここで、元々のデータ信号ADATにあっては、図6において説明したように各ビットが配列されている。タイムスロット変換部306から出力されるデータ信号ADAT’も同様である。400は受信部であり、これらのビットを通常の1ユニット(32ビット)毎のビット列に変換する。320は波形処理部であり、各ノードに応じた様々な波形処理を行う。具体的には、音源処理、ミキサ処理、エフェクト処理、AD変換、DA変換、LAN用の通信処理、ハードディスクレコーディング等が挙げられる。
【0035】
450は送信部であり、波形処理部320の出力データのビット配列を図6において説明したように変換し、その結果をデータ信号ADATとして出力するとともに、クロック信号ACLK、フレーム信号AFRMおよび方向信号ADIRをバッファアンプ304を介して出力する。470は制御レジスタであり、ノード300に対する各種の制御データやマイクロプログラム等が記憶される。制御レジスタ470の内容は、CPUバス218を介して、CPU212によって設定される。302は動作クロック発生部であり、ノード300のシステムクロックを生成するとともに、これを分周してデータ出力用のクロック信号ACLK等を生成する。Aバス262に接続される各ノードは、それぞれ自ノードの動作クロック発生部302の発生する動作クロック(個別動作クロック)に基づいて動作するが、他ノードの動作クロック発生部から動作クロック(共通動作クロック)の供給を受けることによって動作するようにしてもよい。
【0036】
制御レジスタ470に記憶される制御データの中には、ノード300に対して割り当てられるフレーム番号、クロック信号ACLKの周期およびクロック数、波形処理部320に対するパラメータ等が含まれる。490はパラメータROMであり、当該ノード300の種別、送受信可能なチャンネル数、受信および送信レートの最高速度等のパラメータが記憶されている。パラメータROM490の内容は、楽音合成装置の電源投入時にCPU212によって読み出される。
【0037】
なお、図7の構成は各ノードにおける一般的な構成であるため、ノードの種類によっては図示の構成要件の一部を有しない場合もある。例えば、ノード300が音源あるいはADコンバータ等である場合、他のノードから波形データ等を受信する必要が無いため、タイムスロット変換部306および受信部400は設けられない。また、ノード300がDAコンバータ等である場合には他のノードに波形データ等を送信する必要が無いため、送信部450は設けられない。
【0038】
1.4.1.タイムスロット変換部306の詳細
ここで、タイムスロット変換部306における動作の詳細を図8を参照し説明する。図8においてデータ信号ADATおよびクロック信号ACLKは、バッファアンプ304を介してAバス262から受信される信号である。タイムスロット変換部306においては、クロック信号ACLKの立上がりタイミングにおいてデータ信号ADATがラッチされる。その結果が図示の「中間データ」である。
【0039】
次に、図示の「システムクロック」は上記動作クロック発生部302において生成されるクロックであり、図示の例にあっては出力用のクロック信号ACLKの2倍の周波数を有する。但し、図示のクロック信号ACLKすなわちバッファアンプ304を介して受信されるクロック信号ACLKは、他のノードにおいて生成された信号であり、各ノードのシステムクロックは相互に独立しているため、その周波数はノード300のシステムクロックとは同期していない。
【0040】
システムクロックの各立上がりタイミングにおいては上記中間データがラッチされ、そのラッチ結果が図示のデータ信号ADAT’になる。このデータ信号ADAT’は、受信部400に供給される。また、システムクロックの各立下がりタイミングにおいては、クロック信号ACLKがラッチされる。そして、クロック信号ACLKがラッチされる毎に、前回の立下がりタイミングにおけるラッチ結果と、今回のラッチ結果とが比較され、クロック信号ACLKの立上がりが検出された場合(すなわち、前回ラッチ結果が“0”であって今回のラッチ結果が“1”である場合)には、システムクロックの半周期だけ取込信号ACLK’が“1”に設定される。
【0041】
なお、取込信号ACLK’は、それ以外の場合には“0”に設定される。そして、この取込信号ACLK’は、データ信号ADAT’を取り込むためのタイミング信号として、データ信号ADAT’とともに受信部400に供給される。このように、本実施形態においては、各受信ノードは自ノードにおいて生成されるシステムクロックに同期して取込信号ACLK’およびデータ信号ADAT’を生成するから、各ノード間におけるシステムクロックの周波数/位相のずれを補償することが可能である。
【0042】
1.4.2.受信部400の詳細
次に、受信部400の詳細構成を図9を参照し説明するが、最初に受信部400に関連する制御レジスタ470の内容を説明しておく。図9において472は受信制御レジスタであり、複数のアドレスを有している。各アドレスは、ノード300が受信すべきデータの各ユニットに対応しており、各アドレスには各ユニット対するフレーム番号およびオフセット値が発生順に記憶される。ここに、オフセット値とは、各受信フレーム内において受信されるデータのユニット番号である。
【0043】
例えば、ノード300が1サンプリング周期内に「100」ユニットのデータを受信するのであれば、フレーム番号およびオフセット値の組が「100」のアドレスに発生順に記憶されることになる。474はデータ線ビット数レジスタであり、上記受信制御レジスタ472の各アドレスに対応してデータ信号ADATのビット幅を記憶する。なお、前記フレーム番号の示す受信フレームのオフセット値で示されるユニットにおけるデータのビット幅は、当該フレーム番号および当該オフセット値に対応して、上記データ線ビット数レジスタ474に記憶された値が“0”であれば「16ビット」、“1”であれば「4ビット」である。
【0044】
また、受信部400の内部において402はフレームカウンタであり、Aバス262上のフレーム信号AFRMの立下がり回数をカウントするとともに、ワードクロックWCKの立上がりタイミングでリセットされる。これにより、フレームカウンタ402のカウント結果は、現時点のフレーム番号になる。404はワードカウンタであり、各フレーム内において取込信号ACLK’の数をカウントするとともに、各フレーム信号AFRMの立下がりタイミングにおいてリセットされる。これにより、ワードカウンタ404のカウント結果は、各フレーム内における現在のワード番号になる。
【0045】
406はオフセットカウンタであり、ワードカウンタ404から出力されるワード番号をカウントすることによって、現在受信中のフレームにおけるオフセット値(ユニット番号)を出力する。すなわち、データ線ビット数レジスタ474の記憶内容に基づいて、現在受信しているデータ信号ADAT’のビット幅が特定されるため、そのビット幅が「16」であればワード番号を「2」で除算した結果が現在のオフセット値になり、ビット幅が「4」であればワード番号を「8」で除算した結果が現在のオフセット値になる。
【0046】
410は取込カウンタであり、受信制御レジスタ472およびデータ線ビット数レジスタ474の読出しアドレスを記憶する。この取込カウンタ410は、後述する一致信号RCXによって「1」づつカウントアップされるとともに、ワードクロックWCKによってリセットされる。取込カウンタ410のカウント結果は、受信制御レジスタ472およびデータ線ビット数レジスタ474の読出しアドレスとして用いられる。従って、各サンプリング周期の開始時においては、レジスタ472,474のアドレス「0」のフレーム番号、オフセット値およびビット幅が読み出されることになる。
【0047】
408は比較器であり、フレームカウンタ402が出力するフレーム番号と、受信制御レジスタ472の現在の読出しアドレスに記憶されているフレーム番号とを比較するとともに、オフセットカウンタ406の出力するオフセット値と受信制御レジスタ472の現在の読出しアドレスに記憶されているオフセット値とを比較する。そして、フレーム番号およびオフセット値の双方について一致した場合に上記一致信号RCXを“1”に立上げる。なお、フレーム番号またはオフセット値のうち少なくとも一方が一致しない場合には一致信号RCXは“0”に設定される。
【0048】
さて、一致信号RCXが“1”に立上がると、取込カウンタ410のカウント結果が「1」だけインクリメントされる。従って、その後はレジスタ472,474の次のアドレスの内容が読み出されるようになり、一致信号RCXは直ちに“0”に立下ることになる。412は取込みレジスタ部であり、4ビットのレジスタIN1〜IN8から構成されている。データ信号ADAT’のビット幅が「4」である場合においては、連続する「8」スロットにおいて、「8」ワードのデータがこれらレジスタIN1〜IN8に順次ラッチされる。
【0049】
また、データ信号ADAT’のビット幅が「16」である場合においては、連続する「2」スロットのデータがラッチされる。すなわち、最初のスロットのデータがレジスタIN1〜IN4に、次のスロットのデータがレジスタIN5〜IN8にラッチされる。414はビット並べ替え部であり、レジスタIN1〜IN8にラッチされたデータの各ビットを、通常の1ユニット(32ビット)毎のビット列に並べ替える。
【0050】
416は受信データレジスタであり、一致信号RCXに同期してこの並べ替えられたデータをラッチする。受信データレジスタ416は複数のアドレスを有し、アドレス毎に1ユニットの波形データを記憶することができる。この受信データレジスタ416に対する書込みアドレスは、上述した取込カウンタ410のカウント結果が用いられる。そして、受信データレジスタ416に記憶された波形データは、必要に応じて波形処理部320によって読み出される。
【0051】
1.4.3.送信部450の詳細
次に、送信部450の詳細構成を図10を参照し説明するが、最初に送信部450に関連する制御レジスタ470の内容を説明する。図において476は送信制御レジスタであり、ノード300がデータ送信を行う一または複数の送信フレームのフレーム番号が記憶されている。また、これら送信フレームの各々に対して、送信レートと送信データのユニット数とが記憶されている。ここに、「送信レート」は、出力されるクロック信号ACLKのシステムクロックに対する分周比によって表される。
【0052】
また、478はデータ線ビット数レジスタであり、上記各送信フレームにおける送信データ信号ADATのビット数を記憶する。なお、送信フレームにおけるビット幅は、上記データ線ビット数レジスタ478に記憶された値が“0”であれば「16ビット」、“1”であれば「4ビット」である。上述したように、本実施形態においては、1サンプリング周期内に複数の送信フレームを一のノードに割り当てることができる。これにより、例えば、処理速度の速い受信ノードに対しては一の送信フレームにおいて高速のレートでデータ信号ADATを出力し、他の処理速度の遅い受信ノードに対しては他の送信フレームにおいて低速のレートでデータ信号ADATを出力することができる。また、データ線のビット幅(4または16ビット)が異なる複数の受信ノードに対しても、個々の異なる送信フレームを割り当てておくと好適である。
【0053】
送信部450の内部において452は比較器であり、送信制御レジスタ476に記憶された各送信フレームのフレーム番号と、受信部400内のフレームカウンタ402から供給される現在のフレーム番号とを比較し、現在のフレーム番号が何れかの送信フレームのフレーム番号に一致すると“1”信号を出力する。また、454は比較器であり、各送信フレームにおいて、当該送信フレームにおける送信ユニット数と、後述する読出カウンタ462のカウント結果とを比較し、カウント結果が送信ユニット数未満であれば“1”信号を出力する。
【0054】
456はSフラグ設定回路であり、上記比較器452,454から共に“1”信号が出力されている状態において、Sフラグ(送信フラグ)を“1”に設定し、それ以外の場合にはSフラグを“0”に設定する。458はタイミング信号発生部であり、Sフラグが“1”に立上がると、送信制御レジスタ476に記憶された送信レートに基づいてクロック信号ACLKを発生させとともに、方向信号ADIRおよびフレーム信号AFRMを共に“0”に設定する。
【0055】
また、タイミング信号発生部458においては、Sフラグが“0”になると、まずフレーム信号AFRMが“1”に立上げられる。そして、クロック信号ACLKの1周期分遅れてクロック信号ACLKの出力が停止され、方向信号ADIRが“1”に立上げられる(図4参照)。460はワードカウンタであり、出力されるクロック信号ACLKをカウントする。464は送信データレジスタであり、複数のアドレスに各々1ユニットづつの波形データを記憶する。なお、これらの波形データは、送信を行うサンプリング周期の前のサンプリング周期の任意のタイミングに波形処理部320によって書き込まれる。
【0056】
462は読出カウンタであり、上述した受信部400内のオフセットカウンタ406と同様に、データ線ビット数レジスタ478に記憶された値に基づいて、送信されたユニット数をカウントする。このカウント結果は、読出しアドレスとして送信データレジスタ464に供給される。これにより、送信データレジスタ464に記憶された32ビットの波形データが順次アクセスされ読み出されることになる。466はビット選択部であり、ワードカウンタ460のカウント結果に応じて、32ビットの波形データのうち送信すべき一部のビット(図6参照)を選択する。選択されたビットはデータ信号ADATとして、バッファアンプ304を介して出力される。
【0057】
2.実施形態の具体的構成
2.1.波形処理部320の具体的構成例
次に、波形処理部320の具体的構成例を図11(a)〜(c)に示す。同図(a)における波形処理部320aは、波形処理部320として音源を構成した場合の例である。この波形処理部320aに対しては、CPU212の制御の下、制御レジスタ470(図7参照)に各発音チャンネルの楽音制御データが記憶される。351は波形合成部であり、これら楽音制御データに基づいて、複数の発音チャンネルの波形データを合成する。352はチャンネル累算器であり、合成された各発音チャンネルの波形データをパート毎に重み付けして累算し、16パートの波形データを出力する。
【0058】
合成された16パートの波形データは、送信部450を介してAバス262上に出力される。ここでは、この1パートの波形データが、Aバス262上における1ユニットに割り当てられるものとする。累算の態様は、例えば、各パートのモノラル発音している発音チャンネルの波形データを1系列で累算して1チャンネルの波形データを生成してもよく、あるいはパンを制御して2系列で累算し2チャンネルの波形データを生成してもよい。ステレオで発音する場合には、同一音色のL(左)とR(右)の発音を行う発音チャンネルを、それぞれ別のパートにまとめるとよい。
【0059】
次に、図11(b)における波形処理部320bは、波形処理部320としてエフェクタを構成した場合の例である。361はエフェクト処理部であり、受信部400を介してAバス262から2系統のステレオ信号の波形データ(合計4チャンネル)を受信し、これら波形データにエフェクト処理を施した結果を、送信部450を介してAバス262に出力する。このエフェクト処理の内容は、CPU212によって制御レジスタ470に設定されるマイクロプログラム、エフェクト係数、遅延制御データによって決定される。なお、エフェクト処理部362もエフェクト処理部361と同様に構成されている。
【0060】
次に、図11(c)における波形処理部320cは、音源、ミキサ、エフェクタ等の機能を1チップ内に収納した場合の例であり、上述した音源LSI252,254のノード300における波形処理部320として、用いられるものである。図において371は波形合成部であり、制御レジスタ470を介してCPU212から楽音制御データを受信し、これに基づいて複数発音チャンネルの波形データを生成する。372はミキサであり、各種波形データのミキシング処理を行う。ミキシング処理のための入力波形データの一部は、Aバス262から受信部400を介して供給され、また、出力波形データの一部は送信部450を介してAバス262に出力される。
【0061】
373はマルチDSP(複数ブロックのDSP)であり、ミキサ372から供給された波形データに対してエフェクト処理等を施し、その結果をミキサ372に供給する。そのエフェクト処理等を特定するマイクロプログラム、エフェクト係数、遅延制御データ等はCPU212によって制御レジスタ470に設定される。374はI/O部であり、シリアルバスに対する16チャンネルの入出力と、DAコンバータ用のバスに対する2チャンネルの入出力とを行う。
【0062】
ここで、ミキサ372におけるチャンネル構成を図12を参照し説明する。
ミキサ372においては、波形合成部371の出力データに対して64チャンネル(TG#1〜TG#64)、マルチDSP373の出力データに対して32チャンネル(DSP#1〜#32)、および波形処理部320cの外部からのデータ入力用に80チャンネル(EXT#1〜#80)の合計176チャンネルが入力チャンネルとして確保される。なお、データ入力用に80チャンネルのうち64チャンネルはAバス262からのデータ入力用であり、残り16チャンネルはI/O部374からのデータ入力用である。また、データ入力用のチャンネルを「80」より少ない数とし、そのチャンネルをAバス262からのデータ入力(最大64)と、I/O部374からのデータ入力(最大16)とに選択的に割り当てて使用するようにしてもよい。
【0063】
このように入力された波形データに対して、レベル調節等を行うミキシングチャンネルが合計400チャンネル(MIX#1〜#400)が設けられている。そして、ミキシングチャンネルの出力データを混合して出力する出力チャンネルが114チャンネルだけ確保されていてる。出力チャンネルの内訳は、マルチDSP373に対する32チャンネル(DSP#1〜#32)、外部出力用の82チャンネル(EXT#1〜#82)である。なお、データ出力用の82チャンネルのうち64チャンネルはAバス262に対するデータ出力用であり、残り18チャンネルはI/O部374へのデータ出力用である。また、データ出力用のチャンネルを「82」より少ない数とし、そのチャンネルをAバス262へのデータ出力(最大64)とI/O部374へのデータ出力(最大18)に割り当てて使用するようにしてもよい。
【0064】
2.2.全体構成の具体例(1)
次に、本実施形態の音源部250において、音源LSI252,254および増設ボード256,258,260に具体的な機能を設定した例を説明する。まず、音源部250を通常の音源として構成した場合のこれら構成要素間の論理的接続例を図13に示す。図において、増設ボード256,258,260として、各々16パート音源256a、エフェクタ258a、およびデジタル入出力部260aが挿入されている。
【0065】
16パート音源256aは16チャンネルの波形データを出力するものであり、その構成は図11(a)において説明した通りである。エフェクタ258aは4チャンネル(ステレオ2系統)の波形データが入力されると、これに効果処理を施して4チャンネルの波形データを出力するものであり、その構成は図11(b)において説明した通りである。また、デジタル入出力部260aは、外部機器との間で各8チャンネルのデジタル音声信号を入出力するものである。
【0066】
音源LSI252,254の内部構成は図11(c)および図12において説明した通りである。すなわち、音源LSI252,254内の各波形合成部371,371によって各々64チャンネルづつの波形データが合成され、マルチDSP373,373によってこれら波形データに対して効果処理が施され、これら波形データは、他の構成要素256a,258a,260aから供給された波形データあるいは音源LSI252,254相互間でやりとりされる波形データとともに、ミキサ372,372においてミキシングされる。
【0067】
図13において、各構成要素間を結ぶ矢印は、各構成要素間の論理的接続状態を示す。このうち、音源LSI252,254間の一点鎖線の結線は直結ライン253を経由するものであり、その他の結線はAバス262を経由する結線である。図13において、16パート音源256aから出力される16チャンネルの波形データは、Aバス262を介して、音源LSI252,254にそれぞれ入力される。
【0068】
そして、音源LSI254から音源LSI252に対して、直結ライン253を介して16チャンネル、Aバス262を介して14チャンネルの波形データが供給される。後者の14チャンネルの波形データのうち、2チャンネルは音源LSI252からステレオ出力される波形データの伝送用であり、音源LSI252のミキサ372において音源LSI252からステレオ出力される波形データと混合される。そして、混合されたステレオ波形データは音源LSI252のI/O部374を介してDAコンバータ264へ出力される。また、4チャンネルはエフェクタ258aにおいてエフェクト処理を施すための波形データであり、8チャンネルはデジタル入出力部260aを介して外部に出力するための波形データである。
【0069】
これら4チャンネルおよび8チャンネルの波形データは、音源LSI252において生成された他の波形データとミキシングされ、そのミキシング結果である4チャンネルおよび8チャンネルの波形データは各々エフェクタ258aおよびデジタル入出力部260aに供給される。エフェクタ258aにおいては、この音源LSI252を介して供給された4チャンネルの波形データに対してエフェクト処理が施され、その結果が4チャンネルの波形データとして音源LSI252,254に出力される。
【0070】
また、デジタル入出力部260aは、音源LSI252を介して供給された8チャンネルの波形データをデジタル音声信号として外部機器に出力するとともに、外部機器から受信した8チャンネルの音声信号を音源LSI252,254に供給する。次に、上述した論理的接続状態を実現するためのフレーム割当例を図14に示す。図においてフレーム#0は音源LSI252の送信フレームとして割り当てられている。音源LSI252からAバス262を介して他の構成要素に出力される波形データは、エフェクタ258aに対して4チャンネル、デジタル入出力部260aに対して8チャンネルであるから、合計12チャンネル相当分の時間(1ユニットに1チャンネルを割り当てるとすれば12ユニット分の時間)がフレーム#0に割り当てられることになる。
【0071】
また、フレーム#1は音源LSI254の送信フレームとして割り当てられている。音源LSI254からAバス262を介して他の構成要素に出力される波形データは、音源LSI252に対する14チャンネルのみであるから、14チャンネル相当分の時間(同14ユニット分の時間)がフレーム#1に割り当てられることになる。また、フレーム#2は16パート音源256aの送信フレームとして割り当てられている。16パート音源256aは16チャンネルの波形データを音源LSI252,254に出力するが、これら音源LSIにおける受信は同時に実行されるため、16チャンネル相当分の時間がフレーム#2に割り当てられることになる。同様に、フレーム#3,#4は各々エフェクタ258aおよびデジタル入出力部260aの送信フレームとして割り当てられ、これらの波形データの出力チャンネル数に応じた長さがフレーム#3,#4に割り当てられることになる。
【0072】
2.3.全体構成の具体例(2)
また、本実施形態の音源部250は、単なる音源部とは全く異なる機能を実現することもできる。その一例として、音源部250を用いて、音源付きマルチトラック・レコーディング装置を構成した論理的接続例を図15に示す。図において、増設ボード256,258,260として、各々ADコンバータ256b、マルチトラックレコーダ258b、およびDAコンバータ260bが挿入されている。
【0073】
ADコンバータ256bは、16チャンネルのアナログ信号を外部機器から受信し、これを16チャンネルの波形データに変換するものである。マルチトラックレコーダ258bは、16トラックの音声信号を記録/再生するものであり、DAコンバータ260bは供給された8チャンネルの波形データを各々アナログ信号に変換し外部機器に出力するものである。
【0074】
図13と同様に図15において、各構成要素間を結ぶ矢印は各構成要素間の論理的接続状態であり、音源LSI252,254間の一点鎖線の結線は直結ライン253を経由するものであり、その他の結線はAバス262を経由する結線である。図15において、ADコンバータ256bから出力される16チャンネルの波形データは、Aバス262を介して、音源LSI252,254にそれぞれ入力される。
【0075】
そして、音源LSI254から音源LSI252に対して、直結ライン253を介して16チャンネル、Aバス262を介して26チャンネルの波形データが供給される。後者の26チャンネルの波形データのうち、2チャンネルは単に音源LSI252に供給されるものであるが、16チャンネルはマルチトラックレコーダ258bに記録するための波形データであり、8チャンネルはDAコンバータ260bを介して外部に出力するための波形データである。
【0076】
これら16チャンネルおよび8チャンネルの波形データは、音源LSI252において生成された他の波形データとミキシングされ、そのミキシング結果である16チャンネルおよび8チャンネルの波形データは各々マルチトラックレコーダ258bおよびDAコンバータ260bに供給される。マルチトラックレコーダ258bが記録状態である場合は、この音源LSI252を介して供給された16チャンネルの波形データが記録される。また、マルチトラックレコーダ258bが再生状態である場合は、その再生結果が16チャンネルの波形データとして音源LSI252,254に出力される。
【0077】
また、DAコンバータ260bは、音源LSI252を介して供給された8チャンネルの波形データをアナログ信号に変換し外部機器に出力する。次に、上述した論理的接続状態を実現するためのフレーム割当例を図16に示す。図においてフレーム#0は音源LSI252の送信フレームとして割り当てられている。音源LSI252からAバス262を介して他の構成要素に出力される波形データは、マルチトラックレコーダ258bに対して16チャンネル、DAコンバータ260bに対して8チャンネルであるから、合計24チャンネル相当分の時間がフレーム#0に割り当てられることになる。
【0078】
また、フレーム#1は音源LSI254の送信フレームとして割り当てられている。音源LSI254からAバス262を介して他の構成要素に出力される波形データは、音源LSI252に対する26チャンネルのみであるから、26チャンネル相当分の時間がフレーム#1に割り当てられることになる。また、フレーム#2,#3は各々ADコンバータ256bおよびマルチトラックレコーダ258bの送信フレームとして割り当てられ、これらの波形データの出力チャンネル数に応じた長さがフレーム#2,#3に割り当てられることになる。なお、DAコンバータ260bは受信ノードとしてのみ機能し波形データをAバス262に出力しないため、送信フレームは割り当てられない。
【0079】
3.実施形態の動作
次に、本実施形態の動作を説明する。
まず、本実施形態の楽音合成装置の電源が投入されると、CPU212によって各ノードのパラメータROM490の内容が読み出され、これによって各ノードの種別等が検出される。次に、現在実装されているノードに応じて、実現可能な動作モードが表示器208にリストアップされる。実現可能な動作モードとは、例えば、「一般用音源(図13)」、「電子ピアノ用音源」、「シンセサイザ用音源」、「マルチトラック・レコーディング装置(図15)」等である。ユーザがこれらの動作モードのうち何れかを選択すると、選択された動作モードに応じた詳細なパラメータ(例えば音源において合成する波形データのパート数、エフェクトの詳細な内容、複数チャンネルのミキシング比)などがさらに設定可能になる。
【0080】
以上の設定が終了すると、各ノードの詳細な動作内容が決定される。すなわち、1サンプリング周期内に設けられるフレームの数、および各ノードが送信ノードになるフレームおよび受信ノードになるフレームが決定され、さらに、受信ノードになるフレームにおいてはオフセット値が決定される。また、各フレームにおける詳細なタイミング関係も決定される。
【0081】
例えば、ある送信ノードから一または複数の受信ノードに波形データを転送すべき場合には、これら全ての送受信ノードのうち、最高送信レートまたは受信レートが最も遅いノードに合せて送受信レートが決定される。そして、送受信されるデータ量およびバス幅に応じて各フレームにおけるクロック信号ACLKのクロック数が決定され、各フレームの長さが決定される。このように全てのパラメータが決定されると、CPU212によってこれらパラメータが各ノードの制御レジスタ470に書き込まれる。これにより、楽音合成装置を所望の動作モードで機能させることができる。
【0082】
また、各ノード間の論理的接続状態をユーザが自由にエディットできるようにしておけば、電源投入時にリストアップされた動作モード以外に、ユーザ独自の動作モードも実現することができる。かかる場合には、設定された論理的接続状態に応じて各ノードが送信を行う送信スロット(送信フレーム番号とユニット数)、および/または、各ノードが受信を行う受信スロット(受信フレームとユニット番号)がCPU212によって自動的に決定され、各ノードの受信制御レジスタ472および送信制御レジスタ476に設定される。ここで、異なるノードに対して同じ送信スロットが設定されないように、CPU212によって各ノードに対して異なる送信スロット番号が順次割り当てられる。また、複数の送信スロットの各ユニット数の和が、Aバス262のサンプリング周期毎の転送能力を超えないか否かがチェックされ、超える場合にはユーザに対して警告を行うようにするとよい。
【0083】
あるいは、各ノードの送信フレームおよび/またはユニット数をユーザが自由に指定できるようにしてもよい。その場合、CPU212が、複数ノードの何れか二つにおいて送信フレームとして同一のフレーム番号が指定されていないかどうかチェックし、同一のフレーム番号が指定されていればユーザに対して警告を行い、あるいはその一方のフレーム番号を自動的に補正するようにするとよい。また、複数のノードでの送信ユニット数がAバス262の転送能力を超える場合には、その旨を警告するようにするとよい。
【0084】
このように、本実施形態によれば、音源部250内の物理的な結線状態を変更することなく、論理的接続状態を自在に設定することができる。これにより、音源部250によって実現される機能あるいは動作モードのバリエーションを豊富にすることができ、その汎用性をきわめて高くすることができる。
【0085】
4.変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施形態においては、楽音合成装置の動作モードをユーザが選択動作によって決定したが、動作モードを自動的に決定することも可能である。例えば、上記実施形態の楽音合成装置が電子ピアノ、電子オルガン、シンセサイザ等のシステムの一部として用いられる場合には、CPU212によって当該楽音合成装置が実装されているシステムの種別を検出し、これに適合するように楽音合成装置の動作モードを自動的に設定するとよい。
【0086】
(2)上記実施形態においてデータ線ビット数レジスタ474(図9参照)は、受信制御レジスタ472の各アドレスに対応してデータ信号ADATのビット幅を記憶したが、各フレームにおけるビット幅を「16ビット」または「4ビット」の何れかに固定し、ビット幅を「フレーム」毎に記憶させてもよい。
【0087】
(3)上記実施形態においては、楽音合成装置の電源の投入時に各ノードの種別等が検出され、ノードの種別に応じた動作モードが選択された。しかし、ノードの種別に関係なく動作モードを設定してもよい。また、ユーザが複数の動作モードから一つの動作モードを選択しているが、ユーザが選択できることは必須ではない。例えば、各機種毎にメーカが動作モードを固定的に決定し、楽音合成装置に設定するようにしてもよい。具体的には、ROM214に当該機種に対し決定された動作モードに応じたCPUプログラムのみを記憶し、それに従ってCPU212がAバス262に接続された各ノードへの設定を行うようにしてもよい。あるいは、ROM214に複数機種分の動作モードに対応した複数のCPUプログラムを記憶させ、音源ボード上のジャンパ線、マイクロスイッチ、プルアップないしプルダウン抵抗等によって、当該機種の動作モードに対応した一つのCPUプログラムを選択してもよい。
【0088】
【発明の効果】
以上説明したように、本発明によれば、各送信ノードがサンプリング周期毎に所定の順序で各々データ信号をバスに送信し、各受信ノードはこれらデータ信号のうち必要なものを選択的に取得するから、任意の送信ノードから任意の受信ノードに対する論理的接続状態を自在に設定することができ、簡易な回路でありながら高い汎用性を実現することができる。
【0089】
さらに、受信ノードの動作クロックに基づいて、データ信号を当該受信ノードの動作クロックに同期したデータ信号に変換する構成によれば、例えば複数サンプルの波形データを記憶するバッファ等を設けることなく波形データの送受信を行うことができ、回路構成を簡略化することができる。また、各送信ノードにおけるビット幅nを各送信ノード毎に異なる値に設定することを可能にした構成によれば、必要に応じてデータ線幅を削減しコストダウンを図ることができる。
【図面の簡単な説明】
【図1】 従来の音源部および本発明の目的とする音源部のブロック図である。
【図2】 本発明の一実施形態の楽音合成装置の全体ブロック図である。
【図3】 各ノードとAバス262との接続関係を示す回路図である。
【図4】 図3の回路におけるタイミングチャート(1/2)である。
【図5】 図3の回路におけるタイミングチャート(2/2)である。
【図6】 送信ビット幅に対する各ビットの配列を示す図である。
【図7】 各ノードの一般的構成を示すブロック図である。
【図8】 タイムスロット変換部306の動作説明図である。
【図9】 受信部400のブロック図である。
【図10】 送信部450のブロック図である。
【図11】 波形処理部320の具体的構成を示すブロック図である。
【図12】 ミキサ372におけるチャンネル構成を示す図である。
【図13】 音源部250を通常の音源として構成した場合の論理的接続状態を示すブロック図である。
【図14】 図13の論理的接続状態を実現するためのフレーム割当例を示す図である。
【図15】 音源部250をマルチトラック・レコーディング装置として構成した場合の論理的接続状態を示すブロック図である。
【図16】 図15の論理的接続状態を実現するためのフレーム割当例を示す図である。
【符号の説明】
10…データ信号線、11…クロック信号線、12…方向信号線、13…フレーム信号線、15,16,17…ノード、202…MIDI・I/O部、204…その他I/O部、206…パネルスイッチ部、208…表示器、210…外部記憶装置、212…CPU、214…ROM、216…RAM、218…CPUバス、220…サウンドシステム、250…音源部、251…ワードクロック発生器、253…直結ライン、256,258,260…増設ボード、256a…16パート音源、256b…ADコンバータ、258a…エフェクタ、258b…マルチトラックレコーダ、260a…デジタル入出力部、260b…DAコンバータ、262…Aバス、264…DAコンバータ、268…ワードクロック外部入力端子、300…ノード、302…動作クロック発生部、304…バッファアンプ、306…タイムスロット変換部、320…波形処理部、351…波形合成部、352…チャンネル累算器、361,362…エフェクト処理部、371,371…波形合成部、372,372…ミキサ、374…I/O部、400…受信部、402…フレームカウンタ、404…ワードカウンタ、406…オフセットカウンタ、408…比較器、410…取込カウンタ、412…取込みレジスタ部、414…ビット並べ替え部、416…受信データレジスタ、450…送信部、452,454…比較器、456…Sフラグ設定回路、458…タイミング信号発生部、460…ワードカウンタ、462…読出カウンタ、464…送信データレジスタ、466…ビット選択部、470…制御レジスタ、472…受信制御レジスタ、472,474…レジスタ、474,478…データ線ビット数レジスタ、476…送信制御レジスタ、490…パラメータROM。
Claims (6)
- サンプリング周期毎に複数のフレームで波形データのデータ信号を伝送する内部バスと、該内部バスに接続された複数のデバイスノードとを具備し、前記複数のデバイスノードが前記内部バスを介して波形データのデータ信号を相互に授受する波形データ処理装置であって、
前記複数のデバイスノードは、それぞれ独立した動作クロックに基づいて動作しており、
前記複数のデバイスノードのうち、波形データの送信を行うデバイスノードは、
当該デバイスノードの動作クロックに基づいて同期クロックを生成する同期クロック生成手段と、
前記サンプリング周期毎に、当該デバイスノードに割り当てられた所定の順番の前記フレームで、送信すべきデータ信号とともに前記生成した同期クロックを前記データ信号と並列に前記内部バスに出力する出力手段と
を有し、
前記複数のデバイスノードのうち、波形データの受信を行うデバイスノードは、
前記サンプリング周期毎に、前記内部バスに伝送されている複数のフレームのデータ信号のうち、該デバイスノードが必要とする所定の順番のフレームより前記データ信号および前記同期クロックを取り込む取込手段と、
該取り込んだ同期クロックと当該デバイスノードの動作クロックとに基づいて、前記内部バスから取り込んだデータ信号を当該デバイスノードの動作クロックに同期したデータ信号に変換する変換手段と
を有することを特徴とする波形データ処理装置。 - 前記波形データの送信を行うデバイスノードが、一のフレームにおいて送信する
データ信号のサイズは、各フレーム毎に異なるサイズにすることができることを特徴とする請求項1記載の波形データ処理装置。 - 前記波形データの送信を行うデバイスノードは、前記フレームの番号と、前記内部バスに出力するデータ信号のユニット数とを設定する制御手段をさらに有し、前記各フレームのサイズは前記設定されたユニット数に応じて増減する
ことを特徴とする請求項1または2記載の波形データ処理装置。 - 前記データ信号はmビット幅の波形データであり、
前記波形データの送信を行うデバイスノードは該mビットの波形データを前記各デバイスノード毎の独立したビット幅であるnビット幅の部分データに分割して前記内部バスに送信するものであり、
前記波形データの受信を行うデバイスノードは、前記内部バスから一つの波形データに対応するm/n個の部分データを選択的に受信し、該m/n個の部分データから前記mビットの波形データを復元することにより、前記一つの波形データを取得するものである
ことを特徴とする請求項1ないし3の何れかに記載の波形データ処理装置。 - 前記波形データの送信を行うデバイスノードは、nビット幅の前記データ信号を送信するものであり、かつ、該ビット幅nは各デバイスノード毎に異なる値に設定することが可能であり、サンプリング周期毎にmビット幅の前記波形データをm/n個の部分データに分割して前記データ信号として出力するものであり、
前記波形データの受信を行うデバイスノードは、前記複数のフレームの波形データのうち少なくとも一つのフレームの波形データを選択的に受信するものであり、サンプリング周期毎に、受信しようとするデータ信号のビット幅nに応じてm/n個の部分データを受信し、受信したm/n個の部分データからmビット幅の前記波形データを復元するものである
ことを特徴とする請求項1ないし3の何れかに記載の波形データ処理装置。 - 前記波形データの送信を行うデバイスノードは、nビット幅の前記データ信号を送信するものであり、かつ、該ビット幅nは送信する波形データ毎に異なる値に設定することが可能であり、サンプリング周期毎にmビット幅の前記各波形データを当該波形データに対応するビット幅nに応じて各々m/n個の部分データに分割しm/n個のタイムスロットを用いて前記データ信号として出力するものであり、
前記波形データの受信を行うデバイスノードは、前記複数のフレームの波形データのうち少なくとも一つのフレームの波形データを選択的に受信するものであり、サンプリング周期毎に、受信しようとする波形データのビット幅nに応じて、m/n個の部分データを受信し、受信したm/n個の部分データからmビット幅の前記少なくとも一つの波形データを復元するものである
ことを特徴とする請求項1ないし3の何れかに記載の波形データ処理装置。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002266848A JP3952916B2 (ja) | 2002-09-12 | 2002-09-12 | 波形データ処理装置 |
US10/655,386 US7220908B2 (en) | 2002-09-12 | 2003-09-04 | Waveform processing apparatus with versatile data bus |
EP03103300A EP1400949B1 (en) | 2002-09-12 | 2003-09-05 | Waveform processing apparatus with versatile data bus |
DE60321520T DE60321520D1 (de) | 2002-09-12 | 2003-09-05 | Vorrichtung mit flexiblem Datenbus zur Verarbeitung von Wellenformen |
CNU032094949U CN2696075Y (zh) | 2002-09-12 | 2003-09-12 | 波形数据处理设备 |
CNB031570860A CN100512184C (zh) | 2002-09-12 | 2003-09-12 | 带有通用数据总线的波形数据处理设备及方法 |
US11/450,162 US7459625B2 (en) | 2002-09-12 | 2006-06-06 | Waveform processing apparatus with versatile data bus |
US12/038,778 US20080156175A1 (en) | 2002-09-12 | 2008-02-27 | Waveform processing apparatus with versatile data bus |
US12/959,249 USRE43076E1 (en) | 2002-09-12 | 2010-12-02 | Waveform processing apparatus with versatile data bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002266848A JP3952916B2 (ja) | 2002-09-12 | 2002-09-12 | 波形データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004102128A JP2004102128A (ja) | 2004-04-02 |
JP3952916B2 true JP3952916B2 (ja) | 2007-08-01 |
Family
ID=32265547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002266848A Expired - Fee Related JP3952916B2 (ja) | 2002-09-12 | 2002-09-12 | 波形データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3952916B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007275239A (ja) * | 2006-04-05 | 2007-10-25 | Daiman:Kk | 遊技機 |
JP2007282788A (ja) * | 2006-04-14 | 2007-11-01 | Daiman:Kk | 遊技機 |
-
2002
- 2002-09-12 JP JP2002266848A patent/JP3952916B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004102128A (ja) | 2004-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE43076E1 (en) | Waveform processing apparatus with versatile data bus | |
JP3915585B2 (ja) | データ生成方法、プログラム、記録媒体およびデータ生成装置 | |
EP0551884B1 (en) | Tone signal generator adapted for coupling with personal computer | |
US6404770B1 (en) | Data communication interface with adjustable-size buffer | |
EP1217604B1 (en) | Musical sound generator | |
US5262580A (en) | Musical instrument digital interface processing unit | |
JPWO2006043380A1 (ja) | 発音方法、音源回路、それを用いた電子回路および電子機器 | |
JP3952916B2 (ja) | 波形データ処理装置 | |
JP2850707B2 (ja) | 楽音制御装置 | |
JP3846388B2 (ja) | 波形データ処理装置 | |
JP3846387B2 (ja) | 波形データ処理装置、送信ノードおよび受信ノード | |
JP2005173136A (ja) | 音楽システム及び音楽データ送受装置 | |
JP3451971B2 (ja) | パケット転送装置 | |
JP3482893B2 (ja) | インターフェイス装置 | |
JP3716845B2 (ja) | ネットワークに接続される信号処理装置 | |
JP3060920B2 (ja) | ディジタル信号処理装置 | |
JP4206613B2 (ja) | 音楽データ送信装置 | |
JP3285333B2 (ja) | バス転送装置 | |
JP4178641B2 (ja) | カラオケ装置 | |
JPH0732396B2 (ja) | データ転送システムおよびタイミング制御装置 | |
JP3252426B2 (ja) | ディジタル音響記録再生装置 | |
JP3496562B2 (ja) | パケット転送装置 | |
JPH0795739B2 (ja) | データ転送システム | |
JP3815353B2 (ja) | マルチトラック再生装置、マルチトラック録音装置およびマルチトラック録音再生装置 | |
JPH03204695A (ja) | 楽音合成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061212 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070410 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070423 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3952916 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140511 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |