(57)【要約】【課題】  音響信号処理部をプログラムに従って動作可能なプロセッサを用いて構成し、外部のＰＣを用いて編集したミキサ構成に基づいて音響信号を処理できるようにしたディジタルミキサにおいて、異なるミキサ構成に対応した異なるデータ構造のパラメータデータセット間であっても、所定の条件下で互換性を持たせることを目的とする。【解決手段】  ミキサ構成を定義するミキサ構成データとそのミキサ構成データで使用する動作データセットとを読み込み、それらに従う音響信号処理を行うディジタルミキサにおいて、各動作データセット毎にそのデータ構造を示す属性情報を記憶するようにした。これにより、各動作データセットは、それぞれ異なるデータ構造を採ることができる。各動作データセットに属性情報を付しているので、動作データセットを使用する際にデータ構造の変換を行うことができ、動作データセットの汎用性が高まる。【選択図】  図１
2006033153.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに従って動作可能なプロセッサを用いて音響信号処理部を構成し、所定のミキサ構成データに応じたプログラムを前記音響信号処理部で動作させることにより、該ミキサ構成の音響信号処理動作を実現するディジタルミキサであって、
前記ミキサ構成データに対応するデータ構造の動作データセットを記憶するカレントメモリと、
前記カレントメモリに記憶された動作データセットに基づいて前記音響信号処理部の音響信号処理動作を制御する手段と、
複数の動作データセットを、それぞれ、その動作データセットのデータ構造を示す属性情報とともに、記憶する動作データセット記憶手段と、
前記動作データセット記憶手段の記憶する前記複数の動作データセットの１つを選択する手段と、
選択された動作データセットを、当該動作データセットに対応する属性情報の示すデータ構造から、前記ミキサ構成データに対応するデータ構造に変換し、前記カレントメモリに呼出す手段と
を備えたことを特徴とするディジタルミキサ。
【請求項２】
プログラムに従って動作可能なプロセッサを用いて音響信号処理部を構成し、所定のミキサ構成に応じたプログラムを前記音響信号処理部で動作させることにより、該ミキサ構成の音響信号処理動作を実現するディジタルミキサであって、
前記ミキサ構成を規定するミキサ構成データを複数記憶するミキサ構成データ記憶手段と、
前記複数のミキサ構成データの１つを選択する手段と、
選択されたミキサ構成データに対応するデータ構造の動作データセットを記憶するカレントメモリと、
前記選択されたミキサ構成に準じたデータ構造を持ち該ミキサ構成の音響信号処理に用いる動作データセットを、該動作データセットのデータ構造を示す属性情報とともに、複数記憶する動作データセット記憶手段と、
前記複数の動作データセットの１つを選択する手段と、
前記選択された動作データセットを、該動作データセットの属性情報の示すデータ構造から、前記選択されたミキサ構成データに対応するデータ構造に、変換して、カレントメモリに呼出す手段と、
前記選択されたミキサ構成データに応じたプログラムを前記音響信号処理部に供給し、該ミキサ構成データに対応するミキサ構成の音響処理動作を行わせる手段と、
前記カレントメモリ上の動作データセットを、前記音響信号処理部に対し、当該音響信号処理部で実行している前記音響処理動作を制御するデータとして供給する手段と
を備えたことを特徴とするディジタルミキサ。
【請求項３】
請求項２に記載のディジタルミキサにおいて、
前記カレントメモリ上の動作データセットを編集する手段と、
前記カレントメモリ上の動作データセットを、前記選択されたミキサ構成に対応するデータ構造を示す属性情報を付して、前記動作データセット記憶手段に書込む手段と
を、さらに備えたことを特徴とするディジタルミキサ。
【請求項４】
プログラムに従って動作可能なプロセッサを用いて音響信号処理部を構成し、所定のミキサ構成に応じたプログラムを前記音響信号処理部で動作させることにより、該ミキサ構成の音響信号処理動作を実現するディジタルミキサにおいて使用するデータを編集するミキサ構成編集装置であって、
前記ミキサ構成を定義するミキサ構成データを複数記憶するミキサ構成データ記憶手段と、
前記複数のミキサ構成データの１つを処理対象として選択する手段と、
選択されたミキサ構成データに対応するデータ構造の動作データセットを記憶するカレントメモリと、
前記選択されたミキサ構成に準じたデータ構造を持ち該ミキサ構成の音響信号処理に用いる動作データセットを、該動作データセットのデータ構造を示す属性情報とともに、複数記憶する動作データセット記憶手段と、
前記複数の動作データセットの１つを処理対象として選択する手段と、
前記選択された動作データセットを、該動作データセットの属性情報の示すデータ構造から、前記選択されたミキサ構成に対応するデータ構造に、変換して、カレントメモリに呼出す手段と、
前記選択されたミキサ構成データを編集する手段と、
前記カレントメモリ上の動作データセットを編集する手段と
を備えたことを特徴とするミキサ構成編集装置。
【請求項５】
請求項４に記載のミキサ構成編集装置において、さらに、
前記選択されたミキサ構成データが編集されたとき、前記カレントメモリ上の動作データセットを、前記編集後のミキサ構成データに対応するデータ構造に変換する手段を備えたことを特徴とするミキサ構成編集装置。
【請求項６】
請求項４に記載のミキサ構成編集装置において、さらに、
前記カレントメモリ上の動作データセットを、前記選択されたミキサ構成に対応するデータ構造を示す属性情報を付して、前記動作データセット記憶手段に書込む手段を備えたことを特徴とするミキサ構成編集装置。
【請求項７】
請求項４から６の何れか１つに記載のミキサ構成編集装置において、さらに、
前記ミキサ構成データ記憶手段に記憶されたミキサ構成データ及び前記動作データセット記憶手段に記憶された動作データセットを、前記ディジタルミキサが解釈できる形式に変換して前記ディジタルミキサに転送する手段を備えたことを特徴とするミキサ構成編集装置。
【請求項８】
プログラムに従って動作可能なプロセッサを用いて音響信号処理部を構成し、所定のミキサ構成に応じたプログラムを前記音響信号処理部で動作させることにより、該ミキサ構成の音響信号処理動作を実現するディジタルミキサにおいて使用するデータを、コンピュータ上で編集するための制御アプリケーションプログラムであって、
該コンピュータを、
前記ミキサ構成を定義するミキサ構成データを複数記憶するミキサ構成データ記憶手段と、
前記複数のミキサ構成データの１つを処理対象として選択する手段と、
選択されたミキサ構成データに対応するデータ構造の動作データセットを記憶するカレントメモリと、
前記選択されたミキサ構成に準じたデータ構造を持ち該ミキサ構成の音響信号処理に用いる動作データセットを、該動作データセットのデータ構造を示す属性情報とともに、複数記憶する動作データセット記憶手段と、
前記複数の動作データセットの１つを処理対象として選択する手段と、
前記選択された動作データセットを、該動作データセットの属性情報の示すデータ構造から、前記選択されたミキサ構成に対応するデータ構造に、変換して、カレントメモリに呼出す手段と、
前記選択されたミキサ構成データを編集する手段と、
前記カレントメモリ上の動作データセットを編集する手段と
を備えたミキサ構成編集装置として機能させることを特徴とする制御アプリケーションプログラム。
【請求項９】
請求項８に記載の制御アプリケーションプログラムにおいて、
前記コンピュータを、
前記選択されたミキサ構成データが編集されたとき、前記カレントメモリ上の動作データセットを、前記編集後のミキサ構成データに対応するデータ構造に変換する手段を備えたミキサ構成編集装置として機能させることを特徴とする制御アプリケーションプログラム。
【請求項１０】
請求項８に記載の制御アプリケーションプログラムにおいて、
前記コンピュータを、
前記カレントメモリ上の動作データセットを、前記選択されたミキサ構成に対応するデータ構造を示す属性情報を付して、前記動作データセット記憶手段に書込む手段を備えたミキサ構成編集装置として機能させることを特徴とする制御アプリケーションプログラム。
【請求項１１】
請求項８から１０の何れか１つに記載の制御アプリケーションプログラムにおいて、
前記コンピュータを、
前記ミキサ構成データ記憶手段に記憶されたミキサ構成データ及び前記動作データセット記憶手段に記憶された動作データセットを、前記ディジタルミキサが解釈できる形式に変換して前記ディジタルミキサに転送する手段を備えたミキサ構成編集装置として機能させることを特徴とする制御アプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音響信号を処理するミキサ構成をプログラム可能なディジタルミキサ、ミキサ構成編集装置、及び、ディジタルミキサの制御を行う制御アプリケーションプログラムに関する。
【背景技術】
【０００２】
従来より、非特許文献１に記載されているようなミキサ構成をカスタムメイドできるディジタルミキサが知られている。これは、音響信号処理部を、プログラムに従って動作可能なプロセッサ（例えば、ディジタル信号処理装置（ＤＳＰ））を用いて構成し、外部のＰＣ（パーソナルコンピュータ）を用いて作成編集したミキサ構成（信号処理構成）に基づいて音響信号を処理できるようにしたものである。ＰＣ上でのミキサ構成の作成編集は、専用のミキサ制御プログラムにより行う。すなわち、ＰＣ上でミキサ制御プログラムを動作させてミキサ編集画面を表示し、該画面上で信号処理を行う部品となるコンポーネントを配置し、配置したコンポーネント間を結線でつないで入出力関係を規定して、ミキサ構成を作成編集する。作成したミキサ構成をディジタルミキサに転送して実行することにより、ディジタルミキサはそのミキサ構成の動作を実現する。
【０００３】
このようなディジタルミキサでは、ミキサ構成ごとに複数のシーンデータを利用することができる。シーンデータとは、そのミキサ構成で動作させるときに使用するパラメータのデータセットである。同じミキサ構成でもシーンごとにいろいろなパラメータ値で動作させたい場合があるので、複数のシーンデータを用意し、適宜呼び出してミキサを動作させる。
【非特許文献１】「DIGITAL MIXING ENGINE DME32 取扱説明書」、ヤマハ株式会社、２００１年
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、従来技術では、シーンデータはミキサ構成に付随するデータであり、ミキサ構成が異なればシーンデータの構造も異なる。従って、異なるミキサ構成に対応した異なるデータ構造のシーンデータ間では互換性がない。このような互換性がないことにより、種々の場面で不都合が生じる。例えば、現在ミキサエンジンで実行しているミキサ構成をＰＣのミキサ制御プログラムで少しだけ編集し、編集したミキサ構成を該プログラムからミキサエンジンに転送して動作させることがある。この場合、その編集後のミキサ構成では、編集前のミキサ構成で使用していたシーンを呼び出すことができないという問題がある。また例えば、ミキサエンジンに複数の機種がある場合、一般的には各機種ごとにシーンデータの構造が異なるので、似たようなミキサ構成であっても別の機種のシーンを利用することができないという問題があった。
【０００５】
ミキサ構成を編集したときに、そのミキサ構成に対応するシーンデータの構造を適正に変更して、編集後のミキサ構成でも使用できるようにすることが考えられる。しかし、異なる構造のシーンデータ間では、読出し元のシーンデータのどのパラメータを書込み先のシーンデータのどこに書込めばよいのか、その対応関係が不明であるので、シーンデータの構造の変更は容易ではない。また、シーンメモリには多数のシーンデータが保存されている場合も少なくなく、ミキサ構成の変更に伴ってそれら全てのシーンデータを変更するのでは、データ変更に時間がかかるという問題がある。
【０００６】
この発明は、上記の問題を解決することを目的とし、特に音響信号処理部をプログラムに従って動作可能なプロセッサを用いて構成し、外部のＰＣを用いて編集したミキサ構成に基づいて音響信号を処理できるようにしたディジタルミキサにおいて、異なるミキサ構成に対応した異なるデータ構造のパラメータデータセット間であっても、所定の条件下で互換性を持たせることができるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
この目的を達成するため、この発明では、ミキサ構成を定義するミキサ構成データとそのミキサ構成データで使用する動作データセットとを読み込み、それらに従う音響信号処理を行うディジタルミキサにおいて、各動作データセット毎に、その動作データセットのデータ構造を示す属性情報（その動作データを記録したときのミキサ構成データに関する情報）を記憶するようにした。すなわち、動作データセット記憶手段中の複数の動作データセットは、それぞれ異なるデータ構造を採ることができる。
【０００８】
処理対象のミキサ構成データが編集されたときは、処理対象であるカレントメモリ中の動作データセットのデータ構造を、編集前のミキサ構成データが示すデータ構造から編集後のミキサ構成データの示すデータ構造に変換する。当該ミキサ構成データが編集されたことにより、当該ミキサ構成データに対応する全ての動作データセットのデータ構造を変換する必要があるが、本発明では、各動作データセットに属性情報を付してあるので、後でデータ構造の変換を行うことができ、従ってミキサ構成データを編集したとしても、該ミキサ構成データに対応する動作データセットのデータ構造をその時点で全て変換する必要はない。
【０００９】
また、本発明では、動作データセットを動作データセット記憶手段からカレントメモリに呼び出すとき（リコールまたはロード時）、その呼び出す動作データセットのデータ構造を、対応する属性情報が示すデータ構造から処理対象のミキサ構成データが示すデータ構造に変換し、変換された動作データセットをカレントメモリに上書きする。
【００１０】
さらに、本発明では、カレントメモリ上の動作データセットを動作データセット記憶手段に保存するとき（ストアまたはセーブ時）、処理対象のミキサ構成データに基づいてカレントメモリ上の動作データセットのデータ構造を示す属性情報を生成し、該属性情報を該動作データセットに付与して動作データセット記憶手段に書き込む。
【発明の効果】
【００１１】
この発明によれば、ミキサ構成データで定義されるミキサ構成でディジタルミキサを動作させる際に必要な動作データセットに対し、各動作データセットにその動作データセットのデータ構造を示す属性情報を付しているので、種々の場面で動作データセットの互換性が高まる。動作データセットのデータ構造は、その動作データセットを使用するミキサ構成に応じたものであるので、従来技術と課題の欄でも述べたように、従来はミキサ構成の編集などにより動作データセットが使用できなくなる場面が多々あった。しかし、この発明によれば、動作データセットに属性情報を付しているので、動作データセットを使用する際にデータ構造の変換を行うことができ、動作データセットの汎用性が高まる。
【００１２】
特に、本発明に係るディジタルミキサによれば、記憶手段に種々のデータ構成の動作データセットが記憶されており、そのデータ構成が当該ディジタルミキサの音響信号処理のミキサ構成に対応したデータ構成と異なっていても、記憶手段に記憶された動作データセットのデータ構成を、対応する属性情報に基づいてデータ変換してカレントメモリに読み込むことができる。また、音響信号処理部は、選択されたミキサ構成データに対応するミキサ構成の音響処理を行い、それを制御する動作データセットがカレントメモリに記憶されるものである。動作データセット記憶手段に記憶されている複数の動作データセットには、それぞれ、その動作データセットのデータ構成を示す属性情報が付与されているので、動作データセット記憶手段に記憶されている動作データセットのデータ構成がカレントメモリのデータ構造とは異なっていても、その動作データセットをカレントメモリへ呼出すことができる。
【００１３】
また、本発明に係るミキサ構成編集装置及び制御アプリケーションプログラムによれば、選択されたミキサ構成データは編集されると、それに応じてカレントメモリに記憶される動作データセットのデータ構成も変化する。動作データセット記憶手段に記憶されている複数の動作データセットには、それぞれ、その動作データセットのデータ構成を示す属性情報が付与されているので、動作データセット記憶手段に記憶されている動作データセットのデータ構成がカレントメモリのデータ構造とは異なっていても、その動作データセットをカレントメモリへ呼出すことができる。さらに、ミキサ構成データの編集直前にカレントメモリに記憶されていた動作データセットを、編集後のミキサ構成データの動作データセットとして引き継ぐことができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を用いてこの発明の実施の形態を説明する。
【００１５】
図１は、この発明の一実施形態であるディジタルミキサのエンジンの構成を示す。このエンジン１００は、中央処理装置（ＣＰＵ）１０１、フラッシュメモリ１０２、ＲＡＭ（ランダム・アクセス・メモリ）１０３、ＰＣ入出力インターフェース（Ｉ／Ｏ）１０４、ＭＩＤＩ  Ｉ／Ｏ１０５、その他Ｉ／Ｏ１０６、表示器１０７、操作子１０８、波形Ｉ／Ｏ１０９、信号処理部（ＤＳＰ群）１１０、カスケードＩ／Ｏ１１１、及びシステムバス１２０を備える。
【００１６】
中央処理装置（ＣＰＵ）１０１は、このミキサ全体の動作を制御する処理装置である。フラッシュメモリ１０２は、ＣＰＵ１０１や信号処理部１１０のＤＳＰなどが使用する各種のプログラムやデータを格納した不揮発性メモリである。ＲＡＭ１０３は、ＣＰＵ１０１が実行するプログラムのロード領域やワーク領域に使用する揮発性メモリである。ＰＣ  Ｉ／Ｏ１０４は、外部のパーソナルコンピュータ（以下、ＰＣと言う）１３０を接続するインターフェース（例えば、ＬＡＮ、ＵＳＢ、シリアルＩ／Ｏなど）である。ＭＩＤＩ  Ｉ／Ｏ１０５は、各種ＭＩＤＩ機器を接続するインターフェースである。その他Ｉ／Ｏ１０６は、その他の機器を接続するためのインタフェースである。表示器１０７は、このミキサの外部パネル上に設けられた各種の情報を表示するためのディスプレイである。操作子１０８は、外部パネル上に設けられたユーザが操作するための各種の操作子である。波形Ｉ／Ｏ１０９は、外部機器との間で音響信号をやり取りするためのインターフェースであり、例えば、アナログの音響信号を入力してディジタル信号に変換して信号処理部１１０に渡すＡ／Ｄ（アナログ・ディジタル）変換機能、ディジタルの音響信号を入力して信号処理部１１０に渡すディジタル信号入力機能、及び信号処理部１１０から出力されたディジタルの音響信号をアナログの音響信号に変換してサウンドシステムに出力するＤ／Ａ（ディジタル・アナログ）変換機能などを実現する。信号処理部１１０は、幾つかのＤＳＰ（ディジタル・シグナル・プロセッサ）などからなる。これらのＤＳＰは、ＣＰＵ１０１の指示に基づいて各種のマイクロプログラムを実行することにより、波形Ｉ／Ｏ１０９経由で入力した波形信号のミキシング処理、効果付与処理、及び音量レベル制御処理などを行い、処理後の波形信号を波形Ｉ／Ｏ１０９経由で出力する。カスケードＩ／Ｏ１１１は、他のディジタルミキサとカスケード接続するためのインターフェースである。カスケード接続することにより、入出力チャンネル数やＤＳＰ処理力を増やすことができる。
【００１７】
本ディジタルミキサのエンジン１００では、信号処理部１１０で実現するミキサ構成をカスタムメイドすることができる。そのミキサ構成は、ＰＣ１３０上で動作する所定のミキサ制御プログラム１３１によりＰＣ１３０の画面上で作成編集することができる。作成したミキサ構成を複数集めたものをコンフィグレーションと呼ぶ。ミキサ制御プログラム１３１は、ユーザの画面上での操作指示に応じて、コンフィグレーションをメモリ上にコンフィグデータ１３２として生成する。コンフィグデータ１３２は、ＰＣ１３０から書込み可能な任意の記憶装置にファイルとして保存できる。また、ＰＣ１３０側のメモリまたはハードディスクなどの記憶装置上のコンフィグデータの各ミキサ構成は、コンパイル（エンジン１００が解釈できる情報に変換すること）した後、エンジン１００に転送できる。エンジン１００は、ＰＣ１３０から転送されたコンフィグデータをフラッシュメモリ１０２に格納して保存しておくことができる。所定の操作によりフラッシュメモリ１０２に格納されたコンフィグデータ中の１つのミキサ構成をカレントとして指定することにより、そのミキサ構成に基づいてエンジン１００が動作し、これにより当該ミキサ構成で規定されるミキサが実現する。
【００１８】
ミキサ制御プログラム１３１は、操作モードとしてオンラインモードとオフラインモードを有する。所定の操作により、それらのモードを切り換えることができる。オフラインモードは、ＰＣ１３０側のみで、コンフィグデータを作成編集するモードである。オンラインモードは、ＰＣ１３０のミキサ制御プログラム１３１からエンジン１００をリアルタイムに制御するモードである。オンラインモードが指定されると、その時点でＰＣ１３０のＲＡＭ上に展開されているコンフィグデータが（コンパイルの後）エンジン１００に転送されてフラッシュメモリ１０２に格納され、これによりＰＣ１３０とエンジン１００とでコンフィグデータが一致する。また、ＰＣ１３０側でカレントとして指定されているミキサ構成の状態（パラメータ設定値など）がエンジン１００に送られて、ＰＣ１３０とエンジン１００とが完全に同期した状態となり、ＰＣ１３０からエンジン１００を制御できるようになる。例えば、ＰＣ１３０のミキサ構成画面上に表示されたコンポーネントがフェーダを備えている場合、あるいは、あるコンポーネントの制御画面がフェーダを備えている場合、オンラインモードでは、そのフェーダをマウスを用いて操作するとその操作はリアルタイムにエンジン１００に反映される。オンラインモードでは、ＰＣ１３０側でコンポーネントの構成と結線は変更できない。変更すると自動的にオフラインモードになる。
【００１９】
なお、ＰＣ１３０によりコンフィグデータを作成編集するユーザは、エンドユーザに限らず、業者の場合もある。例えば、ある会場にミキサが設置された場合、その会場に業者が出向いて、そのミキサにＰＣ１３０を接続し、当該ＰＣ１３０からその会場に合わせたミキサ構成のコンフィグデータを作成編集し、そのコンフィグデータをフラッシュメモリ１０２に格納する。この場合、ミキサはノンプログラマブル（エンドユーザに対してミキサ構成の作成編集を許可せず、エンドユーザは業者が作り込んだミキサ構成を呼び出して利用するだけ）でもよい。エンドユーザは、パネル上の操作子１０８を用いてフラッシュメモリ１０２に格納されたコンフィグデータのミキサ構成を読出し、そのミキサ構成のミキサとして動作させることができるので、動作時にＰＣ１３０を接続する必要はない。もちろん、ＰＣ１３０を接続し、オンラインモードとして、そのＰＣ１３０からの操作でミキサを制御することは可能である。
【００２０】
図２（ａ）は、ＰＣ１３０のミキサ制御プログラム１３１が使用するＰ（プリセット）コンポーネントデータ（ＰＣデータ）の構成を示す。Ｐコンポーネント（以下、単にコンポーネントと言う）は、ミキサ構成をカスタムメイドする際の基本単位部品となるブロックであり、例えば、オートミキサ、コンプレッサ、エフェクト、クロスオーバなどのオーディオプロセッサや、フェーダ、スイッチ、パン、メータなどの個々のパーツのコンポーネントが用意されている。ミキサ制御プログラム１３１によるミキサ構成の作成編集は、具体的には、ＰＣ１３０のミキサ構成画面上で、コンポーネントを配置して結線することにより行う。コンポーネント間に結線を引くことは、コンポーネント間の信号の入出力関係を定義することに相当する。
【００２１】
図２（ａ）に示す１つのＰＣデータは、１つのコンポーネントを規定する定義データであり、ミキサ制御プログラム１３１がアクセスできる任意の記憶手段に予め格納されている。ＰＣデータはコンポーネントの種類毎に用意される。ここでは種類がＮpc個あるものとする。Ｎpc個のＰＣデータの全体に対して、コンポーネントセットのバージョンが付与されている。
【００２２】
１つのＰＣデータは、ＰＣヘッダ、ＰＣ構成情報、ＰＣ処理ルーチン、及び表示編集処理ルーチンからなる。ＰＣヘッダは、コンポーネントＩＤ（PC_ID）及びコンポーネントバージョン（PC_Ver）などからなる。PC_IDとPC_VerによりＰＣデータを特定することができる。ＰＣ構成情報は、そのコンポーネントがどのようなエレメントから構成されているかを示す情報（エレメントの順番も含む）であり、そのコンポーネントの制御画面（図４（ｂ）で後述）などの表示データを含む。エレメントとは、コンポーネントを構成する部品に相当する構成要素を言う。さらにＰＣ構成情報は、そのコンポーネントを構成する各エレメント毎のパラメータ項目構成情報（例えば、当該エレメントのパラメータが、単一の値、１次元配列、２次元配列のどのデータ形式であるかを示す配列情報、及び１要素のデータサイズなど）を含む。ＰＣ処理ルーチンは、ＰＣ構成情報に関する各種の処理を行なうためのプログラムである。ミキサ制御プログラム１３１がミキサ構成を処理する際には、コンポーネント毎のＰＣ処理ルーチンを利用する。表示編集処理ルーチンは、ＣＦデータを作成編集する際に用いるプログラム群である。
【００２３】
図２（ｂ）は、ＰＣ１３０において、ミキサ制御プログラム１３１によって処理されるＲＡＭ上のコンフィグデータの構造を示す。２１０がＲＡＭ上に展開されたコンフィグデータであり、複数のＣＦデータ１〜Ｎcf及びシーンメモリから構成される。このコンフィグデータ２１０の全体が１ファイルとして任意の記憶装置（例えば、ＰＣ内のハードディスクなど）に格納できる。逆に任意の記憶装置から読出したコンフィグデータをＰＣ１３０のＲＡＭ上に２１０のような形式で展開することができる。ＣＦデータ１〜Ｎcfにおいて、１〜Ｎcfの番号をコンフィグ番号（ＣＦナンバ）と呼ぶ。コンフィグ番号によりＣＦデータ（あるいはそのＣＦデータが格納されている領域）を指定することができる。カレントポインタは、処理対象のＣＦデータを指すポインタである。カレントポインタが指すＣＦデータが、図４（ａ）で後述するミキサ構成画面に表示される。カレントポインタが指すＣＦデータを「現コンフィグ」と呼ぶ。
【００２４】
１つのＣＦデータは、１つのミキサ構成を規定するデータであり、ＣＦヘッダ、ＰＣ用ＣＡＤデータ、及びＮps個のプリセットからなる。ＣＦヘッダは、コンフィグＩＤ（CF_ID）、コンフィグバージョン（CF_Ver）、及びシステムバージョン（SYS_Ver）などからなる。CF_IDとCF_Verにより、ＣＦデータを特定することができる。ＰＣ用ＣＡＤデータは、当該ＣＦデータのミキサ構成がどのようなコンポーネントをどのように結線して構成したものかを定義するデータであり、そのミキサ構成の構成要素として使用するコンポーネントを指定するデータであるＣデータ及びそれらのコンポーネント間を結ぶ結線データからなる。ＰＣ用ＣＡＤデータは、後述する図４（ａ）のミキサ構成画面などの表示用データも含む。ＰＣ用ＣＡＤデータ内のＣデータは、コンポーネントを指定するコンポーネントＩＤ（C_ID）、コンポーネントバージョン（C_Ver）、ユニークＩＤ（U_ID）、及びその他のデータ（例えば、プロパティなど）などからなる。ＣデータのC_IDとC_Verとしては、図２（ａ）のＰＣデータのPC_IDとPC_Verを指定してコンポーネントを特定する。
【００２５】
上記Ｃデータ中の「その他のデータ」は、当該Ｃデータにより特定されるＰＣデータのバリエーション情報Variを含む。上述したように１つのＰＣデータはミキサ構成の１つの部品となるコンポーネントを示すものであるが、例えば、オートミキサであれば入力数と出力数について幾つかのバリエーションがあるし、フェーダであればチャンネル数について幾つかのバリエーションがある。従って、C_IDとC_VerによりＰＣデータが特定されたとしても、実際にそのＰＣデータのコンポーネントが動作する際には、上記のようなバリエーション情報が指定されている必要がある。ＣデータはC_IDとC_Verとともにバリエーション情報Variも含むので、それにより特定されるＰＣデータのコンポーネントは当該バリエーション情報Variに基づいて動作できる。なお、バリエーション情報を指定する必要のないＰＣデータもあり、そのようなＰＣデータを指定する場合は、Ｃデータの「その他のデータ」中にバリエーション情報Variは不要である。
【００２６】
上記Ｃデータ中のユニークＩＤ（U_ID）について説明する。U_IDは、ＣＦデータのミキサ構成を順次編集していく際に（この場合、CF_IDは同じものを引継いでいくようにする）、その系列内においてＣデータを特定するためのＩＤである。例えば、初めにＣＦデータを新規作成する場合、Ｃデータを新規追加（コンポーネント追加）する毎に新たなU_IDの値がそのＣデータに付けられる。Ｃデータを削除したときは、そのＣデータのU_IDの値は空きとなり、その後、当該ＣＦデータの系列内ではU_IDとして使われることはない。空きのU_IDの値があったとしても、それ以後新規に追加されるＣデータに対しては新たなU_IDの値が付けられる。これにより、ＣＦデータのＣＡＤデータが編集されていきＣデータの追加や削除がなされ、その編集の途中の任意の段階でＣＦデータが保存されたとしても、その系列（すなわち同CF_IDのＣＦデータの集まり）内において、U_IDの値が一致するＣデータは同じＣデータであると判別できる。なお、ここで「同じＣデータ」というのは、C_IDとC_Verが同じでバリエーション情報Variが異なるものを含む。
【００２７】
次に、ＣＦデータ中のプリセットについて説明する。１つのＣＦデータは複数のプリセットを含み（その数は任意である）、それら複数のプリセットをまとめて当該ＣＦデータのライブラリと呼ぶ。プリセット１〜Ｎpsにおいて、１〜Ｎpsの番号をプリセット番号と呼ぶ。プリセット番号によりＣＦデータ中のプリセット（あるいはそのプリセットが格納されている領域）を特定することができる。プリセットは、それが含まれるＣＦデータのＰＣ用ＣＡＤデータのミキサ構成で使用する具体的なパラメータ値の組データを示す。上述したＰＣ用ＣＡＤデータによって１つのミキサ構成が規定されるが、実際にそのミキサ構成でディジタルミキサが動作する際には各コンポーネントに所定のパラメータを設定する必要がある。例えば、オートミキサであれば入力レベルと出力レベルなど、フェーダであればそのレベルなどのパラメータ値を設定する必要があるということである。プリセットは、そのような各コンポーネントが実際に動作する際に使用するパラメータ値のデータセットである。
【００２８】
１つのプリセットは、ヘッダ及び任意の数のＣ（コンポーネント）シーンからなる。プリセット中のＣシーンの部分をパラメータデータセットと呼ぶ。パラメータデータセットのＣシーンの並びの順序は、ＰＣ用ＣＡＤデータ中のＣデータの並びと対応している。図では、ＣデータＡで特定されるコンポーネントのパラメータがＣシーン３Ａ、ＣデータＢで特定されるコンポーネントのパラメータがＣシーン３Ｂ、…である。１つのＣシーンは、エレメントシーンの並びからなる。各コンポーネントはそれぞれ幾つかのエレメントから構成されているが、Ｃシーンを構成する各エレメントシーンは、そのコンポーネントを構成する各エレメントにそれぞれ設定するパラメータセットを示す。エレメントシーンの並びは、そのコンポーネント（図２（ａ）のＰＣデータ）のＰＣ構成情報により規定される。例えば図２（ｂ）のＣＦデータ２のプリセット３のＣシーン３Ｂは４つのエレメントシーンＥ３Ｂ１，Ｅ３Ｂ２，Ｅ３Ｂ３，Ｅ３Ｂ４から構成されているが、この構造は、Ｃシーン３Ｂのコンポーネント（ＣデータＢで特定されるコンポーネント）のＰＣデータのＰＣ構成情報により規定される。
【００２９】
各エレメントシーンは、単一の値、１次元配列、または２次元配列の何れかのデータ形式を取る。例えば、エレメントシーンＥ３Ｂ１やＥ３Ｂ４はデータサイズ１の単一のパラメータ値からなるエレメントシーンである。Ｅ３Ｂ２は、要素数が８の１次元配列からなり、その１要素のデータサイズは１６である（要素Ｅ３Ｂ２［１］は、Ｅ３Ｂ２［１］１〜Ｅ３Ｂ２［１］１６からなる）。Ｅ３Ｂ３は、２次元配列のデータ形式を持つエレメントシーンである。各エレメントシーンのデータ形式（配列要素数を含む）と１要素のデータサイズは、対応するＰＣデータのＰＣ構成情報、及び対応するＣデータのその他データとして格納されているバリエーション情報Variにより、規定される。エレメントシーンのデータ構造にバリエーション情報Variが関係するのは、例えば、コンポーネントの１つであるオートミキサであれば、入力数と出力数について幾つかのバリエーションがあるので、そのバリエーションに応じてエレメントシーンのデータ形式（配列要素数を含む）や１要素のデータサイズが決定される、ということである。
【００３０】
以上をまとめると、プリセット中のパラメータデータセットのデータ構造は、
（１）ＰＣ用ＣＡＤデータのＣデータの個数と並び順から、Ｃシーンの個数と並び順が決定され、
（２）各Ｃシーンのエレメントシーンのデータ構造（エレメントの順番、及び各エレメントシーンのデータ形式（配列要素数を含む）と１要素のデータサイズ）は、対応するＰＣデータのＰＣ構成情報、及び対応するＣデータのその他データとして格納されているバリエーション情報Variにより、決定される、
ことになる。
【００３１】
プリセットのヘッダは、そのプリセットに含まれるコンポーネントの数を示す情報と、コンポーネント毎のヘッダ情報であるＣヘッダからなる。例えば、図２（ｂ）のＣＦデータ２のＰＣ用ＣＡＤデータは４つのＣデータＡ〜Ｄで構成されているので、プリセット３のヘッダもそれらの各コンポーネントに対応する４つのＣヘッダ３Ａ〜３Ｄから構成されている。Ｃヘッダの並びの順序は、ＰＣ用ＣＡＤデータのＣデータの並びの順序（すなわちプリセット内のパラメータデータセットのＣシーンの順序でもある）に対応している。１つのＣヘッダは、コンポーネントＩＤ（C_ID）、コンポーネントバージョン（C_Ver）、ユニークＩＤ（U_ID）、エレメント数、及び各エレメントシーンのデータサイズと配列情報などを含む。ＣヘッダのC_ID，C_Ver，U_IDは、対応するＣデータに含まれるC_ID，C_Ver，U_IDと同じデータである。エレメント数は、対応するＣデータで特定されるコンポーネントのエレメント数を示す。各エレメントシーンのデータサイズと配列情報は、当該コンポーネントの各エレメントシーンの１要素のデータサイズ及びエレメントシーンのデータ形式（配列要素数を含む）を示す。
【００３２】
例えば、Ｃシーン３Ｂのコンポーネントは４つのエレメントから構成されているので、対応するＣヘッダ３Ｂの「エレメント数」には「４」が設定される。第１のエレメントシーンＥ３Ｂ１はデータサイズ１の単一のパラメータ値からなるので、Ｃヘッダ３Ｂの第１のエレメントシーンのデータサイズは「１」、配列情報は（１，１）と設定される。（１，１）はデータ形式が単一の値であることを示す。第２のエレメントシーンＥ３Ｂ２は、１要素のデータサイズが１６である１次元配列で、その要素数は８であるので、Ｃヘッダ３Ｂの第２のエレメントシーンのデータサイズは「１６」、配列情報は（８，１）と設定される。（８，１）はデータ形式が１次元配列で要素数が８であることを示す。第３のエレメントシーンＥ３Ｂ３は８行２列の２次元配列であるので、Ｃヘッダ３Ｂの第３のエレメントシーンの配列情報は（８，２）と設定される。
【００３３】
基本的にプリセット中のパラメータデータセットのデータ構造は上述の（１）（２）の方法で決定される。しかし、各プリセットは上記のようなヘッダを備えているので、このヘッダを見れば、上記（２）の手順は不要である。従って、ＰＣデータのＰＣ構成情報やＣデータ中のバリエーション情報Variを参照せずに、プリセット中のパラメータデータセットのデータ構造を取得できる。
【００３４】
次に、シーンメモリについて説明する。シーンメモリにはＮs個（個数は任意）のシーン１〜Ｎsが格納される。１〜Ｎsの番号をシーン番号と呼ぶ。シーン番号で、各シーンが格納されている領域あるいはその領域に格納されたシーンを特定することができる。１つのシーンは、コンフィグ番号とプリセット番号を備える。ユーザは、シーン番号を指定してシーンを呼び出す（これをシーンのリコールと言う）ことができる。シーンのリコールが指示されると、当該シーンのコンフィグ番号のＣＦデータが現コンフィグとなるようにカレントポインタがセットされ、当該ＣＦデータが後述するミキサ構成画面（図４（ａ））に表示され、当該シーンのプリセット番号のプリセットが読み込まれてカレントシーン（図２（ｃ）で後述）にセットされる。逆に、ユーザは、現コンフィグ及び現カレントシーンを、シーン番号を指定してシーンメモリに保存することもできる（これをシーンのストアと言う）。
【００３５】
図２（ｃ）は、ＰＣ１３０においてミキサ制御プログラム１３１によって処理されるＲＡＭ上のその他データの構造を示す。カレントシーンは、現コンフィグのミキサ構成で設定されているパラメータデータセット、すなわち現コンフィグの各コンポーネントの現在のパラメータ値（カレント値）を示す。カレントシーンのアクセスルーチンは、カレントシーンへのアクセス機能を提供するメソッドである。ミキサ制御プログラム１３１に含まれる各モジュールプログラムがカレントシーンにアクセスする際には、このアクセスルーチンを用いる。プリセットのところで説明したのと同様に、カレントシーンのデータ構造は現コンフィグのＰＣ用ＣＡＤデータの内容に依存するので、該ＰＣ用ＣＡＤデータに変更があったとき（例えば、新たなコンポーネントの追加や既存のコンポーネントの削除など）には、カレントシーンのデータ構造も変更する必要がある。そのため、カレントシーンを保持する記憶領域はＰＣ１３０のＲＡＭ上に動的に設けるようにし、現コンフィグのＰＣ用ＣＡＤデータに変更があったときには、新たにそのＰＣ用ＣＡＤデータの構成に合ったデータ構造のカレントシーンの領域を用意し、またそのカレントシーンのアクセスルーチンを用意し、前のカレントシーンのデータを新たなカレントシーンにコピーする。
【００３６】
図２（ｃ）のエンジン用ＣＡＤデータ形成バッファは、ＣＦデータをコンパイルしたとき、ＰＣ用ＣＡＤデータからエンジン用ＣＡＤデータを生成するバッファである。
【００３７】
図３（ａ）は、ミキサエンジン１００内のフラッシュメモリ１０２に予め格納されているコンポーネントデータ（ＰＣデータ）の構成の一部を示す。ミキサエンジン側のＰＣデータは、図２（ａ）に示したＰＣ側のＰＣデータの構成とほとんど同じであり、図２（ａ）における説明もそのまま適用できるので、図３（ａ）では異なる部分のみを示した。すなわち、エンジン１００側では、図２（ａ）の表示編集処理ルーチンの部分が、図３（ａ）のＰＣマイクロプログラムに置き換わる。エンジン１００では、ミキサ構成画面や制御画面の表示はできないので、その表示編集のための表示編集ルーチンは不要である。その代わり、エンジン１００では、エンジン用ＣＡＤデータのミキサ構成に応じたマイクロプログラムを形成してＤＳＰ群に送る必要があるため、図３（ａ）のような各コンポーネント対応のＰＣマイクロプログラムが必要である。ＰＣマイクロプログラムは、バリエーション情報Variによって指定される入出力数のバリエーションで使用されるマイクロプログラムが全て用意されている。図示しないが、ＰＣ処理ルーチンは、エンジン中で各構成情報を処理するための各種のプログラムであるものとする。
【００３８】
図３（ｂ）は、エンジン１００のフラッシュメモリ１０２上のコンフィグデータの一部を示す。このデータは、図２（ｂ）に示したＰＣ内のコンフィグデータの構成とほとんど同じであり、図２（ｂ）における説明もそのまま適用できるので、図３（ｂ）は異なる部分のみを示した。すなわち、エンジン１００側では、図２（ｂ）のＰＣ用ＣＡＤデータの部分が、図３（ｂ）のエンジン用ＣＡＤデータに置き換わる。エンジン用ＣＡＤデータは、ミキサ構成画面で示されるようなミキサ構成を表すデータである点はＰＣ用ＣＡＤデータと同じだが、エンジン内では表示のためのデータは不要であり、またデータ量を少なくするため、表示データを含まずバイナリ形式で表現されている。エンジン用ＣＡＤデータは、コンパイルにより図２（ｃ）のエンジン用ＣＡＤデータ形成バッファ上に生成されたものである。エンジン１００側もカレントポインタを有し、カレントポインタが指すＣＦデータが「現コンフィグ」である。
【００３９】
図３（ｃ）は、エンジン１００のＲＡＭ１０３上のその他データを示す。カレントシーンは、エンジン側で、現コンフィグのミキサ構成に設定されているパラメータデータセットであり、図２（ｃ）に示したＰＣ側のカレントシーンと同様のデータである。図２（ｃ）のカレントシーンの説明は、図３（ｃ）のエンジン側のカレントシーンにも適用できるものである。図３（ｃ）では図示していないが、アクセスルーチンを用意する点も同じである。マイクロプログラム形成バッファは、ミキサ構成に応じたマイクロプログラムを形成するために使用するバッファである。カレントポインタが切り換えられると、新たに現コンフィグとなったＣＦデータのエンジン用ＣＡＤデータのミキサ構成を実現するマイクロプログラムがマイクロプログラム形成バッファ上に展開され、そのマイクロプログラムが信号処理部１１０に転送される。これにより、信号処理部１１０のＤＳＰ群は現コンフィグのＣＡＤデータのミキサ構成の動作を実現する。また、新たにカレントシーンが読み込まれたとき、あるいはカレントシーンが変更されたときには、自動的に、当該カレントシーンが信号処理部１１０に転送される。信号処理部１１０は、転送されたカレントシーンをＤＳＰ群の係数メモリに展開する。信号処理部１１０のＤＳＰ群は当該係数メモリの係数を使用して上記転送されたマイクロプログラムを実行し、これにより信号処理部１１０は、現コンフィグのエンジン用ＣＡＤデータのミキサ構成で、かつカレントシーンのパラメータデータセットでの動作を実現する。
【００４０】
エンジン１００のフラッシュメモリ１０２に図３（ｂ）で説明したようにコンフィグデータを格納する方法は任意であるが、通常はＰＣ１３０にてオンラインモードを指定することにより行う。ＰＣ１３０でオンラインモードを指定すると、図２（ｂ）に示したＲＡＭ上のコンフィグデータ２１０の各ＣＦデータがそれぞれコンパイルされてエンジン１００に転送され（ＣＡＤデータは、コンパイルの結果、エンジン用ＣＡＤデータ形成バッファに形成されたエンジン用ＣＡＤデータが転送される）、さらにシーンメモリの内容もエンジン１００に転送される。エンジン１００では、転送されてきたＣＦデータとシーンメモリの内容を図３（ｂ）で説明したようにフラッシュメモリ１０２に格納する。これにより、ＰＣ１３０とエンジン１００とでコンフィグデータが一致した状態となる。さらに、オンラインモードでは、図２（ｃ）のＰＣ１３０側のカレントシーンが転送されて、図３（ｃ）のエンジン１００のカレントシーンに格納され、そのアクセスルーチンが準備される。以上のようにして、オンラインモードでは、ＰＣ１３０とエンジン１００とが完全に同期した状態となり、ＰＣ１３０側のカレントシーンが変更されるとその変更がエンジン１００のカレントシーンに反映される。
【００４１】
なお、フラッシュメモリ１０２は不揮発性であるので、格納されたコンフィグデータはエンジンの電源がオフされても保持される。一旦、コンフィグデータをフラッシュメモリ１０２に格納した後は、ＰＣ１３０をエンジン１００に接続しなくても、エンジン１００単独で、シーン番号を指定してシーンを呼び出したり（これによりカレントのミキサ構成（ＣＦデータ）を切り換えることができる）、カレントシーンのパラメータ値を変更したり、カレントのミキサ構成とカレントシーンを任意のシーン番号を指定してそこに保存することができる。
【００４２】
次に、図１〜図３で説明した本実施形態のシステムでミキサ制御プログラム１３１が動作する際の画面例を説明する。
【００４３】
図４（ａ）は、ミキサ構成（カレントポインタが指している現コンフィグのＣＦデータ）の編集画面（ＣＡＤ画面）の例を示す。このミキサ構成画面４００では、現コンフィグのＣＦデータに基づいて、構成要素であるコンポーネントが配置され、各コンポーネント間が入出力関係を規定する結線で結ばれている。４０１，４０２は、このミキサ構成への入力端子を表す要素である。４０６は、このミキサ構成からの出力端子を表す要素である。４０３〜４０４は、それぞれコンポーネントを示す。これらのコンポーネントは、現コンフィグのＣＦデータのＰＣ用ＣＡＤデータのＣデータ（図２（ｂ））で特定されるコンポーネントであり、それぞれ図２（ａ）のＰＣデータに対応している。
【００４４】
ユーザは、このようなミキサ構成画面上で所定の操作（メニュー選択や右クリックなど）を行うことにより、コンフィグデータに対して以下のような編集操作を行うことができる。
【００４５】
指定したコンフィグデータのファイルを開くことができる。開かれたコンフィグデータが、図２（ｂ）の２１０に示すようにＲＡＭ上に展開される。ＲＡＭ上に展開されているコンフィグデータを、任意のファイル名で保存することができる。ＲＡＭ上に展開されているコンフィグデータに対して、シーンのリコールなどにより現コンフィグを切り換えることができる。その場合、ミキサ構成画面は、新たに現コンフィグとなったＣＦデータのミキサ構成を示す画面に切り換わる。
【００４６】
ユーザは、ミキサ構成画面上で、各種のコンポーネントを呼び出して配置し結線を行うことができる。呼び出すことができるコンポーネントは、当該ＰＣ１３０の記憶装置に記憶されている図２（ａ）のＰＣデータのコンポーネントである。ミキサ構成画面上のコンポーネントの削除、結線の削除や変更などの編集も可能である。これらの操作は、現コンフィグのＣＦデータに反映される。なお、新規作成したＣＦデータには新たなCF_IDが付けられる。既存のＣＦデータを元にして（必要に応じて編集を施し）別のコンフィグ番号のＣＦデータとして書込むこともでき、その場合は、CF_IDは同じとし、カウントアップされたCF_Verが付けられる。
【００４７】
また、ユーザは、ミキサ構成画面に表示されている現コンフィグのＣＦデータのコンパイルを指示することができる。４０７は、このミキサ構成がコンパイルされていないことを示すメッセージである。コンパイルが実行されると、メッセージ４０７は、Compiledとなる。またミキサ構成画面でオンラインモードとオフラインモードの切換えを行うことができる。
【００４８】
図４（ｂ）は、コンポーネントの制御画面の例を示す。この制御画面４１０は、図４（ａ）のミキサ構成画面４００で何れかのコンポーネントをダブルクリックしたり、右クリックで「制御画面を開く」を選択することにより、表示される。コンポーネントの制御画面４１０は、当該コンポーネントの各種のパラメータ項目の値を設定変更するための操作子４１２や、現時点のパラメータ値を表示するためのメータやグラフなどの表示要素４１１，４１３などを備えている。操作子（つまみ）４１２を操作することにより、そのパラメータ値を変更することができる。制御画面におけるパラメータ値の変更は、図２（ｃ）のカレントシーンに反映される。また、オンラインモードのときは、図３（ｃ）のエンジン１００のカレントシーンにも反映される。
【００４９】
さらに、図４（ａ）のミキサ構成画面において、シーン番号を指定してシーンをリコールまたはストアすることができる。シーンのリコールが指示されると、当該シーンのコンフィグ番号のＣＦデータが現コンフィグとなり、そのミキサ構成画面が表示される。また、当該シーンのプリセット番号のプリセットが読み込まれてカレントシーンにセットされる。なお、本実施形態では、シーンのリコールによって現コンフィグの切り換えを行うものとする。ユーザはコンフィグ番号などで直接ＣＦデータを指定してそのＣＦデータを現コンフィグに設定することはできない。ただし、コンフィグ番号によって現コンフィグのＣＦデータを切り換える機能をユーザに解放してもよい。その場合は、各ＣＦデータ毎にカレントシーンのバックアップ領域を用意しておき、例えば第１ＣＦデータから第２ＣＦデータに現コンフィグが切り換えられたら、切り換える前のカレントシーンを第１ＣＦデータに対応するバックアップ領域に退避し、第２ＣＦデータに対応するバックアップ領域のデータをカレントシーンに読み込むようにする。
【００５０】
次に、本実施形態のミキサ制御プログラム１３１による動作を説明する。
【００５１】
図５（ａ）は、図４（ａ）のようなミキサ構成画面上で所定の操作により新たにコンポーネントを呼び出して画面上に配置する操作を行ったときの処理の流れを示す。呼び出されたコンポーネントはC_IDにより特定される。なお、厳密に言えばコンポーネントはC_IDとC_Verで特定されるが、ここでは１台のＰＣ１３０には同じC_IDで別バージョン（C_Ver）のＰＣデータを持たないことを仮定し、C_IDのみでコンポーネントを特定できるものとして説明する。コンポーネントを呼び出すときには、例えば入力ｃｈ数や出力ｃｈ数などのバリエーション情報Variも指定するものとする。もちろん、バリエーション情報Variを指定する必要のないコンポーネントではVariの指定はない。
【００５２】
ステップ５０１で、現コンフィグのＰＣ用ＣＡＤデータに、呼び出されたコンポーネントを特定するＣデータを追加する。このとき新たにU_IDを付与するものとし、バリエーション情報Variが指定されている場合は、それも当該Ｃデータ中に含める。ステップ５０２で、ＰＣ用ＣＡＤデータの各コンポーネントに対応する新カレントシーンの領域を確保する。ステップ５０３で、当該ＰＣ用ＣＡＤデータに基づいて新カレントシーンのアクセスルーチンを構成する。上述したようにカレントシーンのデータ構造は、現コンフィグのＰＣ用ＣＡＤデータに依存するため、各プログラムモジュールがそのデータ構造を意識しなくてもカレントシーンにアクセスできるようにアクセスルーチンを準備しておくものである。次に、ステップ５０４で、旧カレントシーンのデータを新カレントシーンに異コンフィグ間コピーする。コンポーネントを新たに追加する前と後とでＰＣ用ＣＡＤデータのデータ構造が異なるため、旧カレントシーンから新カレントシーンへのコピーは異コンフィグ間コピーとなる。異コンフィグ間コピーについては、後に詳しく説明する。
【００５３】
上記では新たにコンポーネントを呼び出す例を説明したが、コンポーネントを削除する場合も同様の手順で行えばよい。
【００５４】
図５（ｂ）は、ミキサ構成画面上で所定の操作により結線を編集したときの処理の流れを示す。ステップ５１１で、結線変更の操作指示に基づいて、現コンフィグのＰＣ用ＣＡＤデータ中の結線データを変更する。
【００５５】
なお、オンラインモードにあるときに、ＰＣ１３０でＣＡＤデータの編集（例えば、図５（ａ）や図５（ｂ））を行うと、ＰＣ１３０のＣＡＤデータとエンジン１００のＣＡＤデータの内容が同期の取れていない状態（非同期）になるため、自動的にオフラインモードに移行するものとする。
【００５６】
図５（ｃ）は、ミキサ構成画面でコンパイルが指示されたときの処理の流れを示す。ステップ５２１で、現コンフィグのＰＣ用ＣＡＤデータをコンパイルする。これにより、現コンフィグのＰＣ用ＣＡＤデータに対応するエンジン用ＣＡＤデータが、図２（ｃ）に示したエンジン用ＣＡＤデータ形成バッファに生成される。なお、コンパイルは、ミキサ構成画面上で作成したＰＣ用ＣＡＤデータのエラーチェックのために行うものであり、エラーがあれば、エラーメッセージを表示してユーザに知らせるものとする。コンパイルによりエンジン用ＣＡＤデータ形成バッファ上に生成したエンジン用ＣＡＤデータは使用しない。コンパイルにより生成したエンジン用ＣＡＤデータをエンジン１００に転送するのは、次の図６（ａ）のオンラインモードの処理による。また、念のために、ステップ５２１の後に図５（ａ）のステップ５０２〜５０４と同様の処理を行ってもよい。
【００５７】
図６（ａ）は、ミキサ構成画面でオンラインモードが指示されたときの処理の流れを示す。ステップ６０１で、図２（ｂ）の２１０に示したようにＲＡＭ上に展開されている各ＣＦデータについて、ＰＣ用ＣＡＤデータを順番に全てコンパイルし、ミキサエンジン１００に転送する。ステップ６０２で、各ＣＦデータ（コンフィグ）のライブラリをエンジンに転送する。ステップ６０３で、カレントシーン（必要ならエンジン１００が解釈できるデータ形式に変換する）をエンジン１００に転送する。ステップ６０４で、コンフィグデータ２１０内のシーンメモリをエンジン１００に転送する。ステップ６０５では、ＰＣ１３０とエンジン１００とで転送したデータの一致を確認し、確認できたらＰＣ１３０およびミキサエンジン１００をオンライン状態へ移行する。なお、エンジン１００は、ステップ６０１，６０２，６０４で転送されたコンパイル済みのデータをフラッシュメモリ１０２にコンフィグデータ（図３（ｂ））として格納し、ステップ６０３で転送されたカレントシーンをＲＡＭ１０３内に設定して（図３（ｃ））そのアクセスルーチンを準備する。
【００５８】
図６（ｂ）は、図４（ｂ）で説明したようなコンポーネントの制御画面上でつまみ操作が行われたときの処理の手順を示す。ステップ６１１で現在オンラインモードであるときは、ステップ６１２で、そのつまみ操作に応じたつまみ操作イベントをミキサエンジン１００に送出する。ステップ６１３で、カレントシーン中の当該コンポーネントの当該つまみに対応するパラメータ値を変更する。なお、制御画面上の他の操作子の操作が行われた場合も同様に処理すればよい。
【００５９】
図６（ｃ）は、ステップ６１２で送られたつまみ操作イベントを受信したミキサエンジン１００側の処理を示す。ステップ６２１で、エンジン側のカレントシーン中の当該コンポーネントの当該つまみに対応するパラメータ値を変更する。ステップ６２２で、該パラメータをＤＳＰ１１０に送り、ＤＳＰ１１０が該パラメータに応じて動作するように制御する。他の操作子の操作イベントの場合も同様である。
【００６０】
図７（ａ）は、図４（ａ）のようなミキサ構成画面においてシーンのストアが指示されたときの処理手順を示す。シーンのストアは、現時点のミキサ構成画面上のミキサ構成（現コンフィグ）及び設定されているパラメータ群（カレントシーン）を、１つのシーンとして、シーンメモリに保存するものである。ここではシーンｊ（シーンメモリ中のシーン番号がｊの領域）に保存する指示が為されたとする。
【００６１】
ステップ７０１で、シーンｊに現コンフィグのコンフィグ番号を保存する。なお、後のステップ７０４で使用するために、ステップ７０１を実行する前のシーンｊが、何もコンフィグ番号が格納されていない状態か、あるいは格納されている状態かの区別、及び、格納されているならそのコンフィグ番号をバックアップしておく。ステップ７０２で現在オンラインモードであるときは、ステップ７０３で、エンジン１００にシーンｊの保存命令を送出する。これにより、エンジン１００側でも本処理と同様のシーンのストアが実行される。ステップ７０４で、指示されたシーンのストアが、新規シーンの保存か、または異コンフィグ間での保存かを判定する。「新規シーンの保存」とは、ステップ７０１を実行する前の状態において、保存先のシーンｊの領域に未だ何も保存されていなかった場合を言う。「異コンフィグ間での保存」とは、ステップ７０１を実行する前の状態において、保存先のシーンｊの領域に既にシーンデータが保存されており、かつ、そこに保存されていたコンフィグ番号とステップ７０１で書込んだコンフィグ番号とが異なる場合を言う。ステップ７０４の判定でＹＥＳの場合は、ステップ７０５で現コンフィグのライブラリに新規プリセットの領域を作成し、ステップ７０６でシーンｊにその新規プリセットを示すプリセット番号を保存する。ステップ７０４の判定でＮＯの場合は、シーンｊに既に保存されていたコンフィグ番号とステップ７０１で書込んだコンフィグ番号とが同じということであるから、シーンｊに既に保存されているプリセット番号はそのままとしてステップ７０７に進む（プリセットの上書きとなる）。
【００６２】
ステップ７０７では、現コンフィグのＰＣ用ＣＡＤデータに基づいてプリセットのヘッダを生成する。このとき、ヘッダ中のコンポーネント数は、ＰＣ用ＣＡＤデータ中のＣデータの数とする。ヘッダ中のＣヘッダの並びは、ＰＣ用ＣＡＤデータ中のＣデータの並び順に応じて決定する。各ＣヘッダのC_ID，C_Ver，U_IDは、対応するＣデータに含まれるC_ID，C_Ver，U_IDと同じとする。エレメント数及び各エレメントシーンのデータサイズと配列情報は、当該コンポーネントのＰＣデータのＰＣ構成情報と、対応するＣデータ中のバリエーション情報Variとから、決定する。次に、ステップ７０８で、カレントシーンに該ヘッダを付与して、現コンフィグのライブラリのシーンｊのプリセット番号が示すプリセットに保存する。
【００６３】
図７（ｂ）は、図４（ａ）のようなミキサ構成画面においてシーンのリコールが指示されたときの処理手順を示す。ここではシーンｊから呼び出す指示が為されたとする。
【００６４】
ステップ７１１で現在オンラインモードであるときは、ステップ７１２で、エンジン１００にシーンｊの呼出命令を送出する。これにより、エンジン１００側でも本処理と同様のシーンのリコールが実行される。ステップ７１３では、シーンｊのコンフィグ番号を読出す。次にステップ７１４で、読出したコンフィグ番号が現コンフィグのコンフィグ番号と異なるか否か判定する。異なるときは、ステップ７１５で、カレントポインタを設定変更して前記読出したコンフィグ番号のＣＦデータが現コンフィグになるようにし（ミキサ構成画面も変更する）、その現コンフィグのＰＣ用ＣＡＤデータに合ったデータ構造の新たなカレントシーンの領域を用意し、当該カレントシーンのアクセスルーチンを準備する。ステップ７１４で同じコンフィグ番号のときは、カレントポインタは変更せずに、カレントシーンだけ変更すればよいから、そのままステップ７１６に進む。ステップ７１６では、現コンフィグのライブラリからシーンｊのプリセット番号が示すプリセットを読出してカレントシーンに書込む。この処理において、読出し元のプリセットのデータ構造は、そのヘッダを参照して特定することができる。また、書込み先のカレントシーンについては、そのデータ構造に沿ったアクセスルーチンを準備してある。従って、プリセットの動作データセットを、そのヘッダ情報が示すデータ構造から現コンフィグのＣＡＤデータに対応したデータ構造に変換しつつ、カレントシーンに設定できる。
【００６５】
図８は、ステップ７１６のカレントシーンへの書込みの処理手順を示す。前提として、現コンフィグのコンフィグ番号と、読出すべきプリセット番号が与えられている。ステップ８０１で、現コンフィグのCF_IDを取り込む。ステップ８０２で、取り込んだCF_IDと書込み先のカレントシーンに対応するCF_IDとを比較する。カレントシーンは現コンフィグのパラメータデータセットを格納しているので、カレントシーンに対応するCF_IDとは現コンフィグのCF_IDそのものであり、ステップ８０２では必ずＹＥＳに進む。なお、ステップ８０２は、図８の処理を一般化する場合に意味を持つものであり、これについては後述する。
【００６６】
ステップ８０３でカレントシーンをプロテクトし、他の処理から書込むことができないようにする。ステップ８０４で最初のU_IDのコンポーネントを準備する。これは、読出し元のプリセットのヘッダを参照してU_ID＝１のＣシーンを求め、書込み先のカレントシーンに対応するＣＦデータ（現コンフィグ）のＰＣ用ＣＡＤデータからU_ID＝１のコンポーネントを求め、カレントシーン内の当該コンポーネントに対応するＣシーンを求める処理である。なお、図２（ｂ）のU_IDの説明からも分かるように、CF_IDが一致している２つのコンフィグ間ではU_IDが一致しているコンポーネント同士が対応しており、そこで本処理では、U_IDをカウントアップしながら対応するコンポーネント間のＣシーンのコピーを順に行うようにしている。
【００６７】
次にステップ８０５で、読出し元のプリセット側で準備したＣシーンのC_ID（対応するＣヘッダから取得する）と書込み先のカレントシーン内のＣシーンのC_ID（ＰＣ用ＣＡＤデータのＣデータから取得する）とを比較する。一致していたら、ステップ８０６〜８０９で、上記読出し元のプリセット側で準備したＣシーンから上記書込み先のカレントシーン内のＣシーンへとパラメータデータを読出し及び書込む処理を行う。すなわち、ステップ８０６で最初のエレメントを準備し、ステップ８０７でそのエレメントシーンの読出し及び書込み処理を行い、ステップ８０８で次のエレメントを準備し、エレメントがあればステップ８０９から８０７に戻る。全てのエレメントについてコピーしたらステップ８０９に進む。
【００６８】
ステップ８１０では、ステップ８０４と同様にして、次のU_IDのコンポーネントを準備する。当該U_IDのコンポーネントがあればステップ８０５に戻って処理を続ける。コンポーネントがないときは、ステップ８１２でカレントシーンのプロテクトを解除し、ステップ８１３で書込みできなかったコンポーネントやエレメントを表示して、処理を終了する。
【００６９】
上記ステップ８０７において、一般的には読出し元のエレメントシーンと書込み先のエレメントシーンとでデータ構造が一致しているとは限らない。CF_ID、U_ID及びC_IDがそれぞれ一致しているので、両エレメントシーンでデータ形式（単一値か一次元配列か二次元配列か）が一致していることは保証される。ただし、配列要素数と１要素のデータサイズは変更されている可能性がある。読出し元あるいは書込み先のエレメントシーンのデータ構造（配列要素数と１要素のデータサイズ）は、そのエレメントシーンがプリセット内データであればヘッダを参照することにより分かり、カレントシーンであればＰＣデータのＰＣ構成情報やバリエーション情報Variから求めることができる。従って、ステップ８０７では、データ構造の変換も行いつつパラメータデータセットのコピーを行うことができる。なお、カレントシーンのアクセスルーチンを構築する際に、ＰＣ構成情報やバリエーション情報Variを参照して、具体的な配列要素数や１要素のデータサイズまで意識したアクセスルーチンを構築しておけば、カレントシーンにアクセスするときにＰＣ構成情報やバリエーション情報Variを参照せずに済ますことも可能である。
【００７０】
上記図８は、ステップ７１６の詳細な手順として説明したが、一般化して任意の２つのパラメータデータセット間のデータコピーにも適用できる。例えば、任意の２つのプリセット間、あるいは図５（ａ）のステップ５０４や図５（ｃ）のステップ５２４の異コンフィグ間でのパラメータデータセットのコピーは、図８と同様の手順で行えばよい。一般化した場合は、ステップ８０２でCF_IDの一致をチェックする意味がある。CF_IDが一致していれば、U_IDで対応するコンポーネントが把握できるので、それら対応するコンポーネント間ではパラメータデータセットをコピーできる。
【００７１】
図９は、ステップ８０７におけるエレメントシーンの書込み処理の例を示す。上述したようにこのエレメントシーンの書込みでは、エレメントシーンのデータ形式については一致するが、配列要素数と１要素のデータサイズが異なる可能性がある。これらの相違に応じた書込みのルールは、以下のとおりである。
【００７２】
図９（ａ）は、エレメントシーンが単一の値から成る場合である。９０１は書込むデータEx、９０２は書込み先のデータEoを示す。エレメントシーンの書込み処理により、９０３に示すように、書込み先のデータがExに書き替わる。
【００７３】
図９（ｂ）は、エレメントシーンのデータ形式が一次元配列の場合である。９１１は書込むエレメントシーンのデータを示す。このデータの要素数は４である。書込み先のエレメントシーン９１２の要素数が６のとき、書込み処理により、９１３に示すように書込み先のエレメントシーンの先頭から４番目の要素までが書込むデータE[1]xからE[4]xに書き替わる。元からあるE[5]oとE[6]oは変化しない。一方、書込み先のエレメントシーン９１４の要素数が２のときは、９１５に示すように２つの要素が書き替わり、E[3]xとE[4]xは無視される。
【００７４】
図９（ｃ）は、エレメントシーンのデータ形式が二次元配列の場合である。書込むエレメントシーンのデータ９２１は、行要素数が４、列要素数が３の形式である。書込み先のエレメントシーン９２２は、行要素数が６、列要素数が２である。書込み処理により、９２３に示すように、重なる部分のみが書き替えられ、その他は無視される。
【００７５】
以上のように、エレメントシーンが配列であるときは、書込み元と書込み先とで、要素の添字が一致する要素は書き替え、書込み元のみに存在する添字の要素は無視し、書込み先のみに存在する添字の要素はそのままとされる。
【００７６】
図９（ｄ）は、１要素のデータサイズに関し書込み先領域が書込み元より大きい場合である。書込むデータEx９３１に対し書込み先領域９３２が大きいので、９３３に示すようにデータExがサイズアップされて書込まれる。図９（ｅ）は、１要素のデータサイズに関し書込み先領域が書込み元より小さい場合である。書込むデータEx９４１に対し書込み先領域９４２が小さいので、９４３に示すようにデータExがサイズダウンされて書込まれる。
【００７７】
なお、エンジン１００側でシーンのストアやリコールを行う場合も、上記図７から図９で説明したのと同様に処理しているものである。
【００７８】
上記実施形態によれば、各プリセットにヘッダを設けてC_IDや各エレメントのデータ形式の情報などを保持しているので、ＰＣデータのＰＣ構成情報及びＣＦデータ中のバリエーション情報Variを参照しなくても、ヘッダを参照するだけで、プリセット中のＣシーンのデータ構造は取得できる。従って、ＰＣ用ＣＡＤデータの変更に応じてプリセットのデータ構造も変更する必要が生じたとしても、直ぐにそれを行う必要はない。例えば、ＣＡＤデータに新たにコンポーネントを追加したり既存のコンポーネントを削除した場合や、ＣＡＤデータ中のあるコンポーネントのバリエーション情報（例えば入力数や出力数など）を変更した場合、関連するプリセットのデータ構造を変更する必要があるが、直ぐにそれを行う必要はない。プリセットのデータが必要になったタイミング、例えばシーンリコールでプリセットを読出すときなどに、読出し元と書込み先とでCF_IDの一致を確認し、U_IDが一致するコンポーネント同士でパラメータデータセットのコピーを行えばよい。この際、プリセットのヘッダから、当該プリセット内のデータ構造が分かるので、他のデータを参照せずに、当該プリセットを再利用できる。
【００７９】
なお、ヘッダは、対応するＣＡＤデータに含まれる各コンポーネントに関する情報を保持するようにすればよいが、例えば、以下のような情報でもよい。
(例１)U_ID、C_ID
(例２a)U_ID、C_ID、C_Ver
(例２b)U_ID、C_ID、コンポーネントの各エレメントのデータサイズ
(例３a)U_ID、C_ID、バリエーション情報Vari
(例３b)U_ID、C_ID、コンポーネントの各エレメントの配列情報
(例４a)U_ID、C_ID、C_Ver、Vari
(例４b)U_ID、C_ID、コンポーネントの各エレメントのデータサイズと配列情報
【００８０】
上記実施形態は上記（例４b）に相当する。上記(例１)のように、ヘッダには少なくともU_IDとC_IDを含めれば意味がある。コンポーネント間の対応関係が分かるからである。
【００８１】
C_VerとVariは、それぞれプリセットの汎用性を高めるために付与されているのであって、ヘッダに必須の要素ではない。すなわち、C_Verを加えることにより、コンポーネントをバージョンアップした場合でも、同じC_IDを付与してバージョン前のコンポーネントのプリセットを利用することができる。また、Variを加えることにより、基本構成が同じで規模だけが異なるコンポーネントを同じC_IDで管理することができ、異なる規模のコンポーネントでプリセットを相互利用することができる。
【００８２】
また、各エレメントのサイズ＆配列情報は、C_VerやVariの代わりに使用できるデータである。「コンポーネントバージョンを変えるとき、各エレメントのプリセットを追加のみ可で、既にあるプリセットの変更や削除は不可」というルールを設けることにより、エレメントのサイズはバージョンの代わりになる。また、エレメントの配列情報は、そのままVariが示すコンポーネントの規模に対応する。
【００８３】
ヘッダにC_VerやVariを記憶する場合、プリセットのアクセス時にそのC_VerやVariでＰＣデータを参照してエレメントのサイズや配列情報を得なければならないが、エレメントのサイズ＆配列を記憶していれば、プリセットのアクセス時にそのままパラメータとして使用できる。
【００８４】
プリセットは、何らかのＣＡＤデータに対応するデータ構造をもった動作データの組であればよく、必ずしもシーンメモリに記憶されるシーンには限定さない。例えば、各ミキサエンジンのライブラリのプリセットデータ（各ミキサエンジンで実行するＣＡＤデータに対応したデータ構造を有する）や、カスタムコンポーネントのライブラリのプリセットデータ（カスタムコンポーネントのＣＡＤデータに対応したデータ構造を有する）であってもよい。カスタムコンポーネントとは、複数のプリセットコンポーネント（本実施形態におけるＰＣデータで特定されるコンポーネント）を組合わせて１つのコンポーネントとして取扱うことができるようにしたものである。
【図面の簡単な説明】
【００８５】
【図１】この発明の一実施形態であるディジタルミキサのエンジンの構成図
【図２】ＰＣ上の各種データの構成図
【図３】エンジン上の各種データの構成図
【図４】ミキサ構成画面と制御画面の例を示す図
【図５】新たにコンポーネントを配置した場合の処理などのフローチャート図
【図６】オンライン指示イベント処理などのフローチャート図
【図７】シーンリコール処理及びストア処理のフローチャート図
【図８】カレントシーンへの書込み処理のフローチャート図
【図９】エレメントシーンの書込み処理の例を示す図
【符号の説明】
【００８６】
１００…エンジン、１０１…ＣＰＵ、１０２…フラッシュメモリ、１０３…ＲＡＭ、１０４…ＰＣ  Ｉ／Ｏ、１０５…ＭＩＤＩ  Ｉ／Ｏ、１０６…その他Ｉ／Ｏ、１０７…表示器、１０８…操作子、１０９…波形Ｉ／Ｏ、１１０…信号処理部（ＤＳＰ群）、１１１…カスケードＩ／Ｏ、１２０…システムバス、１３０…パーソナルコンピュータ（ＰＣ）、１３１…ミキサ制御プログラム、１３２…コンフィグ（ＣＦ）データ。
【図１】
2006033153.tif 000003
【図２】
2006033153.tif 000004
【図３】
2006033153.tif 000005
【図４】
2006033153.tif 000006
【図５】
2006033153.tif 000007
【図６】
2006033153.tif 000008
【図７】
2006033153.tif 000009
【図８】
2006033153.tif 000010
【図９】
2006033153.tif 000011