(57)【特許請求の範囲】
【請求項１】
コンピュータ上で起動されるプログラムであって、
指定されたファイル名を有するプラグインエフェクト・ファイルを前記コンピュータに読み込ませることにより、供給された波形データに第１の効果処理を施す第１のエフェクトプロセスを起動する第１の起動過程と、
入力波形データを前記第１のエフェクトプロセスに供給するとともに、該第１のエフェクトプロセスから出力された第１の効果処理データを受信する第１の効果処理過程と、
前記第１の起動過程により前記第１のエフェクトプロセスが起動された後で、ユーザからの再読込み指示に応じて、前記ファイル名を有する前記プラグインエフェクト・ファイルとはバージョンの異なる他のプラグインエフェクト・ファイルを前記コンピュータに読み込ませることにより、供給された波形データに第２の効果処理を施す前記第１のエフェクトプロセスとはバージョンの異なる第２のエフェクトプロセスを起動する第２の起動過程と、
前記入力波形データを前記第２のエフェクトプロセスに供給するとともに、該第２のエフェクトプロセスから出力された第２の効果処理データを受信する第２の効果処理過程と、
前記第２のエフェクトプロセスが起動する以前においては、前記第１の効果処理データを出力波形データとして出力するとともに、前記第２のエフェクトプロセスが起動されると、前記第２の効果処理データを出力波形データとして出力する出力波形データ切換過程と
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記第１の起動過程においては、格納領域にある前記プラグインエフェクト・ファイルが実行領域にコピーされて、該実行領域の前記プラグインエフェクト・ファイルが実行されることにより、前記第１のエフェクトプロセスが起動され、前記第２の起動過程においては、格納領域にある前記他のプラグインエフェクト・ファイルがユニークなファイル名で実行領域にコピーされて、該実行領域の前記他のプラグインエフェクト・ファイルが実行されることにより、前記第２のエフェクトプロセスが起動され、
前記第２のエフェクトプロセスが起動された際には、前記第１のエフェクトプロセスおよび前記第２のエフェクトプロセスが共に実行可能とされることを特徴とする請求項１記載のプログラム。
【請求項３】
前記第１のエフェクトプロセスに対して前記第１の効果処理のパラメータを指定する第１のパラメータ指定過程と、
前記第２のエフェクトプロセスが起動した後、該第２のエフェクトプロセスに対して、前記第１の効果処理のパラメータと同一のパラメータを指定する第２のパラメータ指定過程と
を前記コンピュータにさらに実行させることを特徴とする請求項１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽用のシーケンサソフトのプラグインエフェクト等の開発に用いて好適なプログラムに関する。
【背景技術】
【０００２】
従来より、コンピュータを用いた音楽作成に関連する各種機能（編集、録音、再生など）を実現するアプリケーションプログラム（音楽処理ソフトウェア）が知られている。このような音楽処理ソフトウェアにあっては、例えば特許文献１に開示されているように、プラグインエフェクト（エフェクトのプラグインモジュール）を追加することにより、機能を拡張することが可能である。
【０００３】
プラグインエフェクトは、音楽処理ソフトウェア本体のメーカのみならず、サードパーティにおいても開発が可能なように、そのインタフェースの仕様が公開されている場合が多い。ここで、プラグインエフェクトを開発中にテストする際には、
(１)まず音楽処理ソフトウェアを立ち上げ、
(２)音楽処理ソフトウェアによってプラグインエフェクトを起動し、
(３)プラグインエフェクトに対するパラメータ設定を行う
という三段階の手順が必要であった。なお、ステップ(２)については、音楽処理ソフトウェアの初期設定時に所定のプラグインモジュール用のディレクトリ（プラグイン・ディレクトリ）に格納されているプラグインエフェクトのみが起動対象とされる場合が多い。また、(３)について特許文献１には、新規に追加されたチャンネルにプラグインエフェクトが適用される場合には、所定のデフォルトデータに示されているエフェクトパラメータを当該モジュールに自動的に設定する技術が開示されている。
【０００４】
【特許文献１】特開２００５−２１７５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、プラグインエフェクトを開発している途中においては、プラグインエフェクトが頻繁に再作成（再コンパイル）される。ここで、「音楽処理ソフトウェアの初期設定時にプラグイン・ディレクトリに格納されているプラグインエフェクトのみが、その後に起動可能な音楽処理ソフトウェア」においては、再作成したプラグインエフェクトのテストを行うためには音楽処理ソフトウェアそのものを再起動しなければならず、非常に作業が煩雑になるという問題があった。
また、「音楽処理ソフトウェアを立ち上げた後にプラグイン・ディレクトリに格納されたプラグインエフェクトも起動可能な音楽処理ソフトウェア」においても、再作成したプラグインエフェクトのテストのためには、
(１)以前のプラグインエフェクトに係るプロセスを停止・解放し、
(２)再作成したプラグインエフェクトに係るプロセスを立ち上げ、
(３)立ち上げたプラグインエフェクト・プロセスのパラメータを再設定する、
という手順を踏まなければならず、やはり作業が煩雑になるという問題があった。
この発明は上述した事情に鑑みてなされたものであり、プラグインエフェクトのテストを迅速に実行できるプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載のプログラムにあっては、コンピュータ上で起動されるプログラムであって、指定されたファイル名を有するプラグインエフェクト・ファイルを前記コンピュータに読み込ませることにより、供給された波形データに第１の効果処理を施す第１のエフェクトプロセスを起動する第１の起動過程（ＳＰ２４）と、入力波形データを前記第１のエフェクトプロセスに供給するとともに、該第１のエフェクトプロセスから出力された第１の効果処理データを受信する第１の効果処理過程（４０，図２(a)）と、前記第１の起動過程により前記第１のエフェクトプロセスが起動された後で、ユーザからの再読込み指示（リロードボタン６２の押下）に応じて、前記ファイル名を有する前記プラグインエフェクト・ファイルとはバージョンの異なる他のプラグインエフェクト・ファイルを前記コンピュータに読み込ませることにより、供給された波形データに第２の効果処理を施す前記第１のエフェクトプロセスとはバージョンの異なる第２のエフェクトプロセスを起動する第２の起動過程（ＳＰ６０，ＳＰ７０〜ＳＰ８６）と、前記入力波形データを前記第２のエフェクトプロセスに供給するとともに、該第２のエフェクトプロセスから出力された第２の効果処理データを受信する第２の効果処理過程（４０，図２(b)）と、前記第２のエフェクトプロセスが起動する以前においては、前記第１の効果処理データを出力波形データとして出力するとともに、前記第２のエフェクトプロセスが起動されると、前記第２の効果処理データを出力波形データとして出力する出力波形データ切換過程（ＳＰ８２，４３，４４，４５）とを前記コンピュータに実行させることを特徴とする。
また、請求項２記載のプログラムにあっては、請求項１記載のプログラムにおいて、前記第１の起動過程においては、格納領域（プラグイン・ディレクトリ）にある前記プラグインエフェクト・ファイルが実行領域（テンポラリ・ディレクトリ）にコピーされて、該実行領域（テンポラリ・ディレクトリ）の前記プラグインエフェクト・ファイルが実行されることにより、前記第１のエフェクトプロセスが起動され、前記第２の起動過程においては、格納領域（プラグイン・ディレクトリ）にある前記他のプラグインエフェクト・ファイルがユニークなファイル名で実行領域（テンポラリ・ディレクトリ）にコピーされて、該実行領域（テンポラリ・ディレクトリ）の前記他のプラグインエフェクト・ファイルが実行されることにより、前記第２のエフェクトプロセスが起動され、前記第２のエフェクトプロセスが起動された際には、前記第１のエフェクトプロセスおよび前記第２のエフェクトプロセスが共に実行可能とされることを特徴とする。
さらに、請求項３記載の構成にあっては、請求項１記載のプログラムにおいて、前記第１のエフェクトプロセスに対して前記第１の効果処理のパラメータを指定する第１のパラメータ指定過程（図３(c)，ウィンドウ１２０における操作）と、前記第２のエフェクトプロセスが起動した後、該第２のエフェクトプロセスに対して、前記第１の効果処理のパラメータと同一のパラメータを指定する第２のパラメータ指定過程（４６，ＳＰ７８）とを前記コンピュータにさらに実行させることを特徴とする。
【発明の効果】
【０００７】
このように、本発明によれば、ユーザからの再読込み指示に応じて、第１のエフェクトプロセスに係るプラグインエフェクトと同一のファイル名を有するプラグインエフェクト・ファイルを読み込んで第２のエフェクトプロセスを起動し、しかる後に第２のエフェクトプロセスによる第２の効果処理データを出力波形データとして出力するから、プラグインエフェクトのテストを迅速に実行することが可能である。
【発明を実施するための最良の形態】
【０００８】
1．実施例のハードウエア構成
次に、本発明の一実施例のプラグインエフェクト試験装置の構成を図１を参照し説明する。
なお、本実施例の試験装置は、汎用パーソナルコンピュータと、該パーソナルコンピュータ上で動作する各種アプリケーションプログラムとによって構成されている。
図１において、２は通信インタフェースであり、ローカルエリアネットワークを介して他の機器との間で波形データのやりとりを行う。４は入力装置であり、文字入力用キーボードおよびマウス等から構成されている。６は演奏操作子であり、演奏用キーボード等から構成されている。
【０００９】
８はディスプレイであり、ユーザに対して各種情報を表示する。１０はＣＰＵであり、後述するプログラムに基づいて、バス１６を介して他の構成要素を制御する。１２はＲＯＭであり、試験装置を構成するパーソナルコンピュータのイニシャルプログラムローダ等が記憶されている。１８はリムーバルディスクドライブ装置であり、ＣＤ−ＲＯＭ、ＭＯ等のリムーバルディスク２０に対して読出し／書込みを行う。２２は波形取込インタフェースであり、外部から入力されたアナログ信号をデジタル信号に変換する。２４はハードディスクであり、オペレーティングシステム、各種アプリケーションプログラム、波形データ等が格納される。２６は波形出力インタフェースであり、バス１６を介して供給されたデジタルの楽音信号をアナログ信号に変換する。２８はサウンドシステムであり、該楽音信号を発音する。３０はＲＡＭであり、ＣＰＵ１０のワークメモリとして用いられる。
【００１０】
2．実施例の動作
2．1．処理の概要
本実施例のプラグインエフェクト試験装置は、音楽処理ソフトウェアによって呼び出されるプラグインエフェクトの開発を支援するための試験装置であり、試験的にプラグインエフェクトを呼び出す「MyHostプログラム」なるアプリケーションプログラムが実行されることにより、試験装置上でアプリケーションプロセスが起動される。このアプリケーションプロセスにおいては、ユーザの操作に基づいて、指定されたプラグインエフェクトが実行され、通常状態においては、エフェクト処理を行う一のプラグインエフェクト・プロセスが、アプリケーションプロセスの子プロセスとして起動される。
【００１１】
ここで、MyHostプログラムにおいては、適用されるプラグインエフェクトを随時切り換えることが可能である。切り換えを行う場合には、切換前後のプラグインエフェクトの双方の出力波形データをクロスフェードするため、切換時においては、二のプラグインエフェクト・プロセスが起動されることになる。切換前後のプラグインエフェクトは、全く異なる（ファイル名が異なる）プラグインエフェクトであってもよく、同一ファイル名のプラグインエフェクトの新旧のバージョンであってもよい。本明細書では、何れの場合においても、切換前に適用されていたプラグインエフェクトを「第１のプラグインエフェクト」と呼び、切換後に適用されるプラグインエフェクトを「第２のプラグインエフェクト」と呼ぶ。MyHostプログラムによって第１のプラグインエフェクトが起動されたとき、MyHostプログラムおよび第１のプラグインエフェクトの各プロセスによって実現される波形データ処理アルゴリズムのブロック図を図２(a)に示す。
【００１２】
図２(a)において４０は波形入力部であり、ハードディスク２４等に格納されたＭＰ３形式などの波形ファイルから読み出した波形データ、または波形取込インタフェース２２を介して供給される波形データを第１のプラグインエフェクト・プロセス４１に供給する。第１のプラグインエフェクト・プロセス４１においては、供給された波形データに対して効果処理が施され、その結果である第１の効果処理データが出力される。４８は波形出力部であり、受信した第１の効果処理データを、ハードディスク２４内の他の波形ファイルに格納し、あるいは波形出力インタフェース２６を介して該第１の効果処理データをサウンドシステム２８に出力する。なお、図２(a)において、波形入力部４０および波形出力部４８は、MyHostプログラムによるアプリケーションプロセスによって実現される。
【００１３】
ここで、ユーザが所定の操作を行うと、第２のプラグインエフェクトが実行され、第２プラグインエフェクト・プロセスが起動される。ここで、第２のプラグインエフェクトは、リロードの指定を伴って起動される場合と、リロードの指定を伴わずに起動される場合とがある。ここで、「リロード」とは、第１および第２のプラグインエフェクトが同一ファイル名を有する新旧バージョンのプラグインエフェクトであって、両者がパラメータを共有することをいう。この第２プラグインエフェクト・プロセスが起動された直後において、各プロセスによって実現される波形データ処理アルゴリズムのブロック図を図２(b)に示す。
【００１４】
図２(b)において４６はパラメータ供給部であり、第１のプラグインエフェクト・プロセス４１のパラメータメモリから、該プロセスに使用されているパラメータを取得し、取得したパラメータを第２のプラグインエフェクト・プロセス４２に供給する。これにより、第２のプラグインエフェクト・プロセス４２は、それ以前に第１のプラグインエフェクト・プロセス４１に適用されていたものと同一のパラメータによって効果処理データを出力する。但し、パラメータ供給部４６はリロード指定が行われた場合にのみパラメータの取得および供給を行うものであり、リロード指定が無かった場合（例えば第１および第２のプラグインエフェクトが異なるエフェクトである場合）には、パラメータ供給部４６は動作しない。
【００１５】
波形入力部４０は、第１および第２のプラグインエフェクト・プロセス４１，４２に対して同一の入力波形データを供給する。４３，４４はレベル調整部であり、プロセス４１，４２の出力する効果処理データをクロスフェードする。すなわち、レベル調整部４３は、プロセス４２が起動された後、所定期間内にプロセス４１の出力する効果処理データのゲインを「０ｄＢ」から「−∞ｄＢ」に徐々に低下させる。また、レベル調整部４４は、該所定期間内に、プロセス４２の出力する効果処理データのゲインを「−∞ｄＢ」から「０ｄＢ」に徐々に上昇させる。４５は加算部であり、レベル調整部４３，４４の出力する効果処理データを加算し、その加算結果を波形出力部４８に供給する。図２(b)においても、プロセス４１，４２以外の処理は全てアプリケーションプロセスによって実現される。
【００１６】
ここで、プロセス４２のゲインが「０ｄＢ」に達すると、プロセス４１が終了（解放）され、アプリケーションプロセスと第２のプラグインエフェクト・プロセス４２とによってのみ、波形データ処理アルゴリズムが構築される。その状態におけるアルゴリズムのブロック図を図２(c)に示す。図２(c)のアルゴリズムは、第１のプラグインエフェクト・プロセス４１に代えて第２のプラグインエフェクト・プロセス４２が適用されている点を除いて、図２(a)と同様である。
【００１７】
2．2．ユーザインタフェース
次に、本実施例におけるユーザインタフェースについて説明する。
図３(a)において、８０はMyHostプログラムに対応するアプリケーション・アイコンであり、８２はＭＰ３形式などの波形ファイルに対応する波形ファイルアイコンであり、８４は開発中のプラグインエフェクトに対応するＰＥアイコンである。これらアイコン８０，８２，８４は、ディスプレイ８のデスクトップウィンドウに表示されている。なお、図３(a)において波形ファイルアイコン８２およびＰＥアイコン８４は「１個」づつ図示しているが、実際には選択対象となり得る複数の波形ファイルアイコンおよびＰＥアイコンを表示させておくと好適である。ここで、ユーザがアイコン８０をマウスでダブルクリックすると、MyHostプログラムが起動され、該プログラムによってMyHostアプリケーションウィンドウ５０がデスクトップウィンドウに表示される。
【００１８】
MyHostアプリケーションウィンドウ５０の内部において５２はFileボタンであり、マウスでクリックされると、各種ファイル操作のメニューがディスプレイ８に表示される。５４はSetupボタンであり、マウスでクリックされると、図３(b)に示すセットアップ・ウィンドウ１００がディスプレイ８に表示される。なお、該ウィンドウ１００における動作については後述する。５６はHelpボタンであり、マウスでクリックされると、各種ヘルプ画面を表示するメニューがディスプレイ８に表示される。
【００１９】
５８は入力選択コンボボックスであり、波形入力部４０（図２(a)〜(c)参照）において波形データの入力元になる波形ファイルまたは波形入力デバイス（波形取込インタフェース２２等）を指定する。入力選択コンボボックス５８の右端において５８ａはヒストリボタンであり、マウスでクリックされると、図３(d)に示すような入力ヒストリ・リスト１３０がコンボボックス５８の下方に表示される。すなわち、アプリケーションプロセスにおいては、所定の初期設定ファイルに、過去に入力元として選択された波形ファイルおよび波形入力デバイスの履歴が「入力履歴」として記録されており、入力ヒストリ・リスト１３０には、この入力履歴の内容が表示される。これにより、ユーザはこの入力ヒストリ・リスト１３０から入力元を選択することも可能である。
【００２０】
６０はＰＥ選択コンボボックスであり、効果処理を実行するプラグインエフェクトのファイル名を指定する。ＰＥ選択コンボボックス６０の右端において６０ａはヒストリボタンであり、マウスでクリックされると、図３(d)に示すようなＰＥヒストリ・リスト１４０がコンボボックス６０の下方に表示される。すなわち、アプリケーションプロセスにおいては、上記初期設定ファイルに、過去に指定されたプラグインエフェクトのファイル名が「ＰＥ履歴」として記録されており、ＰＥヒストリ・リスト１４０には、このＰＥ履歴の内容が表示される。これにより、ユーザはこのＰＥヒストリ・リスト１４０からプラグインエフェクトを選択することも可能である。
【００２１】
６２はリロードボタンであり、現在選択されているプラグインエフェクトのリロードを指示するためのものである。すなわち、リロードボタン６２がマウスでクリックされると、現在選択されているプラグインエフェクトに係る第１のエフェクトプロセスに加えて、同一のプラグインエフェクト・ファイルに基づいて第２のエフェクトプロセスが起動され、先に図２(a)〜(c)において説明したように、効果処理に適用されるエフェクトプロセスが、パラメータを共有しつつ、第１のエフェクトプロセスから第２のエフェクトプロセスに切り替えられる。
【００２２】
６４はパラメータ編集ボタンであり、図３(c)に示すような、エフェクトプロセスのパラメータを編集するためのウィンドウ（詳細は後述する）をディスプレイ８に表示させる。６６は再生・停止ボタンであり、波形ファイルの再生状態（または波形入力デバイスからの波形入力状態）と、波形ファイルの再生停止状態（または波形入力デバイスからの波形入力停止状態）とをトグルで切り換える。６８はトラックバーであり、波形データの入力元が波形ファイルである場合に、ボタン６８ａによって現在の再生タイミングの表示および変更を行う。７０は音量バーであり、波形出力部４８（図２参照）から最終的に出力される波形データの音量をボタン７０ａによって増減する。
【００２３】
次に、上記Setupボタン５４の操作によって表示されるセットアップ・ウィンドウ１００の詳細を図３(b)を参照し説明する。なお、このウィンドウ１００は、アプリケーションプロセスにおける各種プロパティを設定するものである。１０２，１０４はサンプリング周波数選択ボタンであり、何れか一方が択一的にオン状態に設定され、「４８kＨz」または「９６kＨz」のうち何れかのサンプリング周波数を選択する。１０６は出力選択コンボボックスであり、効果処理データの出力先となる波形ファイルのファイル名、または波形出力デバイス（波形出力インタフェース２６等）を指定する。出力選択コンボボックス１０６の右端において１０６ａはヒストリボタンであり、マウスでクリックされると、上述したヒストリ・リスト１３０，１４０と同様のヒストリ・リスト（図示略）がコンボボックス１０６の下方に表示される。
【００２４】
１０８は履歴数設定部であり、各ヒストリ・リスト１３０，１４０等におけるヒストリ数を設定する。１１０はリピート・チェックボックスであり、入力元が波形ファイルである場合に、該波形ファイルを繰り返し再生するか否かを設定する。１１２はＯＫボタンであり、マウスでクリックされると、該ウィンドウ１００の設定内容がアプリケーションプロセスに反映されウィンドウ１００が閉じられる。１１４はキャンセルボタンであり、マウスでクリックされると、ウィンドウ１００の設定内容が放棄されウィンドウ１００が閉じられる。
【００２５】
次に、パラメータ編集ボタン６４によって表示されるパラメータ編集ウィンドウの一例を図３(c)を参照し説明する。ここで、図３(c)に示すウィンドウ１２０は、「コンプレッサ」のプラグインエフェクト・プロセスによって表示されるものの一例であり、実際のパラメータ編集ウィンドウの内容は、プラグインエフェクトの種類あるいはバージョンによって種々異なるものである。編集ウィンドウ１２０の内部において１２２はオン／オフ状態選択ボタンであり、プラグインエフェクトのオン／オフ状態をトグルで切り換える。ここで、オフ状態に設定された場合には、該プラグインエフェクトの入出力特性はフラットなものに設定される。
【００２６】
１２４は特性表示部であり、横軸を入力レベル、縦軸を出力レベルとして、コンプレッサの入出力特性をグラフ表示するものである。１２６はパラメータ調整ノブ画像であり、コンプレッサに係る各種パラメータを設定および表示する。なお、本ウィンドウ１２０においては、パラメータ調整ノブ画像１２６等が操作されると、その内容が直ちにパラメータに反映されるため、出力波形データを試聴しながらパラメータ調節を行うことが可能である。
【００２７】
2．3．MyHostプログラム・メインルーチンの動作
次に、MyHostプログラムが起動された場合の動作を説明するが、最初にMyHostプログラムの起動方法について説明しておく。
MyHostプログラムは、アプリケーション・アイコン８０（図３(a)参照）を単にマウスでダブルクリックすることによって起動することができるが、この場合には、波形データの入力元およびプラグインエフェクトが指定されない状態でMyHostプログラムが起動されることになる。一方、波形ファイルアイコン８２がアプリケーション・アイコン８０にドラッグアンドドロップされると、アイコン８２に係る波形ファイルが入力元として指定された状態でMyHostプログラムが起動される。また、ＰＥアイコン８４がアイコン８０にドラッグアンドドロップされると、ＰＥアイコン８４に係るプラグインエフェクトが指定された状態でMyHostプログラムが起動される。
【００２８】
さらに、アイコン８２，８４の双方を選択状態にしてアイコン８０にドラッグアンドドロップすることも可能であり、かかる場合には、入力元の波形ファイルおよびプラグインエフェクトの双方が指定された状態でMyHostプログラムが起動される。また、MyHostプログラムを起動した後に、MyHostアプリケーションウィンドウ５０に対して波形ファイルアイコン８２、ＰＥアイコン８４、またはこれらの双方をドラッグアンドドロップすることにより、プラグインエフェクトまたは入力元の波形ファイルを指定することも可能である。
【００２９】
MyHostプログラムが起動されると、図４のMyHostプログラム・メインルーチンが実行される。図４において処理がステップＳＰ２に進むと、所定の初期設定が行われる。その際には、MyHostプログラムのデフォルトのプロパティを規定した初期設定ファイルが読み込まれ、該デフォルトのプロパティがMyHostプログラムに設定される。次に、処理がステップＳＰ４に進むと、起動時に波形ファイルが（例えばドラッグアンドドロップによって）指定されたか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１２に進み、該波形ファイルがＲＡＭ３０の所定領域に読み込まれる。次に、処理がステップＳＰ１４に進むと、入力履歴が更新される。上述したように、入力履歴は入力ヒストリ・リスト１３０（図３(d)参照）を表示するための履歴であり、この入力履歴の先頭に今回指定された波形ファイルのファイル名が記録される。
【００３０】
一方、ステップＳＰ４において「ＮＯ」と判定されると、処理はステップＳＰ６に進む。ここでは、前回指定された入力元、すなわち入力履歴の先頭に記録されている入力元（波形ファイルまたは波形入力デバイス）が存在するか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１０に進み、該前回の入力元が波形データの入力元に設定される。一方、前回の入力元も存在しなければ、ステップＳＰ６において「ＮＯ」と判定され、処理はステップＳＰ８に進む。ここでは、試験装置に入力デバイス（波形取込インタフェース２２等）が設けられているか否かが判定され、設けられていれば該入力デバイスが波形データの供給元に設定される。なお、入力デバイスも設けられていない場合には、入力元は未指定状態になる。
【００３１】
次に、処理がステップＳＰ１６に進むと、起動時にプラグインエフェクトが指定されたか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ２４に進み、該ＰＥアイコン８４に係るプラグインエフェクト・ファイルが所定のテンポラリ・ディレクトリにコピーされ、起動される。プラグインエフェクトは、通常は「プラグイン・ディレクトリ」という所定のディレクトリに格納されているが、本実施例においては、プラグイン・ディレクトリ内のプラグインエフェクト・ファイルはバージョンアップなどによって適宜更新されることを想定している。そのため、本実施例においては、プラグインエフェクト・ファイルを他のディレクトリ（テンポラリ・ディレクトリ）に一時的にコピーし、このテンポラリ・ディレクトリ内のプラグインエフェクトを起動することとしている。次に、処理がステップＳＰ２６に進むと、ＰＥ履歴が更新される。上述したように、ＰＥ履歴はＰＥヒストリ・リスト１４０（図３(d)参照）を表示するための履歴であり、このＰＥ履歴の先頭に今回指定されたプラグインエフェクトのファイル名が記録される。
【００３２】
一方、ステップＳＰ１６において「ＮＯ」と判定されると、処理はステップＳＰ１８に進む。ここでは、前回指定されたプラグインエフェクト、すなわちＰＥ履歴の先頭に記録されているプラグインエフェクトがプラグイン・ディレクトリ内に存在するか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ２２に進み、該前回のプラグインエフェクトが上述したテンポラリ・ディレクトリにコピーされ起動される。一方、前回のプラグインエフェクトがプラグイン・ディレクトリ内に存在しない場合には、処理はステップＳＰ２０に進み、プラグインエフェクトが「スルー状態」（何もエフェクトを加えない状態）に設定される。
【００３３】
次に、処理がステップＳＰ２８に進むと、MyHostアプリケーションウィンドウ５０（図３(a)参照）がディスプレイ８に表示される。このステップＳＰ２８が終了したタイミングでMyHostプログラムに係るアプリケーションプロセスの起動が完了したことになり、波形データの入力と効果付与とはこの時点で既に開始されている。すなわち、入力元が未指定になっている場合を除いて、上記ステップＳＰ８，ＳＰ１０，ＳＰ１２の何れかにおいて入力元（波形ファイルまたは波形入力デバイス）が設定されると、該入力元からの波形データの入力が直ちに開始される。また、プラグインエフェクトによる効果付与についても同様であり、プラグインエフェクトが「スルー状態」である場合を除いて、上記ステップＳＰ２２，ＳＰ２４の何れかにおいてプラグインエフェクトが起動されると、該プラグインエフェクトによる効果付与も直ちに開始される。従って、入力元が未指定になっている場合を除いて、ステップＳＰ２８の終了時には、再生・停止ボタン６６はオン（再生）状態になっている。次に、処理がステップＳＰ３０に進むと、MyHostアプリケーションウィンドウ５０において何らかのイベントが生じたか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ３２に進み、生じたイベントに対応する処理が実行される。
【００３４】
2．4．イベント処理の具体例
2．4．1．ＰＥ選択コンボボックス６０における選択操作
次に、上記ステップＳＰ３２において実行されるイベント処理の具体例を説明する。まず、ＰＥ選択コンボボックス６０においてプラグインエフェクトが指定されると、その入力操作が「イベント」として検出され、図５(a)に示すイベントルーチンが起動される。図５(a)において処理がステップＳＰ４０に進むと、プラグイン・ディレクトリ内において、指定されたプラグインエフェクトがサーチされる。次に、処理がステップＳＰ４２に進むと、該プラグインエフェクトが存在するか否かが判定される。
【００３５】
ステップＳＰ４２において「ＮＯ」と判定されると、処理はステップＳＰ４４に進み、所定のエラーメッセージがディスプレイ８に表示され、本ルーチンの処理が終了する。一方、ステップＳＰ４２において「ＹＥＳ」と判定されると、処理はステップＳＰ４６に進み、ＰＥファイル読込サブルーチンが呼び出される。ところで、このＰＥファイル読込サブルーチンを呼び出すにあたっては、呼び出し元のルーチンでは、起動すべきプラグインエフェクトのファイル名と、「リロードの有無」とを指定する必要がある。
【００３６】
但し、ステップＳＰ４６においては、「リロード無」が指定されるため、第１および第２のエフェクトプロセス間ではパラメータは共有されない。次に、処理がステップＳＰ４８に進むと、ＰＥ履歴が更新される。すなわち、上述したステップＳＰ２６の処理と同様に、今回指定されたプラグインエフェクトのファイル名が、ＰＥ履歴の先頭に記録され、本ルーチンが終了する。
【００３７】
2．4．2．ＰＥアイコン８４のドラッグアンドドロップ
MyHostアプリケーションウィンドウ５０にＰＥアイコン８４がドラッグアンドドロップされると、図５(b)に示すイベントルーチンが起動される。図５(b)において処理がステップＳＰ５０に進むと、ＰＥファイル読込サブルーチンが呼び出される。その際、ドラッグアンドドロップされたＰＥアイコン８４に係るプラグインエフェクトのファイル名と、「リロード無」の指定とが該サブルーチンに渡される。次に、処理がステップＳＰ５２に進むと、上記ステップＳＰ４８と同様にＰＥ履歴が更新され、本ルーチンが終了する。
【００３８】
2．4．3．リロードボタン６２のクリック
MyHostアプリケーションウィンドウ５０においてリロードボタン６２がマウスでクリックされると、図５(c)に示すイベントルーチンが起動される。図５(c)において処理がステップＳＰ６０に進むと、ＰＥファイル読込サブルーチンが呼び出される。その際、現在起動されている第１のエフェクトプロセスに係るプラグインエフェクトと同一のファイル名と、「リロード有」の指定とが該サブルーチンに渡される。そして、本ルーチンはその後に直ちに終了する。
【００３９】
2．4．4．ＰＥファイル読込サブルーチンの処理
次に、上記ステップＳＰ４６，ＳＰ５０，ＳＰ６０において呼び出されるＰＥファイル読込サブルーチンの動作を図６を参照し説明する。
図６において処理がステップＳＰ７０に進むと、指定されたプラグインエフェクト・ファイルが、プラグイン・ディレクトリからテンポラリ・ディレクトリにコピーされる。その際、コピー先のファイルには、適宜ユニークなファイル名が付与される。また、コピー元のファイルのデータファイル（コピー元のファイルに適用されていたパラメータデータを記録するデータファイル）が存在する場合には、コピー先のファイルに適用されるデータファイルとしてテンポラリ・ディレクトリにコピーされる。次に、処理がステップＳＰ７２に進むと、テンポラリ・ディレクトリにコピーされた該プラグインエフェクト・ファイルがＲＡＭ３０内の所定領域に読み込まれる。次に、処理がステップＳＰ７４に進むと、新たに読み込まれたプラグインエフェクトが実行されることにより、新たなエフェクトプロセス、すなわち第２のエフェクトプロセスが起動される。
【００４０】
ところで、プラグインエフェクトに係るエフェクトプロセスが起動されたときには、ＲＡＭ３０内に当該エフェクトプロセス用のパラメータ領域が確保され、そのプラグインエフェクトの種類に応じたパラメータの初期値が設定される。これにより、起動されたエフェクトプロセスは、対応するパラメータ領域に記憶されたパラメータに基づいて、波形データに対する効果付与を行う。エフェクトプロセスにおいて付与される効果（周波数、振幅、位相等）の特性は、そのパラメータによって制御される。
【００４１】
次に、処理がステップＳＰ７６に進むと、本ルーチンの呼び出し時に「リロード有」の指定が有ったか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ７８に進み、先に起動されていた第１のエフェクトプロセスのパラメータ領域の内容が、第２のエフェクトプロセスのパラメータ領域にコピーされる。「リロード有」の指定が有った場合には、第１および第２のエフェクトプロセスは、同じプラグインエフェクトのバージョンの異なるものであるため、パラメータ領域におけるデータ構成が相互に同一であり、単純なコピーによってパラメータを引き継ぐことができる。一方、「リロード無」の指定とともに本ルーチンが呼び出された場合は、ステップＳＰ７６において「ＮＯ」と判定され、パラメータのコピーは実行されない。通常、異なるプラグインエフェクト間では、単純なコピーによってはパラメータを引き継ぐことができないため、「リロード無」が指定される。
【００４２】
次に、処理がステップＳＰ８０に進むと、クロスフェード処理が実行される。すなわち、図２においてレベル調整部４３のゲインが「０ｄＢ」から「−∞ｄＢ」に徐々に低下されると同時に、レベル調整部４４のゲインが「−∞ｄＢ」から「０ｄＢ」に徐々に上昇される。次に、処理がステップＳＰ８４に進むと、旧プラグインエフェクトに係る第１のエフェクトプロセスが停止され、該プロセスがＲＡＭ３０上から解放される。次に、処理がステップＳＰ８６に進むと、旧プラグインエフェクトのファイルがクローズされる。
【００４３】
2．4．5．その他イベント処理
図５，図６を参照して説明したイベント処理は、図４のステップＳＰ３２において呼び出される各種イベント処理の具体例であるが、上述した以外のイベントが生じた場合にも、当該イベントに応じた処理が実行される。例えば、図３(a)のMyHostアプリケーションウィンドウ５０においてパラメータ編集ボタン６４がマウスでクリックされると、ＰＥ選択コンボボックス６０において選択されているプラグインエフェクトに対応するパラメータ編集ウィンドウ（例えば図３(c)に示すウィンドウ１２０）を表示するイベント処理が実行される。
【００４４】
また、MyHostアプリケーションウィンドウ５０において、再生・停止ボタン６６がマウスでクリックされると、波形データの再生状態を切り替えるイベント処理が実行され、該再生状態が、オン（再生）またはオフ（停止）にトグルで切り替えられる。また、ウィンドウ５０のトラックバー６８においてボタン６８ａをドラッグアンドドロップするイベントが発生すると、ボタン６８ａのドロップ位置に応じて、波形データの再生タイミングを変更するイベント処理が実行される。また、ウィンドウ５０の音量バー７０においてボタン７０ａをドラッグアンドドロップするイベントが発生すると、ボタン７０ａのドロップ位置に応じて、音量を変更するイベント処理が実行される。
【００４５】
以上のように、本実施例によれば、ユーザが第２のプラグインエフェクトを起動すると、それ以前に起動されていた第１のプラグインエフェクトから第２のプラグインエフェクトにクロスフェードによって切り換えられるから、ユーザはプラグインエフェクトのテストを迅速に行うことが可能である。
さらに、「リロード有」が指定された場合には、第１のプラグインエフェクトに適用されていたパラメータが第２のプラグインエフェクトに自動的に適用されるから、第２のプラグインエフェクトに対して改めてパラメータを指定する手間も省くことが可能である。
【００４６】
3．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例のステップＳＰ６においては、入力履歴に記録された前回の入力元に対応する入力元の存在の有無をチェックするようになっていたが、それに加えて、それ以前の入力元についても順次チェックするようにしてもよい。その場合、まず、[１]前回の入力元の有無をチェックし、存在すればステップＳＰ１０に進み、存在しなければその前の入力元をチェックし、[２]チェックした入力元が存在すればステップＳＰ１０に進み、存在しなければその前の入力元をチェックし、以下[２]の処理を適宜の回数ないし入力履歴に記録のある限り繰り返すようにすればよい。
【００４７】
(2)同様に、上記実施例のステップＳＰ１８においては、ＰＥ履歴に記録された前回のプラグインエフェクトに対応するファイルの有無をチェックするようになっていたが、それに加えて、それ以前のプラグインエフェクトについても順次チェックするようにしてもよい。
【００４８】
(3)上記実施例においては、パーソナルコンピュータ上で動作するアプリケーションプログラムであるMyHostプログラムによって各種処理を実行したが、このMyHostプログラムのみをＣＤ−ＲＯＭ、メモリカード等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施例のプラグインエフェクト試験装置のハードウエアブロック図である。
【図２】プラグインエフェクト試験装置の波形データ処理アルゴリズムのブロック図である。
【図３】プラグインエフェクト試験装置に表示される各種ウィンドウを示す図である。
【図４】MyHostプログラムのメインルーチンのフローチャートである。
【図５】MyHostプログラムの各種イベント処理ルーチンのフローチャートである。
【図６】ＰＥファイル読込サブルーチンのフローチャートである。
【符号の説明】
【００５０】
４：入力装置、６：演奏操作子、８：ディスプレイ、１０：ＣＰＵ、１２：ＲＯＭ、１６：バス、１８：リムーバルディスクドライブ装置、２０：リムーバルディスク、２２：波形取込インタフェース、２４：ハードディスク、２６：波形出力インタフェース、２８：サウンドシステム、３０：ＲＡＭ、４０：波形入力部、４１：第１のプラグインエフェクト・プロセス、４２：第２のプラグインエフェクト・プロセス、４３，４４：レベル調整部、４５：加算部、４６：パラメータ供給部、４８：波形出力部、５０：MyHostアプリケーションウィンドウ、５２：Fileボタン、５４：Setupボタン、５６：Helpボタン、５８：コンボボックス、５８：入力選択コンボボックス、５８ａ：ヒストリボタン、６０：ＰＥ選択コンボボックス、６０ａ：ヒストリボタン、６２：リロードボタン、６４：パラメータ編集ボタン、６６：再生・停止ボタン、６８：トラックバー、７０：音量バー、８０：アプリケーション・アイコン、８２：波形ファイルアイコン、８４：ＰＥアイコン、１００：セットアップ・ウィンドウ、１０２，１０４：サンプリング周波数選択ボタン、１０６：出力選択コンボボックス、１０６ａ：ヒストリボタン、１０８：履歴数設定部、１１０：リピート・チェックボックス、１１２：ＯＫボタン、１１４：キャンセルボタン、１２０：パラメータ編集ウィンドウ、１２２：オン／オフ状態選択ボタン、１２４：特性表示部、１２６：パラメータ調整ノブ画像、１３０：入力ヒストリ・リスト、１４０：ＰＥヒストリ・リスト。
【図１】
0005145954.tif 000002
【図２】
0005145954.tif 000003
【図３】
0005145954.tif 000004
【図４】
0005145954.tif 000005
【図５】
0005145954.tif 000006
【図６】
0005145954.tif 000007