(57)【特許請求の範囲】
【請求項１】
マイクロプログラムに従って動作可能なディジタル信号処理手段を用いて音響信号処理部を構成し、所定の信号処理モジュールに応じたマイクロプログラムを前記音響信号処理部で動作させることにより、前記信号処理モジュールの音響信号処動作を実現する音響信号処理システムで実行される１つの信号処理モジュールであって、当該信号処理モジュールは、
複数の入力端子と、
複数の出力端子と、
複数の交点要素であって、それぞれ、１つの入力端子から１つの出力端子への交点に設けられており、当該入力端子から当該出力端子への信号をオン／オフするオン／オフ要素と、該信号のレベルをレベル値に従って制御するレベル制御要素とを備える複数の交点要素と、
前記交点要素の数よりも少ない数の遅延要素であって、それぞれ、入力信号を遅延して出力する複数の遅延要素と、
所望の交点要素に対する信号オン／オフ指示に応じて、当該交点要素における前記オン／オフ要素のオン／オフ状態を反転させるオンオフ制御手段と、
所望の交点要素に対するレベル変更指示に応じて、当該交点要素における前記レベル制御要素の前記レベル値を変更するレベル制御手段と、
遅延要素が未割り当ての所望の交点要素に対する遅延オン指示に応じて、前記複数の遅延要素に未割り当ての遅延要素があれば、該遅延要素を当該交点要素に対して割り当て、割り当てた遅延要素により割り当てられた交点要素の信号を遅延する割当手段と、
遅延要素が割り当てられた所望の交点要素に対する遅延オフ指示に応じて、該遅延要素による当該交点要素の信号の遅延を中止させ、該遅延要素を開放する開放手段と、
遅延要素が割り当てられた所望の交点要素に対する遅延量変更指示に応じて、当該交点要素における該遅延要素の遅延量を変更する遅延量制御手段と
を備えたことを特徴とする信号処理モジュール。
【請求項２】
請求項１に記載の信号処理モジュールにおいて、
前記遅延要素の数は、前記音響信号処理部が持つリソースに応じて予め決定されていることを特徴とする信号処理モジュール。
【請求項３】
請求項１に記載の信号処理モジュールにおいて、
前記ディジタル信号処理手段は遅延メモリを有しており、
前記遅延要素の数は、前記ディジタル信号処理手段の該遅延メモリに対する各サンプリング周期あたりのアクセス可能回数に応じて予め決定されていることを特徴とする信号処理モジュール。
【請求項４】
請求項３に記載の信号処理モジュールにおいて、
前記音響信号処理部は前記ディジタル信号処理手段を複数備え、当該信号処理モジュールに対してそのうちの一部のディジタル信号処理手段が割り当てられ、前記遅延要素の数は、割り当てられた前記ディジタル信号処理手段の該遅延メモリに対する各サンプリング周期あたりのアクセス可能回数に応じて予め決定されていることを特徴とする信号処理モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、信号処理装置（ＤＳＰ：Digital Signal Processor）に実行させる信号処理モジュールの技術に関し、特にＤＳＰを用いて音響信号をミキシングする際に、複数の入力から複数の出力への各交点に任意に遅延要素を割り当てることができるディレイ付きマトリクスミキサを実現する技術に関する。
【背景技術】
【０００２】
従来より、非特許文献１に記載されているようなミキサ構成をカスタムメイドできるディジタルミキサが知られている。これは、音響信号処理部を、プログラムに従って動作可能な複数のＤＳＰを用いて構成し、外部のＰＣ（パーソナルコンピュータ）を用いて作成編集したミキサ構成（信号処理構成）に基づいて音響信号を処理できるようにしたものである。ＰＣ上でのミキサ構成の作成編集は、専用のミキサ制御プログラムにより行う。すなわち、ＰＣ上でミキサ制御プログラムを動作させてミキサ編集画面を表示し、該画面上で信号処理を行う部品となるコンポーネント（構成要素）を配置し、配置したコンポーネントの入力端子と出力端子間を結線でつないで入出力関係を規定して、ミキサ構成を作成編集する。作成したミキサ構成をコンパイル（ディジタルミキサが解釈できる情報に変換すること）ディジタルミキサに転送して実行することにより、ディジタルミキサはそのミキサ構成の動作を実現する。
【０００３】
上述のコンポーネントの１つにマトリクスミキサコンポーネントがある。マトリクスミキサコンポーネントとしては、ディレイ無しの通常のマトリクスミキサとディレイ付きマトリクスミキサがある。
【０００４】
通常のマトリクスミキサは、ｎ入力ｍ出力（入力数ｎと出力数ｍの数には種々のバリエーションがある。例えば最大で、ｎ＝６４、ｍ＝６４である。）で、ｎ個の入力端子からｍ個の出力端子への全ての交点（CrossPoint）において、当該入力端子から当該出力端子へ信号を送出するかのオン／オフ制御と、オンの場合の送出レベルの制御を行うことができるものである。ＰＣのミキサ編集画面上に配置された通常のマトリクスミキサをダブルクリックすると、コンポーネントエディタが表示される。コンポーネントエディタの画面で、上記各交点のオン／オフ制御とレベル制御が行える。
【０００５】
ディレイ付きマトリクスミキサも同様のものである。「ディレイ付き」とは、各交点において、上述したオン／オフ制御とレベル制御に加えて、遅延要素（可変ディレイ）を備えていると言うことである。この遅延要素により、入力端子から出力端子に送出する信号を遅延させることができる。例えば、広い会場のいくつかの場所にスピーカを配置したとき、聴取者の位置によっては、各スピーカからその聴取者の位置までの距離が異なるため音がずれて聞こえる場合がある。ディレイ付きマトリクスミキサは、このような場合に、何れかのスピーカからの発音を所定時間だけ遅延させ、これにより上記聴取者の位置での音ずれをなくす、というように利用されるものである。
【０００６】
ディレイ付きマトリクスミキサは、ｎ入力ｍ出力（入力数ｎと出力数ｍの数には種々のバリエーションがある。例えば最大で、ｎ＝８、ｍ＝１６である。）で、ｎ個の入力端子からｍ個の出力端子への全ての交点に、オン／オフ要素（スイッチ）と遅延要素（可変ディレイ）とレベル制御要素（ノブ）が備えられている。
【非特許文献１】「DIGITAL MIXING ENGINE DME64N/DME24N 取扱説明書」、ヤマハ株式会社、２００４年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、ＤＳＰでマイクロプログラムを実行させる際には、ＤＳＰの１サンプリング周期内で実行できるステップ数、データを保持する内部レジスタ数、外部に接続される遅延メモリの容量やアクセス回数、といった様々なリソースの制限がある。従って、上記ディレイ付きマトリクスミキサの遅延要素に関しても、ＤＳＰリソースのうちの前記アクセス回数の制限により、実現できる遅延要素数に限度がある。そのため、ディレイ付きマトリクスミキサを構成しようとした場合、遅延要素数の制限により、あまり大きなマトリクスミキサを構成することができないという不都合があった。例えば、上述したようにディレイ付きマトリクスミキサの最大サイズが８入力×１６出力であったというのは、遅延要素数が１２８個（８×１６）程度しか設けられない（言い替えると、１サンプリング周期内で遅延メモリに１サンプル書き込み１サンプル読み出す処理を１２８回程度しか行えない）ことを示しているものである。
【０００８】
本発明は、遅延要素数の制限を超えた規模のディレイ付きマトリクスミキサを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明は、信号処理装置に実行させる信号処理モジュールにおいて、複数の入力端子と複数の出力端子との交点である交点要素に、それぞれ、当該入力端子から当該出力端子への信号をオン／オフするオン／オフ要素と、該信号のレベルを制御するレベル制御要素とを備えると共に、その交点要素の数よりも少ない数の遅延要素を、任意の交点要素に割り当て、割り当てた遅延要素により割り当てた交点要素の入力端子から出力端子への信号を遅延させるようにしたことを特徴とするものである。
【００１０】
例えば、ディジタル信号処理手段を用いて音響信号処理部を構成したディジタルミキサと、作成したミキサ構成データをディジタルミキサに転送し、そのミキサ構成データに応じたマイクロプログラムを生成して実行することを指示するＰＣとを備え、前記ＰＣでは、複数の入力端子と複数の出力端子との各交点を表示し、表示された各交点に対して、当該入力端子から当該出力端子への信号送出のオン／オフを示すオン／オフ情報とその信号の送出レベルとを指定し、任意の交点に対し全交点の数より少ない所定数以下の遅延要素を割り当て、前記オン／オフ情報と送出レベルと遅延要素の割り当て情報とを含むミキサ構成データをディジタルミキサに送信するようにし、前記ディジタルミキサでは、ミキサ構成データに基づくマイクロプログラムを生成する手段で、(i)全交点毎に、前記各交点のオン／オフ情報と送出レベルに基づいて、その交点における信号のオン／オフ制御と送出レベル制御を行う交点処理を設け、(ii)前記遅延要素の割り当て情報に基づいて、遅延要素が割り当てられた交点に対して、その交点の交点処理を行う前または後の処理として遅延処理を挿入したマイクロプログラムを生成し、生成したマイクロプログラムを音響信号処理部にロードして実行させることにより、前記各交点におけるオン／オフ制御と送出レベル制御、及び、前記遅延要素が割り当てられた交点における入力端子から出力端子への信号の遅延を含む音響信号処理を行うようにすればよい。この場合、ＰＣとディジタルミキサとを区別することなく一体的な構成ととらえてもよい。
【００１１】
音響信号処理部は、例えば複数のディジタル信号処理手段（ＤＳＰ）でそれぞれ遅延用メモリを備えたもので構成する。その場合、全交点を複数の集合に分け、各集合の交点の処理を各ディジタル信号処理手段に割り当てるようにする。割り当てることができる遅延要素（遅延処理）の数は、各ディジタル信号処理手段が持つリソースに応じて決定されるものである。このリソースとは、具体的には、ディジタル信号処理手段が遅延用メモリに１サンプリング周期あたりにアクセス可能な最大回数から規定される資源である。
【発明の効果】
【００１２】
本発明によれば、信号処理手段の限られたリソースに応じた数の遅延要素（遅延処理）を任意の交点に割り当て、割り当てた交点のみで信号の遅延を行うようにしているので、限られた数の遅延要素で、入力数×出力数（全交点の数）がより大きな規模のディレイ付きマトリクスミキサを実現することができる。実際上、全ての入力端子から出力端子への交点が全部オンに設定されるという状況は稀であり、また、たまたま全ての交点をオンにすることがあったとしても、それらの交点の全てのディレイをオンすることはほとんど無い。従って、本発明のように限られた数の遅延要素をマトリクスミキサの交点に自由にアサインして使うようにすることで、全交点の数が大きいマトリクスミキサが実現でき、しかも実際上の問題が何ら発生しないようにできる。
【００１３】
特に、複数のディジタル信号処理手段で音響信号処理部を構成する場合は、マトリクスミキサの全交点を複数の集合に分け、各集合に含まれる交点の処理を、それらの各集合にそれぞれ対応するディジタル信号処理手段で処理するので、割り当て可能な遅延要素の処理が１つの信号処理手段内に取り込まれることになり、外部の信号処理手段に遅延処理を行わせることに比べて、リソースの節約が実現できる。また、１つの信号処理手段とそれに接続されている遅延用メモリのリソースから来る遅延要素数の制限を超えて、全体として大規模な入力数×出力数のディレイ付きマトリクスミキサを実現できる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を用いてこの発明の実施の形態を説明する。
【００１５】
図１は、この発明の一実施形態であるディジタルミキサのエンジンの構成を示す。このエンジン１００は、中央処理装置（ＣＰＵ）１０１、フラッシュメモリ１０２、ＲＡＭ（ランダム・アクセス・メモリ）１０３、ＰＣ入出力インターフェース（Ｉ／Ｏ）１０４、ＭＩＤＩ  Ｉ／Ｏ１０５、その他Ｉ／Ｏ１０６、表示器１０７、操作子１０８、波形Ｉ／Ｏ１０９、信号処理部（ＤＳＰ群）１１０、及びシステムバス１２０を備える。
【００１６】
中央処理装置（ＣＰＵ）１０１は、このミキサ全体の動作を制御する処理装置である。フラッシュメモリ１０２は、ＣＰＵ１０１や信号処理部１１０のＤＳＰなどが使用する各種のプログラムやデータを格納した不揮発性メモリである。ＲＡＭ１０３は、ＣＰＵ１０１が実行するプログラムのロード領域やワーク領域に使用する揮発性メモリである。ＰＣ  Ｉ／Ｏ１０４は、外部のパーソナルコンピュータ（以下、ＰＣと言う）１３０を接続するインターフェース（例えば、ＬＡＮ、ＵＳＢ、シリアルＩ／Ｏなど）である。ＰＣ１３０は、キーボード、ディスプレイ、及びマウスなどを備えた汎用のＰＣである。ＭＩＤＩ  Ｉ／Ｏ１０５は、各種ＭＩＤＩ機器を接続するインターフェースである。その他Ｉ／Ｏ１０６は、その他の機器を接続するためのインタフェースである。表示器１０７は、このミキサの外部パネル上に設けられた各種の情報を表示するためのディスプレイである。操作子１０８は、外部パネル上に設けられたユーザが操作するための各種の操作子である。波形Ｉ／Ｏ１０９は、外部機器との間で音響信号をやり取りするためのインターフェースであり、例えば、アナログの音響信号を入力してディジタル信号に変換して信号処理部１１０に渡すＡ／Ｄ（アナログ・ディジタル）変換機能、ディジタルの音響信号を入力して信号処理部１１０に渡すディジタル信号入力機能、及び信号処理部１１０から出力されたディジタルの音響信号をアナログの音響信号に変換してサウンドシステムに出力するＤ／Ａ（ディジタル・アナログ）変換機能などを実現する。信号処理部１１０は、幾つかのＤＳＰ（ディジタル・シグナル・プロセッサ）などからなる。これらのＤＳＰは、ＣＰＵ１０１の指示に基づいて各種のマイクロプログラムを実行することにより、波形Ｉ／Ｏ１０９経由で入力した波形信号のミキシング処理、効果付与処理、及び音量レベル制御処理などを行い、処理後の波形信号を波形Ｉ／Ｏ１０９経由で出力する。
【００１７】
本ディジタルミキサのエンジン１００では、信号処理部１１０で実現するミキサ構成をカスタムメイドすることができる。そのミキサ構成は、ＰＣ１３０上で動作する所定のミキサ制御プログラム１３１によりＰＣ１３０の画面上で作成編集することができる。作成したミキサ構成を複数集めたものをコンフィグレーションと呼ぶ。ミキサ制御プログラム１３１は、ユーザの画面上での操作指示に応じて、コンフィグレーションをメモリ上にコンフィグデータ１３２として生成する。コンフィグデータ１３２は、ＰＣ１３０から書込み可能な任意の記憶装置にファイルとして保存できる。また、ＰＣ１３０側のメモリまたはハードディスクなどの記憶装置上のコンフィグデータの各ミキサ構成は、コンパイルした後、エンジン１００に転送できる。エンジン１００は、ＰＣ１３０から転送されたコンフィグデータをフラッシュメモリ１０２に格納して保存しておくことができる。所定の操作によりフラッシュメモリ１０２に格納されたコンフィグデータ中の１つのミキサ構成をカレントとして指定することにより、そのミキサ構成に基づいてエンジン１００が動作し、これにより当該ミキサ構成で規定されるミキサが実現する。
【００１８】
ミキサ制御プログラム１３１は、操作モードとしてオンラインモードとオフラインモードを有する。所定の操作により、それらのモードを切り換えることができる。オフラインモードは、ＰＣ１３０側のみで、コンフィグデータを作成編集するモードである。オンラインモードは、ＰＣ１３０のミキサ制御プログラム１３１からエンジン１００をリアルタイムに制御するモードである。オンラインモードが指定されると、その時点でＰＣ１３０のＲＡＭ上に展開されているコンフィグデータが（コンパイルの後）エンジン１００に転送されてフラッシュメモリ１０２に格納され、これによりＰＣ１３０とエンジン１００とでコンフィグデータが一致する。また、ＰＣ１３０側でカレントとして指定されているミキサ構成の状態（パラメータ設定値など）がエンジン１００に送られて、ＰＣ１３０とエンジン１００とが完全に同期した状態となり、ＰＣ１３０からエンジン１００を制御できるようになる。例えば、ＰＣ１３０のミキサ構成画面上に表示されたコンポーネントがフェーダを備えている場合、あるいは、あるコンポーネントの制御画面がフェーダを備えている場合、オンラインモードでは、そのフェーダをマウスを用いて操作するとその操作はリアルタイムにエンジン１００に反映される。オンラインモードでは、ＰＣ１３０側でコンポーネントの構成と結線は変更できない。変更すると自動的にオフラインモードになる。
【００１９】
図２は、図１の信号処理部１１０周辺の拡大図である。信号処理部１１０は、複数のＤＳＰ（ここでは４つのみ図示したが実際にはもっと多い）２０１〜２０４、各ＤＳＰに接続されている遅延用メモリ２０５〜２０８、及び波形バス２１０を備える。各ＤＳＰ２０１〜２０４と波形Ｉ／Ｏ１０９とは波形バス２１０を介してデータをやり取りする。各ＤＳＰ２０１〜２０４は、それぞれＣＰＵバス１２０に接続されている。ＣＰＵ１０１は、ＣＰＵバス１２０を介して各ＤＳＰ２０１〜２０４に所定のマイクロプログラムやパラメータデータを転送し、各ＤＳＰに実行させる。これにより、各ＤＳＰを所望の通りに動作させ、波形バス２１０経由で波形Ｉ／Ｏ１０９から楽音波形データを入力し、ミキシング、効果付与、及び信号レベルの設定などの処理を施して、再び波形バス２１０と波形Ｉ／Ｏ１０９経由で出力させることができる。
【００２０】
波形バス２１０は、所定のサンプリングクロックに基づいて時分割で２４ビットの信号を１２８チャンネル（ｃｈ）伝送することができる。これら１２８の各ｃｈ（言い換えると１２８のタイムスロットのうちの１つ）は、ＤＳＰ２０１〜２０４のうちの１つまたは波形Ｉ／Ｏ１０９の出力のうちの１つに割り当てられ、割り当てられたＤＳＰまたは波形Ｉ／Ｏの出力はそのｃｈへ信号を出力する。また、その出力からの信号を受け取りたいＤＳＰまたは波形Ｉ／Ｏの入力は、その割り当てられたｃｈから信号を取り込む。これにより、ＤＳＰ２０１〜２０４及び波形Ｉ／Ｏ１０９の任意の入力と出力とを結線することができる。
【００２１】
各ＤＳＰでは、各種の信号処理を実行するが、その際、波形信号を遅延させる処理を行う場合がある。遅延量が短い場合はＤＳＰ内部のレジスタで遅延を実現する。遅延量が比較的長い場合は遅延用メモリ２０５〜２０８を用いる。各遅延用メモリ２０５〜２０８は、それぞれ１サンプリング周期あたり所定回数（例えば２５６回程度）アクセスすることが可能なものであり、これにより波形信号を所定時間遅延させた信号を得ることができる。
【００２２】
図３（ａ）は、ＰＣ１３０のミキサ制御プログラム１３１が使用するＰ（プリセット）コンポーネントデータ（ＰＣデータ）の構成を示す。Ｐコンポーネント（以下、単にコンポーネントと言う）は、ミキサ構成をカスタムメイドする際の基本単位部品となるブロック（信号処理モジュール）であり、例えば、（ディレイ無しの）マトリクスミキサ、ディレイ付きマトリクスミキサ、コンプレッサ、エフェクト、クロスオーバなどのオーディオプロセッサや、フェーダ、スイッチ、パン、メータなどの個々のパーツのコンポーネントが用意されている。ミキサ制御プログラム１３１によるミキサ構成の作成編集は、具体的には、ＰＣ１３０のミキサ構成画面上で、これらのコンポーネントを配置して結線するものである。コンポーネント間に結線を引くことは、コンポーネント間の信号の入出力関係を定義することに相当する。図３（ａ）に示すＰＣデータは、コンポーネントを規定する定義データであり、ミキサ制御プログラム１３１がアクセスできる任意の記憶手段（ミキサ構成画面で利用するために呼び出されたときにはＲＡＭ中）に予め格納されている。ＰＣデータはコンポーネントの種類毎に用意される。
【００２３】
１つのＰＣデータは、ＰＣヘッダ、ＰＣ構成情報、ＰＣ処理ルーチン、及び表示編集処理ルーチンからなる。ＰＣヘッダは、コンポーネントＩＤ（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を指定してコンポーネントを特定する。
【００２７】
１つのパラメータ組は、それが含まれるＣＦデータのＰＣ用ＣＡＤデータのミキサ構成で使用する具体的なパラメータ値の組データを示す。ＰＣ用ＣＡＤデータによって１つのミキサ構成が規定されるが、実際にそのミキサ構成でディジタルミキサが動作する際には各コンポーネントに所定のパラメータを設定する必要がある。例えば、ディレイ付きマトリクスミキサであれば入力端子と出力端子との各交点における出力信号レベルなどのパラメータ値を設定する必要があるということである。パラメータ組は、そのような各コンポーネントが実際に動作する際に使用するパラメータ値のデータセットであり、ヘッダとパラメータ値からなる。パラメータ組は、１〜Ｎpsのパラメータ番号で特定される。
【００２８】
シーンメモリにはＮs個（個数は任意）のシーン１〜Ｎsが格納される。１〜Ｎsの番号をシーン番号と呼ぶ。シーン番号で、各シーンが格納されている領域あるいはその領域に格納されたシーンを特定することができる。１つのシーンは、コンフィグ番号とパラメータ組番号を備える。ユーザは、シーン番号を指定してシーンを呼び出す（これをシーンのリコールと言う）ことができる。シーンのリコールが指示されると、当該シーンのコンフィグ番号のＣＦデータが現コンフィグとなるようにカレントポインタがセットされ、当該ＣＦデータが後述するミキサ構成画面（図４）に表示され、当該シーンのパラメータ組番号のパラメータ組が読み込まれてカレントシーン（図３（ｃ）で後述）にセットされる。逆に、ユーザは、現コンフィグ及び現カレントシーンを、シーン番号を指定してシーンメモリに保存することもできる（これをシーンのストアと言う）。
【００２９】
エンジン１００のフラッシュメモリ１０２上のコンフィグデータも、図３（ｂ）と同様の構成である。ただし、エンジン１００側のコンフィグデータのＣＡＤデータは、ミキサ構成画面で示されるようなミキサ構成を表すデータである点はＰＣ１３０側のＰＣ用ＣＡＤデータと同じだが、エンジン１００内では表示のためのデータは不要であり、またデータ量を少なくするため、表示データを含まずバイナリ形式で表現されたエンジン用ＣＡＤデータになっている。エンジン用ＣＡＤデータは、ＰＣ用ＣＡＤデータをコンパイルすることにより、後述する図３（ｃ）のエンジン用ＣＡＤデータ形成バッファ上に生成されエンジン１００に転送されたものである。エンジン１００側もカレントポインタを有し、カレントポインタが指すＣＦデータが「現コンフィグ」である。
【００３０】
図３（ｃ）は、ＰＣ１３０においてミキサ制御プログラム１３１によって処理されるＲＡＭ上のその他データの構造を示す。カレントシーンは、ＰＣ１３０側における現コンフィグのミキサ構成で設定されているパラメータデータセット、すなわち現コンフィグの各コンポーネントの現在のパラメータ値（カレント値）を示す。これらのパラメータ値は、後述するミキサ構成画面あるいは該画面から開くことができる各種の制御画面により設定変更できる。エンジン用ＣＡＤデータ形成バッファは、ＣＦデータをコンパイルしたとき、ＰＣ１３０側のＰＣ用ＣＡＤデータからエンジン１００側のエンジン用ＣＡＤデータを生成するバッファである。
【００３１】
図３（ｄ）は、エンジン１００のＲＡＭ１０３上のその他データを示す。カレントシーンは、エンジン１００側において現コンフィグのミキサ構成に設定されているパラメータデータセットであり、図３（ｃ）に示したＰＣ側のカレントシーンと同様のデータである。カレントシーンのパラメータ値は、表示器１０７に表示される所定の画面上で操作子１０８を操作することにより設定変更できる。マイクロプログラム形成バッファは、ミキサ構成に応じたマイクロプログラムを形成するために使用するバッファである。エンジン１００側のカレントポインタが切り換えられると、新たに現コンフィグとなったＣＦデータのエンジン用ＣＡＤデータのミキサ構成を実現するマイクロプログラムがマイクロプログラム形成バッファ上に展開され、そのマイクロプログラムが信号処理部１１０に転送される。また、エンジン１００側で、新たにカレントシーンが読み込まれたとき、あるいはカレントシーンが変更されたときには、自動的に、当該カレントシーンが信号処理部１１０に転送される。転送されたカレントシーンのパラメータ値は、ＤＳＰ群の係数メモリに展開される（例えば後述する図７（ｃ）のＭパラメータ）。信号処理部１１０のＤＳＰ群は当該係数メモリのパラメータを使用して上記転送されたマイクロプログラムを実行し、これにより信号処理部１１０は、現コンフィグのエンジン用ＣＡＤデータのミキサ構成で、かつカレントシーンのパラメータデータセットでの動作を実現する。
【００３２】
エンジン１００のフラッシュメモリ１０２にコンフィグデータを格納する方法は任意であるが、通常はＰＣ１３０にてオンラインモードを指定することにより行う。ＰＣ１３０でオンラインモードを指定すると、図３（ｂ）に示したＰＣ１３０側のＲＡＭ上のコンフィグデータの各ＣＦデータがそれぞれコンパイルされてエンジン１００に転送され、さらにシーンメモリの内容もエンジン１００に転送される。エンジン１００では、転送されてきたＣＦデータとシーンメモリの内容を図３（ｂ）と同様の形式でフラッシュメモリ１０２に格納する。これにより、ＰＣ１３０とエンジン１００とでコンフィグデータが一致した状態となる。さらに、オンラインモードでは、図３（ｃ）のＰＣ１３０側のカレントシーンが転送されて、図３（ｄ）のエンジン１００側のカレントシーンに格納される。エンジン側カレントポインタも、ＰＣ側カレントポインタが指しているのと同じＣＦデータを指すように書き換えられる。以上のようにして、オンラインモードでは、ＰＣ１３０とエンジン１００とが完全に同期した状態となり、以後、ＰＣ１３０側での操作はリアルタイムにエンジン１００側に反映される。
【００３３】
なお、フラッシュメモリ１０２は不揮発性であるので、格納されたコンフィグデータはエンジンの電源がオフされても保持される。一旦、コンフィグデータをフラッシュメモリ１０２に格納した後は、ＰＣ１３０をエンジン１００に接続しなくても、エンジン１００単独で、シーン番号を指定してシーンを呼び出したり（これによりカレントのミキサ構成（ＣＦデータ）を切り換えることができる）、カレントシーンのパラメータ値を変更したり、カレントのミキサ構成とカレントシーンを任意のシーン番号を指定してそこに保存することができる。
【００３４】
図４は、ＰＣ１３０上でミキサ構成（カレントポインタが指している現コンフィグのＣＦデータ）の作成編集を行うためのミキサ構成画面（ＣＡＤ画面）の例を示す。ユーザは、この画面４００上で種々のコンポーネントを配置し、各コンポーネント間を結線で結ぶことにより、所望のミキサ構成を作成できる。
【００３５】
４１１は入力コンポーネントであり、４２１−１〜４２１−１０はそれぞれ本ミキサへの１つの入力端子に相当する。図１の波形Ｉ／Ｏ１０９により入力する音響信号の１ラインが１つの入力端子（例えば４２１−１）に対応するものである。４１３は出力コンポーネントであり、４２４−１〜４２４−１０はそれぞれ本ミキサからの１つの出力端子に相当する。図１の波形Ｉ／Ｏ１０９から出力する音響信号の１ラインが１つの出力端子（例えば４２４−１）に対応するものである。ここでは入力端子と出力端子の数をそれぞれ１０個としたが、この数は任意であり、実際の波形Ｉ／Ｏ１０９における入出力の数に応じて決定されるものである。
【００３６】
入力コンポーネント４１１と出力コンポーネント４１３の間に任意に各種のコンポーネントを配置し結線してミキサ構成（ＣＦデータ）を作成する。４１２はユーザが配置したディレイ付きマトリクスミキサコンポーネントを示す。このディレイ付きマトリクスミキサ４１２は、８入力８出力とする。従って、８本の入力端子４２２−１〜４２２−８と、８本の出力端子４２３−１〜４２３−８を備えている。また、ここでは入力コンポーネント４１１の端子４２１−１〜４２１−８とディレイ付きマトリクスミキサ４１２の入力端子４２２−１〜４２２−８とをそれぞれ結線４２５−１〜４２５−８で接続し、ディレイ付きマトリクスミキサ４１２の出力端子４２３−１〜４２３−８と出力コンポーネント４１３の端子４２４−１〜４２４−８とをそれぞれ結線４２６−１〜４２６−８で接続している。オンラインボタン４０１は、オンラインモードとオフラインモードとを切り換えるボタンである。
【００３７】
図４の入力コンポーネント４１１、出力コンポーネント４１３、及びディレイ付きマトリクスミキサコンポーネント４１２は、それぞれ図３（ａ）のＰＣデータとして用意されている。図４に示す配置と結線が為された場合、図３（ｂ）のカレントポインタで指されるＣＦデータのＰＣ用ＣＡＤデータには、入力コンポーネント４１１に対応するＰＣデータを特定するためのＣデータＡが設定され、次にディレイ付きマトリクスミキサコンポーネント４１２に対応するＰＣデータを特定するＣデータＢが設定され、さらに出力コンポーネント４１３に対応するＰＣデータを特定するＣデータＣが設定され、図４で図示されているような結線の状態を示す結線データが設定される。これらのコンポーネントの表示及び結線の編集は、各コンポーネントのＰＣデータの表示編集処理ルーチンを用いて処理されるものである。
【００３８】
図５は、図４のミキサ構成画面４００上のディレイ付きマトリクスミキサコンポーネント４１２をダブルクリックしたときに表示される、該コンポーネント４１２のパラメータの詳細な設定を行うための、制御画面である。この制御画面５００は、ディレイオン／オフボタン５０１、４×４オープンボタン５０２、入力マスターボタン５０３、使用ディレイ数の表示５０４、出力マスターボタン５０５、及び入出力マトリクス表示５１０を備える。入出力マトリクス表示５１０において、左側の縦に並べられた１〜８の表示５１０ａは、本ディレイ付きマトリクスミキサへの８入力のそれぞれを示す（各入力を、入力１、入力２、…と呼ぶ）。上側の横に並べられた１〜８の表示５１０ｂは、本ディレイ付きマトリクスミキサからの８出力のそれぞれを示す（各出力を、出力１、出力２、…と呼ぶ）。入出力マトリクス表示５１０の各交点には、入力ｎ（ｎは１〜８）から出力ｍ（ｍは１〜８）に送出する信号に関する情報（後述する）が表示される。ここでは８入力８出力のディレイ付きマトリクスミキサを例に説明するが、種々の入出力数のディレイ付きマトリクスミキサが用意されており、その入出力数に応じて入出力マトリクス表示５１０の行と列の数が決まる。
【００３９】
ディレイオン／オフボタン５０１はディレイオン／オフモードにすることを指示するボタン、４×４オープンボタン５０２は４×４オープンモードにすることを指示するボタンである。ディレイオン／オフモードと４×４オープンモードとは択一的であり、一方のモードがオンされると他方のモードはオフされる。図４では、４×４オープンボタン５０２の枠が太線表示されているが、これは現在４×４オープンモードがオンされた状態であることを示す。
【００４０】
ディレイオン／オフモードがオンのときは（このとき４×４オープンモードにおいて表示される４×４枠５１１（後述）は表示されない）、マウスカーソル５１２を任意の交点に合わせてマウスボタンをクリックすることにより、当該交点のディレイのオンとオフを切り換えることができる。ある交点でディレイがオンというのは、その交点に遅延要素が割り当てられていると言うことであり、その交点において入力から出力へ信号送出する際に、指定した遅延量だけ遅延させて送出する、ということである。ただし、ある交点でディレイがオンされていたとしても、その交点のオン／オフ制御はディレイのオン／オフとは独立して行うことができる。従って、その交点がオフされている場合、ディレイのオン／オフは無意味である。なお、交点のオンとは、その交点において入力と出力とが結線されており、当該入力から出力への信号送出がオンされていることを言う。交点のオフとは、その交点において入力と出力とが結線されておらず、当該入力から出力への信号送出がオフされていることを言う。
【００４１】
本実施形態のディレイ付きマトリクスミキサは、従来のもののように全ての交点に予め遅延要素が割り当てられているものではなく、１つのＤＳＰ（例えば図２の第１ＤＳＰ２０１）と遅延用メモリ（例えば図２の遅延用メモリ２０５）との組合せで使用可能なリソースに基づいて決定される数（あるいは、リソースを他のコンポーネントで使用することを考慮すれば、そのリソースから規定される最大数以下の所定の数）だけの遅延要素を任意の交点に割り当てて使用するものである。これにより、従来は実現できなかった入力数×出力数の大きなディレイ付きマトリクスミキサが実現できる。なお、使用ディレイ数の表示５０４は、システムのリソースに基づいて使用可能な遅延要素の最大数（あるいはそれ以下の所定数）のうち何個の遅延要素を使ったかを示す表示である。図５の表示５０４の「１４／１８」は、１８個ある遅延要素のうち、現在１４個を使用していることを示している。
【００４２】
４×４オープンモードがオンのとき、入出力マトリクス表示５１０の中でマウスカーソル５１２を移動すると、４入力４出力の大きさの枠５１１（４×４枠と呼ぶ）がそれに連れて移動する。４×４枠５１１は、４入力ごと、かつ４出力ごとに区切られる枠を単位として移動するものであり、例えばマウスカーソル５１２が入力１〜４かつ出力１〜４の範囲にあるときはその範囲に、マウスカーソル５１２が入力１〜４かつ出力５〜８の範囲にあるときはその範囲に、…というように、４×４枠が表示される。４×４枠が表示されている状態でマウスボタンをクリックすると、その範囲に関するクロスポイント画面（図６で説明する）が表示される。
【００４３】
入力マスターボタン５０３を押下することにより、本ディレイ付きマトリクスミキサへの８つの入力のそれぞれについてのオン／オフ制御とレベル設定を行うためのサブウインドウが表示され、これにより８つの各入力信号のオン／オフとレベル調整を行うことができる。同様に、出力マスターボタン５０５を押下することにより、８つの出力のそれぞれについてのオン／オフ制御とレベル設定を行うためのサブウインドウが表示され、これにより８つの各出力信号のオン／オフとレベル調整を行うことができる。
【００４４】
入出力マトリクス表示５１０の各交点における表示について説明する。５２０は、当該交点がオンされ、かつディレイがオンされているときの表示を示す。５２１はディレイの遅延量を表すメータ表示であり、５２２は入力から出力への送出レベルを表すメータ表示である。メータ表示は、左端からのバーの長さで遅延量やレベルを表している（交点表示５３０，５４０，５５０でも同様）。交点がオンかつディレイがオンされているので、メータ表示５２１，５２２は何れも濃い色（図では実線）で表示される。５３０は、当該交点がオフかつディレイがオンされているときの表示を示す。交点がオフされているので、入力から出力への送出レベルを表すメータ表示５３２はグレーアウト表示される。ディレイがオンされているので遅延量を表すメータ表示５３１は表示はされるが、交点がオフされているのでグレーアウト表示となる。５４０は、当該交点がオンかつディレイがオフされているときの表示を示す。交点がオンされているので、送出レベルを表すメータ表示５４２は濃い色で表示される。ディレイがオフされている（すなわち当該交点に遅延要素が割り当てられていない）ので、遅延量を表すメータ表示（５４１の位置）は表示されない。５５０は、当該交点がオフかつディレイがオフされているときの表示を示す。交点がオフされているので、送出レベルを表すメータ表示５５２はグレーアウト表示される。ディレイがオフされているので、遅延量を表すメータ表示（５５１の位置）は表示されない。
【００４５】
なお、ディレイオン／オフモードがオンのとき、交点表示５２０の交点にマウスカーソル５１２を合わせてマウスボタンをクリックすると、当該交点のディレイがオフされ、交点表示５４０となる。逆に、交点表示５４０の交点をディレイオンにすると、交点表示５２０となる。同様に、交点表示５３０からディレイオンすると交点表示５５０となり、交点表示５５０からディレイオフすると交点表示５３０となる。
【００４６】
図６は、図５の制御画面において、４×４オープンモードで４×４枠が何れかの範囲に表示されている状態でマウスボタンをクリックしたときに表示されるクロスポイント画面を示す。図６は、入力１〜４かつ出力１〜４の範囲に４×４枠が表示されている状態でクリックされ、当該範囲に関するクロスポイント画面６００が表示されたところを図示したものであるが、４×４枠が別の範囲にあったときはその範囲に関するクロスポイント画面が表示される。
【００４７】
クロスポイント画面６００は、入力ｃｈ表示６０１、使用ディレイ数の表示６０２、出力ｃｈ表示６０３、及び４×４クロスポイント表示６０４を備える。入力ｃｈ表示６０１は、現在表示している４×４クロスポイント表示６０４の入力のｃｈグループの表示である。ここでは入力１〜４を表示しているので、入力ｃｈ表示６０１には「１〜４」と表示されている。出力ｃｈ表示６０３は、現在表示している４×４クロスポイント表示６０４の出力のｃｈグループの表示である。ここでは出力１〜４を表示しているので、出力ｃｈ表示６０３には「１〜４」と表示されている。これらの表示６０１，６０３はリストボックスになっており、該表示部分にマウスカーソル６０５を合わせてクリックすると、他のｃｈグループが選択肢として表示され、その中からｃｈグループを選択することで、４×４クロスポイント表示６０４の入出力のｃｈグループを切替えることができる。例えば、入力を「５〜８」に切替え、出力を「５〜８」に切替えれば、入力５〜８かつ出力５〜８に関する４×４クロスポイント表示が表示される。使用ディレイ数の表示６０２は、図５の表示５０４と同じ表示である。
【００４８】
４×４クロスポイント表示６０４の各交点における表示と操作について説明する。６１０は、当該交点がオンされ、かつディレイがオンされているときの表示を示す。６１１はオンボタン、６１２は入力から出力への送出レベルを表すノブ、６１３はその送出レベルの数値表示、６１４はディレイボタン、６１５は遅延量を表すノブ、６１６はその遅延量の数値表示である。交点がオンかつディレイがオンされているので、ボタン６１１，６１４は共に押下されているような表示態様（図では太線枠とした）で表示される。また、交点がオンされているので、送出レベルを表すノブ６１２と数値表示６１３は現在の送出レベルの設定値に対応した表示がなされる。ディレイがオンされているので、遅延量を表すノブ６１５と数値表示６１６は現在の遅延量の設定値に対応した表示がなされる。
【００４９】
６２０は、当該交点がオフかつディレイがオンされているときの表示を示す。交点がオフかつディレイがオンされているので、ボタン６２１は押下されていない表示態様で、ボタン６２４は押下されている表示態様で表示される。交点がオフされているので送出レベルの設定は無意味であるが、一応、当該交点に現在設定されている送出レベルに従って、ノブ６２２と数値表示６２３が、交点表示６１０のノブ６１２と数値表示６１３と同様に、表示される。また、交点がオフされているので遅延の設定も無意味であるが、ディレイがオンされているので、一応、遅延量を表すノブ６２５と数値表示６２６は現在の遅延量の設定値に対応した表示がなされる。
【００５０】
６３０は、当該交点がオンかつディレイがオフされているときの表示を示す。交点がオンかつディレイがオフされているので、ボタン６３１は押下されている表示態様で、ボタン６３４は押下されていない表示態様で表示される。交点がオンされているので、ノブ６３２と数値表示６３３は現在の送出レベルの設定値に対応した表示がなされる。ディレイがオフされているので、遅延量を表すノブと数値表示（６３５，６３６の位置）は表示されない。
【００５１】
６４０は、当該交点がオフかつディレイがオフされているときの表示を示す。交点がオフかつディレイがオフされているので、ボタン６４１，６４４は共に押下されていないような表示態様で表示される。交点がオフされているので送出レベルの設定は無意味であるが、一応、当該交点に現在設定されている送出レベルに従って、ノブ６４２と数値表示６４３が、交点表示６１０のノブ６１２と数値表示６１３と同様に、表示される。ディレイがオフされているので、遅延量を表すノブと数値表示（６４５，６４６の位置）は表示されない。
【００５２】
交点表示６１０のオンボタン６１１にマウスカーソル６０５を合わせてマウスボタンをクリックすると、当該交点がオフされ、交点表示６２０となる。逆に、交点表示６２０のオンボタン６２１をクリックすると、当該交点がオンされ、交点表示６１０となる。交点表示６１０のディレイボタン６１４をクリックすると、当該交点のディレイがオフされ、交点表示６３０となる。逆に、交点表示６３０のディレイボタン６３４をクリックすると、当該交点のディレイがオンされ、交点表示６１０となる。交点表示６２０のディレイボタン６２４をクリックすると、当該交点のディレイがオフされ、交点表示６４０となる。逆に、交点表示６４０のディレイボタン６４４をクリックすると、当該交点のディレイがオンされ、交点表示６２０となる。さらに、何れの交点表示でも、（交点のオン／オフやディレイのオン／オフにかかわらず）表示されているノブ６１２，６１５，６２２，６２５，６３２，６４２をクリックして選択状態とし、所定のキー操作（例えばテンキーによる数値入力）を行うことで、送出レベルや遅延量の値を設定変更できる。
【００５３】
上述の図５及び図６の画面によるディレイ付きマトリクスミキサコンポーネントに関するパラメータの設定変更は、当該コンポーネントのＰＣデータのＰＣ処理ルーチン及び表示編集ルーチンを使用して行われる。
【００５４】
図４のようにミキサ構成画面４００上にディレイ付きマトリクスミキサを呼び出したときには、ＰＣ１３０のカレントシーン（図３（ｃ））上に当該ディレイ付きマトリクスミキサのパラメータ領域が確保される。具体的に、それらのパラメータについて説明する。なお、入力ｉかつ出力ｊの交点を交点(i,j)と呼ぶ。ここでは８入力８出力のディレイ付きマトリクスミキサを例に説明しているので、ｉ＝１〜８、ｊ＝１〜８である。この範囲の全交点のそれぞれに対して、カレントシーン内に以下の（Ｐ１）〜（Ｐ４）のパラメータを保持する。
（Ｐ１）SW(i,j)：交点(i,j)のオン／オフ情報である。０のとき交点(i,j)がオフされていることを示し、１のとき交点(i,j)がオンされていることを示す。
（Ｐ２）LV(i,j)：交点(i,j)の入力から出力への送出レベルである。
（Ｐ３）DS(i,j)：交点(i,j)のディレイのオン／オフ情報である。０のときディレイがオフされていることを示し、１のときディレイがオンされていることを示す。
（Ｐ４）DV(i,j)：交点(i,j)における遅延量である。
【００５５】
なお、交点をオフしたりディレイをオフしても、送出レベル値LV(i,j)や遅延量DV(i,j)は初期化されることなく前の値を保持する。従って、例えばディレイをオフした後に再びオンしても遅延量はディレイオフ直前の値に戻る。
【００５６】
以上のほか、交点毎でないパラメータとして以下の（Ｐ５）と（Ｐ６）のパラメータを保持する。
（Ｐ５）D(k)：遅延要素ｋを割り当てた交点を示す(i,j)である。遅延要素は、具体的にはＤＳＰで実行するマイクロプログラム中の１つの遅延処理に相当し、システムのリソースに基づいて使用可能な最大数（あるいはそれ以下の所定数）が決められている。本例では、図５の表示５０４や図６の表示６０２で説明したように１８個まで遅延要素を使用できる。そこで、各遅延要素に番号を付け、交点(i,j)に遅延要素ｋ（ｋ＝１〜１８）を割り当てたとき、その(i,j)をD(k)に記憶しておく。D(k)に(0,0)が記憶されているときは、その遅延要素ｋがどの交点にも割り当てられていないことを示す。
（Ｐ６）その他、図５の入力マスターボタン５０３を押下して設定した本ディレイ付きマトリクスミキサへの入力のそれぞれについてのオン／オフ情報とレベル設定値、及び、出力マスターボタン５０５を押下して設定した本ディレイ付きマトリクスミキサからの出力のそれぞれについてのオン／オフ情報とレベル設定値などを保持する。
【００５７】
図７は、図４から図６で説明したようにミキサ構成に組み込まれたディレイ付きマトリクスミキサコンポーネントのエンジン１００側のＤＳＰ（信号処理部１１０）内の各種データを示す。図７（ａ）は、ＤＳＰ（例えば図２の２０１）で実行するマイクロプログラムの例を示す。マイクロプログラムは、先頭ステップから、入力処理１〜８、交点処理１−１〜１−８、交点処理２−１〜２−８、…、交点処理８−１〜８−８、遅延処理１〜１８、及び出力処理１〜８の順に並べられる。各処理の詳細は後述する。
【００５８】
図７（ｂ）は、本ミキサコンポーネントで用いるＤＳＰ内の内部レジスタを示す。これらの内部レジスタは、本ミキサコンポーネントのマイクロプログラム（図７（ａ））がロードされたときにＤＳＰ内に割り当てられ、該マイクロプログラムがＤＳＰから消去されたとき同時に割り当てが外される。７１１はＭ出力レジスタ１〜８である。Ｍ出力レジスタは、本ミキサコンポーネントの出力である波形サンプルがセットされるレジスタである。ここでは８出力のミキサであるので８個のＭ出力レジスタが用意されている。Ｍ出力レジスタ１〜８の波形サンプルは、結線用のマイクロプログラムを介して他のコンポーネントに出力される（入力レジスタに書き込まれる）。７１２はＤ入力レジスタ１〜１８である。Ｄ入力レジスタは、遅延処理に波形サンプルを入力するときに使用するレジスタであり、遅延処理１〜１８に対応して１８個設けられている。７１３はＭ入力レジスタ１〜８である。Ｍ入力レジスタは、本ミキサコンポーネントへ入力する波形サンプルをセットするレジスタである。ここでは８入力のミキサコンポーネントであるので８個のＭ入力レジスタが用意されている。他のコンポーネントからの波形サンプルは、結線用のマイクロプログラムを介してＭ入力レジスタ１〜８に入力される（書き込まれる）。
【００５９】
図７（ｃ）は、本ミキサコンポーネントで用いるＤＳＰの係数レジスタ内のパラメータを示す。これらのパラメータは、本ミキサコンポーネントのマイクロプログラム（図７（ａ））がロードされたときにＤＳＰ内に記憶領域が割り当てられて各値が設定され、該マイクロプログラムが消去されたとき割り当てが外される。この係数レジスタのパラメータは、ＤＳＰがマイクロプログラムを実行中であっても自由に書き換えることができる。入力パラメータ１〜８は、それぞれ、入力処理１〜８で使用するパラメータである。入力パラメータｉ（ｉ＝１〜８）はIN_SW(i)とIN_LV(i)からなる。IN_SW(i)とIN_LV(i)には、図５で説明した入力マスターボタン５０３を押下して設定した入力ｉについてのオン／オフ情報とレベル設定値がそれぞれ設定される。交点パラメータ１−１〜１−８，２−１〜２−８，…，８−１〜８−８は、それぞれ、交点処理１−１〜１−８，２−１〜２−８，…，８−１〜８−８で使用するパラメータである。交点パラメータi-j（ｉ＝１〜８、ｊ＝１〜８）はC_SW(i,j)とC_LV(i,j)からなる。C_SW(i,j)とC_LV(i,j)には、図５及び図６で説明した交点(i,j)のオン／オフ情報と送出レベル値がそれぞれ設定される。遅延パラメータ１〜８は、それぞれ、遅延処理１〜８で使用するパラメータである。遅延パラメータｋ（ｋ＝１〜１８）はDL(k)からなる。DL(k)には、遅延処理ｋが割り当てられている交点において、図５及び図６で説明したように設定されている遅延量の値が設定される。出力パラメータｊ（ｊ＝１〜８）はOUT_SW(i)とOUT_LV(i)からなる。OUT_SW(i)とOUT_LV(i)には、図５で説明した出力マスターボタン５０５を押下して設定した出力ｊについてのオン／オフ情報とレベル設定値がそれぞれ設定される。
【００６０】
図７（ａ）のマイクロプログラムの各処理について説明する。このマイクロプログラムの先頭ステップから末尾ステップは、ＤＳＰにより音響信号の１サンプリング周期内で１回実行される。
【００６１】
７０１は入力ｉに関する入力処理ｉ（ｉ＝１〜８）の動作を示す。入力処理ｉでは、（１）Ｍ入力レジスタｉから波形サンプルを取り込み、（２）入力パラメータIN_SW(i)を乗算し、（３）入力パラメータIN_LV(i)を乗算し、（４）その結果の波形サンプルをＭ入力レジスタｉに書き込む。これにより、図５で説明した入力マスターボタン５０３を押下して設定した入力ｉについてのオン／オフ情報とレベル設定値に基づく演算が実行される。なお、出力処理ｊ（ｊ＝１〜８）も出力パラメータを利用して出力ｊについて同様の処理を行うものである。
【００６２】
７０２は交点(i,j)に関する交点処理i-j（挿入無し）の処理を示す。挿入無しとは、その交点においてディレイがオフ、すなわちディレイの挿入が無いことを示す。この交点処理では、（１）Ｍ入力レジスタｉから波形サンプルを取り込み、（２）C_SW(i,j)を乗算し、（３）C_LV(i,j)を乗算し、（４）その結果の波形サンプルをＭ出力レジスタｊに足し込む。なお、Ｍ出力レジスタｊには他の交点処理や遅延処理が演算結果を出力する場合があるので、ステップ（４）ではＭ出力レジスタｊに演算結果を足し込んでいる。全てのＭ出力レジスタは、各サンプリング周期の図７（ａ）のマイクロプログラムの実行開始の直前に、ゼロクリアされているものとする。
【００６３】
７０３は交点(i,j)に関する交点処理i-j（Dk挿入）の処理を示す。Dk挿入とは、その交点のディレイがオンされており、遅延処理ｋが挿入されていることを示す。この交点処理７０３では、上記交点処理７０２と同様のステップ（１）〜（３）の処理を行う。遅延処理ｋが挿入されているため、ステップ（４）の処理では、演算結果の波形サンプルをＤ入力レジスタｋに書き込む。
【００６４】
７０４は遅延処理ｋの処理を示す。この処理では、（１）Ｄ入力レジスタｋから波形サンプルを取り込み、（２）遅延メモリ（ｔ）に書き込み、（３）遅延メモリ（ｔ−DL(k)）から読み出し、（４）読み出した波形サンプルをＭ出力レジスタｊに足し込む。なお、遅延メモリ（ｔ）は、このマイクロプログラムがロードされたＤＳＰに接続されている遅延用メモリ中の当該遅延処理ｋに割り当てられている領域のｔ番目の格納位置を示す。遅延メモリ（ｔ−DL(k)）は、上記領域のｔ−DL(k)番目の格納位置を示す。ｔは、初期値が０で、サンプリング周期毎に１ずつカウントアップされる変数である。すなわち、ステップ（２）で現サンプリング周期における波形サンプルを遅延メモリのアドレスｔに格納し、ステップ（３）でその位置からDL(k)だけ前のアドレスの波形サンプルを読み出して出力するものである。DL(k)は遅延量であり、具体的には何サンプリング周期遅延させるかを示す値である。遅延用メモリ中の当該遅延処理ｋに割り当てられている領域は少なくともDL(k)個以上の長さＴ（すなわちＴ個の波形サンプルを順に格納できるだけの長さ）が割り当てられているものとし、上記の「ｔ番目」や「ｔ−DL(k)番目」とは「t mod Ｔ」や「ｔ−DL(k) mod Ｔ」を示すものである。さらに、どの交点にも割り当てられていない遅延処理ｋについては、ステップ（４）を、波形サンプルをＭ出力レジスタｊでなく無意味な位置に足し込む処理コードにしておくものとする。
【００６５】
次に、ＰＣ１３０でオンラインモードに切換えたときの全体の動作について説明する。ユーザが図４のミキサ構成を作成しオンラインモード切換えボタン４０１をオンしたとする。このとき、ＰＣ１３０ではオンラインモード切換えルーチンがＣＰＵにより実行され、また該オンラインモード切換えルーチンによりエンジン１００に対してオンラインモードへの切換え指示が送出され、これによりエンジン１００ではエンジン側のオンラインモード切換えルーチンがＣＰＵ１０１により実行される。以下、これらのルーチンによるＰＣ１３０とエンジン１００の動作概要を説明する。
【００６６】
ＰＣ１３０は、ＲＡＭ中のコンフィグデータ（図３（ｂ））をコンパイルしてエンジン１００に転送する。現コンフィグのＣＦデータは図４のミキサ構成のＣＡＤデータであり、この図４のミキサ構成のエンジン用ＣＡＤデータがエンジン１００に転送されることになる。またＰＣ１３０は、図３（ｃ）のカレントシーンのパラメータをエンジン１００に転送する。図３（ｃ）のカレントシーンのパラメータは、図５及び図６で説明したディレイ付きマトリクスミキサのパラメータ（上述の（Ｐ１）〜（Ｐ６））を含む。
【００６７】
エンジン１００は、転送されたコンフィグデータをフラッシュメモリ１０２に図３（ｂ）と同様のフォーマットで格納し、カレントポインタを設定し、転送されたカレントシーンのパラメータを図３（ｄ）のカレントシーンに格納する。また、エンジン１００は、図３（ｄ）のマイクロプログラム形成バッファに、現コンフィグのエンジン用ＣＡＤデータに基づくマイクロプログラムを生成し、ＤＳＰにロードする。ここではＤＳＰ２０１にロードするものとする。現コンフィグのミキサ構成にはディレイ付きマトリクスミキサが含まれるので、ＤＳＰ２０１にロードするマイクロプログラムは、図７（ａ）のマイクロプログラムを含むものである。
【００６８】
マイクロプログラムのＤＳＰへのロードと共に、エンジン１００は、ＤＳＰに対して図７（ｂ）及び（ｃ）で説明した内部レジスタとＭパラメータの領域の割り当てを実行する。また、ＤＳＰ内のＭパラメータの各値を設定する。具体的には、カレントシーンの上記（Ｐ６）のパラメータのうち、入力のオン／オフ情報とレベル設定値を図７（ｃ）の入力パラメータ１〜８のIN_SW(i)とIN_LV(i)にコピーし、出力のオン／オフ情報とレベル設定値を図７（ｃ）の出力パラメータ１〜８のOUT_SW(i)とOUT_LV(i)にコピーする。また、カレントシーンの（Ｐ１）と（Ｐ２）のパラメータを読み出し、図７（ｃ）の交点パラメータi-jに対して、C_SW(i,j)＝SW(i,j)、C_LV(i,j)＝LV(i,j)となるようにコピーする。さらに、カレントシーンの（Ｐ５）と（Ｐ４）のパラメータを読み出し、図７（ｃ）の遅延パラメータ１〜１８に対して、DL(k)＝DV(D(k))となるようにコピーする。これは、D(k)に格納されている交点(i,j)の遅延量DV(i,j)をDL(k)にセットすると言うことである。ただし、D(k)＝(0,0)であるｋについてはDV(0,0)＝０とし、従ってDL(k)＝０とセットする。
【００６９】
なお、ロードする図７（ａ）のマイクロプログラム中、（ａ）交点処理１−１〜８−８のうち、どこを交点処理i-j（挿入無し）とし、どこを交点処理i-j（Dk挿入）とするか、（ｂ）交点処理i-j（Dk挿入）のステップ（４）で、どのＤ入力レジスタに波形サンプルを書込むか、（ｃ）遅延処理ｋのステップ（３）のDL(k)の値、（ｄ）遅延処理ｋのステップ（４）で、どのＭ出力レジスタに波形サンプルを足し込むか、はカレントシーン上のパラメータに基づいて決定されるものである。すなわち、ロードするマイクロプログラムを図３（ｄ）のマイクロプログラム形成バッファに生成するとき、上記（ａ）〜（ｄ）に係る部分を、カレントシーン上のパラメータに基づいて書き換える必要がある。なお、まずマイクロプログラムを最初に設定するときには、上記（ａ）〜（ｄ）を決定して設定する必要があるが、その後のマイクロプログラム動作中でも、（１）ユーザが交点の遅延処理をオンオフしたり、（２）挿入した遅延処理の遅延量を変更したときは、それぞれ、（１）マイクロプログラムのその交点処理とその遅延処理の特定ステップを書き換えたり、（２）係数レジスタのその遅延処理の遅延量を書き換えるだけでその制御ができる。ここで、ＤＳＰのマイクロプログラムメモリに設定したマイクロプログラムは、ＤＳＰのマイクロプログラム実行中に、ＣＰＵにより１ステップ単位で独立して書き換えることができる。また、ＤＳＰの係数レジスタに設定したパラメータは、ＤＳＰのマイクロプログラム実行中に、ＣＰＵにより１パラメータ単位で独立して書き換えることができる。
【００７０】
上記（ａ）〜（ｄ）は、具体的には以下のようにして決定される。まず上記（ａ）は、カレントシーンに格納されたディレイのオン／オフ情報DS(i,j)に基づいて決定される。ディレイがオフの交点(i,j)に関し、その交点処理（Dk挿入なし）ではＭ出力レジスタｊに波形サンプルを書き込むように設定すればよい。上記（ｂ）は、ディレイがオンの交点(i,j)に関し、当該交点(i,j)と同じ(i,j)を保持するD(k)のｋを求める。ｋが決定されれば、当該交点(i,j)の交点処理i-j（Dk挿入）ではＤ入力レジスタｋに波形サンプルを書込むようにすればよい。上記（ｃ）は、ＭパラメータのDL(k)をＤＳＰの係数レジスタにそのまま設定すればよいので、マイクロプログラムには影響を与えない。上記（ｄ）は、遅延処理ｋが割り当てられている交点の(i,j)はDL(k)から判るので、当該遅延処理ｋでは該交点（i,j）の出力先であるＭ出力レジスタｊに波形サンプルを書き込むようにすればよい。
【００７１】
図８（ａ）は、図５または図６の画面で交点(i,j)のディレイのオン／オフ切換え操作が行われたときに発生するディレイオンオフイベントの処理手順を示す。この処理は、ＰＣ１３０側の処理であり、図５の画面でディレイオン／オフモードとして交点(i,j)をクリックしたとき、または図６の画面で交点(i,j)のディレイボタンをオン／オフしたときに実行される。
【００７２】
ステップ８０１で、図３（ｃ）のカレントシーン上のDS(i,j)が１か判定する。DS(i,j)＝１なら、交点(i,j)のディレイオンからオフへの切換えであるから、ステップ８０２でDS(i,j)＝０とする。ステップ８０３では、当該交点の位置を示す(i,j)を保持するD(k)を探し、該D(k)＝(0,0)とする。ステップ８０４で、オンラインモードのときは、エンジン１００に当該交点(i,j)のディレイをオフする指示を送信する。オフラインモードのときはステップ８０４はスキップする。ステップ８０５で表示を更新し、処理を終了する。ステップ８０１でDS(i,j)＝０なら、交点(i,j)のディレイオフからオンへの切換えであるから、ステップ８０６で割り当てられていない遅延処理ｋを探す。割り当てられていない遅延処理が無いときはｋ＝０とする。ステップ８０７でｋ＝０のときは、ステップ８１１で警告表示をして終了する。ステップ８０７で割り当てる遅延処理ｋがあるときは、ステップ８０８で、DS(i,j)＝１、D(k)＝(i,j)とする。次にステップ８０９で、オンラインモードのときは、エンジン１００に当該交点(i,j)のディレイをオンする指示を送信する。オフラインモードのときはステップ８０９はスキップする。ステップ８１０で表示を更新し、処理を終了する。なお、ステップ８０５や８１０の表示の更新は、ディレイのオン／オフ切換え操作に応じて、図５や図６の画面表示を更新する処理である。
【００７３】
ステップ８０４の交点(i,j)のディレイオフの指示を受けたエンジン１００は、エンジン側のカレントシーン上でDS(i,j)＝０、D(k)＝(0,0)と設定すると共に、ＤＳＰの交点処理i-j（Dk挿入）を交点処理i-j（挿入無し）に書換え（ステップ（４）のみ書換えればよい）、遅延処理ｋのステップ（４）で波形サンプルをＭ出力レジスタｊでなく無意味な位置に足し込むように書換える。また、ステップ８０９の交点(i,j)のディレイオンの指示を受けたエンジン１００は、エンジン側のカレントシーン上でDS(i,j)＝１、D(k)＝(i,j)と設定すると共に、ＤＳＰの交点処理i-j（挿入無し）を交点処理i-j（Dk挿入）に書換え（ステップ（４）のみ書換えればよい）、遅延処理ｋのステップ（４）で波形サンプルをＭ出力レジスタｊに足し込むように書換える。なお、エンジン１００のＣＰＵ１０１は、信号処理部１１０のＤＳＰにロードされたマイクロプログラムの任意の位置を書換えることができるものとする。
【００７４】
図８（ｂ）は、図５または図６の画面で交点(i,j)のオン／オフ切換え操作が行われたときに発生するＳＷオンオフイベントの処理手順を示す。この処理は、ＰＣ１３０側の処理であり、図６の画面で交点(i,j)のオンボタンをオン／オフしたときに実行される。ステップ８２１でSW(i,j)を反転する。ステップ８２２で、オンラインモードのときは、エンジン１００に当該交点(i,j)のオン／オフを反転する指示を送信する。オフラインモードのときはステップ８２２はスキップする。ステップ８２３で、交点(i,j)のオン／オフに応じて図６の画面を更新する。
【００７５】
ステップ８２２の交点(i,j)のオン／オフ反転指示を受けたエンジン１００は、エンジン側のカレントシーン上でSW(i,j)を反転し、ＤＳＰの係数レジスタ内のＭパラメータのC_SW(i,j)に、反転したSW(i,j)をコピーする。
【００７６】
なお、図８では交点のオン／オフと交点のディレイのオン／オフのフローを説明したが、図６の画面で何れかの交点のレベル変更または遅延量の変更の操作が為された場合、図８（ｂ）と同様に処理すればよい。すなわち、ＰＣ１３０側では、当該操作に応じてカレントシーン上の送出レベルや遅延量を変更し、オンラインモードのときはエンジン１００に指示を出し、ＰＣ１３０側の表示の変更を行う。エンジン１００は、その指示を受けて、カレントシーン上の送出レベルや遅延量を変更し、図７（ｃ）に示される係数レジスタのＭパラメータも変更する。
【００７７】
上記実施形態では、図４〜図６で説明したように、１つのディレイ付きマトリクスミキサコンポーネントの中に、割り当て可能な所定数の遅延要素を取り込んでいるので、遅延要素を別コンポーネントとして配置し結線するのに比べて、入出力に関するＤＳＰの内部レジスタや処理ステップなどのリソースを大幅に節約することができる。
【００７８】
上記実施形態では、１つのディレイ付きマトリクスミキサコンポーネントから１つのＤＳＰで動作させるマイクロプログラムを生成しているが、１つのディレイ付きマトリクスミキサコンポーネントから複数のＤＳＰで動作させるマイクロプログラムをそれぞれ生成するようにしてもよい。その場合、マトリクスミキサコンポーネントの全交点を、利用するＤＳＰの数の集合に分け、各集合に含まれる交点の処理をそれぞれのＤＳＰに受け持たせる。図９は、１つのディレイ付きマトリクスミキサコンポーネントから２つのＤＳＰで動作させるマイクロプログラムをそれぞれ生成する制御画面の例である。このディレイ付きマトリクスミキサコンポーネントは３２入力×１６出力の大きさを持ち、各交点は集合９０１か９０２の何れかに分けられている。集合９０１は入力１〜入力１６かつ出力１〜出力１６の交点、集合９０２は入力１７〜入力３２かつ出力１〜出力１６の交点を、それぞれ含むものである。この場合、集合９０１側だけで所定数の遅延要素を任意の交点に割り当て、集合９０２側だけで所定数の遅延要素を任意の交点に割り当てるようにする。そして、各集合ごとに図７で説明したようにマイクロプログラムを生成しそれぞれＤＳＰにロードして動作させる。
【００７９】
なお、全交点を複数の集合に分割する場合、図９に示したように入力側で分割するのが良い。出力側で分割すると、１つの入力端子から入力した信号を処理した後、別のＤＳＰの出力処理に信号を渡さなければならず、そのときにリソースを使ってしまう。図９のように入力側で分割すれば、１つの入力端子から入力した信号は１つのＤＳＰ内で出力処理まで行われるので、別のＤＳＰに信号を渡すことなくディレイ付きマトリクスミキサコンポーネントの処理を終えることができる。
【００８０】
なお、上記実施形態では、ＰＣ１３０からミキサエンジン１００へコンフィグデータを転送し、エンジン１００でＤＳＰ用のマイクロプログラムやパラメータを作成したが、ＰＣ側でマイクロプログラムやパラメータを作成し転送しても良い。また、上記実施形態ではＰＣとミキサエンジンに分けたシステムで説明したが、一体的なシステムとして構成することもできる。さらに、上記実施形態では、ＤＳＰの遅延メモリアクセス回数の制限を超えるために、マトリクスミキサのディレイを交点に割り当てて使用するようになっていたが、本発明を、該ＤＳＰのアクセス回数を節約する目的に適用してもよい。
【００８１】
上記実施形態の音響信号処理システムはミキサエンジンとＰＣで構成されていたが、この構成には限定されない。例えば、１ないし複数のＤＳＰを搭載したＤＳＰカードを装着したＰＣとして、そのＤＳＰカードで本発明の信号処理モジュールに対応するマイクロプログラムを実行するようにしてもよい。或いは、音響信号処理システムにおけるＰＣを、ＰＣと同様の機能を備えたデジタルミキサやレコーディングシステムに置き換えても良い。また、ユーザインタフェースとしても、ＣＡＤ画面上に配置されるコンポーネントとして制御する方式に限らず、ミキサ等で特定の複数チャンネル（実施例の８×８マトリクスミキサであれば８チャンネル）に挿入されるプラグインとして実現してもよい。
【００８２】
また、遅延量をサンプル単位で指定するようになっていたが、時間（ミリ秒などで指定）や拍数（テンポに応じて変化する）を単位として指定するようにしてもよい。
【図面の簡単な説明】
【００８３】
【図１】この発明の一実施形態であるディジタルミキサのエンジンの構成図
【図２】信号処理部周辺の拡大図
【図３】各種データの構成図
【図４】ミキサ構成画面の例を示す図
【図５】ディレイ付きマトリクスミキサコンポーネントの制御画面の例を示す図
【図６】クロスポイント画面の例を示す図
【図７】ＤＳＰ内の各種データの構成図
【図８】ディレイオンオフイベント及びＳＷオンオフイベントの処理手順を示すフローチャート図
【図９】２分割した各範囲で遅延要素を割り当てる例を示す図
【符号の説明】
【００８４】
１００…エンジン、１０１…中央処理装置（ＣＰＵ）、１０２…フラッシュメモリ、１０３…ＲＡＭ（ランダム・アクセス・メモリ）、１０４…ＰＣ入出力インターフェース（Ｉ／Ｏ）、１０５…ＭＩＤＩ  Ｉ／Ｏ、１０６…その他Ｉ／Ｏ、１０７…表示器、１０８…操作子、１０９…波形Ｉ／Ｏ、１１０…信号処理部（ＤＳＰ群）、１２０…システムバス、１３０…パーソナルコンピュータ（ＰＣ）、１３１…ミキサ制御プログラム、１３２…コンフィグデータ。
【図１】
0004771287.tif 000002
【図２】
0004771287.tif 000003
【図３】
0004771287.tif 000004
【図４】
0004771287.tif 000005
【図５】
0004771287.tif 000006
【図６】
0004771287.tif 000007
【図７】
0004771287.tif 000008
【図８】
0004771287.tif 000009
【図９】
0004771287.tif 000010