JP4952024B2 - ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム - Google Patents

ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム Download PDF

Info

Publication number
JP4952024B2
JP4952024B2 JP2006096061A JP2006096061A JP4952024B2 JP 4952024 B2 JP4952024 B2 JP 4952024B2 JP 2006096061 A JP2006096061 A JP 2006096061A JP 2006096061 A JP2006096061 A JP 2006096061A JP 4952024 B2 JP4952024 B2 JP 4952024B2
Authority
JP
Japan
Prior art keywords
module
setting state
devices
music system
data
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
Application number
JP2006096061A
Other languages
English (en)
Other versions
JP2007164121A (ja
Inventor
正宏 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2006096061A priority Critical patent/JP4952024B2/ja
Publication of JP2007164121A publication Critical patent/JP2007164121A/ja
Application granted granted Critical
Publication of JP4952024B2 publication Critical patent/JP4952024B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

この発明は、ネットワークを介して接続された複数の機器(ノード)で構成される音楽システムにおいて、各機器の動作内容及び論理接続等をリモート制御する制御装置に関し、また、該音楽システムにおいて各機器の動作内容及び論理接続等をリモート制御するための統合的なソフトウェアプログラムに関する。
マルチメディアに対応した所定の通信規格(例えばIEEE1394規格)に従って構成されたネットワークにおいて、波形データ(オーディオ波形サンプルデータ)や演奏データ(MIDIのような演奏イベントデータ)などの音楽データを送受できるように構成した音楽システム(例えば商標「mLAN」で呼ばれる当出願人の開発に係る音楽システム)がある。このような音楽システムにおいては、ネットワークを介して複数のノード例えばパーソナルコンピュータなどの制御装置や各種の音楽機器(シンセサイザ、音源装置、レコーダ、ミキサ、その他)を接続してシステムが構成され、波形データやMIDIデータを任意のノードから任意のノードへリアルタイム伝送することができる。この音楽システムに関連する技術としては、例えば下記特許文献1がある。
特開平10−32606号公報
また、キーボード、シーケンサ、ミキサなどの各種音楽機器の入出力ラインを任意に相互接続する機器はパッチベイとして知られている。上述のようなネットワークを介して接続された機器(ノード)間での任意の接続を論理的に設定するためのバーチャル・パッチベイに関連する発明は下記特許文献2に示されている。このパッチベイによって接続設定された出力側ノードから入力側ノードへと音楽データが送信されることになる。
特開2001−203732号公報
上述のような従来の音楽システムにおいては、ネットワークに対して単に物理的に音楽機器を接続しただけでは、該ネットワークにおける該音楽機器の論理的接続は実現されず、該音楽機器へのデータ送受信をすることができない。ネットワークに新規に接続した音楽機器へのデータ送受信をできるようにするには、ネットワークに接続されたパーソナルコンピュータ上で特許文献2に示されたようなパッチベイのアプリケーションプログラムを起動して、該音楽機器の論理接続を設定する。
また、各音楽機器における動作パラメータ等の設定を、当該ネットワーク内のパーソナルコンピュータ及びGUIを介してグラフィック画面を操作して行うようにすることは、リモート制御として知られている。そのようなリモート制御用のソフトウェアは、下記非特許文献1、2及び3(市販ソフトの取扱説明書)に示すように、各音楽機器の機種毎に個別に提供されている。上記リモート制御用のソフトウェアによれば、制御対象となる各音楽機器において各種動作パラメータを格納するメモリ領域と同等な構成の動作パラメータメモリ領域がパーソナルコンピュータ上に確保され、該パーソナルコンピュータのグラフィック画面において制御対象となる各音楽機器の各種動作パラメータを編集する画面を表示して、ユーザが該画面上において編集操作を行なうと、コンピュータ内の前記動作パラメータメモリ領域において前記編集操作に対応する動作パラメータが更新される。これにより、各音楽機器における各種動作パラメータの編集動作をコンピュータ上でエミュレートすることができる。そして、パーソナルコンピュータとネットワーク内の各音楽機器の間において、前記動作パラメータの更新の内容が逐次交換されることで、双方のメモリ領域における動作パラメータの同一性が維持される。
Studio Manager for DM2000 (商標)の取扱説明書 XG Editor (商標)の取扱説明書 DME Manager (商標)の取扱説明書
また、ミキサやエフェクタなどの各音楽機器においては、現在の動作パラメータの設定状態(各種スイッチや操作子の設定状態)を1つの「シーン」の設定ファイルとして一括して記憶したり、該記憶された「シーン」を呼び出して再現したりするシーンストア/シーンリコール機能が具備されている。このシーンストア/シーンリコール機能についても、リモート制御用のソフトウェアによりコンピュータ上で各機器毎にこれを実行することができた。しかしながら、上記の通りリモート制御用のソフトウェアは各音楽機器の機種毎に用意されており、異なる種類の機器を同時に制御することができなかった。この点について、下記特許文献3では、各機器のリモート制御を一括して管理するためのソフトウェアプログラムを用いて、ネットワーク上の複数機器を一括してリモート制御することが開示されている。
特開2005−202138号公報
しかし、上記の通り音楽ネットワークにおける各音楽機器間の論理接続の設定・変更等は、前記リモート制御用ソフトとは別の専用の接続設定ソフト(パッチベイ・ソフト)によって制御されていたので、この点については異なる種類の機器を同時に制御することができなかった。このため、パーソナルコンピュータによる各機器のリモート制御と、音楽システムの各機器(実体)との同期化制御つまり両者の間で各種動作パラメータや機器間の論理接続設定を一致させる制御は、複数の機器で一括して行なうことができず、各機器毎に個別に行なわなければならなかった。
この発明は上述の点に鑑みてなされたもので、ネットワークを介して接続された複数の機器で構成される音楽システムにおいて、各機器の動作内容及び論理接続の設定を行い易くした制御装置及び音楽システムを提供しようとするものであり、更には、コンピュータを該制御装置として機能させるソフトウェアプログラムを提供しようとするものである。
この発明の請求項1に係る制御装置は、数の機器にて構成され音楽システムと接続する接続部と、前記音楽システムの前記複数の機器の設定状態を前記接続部を介してリモート制御するリモート制御部と、前記音楽システム内に存在すべき複数の機器の各々に対応して、当該各機器の設定状態をそれぞれ記憶するワークメモリと、前記ワークメモリに記憶された前記複数の機器の各設定状態を、前記音楽システム内の各対応する機器割り当てるものであり、或る特定の機器に対応する設定状態を前記音楽システム内のいずれかの機器割り当てることができなかった場合は、当該特定の機器の機種又は機能に関する情報と、前記音楽システム内の各機器の機種又は機能に関する情報とに基づいて、前記特定の機器代替として利用可能な代替機器を前記音楽システム内から検索し、該検索された代替機器に前記特定の機器に対応する設定状態を割り当てる割当部と、複数の機器を一括して同期化するための同期化指示を発生する同期化指示部と、前記同期化指示の発生に応じて、前記ワークメモリに記憶されている各機器の各設定状態に、前記音楽システム内の前記複数の機器の各設定状態を一致させることにより、前記ワークメモリと前記音楽システム内の各機器の設定状態を、対応する機器同士で一致させる同期化処理を行う同期化処理部とを具備し前記ワークメモリに記憶されている前記特定の機器の設定状態と前記代替機器の設定状態を一致させるように同期化が行われる、ことを特徴とする。
本発明によれば、制御装置のワークメモリでは、音楽システム内に存在すべき複数の機器の各々に対応して、当該各機器の設定状態をそれぞれ記憶しており、割当部では、該ワークメモリに記憶された前記複数の機器の各設定状態を、前記音楽システム内の各対応する機器割り当てるものであり、或る特定の機器に対応する設定状態を前記音楽システム内のいずれかの機器割り当てることができなかった場合は、当該特定の機器の機種又は機能に関する情報と、前記音楽システム内の各機器の機種又は機能に関する情報とに基づいて、前記特定の機器代替として利用可能な代替機器を前記音楽システム内から検索し、該検索された代替機器に前記特定の機器に対応する設定状態を割り当てる。機器の機種又は機能に基づいて代替として利用可能な代替機器を検索し、これを代替機器として利用するように構成されているので、適切な代替機器を利用できる。そして、同期化指示の発生に応じて、前記ワークメモリに記憶されている各機器の各設定状態に、前記音楽システム内の前記複数の機器の各設定状態を一致させるよう同期化処理を行うとき、ワークメモリに記憶されている前記特定の機器の設定状態と前記代替機器の設定状態を一致させるように同期化が行われる。従って、制御装置の主導によって、任意の複数機器の組み合わせを一括して、同期化処理する場合に、非常に使い勝手がよくなる。
請求項3によると、前記音楽システムはネットワークを介して複数の機器が接続されてなるものであり、前記ワークメモリに記憶される前記各機器の設定状態、当該機器の動作内容を設定するためのデータセットと、前記ネットワークにおける当該機器と他の機器との間の論理接続を設定するためのデータセットを含みこれにより、前記同期化処理部は、機器について動作内容他の機器との間の論理接続一致させる。これにより、複数機器の一括同期化に際して、例えば同期化対象となる或る機器がネットワークに接続されていない場合であっても、他の機器でこれを代替することで、不都合を起こすことなく、各機器毎に設定した動作内容と論理接続設定状態と各機器(実体)側での動作内容と論理接続設定状態を一括して同期化できる。従って、この発明によれば、ネットワークを介して接続された複数の機器(ノード)で構成される音楽システムにおいて、制御装置による複数機器の動作及び論理接続の設定や変更が行い易くなるという優れた効果を奏する。
更に、請求項12に従う制御装置は、数の機器にて構成された音楽システムを接続する接続部と、前記接続された音楽システムの前記複数の機器の設定状態を前記接続部を介してリモート制御する制御装置であって、所定の機能を実現するようソフトウェアで組まれたモジュールを実行する実行部と、前記音楽システム内に存在すべき複数の機器の各々に対応して、当該各機器の設定状態をそれぞれ記憶するワークメモリと、前記ワークメモリに記憶された前記複数の機器の各設定状態を、前記音楽システム内の各対応する機器割り当てる割当部と、複数の機器を一括して同期化するための同期化指示を発生する同期化指示部と、前記同期化指示の発生に応じて、前記ワークメモリに記憶されている各機器の各設定状態、前記音楽システム内の前記複数の機器の各設定状態を一致させることにより、前記ワークメモリと前記音楽システム内の各機器の設定状態を、対応する機器同士で一致させる同期化処理を行う同期化処理部と、前記割当部が或る特定の機器に対応する設定状態を前記音楽システム内のいずれかの機器に対応付けて割り当てることができなかった場合は、前記同期化指示の発生に応じて、前記実行部に当該特定の機器の機能を実現するモジュールを実行させるとともに、該モジュールの設定状態を前記特定の機器に対応する設定状態に一致させる代替制御部とを具備し、前記実行部は、前記特定の機器の設定状態を用いて、当該特定の機器の機能を代替する、ことを特徴とする。
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記録媒体の形態で実施することもできる。また、プロセッサとしては、任意のソフトウェアプログラムを実行するコンピュータのような汎用プロセッサを使用できるのは勿論のこと、専用ロジックをハードウェアで組んだ専用プロセッサを用いてもよい。
以下、この発明の実施の形態を添付図面を参照して詳細に説明する。
図1はこの発明に係る動作及び接続設定用統合CADソフトウェアの一実施例を適用することができる音楽システムの構成例を概略的に示すブロック図である。この音楽システムは、所定の通信規格(例えば商標「mLAN」で呼ばれる当出願人が提唱するディジタルデータ転送プロトコルや、USB、CobraNet(Ethernet)、無線LAN、MADIなど、任意の規格でよい)に従うネットワーク(音楽LAN)10を介して接続された複数のノード(音楽の演奏、再生、制御等に関連する音楽機器)2〜6で構成される。この音楽LAN10においては、所定の通信規格(例えばIEEE1394規格)に基づく複数の伝送線によりMIDIデータ用及びディジタルオーディオデータ用のバスが構成され、該複数の伝送線を用いて、MIDIデータ、オーディオ波形データ、制御信号等が任意のノードから任意のノードへリアルタイムに伝送される。なお、本統合CADソフトウェアの実行に際して、各ノードに与えられる命令や制御データ等はMIDIデータのバスを介して伝送するようにしてよい。
図1において、ノードの基本的な例として、制御装置1と各種の音楽機器2〜6が例示されている。制御装置1は、典型的にはパーソナルコンピュータ(以下PCと略称する)で構成されており、本実施例に係る統合CADソフトウェアが組み込まれると共に、各種音楽関連機能を実現するソフトウェアが組み込まれていて該各種音楽関連機能の動作に関するプログラムを実行する。また、PC1には各音楽機器2〜6を当該PC1上からリモート制御するためのリモート制御用のソフトウェア(上記非特許文献1〜3を参照)がインストールされている。リモート制御用ソフトは、従来より他のソフトウェアにプラグインされるプラグインモジュールの形式で構成されるものであり、また、各音楽機器の機種毎に個別に提供されている。統合CADソフトウェア(以下「統合CADソフト」)は、音楽LAN10における各機器の動作及び接続設定を管理する動作を行なうためのプログラムであって、詳しくは後述する通り、異なる複数の機種の機器の動作設定と、各機器間の論理接続を一括して管理・制御することができる。
本実施例では、PC1において、前記音楽関連機能として「シーケンサ」(MIDIデータの記録再生つまり自動演奏機能)及び「レコーダ」(オーディオ波形記録再生機能)の機能を実現する音楽制作ソフトウェア(音楽ソフト)がインストールされており、前記統合CADソフトを音楽ソフトのプラグインとして実装するものとし、各リモート制御用ソフトを該統合CADソフトのプラグインとして実装するものとする。なお、PC1における音楽関連機能としては、上記の他にも、「シンセサイザ」(楽音合成機能)、「ミキサ」(オーディオ波形信号ミキシング機能)、「エフェクタ」(オーディオ効果付与機能)等のその他の音楽関連機能の処理モジュールが必要に応じて組み込まれていてよい。
また、音楽機器2〜6の一例として、任意のディジタル信号処理(ディジタルオーディオ信号処理)を行うエンジン2及び5とミキサ3とシンセサイザー4とアナログオーディオ波形データの入出力を行なう波形I/O装置6との各ハードウェア装置が音楽LAN10に接続されている。図1において、各処理エンジン2,5の末尾に付した添え記号CとD、「ミキサ」の末尾に付した添え記号A、「シンセサイザ」の末尾に付した添え記号C並びに「波形I/O」の末尾に付した添え記号Aは、それぞれハードウェアとしての各機器を識別するための便宜上の添え記号であるが、機種を示す記号と捉えても良い。追って説明するようにネットワーク内の個別のモジュール乃至ハードウェアは各々に固有のIDによって区別されている。その趣旨で、添え記号を便宜上付記した。また、各機器2〜6に具わる音楽LAN10に接続するためのネットワーク用コネクタは記号NCX,NCY,NCZを付与している。記号「NC(ネットワークコネクタの略)」に添えた記号X,Y,Zは、それぞれ異なるタイプのネットワーク用コネクタであることを例示的に示している。また、ミキサ3と処理エンジン5に具わる波形データを入力及び出力するためのウェーブコネクタには記号WCA,WCCを付与した。記号「WC(ウェブコネクタの略)」に添えた記号A,Cは、それぞれ異なるタイプのウェーブコネクタであることを例示的に示している。
なお、図1においてPC1及び各ノード2〜6に添えたアルファベット「HW」は、各機器がハードウェア資源により構成されていることを示している。また、図1では、処理エンジン2とミキサ3とが、カスケード接続ケーブルを介して物理的結線(「カスケード接続」)されるシステム構成例を示している。カスケード接続とは、複数のミキサ間でオーディオ信号及び制御信号を相互に交換することにより、全体としてのミキサの処理能力(ミキシングバス数など)を拡張させるミキサ間接続である。すなわち、カスケード接続は専用のケーブルを介した物理的結線であり、これは音楽LAN10における各ノード間の論理的結線とは異なる。
図2は、各音楽機器(ハードウェア「HW」機器)2〜6の電気的ハードウェア構成例の概略を示す図である。詳しくは後述する通り各機器2〜6が実現する動作・機能は機種毎に異なる。しかしながら、各機器2〜6の電気的ハードウェア構成の概略は概ね同様と考えて差し支えないため、図示及び説明の便宜上、各機器機器2〜6のハードウェア構成として可能な形態を当該図2により代表的に表すものとする。図2に示す通り、各機器2〜6は、CPU20、フラッシュメモリ21、RAM22、信号処理部(DSP群)23、表示器24、操作子25、波形インターフェース(WC_I/O)26、ネットワークインターフェース(NC_I/O)27、外部のMIDI機器とMIDI規格の信号を授受するためのMIDIインターフェース(MIDI_I/O)28を含んで構成され、各装置間がバス20Bを介して接続される。
CPU20は、フラッシュメモリ21或はRAM22等メモリ内の各種プログラムを実行して、当該機器の全体的な動作の制御やPC1との間の通信制御等を行う。また、フラッシュメモリ21及びRAM22は、詳しくは後述するワークメモリ領域として利用される。WC_I/O26は、アナログ又はディジタル波形データを入出力するためのインターフェースであり、アナログ入出力用のAD変換器及びDA変換器、ディジタル入出力用のディジタルインターフェースを含む。NC_I/O27は音楽LAN10に接続するためのネットワーク用コネクタ(音楽LANインタフェース)であって、各機器はNC_I/O27を介して波形データ、MIDIデータ或いは各ノードに与えられる命令や制御データ等を含む各種データを音楽LAN10に送出し、また、音楽LAN10から自機で必要な前記各種データを取り込む。
信号処理部23は、各機器が担う音楽的機能に応じた信号処理をDSPのマイクロプログラムに基づき実施するもので、WC_I/O26乃至NC_I/O27を介して供給されるMIDIデータやオーディオデータに対して、CPU20から与えられる指示に基づき信号処理を施し、また、その信号処理の結果として生成された信号をWC_I/O26乃至NC_I/O27を介して外部に出力する。処理エンジン2及び5においては、「ミキサ」や、「エフェクタ」、「イコライザ」などの各種音楽関連機能を実現するDSPのマイクロプログラムが取り替え自在に1又は複数組み込まれるようになっており、各エンジン2及び5の信号処理部23は各々に組み込まれた任意のDSPプログラムに対応する信号処理内容を実行する処理モジュールを実現する。また、ミキサ3、シンセサイザー4及び波形I/O装置6のように実現すべき音楽関連機能がハードウェア装置毎に固定されている機器では、信号処理部23は当該機種に対応する信号処理内容を実行する処理モジュールを実現する。
前述の通り、本実施例において統合CADソフトは、PC1にインストールされた音楽ソフトのプラグインソフトとして組み込まれている。図3は、PC1において音楽ソフトを実行した際の或るディスプレイ画面(Arrange Window)を示している。該「Arrange Window」においては、当該音楽ソフト上で現在作業中の楽曲のソングデータを構成するオーディオ波形トラック(レコーダトラック)とMIDIトラック(シーケンサトラック)が表示される。
当該画面において「Plugins」のメニューボタンをユーザがマウスで左クリックすると、音楽ソフトにプラグインさえているプラグインソフトを選択するポップアップメニューが表示される。該ポップアップメニューにリストアップされるプラグインソフト名には、この実施例に係る統合CADソフトや、音源モジュールの編集ソフトや、各音楽機器2〜6のリモート制御ソフトの名前が含まれる。その中の「統合CAD」の名前をマウスでクリックすることで、統合CADソフトが選択・起動される。勿論、これに限らず、この統合CADソフトを独立したアプリケーションソフトとしてPC1内に組み込み、独立に立ち上げるようにしてもよい。
PC1において統合CADソフトが起動されると、当該ネットワーク10内で1グループのLANを構成している全ての処理モジュールと各モジュール間の接続状態がPC1のディスプレイ上にグラフィック表示される。図4はそのような全モジュールの接続状態をグラフィック表示する画面の一例を示している。図中、「ゾーンA」は、当該ユーザが設定・管理・使用している音楽LANの1グループに名付けられた固有の名称である。この統合CADソフトでは、複数の音楽LANグループを個別に管理することができ、この各グループを「ゾーン」という。図4に例示するような特定のゾーン(グループ)の画面を立ち上げるためには、ゾーン(グループ)の選択あるいは設定を行えるように構成するが、この点の詳しい説明は省略する。なお、前回このプログラムを終了したときのゾーン(グループ)情報を保存しておき、統合CADソフト起動時に自動的に前回選択されていたゾーンの接続画面(統合CAD画面)が立ち上がるようにしてもよい。ここで設定された統合CADソフトのデータを含む音楽ソフトのデータは、ユーザの指示に応じて、随時、ハードディスク等にソングファイル(後述する)として保存することができ、また、保存されたソングファイル(統合CADソフトのデータを含む)をPC1で起動されている音楽ソフトヘ読み込むことができる。
図4を参照して統合CAD画面の表示例について説明する。統合CAD画面には、音楽LAN10に接続された各ノード1〜6(図1参照)によって実現されるハードウェア及びソフトウェアの各処理モジュールに対応するアイコン(図示例では図示簡略化のためにブロックで示す)を含む各種GUIオブジェクトが画面上に表示される。各モジュールのアイコンにおいては、ユーザに個別の各モジュールが行う音楽処理を識別させるよう適切な可視的表現(図示例では、「ミキサA」や「レコーダD」や「エンジンC」等の識別名称の略称文字)が付加的に表示されると共に、各モジュールがハードウェアモジュールであるかソフトウェアモジュールであるかをユーザに識別させるための適切な可視的表現(図示例では、「Sモジュール」と「Hモジュール」の略称文字)が付加的に表示される。図中、「Sモジュール」とはソフトウェアモジュール、「Hモジュール」とはハードウェアモジュールを示す。また、図中、「USモジュール」もソフトウェアモジュールであり、これは後述するCAD編集画面(後述の図7)においてユーザが自由に構成したソフトウェアモジュールである。また、「エンジン」はソフトウェアモジュールを実行するハードウェアモジュールであるので、「エンジン」のアイコンの内部にソフトウェアモジュールを配置することができる。
Hモジュールはハードウェア機器の固定機能として実現される処理モジュールであって、図4においては、ミキサ3(「ミキサA_Hモジュール」)やシンセ4(「シンセC_Hモジュール」)或いは波形I/O装置6(「波形I/O・A_Hモジュールin」と「波形I/O・A_Hモジュールout」)がこれに相当する。なお、波形I/O装置6については、アナログ波形入力部分が「波形I/O・A_Hモジュールin」、また、アナログ波形出力部分が「波形I/O・A_Hモジュールout」として、それぞれ別のHモジュールとして取り扱われている。
SモジュールはPC1やエンジン2及び5において、ソフトウェアプログラム(エンジンではDSPのマイクロプログラム)の実行により実現される処理モジュールであって、図4においては、エンジン2(「エンジンC」)の「ミキサA−2_Sモジュール」及び「エフェクタC_USモジュール」、エンジン5(「エンジンD」)の「ミキサC_Sモジュール」及び「イコライザB_Sモジュール」、或いは、PC1で実現される「シーケンサA_Sモジュール」及び「レコーダD_Sモジュール」が、Sモジュールとして取り扱われる。なお、「レコーダD_Sモジュール」は前記図3に示すオーディオ波形トラック(レコーダトラック)の機能を、また、「シーケンサA_Sモジュール」はMIDIトラック(シーケンサトラック)の機能をそれぞれ実現するモジュールである。
図4に示す統合CAD画面では、モジュール間の結線として、各モジュール間においてオーディオ波形データをリアルタイム伝送する接続ライン(オーディオ伝送ライン)30が、その伝送方向を示す矢印付きの実線により表示されている。また、各モジュール間においてMIDIデータ(楽音発生指示データ)をリアルタイム伝送する接続ライン(MIDI伝送ライン)31が、その伝送方向を示す矢印付きの点線で表示されている。各伝送ライン30及び31上の四角枠内に示す数字は当該伝送ラインにおいて伝送されるオーディオ波形データ又はMIDIデータチャンネル数を示している。すなわち、各伝送ライン30、31において、複数チャンネル分のオーディオ波形データ又はMIDIデータを伝送することが可能である。なお、統合CADソフトによって管理される全ての機器には、制御データ伝送用のMIDI伝送ラインが接続されているが、統合CAD画面上にはこれを表示しないものとする。なお、図示の便宜上、オーディオ伝送ライン30についてはレコーダD_SモジュールからミキサA_Hモジュールへの結線、また、MIDI伝送ライン31については、シーケンサA_SモジュールからシンセC_Hモジュールへの結線に対して符号を付与して、他を代表するものとする。また、「エンジン」のハードウェアモジュールに関しては、そのアイコンの内部に配置されたソフトウェアモジュールのアイコンについて結線が行われ、従来の「エンジン」のCAD画面で行われていたような、「エンジン」のアイコンを対象とした結線は行われない。
オーディオ伝送ライン30及びMIDI伝送ライン31のうち、音楽LAN10を経由する結線(論理接続)には、ライン近傍に示された丸囲み数字(同図において丸囲み数字1〜6)が付与されている。この実施例では、音楽LAN10におけるデータ伝送方式の一例として、複数の伝送チャンネルを用いて、オーディオ波形データ又はMIDIデータを伝送する方式を採用しており、上記オーディオ及びMIDI伝送ライン近傍の丸囲み数字は、音楽LAN10における伝送チャンネル番号を示す。
図5は、音楽LAN10におけるデータ伝送の概要を説明するためのデータ伝送タイミング図であって、周知のIEEE1394規格に準拠したネットワークにおいて伝送されるデータパケットの時間的配置例を示している。データの転送サイクルの開始を規定するサイクルスタートパケット100が所定周期(例えば125μs)の時間間隔で送出され、各転送サイクル内に複数のアイソクロナスパケット101が配置される。複数のアイソクロナスパケット101は、音楽データ(MIDIデータやオーディオデータ)のように厳密なリアルタイム性を要求されるデータを転送するために用いる伝送チャンネルであって、同図において丸囲み数字1〜6は、図4のCAD画面における伝送チャンネル番号に対応している。音楽LAN10では、ノード間の論理接続により、各ノード1〜6毎に1つの伝送チャンネルが割り当てられると共に、データ受け側のノードにおいてどの伝送チャンネルのどの信号を受け取るかが設定される。なお、送受信ノードの論理接続を設定する情報やその他の厳密なリアルタイム性が要求されないデータは、前記アイソクロナスパケット101の伝送後の当該転送サイクルの空き時間にアシンクロナス転送で転送される。なお、音楽LAN10におけるデータ伝送方式は図5に例示した方法に限らず、従来から知られる適宜の方式、例えば同図に別例として示す時分割多重方式(TDM方式)、すなわち、各信号の符号列を時間的に分割して伝送路を占有する時間をずらして多重化する方式などであってもよい。この場合は、リアルタイム性を要求されるデータ伝送については、伝送チャンネル番号によりタイムスロットを指定して、その指定されたタイムスロットを用いて伝送を行なうようにすればよく、リアルタイム性を要求されないデータ伝送については、アシンクロナス伝送用に予め確保されたタイムスロットを用いて、或いは、リアルタイム伝送に使われていないタイムスロットを自動割当して、伝送を行なうようにすればよい。
いくつかの接続例を説明すると、波形入力用の「波形I/O・A_Hモジュールin」(図1の波形I/O装置6)からは、チャンネル番号2番の伝送チャンネルを使用して、8チャンネルのオーディオ波形信号が「ミキサA_Hモジュール」(図1のミキサ3)に入力され、また、同じくチャンネル番号2番の伝送チャンネルを使用して、別の8チャンネルのオーディオ波形信号がソフトウェアモジュールである「ミキサA−2_Sモジュール」(図1の処理エンジン2つまり「エンジンC」が実現するソフトウェアミキサ)に入力されるように論理接続されている。
また、「シンセサイザC」(図1のシンセサイザ4)とPC1内のソフトウェアモジュールである「シーケンサA」との間では1チャンネルの接続ラインでMIDIデータを授受するように接続設定されている。また、ミキサ3によるハードウェア「ミキサA」と処理エンジン2にて実現されたソフトウェア「ミキサA−2」はカスケード接続されている。図4のCAD画面では両者の接続ラインに記号「C」を付与し、この結線32がカスケード接続であることを明示する。
また、図4において、統合CAD画面の下側には、エンジンC,D、音楽LAN及びPCの現在の処理状況又は利用状況をモニタし、各装置が各種処理を実施するために使用しているシステムリソースの容量をリアルタイムでメータ表示するリソースメータ33が表示されている。「エンジンC」と「エンジンD」のリソースメータは各エンジンにおける通信状況や演算状況(演算能力の何パーセントを使用しているか)をメータ表示しており、音楽LANのリソースメータは、「音楽LAN」の現在の利用状況すなわち図5に示す転送サイクルのうちどれだけの帯域を使ってデータ伝送を行なっているかをメータ表示しており、また、PCのリソースメータは現在当該PCの処理能力(メモリ領域残り容量等)の何パーセントが使用されているかをメータ表示している。
ユーザは統合CAD画面に表示されたゾーンのネットワーク10の構成を該画面上において編集することができる。ユーザが行ない得るネットワークの編集操作は、例えば、モジュールのアイコンの配置、追加、削除等や、モジュール間の結線の設定・変更等である。これらの具体的な操作方法や、該ネットワークの編集操作を実現する動作内容等については後述する。
また、統合CAD画面において、所望のモジュールのアイコンをユーザが所定の入力操作(例えばアイコンをマウスポイントしてダブルクリックする操作)により選択することで、該選択されたモジュールの動作パラメータを設定する画面をPC1のディスプレイに開くことができる。すなわち、選択操作に応じて、選択されたモジュールに対応するリモート制御ソフトに対して、当該モジュールの動作パラメータ設定画面を表示するよう指令が出力される。動作パラメータ設定画面の一例として、図4の「シンセサイザC_Hモジュール」の動作パラメータ設定画面を図6(a)に、また、エンジンCにおいてソフトウェアモジュールとして実現されている「ミキサA−2_Sモジュール」の動作パラメータ設定画面を図6(b)にそれぞれ示す。図6(a),(b)に示す通り、動作パラメータ設定画面には、当該モジュールに対応する実際のハードウェア機器の操作パネルを模擬した画像が表示され、ユーザはこの操作パネル画像上の操作子やスイッチのCAD図形を用いて、それぞれに対応する動作パラメータの設定操作を行なうことができる。なお、ソフトウェアモジュールである「ミキサA−2」については、これと等価な「ミキサA」(Hモジュール)の実際のミキサ操作パネルを模擬した画像が表示される。なお、動作パラメータの設定時のPC1の動作については後述する。
また、エンジン2又は5により実現されるユーザソフトウェアモジュール(USモジュール)のアイコンを前記とは別の入力操作(例えばアイコンを右クリックする操作)により指定することで、当該モジュールについてポップアップメニューを展開することができ、該メニューから「CAD Edit」を選択すると、「CAD編集画面」(図7参照)を開くことができる。この画面では、選択されたモジュールに関して現在設定されている内部構成がCAD図形で表示され、該画面上から内部構成の編集を行うことができる。
図7の例ではエフェクタCについてのUSモジュールCAD編集画面を示す。図の例では、「エフェクタC_US」が、コンポーネントA(例えばコンプレッサ)、コンポーネントA−2(例えば別のコンプレッサ)、コンポーネントC(例えばイコライザ)、コンポーネントC−2(例えば別のイコライザ)を4チャンネルの入力コネクタ(Input)と6チャンネルの出力コネクタ(Output)の間にパラレルに配置して構成されている。ユーザは当該画面において、モジュールを構成する各コンポーネント間及びコネクタ間、ならびに、前記コンポーネントとコネクタとの間の接続の変更やコンポーネントの追加、削除などを行い、USモジュールを自由に構成することができる。なお、このようにモジュールを自由に構成できるのは、USモジュールだけであり、その他のSモジュールの構成はファクトリセットで固定されている。
また、図7のCAD編集画面において当該USモジュールと他のモジュールの論理接続設定を行う場合は、例えば入力コネクタ(Input)又は出力コネクタ(Output)のアイコンのクリックにより展開される論理接続設定用のポップアップウィンドウから各種の論理接続条件等を入力又は選択・指定して論理接続設定の操作を行ないうる。あるいは、CAD編集画面において、一般のCADで行なわれるような結線によって論理接続設定が行なわれるようにしてもよい。例えば先ず線を描画するモードを起動して、入力コネクタと出力コネクタの何れか一方の結線を、これから描く接続線の基点として、クリック操作によって指定することにより、線の描画を開始し、任意のポイントを順次クリックすることにより、それらのポイントが順次線で結線され、結線先であるコネクタまで結線されたところで操作完了となる。
統合CAD画面は、PC1内のROM及びRAM又はハードディスク等で構成される統合CAD用ワークメモリに記憶されている各モジュール毎の現在の接続設定を示すデータ等に基づく描画処理により作成される。
図8は統合CAD用ワークメモリの記憶構成例を説明するための図である。図8(a)は、PC1内の統合CAD用ワークメモリにおけるモジュール又はハードウェア単位の区分(エリア)を示し、(b)には1つの区分(エリア)内に記憶するデータの詳細例を例示的に示している。また、(c)は各機器(実体)2〜6におけるワークメモリ構成の一例として、「シンセC」と「エンジンC」の各機器のメモリ(フラッシュメモリ21乃至RAM22)内に構築されるワークメモリの構成例を示す。なお、各機器(実体)2〜6側が具備する統合CADと同機能のメモリや制御部を「ローカル」の形容詞をつけて、統合CAD側のそれらとは区別して、呼ぶ。
PC1の統合CADワークメモリにおいて、「管理データ」エリアにはこの統合CAD用ワークメモリの読み書きアドレス等を管理するための必要なメモリ管理データが記憶されている。「統合CAD」ワークエリアには、ユーザが上記図7のUSモジュールCAD編集画面において作成したユーザーソフトウェアモジュール(USM)を実現するための各種データを保存・記憶する「USMライブラリ」が構成され、また、その他の統合CAD画面やCAD図形の描画形成に関連するデータが記憶される。更に、図4の統合CAD画面においてソフトウェアモジュールのアイコンがエンジン外の領域に配置された場合(例えば、図注の点線で示されるエフェクタCのUSモジュール)には、当該ソフトウェアモジュールのワークエリアが、この「統合CAD」ワークエリア内に作成される。また、「統合シーンメモリ」の構成については図11を参照して後述する。
統合CADワークメモリには、当該ゾーン(音楽LAN10を構成するノードのグループ)に属する各モジュール(機器2〜6)毎のリモート制御に用いるワークエリアとして、「波形I/OA」ワークエリア、「シンセサイザC」ワークエリア、「ミキサA」ワークエリア、「エンジンC」ワークエリア及び「エンジンD」ワークエリアが確保されるている。各機器毎のワークエリアのうち、「波形I/OA」ワークエリア、「シンセサイザC」ワークエリア及び「ミキサA」ワークエリアは、機種毎に固定機能のみを実現するハードウェアモジュール(Hモジュール)に対応するワークエリアである。その構成例として(b)に「シンセC」のワークエリアの構成例を示す。各Hモジュールに対応するワークエリアには、当該Hモジュールについて、そのID(「HM_ID」)と、「Mカレント」と、「MNカレント」と、「MDライブラリ」と、「MNDライブラリ」とが記憶されている。また、ソフトウェアモジュール(Sモジュール)を実現するエンジンC、Dに対応するワークエリアの一例として、(b)に「エンジンC」ワークエリアの構成例を示している。「エンジンC」ワークエリアには、当該エンジンCが実現する各Sモジュールについて、ソフトウェアモジュールのID(「SM_ID(#x)」)、「Mカレント(#x)」と、「MNカレント(#x)」と、「MDライブラリ(#x)」と、「MNDライブラリ(#x)」とが記憶される。ここで、添え記号「#x」は、当該エンジンで実現している各ソフトウェアモジュールを区別する番号である。なお、図8(c)の「シンセC」及び「エンジンC」の機器側のワークメモリ(ローカルメモリ)の構成との比較から明らかなように、(b)に示す統合CADワークメモリに具わる各機器毎のワークエリアは、(c)に示すハードウェア(実体)側のワークメモリ(ローカルメモリ)と略同等なデータ構成となっている。これは、PC1側における各機器のリモート制御において、各機器の各種動作パラメータの設定、編集等をエミュレートするために、PC1側の統合CADワークメモリで各機器のワークメモリの構成を真似たためである。
「HM_ID」はハードウェアモジュールの種類を特定するためのIDであり、また、「SM_ID」はソフトウェアモジュールの種類を特定するためのIDである。このIDにより、PC1の統合CADソフトにおいてハードウェアモジュール乃至ソフトウェアモジュールの種類毎の動作データの構成を特定できる。すなわち、統合CAD画面にHモジュールのアイコンが配置されたときは、そのHM_IDに基づいて、対応する機器と同じデータ構成の動作データセットが統合CADワークメモリ内に用意され、また、Sモジュールのアイコンが配置されたときは、そのSM_IDに基づいて、対応するデータ構成の動作データセットが統合CADワークメモリ内に用意される。ここで、例えば、図4のミキサA_HモジュールとエンジンC内のミキサA−2_Sモジュールとでは、ハードウェアで実現されるか、ソフトウェアで実現されるかの違いはあるけれども、モジュールとしての機種「ミキサA」は同等であるため、両者のモジュールIDを同じものとし、HモジュールとSモジュールとで動作データに互換性を持たせるものとする。このため、モジュールIDが同じHモジュールとSモジュール(例えば、ミキサA_HモジュールとエンジンC内のミキサA−2_Sモジュール)の動作データが同じ動作パラメータ設定画面(図6参照)上で制御できることになる。オンライン状態においては、図8(a)に示される統合CAD用ワークメモリにおける各モジュール(統合CADソフトの各モジュールと呼ぶ)のワークエリアと、図8(c)に示される各機器(実体)2〜6のワークエリアが、図22に関連して後述する統合CADソフトの各モジュールに対する音楽LAN10上の各機器の割り当てにより相互に対応付けられている。
「Mカレントメモリ」、「MNカレントメモリ」、「MDライブラリメモリ」及び「MNDライブラリメモリ」の幾分詳しい構成例を図9(a)〜(d)に示す。これらの各カレントメモリ及びライブラリメモリは、後述するように、各モジュール毎に夫々設けられるものであるが、それぞ個別構成のハードウェアからなる独立したメモリである必要はまったくなく、1つのRAM又はハードディスク又はフラッシュメモリ等のハードウェアメモリ内にそれぞれ確立されたメモリ部分又はエリアであってよい。以下、説明の簡略化のために、各カレントメモリ及びライブラリメモリを、それぞれ、単に、「カレント」又は「ライブラリ」ということにする。(a)に示す「Mカレント」は当該ワークエリアに対応するモジュールについての現在の動作データ(動作パラメータ)の1セットである。(b)に示す「MNカレント」は、当該ワークエリアに対応するモジュールについての現在のネットワーク論理接続データの1セットである。(c)に示す「MDライブラリ」は、当該ワークエリアに対応するモジュールについて、その動作データ(動作パラメータ)のセットを複数セット分(MD1データ,MD2データ・・・MDnデータ)記憶するライブラリである。ユーザはMDライブラリ中の記憶位置を指定して、Mカレントの動作データセットを「MDライブラリ」に1シーンのデータとして保存したり、指定された記憶位置に応じたデータセットをMカレントに呼び出すことができる。また、(d)に示す「MNDライブラリ」は、当該モジュールについてのネットワーク論理接続データのセットを複数セット分(MND1データ,MND2データ・・・MNDmデータ)を記憶するライブラリである。よって、各モジュール間のネットワーク論理接続データについても同様に、ユーザはMNDライブラリ中の記憶位置を指定して、MNカレントのデータセットをMNDライブラリに保存したり、指定された記憶位置に応じたデータをMNカレントに呼び出すことができる。ここで、MDライブラリのデータ数nとMNDライブラリのデータ数mは、同数である必要はなく、一般に、n>mであってよい。これは、動作データの組み合わせは多様であるが、ネットワーク論理接続データの組み合わせはそれほど多様でないことによる。なお、本実施例のように、動作データとネットワーク論理接続データとの各々についてMDライブラリとMNDライブラリとを別々に用意すれば、相対的にデータ量の少ないMNDライブラリを小容量化できる。
なお、図8(b)に示す統合CADにおけるエンジンCワークエリア及び同(c)に示すエンジンCの機器側のワークメモリ(ローカルメモリ)には、「Mカレント」、「MNカレント」、「MDライブラリ」及び「MNDライブラリ」は、当該エンジンで実現している各ソフトウェアモジュール「#x」毎に用意されており、「MDライブラリ」及び「MNDライブラリ」には各ソフトウェアモジュール「#x」毎にそれぞれ複数の動作データセット及びネットワーク論理接続データセットがそれぞれ複数のシーンデータとして保存されることになる。
また、統合CADにおけるエンジンのワークエリア(図8(b)ではエンジンCのワークエリア)及び各エンジンC,Dのワークメモリ(同図(c)ではエンジンCのワークメモリ)の適当な領域には、それぞれ、各種のソフトウェアモジュール(SM)を実現するためのデータのライブラリ「SMライブラリ」と、USモジュールのCAD編集画面(図7参照)に配置される各種コンポーネントを実現するための各種データのライブラリ「Cライブラリ」が具わる。図10(a),(b)には、これらの「SMライブラリ」と「Cライブラリ」の構成例が幾分詳しく示されている。また、図10(c)には「USMライブラリ」の構成例が示されている。「USMライブラリ」は、統合CADワークメモリの「統合CADワークエリア」(図8(b)参照)と各エンジンC,Dのワークメモリ(同図(c)参照)に具備される。「SMライブラリ」には、ソフトウェアモジュール(Sモジュール)を実現するためのデータ、例えば当該モジュールの信号処理内容を示すデータや該信号処理を制御するデータが、複数のSモジュール分(SM1データ〜SMnデータ)記憶されており、図4のCAD画面の例に従うと、エンジンCで実現される「ミキサA(ミキサA−2)」やエンジンDで実現される「ミキサC」及び「イコライザB」の各Sモジュールのデータ等が含まれる。各Sモジュールは各々を識別しうる固有のID情報を有しており、該ID情報により「SMライブラリ」内のデータ群から特定のSモジュールを指定できる。このID情報は「SM_ID(#x)」として記憶されるSモジュールのIDに対応する。また、図10(c)の「USMライブラリ」には、ユーザソフトウェアモジュール(USモジュール)を実現するためのデータが複数モジュール分(USM1データ〜USMnデータ)記憶されており、図4のCAD画面の例に従うと、エンジンCで実現される「エフェクタC」のデータ等が含まれる。前記図7のUSモジュールCAD編集画面にて編集される各USモジュールは各々を識別しうる固有のID情報を有しており、該ID情報により「USMライブラリ」内のデータ群から特定のUSモジュールを指定できる。このID情報は「SM_ID(#x)」として記憶されるSモジュールのIDに対応する。また、図10(b)の「Cライブラリ」にはUSモジュールCAD編集画面(図7参照)に配置される各種コンポーネントを実現するための各種データ、例えば各コンポーネントの信号処理内容や信号処理を制御するデータが複数コンポーネント分記憶されており、これらコンポーネントのデータはUSモジュールを実現するために使用される。
なお、「SMライブラリ」と「Cライブラリ」のデータについてはユーザが編集できないデータであり、後述する同期化処理の際に同期化の対象とならない。言い換えれば、PC1側のデータと各装置実体(機器)側のデータとが予め一致している(同期化されている)。
SMライブラリ及びUSMライブラリを「Mライブラリ」、また、MDライブラリとMNDライブラリを「Dライブラリ」と総称して両者の違いをまとめると次の通りである。
「Mライブラリ」は、モジュールID(SM_ID)により特定される各モジュールについて、そのモジュールの機能に対応してDSP乃至PCが実行すべき信号処理内容を規定するデータと、該モジュールに与える動作データセットを定義しその動作データセットにより該信号処理を制御するデータと、該動作データセットの編集のためのデータを記憶する。
一方、「Dライブラリ」は、1つのモジュールについて、該モジュールで使用する動作データのセットを複数セット記憶しており、各動作データセットは、当該モジュールのモジュールID(HM_ID又はSM_ID)に対応したデータ構成になっている。
以上のように、PC1内の統合CADワークメモリには、当該音楽LANのゾーン(グループ)に属するすべてのハードウェアモジュール及びソフトウェアモジュールのワークエリア(各種「カレント」及び「ライブラリ」)を含む。そして、PC1では統合CADワークメモリにおける各モジュール毎のワークエリアのデータに基づき、図4に示すネットワーク内の接続状態を一覧する統合CAD画面を描画することができる。従って、当該音楽LANのゾーン(グループ)に新たなモジュールが追加されたような場合は、PC1内の統合CADワークメモリにおいて、当該モジュールのワークエリアが追加されることになる。なお、統合CADワークメモリには、PC1上の音楽ソフトが実現している「レコーダ」機能と「シーケンサ」機能についてのワークメモリは含まれない。これについては、音楽ソフトのワークメモリとして別途用意されるものとする。
なお、図8(c)に示す各機器毎のワークメモリ内容のうち、各種カレント(ローカルカレントメモリ)の領域はRAM22(図2参照)内に確保され、また、各種ライブラリ(ローカルライブラリメモリ)の領域はフラッシュメモリ21(図2参照)内に確保されるものとする。また、図8(a)の統合CADワークメモリの各モジュールのワークエリアについても同様に、各種カレントの領域はPC1内のRAMに、また、各種ライブラリの領域はPC1内のフラッシュメモリ等適宜の書換可能な不揮発性メモリに確保されるようにするとよい。
上記図4において、統合CAD画面の上側に符号34で示すボタン画像は、「一括同期化指示ボタン」である。この一括同期化指示ボタン34の操作により後述する一括同期化処理を実行することで、図8(a)のPC1内の統合CADワークメモリの各モジュールの(リモート制御用の)ワークエリアの内容とそれぞれ対応する各機器側のワークメモリ(同図(c))の内容を同期化、すなわち両者の内容を一致させることができる。具体的には、この実施例において、ユーザは一括同期化指示ボタン34の操作により、PC1内の統合CADワークメモリの内容と各機器側のワークメモリの内容とがリアルタイムに連動して設定変更される状態(オンライン状態)と、両者の連動を解いた状態(オフライン状態)とを切り替えることができる。統合CAD画面において一括同期化指示ボタン34上には、現在、オンライン状態及びオフライン状態のいずれが選択されているかを示す文字列が描画されると共に、各モジュールのアイコンやモジュール間結線の表示態様により、オンライン状態にあるときの各モジュールの表示、および、オフライン状態にあるときの各モジュールの表示を異ならせて示すものとする。この例では、オンラインのアイコンや接続ラインの線を太線で描くものとする。図4ではボタン34上の文字列「OFFLINE」が示す通りオフライン状態が描かれている。なお、同図に示す通りPC1が実現する各処理モジュールは常にオンライン状態である。
オフライン状態において、一括同期化指示ボタン34がクリックされると、図12(a)の一括同期化確認画面が開示される。この確認画面では、ユーザは、同期化の方向を選択する。「ゾーンCAD」から「モジュール」への矢印で示された方向の同期化では、図8(a)のPC1上の統合CADワークメモリ側から、(c)の各機器側のワークメモリにデータが一括転送される。逆に、「モジュール」から「ゾーンCAD」への矢印で示された方向の同期化では、その逆の方向にデータが転送される。そして、OKボタン画像をクリックすると、選択された同期化方向に従って一括同期化処理が行なわれる。すなわち、該選択された同期化方向に従って、PC1側の統合CADワークメモリの各モジュールのワークエリアと各モジュール(実体)側のワークメモリのデータ内容を一致せしめるよう同期化制御が行なわれる。図8〜図10において、各機器に対応するデータ(太線で囲まれたデータ)が同期化制御の対象となり、更に図11に示される統合シーンメモリにおいて、各機器に対応するシーンメモリが同期化制御の対象となる。また、図8又は図10から明らかな通り「SMライブラリ」と「Cライブラリ」は同期化の対象とならない。これは「SMライブラリ」と「Cライブラリ」のデータがユーザ編集の対象ではなく、双方が予め同期化されているためである。
ユーザにより一括同期化指示が行なわれると、統合CAD画面は図12(b)に示すようにオンライン状態に切り替わる。ボタン34上の文字列「ONLINE」によりオンライン状態であることが示され、各アイコン及び結線が太線で示される。オンライン状態では、ユーザによる操作をPC1上の統合CADと各モジュール間で伝達しあうことで、統合CADソフト上で開いた各モジュールの動作パラメータ設定画面(図6(a),(b)や図7参照)での操作が対応する該モジュール(実体)にリアルタイムに反映され、また、或るモジュール(実体)におけるユーザの操作がPC上の当該モジュールの動作パラメータ設定画面に反映されることになる。なお、統合CADソフトによる一括同期化処理の動作の詳細については後述する。
ここで、各機器1〜6において実行される上記ワークメモリを用いた制御の概略について、図13〜図15の機能ブロック図を参照して説明する。なお、各図において、図2を参照して説明した各機器のハードウェア資源と重複する要素については、図示及び説明の便宜上同じ符号を付与した。また、これらの図中における各カレントは、単に、動作データないし論理接続データを記憶する機能だけでなく、その記憶されている動作データないし論理接続データの読み出し、書き込み、編集、コピー、転送などを行う管理機能をも備えている機能モジュールを意味する。この管理機能は、各機器ないしPC1の備えるCPUの行う処理として実装される。
図13は、ミキサ3、シンセサイザ4或いは波形I/O装置6のように機種に対応した固定機能(Hモジュール)のみを実現する機器について制御構成の概略を示している。信号処理部(DSP)23は、機種毎の固定機能(Hモジュール)を実行するものであり、機種に対応してDSPが実行すべき信号処理内容やその制御が予め規定(例えば、シンセであれば音源としての機能、ミキサであればミキシング機能等)されており、信号処理部23では、Mカレント40に記憶されている現在の各動作データ(動作パラメータ)を用いて当該モジュールの固定機能の動作が実行される。すなわち、WC_I/O26又はNC_I/O27から取り込んだオーディオ信号乃至MIDI信号(例えばミキサ3ならば入力チャンネル毎の各入力信号)に対して信号処理を施し、処理を施した信号をWC_I/O26又はNC_I/O27から出力する(例えばミキサ3ならば出力チャンネル毎の各出力信号)。動作パラメータは、ミキサ3であれば各種ミキシングパラメータ等であり、シンセ4であれば音色パラメータ等である。また、Dライブラリ(MDライブラリ)41に保管されている複数の動作パラメータのセットから任意の一つのセットを呼び出して動作パラメータの設定を一括変更したり(シーンリコール)、現在のMカレント40の動作パラメータのセットをDライブラリ41に保管する(シーンストア)ことができる。これはディジタルオーディオミキサ等において周知の「シーン機能」に相当する。また、MNカレント42に記憶されている当該モジュールについてのネットワーク論理接続データの1セットが信号処理部23とNC_I/O27に供給され、該ネットワーク論理接続データに基づき当機の音楽LAN10上の論理接続が設定される。論理接続方式の具体的な一例としては、前記ネットワーク論理接続データに基づき、音楽LAN10を介して信号を送出するための伝送チャンネル番号と、音楽LAN10から信号を受けとるための伝送チャンネル番号とを、当機に対して割り当てることにより論理接続を設定する方式を適用することができる。また、MNカレント42とDライブラリ(MNDライブラリ)43の間でもシーンストア・シーンリコールの動作を行なうことができる。また、オンライン状態においては、PC1において統合CAD画面から行なった当機について行った動作パラメータの編集やシーンストア、リコール指示等は、NC_I/O27を介して当機に与えられるので、当機の各カレントは、PC1の対応するカレントの記憶内容が変更されたとき、その記憶内容を同様に変更することができる(後述図16等参照)。
また、個々のハードウェア機器は1台毎に固有のID情報(U_ID44)と当該機器の機種を特定するハードウェアID(HW_ID45)を持っている。固定機能(Hモジュール)の装置の場合は、HW_ID45から上記Hモジュール特定ID(図8のHM_ID)が特定される。なお、各機種が持つID情報の構成としては、例えば、適宜の複数ビットから成るデータコードのうち先頭の数ビットでHW_ID45を表現し、前記データコードの後半部分の全ビット(前記先頭の数ビット以外の部分)でU_ID44を表現する等、適宜に構成してよい。
図14は、エンジン2,5のように、DSPのマイクロプログラムに応じた機能(Sモジュール)を実現する機器について制御構成の概略を示している。図14において、信号処理部23が実現する1乃至複数のSモジュール機能は、当該エンジン中のワークメモリ(図8(c)参照)のSM_ID(#x)50として記録されているID情報により特定される。なお、エンジンでは複数のSモジュールを実現可能であり、記号「#x」がSモジュールの複数性を示すことは上述の通りである。Mライブラリ(図8の「SMライブラリ」及び「USMライブラリ」)51には前述の通り複数のSモジュール乃至USMモジュールのデータが記憶されており、SM_ID(#x)50に対応するSモジュール乃至USMモジュール、すなわち実現すべきSモジュールのデータが信号処理部23に与えられる。信号処理部23では、実現すべきSモジュールのデータに応じた演算アルゴリズム(つまりDSPのマイクロプログラム)及び信号処理制御に従って、対応するMカレント52に記憶されている動作データの1セットを用いて信号処理を実行する。各Sモジュール(#x)に対応するMカレント52とDライブラリ(MDライブラリ)53との間では、各Sモジュール毎にシーンストア・シーンリコールの動作を行なうことができ、また、MNカレント54とDライブラリ(MNDライブラリ)55の間でも各Sモジュール毎にシーンストア・シーンリコールの動作を行なうことができるのは上記図13と同様である。但し、エンジンでは、Mカレント52とMNカレント54には、複数の各Sモジュール#x毎に、動作データの1セット及びネットワーク論理接続データの1セットが保存されており、また、Dライブラリ(MD53及びMND55には、各Sモジュール#x毎に複数セットの動作データ及び複数セットの論理接続データが用意されている。また、エンジンにおいても、ハードウェア機器の1台毎に固有のID情報(U_ID56)と当該機器の機種を特定するハードウェアID(HW_ID57)を持っている。但し、エンジンにおいて当該装置の機能を特定するのはSM_IDである。なお、オンライン状態においては、PC1において統合CAD画面から行なった当機で実行中のソフトウェアモジュニルについての動作パラメータの編集やシーンストア、リコール指示等が、NC_I/O27を介して当機に与えられるので、当機の当該ソフトウェアモジュールの各カレントは、PC1の対応するカレントの記憶内容が変更されたとき、その記憶内容を同様に変更することができる(後述図16等参照)。
図15はPC1について制御構成の概略を示している。図8を参照して既に説明した通り、PC1の統合CADワークメモリにおいて各カレント及び各ライブラリは、音楽LAN10(現在のゾーン)に属する全てのモジュールに対応して具わる。図15において、HMカレント(#x)60は、各種Hモジュールを実現する各機器毎のリモート制御用のMカレント(各Hモジュール毎の動作データのセット)である。HMカレント(#x)60における各Hモジュール毎の動作データのセットは、各Hモジュールの種類を特定するHM_ID(#x)61によってそれぞれ特定される。また、各Hモジュール(#x)に対応するHMカレント60とDライブラリ(MDライブラリ)62との間では、各Hモジュール毎にシーンストア・シーンリコールの動作を行うことが可能である。
また、SMカレント(#x)63には、当該音楽LAN10内の各Sモジュール(♯x)毎の動作データのセットがある。SM_ID(#x)64に応じてMライブラリ65内の任意のSモジュール乃至USMモジュールのライブラリデータ(信号処理内容やその制御、動作データの編集方法等)が指定され、SMカレント(#x)63に対して該Mライブラリ65からSM_ID(#x)64に対応するSモジュール乃至USMモジュールのデータ(動作パラメータ編集用のデータ)が供給される。SMカレント(#x)63により音楽LAN10上のエンジンにおいて実現されるSモジュールのリモート制御をしている場合には、オンライン状態においてPC1上で行なわれたSMカレント(#x)63の動作データの編集内容はNC_I/O27を介して音楽LAN10上に送出され、対応するエンジンが該データを受け取る。また、SMカレント(#x)63によりPC1上で実現されるSモジュールを制御している場合には、Mライブラリ65から当該Sモジュール乃至USMモジュールのライブラリデータ(信号処理内容やその制御)が信号処理部66に供給され、また、SMカレント(#x)63に動作データを編集するためのデータを供給し、該PC1上でSMカレント(#x)63の動作データを使ってSモジュール機能を実現する。この場合には、制御対象がPC1内の信号処理部66であるので、SMカレント(#x)63の動作データは音楽LAN10上に送出されない。また、何れのSモジュールの場合であっても、各Sモジュール(#x)に対応するSMカレント63とDライブラリ(MDライブラリ)67の間では、各Sモジュール毎にシーンストア・シーンリコールの動作が可能である。また、オンライン状態における各モジュールとのデータ送受動作は上記と同様である。
また、MNカレント(#x)68には、音楽LAN10(現在のゾーン)に属する全てのモジュールについて現在の論理接続データセットが保管されており、Dライブラリ(#x)69には、該全てのモジュールのそれぞれについて複数セットの論理接続データセットが保管されている。またMNカレント68とMNDライブラリ69間のシーンストア・リコールについては上記と同様である。
また、オンライン状態において、PC1上で行なわれた各カレントや各ライブラリの編集・変更内容はNC_I/O27を介して音楽LAN10上に送出され、対応する機器において該編集・変更内容が実行される。また、オンライン状態において、シーンストア・シーンリコールが行なわれた場合、シーンストア指示又はリコール指示がNC_I/O27を介して音楽LAN10上に送出され、対応するモジュールにおいて該シーンストア指示又はリコール指示に応じたシーンストア/リコール制御が行なわれる。
また、シーケンサ機能70とレコーダ機能71は、PC1にインストールされている音楽ソフトの基本的な機能であって、図4における「シーケンサA_Sモジュール」と「レコーダD_Sモジュール」に対応するもので、ソングデータ72すなわち各トラック毎のオーディオ波形データとMIDIデータの録音・再生を行なう。ここで、ソングデータ72には各トラック毎のオーディオ波形データのトリガー、すなわち、発音タイミングと波形指定データのみが記録されており、オーディ波形データ自体は波形データメモリ73に別途管理されている。データ再生時にはソングデータの発音タイミングで波形指定データにより指定されたオーディオ波形データを該波形データメモリから読み出す。シーケンサ機能70とレコーダ機能71についても、現在の動作データセットを記憶するカレント及び複数セットの動作データセットを記憶するライブラリが存在し、それらの間でシーンストア/リコールが可能であるが、図示は省略する。
図15において、点線で囲んだ部分が1つのソングファイルとして管理されている。このように、各モジュール毎の動作データのセット(Mカレント)と各モジュール間のネットワーク論理接続データのセット(MNカレント)、更に、それらのデータを各モジュール毎に複数セットずつずつ保存するMDライブラリとMNDライブラリとを1つのソングファイルにまとめて持たせるように構成したことで、PC1上の統合CADソフトにおいて、音楽LAN10(現在のゾーン)に属する全てのモジュールについて動作データと各モジュール間の論理接続データを一括して保存/読込みできるようになった。また、図に示す通り、ソングファイルには、波形データ自体は持たずに、波形データを特定するソングデータ72のみを持つので、データ量が軽減される。また、このソングファイル単位で例えばハードディスク等のリムーバブル記憶装置にデータを記録することができる。図示しないが、ソングファイルに保存される統合CADのデータには、図4、図12(b)の表示画面に表示されている複数の機器の各固有のU_ID情報も含まれている。
次に、この実施例に係る統合CADソフトによるシーンストア/シーンリコール機能について説明する。
図8に戻ると、同図(a)に示す通り、PC1内の統合CADワークメモリには「統合シーンメモリ」エリアがある。この「統合シーンメモリ」には、ネットワーク内の各モジュールの動作設定状態、論理接続設定状態等を一括してシーン制御できるようにする制御データ(シーン指定データ)が記憶されている。この実施例に係る統合CADソフトによれば、音楽LAN10を構成する各モジュールの動作設定状態と各モジュール間の論理接続設定状態を1つのシーンとして一括して管理(シーンストア・リコール)することができるようになる。
図11は「統合シーンメモリ」の構成例を詳細に示す図である。図11(a)において、「管理データ」エリアには、この「統合シーンメモリ」の読み書きアドレス等を管理するために必要なメモリ管理データを記憶する。「統合CADシーンメモリ」エリアには、所定複数のシーンのそれぞれにつき、当該シーンに関する統合CAD画面やCAD図形の描画形成に必要なCADデータの記憶位置等を指定するためのデータが記憶されており、また、各シーンの統合CAD画面上でエンジンの領域外に配置されたSモジュールが存在すれば、そのシーン制御を行なうためのシーン指定データが記憶されている。(a)に示す通り「統合シーンメモリ」において、音楽LAN10内の各モジュール1〜6毎のシーンメモリエリア、すなわち、「音楽ソフトシーンメモリ」、「波形I/OAシーンメモリ」、「シンセサイザCシーンメモリ」、「ミキサAシーンメモリ」、「エンジンCシーンメモリ」及び「エンジンDシーンメモリ」の各エリアが確保されている。「音楽ソフトシーンメモリ」エリアは、PC1上の音楽ソフトが実現している「レコーダ」機能と「シーケンサ」機能に関してシーン制御を行うためのシーン指定データ(当該シーンの記憶位置に応じたデータ番号を指定するデータ)を所定複数のシーンのそれぞれにつき記憶している。この「音楽ソフトシーンメモリ」以外の5つのシーンメモリエリアを、各モジュール2〜6毎のシーンメモリエリアと呼ぶ。
「波形I/OAシーンメモリ」エリア、「シンセサイザCシーンメモリ」エリア及び「ミキサAシーンメモリ」エリアのようにHモジュールを実現する各モジュールに対応するシーンメモリエリアには、図11(b)に「シンセサイザCシーンメモリ」について一例を示す通り、メモリ管理データと、所定複数nのシーンのそれぞれ(シーン1〜シーンn)についてシーン指定データを記憶している。1つのシーン指定データは、(c)に示すように、動作データを指定するためのデータ「MDp」と、ネットワーク論理接続データを指定するための「MNDp」とから構成される。動作データ指定データ「MDp」は、当該モジュール(図の例では「シンセサイザC」)についての「MDライブラリ」中の記憶位置に応じたデータ番号を指定することで、当該シーンにおいて呼び出すべき「動作データ」の1セットを特定するデータである。また、ネットワーク論理接続データ指定データ「MNDp」は、当該モジュールについての「MNDライブラリ」中の記憶位置に応じたデータ番号により当該シーンのネットワーク論理接続データの1セットを特定するデータである。
図11(b)に「エンジンCシーンメモリ」について一例を示すSモジュールを実現するエンジンに対応するワークエリアも上記と同様にメモリ管理データと、所定の複数nのシーン指定データ(シーン1〜シーンn)を記憶している。この場合、1つのシーン指定データは、(c)に示すように、当該エンジンにおいて実現しているSモジュール(USモジュールを含む)の数を示すデータ「モジュール数」と、Sモジュール(USモジュールを含む)の種類を指定するためのデータ「SMp」と、動作データ指定データ「MDp」、ネットワーク論理接続データ指定データ「MNDp」とから構成され、「SMp」、「MDp」及び「MNDp」は当該エンジンが当該シーンにおいて実現するSモジュール数に応じて用意される。(c)の例ではSモジュール数が2個、すなわち、「SMp」、「MDp」及び「MNDp」がそれぞれ2つずつ記憶される例が示されている。Sモジュールの種類を指定するためのデータ「SMp」は、当該エンジンについての「SMライブラリ」又は「USMライブラリ」中の記憶位置に応じたデータ番号を指定することにより、当該シーンにおいて呼び出すべきSモジュール乃至USモジュールを特定するデータである。また、「MDp」と「MNDp」は前述と同様に、当該エンジンについてのMDライブラリとMNDライブラリ中の記憶位置に応じたデータ番号を指定することで、当該シーンにおいて呼び出すべき動作データの1セットとネットワーク論理接続データの1セットとをそれぞれ特定するデータである。
上記図11に示した通り、PC1の統合CADワークメモリにおいて、「統合シーンメモリ」の領域には、音楽LAN10内の各モジュール1〜6毎のシーンメモリエリアが確保され、各モジュールのシーンメモリに記憶された各シーンデータは、各モジュール毎のDライブラリ乃至Mライブラリ中の記憶位置の指定データ、すなわち、各ライブラリのデータへのリンクデータにより構成されている。また、音楽LAN10の各機器2〜6も自機内のシーン制御を行なうべくシーンメモリを持っており、各機器2〜6におけるシーンは各機器の各ライブラリ(図8(c)参照)のデータへのリンクデータにより構成することができる。オンライン状態では、この統合シーンメモリにおける各モジュール2〜6毎のシーンメモリエリアと音楽LAN10の各機器2〜6のシーンメモリが、図22に関連して説明される各モジュールの各機器への割り当てによって相互に対応付けられている。その場合、例えば統合CADワークメモリの「シンセCシーンメモリ」エリアは、シンセC(実体)のシーンメモリと同じデータ構成及びデータ内容を有する。すなわち、各機器2〜6が、上記構成の各ライブラリ(図8(c)参照)とシーンメモリを持っていたので、PC1の統合CADワークメモリにおいても同様な構成の「統合シーンメモリ」を構築したことになる。オンライン状態において、PC1の統合CADワークメモリと各機器2〜6のシーンメモリ及び各シーンのリンク先のライブラリの構成が同等となることで、音楽LAN10上の複数種のモジュールの各動作パラメータ設定と各論理接続設定とを統合CADソフトが一括して管理するというシームレスなシーン制御が実現できるようになる。
図16を参照してシーンストア時の動作、また、図17を参照してシーンリコール時の動作について説明する。図16(a)はPC1上の統合CAD画面において現在のシーンをストアする指示が行なわれた際のPC1側の動作手順を示すフローチャートである。ここでシーンストアの対象となるのは、現在使用中の音楽LAN10の全てのモジュールにおける動作データと論理接続設定とである。ユーザは、現在の設定を或るシーンとして保存(ストア)する際には、該シーンについて任意のシーン番号を指定してシーンストア指示を行なう。ユーザにより、シーンストア指示が行なわれると、ステップS1では、現在PC1の統合CADソフトと各機器2〜6がオンライン状態であるかどうかチェックし、オンライン状態であればステップS2において各機器2〜6にシーンストアイベントを送信する。シーンストアイベントを受信した各機器2〜6では、図16(b)に示す処理を行なう。
各機器2〜6にシーンストアイベントを送信した後乃至オフライン状態の場合は、PC1側ではステップS3以下の処理により、統合CADワークメモリの各モジュール毎(但し、エンジンについては実行する各Sモジュール毎)のカレントを新規のシーンとして記録する処理を行なう。すなわち、ステップS3において、最初にストア処理するモジュールを指定し、ステップS4において該指定されたモジュールのカレントの各パラメータ値において、該カレントに直近に読み込まれたデータが、ライブラリのデータに対して変更されているか(つまり編集されているか)否かを確認する。すなわち、当該カレントにライブラリーの或るデータセットを読み込んだ後に、ユーザが該データセットに変更を加えたかどうかを確認する。編集が行なわれた場合(ステップS5のYES)、当該モジュールの当該カレントの現データを新規データセットとして、対応するライブラリーの適宜の記憶位置に保存してデータ番号を付与し(ステップS6)、前記データセットに付与された新規データ番号を当該モジュールのシーンメモリエリアの当該シーン番号の領域MDp乃至MNDp(図11参照)に記憶する。一方、カレントデータ領域のデータに直近に読み込んだライブラリのデータから編集が行なわれていない場合(ステップS5のNO)、ステップS8において該直近に読み込んだライブラリのデータのデータ番号(記憶位置)を当該モジュールのシーンメモリエリアの当該シーン番号の領域MDp乃至MNDpに記憶する。なお、モジュールがSモジュールである場合は、そのモジュール種類を示すデータを当該シーン番号の領域SMpに記憶し、更に、そのSモジュールがエンジン内で起動されているときはモジュール数も記録される。ステップS4〜ステップS8をMカレントとMNカレントの双方について行なうことで、PC1側における当該モジュールについてシーンストアが行なわれる。ステップS9では、次のストア処理対象のモジュールを指定を行い、未処理のモジュールが残っていれば(ステップS10のYES)、前記指定したモジュールについてステップS4〜ステップS8を実行する。上記の処理を当該音楽LAN10の全てのモジュールについて行なうことで、音楽LAN10の全てのモジュールにおける現在の動作データと論理接続設定のセットをシーンデータとしてストアできる。
図16(b)はPC1からのシーンストアイベントを受信した各機器2〜6の各々が実行する処理である。ステップS11では、上記PC1側の処理のステップS4と同様に、当該モジュールのワークメモリの各カレントにおいて、対応するライブラリから直近に読み込んだデータセットからの編集の有無を確認し、編集が行なわれた場合(ステップS12のYES)、該編集が行なわれたカレントの現データを新規データセットとして、対応するライブラリーの適宜の記憶位置に保存して該データセットにデータ番号を与える(ステップS13)。そして、前記データセットに付与された新規データ番号を、当該モジュールのシーンメモリエリアの当該シーン番号に記憶する(ステップS14)。一方、カレントのデータに直近に読み込んだライブラリのデータから編集が行なわれていない場合(ステップS12のNO)、該直近に読み込んだライブラリのデータのデータ番号を当該モジュールのシーンメモリエリアの当該シーン番号に記憶する(ステップS15)。かくして、各機器において当該モジュールについてシーンストアが行なわれる。なお、エンジンが複数のSモジュールを実現している場合は各Sモジュール毎に上記シーンストア処理が行なわれる。
図17(a)はPC1上の統合CAD画面においてシーンリコール指示が行なわれた際に統合CADソフトが実行する処理手順を示すフローチャートである。ユーザは、所望のシーン番号を指定してシーンリコール指示を行なう。ユーザによりシーンリコール指示が行なわれると、ステップS16では、現在PC1の統合CADソフトと各機器2〜6がオンライン状態であるかどうかチェックし、オンライン状態であればステップS17において各機器2〜6にシーンリコールイベントを送信する。シーンリコールイベントを受信した各機器2〜6では、図17(b)に示す処理を行なう。
各機器2〜6にシーンリコールイベントを送信した後乃至オフライン状態の場合は、PC1側ではステップS18以下の処理により、統合CADワークメモリの各モジュール毎にシーンリコール処理を行なう。すなわち、ステップS18において、最初にリコール処理するモジュールを指定し、ステップS19において図11の統合CADシーンメモリの該指定されたモジュールについてリコールすべきシーン番号に基づき、当該モジュールの各ライブラリのデータ番号指定データ(図11のMDp,MNDpやSMp)を取得し、ステップS20において前記取得した各データ番号に対応する各動作データのセットと論理接続データのセットをPC1上の統合CADワークメモリの当該モジュールの各ライブラリから同各カレントに読み出して、当該シーンをリコールする。ここで当該モジュールがSモジュールである場合は、取得したSMpが現在のSモジュールと同じ種類を示しているか否かを判断し、同じ種類を示している場合は、現在処理すべきモジュールに対応するカレントをそのまま使用して、同じ種類でない場合は、取得したSMpに対応したデータ構成のカレントを用意して、当該シーンのリコールに使う。ステップS21では、次のリコール処理対象のモジュールを指定し、未処理のモジュールが残っていれば(ステップS22のYES)、前記指定したモジュールについてステップS19〜ステップS21を実行する。上記の処理を当該音楽LAN10の全てのモジュールについて行なうことで、音楽LAN10の全てのモジュールの動作データと論理接続設定について所望のシーンをリコールできる。
図17(b)はPC1からのシーンリコールイベントを受信した各機器2〜6の各々が実行する処理である。シーンリコールイベントを受信した各機器2〜6では、ユーザが指定したリコールすべきシーン番号に基づき、当該モジュールの各ライブラリ中のデータ番号指定データ(図11のMDp,MNDpやSMp)を取得し(ステップS23)、取得したデータ番号のデータを各ライブラリから各カレントに読み出してシーンリコールを行なう(ステップS24)。ここで、当該機器がエンジンである場合、取得したSMpが直前のSモジュールと同じ種類を示しているか否かを判断し、同じ種類を示している場合は、当該モジュールに対応するカレントをそのまま使用して、同じ種類でない場合は、SMpの示す種類のSモジュールを起動して対応するカレントを用意して、当該シーンのリコールを行なう。また、エンジンが複数のSモジュールを実現している場合は各Sモジュール毎に上記シーンリコール処理が行なわれる。
なお、上記のように音楽LAN10上の全てのモジュールにおいて一括してシーンリコール・ストアする制御に限らず、従来通り各モジュール毎に個別にシーンストア・リコールを指示できてもよい。
図6に示されるような各モジュールの動作パラメータ設定画面において、画面上のボタンやノブ等の操作子の操作を行なうと、当該モジュールのカレントのその操作しに対応する各種パラメータ値が変更される。その際の統合CADソフトが実行する処理の概要を図18に示す。PC1において或るモジュールの或るパラメータ値が変更されると、ステップS25において現在PC1と各機器2〜6がオンライン状態であるかどうか確認し、オンライン状態であればステップS26において該パラメータ値変更イベントを対応する機器(各モジュール)に送信すると共に、ステップS27においてPC1側において該モジュールのカレントの対応するパラメータ値を変更する。オフライン状態であれば、ステップS26を行なわずにステップS27が行なわれる。上記ステップS26で送信されたパラメータ値変更イベントを受けた機器(各モジュール)では自機のカレントの対応するパラメータ値を変更する。
なお、モジュールのカレントの各種パラメータ値が変更される状況としては、そのモジュールに対応する動作パラメータ設定画面における個別のパラメータに対応した操作子の操作時に限らず、同画面でそのモジュールのライブラリのリコール(シーンのリコールではない)を行なった場合等も考えられる。また、オンライン中は、PC1と各機器2〜6のワークメモリの各種カレントにおける各動作データの同期が崩れていないか定期的にチェックするようにすればよく、例えば、動作データを適宜ブロック分けし、該ブロック毎のチェックサムを各機器2〜6からPC1に対して送信し、PC1側では該チェックサムに基づきその一致(同期が崩れていないかどうか)を確認するようにすることができる。ある機器のあるブロックで同期が崩れていることが検出された場合は、ユーザに指示を仰いで、或いは、自動的に、そのブロックのデータをPC1側から機器側へ(乃至、その機器側からPC1側へ)転送し、その機器側(乃至PC1側)で受信したブロックをカレントに上書きすることにより、同期を回復するようにすればよい。この方式であれば、同期が部分的に崩れていても、そのブロックのみの転送で同期を回復できる。
上記図4に示す統合CAD画面において、ユーザはネットワークの編集操作、例えば、モジュールのアイコンの追加やモジュール間の結線の設定・変更等を該統合CAD画面上のGUIオブジェクトの操作により行なうことができる。
図4において統合CAD画面の上側にはいくつかのメニューボタン又はタブが配列表示されている。このうち「Devices」のメニューボタンをユーザがマウスクリックすると、デバイスについてポップアップメニューが開き、該ポップアップメニューには、音楽LAN10内に追加可能なハードウェアモジュール(つまりリモート制御ソフトがプラグインされているデヴァイス)のリストが表示される。ユーザは、このリストの中から所望のハードウェアモジュールを選択することで、統合CAD画面に新規のハードウェアモジュールのアイコンを追加表示させることができる。
また、「Modules」のメニューボタンをユーザがマウスクリックすると、ソフトウェアモジュールについてポップアップメニューが開く。このポップアップには音楽LAN10内に追加可能なSモジュールのリスト、すなわち、Mライブラリ(図8等参照)に入っているSモジュール乃至USモジュールのリストがポップアップ表示される。なお、以下では格別の断りのない場合は、USモジュールをも含めて「Sモジュール」と言う。ユーザは、このリストの中から所望のSモジュールを指定し、統合CAD画面に該選択したSモジュールのアイコンを追加表示させることができる。このとき、Sモジュールの追加場所、すなわち、PC1でSモジュールを実現するか、ネットワーク中のエンジン2又は5においてSモジュールを実現するかは任意に選択しうる。
図19は新規にSモジュールを配置する際に統合CADソフトが実行する処理の手順を示すフローチャートである。図19(a)において、新規Sモジュールの配置イベントを検出すると、ステップS30では、新規Sモジュールがエンジン内に配置されるかPC内に配置されるかを判断し、新規Sモジュールがエンジン内に配置される場合、ステップS31において図19(b)に示す「エンジンへの新規Sモジュール配置処理」を実行する。一方、新規SモジュールがPC内に配置される場合、ステップS32において図19(c)に示す「PCへの新規Sモジュール配置処理」を実行する。ステップS31又はS32での新規Sモジュール配置処理が終了した後、ステップS33では統合CAD画面の表示を更新し、新規Sモジュールのアイコンを表示する。
図19(b)の処理は、エンジンへの新規Sモジュールを配置するためにPC1が実行する処理である。ステップS34において、統合CADワークメモリ(図8参照)のSMライブラリ(又はUSMライブラリ)から、新規Sモジュールとして選択されたSモジュールのSM_ID(又はUSM_ID)によって特定されるデータを読み出す。ステップS35ではSモジュール配置先のエンジンリソース(演算能力等)の容量をチェックし、エンジンが当該Sモジュールを実施するために使用するリソースの割当を行なう。エンジンのリソース割当を行なった後(ステップS36のYES)、現在統合CADソフトがオンライン状態であれば(ステップS37のYES)、ステップS8において前記ステップS34で読み出した新規Sモジュールの配置イベントデータを前記S35にて割当てを行なったリソース指定データと共に、モジュール配置先のエンジンに送信する。この新規Sモジュール配置イベントとリソース指定を受け取ったエンジンでは、当該エンジンの該リソース指定により指定されたリソースを使用して、該配置イベントが示すSモジュールが起動されるが、その際に、対応するカレント(Mカレント、MNカレント)も用意される。そして、ステップS39においてPC1側の統合CADワークメモリの当該配置先のエンジンのワークエリアにカレント(Mカレント、MNカレント)を作成し、当該Sモジュールのリモート制御の準備が行なわれる。なお、オフライン状態の場合には(ステップS37のNO)上記ステップS38を行なわない。
一方、リソース割当がリソース不足等の理由で失敗した場合(ステップS36のNO)は、ステップS40において所定のエラー処理によりPC1のディスプレイ上にエラー表示(例えば「リソース不足」等、適宜のメッセージ表示)が行なわれ、当該処理を終了する。
図19(c)の処理は、PCへの新規Sモジュールを配置するためにPC1が実行する処理である。ステップS41において、上述ステップS34と同様に統合CADワークメモリのSMライブラリから、新規Sモジュールとして選択されたSモジュールのSM_IDによって特定されるデータを読み出す。ステップS42では、当該PC1のリソース(CPUの演算能力やRAM等のメモリ容量など)の残量をチェックし、PC1が当該Sモジュールを実施するために使用するリソースの割当を行なう。リソース割当を行なった後(ステップS43のYES)、ステップS44においてPC1内に当該Sモジュールのカレント(Mカレント、MNカレント)が作成され、Sモジュールが起動する。この場合、該Sモジュールの機能は、図15の符号66に示すように、PC1内の信号処理機能の1つとして実現される。一方、リソース不足等の理由でリソース割当が失敗した場合(ステップS43のNO)は、ステップS45において上記と同様な所定のエラー処理が行なわれ、当該処理を終了する。なお、ステップS40又はS45でエラー処理が行われた場合は、新規Sモジュールの起動に失敗したということであるので、その後のステップS33では、当該Sモジュールのアイコンは表示されない。
また、図4の統合CAD画面において、ユーザはSモジュールの配置を移動させることができる。Sモジュールの配置移動は、例えば、統合CAD画面において移動対象とするSモジュールのアイコンをマウスを用いたドラッグ&ドロップ操作によって指示することができてよい。図4において、Sモジュールの配置移動の一例として、エンジンCにおいて実現されている「エフェクタC_USモジュール」をPC1上に移動させる例が点線で示されている。図20(a)はPC1におけるSモジュール移動イベントの概要を示している。同図のステップS46〜S49に示す通り、Sモジュールの配置移動には、PCにおいて実現されるSモジュールをエンジン上に移動させる場合(ステップS47)と、エンジンにおいて実現されるSモジュールをPC上に移動させる場合(ステップS49)とがある。Sモジュール移動処理の詳細な動作手順は、Sモジュールをエンジン上に移動させる場合を図20(b)、PC上に移動させる場合を図20(c)にそれぞれ示す。統合CAD画面上では、ユーザのSモジュールの移動操作に応じて、当該Sモジュールのアイコンの表示が更新される(ステップS50)。
図20(b)に示すPCが実現しているSモジュールをエンジン上に移動させる場合、ステップS51において移動に応じた当該Sモジュールの結線(論理接続)の変更が可能であるかどうか確認する。ここでは、移動先のエンジンで新規に起動されるSモジュールで、元のSモジュールと同じ結線が行えるかどうか、すなわち、ネットワークの空き帯域や、移動先のエンジンにおけるNC_I/027の空きポートや信号処理部23の空いている処理ステップ等の結線用リソースがチェックされる。結線の変更が可能であれば(ステップS52のYES)、ステップS53において上記図19(b)に示したエンジンへの新規Sモジュール配置処理を実行する。ここで、当該移動先のエンジンについて当該新規Sモジュールのリモート制御準備(図19(b)のステップS39)が行なわれるに際して、該新規Sモジュールのリモート制御用に準備されたMカレントには、移動前にPCで実現していたSモジュールの動作データ(Mカレントの内容)が音楽LANを通じて送信されることにより引き継がれる(移動前のデータと同じ内容がセットされる)。該新規Sモジュール配置処理が成功した後(ステップS54のYES)、ステップS55において新規のSモジュール配置におけるモジュール間結線(論理接続)の変更を行なう。すなわち、新規Sモジュールが移動元のPC1で実現していた当該Sモジュールと同じ論理結線となるよう、当該のSモジュールおよび当該Sモジュールの接続先のモジュールの論理接続データに基づいて、該新規Sモジュールおよび該接続先のモジュールの論理接続データを生成し、それぞれ対応するMNカレントに保存する。また、その時オンライン状態であれば、生成した該論理接続データを、それぞれ該新規Sモジ与−ルおよび該接続先のモジュールを実現している各エンジンヘ送信し、論理接続の設定を行わせる。また、PC1が実現していた当該Sモジュールの制御を停止して、当該SモジュールのSM_IDに対応するワークメモリの各カレントを開放する(ステップS56)。Sモジュールの結線変更ができない場合(ステップS52のNO)や、新規Sモジュール配置処理に失敗した場合(ステップS54のNO)には、例えばエラーメッセージ表示等、所定のエラー処理を行う(ステップS57)。
なお、上記ステップS51の結線変更が可能かどうか確認する処理や、ステップS55の結線変更処理の詳細については後述する。
図20(c)に示すエンジンが実現しているSモジュールをPC上に移動させる場合、ステップS58においてSモジュールの結線変更が可能であるかどうか確認する。ここでは、移動先のPC1で新規に起動されるSモジュールで、元のSモジュールと同じ結線が行えるかどうか、すなわち、ネットワークの空き帯域や、移動先のPC1におけるネットワークインターフェースの空きポートやCPUの処理能力の空き等の結線用リソースがチェックされる。結線変更が可能であれば(ステップS59のYES)、ステップS60において上記図19(c)に示したPCへの新規Sモジュール配置処理を実行する。ここで、PC内で当該新規Sモジュールを起動(図19(c)のステップS44)させる際に、PC内に準備されたMカレントには、移動前にエンジンで実現していたSモジュールの動作データ(Mカレントの内容)が引き継がれるが、この場合は音楽LANでの動作データの送信は不要である。該新規Sモジュール配置処理が成功した後(ステップS61のYES)、ステップS62において新規のSモジュール配置におけるモジュール間結線の変更を行なう。すなわち、新規Sモジュールが移動元のエンジンで実現していた当該Sモジュールと同じ論理結線となるよう、当該Sモジュールおよび当該Sモジュールの接続先のモジュールの論理接続データに基づいて、該新規Sモジュールおよび該接続先のモジュールの論理接続データを生成し、それぞれ対応するMNカレントに保存する。また、その時オンライン状態であれば、生成した該論理接続データを、それぞれ該接続先のモジュールを実現している各機器へ送信し、論理接続の設定を行わせる。
PC1の統合CADソフトがオンライン状態の場合(ステップS63のYES)、ステップS64において当該Sモジュールの停止イベントを、該Sモジュールを実現しているエンジンに送信し、該エンジン上のSモジュールを停止させる。なお、オフラインであれば(ステップS63のNO)、エンジンに対する停止イベントの送信は行なわない。また、ステップS65において、PC1における該Sモジュールのリモート制御を停止し、統合CADワークメモリ内の当該SモジュールのSM_IDに対応するワークエリアの各カレントを開放する。結線変更ができない場合(ステップS59のNO)や、新規Sモジュール配置処理に失敗した場合(ステップS61のNO)は、上記と同様なエラー処理が行われる(ステップS66)。なお、ステップS57又はS66でエラー処理が行われた場合は、Sモジュールの移動に失敗したということであるので、その後のステップS50では、当該Sモジュールのアイコンは移動されない。
ユーザは、また、図4の統合CAD画面において、各モジュール間の論理接続(オーディオ伝送ライン乃至MIDI伝送ラインによる結線)を設定・変更する操作を行なうことができる。結線の操作方法としては、例えば、(1)結線(オーディオ伝送ライン、MIDI伝送ライン)のGUIオブジェクトを、マウス等のポインティングデバイスを用いて操作することで、任意のモジュール間の接続を指定する方法や、(2)所望のモジュールのアイコン選択操作に応じてポップアップウィンドウを表示せしめ、該ポップアップウィンドウから接続条件等を入力することで、任意のモジュール間の接続を指定する方法や、或いは、(3)前述の図7に示すモジュールCAD編集画面から、任意のモジュール間の接続を指定する方法、などを適用することができる。また、上記図20において触れた通り、Sモジュールの移動処理の際にも、モジュール間の結線の変更が行なわれる。また、新規にSモジュールを配置(図19参照)した後には、該新規Sモジュールの結線を設定することになる。
図21を参照して、モジュール間の結線の設定・変更指示に応じて統合CADソフトが実行する処理について説明する。ステップS67において、指示されたモジュール間の結線の設定・変更が同一機器内であるかを確認する。例えば、図4においてエンジンC内のミキサA−2とエフェクタCの結線のように1つのエンジン内で実現される2つのSモジュール間の結線や、PC内で実現される2つのSモジュール間の結線であれば、同一機器内の結線である。これにより当該結線が音楽LAN10のネットワークを使用するかどうかを確認する。
結線の設定・変更が同一機器内で行なわれる場合(ステップS67のYES)、ステップS68において、指示された結線の設定・変更が可能かどうか確認する。ここでは、指定された結線を実施するための当該機器内でのリソース(信号処理部23内の1DSPの内部レジスタや2DSP間の通信ラインなど)の割当が行なわれる。リソース割当は、PC内の結線の場合はメモリ領域等の演算リソースの割当を行い、エンジン内の結線の場合は演算リソースと、Sモジュール間の結線リソースの割当を行なう。指示された結線の設定・変更が可能であって(ステップS69のYES)、PC1の統合CADソフトがオンライン状態の場合(ステップS70のYES)、ステップS71において当該結線が行なわれる機器(具体的にはエンジン)に対して結線を指示する結線イベントを、ステップS68の割当に従うリソース指定データと共に送信する。それらを受信したエンジンは、そのエンジン内の該リソース指定データの示すリソースを使用して、該結線イベントの示すSモジュール間の結線を実行する。なお、PC内で結線を行なうときはオンライン状態であっても結線イベントの送信は不要である。また、オフライン状態の場合(ステップS70のYES)には結線イベントの送信は行なわれない。ステップS72では、PC1において当該結線を実施する機器について当該結線の設定を追加する。すなわち、PC内の結線の場合は、PC1が制御する両Sモジュール(送信側と受信側)について、それぞれ結線の設定内容を書き込む。また、エンジン内の結線の場合は、PC1の統合CADワークメモリ内の当該エンジンのワークエリアにおいて両Sモジュール(送信側と受信側)について、それぞれ当該結線の設定内容を書き込めばよい。なお、リソース不足等により指示された結線の設定・変更が不可能な場合(ステップS69のNO)、例えばエラーメッセージ表示等、所定のエラー処理を行う(ステップS73)。
結線の設定・変更が2つの機器間で行なわれる場合(ステップS67のNO)、当該結線は音楽LAN10のネットワークを経由するものとなる。従って、ステップS74において指示された結線の設定・変更が可能かどうか確認する処理では、送信側機器と受信側機器に双方でのリソース割当(演算リソースやSモジュールの結線リソース割当、ネットワーク接続ポートの割当など)と共に、ネットワーク上の通信帯域のリソース割当(伝送チャンネルの割当)を行う。指示された結線の設定・変更が可能であって(ステップS75のYES)、PC1の統合CADソフトがオンライン状態の場合(ステップS76のYES)、ステップS77において、該結線が行なわれる2機器の双方に、当該結線イベントとステップS74の割当に従うリソース指定データを送信する。なお、該結線が行なわれる2機器の一方がPCの場合(送信又は受信側モジュールがPC内のSモジュールの場合)は、結線イベントの送信はもう一方の機器(PCではない機器)へのみ送信する。そして、ステップS78において、PC1の統合ワークメモリ中に、送信側の機器について当該結線の設定(対象となるモジュールから音楽LANに対象となるデータを送出する設定)を追加すると共に、受信側の機器について結線のデータ(音楽LANから対象となるモジュールで対象となるデータを受け取る設定)を追加する。送信側の結線の設定は、エンジンのSモジュールが送信側であれば、当該Sモジュールのどの出力の信号をNC_I/O27に供給し、NC_I/O27からどの伝送チャンネルのどのデータとして出力するのかについての設定であり、送信側がHモジュールを実現する機器であれば、当該Hモジュールのどの出力の信号をどの伝送チャンネルのどのデータとして出力するかの設定等である。受信側では、エンジンのSモジュールであれば、どの伝送チャンネルのどのデータをNC_I/Oで受け取り、受け取った信号を当該Sモジュールのどの入力に入力するかの設定であり、Hモジュールであれば、どの伝送チャンネルのどのデータを当該Hモジュールのどの入力に入力するかの設定等である。
なお、送信側機器、受信側機器乃至ネットワークの通信帯域のリソース不足等により指示された結線の設定・変更が不可能な場合(ステップS75のNO)には上記と同様に、所定のエラー処理を行う(ステップS79)。
例えば、図4において、点線で示すように「エフェクタC_USモジュール」をエンジンCからPC1上に移動させる場合に、上記図20で説明したSモジュールの移動処理のステップS26において、図21で説明した結線の変更処理が実行される。この場合、図20(c)によりエンジンC内からPC1にエフェクタC_USモジュールを移動する処理がおこなわれることで、エンジンC内で実行されていたエフェクタC_USモジュールの制御は停止され、また、PC1の統合CADソフトによる該エンジンC上の当該Sモジュールのリモート制御が停止されると共に、前記Sモジュール(エフェクタC)と互換性のあるPC1上のSモジュールが起動する。ここで、エンジンで実行していたSモジュールの動作データと論理接続データはPC1で実現しているSモジュールにおいても引き継がれる。従って、図21に示す処理により、移動前の結線(エンジンC内のエフェクタCとミキサA−2の結線)をPC1上のエフェクタCとエンジンCのミキサA−2間の結線に変更する処理が行なわれることになる。なお、図4の例とは逆にPC1で実現しているSモジュールをエンジン内に移動させることも可能である。また、或るエンジンで実現しているSモジュールを他のエンジン内に移動させることも可能である。
次に、図22を参照して一括同期化指示に応じて統合CADソフトが実行する処理について説明する。統合CADソフトがオフライン状態の場合に、図4の統合CAD画面の前記一括同期化指示ボタン34(ボタン上には「OFFLINE」と表示されている)をクリックすると、一括同期化指示イベントが出力され、PC1は図22(a)の処理を開始する。ステップS80において、前述の通り、PC1のディスプレイ上に、図12(a)の一括同期化確認画面が開示され、該確認画面において、ユーザは同期化の方向(「ゾーンCAD」から「モジュール」又は「モジュール」から「ゾーンCAD」)を選択する。
ステップS81において、音楽LAN10上の全てのモジュール(音楽機器)のID情報に基づき、当該統合CADソフトによって一括同期化の対象とされている各モジュール(図12(a)の画面にリストアップされている各モジュール)に関するID情報(∪_ID、HW_ID、および、SW_ID)のうち、個々の機器毎に固有のID情報「U_ID」が一致する機器を音楽LAN10内から検索し、一括同期化対象の各モジュールに対して、「U_ID」が一致する機器を割り当てる。また、「U_ID」が一致する機器が音楽LAN10上に存在せず、一括同期化対象のモジュール群に機器を未割当のモジュールが存在している場合には(ステップS82の「あり」)、音楽LAN10上の全てのモジュール(音楽機器)のID情報に基づき、各機器の機種を特定するID情報「HW_ID」が未割当モジュールの「HW_ID」と一致する機器を音楽LAN10内から検索し、未割当モジュールに対して、「HW_ID」が一致する機器を割り当てる。
また、「HW_ID」が一致する機器が音楽LAN10上に存在せず、一括同期化対象のモジュール群に未割当のモジュールが存在している場合には(ステップS84の「あり」)、ステップS85において図22(b)に示す代理割当処理を実行する。
図22(b)のステップS91において、音楽LAN10上の各音楽機器の機種を特定するID情報「HW_ID」ないし機能を特定するID情報「SW_ID」と、未割当モジュールの「HW_ID」ないし「SW_ID」とに基づいて、各音楽機器のうちから、未割当モジュールの機能を代替して実行できる機器を検索する。ここで、モジュールの機能を代替して実行できる機器とは、該機能に該当する機器の機能と等価若しく該機能よりも大きい機能を持つ装置である。例えば、未割当モジュールがエフェクタである場合、前記「大きい機能の装置」とは、該未割当モジュール(エフェクタ)よりも高機能の別のエフェクタであり、該未割当モジュール(エフェクタ)の有する何れの機能(楽音に対する効果付与機能及び音楽LANの通信機能を含む)も該別のエフェクタにより代替可能である。また、前記「大きい機能の装置」の別例としては、例えば、未割当モジュールがエフェクタである場合、該未割当モジュール(エフェクタ)と等価なSモジュールを実行可能なエンジンであり、該エンジンにおいて該等価なSモジュールを実行することにより該未割当モジュール(エフェクタ)の機能を代替可能である。或いは、或るミキサに対するそれよりチャンネル数やバス数の大きな別のミキサは、該或るミキサで行われる何れのミキシング処理も、該別のミキサで代替可能である。また、或るエフェクタないしミキサに対する当該エフェクタないしミキサと等価なSモジュールを(能力的にかつリソース的に)実行可能なエンジンであれば、該エンジンは該Sモジュールを実行することにより該エフェクタないしミキサの機能を代替可能である。また、統合CADソフトの「HW_ID」について特定される機器(同じIDを持つ機器)ないし代替できる装置(同じIDではないが代替可能な機器)が音楽LAN10上に見つからなかった場合であっても、その「HW_ID」により特定される装置で実現されるモジュールと等価な機能の「SW_ID」の示すSモジュールを実行可能なエンジンを「代替可能な機器」とすることができる。未割当モジュールの機能を代替可能な機器、例えば該モジュール機能に等価な機器や演算リソースに未だゆとりのあるエンジン等が音楽LAN10上に存在すれば(ステップS92のYES)、適宜の確認画面の表示等により、機器の代替割当についてユーザに確認を求め、ユーザの確認が行なわれると(ステップS94のYES)、ステップS95において未割当モジュールに対して該代替機器を割り当てる。
未割当モジュールの機能を代替して実行できる機器が音楽LAN10上に存在しない(ステップS92のNO)場合等、上記ステップS91〜S95の代替割当処理(音楽LAN10上の機器による代替割当処理)の後にも未割当モジュールが存在する場合には(ステップS96の「あり」)、当該未割当モジュールの機能をPC1が実現するSモジュールにより代替させることができる。ステップS97において、例えばPC1のディスプレイに適宜の確認画面を表示させる等により、未割当モジュールのPC1による代替の是非をユーザに確認し、ユーザがPC1による代替を認めた場合(ステップS98のYES)は、ステップS99において前記図19(c)を参照して説明した「PCへの新規Sモジュール配置処理」により、未割当モジュールに対応するSモジュールをPC1に新規に配置する。そして、PC1への新規Sモジュールの配置が成功すれば(ステップS100のYES)、ステップS101において、当該未割当モジュールに対して前記PC1に新規に配置したSモジュールを割り当てる。なお、ユーザがPC1による代替を行なわせない場合(ステップS98のNO)や、PC1への新規Sモジュールの配置が失敗した場合(ステップS100のNO)には、例えば未割当モジュールが残っていることを知らせる表示画面を開示する等、適宜のエラー処理を行なう(ステップS102)。ここで、各モジュールに対する各機器の割り当て結果をPC1のディスプレイに表示してユーザに通知するようにしたり、更に、ユーザからの指示に応じて、その割り当てを変更できるようにしてもよい。
さて、一括同期化対象の各モジュールの割当が確定したら、図22(a)ステップS86において最初に同期化処理を実行する適宜のモジュールを指定する。ステップS87では前記指定されたモジュールに対して音楽機器が割り当てられているかどうか確認してから、ステップ88においてユーザ指定の同期化方向で同期処理を行なう。すなわち、ユーザが指定した同期化方向でPCと前記指定されたモジュールが割り当てられた音楽機器の間でデータ転送を行なうことで、統合CADワークメモリ中の当該モジュールのワークエリアの内容と、前記指定されたモジュールが割り当てられた音楽機器のワークメモリの内容とを一致させる。ここで、同期化対象となるデータは、図8を参照して前述した通り、各種動作データのみならず論理接続データも含まれている。
また、割り当てられた音楽機器が、統合CAD側の∪_IDが示す機器、又は、それと等価な機器(ハードウェアIDが一致)である場合は、統合CADソフトと該機器の動作データ及び論理接続データの構成が−致するので、統合CADソフトと当該機器の間で動作データ及び論理接続データをそのまま転送するだけでよいが、そうでない機器(代替する機器)の場合は、その同期化対象のモジュール又は機器の種類に応じて適宜追加の処理が必要になる。例えば、統合CAD側から音楽機器側への転送を行うとき、割り当てられた音楽機器が前記「大きい機能の装置」である場合は、動作データ及び論理接続データの構成が相互に異なるので、当該機器の動作データ及び論理接続データの(より大きな)構成に変換しつつ転送を行う。また、等価なSモジュールを実行可能なエンジンである場合は、転送に先立って該エンジンで該等価なSモジュールを起動し、該エンジンのワークメモリに当該Sモジュールに対応する記憶が用意できてから、動作データ及び論理接続データの転送を行う。何れの場合も、論理接続データはそのまま使うことができないので、当該Sモジュールの論理接続が前記U_IDの示す機器のモジュールの論理接続と同じになるよう、該論理接続データを転送先の機器の状況に応じて適宜変換する。一方、PC1で代替する場合は、統合CADソフトの当該機器の動作データ及び論理接続データの記憶領域をそのまま当該Sモジュールの記憶領域として使用して該PC1にて等価なSモジュールを起動すればよい。該Sモジュールは、リモート動作ではなくローカル動作を行う。或いは、該等価なSモジュールを別の記憶領域を使用するように起動してそこへ動作データ及び論理接続データをコピーし、PC1内でのリモート動作を行わせるようにしてもよい。
ステップS89において次に同期化処理を実行するモジュールの指定を行い、指定されたモジュールがあれば(ステップS90のYES)、ステップS87〜S89の処理を各モジュールについて実行する。これにより、一括同期化の対象とされている全モジュール(典型的には音楽LAN10上の全てのモジュール)の同期化が行なわれる。
この実施例では、一括同期化処理指示ボタン34の操作により上記図22に示す一括同期化処理を行った後に、PC1の統合CADソフトと音楽LAN10上の各機器2〜6がオンライン状態に切り替わるようになっている。オンライン状態では、統合CADワークメモリ側(PC1側)の各モジュールに対応する各「カレント」、「ライブラリ」の内容と各機器2〜6側の個別モジュールに対応する各「カレント」、「ライブラリ」の内容が常に同期するように、一方の変化が他方にリアルタイムに転送される。すなわち、ユーザによる統合CAD画面での入力・設定操作及び各機器2〜6の操作パネルでの入力・設定操作が両者の各「カレント」、「ライブラリ」にリアルタイムで反映される(図16〜図18など参照)。
また、PC1の統合CADソフトと音楽LAN10上の各機器2〜6を同期化することで、PC1の統合CADワークメモリにおける各機器毎のシーンメモリの内容(図11(a)参照)と音楽LAN10内の各機器2〜6に具わるシーンメモリの内容を同期化させて、オンライン状態において、同期化方向がPCから各機器の場合は、図16に示すシーンストア及び図17のシーンリコールにより、PC1側(統合CADワークメモリ)における各機器のシーンストア/リコール一括制御が音楽LAN10内の各機器2〜6にリアルタイムに反映されるので、PC1の統合CADソフトにより複数の機器2〜6におけるシーンストア/リコール制御を一括管理できる。既に述べた通り、PC1の統合CADソフトが、各機器の動作データのみならず当該機器の論理接続データも一括して管理することにより、複数の機器2〜6で一括してシーンストア/リコール制御することが可能となっているのである。
以上説明した通り、この実施例によれば、音楽LAN10内の複数の機器において一括して、動作データと論理接続データを含むシーンのリコール及びストア制御を行なうことができるようになる。
なお、上記図20のフローでは、SモジュールをPC1からエンジンへ移動する場合の処理と、エンジンからPC1へ移動する場合の処理とを説明したが、同様に、Sモジュールを或るエンジンから別のエンジンへ移動する場合も考えられる。その場合は、まず、移動元のエンジンについてステップS49の処理を行い、続いて、移動先のエンジンについてステップS47の処理を行なえばよい。或いは、先ず、移動先のエンジンでの該Sモジュールの起動及び起動されたSモジュールへの結線の実行可能性を確認し、可能であれば該移動先のエンジンに対して該起動と該結線を指示すると共に、移動元のエンジンに対して当該結線の削除と当該Sモジュールの停止を指示するような処理を行なえば、当該エンジンの移動処理の途中にPC1への移動を介さずに他のエンジンへ直接移動させることができる。
また、上記実施例に示す統合CADソフトにおいて、ユーザ指示等に応じて、音楽LAN上をスキャンし、音楽LANに接続されているが未だ統合CAD画面上に、対応するモジュールのアイコンが配置されていない機器を検出し、検出された機器に対応するモジュールのアイコンを統合CAD画面に自動配置する機能(プラグアンドプレイ)を追加してもよい。該自動配置機能(プラグアンドプレイ)によれば、音楽LANに新たな機器を接続するだけで、当該機器に対応するモジュールのアイコンが統合CAD画面上に追加配置されるので、対応するモジュールのアイコンを選択して画面上に配置する手間が省ける。
また、上記実施例では、同期化を行なう場合に、図12(a)の確認画面でユーザから同期化の方向指示(データ転送方向の指示)を受け付けるようになっていたが、方向指示を受け付けることなく、同期化を行なうようにしてもよい。例えば、同期化指示ボタン34を同期化方向別に2個設け、所望の同期化方向に応じてユーザが何れかのボタンを選択するようにしてもよい。また、何れか一方向の同期化指示ボタンのみを設けるようにしてもよい。
また、同期化方向指示の更に別の例として、同期化指示ボタン34の操作後に、同期化方向が自動決定されるようにしてもよい。例えば、各モジュール毎にPC1側のワークメモリの更新と、機器側のワークメモリの更新とを比較して、どちらがより最近更新されたか(新しく更新されたか)を判定し、PC1と対応する機器のうちで新しく更新されたデータ(より新しいデータ)を有する側から他方へ同期(データ転送)を行なうようにしてもよい。更に、音楽機器から統合CADソフトへの同期化を行うときは、音楽機器側の構成(Hモジュール及びSモジュール)をそのまま統合CADソフトに読み込み、さらに、各機器の動作データ及び論理結線データを読み込むようにしてもよい。
この発明の一実施例に係る動作及び接続設定用統合CADソフトの一実施例を適用することができる音楽システムの構成例を概略的に示すブロック図。 同実施例に係る音楽システムの各ハードウェア(HW)機器のハードウェア構成の一例を示すブロック図。 同実施例に係る統合CADソフトをプラグインで組込む音楽制作アプリケーションソフトを制御装置(PC)で実行する際のディスプレイ画面例。 同実施例に係る統合CADソフトによりネットワーク内の全モジュールの接続状態をグラフィック表示する統合CAD画面の一例を示す図。 同実施例に係る音楽LANにおけるデータ伝送の一例を説明するためのデータ伝送タイミング図。 上記統合CAD画面で選択されたモジュールの動作を設定するための動作設定画面の一例を示す図。 統合CAD画面で選択されたモジュールについてCAD編集を行うモジュールCAD画面の一例を示す図。 (a),(b)は統合CADソフトを実行するPC内に構成される統合CAD用ワークメモリの構成例、(c)は各音楽機器におけるワークメモリ構成例を示す図。 図8における「Mカレント」、「MNカレント」、「MDライブラリ」、「MNDライブラリ」の構成例を示す図。 図8における「SMライブラリ」、「Cライブラリ」及び「USMライブラリ」の記憶構成例を示す図。 図8における統合シーンメモリの記憶構成例を示す図。 (a)は一括同期化処の際の確認画面例、(b)は該一括同期化処理を行った後の統合CAD画面の表示例を示す図。 同実施例に係る各音楽機器(固定機能)における制御の概略を説明するブロック図。 同実施例に係る各音楽機器(機能可変)における制御の概略を説明するブロック図。 同実施例に係るPCにおける制御の概略を説明するブロック図。 同実施例に係るシーンストア処理の一例を示すフローチャート。 同実施例に係るシーンリコール処理の一例を示すフローチャート。 同実施例に係る各モジュールのパラメータ値変更処理の一例を示すフローチャート。 同実施例に係る統合CAD画面における新規ソフトウェアモジュールの配置処理の一例を示すフローチャート。 同実施例に係る統合CAD画面におけるソフトウェアモジュールの移動処理の一例を示すフローチャート。 同実施例に係る統合CAD画面からのモジュール間の論理接続の結線操作に応じた結線処理の一例を示すフローチャート。 (a)は同実施例に係る一括同期化処理、(b)は該一括同期化処理における代理割当処理の一例を示すフローチャート。
符号の説明
1 制御装置(パーソナルコンピュータ=PC)
2〜6 音楽機器
10 音楽LAN

Claims (12)

  1. 数の機器にて構成され音楽システムと接続する接続部と、
    前記音楽システムの前記複数の機器の設定状態を前記接続部を介してリモート制御するリモート制御部と、
    前記音楽システム内に存在すべき複数の機器の各々に対応して、当該各機器の設定状態をそれぞれ記憶するワークメモリと、
    前記ワークメモリに記憶された前記複数の機器の各設定状態を、前記音楽システム内の各対応する機器割り当てるものであり、或る特定の機器に対応する設定状態を前記音楽システム内のいずれかの機器割り当てることができなかった場合は、当該特定の機器の機種又は機能に関する情報と、前記音楽システム内の各機器の機種又は機能に関する情報とに基づいて、前記特定の機器代替として利用可能な代替機器を前記音楽システム内から検索し、該検索された代替機器に前記特定の機器に対応する設定状態を割り当てる割当部と、
    複数の機器を一括して同期化するための同期化指示を発生する同期化指示部と、
    前記同期化指示の発生に応じて、前記ワークメモリに記憶されている各機器の各設定状態に、前記音楽システム内の前記複数の機器の各設定状態を一致させることにより、前記ワークメモリと前記音楽システム内の各機器の設定状態を、対応する機器同士で一致させる同期化処理を行う同期化処理部とを具備し
    前記ワークメモリに記憶されている前記特定の機器の設定状態と前記代替機器の設定状態を一致させるように同期化が行われる、
    ことを特徴とする制御装置。
  2. 前記割当部は、前記検索の結果をユーザに提示し、前記特定の機器を前記提示した機器で代替するかどうかの確認を求め、ユーザによる確認が得られたら、前記提示した機器を前記代替機器とし、前記特定の機器に対応する設定状態を割り当てる、ことを特徴とする請求項1に記載の制御装置。
  3. 前記音楽システムはネットワークを介して複数の機器が接続されてなるものであり、
    前記ワークメモリに記憶される前記各機器の設定状態、当該機器の動作内容を設定するためのデータセットと、前記ネットワークにおける当該機器と他の機器との間の論理接続を設定するためのデータセットを含み
    記同期化処理部は、機器について動作内容他の機器との間の論理接続一致させる、ことを特徴とする請求項1に記載の制御装置。
  4. 前記複数の機器はそれぞれ当該機器を識別するためのIDを有し、
    前記ワークメモリには、前記記憶された各設定状態に対応する機器を示すIDがそれぞれ記憶されており
    前記割当部は、前記音楽システム内の機器が有するIDと、前記ワークメモリに記憶されたIDとの一致を検出該一致を検出した前記ワークメモリに記憶され設定状態を、該当する前記音楽システム内の機器に割り当て
    とを特徴とする請求項1に記載の制御装置。
  5. 前記IDは、個々の機器の備えるモジュールを識別するモジュールIDである、ことを特徴とする請求項4に記載の制御装置。
  6. 前記割当部は、前記音楽システム内の各機器のIDと前記特定の機器のIDとに基づいて、前記代替機器を検索する、ことを特徴とする請求項4又は5に記載の制御装置。
  7. 前記複数の機器はそれぞれ個々の機器を識別するユニークなIDを有し、
    前記ワークメモリには、前記記憶された各設定状態に対応する機器を示すIDがそれぞれ記憶されており、
    前記割当部は、前記音楽システム内の機器が有するIDと、前記ワークメモリに記憶されたIDとの一致を検出し、該一致を検出した前記ワークメモリに記憶された設定状態を、該当する前記音楽システム内の機器に対応付けて割り当てる、
    ことを特徴とする請求項に記載の制御装置。
  8. 前記代替機器は、前記特定の機器の機能と同種の機能を有する他の機器であり、該他の機器は前記特定の機器の機能より高い機能を有する、ことを特徴とする請求項1に記載の制御装置。
  9. 複数の機器にて構成された音楽システムと接続する接続部と、
    前記音楽システムの前記複数の機器の設定状態を前記接続部を介してリモート制御するリモート制御部と、
    前記音楽システム内に存在すべき複数の機器の各々に対応して、当該各機器の設定状態をそれぞれ記憶するワークメモリと、
    前記ワークメモリに記憶された前記複数の機器の各設定状態を、前記音楽システム内の各対応する機器に割り当てるものであり、或る特定の機器に対応する設定状態を前記音楽システム内のいずれかの機器に割り当てることができなかった場合は、当該特定の機器の代替機器として、前記特定の機器の機能と等価なソフトウェアモジュールを実行可能な能力及びリソースのゆとりを有するエンジンを前記音楽システム内から検索し、該検索された代替機器に前記特定の機器に対応する設定状態を割り当てる割当部と
    複数の機器を一括して同期化するための同期化指示を発生する同期化指示部と、
    前記同期化指示の発生に応じて、前記ワークメモリに記憶されている各機器の各設定状態に、前記音楽システム内の前記複数の機器の各設定状態を一致させることにより、前記ワークメモリと前記音楽システム内の各機器の設定状態を、対応する機器同士で一致させる同期化処理を行う同期化処理部とを具備し、
    前記ワークメモリに記憶されている前記特定の機器の設定状態と前記代替機器の設定状態とを一致させるように同期化が行われる
    ことを特徴とする制御装置。
  10. 複数の機器にて構成された音楽システムと接続する接続部と、
    前記音楽システムの前記複数の機器の設定状態を前記接続部を介してリモート制御するリモート制御部と、
    前記音楽システム内に存在すべき複数の機器の各々に対応して、当該各機器の設定状態をそれぞれ記憶するワークメモリと、
    前記ワークメモリに記憶された前記複数の機器の各設定状態を、前記音楽システム内の各対応する機器に割り当てるものであり、或る特定の機器に対応する設定状態を前記音楽システム内のいずれかの機器に割り当てることができなかった場合は、当該特定の機器の機種又は機能に関する情報と、前記音楽システム内の各機器の機種又は機能に関する情報とに基づいて、前記特定の機器の代替として利用可能な代替機器を前記音楽システム内から検索し、該検索された代替機器に前記特定の機器に対応する設定状態を割り当てる割当部と、
    複数の機器を一括して同期化するための同期化指示を発生する同期化指示部と、
    前記同期化指示の発生に応じて、前記ワークメモリに記憶されている各機器の各設定状態に、前記音楽システム内の前記複数の機器の各設定状態を一致させることにより、前記ワークメモリと前記音楽システム内の各機器の設定状態を、対応する機器同士で一致させる同期化処理を行う同期化処理部と、
    ソフトウェアモジュールを実行するモジュール実行部
    を具備し、
    前記ワークメモリに記憶されている前記特定の機器の設定状態と前記代替機器の設定状態とを一致させるように同期化が行われ、
    前記ワークメモリに記憶された前記複数の機器の各設定状態の中に、前記割当部による前記割り当ても前記代替機器への割り当てもできなかった設定状態が存在する場合に、該モジュール実行部で、その設定状態に対応する機器に等価なソフトウェアモジュールを実行する、
    ことを特徴とする制御装置
  11. 数の機器にて構成され音楽システムと接続し、前記音楽システムの前記複数の機器の設定状態リモート制御するために、制御ノードのコンピュータに下記ステップを実行させるためのプログラムであって、該コンピュータに
    前記音楽システム内に存在すべき複数の機器の各々に対応して、当該各機器の設定状態をそれぞれ記憶するワークメモリを確立するステップと、
    前記ワークメモリに記憶された前記複数の機器の各設定状態を、前記音楽システム内の各対応する機器割り当てるものであり、或る特定の機器に対応する設定状態を前記音楽システム内のいずれかの機器割り当てることができなかった場合は、当該特定の機器の機種又は機能に関する情報と、前記音楽システム内の各機器の機種又は機能に関する情報とに基づいて、前記特定の機器代替として利用可能な代替機器を前記音楽システム内から検索し、該検索された代替機器に前記特定の機器に対応する設定状態を割り当てるステップと、
    複数の機器を一括して同期化するための同期化指示を発生するステップと、
    前記同期化指示の発生に応じて、前記ワークメモリに記憶されている各機器の各設定状態に、前記音楽システム内の前記複数の機器の各設定状態を一致させることにより、前記ワークメモリと前記音楽システム内の各機器の設定状態を、対応する機器同士で一致させる同期化処理を行うステップとを実行させるプログラムであり、
    前記ワークメモリに記憶されている前記特定の機器の設定状態と前記代替機器の設定状態を一致させるように同期化が行われる、
    ことを特徴とするプログラム。
  12. 数の機器にて構成された音楽システムを接続する接続部と、
    前記接続された音楽システムの前記複数の機器の設定状態を前記接続部を介してリモート制御するリモート制御部と、
    所定の機能を実現するようソフトウェアで組まれたモジュールを実行する実行部と、
    前記音楽システム内に存在すべき複数の機器の各々に対応して、当該各機器の設定状態をそれぞれ記憶するワークメモリと、
    前記ワークメモリに記憶された前記複数の機器の各設定状態を、前記音楽システム内の各対応する機器割り当てる割当部と、
    複数の機器を一括して同期化するための同期化指示を発生する同期化指示部と、
    前記同期化指示の発生に応じて、前記ワークメモリに記憶されている各機器の各設定状態、前記音楽システム内の前記複数の機器の各設定状態を一致させることにより、前記ワークメモリと前記音楽システム内の各機器の設定状態を、対応する機器同士で一致させる同期化処理を行う同期化処理部と、
    前記割当部が或る特定の機器に対応する設定状態を前記音楽システム内のいずれかの機器に対応付けて割り当てることができなかった場合は、前記同期化指示の発生に応じて、前記実行部に当該特定の機器の機能を実現するモジュールを実行させるとともに、該モジュールの設定状態を前記特定の機器に対応する設定状態に一致させる代替制御部と
    を具備し
    前記実行部は、前記特定の機器の設定状態を用いて、当該特定の機器の機能を代替する、
    ことを特徴とする制御装置。
JP2006096061A 2005-11-21 2006-03-30 ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム Expired - Fee Related JP4952024B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006096061A JP4952024B2 (ja) 2005-11-21 2006-03-30 ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005336036 2005-11-21
JP2005336036 2005-11-21
JP2006096061A JP4952024B2 (ja) 2005-11-21 2006-03-30 ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム

Publications (2)

Publication Number Publication Date
JP2007164121A JP2007164121A (ja) 2007-06-28
JP4952024B2 true JP4952024B2 (ja) 2012-06-13

Family

ID=38247033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006096061A Expired - Fee Related JP4952024B2 (ja) 2005-11-21 2006-03-30 ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム

Country Status (1)

Country Link
JP (1) JP4952024B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4823483B2 (ja) * 2004-01-15 2011-11-24 ヤマハ株式会社 外部機器の制御方法、外部機器の制御装置およびプログラム
JP4211639B2 (ja) * 2004-02-27 2009-01-21 ヤマハ株式会社 編集装置の制御方法
JP4222236B2 (ja) * 2004-03-18 2009-02-12 ヤマハ株式会社 接続設定装置及びプログラム
JP4206944B2 (ja) * 2004-03-19 2009-01-14 ヤマハ株式会社 通信経路設定方法を実現するためのプログラムおよび通信経路設定装置
JP4691895B2 (ja) * 2004-03-31 2011-06-01 株式会社国際電気通信基礎技術研究所 データ処理システム設計装置及びそのためのコンピュータプログラム

Also Published As

Publication number Publication date
JP2007164121A (ja) 2007-06-28

Similar Documents

Publication Publication Date Title
US8527076B2 (en) Control apparatus for music system comprising a plurality of equipments connected together via network, and integrated software for controlling the music system
JP4655722B2 (ja) ネットワーク接続された複数の機器の動作及び接続設定のための統合プログラム
JP4735373B2 (ja) ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム
EP2234339B1 (en) Path setting method for audio system, and audio system
JP4192841B2 (ja) ミキサエンジン制御装置及びプログラム
JP4952023B2 (ja) ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム
JP4952024B2 (ja) ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム
JP2005204052A (ja) 外部機器の制御方法、外部機器の制御装置およびプログラム
JP5665164B2 (ja) 音響システム及び装置
JP4862545B2 (ja) 音響機器のパラメータ管理装置およびパラメータ管理プログラム
JP4823483B2 (ja) 外部機器の制御方法、外部機器の制御装置およびプログラム
JP5223752B2 (ja) 音響システム
JP5655889B2 (ja) 経路設定方法及び音響装置
JP5326720B2 (ja) 音響システム
JP5665163B2 (ja) 音響システムの経路設定方法及び経路設定装置
JP4823482B2 (ja) 外部機器の制御方法、外部機器の制御装置およびプログラム
JP5152152B2 (ja) リモート制御システムおよびリモート制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

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: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees