(58)【調査した分野】(Int.Cl.,DB名)
プロセッサの処理リソースを、所定の配置データに従って1以上のコンポーネントに割り当てて、該割り当てた処理リソースを用いて該各コンポーネントに関する音信号処理を実行する音信号処理装置であって、
前記割り当てに反映させる配置データを記憶する第1記憶部と、
当該音信号処理装置において利用可能なコンポーネントの情報を記憶する第2記憶部にアクセスするためのアクセス部と、
前記配置データを複数記憶する記憶部から1の配置データを前記第1記憶部に読み出す読出部であって、前記1の配置データに、前記第2記憶部に記憶されていないコンポーネントが含まれる場合には、前記1の配置データのうち、該記憶されていないコンポーネントの情報を、該記憶されていないコンポーネントと同じ処理リソースに割り当てられる未知のコンポーネントを示す未知コンポーネント情報に置き換えて前記第1記憶部に書き込む読出部を備えることを特徴とする音信号処理装置。
プロセッサの処理リソースを、所定の配置データに従って1以上のコンポーネントに割り当てて、該割り当てた処理リソースを用いて該各コンポーネントに関する音信号処理を実行する音信号処理手順と、
前記配置データを複数記憶する記憶部から、1の配置データを、前記割り当てに反映させる配置データを記憶する第1記憶部に読み出す読出手順であって、前記1の配置データに、利用可能なコンポーネントの情報を記憶する第2記憶部に記憶されていないコンポーネントが含まれる場合には、前記1の配置データのうち、該記憶されていないコンポーネントの情報を、該記憶されていないコンポーネントと同じ処理リソースに割り当てられる未知のコンポーネントを示す未知コンポーネント情報に置き換えて前記第1記憶部に書き込む読出手順とを備えることを特徴とする音信号処理方法。
【発明を実施するための形態】
【0017】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
〔第1実施形態:
図1乃至
図11〕
まず、
図1に、この発明の音信号処理装置の第1実施形態であるデジタルミキサの構成を示す。
図1に示すように、デジタルミキサ10は、CPU11、フラッシュメモリ12、RAM13、PC(パーソナルコンピュータ)_I/O(入出力部)14、MIDI(Musical Instrument Digital Interface:商標)_I/O15、その他I/O16、表示器17、操作子18、波形I/O19、ミキシング処理部20、プラグイン処理部30を備え、これらをシステムバス22により接続している。また、波形I/O19、ミキシング処理部20及びプラグイン処理部30は、デジタル音信号であるオーディオデータを伝送するためのオーディオバス23によっても接続している。
【0018】
このうちCPU11は、デジタルミキサ10の動作を統括制御する制御部であり、フラッシュメモリ12に記憶された所要のプログラムを実行することにより、波形I/O19における音信号の入出力や表示器17における表示の制御、操作子18の操作に従ったパラメータの編集、ミキシング処理部20及びプラグイン処理部30における信号処理の制御といった処理を行う。
【0019】
フラッシュメモリ12はCPU11が実行する制御プログラムや後述する各種データ等を記憶する書き換え可能な不揮発性の記憶部である。RAM13はCPU11が各種のデータを書き込み及び読み出しする揮発性の記憶部であり、CPU11のワークメモリとしても使用される。
PC_I/O14、MIDI_I/O15、その他I/O16はそれぞれ、種々の外部機器を接続し入出力を行うためのインタフェースである。例えば、PC_I/O14には外部のPCが接続され、MIDI_I/O15にはフィジカルコントローラや電子楽器のようなMIDI対応機器が接続される。その他I/O16には、ディスプレイ、マウス、文字入力用のキーボード等のUIデバイスや、USB(Universal Serial Bus)メモリ、メモリカード等の着脱可能な記憶媒体が接続される。外部機器との通信に用いる規格は、イーサネット(商標)、USB等、任意のものを採用することができる。有線無線も問わない。
【0020】
表示器17は、CPU11の制御に従って種々の情報を表示する表示部であり、例えば液晶パネル(LCD)や発光ダイオード(LED)によって構成できる。
操作子18は、デジタルミキサ10に対する操作を受け付けるためのものであり、種々のキー、ボタン、ロータリーエンコーダ、スライダ等によって構成できる。表示器17であるLCDに積層したタッチパネルを用いることもできる。
【0021】
波形I/O19は、ミキシング処理部20で処理すべき音信号の入力を受け付け、また処理後の音信号を出力するためのインタフェースである。波形I/O19は、アナログ音信号を外部から受け取りデジタル音信号に変換してミキシング処理部20に供給するアナログ入力ポート、ミキシング処理部20からのデジタル音信号をアナログ音信号に変換して出力するアナログ出力ポート、各種伝送形式のデジタル音信号を外部から受け取りミキシング処理部20に供給するデジタル入力ポート、ミキシング処理部20からのデジタル音信号を各種伝送形式に変換して外部に出力するデジタル出力ポートを、それぞれ複数備える。
【0022】
ミキシング処理部20は、複数のDSPを含むDSP群として構成され、波形I/O19からオーディオバス23を介して供給されるデジタルの音信号にミキシングやイコライジング等の信号処理を施し、信号処理後の音信号をオーディオバス23を介して再び波形I/O19に出力する機能を備える。その信号処理は各種処理パラメータの現在値(カレントデータ)により制御される。そのカレントデータは、上記操作子18の操作によりユーザが編集可能であり、RAM13あるいはDSPに備える所定のメモリに記録される。
【0023】
プラグイン処理部30は、ミキシング処理部20にて処理途中の音信号に対し、種々のプラグインコンポーネント(以下単に「プラグイン」という)を用いた信号処理を行うことができる。このプラグインには、リバーブ、ディレイ、コーラス、グラフィックイコライザ、コンプレッサ等の、音効果を付与するエフェクタの機能を実現するものが含まれる。プラグインは、複数のchの音信号を処理する機能を備えるものであってもよいが、以下の説明を簡単にするため、ここでは、1chの音信号を処理するものであるとする。
【0024】
プラグインを使用する場合、例えば、ミキシング処理部20が行っている信号処理における、あるブロックとその次のブロックの間の所定位置で、前記あるブロックからの音信号を取り出してオーディオバス23を介してプラグイン処理部30に供給し、その音信号に対してプラグインの信号処理を施して、処理後の音信号をオーディオバス23を介してミキシング処理部20に戻して前記次のブロックに供給する。また、処理後の音信号の供給先は、音信号を取り出した位置と異なっていてもよい。例えば、入力ch(チャンネル)から取り出して処理した信号を、出力chへ供給してもよい。
なお、プラグイン処理部30で行われる音信号処理を制御する各種処理パラメータも、上述したカレントデータに含まれる。
【0025】
次に、
図2に、波形I/O19、ミキシング処理部20及びプラグイン処理部30により実現される音信号処理機能のブロック図を示す。
図2に示すように、ミキシング処理部20での音信号処理は、入力パッチ43、入力ch44、ミキシング(MIX)バス45、MIX出力ch46、出力パッチ47を有する。
【0026】
入力パッチ43では、12chある入力ch44のそれぞれに、波形I/O19のアナログ入力部41の複数のアナログ入力ポート及びデジタル入力部42の複数のデジタル入力ポートのいずれか1つの入力ポートをパッチし(割り当て)、割り当てた入力ポートからの音信号をその入力chに供給する。各入力chでは、入力パッチ43からの音信号に対してイコライザ、コンプレッサ等の一連の処理ブロックでそれぞれ信号処理を施し、信号処理後の音信号を、8系統のMIXバス45のうちの1または複数系統のバスへ送出する。なお、その送出時には、送出する音信号のレベルをバスごと個別に変更できる。
【0027】
各MIXバス45では、各入力ch44から入力される音信号をミキシングし、ミキシング結果の音信号を、MIXバス45の系統ごとに設けられている8chのMIX出力ch46へ送出する。
各MIX出力ch46では、MIXバス45から入力される音信号に対してイコライザ、コンプレッサ等の一連の処理ブロックでそれぞれ信号処理を施し、信号処理後の音信号を出力パッチ47へ送出する。
出力パッチ47では、MIX出力ch46のそれぞれに、波形I/O19の各出力端子と対応して設けられている複数のアナログ出力部48及び複数のデジタル出力部49のいずれか1つをパッチし、各MIX出力chの音信号をパッチ先の出力部から出力する。
【0028】
各入力chの一連の処理ブロック間の所定位置、および、各出力chの一連の処理ブロック間の所定位置には、それぞれインサートポイントが設けられている。そして、このインサートポイントと、プラグイン処理部30に配置されたプラグイン50とを接続し、任意のインサートポイントにおける音信号をプラグイン50に入力して処理し、処理後の信号を任意のインサートポイントに戻すことができる。より具体的には、入力側のインサートポイントの前段の処理ブロックが出力する音信号を、インサート出力してプラグイン処理部30に伝送し、プラグイン50に入力して処理し、処理後の信号を、プラグイン処理部30からミキシング処理部20に戻し、出力側のインサートポイントの後段の信号処理に供することができる。インサートポイントは、1つのch内に複数箇所設け、使用するポイントをその中からユーザが選択できるようにしてもよい。
また、これ以外にも、任意のchから出力される音信号をプラグイン50に入力して処理したり、プラグイン50による処理後の音信号を任意のchの入力に供給したりすることもできる。
【0029】
次に、
図3乃至
図5を用いて、プラグイン処理部30が有する処理リソース及び、その処理リソースを用いたプラグイン処理の実行態様及び手順について説明する。
図3は、プラグイン処理部30が有する処理リソースを示す図、
図4及び
図5は、それぞれプラグイン処理部30が有する処理リソースを用いたプラグイン処理の実行態様の例を示す図である。
【0030】
図3に示すように、プラグイン処理部30は、第1DSP31−1〜第mDSP31−mまでの、m個(mは1以上の整数)のDSPを備える。処理リソースの割り当てを単純な処理で行うためには、各DSPは、全く同じ能力であることが望ましいが、これには限られない。
【0031】
また、各DSP31−x(xは1からmまでの整数)は、第1処理タイミング31−x−1から第n処理タイミング31−x−nまでのn個(nは1以上の整数)の処理タイミングを有する。各処理タイミングは、処理対象の音信号の1サンプリング期間をn分割したものであり、その期間内にDSP31−xが提供可能な演算能力を示す。
さらに、各DSP31−xは、内部に、各処理タイミングに実行するためのプログラム及び処理対象の音データを記憶するためのDSPメモリ32−xを備える。
【0032】
以上の各DSP31−xは、各処理タイミング31−x−1〜31−x−nにおいて、DSPメモリ32−xの、その処理タイミングと対応付けて記憶されているプログラムを実行することにより、その処理タイミングの信号処理を実行する。また、各処理タイミング31−x−1〜31−x−nの信号処理は、DSPメモリ32−xの、その処理タイミングと対応する入力アドレスに記憶されている音信号を1サンプル分読み出し、プログラムに従った処理結果の音信号を1サンプル分、DSPメモリ32−xの、その処理タイミングと対応する出力アドレスに書き込むものである(プログラムをそのように作成する)。
【0033】
また、ある処理タイミング31−x−y(yは1からn―1までの整数)と対応する出力アドレスが、その次の処理タイミング31−x−(y+1)と対応する入力アドレスとなっている。各処理タイミングと対応する入力アドレス及び出力アドレスは、この実施形態では固定としている。
従って、各DSP31−xは、連続する複数の処理タイミングにおいて、複数のプログラム間で音信号を順次受け渡しつつ、処理することができる。このことにより、実質的に、1の処理タイミング内に完了しない信号処理も実行することができる。
以上のプラグイン処理部30に、あるコンポーネントに係る信号処理を実行させる場合、
図4あるいは
図5に示すように、コンポーネントに処理リソースを割り当てればよい。
【0034】
図4は、DSPの処理タイミング4つ分の演算能力で実行可能なプラグインAの処理を、プラグイン処理部30のDSPに実行させる場合の実行状態の例である。
この場合、プラグインAの処理の内容を規定するプラグインプログラムAを、それぞれDSP31−xが1の処理タイミング内に実行可能なA1〜A4の4つのプラグインプログラム部品に分けて作成しておく。そして、プラグインAに対し、DSP31−xの4つの処理タイミング(ここでは第1〜第4処理タイミング31−x−1〜4)を割り当て、各処理タイミング31−x−1〜4と対応付けて、DSPメモリ32−xにプラグインプログラム部品A1〜A4をロードしておく。
【0035】
すると、DSPは、第1処理タイミング31−x−1では、入力アドレスX1から音信号を読み出してプラグインプログラム部品A1による処理を実行し、その結果の音信号を出力アドレスX2に書き込む(上書きする)。第2処理タイミング31−x−2では、入力アドレスX2から音信号を読み出してプラグインプログラム部品A2による処理を実行し、その結果の音信号を出力アドレスX3に書き込む(上書きする)。同様に、第4処理タイミング31−x−4まで処理を実行すると、アドレスX1に記憶されていた音信号に対してプラグインプログラム部品A1〜A4により順次処理を行った結果の音信号が、アドレスX5に記憶される。
【0036】
従って、ミキシング処理部20の入力側インサートポイントの音信号をサンプリング周期毎にアドレスX1に書き込み、アドレスX5の音信号をサンプリング周期毎に、ミキシング処理部20の出力側インサートポイントの音信号を記憶するアドレスに書き込むことにより、入力側インサートポイントの音信号に対してプラグインAの処理を行った結果を、出力側インサートポイントに供給することができる。このような、プラグインAへの入出力のためのデータ伝送の設定も、入力パッチ43や出力パッチ47と同様、「パッチ」と呼ぶことにする。
【0037】
なお、各プラグインプログラム部品A1〜A4に従った処理自体は、処理タイミングが割り当てられていれば、パッチの設定がなく、アドレスX1に意味のある音信号が書き込まれていなくても実行可能である。この場合、処理結果の音信号も意味のないデータとなるが、出力側のパッチも設定されていなければ、その処理結果がミキシング処理部20の信号処理に影響を与えることはない。
【0038】
図5は、DSPの処理タイミング3つ分の演算能力で実行可能なプラグインBの処理を、プラグイン処理部30のDSPに実行させる場合の実行状態の例である。
この場合、プラグインBに、DSP31−xの3つの処理タイミング(ここでは第1〜第3処理タイミング31−x−1〜3)を割り当てれば、必要なプラグインプログラム部品B1〜B3の処理を実行可能である。そして、最終的な処理結果は第3処理タイミング31−x−3の出力アドレスX4に書き込まれる。従って、アドレスX4を、出力側インサートポイントとパッチすればよい。
【0039】
このように、プラグイン処理部30に、プラグインに関する信号処理を有効に実行させるためには、プラグインに対して、そのプラグインを構成するプラグインプログラム部品と同じ数の処理タイミングを処理リソースとして割り当てると共に、入出力のパッチを設定すればよい。また、プラグインに割り当てる処理タイミングを、プラグインを配置可能な位置という意味で、「スロット」とも呼ぶことにする。
【0040】
次に、
図6に、以上説明したプラグインへの処理リソースの割り当て及びパッチの設定を受け付け、また現在の状態を表示するためのプラグイン配置画面の例を示す。
図6に示すプラグイン配置画面200は、表示制御部として機能するCPU11により表示器17に表示され、プラグイン配置部210、カーソル操作部220、プラグイン選択部230、プラグイン設定部240、配置ボタン251、削除ボタン252、クローズボタン253を備える。
【0041】
これらのうちプラグイン配置部210は、プラグインへの処理リソースの割り当て状態を表示する領域である。この例では、1列に並んだ16のマスが、プラグイン処理部30における1つのDSPの処理リソースと対応し、その各マスが、1つの処理タイミングと対応する。従って、
図6の例では、プラグイン処理部30がaからxまでの24個のDSPを備え、それらのDSPが各16の処理タイミングを持つことを示している。
【0042】
また、プラグイン配置部210では、プラグインと対応するアイコンをマスに重ねて配置することにより、どのプラグインにどの処理リソースを割り当てて使用するかを表示している。例えば、アイコン212は、リバーブのプラグインに、DSP31−aの第1〜第6処理タイミングを割り当てることを示している。また、アイコン213は、グラフィックイコライザのプラグインに、DSP31−aの第13〜第14処理タイミングを割り当てることを示している。
【0043】
各アイコンのサイズは、該当のプラグインの機能を利用するためにいくつの処理タイミングを割り当てる必要があるか(プラグインを配置するためにいくつのスロットが必要であるか)も示している。アイコンが配置されていないマスは、現在空いている処理リソース(スロット)を示す。
なお、ここでは、マスの1列が1つのDSPに対応するとしたが、それに限られることはなく、複数列が1つのDSPに対応してもよい。
図6の表示により、16×24=384の処理タイミングを持つ1つのDSPを表してもよい。
【0044】
また、プラグイン配置部210上にはカーソル211を表示し、これをカーソル操作部220により操作できるようにしている。カーソル211のサイズは、プラグイン選択部230にて現在選択されているプラグインのアイコンのサイズである。
カーソル操作部220は、つまみ221、カーソル位置表示部222及びリソース表示部223を備える。
【0045】
つまみ221は、カーソル211を移動させるための操作子である。つまみ221をタッチして選択した後でのドラッグ操作や、つまみ221を割り当てたロータリーエンコーダ等の物理操作子の操作により、ユーザは、カーソル211を左右に移動させることができる。ここでは、プラグインに複数のDSPにまたがる処理リソースの割り当てはしないこととし、これに対応して、カーソル211の端部が列の端に達した状態でさらに移動させると、カーソル211は前又は後ろの列に移動する。
【0046】
カーソル位置表示部222は、カーソル211の位置の座標を、プラグイン配置部210に表示されたアルファベットと数字の組み合わせで表示する領域である。カーソル211が複数マスに亘る場合、例えば最も左側のマスなど、所定の基準位置の座標が表示される。
【0047】
リソース表示部223は、利用可能な処理タイミング数を表示する領域である。カーソル211がアイコンの配置されていないマスにある場合は、そのマスを含む連続した空きマスの数を、カーソル211の位置で配置済みのプラグインに影響を与えずに利用可能な処理タイミング数として表示する。カーソル211がアイコンの配置されたマスにある場合は、そのアイコンが占めるマスの数を、カーソル211の位置で、その位置に配置されたプラグイン以外のプラグインに影響を与えずに利用可能な処理タイミング数として表示する。リソース表示部223の表示も、カーソル211が複数マスに亘る場合、例えば最も左側のマスなど、所定の基準位置の状況に応じた表示を行う。
図6の例では、カーソル211の最も左側のマス「d3」に配置されたリバーブプラグインのサイズに基づき、リソース表示部223に6スロットと表示されている。
【0048】
次に、プラグイン選択部230は、プラグイン配置部210に配置するプラグインのタイプ(種類)の選択を受け付けるための領域である。ユーザがプラグイン選択部230をタッチすると、配置可能なプラグインのタイプのリストが
図7のコンポーネントデータに基づき表示され、その中からタイプを選択することができる。プラグイン選択部230には、選択されたプラグインを示すアイコン231が表示され、また名称表示部232に選択されたプラグインの名称が表示される。どのタイプも選択しない、という選択も可能であり、この場合にはカーソル211のサイズは1マスとなる。この状態は、配置済みのプラグインに対する編集に適した、編集モードであると捉えることもできる。
【0049】
プラグイン設定部240は、カーソル211の位置(複数マスに亘る場合には上述の基準位置)に配置済みのプラグインの設定状態を表示すると共に、そのプラグインに関する設定を受け付けるための領域である。プラグイン設定部240で表示及び受け付けを行う設定は、プラグインに関するパッチ及び動作モードの設定であり、入力元設定部241が入力側のパッチを、出力先設定部242が出力側のパッチを、表示及び受け付けする。
【0050】
ユーザが入力元設定部241にタッチすると、プラグインへの信号の入力元候補のリストが表示され、ユーザはその中から入力元を選択することができる。候補は、例えば入力ch44とMIX出力ch46など、デジタルミキサ10が備えるchとすることができるが、他のプラグインの出力を指定できるようにするなど、さらに他の選択肢があってもよい。また、1つのchの中に複数のインサートポイントを設ける場合、そのうちいずれを入力元とするかも、上記リスト、あるいは別途用意された操作部により選択できるようにする。いずれにせよ、ユーザが入力元を選択すると、デジタルミキサ10は、その入力元から、設定対象のプラグインに割り当てられている処理タイミングの先頭と対応する入力アドレスへ音信号を伝送すべきことを、パッチの設定として保存すると共に、入力元設定部241に、選択された入力元を表示する。
図6の例では、4番目の入力chの、フェーダの後ろ(AF)にあるインサートポイントが入力元であることを表示している。
【0051】
また、ユーザが出力先設定部242にタッチすると、プラグインへの信号の出力先候補のリストが表示され、ユーザはその中から出力先を選択することができる。候補のリストは、入力元の場合と同じとすることができるが、これには限られない。いずれにせよ、ユーザが出力先を選択すると、デジタルミキサ10は、設定対象のプラグインに割り当てられている処理タイミングの末尾と対応する出力アドレスからその出力先へ音信号を伝送すべきことを、パッチの設定として保存すると共に、出力先設定部242に、選択された出力先を表示する。
図6の例では、4番目の入力chの、フェーダの後ろ(AF)にあるインサートポイントが出力先であることを表示している。
【0052】
また、モード設定部243は、プラグインの種類(
図6の例では「Reverb」)を表示すると共に、その動作モードがインサートとセンドリターンのいずれであるかを表示している。このうちインサートモードは、入力元から下流に直接音信号が流れる経路をカットし、全てプラグインを通じて出力先に音信号を流すようにするモードである。この場合、プラグインはインサートエフェクトとして機能することになる。一方、センドリターンモードは、入力元から下流に直接音信号が流れる経路を生かし、出力先において、プラグインによる処理後の音信号と、プラグインを経由せずに流れてくる音信号とをミキシングして、下流の信号処理に供するモードである。
【0053】
各プラグインの動作モードがインサートとセンドリターンのいずれであるかは、当該プラグインに関するパッチの設定によってデジタルミキサ10が自動的に定める。あるプラグインへの信号の入力元がいずれかのchのインサートポイントであれば、そのプラグインはインサードモードで動作し、入力元がそれ以外、すなわちいずれかのchの出力であれば、そのプラグインはセンドリターンモードで動作する。プラグインの配置直後など、入力元と出力先のいずれかの設定がない場合も、センドリターンモードとするとよい。
図6の例では、現在の動作モードがセンドリターンモードであることを、下線により表示している。
【0054】
また、モード設定部243に対してダブルタップ等の所定の操作を行うと、
図7の表示用データに基づき、プラグインが信号処理に用いるパラメータの設定を受け付けるためのGUI(グラフィカルユーザインタフェース)がポップアップ表示され、ユーザはそのGUIを操作してパラメータを設定することができる。
【0055】
次に、配置ボタン251は、カーソルの位置に、プラグイン選択部230で選択されているプラグインを配置することを指示するためのボタンである。パッチは、プラグインを配置した後で別途設定する。
削除ボタン252は、カーソルの位置に配置されているプラグインを削除することを指示するためのボタンである。プラグインを削除すると、そのプラグインについて設定されているパッチも自動で削除される。
クローズボタン253は、プラグイン配置画面200を閉じるためのボタンである。
【0056】
次に、
図7及び
図8に、プラグイン及びその配置に関連してデジタルミキサ10が参照及び作成するデータについて説明する。
図7は、利用可能なコンポーネントを示すデータの例を、
図8は、プラグインの配置状態を示すデータの例を示す。
図7及び
図8には、本実施形態の説明に関係する範囲のデータのみを示してあり、もちろんここに示したもの以外のデータがあってもよい。
【0057】
まず、デジタルミキサ10は、デジタルミキサ10において利用可能なコンポーネントのタイプを規定するデータとして、
図7に示すコンポーネントデータをフラッシュメモリ12等の記憶部(第2記憶部)に記憶している。しかし、コンポーネントデータの全部又は一部を、その他I/O16に接続される記憶媒体や、ネットワークを介して接続される外部装置の記憶部等に記憶させておき、必要に応じてデジタルミキサ10がこれを読み出すようにすることも考えられる。
【0058】
なおここでは、利用可能なコンポーネントはプラグインコンポーネントのみであるとし、コンポーネントデータは、利用可能なプラグインのタイプ数pと、その各タイプの内容を規定する、第1〜第pのプラグインタイプのデータを含む。プラグイン以外のコンポーネントも利用可能である場合には、同様に当該コンポーネントのデータも用意する。またこの他に、コンポーネントデータはUnknownコンポーネント(未知コンポーネント)のデータも含む。
【0059】
各プラグインタイプのデータは、タイプID、スロット数、プラグインプログラム部品、パラメータ構成データ及び表示用データを含む。
これらのうちタイプIDは、プラグインタイプを特定するための識別情報である。
スロット数tは、該当タイプのプラグインに割り当てる必要がある処理リソースの量を、DSPの処理タイミング数で示したものである。
【0060】
各プラグインプログラム部品は、各処理タイミングでDSPに実行させるためのプログラムであり、#1〜#tの部品により、該当タイプのプラグインの機能が実現される。
パラメータ構成データは、該当タイプのプラグインが信号処理に使用するパラメータの構成を示すデータである。このデータは、必要なパラメータの項目や、各項目が取り得る値等のデータを含む。
表示用データは、該当タイプのプラグインをプラグイン配置画面200に表示するためのアイコンや、パラメータの設定を受け付けるためのGUIのデータ等、プラグインに関する表示を行うためのデータである。
【0061】
また、Unknownコンポーネントのデータは、デジタルミキサ10が読み込んだシーン(後述)に、コンポーネントデータで規定されていないタイプのプラグインが含まれていた場合に使用するデータである。
このUnknownコンポーネントのデータには、Unknownであることを示すタイプIDと、処理対象の音信号をスルー(そのまま通過)又はカット(音を止める、ミュートでもよい)するためのプラグインプログラム部品と、コンポーネントをプラグイン配置画面200に表示するためのアイコンのデータとを含む。プラグインプログラム部品は、任意の数の処理タイミングで連続して実行可能な内容とすることが望ましく、ここではそのようにしているため、1つだけ用意すればよい。また、パラメータはプログラム部品に組み込まれる固定値でよく、その編集を受け付ける必要はないので、パラメータ構成データやGUIのデータは不要である。
【0062】
また、デジタルミキサ10は、コンポーネントの配置状態を示す配置データとして、
図8に示すシーンデータ及びカレントシーンを記憶している。カレントシーンが、現在のプラグイン処理部30に実行させる信号処理及びそれに関連する信号伝送に反映させるデータである。デジタルミキサ10は、このカレントシーンを、RAM13等の記憶部(第1記憶部)に記憶している。シーンデータは、必要に応じて読み出してカレントシーンとして使用できるように、予め作成されて保存されているデータである。デジタルミキサ10は、このシーンデータを、フラッシュメモリ12等の記憶部に記憶しているが、シーンデータの全部又は一部を、その他I/O16に接続される記憶媒体や、ネットワークを介して接続される外部装置の記憶部等に記憶させておき、必要に応じてこれを読み出して利用することも考えられる。
【0063】
シーンデータは、保存されているシーンの数を示すシーン数sと、第1〜第sシーンのデータとを含む。第1〜第sシーンは、それぞれが1つの配置データに該当する。
各シーンは、シーンID、配置プラグイン数、プラグインデータ及びパッチデータを含む。
【0064】
これらのうちシーンIDは、シーンを特定するための識別情報である。
配置プラグイン数dは、該当のシーンにおいて配置されているプラグインの数を示すデータである。
各プラグインデータは、該当のシーンに配置されているプラグインを示すデータであり、各プラグインと対応する第1〜第dのプラグインデータが作成される。同じタイプのプラグインが複数配置される場合にも、各個体と対応するプラグインデータが作成される。
パッチデータは、各プラグインに関して設定されているパッチの情報をまとめたものである。
【0065】
また、上記のプラグインデータは、プラグインID、タイプID、開始スロット、最終スロット、インサート/センドリターン、およびパラメータデータを含む。
これらのうちプラグインIDは、シーン内でプラグインの個体を特定するための識別情報である。
タイプIDは、該当のプラグインのタイプを示すIDであり、デジタルミキサ10は、このタイプIDをキーにコンポーネントデータを検索して、シーンに配置される各プラグインについての詳細情報を取得することができる。
【0066】
開始スロット及び最終スロットは、プラグイン配置画面200における該当のプラグインの配置位置、すなわち該当のプラグインに割り当てる処理リソースを示すデータであり、それぞれ配置の先頭と末尾の位置を示す。各位置は、プラグイン処理部30におけるDSP31及びその処理タイミングにより特定することができる。開始スロットから最終スロットまでの長さは、プラグインのスロット数と一致する。
インサート/センドリターンは、プラグインの動作モードを示すデータである。このデータの値は、パッチの設定に基づき自動的に決定される。なお、各プラグインがインサートとセンドリターンのどちらの動作モードで動作するかを、必要になる都度パッチの設定に基づき判断するのであれば、インサート/センドリターンの区別を明示のデータとして用意する必要はない。
パラメータデータは、該当のプラグインが信号処理に使用するパラメータの値である。その構成は、プラグインのタイプに対応するパラメータ構成データに基づくものである。
【0067】
また、パッチデータは、データ数zと、zセットの接続元及び接続先の情報を含む。
データ数zは、パッチデータに含まれる伝送元及び伝送先の情報の数を示す。
伝送元及び伝送先は、プラグインに対するパッチのために行う信号伝送の伝送元と伝送先を規定するデータである。伝送元及び伝送先につき、ミキシング処理部20側の位置は、インサートポイントの位置(あるいはミキシング処理部20が処理する音信号を記憶するアドレス)により、プラグイン処理部30側の位置は、
図4及び
図5を用いて説明したDSPメモリのアドレスにより特定することができる。伝送元と伝送先の少なくとも一方はプラグイン処理部30にあるものとする。
【0068】
どのセットがどのプラグインに関するパッチを規定するかは、特に明示のデータとして保持する必要はないが、保持することも妨げられない。明示のデータがなくても、あるプラグインの開始スロットと対応するアドレスが伝送先になっているセットが、そのプラグインについての入力側のパッチを示し、あるプラグインの最終スロットと対応するアドレスが伝送元になっているセットが、そのプラグインについての出力側のパッチを示すことは、デジタルミキサ10が容易に把握可能である。
【0069】
カレントシーンのデータ構成は、以上説明した各シーンのデータ構成と同じである。従って、デジタルミキサ10は、保存されている任意のシーンをカレントシーンの記憶領域にコピーすることにより、そのシーンをプラグイン処理部30に実行させる信号処理等に反映させることができる。また、任意の時点のカレントシーンのデータを、1つのシーンとしてシーンデータ中に保存し、後で読み出せるようにすることもできる。
【0070】
以上のようなシーンデータ、あるいはそこに含まれるシーンは、可搬記録媒体に記録して持ち運んだりネットワークを介して送信したりして、他のデジタルミキサに読み込ませて利用させることもできる。逆に、デジタルミキサ10が、他のデジタルミキサにて作成及び保存されたシーンデータを、
図8のシーンデータと同様に利用したり、そこに含まれる個別のシーンのデータを、
図8のシーンデータに追加したりすることもできる。
【0071】
また、
図6のプラグイン配置画面200でなされたプラグインの配置やパッチの設定等は、カレントデータに反映される。すなわち、プラグインが新たに配置されれば、デジタルミキサ10はその配置されたプラグインと対応するプラグインデータをカレントシーンに追加し、逆にプラグインが削除されればそのプラグインを示すプラグインデータをカレントシーンから削除する。パッチも、新たに設定されればデジタルミキサ10はそのパッチを示す伝送元と伝送先のデータをカレントデータ中のパッチデータに追加し、逆に削除されれば、削除されたパッチを示す伝送元と伝送先のデータをパッチデータから削除する。それらのパッチの変更に伴いプラグインの動作モードを変更する必要があれば、あるいは信号処理パラメータの値が変更されれば、デジタルミキサ10は、その変更を該当のプラグインと対応するプラグインデータ中の、インサート/センドリターン及びパラメータデータに反映させる。
【0072】
また、カレントシーンが変更されれば、デジタルミキサ10は、その変更内容を直ちにプラグイン処理部30における信号処理及び信号伝送に反映する。すなわち、プラグインが追加されれば、そのプラグインに割り当てられる各処理タイミングにて実行すべきプラグインプログラム部品をDSPのメモリにロードし、各処理タイミングにてそのプログラム部品が実行されるようにする。また、パッチが設定されれば、デジタルミキサ10は、その設定に従った信号伝送が行われるよう、オーディオバス23に対する音信号の書き込み及び読み出しを含め、必要な伝送路の設定を行う。削除の場合には、逆にプログラム部品の削除や伝送路の設定解除を行う。
なお、カレントシーンの変更を信号処理及び信号伝送にリアルタイムに反映させないモードを設けることもできる。このモードは、シーンデータ中に保存しておき後で使用するためのシーンを作成する際に用いることができる。
【0073】
以上のデジタルミキサ10において特徴的な点の1つは、カレントシーンとして使用すべく読み出したシーンに、デジタルミキサ10において利用できないコンポーネントが含まれていた場合の動作である。そこで、以下この動作について説明する。
なお、読み出したシーンに、デジタルミキサ10において利用できないコンポーネントが含まれている、という事態は、デジタルミキサ10において利用できないコンポーネントを利用可能な他のデジタルミキサで作成し保存したシーンデータを、デジタルミキサ10で読み出してカレントシーンとして使用しようとする場合に起こりえるものである。ファームウェアのバージョン違いにより、シーンデータを編集した装置では利用可能だったプラグインタイプが、デジタルミキサ10では利用可能でない等である。
【0074】
まず
図9に、シーン操作画面の表示例を示す。
図9に示すシーン操作画面300は、シーンデータに含まれるシーンの呼び出し及び保存の指示を受け付けるための画面である。シーン操作画面300は、ユーザによる所定の操作に応じて、表示器17に表示される画面である。
シーン操作画面300には、シーン番号選択部301、ストアボタン302及びリコールボタン303が含まれる。
【0075】
これらのうちシーン番号選択部301は、操作の対象とするシーンの番号(シーンID)を選択するための領域であり、ユーザは、番号の直接入力やアップダウンボタンにより、番号を選択することができる。
ストアボタン302は、現在のカレントシーンの内容を、シーン番号選択部301にて選択された番号のシーンとして保存することを指示するためのボタンである。このボタンが操作されると、デジタルミキサ10は、現在のカレントシーンの内容をコピーしてシーンを作成し、シーンIDを付してシーンデータ中に保存する。同じシーンIDのシーンが既に保存されていれば、上書き保存する。
【0076】
リコールボタン303は、シーン番号選択部301にて選択された番号のシーンをカレントシーンに呼び出すリコールを行うことを指示するためのボタンである。このボタンが操作されると、デジタルミキサ10は、
図10の処理を実行し、該当のシーンIDを持つシーンを読み出して、カレントシーンに上書き保存する。ただし、カレントシーンの内容は、保存されていたシーンの完全なコピーとならない場合もある。後述するようにUnknownコンポーネントへの置き換えを行う場合もあるし、カレントシーンの一部について、読み出すシーンによる上書きを拒否するリコールセーフ機能や、逆にシーンの一部のみを選択的に読み出してカレントシーンに反映させたりするフォーカスリコール機能を設けることも考えられる。
【0077】
図10に、デジタルミキサ10のCPU11がリコールボタン303の操作に応じて実行するシーンリコール処理のフローチャートを示す。なお、以降説明するフローチャートに係る処理は、CPU11が所要のプログラムを実行することにより行うものであるが、説明を簡単にするため、デジタルミキサ10がその処理を実行するものとして説明する。また、ここまでの説明で、デジタルミキサ10の動作として説明した動作も、基本的には、CPU11が所要のプログラムを実行することにより行うものである。
【0078】
デジタルミキサ10は、リコールボタン303の操作を検出すると、そのとき選択されているシーン番号#nを引数として
図10の処理を開始する。なお、
図10の処理においては、説明を簡単にするため、リコールセーフ機能及びフォーカスリコール機能については考慮していない。
【0079】
図10の処理において、デジタルミキサ10はまず、カレントシーンをクリアし、ロードされているプラグインプログラム部品及びデータ伝送の設定を解除する(S11)。これは、シーンの読み出しの準備段階として行う処理である。なお、この時点で全てクリアしてしまうと、本来は読み出し前後で信号処理を継続的に実行可能である箇所(カレントシーンと読み出すシーンとで内容が共通な箇所など)についても、信号処理に中断が生じてしまうことになる。従って、カレントシーンのうち、シーンの読み出しに伴い内容が変更される箇所のみを選択してクリアすることも考えられる。
【0080】
ステップS11の後、デジタルミキサ10は、読み出し対象のシーン#nに含まれる各プラグインデータを順次処理対象として、ステップS12乃至S15の処理を繰り返す。
繰り返し部分の処理において、デジタルミキサ10はまず、処理対象のプラグインデータのタイプIDがコンポーネントデータに含まれるか否かを判断する(S12)。これがYesであれば、処理対象のプラグインデータが示すプラグインに係る信号処理を実行するためのデータをデジタルミキサ10が利用可能であり、すなわち当該プラグインをデジタルミキサ10が利用可能であることがわかる。
【0081】
そこで、この場合、デジタルミキサ10は、処理対象のプラグインデータをカレントシーンに追加コピーする(S13)。また、シーン#nのシーンデータ中の、処理対象のプラグインデータについて設定されたパッチの伝送元及び伝送先を、カレントシーンのパッチデータに追加コピーする(S14)。処理対象のプラグインデータについて設定されたパッチは、上述のように、伝送元又は伝送先の情報と、プラグインデータが示すプラグインの配置位置とを比較することにより把握できる。なお、ステップS13ではプラグインプログラム部品のコピーは行わないが、デジタルミキサ10は必要に応じてタイプIDに基づきコンポーネントデータからプラグインプログラム部品を取得できるので、実質的にはプラグインデータにプラグインプログラム部品が含まれていると考えることもできる。
【0082】
また、ステップS12でNoの場合、処理対象のプラグインデータが示すプラグインは、必要なデータを取得できないためデジタルミキサ10において利用できないことがわかる。この場合、デジタルミキサ10は、処理対象のプラグインデータのタイプIDをUnknownコンポーネントのタイプIDに置き換えて、カレントシーンに追加する(S15)。
【0083】
この処理は、配置位置(処理リソースの割り当て)を維持し、またプラグインIDにより元のプラグインとの対応関係もわかるようにしつつ、配置するプラグインの種類だけUnknownコンポーネントに変更することを意味する。パラメータデータについては、Unknownコンポーネントはそこに含まれるパラメータを使用しないため、削除してしまってもよいが、残しておいても特に支障はない。
【0084】
また、ステップS15の後、デジタルミキサ10はステップS14を実行し、ステップS12でYesの場合と同様に、処理対象のプラグインデータについて設定されたパッチをカレントシーンに反映させる。従って、パッチについても、元のプラグインに関する設定が維持される。
【0085】
全てのプラグインデータについて繰り返し部分の処理が終了すると、デジタルミキサ10は、カレントシーンに従いプラグインプログラム部品のロードを実行する(S16)。すなわち、各プラグインデータ中のタイプIDに従ってプラグインタイプを特定し、コンポーネントデータからそのタイプについてのプラグインプログラム部品を取得して、プラグインデータ中の開始スロット及び最終スロットの情報に基づき、実行する処理タイミングと対応付けて、DSPのメモリに各プラグインプログラム部品を書き込む。
このとき、Unknownコンポーネントのプログラム部品は、開始スロットから最終スロットまでの全スロットに係る処理タイミングについて、同じプログラム部品を書き込めばよい。スルーでもカットでも、音信号に対して同じ処理を繰り返し実行して差し支えないためである。
【0086】
次に、デジタルミキサ10は、カレントシーン中のパッチデータに従いデータ伝送の設定を実行する(S17)。この設定については、Unknownコンポーネントとそれ以外のコンポーネントとで特に変わることはない。
ステップS17までで
図10の処理は終了し、以上の処理により、シーン#nのリコールを実行することができる。
図10の処理は、読出手順の処理であり、この処理において、CPU11は読出部として機能する。
【0087】
以上の処理により、リコールしようとしたシーンにデジタルミキサ10において利用できないプラグインが含まれていたとしても、これを自動的にUnknownコンポーネントに置き換えてリコールすることができる。このため、少なくともプラグイン処理部30がリコール後のカレントシーンに従った信号処理を実行可能な状態は確保できる。
【0088】
また、Unknownコンポーネントが音信号をスルーする機能を持つ場合は、リコールしようとしたシーンのパッチが維持されているため、単にプラグインにより実行しようとした処理がなくなるだけで、音信号が途切れてしまうことはない。一方、Unknownコンポーネントが音信号をカットする機能を持つ場合は、Unknownコンポーネントに置き換えられた箇所では音が途絶えることになる。置き換えられたプラグインがインサートモードの場合には、出力先のchから音信号が出力されなくなるし、センドリターンモードでも、プラグインによる処理後の、例えばエフェクトがかかった音がなくなる。このため、ユーザは、出力される音の変化を通じて、ミキシング処理部20も含めた信号処理全体のどの部分が実行できていないのか、ということを把握できる。
【0089】
次に、
図11に、シーンのリコールに伴いカレントシーンにUnknownコンポーネントが配置された場合の、プラグイン配置画面200の表示例を示す。
図11の例では、2つのコンポーネントがUnknownコンポーネントに置き換えられており、Unknownアイコン214によりその配置位置が表示されている。配置位置は、置き換え前のプラグインが配置されるはずだった位置と同じである。
また、Unknownアイコン214の箇所ではシーンの作成時に想定していた信号処理が行われないため、Unknownアイコン214の存在及びその位置をユーザに確実に認識させるべく、Unknownアイコン214は強調表示している。
【0090】
なお、カーソル211をUnknownアイコン214の位置に移動させることにより、プラグイン設定部240に、該当のUnknownコンポーネントについて設定されているパッチの接続先を表示させることができる。この接続先は、上述したように、置き換え前のプラグインについて設定されていたものがそのまま維持されている。
また、
図11の例では、プラグイン選択部230においてプラグインが選択されておらず、これに対応して、名称表示部232には「None」と表示され、カーソル211のサイズは1マスである。
ユーザは、
図11のプラグイン配置画面200において、Unknownコンポーネントを削除して、他の利用可能なプラグインに置き換える編集を行うこともできる。
【0091】
〔第2実施形態:
図12〕
次に、この発明の音信号処理装置の第2実施形態について説明する。
第2実施形態は、デジタルミキサ10が、
図10の処理に代えて
図12の処理を実行する点が第1実施形態と異なるのみである。
このため、共通部分については説明を省略するか簡単にし、相違点を中心に説明する。また、第1実施形態と共通又は対応する箇所については、第1実施形態と同じ符号を用いる。これらの点については以下の実施形態も同様とする。
【0092】
第2実施形態のデジタルミキサ10は、リコールボタン303の操作を検出すると、そのとき選択されているシーン番号#nを引数として
図12の処理を開始する。
この
図12の処理は、ステップS15の後でステップS14ではなくステップS21の処理を実行する点が、
図10の処理と異なるのみである。
すなわち、
図12の処理において、デジタルミキサ10は、処理対象のプラグインデータが示すプラグインが利用できない場合、リコールするシーン#nのシーンデータ中の、処理対象のプラグインデータについて設定されたパッチデータに基づき、プラグインに対する信号の入力元から出力先への信号伝送を規定するパッチデータを、カレントシーンに追加する。
【0093】
この伝送は、プラグイン処理部30を介した伝送でよい。例えば、入力元から、Unknownコンポーネントに割り当てるいずれかの処理タイミングと対応するアドレスに信号を伝送するパッチと、同じアドレスから出力先へ信号を伝送するパッチとを設定することが考えられる。
【0094】
以上によっても、第1実施形態においてUnknownコンポーネントが音信号をスルーする場合と同様な効果を得ることができる。また、第2実施形態においては、Unknownコンポーネントが、スルーも含めて何ら信号処理を行う必要がないので、Unknownコンポーネントと対応するプログラム部品が用意されていなくてもよい。ただし、第2実施形態では、利用できなかったプラグインに関するパッチのデータそのものはカレントシーンにおいて維持されない。これらによる利害得失を考慮して、第2実施形態の採否を決定するとよい。
【0095】
〔第3実施形態:
図13〕
次に、この発明の音信号処理装置の第3実施形態について説明する。
第3実施形態は、デジタルミキサ10が、
図10の処理に代えて
図13の処理を実行する点が第1実施形態と異なる。また、これに対応して、コンポーネントデータ中に、音信号をスルーする機能を持つもの(第1未知コンポーネント情報)と、音信号をカットする機能を持つもの(第2未知コンポーネント情報)との、2種類のUnknownコンポーネントのデータが用意されている。
【0096】
また、
図13の処理は、ステップS12でNoの場合にステップS31乃至S33の処理を実行する点が、
図10の処理と異なるのみである。
すなわち、
図13の処理において、デジタルミキサ10は、処理対象のプラグインデータが示すプラグインが利用できない場合、処理対象のプラグインデータに含まれる動作モードが、インサートモードか否か判断する(S31)。そして、これがYesであれば、デジタルミキサ10は、処理対象のプラグインデータのタイプIDをスルーのUnknownコンポーネントのタイプIDに置き換えて、カレントシーンに追加する(S32)。Noであれば、タイプIDをカットのUnknownコンポーネントのものに置き換えてカレントシーンに追加する(S33)。いずれの場合も、その後ステップS14に進む。
【0097】
以上の処理によれば、利用できないプラグインがインサートモードの場合にはスルーのUnknownコンポーネントに、それ以外の、例えばセンドリターンモードの場合にはカットのUnknownコンポーネントに置き換えることができる。
インサートモードでは、プラグインを通さないと音信号が下流に流れないため、所望のエフェクトはかからなくても音を最低限出力する、という観点からは、スルーをすることが望ましい。一方、センドリターンモードでは、スルーをせずカットしても、プラグインを通さない、いわゆるドライの音信号が下流に流れ、エフェクトのかかったいわゆるウェットの音信号が消えるだけである。したがって、エフェクトがかからないならプラグイン処理部30からミキシング処理部20へ信号を戻す必要がない。このため、信号をカットして何ら問題ない。
このように、
図13の処理によれば、プラグインに設定されたモードに適したUnknownオブジェクトを自動的に選択して配置することができる。
【0098】
〔第4実施形態:
図14〕
次に、この発明の音信号処理装置の第4実施形態について説明する。
第4実施形態は、デジタルミキサ10が、
図13の処理に代えて
図14の処理を実行する点が第3実施形態と異なるのみである。
また、
図14の処理は、ステップS31に代えてステップSAの処理を実行する点が、
図13の処理と異なるのみである。
【0099】
すなわち、
図14の処理において、デジタルミキサ10は、処理対象のプラグインデータが示すプラグインが利用できない場合、Unknownコンポーネントとしてスルーとカットのどちらのコンポーネントを使用することが設定されているかに応じて、利用できないプラグインを、設置に応じたUnknownコンポーネントに置き換える。この設定は、予めユーザから受け付けておいたものを一律に適用しても、利用できないプラグインが発見される度にそのプラグインのみに関する設定を受け付けて適用してもよい。
【0100】
以上の処理によれば、ユーザの好みに応じて、利用できないプラグインをスルー又はカットのUnknownコンポーネントに置き換え、第1実施形態の場合と同様な効果を得ることができる。
【0101】
〔第5実施形態:
図15〕
次に、この発明の音信号処理装置の第5実施形態について説明する。
第5実施形態は、デジタルミキサ10が、
図10の処理に代えて
図15の処理を実行する点が第1実施形態と異なるのみである。
また、
図15の処理は、ステップS15に代えてステップSBの処理を実行する点が、
図10の処理と異なるのみである。
【0102】
すなわち、
図15の処理において、デジタルミキサ10は、処理対象のプラグインデータが示すプラグインが利用できない場合、処理対象のプラグインデータのタイプIDを、予め設定された規則に従って選択された代替のプラグインタイプのタイプIDに置き換えて、カレントシーンに追加する(SB)。
例えば、利用できないプラグインのタイプを、その名称等によりある程度把握できる場合、少しバージョンが古い概ね同機能のプラグインであれば利用可能、といった判断が可能であることも考えられる。ステップSBでは、このような規則で代替のプラグインタイプを選択することが考えられる。また、ユーザが一律にあるいはプラグインのタイプごとに、代替のプラグインタイプを任意に設定することも考えられる。代替のプラグインタイプにUnknownコンポーネントが含まれていてよいことはもちろんである。また、予め設定された規則に従って適切な代替のプラグインを決定できない場合に、Unknownコンポーネントに置き換えるようにしてもよい。
【0103】
以上の処理によれば、利用できないプラグインを、ユーザの好みに応じて別の利用可能なプラグインに置き換えてシーンをリコールすることができる。
【0104】
〔変形例〕
以上で実施形態の説明を終了するが、装置の構成、データの構成、画面の表示形式や表示内容、コンポーネントの種類、具体的な処理の手順などが、上述の実施形態で説明したものに限られないことはもちろんである。
例えば、信号処理を行うハードウェアが、ミキシング処理部20とプラグイン処理部30に分かれていることは必須ではない。コンポーネントに、ミキシング処理部20の処理リソースを割り当ててもよい。また、割り当てる処理リソースも、処理タイミングに限られず、レジスタやメモリも割り当ての対象であってもよい。また、プラグイン処理部30の構成や、プラグイン処理部30を用いた信号処理の実行態様も、
図3乃至
図5を用いて説明したものに限られない。
【0105】
また、上述した実施形態では、DSPの処理リソースを割り当てるコンポーネントが、1入力1出力のプラグインコンポーネントである例について説明したが、これに限られることはない。
まず、コンポーネントが、複数入力複数出力のものであってもよい。ただし、入力と出力の数が等しく、また、コンポーネントが行う信号処理において、各入力信号が混合されないものとする。このような複数入力複数出力のコンポーネントは、上述した各実施形態の場合と同様に、パッチ及び配置位置を変更せずに、スルーあるいはカットのUnknownコンポーネントに置き換え可能である。
また、入力と出力の数が異なっていたり、ミキサのように、コンポーネントが行う信号処理において、全部又は一部の各入力信号が混合されたりする場合でも、パッチ及び配置位置を変更せずに、カットのUnknownコンポーネントに置き換えることは可能である。
また、コンポーネントの用途はプラグインには限られない。
【0106】
また、上述した実施形態では、Unknownコンポーネントの例として、スルーの機能を持つものとカットの機能をもつものについて説明した。しかし、他の機能を持つUnknownコンポーネントを用いてもよい。また、何の処理もしないUnknownコンポーネントを用いてもよい。何の処理もしないUnknownコンポーネントのプラグインプログラム部品は不要であり、何の処理もしないUnknownコンポーネントに割り当てられた処理タイミングで実行すべきプログラムはない、という状態でよい。ただ、Unknownコンポーネントが何の処理もしない場合、配置時点でDSPメモリに残っている音データが出力側のパッチ先にそのまま出力され続けることが考えられる。これを避けるため、何の処理もしないUnknownコンポーネントに処理タイミングを割り当てる際には、最後の処理タイミングと対応する出力アドレスをクリアしておくとよい。
【0107】
また、以上説明したデジタルミキサ10の機能は、汎用コンピュータに所要のプログラムを実行させることによっても実現可能である。この場合、音信号を入出力するための入出力装置と、DSPを備えた信号処理用増設カードとをそのコンピュータに接続するとよい。また、デジタルミキサ10の機能を、複数の装置に分散して設け、それらを協働させて、デジタルミキサ10と同等な機能を備えるシステムとして動作させることもできる。
【0108】
また、上記のプログラムは、はじめからコンピュータに備えるROMや他の不揮発性記憶媒体(フラッシュメモリ,EEPROM等)などに格納しておいてもよい。しかし、メモリカード、CD、DVD、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、必要な処理をコンピュータに実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
【0109】
また、この発明は、デジタルミキサ以外にも、プロセッサの処理リソースを、プラグインのような仮想的な信号処理コンポーネントに割り当てて、その割り当てた処理リソースを用いて各コンポーネントに関する信号処理を実行する任意の音信号処理装置に対して適用可能である。例えば、マイク、エフェクタ、レコーダ、アンプ、スピーカー、シンセサイザ等に適用できる。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。逆に、上述した各実施形態に含まれる構成を全て同時に実施する必要もない。