(57)【要約】【課題】電子楽器に搭載される音源ボード等において、複数のＬＳＩ間の論理的接続状態を自由に設定することにより音源ボードの汎用性を高める。【解決手段】ＬＳＩ（例えば音源、エフェクタ等）は、共通のバスに接続された「ノード」を構成する。各ノードに対しては、１サンプリング周期内に一または複数回の送信フレームが割り当てられる。割り当てられた送信フレーム内においては、そのノードは送信ノードになり、クロック信号ＡＣＬＫを出力するとともに、これに同期してデータ信号ＡＤＡＴを出力する。また、送信ノード以外の他のノードは必要に応じて受信ノードになり、上記信号を受信する。また、各ノードにおいては、フレーム信号ＡＦＲＭの立上がり回数がカウントされ、これによってフレーム番号が検出される。【選択図】　図４
2004102131.tif 000002
【特許請求の範囲】
【請求項１】
波形データのデータ信号を伝送するバスと、
１サンプリング周期毎のワードクロックを発生させるクロック発生器と、
前記ワードクロックに同期して、前記バスに対して前記データ信号をフレーム毎に送信する複数の送信ノードと、
前記ワードクロックに同期して、前記バスから前記データ信号を受信する複数の受信ノードと
を具備し、前記各送信ノードは、相互に異なるフレーム番号が付与された一または複数のフレームがそれぞれ割り当てられ、各サンプリング周期毎に自ノードがデータ送信すべき送信フレームを検出し、対応するフレームに係る波形データのデータ信号を前記バスに送信するものであり、
前記各受信ノードは、データを受信すべき少なくとも一つのフレーム番号が指定され、前記各サンプリング周期毎に、自ノードがデータ受信すべき受信フレームを検出し、対応するフレームに係る波形データのデータ信号を前記バスから受信するものである
ことを特徴とする波形データ処理装置。
【請求項２】
前記各フレームに付与されたフレーム番号は、連続的な番号であることを特徴とする請求項１記載の波形データ処理装置。
【請求項３】
前記各送信ノードは、各々対応する送信フレームにおいて、複数チャンネルの波形データを前記バスに送信することを特徴とする請求項１記載の波形データ処理装置。
【請求項４】
前記各受信ノードは、各々対応する受信フレームにおいて、一または複数チャンネルの波形データを選択的に受信することを特徴とする請求項３記載の波形データ処理装置。
【請求項５】
サンプリング周期毎に時分割で複数フレームのデータ転送を行うとともに複数本のデータ信号線と１本のフレーム信号線とを含むバスに接続され、当該バスにデータを送信する送信ノードであって、
サンプリング周期毎に、前記フレーム信号線から入力されるフレーム信号に基づいてフレーム番号をカウントするフレームカウンタと、
当該送信ノードがデータ送信を行う送信フレームのフレーム番号を記憶する第１のレジスタと、
当該送信フレームにおいて送信すべきデータを記憶する第２のレジスタと、
前記フレームカウンタの出力するフレーム番号が前記第１のレジスタに記憶されたフレーム番号と一致したことを検出すると一致信号を出力する比較器と、
該一致信号に応じて、当該フレームにおけるフレーム信号を形成して前記フレーム信号線に送信するとともに、前記第２のレジスタに記憶されたデータを前記データ信号線に送信する送信部と
を具備することを特徴とする送信ノード。
【請求項６】
前記送信ノードには当該送信ノードを制御するための制御手段が接続されており、前記バスに複数の送信ノードが接続される場合には、これら各送信ノードの前記第１のレジスタには、前記制御手段により、各々異なる値が書き込まれることを特徴とする請求項５記載の送信ノード。
【請求項７】
前記第２のレジスタは、複数チャンネルのデータを記憶するものであり、前記送信部は前記送信フレームにおいて、該複数チャンネル分の波形データを前記データ信号線に順次出力することを特徴とする請求項５記載の送信ノード。
【請求項８】
サンプリング周期毎に時分割で複数フレームのデータ転送を行うとともに複数本のデータ信号線と１本のフレーム信号線とを含むバスに接続され、当該バスにからデータを受信する受信ノードであって、
サンプリング周期毎に、前記フレーム信号線から入力されるフレーム信号に基づいてフレーム番号をカウントするフレームカウンタと、
当該受信ノードがデータ受信を行う受信フレームのフレーム番号を記憶する第１のレジスタと、
当該受信フレームにおいて受信されたデータを記憶する第２のレジスタと、
前記フレームカウンタの出力するフレーム番号が前記第１のレジスタに記憶されたフレーム番号と一致したことを検出すると一致信号を出力する比較器と、
該一致信号に応じて、当該フレームにおける前記データ信号線上のデータを選択的に前記第２のレジスタに取り込む受信部と
を具備することを特徴とする受信ノード。
【請求項９】
前記受信フレームにおけるデータの入力数をカウントするデータカウンタをさらに具備し、
前記バスは、前記複数フレームの各フレーム毎に複数チャンネルのデータ転送が行われるものであり、
前記第１のレジスタは、前記受信フレーム内において受信すべきデータのオフセット値も記憶するものであり、
前記比較器は、該データカウンタにおけるカウント結果と前記第１のレジスタに記憶されたオフセット値とが一致したことを条件として、前記一致信号を出力するものであり、
前記受信部は、前記受信フレームにおいて、前記該データカウンタにおけるカウント結果とオフセット値とが一致したか否かに応じて前記データ信号線上のデータを選択的に前記第２のレジスタに取り込むことを特徴とする請求項８記載の受信ノード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音処理デバイス間の接続に用いて好適な波形データ処理装置、送信ノードおよび受信ノードに関する。
【０００２】
【従来の技術】
電子楽器、あるいはパーソナルコンピュータ等に搭載される音源ボードには、楽音信号を処理する複数のＬＳＩが搭載され、これらＬＳＩ間に楽音信号を送受信するための結線が接続されることにより、必要な機能が実現されている。ここで、電子楽器に実装される音源ボードの一例を図１（ａ）に示す。図において１００は音源ボードであり、音源ＬＳＩ１０２，１０４が実装されている。音源ＬＳＩ１０２，１０４には、複数チャンネルの楽音信号を生成する波形合成部およびこれら複数チャンネルの楽音信号を必要に応じてミキシングするミキサ等が含まれている。また、１０６，１０８はＤＳＰ（デジタル・シグナル・プロセッサ）であり、生成された楽音信号に対して各種の効果処理を施す。
【０００３】
効果処理が施された楽音信号は再び音源ＬＳＩ１０２，１０４に供給される。また、音源ＬＳＩ１０２，１０４はこれら音源ＬＳＩ相互間においても楽音信号のやりとりを行っている。そして、最終的に出力される楽音信号は、音源ＬＳＩ１０４からＤＡコンバータ１１０に供給され、ここでアナログ信号に変換される。また、１１４はオプションとして追加できるプラグインボードであり、追加の波形合成部あるいはＤＳＰ等が搭載される。このプラグインボード１１４は、必要に応じてコネクタ１１２に装着される。
【０００４】
また、音源ボードの他の構成を同図（ｂ）に示す。図において１２０は他の音源ボードであり、その内部の音源ＬＳＩ１２２，１２４は、それぞれ複数チャンネルの楽音信号を合成する。合成された楽音信号は音源ＬＳＩ１２２，１２４内のミキサによってミキシングされ、そのミキシング結果である楽音信号がＤＳＰ１２６，１２８に供給される。また、ＤＳＰ１２６，１２８においては、供給された楽音信号に対して効果処理が施される。ここで、ＤＳＰ１２６において効果処理の施された楽音信号は、ＤＳＰ１２８に供給される。また、コネクタ１３２にプラグインボード１３４が装着されている場合には、このプラグインボード１３４において生成された楽音信号もＤＳＰ１２８に供給される。ＤＳＰ１２８においては、これらの信号がさらにミキシングされ、そのミキシング結果はＤＡコンバータ１３０においてアナログ信号に変換される。
【０００５】
ところで、図１（ａ），（ｂ）の例にあっては、音源ボード１００，１２０において使用されている音源ＬＳＩおよびＤＳＰが全く共通のものであったとしても、これらの接続状態が異なるため、音源ボード１００，１２０自体は互換性を有しない。換言すれば、音源ボードに発揮させようとする機能に応じて、音源ボードの種類毎にハードウエアを設計／製造しなければならならなかった。
【０００６】
一方、複数のノードのハードウエア的な接続状態を共通にしながら、最終的に必要な機能に応じて信号の受け渡し状態を設定し、論理的な接続関係を設定する技術が知られている。例えば、ＩＥＥＥ１３９４インタフェース上においてシンセサイザやデジタルミキサなどの電子楽器・機器およびコンピュータ等を、シリアルケーブルによって接続し、楽音信号や演奏情報の受け渡しを行うｍＬＡＮ（商標）なる規格を本出願人は提案している。また、特許文献１においては、共通のバス上にＡＤコンバータ、ハードディスク、波形メモリを接続し、これらのノード間において波形データ等の受け渡しを時分割に行う技術が開示されている。
【０００７】
【特許文献１】特開平５−１８８９６７号公報
【０００８】
【発明が解決しようとする課題】
上述したように、図１（ａ），（ｂ）の例にあっては音源ボード１００，１２０は互換性を有しないため、音源ボード毎の種類毎にハードウエアを設計／製造しなければならず、設計費用が多大になるとともに、大量生産によるコストダウンを図ることが困難になる。このため、例えば図１（ｃ）に示すように共通のバス１５６上に音源ＬＳＩ１４２，１４４、ＤＳＰ１４６，１４８、ＤＡコンバータ１５０および（コネクタ１５２を介して）プラグインボード１５４を接続できれば好適である。すなわち、ハードウエア的な接続関係を共通にしておき、論理的な接続関係を必要に応じて設定できれば、図１（ｃ）の音源ボードは例えば同図（ａ）または（ｂ）に示す音源ボードと共通の機能を発揮することができる。
【０００９】
この場合、バス１５６に各ＬＳＩを接続するための規格として如何なるものを採用するかが重要である。上述したｍＬＡＮ（商標）は、シンセサイザやデジタルミキサ等の独立した機器をノードとすることを想定しているため、信号の構成が複雑であり、個々のＬＳＩをその規格に適合させることは実現性に乏しい。また、特許文献１に開示された技術は、当該公報に示されたノード間においては波形データ等の受け渡しは可能であるが、様々な種類のノードに対して一般的・汎用的に採用できるものではなかった。
この発明は上述した事情に鑑みてなされたものであり、簡易な回路によって高い汎用性を確保できる波形データ処理装置、送信ノードおよび受信ノードを提供することを目的としている。
【００１０】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の波形データ処理装置にあっては、波形データのデータ信号（ＡＤＡＴ）を伝送するバス（Ａバス２６２）と、１サンプリング周期毎のワードクロック（ＷＣＫ）を発生させるクロック発生器（２５１）と、前記ワードクロックに同期して、前記バスに対して前記データ信号をフレーム毎に送信する複数の送信ノード（１５，１６，１７）と、前記ワードクロックに同期して、前記バスから前記データ信号を受信する複数の受信ノード（１５，１６，１７）とを具備し、前記各送信ノードは、相互に異なるフレーム番号が付与された一または複数のフレームがそれぞれ割り当てられ、各サンプリング周期毎に自ノードがデータ送信すべき送信フレームを検出し、対応するフレームに係る波形データのデータ信号を前記バスに送信するものであり、前記各受信ノードは、データを受信すべき少なくとも一つのフレーム番号が指定され、前記各サンプリング周期毎に、自ノードがデータ受信すべき受信フレームを検出し、対応するフレームに係る波形データのデータ信号を前記バスから受信するものであることを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載の波形データ処理装置において、前記各フレームに付与されたフレーム番号は、連続的な番号であることを特徴とする。
さらに、請求項３記載の構成にあっては、請求項１記載の波形データ処理装置において、前記各送信ノードは、各々対応する送信フレームにおいて、複数チャンネルの波形データを前記バスに送信することを特徴とする。
さらに、請求項４記載の構成にあっては、請求項３記載の波形データ処理装置において、前記各受信ノードは、各々対応する受信フレームにおいて、一または複数チャンネルの波形データを選択的に受信することを特徴とする。
また、請求項５記載の送信ノードにあっては、サンプリング周期毎に時分割で複数フレームのデータ転送を行うとともに複数本のデータ信号線（１０）と１本のフレーム信号線（１３）とを含むバスに接続され、当該バスにデータを送信する送信ノード（１５，１６，１７）であって、サンプリング周期毎に、前記フレーム信号線（１３）から入力されるフレーム信号（ＡＦＲＭ）に基づいてフレーム番号をカウントするフレームカウンタ（４０２）と、当該送信ノードがデータ送信を行う送信フレームのフレーム番号を記憶する第１のレジスタ（４７６）と、当該送信フレームにおいて送信すべきデータを記憶する第２のレジスタ（４６４）と、前記フレームカウンタの出力するフレーム番号が前記第１のレジスタ（４７６）に記憶されたフレーム番号と一致したことを検出すると一致信号を出力する比較器（４５２）と、該一致信号に応じて、当該フレームにおけるフレーム信号（ＡＦＲＭ）を形成して前記フレーム信号線（１３）に送信するとともに、前記第２のレジスタに記憶されたデータを前記データ信号線（１０）に送信する送信部（４５８，４６６）とを具備することを特徴とする。
さらに、請求項６記載の構成にあっては、請求項５記載の送信ノードにおいて、前記送信ノードには当該送信ノードを制御するための制御手段が接続されており、前記バスに複数の送信ノードが接続される場合には、これら各送信ノードの前記第１のレジスタには、前記制御手段により、各々異なる値が書き込まれることを特徴とする。
さらに、請求項７記載の構成にあっては、請求項５記載の送信ノードにおいて、前記第２のレジスタは、複数チャンネルのデータを記憶するものであり、前記送信部（４５０）は前記送信フレームにおいて、該複数チャンネル分の波形データを前記データ信号線（１０）に順次出力することを特徴とする。
また、請求項８記載の受信ノードにあっては、サンプリング周期毎に時分割で複数フレームのデータ転送を行うとともに複数本のデータ信号線（１０）と１本のフレーム信号線（１３）とを含むバスに接続され、当該バスにからデータを受信する受信ノード（１５，１６，１７）であって、サンプリング周期毎に、前記フレーム信号線（１３）から入力されるフレーム信号（ＡＦＲＭ）に基づいてフレーム番号をカウントするフレームカウンタ（４０２）と、当該受信ノードがデータ受信を行う受信フレームのフレーム番号を記憶する第１のレジスタ（４７２）と、当該受信フレームにおいて受信されたデータを記憶する第２のレジスタ（４１６）と、前記フレームカウンタの出力するフレーム番号が前記第１のレジスタ（４７２）に記憶されたフレーム番号と一致したことを検出すると一致信号を出力する比較器（４０８）と、該一致信号に応じて、当該フレームにおける前記データ信号線（１０）上のデータを選択的に前記第２のレジスタに取り込む受信部（４００）とを具備することを特徴とする。
さらに、請求項９記載の構成にあっては、請求項８記載の受信ノードにおいて、前記受信フレームにおけるデータの入力数をカウントするデータカウンタ（４０６）をさらに具備し、前記バスは、前記複数フレームの各フレーム毎に複数チャンネルのデータ転送が行われるものであり、前記第１のレジスタは、前記受信フレーム内において受信すべきデータのオフセット値も記憶するものであり、前記比較器（４０８）は、該データカウンタにおけるカウント結果と前記第１のレジスタに記憶されたオフセット値とが一致したことを条件として、前記一致信号を出力するものであり、前記受信部（４００）は、前記受信フレームにおいて、前記該データカウンタにおけるカウント結果とオフセット値とが一致したか否かに応じて前記データ信号線（１０）上のデータを選択的に前記第２のレジスタに取り込むことを特徴とする。
【００１１】
【発明の実施の形態】
１．実施形態の一般的構成
１．１．全体構成
次に、本発明の一実施形態の楽音合成装置のハードウエア構成を図２を参照し説明する。図において２０２はＭＩＤＩ・Ｉ／Ｏ部であり、外部のＭＩＤＩ機器との間でＭＩＤＩ信号の入出力を行う。ＭＩＤＩ・Ｉ／Ｏ部２０２には、例えば鍵盤、その他の演奏操作子が接続され、その演奏情報がＭＩＤＩ信号として入力される。２０４はその他Ｉ／Ｏ部であり、ＭＩＤＩ信号以外の各種の信号の入出力を行う。２０６はパネルスイッチ部であり、ユーザによって操作される各種の音色設定操作子等が設けられている。
【００１２】
２５０は音源部であり、後述する処理によって楽音信号を合成する。２０８は表示器であり、音源部２５０の設定状態等、ユーザに対して各種の情報を表示する。２１０は外部記憶装置であり、ハードディスク、フレキシブルディスク等から構成されている。２１２はＣＰＵであり、所定の制御プログラムに基づいて、ＣＰＵバス２１８を介して楽音合成装置の各部を制御する。２１４はＲＯＭであり、ＣＰＵの制御プログラム等が記憶されている。２１６はＲＡＭであり、ＣＰＵ２１２のワークメモリとして用いられる。
【００１３】
また、音源部２５０の内部において２５２，２５４は音源ＬＳＩであり、ＣＰＵバス２１８を介して供給される演奏情報および発音パラメータ等に基づいて波形データを生成するとともに、同様に供給されるエフェクトパラメータ等に基づいて、当該波形データにエフェクト処理を施す。２５６，２５８，２６０は増設ボードであり、その種類に応じて波形データの合成処理、エフェクト処理、記録処理等、各種の処理を行い、音源ＬＳＩ２５２，２５４とともに音源部２５０に所期の機能を実現させるものである。
【００１４】
２６２は波形データ転送用のバス（以下、Ａバスという）であり、音源ＬＳＩ２５２，２５４および増設ボード２５６，２５８，２６０間において波形データを転送する。一般に、通信ネットワークにおいては、送信すべきデータに送信先アドレス、送信チャンネル等の情報等を含むヘッダが付与されることによってパケットが構成され、当該パケットが送信される場合が多い。また、複数の送信ノードが同時に送信を開始した際の送信データの衝突を避けるため、ネットワークにノードの識別子やアドレスに基づいて調停を行う機構が設けられている。このようなネットワークと比較すると、このＡバス２６２は、送信先アドレス、送信チャンネル等の付与されていない波形データのみが伝送されるため、送信クロックあたりの伝送効率を極めて高くすることができる。また、Ａバス２６２に接続された各送信ノードにＡバス２６２とは異なるバス（ＣＰＵバス２１８）を介して接続された制御手段（ＣＰＵ２１２）が、各送信ノードに対して異なる送信タイミングを設定することによって衝突が防止されている。Ａバス２６２自体には調停機能が設けられていないため、従来のネットワークと比較して構成が極めて簡単になっている。
【００１５】
また、音源ＬＳＩ２５２，２５４相互間においては転送される波形データ量が多いため、一部の波形データは直結ライン２５３を介して伝送される。２６４はＤＡコンバータであり、音源ＬＳＩ２５２の一部の出力チャンネルの波形データをアナログ信号に変換する。変換されたアナログ信号はサウンドシステム２２０を介して発音される。
【００１６】
２５１はワードクロック発生器であり、サンプリング周期毎に立ち上がるワードクロックＷＣＫを生成する。このワードクロックＷＣＫは、音源部２５０内の各部に供給される。２６８はワードクロック外部入力端子であり、該ワードクロック発生器２５１が発生するワードクロックＷＣＫに代えて、外部からワードクロックＷＣＫを受信するために設けられている。これは、外部機器とサンプリング周期を同期させる場合に用いられる。
【００１７】
なお、上述した各構成のうち、ＣＰＵバス２１８またはＡバス２６２等のバスと、ＭＩＤＩ・Ｉ／Ｏ部２０２と、その他Ｉ／Ｏ部２０４と、ＣＰＵ２１２と、ＲＯＭ２１４と、ＲＡＭ２１６と、ワードクロック発生器２５１と、音源ＬＳＩ２５２，２５４，ＤＡコンバータ２６４等の半導体回路と、外部記憶装置２１０接続用のインタフェース（図示せず）と、ＣＰＵバス２１８にパネルスイッチ部２０６および表示器２０８を接続するためのコネクタ（図示せず）と、増設ボード２５６，２５８，２６０を接続するコネクタ（図示せず）と、全体に電源を供給する電源回路（図示せず）とによって本実施形態の「音源ボード」が構成されている。増設ボード２５６，２５８，２６０用のコネクタはＣＰＵバス２１８とＡバス２６２との双方に接続されており、これら増設ボードはこれらコネクタを介して、「音源ボード」に対して着脱自在に構成されている。
【００１８】
１．２．バス構成およびタイミング
音源ＬＳＩ２５２，２５４および増設ボード２５６，２５８，２６０等、Ａバス２６２を介して波形データを入出力する構成要素を「ノード」と呼ぶ。各ノードとＡバス２６２との接続関係を図３に示す。図においてＡバス２６２は、データ信号線１０と、各１ビットのクロック信号線１１、方向信号線１２およびフレーム信号線１３とから構成されている。データ信号線１０のビット幅は１６ビットあるいは４ビットのうち何れも選択可能であり、一部のみ４ビット幅にすることも可能である。１５，１６，１７は各々ノードであり、具体的には上述した音源ＬＳＩ２５２，２５４あるいは増設ボード２５６，２５８，２６０等によって構成される。
【００１９】
これらノードにおいては、Ａバス２６２に対して、データ信号ＡＤＡＴ、方向信号ＡＤＩＲおよびクロック信号ＡＣＬＫが入出力される。これらの各信号の入出力端は、ワイアードオア形式でＡバス２６２に接続されている。換言すれば、何れかのノードから“０”信号が出力されていない限り、Ａバス２６２上の当該信号は必ず“１”になる。そして、これらノードのうち何れか一つのノードがデータ信号ＡＤＡＴ等の信号を出力しているタイミングにおいては、他のノードの入出力端はハイインピーダンス状態に設定され、必要に応じて該一つのノードの出力信号が受信される。ここで、データ信号ＡＤＡＴはノード間で受け渡しすべき波形データ等の信号である。また、クロック信号ＡＣＬＫはデータ信号ＡＤＡＴに同期するクロック信号である。
【００２０】
データ信号ＡＤＡＴおよびクロック信号ＡＣＬＫを出力すべき期間は、ＣＰＵ２１２により各ノード毎に重複しないように設定されている。この期間を「フレーム」と呼ぶ。方向信号ＡＤＩＲは、このフレーム期間中“０”に設定され、これによって他のノードに対して信号出力を禁止する。また、各ノードにおいては、方向信号ＡＤＩＲが“１”に立上がるよりもクロック信号ＡＣＬＫの１クロック相当だけ早く立上がるフレーム信号ＡＦＲＭも出力される。各ノードに割り当てられるフレームは、「ワードクロックＷＣＫが立ち上がった後の何回目のフレームか」によって定義される。従って、各ノードにおいては、ワードクロックＷＣＫが立ち上がった後、フレームが何回発生したかをカウントすることにより（具体的にはフレーム信号ＡＦＲＭの立上がり回数をカウントすることにより）、自ノードのフレームの開始タイミングを認識することができる。
【００２１】
ここで、ワードクロックＷＣＫの立上がり後に発生する順序によって、各フレームをフレーム＃０、フレーム＃１、フレーム＃２、……のように表記することとする。各ノードに対しては、１サンプリング周期内に一または複数の送信フレームを割り当てることができる。ここで、送信フレームとして、ノード１５にフレーム＃２、ノード１６にフレーム＃０、ノード１７にフレーム＃１が割り当てられた場合におけるタイミングチャートを図４および図５を参照し説明する。
【００２２】
図４（ａ）の時刻ｔ０においてワードクロックＷＣＫが立上ると、その旨が各ノード１５，１６，１７によって検知される。そして、フレーム＃０が割り当てられたノード１６においては、時刻ｔ０から所定時間経過した時刻ｔ１に方向信号ＡＤＩＲおよびフレーム信号ＡＦＲＭが“０”に立下げられる。そして、クロック信号ＡＣＬＫが所定のクロック周期毎に立上げられ、これに同期してデータ信号ＡＤＡＴがデータ信号線１０のビット幅（ここでは１６ビット）毎に出力される。
【００２３】
時刻ｔ２においてノード１６からのデータ出力が終了すると、ノード１６により方向信号ＡＤＩＲが“１”に立上げられる。なお、時刻ｔ２よりもクロック信号ＡＣＬＫの１周期前にフレーム信号ＡＦＲＭが“１”に立上げられる。ノード１７においては、このＡバス２６２上のフレーム信号ＡＦＲＭの１回めの立上がりが検出されると、次のフレームが自ノードに割り当てられたフレーム＃１であることが認識される。
【００２４】
そして、方向信号ＡＤＩＲが立上がった後、所定のマージン時間を経た時刻ｔ３において、上述したノード１６と同様にノード１７が動作する。すなわち、ノード１７の方向信号ＡＤＩＲおよびフレーム信号ＡＦＲＭが“０”に立下げられ、クロック信号ＡＣＬＫが所定のクロック周期毎に立上げられ、これに同期してデータ信号ＡＤＡＴがデータ信号線１０に出力される。なお、フレーム間のマージン時間は、データの衝突を避けるために設けられたものである。
【００２５】
次に、ノード１７によってフレーム信号ＡＦＲＭが“１”に立上げられると、その旨がノード１５によって検知される。これはワードクロックＷＣＫが立上がった後のフレーム信号ＡＦＲＭの２回めの立上がりであるから、ノード１５においては、次のフレームが自ノードに割り当てられたフレーム＃２であることが認識される。そして、時刻ｔ４においてノード１７の方向信号ＡＤＩＲが“１”に立上がった後、所定のマージン時間を経た時刻ｔ５において、上述したのと同様の出力処理がノード１５において実行される。
【００２６】
上記例においては、各ノードに１フレームづつフレームを割り当てたが、１サンプリング周期内に複数の送信フレームを一つのノードに割り当ててもよい。このように、全てのフレームからの出力処理が終了すると、次にワードクロックＷＣＫが立上がるまで、Ａバス２６２の各線はハイインピーダンス状態に保たれる。ここで、図４（ａ），（ｂ），（ｃ）に示された波形のワイアードオア、すなわちＡバス２６２上に実際に現れる波形を図５に示しておく。
【００２７】
本実施形態においては、クロック信号ＡＣＬＫのクロック周期およびクロック数は各ノード毎に任意に設定できる。換言すれば、各ノードにおいては、他のノードに対して送信しようとするデータ量およびデータ信号線１０のビット幅に応じて、１フレーム内のクロック数が設定される。また、データを送信するノード（以下、送信ノードという）と、データを受信する一または複数のノード（以下、受信ノードという）の処理速度のうち最も遅いノードに合せて、クロック周期を決定するとよい。
【００２８】
１．３．データ信号のフォーマット
上述したように、データ信号線１０のビット幅は１６ビットあるいは４ビットのうち何れも選択可能であり、一部のみ４ビット幅にすることも可能である。４ビット幅を採用すると、データ転送速度は遅くなるが、配線数を少なくすることができる。これによってコネクタ等のコストダウンが可能になるため、例えばコネクタが必要な増設ボード２５６，２５８，２６０の部分のみ４ビット幅を採用することが考えられる。
【００２９】
かかる場合に、データ信号線１０の１６ビット幅の部分に接続されている送信ノードが１６ビット幅の受信ノードおよび４ビット幅の他の受信ノードの双方に対してデータを出力する場合には、各受信ノードに応じたビット幅でデータを出力する必要がある。その場合、対応する受信ノード毎に複数のフレームを当該送信ノードに割り当てると、これらフレーム毎にビット幅を変更しつつ波形データを送信することができる。
【００３０】
また、双方の受信ノードに対して波形データを送信する場合であっても、必ずしも複数のフレームに分割する必要は無く、タイムスロット毎にビット幅を設定してもよい。すなわち、１フレーム内の一部のタイムスロットにおいては１６ビット幅でデータを出力し、他のタイムスロットにおいては４ビット幅でデータを出力してもよい。この場合、各受信ノードにおいては、１フレーム内において自ノードが必要とするタイムスロットが認識され、それぞれ対応するビット幅のデータ信号が受信されることになる。
【００３１】
本実施形態において、ノード間で受け渡しされるデータのデータ幅は、基本的には３２ビットであることとしている。この３２ビットの単位を本明細書では「１ユニット」という。すなわち、１ユニットのデータは、データ信号線１０が１６ビット幅である場合は２（＝３２／１６）タイムスロット、４ビット幅である場合は８（＝３２／４）タイムスロットを費やして出力される。各々のビット幅に対する各ビットの配列を図６（ａ），（ｂ）に示す。この１タイムスロットあたりに伝送されるデータの単位（１６または４ビット）を本明細書では「１ワード」と呼ぶ。なお、データ信号線１０の１６ビット幅の部分に接続されている送信ノードが４ビット幅の部分に接続されている受信ノードにデータを伝送する場合には、データ信号線１０の上位４ビットのみが使用され、下位１２ビットは常に“０”に設定される。
【００３２】
一般的に、電子楽器においては複数チャンネルの楽音信号の生成等の処理が可能である。１フレーム内にノード間で複数ユニットのデータを送受信することが可能であるから、例えば１ユニットを１チャンネル分のデータに割り当てると、ユニットに相当するチャンネルの最大３２ビットの波形データをノード間で受け渡しすることが可能になる。また、１ユニットにステレオのＬチャンネルとＲチャンネルを割り当て、Ｌ，Ｒチャンネルの各１６ビット波形データを詰め込んでもよい。あるいは、１ユニットに独立した２チャンネルを割り当てるようにしてもよい。各フレームの長さは、当該フレームで送信すべき波形データのチャンネル数ではなく、その送信すべきチャンネルを割り当てたユニットの数に応じて決定される。
【００３３】
１．４．各ノードの一般的構成
次に、各ノードの一般的構成を図７を参照し説明する。図において３０４はバッファアンプであり、ノード３００の入出力信号をバッファリングする。３０６はタイムスロット変換部であり、ノード３００の受信信号のタイムスロット変換を行う。なお、その詳細については後述する。
【００３４】
ここで、元々のデータ信号ＡＤＡＴにあっては、図６において説明したように各ビットが配列されている。タイムスロット変換部３０６から出力されるデータ信号ＡＤＡＴ’も同様である。４００は受信部であり、これらのビットを通常の１ユニット（３２ビット）毎のビット列に変換する。３２０は波形処理部であり、各ノードに応じた様々な波形処理を行う。具体的には、音源処理、ミキサ処理、エフェクト処理、ＡＤ変換、ＤＡ変換、ＬＡＮ用の通信処理、ハードディスクレコーディング等が挙げられる。
【００３５】
４５０は送信部であり、波形処理部３２０の出力データのビット配列を図６において説明したように変換し、その結果をデータ信号ＡＤＡＴとして出力するとともに、クロック信号ＡＣＬＫ、フレーム信号ＡＦＲＭおよび方向信号ＡＤＩＲをバッファアンプ３０４を介して出力する。４７０は制御レジスタであり、ノード３００に対する各種の制御データやマイクロプログラム等が記憶される。制御レジスタ４７０の内容は、ＣＰＵバス２１８を介して、ＣＰＵ２１２によって設定される。３０２は動作クロック発生部であり、ノード３００のシステムクロックを生成するとともに、これを分周してデータ出力用のクロック信号ＡＣＬＫ等を生成する。Ａバス２６２に接続される各ノードは、それぞれ自ノードの動作クロック発生部３０２の発生する動作クロック（個別動作クロック）に基づいて動作するが、他ノードの動作クロック発生部から動作クロック（共通動作クロック）の供給を受けることによって動作するようにしてもよい。
【００３６】
制御レジスタ４７０に記憶される制御データの中には、ノード３００に対して割り当てられるフレーム番号、クロック信号ＡＣＬＫの周期およびクロック数、波形処理部３２０に対するパラメータ等が含まれる。４９０はパラメータＲＯＭであり、当該ノード３００の種別、送受信可能なチャンネル数、受信および送信レートの最高速度等のパラメータが記憶されている。パラメータＲＯＭ４９０の内容は、楽音合成装置の電源投入時にＣＰＵ２１２によって読み出される。
【００３７】
なお、図７の構成は各ノードにおける一般的な構成であるため、ノードの種類によっては図示の構成要件の一部を有しない場合もある。例えば、ノード３００が音源あるいはＡＤコンバータ等である場合、他のノードから波形データ等を受信する必要が無いため、タイムスロット変換部３０６および受信部４００は設けられない。また、ノード３００がＤＡコンバータ等である場合には他のノードに波形データ等を送信する必要が無いため、送信部４５０は設けられない。
【００３８】
１．４．１．タイムスロット変換部３０６の詳細
ここで、タイムスロット変換部３０６における動作の詳細を図８を参照し説明する。図８においてデータ信号ＡＤＡＴおよびクロック信号ＡＣＬＫは、バッファアンプ３０４を介してＡバス２６２から受信される信号である。タイムスロット変換部３０６においては、クロック信号ＡＣＬＫの立上がりタイミングにおいてデータ信号ＡＤＡＴがラッチされる。その結果が図示の「中間データ」である。
【００３９】
次に、図示の「システムクロック」は上記動作クロック発生部３０２において生成されるクロックであり、図示の例にあっては出力用のクロック信号ＡＣＬＫの２倍の周波数を有する。但し、図示のクロック信号ＡＣＬＫすなわちバッファアンプ３０４を介して受信されるクロック信号ＡＣＬＫは、他のノードにおいて生成された信号であり、各ノードのシステムクロックは相互に独立しているため、その周波数はノード３００のシステムクロックとは同期していない。
【００４０】
システムクロックの各立上がりタイミングにおいては上記中間データがラッチされ、そのラッチ結果が図示のデータ信号ＡＤＡＴ’になる。このデータ信号ＡＤＡＴ’は、受信部４００に供給される。また、システムクロックの各立下がりタイミングにおいては、クロック信号ＡＣＬＫがラッチされる。そして、クロック信号ＡＣＬＫがラッチされる毎に、前回の立下がりタイミングにおけるラッチ結果と、今回のラッチ結果とが比較され、クロック信号ＡＣＬＫの立上がりが検出された場合（すなわち、前回ラッチ結果が“０”であって今回のラッチ結果が“１”である場合）には、システムクロックの半周期だけ取込信号ＡＣＬＫ’が“１”に設定される。
【００４１】
なお、取込信号ＡＣＬＫ’は、それ以外の場合には“０”に設定される。そして、この取込信号ＡＣＬＫ’は、データ信号ＡＤＡＴ’を取り込むためのタイミング信号として、データ信号ＡＤＡＴ’とともに受信部４００に供給される。このように、本実施形態においては、各受信ノードは自ノードにおいて生成されるシステムクロックに同期して取込信号ＡＣＬＫ’およびデータ信号ＡＤＡＴ’を生成するから、各ノード間におけるシステムクロックの周波数／位相のずれを補償することが可能である。
【００４２】
１．４．２．受信部４００の詳細
次に、受信部４００の詳細構成を図９を参照し説明するが、最初に受信部４００に関連する制御レジスタ４７０の内容を説明しておく。図９において４７２は受信制御レジスタであり、複数のアドレスを有している。各アドレスは、ノード３００が受信すべきデータの各ユニットに対応しており、各アドレスには各ユニット対するフレーム番号およびオフセット値が発生順に記憶される。ここに、オフセット値とは、各受信フレーム内において受信されるデータのユニット番号である。
【００４３】
例えば、ノード３００が１サンプリング周期内に「１００」ユニットのデータを受信するのであれば、フレーム番号およびオフセット値の組が「１００」のアドレスに発生順に記憶されることになる。４７４はデータ線ビット数レジスタであり、上記受信制御レジスタ４７２の各アドレスに対応してデータ信号ＡＤＡＴのビット幅を記憶する。なお、前記フレーム番号の示す受信フレームのオフセット値で示されるユニットにおけるデータのビット幅は、当該フレーム番号および当該オフセット値に対応して、上記データ線ビット数レジスタ４７４に記憶された値が“０”であれば「１６ビット」、“１”であれば「４ビット」である。
【００４４】
また、受信部４００の内部において４０２はフレームカウンタであり、Ａバス２６２上のフレーム信号ＡＦＲＭの立下がり回数をカウントするとともに、ワードクロックＷＣＫの立上がりタイミングでリセットされる。これにより、フレームカウンタ４０２のカウント結果は、現時点のフレーム番号になる。４０４はワードカウンタであり、各フレーム内において取込信号ＡＣＬＫ’の数をカウントするとともに、各フレーム信号ＡＦＲＭの立下がりタイミングにおいてリセットされる。これにより、ワードカウンタ４０４のカウント結果は、各フレーム内における現在のワード番号になる。
【００４５】
４０６はオフセットカウンタであり、ワードカウンタ４０４から出力されるワード番号をカウントすることによって、現在受信中のフレームにおけるオフセット値（ユニット番号）を出力する。すなわち、データ線ビット数レジスタ４７４の記憶内容に基づいて、現在受信しているデータ信号ＡＤＡＴ’のビット幅が特定されるため、そのビット幅が「１６」であればワード番号を「２」で除算した結果が現在のオフセット値になり、ビット幅が「４」であればワード番号を「８」で除算した結果が現在のオフセット値になる。
【００４６】
４１０は取込カウンタであり、受信制御レジスタ４７２およびデータ線ビット数レジスタ４７４の読出しアドレスを記憶する。この取込カウンタ４１０は、後述する一致信号ＲＣＸによって「１」づつカウントアップされるとともに、ワードクロックＷＣＫによってリセットされる。取込カウンタ４１０のカウント結果は、受信制御レジスタ４７２およびデータ線ビット数レジスタ４７４の読出しアドレスとして用いられる。従って、各サンプリング周期の開始時においては、レジスタ４７２，４７４のアドレス「０」のフレーム番号、オフセット値およびビット幅が読み出されることになる。
【００４７】
４０８は比較器であり、フレームカウンタ４０２が出力するフレーム番号と、受信制御レジスタ４７２の現在の読出しアドレスに記憶されているフレーム番号とを比較するとともに、オフセットカウンタ４０６の出力するオフセット値と受信制御レジスタ４７２の現在の読出しアドレスに記憶されているオフセット値とを比較する。そして、フレーム番号およびオフセット値の双方について一致した場合に上記一致信号ＲＣＸを“１”に立上げる。なお、フレーム番号またはオフセット値のうち少なくとも一方が一致しない場合には一致信号ＲＣＸは“０”に設定される。
【００４８】
さて、一致信号ＲＣＸが“１”に立上がると、取込カウンタ４１０のカウント結果が「１」だけインクリメントされる。従って、その後はレジスタ４７２，４７４の次のアドレスの内容が読み出されるようになり、一致信号ＲＣＸは直ちに“０”に立下ることになる。４１２は取込みレジスタ部であり、４ビットのレジスタＩＮ１〜ＩＮ８から構成されている。データ信号ＡＤＡＴ’のビット幅が「４」である場合においては、連続する「８」スロットにおいて、「８」ワードのデータがこれらレジスタＩＮ１〜ＩＮ８に順次ラッチされる。
【００４９】
また、データ信号ＡＤＡＴ’のビット幅が「１６」である場合においては、連続する「２」スロットのデータがラッチされる。すなわち、最初のスロットのデータがレジスタＩＮ１〜ＩＮ４に、次のスロットのデータがレジスタＩＮ５〜ＩＮ８にラッチされる。４１４はビット並べ替え部であり、レジスタＩＮ１〜ＩＮ８にラッチされたデータの各ビットを、通常の１ユニット（３２ビット）毎のビット列に並べ替える。
【００５０】
４１６は受信データレジスタであり、一致信号ＲＣＸに同期してこの並べ替えられたデータをラッチする。受信データレジスタ４１６は複数のアドレスを有し、アドレス毎に１ユニットの波形データを記憶することができる。この受信データレジスタ４１６に対する書込みアドレスは、上述した取込カウンタ４１０のカウント結果が用いられる。そして、受信データレジスタ４１６に記憶された波形データは、必要に応じて波形処理部３２０によって読み出される。
【００５１】
１．４．３．送信部４５０の詳細
次に、送信部４５０の詳細構成を図１０を参照し説明するが、最初に送信部４５０に関連する制御レジスタ４７０の内容を説明する。図において４７６は送信制御レジスタであり、ノード３００がデータ送信を行う一または複数の送信フレームのフレーム番号が記憶されている。また、これら送信フレームの各々に対して、送信レートと送信データのユニット数とが記憶されている。ここに、「送信レート」は、出力されるクロック信号ＡＣＬＫのシステムクロックに対する分周比によって表される。
【００５２】
また、４７８はデータ線ビット数レジスタであり、上記各送信フレームにおける送信データ信号ＡＤＡＴのビット数を記憶する。なお、送信フレームにおけるビット幅は、上記データ線ビット数レジスタ４７８に記憶された値が“０”であれば「１６ビット」、“１”であれば「４ビット」である。上述したように、本実施形態においては、１サンプリング周期内に複数の送信フレームを一のノードに割り当てることができる。これにより、例えば、処理速度の速い受信ノードに対しては一の送信フレームにおいて高速のレートでデータ信号ＡＤＡＴを出力し、他の処理速度の遅い受信ノードに対しては他の送信フレームにおいて低速のレートでデータ信号ＡＤＡＴを出力することができる。また、データ線のビット幅（４または１６ビット）が異なる複数の受信ノードに対しても、個々の異なる送信フレームを割り当てておくと好適である。
【００５３】
送信部４５０の内部において４５２は比較器であり、送信制御レジスタ４７６に記憶された各送信フレームのフレーム番号と、受信部４００内のフレームカウンタ４０２から供給される現在のフレーム番号とを比較し、現在のフレーム番号が何れかの送信フレームのフレーム番号に一致すると“１”信号を出力する。また、４５４は比較器であり、各送信フレームにおいて、当該送信フレームにおける送信ユニット数と、後述する読出カウンタ４６２のカウント結果とを比較し、カウント結果が送信ユニット数未満であれば“１”信号を出力する。
【００５４】
４５６はＳフラグ設定回路であり、上記比較器４５２，４５４から共に“１”信号が出力されている状態において、Ｓフラグ（送信フラグ）を“１”に設定し、それ以外の場合にはＳフラグを“０”に設定する。４５８はタイミング信号発生部であり、Ｓフラグが“１”に立上がると、送信制御レジスタ４７６に記憶された送信レートに基づいてクロック信号ＡＣＬＫを発生させとともに、方向信号ＡＤＩＲおよびフレーム信号ＡＦＲＭを共に“０”に設定する。
【００５５】
また、タイミング信号発生部４５８においては、Ｓフラグが“０”になると、まずフレーム信号ＡＦＲＭが“１”に立上げられる。そして、クロック信号ＡＣＬＫの１周期分遅れてクロック信号ＡＣＬＫの出力が停止され、方向信号ＡＤＩＲが“１”に立上げられる（図４参照）。４６０はワードカウンタであり、出力されるクロック信号ＡＣＬＫをカウントする。４６４は送信データレジスタであり、複数のアドレスに各々１ユニットづつの波形データを記憶する。なお、これらの波形データは、送信を行うサンプリング周期の前のサンプリング周期の任意のタイミングに波形処理部３２０によって書き込まれる。
【００５６】
４６２は読出カウンタであり、上述した受信部４００内のオフセットカウンタ４０６と同様に、データ線ビット数レジスタ４７８に記憶された値に基づいて、送信されたユニット数をカウントする。このカウント結果は、読出しアドレスとして送信データレジスタ４６４に供給される。これにより、送信データレジスタ４６４に記憶された３２ビットの波形データが順次アクセスされ読み出されることになる。４６６はビット選択部であり、ワードカウンタ４６０のカウント結果に応じて、３２ビットの波形データのうち送信すべき一部のビット（図６参照）を選択する。選択されたビットはデータ信号ＡＤＡＴとして、バッファアンプ３０４を介して出力される。
【００５７】
２．実施形態の具体的構成
２．１．波形処理部３２０の具体的構成例
次に、波形処理部３２０の具体的構成例を図１１（ａ）〜（ｃ）に示す。同図（ａ）における波形処理部３２０ａは、波形処理部３２０として音源を構成した場合の例である。この波形処理部３２０ａに対しては、ＣＰＵ２１２の制御の下、制御レジスタ４７０（図７参照）に各発音チャンネルの楽音制御データが記憶される。３５１は波形合成部であり、これら楽音制御データに基づいて、複数の発音チャンネルの波形データを合成する。３５２はチャンネル累算器であり、合成された各発音チャンネルの波形データをパート毎に重み付けして累算し、１６パートの波形データを出力する。
【００５８】
合成された１６パートの波形データは、送信部４５０を介してＡバス２６２上に出力される。ここでは、この１パートの波形データが、Ａバス２６２上における１ユニットに割り当てられるものとする。累算の態様は、例えば、各パートのモノラル発音している発音チャンネルの波形データを１系列で累算して１チャンネルの波形データを生成してもよく、あるいはパンを制御して２系列で累算し２チャンネルの波形データを生成してもよい。ステレオで発音する場合には、同一音色のＬ（左）とＲ（右）の発音を行う発音チャンネルを、それぞれ別のパートにまとめるとよい。
【００５９】
次に、図１１（ｂ）における波形処理部３２０ｂは、波形処理部３２０としてエフェクタを構成した場合の例である。３６１はエフェクト処理部であり、受信部４００を介してＡバス２６２から２系統のステレオ信号の波形データ（合計４チャンネル）を受信し、これら波形データにエフェクト処理を施した結果を、送信部４５０を介してＡバス２６２に出力する。このエフェクト処理の内容は、ＣＰＵ２１２によって制御レジスタ４７０に設定されるマイクロプログラム、エフェクト係数、遅延制御データによって決定される。なお、エフェクト処理部３６２もエフェクト処理部３６１と同様に構成されている。
【００６０】
次に、図１１（ｃ）における波形処理部３２０ｃは、音源、ミキサ、エフェクタ等の機能を１チップ内に収納した場合の例であり、上述した音源ＬＳＩ２５２，２５４のノード３００における波形処理部３２０として、用いられるものである。図において３７１は波形合成部であり、制御レジスタ４７０を介してＣＰＵ２１２から楽音制御データを受信し、これに基づいて複数発音チャンネルの波形データを生成する。３７２はミキサであり、各種波形データのミキシング処理を行う。ミキシング処理のための入力波形データの一部は、Ａバス２６２から受信部４００を介して供給され、また、出力波形データの一部は送信部４５０を介してＡバス２６２に出力される。
【００６１】
３７３はマルチＤＳＰ（複数ブロックのＤＳＰ）であり、ミキサ３７２から供給された波形データに対してエフェクト処理等を施し、その結果をミキサ３７２に供給する。そのエフェクト処理等を特定するマイクロプログラム、エフェクト係数、遅延制御データ等はＣＰＵ２１２によって制御レジスタ４７０に設定される。３７４はＩ／Ｏ部であり、シリアルバスに対する１６チャンネルの入出力と、ＤＡコンバータ用のバスに対する２チャンネルの入出力とを行う。
【００６２】
ここで、ミキサ３７２におけるチャンネル構成を図１２を参照し説明する。
ミキサ３７２においては、波形合成部３７１の出力データに対して６４チャンネル（ＴＧ＃１〜ＴＧ＃６４）、マルチＤＳＰ３７３の出力データに対して３２チャンネル（ＤＳＰ＃１〜＃３２）、および波形処理部３２０ｃの外部からのデータ入力用に８０チャンネル（ＥＸＴ＃１〜＃８０）の合計１７６チャンネルが入力チャンネルとして確保される。なお、データ入力用に８０チャンネルのうち６４チャンネルはＡバス２６２からのデータ入力用であり、残り１６チャンネルはＩ／Ｏ部３７４からのデータ入力用である。また、データ入力用のチャンネルを「８０」より少ない数とし、そのチャンネルをＡバス２６２からのデータ入力（最大６４）と、Ｉ／Ｏ部３７４からのデータ入力（最大１６）とに選択的に割り当てて使用するようにしてもよい。
【００６３】
このように入力された波形データに対して、レベル調節等を行うミキシングチャンネルが合計４００チャンネル（ＭＩＸ＃１〜＃４００）が設けられている。そして、ミキシングチャンネルの出力データを混合して出力する出力チャンネルが１１４チャンネルだけ確保されていてる。出力チャンネルの内訳は、マルチＤＳＰ３７３に対する３２チャンネル（ＤＳＰ＃１〜＃３２）、外部出力用の８２チャンネル（ＥＸＴ＃１〜＃８２）である。なお、データ出力用の８２チャンネルのうち６４チャンネルはＡバス２６２に対するデータ出力用であり、残り１８チャンネルはＩ／Ｏ部３７４へのデータ出力用である。また、データ出力用のチャンネルを「８２」より少ない数とし、そのチャンネルをＡバス２６２へのデータ出力（最大６４）とＩ／Ｏ部３７４へのデータ出力（最大１８）に割り当てて使用するようにしてもよい。
【００６４】
２．２．全体構成の具体例（１）
次に、本実施形態の音源部２５０において、音源ＬＳＩ２５２，２５４および増設ボード２５６，２５８，２６０に具体的な機能を設定した例を説明する。まず、音源部２５０を通常の音源として構成した場合のこれら構成要素間の論理的接続例を図１３に示す。図において、増設ボード２５６，２５８，２６０として、各々１６パート音源２５６ａ、エフェクタ２５８ａ、およびデジタル入出力部２６０ａが挿入されている。
【００６５】
１６パート音源２５６ａは１６チャンネルの波形データを出力するものであり、その構成は図１１（ａ）において説明した通りである。エフェクタ２５８ａは４チャンネル（ステレオ２系統）の波形データが入力されると、これに効果処理を施して４チャンネルの波形データを出力するものであり、その構成は図１１（ｂ）において説明した通りである。また、デジタル入出力部２６０ａは、外部機器との間で各８チャンネルのデジタル音声信号を入出力するものである。
【００６６】
音源ＬＳＩ２５２，２５４の内部構成は図１１（ｃ）および図１２において説明した通りである。すなわち、音源ＬＳＩ２５２，２５４内の各波形合成部３７１，３７１によって各々６４チャンネルづつの波形データが合成され、マルチＤＳＰ３７３，３７３によってこれら波形データに対して効果処理が施され、これら波形データは、他の構成要素２５６ａ，２５８ａ，２６０ａから供給された波形データあるいは音源ＬＳＩ２５２，２５４相互間でやりとりされる波形データとともに、ミキサ３７２，３７２においてミキシングされる。
【００６７】
図１３において、各構成要素間を結ぶ矢印は、各構成要素間の論理的接続状態を示す。このうち、音源ＬＳＩ２５２，２５４間の一点鎖線の結線は直結ライン２５３を経由するものであり、その他の結線はＡバス２６２を経由する結線である。図１３において、１６パート音源２５６ａから出力される１６チャンネルの波形データは、Ａバス２６２を介して、音源ＬＳＩ２５２，２５４にそれぞれ入力される。
【００６８】
そして、音源ＬＳＩ２５４から音源ＬＳＩ２５２に対して、直結ライン２５３を介して１６チャンネル、Ａバス２６２を介して１４チャンネルの波形データが供給される。後者の１４チャンネルの波形データのうち、２チャンネルは音源ＬＳＩ２５２からステレオ出力される波形データの伝送用であり、音源ＬＳＩ２５２のミキサ３７２において音源ＬＳＩ２５２からステレオ出力される波形データと混合される。そして、混合されたステレオ波形データは音源ＬＳＩ２５２のＩ／Ｏ部３７４を介してＤＡコンバータ２６４へ出力される。また、４チャンネルはエフェクタ２５８ａにおいてエフェクト処理を施すための波形データであり、８チャンネルはデジタル入出力部２６０ａを介して外部に出力するための波形データである。
【００６９】
これら４チャンネルおよび８チャンネルの波形データは、音源ＬＳＩ２５２において生成された他の波形データとミキシングされ、そのミキシング結果である４チャンネルおよび８チャンネルの波形データは各々エフェクタ２５８ａおよびデジタル入出力部２６０ａに供給される。エフェクタ２５８ａにおいては、この音源ＬＳＩ２５２を介して供給された４チャンネルの波形データに対してエフェクト処理が施され、その結果が４チャンネルの波形データとして音源ＬＳＩ２５２，２５４に出力される。
【００７０】
また、デジタル入出力部２６０ａは、音源ＬＳＩ２５２を介して供給された８チャンネルの波形データをデジタル音声信号として外部機器に出力するとともに、外部機器から受信した８チャンネルの音声信号を音源ＬＳＩ２５２，２５４に供給する。次に、上述した論理的接続状態を実現するためのフレーム割当例を図１４に示す。図においてフレーム＃０は音源ＬＳＩ２５２の送信フレームとして割り当てられている。音源ＬＳＩ２５２からＡバス２６２を介して他の構成要素に出力される波形データは、エフェクタ２５８ａに対して４チャンネル、デジタル入出力部２６０ａに対して８チャンネルであるから、合計１２チャンネル相当分の時間（１ユニットに１チャンネルを割り当てるとすれば１２ユニット分の時間）がフレーム＃０に割り当てられることになる。
【００７１】
また、フレーム＃１は音源ＬＳＩ２５４の送信フレームとして割り当てられている。音源ＬＳＩ２５４からＡバス２６２を介して他の構成要素に出力される波形データは、音源ＬＳＩ２５２に対する１４チャンネルのみであるから、１４チャンネル相当分の時間（同１４ユニット分の時間）がフレーム＃１に割り当てられることになる。また、フレーム＃２は１６パート音源２５６ａの送信フレームとして割り当てられている。１６パート音源２５６ａは１６チャンネルの波形データを音源ＬＳＩ２５２，２５４に出力するが、これら音源ＬＳＩにおける受信は同時に実行されるため、１６チャンネル相当分の時間がフレーム＃２に割り当てられることになる。同様に、フレーム＃３，＃４は各々エフェクタ２５８ａおよびデジタル入出力部２６０ａの送信フレームとして割り当てられ、これらの波形データの出力チャンネル数に応じた長さがフレーム＃３，＃４に割り当てられることになる。
【００７２】
２．３．全体構成の具体例（２）
また、本実施形態の音源部２５０は、単なる音源部とは全く異なる機能を実現することもできる。その一例として、音源部２５０を用いて、音源付きマルチトラック・レコーディング装置を構成した論理的接続例を図１５に示す。図において、増設ボード２５６，２５８，２６０として、各々ＡＤコンバータ２５６ｂ、マルチトラックレコーダ２５８ｂ、およびＤＡコンバータ２６０ｂが挿入されている。
【００７３】
ＡＤコンバータ２５６ｂは、１６チャンネルのアナログ信号を外部機器から受信し、これを１６チャンネルの波形データに変換するものである。マルチトラックレコーダ２５８ｂは、１６トラックの音声信号を記録／再生するものであり、ＤＡコンバータ２６０ｂは供給された８チャンネルの波形データを各々アナログ信号に変換し外部機器に出力するものである。
【００７４】
図１３と同様に図１５において、各構成要素間を結ぶ矢印は各構成要素間の論理的接続状態であり、音源ＬＳＩ２５２，２５４間の一点鎖線の結線は直結ライン２５３を経由するものであり、その他の結線はＡバス２６２を経由する結線である。図１５において、ＡＤコンバータ２５６ｂから出力される１６チャンネルの波形データは、Ａバス２６２を介して、音源ＬＳＩ２５２，２５４にそれぞれ入力される。
【００７５】
そして、音源ＬＳＩ２５４から音源ＬＳＩ２５２に対して、直結ライン２５３を介して１６チャンネル、Ａバス２６２を介して２６チャンネルの波形データが供給される。後者の２６チャンネルの波形データのうち、２チャンネルは単に音源ＬＳＩ２５２に供給されるものであるが、１６チャンネルはマルチトラックレコーダ２５８ｂに記録するための波形データであり、８チャンネルはＤＡコンバータ２６０ｂを介して外部に出力するための波形データである。
【００７６】
これら１６チャンネルおよび８チャンネルの波形データは、音源ＬＳＩ２５２において生成された他の波形データとミキシングされ、そのミキシング結果である１６チャンネルおよび８チャンネルの波形データは各々マルチトラックレコーダ２５８ｂおよびＤＡコンバータ２６０ｂに供給される。マルチトラックレコーダ２５８ｂが記録状態である場合は、この音源ＬＳＩ２５２を介して供給された１６チャンネルの波形データが記録される。また、マルチトラックレコーダ２５８ｂが再生状態である場合は、その再生結果が１６チャンネルの波形データとして音源ＬＳＩ２５２，２５４に出力される。
【００７７】
また、ＤＡコンバータ２６０ｂは、音源ＬＳＩ２５２を介して供給された８チャンネルの波形データをアナログ信号に変換し外部機器に出力する。次に、上述した論理的接続状態を実現するためのフレーム割当例を図１６に示す。図においてフレーム＃０は音源ＬＳＩ２５２の送信フレームとして割り当てられている。音源ＬＳＩ２５２からＡバス２６２を介して他の構成要素に出力される波形データは、マルチトラックレコーダ２５８ｂに対して１６チャンネル、ＤＡコンバータ２６０ｂに対して８チャンネルであるから、合計２４チャンネル相当分の時間がフレーム＃０に割り当てられることになる。
【００７８】
また、フレーム＃１は音源ＬＳＩ２５４の送信フレームとして割り当てられている。音源ＬＳＩ２５４からＡバス２６２を介して他の構成要素に出力される波形データは、音源ＬＳＩ２５２に対する２６チャンネルのみであるから、２６チャンネル相当分の時間がフレーム＃１に割り当てられることになる。また、フレーム＃２，＃３は各々ＡＤコンバータ２５６ｂおよびマルチトラックレコーダ２５８ｂの送信フレームとして割り当てられ、これらの波形データの出力チャンネル数に応じた長さがフレーム＃２，＃３に割り当てられることになる。なお、ＤＡコンバータ２６０ｂは受信ノードとしてのみ機能し波形データをＡバス２６２に出力しないため、送信フレームは割り当てられない。
【００７９】
３．実施形態の動作
次に、本実施形態の動作を説明する。
まず、本実施形態の楽音合成装置の電源が投入されると、ＣＰＵ２１２によって各ノードのパラメータＲＯＭ４９０の内容が読み出され、これによって各ノードの種別等が検出される。次に、現在実装されているノードに応じて、実現可能な動作モードが表示器２０８にリストアップされる。実現可能な動作モードとは、例えば、「一般用音源（図１３）」、「電子ピアノ用音源」、「シンセサイザ用音源」、「マルチトラック・レコーディング装置（図１５）」等である。ユーザがこれらの動作モードのうち何れかを選択すると、選択された動作モードに応じた詳細なパラメータ（例えば音源において合成する波形データのパート数、エフェクトの詳細な内容、複数チャンネルのミキシング比）などがさらに設定可能になる。
【００８０】
以上の設定が終了すると、各ノードの詳細な動作内容が決定される。すなわち、１サンプリング周期内に設けられるフレームの数、および各ノードが送信ノードになるフレームおよび受信ノードになるフレームが決定され、さらに、受信ノードになるフレームにおいてはオフセット値が決定される。また、各フレームにおける詳細なタイミング関係も決定される。
【００８１】
例えば、ある送信ノードから一または複数の受信ノードに波形データを転送すべき場合には、これら全ての送受信ノードのうち、最高送信レートまたは受信レートが最も遅いノードに合せて送受信レートが決定される。そして、送受信されるデータ量およびバス幅に応じて各フレームにおけるクロック信号ＡＣＬＫのクロック数が決定され、各フレームの長さが決定される。このように全てのパラメータが決定されると、ＣＰＵ２１２によってこれらパラメータが各ノードの制御レジスタ４７０に書き込まれる。これにより、楽音合成装置を所望の動作モードで機能させることができる。
【００８２】
また、各ノード間の論理的接続状態をユーザが自由にエディットできるようにしておけば、電源投入時にリストアップされた動作モード以外に、ユーザ独自の動作モードも実現することができる。かかる場合には、設定された論理的接続状態に応じて各ノードが送信を行う送信スロット（送信フレーム番号とユニット数）、および／または、各ノードが受信を行う受信スロット（受信フレームとユニット番号）がＣＰＵ２１２によって自動的に決定され、各ノードの受信制御レジスタ４７２および送信制御レジスタ４７６に設定される。ここで、異なるノードに対して同じ送信スロットが設定されないように、ＣＰＵ２１２によって各ノードに対して異なる送信スロット番号が順次割り当てられる。また、複数の送信スロットの各ユニット数の和が、Ａバス２６２のサンプリング周期毎の転送能力を超えないか否かがチェックされ、超える場合にはユーザに対して警告を行うようにするとよい。
【００８３】
あるいは、各ノードの送信フレームおよび／またはユニット数をユーザが自由に指定できるようにしてもよい。その場合、ＣＰＵ２１２が、複数ノードの何れか二つにおいて送信フレームとして同一のフレーム番号が指定されていないかどうかチェックし、同一のフレーム番号が指定されていればユーザに対して警告を行い、あるいはその一方のフレーム番号を自動的に補正するようにするとよい。また、複数のノードでの送信ユニット数がＡバス２６２の転送能力を超える場合には、その旨を警告するようにするとよい。
【００８４】
このように、本実施形態によれば、音源部２５０内の物理的な結線状態を変更することなく、論理的接続状態を自在に設定することができる。これにより、音源部２５０によって実現される機能あるいは動作モードのバリエーションを豊富にすることができ、その汎用性をきわめて高くすることができる。
【００８５】
４．変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
（１）上記実施形態においては、楽音合成装置の動作モードをユーザが選択動作によって決定したが、動作モードを自動的に決定することも可能である。例えば、上記実施形態の楽音合成装置が電子ピアノ、電子オルガン、シンセサイザ等のシステムの一部として用いられる場合には、ＣＰＵ２１２によって当該楽音合成装置が実装されているシステムの種別を検出し、これに適合するように楽音合成装置の動作モードを自動的に設定するとよい。
【００８６】
（２）上記実施形態においてデータ線ビット数レジスタ４７４（図９参照）は、受信制御レジスタ４７２の各アドレスに対応してデータ信号ＡＤＡＴのビット幅を記憶したが、各フレームにおけるビット幅を「１６ビット」または「４ビット」の何れかに固定し、ビット幅を「フレーム」毎に記憶させてもよい。
【００８７】
（３）上記実施形態においては、楽音合成装置の電源の投入時に各ノードの種別等が検出され、ノードの種別に応じた動作モードが選択された。しかし、ノードの種別に関係なく動作モードを設定してもよい。また、ユーザが複数の動作モードから一つの動作モードを選択しているが、ユーザが選択できることは必須ではない。例えば、各機種毎にメーカが動作モードを固定的に決定し、楽音合成装置に設定するようにしてもよい。具体的には、ＲＯＭ２１４に当該機種に対し決定された動作モードに応じたＣＰＵプログラムのみを記憶し、それに従ってＣＰＵ２１２がＡバス２６２に接続された各ノードへの設定を行うようにしてもよい。あるいは、ＲＯＭ２１４に複数機種分の動作モードに対応した複数のＣＰＵプログラムを記憶させ、音源ボード上のジャンパ線、マイクロスイッチ、プルアップないしプルダウン抵抗等によって、当該機種の動作モードに対応した一つのＣＰＵプログラムを選択してもよい。
【００８８】
【発明の効果】
以上説明したように、本発明によれば、各送信ノードが各々検出した送信フレームにおいてデータ信号をバスに送信し、各受信ノードが各々検出した受信フレームにおいてデータ信号をバスから受信するから、任意の送信ノードから任意の受信ノードに対する論理的接続状態を自在に設定することができ、簡易な回路でありながら高い汎用性を実現することができる。
【図面の簡単な説明】
【図１】従来の音源部および本発明の目的とする音源部のブロック図である。
【図２】本発明の一実施形態の楽音合成装置の全体ブロック図である。
【図３】各ノードとＡバス２６２との接続関係を示す回路図である。
【図４】図３の回路におけるタイミングチャート（１／２）である。
【図５】図３の回路におけるタイミングチャート（２／２）である。
【図６】送信ビット幅に対する各ビットの配列を示す図である。
【図７】各ノードの一般的構成を示すブロック図である。
【図８】タイムスロット変換部３０６の動作説明図である。
【図９】受信部４００のブロック図である。
【図１０】送信部４５０のブロック図である。
【図１１】波形処理部３２０の具体的構成を示すブロック図である。
【図１２】ミキサ３７２におけるチャンネル構成を示す図である。
【図１３】音源部２５０を通常の音源として構成した場合の論理的接続状態を示すブロック図である。
【図１４】図１３の論理的接続状態を実現するためのフレーム割当例を示す図である。
【図１５】音源部２５０をマルチトラック・レコーディング装置として構成した場合の論理的接続状態を示すブロック図である。
【図１６】図１５の論理的接続状態を実現するためのフレーム割当例を示す図である。
【符号の説明】
１０…データ信号線、１１…クロック信号線、１２…方向信号線、１３…フレーム信号線、１５，１６，１７…ノード、２０２…ＭＩＤＩ・Ｉ／Ｏ部、２０４…その他Ｉ／Ｏ部、２０６…パネルスイッチ部、２０８…表示器、２１０…外部記憶装置、２１２…ＣＰＵ、２１４…ＲＯＭ、２１６…ＲＡＭ、２１８…ＣＰＵバス、２２０…サウンドシステム、２５０…音源部、２５１…ワードクロック発生器、２５３…直結ライン、２５６，２５８，２６０…増設ボード、２５６ａ…１６パート音源、２５６ｂ…ＡＤコンバータ、２５８ａ…エフェクタ、２５８ｂ…マルチトラックレコーダ、２６０ａ…デジタル入出力部、２６０ｂ…ＤＡコンバータ、２６２…Ａバス、２６４…ＤＡコンバータ、２６８…ワードクロック外部入力端子、３００…ノード、３０２…動作クロック発生部、３０４…バッファアンプ、３０６…タイムスロット変換部、３２０…波形処理部、３５１…波形合成部、３５２…チャンネル累算器、３６１，３６２…エフェクト処理部、３７１，３７１…波形合成部、３７２，３７２…ミキサ、３７４…Ｉ／Ｏ部、４００…受信部、４０２…フレームカウンタ、４０４…ワードカウンタ、４０６…オフセットカウンタ、４０８…比較器、４１０…取込カウンタ、４１２…取込みレジスタ部、４１４…ビット並べ替え部、４１６…受信データレジスタ、４５０…送信部、４５２，４５４…比較器、４５６…Ｓフラグ設定回路、４５８…タイミング信号発生部、４６０…ワードカウンタ、４６２…読出カウンタ、４６４…送信データレジスタ、４６６…ビット選択部、４７０…制御レジスタ、４７２…受信制御レジスタ、４７２，４７４…レジスタ、４７４，４７８…データ線ビット数レジスタ、４７６…送信制御レジスタ、４９０…パラメータＲＯＭ。
【図１】
2004102131.tif 000003
【図２】
2004102131.tif 000004
【図３】
2004102131.tif 000005
【図４】
2004102131.tif 000006
【図５】
2004102131.tif 000007
【図６】
2004102131.tif 000008
【図７】
2004102131.tif 000009
【図８】
2004102131.tif 000010
【図９】
2004102131.tif 000011
【図１０】
2004102131.tif 000012
【図１１】
2004102131.tif 000013
【図１２】
2004102131.tif 000014
【図１３】
2004102131.tif 000015
【図１４】
2004102131.tif 000016
【図１５】
2004102131.tif 000017
【図１６】
2004102131.tif 000018