(57)【特許請求の範囲】
【請求項１】
処理内容をプログラム可能な信号処理手段を有する音響信号処理装置が実行する、それぞれ入力端子又は出力端子を有する複数の構成要素と、該構成要素の出力端子と入力端子との間を結ぶ結線とからなる信号処理の構成を編集する編集装置であって、
前記信号処理の構成を編集するための画面を表示手段に表示させる手段と、
前記画面上において、前記構成要素及び各構成要素間の結線の指定を受け付け、該画面の表示内容をその指定に従って変更する手段と、
編集された前記信号処理の構成の情報を、該構成に含まれる構成要素及び結線の情報を含む第１の構成データとして記憶する第１の記憶手段と、
編集された信号処理を実行する音響信号処理装置が有する信号処理手段の信号処理用リソースを示すリソース情報を、複数の音響信号処理装置について記憶する第２の記憶手段と、
前記第２の記憶手段がリソース情報を記憶している音響信号処理装置の中から、任意の数の音響信号処理装置の選択を受け付ける選択受付手段と、
前記第２の記憶手段が記憶しているリソース情報に従って、編集された前記信号処理の構成に含まれる各構成要素及び結線と対応する処理に、前記音響信号処理装置の信号処理手段の信号処理用リソースを割り当てると共に、前記構成要素及び結線の情報に加えて、その割り当て内容を示す割当情報及び、どの装置のリソース情報に従ってその割当情報を生成したかを示す機種情報を含む第２の構成データを生成するコンパイル手段とを備え、
前記コンパイル手段が、前記選択受付手段が選択を受け付けた全ての音響信号処理装置について、その各装置のリソース情報に従って前記割当情報を個別に生成し、これら全ての割当情報およびどの装置のリソース情報に従ってその各割当情報を生成したかを示す機種情報を含む第２の構成データを生成する手段であることを特徴とする編集装置。
【請求項２】
処理内容をプログラム可能な信号処理手段を有し、入力する音響信号に対して請求項１に記載の編集装置が生成した前記第２の構成データに従った信号処理を行って出力する音響信号処理装置であって、
前記第２の構成データを取得して記憶する構成データ記憶手段と、
前記編集装置において信号処理の編集に使用する各構成要素に対応する信号処理を前記信号処理手段に行わせるためのプログラムを記憶するプログラム記憶手段と、
前記構成データ記憶手段に記憶している前記第２の構成データのうち１つに基づいて前記信号処理手段における信号処理を制御する制御手段とを有し、
前記制御手段が、
前記信号処理の制御に使用する第２の構成データに含まれる機種情報に従って、該第２の構成データに含まれる割当情報の中から、自機の信号処理手段の信号処理用リソースを示すリソース情報に従った割り当て内容を示す割当情報を選択する割当情報選択手段と、
前記プログラム記憶手段に記憶しているプログラムを利用し、前記割当情報選択手段が選択した割当情報が示す信号処理用リソースを使って前記信号処理手段に前記構成データに係る信号処理を行わせるためのプログラムを形成するプログラム形成手段と、
該プログラム形成手段が形成したプログラムを前記信号処理手段に実行させる手段とを有することを特徴とする音響信号処理装置。
【請求項３】
請求項２記載の音響信号処理装置であって、
自機の信号処理手段の信号処理用リソースを示すリソース情報を記憶するリソース情報記憶手段と、
前記割当情報選択手段が自機の信号処理手段の信号処理用リソースを示すリソース情報に従った割り当て内容を示す割当情報を選択できなかった場合に、前記リソース情報記憶手段が記憶するリソース情報に従って、前記第２の構成データに含まれる前記構成要素及び結線の情報が示す各構成要素及び結線と対応する処理に、自機の信号処理手段の信号処理用リソースを割り当て、その割り当て内容を示す割当情報を生成する第２のコンパイル手段と、
前記第２のコンパイル手段が生成した割当情報に基づいて前記プログラム形成手段に前記プログラムの形成を行わせる手段とを設けたことを特徴とする音響信号処理装置。
【請求項４】
請求項３記載の音響信号処理装置であって、
前記第２のコンパイル手段が割当情報を生成した場合に、前記信号処理の制御に使用する第２の構成データにその生成した割当情報を追加すると共に、該第２の構成データに含まれる機種情報に自機の情報を追加する手段を設けたことを特徴とする音響信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音響信号処理装置における信号処理の構成を編集する編集装置及び、その編集装置により編集した信号処理の構成に従って信号処理を行う音響信号処理装置に関する。
【背景技術】
【０００２】
従来から、音響信号処理部を、プログラムに従って動作可能なプロセッサを用いて構成すると共に、外部のＰＣ（パーソナルコンピュータ）等のコンピュータを編集装置として機能させ、これを用いて編集した信号処理構成に基づいて音響信号を処理できるようにした音響信号処理装置が知られている。このような音響信号処理装置を本願では、ミキサエンジンと呼ぶ。ミキサエンジンは、ＰＣにより編集された信号処理構成を内部に記憶し、その記憶している信号処理構成に基づいて単独で音響信号の処理を行うことができる。
【０００３】
また、編集装置上における上記信号処理構成の編集については、編集時に信号処理の構成要素となるコンポーネント及びその入出力間の結線状態をディスプレイにグラフィカルに表示させ、視覚的に信号処理の構成が把握し易い状態で編集作業を行うことができるようにすることが行われている。そして、ユーザは、所望の処理コンポーネントを配置し、配置したコンポーネント間の結線を設定することにより、信号処理構成を編集することができる。
このような編集装置及びミキサエンジンについては、例えば特許文献１に記載されている。
【特許文献１】特開２００５−２３４８０１
【０００４】
そして、特許文献１に記載の編集装置は、ユーザのコンパイル指示に応じて、編集した信号処理構成に含まれるコンポーネントや結線に対し、接続されているミキサエンジンのＤＳＰ（信号処理部）のリソースを割り当て、その割り当ての情報をミキサエンジンに通知する。そして、ミキサエンジンは、その割り当てに従ってＤＳＰを構成する各プロセッサユニットに、編集装置から通知された割り当て情報に基づいて各コンポーネントや結線に係る処理を実行させるためのマイクロプログラムを形成する。そして、ミキサエンジンは、ＤＳＰにそのマイクロプログラムに従った信号処理を実行させることにより、信号処理プロセッサの能力の範囲内で、ユーザが編集装置により編集した信号処理構成に基づく音響信号処理を実行することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に記載した編集装置及びミキサエンジンの場合、音響信号処理装置が実行する信号処理の構成を変更する場合、編集装置においてコンポーネントや結線に対するリソースの割り当てを行うため、必ず編集装置を接続する必要があった。
そしてこのため、編集装置により編集した信号処理構成のデータのみを編集装置と別に持ち歩いて種々の機種のミキサエンジンに設定し、その信号処理構成に従った信号処理を実行させるという考え方がなく、特許文献１に記載の編集装置及びミキサエンジンは、このような運用をする場合に好適な構成ではなかった。
【０００６】
この発明は、このような問題を解決し、処理内容をプログラム可能な信号処理部を有する音響信号処理装置に、編集装置により編集した信号処理構成に従った信号処理を実行させる場合に、編集装置が生成した信号処理構成のデータを複数機種のミキサエンジンにより容易に共用できるようにすることを目的とする。また、ミキサエンジンにおいて、信号処理構成のデータを読み込んで短時間のうちに信号処理を開始することができるようにすることも、目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、この発明は、処理内容をプログラム可能な信号処理手段を有する音響信号処理装置が実行する、それぞれ入力端子又は出力端子を有する複数の構成要素と、その構成要素の出力端子と入力端子との間を結ぶ結線とからなる信号処理の構成を編集する編集装置において、上記信号処理の構成を編集するための画面を表示手段に表示させる手段と、上記画面上において、上記構成要素及び各構成要素間の結線の指定を受け付け、その画面の表示内容をその指定に従って変更する手段と、編集された上記信号処理の構成の情報を、その構成に含まれる構成要素及び結線の情報を含む第１の構成データとして記憶する第１の記憶手段と、編集された信号処理を実行する音響信号処理装置が有する信号処理手段の信号処理用リソースを示すリソース情報を、複数の音響信号処理装置について記憶する第２の記憶手段と、上記第２の記憶手段がリソース情報を記憶している音響信号処理装置の中から、任意の数の音響信号処理装置の選択を受け付ける選択受付手段と、上記第２の記憶手段が記憶しているリソース情報に従って、編集された上記信号処理の構成に含まれる各構成要素及び結線と対応する処理に、上記音響信号処理装置の信号処理手段の信号処理用リソースを割り当てると共に、上記構成要素及び結線の情報に加えて、その割り当て内容を示す割当情報及び、どの装置のリソース情報に従ってその割当情報を生成したかを示す機種情報を含む第２の構成データを生成するコンパイル手段とを設け、上記コンパイル手段を、上記選択受付手段が選択を受け付けた全ての音響信号処理装置について、その各装置のリソース情報に従って上記割当情報を個別に生成し、これら全ての割当情報およびどの装置のリソース情報に従ってその各割当情報を生成したかを示す機種情報を含む第２の構成データを生成する手段としたものである。
【０００９】
また、この発明の音響信号処理装置は、処理内容をプログラム可能な信号処理手段を有し、入力する音響信号に対して上記の編集装置が生成した上記第２の構成データに従った信号処理を行って出力する音響信号処理装置において、上記第２の構成データを取得して記憶する構成データ記憶手段と、上記編集装置において信号処理の編集に使用する各構成要素に対応する信号処理を上記信号処理手段に行わせるためのプログラムを記憶するプログラム記憶手段と、上記構成データ記憶手段に記憶している上記第２の構成データのうち１つに基づいて上記信号処理手段における信号処理を制御する制御手段とを設け、上記制御手段に、上記信号処理の制御に使用する第２の構成データに含まれる機種情報に従って、その第２の構成データに含まれる割当情報の中から、自機の信号処理手段の信号処理用リソースを示すリソース情報に従った割り当て内容を示す割当情報を選択する割当情報選択手段と、上記プログラム記憶手段に記憶しているプログラムを利用し、上記割当情報選択手段が選択した割当情報が示す信号処理用リソースを使って上記信号処理手段に上記構成データに係る信号処理を行わせるためのプログラムを形成するプログラム形成手段と、そのプログラム形成手段が形成したプログラムを上記信号処理手段に実行させる手段とを設けたものである。
【００１０】
このような音響信号処理装置において、自機の信号処理手段の信号処理用リソースを示すリソース情報を記憶するリソース情報記憶手段と、上記割当情報選択手段が自機の信号処理手段の信号処理用リソースを示すリソース情報に従った割り当て内容を示す割当情報を選択できなかった場合に、上記リソース情報記憶手段が記憶するリソース情報に従って、上記第２の構成データに含まれる上記構成要素及び結線の情報が示す各構成要素及び結線と対応する処理に、自機の信号処理手段の信号処理用リソースを割り当て、その割り当て内容を示す割当情報を生成する第２のコンパイル手段と、上記第２のコンパイル手段が生成した割当情報に基づいて上記プログラム形成手段に上記プログラムの形成を行わせる手段とを設けるとよい。
【００１１】
さらに、上記第２のコンパイル手段が割当情報を生成した場合に、上記信号処理の制御に使用する第２の構成データにその生成した割当情報を追加すると共に、その第２の構成データに含まれる機種情報に自機の情報を追加する手段を設けるとよい。
【発明の効果】
【００１２】
以上のようなこの発明の編集装置及び音響信号処理装置によれば、処理内容をプログラム可能な信号処理部を有する音響信号処理装置に、編集装置により編集した信号処理構成に従った信号処理を実行させる場合に、編集装置が生成した信号処理構成のデータを複数機種のミキサエンジンにより容易に共用できるようにすることができる。また、ミキサエンジンにおいて、信号処理構成のデータを読み込んで短時間のうちに信号処理を開始することができるようにすることもできる。
【発明を実施するための最良の形態】
【００１３】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、図１を用いて、この発明の編集装置の実施形態であるＰＣとこの発明の音響信号処理装置の実施形態であるミキサエンジンとによって構成した音響信号処理システムであるミキサシステムの構成について説明する。図１はそのミキサシステムの構成を示すブロック図である。
【００１４】
図１に示すように、このミキサシステムは、ミキサエンジン１０とＰＣ３０とによって構成される。ただし、ミキサエンジン１０とＰＣ３０とは、それぞれ単独で動作させることも可能である。また、ミキサエンジン１０もＰＣ３０も、必要に応じて異なる装置を接続して動作させることが可能である。
【００１５】
このうちＰＣ３０は、ハードウェアとしては、ＷｉｎｄｏｗｓＸＰ（登録商標）などのオペレーティングシステム（ＯＳ）が動作する公知のＰＣを用いることができる。
例えば、図１に示すように、ＣＰＵ３１，ＲＯＭ３２，ＲＡＭ３３，表示制御回路３４，操作検出回路３５，通信インタフェース（Ｉ／Ｆ）３６，ＨＤＤ（ハードディスクドライブ）３７を備え、これらがシステムバス３８により接続された構成とすることができる。
【００１６】
そして、ＣＰＵ３１に、ＲＯＭ３２やＨＤＤ３７に記憶されている適当なプログラムを実行させることにより、後述する編集装置としての機能を実現させることができる。
また、表示制御回路３４は、ディスプレイ等の表示器３４ａにおける表示を制御する回路であり、操作検出回路３５は、キーボードやマウス等の操作子３５ａにおける操作を検出する回路である。
【００１７】
ＰＣ３０は、これらの回路により、ユーザに情報を提示し、またユーザの操作を受け付けることができる。なお、表示器や操作子として、ＰＣ３０の外部のデバイスを利用するようにしてもよいことはもちろんである。
また、通信Ｉ／Ｆ１０６は、ミキサエンジン１０を始めとする外部装置との間の通信を行うためのインタフェースである。
【００１８】
以上のようなＰＣ３０においては、ＣＰＵ３１に、上記のＯＳ上のアプリケーションプログラムとして適当な編集プログラムを実行させることにより、ミキサエンジン１０に実行させる信号処理の構成を編集し、編集した信号処理構成に従って動作させる編集装置として機能させることができる。そして、以下に説明するＰＣ３０の動作や機能は、特に断らない限り、この編集プログラムの実行により実現されるものである。
【００１９】
一方、ミキサエンジン１０は、ＣＰＵ１１，フラッシュメモリ１２，ＲＡＭ１３，表示器１４，操作子１５，ＰＣ入出力部（Ｉ／Ｏ）１６，ＭＩＤＩ（Musical Instruments Digital Interface：登録商標）Ｉ／Ｏ１７，その他Ｉ／Ｏ１８，波形Ｉ／Ｏ１９，信号処理部（ＤＳＰ）２０，カスケードＩ／Ｏ２６を備え、これらがＣＰＵバス２７によって接続されている。そして、ＰＣ３０から受信したり、運搬用メモリから読み出したりした信号処理構成のデータに従って、ＤＳＰ２０を制御するためのマイクロプログラムを生成し、そのマイクロプログラムに従ってＤＳＰ２０を動作させ、入力する音響信号に対して種々の信号処理を施して出力する機能を有する。ここでいう運搬用メモリとは、例えばＵＳＢメモリやＳＤメモリカード等の、着脱可能な不揮発性メモリである。
【００２０】
ＣＰＵ１１は、ミキサエンジン１０の動作を統括制御する制御手段であり、フラッシュメモリ１２に記憶された所定のプログラムを実行することにより、各Ｉ／Ｏ１６〜１９，２６における通信や表示器１４における表示を制御したり、操作子１５の操作を検出してその操作に従ってパラメータの値を変更したり、ＰＣ３０から受信したり運搬用メモリから読み出したりした信号処理構成の情報からＤＳＰ２０を動作させるためのマイクロプログラムを生成してＤＳＰ２０に設定したりといった処理を行う。
フラッシュメモリ１２は、ＣＰＵ１１が実行する制御プログラムや後述するプリセットコンポーネントデータ等を記憶する書き換え可能な不揮発性記憶手段である。
【００２１】
ＲＡＭ１３は、ＰＣ３０から受信した信号処理構成の情報を所要の形式に変換した後述するコンフィグデータやカレントデータを始めとする種々のデータを記憶させたり、ＣＰＵ１１のワークメモリとして使用したりする記憶手段である。
表示器１４は、液晶ディスプレイ（ＬＣＤ）等によって構成される表示手段である。そして、ミキサエンジン１０の現在の状態を示す画面、コンフィグデータに含まれる設定データであるシーンの参照，変更，保存等を行うための画面等を表示する。
操作子１５は、キー、スイッチ、ロータリーエンコーダ等によって構成され、ユーザがミキサエンジン１０を直接操作してシーンの編集等を行うための操作子である。
【００２２】
ＰＣＩ／Ｏ１６は、ＰＣ３０を接続し通信を行うためのインタフェースであり、例えばＵＳＢ（Universal Serial Bus）方式、ＲＳ−２３２Ｃ方式、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４方式、Ｅｔｈｅｒｎｅｔ（登録商標）方式などのインタフェースによる通信を行うことができる。
ＭＩＤＩＩ／Ｏ１７は、ＭＩＤＩ規格に従ったデータを授受するためのインタフェースであり、例えば、ＭＩＤＩに対応した電子楽器あるいはＭＩＤＩデータを出力するアプリケーションプログラムを備えたコンピュータ等と通信を行うために用いる。
【００２３】
波形Ｉ／Ｏ１９は、ＤＳＰ２０で処理すべき音響信号の入力を受け付け、また処理後の音響信号を出力するためのインタフェースである。そして、この波形Ｉ／Ｏ１９には、１枚で４チャンネルのアナログ入力が可能なＡ／Ｄ変換ボード，１枚で４チャンネルのアナログ出力が可能なＤ／Ａ変換ボード，１枚で８チャンネルのデジタル入出力が可能なデジタル入出力ボードを適宜組み合わせて複数枚装着可能であり、実際にはこれらのボードを介して信号の入出力を行う。
【００２４】
カスケードＩ／Ｏ２６は、ミキサエンジン１０を複数カスケード接続して使用する際に、他のミキサエンジンとの間で、音響信号や制御信号等の授受を行うためのインタフェースである。なお、ミキサエンジン１０を複数カスケード接続して使用する場合には、複数のミキサエンジン１０を協同的に動作させて一連の音響信号処理を行わせることが可能である。そして、ＰＣ３０でこのような音響信号処理の構成を編集することもできる。この場合、その構成を示すデータをいずれかのミキサエンジン１０に読み込ませると共に、他のミキサエンジン１０にも転送させて、各ミキサエンジン１０を編集した信号処理構成に従って動作させることができる。
【００２５】
その他Ｉ／Ｏ１８は、上記以外の機器を接続し入出力を行うためのインタフェースであり、例えば外部のディスプレイ、マウス、文字入力用のキーボード、操作パネル等を接続するためのインタフェースが用意される。また、運搬用メモリを接続するためのインタフェースもここに含まれる。
ＤＳＰ２０は、信号処理回路を含み、波形Ｉ／Ｏ１９から入力する音響信号に対し、設定されているマイクロプログラム及びその処理パラメータを定めるカレントデータに従った信号処理を施す信号処理部である。
【００２６】
また、このＤＳＰ２０及びその周辺の構成は、より詳細には図２に示すものである。
まず、ＤＳＰ２０は、１つのプロセッサによって構成してもよいし、複数のプロセッサを接続して構成してもよいが、ここでは図２に示すように第１乃至第４の４つの信号処理プロセッサ２１乃至２４を接続して構成している。そして、これらの各信号処理プロセッサ及び波形Ｉ／Ｏ１９とカスケードＩ／Ｏ２６とを波形バス２５に接続し、処理対象の信号はこの波形バス２５を介して転送するようにしている。
【００２７】
また、波形バス２５は時分割で２４ビットの信号を１２８チャンネル（ｃｈ）伝送可能であり、各ｃｈは波形バス２５に接続されているいずれかの信号処理プロセッサ又はＩ／Ｏの出力から他の信号処理プロセッサ又はＩ／Ｏの入力へと信号を伝える信号伝送路として機能する。すなわち、ｃｈを出力側と入力側に割り当て、各信号処理プロセッサ及びＩ／Ｏの出力が出力先として割り当てられたｃｈに信号を出力し、各信号処理プロセッサ及びＩ／Ｏの入力が入力元として割り当てられたｃｈから信号を取り込むことにより、信号を伝送することができるようにしている。
そして、ＰＣ３０で編集した信号処理構成の各コンポーネントに対応する処理をどの信号処理プロセッサで実行し、各信号処理プロセッサ及びＩ／Ｏ間でのデータの転送にどのｃｈを使うかといった、ＤＳＰ２０における信号処理リソースの割り当ては、基本的にはＰＣ３０側で行うが、必要に応じてミキサエンジン１０側で行うこともできる。
【００２８】
次に、ＰＣ３０における信号処理構成の編集方式について説明する。図３は、ＰＣ３０のディスプレイに表示させる信号処理構成の編集画面の例を示す図である。
ユーザがＰＣ３０に上記の編集プログラムを実行させると、ＰＣ３０はディスプレイに図３に示すようなＣＡＤ（Computer Aided Design）画面４０を表示させ、ユーザからの編集指示を受け付ける。そして、この画面においては、編集中の信号処理構成を、その構成要素であるDynamicFilter，AutoMixer2，Mixer402等のコンポーネント（Ａ）と、コンポーネントの出力端子（Ｂ）と入力端子（Ｃ）とを結ぶ結線（Ｄ）とによってグラフィカルに表示している。なお、コンポーネントの左側に示した端子が入力端子、右側に示した端子が出力端子である。そして、ミキサエンジン１０への入力を示すコンポーネントは出力端子のみを有し、ミキサエンジン１０からの出力を示すコンポーネントは入力端子のみを有し、それ以外のコンポーネントは全て入力端子と出力端子の両方を有する。
【００２９】
ユーザは、この画面において、「Component」メニューの操作で表示されるコンポーネントリストの中から信号処理構成に加えたいコンポーネントを選択して画面上に配置し、配置された複数のコンポーネントの任意の出力端子と任意の入力端子との間の結線を指定することにより、信号処理構成を編集することができる。この場合、もちろんＣＡＤ画面４０の表示内容は編集操作に従って変化させることになる。
そして、このように編集した信号処理構成は、「File」メニューから「Save」を選択することにより、後述するコンフィグデータとして保存することができる。
【００３０】
また、コンポーネントが信号処理構成に新規に配置された場合、そのコンポーネントに関する動作パラメータ（例えばミキサであれば各入力のレベル等）を記憶するための記憶領域がカレントメモリ内に用意されると共にその動作パラメータとして所定の初期値が与えられる。
そして、その後ユーザが各コンポーネントについて設けたパラメータ制御パネルを操作することにより、そのパラメータ記憶領域に記憶された動作パラメータを編集することができる。また、ここで編集した結果のカレントメモリに記憶されたパラメータは、後述するコンフィグデータ中にシーンとして複数保存しておき、編集した信号処理構成に従ってミキサエンジン１０に信号処理を行わせる際に任意に呼び出して信号処理動作に反映させることができる。
【００３１】
また、ＣＡＤ画面４０にはコンパイルキー４１を設けており、このコンパイルキー４１が押下された場合に、その時点での信号処理構成に含まれる各コンポーネント及び結線に対して、ミキサエンジンのＤＳＰ等が有する信号処理部の各種能力、すなわち各種リソースの割り当てを行う。この割り当ては、信号処理構成に含まれる各コンポーネントに対する、ミキサエンジンの信号処理用リソース（ＤＳＰ，処理ステップ，レジスタ，メモリなど）の割り当てや、信号処理構成に含まれる各結線に対する信号伝送用リソース（レジスタ，メモリ，伝送ｃｈなど）の割り当てなどを具体的に決定する処理である。
【００３２】
そして、ここで決定する事項としては、各コンポーネント及び結線に対応する処理を、ミキサエンジンが有する信号処理プロセッサのうちどのプロセッサに、１サンプリング期間中のどの処理ステップを使って実行させるか、メモリのどのアドレス範囲をその処理に使用させるか、波形バスのどの伝送ｃｈ（又はどのレジスタ）を用いて、あるコンポーネントと対応する処理の終わった波形データを次のコンポーネントと対応する処理を行うプロセッサに渡すか等が考えられる。
このような割り当て処理を、信号処理構成の「コンパイル」と呼ぶことにする。
【００３３】
また、ミキサエンジンの機種や動作モード、オプション構成等によって、利用可能なハードウェア資源が異なるため、ＣＡＤ画面４０においては、コンパイルキー４１が押下された際にどの条件をターゲットにしてコンパイルを行うかを選択できるようにしている。
ターゲット表示部４２に、現在ターゲットとして選択されている条件が表示されており、図からわかるように、１つだけでなく複数の条件を選択することもできる。変更ボタン４３は、ターゲットの選択状態を変更するターゲット選択画面を表示させるためのボタンである。
【００３４】
図４に、ターゲット選択画面の表示例を示す。
この図に示すように、ターゲット選択画面５０には、ターゲット候補表示部５１及び選択済みターゲット表示部５２を設け、ターゲット候補表示部５１に、ターゲットとして選択可能な未選択の条件を、選択済みターゲット表示部５２に、ターゲットとして現在選択されている条件を表示している。これらの条件は、ここでは、機種と、処理する信号のサンプリング周波数とにより規定している。
【００３５】
例えば、「DME64(48k)」は、ＤＭＥ６４という機種のミキサエンジンに、サンプリング周波数が４８キロヘルツの音響信号を処理させることを示している。また、「DME64(96k)」は、ＤＭＥ６４という機種のミキサエンジンに、サンプリング周波数が９６キロヘルツの音響信号を処理させることを示している。同じ機種であっても、処理する信号のサンプリング周波数が異なると、各プロセッサが１サンプリング周期中に実行可能な処理ステップ数が異なるため、信号処理コンポーネントに割り当て可能な処理ステップ数も異なることになる。このため、同じ機種であっても、処理する信号のサンプリング周波数毎に異なる条件を用意しているのである。
【００３６】
また、ターゲット選択画面５０においては、ターゲット候補表示部５１に表示された条件を指定して追加ボタン５３を押下することにより、その条件を選択済みターゲット表示部５２に移動させ、ターゲットとして選択された状態にすることができる。逆に、選択済みターゲット表示部５２に表示された条件を指定して削除ボタン５４を押下することにより、その条件をターゲット候補表示部５１に移動させ、選択を解除することができる。
ＯＫボタン５５が押下された場合、ＰＣ３０はターゲット選択画面５０においてなされたターゲットの選択を確定させ、ターゲット表示部４２の表示に反映させる。
【００３７】
そして、ＰＣ３０は、コンパイルキー４１が押下された場合に、その時点でターゲットとして選択されている全ての条件について、それぞれ個別にコンパイルを行う。そして、コンパイルの結果を示すデータを、コンパイルに用いた条件毎に生成し、信号処理構成のデータとセットにして、アーカイブファイルを生成する。この点については、後に詳述する。
【００３８】
次に、以上のようなミキサシステムにおいて用いる、この発明に関連するデータの構成について説明する。
まず、図５及び図６にＰＣ３０側で使用するデータの構成を示す。
ＰＣ３０のＯＳ上で上記の編集プログラムを実行すると、ＰＣ３０はその編集プログラムによって規定されるメモリ空間に図５に示すプリセットコンポーネントデータセットを記憶させる。また、機種データベース、ＤＳＰリソースデータベース及び図６に示すコンフィグデータも、必要に応じて参照できる位置に記憶させておく。
【００３９】
このうち、プリセットコンポーネントデータセットは、信号処理を編集する際に用いることができるコンポーネントのデータのセットであり、ユーザがカスタマイズできるようにしてもよいが、基本的にはメーカーが供給するものである。そして、データセット全体としてのバージョン管理を行うためのプリセットコンポーネントセットバージョンのデータと、そのデータセットを構成する複数のコンポーネントの各種類毎に用意されたプリセットコンポーネントデータとを含む。
【００４０】
各プリセットコンポーネントデータは、コンポーネントの性質や機能を示す情報であり、コンポーネントを識別するためのプリセットコンポーネントヘッダ、コンポーネントの入力や出力およびコンポーネントが扱うデータや動作パラメータの構成を示す構成情報、ユーザの数値入力操作に応じて上述したカレントメモリにおける各コンポーネントの個別の動作パラメータの値を変更する処理を行うためのパラメータ処理ルーチン、カレントメモリにおける各コンポーネントの動作パラメータを表示用のテキストデータや特性グラフに変換するための表示・編集用処理ルーチンとを含む。
【００４１】
そして、プリセットコンポーネントヘッダには、プリセットコンポーネントの種類を示すプリセットコンポーネントＩＤ及びそのバージョンを示すプリセットコンポーネントバージョンの情報を含み、これらによってプリセットコンポーネントを特定することができる。
【００４２】
また、上記の構成情報には、コンポーネントの入出力の構成を示す入出力構成情報やコンポーネントが扱うデータやパラメータの構成を示すデータ構成情報の他、編集画面にコンポーネント自身を表示する際の色や形状及びそのコンポーネントの動作パラメータを編集するためにディスプレイに表示する制御パネルのデザインや制御パネル上のつまみや特性グラフの配置を示すＰＣ用表示データも含む。また、ミキサエンジンのＤＳＰ２０を動作させて当該コンポーネントに係る信号処理を実現させるためのマイクロプログラムも含む。
なお、マイクロプログラムは、ＰＣ３０側では特に使用しないが、ミキサエンジン１０側でも共通のプリセットコンポーネントデータを利用できるよう、ＰＣ側にもマイクロプログラムを含むプリセットコンポーネントデータを記憶させるようにしている。
【００４３】
また、機種データベースは、信号処理構成のコンパイル時に選択可能とする各条件につき、その条件下で信号処理に割り当て可能なＤＳＰ２０のリソースを示すＤＳＰリソース情報を記憶するデータベースである。ここでは、「機種」という語を用いているが、既に述べたとおり、同じ機種でも、条件によって割り当て可能な信号処理能力が変わる場合もある。従って、１つの機種について複数のＤＳＰリソース情報が存在する場合もある。この機種データベース及び次に説明するＤＳＰリソースデータベースは、編集プログラム又はミキサエンジンのメーカーが用意するデータである。
【００４４】
そして、各ＤＳＰリソース情報は、機種名，ＤＳＰ数，ＤＳＰタイプＩＤ，波形バスｃｈ情報，外部メモリサイズを含む。
このうち機種名は、どの機種に関する情報であるのかを示す情報である。信号のサンプリング周波数やオプション構成等によりＤＳＰリソース情報を区別する必要がある場合には、その情報もここに記載する。
【００４５】
ＤＳＰ数は、該当機種の信号処理部にいくつの信号処理プロセッサがあるかを示す情報である。そして、ＤＳＰタイプＩＤは、各プロセッサの種類を特定する情報であり、これをキーにＤＳＰリソースデータベースを参照することにより、信号処理部が備える各プロセッサについて、より詳細な情報を得ることができる。なお、信号のサンプリング周波数等の条件により、同じプロセッサでも割り当て可能な能力が異なる場合には、その条件毎に異なるＤＳＰタイプ情報を用意し、異なるＩＤを付す。
【００４６】
波形バスｃｈ情報は、該当機種の信号処理部が備える波形伝送路の種類及び、その波形伝送路が１サンプリング周期中に伝送可能な波形データのｃｈ数を示す情報である。波形伝送路の種類としては、パラレルバス、シリアルバス等が考えられる。また、ｃｈ数としては、ＤＳＰタイプＩＤを記載したＤＳＰのうち、どのＤＳＰとどのＤＳＰとの間に何ｃｈの信号を伝送可能であるかを記載することが考えられる。特定の複数のＤＳＰからなるグループ内で、任意のＤＳＰ間に何ｃｈの信号を伝送可能であるかを記載することも考えられる。いずれにせよ、実際のＤＳＰ間の配線に沿った記載方法を採ればよい。
外部メモリサイズは、各ＤＳＰが信号処理に使用可能な、ＤＳＰの外部に設けられたメモリのサイズである。
【００４７】
また、ＤＳＰリソースデータベースは、ミキサエンジンのＤＳＰが備え得る各種の信号処理プロセッサにつき、その信号処理能力を示すＤＳＰタイプ情報を記憶するデータベースである。
そして、各ＤＳＰタイプ情報は、ＤＳＰタイプＩＤ，使用可能ステップ数，内部メモリサイズ，およびプリセットコンポーネント毎の使用ステップ数及び使用メモリ量の情報を含み、各ＤＳＰタイプＩＤの信号処理プロセッサにつき、そのＤＳＰが有するハードウェア資源の内容を示す情報である。
【００４８】
具体的には、使用可能ステップ数は、ＤＳＰが１サンプリング周期内に実行可能なステップのうち、信号処理コンポーネントに割り当てて、そのコンポーネントに係る信号処理を実行するために使用できるステップの数である。
内部メモリサイズは、ＤＳＰが信号処理に使用可能な、プロセッサ内蔵メモリのサイズである。
【００４９】
使用ステップ数及び使用メモリ量は、ＤＳＰに各プリセットコンポーネントと対応する信号処理を実行させる際に必要となる処理ステップ数及びメモリ量を示すデータである。なお、プリセットコンポーネントのバージョンが異なると、そのコンポーネントと対応する処理を実行するためのマイクロプログラムの内容が異なり、実行に必要な処理ステップ数やメモリ量が異なることもある。そこで、このデータは、プリセットコンポーネントのバージョン毎に設ける。
【００５０】
また、同じプリセットコンポーネントと対応する処理であっても、プロセッサの構造が異なると、実行に用いるマイクロプログラムの内容が異なることがある。使用ステップ数及び使用メモリ量の情報を、ＤＳＰタイプ毎用意しているのは、このためである。
これらの機種データベースとＤＳＰリソースデータベースがリソース情報であり、これらを記憶するメモリが第２の記憶手段である。
【００５１】
また、各コンフィグデータは、ユーザが編集した信号処理構成の内容を示すデータであり、信号処理構成を編集する場合、ＰＣ３０のＣＰＵは、コンフィグデータの１つを読み出し、又は新規作成して編集する。編集中のコンフィグデータは、カレントコンフィグデータとして別途記憶される。また、ユーザが編集結果の保存を選択した場合、その時点での信号処理構成及び設定値等が１つのコンフィグデータとして保存される。
そして、各コンフィグデータは、コンフィグデータを識別するためのコンフィグヘッダ、編集された信号処理構成の内容を示すＣＡＤデータ、上述した設定データであるシーンを含む。
【００５２】
このうち、コンフィグヘッダには、コンフィグデータを新規に保存する場合にユニークにつけるコンフィグＩＤ、コンフィグデータを改変した場合に変更してバージョンを示すコンフィグバージョン、コンフィグデータを作成した編集プログラムのバージョンを示すシステムバージョン、コンパイル時のターゲットとして選択されている条件（機種、サンプリング周期等）の情報等を含む。
【００５３】
また、ＣＡＤデータには、編集された信号処理構成に含まれる各コンポーネントについてのコンポーネントデータと、それらのコンポーネント間の結線状態を示す結線データとが含まれる。なお、信号処理構成に同じ種類のプリセットコンポーネントが複数含まれる場合には、それら各々に対して別々のコンポーネントデータを用意する。
【００５４】
そして、各コンポーネントデータは、そのコンポーネントがどのプリセットコンポーネントに該当するかを示すコンポーネントＩＤ、同じくどのバージョンのプリセットコンポーネントに該当するかを示すコンポーネントバージョン、そのコンポーネントが含まれる信号処理構成においてそのコンポーネントにユニークに付したＩＤであるユニークＩＤ、そのコンポーネントの入力端子や出力端子の数の情報等を含むプロパティデータ、およびＰＣ３０側の編集画面で該当するコンポーネントが配置されている位置等を示すＰＣ用表示データを含む。
【００５５】
また、結線データには、編集された信号処理構成に含まれる複数の結線の各結線について、どのコンポーネントのどの出力端子からどのコンポーネントのどの入力端子へ結線が行われているかを示す接続データ、およびＰＣ３０側の編集画面におけるその結線の形状や配置を示すＰＣ用表示データを含む。
このＣＡＤデータが第１の構成データであり、これを記憶するメモリが第１の記憶手段である。
【００５６】
また、各シーンは、ＣＡＤデータが示す信号処理構成の各コンポーネントに関するパラメータであるコンポーネントシーンの集合体である。また、各コンポーネントシーンにおけるデータの形式や配列は、ＣＡＤデータに含まれるそのコンポーネントのコンポーネントＩＤとコンポーネントバージョンで特定されるプリセットコンポーネントの、プリセットコンポーネントデータ中のデータ構成情報によって定義される。
【００５７】
また、ＰＣ３０は、コンパイルキー４１の押下によりコンパイルの実行が指示された場合、ＣＡＤデータが示す各コンポーネント及び結線に係る処理をＤＳＰのどのリソースを用いて行うかを具体的に示す割当情報を生成する（コンパイルが一度もされていない場合、コンフィグデータ内に割当情報がないことも有り得る）。
【００５８】
この割当情報は、コンパイル時にターゲットとして選択されていた条件毎に、機種データベース及びＤＳＰリソースデータベースの内容に基づき、ＤＳＰのハードウェアリソースをＣＡＤデータが示す各コンポーネント及び結線に割り当てることにより生成する。そして、各割当情報は、どの条件に基づいて割り当てを行ったかを示す条件情報と、各コンポーネント及び結線に割り当てたハードウェアリソースを具体的に示す情報とからなる。
【００５９】
このうちコンポーネント割当情報が、コンポーネント１つ分の情報を示すものであり、ＣＡＤデータが示す各コンポーネントについて設けられる。より具体的には、そのコンポーネントのユニークＩＤと対応させて、そのコンポーネントに係る信号処理を実行させるＤＳＰのＩＤを示すＤＳＰ番号と、１サンプリング期間中のどのステップを使ってその処理を実行させるかを示す処理ステップ位置と、その処理に際して使用するＲＡＭのアドレス（及びＲＡＭユニットのＩＤ）を示す使用ＲＡＭアドレスの情報が規定される。
【００６０】
また、結線に割り当てたハードウェアリソースとしては、結線毎に、その結線に係る信号伝送に使用する伝送ｃｈ、信号線、あるいはＲＡＭアドレス等を示す。異なるＤＳＰユニットに信号を伝送する場合には伝送ｃｈや信号線を用いて行い、同じＤＳＰユニット内に信号を伝送する場合にはＲＡＭの特定のアドレスにデータを書き込んで行うというように、場合によって使用する伝送経路が異なることもある。この場合、使用する伝送路の種類を区別できるように、各結線に割り当てたハードウェアリソースを記載する。
【００６１】
以上がＰＣ３０側で使用する主なデータであり、これらのデータは、ＨＤＤ（ハードディスクドライブ）等の不揮発性記憶手段に記憶させておき、必要な時にＲＡＭに読み出して使用するようにしてもよい。また、コンパイルの実行後には、生成した割当情報を含むコンフィグデータを、ｔａｒ形式等のアーカイブファイルとしてコンフィグデータとは別に記憶させることができるようにするとよい。特に、このアーカイブファイルを上述の運搬用メモリに記憶させ、外部に持ち運べるようにするとよい。もちろん、何らかの通信経路を介してミキサエンジン１０等の外部装置に転送できるようにしてもよい。
このアーカイブファイル又はコンフィグデータが、第２の構成データであり、これを記憶するメモリが第２の記憶手段である。
【００６２】
また、以上のデータ以外にも、ＰＣ３０においては、現在有効なコンフィグにおける現在有効な設定データであるカレントシーンも記憶している。このカレントシーンを記憶するメモリがカレントメモリである。
そして、カレントシーンの構成は、現在編集中の信号処理構成に含まれる各コンポーネントに関するコンポーネントシーンの集合体となっている。従って、信号処理構成が変更された場合、それに応じてカレントシーンの構成も変更される。また、制御パネル等により信号処理構成の１つのコンポーネントの制御パラメータを編集する際には、このカレントシーン中のそのコンポーネントの制御パラメータを変更して編集を行う。その編集結果は、編集中の信号処理構成を示すコンフィグデータ中に１つのシーンとして保存することができる。
【００６３】
次に、図７にミキサエンジン１０側で使用するデータの構成を示す。この図に示すデータは、フラッシュメモリ１２又はＲＡＭ１３に記憶される。
この図に示すように、ミキサエンジン１０側にも、主要なデータとして、プリセットコンポーネントデータセットとコンフィグデータとを記憶させている。
【００６４】
このうち、プリセットコンポーネントデータセットは、ＰＣ３０側に記憶しているデータと全く同じでよい。ただし、ＰＣ３０側とミキサエンジン１０側とでプリセットコンポーネントセットバージョンが異なる場合、プリセットコンポーネントセットに含まれるプリセットコンポーネントの種類やバージョンも、そのバージョンに応じて異なる。しかし、プリセットコンポーネントのＩＤやバージョンにより、ミキサエンジン１０側のプリセットコンポーネントとＰＣ３０側のプリセットコンポーネントとの対応関係を把握することができる。
【００６５】
また、図５に示した各プリセットコンポーネントデータのうち、表示・編集用ルーチンの一部やＰＣ用表示データは、ミキサエンジン１０側では使用しないので、データ量を圧縮したい場合には取り除いてしまってもよい。しかし、ミキサエンジン１０側に存在しても特に問題はない。
また、図５に示したように各プリセットコンポーネントデータはマイクロプログラムを含む。そして、このマイクロプログラムを記憶するメモリがプログラム記憶手段である。
【００６６】
また、コンフィグデータについても、データの形式は、ＰＣ３０側に記憶しているコンフィグデータと全く同じでよい。図５に示したコンフィグデータには、コンポーネントや結線のＰＣ用表示データ等、ミキサエンジン１０側では使用しないデータも含まれるが、これが残っていても特に問題はない。
【００６７】
なお、ミキサエンジン１０に記憶されるコンフィグデータは、任意のＰＣ３０が生成したアーカイブファイルを、記録媒体から読み出したり、通信経路を介して受信したりし、これを解凍して得ることができる。従って、ミキサエンジン１０が記憶しているコンフィグデータの数や内容は、接続されているＰＣ３０におけるコンフィグデータと一致するとは限らない。ただし、コンフィグデータについても、ＩＤやバージョンにより、ミキサエンジン１０側のデータとＰＣ３０側のデータとの対応関係を把握することができる。
このコンフィグデータを記憶するメモリがミキサエンジン１０側の構成データ記憶手段である。
【００６８】
なお、ミキサエンジン１０は、ＰＣ３０において編集された信号処理構成に基づいて音響信号を処理するものである。そのため、ＣＰＵ１１は、信号処理に使用するコンフィグデータに基づいてＤＳＰ２０に実行させるマイクロプログラムを形成するようになっており、そのための作業領域としてマイクロプログラム形成バッファを用意している。
【００６９】
マイクロプログラムの形成処理では、ミキサエンジン１０のＣＰＵ１１が、コンフィグデータ中のＣＡＤデータに含まれる各コンポーネントのコンポーネントＩＤとコンポーネントバージョンにより特定されるプリセットコンポーネントデータから、マイクロプログラムを順次読み出す。
【００７０】
そして、コンフィグデータに含まれる割当情報のうち、これから実行しようとする信号処理の内容に合致する条件（自機の機種、サンプリング周波数等）の割当情報に基づき、読み出した各マイクロプログラムを、適切なＤＳＰに適切なタイミングで実行させることができるように、マイクロプログラム形成バッファに書き込む。このとき、必要に応じて、パラメータの設定や、プログラムの加工を行う。また、結線の割当情報に従い、マイクロプログラム間で適切に信号データが受け渡されるよう、伝送用ｃｈや伝送用ＲＡＭアドレスの設定を行う。
【００７１】
そして、ＣＡＤデータに含まれる全てのコンポーネント及び結線について、マイクロプログラムの書き込みや設定が完了すると、ＤＳＰ２０に与えるマイクロプログラムが完成する。
なお、ミキサエンジン１０においては、コンフィグデータに適切な割当情報がない場合、マイクロプログラムの生成に先立って、ミキサエンジン１０側でＣＡＤデータのコンパイルを行うことができるようにしているが、これは必須ではない。
【００７２】
また、ミキサエンジン１０は、このコンパイルに使用する情報として、自機が備えるハードウェアリソースに関する情報である自機機種情報と、ＤＳＰリソースデータベースとを有している。これらの情報は、図５に示した機種データベース及びＤＳＰリソースデータベースと同じ形式で、ミキサエンジン１０の処理能力を示すために必要な情報を記載したものである。
【００７３】
なお、ミキサエンジン１０の場合、機種は特定されているが、サンプリング周波数やオプション構成により利用可能なリソースが変化するため、記載すべきＤＳＰリソース情報が複数になる場合もある。
また、図７に示すように、ミキサエンジン１０側にも、カレントシーンを設けている。その構成は、信号処理に使用するコンフィグデータに含まれるシーンと同じものである。そして、ユーザの操作により、いずれかのシーンの内容をカレントシーンに記憶させ、そのパラメータを信号処理の内容に反映させることができる。また、操作子１５の操作によりカレントシーンの内容を編集することも可能である。
【００７４】
次に、以上説明してきたＰＣ３０及びミキサエンジン１０が実行する処理について説明する。以下に説明する処理のうち、ＰＣ３０側の処理はＣＰＵ３１が編集プログラムを実行することによって行うものであり、ミキサエンジン１０側の処理はＣＰＵ１１が所要の制御プログラムを実行することによって行うものである。
【００７５】
まず、図８に、ＰＣ３０が編集プログラムの動作中に常に実行しているメイン処理のフローチャートを示す。
ＣＰＵ３１は、ユーザによって編集プログラムの実行が指示されると、図８のフローチャートに示す処理を開始する。そして、この処理によって、ミキサエンジン１０において行う信号処理の構成を編集する機能が実現される。
【００７６】
この処理においては、まずステップＳ１で図３に示したような信号処理構成編集用のＣＡＤ画面４０を表示し、その後、ステップＳ２乃至Ｓ１２で、編集操作、コンパイルキー４１の押下、処理構成の保存や呼出の指示、その他の動作指示を受け付けてその指示に従った処理を行う。そして、編集プログラムの終了指示があると、ステップＳ１２からステップＳ１３に進み、ＣＡＤ画面４０を消去して処理を終了する。
【００７７】
このように、編集プログラムは、ＣＰＵに、ＯＳからユーザからの操作を始めとする種々のイベントを受け取り、それに応じた動作を行うことにより、ミキサエンジン１０において行う信号処理の構成の編集を始めとする種々の機能を実現させるためのものである。しかし、これらの機能を実現するための処理について逐一説明すると説明が煩雑になるため、以下、ユーザが信号処理構成の編集操作を行った場合及びコンパイルキー４１を押下した際に実行される処理のみについて説明し、他の処理に関する説明は省略する。
【００７８】
まず、編集操作があった場合（Ｓ２のＹＥＳ）の処理は、ステップＳ３乃至Ｓ５に示すものである。ここでいう編集操作とは、信号処理構成に対するコンポーネントや結線の追加・削除又は変更を指す。そして、この操作があった場合、まず、編集操作に従って、図６に示したカレントコンフィグデータ中のＣＡＤデータの内容を変更し（Ｓ３）、その後、ＣＡＤ画面４０の表示も編集後の内容に更新する（Ｓ４）。さらに、コンポーネントの追加、削除又は変更を行った場合、これに合わせてカレントシーン及びカレントコンフィグデータ中の各シーンについて、コンポーネントシーンの追加、削除又は変更を行うことにより、これらのシーンの構成を変更する（Ｓ５）。
【００７９】
また、コンパイルキー４１が押下された場合には、図４に示したターゲット選択画面５０で選択された各ターゲット条件に従ってカレントコンフィグデータに含まれるＣＡＤデータをコンパイルするコンパイル処理を行う（Ｓ７）。
【００８０】
図９に、このコンパイル処理のフローチャートを示す。
この処理においてはまず、ステップＳ２１，Ｓ２７，Ｓ２８において、ターゲット選択画面５０で選択された各ターゲット条件を順次処理対象として指定し、その指定したターゲットについて、ステップＳ２２乃至Ｓ２６の処理を繰り返す。ステップＳ２２乃至Ｓ２６の処理は、１つの条件に従ってＣＡＤデータのコンパイルを行うための処理である。
【００８１】
具体的には、まず、図５に示した機種データベース及びＤＳＰリソースデータベースを参照し、指定したターゲットに関するＤＳＰリソースの情報を取得する（Ｓ２２）。その後、コンパイルするＣＡＤデータが示す各コンポーネント及び結線に、ステップＳ２２で取得したＤＳＰリソース情報に従ってＤＳＰのリソースを割り当てる（Ｓ２３）。
【００８２】
ＤＳＰが各コンポーネントに関する処理を行うために要するステップ数及びメモリ量は、ＣＡＤデータに含まれるコンポーネントデータ中のコンポーネントＩＤ及びコンポーネントバージョンに基づき、ＤＳＰリソースデータベースを検索することにより得られる。従って、この必要ステップ数及びメモリ量に基づき、まだ割り当てていないステップやメモリが十分残っているＤＳＰを、順次コンポーネントに割り当てていけばよい。結線についても、両端のコンポーネントに係る処理をどのＤＳＰで行うかを決定した後で、同じＤＳＰ内の伝送か、異なるＤＳＰ間での伝送かに応じて、波形バスの伝送ｃｈや、信号伝送用のレジスタを割り当てればよい。
【００８３】
なお、割り当てに際し、信号出力元のコンポーネントに係る処理が、信号出力先のコンポーネントに係る処理よりもサンプリング周期内の後のタイミングで行われるような割り当てを行っても、特に問題はない。ただし、この場合、出力元のコンポーネントから出力された信号は、次のサンプリング周期で、出力先のコンポーネントにおいて処理されることになる。このため、処理に１サンプリング周期の遅延が発生することになる。また、波形バスにより信号伝送を行うと、このことによっても処理に２サンプリング周期の遅延が生じる。
【００８４】
そして、以上の割り当てが成功した場合（Ｓ２４のＹＥＳ）、すなわち全てのコンポーネント及び結線に対してリソースを割り当てることができた場合、このときのターゲット条件及び割り当て結果を示す割当情報を作成して、カレントコンフィグデータに追加する（Ｓ２５）。割当情報の形式については、図６に示した通りである。また、割り当てが失敗した場合には、指定されているターゲット条件についてコンパイルエラーが発生したことを記憶する（Ｓ２６）。この場合には、割当情報の追加は行わない。
【００８５】
なお、信号処理に必要なリソース量が、ターゲット条件における利用可能リソース量と近い場合、合計値としてはターゲット条件におけるＤＳＰリソースの範囲内に収まる場合であっても、割り当てを行う順番によっては、全てのコンポーネントや結線にリソースを割り当てられないことも有り得る。従って、割り当てが失敗した場合でも、何度か順番を変えてリトライを行うようにするとよい。
【００８６】
図４に示したターゲット選択画面５０で選択された全てのターゲットについて以上の処理により割当情報の生成又はコンパイルエラーの記憶が完了すると、ステップＳ２８でＹＥＳとなる。そして、ステップＳ２９へ進み、コンパイル処理前からカレントコンフィグデータに含まれていた割当情報を削除する。ここで削除する割当情報は、通常は前回のコンパイル処理時に作成されたものである。後に詳述するが、ステップＳ２３での割当実行時に前回コンパイル処理時の割当情報を参照する場合があるため、ここまで残しておくようにしている。ただし、ユーザの選択により、前回コンパイル処理時の割当情報を参照せずにコンパイルできるようにしてもよいことも、後述の通りである。
【００８７】
また、その後、カレントコンフィグデータ中のコンフィグヘッダのうちターゲット条件情報を、割当情報を作成できたターゲット条件を示す情報に変更する（Ｓ３０）。この時点では、カレントコンフィグデータ中の割当情報は、今回のコンパイル処理においてステップＳ２５で追加されたもののみとなっており、ターゲット条件情報としても、これらの割当情報の生成に使用された条件が記載されることになる。
【００８８】
その後、割当情報の追加されたカレントコンフィグデータをｔａｒ形式等のアーカイブファイルとして保存する（Ｓ３１）。アーカイブファイルの保存先は、着脱可能な不揮発性メモリとするとよいが、ＨＤＤ等の内蔵メモリでもよい。
以上の後、ステップＳ２６でコンパイルエラーが記憶されていた場合には（Ｓ３２のＹＥＳ）、エラーのあったターゲット条件を画面に表示してユーザに通知し（Ｓ３３）、コンパイル処理を終了して図８の処理に戻る。コンパイルエラーがなかった場合にはそのまま元の処理に戻る。
【００８９】
以上のコンパイル処理において、ＰＣ３０のＣＰＵがコンパイル手段として機能する。
そして、このコンパイル処理により生成されるアーカイブファイルによれば、使用したターゲット条件を満たすミキサエンジンであれば、どのミキサエンジンに読み込ませても、ＰＣ３０で編集した信号処理構成に従った信号処理を実行させることができる。すなわち、複数の機種をターゲット条件としてコンパイルを行えば、その複数の機種のミキサエンジンに共通の信号処理を実行させることが可能なアーカイブファイルを作成することができる。
【００９０】
なお、ステップＳ２９で前回コンパイル処理時の割当情報を削除せずに残しておいてもよい。この場合、コンパイル処理で新たに作成された割当情報が以前の割当情報に追加された状態のアーカイブファイルが作成されることになる。従って、ステップＳ３０でも、前回コンパイル処理時のターゲット条件情報を残しておき、新たに作成された割当情報に関するターゲット条件の情報をここに追加するとよい。
【００９１】
また、ステップＳ２３での割り当ては、既にある割当情報を参照せず、コンパイルの度に初めから行うこともできる（バッチコンパイル）。しかし、既にある割当情報を参照し、この割当情報の作成時点から変更された部分だけ割り当てをやり直すようにしてもよい（インクリメンタルコンパイル）。
【００９２】
このとき参照する割当情報は、同じターゲット条件のものである。そして、その割当情報に含まれるコンポーネント及び結線と、コンパイルするＣＡＤデータに含まれるコンポーネント及び結線とを比較し、構成が一致している部分については、参照した割当情報の内容をそのまま利用する。コンポーネントについては、ユニークＩＤで比較し、結線の情報は、両端のコンポーネントが一致する場合のみ利用する。構成が一致しない部分については、参照した割当情報の内容は利用せず、新たに、コンパイルするＣＡＤデータに含まれるコンポーネント及び結線に対してリソースの割り当てを行えばよい。
【００９３】
このインクリメンタルコンパイルを行う場合、割当情報のうち前回コンパイル時から変更すべき部分を消して書き直す、という形になる。このため、何度も信号処理構成を変更してコンパイルを行うことを繰り返すと、リソース中に割り当て済みの部分と未割り当ての部分が細切れに混在するフラグメンテーションが起こって割り当ての効率が悪くなってしまうことがある。しかし、バッチコンパイルをして割り当てをやり直すと、同じ信号処理構成なのに各コンポーネントの処理順や割り当て先ＤＳＰユニットが変わってしまい、このためコンポーネント間で生じる遅延の量が変わってしまうこともある。従って、この遅延量も含め、編集していない部分については実際にＤＳＰで実行される処理の手順を維持したい場合、インクリメンタルコンパイルが有効であると言える。
【００９４】
このように、バッチコンパイルとインクリメンタルコンパイルには一長一短があるため、どちらの方式を採用するか、ユーザが選択できるようにするとよい。この場合、ターゲット条件毎に選択できるようにしてもよい。
【００９５】
ところで、ＰＣ３０側で編集した信号処理構成に従った音響信号処理をミキサエンジン１０に実行させる場合、図９に示した処理で生成されるアーカイブファイルをミキサエンジン１０に読み込ませればよい。ミキサエンジン１０側にはアーカイブファイルから必要な情報を読み出して音響信号処理を行うための設定を行う機能を設けている。
【００９６】
図１０に、この機能に係る処理のフローチャートを示す。
ミキサエンジン１０のＣＰＵ１１は、外部装置からアーカイブファイルが読み込み指示と共に送信されてきた、アーカイブファイルを記録した運搬用メモリが接続された、その接続された運搬用メモリに記録されている複数のアーカイブファイルの中から１つがユーザに選択されその読み込みが指示された、予めフラッシュメモリ１２に記憶しているアーカイブファイル又はコンフィグデータの１つがユーザにより選択されて読み込みが指示された等により、ＤＳＰ２０にアーカイブファイルを読み込むよう指示されたと判断すると、図１０のフローチャートに示す処理を開始する。
【００９７】
なお、この処理において、ＤＳＰ２０の処理に反映させるデータがアーカイブファイルであっても、解凍済みのコンフィグデータであっても、解凍処理の有無を除けば同じ処理にて取扱い可能である。また、上記の読込指示は、その読み込んだアーカイブファイルに従った新たな信号処理構成に係る信号処理を実行する指示、と解釈できる場合もある。
【００９８】
そして、図１０に示す処理においてはまず、ＤＳＰ２０の処理に反映させるアーカイブファイルを解凍してコンフィグデータを取得する（Ｓ４１）。そして、そのコンフィグデータ中のコンフィグヘッダのシステムバージョン情報により、自機が備えるプログラムのバージョンと、アーカイブファイルが生成されたＰＣ３０における編集プログラムのバージョンとを比較する（Ｓ４２）。
【００９９】
ここで、編集プログラムの方がバージョンが新しい場合、ミキサエンジン１０はコンフィグデータに従った信号処理の実行に必要なプログラムを備えていない可能性があるため、バージョンが不適正と判断し（Ｓ４２のＮＯ）、その旨を表示器１４に表示してユーザに通知する等し（Ｓ５３）、処理を終了する。
【０１００】
一方、バージョンが同じか自機の方が新しければ、次の処理に進む（Ｓ４２のＹＥＳ）。
そして次に、実行しようとする信号処理の条件に合ったターゲット条件の割当情報がコンフィグデータ中にあるか否か判断する（Ｓ４３）。ここで、信号処理の条件のうち、実行する装置の機種についてはミキサエンジン１０側では変更不能である。しかし、機種以外の、サンプリング周波数等の条件は、ミキサエンジン１０側で決定できるようにしてもよい。すなわち、予めミキサエンジン１０において設定されている値を使用してもよいが、ステップＳ４３の処理の時点で所定の選択肢から選択を受付けるようにしたり、割当情報が存在するものの中から自動又は手動で任意に選択するようにする等が考えられる。
【０１０１】
いずれにせよ、ステップＳ４３で適当な割当情報があれば、コンフィグデータからその割当情報を読み出す（Ｓ４４）。そして、コンフィグデータ中のＣＡＤデータに従ってカレントメモリを構築する（Ｓ５０）と共に、読み出した割当情報及びＣＡＤデータに従って、ＤＳＰ２０に実行させるマイクロプログラムをマイクロプログラム形成バッファに生成する（Ｓ５１）。
【０１０２】
その後、生成したマイクロプログラムをＤＳＰ２０に設定して実行させる（Ｓ５２）ことにより、コンフィグデータ（に含まれるＣＡＤデータ）が示す信号処理構成の信号処理を実行する状態に移行し、処理を終了する。
なお、マイクロプログラムの形成手順については、図７の説明で述べた通りである。また、カレントメモリの内容は、所定のデフォルト値としても、コンフィグデータに含まれるいずれかのシーンの内容を呼び出してもよい。
ここまでの処理のうち、ステップＳ４４ではＣＰＵ１１が割当情報選択手段として機能し、ステップＳ５１では、ＣＰＵ１１がプログラム形成手段として機能する。
【０１０３】
一方、ステップＳ４３で適当な割当情報がなかった場合、処理はステップＳ４５以下に進む。
ここではまず、コンフィグデータ中にＣＡＤデータがあるか否か判断する（Ｓ４５）。この判断は通常ＹＥＳになるが、何らかの理由で適正なコンフィグデータが得られていない場合、ＮＯになることもある。この場合、その旨をユーザに警告するエラー処理（Ｓ５３）を行って終了する。
【０１０４】
一方、ステップＳ４５でＹＥＳであれば、コンフィグデータに含まれるＣＡＤデータが示す各コンポーネント及び結線に、自機のリソース情報に従って、図９のステップＳ２３の場合と同様なアルゴリズムでＤＳＰ２０のリソースを割り当てる（Ｓ４６）。ここで参照するのは、図７に示した自機機種情報及びＤＳＰリソースデータベースである。また、機種以外の条件については、ステップＳ４３の判断の場合と同様に適宜決定する。
【０１０５】
そして、この割り当てが成功した場合、ターゲット条件及び割り当て結果を示す割当情報を作成してＣＡＤデータに追加する（Ｓ４７，Ｓ４８）。また、コンフィグヘッダ中のターゲット条件情報にも、割り当てに使用したターゲット条件の情報を追加する（Ｓ４９）。そして、その後ステップＳ５０以下に進み、カレントメモリの構築、マイクロプログラムの生成及び設定を行う。ここで用いる割当情報は、ステップＳ４８で作成したものである。
【０１０６】
ここまでの処理のうち、ステップＳ４６乃至Ｓ４９ではＣＰＵ１１が第２のコンパイル手段として機能する。
また、ステップＳ４７で割り当て失敗であった場合には、その旨をユーザに警告するエラー処理（Ｓ５３）を行って終了する。
【０１０７】
以上の処理によれば、ミキサエンジン１０は、ＤＳＰ２０に、読み出したアーカイブファイル（又はコンフィグデータ、以下特に断らない限り同様）により規定される信号処理構成に従った信号処理を行わせるためのプログラムを形成し、それをＤＳＰ２０に実行させることができる。従って、以上の処理の後、適当な波形データを波形Ｉ／Ｏ１９から入力することにより、ＤＳＰ２０にアーカイブファイルの内容に従った信号処理を実行させて処理後の波形データの出力を得ることができる。
【０１０８】
この場合において、アーカイブファイルに適切なターゲット条件の割当情報が含まれていれば、ミキサエンジン１０側でコンパイルをやり直すことはない。従って、いつ読み込ませても、読み込ませる装置の個体が異なる場合でも、同じ条件での処理が可能なミキサエンジンでさえあれば、フラグメンテーションや遅延の発生状況も含めて、全く同じ条件で信号処理を実行させることができる。さらに、ミキサエンジン１０側でのコンパイルが必要ないため、ミキサエンジン１０は、短時間のうちに信号処理を開始することができる。この効果は、１つのターゲット条件についてのみコンパイルがなされ、コンフィグデータ中に割当情報が１つしかない場合でも、同様に得られるものである。
また、アーカイブファイルを読み込ませる装置によって機種等の処理条件が異なる場合には、フラグメンテーションや遅延の発生状況の一致までは保証できないが、コンポーネントや結線については、同じ条件で信号処理を実行させることができる。
【０１０９】
また、アーカイブファイルを、作成時には考慮していなかった機種のミキサエンジンに読み込ませたとしても、ミキサエンジン側で自機のハードウェア構成に合った割当情報を作成できるため、問題なく信号処理を行わせることができる。
また、この割当情報をアーカイブファイルに追加して保存できるようにすれば、以後、同機種のミキサエンジンではコンパイルなしにそのアーカイブファイルを利用できるようになる。もちろん、この割当情報を利用すれば、後で同じ信号処理を実行する際に、フラグメンテーションや遅延の発生状況も含めて、初めにコンパイルを行った時点と同じ条件の信号処理を再現できる。
【０１１０】
なお、図１０に示した例では、ステップＳ４９で割当情報を追加したＣＡＤデータをアーカイブファイルにする処理は示していないが、このようにしてもよいことはもちろんである。また、ステップＳ４１やＳ４９で得られたコンフィグデータをフラッシュメモリ１２等に記憶させておき、後でアーカイブファイルとして出力できるようにしてもよい。
【０１１１】
以上で実施形態の説明を終了するが、この発明において、装置の構成、具体的な処理内容、表示する画面の内容や用途、データの形式等が、以上説明してきた実施形態において具体的に説明したものに限られないことは、もちろんである。
例えば、コンポーネント及び結線にリソースを割り当てる際に、図９のステップＳ２３の説明で述べた、信号処理の遅延を考慮するようにしてもよい。既に述べたように、ＤＳＰ２０に実行させる信号処理に際しては、結線の前後のコンポーネントをどのＤＳＰでどのタイミングで処理するかに応じて、その結線での信号伝送に異なる量の遅延が生じる。従って、コンパイルをやり直した際に、同じ結線であっても生じる遅延量が変わってしまう場合もある。
【０１１２】
これに対し、全ての結線について、遅延量を、生じうる最大の遅延量（ここでは２サンプリング周期）に合わせてしまうようにすれば、このような問題は生じない。このためには、例えば、実際に生じる遅延量の少ない結線について、調整の目標値との差分だけ、遅延を追加すればよい。
ただし、このような自動調整を行うと、追加する遅延の分だけハードウェアリソースを余計に消費することになるため、自動調整の有無はユーザが選択できるようにするとよい。そして、この遅延自動調整有無も、ターゲット条件の項目に含めるようにするとよい。
【０１１３】
また、機種、サンプリング周波数、遅延自動調整といったように、ターゲット条件の項目が増えると、その組合せが膨大になり、図４に示したターゲット候補表示部５１に、全ての組み合わせを列挙することは難しくなる。
そこで、図１１に示すような条件候補設定画面６０により、ターゲット条件の候補を登録可能とし、ターゲット選択画面５０においては、予め登録された候補から、実際にターゲット条件として使用する条件を選択させるようにすることも考えられる。
【０１１４】
また、別の変形として、上述した実施形態における図１０のステップＳ４５乃至Ｓ４９の処理を行う機能、すなわちミキサエンジン１０側のコンパイル機能は設けなくてもよい。この場合、ステップＳ４３でＮＯの場合にはステップＳ５３で適当な割当情報がない旨の警告を行えばよい。ＰＣ３０側で、予め処理を実行させようとするミキサエンジンに合わせたアーカイブファイルを用意しておけば、このような構成でも全く問題ない。
さらに、このような構成を採る場合、ターゲット条件情報を、コンフィグヘッダだけでなく、アーカイブファイルのヘッダにも記載しておくとよい。このようにすれば、適当な割当情報の有無を解凍前に把握でき、適当な割当情報がない場合には無駄な解凍処理を行わずにエラー処理に進むことができる。
【０１１５】
また、別の変形として、ミキサシステムの構成は図１に示したものに限られることはなく、編集装置として、ＰＣ３０ではなく専用の編集装置あるいは制御装置を用いてもよい。音響信号処理装置も、１台とは限らず、複数台を編集装置に同時に接続するようにしてもよい。また、ＰＣとミキサエンジンとを、全く接続しなくても、この発明の効果は得られる。
【０１１６】
また、上述の実施形態におけるミキサエンジン１０は、複数のチャンネルストリップを備えたデジタルミキサであってもよい。さらに、ＰＣ３０とミキサエンジン（又はデジタルミキサ）は、別体ではなく、１つのハウジングに収められた一体の機器であってもよい。その場合、ミキサエンジン（又はデジタルミキサ）のＣＰＵ１１，ＲＡＭ１３，表示器１４，操作子１５等と、ＰＣ３０のＣＰＵ３１，ＲＡＭ３３，表示器３４ａ，操作子３５ａ等とは、同じハードウェアを共用するようにしてもよい。
また、以上説明してきた実施形態及び変形例の構成は、矛盾しない範囲で任意に組み合わせて適用可能である。
【産業上の利用可能性】
【０１１７】
以上の説明から明らかなように、この発明の編集装置及び音響信号処理装置によれば、処理内容をプログラム可能な信号処理部を有する音響信号処理装置に、編集装置により編集した信号処理構成に従った信号処理を実行させる場合に、編集装置が生成した信号処理構成のデータを複数機種のミキサエンジンにより容易に共用できるようにすることができる。また、ミキサエンジンにおいて、信号処理構成のデータを読み込んで短時間のうちに信号処理を開始することができるようにすることできる。
【図面の簡単な説明】
【０１１８】
【図１】この発明の編集装置の実施形態であるＰＣとこの発明の音響信号処理装置の実施形態であるミキサエンジンとによって構成した音響信号処理システムであるミキサシステムの構成を示すブロック図である。
【図２】図１に示したＤＳＰ及びその周辺の構成をより詳細に示す図である。
【図３】図１に示したＰＣのディスプレイに表示させる信号処理構成の編集画面の例を示す図である。
【図４】同じくターゲット選択画面の表示例を示す図である。
【図５】この発明に関連するデータのうち、ＰＣ側で使用するデータの構成を示す図である。
【０１１９】
【図６】同じく、ＰＣ側で使用する別のデータの構成を示す図である。
【図７】同じく、ミキサエンジン側で使用するデータの構成を示す図である。
【図８】図１に示したＰＣにおける、編集プログラム実行中のメイン処理を示すフローチャートである。
【図９】図８に示したコンパイル処理の内容を示すフローチャートである。
【図１０】図１に示したミキサエンジンのＣＰＵが実行する、アーカイブファイルから必要な情報を読み出して音響信号処理を行うための設定を行う処理のフローチャートである。
【図１１】条件候補設定画面の表示例を示す図である。
【符号の説明】
【０１２０】
１０…ミキサエンジン、１１…ＣＰＵ、１２…フラッシュメモリ、１３…ＲＡＭ、１４…表示器、１５…操作子、１６…ＰＣＩ／Ｏ、１７…ＭＩＤＩＩ／Ｏ、１８…その他Ｉ／Ｏ、１９…波形Ｉ／Ｏ、２０…ＤＳＰ、２１〜２４…第１〜第４の信号処理プロセッサ、２５…波形バス、２６…カスケードＩ／Ｏ、２７…ＣＰＵバス、３０…ＰＣ、４０…ＣＡＤ画面、４１…コンパイルキー、Ａ…コンポーネント、Ｂ…出力端子、Ｃ…入力端子、Ｄ…結線、５０…ターゲット選択画面、６０…条件候補設定画面
【図１】
0005239453.tif 000002
【図２】
0005239453.tif 000003
【図３】
0005239453.tif 000004
【図４】
0005239453.tif 000005
【図５】
0005239453.tif 000006
【図６】
0005239453.tif 000007
【図７】
0005239453.tif 000008
【図８】
0005239453.tif 000009
【図９】
0005239453.tif 000010
【図１０】
0005239453.tif 000011
【図１１】
0005239453.tif 000012