(57)【要約】【課題】  本発明は、信号処理モジュールの入出力ピン数に拘わらず複数チャンネルの信号処理を行い得るようにする。【解決手段】  ＣＰＵ２は、信号処理アプリケーションプログラム３４により仮想プラグインＶＰの仮想入力ピンＶｉ及び仮想出力ピンＶｏをそれぞれユーザに指定されたエフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏに割り当て、エフェクトプラグインＥＰの適用順序に応じてグラフＧＲ内に各仮想プラグインＶＰを配置し、仮想ピン接続処理により各仮想出力ピンＶｏと各仮想入力ピンＶｉとを接続することにより、元のオーディオ信号ＳＡのチャンネル数とエフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏの数とが一致していなかったとしても、当該元のオーディオ信号ＳＡに対して複数のエフェクトプラグインＥＰにより順次エフェクトを適用してエフェクトオーディオ信号ＳＡＥを生成することができる。【選択図】        図５
2006352578.tif 000002
【特許請求の範囲】
【請求項１】
ｋ個（ｋは２以上の整数）の入力端子に入力されたｋチャンネルの入力信号に対してそれぞれ信号処理を施した後、ｋ個の出力端子から出力する信号処理装置であって、
上記ｋ個の入力端子にそれぞれ接続されたｋ個の仮想入力ピンと上記ｋ個の出力端子にそれぞれ接続されたｋ個の仮想出力ピンとを有する仮想入出力モジュールと、
上記仮想入出力モジュールの内部に格納され、ｋ個未満の入力ピンを介して入力された上記入力信号に対して信号処理を施すことにより生成した出力信号をｋ個未満の出力ピンから出力する信号処理モジュールと、
上記ｋチャンネルの入力信号に対してあたかも上記信号処理モジュールにより上記信号処理が施されたように見せかけるため、上記ｋ個の仮想入力ピンにそれぞれ入力された上記ｋチャンネルの入力信号の一部を上記ｋ個未満の入力ピンに割り当て、上記信号処理モジュールにより生成され上記ｋ個未満の出力ピンから出力された上記出力信号を上記仮想出力ピンに対してそれぞれ割り当てると共に、上記ｋチャンネルの入力信号の残りを上記仮想出力ピンに直接割り当てる割当制御手段と
を具えることを特徴とする信号処理装置。
【請求項２】
上記信号処理装置は、
上記ｋチャンネルの入力信号に対して順次信号処理を施すＭ段（Ｍは２以上の整数）の上記仮想入出力モジュールと、
上記仮想入出力モジュールの内部にそれぞれ格納されたＭ段の信号処理モジュールと、
上記仮想入出力モジュールの仮想出力ピンと他の仮想入出力モジュールの仮想入力ピンとを接続する接続制御手段と
を具え、
上記接続制御手段は、
上記ｋ個の入力端子と初段の上記仮想入出力モジュールにおける上記ｋ個の仮想入力ピンとをそれぞれ接続し、（ｎ−１）段目（ｎは２≦ｎ≦Ｍを満たす整数）の上記仮想入出力モジュールにおける上記ｋ個の仮想出力ピンとｎ段目の上記仮想入出力モジュールにおける上記ｋ個の仮想入力ピンとをそれぞれ接続し、Ｍ段目の上記仮想入出力モジュールにおける上記仮想出力ピンと上記出力端子とをそれぞれ接続し、
上記割当制御手段は、
上記ｋチャンネルの入力信号に対してあたかも上記Ｍ段の信号処理モジュールにより順次上記信号処理が施されたように見せかけるため、上記Ｍ段の仮想入出力モジュールそれぞれにおいて、上記ｋ個の仮想入力ピンにそれぞれ入力された上記ｋチャンネルの入力信号の一部を上記ｋ個未満の入力ピンに割り当て、上記信号処理モジュールにより生成され上記ｋ個未満の出力ピンから出力された上記出力信号を上記仮想出力ピンに対してそれぞれ割り当てると共に、上記ｋチャンネルの入力信号の残りを上記仮想出力ピンに直接割り当てる
ことを特徴とする請求項１に記載の信号処理装置。
【請求項３】
上記接続手段は、
上記ｋチャンネルの各チャンネルにおいて、（ｎ−１）段目の上記仮想入出力モジュールにおいて上記仮想出力ピンに上記信号処理モジュールの上記出力ピンが割り当てられ、且つｎ段目の仮想入出力モジュールにおいて上記仮想入力ピンに対して上記信号処理モジュールの上記入力ピンが割り当てられている場合のみ、当該仮想出力ピンと当該仮想入力ピンとをそれぞれ接続する隣接仮想ピン接続手段と、
上記ｋチャンネルの各チャンネルにおいて、ｎ段目の上記仮想入出力モジュールにおける上記仮想入力ピンのうち上記信号処理モジュールの上記入力ピンが割り当てられ且つ他の仮想出力ピンに未接続の上記仮想入力ピンと、ｑ段目（ｑは１≦ｑ≦（ｎ−１）を満たす整数）の上記仮想入出力モジュールにおける上記仮想出力ピンのうち上記信号処理モジュールの上記出力ピンが割り当てられ且つ他の仮想入力ピンに未接続でありさらに上記ｑが１≦ｑ≦（ｎ−１）の範囲で最大となるような上記仮想出力ピンとをそれぞれ接続する離隔仮想ピン接続手段と
を具えることを特徴とする請求項２に記載の信号処理装置。
【請求項４】
上記接続手段は、
上記入力端子を便宜的に０段目の上記仮想入出力モジュールにおいて上記仮想処理モジュールの上記出力ピンが割り当てられた仮想出力ピンとみなすと共に上記出力端子を便宜的に（Ｍ＋１）段目の上記仮想入出力モジュールにおいて上記信号処理モジュールの上記入力ピンが割り当てられた仮想入力ピンとみなし、上記ｎの範囲を１≦ｎ≦（Ｍ＋１）とすると共に上記ｑの範囲を０≦ｑ≦ｎとする
ことを特徴とする請求項３に記載の信号処理装置。
【請求項５】
上記割当手段は、
上記信号処理モジュールの上記入力ピンが割り当てられた上記仮想入力ピンのうちユーザに指定された上記仮想入力ピンを不使用状態に切り換え、
上記接続手段は、
上記チャンネル毎に、上記不使用状態に切り換えられた上記仮想入力ピンを除外し、上記信号処理モジュールの上記出力ピンが割り当てられた上記仮想出力ピンと上記信号処理モジュールの上記入力ピンが割り当てられた上記仮想入力ピンとをそれぞれ接続する
ことを特徴とする請求項３に記載の信号処理装置。
【請求項６】
上記割当手段は、
上記信号処理モジュールの上記出力ピンが割り当てられた上記仮想出力ピンのうちユーザに指定された上記仮想出力ピンを不使用状態に切り換え、
上記接続手段は、
上記チャンネル毎に、上記不使用状態に切り換えられた上記仮想出力ピンを除外し、上記信号処理モジュールの上記出力ピンが割り当てられた上記仮想出力ピンと上記信号処理モジュールの上記入力ピンが割り当てられた上記仮想入力ピンとをそれぞれ接続する
ことを特徴とする請求項３に記載の信号処理装置。
【請求項７】
上記割当手段は、
上記仮想入力ピンに入力された上記入力信号を上記信号処理モジュールにおけるユーザの指示に基づいた入力ピンにそれぞれ割り当てる
ことを特徴とする請求項１に記載の信号処理装置。
【請求項８】
上記割当手段は、
上記信号処理モジュールの上記出力ピンから出力された上記出力信号をユーザの指示に基づいた上記仮想出力ピンにそれぞれ割り当てる
ことを特徴とする請求項１に記載の信号処理装置。
【請求項９】
ｋ個（ｋは２以上の整数）の入力端子に入力されたｋチャンネルの入力信号に対してそれぞれ信号処理を施した後、ｋ個の出力端子から出力する信号処理装置の信号処理方法であって、
上記ｋ個の入力端子と仮想入出力モジュールにおけるｋ個の仮想入力ピンとをそれぞれ接続すると共に上記ｋ個の出力端子と当該仮想入出力モジュールにおけるｋ個の仮想出力ピンとそれぞれ接続する仮想入出力モジュール接続ステップと、
上記ｋチャンネルの入力信号に対してあたかも上記信号処理モジュールにより上記信号処理が施されたように見せかけるため、上記ｋ個の仮想入力ピンにそれぞれ入力された上記ｋチャンネルの入力信号の一部を上記ｋ個未満の入力ピンに割り当てる入力割当制御ステップと、
上記仮想入出力モジュールの内部に格納された信号処理モジュールにより、ｋ個未満の入力ピンを介して入力された上記入力信号に対して信号処理を施すことにより生成した出力信号をｋ個未満の出力ピンから出力する信号処理ステップと、
上記信号処理モジュールにより生成され上記ｋ個未満の出力ピンから出力された上記出力信号を上記仮想出力ピンに対してそれぞれ割り当てると共に、上記ｋチャンネルの入力信号の残りを上記仮想出力ピンに直接割り当てる出力割当制御ステップと
を具えることを特徴とする信号処理方法。
【請求項１０】
ｋ個（ｋは２以上の整数）の入力端子に入力されたｋチャンネルの入力信号に対してそれぞれ信号処理を施した後、ｋ個の出力端子から出力する信号処理装置に対して、
上記ｋ個の入力端子と仮想入出力モジュールにおけるｋ個の仮想入力ピンとをそれぞれ接続すると共に上記ｋ個の出力端子と当該仮想入出力モジュールにおけるｋ個の仮想出力ピンとそれぞれ接続する仮想入出力モジュール接続ステップと、
上記ｋチャンネルの入力信号に対してあたかも上記信号処理モジュールにより上記信号処理が施されたように見せかけるため、上記ｋ個の仮想入力ピンにそれぞれ入力された上記ｋチャンネルの入力信号の一部を上記ｋ個未満の入力ピンに割り当てる入力割当制御ステップと、
上記仮想入出力モジュールの内部に格納された信号処理モジュールにより、ｋ個未満の入力ピンを介して入力された上記入力信号に対して信号処理を施すことにより生成した出力信号をｋ個未満の出力ピンから出力する信号処理ステップと、
上記信号処理モジュールにより生成され上記ｋ個未満の出力ピンから出力された上記出力信号を上記仮想出力ピンに対してそれぞれ割り当てると共に、上記ｋチャンネルの入力信号の残りを上記仮想出力ピンに直接割り当てる出力割当制御ステップと
を実行させることを特徴とする信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は信号処理装置、信号処理方法及び信号処理プログラムに関し、例えばオーディオ信号に対してエフェクトをかけるパーソナルコンピュータに適用して好適なものである。
【背景技術】
【０００２】
近年、パーソナルコンピュータにおいては、処理能力の向上等に伴い、オーディオを再生してユーザに聴取させ得るようになされたものが普及しつつある。
【０００３】
例えばパーソナルコンピュータは、ハードディスクドライブに予め格納されているオーディオデータを再生することによりオーディオ信号を生成し、これをスピーカへ出力することによりオーディオをユーザに聴取させることができる。
【０００４】
またパーソナルコンピュータの中には、オーディオデータをそのまま再生するのみでなく、例えばオーディオデータを再生したオーディオ信号に対して低域成分を強調するといった、いわゆるエフェクトを当該オーディオ信号に適用し得るようになされたものがある。
【０００５】
実際上パーソナルコンピュータは、オーディオデータを再生するオーディオ再生プログラムに実装されたエフェクト機能を用いて音質を調整する他、例えば当該オーディオ再生プログラムによりオーディオデータを再生して生成した２チャンネルのオーディオ信号に対して、別途信号処理アプリケーションプログラムによりエフェクトを施すようになされたものも提案されている（例えば、本願出願人による先の出願：特願２００４−１３４１８８参照）。
【０００６】
この場合パーソナルコンピュータは、信号処理アプリケーションプログラムにおいて、エフェクト処理機能のみが予めプログラム化されたエフェクトプラグインを組み合わせてオーディオ信号に対してエフェクトを施すようになされており、当該エフェクトプラグインをユーザに選択させることにより、オーディオ信号に対して当該ユーザの所望するエフェクトを施すことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところでかかる構成のパーソナルコンピュータにおいては、例えば所定のＤＶＤ（Digital Versatile Disc）ビデオ再生プログラムを実行することにより、５．１チャンネルサラウンド等の多チャンネルオーディオが収録された映画を再生できるようになされたものもある。
【０００８】
ここで、上述した信号処理アプリケーションプログラムは２チャンネルステレオのオーディオ信号に対して各種エフェクトを施すようになされているが、５．１チャンネルサラウンドのような多チャンネルオーディオに対応するべく、当該信号処理アプリケーションプログラムを多チャンネルのオーディオ信号に対応し得るよう拡張することが考えられる。
【０００９】
しかしながらパーソナルコンピュータは、例えば上述した信号処理アプリケーションプログラムが単純に６チャンネルに拡張された場合、チャンネル数の違いにより従来の２チャンネル用のエフェクトプラグインを利用することができなくなるため、オーディオ信号に対してユーザの所望するエフェクトを適用できない可能性があるという問題があった。
【００１０】
また、例えば従来の２チャンネル用のエフェクトプラグインを全て６チャンネル用に改変するといった手法も考えられるが、このような改変作業には手間を要するという問題があった。
【００１１】
本発明は以上の点を考慮してなされたもので、信号処理モジュールの入出力ピン数に拘わらず複数チャンネルの信号処理を行い得る信号処理装置、信号処理方法及び信号処理プログラムを提案しようとするものである。
【課題を解決するための手段】
【００１２】
かかる課題を解決するため本発明においては、ｋ個（ｋは２以上の整数）の入力端子に入力されたｋチャンネルの入力信号に対してそれぞれ信号処理を施した後、ｋ個の出力端子から出力する際に、ｋ個の入力端子にそれぞれ接続されたｋ個の仮想入力ピンとｋ個の出力端子にそれぞれ接続されたｋ個の仮想出力ピンとを有する仮想入出力モジュールと、仮想入出力モジュールの内部に格納され、ｋ個未満の入力ピンを介して入力された入力信号に対して信号処理を施すことにより生成した出力信号をｋ個未満の出力ピンから出力する信号処理モジュールとを用いて、ｋチャンネルの入力信号に対してあたかも信号処理モジュールにより信号処理が施されたように見せかけるため、ｋ個の仮想入力ピンにそれぞれ入力されたｋチャンネルの入力信号の一部をｋ個未満の入力ピンに割り当て、信号処理モジュールにより生成されｋ個未満の出力ピンから出力された出力信号を仮想出力ピンに対してそれぞれ割り当てると共に、ｋチャンネルの入力信号の残りを仮想出力ピンに直接割り当てるようにした。
【００１３】
仮想入出力モジュールの仮想入力ピンから入力信号のチャンネルを割り当て直して信号処理モジュールの各入力ピンに供給すると共に、信号処理モジュールの各出力ピンから出力された出力信号のチャンネルを出力端子に割り当て直すことができるので、入力信号のチャンネル数、信号処理モジュールの入力ピン数及び出力ピン数が一致しない場合であっても、当該入力信号に対して当該信号処理モジュールによる信号処理を施したように見せかけることができる。
【発明の効果】
【００１４】
本発明によれば、仮想入出力モジュールの仮想入力ピンから入力信号のチャンネルを割り当て直して信号処理モジュールの各入力ピンに供給すると共に、信号処理モジュールの各出力ピンから出力された出力信号のチャンネルを出力端子に割り当て直すことにより入力信号のチャンネル数、信号処理モジュールの入力ピン数及び出力ピン数が一致しない場合であっても、当該入力信号に対して当該信号処理モジュールによる信号処理を施したように見せかけることができ、かくして信号処理モジュールの入出力ピン数に拘わらず複数チャンネルの信号処理を行い得る信号処理装置、信号処理方法及び信号処理プログラムを実現できる。
【発明を実施するための最良の形態】
【００１５】
以下、図面について、本発明の一実施の形態を詳述する。
【００１６】
（１）信号処理装置の構成
（１−１）パーソナルコンピュータの構成
図１においてパーソナルコンピュータ１は、予めハードディスクドライブ７に格納されたオーディオデータやネットワークインタフェース８を介して取得したオーディオデータ等を再生することによりオーディオ信号を生成し、当該オーディオ信号に基づいたオーディオをスピーカ１４から出力することにより、当該オーディオを当該ユーザに聴取させるようになされている。
【００１７】
パーソナルコンピュータ１は、ＣＰＵ（Central Processing Unit）２により全体を統括制御しており、電源が投入されると、バス３を介して接続されたＲＯＭ（Read Only Memory）４から読み出した基本プログラム等をＲＡＭ（Random Access Memory）５に展開して実行するようになされている。
【００１８】
続いてＣＰＵ２は、入出力インタフェース６を介して接続されたハードディスクドライブ（ＨＤＤ）７からＯＳ（Operating System）や信号処理アプリケーションプログラム等の各種アプリケーションプログラムを読み出してＲＡＭ５に展開して実行することにより、当該ＯＳや各種アプリケーションプログラム等を起動するようになされている。
【００１９】
キーボード９及びマウス１０は、ユーザの操作指示に応じた操作信号を生成し、入出力インタフェース６を介して当該操作信号をＣＰＵ２へ送出する。これに応じてＣＰＵ２は、当該操作信号に応じた処理を実行し、その実行結果等に応じて生成した表示データをビデオインタフェース１１へ送出することにより、当該表示データに基づいた表示内容をモニタ１２に表示させるようになされている。
【００２０】
ネットワークインタフェース８は、図示しないネットワークを介した通信処理を行うようになされており、例えばＣＰＵ２からの命令に基づき図示しないサーバに対してオーディオデータの要求を送信し、当該サーバから当該要求に応じたオーディオデータを受信して当該ＣＰＵ２へ送出するようになされている。
【００２１】
またＣＰＵ２は、ユーザの操作指示に基づいてオーディオデータ再生プログラム等を実行し、当該ユーザに指示されたオーディオデータを再生することによりオーディオ信号を生成する。続いてＣＰＵ２は、当該オーディオ信号をオーディオインタフェース１３へ送出することにより、当該オーディオ信号に基づいたオーディオをスピーカ１４から出力してユーザに聴取させるようになされている。
【００２２】
ここで、パーソナルコンピュータ１におけるキーボード９、マウス１０、ビデオインタフェース１１及びオーディオインタフェース１３等でなるハードウェア２１とＣＰＵ２により実行可能なソフトウェアスタックとの関係を図２に示す。
【００２３】
この図２において、ＢＩＯＳ（Basic Input/Output System）２２は、ＯＳ２４やアプリケーションプログラム２６等の各種プログラムがハードウェア２１へアクセスするための機能を提供するようになされている。
【００２４】
ドライバ２３は、ＯＳ２４やアプリケーションプログラム２６等の各種プログラムからハードウェア２１を動作させる機能を提供しており、例えばＯＳ２６によりマウス１０を認識してユーザの操作に基づいた操作信号を受け付けるためのマウスドライバや、オーディオインタフェース１３を動作させるためのオーディオドライバ等でなる。
【００２５】
ＯＳ２４は、パーソナルコンピュータ１の基本的な動作を制御しており、例えばアプリケーションプログラム２６から発行された命令をドライバ２３やＢＩＯＳ２２へ伝えるようになされている。またＯＳ２４は、ＧＵＩ（Graphical User Interface）の基本機能を有しており、モニタ１２（図１）に表示した表示内容に対してユーザからキーボード９及びマウス１０を介して入力された操作指示をアプリケーションプログラム２６へ伝えるようになされている。
【００２６】
ＤＬＬ（Dynamic Link Library）２５は、各種アプリケーションプログラム２６の実行に必要な種々の機能を共通の関数としたものであり、あるアプリケーションプログラム２６から呼び出されて所定の処理を実行し、その実行結果を元のアプリケーションプログラム２６へ返すようになされている。
【００２７】
実際上パーソナルコンピュータ１のＣＰＵ２は、オーディオデータを再生してオーディオをユーザに聴取させる際、図３（Ａ）に示すように、各種ソフトウェアを互いに連携させるようになされている。ちなみに、図３（Ａ）はＣＰＵ２がＤｉｒｅｃｔＳｏｕｎｄ出力機能を利用してオーディオデータの再生を行う場合を示している。
【００２８】
ＣＰＵ２は、ユーザの操作に基づいてオーディオデータ再生プログラム３１によりオーディオデータの再生処理を行い、当該オーディオデータに基づいたオーディオ信号ＳＡを生成してこれをＤｉｒｅｃｔＳｏｕｎｄプログラム３２へ受け渡す。
【００２９】
ＤｉｒｅｃｔＳｏｕｎｄプログラム３２は、オーディオ信号ＳＡに対してオーディインタフェース１３（図１）に適した信号形式に変換する変換処理を施し、変換後のオーディオ信号ＳＡ１をＷＤＭオーディオドライバ３３へ送出する。
【００３０】
ＷＤＭオーディオドライバ３３は、変換後のオーディオ信号ＳＡ１をオーディオインタフェース１３へ送出することにより、オーディオデータに基づいたオーディオをスピーカ１４（図１）から出力させる。
【００３１】
ところでパーソナルコンピュータ１のＣＰＵ２は、オーディオデータを再生したオーディオ信号ＳＡをそのまま出力するだけでなく、当該オーディオ信号ＳＡに対して例えば低域成分の強調やステレオからサラウンドへの拡張といった各種エフェクトを適用し得るようになされている。
【００３２】
この場合ＣＰＵ２は、図３（Ａ）と対応した図３（Ｂ）に示すように、まずユーザの操作により信号処理アプリケーションプログラム３４を起動させる。これに応じて当該信号処理アプリケーションプログラム３４は、ＳｏｎｙＡＩｗｄ．ｄｌｌ３５を呼び出す。
【００３３】
ＳｏｎｙＡＩｗｄ．ｄｌｌ３５は、オーディオデータ再生プログラム３１等の他のアプリケーションプログラムの起動及び動作を監視するようになされており、オーディオデータ再生プログラム３１からＤｉｒｅｃｔＳｏｕｎｄプログラム３２が呼び出されたことを検出すると、当該オーディオデータ再生プログラム３１においてオーディオデータを基に生成され当該ＤｉｒｅｃｔＳｏｕｎｄプログラム３２へ受け渡すべきオーディオ信号ＳＡをフックしてＳｏｎｙＡＩｄｓ．ｄｌｌ３６へ受け渡す。
【００３４】
ＳｏｎｙＡＩｄｓ．ｄｌｌ３６は、オーディオ信号ＳＡを信号処理アプリケーションプログラム３４へ受け渡すことにより、当該信号処理アプリケーションプログラム３４により当該オーディオ信号ＳＡに対してエフェクト処理を適用させ、エフェクト適用後のオーディオ信号（以下、これをエフェクトオーディオ信号ＳＡＥと呼ぶ）を受け取ってＤｉｒｅｃｔＳｏｕｎｄプログラム３２へ受け渡す。
【００３５】
その後ＤｉｒｅｃｔＳｏｕｎｄプログラム３２は、エフェクトオーディオ信号ＳＡＥをＷＤＭオーディオドライバ３３へ送出することにより、当該エフェクトオーディオ信号ＳＡＥをオーディオインタフェース１３へ送出させ、エフェクトが適用されたオーディオをスピーカ１４（図１）から出力させる。
【００３６】
このようにパーソナルコンピュータ１は、オーディオデータ再生プログラム３１によって再生されたオーディオ信号に対して、信号処理アプリケーションプログラム３４によってエフェクトを適用することにより、エフェクトが適用されたオーディオをユーザに聴取させ得るようになされている。
【００３７】
（２）仮想プラグイン及びグラフの構成
（２−１）仮想プラグイン
ところでＣＰＵ２は、信号処理アプリケーションプログラム３４において、オーディオ信号に対して信号処理を施す基本的なソフトウェアであるエフェクトプラグインＥＰを利用することにより、元のオーディオ信号に対してエフェクトを適用するようになされている。
【００３８】
実際上エフェクトプラグインＥＰとしては、例えば２チャンネルのオーディオ信号に対して低域成分を強調し２チャンネルのオーディオ信号を生成するベース強調プラグイン、２チャンネルのオーディオ信号を５．１チャンネル（すなわち合計６チャンネル）に拡張するサラウンド拡張プラグイン、及び５．１チャンネルのオーディオ信号を２チャンネルに変換する疑似サラウンドプラグイン等がある。
【００３９】
このエフェクトプラグインＥＰは、図４に示すように、オーディオ信号の供給を受けるｉ個の入力ピンＰｉ１〜Ｐｉ（ｉ−１）とエフェクト適用後のオーディオ信号を出力するｊ個の出力ピンＰｏ１〜Ｐｏ（ｊ−１）とを有する信号処理回路として模式的に表すことができる。ここで各入力ピンＰｉ及び各出力ピンＰｏは、それぞれ１チャンネルのオーディオ信号に対応しており、またそれぞれチャンネル番号が設定されている。
【００４０】
ところでＣＰＵ２は、信号処理アプリケーションプログラム３４において複数チャンネル（例えば６チャンネル）のオーディオ信号に対してエフェクトを適用するようになされているが、上述したように実際のエフェクトプラグインＥＰにおける入力チャンネル数及び各出力チャンネル数は様々であるため、当該信号処理アプリケーションプログラム３４のチャンネル数が各エフェクトプラグインＥＰにおける入力ピンＰｉの数及び各出力ピンＰｏの数と一致しない可能性がある。
【００４１】
そこでＣＰＵ２は、図５（Ａ）に示すように、信号処理アプリケーションプログラム３４においてエフェクトプラグインＥＰと対応付けて仮想プラグインＶＰを用いるようになされている。この仮想プラグインＶＰは、ｋ個（ただしｋは信号処理アプリケーションプログラム３４におけるチャンネル数）の仮想入力ピンＶｉ０〜Ｖｉ（ｋ−１）とｋ個の仮想出力ピンＶｏ０〜Ｖｏ（ｋ−１）とを有しており、エフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏと同様、各仮想入力ピンＶｉ及び各仮想出力ピンＶｏにはそれぞれチャンネル番号が設定されている。
【００４２】
ＣＰＵ２は、仮想プラグインＶＰにエフェクトプラグインＥＰが対応付けられた直後の初期状態として、チャンネル番号を合わせて仮想入力ピンＶｉにエフェクトプラグインの入力ピンＰｉを割り当て、またチャンネル番号を合わせて仮想出力ピンＶｏにエフェクトプラグインの出力ピンＰｏを割り当てるようになされている（以下、このような割当を標準割当と呼ぶ）。
【００４３】
またＣＰＵ２は、仮想プラグインＶＰの各仮想入力ピンＶｉ及び各仮想出力ピンＶｏをオン状態（ＯＮ）、オフ状態（ＯＦＦ）若しくは不使用状態（Ｄｉｓａｂｌｅ）のいずれかに切り換えるようになされている。
【００４４】
実際上ＣＰＵ２は、仮想プラグインＶＰの初期状態において、エフェクトプラグインＥＰの入力ピンＰｉが割り当てられた仮想入力ピンＶｉ及びエフェクトプラグインＥＰの出力ピンＰｏが割り当てられた仮想出力ピンＶｏを全てオン状態とし、またエフェクトプラグインＥＰの入力ピンＰｉが割り当てられなかった仮想入力ピンＶｉ及びエフェクトプラグインＥＰの出力ピンＰｏが割り当てられなかった仮想出力ピンＶｏを全て不使用状態とする。
【００４５】
かかる構成に加えてＣＰＵ２は、図５（Ｂ）に示すように、各仮想入力ピンＶｉに対する各エフェクトプラグインＥＰの入力ピンＰｉの割当を自在に変更できるようになされており、これにより各仮想入力ピンＶｉに供給された各チャンネルのオーディオ信号をエフェクトプラグインＥＰにおける任意のチャンネルに供給することができる。
【００４６】
同様にＣＰＵ２は、各仮想出力ピンＶｉに対する各エフェクトプラグインＥＰの出力ピンＰｉの割当を自在に変更できるようになされており、これによりエフェクトプラグインＥＰの各出力ピンＰｏから出力された各チャンネルのオーディオ信号を任意のチャンネルの仮想出力ピンＶｏから出力させることができる。
【００４７】
またＣＰＵ２は、例えば仮想出力ピンＶｏ２のようにオン状態の仮想入力ピンＶｉ又は仮想出力ピンＶｏをオフ状態に切り換え得るようになされている。この場合、あるチャンネルの仮想入力ピンＶｉをオフ状態に切り換えることは、当該チャンネルの仮想入力ピンＶｉに供給されたオーディオ信号をエフェクトプラグインＥＰに供給しないことを意味しており、またあるチャンネルの仮想出力ピンＶｏをオフ状態に切り換えることは、当該エフェクトプラグインＥＰによりエフェクトが適用されたオーディオ信号を仮想出力ピンＶｏから出力しないことを意味している。
【００４８】
このようにＣＰＵ２は、信号処理アプリケーションプログラム３４においてエフェクトプラグインＥＰに対応した仮想プラグインＶＰを用い、チャンネル番号を合わせて仮想入力ピンＶｉにエフェクトプラグインの入力ピンＰｉを割り当て、またチャンネル番号を合わせて仮想出力ピンＶｏにエフェクトプラグインの出力ピンＰｏを割り当てることにより、当該信号処理アプリケーションプログラム３４のチャンネル数ｋと当該エフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏとの違いを吸収できるようにし、また当該エフェクトプラグインＥＰに供給するオーディオ信号のチャンネル及び当該エフェクトプラグインＥＰから出力するオーディオ信号のチャンネルをそれぞれ自在に変更し得るようになされている。
【００４９】
（２−２）グラフ
ところでＣＰＵ２は、信号処理アプリケーションプログラム３４において、オーディオ信号に対して１つのエフェクトプラグインＥＰのみでなく、複数のエフェクトプラグインＥＰによる複数のエフェクトを順次適用できるようになされている。
【００５０】
実際上ＣＰＵ２は、図６に示すように、信号処理アプリケーションプログラム３４において複数の仮想プラグインＶＰを直列に配置したグラフＧＲを用いるようになされている。このグラフＧＲは、図の上側から下側へ向かって信号処理アプリケーションプログラム３４における全体的な信号の流れを表しており、オーディオデータ再生プログラム３１（図３（Ｂ））からＳｏｎｙＡＩｄｓ．ｄｌｌ３６を介して供給されたオーディオ信号ＳＡがｋチャンネルの入力端子Ｇｉ０〜Ｇｉ（ｋ−１）に入力され、また全エフェクトを適用したエフェクトオーディオ信号ＳＡＥをｋチャンネルの出力端子Ｇｏ０〜Ｇｏ（ｋ−１）から後段へ出力するようになされている。
【００５１】
ちなみにグラフＧＲは、仮想プラグインＶＰ（図５（Ｂ））においてオーディオ信号のチャンネルを入れ換え得るようになされているため、当該オーディオ信号のチャンネルを再度入れ換える必要が無い。このためＣＰＵ２は、グラフＧＲにおいて仮想プラグインＶＰ間でチャンネルを入れ換えずにオーディオ信号を受け渡すようになされている。
【００５２】
またグラフＧＲは、オーディオ信号ＳＡに対して適用するエフェクトプラグインＥＰの数と同数の仮想プラグインＶＰが配置されるようになされている。
【００５３】
ところでＣＰＵ２は、上述したように信号処理アプリケーションプログラム３４において仮想プラグインＶＰの仮想入力ピンＶｉ及び仮想出力ピンＶｏ（以下、これらをまとめて単に仮想ピンと呼ぶ）がオフ状態又は不使用状態となる可能性があるため、グラフＧＲの入力端子Ｇｉから出力端子Ｇｏまでオーディオ信号を受け渡すために、オフ状態や不使用状態のピンを飛ばして当該オーディオ信号を受け渡す必要がある。
【００５４】
このためＣＰＵ２は、グラフＧＲの入力端子Ｇｉと初段の仮想プラグインＶＰの仮想入力ピンＶｉと、又は隣接する仮想プラグインＶＰの仮想出力ピンＶｏと仮想入力ピンＶｉと、あるいは最終段の仮想プラグインＶＰの仮想出力ピンとグラフＧＲの出力端子Ｇｏとを単純に接続するのではなく、各仮想ピン又は各端子の状態に応じて各ピン同士を適切に接続するようになされている。
【００５５】
ここでグラフＧＲのある１チャンネルについて着目し、例えば図７（Ａ）に示すように、４つの仮想プラグインＶＰＡ〜ＶＰＤのうち、仮想プラグインＶＰＢ及びＶＰＣにおいて仮想入力ピンＶｉ及び仮想出力ピンともオン状態であり、仮想プラグインＶＰＡの入力ピンＶｉＡ、仮想出力ピンＶｏＡ及び仮想プラグインＶＰＤの出力ピンＶｏＤがオフ状態であり、仮想プラグインＶＰＤの入力ピンＶｉＤが不使用状態であると仮定する。
【００５６】
この場合ＣＰＵ２は、仮に入力端子Ｇｉと初段の仮想プラグインＶＰＡの仮想入力ピンＶｉＡとを接続したとしても、当該仮想入力ピンＶｉＡがオフ状態であるため、当該入力端子Ｇｉに入力されたオーディオ信号を初段のエフェクトプラグインＥＰに供給しないことになる。
【００５７】
またＣＰＵ２は、仮に初段の仮想プラグインＶＰＡの仮想出力ピンＶｏＡと２段目の仮想プラグインＶＰＢの仮想入力ピンＶｉＢとを接続したとしても、仮想出力ピンＶｏＡがオフ状態であることにより当該仮想出力ピンＶｏＡからオーディオ信号を出力しないため、２段目の仮想プラグインＶＰＢに当該オーディオ信号を受け渡すことができない。
【００５８】
そこでＣＰＵ２は、信号処理アプリケーションプログラム３４においてオフ状態又は不使用状態の仮想入力ピンＶｉ及び仮想出力ピンＶｏを飛ばしてオン状態の仮想入力ピンＶｉ及び仮想出力ピンＶｏを接続するようになされている。
【００５９】
実際上ＣＰＵ２は、第１の接続処理として、入力端子Ｇｉから出力端子Ｇｏへ向かって、隣接する仮想プラグインＶＰの仮想出力ピンＶｏ及び仮想入力ピンＶｉ（この場合、入力端子Ｇｉ及び出力端子Ｇｏをそれぞれ仮想出力ピンＶｏ及び仮想入力ピンＶｉと同等に扱うものとする）が共にオン状態である箇所を検索して接続する。
【００６０】
すなわちＣＰＵ２は、図７（Ｂ）に示すように、全ての仮想プラグインＶＰについて検索した上で、仮想プラグインＶＰＢの仮想出力ピンＶｏＢと仮想プラグインＶＰＣの仮想出力ピンＶｉＣとを接続する。
【００６１】
次にＣＰＵ２は、第２の接続処理として、まず出力端子Ｇｏに着目し、最終段の仮想プラグインＶＰＤから順次上方向（すなわち入力端子Ｇｉ）へ向かってオン状態であり未接続の仮想出力ピンＶｏを検索し、例えば図７（Ｃ）に示すように、検出した仮想出力ピンＶｏＣと出力端子Ｇｏとを接続する。
【００６２】
続いてＣＰＵ２は、再度第２の接続処理として、オン状態にある未接続の仮想入力ピンＶｉのうち最も下段にある仮想入力ピンＶｉ（例えば図７（Ｃ）における仮想入力ピンＶｉＢ）に着目し、当該着目した仮想入力ピンＶｉＢから再度順次上方向へ向かってオン状態であり未接続の仮想出力ピンＶｏ（又は入力端子Ｇｉ）を検索し、例えば図７（Ｃ）に示したように、検出した入力端子Ｇｉと着目した仮想入力ピンＶｉＢとを接続する。
【００６３】
その後ＣＰＵ２は、いずれかの仮想プラグインＶＰにおける仮想入力ピンＶｉと入力端子Ｇｉとを接続するまで第２の接続処理を繰り返す。
【００６４】
このようにＣＰＵ２は、信号処理アプリケーションプログラム３４においてオフ状態又は不使用状態の仮想入力ピンＶｉ及び仮想出力ピンＶｏを飛ばしてオン状態の仮想ピンのみを選択しながら、入力端子Ｇｉから出力端子Ｇｏまでの信号経路を接続するようになされている。なお以下では、このようにグラフＧＲにおいて各仮想ピン同士を接続することを仮想ピン接続処理と呼び、当該仮想ピン接続処理により形成された各仮想ピン間の接続状態をグラフ内接続状態と呼ぶ。
【００６５】
またＣＰＵ２は、上述した入力端子Ｇｉから出力端子Ｇｏまでの信号経路の接続処理を、全てのチャンネルについてそれぞれ実行するようになされている。
【００６６】
この結果ＣＰＵ２は、信号処理アプリケーションプログラム３４により、各チャンネルにおいて、オーディオ信号に対してエフェクトを適用しない（すなわち不要な）仮想プラグインＶＰを飛ばし、オーディオ信号にエフェクトを適用する（すなわち必要な）エフェクトプラグインＥＰの仮想プラグインＶＰのみの間で当該オーディオ信号を順次受け渡していくことができ、元のオーディオ信号に対して適用すべきエフェクトを確実に適用することができる。
【００６７】
（２−３）仮想ピン接続処理
ところでＣＰＵ２は、信号処理アプリケーションプログラム３４において仮想ピン接続処理を行う際、図８に示す隣接仮想ピン接続処理手順ＲＴ１に従って第１の接続処理を行い、また図９に示す離隔仮想ピン接続処理手順ＲＴ２に従って第２の接続処理を行うようになされている。
【００６８】
以下では、隣接仮想ピン接続処理手順ＲＴ１及び離隔仮想ピン接続処理手順ＲＴ２についてそれぞれ説明する。
【００６９】
（２−３−１）隣接仮想ピン接続処理
ＣＰＵ２は、ユーザの操作によりオーディオ信号に対して適用するエフェクトプラグインＥＰが設定されると（詳しくは後述する）、グラフＧＲ内のあるチャンネルを処理対象として、隣接仮想ピン接続処理手順ＲＴ１を開始してステップＳＰ１へ移る。ステップＳＰ１においてＣＰＵ２は、着目すべき仮想プラグインＶＰとして初段の仮想プラグインＶＰを検索対象仮想プラグインとし、次のステップＳＰ２へ移る。
【００７０】
ステップＳＰ２においてＣＰＵ２は、検索対象仮想プラグインの仮想出力ピンＶｏがオン状態であるか否かを判定する。ここで肯定結果が得られると、このときＣＰＵ２は次のステップＳＰ３へ移る。
【００７１】
ステップＳＰ３においてＣＰＵ２は、検索対象仮想プラグインの次段の仮想プラグインＶＰにおける仮想入力ピンＰｉがオン状態であるか否かを判定する。ここで肯定結果が得られると、このことは例えば図７（Ａ）における仮想出力ピンＶｏＢと仮想入力ピンＶｉＣのように、隣接した仮想プラグインの仮想出力ピンＶｏ及び仮想入力ピンＰｉがいずれもオン状態であることを表しており、このときＣＰＵ２は次のステップＳＰ４へ移る。
【００７２】
ステップＳＰ４においてＣＰＵ２は、検索対象仮想プラグインの仮想出力ピンＶｏとその次段の仮想プラグインＶＰの仮想入力ピンＰｉとを接続し、次のステップＳＰ５へ移る。
【００７３】
一方ステップＳＰ２において否定結果が得られると、このことは例えば図７（Ａ）の仮想プラグインＶＰＡが検索対象仮想プラグインである場合のように、検索対象仮想プラグインの仮想出力ピンＶｏがオフ状態又は不使用状態であるために、当該検索対象仮想プラグインの仮想出力ピンＶｏとその次段の仮想プラグインＶＰの仮想入力ピンＶｉとを接続できないことを表しており、このときＣＰＵ２は、検索対象仮想プラグインを変更すべく次のステップＳＰ５へ移る。
【００７４】
またステップＳＰ３において否定結果が得られると、このことは例えば図７（Ａ）の仮想プラグインＶＰＣが検索対象仮想プラグインである場合のように、検索対象仮想プラグインの次段の仮想プラグインＶＰにおける仮想入力ピンＶｉがオフ状態又は不使用状態であるために、当該検索対象仮想プラグインの仮想出力ピンＶｏとその次段の仮想プラグインＶＰの仮想入力ピンＶｉとを接続できないことを表しており、このときＣＰＵ２は、検索対象仮想プラグインを変更すべく次のステップＳＰ５へ移る。
【００７５】
ステップＳＰ５においてＣＰＵ２は、この時点における検索対象仮想プラグインが最終段の仮想プラグインＶＰであるか否かを判定する。ここで否定結果が得られると、このことはまだ全ての仮想プラグインＶＰについて仮想出力ピンＶｏとその次段の仮想プラグインＶＰにおける仮想入力ピンＶｉとの接続の可否を検索し終えていないことを表しており、このときＣＰＵ２は次のステップＳＰ６へ移る。
【００７６】
ステップＳＰ６においてＣＰＵ２は、現時点の検索対象仮想プラグインの次段の仮想プラグインＶＰを新たな検索対象仮想プラグインとし、再度ステップＳＰ２へ移る。
【００７７】
一方ステップＳＰ５において肯定結果が得られると、このことはグラフＧＲ内の全ての仮想プラグインＶＰについて仮想出力ピンＶｏとその次段の仮想プラグインＶＰにおける仮想入力ピンＶｉとの接続の可否を検索し終えたことを表しており、このときＣＰＵ２は次のステップＳＰ７へ移って隣接仮想ピン接続処理手順ＲＴ１を終了する。
【００７８】
（２−３−２）離隔仮想ピン接続処理
ＣＰＵ２は、隣接仮想ピン接続処理手順ＲＴ１を終了すると、引き続き離隔仮想ピン接続処理手順ＲＴ２を開始し、ステップＳＰ１１へ移る。ステップＳＰ１１においてＣＰＵ２は、便宜的にグラフＧＲを最終段の仮想プラグインＶＰの次段の仮想プラグインＶＰとみなすと共に出力端子Ｇｏをその仮想入力ピンＶｉとみなし、当該グラフＧＲを着目すべき検索対象仮想プラグインに設定して、次のステップＳＰ１２へ移る。
【００７９】
ステップＳＰ１２においてＣＰＵ２は、変数ｑを初期化してその値を「１」とし、次のステップＳＰ１３へ移る。
【００８０】
ステップＳＰ１３においてＣＰＵ２は、検索対象仮想プラグインの仮想入力ピンＶｉ（又は出力端子Ｇｏ）が他の仮想プラグインＶＰの仮想出力ピンＶｏ（又は入力端子Ｇｉ）と未接続であるか否かを判定する。ここで否定結果が得られると、このことは当該検索対象仮想プラグインの仮想入力ピンＶｉ（又は出力端子Ｇｏ）が既に他の仮想プラグインＶＰの仮想出力ピンＶｏ（又は入力端子Ｇｉ）と接続されているため、現時点の検索対象仮想プラグインについてこれ以上接続する必要がないことを表しており、このときＣＰＵ２は次のステップＳＰ１９へ移る。
【００８１】
これに対してステップＳＰ１４において肯定結果が得られると、このことは当該検索対象仮想プラグインの仮想入力ピンＶｉを他の仮想プラグインＶＰの仮想出力ピンＶｏと接続するべきであることを表しており、このときＣＰＵ２は次のステップＳＰ１５へ移る。
【００８２】
ステップＳＰ１５においてＣＰＵ２は、検索対象仮想プラグインのｑ段前の仮想プラグインＶＰを接続候補仮想プラグインとした上で、当該接続候補仮想プラグインの仮想出力ピンＶｏがオン状態であるか否かを判定する。ちなみにＣＰＵ２は、検索対象仮想プラグインの（ｑ−１）段前の仮想プラグインＶＰが初段の仮想プラグインＶＰである場合、便宜的にグラフＧＲを初段の仮想プラグインＶＰの前段の仮想プラグインＶＰとみなして当該グラフＧＲを接続候補仮想プラグインとし、入力端子Ｇｉがオン状態であるか否かを判定する。
【００８３】
ここで肯定結果が得られると、このことは検索対象仮想プラグインの仮想入力ピンＶｉ（又は出力端子Ｇｏ）と接続候補仮想プラグインの仮想出力ピンＶｏ（又は入力端子Ｇｉ）とを接続できることを表しており、このときＣＰＵ２は次のステップＳＰ１６へ移る。
【００８４】
ステップＳＰ１６においてＣＰＵ２は、検索対象仮想プラグインＶＰＳの仮想入力ピンＶｉと接続候補仮想プラグインＶＰＴの仮想出力ピンＶｏ（又は入力端子Ｇｉ）とを接続し、次のステップＳＰ１９へ移る。
【００８５】
一方ステップＳＰ１５において否定結果が得られると、このことは接続候補仮想プラグインの仮想出力ピンＶｏ（又は入力端子Ｇｉ）がオフ状態又は不使用状態であるため、検索対象仮想プラグインの仮想入力ピンＶｉと当該接続候補仮想プラグインの仮想出力ピンＶｏ（又は入力端子Ｇｉ）とを接続できないことを表しており、このときＣＰＵ２は次のステップＳＰ１７へ移る。
【００８６】
ステップＳＰ１７においてＣＰＵ２は、接続候補仮想プラグインがグラフＧＲであるか否か、すなわちこの時点における検索対象仮想プラグインよりも前段側にある全ての仮想プラグインを検索したか否かを判定する。ここで否定結果が得られると、このことはまだ
検索対象仮想プラグインよりも前段側にある全ての仮想プラグインＶＰについて、当該検索対象仮想プラグインの仮想入力ピンＶｉと当該仮想プラグインＶＰの仮想出力ピンＶｏ（又は入力端子Ｇｉ）との接続の可否を全て（すなわち最上段のグラフＧＲの入力端子Ｇｉまで）検索し終えていないことを表しており、このときＣＰＵ２は次のステップＳＰ１８へ移る。
【００８７】
ステップＳＰ１８においてＣＰＵ２は、接続候補仮想プラグインを１つ前段の仮想プラグインＶＰに変更すべく変更変数ｑをインクリメントし、再度ステップＳＰ１５へ戻る。
【００８８】
一方ステップＳＰ１７において肯定結果が得られると、このことはこの時点における検索対象仮想プラグインよりも前段側にある全ての仮想プラグインＶＰについて、当該検索対象仮想プラグインの仮想入力ピンＶｉと接続候補仮想プラグインの仮想出力ピンＶｏ又は入力端子Ｇｉとの接続の可否を全て探索し終えたことを表しており、このときＣＰＵ２は次のステップＳＰ１９へ移る。
【００８９】
ステップＳＰ１９においてＣＰＵ２は、この時点における検索対象仮想プラグインが初段の仮想プラグインＶＰであるか否かを判定する。ここで否定結果が得られると、このことはまだ全ての仮想プラグインＶＰについて、当該仮想プラグインＶＰの仮想入力ピンＶｉと離隔した他の仮想プラグインＶＰの仮想出力ピンＶｏとの接続の可否を検索し終えていないことを表しており、このときＣＰＵ２は次のステップＳＰ２０へ移る。
【００９０】
ステップＳＰ２０においてＣＰＵ２は、検索対象仮想プラグインを１つ前段の仮想プラグインＶＰに変更し、再度ステップＳＰ１２へ移る。
【００９１】
一方ステップＳＰ１９において肯定結果が得られると、このことはグラフＧＲ内の全ての仮想プラグインＶＰについて、当該仮想プラグインＶＰの仮想入力ピンＶｉと離隔した他の仮想プラグインＶＰの仮想出力ピンＶｏとの接続の可否を検索し終えたことを表しており、このときＣＰＵ２は次のステップＳＰ２１へ移って離隔仮想ピン接続処理手順ＲＴ２を終了する。
【００９２】
ちなみにＣＰＵ２は、グラフＧＲの全チャンネルについて、それぞれ隣接仮想ピン接続処理手順ＲＴ１及び離隔仮想ピン接続処理手順ＲＴ２に従った処理を行うことにより、各仮想ピンを接続するようになされている。
【００９３】
（２−４）バッファの利用
ところでＣＰＵ２は、信号処理アプリケーションプログラム３４において、図１０（Ａ）〜（Ｆ）に示す各種バッファを用いることにより、グラフＧＲ、各仮想プラグインＶＰ及びエフェクトプラグインＥＰの間でオーディオ信号を受け渡すようになされている。
【００９４】
ＣＰＵ２は、グラフＧＲの入力端子Ｇｉにｋチャンネルのオーディオ信号が供給される際、図１０（Ａ）に示したｋ個の入力データバッファＵＲｉ０〜ＵＲｉ（ｋ−１）を用い、またグラフＧＲの出力端子Ｇｏからｋチャンネルのオーディオ信号を出力する際、図１０（Ｂ）に示したｋ個の出力データバッファＵＲｏ０〜ＵＲｏ（ｋ−１）を用いるようになされている。
【００９５】
ちなみにＣＰＵ２は、信号処理アプリケーションプログラム３４に連続的に入力されるオーディオ信号ＳＡを所定時間単位毎に区切ることにより当該オーディオ信号ＳＡを離散的なデータとみなし、当該離散的なデータを各バッファに格納して受け渡すようになされている。
【００９６】
実際上ＣＰＵ２は、オーディオデータ再生プログラム３１（図３（Ｂ））からＳｏｎｙＡＩｄｓ．ｄｌｌ３６を介して信号処理アプリケーションプログラム３４へオーディオ信号ＳＡを供給する際、当該オーディオ信号ＳＡの実データを入力データバッファＵＲｉに格納した状態で、当該入力データバッファＵＲｉのアドレス値Ｒｉをポインタとして受け渡すようになされている。
【００９７】
またＣＰＵ２は、信号処理アプリケーションプログラム３４からＳｏｎｙＡＩｄｓ．ｄｌｌ３６を介してＤｉｒｅｃｔＳｏｕｎｄプログラム３２へエフェクト適用後のオーディオ信号ＳＡＥを供給する際、当該オーディオ信号ＳＡＥの実データを出力データバッファＵＲｏに格納した状態で、当該出力データバッファＵＲｏのアドレス値Ｒｏをポインタとして受け渡すようになされている。
【００９８】
さらにＣＰＵ２は、グラフＧＲ内において図１０（Ｃ）及び図１０（Ｄ）に示したｋ個ずつのテンポラリデータバッファＵｔＡ０〜ＵｔＡ（ｋ−１）及びＵｔＢ０〜ＵｔＢ（ｋ−１）を用いることにより、隣接する仮想プラグインＶＰの間でオーディオ信号を受け渡すようになされている。
【００９９】
この場合にもＣＰＵ２は、信号処理アプリケーションプログラム３４においてオーディオ信号の実データをテンポラリデータバッファＵｔＡ０〜ＵｔＡ（ｋ−１）又はＵｔＢ０〜ＵｔＢ（ｋ−１）に格納し、当該テンポラリデータバッファＵｔＡ０〜ＵｔＡ（ｋ−１）又はＵｔＢ０〜ＵｔＢ（ｋ−１）のアドレス値ｔＡ０〜ｔＡ（ｋ−１）又はｔＢ０〜ｔＢ（ｋ−１）をポインタとして受け渡すようになされている。
【０１００】
ちなみにＣＰＵ２は、信号処理アプリケーションプログラム３４において３段以上の仮想プラグインＶＰ間で順次オーディオ信号を受け渡していく場合に備えて、２系統のテンポラリデータバッファＵｔＡ０〜ＵｔＡ（ｋ−１）及びＵｔＢ０〜ＵｔＢ（ｋ−１）を用いるようになされている。
【０１０１】
例えばＣＰＵ２は、初段の仮想プラグインＶＰと２段目の仮想プラグインＶＰとの間ではテンポラリデータバッファＵｔＡを用い、２段目の仮想プラグインＶＰと３段目の仮想プラグインＶＰとの間ではテンポラリデータバッファＵｔＢを用い、３段目の仮想プラグインＶＰと４段目の仮想プラグインＶＰとの間では再度テンポラリデータバッファＵｔＡを用いる、といった具合に２系統のテンポラリデータバッファＵｔＡ及びＵｔＢを交互に用いることにより、オーディオ信号を順次受け渡すことができる。
【０１０２】
さらにＣＰＵ２は、予め無音信号が格納された無音入力バッファＵｉＳ（図１０（Ｅ））及び以降の処理では用いられないオーディオ信号を格納するためのダミー出力バッファＵｏＤ（図１０（Ｆ））を用意している。
【０１０３】
ＣＰＵ２は、仮想プラグインＶＰの仮想入力ピンＶｉがオフ状態に設定された場合、当該オフ状態に設定された仮想入力ピンＶｉに割り当てられたエフェクトプラグインＥＰの入力ピンＰｉに対して、無音入力バッファＵｉＳのアドレス値ｉＳを受け渡すことにより、オーディオ信号に代えて無音信号を当該入力ピンＰｉへ供給するようになされている。
【０１０４】
またＣＰＵ２は、仮想プラグインＶＰの仮想出力ピンＶｏがオフ状態に設定された場合、当該オフ状態に設定された仮想出力ピンＶｏに割り当てられたエフェクトプラグインＥＰの出力ピンＰｏに対して、ダミー出力バッファＵｏＤのアドレス値ｏＤを受け渡すことにより、当該出力ピンＰｏから出力されるエフェクト適用後のオーディオ信号を当該ダミー出力バッファＵｏＤに格納させ、以降の処理では当該ダミー出力バッファＵｏＤのオーディオ信号を用いないようになされている。
【０１０５】
ちなみにダミー出力バッファＵｏＤは、以降の処理では用いられないオーディオ信号が格納され、いわばゴミ箱としての役割を果たしており、オーディオ信号が上書きされても何ら問題が無いため、１つのみ用意されている。
【０１０６】
ところでＣＰＵ２は、上述した仮想プラグインＶＰにおいて各仮想入力ピンＶｉに対する各入力ピンＰｉの割当が変更された場合、及び各仮想出力ピンＶｉに対する各出力ピンＰｉの割当が変更された場合、各バッファへのポインタを並べ換えるようになされている。
【０１０７】
例えば図１１に示すように、初段の仮想プラグインＶＰ（図１１（Ｃ））の入出力チャンネルがそれぞれ６チャンネルであり、エフェクトプラグインＥＰの入力チャンネル数が４チャンネル、出力チャンネル数が６チャンネルである場合を仮定する。また、仮想入力ピンＶｉ０、Ｖｉ１、Ｖｉ１及びＶｉ３に対してエフェクトプラグインＥＰの入力ピンＰｉ０、Ｐｉ１、Ｐｉ２及びＰｉ３がそれぞれ割り当てられており、さらに仮想出力ピンＶｏ０及びＶｏ１に対してエフェクトプラグインＥＰの出力ピンＰｏ１及びＰｏ０がそれぞれ割り当てられ、仮想出力ピンＶｏ２〜Ｖｏ５に対して出力ピンＰｏ２〜Ｐｏ５がそれぞれ割り当てられ、そのうえ仮想入力ピンＶｉ３及び仮想出力ピンＶｏ２がオフ状態に設定されているとする。
【０１０８】
ここでＣＰＵ２は、オーディオデータ再生プログラム３１（図３（Ｂ））からＳｏｎｙＡＩｄｓ．ｄｌｌ３６を介して信号処理アプリケーションプログラム３４へ受け渡すオーディオ信号ＳＡの実データを入力データバッファＵＲｉに格納し、図１１（Ａ）に示したようにそのアドレス値Ｒｉをポインタとしてアドレス値Ｒｉ０〜Ｒｉ５の順序でグラフＧＲの入力端子Ｇｉに受け渡す。
【０１０９】
ＣＰＵ２は、初段の仮想プラグインＶＰにおける各仮想入力ピンＶｉに対する各入力ピンＰｉの割当に応じて、図１１（Ａ）に示したアドレス値Ｒｉ及び無音入力バッファＵｉＳのアドレス値ｉＳを図１１（Ｂ）に示すようにアドレス値Ｒｉ２−ｉＳ−Ｒｉ０−Ｒｉ１の順序に並べ、これを入力ピンＰｉに対するポインタとしてエフェクトプラグインＥＰへ受け渡す。
【０１１０】
同様にＣＰＵ２は、初段の仮想プラグインＶＰにおける各仮想出力ピンＶｏに対する各出力ピンＰｏの割当に応じて、図１１（Ｅ）に示すようなテンポラリデータバッファＵｔＡ０〜ＵｔＡ５のうち、ＵｔＡ０とＵｔＡ１とを入れ換え、またＵｔＡ２に代えてダミー出力バッファＵｏＤにそれぞれエフェクト適用後のオーディオ信号を格納させるべく、図１１（Ｄ）に示すようにアドレス値ｔＡ１−ｔＡ０−ｏＤ−ｔＡ３−ｔＡ４−ｔＡ５の順序に並べ、これを出力ピンＰｏに対するポインタとしてエフェクトプラグインＥＰへ受け渡す。
【０１１１】
このようにＣＰＵ２は、信号処理アプリケーションプログラム３４において入力データバッファＵＲｉ、出力データバッファＵＲｏ、テンポラリデータバッファＵｔＡ及びＵｔＢ、無音入力バッファＵｉＳ、並びにダミー出力バッファＵｏＤを利用し、それぞれのアドレス値をポインタとして受け渡すことにより、グラフＧＲ、各仮想プラグインＶＰ及びエフェクトプラグインＥＰの間でオーディオ信号の受け渡しをスムーズに行うようになされている。
【０１１２】
（３）信号処理アプリケーションプログラムの画面構成
（３−１）メイン表示部
ところでパーソナルコンピュータ１のＣＰＵ２は、信号処理アプリケーションプログラム３４（図３（Ｂ））を実行する際、図１２に示すように、いわゆるＧＵＩ（Graphical User Interface）としてエフェクト設定ウィンドウＷＥをモニタ１２（図１）に表示させるようになされている。
【０１１３】
さらにＣＰＵ２は、エフェクト設定ウィンドウＷＥ内でオーディオ信号に適用させたいエフェクトプラグインＥＰをユーザに選択させると共に適用する順序を設定させ、その設定状態に応じて表示を更新することにより、エフェクトの設定状態をユーザに視認させるようになされている。
【０１１４】
エフェクト設定ウィンドウＷＥには、プラグイン割付部ＰＡ内にプラグイン割付スロットＰＡＳ１〜ＰＡＳ８が設けられており、各プラグイン割付スロットＰＡＳには、それぞれ１つのエフェクトプラグインＥＰを割り付け得るようになされている。
【０１１５】
各プラグイン割付スロットＰＡＳには、それぞれプラグイン変更ボタンＢＰＣが設けられている。ＣＰＵ２は、あるプラグイン割付スロットＰＡＳにおいて当該プラグイン変更ボタンＢＰＣがクリック操作されると、所定のプラグインリスト（図示せず）を表示し、当該プラグインリストとして表示されたエフェクトプラグインＥＰの中から所望のエフェクトプラグインＥＰをユーザに選択させる。ＣＰＵ２は、このとき選択されたエフェクトプラグインＥＰをこのプラグイン割付スロットＰＡＳに割り付け、また当該エフェクトプラグインＥＰの名称をプラグイン名称表示部ＢＰＮに表示するようになされている。
【０１１６】
ちなみにエフェクト設定ウィンドウＷＥでは、プラグイン割付部ＰＡにおける最上段のプラグイン割付スロットＰＡＳ１から最下段のプラグイン割付スロットＰＡＳ８の順にエフェクトの適用順序が定められており、プラグイン割付部ＰＡ内における各エフェクトプラグインＥＰの位置関係により各エフェクトを適用する順序をユーザに視認させ得るようになされている。
【０１１７】
また各プラグイン割付スロットＰＡＳには、それぞれプラグイン詳細設定ボタンＢＰＤが設けられている。ＣＰＵ２は、当該プラグイン詳細設定ボタンＢＰＤが押下されると、そのとき割り付けられているエフェクトプラグインＥＰに対応したプラグイン詳細設定画面（図示せず）が表示されるようになされており、当該プラグイン詳細設定画面においてエフェクトの詳細な設定をユーザに調整させるようになされている。
【０１１８】
ところでエフェクト表示ウィンドウＷＥには、プリセット保存ボタンＢＰＳ及びプリセットリスト表示ボタンＢＰＬが設けられている。ＣＰＵ２は、当該プリセット保存ボタンＢＰＳがクリック操作されると、その時点の各プラグイン割付スロットＰＡＳにおける各エフェクトプラグインの割付状態（以下、これをプリセットと呼ぶ）を所定のデータ形式で表し、名称を設定した上で当該プリセットを保存できるようになされている。
【０１１９】
またＣＰＵ２は、プリセットリスト表示ボタンＢＰＬが押下されると、既に保存されているプリセットが一覧化された所定のプリセットリスト（図示せず）を表示するようになされている。ＣＰＵ２は、当該プリセットリストの中からプリセットが選択されると、選択されたプリセットの名称をプリセット名表示部ＰＮに表示すると共に、保存されている各エフェクトプラグインＥＰの割付状態に応じて各プラグイン割付スロットＰＡＳに各エフェクトプラグインＥＰを割り付けることにより、各エフェクトプラグインＥＰの割付状態を再現し得るようになされている。
【０１２０】
ちなみにＣＰＵ２には、予め数種類のプリセットが用意されており、ユーザに当該プリセットを選択させるだけで、当該ユーザに事前に割付作業や保存作業をさせること無く割付状態を再現できるようになされている。
【０１２１】
実際上ＣＰＵ２は、ユーザのエフェクトプラグイン選択操作やプリセット選択操作等により各プラグイン割付スロットＰＡＳに各エフェクトプラグインＥＰが割り付けられると、信号処理アプリケーションプログラム３４（図３（Ｂ））においてグラフＧＲ（図６）内に各エフェクトプラグインＥＰに対応した仮想プラグインＶＰ（図５）を配置するようになされている。
【０１２２】
その後ＣＰＵ２は、信号処理アプリケーションプログラム３４において、上述した隣接仮想ピン接続処理手順ＲＴ１（図１０）及び離隔仮想ピン接続処理手順ＲＴ２（図１１）に従った処理をグラフＧＲの全チャンネルについてそれぞれ実行することにより各チャンネルにおいて仮想ピン同士を接続し、この接続結果に基づき各チャンネルにおいて元のオーディオ信号ＳＡに対して各エフェクトプラグインＥＰによって順次エフェクトを適用させてエフェクトオーディオ信号ＳＡＥを生成し、これを後段のＳｏｎｙＡＩｄｓ．ｄｌｌ３６（図３（Ｂ））等へ受け渡す。
【０１２３】
このようにＣＰＵ２は、エフェクト表示ウィンドウＷＥ上でユーザの操作により各プラグイン割付スロットＰＡＳに対して各エフェクトプラグインＥＰが割り付けられると、オーディオ信号ＳＡの各チャンネルを各エフェクトプラグインＥＰにおけるいずれの入力ピンＰｉ又は出力ピンＰｏに割り当てるかを当該ユーザに指定させることなく、自動的に各仮想ピンを接続するようになされている。
【０１２４】
（３−２）パッチベイ表示部
かかる構成に加えて、エフェクト設定ウィンドウＷＥにはパッチベイ表示ボタンＢＰＢが設けられている。ＣＰＵ２は、ユーザにより当該パッチベイ表示ボタンＢＰＢが押下されると、図１３に示すように、メイン表示部ＷＭの右隣にパッチベイ表示部ＷＰを表示するようになされている。
【０１２５】
このパッチベイ表示部ＷＰは、オーディオ信号のチャンネルと各エフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏとの対応状況（以下、これをピン割当状況と呼ぶ）をグラフィカルに表示することにより、ユーザに当該ピン割当状況を視認させるようになされている。
【０１２６】
ちなみにＣＰＵ２は、信号処理アプリケーションプログラム３４（図３（Ｂ））により、いわゆる５．１チャンネルサラウンド（すなわち合計６チャンネル）のオーディオ信号に対してエフェクトを適用し得るようになされている。
【０１２７】
パッチベイ表示部ＷＰの上部に設けられた入力端子部Ｃｉは、入力を意味する「Ｉｎｐｕｔ」の文字が表示されており、さらに左チャンネルを示す「Ｌ」、右チャンネルを示す「Ｒ」、センターチャンネルを示す「Ｃ」、低域チャンネルを示す「ＬＦＥ」、左後チャンネルを示す「ＬＳ」及び右後チャンネルを示す「ＲＳ」の各チャンネルマークＭＫにより、信号処理アプリケーションプログラム３４における入力端子を表すようになされている。
【０１２８】
またパッチベイ表示部ＷＰの下部に設けられた出力端子部Ｃｏは、出力を意味する「Ｏｕｔｐｕｔ」の文字が表示されており、各チャンネルに対応した出力設定ボタンＢｏにそれぞれ入力端子部Ｃｉと同様に「Ｌ」、「Ｒ」、「Ｃ」、「ＬＦＥ」、「ＬＳ」及び「ＲＳ」といったチャンネル名を表示することにより、信号処理アプリケーションプログラム３４における出力端子を表すようになされている。
【０１２９】
実際上ＣＰＵ２は、このパッチベイ表示部ＷＰの表示内容を上述したグラフＧＲ（図６）に対応させており、入力端子部Ｃｉの各チャンネルマークＭＫをグラフＧＲの各入力端子Ｇｉに対応させ、また出力端子部Ｃｏの各出力設定ボタンＢｏをグラフＧＲの各出力端子Ｇｏに対応させている。
【０１３０】
またパッチベイＰＢ内には、メイン表示部ＷＭのプラグイン割付スロットＰＡＳ１〜ＰＡＳ８に対応付けられたパッチベイスロットＰＢＳ１〜ＰＢＳ８が設けられている。
【０１３１】
例えばＣＰＵ２は、ユーザの操作によりプラグイン割付スロットＰＡＳにエフェクトプラグインＥＰが割り付けられると、図１４（Ｂ）に示したように仮想プラグインＶＰと当該エフェクトプラグインＥＰとを対応付け、標準割当として同一ピン番号同士を割り当てることにより、仮想プラグインＶＰの仮想入力ピンＶｉ０及びＶｉ１にそれぞれエフェクトプラグインＥＰの入力ピンＰｉ０及びＰｉ１を割り当てると共に仮想出力ピンＶｏ０及びＶｏ１にそれぞれエフェクトプラグインＥＰの出力ピンＰｏ０及びＰｏ１を割り当てる。
【０１３２】
続いてＣＰＵ２は、図１４（Ａ）に示したように、パッチベイスロットＰＢＳにピン状態表示パネルＴＰを表示し、当該ピン状態表示パネルＴＰ内において、仮想入力ピンＶｉ及び入力ピンＰｉに対応したプラグイン入力設定ボタンＢＰｉ０〜ＢＰｉ５と、仮想出力ピンＶｏ及び出力ピンＰｏに対応したプラグイン出力設定ボタンＢＰｏ０〜ＢＰｏ５とを、入力端子部Ｃｉ（図１３）における各チャンネルマークＭＫと対応するように表示する。
【０１３３】
このときＣＰＵ２は、仮想プラグインＶＰにおける各仮想入力ピンＶｉ及び各仮想出力ピンＶｏの状態に基づいてパッチベイスロットＰＢＳのプラグイン入力設定ボタンＢＰｉ及びプラグイン出力設定ボタンＢＰｏを表示させるようになされている。
【０１３４】
図１４（Ｂ）の場合、仮想プラグインＶＰの仮想入力ピンＶｉ０及びＶｉ１にそれぞれエフェクトプラグインＥＰの入力ピンＰｉ０及びＰｉ１が割り当てられ、当該仮想入力ピンＶｉ０及びＶｉ１が共にオン状態に設定されている。また他の仮想入力ピンＶｉ２〜Ｖｉ５は不使用状態（Ｄｉｓａｂｌｅ）に設定されている。
【０１３５】
これに応じてＣＰＵ２は、図１４（Ａ）に示したように、パッチベイスロットＰＢＳのプラグイン入力設定ボタンＢＰｉ０及びＢＰｉ１を明るい水色（図中白抜きで示す）で表示すると共にプラグイン入力設定ボタンＢＰｉ２〜ＢＰｉ５を黒色（図中細かい斜線で示す）で表示することにより、「Ｌ」チャンネル及び「Ｒ」チャンネルがオン状態であり、他のチャンネルが不使用状態であることを示す。
【０１３６】
また図１４（Ｂ）では、仮想プラグインＶＰにおいて仮想出力ピンＶｏ０及びＶｏ１にそれぞれエフェクトプラグインＥＰの出力ピンＰｏ０及びＰｏ１が割り当てられ、当該仮想出力ピンＶｏ０及びＶｏ１がオン状態に設定されると共に他の仮想出力ピンＶｏ２〜Ｖｏ５が不使用状態に設定されている。
【０１３７】
これに応じてＣＰＵ２は、図１４（Ａ）に示したように、パッチベイスロットＰＢＳのプラグイン出力設定ボタンＢＰｏ０及びＢＰｏ１を明るい水色（図中白抜きで示す）で表示すると共にプラグイン入力設定ボタンＢＰｏ２〜ＢＰｏ５を黒色（図中細かい斜線で示す）で表示することにより、「Ｌ」チャンネル及び「Ｒ」チャンネルがオン状態であり、他のチャンネルが不使用状態であることを示す。
【０１３８】
さらにＣＰＵ２は、パッチベイスロットＰＢＳの入力チャンネル名表示部ＣＮｉ０及びＣＮｉ１にそれぞれ「１」及び「２」と表示し、また出力チャンネル名表示部ＣＮｏ０及びＣＮｏ１にそれぞれ「１」及び「２」と表示することにより、仮想プラグインＶＰの各仮想入力ピンＶｉとエフェクトプラグインＥＰの入力ピンＰｉとの対応状況、及び仮想プラグインＶＰの各仮想出力ピンＶｏとエフェクトプラグインＥＰの出力ピンＰｏとの対応状況を表すようになされている。
【０１３９】
ここでパッチベイスロットＰＢＳでは、横方向の位置によって「Ｌ」、「Ｒ」等のチャンネルが固定的に割り当てられているため、入力チャンネル名表示部ＣＮｉ及び出力チャンネル名表示部ＣＮｏの「１」及び「２」等の表示内容は、必然的に各チャンネルのオーディオ信号とエフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏとの対応関係を示している。
【０１４０】
ちなみにＣＰＵ２は、図１３に示したように、プラグイン割付スロットＰＡＳ４〜ＰＡＳ８にエフェクトプラグインＥＰが割り付けられていない場合、これと対応するパッチベイスロットＰＢＳ４〜ＰＢＳ８にはピン状態パネルＴＰを表示しないようになされている。
【０１４１】
このようにＣＰＵ２は、プラグイン割付スロットＰＡＳに割り付けられたエフェクトプラグインＥＰに対応する仮想プラグインＶＰの各仮想入力ピンＶｉ及び仮想出力ピンＶｏの状態に応じたピン状態表示パネルＴＰをパッチベイスロットＰＢＳに表示することにより、ピン割当状況をユーザに視認させるようになされている。
【０１４２】
またＣＰＵ２は、図１３に示したように、各チャンネルにおいて隣接仮想ピン接続処理手順ＲＴ１（図１０）及び離隔仮想ピン接続処理手順ＲＴ２（図１１）に従って決定したグラフ内接続状態に応じて、入力端子部Ｃｉの各チャンネルマークＭＫ、各パッチベイスロットＰＢＳの各プラグイン入力設定ボタンＢＰｉ及び各プラグイン出力設定ボタンＢＰｏ、並びに出力端子部Ｃｏの各出力設定ボタンＢｏの間に接続線ＬＣを表示することにより、当該グラフ内接続状態をユーザに視認させるようになされている。
【０１４３】
ちなみにＣＰＵ２は、メイン表示部ＷＭのプラグイン割付スロットＰＡＳにおいてエフェクトプラグインＥＰの新たな割付や削除、あるいは順序変更等といったプラグイン変更操作がなされた場合、変更後のエフェクトプラグインＥＰに応じてパッチベイ表示部ＷＰの表示内容を更新すると共に、仮想ピン接続処理を再度実行してグラフ内接続状態を更新すると共に接続線ＬＣの表示を更新するようになされている。
【０１４４】
このようにＣＰＵ２は、信号処理アプリケーションプログラム３４においてプラグイン割付スロットＰＡＳにエフェクトプラグインＥＰが割り付けられると、当該エフェクトプラグインＥＰに対応する仮想プラグインＶＰの各仮想入力ピンＶｉ及び仮想出力ピンＶｏの状態に応じたピン状態表示パネルＴＰをパッチベイスロットＰＢＳに表示することにより、プラグイン割付スロットＰＡＳに割り付けられたエフェクトプラグインＥＰの各入力ピンＰｉ及び各出力ピンＰｏとオーディオ信号のチャンネルとの対応関係をグラフィカルに提示するようになされている。
【０１４５】
ところでパッチベイ表示部ＷＰは、ピン割当状況を表示するのみでなく、当該パッチベイ表示部ＷＰ上におけるユーザの操作に基づき、オーディオ信号の各チャンネルに対する各エフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏの割当（すなわちピン割当状況）を変更できるようになされている。
【０１４６】
例えばＣＰＵ２は、ユーザによるマウス１０（図１）を介した操作によりパッチベイ表示部ＷＰのパッチベイスロットＰＢＳにおけるオン状態のプラグイン入力設定ボタンＢＰｉがクリック操作されると、当該クリック操作を当該プラグイン入力設定ボタンＢＰｉに対応したエフェクトプラグインＥＰの入力ピンＰｉに対するオーディオ信号の供給又は供給停止の切換指示として認識し、当該エフェクトプラグインＥＰと対応付けられた仮想プラグインＶＰの仮想入力ピンＶｉをオン状態からオフ状態、あるいはオフ状態からオン状態に切り換えるようになされている。
【０１４７】
またＣＰＵ２は、パッチベイスロットＰＢＳにおけるオン状態又はオフ状態のプラグイン入力設定ボタンＢＰｉが他の入力設定ボタンＢＰｉの位置にドラッグ操作されると、当該ドラッグ操作を両方の入力設定ボタンＢＰｉに対応したエフェクトプラグインＥＰの入力ピンＰｉに供給されるオーディオ信号を入れ換える指示として認識し、当該エフェクトプラグインＥＰと対応付けられた仮想プラグインＶＰの仮想入力ピンＶｉに対する入力ピンＰｉの割当を入れ換えるようになされている。
【０１４８】
ちなみにＣＰＵ２は、パッチベイスロットＰＢＳのプラグイン出力設定ボタンＢＰｏについても、プラグイン入力設定ボタンＢＰｉと同様に、クリック操作によってオン状態又はオフ状態のいずれかに切り換えると共に、ドラッグ操作によって仮想入力ピンＶｉに対する入力ピンＰｉの割当を入れ換えるようになされている。
【０１４９】
さらにＣＰＵ２は、出力端子部Ｃｏ（図１３）の各出力設定ボタンＢＰｏについても、クリック操作をオン状態又はオフ状態のいずれかに切り換える指示として認識し、当該クリック操作に応じてグラフＧＲ（図６）の出力端子Ｇｏをオン状態又はオフ状態のいずれかに切り換えるようになされている。
【０１５０】
例えば図１４（Ａ）と対応する図１５（Ａ）に示すように、パッチベイスロットＰＢＳにおいて、ユーザの操作によって仮想プラグインＶＰの仮想入力ピンＶｉ０及びＶｉ１にそれぞれエフェクトプラグインＥＰの入力ピンＰｉ１及びＰｉ０が割り当てられ、また仮想出力ピンＶｏ０及びＶｏ２にそれぞれエフェクトプラグインＥＰの出力ピンＰｏ０及びＰｏ１が割り当てられ、さらに当該仮想出力ピンＶｏ２がオフ状態に変更されたと仮定する。
【０１５１】
このときＣＰＵ２は、図１５（Ｂ）に示すように、パッチベイスロットＰＢＳのプラグイン入力設定ボタンＢＰｉ０、ＢＰｉ１及びプラグイン出力設定ボタンＢＰｏ０を明るい水色（図中白抜きで示す）のままとし、出力設定ボタンＢＰｏ２を暗い水色（図中粗い斜線で示す）に変更すると共に入力設定ボタンＢＰｏ１を黒色（図中細かい斜線で示す）に変更する。
【０１５２】
これによりＣＰＵ２は、エフェクトプラグインＥＰの出力ピンＰｉについて、「Ｌ」チャンネルがオン状態であり、「Ｒ」チャンネルが不使用状態であり、「Ｃ」チャンネルがオフ状態であることをユーザに視認させることができる。
【０１５３】
さらにＣＰＵ２は、仮想プラグインＶＰにおける仮想入力ピンＶｉに対するエフェクトプラグインＥＰの入力ピンＰｉの割当、及び仮想出力ピンＶｏに対するエフェクトプラグインＥＰの出力ピンＰｏの割当に応じて、パッチベイスロットＰＢＳの入力チャンネル名表示部ＣＮｉ０及びＣＮｉ１にそれぞれ「２」及び「１」と表示し、また出力チャンネル名表示部ＣＮｏ０及びＣＮｏ２にそれぞれ「１」及び「２」と表示することにより、ピン割当状況を詳細に表示するようになされている。
【０１５４】
その後ＣＰＵ２は、全チャンネルについて仮想ピン接続処理を実行することによりグラフ内接続状態を更新し、更新後のグラフ内接続状態に基づいてパッチベイ表示部ＷＰにおける接続線ＬＣの表示を更新するようになされている。
【０１５５】
ちなみにパッチベイ表示部ＷＰには標準接続復帰ボタンＢＲが設けられており、ユーザの操作により当該標準接続復帰ボタンＢＲがクリック操作されると、ＣＰＵ２は、仮想プラグインＶＰにおける仮想入力ピンＶｉに対するエフェクトプラグインＥＰの入力ピンＰｉの割当、及び仮想出力ピンＶｏに対するエフェクトプラグインＥＰの出力ピンＰｏの割当、並びに各仮想入力ピンＶｉ及び各仮想出力ピンＶｏのオン状態又はオフ状態といったピン割当状況を標準割当に戻し、これに伴いグラフ内接続状態も元に戻すようになされている。
【０１５６】
このようにＣＰＵ２は、パッチベイ表示部ＷＰにおいてその時点におけるピン割当状況及びグラフ内接続状態をユーザに視認させ、当該ユーザによるピン割当状況の変更指示を受け付けた場合、当該変更指示に基づいて当該ピン割り当て状況を更新すると共に再度仮想ピン接続処理を実行することによりグラフ内接続状態を更新し、ピン状態表示パネルＴＰ及び接続線ＬＣの表示を更新することにより、更新後のピン割当状況及びグラフ内接続状態を当該ユーザに視認させるようになされている。
【０１５７】
（３−３）エフェクト設定ウィンドウの表示と仮想プラグインとの対応例
次に、パッチベイ表示部ＷＰの表示内容と仮想プラグインＶＰとの対応例を示す。例えば図１６（Ａ）に示すように、プラグイン割付部ＰＡにエフェクトプラグインＥＰが何も割り付けられていない場合、信号処理アプリケーションプログラム３４の内部においてグラフＧＲ内に仮想プラグインＶＰを配置せず、仮想ピン接続処理を実行することにより各チャンネルの入力端子Ｇｉと出力端子Ｇｏとを直結する。
【０１５８】
これに応じてＣＰＵ２は、パッチベイＰＢにピン状態パネルＴＰを表示せず、入力端子部Ｃｉの各チャンネルのマークと出力端子部Ｃｏの各出力設定ボタンＢＰｏとを接続線ＬＣによって直結する。この場合ＣＰＵ２は、元のオーディオ信号ＳＡをグラフＧＲ内で受け渡す際、信号処理アプリケーションプログラム３４の内部において、入力データバッファＵＲｉ（図７（Ａ））のアドレス値Ｒｉをそのまま出力データバッファＵＲｏ（図７（Ｂ））のアドレス値Ｒｏとすることにより、元のオーディオ信号ＳＡをそのままエフェクトオーディオ信号ＳＡＥとして出力する。
【０１５９】
このときＣＰＵ２は、パッチベイ表示部ＷＰにおいて入力端子部Ｃｉの各チャンネルのマークと出力端子部Ｃｏの各出力設定ボタンＢＰｏとを接続線ＬＣによって直結しているため、元のオーディオ信号ＳＡをそのままエフェクトオーディオ信号ＳＡＥとして出力していることをユーザに視認させることができる。
【０１６０】
その後、図１７に示すように、ユーザの操作によってプラグイン割付スロットＰＡＳ１に入力２チャンネル・出力６チャンネルのエフェクトプラグインＥＰ（以下、これをエフェクトプラグインＥＰＡと呼ぶ）が割り付けられた場合、ＣＰＵ２は、パッチベイスロットＰＢＳ１にピン状態パネルＴＰを表示し、当該ピン状態表示パネルＴＰ内にプラグイン入力設定ボタンＢＰｉ及びプラグイン出力設定ボタンＢＰｏを表示する。
【０１６１】
このときＣＰＵ２は、図１８に示すように、信号処理アプリケーションプログラム３４の内部において、エフェクトプラグインＥＰＡと初段の仮想プラグインＶＰＡとを対応付け、さらに各チャンネル毎に仮想ピン接続処理を実行することにより、各仮想ピン同士の接続（すなわちグラフ内接続状態）を更新し、また図１７に示したように、当該グラフ内接続状態に応じて入力端子部Ｃｉの各チャンネルのマーク、ピン状態表示パネルＴＰの各プラグイン入力設定ボタンＢＰｉ及び各プラグイン出力設定ボタンＢＰｏ、並びに出力端子部Ｃｏの各出力設定ボタンＢｏの間に接続線ＬＣを表示する。
【０１６２】
ＣＰＵ２は、元のオーディオ信号ＳＡをグラフＧＲ内で受け渡す際、更新後のグラフ内接続状態に基づき、初段の仮想プラグインＶＰＡからエフェクトプラグインＥＰＡの入力ピンＰｉに対して２チャンネル分のアドレス値Ｒｉ０及びＲｉ１をポインタとして受け渡し、当該エフェクトプラグインＥＰの出力ピンＰｏに対して６チャンネル分の出力データバッファＵＲｏのアドレス値Ｒｏ０〜Ｒｏ５を受け渡す。
【０１６３】
ちなみにＣＰＵ２は、図１７に示したようにエフェクトプラグインＥＰが１段のみしか割り当てられていないため、図１８に示したようにエフェクトプラグインＥＰＡの出力ピンＰｏに対してテンポラリデータバッファＵｔＡ又はＵｔＢではなく、出力データバッファＵＲｏのアドレス値Ｒｏを受け渡している。
【０１６４】
さらに図１９に示すように、ユーザの操作によって図１７に示した状態から２段目のプラグイン割付スロットＰＡＳ２に入力６チャンネル・出力２チャンネルのエフェクトプラグインＥＰ（以下、これをエフェクトプラグインＥＰＢと呼ぶ）が割り付けられた場合、ＣＰＵ２は、パッチベイスロットＰＢＳ２にピン状態パネルＴＰを表示し、当該ピン状態表示パネルＴＰ内にプラグイン入力設定ボタンＢＰｉ及びプラグイン出力設定ボタンＢＰｏを表示する。
【０１６５】
このときＣＰＵ２は、図１８と対応した図２０に示すように、信号処理アプリケーションプログラム３４の内部において、エフェクトプラグインＥＰＢと２段目の仮想プラグインＶＰＢとを対応付けた上で、各チャンネル毎に仮想ピン接続処理を実行することによりグラフ内接続状態を更新する。さらにＣＰＵ２は、図１９に示したように、更新後のグラフ内接続状態に基づいて、パッチベイ表示部ＷＰにおける接続線ＬＣの表示を更新する。
【０１６６】
このときＣＰＵ２は、更新後のグラフ内接続状態に基づき、「Ｃ」チャンネル、「ＬＦＥ」チャンネル、「ＬＳ」チャンネル及び「ＲＳ」チャンネルについて出力端子部Ｃｏの各出力設定ボタンＢｏに接続線ＬＣを接続しない。
【０１６７】
ＣＰＵ２は、元のオーディオ信号ＳＡをグラフＧＲ内で受け渡す際、更新後のグラフ内接続状態に基づき、図１８の場合と同様に初段の仮想プラグインＶＰＡからエフェクトプラグインＥＰＡの入力ピンＰｉに対して２チャンネル分のアドレス値Ｒｉ０及びＲｉ１をポインタとして受け渡すものの、図１８の場合と異なり当該エフェクトプラグインＥＰＡの出力ピンＰｏに対して６チャンネル分のテンポラリデータバッファＵｔＡのアドレス値ｔＡ０〜ｔＡ５を受け渡す。
【０１６８】
さらにＣＰＵ２は、２段目の仮想プラグインＶＰＢからエフェクトプラグインＥＰＢの入力ピンＰｉに対して６チャンネル分のアドレス値ｔＡ０〜ｔＡ５をポインタとして受け渡し、当該エフェクトプラグインＥＰＢの出力ピンＰｏに対して２チャンネル分の出力データバッファＵＲｏのアドレス値Ｒｏ０及びＲｏ１を受け渡す。
【０１６９】
またＣＰＵ２は、更新後のグラフ内接続状態に基づき、無音データバッファＵｉＳのアドレス値ｉＳを出力データバッファＵＲｏのアドレス値Ｒｏ２〜Ｒｏ５として出力することにより、「Ｃ」チャンネル、「ＬＦＥ」チャンネル、「ＬＳ」チャンネル及び「ＲＳ」チャンネルから無音のオーディオを出力させる。
【０１７０】
このようにＣＰＵ２は、ユーザの操作によってプラグイン割付スロットＰＡＳにおけるエフェクトプラグインＥＰの割付が変更された場合、信号処理アプリケーションプログラム３４の内部において仮想ピン接続処理を実行することによりグラフ内接続状態を更新し、更新後のグラフ内接続状態に基づいてパッチベイ表示部ＷＰにおけるピン状態表示パネルＴＰの表示内容及び接続線ＬＣの表示を更新し、また更新後のグラフ内接続状態に基づいて使用するバッファの割当を適宜変更することにより、エフェクトプラグインＥＰの割付状態の変更に対応するようになされている。
【０１７１】
また、例えば図２１に示すようにユーザの操作によってプラグイン割付スロットＰＡＳ１〜ＰＡＳ３に入力２チャンネル・出力２チャンネルのエフェクトプラグインＥＰ（以下、これらをそれぞれエフェクトプラグインＥＰＡ〜ＥＰＣと呼ぶ）が割り付けられた場合、ＣＰＵ２は、パッチベイスロットＰＢＳ１〜ＰＢＳ３にそれぞれピン状態パネルＴＰを表示し、各ピン状態表示パネルＴＰ内にプラグイン入力設定ボタンＢＰｉ及びプラグイン出力設定ボタンＢＰｏをそれぞれ表示する。
【０１７２】
このときＣＰＵ２は、図２２に示すように、信号処理アプリケーションプログラム３４の内部において、エフェクトプラグインＥＰＡ〜ＥＰＣと仮想プラグインＶＰＡ〜ＶＰＣとをそれぞれ対応付け、さらに各チャンネル毎に仮想ピン接続処理を実行することにより各仮想ピン同士を接続し、また図１７に示したように、入力端子部Ｃｉの各チャンネルのマーク、ピン状態表示パネルＴＰの各プラグイン入力設定ボタンＢＰｉ及び各プラグイン出力設定ボタンＢＰｏ、並びに出力端子部Ｃｏの各出力設定ボタンＢｏの間に接続線ＬＣを表示する。
【０１７３】
この場合ＣＰＵ２は、標準割当として、仮想プラグインＶＰＡ〜ＶＰＣにおいてエフェクトプラグインＥＰＡ〜ＥＰＣの入力ピン及び出力ピンを全て「Ｌ」チャンネル及び「Ｒ」チャンネルに割り当てる。
【０１７４】
ＣＰＵ２は、元のオーディオ信号ＳＡをグラフＧＲ内で受け渡す際、グラフ内接続状態に基づき、エフェクトプラグインＥＰＡの出力ピンＰｏＡに対してテンポラリデータバッファＵｔＡのアドレス値ｔＡ０及びｔＡ１を受け渡し、当該アドレス値ｔＡ０及びｔＡ１をそのままエフェクトプラグインＥＰＢの入力ピンＰｉＢに受け渡し、アドレス値ｔＢ０及びｔＢ１を当該エフェクトプラグインＥＰＢの出力ピンＰｏＢに受け渡す。
【０１７５】
さらにＣＰＵ２は、エフェクトプラグインＥＰＣの入力ピンＰｉＣにアドレス値ｔＢ０及びｔＢ１を受け渡し、当該エフェクトプラグインＥＰＣの出力ピンＰｏＣに対して出力データバッファＵＲｏのアドレス値Ｒｏ０及びＲｏ１を受け渡す。またＣＰＵ２は、入力データバッファＵＲｉのアドレス値Ｒｉ２〜Ｒｉ５をそのまま出力データバッファＵＲｏのアドレス値Ｒｏ２〜Ｒｏ５として出力する。
【０１７６】
その後、図２１と対応する図２３に示すように、ユーザの操作によってパッチベイスロットＰＢＳ２及びＰＢＳ３の入力設定ボタンＢＰｉ及び出力設定ボタンＢＰｏがドラッグ操作されてピン割当状況が変更された結果、パッチベイスロットＰＢＳ２のピン割当が「Ｃ」チャンネル及び「ＬＦＥ」チャンネルに、パッチベイスロットＰＢＳ３のピン割当が「ＬＳ」チャンネル及び「ＲＳ」チャンネルに変更されたとする。
【０１７７】
この場合ＣＰＵ２は、図２２と対応する図２４に示すように、仮想プラグインＶＰＢ及びＶＰＣにおいてそれぞれ仮想入力ピンＶｉ、仮想出力ピンＶｏに対する入力ピンＰｉ、出力ピンＰｏの割当を変更し、仮想ピン接続処理を実行することによりグラフ内接続状態を更新し、更新後のグラフ内接続状態に基づきパッチベイ表示部ＷＰにおける接続線ＬＣの表示を更新する。
【０１７８】
これに応じてＣＰＵ２は、元のオーディオ信号ＳＡをグラフＧＲ内で受け渡す際、更新後のグラフ内接続状態に基づき、エフェクトプラグインＥＰＢの入力ピンＰｉＢに対して入力データバッファＲｉ２及びＲｉ３を受け渡すと共に出力ピンＰｏＢに対してテンポラリデータバッファＵｔＢのアドレス値ｔＢ２及びｔＢ３を受け渡す。またＣＰＵ２は、エフェクトプラグインＥＰＣの入力ピンＰｉＣに対して入力データバッファＲｉ４及びＲｉ５を受け渡すと共に出力ピンＰｏＣに対して出力データバッファＲｏのアドレス値Ｒｏ４及びＲｏ５を受け渡す。
【０１７９】
このようにＣＰＵ２は、ユーザの操作によってパッチベイスロットＰＢＳの入力設定ボタンＢＰｉ及び出力設定ボタンＢＰｏがドラッグ操作されて各ピンの割当が変更された場合にも、エフェクトプラグインＥＰの割付が変更された場合と同様に、信号処理アプリケーションプログラム３４の内部において仮想ピン接続処理を実行することによりグラフ内接続状態を更新し、更新後のグラフ内接続状態に基づいてパッチベイ表示部ＷＰにおけるピン状態表示パネルＴＰの表示内容及び接続線ＬＣの表示を更新し、また更新後のグラフ内接続状態に基づいて使用するバッファの割当を適宜変更することにより、ピンの割当変更に対応するようになされている。
【０１８０】
ちなみにＣＰＵ２は、例えばオーディオデータ再生プログラム３１（図３（Ｂ））から順次受け渡されるオーディオ信号ＳＡに対してエフェクトを適用している際にユーザの操作によってパッチベイスロットＰＢＳにおける各ピンの割当が変更された場合、当該変更の直後から変更後のエフェクトを適用するようになされており、これにより当該ユーザに変更前後におけるオーディオの変化を比較させやすいようになされている。
【０１８１】
（４）動作及び効果
以上の構成において、パーソナルコンピュータ１のＣＰＵ２は、信号処理アプリケーションプログラム３４によってモニタ１２に表示したエフェクト設定ウィンドウＷＥ上でユーザの操作によりエフェクトプラグインＥＰが割り付けられると、当該信号処理アプリケーションプログラム３４の内部において仮想プラグインＶＰ（図５）の仮想入力ピンＶｉ及び仮想出力ピンＶｏをそれぞれエフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏに割り当て、さらにグラフＧＲ（図６）内に当該仮想プラグインＶＰを直列的に配置し、各チャンネル毎に隣接仮想ピン接続処理手順ＲＴ１（図１０）及び離隔仮想ピン接続処理手順ＲＴ２（図１１）に従い仮想ピン接続処理を実行して各仮想入力ピンＶｉ及び各仮想出力ピンＶｏを互いに接続することにより、元のオーディオ信号ＳＡに対して複数のエフェクトプラグインＥＰにより順次エフェクトを適用してエフェクトオーディオ信号ＳＡＥを生成する。
【０１８２】
従ってＣＰＵ２は、元のオーディオ信号ＳＡに対してエフェクトを適用する際に、当該元のオーディオ信号ＳＡのチャンネル数とエフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏの数とが一致していなかったとしても、仮想プラグインＶＰにおける仮想入力ピンＶｉ及び仮想出力ピンＶｏに当該入力ピンＰｉ及び出力ピンＰｏを割り当てることにより、あたかもエフェクトプラグインＥＰが元のオーディオ信号ＳＡに直接対応しているかのように見せかけることができる。
【０１８３】
さらにＣＰＵ２は、グラフＧＲによって複数の仮想プラグインＶＰを互いに接続しているため、元のオーディオ信号ＳＡに対して複数のエフェクトプラグインＥＰによるエフェクトを順次適用することができる。
【０１８４】
このときＣＰＵ２は、各チャンネルについて、まず隣接仮想ピン接続処理手順ＲＴ１によりグラフＧＲの入力端子Ｇｉ側から隣接した仮想プラグインＶＰ同士を接続し、次に離隔仮想ピン接続処理手順ＲＴ２により出力端子Ｇｏ側から離隔した仮想プラグインＶＰ同士を接続するといった仮想ピン接続処理を実行することにより、オーディオ信号に対して実際にエフェクトを適用するエフェクトプラグインＥＰのみの間で当該オーディオ信号を順次受け渡していくことができ、これにより当該オーディオ信号に対して確実にエフェクトを適用することができる。
【０１８５】
すなわちＣＰＵ２は、エフェクト設定ウィンドウＷＥのメイン表示部においてプラグイン割付スロットＰＡＳにエフェクトプラグインＥＰが割り付けられただけで、仮想プラグインＶＰ内での標準割当に応じたピン接続を行うことにより、ユーザに各エフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏをいずれのチャンネルに割り当てるかを当該ユーザに指定させること無く、自動的にエフェクトを適用することができる。
【０１８６】
これにより、例えばエフェクトに関してあまり詳しくないユーザがとりあえずオーディオ信号にエフェクトを適用させたいといった場合に、当該ユーザにエフェクトプラグインＥＰの種類及び適用順序を指定させるだけで、仮想ピン同士を標準的な形式で接続した標準割当の状態でオーディオ信号ＳＡにエフェクトを適用しエフェクトオーディオ信号ＳＡＥを生成してユーザに聴取させることができる。
【０１８７】
さらにＣＰＵ２は、ユーザによりエフェクト設定ウィンドウＷＥのパッチベイ表示ボタンＢＰＢ（図１２）がクリック操作されると、パッチベイ表示部ＷＰをメイン表示部ＷＭの左側に表示し、各プラグイン割付スロットＰＡＳと対応した各パッチベイスロットＰＢＳにそれぞれピン状態パネルＴＰを表示し、さらに隣接仮想ピン接続処理手順ＲＴ１及び離隔仮想ピン接続処理手順ＲＴ２による接続結果に応じて各プラグイン入力設定ボタンＢＰｉ及び各プラグイン出力設定ボタンＢＰｏの間を接続線ＬＣにより接続する。
【０１８８】
このときＣＰＵ２は、各エフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏがオン状態、オフ状態又は不使用状態のいずれであるかに応じてピン状態パネルＴＰにおける各プラグイン入力設定ボタンＢＰｉ及び各プラグイン出力設定ボタンＢＰｏの表示状態を変化させ、さらに各プラグイン入力設定ボタンＢＰｉ及び各プラグイン出力設定ボタンＢＰｏの近傍にそれぞれ入力チャンネル名表示部ＣＮｉ及び出力チャンネル名表示部ＣＮｏを表示する。
【０１８９】
これによりＣＰＵ２は、各エフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏの数、各エフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏがいずれのチャンネルに割り当てられているか、また各エフェクトプラグインＥＰの間で各入力ピンＰｉ及び各出力ピンＰｏがどのように接続されているかといった詳細な接続情報をユーザに目視確認させることができる。
【０１９０】
このときＣＰＵ２は、信号処理アプリケーションプログラム３４（図３（Ｂ））の内部において仮想プラグインＶＰ及びグラフＧＲを用いているものの、当該仮想プラグインＶＰ及びグラフＧＲを直接的に表示しないことにより、ユーザに当該仮想プラグインＶＰ及びグラフＧＲの存在を意識させる必要なく、当該ユーザに対して、各チャンネルにおける入力端子部Ｃｉ（図１３）から出力端子部Ｃｏまでのオーディオ信号の流れを各エフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏと対応付けて意識させることができる。
【０１９１】
そのうえＣＰＵ２は、ユーザによりパッチベイ表示部ＷＰにおいて各プラグイン入力設定ボタンＢＰｉ及び各プラグイン出力設定ボタンＢＰｏに対するクリック操作やドラッグ操作を受け付けることにより、各エフェクトプラグインＥＰにおける入力ピンＰｉ及び出力ピンＰｏの各チャンネルに対する割当（すなわちピン割当状況）を変更することができる。
【０１９２】
これにより、例えばユーザがエフェクトに関する知識を有しており、各エフェクトの設定を細かく変更したいといった場合に、パッチベイ表示部ＷＰにおいて各プラグイン入力設定ボタンＢＰｉ及び各プラグイン出力設定ボタンＢＰｏを操作させることによりピン割当状況を変更することができるので、各エフェクトのピン割当状況を当該ユーザの嗜好にきめ細かく合致させることができる。
【０１９３】
この場合ＣＰＵ２は、ピン割当状況の変更結果に基づき再度仮想ピン接続処理を実行することによりグラフ内接続状態を更新でき、更新後のグラフ内接続状態に基づいてパッチベイ表示部ＷＰにおける接続線ＬＣの表示を更新できるため、ユーザにピン割当状況のみを変更させれば良く、またピン割当状況の変更前後で同一の仮想ピン接続処理を実行するだけで良い。
【０１９４】
以上の構成によれば、パーソナルコンピュータ１のＣＰＵ２は、信号処理アプリケーションプログラム３４の内部において仮想プラグインＶＰの仮想入力ピンＶｉ及び仮想出力ピンＶｏをそれぞれユーザに指定されたエフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏに割り当て、エフェクトプラグインＥＰの適用順序に応じてグラフＧＲ内に各仮想プラグインＶＰを配置し、仮想ピン接続処理により各仮想出力ピンＶｏと各仮想入力ピンＶｉとを接続することにより、元のオーディオ信号ＳＡのチャンネル数とエフェクトプラグインＥＰの入力ピンＰｉ及び出力ピンＰｏの数とが一致していなかったとしても、当該元のオーディオ信号ＳＡに対して複数のエフェクトプラグインＥＰにより順次エフェクトを適用してエフェクトオーディオ信号ＳＡＥを生成することができる。
【０１９５】
（５）他の実施の形態
なお上述した実施の形態においては、信号処理アプリケーションプログラム３４が５．１チャンネルサラウンド（すなわち６チャンネル）のオーディオ信号ＳＡに対してエフェクトを適用するようにした場合について述べたが、本発明はこれに限らず、当該信号処理アプリケーションプログラム３４が７．１チャンネルサラウンドや２チャンネルステレオ等の他のチャンネル数のオーディオ信号に対してエフェクトを適用するようにしても良い。この場合、仮想プラグインＶＰ及びグラフＧＲにおける仮想入力ピンＶｉ、仮想出力ピンＶｏ、入力端子Ｇｉ及び出力端子Ｇｏにおけるピン数をそれぞれチャンネル数に合わせるようにすればよい。
【０１９６】
また上述した実施の形態においては、離隔仮想ピン接続処理手順ＲＴ２に従って離隔した仮想プラグインＶＰの仮想出力ピンＶｏと仮想入力ピンＶｉとを接続するようにした場合について述べたが、本発明はこれに限らず、単純に隣接する仮想プラグインの仮想出力ピンＶｏと仮想入力ピンＶｉとを全て接続するようにしても良い。この場合、オフ状態又は不使用状態の仮想出力ピンＶｏ又は仮想入力ピンＶｉがある場合、１つの仮想プラグインＶＰ内で仮想入力ピンＶｉと仮想出力ピンＶｏとを直結すれば良い。
【０１９７】
さらに上述した実施の形態においては、信号処理アプリケーションプログラム３４、ＳｏｎｙＡＩｗｄ．ｄｌｌ３５及びＳｏｎｙＡＩｄｓ．ｄｌｌ３６（図３）を併用してオーディオ信号ＳＡに対してエフェクトを適用するようにした場合について述べたが、本発明はこれに限らず、例えば信号処理アプリケーションプログラム３４がオーディオデータ再生プログラム３１からのオーディオ信号ＳＡを直接取得してエフェクト適用後のエフェクトオーディオ信号ＳＡＥを直接ＤｉｒｅｃｔＳｏｕｎｄプログラム３２に受け渡す等、ソフトウェアモジュールの組み合わせを適宜変更しても良い。
【０１９８】
さらに上述した実施の形態においては、オーディオデータ再生プログラム３１から供給されるＤｉｒｅｃｔＳｏｕｎｄ出力に対応したオーディオ信号に対して信号処理アプリケーションプログラム３４によりエフェクトを適用するようにした場合について述べたが、本発明はこれに限らず、例えばＷａｖｅＯｕｔ出力に対応したオーディオデータ再生プログラムから供給されるＷａｖｅＯｕｔ形式のオーディオ信号に対して信号処理アプリケーションプログラム３４によりエフェクトを適用するようにしても良い。この場合、ＤｉｒｅｃｔＳｏｕｎｄプログラム３４に代えてＷａｖｅＯｕｔ出力に対応したＭｕｌｔｉｍｅｄｉａＥｎｇｉｎｅプログラムを利用するようにすればよい。
【０１９９】
さらに上述した実施の形態においては、パーソナルコンピュータ１内で実行されるオーディオデータ再生プログラム３１から供給されたオーディオ信号に対して信号処理アプリケーションプログラム３４によりエフェクトを適用するようにした場合について述べたが、本発明はこれに限らず、例えば外部のＣＤプレーヤ等から供給されるオーディオ信号に対して信号処理アプリケーションプログラム３４によりエフェクトを適用するようにしても良い。
【０２００】
さらに上述した実施の形態においては、信号処理アプリケーションプログラム３４が複数チャンネルのオーディオ信号ＳＡに対してエフェクトを適用するようにした場合について述べたが、本発明はこれに限らず、例えば複数箇所の気温をそれぞれデータ化した複数チャンネルの気温データや、電気回路上の複数箇所の電位をそれぞれデータ化した複数チャンネルの電位データ等、複数チャンネルでなる種々のデータに対して種々の信号処理を施す信号処理アプリケーションプログラムに本発明を適用するようにしても良い。
【０２０１】
さらに上述した実施の形態においては、仮想プラグインＶＰ及びグラフＧＲを信号処理アプリケーションプログラム３４内においてソフトウェアにより実現するようにした場合について述べたが、本発明はこれに限らず、当該仮想プラグインＶＰ及びグラフＧＲをハードウェアによって実装するようにしても良い。
【０２０２】
さらに上述した実施の形態においては、信号処理アプリケーションプログラム３４をハードディスクドライブ７に予め格納しておくようにした場合について述べたが、本発明はこれに限らず、例えば当該信号処理アプリケーションプログラム３４をＲＯＭ４や所定の不揮発性メモリ等といった他の記憶媒体に格納しておくようにしたり、又はＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）メディアやメモリースティック（登録商標）等の着脱自在な記憶媒体に格納しておき、所定のＣＤ−ＲＯＭドライブやメモリースティックスロット等を介して当該信号処理アプリケーションプログラム３４を読み出すようにしたり、あるいはネットワークインタフェース８を介して外部のサーバ等から当該信号処理アプリケーションプログラム３４が供給されるようにしても良い。この場合、信号処理アプリケーションプログラム３４は必ずしも実行可能な形式で供給される必要は無く、予め圧縮されたデータを展開してインストールしてから実行するようにしても良い。また各種エフェクトプラグインＥＰについても、必ずしも予めハードディスクドライブ７に格納されている必要は無く、ＣＤ−ＲＯＭメディアやメモリースティック（登録商標）等を介して供給されるようにしても良い。
【０２０３】
さらに上述した実施の形態においては、仮想入出力モジュールとしての仮想プラグインＶＰと、信号処理モジュールとしてのエフェクトプラグインＥＰと、割当制御手段としての信号処理アプリケーションプログラム３４とによって信号処理装置としてのパーソナルコンピュータ１を構成する場合について述べたが、本発明はこれに限らず、その他種々の構成でなる仮想入出力モジュールと、信号処理モジュールと、割当制御手段とによって信号処理装置を構成するようにしても良い。
【産業上の利用可能性】
【０２０４】
本発明は、オーディオ信号に対してエフェクトを適用する種々の電子機器でも利用できる。
【図面の簡単な説明】
【０２０５】
【図１】パーソナルコンピュータの構成を示すブロック図である。
【図２】ハードウェアとソフトウェアスタックとの関係を示す略線図である。
【図３】オーディオデータ再生時におけるソフトウェアの対応関係を示すブロック図である。
【図４】エフェクトプラグインの構成を示す略線図である。
【図５】仮想プラグインの構成を示す略線図である。
【図６】グラフの構成を示す略線図である。
【図７】グラフ内における仮想ピンの接続の説明に供する略線図である。
【図８】隣接仮想ピン接続処理手順を示すフローチャートである。
【図９】離隔仮想ピン接続処理手順を示すフローチャートである。
【図１０】バッファの構成を示す略線図である。
【図１１】仮想プラグインとバッファへのポインタとの対応を示す略線図である。
【図１２】エフェクト設定ウィンドウの表示の説明に供する略線図である。
【図１３】エフェクト設定ウィンドウにおけるパッチベイの表示の説明に供する略線図である。
【図１４】ピン状態パネルと仮想プラグインとの対応（１）を示す略線図である。
【図１５】ピン状態パネルと仮想プラグインとの対応（２）を示す略線図である。
【図１６】エフェクト設定ウィンドウと仮想プラグインとの対応（１）を示す略線図である。
【図１７】エフェクト設定ウィンドウと仮想プラグインとの対応（２）を示す略線図である。
【図１８】エフェクト設定ウィンドウと仮想プラグインとの対応（３）を示す略線図である。
【図１９】エフェクト設定ウィンドウと仮想プラグインとの対応（４）を示す略線図である。
【図２０】エフェクト設定ウィンドウと仮想プラグインとの対応（５）を示す略線図である。
【図２１】エフェクト設定ウィンドウと仮想プラグインとの対応（６）を示す略線図である。
【図２２】エフェクト設定ウィンドウと仮想プラグインとの対応（７）を示す略線図である。
【図２３】エフェクト設定ウィンドウと仮想プラグインとの対応（８）を示す略線図である。
【図２４】エフェクト設定ウィンドウと仮想プラグインとの対応（９）を示す略線図である。
【符号の説明】
【０２０６】
１……パーソナルコンピュータ、２……ＣＰＵ、７……ハードディスクドライブ、１１……ビデオインタフェース、１２……モニタ、１３……オーディオインタフェース、１４……スピーカ、３１……オーディオデータ再生プログラム、３４……信号処理アプリケーションプログラム、ＥＰ……エフェクトプラグイン、Ｐｉ……入力ピン、Ｐｏ……出力ピン、ＶＰ……仮想プラグイン、Ｖｉ……仮想入力ピン、Ｖｏ……仮想出力ピン、ＧＲ……グラフ、Ｇｉ……入力端子、Ｇｏ……出力端子、ＷＥ……エフェクト設定ウィンドウ、ＷＭ……メイン表示部、ＷＰ……パッチベイ表示部、ＰＡ……プラグイン割付部、ＰＡＳ……プラグイン割付スロット、ＰＢ……パッチベイ、ＰＢＳ……パッチベイスロット、Ｃｉ……入力端子部、Ｂｏ……出力設定ボタン、ＴＰ……ピン状態パネル、ＢＰｉ……プラグイン入力設定ボタン、ＢＰｏ……プラグイン出力設定ボタン。
【図１】
2006352578.tif 000003
【図２】
2006352578.tif 000004
【図３】
2006352578.tif 000005
【図４】
2006352578.tif 000006
【図５】
2006352578.tif 000007
【図６】
2006352578.tif 000008
【図７】
2006352578.tif 000009
【図８】
2006352578.tif 000010
【図９】
2006352578.tif 000011
【図１０】
2006352578.tif 000012
【図１１】
2006352578.tif 000013
【図１２】
2006352578.tif 000014
【図１３】
2006352578.tif 000015
【図１４】
2006352578.tif 000016
【図１５】
2006352578.tif 000017
【図１６】
2006352578.tif 000018
【図１７】
2006352578.tif 000019
【図１８】
2006352578.tif 000020
【図１９】
2006352578.tif 000021
【図２０】
2006352578.tif 000022
【図２１】
2006352578.tif 000023
【図２２】
2006352578.tif 000024
【図２３】
2006352578.tif 000025
【図２４】
2006352578.tif 000026