以下、この発明の一実施例について図面を参照して詳細に説明する。
図1はこの発明の一実施例に係るディジタルオーディオミキサの電気的ハードウェア構成例を示すブロック図である。図1に示す通り、ミキサ100は、CPU1、フラッシュメモリ2、RAM3、波形入出力インターフェース(波形I/O)4、ミキシング処理部5、効果付与部6、表示器7、操作子群8、PCインターフェース(PC I/O)9、MIDIインターフェース10及びその他インターフェース(その他I/O)11を含み、各部がバス1Bを介して接続される。
CPU1は、フラッシュメモリ2又はRAM3に記憶された制御プログラムを実行し、当該ミキサ100の全体的な動作制御を行う。また、RAM3には、ミキシング処理や効果付与処理に用いる各種パラメータ値の現在の設定値を記憶するためのカレントメモリ領域が設けられている。
ミキサ100と外部音響機器との間でのオーディオ信号の入出力は波形I/O4を介して行われる。波形I/O4は、AD変換器を含むアナログ入力ポート、DA変換器を含むアナログ出力ポート及びディジタル入出力ポートを含む。また、波形I/O4にはモニタ信号を出力するモニタ用ポートも備えられており、該モニタ用ポートからミキシング処理部5乃至効果付与部6の任意のモニタポイントのアナログオーディオ信号を出力し、これをユーザにモニタさせることができる。ミキシング処理部5は、複数のDSPにより構成され、CPU1の指示に基づき波形I/O4から入力されたオーディオ信号のミキシング処理を行う。
効果付与部6は、複数のDSPにより構成され、CPU1の指示に基づき前記ミキシング処理部5の任意の信号処理ブロックのオーディオ信号に対して各種効果付与処理を施す。なお、既に述べた通り、この明細書において、「信号処理ブロック」は、例えば、任意の1つの入力チャンネルや任意の1つの出力チャンネルなど、ミキシング処理中の機能単位ごとの信号経路(チャンネル)の部分を指す。効果付与部6のDSPが実行するマイクロプログラムによる各種効果付与機能は、プラグインとして動作する種々のエフェクト・ソフトウェア(プラグインエフェクト)によって提供される。
表示器7と操作子8はディジタルミキサ100のコンソール(操作パネル)に配備されている。周知の通りミキサのコンソールには、複数のチャンネルストリップ毎に設けられたフェーダ操作子やノブ型操作子を始めとして、多数の操作子やスイッチ類が具備されている。また、表示器7は、例えば液晶表示パネル等により構成され、CPU1の制御に基づき各種機能毎の制御画面(後述図5の仮想ラック画面や、図7(c)のプラグインエフェクト編集画面など))等の各種情報を表示する。ユーザは、該表示器7に各種動作モードに応じた制御画面を呼び出し、該呼び出した画面上のGUI部品を用いて、パラメータ設定等の各種操作を行うことができる。
また、ミキサ100はPC I/O9を介してパーソナルコンピュータと接続可能であり、該接続されたパーソナルコンピュータにおいて当該ミキサ100をリモート制御するためのソフトウェアプログラムを実行することで、ユーザは該パーソナルコンピュータからミキサ100をリモート制御することができる。PC I/O9は、例えばイーサネット(登録商標)やUSBなど従来から知られる適宜の通信インターフェースで構成してよい。また、ミキサ100は、MIDI I/O10を介して外部のMIDI機器と接続可能である。更に、ミキサ100は、その他I/O11を介してその他適宜の外部機器と接続できてもよい。
なお、ミキサ100と他のディジタル音響機器とでディジタル接続を行う場合、周知の通り、オーディオ信号を信号処理するタイミングの基になる「ワードクロック」を相互の機器間で同期させる必要がある。ここで、ワードクロックを相互に同期させた状態とは、各機器のディジタルオーディオを処理する回路(ミキシング処理部5や効果付与部6)が、該各機器で互いに同期した状態を指す。外部の他の機器がワードクロックマスタの時(ミキサ100がワードクロックスレーブの時)は、ミキサ100は、外部のワードクロックマスタにおいて発生されたワードクロックに同期したサンプリング周期でオーディオ信号の信号処理を行う。また、ミキサ100がワードクロックマスタの時(他の機器がワードクロックスレーブの時)は、ミキサ100は所定のサンプリング周期でオーディオ信号の信号処理を行い、該所定のサンプリング周期に同期したワードクロックを外部に出力する。
図2において、前記図1に示す波形I/O4、ミキシング処理部5及び効果付与部6の部分を拡大して示す。図2においては、効果付与部6が4つのDSP60,61,62及び63により構成される例が示されている。図2において、効果付与部6を構成する各DSP60〜63に添え数字1〜4を付与している。なお、図示は省略したが、ミキシング処理部5も、効果付与部6と同様に、複数のDSPで構成されることは、既に述べた通りである。
波形I/O4、ミキシング処理部5及び効果付与部6は、波形バス12を介して互いに接続されており、該波形バス12を通じて複数の伝送チャンネル分のディジタルオーディオ信号を伝送することができる。波形バス12においては、例えば、24ビットのディジタルオーディオ信号を時分割で128ch伝送することができる。また、波形I/O4、ミキシング処理部5及び効果付与部6は、それぞれCPUバス13に接続されており、CPU1との間で制御信号等のデータ通信を行う。図2において、効果付与部6について詳細に示すとおり、効果付与部6の各DSP60〜63はそれぞれ波形バス12及びCPUバス13を介して相互に接続されており、各DSP60〜63の間では波形バス12を介してオーディオ信号を通信することができる。図示外のミキシング処理部5を構成する複数のDSPもそれぞれ波形バス12及びCPUバス13を介して相互に接続される。更に、これらのミキシング処理部5を構成する複数のDSPは、波形バス12及びCPUバス13とは別のシリアル伝送ラインによっても相互に接続されており、後述する複数の入力chの処理、複数本のMIXバスの処理及び複数の出力chの処理に関するオーディオ信号の伝送、つまりに、ミキシング処理に関するオーディオ信号の伝送は、前記別のシリアル伝送ラインを使って行う。すなわち、該ミキシング処理に関するオーディオ信号の伝送には前記波形バス12の伝送チャンネル帯域を全く使わずに実現することができる。
波形バス12の各伝送チャンネルは、波形I/O4、ミキシング処理部5の各DSP乃至効果付与部6の各DSP60〜63のいずれかの出力に割り当てられており、該各出力は各々が割り当てられた伝送チャンネルにオーディオ信号を出力する。なお、波形I/O4、ミキシング処理部5の各DSP乃至効果付与部6の各DSP60〜63の各出力に対する波形バス12の伝送チャンネルの割り当て(どのDSPの出力に何chの伝送チャンネルを割り当てるか)は、ユーザが任意に設定できてもよいし、予め決められた設定に固定されていてもよい。更に、ユーザが行った入力パッチ、出力パッチ等の設定に応じて、自動的に割り当てられるようにしてもよい。一方、波形I/O4、ミキシング処理部5の各DSP乃至効果付与部6の各DSP60〜63の各入力は、各自が受け取りたいオーディオ信号の出力(波形I/O4、ミキシング処理部5の各DSP乃至効果付与部6の各DSP60〜63の何れかの出力)に割り当てられた伝送チャンネルからオーディオ信号を受け取る。すなわち、効果付与部6の各DSP60〜63は、波形バス12を通じて、波形I/O4、ミキシング処理部5又は効果付与部6の他のDSPのいずれかの出力信号を自身に入力し、自身での効果付与処理の結果を波形I/O4、ミキシング処理部5又は効果付与部6の他のDSPのいずれかへ出力することができる。なお、波形バス12の伝送チャンネルを介した各部のオーディオ信号の送受信制御は後述する入力パッチ32及び出力パッチ36によって行われる。
効果付与部6の各DSP60〜63には、後述する処理(図10等を参照)により任意の1乃至複数のプラグインエフェクトが割り当てられる。効果付与部6の各DSP60〜63に割り当てられた各プラグインエフェクトは、各々が割り当てられたDSPの演算リソースを使って各プラグインエフェクトの種類に応じた効果付与処理を実行する。ここで、DSPのリソースとは、プラグインエフェクトのプログラム本体を格納するメモリ領域や、演算の係数を格納するメモリ領域、遅延素子用のメモリ領域、或いは結線リソース、或いは、実行可能な計算ステップ数等、多岐にわたる。
図3にDSP60〜63の各々のDSPリソース使用例を示す。前述の通りDSPリソースの種類は多岐にわたるが、ここでは図示及び説明の便宜上、1つのDSPのリソース使用状況を1つのブロックで表現する。図において、斜線乃至網掛けにより示す部分がプラグインエフェクトにより使用されているリソース領域であり、空白部分が空きリソース領域である。図に示す通り、各DSP60〜63のリソースはプラグインエフェクトPE1〜PE11により使用されている。1つのDSPにはリソースが確保できる限りの複数のプラグインエフェクトを割り当てることができる。プラグインエフェクトが必要とするリソース全体の量やリソース毎の使用量は、プラグインエフェクトの種類に応じて異なる。例えば、或る種のプラグインエフェクトはプログラム格納用のリソースを多く使うがその他のリソースは少ししか使わないのに対して、別の種のプラグインエフェクトはプログラム格納用のリソースの使用量は少ないものの遅延素子のリソースは多く使う等といった具合である。
或るプラグインエフェクトを或るDSPに新規に追加するときには、リソースの空き領域が利用される。プラグインエフェクトの追加に必要なリソース空き領域がDSPに残っていなければ、基本的には、当該DSPにプラグインエフェクトを追加することはできない。図3に例示する各DSP60〜63のリソース空き領域をみてみると、或るDSPでは連続した領域が存在し、また、或るDSPではプラグインエフェクトの追加、削除或いは変更作業の繰り返しにより空き領域が分散(断片化)している。空き領域が分散化しているDSPにおいては、現状ではユーザによって指定された新規プラグインエフェクトを追加できないものの、稼動中のプラグインエフェクトのリソースを再配置することで、該ユーザによって指定された新規プラグインエフェクトの追加ができるようになる場合がある。ここで、「プラグインエフェクトのリソースを再配置」とは、DSPにおいて既に稼動中の(既にリソースに割り当てられている)プラグインエフェクトを、例えばメモリアドレスの先頭から順に割り当て直すことで、該稼動中のプラグインエフェクトに割り当てられたリソース領域をまとめて、未使用のリソース領域を連続させることである。このようにプラグインエフェクトのリソースを再配置してからプラグインエフェクトを新規に追加することを、この明細書では「スクイーズコンパイル」と呼ぶ。この実施例では、詳しくは後述の図5に示す通り、追加するプラグインエフェクトを選択する選択メニューにおいて、「スクイーズコンパイル」により実行可能となる(つまりリソースが確保できる)プラグインエフェクトは、その他のものとは別態様で表示される。すなわち、新規に追加するプラグインエフェクトとして、「スクイーズコンパイル」により実行可能となるプラグインエフェクトも選択することが可能となる。
図4は、ミキシング処理部5が実行するミキシング処理のアルゴリズムの構成例を示すブロック図である。図4において、アナログ入力ポート(「A入力」)30及びディジタル入力ポート(「D入力」)31は図1及び図2に示す波形I/O4に相当する。入力パッチ32は、A入力30乃至D入力31の各々を後段の入力チャンネル(入力ch)33のいずれかへ選択的に接続する。この入力パッチ32の動作は、前記図2に示す波形バス12の伝送チャンネルを介した各部のオーディオ信号の送受信制御に相当する。
この実施例では、一例として、チャンネル番号CH1〜CH24の24本の入力ch33が具備されている。複数の入力ch33の各々では、各チャンネル毎のパラメータ設定に基づき、入力パッチ32を介して入力されたディジタルオーディオ信号の特性を制御する。ここでオーディオ信号の特性の制御とは、例えば、音量レベルやイコライザの調整等である。また、各入力ch33にはプラグインエフェクト挿入ポイントが設けられており、ユーザは任意の入力ch33に対して効果付与部6が実行するプラグインエフェクトを挿入することができる。図4において、入力ch33のブロック内に点線囲みで示す「INSERT」はそのことを示す。
複数の入力ch33の各々は、複数本のMIXバス34(図4の例ではMIX1〜12の12本のMIXバス)の各々に接続されており、各入力ch33の出力信号は任意のMIXバス34に供給されうる。各MIXバス34では、各自に供給されたオーディオ信号をミキシングし、該ミキシング結果を各MIXバス34の各々に対応するMIX出力ch35に出力する。各MIX出力ch35は、各チャンネル毎のパラメータ設定に基づき、各々に供給されたオーディオ信号の特性の制御を行う。また、各MIX出力ch35にはプラグインエフェクト挿入ポイントが設けられており、ユーザは、MIX出力ch35の任意のチャンネルに効果付与部6が実行するプラグインエフェクトを挿入することができる。図4において、MIX出力ch35のブロック内に点線で示す「INSERT」はそのことを示す。
MIX出力ch35の出力信号は出力パッチ36に出力される。出力パッチ36は、MIX出力ch35の各々を後段の複数のアナログ出力ポート36又は複数のディジタル出力ポート37のいずれかに選択的に結線する。かくして、各アナログ出力ポート36又は各ディジタル出力ポート37からは、ミキシング処理部5(入力ch33、MIXバス34及びMIX出力ch35)にてミキシング処理されたオーディオ信号が出力される。なお、前記出力パッチ36の動作は、前記図2に示す波形バス12の伝送チャンネルを介した各部のオーディオ信号の送受信制御に相当する。また、アナログ出力ポート36及びディジタル出力ポート37は図1及び図2に示す波形I/O4に相当する。
プラグインエフェクト40は、ミキシング処理の任意の信号処理ブロック、すなわち、入力ch33のいずれか乃至MIX出力ch35のいずれかのプラグインエフェクト挿入ポイント(INSERT IN/INSERT OUT)に挿入され、当該プラグインエフェクト40が割り当てられたDSPのリソースを使って、該任意の信号処理ブロックのオーディオ信号に対して効果付与処理を実行する。なお、プラグインエフェクト40は、効果付与部6の各DSP60〜63(図2参照)のDSPリソースが許す限りの複数個実装されうる。
ユーザは、出力パッチ36により任意の信号処理ブロック(入力ch33乃至MIX出力ch35)のINSERT OUTを設定することで、該任意の信号処理ブロックのINSERT OUTから出力される信号の送り先として所望のプラグインエフェクト40の入力を選択することができる。また、ユーザは、入力パッチ32により任意の信号処理ブロックのINSERT INを設定することで、該任意の信号処理ブロックのINSERT INへ入力される信号の入力元として所望のプラグインエフェクト40の出力を選択することができる。プラグインエフェクト40は、出力パッチ36によるINSERT OUTの設定に基づき入力されたオーディオ信号に対して効果付与処理を行う。ここで効果付与処理は、例えば、リバーブ、ディレイ、フランジャーなど、プラグインエフェクト40の種類に応じて様々である。プラグインエフェクト40が処理したオーディオ信号は入力パッチ32によるINSERT INの設定に基づく出力先へ出力される。すなわち、入力パッチ32と出力パッチ36は、プラグインエフェクトを1つの信号処理ブロックに挿入する挿入制御手段として機能する。
ユーザは、プラグインエフェクトの各種設定(プラグインエフェクトの選択やその挿入先の指定等)を行うための画面「仮想ラック画面」を表示器7に呼び出し、該仮想ラック画面を構成する各種GUI部品を用いてプラグインエフェクトについての各種設定を行うことができる。図5は「仮想ラック画面」の表示例である。ここで、「仮想ラック」とは、或る1つの信号処理ブロックに対して挿入されるプラグインエフェクトを設定するための仮想的なラック(棚)である。ユーザは、この仮想ラックに任意の複数のプラグインエフェクトを装着し、該仮想ラックに装着された任意の複数のプラグインエフェクトを任意の1つの信号処理ブロックに挿入することができる。つまり、あたかも、実体のエフェクトタラックにラックマウント型のプロセッサ乃至エフェクトタ装置を装着しパッチコードを使って配線するような感覚で、プラグインエフェクトの設定操作を当該仮想ラック画面にて行うことができる。なお、仮想ラック画面上での各種操作は、基本的には、画面上のポインタカーソル48を用いて行うことができるものとする。この仮想ラック画面を表示器7に表示させる構成が特許請求範囲に記載の「表示制御手段」に相当する。
図5に例示する仮想ラック画面においては、4つの仮想ラック(以下単に「ラック」とする)41が設けられており、これら4つのラック41にはラック番号「No.1」〜「No.4」が付与される。各ラック41は次に述べる各情報を表示するための領域により構成されている。すなわち、各ラック41には、プラグインエフェクト装着数を設定する装着数設定部(「Serial」)42と、該装着数設定部42に設定された数値に応じた数のプラグインエフェクト枠43と、当該ラック41に対する信号の入力元を設定するパッチ表示部44と、当該ラック41からの信号の出力先を設定するパッチ表示部45と、当該ラック41に装着されたプラグインエフェクトを編集するための制御画面(プラグインエフェクト編集画面)を開くための編集ボタン46が設けられている。
ユーザは、装着数設定部42に任意の数値を指定することで、当該ラック41にプラグインエフェクトを幾つ装着するか(プラグインエフェクト枠43を幾つ表示するか)を指定することができる。この装着数設定部42が、仮想ラック41に配置可能なプラグインエフェクトの数をユーザが指定する指定手段を構成する。図5において各ラック41の装着数設定部42に示された数字(図5において丸囲み内の数字)は、当該ラック41に装着されるプラグインエフェクトの数を表す。なお、図5の仮想ラック画面においてプラグインエフェクト装着数設定部42に「Serial」との名称が与えられているのは、後述する通り1つのラック41に装着された複数のプラグインエフェクト同士がシリアルに連結されることに由来している。
各ラック41には、それぞれの装着数設定部42に設定された数値に応じた数のプラグインエフェクト枠43が用意される。プラグインエフェクト枠43にプラグインエフェクトが設定されていれば、そのプラグインエフェクト枠43には、該設定されているプラグインエフェクトを表す画像が表示される。図5の例では、「プラグインエフェクトを表す画像」はプラグインエフェクトの名前を表す文字列であって、「No.1」のラック41にはコンプレッサー、「No.2」のラック41にはコンプレッサーとリバーブ、「No.3」のラック41にはコーラス、「No.4」のラック41にはコンプレッサーとリミッターとリバーブが、それぞれ、設定されていることが、各プラグインエフェクト枠43に表示された名前により示されている。プラグインエフェクト枠43にプラグインエフェクトが設定されていない場合は、プラグインエフェクト枠43には「no effect」すなわち「エフェクト無し」と表示される。
各ラック41には、プラグインエフェクト枠43を表示するための領域として所定の広さの領域が固定的に確保されている。1つのラック41に1つのプラグインエフェクトしか装着されない場合には、該プラグインエフェクト枠43を表示するための領域の全体を使う大きさの枠43が用意される(例えばラック「No.1」を参照)。また、1つのラック41に複数のプラグインエフェクトが装着される場合には、前記領域内に複数のプラグインエフェクト枠43の各々が等幅で表示される。すなわち、プラグインエフェクト枠43の表示サイズは、1つのラックに装着されるプラグインエフェクトの数に応じて異なる。
図6(a)は仮想ラック管理用のメモリ構成例を示す。仮想ラック管理用メモリは例えばRAM3に設けられていてよい。仮想ラック管理用のメモリには、図5に示す4つの仮想ラック41(「No.1」〜「No.4」)のそれぞれに対応する仮想ラックのデータVRD1〜VRD4が格納されている。(a)においてはラックNo.2に対応する仮想ラックデータVRD2について構成例を詳細に示す。仮想ラックデータVRD2には、当該ラックに設定されているプラグインエフェクト装着数Nと、当該ラックNo.2に装着されているプラグインエフェクトを示すデータSPE1,SPE2が含まれる。各データに付記された括弧つき数字「(2)」は、当該データが仮想ラックNo.2についてのデータであることを示す。仮想ラックデータVRD2の構成を、図5の仮想ラック画面上のラックNo.2と対応付ければ、VRD2には、プラグインエフェクト装着数N=2、SPE1として「コンプレッサー」を示すデータ、および、SPE2として「リバーブ」を示すデータが格納されることになる。この仮想ラック管理用メモリに格納されたデータにより、各仮想ラック41(「No.1」〜「No.4」)の構成、つまりプラグインエフェクト装着数や、当該ラックに装着されているプラグインエフェクトの組み合わせ等が管理される。なお、図示を省略したが、仮想ラックデータに装着されている各プラグインエフェクトがどのDSPのどのメモリアドレスのリソースを使用しているか(上記図3を参照)を示すデータも仮想ラック管理用メモリの各仮想ラックデータに含まれるものとする。
各ラック41には、当該ラック41に装着されたプラグインエフェクトによる効果付与を、入力信号に対して施して出力するための信号経路(「パス」)が形成される。1つのラック41には1つのパスが形成される。1つのパスには、当該ラック41に装着された1乃至複数のプラグインエフェクトが挿入される。図6(b)に1つのパスの概念図を示す。1つのパスに挿入された複数のプラグインエフェクトPE1、PE2はシリアルに連結され、各プラグインエフェクトPE1及びPE2による効果付与処理はパスの構成(プラグインエフェクトの接続順)に従いシーケンシャルに行われる。パスの構成(プラグインエフェクトの接続順)は、前記図6(a)の仮想ラック管理用メモリにおける各仮想ラックデータ毎の装着プラグインエフェクトデータSPEにより管理される。
図5の仮想ラック画面のラック41におけるプラグインエフェクト枠43の配列は、当該ラック41のパスにおけるプラグインエフェクト接続順に対応している。画面上最左端に表示されたプラグインエフェクト枠43がパスの先頭に位置するプラグインエフェクトに対応し、以下順次右隣に後続のプラグインエフェクトに対応するプラグインエフェクト枠43が続く。
図5の仮想ラック画面において、プラグインエフェクト枠43の表示領域の左隣に設けられたパッチ表示部44には、当該ラック41のパスに対する信号の入力元として設定されている信号処理ブロック(入力ch33やMIX出力ch35など)の名前が表示される。このパッチ表示部44の表示内容は、図4の出力パッチ36によるINSERT OUTの設定に対応する。また、プラグインエフェクト枠43の表示領域の右隣に設けられたパッチ表示部45には、当該ラック41のパスの信号の出力先として設定されている信号処理ブロックの名前が表示される。パッチ表示部45の表示内容は、図4の入力パッチ33によるINSERT INの設定に対応する。ユーザは、各ラック41のパッチ表示部44乃至パッチ表示部45を指定することで、パッチ設定画面を開き、該画面において各ラック41毎の挿入先を設定できてよい。
上述した仮想ラック画面の構成から明らかな通り、この実施例に係る仮想ラック画面においては、1つの仮想ラック41に複数のプラグインエフェクトを装着することができ、また、該複数のプラグインエフェクトを装着した仮想ラック41(パス)を所望の信号処理ブロックに対して挿入することができる。このように、仮想ラック画面の表示において、1つの信号処理ブロックに挿入された複数のプラグインエフェクトが、1つの仮想ラックの領域にまとめて表示されていることから、1つの信号処理ブロックに挿入された複数のプラグインエフェクトがどのような組み合わせで使用されているのかが一目で理解できるようになる。
また、図7(a)は、ミキシング操作を行うためのチャンネルミキサ画面の表示例である。ミキサ画面においては、複数(図の例では4本)のチャンネルストリップが設けられており、チャンネルストリップに割り当てられた入力ch33乃至MIX出力ch35のオーディオ信号の特性を調整することができる。各チャンネルストリップには、当該チャンネルに挿入されたラック41に装着されているプラグインエフェクトの名前を表示するエフェクト表示欄50が備わる。エフェクト表示欄50をマウスクリック操作等により指定すると、ラック選択用ポップアップウィンドウ51が表示される。ラック選択用ポップアップウィンドウ51には、現時点では未だ挿入先が設定されていないラック41のパスの構成(プラグインエフェクト群の名前)が表示される。どのラック41(図5のラックNo.1〜No.4)も挿入先が設定されていない場合は、図7(b)において符号51´で示すように、ラック選択用ポップアップウィンドウ51´には、全てのラック41の構成(プラグインエフェクト群の名前)が表示される。ユーザは、このラック選択用ポップアップウィンドウ51から任意のラックを選択することで、ミキサ画面から当該ラック41の挿入先の信号処理ブロック(所望の入力ch33乃至MIX出力ch35)を設定できてよい。
また、図5の仮想ラック画面において、編集ボタン46が指定されると、当該指定されたボタン46に対応するラック41に装着された全てのプラグインエフェクトを編集するための制御画面(プラグインエフェクト編集画面)が開く。プラグインエフェクト編集画面の一例を図7(c)に示す。パラメータ編集画面は、複数のページをタブでの切り替えにより1つのウィンドウ上で表示することが可能となる所謂タブブラウザにより構成されており、1つのラック(パス)に装着された複数のプラグインエフェクトの各々に対応するパラメータ編集ページが、各プラグインエフェクトの接続されている順に、各ページ毎のタブにより管理されている。図7(c)では、一例として、図4のラックNo.4について編集画面が示されており、同図に示すとおり、1つのパラメータ編集画面には、当該ラックNo.4に装着されたコンプレッサー、リミッター及びリバーブの各々のプラグインエフェクト編集ページが重なり合って表示されており、各ページにはタブがついている。ユーザは所望のプラグインエフェクトに対応するタブを選択することで、該選択したタブに対応する編集ページを最前面に表示させ、該最前面に表示させた編集ページ上のGUI部品を用いて当該プラグインエフェクトのパラメータを調整することができる。
このように、ラック41単位で1つのプラグインエフェクト編集画面を用意し、該編集画面において1つのラック41に装着された複数のプラグインエフェクト毎の編集ページを纏めて表示することで、1つの信号処理ブロックに挿入された全てのプラグインエフェクトの編集画面を開いたとしても、表示器7上に表示される画面数は1つだけである。従って、操作の混乱を招くことなく、わかりやすいユーザインターフェースをユーザに提供できる。なお、図7(a)のミキサ画面の各チャンネルのエフェクト表示欄50に設けられた符号50aで示す領域を指定することで、該指定されたチャンネルに挿入されたラック41に装着された全てのプラグインエフェクトのプラグインエフェクト編集画面を開くことができてもよい。すなわち、ミキサ画面の領域50aは仮想ラック画面の編集ボタン46と同様な機能を持つ。また、プラグインエフェクト編集画面の構成は、上記タブブラウザ型に限らず、例えば1つのラックに装着されたプラグインエフェクト毎の編集用の領域を、そのラック(パス)における各プラグインエフェクトの接続順に、1つの画面上に一覧表示する構成など、1つのラックに装着された複数のプラグインエフェクト毎の編集用のGUI部品を1つの表示画面上で提供できる構成でさえあればどのような構成でもよい。
次に、1つの仮想ラック(つまり1つのパス)に装着するプラグインエフェクト数を設定する処理の手順の一例について、図8のフローチャートを参照して説明する。なお、下記において、変数pはラック番号(図5の例ではNo.1〜No.4の何れか)であり、変数Nは前記図6(a)に示すに格納されるプラグインエフェクトの装着数(装着数設定部42の値)である。この処理は、図5の仮想ラック画面の何れかのラック(p)における装着数設定部42の値がユーザによって入力(変更)されたときに起動する。
ステップS1において、ユーザに新たに入力された数値が、当該ラック(p)に装着可能なプラグインエフェクト数Nとして前記図6(a)の仮想ラック管理用メモリにセットされる。ステップS2においては、前記新たにセットされたプラグインエフェクト数Nが、変更前のプラグインエフェクト数から減少しているかどうかチェックする。
プラグインエフェクト数Nが増える場合は(ステップS2のYES)、仮想ラック画面の当該仮想ラック41において新規のプラグインエフェクト枠43を作成する(ステップS3)。新規に作成されるプラグインエフェクト枠43は、プラグインエフェクトの配列の最後尾、つまり、画面上ではプラグインエフェクト枠43の表示領域の右端に追加される。従って、当該ラック(p)に既存のプラグインエフェクト枠43がある場合は、既存のプラグインエフェクト枠43の表示サイズが適宜縮小され、新規追加される枠43の表示領域が確保される。前記ステップS3において新しく作成したプラグインエフェクト枠43には、未だプラグインエフェクトが設定されていないので、ここには「no effect」と表示される。これにより、当該ラック41に新たなプラグインエフェクト枠43が加わる。
一方、プラグインエフェクト数Nの変更によって、当該ラック(p)に装着可能なプラグインエフェクト数Nが減る場合は(ステップS2のNO)、当該ラック(p)に既に存在するプラグインエフェクト枠43を削除しなければならぬ。この実施例において、プラグインエフェクト数Nが減る場合には、当該ラック(p)のパスを構成するプラグインエフェクト列の最後尾、つまり、画面上では仮想ラック41において右端に表示されたプラグインエフェクト枠43を削除するものとする。なお、プラグインエフェクト数Nの減少に伴い削除するプラグインエフェクト枠43は、既存のプラグインエフェクト枠43のうちからユーザが任意に指定できてもよい。
ステップS4においては、プラグインエフェクト数Nの減少によって削除されるプラグインエフェクト枠43にプラグインエフェクトが設定されているかチェックし、プラグインエフェクトが設定されている場合(ステップS4のYES)、当該プラグインエフェクト枠43の削除をユーザに確認する(ステップS5)。ユーザがプラグインエフェクト枠43の削除を認めなければ(ステップS6のNO)、ここで当該処理を終了し、プラグインエフェクト数は変更しない。
プラグインエフェクト枠43の削除についてユーザの承認があれば(ステップS6のYES)、ステップS7において、当該削除すべき枠43に設定されたプラグインエフェクトを、当該ラックのパスを流れるオーディオ信号がバイパスするようパスを作り変えてから、該プラグインエフェクトの動作を停止する。ここで、削除対象のプラグインエフェクトをオーディオ信号がバイパスするとき、削除対象のプラグインエフェクトの出力信号と、削除対象の直前のプラグインエフェクトの出力信号とをクロスフェード制御し、クロスフェード終了後、つまり当該パスの出力信号が前記直前のプラグインエフェクトの出力信号に切り替わった状態で、当該削除対象のプラグインエフェクトを停止する。このように、プラグインエフェクトの削除の前にクロスフェード処理を介在させることで、当該ラック41のパスを流れるオーディオ信号の再生音を音切れさせる(あるいはノイズが発生する)ことなしにプラグインエフェクトの削除を行うことができる。なお、プラグインエフェクトの削除動作の詳細は、後述の図14の説明等においても述べるので、そちらも適宜参照されたい。
そして、ステップS8において、前記ステップS7にて停止したプラグインエフェクトに対応するプラグインエフェクト枠43の表示を消し、当該ラック41上のプラグインエフェクト枠43の数を減らす。
以上の通り、図8に例示する処理により、仮想ラック41内のプラグインエフェクト枠43を、装着数設定部42に指定された数だけ表示させる枠画像表示制御が行われる。
次に、仮想ラック(パス)に対するプラグインエフェクトの装着(プラグインエフェクトの新規追加乃至変更)の動作について説明する。
図5の仮想ラック画面において、ユーザは、任意のプラグインエフェクト枠43を指定することで、仮想ラック41に配置するプラグインエフェクトを選択するための選択手段として機能するポップアップメニュー(プラグインエフェクト選択メニュー)47を、該指定したプラグインエフェクト枠43の近傍に表示させることができる。プラグインエフェクト枠43の指定操作は例えばマウスクリック操作等であってよい。図5においては、ラック番号No.2のプラグインエフェクト「Reverb」枠43が指定された場合、つまり、「Reverb」枠43の設定を変更すべくプラグインエフェクト選択メニュー47が表示された状態を示す。
プラグインエフェクト選択メニュー47には、ミキサ100にインストールされている全てのプラグインエフェクトが選択肢47aとして表示される。なお、前記選択肢47aには、プラグインエフェクト設定無しすなわち「no effect」も含まれる。また、図示の選択肢中の「Dynamics」、「Distortion」、「Reverb」或いは「Equalizer」は、それぞれプラグインエフェクトの上位カテゴリーであって、これら選択肢47aの右側に表示された矢印アイコンをクリックすることで、該クリックされたカテゴリーの下位層に属する各種プラグインエフェクトの選択肢47aを展開する下位メニューが開く。
ユーザは、プラグインエフェクト選択メニュー47において所望のプラグインエフェクトに対応する選択肢47aを選択することで、該選択した選択肢47aに対応するプラグインエフェクトを前記指定したプラグインエフェト枠43に設定することができる。
このプラグインエフェクト選択メニュー47は、メニュー内に提示された各選択肢47aに対して下記の2種類の情報を付加的に表示することに特長がある。
(1)DSPのリソース容量に鑑みたプラグインエフェクトの実行可能性。
(2)プラグインエフェクトの追加(変更又は削除)に伴い付加的に生じるDSP演算の処理遅延(レイテンシー)。
前記(1)の「DSPのリソース容量に鑑みたプラグインエフェクトの実行可能性」の表示には、次の3通りの表示態様がある。すなわち、(A)プラグインエフェクト実行可能な選択肢の表示態様と、(B)プラグインエフェクト実行不可能な選択肢の表示態様と、(C)「スクイーズコンパイル」により実行可能となる(「要スクイーズコンパイル」)選択肢の表示態様との3通りの異なる表示態様である。この3通りの異なる表示態様によりに、前記(A)、(B)及び(C)の3通りの「DSPのリソース容量に鑑みたプラグインエフェクトの実行可能性」を表現することができる。前記(B)の「実行不可能」とは、当該選択肢のプラグインエフェクトを選択したとしても、DSPのリソースが不足しているために当該プラグインエフェクトを実行することができないものを指す。この場合、当該選択肢のプラグインエフェクト名称部分をグレーアウト表示する。図5の例では、「Convolution」の選択肢47aがグレーアウト表示されている。
また、前記(C)の「要スクイーズ」とは、1つのDSP内で現在動作中の他のプラグインエフェクトを含めリソースを再配置する(DSPリソ−スをスクイーズコンパイルする)ことで、リソースが確保され実行可能となるプラグインエフェクトの選択肢を指す。この場合、当該選択肢のプラグインエフェクト名称部を下線付きで表示する。図5の例では「3D Effect」の選択肢47aに下線が引かれている。スクイーズコンパイルの説明は上述の図3を参照した説明を参照されたい。
また、(A)プラグインエフェクト実行可能とは、選択した場合、現状のDSPリソース空き領域を使って当該プラグインエフェクトを実行できるものを指す。この場合は、付加的情報を載せないノーマルな表示態様で選択肢を表示する。
図5においてプラグインエフェクト選択メニュー47中の「要スクイーズ」の選択肢(「3D Effect」)47aがポンタカーソル48により指摘された状態を例示している。なお、ここでいう「指摘」とは、当該選択肢上にポンタカーソル48を位置させるだけの操作であって、その後にマウスクリック等により選択確定操作が行われるだろう。「要スクイーズ」の選択肢47aが指摘されると、当該選択肢(「3D Effect」)の設定に際して行われるスクイーズコンパイルによって影響を受ける他のプラグインエフェクト枠43が色替え表示(斜線)される。スクイーズコンパイルを行う際には、当該DSPにて現在動作中の他のプラグインエフェクトを一旦停止して、該停止したプラグインエフェクトのリソース再配置を行ってから、新規のプラグインエフェクトを設定する。従って、リソース再配置される現在動作中の他のプラグインエフェクトが、前記「スクイーズコンパイルの影響を受ける他のプラグインエフェクト」である。図5の例では、ラックNo.2のコンプレッサーとラックNo.3のコンプレッサーの各枠43が斜線で示されており、これらが「3D Effect」の設定に伴うスクイーズコンパイルにより影響を受ける旨をユーザに提示している。この例から明らかな通り、1つのDSPに異なるパス(仮想ラック)のプラグインエフェクトが割り当てられていることもある。
また、上記(2)の「プラグインエフェクトの追加(変更又は削除)に伴い付加的に生じるDSP演算の処理遅延(レイテンシー)」の表示は、当該プラグインエフェクトを新たに設定した場合に、効果付与部6のDSP演算処理に何サンプリング周期分の遅延が付加されるかを警告する表示である。図5の例では、警告表示は、nサンプリング周期分の付加的遅延を「nD」と表現するようになっており、これが選択肢47aのプラグインエフェクト名称部分の右側に付加的に表示される。なお、nは正の整数である。図4の例では、ラックNo.2の「Reverb」枠43を「Warm tube」に変更すると2サンプリング周期分の遅延(2D)が入ること、また、「3D Effect」に変更すると4サンプリング周期分の遅延(4D)が入ること、また、「Flanger」に変更すると1サンプリング周期分の遅延(1D)が入ることがそれぞれ示されている。また、新規に設定するプラグインエフェクトとして、例えば「no effect」を選んだ場合等には、DSP演算処理全体の遅延量が減ることもありうる。従って、遅延警告表示は「−nD」と表示されることもありうる。
DSPのレイテンシーの発生原因には、各プラグインエフェクトの計算自体による遅延や、ミキシング処理部5のDSPと効果付与部6のDSPとの間で波形バス12を介してオーディオ信号を通信する際に生じる遅延や、効果付与部6のDSPの間で波形バス12を介してオーディオ信号を通信する際に生じる遅延や、或いは、効果付与部6の1つのDSP内で複数のプラグインエフェクトをシーケンシャルに実行する際の実行順序(プラグインエフェクトのリソース配置順)によって生じる遅延などがある。
ここで、DSPが或るパスの効果付与処理を実行する際のレイテンシーについて簡単に説明する。図9(a)は3つのプラグインエフェクトPE1、PE2、PE3からなる1つのパスの構成例である。このパスでは効果付与処理はPE1、PE2及びPE3の順で行われる。各プラグインエフェクトPE1、PE2及びPE3は、それぞれ、効果付与部60の複数のDSP60〜63の何れかに割り当てられる。このパスの効果付与処理を実行するときに発生する遅延は、各プラグインエフェクトPE1、PE2及びPE3がどのDSPに割り当てられているかによって、下記の如く異なる。
(1)プラグインエフェクトPE1、PE2及びPE3が1つのDSPに割り当てられ、且つ、DSP内での各PE1〜3の実行順序(プラグインエフェクトのリソース配置順)がパスのPE1〜3の接続順と同じであれば、当該DSP内でこのパスの効果付与処理を実行するために付加される遅延はゼロである。
(2)プラグインエフェクトPE1、PE2及びPE3が2つのDSPに跨って割り当てられている場合、例えば、PE1とPE2が同じ1つのDSPに割り当てられ、PE3が別のDSPに割り当てられている場合には、波形バス12を介して該1つのDSPから該別のDSPへオーディオ信号を伝送するために2サンプリング周期分(2D)の遅延が生じる。
(3)プラグインエフェクトPE1、PE2及びPE3が3つのDSPに跨って割り当てられている場合、すなわち、PE1が1つのDSPに、PE2が別のDSPに、また、PE3が更に別のDSPに割り当てられている場合には、波形バス12を介して該1つのDSPから該別のDSPへオーディオ信号を伝送し、更に、該別のDSPから更に別のDSPへオーディオ信号を伝送する、つまり、波形バス12を介したオーディオ信号の伝送(2Dの遅延が生じる伝送)を2回実行するので4サンプリング周期分(4D)の遅延が生じる。
(4)更に、上記(1)及び(2)のように同一DSPに複数のプラグインエフェクトを割り当てる場合、該1つのDSP内での割り当てられた複数のプラグインエフェクトの実行順序(プラグインエフェクトのリソース配置順)とパスにおける該複数のプラグインエフェクトの接続順が整合しない(順番が逆になっている)場合には、詳しくは、後述する通り、1サンプリング周期分(1D)の遅延が生じる。
なお、このパスを任意の入力ch33乃至出力ch35に挿入するとき(ラック選択用ポップアップウィンドウ51で当該パス(ラック)を選択したとき)には、波形バス12を介して該挿入先のチャンネル(ミキシング処理部5)からパスの先頭のプラグインエフェクトPE1が割り当てられたDSP(効果付与部6)にオーディオ信号を伝送する結線(行き)と、パスの最後のプラグインエフェクトPE3が割り当てられたDSP(効果付与部6)から該挿入先のチャンネル(ミキシング処理部5)にオーディオ信号を伝送する結線(帰り)が行われる。この場合、プラグインエフェクトが効果付与部6のどのDSPに割り当てられているかに関わらず、波形バス12を介してミキシング処理部5のDSPと効果付与部6のDSPとの間でオーディオ信号を通信する際に4サンプリング周期分(4D)の遅延が生じる。なお、この遅延については、パスを任意の入力ch33乃至出力ch35に挿入する際に、必ず存在するものであり、必ず一定値(4D)であるため、以下の説明では省略している場合もある。
上述の通り、1つのDSP内での割り当てられた複数のプラグインエフェクトの実行順序(プラグインエフェクトのリソース配置順)とパスにおける該複数のプラグインエフェクトの接続順が整合しない(順序が逆になる)場合には、そのために1サンプリング周期分(1D)の遅延が生じる。従って、プラグインエフェクトの新規追加に伴い付加される遅延が1Dの場合は、該プラグインエフェクトが新規に追加されるパスの構成(該パスにおけるプラグインエフェクトの接続順)と、当該プラグインエフェクトが割り当てられるDSPリソースの配置との不整合が原因である。例えば、図9(a)のパスにおいてPE2が新規に追加されるプラグインエフェクトとし、該PE2が割り当てられるDSPのリソース使用状況が(b)に示す如くであるとする。(b)において、1つのDSPを表すブロック下側をメモリアドレスの先頭側とすると、(b)のDSPリソース配置では、PE1、PE3の順でプラグインエフェクトが実行される。ここで、(b)に示す空き領域、つまり、PE3の後ろのリソース空き領域に新規追加PE2を割り当てるとすると、PE1、PE3、PE2の順でプラグインエフェクトが実行されることになってしまう。従って、(b)に示すリソース配置で(a)に示すパス構成を実現するためには、或るサンプリング周期で実行されたPE2の処理の結果を次の周期までバッファしておき、該次のサンプリング周期で、直前のサンプリング周期に実行した処理でバッファされたPE2の処理結果を、PE3に読み込まなければならぬ。このため、(b)に示すリソース配置のままでPE2を追加して、(a)に示すパス構成を実現するためには、1サンプリング周期分の遅延が付加的に生じてしまう。
これに対して、DSPにPE2を割り当てるときに、スクイーズコンパイルを行うことで(c)の如くリソースの再配置を行い、PE1の後にPE2を追加するためのリソース空き領域を確保することで、(a)に示すパスのプラグインエフェクト配列と、DSPのリソース配置の不整合が解消されるので、1サンプリング周期分の遅延は付加されない。なお、パスの構成と、DSPのリソース配置(或るプラグインエフェクトがどのDSPのどのメモリアドレスのリソースを使用しているか)の関係は、前記図6(a)の仮想ラック管理用メモリを参照することで把握できる。
そこで、この実施例においては、1サンプリング周期分の遅延警告表示(1D)が付加的に表示された選択肢47aが選択操作された場合には、当該選択肢の近傍に更に報告ダイアログボックス49が表示されるよう構成されている。図5において、点線カーソル48´で示すように選択肢「Flanger」47aが選択されたとすると、点線で示す報告ダイアログボックス49が表示される。報告ダイアログボックス49においては、2つのラジオボタンが用意されており、スクイーズコンパイルを行わずに「1D」の遅延が付加されるか、スクイーズコンパイルを行い遅延の付加を無くすか(「0D」)のいずれかを選択することができる。ユーザは、「1D」と「0D」のいずれかのラジオボタンを選択し、OKボタンのクリック操作で該選択を確定することができる。
図10は、仮想ラック画面において前記プラグインエフェクト選択メニュー47から所望のプラグインエフェクトを選択し、該選択したプラグインエフェクトをプラグインエフェクト枠43に設定(表示)するまでに行われる処理の全体的な流れを示すフローチャートである。この処理は仮想ラック画面において何れかのプラグインエフェクト枠43がユーザによって指定されたときに起動する。ここで、ユーザによって指定されたプラグインエフェクト枠43におけるプラグインエフェクトの設定が変更される。つまり、ユーザは、先ず、どの仮想ラック41(パス)のどの位置でプラグインエフェクトの設定を変更するかを指示する。
ステップS9においては、ミキサ100にインストールされた全てのプラグインエフェクトについて、ユーザによって指定されたプラグインエフェクト枠43の位置にプラグインエフェクトを追加した場合の実行可能性(DSPリソース空き領域があるかどうか)をチェックする処理が行われる。ステップS10では、前記指定されたプラグインエフェクト枠43の近傍に前記プラグインエフェクト選択メニュー47をポップアップ表示する処理が行われる。ここで表示されるプラグインエフェクト選択メニュー47の各プラグインエフェクトの選択肢47aは、前記ステップS9において行われた実行可能性チェックの結果に応じた3通りの表示態様のいずれかの表示態様で表示される(前記図5を参照)。
前記ステップS10の処理によりプラグインエフェクト選択メニュー47が表示されると、ユーザは該表示されたプラグインエフェクト選択メニュー47から所望のプラグインエフェクトを選択することができる(ステップS11)。プラグインエフェクトの選択操作は、プラグインエフェクト選択メニュー47の選択肢47aの中から、所望の選択肢47aをポインタカーソル48で指定することにより行うことができてよい。ユーザによるプラグインエフェクトの選択操作が行われたら(ステップS12のYES)、ステップS13において、ユーザによって指定されたプラグインエフェクト枠43におけるプラグインエフェクトの設定を、前記ステップS11において選択されたプラグインエフェクトに変更する処理を行う。そして、ステップS14において、前記指定されたプラグインエフェクト枠43におけるプラグインエフェクトの表示を、前記ステップS13にて変更された新規プラグインエフェクトに対応する表示に変更する。これにより、プラグインエフェクト選択メニュー47にて選択されたプラグインエフェクトに対応する画像を仮想ラック41内に表示させるプラグインエフェクト表示制御が行われる。
一方、例えばユーザがプラグインエフェクト選択メニュー47の枠外をクリック操作すること等によりプラグインエフェクトの選択をキャンセルすれば(ステップS12のNO)、当該プラグインエフェクト選択メニュー47の表示を消して処理を終了する。
図11は、前記図10のステップS9で行われるプラグインエフェクトの実行可能性をチェックする処理の手順の一例を示すフローチャートである。ステップS15において、ユーザによって指定されたプラグインエフェクト枠43に現在設定されているプラグインエフェクトの動作を一旦停止して、該現在設定されているプラグインエフェクト不実行時の各DSP60〜63の空きリソースを検出することで、DSP60〜63の現在のリソース使用状況を確認する。なお、リソース使用状況の一例については前記図3を参照されたい。
ここで、ミキサ100にインストールされている全て(n個)のプラグインエフェクトの各々は整数1〜nの連続する識別番号iにより識別され、また、効果付与部6の4つのDSP60〜63はそれぞれ識別番号j=1〜4により識別されるものとする。ステップS16では、識別番号i=1のプラグインエフェクトをチェック対象のプラグインエフェクトとしてセットする。また、ステップS17においては、識別番号j=1のDSPをチェック対象のDSPとしてセットする。ついで、ステップS18では、チェック対象のDSP(j)にプラグインエフェクト(i)の実行に必要なリソース空き領域があるかどうかチェックする。なお、ここでは、DSP(j)のリソース空き領域の総量がプラグインエフェクト(i)の実行に必要なリソース量を満たしていればリソース有りと判断するものとする。すなわち、当該ステップS18においてはリソース空き領域が連続しているか、分散しているかは問わない。
チェック対象のDSP(j)に必要なリソース空き領域がない場合は(ステップS18のNO)、ステップS19において、このDSP(j)におけるプラグインエフェクト(i)の実行可能性を示す変数DSPj(i)を実行不可(DSPj(i)=0)にセットする。
チェック対象のDSP(j)に必要なリソース空き領域がある場合は(ステップS18のYES)、ステップS20において、該リソース空き領域が連続した空き領域で確保されているのかどうかをチェックする。
チェック対象のDSP(j)においてリソース空き領域が分散している場合(ステップS20のNO)は、このDSP(j)にプラグインエフェクト(i)を割り当てるには、スクイーズコンパイルによりリソースの再配置を行わなければならない。従って、ステップS21において、このDSP(j)におけるプラグインエフェクト(i)の実行可能性を示す変数DSPj(i)を要スクイーズ(DSPj(i)=1)にセットする。
チェック対象のDSP(j)において必要なリソースが連続領域で確保できる場合(ステップS20のYES)は、このDSP(j)にプラグインエフェクト(i)を割り当てることができる。従って、ステップS22において、このDSP(j)におけるプラグインエフェクト(i)の実行可能性を示す変数DSPj(i)を実行可能(DSPj(i)=2)にセットする。
ステップS23においては、ユーザによって指定されたプラグインエフェクト枠43に該プラグインエフェクト(i)を設定した仮想ラック41(パス)を仮定して、DSP(j)でプラグインエフェクト(i)を割り当てた場合に該仮定した仮想ラック41(パス)の効果付与処理を実行する際に付加的に生じる遅延時間(レイテンシー)を算出し、該算出した値を変数ADLj(i)にセットする。
このようにステップS18〜S23の処理により、或る1つのDSP(j)における或る1つのプラグインエフェクト(i)の実行可能性(DSPj(i))と、該プラグインエフェクト(i)の追加に伴い付加される遅延(ADLj(i))の2点についてチェックする。
ステップS24ではチェック対象のDSP識別番号jを1つインクリメントする。効果付与部6を構成する全てのDSP60〜63についてチェックが終わっていなければ(ステップS25のYES)、前記ステップS24にてセットした識別番号jのDSPについて、前記ステップS18以下の処理を行うことで当該プラグインエフェクト(i)の実行可能性と、該プラグインエフェクト(i)の追加に伴い付加される遅延(ADLj(i))の2点についてチェックする。これを繰り返すことで、効果付与部6を構成する全てのDSP60〜63毎に、プラグインエフェクト(i)の実行可能性(DSPj(i))と、該プラグインエフェクト(i)の追加に伴い付加される遅延(ADLj(i))のデータを得る。
効果付与部6を構成する全てのDSP60〜63について、現在チェック対象に設定されているプラグインエフェクト(i)について実行可能性(DSPj(i))と遅延(ADLj(i))のチェックが済んだら(ステップS25のNO)、ステップS26においてチェック対象のプラグインエフェクト識別番号(i)をインクリメントする。該ステップS26でセットした識別番号(i)のプラグインエフェクトが利用可能なプラグインエフェクト中にあれば(ステップS27のYES)、ステップS17以下の処理により、効果付与部6を構成する全てのDSP60〜63(j=1〜4)について、前記ステップS26で新たにセットしたプラグインエフェクト(i)の実行可能性(DSPj(i))と遅延(ADLj(i))のチェックを行う。以上に述べた処理を、ミキサ100にインストールされている全て(n個)のプラグインエフェクトについて行うことで、各プラグインエフェクト(i=1〜n)について、各DSP60〜63(j=1〜4)毎の実行可能性(DSPj(i))と、各DSP60〜63に当該プラグインエフェクトを割り当てた場合に付加される遅延(ADLj(i))のデータを得る。
図12は、前記図11で求めたデータを保管するプラグインエフェクト管理用のメモリの構成例である。プラグインエフェクト管理用メモリは例えばRAM3に設けられていてよい。プラグインエフェクト管理メモリには、ミキサ100にインストールされている全てプラグインエフェクト(PE1、PE2、PE3・・・)について、効果付与部部6を構成する各DSP60〜63毎の実行可能性「DSPj(i)」のデータ(実行不可=0、要スクイーズ=1又は実行可=2のいずれか)と、各DSP60〜63に当該プラグインエフェクトを割り当てた場合に付加される遅延「ADLj(i)」のデータが保存される。このプラグインエフェクト管理メモリにより、前記ユーザが指定したプラグインエフェクト枠43の位置にプラグインエフェクトを追加する場合の各DSP60〜63毎の実行可能性のデータと、各DSP60〜63に当該プラグインエフェクトを割り当てた場合に付加される遅延のデータとを、ミキサ100にインストールされている全てプラグインエフェクトについて把握することができる。このプラグインエフェクト管理用のメモリに保存されたデータは次に述べるプラグインエフェクト選択メニュー47の表示処理に利用される。
図13は、前記図10のステップS10で行われるプラグインエフェクト選択メニュー47の表示処理の手順の一例を示すフローチャートである。ステップS28において、仮想ラック画面の該当位置、つまり、ユーザによって指定されたプラグインエフェクト枠43の近傍に空のプラグインエフェクト選択メニュー47をポップアップ表示する。
ステップS29において、プラグインエフェクトの識別番号iを1にセットし、識別番号i=1のプラグインエフェクトを、次のステップS30におけるチェック対象に設定する。ステップS30では、前記図12に示すプラグインエフェクト管理用メモリを参照し、前記ステップS29で設定したプラグインエフェクトiについて各DSP60〜63における実行可能性「DSPj(i)」の値(実行不可=0、要スクイーズ=1又は実行可=2のいずれか)を調べる。
DSP60〜63のいずれかで当該プラグインエフェクトiを実行可能な場合(DSPj(i)=2)は、ステップS31において、図12のプラグインエフェクト管理メモリを参照して、当該プラグインエフェクトiを実行可能(DSPj(i)=2)なDSP(j)の中からADLj(i)が最短のDSP(j)を選択する。そして、ステップS32において、前記選択されたADLj(i)が最短のDSPの識別番号jを変数SDS(i)にセットすると共に、該選択したDSP(j)でプラグインエフェクト(i)を実行した場合に付加される遅延、つまり、最短のADLj(i)を変数SDL(i)にセットする。選択されたSDS(i)とSDL(i)の各値は、前記図12に示すプラグインエフェクト管理メモリにおいて、当該プラグインエフェクトiに対応付けて保存される(前記図12参照)。
前記ステップS31にて変数SDS(i)にセットされたDSPの識別番号jは、当該プラグインエフェクトiの割り当て先に選択されたDSPを示し、このDSP(j)にプラグインエフェクトiを割り当てると、ユーザによって指定されたプラグインエフェクト枠43に当該プラグインエフェクトiを設定した仮想ラック41(パス)の効果付与処理を実行する際に付加される遅延時間ADLj(i)が最短になる。つまり、変数SDS(i)にセットされた識別番号jのDSPは、ユーザによって指定されたプラグインエフェクト枠43に当該プラグインエフェクトiを設定する場合に、該プラグインエフェクトiの割り当て先として最適なDSPである。また、このDSP(j)に当該プラグインエフェクトiを割り当てた場合の遅延時間の情報ADLj(i)を変数SDL(i)にセットしておくことで、後述のプラグインエフェクト選択メニュー47の各選択肢47aの遅延警告表示処理を実現することができる。
そして、ステップS33において、プラグインエフェクト選択メニュー47において、当該プラグインエフェクトiの名前を「実行可能」を表現する通常の表示態様で表示することで、メニュー47に当該プラグインエフェクトの選択肢を表示する。
また、DSP60〜63(DSP(j)=1〜4)の中にスクイーズコンパイルによりリソースの再配置を行えば当該プラグインエフェクト(i)を実行できるものがある場合(DSPj(i)=1)は、図12のプラグインエフェクト管理メモリを参照して、当該プラグインエフェクトiの実行にスクイーズコンパイルを要する(DSPj(i)=1)DSP(j)の中から、ADLj(i)が最短のDSP(j)を選択し(ステップS34)、該選択したDSP(j)の値jをSDS(i)にセットすると共に、該選択したDSP(j)のADL(j)、つまり最短の遅延をSDL(i)にセットする(ステップS35)。これにより、該プラグインエフェクトiの割り当て先として最適なDSPを選択し、該選択されたDSPに該プラグインエフェクトiを割り当てた場合に生じる遅延、つまり最短の遅延をSDL(i)にセットする。
そして、ステップS36において、プラグインエフェクト選択メニュー47に当該プラグインエフェクトiの名前を「要スクイーズ」を表現する下線付きの表示態様で表示することで、メニュー47に当該プラグインエフェクトの選択肢を表示する。
なお、この実施例では、ステップS30の判断においては、現状のままで実行可能なDSP(DSPj(i)=2)を優先する。すなわち、DSPj(i)=2が存在せずDSPj(i)=1のみ存在する場合にステップS34に処理を進める。
上記ステップS31乃至S34の処理において、当該プラグインエフェクトを実行可能乃至スクイーズコンパイルを行うことで実行可能となるDSPの中から、当該プラグインエフェクトを割り当てた場合に付加的に生じる遅延が最短のDSPを探すことで、当該プラグインエフェクトの割り当て先として最適なDSPの決定を自動的に行うことができる。
更に、当該プラグインエフェクトiが実行可能な場合(DSPj(i)=2)乃至要スクイーズ(DSPj(i)=1)の場合は、前記ステップS33乃至前記ステップS36においてプラグインエフェクトの名前を表示させた後、ステップS37において当該プラグインエフェクトiのSDL(i)の値を調べて、該SDL(i)の値が0以外(SDL(i)=n又は−n)の場合には(ステップS37のYES)、ステップS38においてプラグインエフェクト選択メニュー47中の当該プラグインエフェクトiの選択肢の右隣に、前記SDL(i)の値を、ユーザによって指定されたプラグインエフェクト枠43に該プラグインエフェクトiを追加した場合に付加的に生じる遅延の情報として付加的に表示する。
また、前記ステップS30の判断において、いずれのDSP60〜63も当該プラグインエフェクトiを実行できない場合(DSPj(i)=0)は、ステップS39において、プラグインエフェクト選択メニュー47に当該プラグインエフェクトiの名前を「実行不可」を表現するグレーアウトの表示態様で表示することで、メニュー47に当該プラグインエフェクトの選択肢を表示する。
上記の処理により、プラグインエフェクト選択メニュー47に当該プラグインエフェクト(i)の名前(選択肢)を3通りの表示態様のいずれかの態様で表示させたら、チェック対象の識別番号iをインクリメントし(ステップS40)、該ステップS40でセットした識別番号iに該当するプラグインエフェクトがあれば(ステップS41のYES)、該ステップS40でセットした識別番号iのプラグインエフェクトについてステップS30以下の処理を行う。以上に述べた処理をミキサ100にインストールされている全て(n個)のプラグインエフェクトについて行うことで、全てのプラグインエフェクト(i=1〜n)に対応する選択肢に、(1)DSPのリソース容量に鑑みた各プラグインエフェクトの実行可能性と、(2)各プラグインエフェクトの追加に伴い発生するDSPの遅延時間との2つの情報を付加的に表示したプラグインエフェクト選択メニュー47を表示させることができる。
なお、前記図13に示すフローチャートでは、ステップS30の判断において、当該プラグインエフェクトを実行可能(DSPj(i)=2)なDSPが存在せず、要スクイーズ(DSPj(i)=1)なDSPのみ存在する場合に限り、ステップS34に処理を進める処理構成例、つまり、当該プラグインエフェクトを実行可能(DSPj(i)=2)なDSPと要スクイーズ(DSPj(i)=1)なDSPの双方が存在する場合には、現状のままで実行可能(DSPj(i)=2)なDSPを優先する処理構成例(スクイーズなしを優先する構成例)を示した。ステップS30の判断処理の構成は、上記に限らず、DSPj(i)=2とDSPj(i)=1の双方が存在する場合には、DSPj(i)=2乃至DSPj(i)=1の中からADLj(i)が最短のDSP(j)を選択する処理構成、つまり、遅延の短さを優先する処理構成であってもよい。また、スクイーズなしを優先するか、遅延の短さを優先するかをユーザが選択できても良い。
図14は、前記図10のステップS13で行われるユーザによって指定されたプラグインエフェクト枠43におけるプラグインエフェクト変更処理の手順の一例を示すフローチャートである。この処理は、前記図10を参照して既に述べた通り、プラグインエフェクト選択メニュー47において、いずれかの選択肢47aが選択されたときに実行される。ユーザによって指定されたプラグインエフェクト枠43に既に別のプラグインエフェクト(「旧プラグインエフェクト」)が設定されている場合には(ステップS42のYES)、ステップS43〜S45の処理により「旧プラグインエフェクト」を削除する。このステップS43〜S45における旧プラグインエフェクトを削除の動作を図15(a),(b)を参照しつつ説明する。図15に示す例では、3つのプラグインエフェクト「E1」、「E2」及び「E3」からなるパスにおいて、真ん中のプラグインエフェクト「E2」を削除する場合を想定している。すなわち「E2」が「旧プラグインエフェクト」である。ステップS43において、旧プラグインエフェクトをバイパスする。バイパスするときには、前述と同様に、旧プラグインエフェクトの出力とその直前のプラグインエフェクトの出力とをクロスフェードする。図15(a)においては、E1の出力とE2の出力をクロスフェードして、E3の入力がE2の出力信号からE1の出力信号に切り替わる様子を点線で示す。
クロスフェード終了後、つまり図15(b)に示すようにE3の入力がE1の出力信号に切り替わった状態で、旧プラグインエフェクト(図15ではE2)の動作を停止する(ステップS44)。そして、ステップS45において、旧プラグインエフェクトに割り当てられていたDSPのリソースを解放すると共に、旧プラグインエフェクトに関するカレントメモリ記憶内容を削除する。
ステップS46では、新規に選択された選択肢47aに対応するプラグインエフェクトについて、前記図12のプラグインエフェクト管理メモリに格納されたSDL(i)を参照して、当該プラグインエフェクトの追加に伴い付加される遅延が「1D」かどうか調べる。前記SDL(i)が「1D」の場合には(ステップS46のYES)、ステップS47においてプラグインエフェクト選択メニュー47中の当該選択されたプラグインエフェクトに対応する選択肢の近傍に報告ダイアログボックス49を表示し、ユーザにスクイーズコンパイルを行わずに遅延を入れるか、スクイーズコンパイルを行い遅延の増加を無くすかのいずれかの選択をユーザに確認する。
新規に選択されたプラグインエフェクトのSDL(i)が「1D」以外の場合(ステップS46のNO)、或いは、前記報告ダイアログボックス49にてスクイーズコンパイルを行わない選択をユーザが行った場合は(ステップS48のNO)、ステップS49以下の処理を行う。
当該プラグインエフェクト枠43に新規のプラグインエフェクトが設定される場合、つまり、プラグインエフェクト選択メニュー47にて選択肢「no effect」以外が指定された場合には(ステップS49のYES)、ステップS50〜52の処理により当該新規プラグインエフェクトを前記プラグインエフェクト枠43に設定する。すなわち、ステップS50において、当該新規のプラグインエフェクトについて、前記図12のプラグインエフェクト管理メモリに格納されたSDS(i)を参照して、割り当て先として最適なDSP(プラグインエフェクトの追加に伴い付加される遅延が最短のDSP)を特定し、該割り当て先のDSPに当該新規プラグインエフェクトを割り当てると共に、カレントメモリに当該新規プラグインエフェクトの動作データをセットし、ステップS51において、当該新規プラグインエフェクトの動作を開始させる(プラグインエフェクトのソフトウェアを起動する)。そして、ステップS52において、ユーザに指定されたプラグインエフェクト枠43の仮想ラック41(新規プラグインエフェクトの挿入先のパス)に新規プラグインエフェクトをオーディオ信号の入出力可能に接続する。新規プラグインエフェクトの接続に際しては、クロスフェード処理を介在させることで、当該パスのオーディオ信号の再生音を音切れさせることなく新規プラグインエフェクトを追加することができる。新規プラグインエフェクトをパスに挿入する動作例を図15(c),(d)に示す。図15(c),(d)は、前記図15(a),(b)で削除したE2の位置に、新規プラグインエフェクトE2´を追加する動作を示している。(c)においては、E1の出力がE2´をバイパスしてE3に入力されている。このE3への入力をE1のバイパス出力からE2´の出力にクロスフェードする。(d)に示す通りクロスフェードが完了したらE1の出力のバイパス経路を削除する。かくして当該パスの出力信号を音切れさせる(あるいはノイズが発生する)ことなしに、当該パスに新規E2´を追加することができる。
また、当該プラグインエフェクト枠43に新規のプラグインエフェクトが設定されない場合、つまり、プラグインエフェクト選択メニュー47にて選択肢「no effect」が指定された場合には(ステップS49のNO)、上記ステップS43〜S45により当該プラグインエフェクト枠43の旧プラグインエフェクトを削除した状態でプラグインエフェクト変更処理は終了する。
一方、当該新規に選択されたプラグインエフェクトのSDL(i)が「1D」であって(前記ステップS46のYES)、報告ダイアログボックス49にてスクイーズコンパイルを行う選択が行われた場合(前記ステップS48のYES)、ステップS53〜S58により、当該新規プラグインエフェクトの割り当て先に選択されたDSP(SDS(i))をスクイーズコンパイルすることで、当該新規プラグインエフェクトを設定したときに遅延が発生しないよう当該DSPリソースを再配置する。すなわちステップS53〜S55の処理により、該割り当て先のDSPで動作中の全てのプラグインエフェクト(関連プラグインエフェクト)は一旦削除され、ステップS56〜58の処理により、該削除された関連プラグインエフェクトは該割り当て先のDSPに新たなリソース配置で再設定される。関連プラグインエフェクトのリソース再配置は、新規にプラグインエフェクトを追加(設定)したパスの構成(複数のプラグインエフェクトの接続順)と、新規プラグインエフェクト割り当て先のDSPにおけるリソースの配置とを整合させるよう行われる(前記図9を参照)。なお、前記ステップS53〜S55の動作の詳細は、削除対象が関連プラグインエフェクトであることの他は、前記ステップS43〜S45における旧プラグインエフェクトを削除する動作と同様である。また、前記ステップS56〜S58の動作は、設定対象が関連プラグインエフェクトであることの他は、前記ステップS50〜S52における新規プラグインエフェクトを設定する動作と同様である。
そして、ステップS59〜S61において、当該新規プラグインエフェクトを割り当て先のDSPに設定する。当該新規プラグインエフェクトが割り当てられるリソースは、前記ステップS53〜S58の処理が実行したスクイーズコンパイルにより確保された空き領域である。新規プラグインエフェクトを設定する動作は、前記ステップS50〜S52における新規プラグインエフェクトを設定する動作と同様であるので、その詳細については既述の説明を参照されたい。
なお、SDL(i)が「1D」以外(ステップS46のNO)であって、新規に選択されたプラグインエフェクトが要スクイーズ(選択肢が下線付き表示のもの)であった場合には、前記ステップS50〜52による当該新規プラグインエフェクトの設定を行う前に、前記ステップS53〜S58と同様なスクイーズコンパイルの処理を行うことで、当該新規プラグインエフェクトの割り当て先のDSP(SDS(i))に当該プラグインエフェクト実行に必要な空きリソース領域を確保しておけばよい。
また、図16はプラグインエフェクト変更処理の手順の別の一例を示すフローチャートである。当該プラグインエフェクト枠43に新規のプラグインエフェクトを設定しない場合、つまり、プラグインエフェクト選択メニュー47にて選択肢「no effect」が指定された場合には(ステップS62のNO)、ステップS63〜S65の処理により、当該プラグインエフェクト枠43の旧プラグインエフェクトを削除する。これは前記図14のステップS43〜S45の動作と同様である。
また、当該プラグインエフェクト枠43に新規のプラグインエフェクトを設定する場合、つまり、プラグインエフェクト選択メニュー47にて選択肢「no effect」以外が指定された場合には(ステップS62のYES)、ステップS66において当該プラグインエフェクト枠43に旧プラグインエフェクトが設定されているかどうか調べる。旧プラグインエフェクトがなければ(ステップS66のNO)、ステップS67〜69により当該新規プラグインエフェクトをプラグインエフェクト枠43に設定する。これは前記図14のステップS50〜S52の動作と同様である。
当該新規プラグインエフェクト枠43に旧プラグインエフェクトがあれば(ステップS66のYES)、ステップS70以下の処理により、旧プラグインエフェクトを新規プラグインエフェクトに差し替える。図17(a),(b)は該図16のステップS70〜S74によりプラグインエフェクトE2をE2´に差し替える動作を説明するための図である。ステップS70において、新規プラグインエフェクトが当該新規プラグインエフェクトの割り当て先に選択されたDSP(SDS(i))に割り当てられると共に、カレントメモリに当該新規プラグインエフェクトの動作データがセットされる。そして、ステップS71において、当該新規プラグインエフェクトの動作を開始させる。これにより、図17(a)に例示する通り、新規に設定されたプラグインエフェクトE2´にもE1の出力が入力され、旧プラグインエフェクトE2と新規プラグインエフェクトE2´の双方が並行して実行される。ステップS72において、旧プラグインエフェクトの出力から新規プラグインエフェクトの出力へクロスフェードする。図17(b)においてクロスフェード完了後の状態を示す。旧プラグインエフェクトE2の出力が消え、E3へ入力される信号は新規プラグインエフェクトE2´の出力に切り替わる。クロスフェードの完了後、ステップS73において、旧プラグインエフェクトの動作を停止し、ステップS74において該旧プラグインエフェクトに割り当てられていたDSPのリソースを解放すると共に、そのカレントメモリ記憶内容を削除することで、旧プラグインエフェクトを削除する。これにより、当該プラグインエフェクト枠43に新規のプラグインエフェクトを設定することができる。
なお、上記図16に例示する手順に従うプラグインエフェクト変更処理の実施には、旧プラグインエフェクトと新規プラグインエフェクトを同時に並行して実行するのに十分なDSP演算能力(メモリリソースの余裕、新規プラグインエフェクトの追加に伴う遅延が付加されない等)を要する。
更に、効果付与部6を構成するDSP60〜63を効率的に利用するためのリソース管理方法の1つとして、各DSP60〜63においてプラグインエフェクトにより現在使用されているリソースの配置状況(前記図3の例を参照されたい)を適切に改めることで、効果付与部6全体における総遅延を短縮することも可能である。効果付与部6の遅延を短縮化するための処理の手順の一例を図18に示す。この処理は、例えばユーザから当該処理の実行指示が行われたときに起動してよい。
ステップS75においては、効果付与部6全体でのDSP演算の総遅延が最短になるプラグインエフェクトのDSP割り当て(DSPリソース配置)パターンをシュミレーションする。シミュレーション方法には、例えば下記の3通りの方法が考えられる。
(1)総当り方法:全てのプラグインエフェクトについて、現在の割り当て先DSPから他のDSPへ移動させた配置パターンを可能な全パターンについて検証し、各パターン毎に総遅延を算出する方法。なお、図9を参照して既に述べたとおり、付加的に生じる遅延が1Dの場合には、当該プラグインエフェクトが挿入されるパスにおけるプラグインエフェクト配列と、該プラグインエフェクトが割り当てられるDSP内でのリソース配置順との不整合(つまり1つのDSP内におけるプラグインエフェクト間のオーディオ信号の通信)がその遅延の原因である。また、効果付与部6の複数のDSPの間で波形バス12を介してオーディオ信号を通信する際には2Dの遅延が付加される。つまり、奇数の遅延には、必ず、プラグインエフェクト配列とDSPのリソース配置順との不整合による1Dの遅延が含まれている。従って、スクイーズコンパイルにより、1D分の遅延の原因となっているプラグインエフェクトの配置をやり直すことで、該1D分の遅延は解消される。従って、「総当り方法」の実行に際しては、まず奇数の遅延があるDSP内で1D分の遅延を解消した後に、上記「総当り」を実行するとよい。
(2)各パスについて当該パスの全プラグインエフェクトを実行するために必要な総リソースを計算し、総リソース量が大きいパスから順に、パス単位でプラグインエフェクトをDSPに配置する方法。総リソース量が大きいパスから順にDSPに割り当てていけば、1つのパスを構成するプラグインエフェクトが複数のDSPに跨って割り当てられる危険性が少なくなるという考えである。
(3)パス単位でDSPに割り当てる上記とは別の方法として、パスの組み合わせにより1つのDSPに残るリソース量が最小になるようなパターン(パスの最適な組み合わせ)を検出する方法。パスの最適な組み合わせの一例としては、総リソース量のバランスが反対のパス同士(総リソース量が最大のパスと最小のパス)の組み合わせ等である。
前記ステップS75によるシミュレーションの結果、現状よりも総遅延を短縮化できないのであれば(ステップS76のNO)、例えば「短縮できません」等の表示により、その旨をユーザに通知する(ステップS77)。
前記ステップS75によるシミュレーションの結果、現状よりも総遅延を短縮化できるのであれば(ステップS76のYES)、ステップS78において、現在のプラグインエフェクトのDSPに対するリソース配置状況と前記シミュレーション結果とをマッチングさせることで、移動すべきプラグインエフェクトとその移動先のDSPと該移動先DSPでのリソース配置とを決定する。そして、ステップS79において文字情報の表示等により移動内容をユーザに通知する。ユーザは該通知を受けて移動可否を指示できてよい(ステップS80)。
ユーザがプラグインエフェクトの移動を許可したら(ステップS81)、ステップS82においてプラグインエフェクトの移動を実行する。すなわち、移動対象のプラグインエフェクトを現在のDSPから抜いて、シミュレーションにより決定した移動先のDSPのリソース配置位置へ割り当てる。ここで、プラグインエフェクトを抜き差しする動作は、上記図14等を参照して既に説明したプラグインエフェクトを削除する動作や、プラグインエフェクトを新設する動作を適宜組み合わせて実行されてよい。
以上説明した通り、この実施例によれば、図5の仮想ラック画面において、1つの仮想ラック41にユーザが装着数設定部42で指定した数の1乃至複数のプラグインエフェクト枠43に任意のプラグインエフェクトを装着でき、所望の信号処理ブロックに対するプラグインエフェクトの挿入は前記仮想ラック41単位で行うことができる。従って、1つの信号処理ブロックに対して複数のプラグインエフェクトが挿入されている場合であっても、どのプラグインエフェクトとどのプラグインエフェクトがどのような組み合わせで使用されているのかを仮想ラック画面の表示から一目で判別することがきるようになる。また、図6(c)に示した通り、プラグインエフェクト編集画面を仮想ラック41単位で構成する、すなわち、当該仮想ラックに装着された複数のプラグインエフェクト毎の編集ペ画面を1つの画面内に一体化して表示するようにしたことで、表示される編集画面の枚数を減らしてユーザにとって操作が行いやすいユーザインターフェースを提供できる。
また、プラグインエフェクト選択メニュー47において、スクイーズコンパイルすれば実行可能なプラグインエフェクトの選択肢について別態様で表示(下線付き)したことで、スクイーズコンパイルが行われることをユーザに知らしめたうえで、当該プラグインエフェクトを新規追加対象として選択できるようになった。従って、効果付与部6のDSPのリソースを効率よく利用すると共に、ユーザのプラグインエフェクト新規追加の機会新規追加の機会やプラグインエフェクトの選択幅を広げることができる。
更に、前記図13のステップS31乃至S34の処理において、プラグインエフェクトを実行可能乃至スクイーズコンパイルを行うことで実行可能となるDSPの中から当該プラグインエフェクトを実行した場合に付加される遅延が最短のDSPを探す処理を行っていることで、当該プラグインエフェクトを実行する際には、DSP演算の遅延(レイテンシー)が最短となるDSPに対して当該プラグインエフェクトを自動的に割り当てることができる。従って、DSP演算の遅延を最適化(短縮化)することができ、かつ、遅延素子のメモリリソースを節約することができる。従って、効果付与部6のDSPのリソースを効率よく利用することができる。また、プラグインエフェクト選択メニュー47において選択肢毎に、当該プラグインエフェクトを実行した際に付加される遅延を警告することで、ユーザにDSPリソースの効率的な使用に関する情報を提供することができる。
なお、上記実施例では、効果付与部6が4つのDSP60〜63で構成され、また、図5に示す仮想ラック画面において4つの仮想ラック(No.1〜No.4)41が具備される例を示したが、効果付与部6を構成するDSPの数及び仮想ラック画面に備わる仮想ラックの数は上記の例に限定されない。また、上記実施例では、効果付与部6を構成するDSPの数と、仮想ラック画面に備わる仮想ラックの数とが同数であるが、両者が異なっていても差し支えない。
また、仮想ラック画面の構成並びに各要素(仮想ラック41、装着数設定部42、プラグインエフェクト枠43、パッチ表示部44及び45)は図5に例示した表示形態に限らず、少なくとも、1つの仮想ラックにユーザが指定した数の1乃至複数のプラグインエフェクトを装着でき、1つの信号処理ブロックに挿入されたプラグインエフェクトの組み合わせを仮想ラック毎にまとめてユーザに提示できさえすればよい。
また、上記図5に示すプラグインエフェクト選択メニュー47においては、新規追加に際してスクイーズコンパイルが必要なプラグインエフェクトの選択肢に下線を付与して他との区別を示したが、「要スクイーズコンパイル」の選択肢と他の選択肢とを別態様で表示するのであれば、その表示態様は図5の例に限らない。また、上記図5においては、プラグインエフェクト選択メニュー47中の「要スクイーズ」の選択肢(「3D Effect」)47aがポンタカーソル48により指摘されたときに、スクイーズコンパイルによって影響を受ける他のプラグインエフェクト枠43を色替え表示(斜線)する、つまり該枠43を別態様で表示する例を示したが、これに限らず、「要スクイーズ」の選択肢が指摘されたときに、当該スクイーズコンパイルによって影響を受けるプラグインエフェクトが挿入された仮想ラック41を別態様で表示する構成であってもよい。
また、上記図11に示すプラグインエフェクトの実行可能性チェック処理では、チェック対象のプラグインエフェクトについて、実行可能なものと、実行不可能なものと、スクイーズコンパイル(1つのDSP内でリソースの再配置を行う)により実行可能となるものとの3通りの実行可能性を調べる例を示したが、更に、実行不可能(1つのDSPにおいて連続・非連続のいずれにせよ空き領域が足りない)な場合に、複数のDSP間でリソースの再配置を行うことで実行可能になるかどうかを調べる処理を加えることで、該複数のDSPでリソースの再配置を行うことで実行可能となるものについて別態様で表示できるよう構成してもよい。
また、上記図5の仮想ラック画面のプラグインエフェクト選択メニュー47において、グレーアウト表示された選択肢(図5の例では、「Convolution」の選択肢47a)は、DSPのリソース不足のため「実行不可能」なプラグインエフェクトに対応するものである。この「実行不可能」なプラグインエフェクトも、現在稼動中の何れかのプラグインエフェクトを削除すれば、「実行可能」となるであろう。そこで、選択メニュー47において該グレーアウト表示された選択肢が指摘されたときに、削除候補のプラグインエフェクトを例えばポップアップウィンドウ等により表示することで、当該選択肢に対応するプラグインエフェクトを追加するためには、現在稼動中のプラグインエフェクトのいずれを削除すればよいかを、ユーザに通知するよう構成してもよい。
また、上記図5の仮想ラック画面に表示される報告ダイアログボックス49においては、「1D」又は「0D」のいずれかを選択するラジオボタンが表示され、或るプラグインエフェクトを新規に追加する際に、DSP上に既存のプラグインエフェクトの再配置(スクイーズコンパイル)を行わずに「1D」の遅延が付加されるか、スクイーズコンパイルを行い遅延の付加を無くすか(「0D」)のいずれかを選択することができるようになっていた。この報告ダイアログボックス49は、図示の表示構成に限らず、或るプラグインエフェクトを新規に追加する際に、DSP上に既存のプラグインエフェクトの再配置(スクイーズコンパイル)を行うことでレインテンシーを短縮できることを、ユーザに報告する表示でさえあればよい。また、上記実施例において、新規に追加するプラグインエフェクトのSDL(i)が「1D」の場合に(前記図14のステップS46のYES)、報告ダイアログボックス49が表示される(図14のステップS47)処理構成を示したが、これに限らず、新規にプラグインエフェクトを追加する際にDSP上に既存のプラグインエフェクトの再配置(スクイーズコンパイル)を行うことでレインテンシーを短縮できるのであれば、新規に追加するプラグインエフェクトのSDL(i)が「1D」以外の場合であっても、報告ダイアログボックス49が表示されてよい。
また、仮想ラック画面において1つの仮想ラック41にユーザが指定した数の複数のプラグインエフェクトを装着できるようにするという技術思想にのみ着目すれば、効果付与部6はDSPがプラグインエフェクトのマイクロプログラムを実行する構成に限らず、CPUによりプラグインエフェクトのソフトウェアプログラムを実行する構成を採用しても差し支えない。
100 ミキサ、1 CPU 2 フラッシュメモリ、3 ROM、4 波形入出力インターフェース、5 信号処理部、6 効果付与部、7 表示器、8 操作子、9 PCインターフェース、10 MIDIインターフェース、11 その他インターフェース、12 波形バス、13 CPUバス、60〜63 DSP、30 アナログ入力部、31 ディジタル入力部、32 入力パッチ、33 入力チャンネル、34 MIXバス、35 MIX出力ch、36 出力パッチ、37 アナログ出力部、38 ディジタル出力部、40 プラグインエフェクト、41 仮想ラック画面、42 プラグインエフェクト装着数設定部、43 プラグインエフェクト枠、44 パッチ表示部、45 パッチ表示部、46 編集ボタン、47 プラグインエフェクト選択メニュー、47a 選択肢、48 ポインタカーソル、49 報告ダイアログボックス、50 エフェクト表示欄、51 ラック選択用ポップアップウィンドウ