(57)【要約】【課題】音響機器に与えるコントロールコマンドのフォーマットを単純化かつ共通化し、コマンドを作成して設定する担当者にとって、作成・設定がしやすいコマンド形式でコマンドの作成・設定を行うことができるようにすることを目的とする。【解決手段】音響機器と該音響機器に対して所定のコマンドを送信して該音響機器をリモートコントロールする外部通信機器とを接続した音響機器システムにおける音響機器用パラメータアクセス方法であって、音響機器システム内で使用するパラメータを、階層構造を持つＸＭＬ形式で表現し、アクセスするパラメータを指定する際は該階層構造に従ったパス形式の記述を使用するとともに、コマンドにより取得／設定するデータはＸＭＬ形式で表現するようにする。【選択図】図１
2009239379.tif 000002
【特許請求の範囲】
【請求項１】
音響機器と該音響機器に対して所定のコマンドを送信して該音響機器をリモートコントロールする外部通信機器とを接続した音響機器システムにおける音響機器用パラメータアクセス方法であって、
前記音響機器システム内で使用するパラメータを、階層構造を持つＸＭＬ形式で表現し、アクセスするパラメータを指定する際は該階層構造に従ったパス形式の記述を使用するとともに、コマンドにより取得／設定するデータはＸＭＬ形式とすることを特徴とする音響機器用パラメータアクセス方法。
【請求項２】
音響機器と該音響機器に対して所定のコマンドを送信して該音響機器をリモートコントロールする外部通信機器とを接続した音響機器システムにおける音響機器用パラメータアクセス方法であって、
前記音響システム内で使用するパラメータ項目とその値を、階層構造を持つＸＭＬ形式で表現するとともに、
前記外部通信機器が備えるコマンド生成手段が、アクセスするパラメータを前記階層構造を持つＸＭＬ形式表現に基づくパス形式の記述で特定するコマンドを生成するステップと、
前記外部通信機器が備える通信手段が、前記生成したコマンドを前記音響機器に送信するステップと、
前記音響機器が備える通信手段が、前記コマンドを受信するステップと、
前記音響機器が備える処理手段が、前記受信したコマンドを解析し、前記パス形式の記述により特定されたパラメータに対して、前記コマンドの指示に応じたアクセスを実行するステップと
を備えることを特徴とする音響機器用パラメータアクセス方法。
【請求項３】
請求項２に記載の音響機器用パラメータアクセス方法において、
前記外部通信機器からパラメータの取得を指示するコマンドを発行した場合に前記音響機器が前記外部通信機器に応答するパラメータ項目とその値、及び、前記外部通信機器からパラメータの設定を指示するコマンドを発行する場合の設定パラメータ項目とその値を、前記ＸＭＬ形式のデータとすることを特徴とする音響機器用パラメータアクセス方法。
【請求項４】
外部通信機器から発行されたコマンドを受信し、該コマンドの指示に応じて機器内のパラメータにアクセスする機能を備える音響機器であって、
機器内で使用するパラメータ項目とその値を、階層構造を持つＸＭＬ形式で表現したデータ構造で、記憶する記憶手段と、
前記外部通信機器から発行されたパラメータ取得を指示するコマンドを受信する手段と、
受信したコマンドの、前記データ構造に基づくパス形式で記述された引数を、解析することにより、前記階層構造中の前記引数で指定されたパス位置を特定する手段と、
前記階層構造中で、前記特定されたパス位置より下位に位置するパラメータを取得する手段と、
取得したパラメータをＸＭＬ形式データに変換し、前記コマンド発行元の外部通信機器に送信する手段と
を備えることを特徴とする音響機器。
【請求項５】
外部通信機器から発行されたコマンドを受信し、該コマンドの指示に応じて機器内のパラメータにアクセスする機能を備える音響機器であって、
機器内で使用するパラメータ項目とその値を、階層構造を持つＸＭＬ形式で表現したデータ構造で、記憶する記憶手段と、
前記外部通信機器から発行されたパラメータ設定を指示するコマンドを受信する手段と、
受信したコマンドの、前記データ構造に基づくパス形式で記述されたパラメータ設定位置を示す引数を、解析することにより、前記階層構造中の前記引数で指定されたパス位置を特定する手段と、
受信したコマンドの、前記データ構造に基づくＸＭＬ形式で記述された設定データを、解析し、前記指定されたパス位置より下位の指定されたパラメータ項目の値を前記設定データに基づいて変更する手段と
を備えることを特徴とする音響機器。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、リモートコントロール可能な音響機器におけるパラメータアクセスの技術に関する。
【背景技術】
【０００２】
従来より、ディジタルミキサなどの音響機器において、外部の機器から各種のコントロールコマンドを入力し、そのコマンドの指示に応じて動作するものが知られている（例えば、非特許文献１参照）。このようなコントロールコマンドは、コントロールする対象である音響システムの構成に応じて、独自のコマンドを用意しなければならない場合が多い。例えば、音響システムを構成するミキサエンジン、入出力ユニット、及びコンソールの各台数やそれらの接続形態は区々であるし、また音響システムの設置場所に応じて、マイクなどにつなぐ入力ポートの数、スピーカなどにつなぐ出力ポートの数、ミキシングチャンネルの数、各チャンネル（ｃｈ）における調整処理の機能などは区々であるため、そのようなシステム構成に応じたコマンドを予め作っておく必要がある。
【０００３】
図９は、従来の音響機器に対するコントロールコマンド及び操作画面の例を示す。図９（ｂ）は、コントロールする対象であるミキサエンジンとＰＣやコンソール（以下、ＰＣ等という）とを接続し、ＰＣ等からコマンドをミキサエンジンに送信してミキサエンジンをコントロールする際の、ＰＣ等の上の操作画面例を示す。ミキサエンジンには複数の入力ｃｈが設けられており、この画面例は入力ｃｈ１の信号の各種調整処理を行う画面である。９０１はヘッドアンプ（ＨＡ）、９０２はアッテネータ（ＡＴＴ）、９０３はダイナミクス（Ｄｙｎａｍｉｃｓ）、９０４はイコライザ（ＥＱ）、９０５はバスセンド（Ｂｕｓ  Ｓｅｎｄ）、９０６はマスタボリューム（Ｍａｓｔｅｒ）についてのそれぞれのパラメータ設定領域である。各パラメータ設定領域に表示されている例えばつまみやボタンなどの操作子を選択し、所定の操作を行うことにより、当該パラメータ値が変更され、ＰＣ等からミキサエンジンに対してその操作に応じたコマンドが送信される。ミキサエンジンは、そのコマンドを受信して、指示されたパラメータ値の変更などを実行する。具体的には、変更されたパラメータ値をＤＳＰ（ディジタル信号処理装置）に設定して音響信号の処理に反映させる。
【０００４】
図９（ａ）は、ＰＣ等からミキサエンジンに送信するコントロールコマンドの例である。何れのコマンドも、操作対象の機器の番号やｃｈ番号を含んでいる。また、上述したＨＡやＡＴＴなどの各ブロックを特定するブロックＩＤ番号や、１つのブロック内でパラメータを特定するパラメータ番号を含むコマンドもある。
【０００５】
このようなコマンドについては、設置場所に音響機器を設置した後に、所定の担当者がその音響機器において使用する各種のコマンドを作成していた。そして、例えば図９（ｂ）のようなＰＣ等の画面上で各種のパラメータの設定変更の操作が行われたときに、その操作に応じた適正なコマンドが送出されるように、また、コマンドを受信した音響機器がそのコマンドに応じた適正な動作を行うように、ＰＣ等や音響機器を設定する作業を行っていた。
【非特許文献１】「PM1D Manager for Windows取扱説明書」、2002年、ヤマハ株式会社
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したようなコントロールコマンドの多くは、機器番号やｃｈ番号やブロック番号やパラメータ番号などのＩＤを含み、人にとって分かりやすいものではない。また、コマンドによっては１６進数のコードで規定されているものもある。さらに、例えば上述のＨＡやＡＴＴなどのブロックを単位として、あるブロックのパラメータの設定状況を取得し、その現状の設定状況からどれだけ変更する、といった形式でコマンドを発行したい場合もあり、そのようなコマンドを作成するのは、音響機器の専門家である担当者にとっても容易なことではなかった。
【０００７】
この発明は、音響機器に与えるコントロールコマンドのフォーマットを単純化かつ共通化し、コマンドを作成して設定する担当者にとって、作成・設定がしやすいコマンド形式でコマンドの作成・設定を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係る音響機器用パラメータアクセス方法は、音響機器システム内で使用するパラメータを、階層構造を持つＸＭＬ形式で表現し、アクセスするパラメータを指定する際は該階層構造に従ったパス形式の記述を使用するとともに、コマンドにより取得／設定するデータはＸＭＬ形式とすることを特徴とする。
【０００９】
また本発明に係る音響機器は、外部通信機器から発行されたコマンドを受信し、該コマンドの指示に応じて機器内のパラメータにアクセスする機能を備える音響機器であって、機器内で使用するパラメータ項目とその値を、階層構造を持つＸＭＬ形式で表現したデータ構造で記憶し、パラメータ取得を指示するコマンドを受信したときは、そのコマンドの前記データ構造に基づくパス形式で記述された引数を解析することにより、前記階層構造中の前記引数で指定されたパス位置を特定し、前記階層構造中で特定されたパス位置より下位に位置するパラメータを取得し、ＸＭＬ形式データに変換してコマンド発行元に返すことを特徴とする。
【００１０】
また本発明に係る音響機器は、外部通信機器から発行されたコマンドを受信し、該コマンドの指示に応じて機器内のパラメータにアクセスする機能を備える音響機器であって、機器内で使用するパラメータ項目とその値を、階層構造を持つＸＭＬ形式で表現したデータ構造で記憶し、パラメータ設定を指示するコマンドを受信したときは、そのコマンドの前記データ構造に基づくパス形式で記述されたパラメータ設定位置を示す引数を解析することにより前記階層構造中の前記引数で指定されたパス位置を特定し、受信したコマンドの前記データ構造に基づくＸＭＬ形式で記述された設定データを解析し、前記指定されたパス位置より下位の指定されたパラメータ項目の値を前記設定データに基づいて変更することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、１６進数のコードやバイナリ形式の表現を使用せずに済むため、人にとって分かり易いコマンド形式でのパラメータアクセスが可能になる。また、取得/設定されるデータはＸＭＬ形式なので、コマンドデータの作成／再利用及び人の目による解析が行いやすい。
【発明を実施するための最良の形態】
【００１２】
以下、図面を用いてこの発明の実施の形態を説明する。
【００１３】
図１は、この発明を適用した実施形態の音響機器システムのモジュール構成を示す。１０１は音響機器にコマンドを送信するＰＣ等の外部通信機器を示す。１０２はミキサなどの音響機器を示す。外部通信機器１０１は、コマンド生成部１１２と通信制御部１１１を備える。コマンド生成部１１２は、ユーザの指示に応じて、音響機器１０２に送出するコマンドを生成する。生成したコマンドは、通信制御部１１１を介して音響機器１０２に送出される。音響機器１０２は、通信制御部１２１、コマンド解析部１２２、処理部１２３、及びＤＳＰ１２４を備える。ＤＳＰ１２４は、音響信号の信号処理を行うディジタル信号処理装置である。外部通信機器１０１から送出されたコマンドは、通信制御部１２１を介して受信され、コマンド解析部１２２で解析される。その解析結果に応じて、処理部１２３は、システム（音響機器１０２）に設定されているパラメータ（後述のＤＳＰパラメータ以外のパラメータであり、以下「システムパラメータ」という）やＤＳＰ１２４に設定されているパラメータ（以下「ＤＳＰパラメータ」という）を設定変更する。また、受信したコマンドが、パラメータ値の取得要求であったとき、コマンド解析部１２２は、処理部１２３に対してパラメータ取得要求を発行する。処理部１２３は、その要求に応じて、システムパラメータやＤＳＰパラメータの現状での設定値を取得し、コマンド解析部１２２に返す。コマンド解析部１２２は、取得したパラメータ値を外部通信機器１０１に返す。
【００１４】
なお、図１ではコントロールする対象の音響機器１０２を１台のみ図示したが、ネットワークを介して複数台の音響機器を接続し、全体として音響機器システムを構成する場合でも、１台の外部通信機器１０１からそれら複数台の音響機器１０２をそれぞれコントロールすることができる。
【００１５】
図２は、図１の音響機器１０２のハードウェア構成例を示す。ＣＰＵ（中央処理装置）２０１は、この音響機器全体の動作を制御する処理装置である。ＲＡＭ（ランダムアクセスメモリ）２０２は、ＣＰＵ２０１が実行するプログラムのロード領域やワーク領域に使用する揮発性メモリである。ＲＯＭ（リードオンリメモリ）２０３は、ＣＰＵ２０１が実行する制御プログラムや各種のデータを格納する不揮発性メモリである。操作子２０６は、この音響機器の外部パネルなどに設けられているスイッチやフェーダなどの操作子である。操作子２０６の操作は検出回路２０５により検出され、検出結果がＣＰＵ２０１に送られる。表示部２０８は、各種の情報を表示するディスプレイである。表示回路２０７は、ＣＰＵ２０１からの指示に基づいて、与えられたデータを表示部２０８に表示する。通信インタフェース（Ｉ／Ｆ）２０９は、外部機器１０１と接続するためのインタフェースである。外部機器１０１との接続方式は、どのようなものでも良い。音声信号入力回路２１０は、マイクなどのオーディオ入力機器２２１からオーディオデータを入力する回路である。音声信号出力回路２１１は、スピーカなどのオーディオ出力機器２２２にオーディオデータを出力する回路である。
【００１６】
ＤＳＰ（ディジタル信号処理装置）２０４は、ＣＰＵ２０１から設定されたパラメータを用いて、ＣＰＵ２０１から設定されたマイクロプログラムを実行することにより、音響機器（ミキサ）としての機能を実現する信号処理装置である。例えば、音声信号入力回路２１０から入力した音響信号をＤＳＰ２０４によりミキシング処理や調整処理して、その結果を音声信号出力回路２１１経由でスピーカなど２２２に出力することができる。
【００１７】
なお、図１のＤＳＰ１２４は、図２のＤＳＰ２０４に相当する。図１のコマンド解析部１２２と処理部１２３は、それぞれ、図２のＣＰＵ２０１が所定のプログラム（処理フローは後述する）を実行することにより実現するモジュールである。
【００１８】
図３は、本実施形態の音響機器システムで利用するパス形式データの例を示す。このパス形式データにより、当該音響機器システム（１台の音響機器）で利用する全てのパラメータ（項目）とその値（パラメータ値）の全体が表現される。なお、パス形式データは、ＸＭＬ（Extensible Markup Language）の文法に従って記述するものとする。
【００１９】
パラメータの全体は、最上位の一対のタグ<Elm>３０１と</Elm>３０２で挟まれて表現される。該タグ３０１と３０２の間に、階層構造でエレメントやパラメータを記述する。ここでは、字下げで階層構造の入れ子（ネスト）になっている部分を表現している。エレメントは、開始タグ<Elm name="XXXX">と終了タグ</Elm>で表現する（以下、これらのタグをエレメントタグという）。XXXXは当該エレメントの名称を示す。パラメータは、タグ<Prm name="YYYY" Val="ZZZZ" />で表現する（以下、このタグをパラメータタグという）。YYYYは当該パラメータの名称であり、ZZZZは当該パラメータの設定値である。エレメントは階層構造のノードに相当するものであり、その下位に別のエレメントやパラメータを含むことができる。
【００２０】
最上位のタグ３０１，３０２がルートノードに相当し、その下位に、タグ３１１，３１２でエレメント名がParameterのエレメント（以下、「エレメントParameter」という。他のエレメントも同様である。）を、タグ３１３，３１４でエレメントSystemを、それぞれ記述している。
【００２１】
タグ３１１，３１２のエレメントParameterの下位にＤＳＰパラメータを記述する。具体的には、タグ３２１，３２２のエレメントInputで入力ｃｈ関係のパラメータを、タグ３２３のエレメントOutputで出力ｃｈ関係のパラメータを記述する。エレメントInputの下位に、タグ３３１，３３２のエレメントCh1で入力ｃｈ１のパラメータを記述し、以下同様に各入力ｃｈのエレメントを記述する。エレメントCh1の下位に、タグ３４１，３４２のエレメントHAでヘッドアンプ、タグ３４３，３４４のエレメントDynamicsでダイナミクス、タグ３４５，３４６のエレメントEQでイコライザの、それぞれのパラメータを記述する。他のｃｈ内のパラメータも同様である。エレメントHAの下位に、タグ３５１，３５２のエレメントGainでゲイン、タグ３５３，３５４のエレメントHPFでハイパスフィルタの、それぞれのパラメータを記述する。エレメントGainの下位に、ゲインに関する実際のパラメータの設定を行うパラメータタグ３６１を記述する。他のパラメータも同様である。なお、パラメータタグは階層構造の最下位に記述することが多いが、階層構造の途中のエレメント内にパラメータタグを記述してもよい（例えば、エレメントEQ内のパラメータBypass）。
【００２２】
タグ３１３，３１４のエレメントSystemの下位にシステムパラメータを記述する。システムパラメータは、当該音響機器の機器名やＩＰアドレスなど、ＤＳＰ２０４に設定するＤＳＰパラメータ以外のこの音響機器システムのパラメータである。３３３は、システムパラメータのうちシーン番号を設定するタグである。シーンとは、ある場面での音響装置の設定状態を示す。例えば、各場合毎の設定をシーンとして記憶させておき、それを呼び出すことにより設定した状態（上記ＤＳＰパラメータの設定状態を含む）を簡単に再現できる。
【００２３】
以上のような階層構造の表現形式を用いることにより、任意のエレメント及び任意のパラメータを、いわゆるパス名で特定することができる。なお、上述のパス形式データ中に、どのようなエレメントをどのような階層構造で設け、パラメータタグをどの位置に設けるかは、当該音響機器システムの全体構成に依存して決定されるものである。
【００２４】
このパス形式データは、本システムの動作時にはメモリ（ＲＡＭ２０２）上に保持されているものとする。逆に言えば、パス形式データ中に存在しないエレメントやパラメータは、当該音響機器システムでは定義されていないものである。メモリ上に保持されている図３のパス形式データのパラメータの値と、実際にシステム内やＤＳＰ１２４内に設定されているパラメータの値とは、常に対応が取れているものとする。そのためには、例えば、外部通信機器１０１と音響機器１０２の電源がオンされたときに、初期化処理として外部通信機器１０１から全パラメータの値を含む図３のパス形式データ（例えば、外部通信機器１０１のハードディスクなどに格納されているもの）を音響機器１０２に送り、音響機器１０２では、そのパス形式データをそのままメモリ２０２上に記憶すると共に、そのパス形式データに応じてシステム及びＤＳＰ１２４の実際のパラメータ設定を行う。これ以後は、パラメータ値の変更の指示があるごとに、メモリ上の図３のパス形式データとシステム内及びＤＳＰ１２４のパラメータの両方を指示に応じて変更すればよい。
【００２５】
なお、ここではメモリ２０２上に全パラメータの値を含む図３のパス形式のデータを保持するようにしているが、必ずしもそのようにする必要はない。音響機器１０２側では、メモリ２０２上に記憶しておかなくても、システムパラメータの現在値についてはシステムにパラメータ取得要求を出せば分かるし、ＤＳＰパラメータの現在値についてもＤＳＰ１２４にパラメータ取得要求を出せば分かるからである。
【００２６】
図４は、外部通信機器１０１から音響機器１０２に送出されるコントロールコマンドの例を示す。コントロールコマンドとしては、SetPrm、GetPrm、SetUniqueName、ResetUniqueName、SetFocus、及びResetFocusなどがある。SetPrmは、音響機器１０２に対してパラメータ値の設定を指示するコマンドである。GetPrmは、音響機器１０２の現状のパラメータ値の取得を指示するコマンドである。SetUniqueNameは、指定したパス名に、指定した名前（ユニーク名）を付けるコマンドである。ResetUniqueNameは、SetUniqueNameで付けたユニーク名を解除するコマンドである。SetFocusは、カレントパスを設定するコマンドである。カレントパスを設定すると、任意のコマンドでパス名を含む引数を記述する際に、カレントパス部分を省略できる。ResetFocusは、カレントパスをルートに戻すコマンドである。
【００２７】
SetPrmコマンドは"SetPrm %1 %2"の形式である。第１引数%1はエレメントやパラメータの設定位置を示すパス名であり、第２引数%2はその設定値（パラメータ値）を示す。例えば、図４（１）は、機器名PM1D#1のエレメントをルートからParameter→Input→Ch20→EQ→Highと下位に辿って行き着くパラメータGainの値を1.5dBに設定せよ、という意味である。この（１）では第１引数%1でパラメータ名まで指定したが、第１引数%1でエレメントまで指定し、第２引数%2でそのエレメント内の設定データ（図３で説明したタグ形式で表現されたデータ）を指定してもよい。例えば（２）は、機器名PM1D#1のエレメントをParameter→Input→Ch20→EQ→Lowまで辿り、当該エレメントLow内のデータを第２引数のデータに従って設定せよ、という意味である。SetPrmコマンドを用いて、ＤＳＰパラメータだけでなく、システムパラメータの設定もできる。（３）は、システムパラメータのうちシーン番号（パラメータCrntNo）を"25"に設定するコマンドである。
【００２８】
GetPrmコマンドは"GetPrm %1"の形式である。引数%1は、現状の設定値を取得したいエレメントやパラメータの設定位置を示し、上記SetPrmコマンドの第１引数%1と同様の形式のパス名のデータである。例えば、図４（１）のSetPrmをGetPrmに置き換え、第２引数を取り去ったGetPrmコマンドを受信すると、音響機器１０２は、引数%1で指定されたパラメータGainの値（例えば1.5dB）を返す。また、引数%1でエレメントまで指定した場合は、そのエレメント内の全設定データ（タグ形式で表現されたデータ）が返される。
【００２９】
（４−１）はSetUniqueNameコマンドの例を示す。SetUniqueNameコマンドは"SetUniqueName %1 %2"の形式である。第１引数%1は、指定した名前（ユニーク名）を付けたいパス名を示す。第２引数%2は、前記パス名に付けるユニーク名を示す。例えば（４−１）は、第１引数で示されるパス名にMainVocalというユニーク名を付けるコマンドである。（４−１）のSetUniqueNameコマンドの後、（４−２）や（４−３）のようにパス名の当該部分をユニーク名で表現したコマンドの記載ができる。（４−２）のSetPrmコマンドは、（１）と同じ意味である。同様に、（４−３）のSetPrmコマンドは、（２）と同じ意味である。SetUniqueNameコマンドで付けたユニーク名は、ResetUniqueNameコマンドで解除できる。ResetUniqueNameコマンドは"ResetUniqueName %1"の形式で、引数%1には解除したいユニーク名を指定する。なお、SetUniqueNameで指定されたユニーク名とそれに対応するパス名は、ＲＡＭ２０２上のユニーク名登録テーブルに格納され、該テーブルを参照することでユニーク名に対応するパス名が分かるようになっている。ResetUniqueNameが発行されると、指定されたユニーク名とパス名が該テーブルから削除される。
【００３０】
（５−１）はSetFocusコマンドの例を示す。SetFocusコマンドは、"SetFocus %1"の形式である。引数%1はカレントパスとして設定したい位置を示すパス名である。（５−１）のSetFocusコマンドの後、（５−２）〜（５−４）のようにカレントパス部分を省略した記載が可能になる。（５−５）のResetFocusコマンドは、カレントパスをルートに戻すコマンドである。カレントパスのパス名は、常にＲＡＭ２０２上のカレントパス保持領域に格納され、該領域を参照することでカレントパスのパス名が分かるようになっている。ResetFocusが発行されると、カレントパス保持領域にはルートのパス名が設定される。
【００３１】
なお、SetPrm、GetPrm、SetUniqueName、及びSetFocusの各コマンドにおいて第１引数で指定したエレメントやパラメータがパス形式データ（図３）中に存在しない場合、そのコマンドを受けた音響機器は、コマンド発行元にエラーを返し、何も処理しない。同様に、ResetUniqueNameの引数で、SetUniqueNameで定義していない名称を指定した場合も、そのコマンドを受けた音響機器は、コマンド発行元にエラーを返し、何も処理しない。
【００３２】
SetPrmで、第１引数で指定されたエレメント下（図３のパス形式データ中の当該エレメント下）に、第２引数で指定されたエレメントタグやパラメータタグ以外のデータがある場合、それらのデータは変更されず現在値を保持したままとする。SetPrmの第２引数で指定されたデータのみ設定変更されるということである。例えば、図４（２）の第１引数で指定されているエレメントLow下には、図３に示されているようにパラメータType、Q、Freq、及びGainが存在するが、図４（２）の第２引数にはパラメータTypeのデータが無い。従って、図４（２）のコマンドが実行されても、エレメントLow下のパラメータTypeの値に変更はない。
【００３３】
逆に、SetPrmで、第２引数中には存在するが、設定先である第１引数で指定されたエレメント下（図３のパス形式データ中の当該エレメント下）には存在しないエレメントタグやパラメータタグがあった場合、設定先自体が無いのであるから、第２引数の中のそれらのデータについては無視される。例えば、図４（７）のSetPrmでは、第２引数でエレメントSend下のエレメントAux5の設定データが記載されているが、図３ではエレメントSend下にはAux1とAux2しか存在しない。従って、図４（７）のコマンドを実行しても、第２引数中のエレメントAux5の設定については無視される。それ以外のデータは通常通りに設定される。
【００３４】
SetPrmコマンドは、第１引数に任意のパス名を書くことができ、そのパス名の位置にエレメントとパラメータが混在していてもよい。図４（６）は、第１引数のパス名の位置に、複数のエレメントとパラメータが混在する例を示す。
【００３５】
図４の例から分かるように、パス名は機器名から開始する表現であるので、複数台の音響機器をコントロールする場合でも各機器を区別したコマンドを作成することができる。この場合、各音響機器毎にその音響機器の構成に応じた図３のパス形式データが保持されており、パス名の先頭の機器名によりどの機器へのコマンドか区別する。
【００３６】
このようなXML形式の表現形式によれば、人にとって分かり易いため、コマンドの作成も容易であり、分かり易いコマンド形式でのパラメータアクセスが可能である。特に図４（４−１）のように任意のパスにユニークな名前を付けたり、図４（５−１）のようにカレントパスを指定することができるので、コマンドを作成する担当者が自分なりの用語を使って省略形で引数を表現できる。
【００３７】
例えば、EQのHigh,Mid,Lowの各バンドでGainを同じ値に設定したい場合には、それら各バンドに順次SetFocusしながらGainを設定していけばよく、Gainを設定するのに同じSetPrm命令を使い回せる。あるいは図４（５−１）〜（５−５）に示したようなコマンドのシーケンスを用いることで、担当者に分かり易いコマンドとすることができる。
【００３８】
また、パラメータをGetPrmし、そのままあるいは少し修正してSetPrmするような指示も、簡単に記述できる。例えば、第１の音響機器のあるchのEQからパラメータをGetPrmし、第２の音響機器のあるchのEQにSetPrmする場合、GetPrmの第１引数における機器名とchの部分だけ変更すれば、SetPrmの第１引数にすることができ、またGetPrmで取得したデータをそのまま（あるいは必要に応じて修正して）SetPrmの第２引数にすればよいので、コマンドの作成が非常に容易である。この場合、例えば、第１の音響機器のEQが５バンド（High,High-Mid,Mid,Low-Mid,Low）で、第２の音響機器のEQが３バンド（High,Mid,Low）であるとすると、GetPrmで第１の音響機器から取得した５バンド分のEQのパラメータデータをそのまま第２の音響機器へのSetPrmの第２引数にすれば、第１の音響機器のHigh,Mid,Lowのパラメータが第２の音響機器のHigh,Mid,Lowに順に設定されることになる（High-MidとLow-Midのパラメータは、第２の音響機器では無意味であり無視される）。逆に、GetPrmで第２の音響機器から取得した３バンド分のEQのパラメータデータをそのまま第１の音響機器へのSetPrmの第２引数にすれば、第２の音響機器のHigh,Mid,Lowのパラメータが第１の音響機器のHigh,Mid,Lowに順に設定されることになる（第１の音響機器のHigh-MidとLow-Midのパラメータは変更されない）。同様のことを従来の数値IDを利用したコマンド形式で行おうとすると、第１の音響機器の５バンドのHigh,High-Mid,Mid,Low-Mid,LowのバンドIDが例えば順に１〜５となり、第２の音響機器の３バンドのHigh,Mid,LowのバンドIDが例えば順に１〜３となったりするので、対応関係を考慮してバンドIDを設定したコマンドを記述する必要があり、担当者にとっては煩雑である。
【００３９】
図５は、パラメータ値取得コマンド（GetPrm）を受信したときの音響機器１０２における処理手順を示す。ステップ５０１で、GetPrmの引数を対象としてパス解析（図６で後述する）を行う。次にステップ５０２で、GetPrmの引数で指定されたパスが当該音響機器１０２のパス形式データ（図３）中に存在するか判定する。存在しないときは、ステップ５０３でエラーを出力して、処理を終了する。存在するときは、ステップ５０４で、引数で指定された取得単位がパラメータかエレメントかを判別する。エレメントであるときは、ステップ５０５で引数で指定された対象パス以下のエレメント及びパラメータデータを取得し、ステップ５０６でＸＭＬ形式（タグ形式）に変換し、ステップ５０８に進む。パラメータであるときは、ステップ５０７で、対象のパラメータの値を取得し、ステップ５０８に進む。ステップ５０８では、ステップ５０６で取得したＸＭＬ形式データやステップ５０７で取得したパラメータ値に基づいて出力データ（文字列）を作成する。ステップ５０９でそのデータを出力（呼出し元へ返す）し、処理を終了する。なお、ここではステップ５０５，５０７でシステムやＤＳＰにパラメータ取得命令を発行して現在値を取得するようにしているが、本実施形態ではシステムやＤＳＰに実際に設定されているパラメータ値とメモリ上に保持されている図３のパス形式データのパラメータ値とは常に同一性が保持されていることを前提としているので、図３のパス形式データから値を読み取ってもよい。
【００４０】
図６は、ステップ５０１のパス解析処理の手順を示す。パス解析の対象となるパス名は、呼び出し元から指定される。ステップ６０１で、ユニーク名登録テーブルを参照して、指定されたパス中にユニーク名があるか判定する。あるときは、ステップ６０２でそのユニーク名部分を本来のパスに変換して終了する。ユニーク名がないときは、ステップ６０３で指定されたパスがルートから開始するパスか判定する。ルートから開始するパスであれば、そのまま終了する。そうでない場合は、ステップ６０４で、指定されたパスの上位に、現在のカレントパスのパス名を付けて本来のパス名として終了する。終了時には、本来のパス名を呼び出し元に返す。
【００４１】
図７（ａ）は、カレントパス指定コマンド（SetFocus）を受信したときの音響機器１０２における処理手順を示す。ステップ７０１で、SetFocusの引数を対象としてパス解析（図６）を行う。ステップ７０２で、指定されたパスが存在するか判定する。存在するときは、ステップ７０３で当該指定されたパスをカレントパスとしてカレントパス保持領域に設定し、終了する。指定されたパスが存在しないときは、ステップ７０４でエラーを出力して、終了する。
【００４２】
図７（ｂ）は、カレントパス解除コマンド（ResetFocus）を受信したときの音響機器１０２における処理手順を示す。ステップ７１１でルートをカレントパスとしてカレントパス保持領域に設定し、終了する。
【００４３】
図８は、パラメータ設定コマンド（SetPrm）を受信したときの音響機器１０２における処理手順を示す。なお、SetPrmは再帰的な呼び出しが可能である。上述したように、SetPrmの第１引数%1にはパス名が指定され、第２引数%2にはそのパス名の位置に設定するタグ形式の設定データやパラメータ値が指定される。
【００４４】
ステップ８０１で、SetPrmの第１引数%1を対象としてパス解析（図６）を行う。ステップ８０２で、第１引数%1で指定されたパスが存在するか判定し、存在しないときは、ステップ８０３でエラーを出力して終了する。存在するときは、ステップ８０４で、第１引数%1で指定されたパス名（設定単位）がエレメントとパラメータのどちらを指定しているのかを判定する。パラメータを指定しているときは、第２引数%2には設定すべきパラメータ値が指定されているはずであるから、ステップ８０５で、第１引数%1で指定されたパラメータ（項目）に第２引数%2で指定された値を設定し、終了する。なお、ここではシステムやＤＳＰに対して、指定されたパラメータに指定された設定値を設定するコマンドを送出してパラメータ設定を行うとともに、メモリ上の図３のパス形式データ中の当該パラメータの値も変更するものとする。
【００４５】
ステップ８０４で第１引数%1がエレメントを指定しているとき、第２引数%2には、図３のパス形式データ中の当該エレメント下のタグ形式で表現された設定データ（設定しないエレメントやパラメータは省略されている）が指定されているはずである。ステップ８０６では、この第２引数%2中の最上位のエレメントブロックとパラメータタグを分割して抽出する。これは、第２引数%2の最上位の階層で並べられている<Elm name="**">と</Elm>で挟まれたブロックと<Prm name="**" Val="**" />で表現されたパラメータタグをすべて分離する処理である。もちろん第２引数%2が、１つのエレメントブロックである場合や、１つのパラメータタグである場合もある。
【００４６】
ステップ８０７では、ステップ８０６で抽出したすべてのエレメントブロックとパラメータタグを処理したか判定する。未処理のものがあれば、そのエレメントブロックまたはパラメータタグを処理対象として、ステップ８０８以降の処理を行う。
【００４７】
ステップ８０８では、処理対象がエレメントブロックかパラメータタグかを判定する。エレメントブロックであるときは、ステップ８０９でSetPrmを再帰的にコールする。このときの第１引数%1'と第２引数%2'は以下のように設定する。まず、第１引数%1'は、パス名%1に、分離記号"/"と、処理対象のエレメントブロックのエレメント名称と、分離記号"/"とを、順に連結したパス名とする。処理対象のエレメントブロックは、先頭に<Elm name="**">があり末尾には対応する</Elm>があるはずだから、ここからエレメント名称を取得することができる。第２引数%2'は、処理対象のエレメントブロックの先頭の<Elm name="**">と末尾の</Elm>とを取り去ったデータとする。
【００４８】
ステップ８０８で処理対象がパラメータタグであるときは、ステップ８１０でSetPrmを再帰的にコールする。このときの第１引数%1'と第２引数%2'は以下のように設定する。まず、第１引数%1'は、パス名%1に、分離記号"/"と、処理対象のパラメータタグのパラメータ名称とを、順に連結したパス名とする。処理対象のパラメータタグは、<Prm name="**" Val="**" />という形式だから、ここからパラメータ名称を取得することができる。第２引数%2'は、処理対象のパラメータタグのVal=に設定された設定値"**"とする。
【００４９】
ステップ８０９，８１０の後、ステップ８０７に戻る。抽出した全てのエレメントブロックとパラメータタグとを処理したら、ステップ８０７からリターンする。
【００５０】
例えば、図４（１）や（３）のSetPrmの場合は、第１引数%1で指定されているパス名がパラメータであるので、ステップ８０４→８０５に進み、指定されたパラメータに指定された値が設定される。図４（２）や（４−３）のSetPrmの場合は、第１引数%1でエレメントLowが指定されているので、ステップ８０４→８０６に進み、第２引数%2からエレメントブロック又はパラメータタグを分割して抽出する。この例では、パラメータQとFreqとGainの３つのパラメータタグが抽出される。そして、まずパラメータQを処理対象としてステップ８０８→８１０に進み、第１引数%1'が"PM1D#1/Parameter/Input/Ch20/EQ/Low/Q"、第２引数%2'が"3.0"で、SetPrmが再帰的にコールされる。コールされたSetPrmでは、第１引数でパラメータが指定されているので、ステップ８０４→８０５で当該パラメータの設定を行う。同様にして、FreqとGainについても設定される。
【００５１】
図４（６）のSetPrmの場合、第１引数%1がエレメントを指定しているので、ステップ８０４→８０６に進み、第２引数%2からエレメントブロック又はパラメータタグを分割して抽出する。ここでは、エレメントHighとMidの２つのエレメントブロックと、１つのパラメータタグ（パラメータ名はBypass）に、分割される。エレメントHighについては、ステップ８０９で、第１引数%1'が"PM1D#1/Parameter/Input/Ch20/EQ/High/"、第２引数%2'が"<Prm name="Freq" Val="4.0kHz" /><Prm name="Gain" Val="-1.5dB" />"としてSetPrmが再帰的コールされるので、図４（２）の例で説明したのと同様にして各パラメータの設定が行われる。エレメントMidについても同様である。パラメータタグBypassについては、ステップ８１０で、第１引数%1'が"PM1D#1/Parameter/Input/Ch20/EQ/Bypass"、第２引数%2'が"Off"としてSetPrmが再帰的コールされ、パラメータ設定が行われる。
【００５２】
なお、複数の音響機器が接続されているシステムの場合、各音響機器は自機へのコマンドであるかどうかをチェックする必要がある。そのためには、指定されたパス名が存在するか判定する際に、まずそのパス名の先頭の機器名が自機の機器名であるかをチェックすればよい。
【図面の簡単な説明】
【００５３】
【図１】この発明を適用した実施形態の音響機器システムのモジュール構成図
【図２】音響機器のハードウェア構成例を示す図
【図３】本実施形態の音響機器システムで利用するパス形式データの例を示す図
【図４】外部通信機器から音響機器に送出されるコントロールコマンドの例を示す図
【図５】パラメータ値取得コマンド（GetPrm）を受信したときの音響機器における処理手順を示すフローチャート
【図６】パス解析処理の処理手順を示すフローチャート
【図７】カレントパス指定（SetFocus）処理及びカレントパス解除（ResetFocus）処理の手順を示すフローチャート
【図８】パラメータ設定コマンド（SetPrm）処理の手順を示すフローチャート
【図９】従来の音響機器に対するコントロールコマンド及び操作画面の例を示す図
【符号の説明】
【００５４】
１０１…外部通信機器（ＰＣなど）、１０２…音響機器（ミキサなど）、１１１…通信制御部、１１２…コマンド生成部、１２１…通信制御部、１２２…コマンド解析部、１２３…処理部、１２４…ＤＳＰ。
【図１】
2009239379.tif 000003
【図２】
2009239379.tif 000004
【図３】
2009239379.tif 000005
【図４】
2009239379.tif 000006
【図５】
2009239379.tif 000007
【図６】
2009239379.tif 000008
【図７】
2009239379.tif 000009
【図８】
2009239379.tif 000010
【図９】
2009239379.tif 000011