以下に、本発明の一実施形態であるミキシングシステムについて、添付図面を参照して、説明する。
《ミキシングシステムの全体構成》
図1は、本発明を適用したミキシングシステムの全体構成を説明するブロック図である。ミキシングシステムは、複数種類の音声信号処理装置(コンソール1、ミキシングエンジン2、及びI/O装置3)を含む複数のシステム構成装置(ノード)により構成される。本明細書では、システム構成装置のうちで、コンソール1、ミキシングエンジン2、及びI/O装置3のように、後述する音声信号回線(音声信号)を共有する装置を「音声信号処理装置」と呼び、PC6のような音声信号処理装置以外のシステム構成装置と区別する。つまり、1つのミキシングシステムとは、後述するオーディオネットワーク接続により接続され、全ての音声信号回線を共有している全ての音声信号処理装置と、それら音声信号回線を共有している音声信号処理装置に対して後述するコンピュータネットワーク接続されている全てのシステム構成装置(ノード)のまとまりである。ミキシングシステムでは、複数種類の音声信号処理装置が協働して、複数チャンネルの音声信号に対するミキシング処理を実現する。これにより、極めて大規模な(チャンネル数の多い)システムを構築することができる。なお、図1のシステムには、音声信号処理装置として、2台のコンソール1、3台のエンジン2、及び3台のI/O装置3が含まれているが、説明の便宜上、同じ種類の音声信号処理装置には同じ符号をつける。
《オーディオネットワーク接続》
オーディオネットワーク4は、音声信号処理装置1〜3の間をイーサネット(登録商標)規格のネットワークケーブルを用いて順次接続することにより形成されたリング型のネットワークである。本明細書において、オーディオネットワーク4を介した音声信号処理装置間の接続を「オーディオネットワーク接続(AN接続)」という。AN接続された各音声信号処理装置1〜3は、オーディオネットワーク4が提供する複数チャンネル分の音声信号回線を用いて、複数チャンネルの音声信号を他の音声信号処理装置へ略リアルタイム伝送することができる。AN接続された音声信号処理装置1〜3は、オーディオネットワーク4の全ての音声信号回線(全ての音声信号回線を用いて通信される全ての音声信号)を共有する。言い換えれば、AN接続された音声信号処理装置1〜3は、自機から出力された何れの音声信号も他の何れの音声信号処理装置に送信することができ、また、他の何れの音声信号処理装置から出力された何れの音声信号も自機で受信することができる。
オーディオネットワーク4が提供する全ての音声信号回線を共有する全ての音声信号処理装置1〜3(AN接続された全ての音声信号処理装置)は、それぞれ、自機が属するミキシングシステムを認識できる機構を有する。例えば、ミキシングシステムに対して固有のシステムナンバを割り当て、各音声信号処理装置1〜3のメモリに各自が属するミキシングシステムのシステムナンバを記憶しておくことで、各音声信号処理装置1〜3は、自身の属するミキシングシステムを認識することができる。
《コンピュータネットワーク接続》
コンソール1には、ハブ5を介してパーソナルコンピュータ(PC)6が接続されている。本実施例において、音声信号処理装置以外のシステム構成装置(PC6)は、オーディオネットワーク接続できない構成になっている。本明細書では、音声信号処理装置以外のシステム構成装置(PC6)と音声信号処理装置(コンソール1)の接続を、オーディオネットワーク接続(AN接続)と区別して、「コンピュータネットワーク接続(CN接続)」という。CN接続は、一般的なLAN(Local Area Network)接続である。CN接続された音声信号処理装置(コンソール1)と音声信号処理装置以外のシステム構成装置(PC6)音の間では、主に制御信号(制御データ)を通信する。これにより、例えば、CN接続されたPC6からコンソール1をリモート制御することができる。また、CN接続においては音声信号回線を確立しない。したがって、CN接続されたPC6とコンソール1との間で音声信号を共有しない。なお、例えばVoIP(Voice over Internet Protocol)のような、従来知られる音声信号通信プロトコルを利用することで、一般的なLAN接続(本明細書でいうCN接続)において音声信号を通信することは可能ではある。しかし、その通信速度或いは通信帯域は、AN接続における通信速度や通信帯域に比べて極めて遅い或いは狭い。そのため、一般的なLAN接続における音声信号通信プロトコルを用いて、AN接続で行われる音声信号通信とのリアルタイム性を確保しながら、音声信号を共有することは極めて困難である。したがって、本実施例では、CN接続においては音声信号回線を確立しない構成を採用している。
PC6は、ミキシングシステムの各音声信号処理装置と音声信号回線を共有しないが、該ミキシングシステムに属するシステム構成装置として設定される。PC6は1つのミキシングシステムにのみ帰属するよう設定される。PC6において自身が属する1つのミキシングシステムを認識する方法として、例えば、CN接続されたコンソール1とPC6が直接通信できるように、CN接続においてコンソール1を一意に特定できる情報をPC6のメモリに記憶させるとよい。CN接続の相手を一意に特定できる情報には、例えば、MACアドレス(Media Access Control address)、或いはIPアドレス等を利用する。PC6は、CN接続の相手を一意に特定できる情報に基づいてCN接続の相手を特定することで、自身が属するミキシングシステム(CN接続の相手が属するミキシングシステム)を認識できる。PC6のCN接続の相手(コンソール1)も、CN接続においてPC6を特定する情報をメモリに記憶して、自身にCN接続された装置のうちでPC6がミキシングシステムに属しているということを認識できるようにする。したがって、仮に、PC6がコンソール1とは別のミキシングシステムに属する音声信号処理装置と物理的に接続されていたとしても、PC6は複数のミキシングシステムに重複して帰属しない。
《インターネット接続》
また、PC6は、ハブ5を介してインターネット7に接続しており、インターネット7を通じてサーバコンピュータ8と各種データの通信を行うことができる。本明細書では、インターネット7を通じて装置を接続することを、他の接続と区別して「インターネット接続」という。PC6は、サーバコンピュータ8が提供するWebサイトにアクセスし、インターネット7を通じて、該Webサイトからプログラムやデータ等を取得することができる。また、図1のシステム構成では、コンソール1も、ハブ5を介してインターネット7にインターネット接続しており、インターネット7を通じてサーバコンピュータ8と各種データの通信を行うことができる。
《ミキシングシステムの構成の変更例について》
なお、図1に示すミキシングシステムは、PC6がハブ5を介してコンソール1にCN接続される構成を示したが、コンソール1に対して直接PC6をCN接続する構成であってもよい。この場合も、上述の通り、PC6は、CN接続されたコンソール1を特定する情報(MACアドレス或いはIPアドレス)を持つことで、自身が属するミキシングシステムを認識することができる。
《ミキシングシステムの動作の概要》
コンソール1は、ミキシングシステム全体の動作制御を行うシステム制御装置となり、ユーザによる各種パラメータの設定操作を受け付けて、該受け付けた操作に応じた指示(制御データ)を、オーディオネットワーク4経由で他の音声信号処理装置2,3に送信することで、他の音声信号処理装置の動作をリモート制御する。エンジン2は、コンソール1から与えられた指示に基づいて、I/O装置3を介して外部から入力された音声信号に対して音声信号に対するミキシング処理等の信号処理を行う。エンジン2で信号処理された音声信号は、I/O装置3を介して外部へ出力される。また、ユーザは、コンソール1において、エンジン2が実行している信号処理の内容(パラメータの値等)や、I/O装置3における音声信号の入出力レベル等の各種データをモニタすることができる。
PC6は、DAW(Digital Audio Workstation)ソフトウェアプログラムを実行することで、コンソール1と同様な、ミキシングシステム全体の動作制御を行うシステム制御装置として動作することができる。すなわち、システム制御装置として動作するPC6は、ユーザによる各種パラメータの設定操作を受け付けて、該受け付けた操作に応じた指示(制御データ)を、オーディオネットワーク4経由で他の音声信号処理装置2,3に送信することで、他の音声信号処理装置の動作をリモート制御することができる。
《音声信号のミキシング処理》
図2は、図1に示すミキシングシステムにおける音声信号に対するミキシング処理の動作を説明するブロック図である。図2に示すミキシング処理の動作は、音声信号処理装置であるコンソール1、エンジン2、及びI/O装置3が協働して実現する。
アナログ入力部(A入力)50は、例えば、マイク、各種楽器類、或いは、音楽再生装置等のアナログ音声信号入力元からのアナログ音声信号の入力を示す。また、デジタル入力部(D入力)51は、デジタル音楽機器等のデジタル音声信号入力元からのデジタル音声信号の入力を示す。A入力50及びD入力51は、各音声信号処理装置1〜3の音声信号入力機能(特にI/O装置3の音声信号入力機能)により構成される。アナログ入力50を介して入力された各アナログ音声信号は、サンプリング周期毎にデジタル音声信号に変換されて、入力パッチ52へ供給される。デジタル入力51を介して入力された各デジタル音声信号は、必要に応じてフォーマット変換等の必要なデジタル変換を経て、入力パッチ52へ供給される。
システム制御装置(コンソール1)は、入力パッチ52に対して、各入力系統(A入力50,D入力51)から供給された入力信号を、それぞれ、後段の入力チャンネル53の各入力チャンネルを割り当てる設定を行う。本明細書において「パッチ」とは、或る入力元に出力先を割り当てること(入力元に対してその出力先を接続すること)である。各出力先は、1つの入力元に対してのみ割り当てることが可能であり、同時に2つの入力元に対して割り当てることはできない。ユーザはシステム制御装置(コンソール1)において任意にパッチ設定の指示を入力することができる。ミキシングシステムでは、例えばI/O装置3の入力信号をエンジン2の入力チャンネルに割り当てるパッチ設定のように、オーディオネットワーク4越しにパッチ設定を行うことができる。この場合、パッチ設定には、入力元に出力先を割り当てる設定に加えて、オーディオネットワーク4における音声信号通信回線の経路設定(どの音声信号をどの回線で伝送するかに関する設定)も含まれる。
入力チャンネル(入力ch)53は、所定の複数(例えば128個)の信号処理チャンネルであって、入力ch53毎に、入力されたデジタル音声信号に対して、レベル調整、イコライジング、及び効果付与等を含む信号処理を行い、該処理済みの音声信号を後段のMIXバス54に出力する。MIXバス54は、所定の複数(例えば96個)のバスラインからなり、MIXバス54の各バスラインに対して1又は複数の入力ch53の出力信号が供給される。MIXバス54の各バスラインは、入力ch53から供給された1又は複数チャンネルの音声信号を混合して、混合した結果を出力チャンネル55へ出力する。出力ch55は、MIXバス54の各バスラインに対応する複数の信号処理チャンネルであって、出力ch55毎に、対応するバスラインから供給された音声信号に対してレベル調整等の信号処理を行う。これら入力ch53、MIXバス54及び出力ch55は、エンジン2のDSP部(後述の図3参照)が実行するマイクロプログラムの処理により実現される。
各MIX出力ch55の出力信号は、出力パッチ56へ供給される。出力パッチ56は、供給された各出力chの出力信号を、それぞれ、後段の出力系統に割り当てる設定を行う。出力系統には、アナログ出力(A出力)57及びデジタル出力(D出力)58がある。A出力57は、出力パッチ56から供給されたデジタル音声信号を、アナログ音声信号に変換して、外部の出力先へ出力する。A出力57の出力先は、例えばヘッドフォン、スピーカ、アンプ、或いはレコーダ等である。D出力58は、出力パッチ56から供給されたデジタル音声信号を、必要に応じてフォーマット変換等のデジタル変換して、外部の出力先へ出力する。D出力58の出力先は、例えばデジタル音声信号の入力を有する音響機器等である。
また、内蔵エフェクタ(内蔵EF)59及びプラグインエフェクタ(プラグインEF)60は、音声信号に対する効果付与(エフェクト)処理を、エンジン2のDSP部(後述の図3参照)に実行させるためのマイクロのプログラムによって構成される。内蔵EF59は、工場出荷時にエンジン2に予め組み込まれているプログラムである。プラグインEF60は、ユーザによって追加されたアプリケーションプログラムであって、装置の購入とは別に当該プログラムのライセンスを購入して、使用可能な状態となったプログラムである。内蔵EF59及びプラグインEF60には、それぞれ複数種類のエフェクトタイプに対応するマイクロプログラムが含まれる。
内蔵EF59及びプラグインEF60は、システムエフェクタ(システムEF)61及びインサーションエフェクタ(インサーションEF)62として利用することができる。システムEF61は、出力パッチ56の出力信号(MIX出力チャンネル55の出力信号)に対してエフェクト処理を施して、エフェクト処理済みの信号を入力パッチ52へ出力する。一方、インサーションEF62は、入力ch53に挿入されるエフェクタであって、入力ch53で処理している音声信号に対してエフェクト処理を施す。
ユーザは、内蔵EF59及びプラグインEF60から所望のエフェクトタイプを選択して、該選択したエフェクトタイプをシステムEF61又はインサーションEF62に割り当てることができる。エンジン2のDSPは、該選択されたエフェクトタイプに対応するマイクロプログラムに基づいて動作して、システムEF61又はインサーションEF62を実現する。DSPの演算リソースには限りがあるため、システムEFおよびインサーションEFとして使用可能なエフェクトの総数を定めておき、その総数の範囲で内蔵EF59及びプラグインEF60を、システムEF61及びインサーションEF62に割り当てる。
《各装置のハードウェア構成》
図3(a)〜(d)は、ミキシングシステムを構成する各装置のハードウェア構成を説明するブロック図であって、(a)はコンソール1、(b)はエンジン2、(c)はI/O装置3、及び(d)はPC6をそれぞれ示す。
《全ての装置に共通する構成》
図3(a)〜(d)において、CPU10,20,30,40、ROM(Read Only Memory)及びRAM(Random Access Memory)を含むメモリ11,21,31,41、コンピュータネットワーク端子(「PC I/O」)12,22,32,42、USB端子(USB I/O)13,23,33,43は、各音声信号処理装置(コンソール1、エンジン2,I/O装置3)と、音声処理装置以外の装置(PC6)に共通する構成要素である。各装置の各構成要素(各ブロック)は、CPUバス100,200,300,400を介してCPU10,20,30,40に対してデータ送受信可能に接続される。各装置のCPU10,20,30,40は、それぞれ、メモリ11,21,31,41に記憶された制御プログラムを実行し、その装置の全体的な動作を制御する。
コンピュータネットワーク端子(「PC I/O」)12,22,32,42は、音声信号処理装置1〜3と、音声信号処理装置以外のシステム構成装置(PC6)をCN接続するために用いるインターフェースである。PC I/O12,22,32,42は、また、各音声信号処理装置1〜3及びPC6をインターネット7に接続するためにも用いることができる。また、コンソール1とPC6は、それぞれのPC I/O12,42に接続されたハブ5を介して、インターネット7に接続される。
USB端子(USB I/O)13,23,33,43は、各音声信号処理装置1〜3、及びPC6に対して、USB(Universal Serial Bus)規格を用いてデータの読み書きを行う周辺機器(USB装置)を接続するためのインターフェースである。ミキシングシステムに属する各音声信号処理装置1〜3及びPC6は、それぞれUSB端子13,23,33,43を有しているので、いずれの音声信号処理装置1〜3及びPC6に対しても「USBドングル」を接続することができる。そして、いずれの音声信号処理装置1〜3及びPC6も、自機に接続されたUSBドングルに対してデータを書き込み、また、該USBドングルからデータを読み出すことができる。「USBドングル」については後述する。
《音声信号処理装置に共通する構成》
図3(a)のコンソール1、(b)のエンジン2、及び、(c)のI/O装置3には、それぞれ、オーディオ端子(A I/O)14,24,34及び、オーディオネットワーク端子(AN I/O)15,25,35が具備される。オーディオ端子(A I/O)14,24,34は、音声信号を入出力するインターフェースであって、図2のA入力50、D入力51、A出力57、及び、D出力58に相当する。AN I/O15,25,35は、各音声信号処理装置1〜3をオーディオネットワーク4にAN接続するためのインターフェースである。各音声信号処理装置1〜3は、AN I/O15,25,35を介して、オーディオネットワーク4に接続された他の音声信号処理装置との間で音声信号を含む各種データの送受信を行うことができる。
各音声信号処理装置1〜3において、A I/O14,24,34と、AN I/O15,25,35は、各装置の信号ルーティング(オーディオバス)16,26,36を介して接続されている。A I/O14,24,34とAN I/O15,25,35の間では、信号ルーティング16,26,36を介して、サンプリング周期毎に複数チャンネルのデジタル音声信号(サンプル波形データ)を伝送することができる。
《コンソールの構成》
図3(a)において、コンソール1には、操作パネルに設けられた表示部(P表示)17、ユーザによる各種操作を受け付けるパネル操作子(P操作子)18、各チャンネルの音声信号の音量レベルを調整する音量レベル調整用操作子(電動F)19が具備されている。表示部17は、例えば液晶ディスプレイ等の表示器であって、CPU10からCPUバス100を介して与えられた表示制御信号に基づき各種情報を表示する。パネル操作子16は、操作パネル上に配置された多数の操作子である。また、音量レベル調整用操作子19は、ツマミ部の操作位置がCPU10により電動制御される、いわゆる電動フェーダ(電動F)により構成される。また、コンソール1のA I/O14には、マイク入力用端子やヘッドフォン出力用端子などが含まれる。
ユーザは、コンソール1のパネル表示部17、パネル操作子18及び音量レベル調整用操作子19を用いて、エンジン2が実行する信号処理の各種パラメータの設定や、パッチ設定等を行うことができる。CPU10は、パネル表示部17、パネル操作子18及び音量レベル調整用操作子19の操作に応じて、リモート制御用データを発生する。コンソール1のメモリ11には、エンジン2が実行する信号処理をリモート制御するための各種パラメータの設定値を格納するカレントバッファ領域が設けられており、ユーザの操作に応じてCPU10が発生したリモート制御用データによりカレントバッファの内容が更新される。カレントバッファの内容は、オーディオネットワーク4を介して、ミキシングシステムを構成する他のシステム構成装置に送信され、該他のシステム構成装置内の各種設定に反映される。
《エンジンの構成》
図3(b)に示す通り、エンジン2には、音声信号に対する信号処理を行う信号処理部(DSP(Digital Signal Processing)部)27が設けられている。DSP部27は、1つのDSP(Digital Signal Processor)で構成してもよいし、バスで相互接続された複数のDSPで構成し、複数のDSPで信号処理を分散処理するようにしてもよい。DSP部27は、信号ルーティング(オーディオバス)26を介してA I/O24及びAN I/O25に接続されており、DSP部27と、A I/O24及びAN I/O25の間で、サンプリング周期毎に、複数チャンネルの音声信号(サンプル波形データ)を送受信できる。また、簡易ユーザインターフェース(簡易UI)28は、電源スイッチや動作チェック用のLEDインジケータなどを含むシンプルなユーザインターフェースである。また、エンジン2のA I/O24には、マイク入力用端子やヘッドフォン出力用端子などが含まれる。
AN I/O25及びA I/O24を介して入力された複数チャンネルの音声信号(主にI/O装置3から入力された音声信号)は、サンプリング周期毎に、信号ルーティング26を介してDSP部27に供給される。DSP部27は、サンプリング周期毎に、信号ルーティング26から供給された複数チャンネルの音声信号(サンプル波形データ)に対して、マイクロプログラムに基づく信号処理を行う。DSP部27が行う信号処理とは、音声信号に対するミキシング処理(図2に示す入力ch53、MIXバス54及びMIX出力ch55の動作)や、音声信号に対するエフェクト処理(図2の内蔵EF59及びプラグインEF60を用いたエフェクト処理(システムEF61及びインサーションEF62))である。なお、本明細書では、ミキシング処理とエフェクト処理(つまり音声信号に対する信号処理)を総称して音声信号処理ともいう。
DSP部27が実行する音声信号処理の各種パラメータは、コンソール1で発生したリモート制御用データ(カレントバッファの内容)に基づいて制御される。コンソール1で発生したリモート制御用データは、オーディオネットワーク4を介してエンジン2に供給される。エンジン2において、リモート制御用データは、AN I/O25を介してDSP部27に供給される。DSP部27で音声信号処理された複数チャンネルの音声信号(サンプル波形データ)は、サンプリング周期毎に、信号ルーティング26を介してAN I/O25又はA I/O24に供給され、AN I/O25を介してオーディオネットワーク4上の他の音声信号処理装置(I/O装置3)等へ出力されたり、A I/O24を介してヘッドフォン出力端子(モニタ用出力)へ出力されたりする。
《I/O装置の構成》
図3(c)のI/O装置3において、A I/O34は、多数チャンネルのアナログ音声信号またはデジタル音声信号の入力又は出力を行うインターフェースである。A I/O34は、アナログ音声信号入力機能、アナログ音声信号出力機能、又は、デジタル音声信号入出力機能を有するカードにより構成され、これらカードによって必要な変換処理(AD変換、DA変換、又はデジタル変換(フォーマット変換))が実行される。A I/O34は、複数チャンネル分のアナログ声信号入端子、複数チャンネル分のアナログ音声信号出力端子、又は、複数チャンネル分のデジタル音声信号入出力端子を含んで構成される。I/O装置3は、A I/O34を介して多数チャンネルの音声信号を外部の入力元から取り込んで、信号ルーティング36に供給すること、及び、信号ルーティング36から取り込んだ多数チャンネルの音声信号をA I/O34から外部の出力先へ出力する。
また、図3(c)に示す通り、I/O装置3は、簡易ユーザインターフェース(簡易UI)37を具備する。簡易UI37は、電源スイッチや動作チェック用のLEDインジケータなどを含むシンプルなユーザインターフェースである。また、I/O装置3は、前記AN I/O35に加えて、もう1つ別のAN I/O38(便宜上「第2のAN I/O」と称する)を具備している。第2のAN I/O38に接続されたネットワークケーブルを当該I/O装置3が属するミキシングシステムとは別のミキシングシステムに属するI/O装置のAN I/Oに接続することで、2つのミキシングシステムを連結することができる。「2つのミキシングシステムを連結する」とは、2つのミキシングシステム間で音声信号の一部を共有する、或いは、音声信号の一部を共有できる状態を形成することである。ただし、この場合であっても、I/O装置3は、AN I/O35を介してAN接続された1つのミキシングシステムに属するのみであって、第2のAN I/O38を介して接続された別のミキシングシステムに属することにはならない。なお、「2つのミキシングシステムを連結する」場合の別の構成例として、2つのミキシングシステム間で全ての音声信号を共有する、或いは、全ての音声信号を共有できる状態を形成する構成を採用してもよい。この場合、2つのミキシングシステム全体で1つのミキシングシステムとなる。
《PCの構成》
PC6は、汎用のパーソナルコンピュータであって、図3(d)に示す通り、ユーザインターフェースとして、表示部44と操作部(KB)45を具備する。表示部44は、液晶ディスプレイ等により構成され、CPU40の制御に基づく各種画面等の情報を表示する。操作部45は、キーボードやマウス操作子等である。メモリ41に記憶されたDAWプログラムをCPU40が実行することで、PC6は、前述の通り、コンソール1と同様な、ミキシングシステム全体の動作制御を行うシステム制御装置として動作しうる。
《USBドングル》
本明細書において「USBドングル」は、「プロテクトドングル」或いは「セキュリティドングル」などともいわれるハードウェアキーであって、可搬性に優れた小型のUSB接続型記憶媒体である。「USBドングル」は、ライセンス管理用記憶装置として機能するもので、ライセンス管理用の機構として、ミキシングシステムを構成するシステム構成装置(音声信号処理装置1〜3、及びPC6)のいずれかのUSB端子13,23,33,43に本USBドングルを接続しているときに限りライセンス管理すべきアプリケーションプログラムの実行(本起動)を許可する機構を有する。本実施例において、USBドングルは、CPU等の処理を行うための機構を持たない。詳しくは後述する通り、USBドングルは、ライセンス管理すべきアプリケーションプログラムと、該アプリケーションプログラムの実行(本起動)を許可するためのアクセスキー(ライセンス)を対応付けて記憶することにより、ライセンス管理用記憶装置として機能する。すなわち、ライセンス管理すべきアプリケーションプログラムは、ライセンス認証前(アクセスキーによる認証前)の段階では、その実行が許可(本起動)されないところ、詳しくは後述する処理によりUSBドングルに記録されたアクセスキーを用いたライセンス認証を行うことで、ミキシングシステムにおいてアプリケーションプログラムを実行(本起動)できるようになる。なお、図3(a)〜(d)において、USBドングルの図示は省略した。
《シリアルナンバ》
また、図3には示していないが、USBドングルを含む本ミキシングシステムを構成する全てのシステム構成装置(コンソール1、エンジン2、I/O装置3、PC6、及び、USBドングル)は、それぞれ固有のシリアルナンバを持っている。シリアルナンバは、それぞれ、対応する1つの装置を特定する装置特定情報であって、そのデータ形式は全ての装置で共通のデータ形式であることが好ましい。ミキシングシステムを構成する各システム構成装置は、シリアルナンバに基づいて、そのシリアルナンバに対応する1つの装置を特定することができる。
《USBドングルの記憶内容》
図4は、USBドングルの記憶内容を説明する概念図である。図4に示す通り、USBドングル70には、当該USBドングルのハードウェア装置に固有のシリアルナンバ63が記録されている。1つのUSBドングル70には、ユーザが購入したアプリケーションパッケージに含まれるアプリケーションプログラム65と、該アプリケーションパッケージに固有のプロダクトID66と、該アプリケーションプログラム65の実行(本起動)を許可するためのアクセスキー67が、互いに対応付けられた1組の情報セット64として記憶される。1つのUSBドングル70には、複数の情報セット64(図4では3つ)を記録することができる。図4において、「プロダクトID」、「アクセスキー」及び「プログラム」の各文字列の後に番号「♯1」、「♯2」及び「♯3」を付記して、各情報セット64の区別を示した。なお、各データの詳細な内容は後述する。
なお、本明細書では、売買の対象となるアプリケーションプログラムの製品を、「アプリケーションパッケージ」という。「アプリケーションパッケージ」は、図5(a)に示すアプリケーションプログラム65(「プログラム」)とプロダクトID66のまとまりに相当する。「アプリケーションプログラム」は、アプリケーションパッケージ中のアプリケーションプログラム65のみに相当する。なお、アプリケーションプログラムを指して「アプリ」との略称を用いることがある。
《アプリケーションパッケージの購入》
1つの情報セット64は、ユーザがアプリケーションパッケージを追加的に購入し、該購入したアプリケーションパッケージに含まれるアプリケーションプログラムの実行(本起動)を許可するためのアクセスキーを取得する毎に、以下に説明するデータ書き込み処理によってUSBドングル70に書き込まれる。図5(a)〜(e)は、USBドングルに対して図4に示す1つの情報セット64(アプリケーションプログラム65、プロダクトID66及びアクセスキー67)が記録されるまでのデータの遷移を説明するブロック図である。
図5(a)において、パッケージ販売サイト71は、ミキシングシステムで利用可能なアプリケーションプログラムをアプリケーションパッケージ(製品)として販売するインターネット7上のWebサイトである。ユーザは、PC6からインターネット7を通じてパッケージ販売サイト71にアクセスして、所望のアプリケーションパッケージを購入することができる。
ユーザは、購入したアプリケーションパッケージを、パッケージ販売サイト71から自己のPC6へダウンロードすることができる。これにより、図5(a)に示す通り、PC6には、パッケージ販売サイト71から送信された1つのアプリケーションパッケージを構成するアプリケーションプログラム65及びプロダクトID66(図において太線で示すデータ)が記録される。なお、購入したアプリケーションパッケージ(アプリケーションプログラム65及びプロダクトID66)の保存先は、例えばPC6に内蔵されたハードディスクなど、適宜の記憶媒体であってよい。なお、アプリケーションパッケージの購入に対する課金処理は、パッケージ販売サイト71における購入手続の中で行われるものとする。
《1つのアプリケーションプログラム》
アプリケーションプログラム65は、ミキシングシステムに所定の機能を追加するアプリケーションプログラムである。本実施例では、エフェクタ機能を追加するプラグインEF60(図2参照)として用いるアプリケーションプログラムを想定している。アプリケーションプログラム65には、実行対象のアプリケーションプログラムが持つ1つの機能、ここでは例えばエフェクタ機能を、ミキシングシステムにおいて実行あるいは制御するための全てのプログラムが格納されている。
「全てのプログラム」には、アプリのインストーラや、ミキシングシステムを構成する各システム構成装置で用いるアプリケーションプログラムが含まれる。各システム構成装置で用いるアプリケーションプログラムとは、各システム構成装置の機能種類(製品種類)に応じた複数種類のアプリケーションプログラム(装置別アプリケーションプログラム)であって、例えば、コンソール1で用いる画面表示用GUIプログラム(GUIは「Graphical user interface」の略)、エンジン2のDSP部27で用いるマイクロプログラム、或いは、PC6で用いる画面表示用GUIプログラムなどである。なお、一般的に、ミキシングシステムに所定の機能を追加するアプリに関してI/O装置3で用いる装置別アプリケーションプログラムはないが、仮にI/O装置3に簡単な表示部などが登載された構成であればGUIプログラムがあってもよい。
《1つのアプリケーションパッケージのプロダクトID》
プロダクトID66は、ユーザが購入したアプリケーションパッケージの各個体に固有のIDデータであって、該アプリケーションパッケージに含まれるアプリケーションプログラムを特定するアプリケーションプログラム特定情報(アプリ特定情報)を含んで構成される。アプリ特定情報は、例えば、アプリケーションパッケージの名称(アプリ名)である。アプリ名としては、例えば、そのアプリがエフェクト処理用アプリケーションプログラムである場合は、「リバーブ」や、「コーラス」のようなエフェクトの種類を表す名称などが考えられる。アプリ名が共通するアプリを、便宜上、「同じ種類のアプリ」と表現する。
ここで、プロダクトID66が各アプリケーションパッケージに固有のIDデータであるため、同じ種類のアプリを提供するアプリケーションパッケージであっても、別パッケージであれば、個々のパッケージのプロダクトID66全体は互いに異なる。また、プロダクトID66がアプリ特定情報(アプリ名)を含んで構成されるので、同じ種類のアプリを提供するアプリケーションパッケージであれば、別パッケージであっても、個々のパッケージのプロダクトID66の一部(アプリ名の部分)は互いに共通する。プロダクトID66に基づいて、当該プロダクトID66に対応する1つのアプリケーションパッケージを特定すること、及び、アプリ名により特定されるアプリケーションプログラム65を特定することが可能である。
なお、アプリケーションプログラムの取得は、パッケージ販売サイト71からデータをダウンロードする方法に限らず、プログラムを記録した可搬記録媒体(例えばCD‐ROMなど)をユーザが取得する方法であってもよい。また、プロダクトIDの取得は、パッケージ販売サイト71からデータをダウンロードする方法に限らず、例えばプロダクトIDのデータを記録した可搬記録媒体(例えばCD‐ROMなど)や、プロダクトIDを構成する文字列を記載した紙媒体等により物理的に取得する方法であってもよい。
《アクセスキーの発行とUSBドングルに対するデータ書き込み処理》
図6は、アクセスキーの発行とUSBドングルに対するデータ書き込み処理を説明するフローチャートである。以下の説明では、USBドングル70がPC6のUSB端子43に接続され、PC6がUSBドングル70へのデータ書き込み装置として機能する例について説明する。すなわち、PC6のCPU40が図6の処理を実行する。なお、図6では、PC6のCPU40が実行する処理と、後述するアクセスキー発行サイト72側で実行される処理が1つのフローチャートにまとめて描かれている。
ステップS1において、PC6のCPU40は、ライセンス管理すべき(アクセスキーを発行すべき)アプリケーションプログラムを特定するためのアプリケーションプログラム特定情報(アプリ特定情報)を取得する。この実施例では、ステップS1において、アプリ特定情報として、前記アプリケーションプログラムに対応するプロダクトID66を取得する。アプリ特定情報の取得方法としては、図5(a)のようにアプリケーションパッケージをパッケージ販売サイト71からPC6へダウンロードした場合には、PC6のCPU40は、ダウンロードされ記憶媒体に保存されたプロダクトID66を自動的に読み出す。また、例えばプロダクトID66が印刷物等の形態(紙媒体など)によって提供される場合には、PC6の表示部44に後述するアクセスキー発行サイト72が提供する所定の入力画面を表示して、該入力画面にプロダクトID66をユーザに手動入力させる。なお、本実施例では、前記ステップS1においてアプリ特定情報として、プロダクトID66自体(アプリケーションパッケージを特定する情報)を取得する構成を想定しているが、これに限らず、少なくともアプリケーションプログラムを特定するアプリ特定情報(アプリ名)のみを取得する構成(例えば、プロダクトIDからアプリ名を抽出する処理を行う構成)であってもよい。
ステップS2において、PC6のCPU40は、USB端子43に接続されたUSBドングル63からシリアルナンバ63を自動的に読み出す。図5(b)に示す通り、ステップS2によりUSBドングル70から読み出されたシリアルナンバ63(太線で囲むデータ)は、PC6に記録される。このステップS2により、PC6は、これから生成するアクセスキーの記録先となるライセンス管理用記憶装置を特定する装置特定情報(シリアルナンバ63)を取得する。
ステップS3において、PC6のCPU40は、前記ステップS1で取得したプロダクトID66と、前記ステップS2で取得したシリアルナンバ63を相互に対応付けられた1組の情報として、インターネット7を通じてアクセスキー発行サイト72へ送信する。なお、ステップS3では、プロダクトID66自体をアクセスキー発行サイト72へ送信するのではなく、プロダクトID66から、その一部であるアプリ特定情報(アプリ名)を抽出して、該抽出したアプリ名とシリアルナンバ63からなる1組の情報を送信するようにしてもよい。更に、別の例としては、前記抽出したアプリ名に基づく新たなデータを生成し、該生成したデータとシリアルナンバ63からなる1組の情報を送信してもよい。前記新たに生成するデータとしては、例えば、アプリ名と更に別の何らかのデータ(例えばユーザ名など)を組み合わせたデータなどが考えられる。いずれにしても、アプリ名とシリアルナンバ63の組を送信することが必須である。
《アクセスキーの発行》
アクセスキー発行サイト72は、パッケージ販売サイト71が販売するアプリケーションパッケージについてライセンス管理に用いるアクセスキー67を発行するインターネット上のWebサイトである。ステップS4において、アクセスキー発行サイト72は、前記ステップS3でPC6から送信された情報(プロダクトID66及びシリアルナンバ63のセット)を受信する。これにより、図5(c)に示す通り、アクセスキー発行サイト72には、PC6から送信されたプロダクトID66とシリアルナンバ63(太線で囲むデータ)が1組の情報として記録される。
アクセスキー発行サイト72では、前記ステップS4で受信したプロダクトID66の一部であるアプリ特定情報(アプリ名)と、アクセスキーの記録先となるUSBドングル70のシリアルナンバ63(装置特定情報)に基づいて、アクセスキー67を生成する(ステップS5)。生成されたアクセスキー67は、対応するアプリケーションプログラムを特定するアプリ特定情報とシリアルナンバ63を含んで構成されたデータであって、該アプリ特定情報により特定されるアプリケーションプログラムの起動を許可するために用いるものである。そして、アクセスキー発行サイト72は、前記ステップS5で生成されたアクセスキー67をPC6へ送信する(ステップS6)。なお、前記ステップS4〜S6は、アクセスキー発行サイト72を提供するサーバコンピュータのCPUが実行する処理である。
《USBドングルに対するデータ書き込み》
ステップS7において、PC6のCPU40は、前記ステップS6でアクセスキー発行サイト72から送信されたアクセスキー67を受信する。すなわち、ステップS4〜S7の処理は、アプリ特定情報(アプリ名)及び装置特定情報(シリアルナンバ63)に基づいて生成されるアクセスキー67(該アプリ特定情報により特定されるアプリの実行(本起動)を許可するために用いるアクセスキー)を取得するアクセスキー情報取得手段として機能する。図5(d)は、アクセスキー発行サイト72においてシリアルナンバ63とプロダクトID66の一部(アプリ名)に基づいてアクセスキー67が作成され、該作成されたアクセスキー67がPC6のメモリ41に記録される様子を示す。この段階では、PC6のメモリ41には、図5(d)に示す通り、該受信したアクセスキー67と、当該アクセスキーの生成に使用した各データ(本実施例ではシリアルナンバ63、プロダクトID66及びアプリケーションプログラム65)が記録される。
ステップS8において、PC6のCPU40は、前記ステップS7で受信したアクセスキー67に基づいて、アクセスキー67の生成に用いたプロダクトIDの一部(アプリ名)に対応するアプリケーションプログラム65及びプロダクトID66を特定し、特定したアプリケーションプログラム65及びプロダクトID66を抽出する。このステップS8の処理が、アプリ特定情報により特定されるアプリケーションプログラムを取得するアプリケーションプログラム取得手段として機能する。なお、本実施例では、少なくとも、アクセスキー67に対応するプロダクトID66を抽出することができれば、アプリケーションプログラム65が抽出できなくても処理をステップS9に進める。
前記ステップS8でプロダクトID66が抽出できなかった場合には、PC6の表示部44に、その旨を提示してから当該データ書き込み処理を終了する。この場合、次に述べるステップS9によるUSBドングルに対するデータの書き込みが行われずに、PC6上に用意された各データ(アクセスキー67、プロダクトID66、アプリケーションプログラム65及びシリアルナンバ63)及びアクセスキー発行サイト上の各データ(アクセスキー67、シリアルナンバ63、及びプロダクトID66)が全て消去されて、当該データ書き込み処理が終了することになる。
ステップS9において、PC6のCPU40は、該受信したアクセスキー67の生成に利用したシリアルナンバ63(USBドングル特定情報)によって特定されるUSBドングル70を抽出し、該シリアルナンバ63を持つUSBドングル70が抽出された場合(つまり該USBドングル70が自身に接続されている場合)、該抽出されたUSBドングル70に対して、前記ステップS7で受信したアクセスキー67、及び、前記ステップS8で特定したプロダクトID66及びアプリケーションプログラム65を、互いに対応する1組の情報セット64として書き込む。このステップS9の処理が、アクセスキー情報とアプリケーションプログラムを対応付けてライセンス管理用記憶装置へ記録する記録手段として機能する。
これにより、USBドングル70には、図5(e)に示す通り、アプリケーションプログラム65、プロダクトID66及びアクセスキー67からなる1つの情報セット64(太線で示す各データ)が記録される。また、前記ステップS8において、アクセスキー67に対応するアプリケーションプログラム65が抽出できなかった場合には、ステップS9において、アクセスキー67とプロダクトID66だけがUSBドングル70に記録される。すなわち、本実施例ではアクセスキー67と共にUSBドングル70に書き込むデータとしてプロダクトID66のみを必須とし、アプリケーションプログラム65は必須としない。
前記ステップS9のUSBドングル70に対するデータの書き込みが完了した後に、PC6のCPU40は、当該アクセスキー発行及びデータ書き込み処理のためにPC6上に用意された全てのデータ(アクセスキー67、プロダクトID66、アプリケーションプログラム65及びシリアルナンバ63)を消去して、当該データ書き込み処理を終了する。また、アクセスキー発行サイト72上に用意された全てのデータ(アクセスキー67、シリアルナンバ63、及びプロダクトID66)、も書き込み処理終了に伴い消去されてよい。
なお、前記ステップS9において、アクセスキー67の生成に利用したシリアルナンバ63(USBドングル特定情報)に対応するUSBドングル70を抽出できなかった場合(該シリアルナンバ63に対応するUSBドングル70が接続されていない場合)は、PC6のCPU40は、今回のアクセスキー生成を行うためにPC6に記録された全てのデータ(アクセスキー67、プロダクトID66、アプリケーションプログラム65及びシリアルナンバ63)を消去して、当該データ書き込み処理を終了する。また、アクセスキー発行サイト72に記録された全てのデータ(アクセスキー67、シリアルナンバ63、及びプロダクトID66)も書き込み処理終了に伴い消去されてよい。なお、USBドングル70が接続されていない場合、全てのデータを消去するのではなく、PC6に記録されたプロダクトID66だけは消去せずに残しておいてもよい。
《データ書き込み条件の変更例》
前記ステップS8及びS9では、USBドングル70に書き込むデータとしてプロダクトID66のみを必須とする(アプリケーションプログラム65は抽出されなくてもデータ書き込み処理を行う)構成を説明したが、その変更例として、アクセスキー67と共にUSBドングル70に書き込むデータとしてプロダクトID66のみならず、アプリケーションプログラム65も必須とする構成であってもよい。この場合、前記ステップS8において、PC6のCPU40は、アクセスキー67に基づいて、該アクセスキー67の生成に用いたプロダクトIDの一部(アプリ名)に対応するプロダクトID66を抽出する処理と、該アクセスキー67の生成に用いたプロダクトIDの一部(アプリ名)に対応するアプリケーションプログラム65を抽出する処理を行う。そして、PC6のCPU40は、前記ステップS8においてアプリケーションプログラム65及びプロダクトID66の双方が抽出できた場合に、アクセスキー67と共に、前記抽出したアプリケーションプログラム65及びプロダクトID66を、互いに対応する1組の情報セット64としてUSBドングル70に対して記録する。アプリケーションプログラム65及びプロダクトID66のいずれか一方が抽出できなかった場合には、PC6の表示部44に、その旨を提示して、USBドングルに対するデータの書き込みを行わずに、PC6に記録された各データ(アクセスキー67、プロダクトID66、アプリケーションプログラム65及びシリアルナンバ63)及びアクセスキー発行サイトに記録された各データ(アクセスキー67、シリアルナンバ63、及びプロダクトID66)を全て消去して、当該データ書き込み処理を終了する。
《アクセスキーの記録範囲等》
アクセスキー67の記録先となるUSBドングル70を特定する装置特定情報(シリアルナンバ63)を用いてアクセスキー67を生成し、該生成されたアクセスキー67をUSBドングル70に書き込むときに、該アクセスキー67に基づきUSBドングル70を特定するので、アクセスキー67(アクセスキー発行サイト72から受信したオリジナルのアクセスキー)の記録範囲は、アクセスキー67の作成に利用したシリアルナンバ63に対応するUSBドングル70の個体のみに限定することができる。
また、USBドングル70に記録されたオジナルのアクセスキー67は、ユーザが意図的に消去する場合にのみ消去されるものとし、システムやデバイスの電源をオフしたときや、アプリを停止したときなどに消去されることはない。ユーザが意図的に消去する場合とは、例えば、アクセスキー発行サイト72へアクセスキーの消去を依頼した場合である。例えば、既にアクセスキー67を取得したアプリケーションパッケージについて、新たに別のアクセスキーを取得する場合に、ユーザは、アクセスキー発行サイト72に対して既存のアクセスキー67の消去を依頼する。アクセスキー発行サイト72は、ユーザから依頼に基づきUSBドングル70に記録されたアクセスキー67の消去を行う。
また、アクセスキー67は、USBドングル70において、セキュアな領域に記録されるのが望ましい。例えば、USBドングル70として、ユーザが記憶内容を見ることの出来ない秘匿領域と、ユーザが記憶内容を見ることのできる非秘匿領域(通常領域)の2種の記憶領域を具備するものを使用し、情報セット64のうち機密性の高い情報(アクセスキー67や、プロダクトID66)を秘匿領域へ記録し、比較的機密性の低い情報(アプリケーションプログラム65)を非秘匿領域(通常領域)へ記録するとよい。さらに、USBドングルに記録されたデータの中身をユーザが参照できないように、データに対してプロテクトをかけておくとよい。特に秘匿領域に記録される機密性の高い情報、とりわけアクセスキー67はプロテクトの必要性が高い。データのプロテクト方法は、従来から知られるいかなる方法を用いてもよい。
以上説明したアクセスキーの発行とデータ書き込み処理により、データ書き込み装置として機能するPC6は、ライセンス管理すべきアプリを特定するためのアプリ特定情報(プロダクトID66の一部)と、ライセンス管理用記憶装置(USBドングル70)を特定する装置特定情報(シリアルナンバ63)を取得し、該取得した装置特定情報及びアプリ特定情報に基づいて生成されたアクセスキー67を取得することができる。そして、アクセスキー67を取得した後、該アクセスキー67の生成に用いたアプリ特定情報に基づいてアプリケーションプログラム65を特定し、特定されたアプリケーションプログラム65とアクセスキー67を対応付けてライセンス管理用記憶装置(USBドングル70)へ記録することができる。
これにより、1つのアプリケーションパッケージを構成するアプリケーションプログラム65及びプロダクトID66と、アクセスキー67を対応付けた情報セット64を、アプリケーションパッケージ毎に、USBドングル70へ記録することができ、アプリケーションプログラム65とアクセスキー67の対応付け(紐付け)や整理等のライセンス管理作業が簡易化される。また、アプリケーションプログラム65とアクセスキー67を対応付けてUSBドングル70に記録しているので、複数のアプリケーションプログラム65とアクセスキー67が存在する場合であっても、データの整理やライセンス管理に手間取ることはない。さらに、例えば、アクセスキー67をインターネット経由で取得する一方で、アプリケーションプログラム65はCD−ROMから取得する場合のように、アクセスキー情報とアプリの取得経路が異なっていても、そのライセンス管理作業には手間がかからない。したがって、アプリの追加記録作業を容易に行うことができるとともに、アクセスキー67を例えばインターネット経由などセキュアな環境下で取得することができるという優れた効果を奏する。
また、アプリケーションプログラム65は、ミキシングシステムを構成する複数種類の装置のそれぞれで必要な複数種類のプログラムを1つのパッケージとして纏めたものであり、そのパッケージに対して1つのアクセスキー67が発行されるので、この点でもライセンス管理が簡易化される。すなわち、本実施例のアクセスキーの発行とデータ書き込み処理により、アクセスキー67(ライセンス)を、インターネット経由のセキュアな環境で取得し、該取得したアクセスキー67(ライセンス)を維持できるとともに、アクセスキー67に対応するアプリケーションプログラム65のライセンス管理作業を、わかりやすく手間をかけずに行うことができる。
なお、上記の説明では、音声信号処理装置以外のシステム構成装置であるPC6がデータ書き込み装置として機能する構成を想定したが、これに限らず、音声信号処理装置1〜3(典型的にはコンソール1)がデータ書き込み装置として機能してもよい。この場合、データ書き込み装置として機能する音声信号処理装置1〜3(典型的にはコンソール1)が、インターネット7にインターネット接続され、且つ、その装置のUSB端子にUSBドングル70が接続された状態で、図6のデータ書き込み処理を行う。
《アプリのインストール》
図7は、USBドングル70に記録されたアプリケーションプログラム65をミキシングシステムにインストールする処理を説明するフローチャートである。このインストール処理は、ユーザによるインストール実行指示を受け付けた装置(典型的にはコンソール1又はPC6)で起動する。ここでは、一例として、コンソール1においてインストール実行指示が行われた場合(コンソール1がインストール装置として機能する場合)について説明する。なお、以下に説明するインストール処理ではアクセスキー67は使用されない。
ユーザは、コンソール1のユーザインターフェースを用いて、インストールの実行指示を入力する。例えば、コンソール1のCPU10は、パネル表示部17に、USBドングル70に記録されている全てのアプリが一覧表示されるインストール実行用画面を表示して、ユーザによるインストールの実行指示を受け付ける。ユーザは、該一覧表示の中からインストール対象とするアプリを選択することで、その選択したアプリケーションプログラム65を対象とするインストール実行指示を入力することができる。
ステップS10において、コンソール1のCPU10は、自機のUSB端子13に接続されたUSBドングル70にユーザによってインストール対象に指定されたアプリケーションプログラム65が記録されているか否かを確認する。このステップS10では、処理主体となるコンソール1のUSB端子13に直接接続されたUSBドングル70のみを検索対象とする。
コンソール1のUSB端子13にUSBドングル70が接続されており、該USBドングル70にインストール対象のアプリケーションプログラム65が記録されていれば(ステップS11のYES)、処理をステップS14に進める。一方、コンソール1のUSB端子13にUSBドングル70が接続されていない場合、又は、USB端子13に接続されたUSBドングル70にインストール対象のアプリケーションプログラム65が記録されていない場合(ステップS11のNO)には、処理をステップS12に進める。
ステップS12において、コンソール1のCPU10は、自機が属するミキシングシステムを構成する他の全ての装置に対して、各々に接続されたUSBドングル70にインストール対象のアプリケーションプログラム65が記録されているか否かを問い合わせて、該問い合わせに対する応答を待つ。問い合わせ行うミキシングシステムの範囲は、ミキシングシステムを構成する全てのシステム構成装置、すなわち、互いにAN接続された複数の音声信号処理装置(コンソール1、エンジン2、及びI/O装置3)及び該音声信号処理装置にCN接続された音声信号処理装置以外のシステム構成装置(PC6)を含む範囲である。
前記ステップS12の問い合わせに応じて、コンソール1と同じミキシングシステムに属する他の装置は、それぞれ、自身のUSB端子に接続されたUSBドングル70にインストール対象のアプリケーションプログラム65が記録されているか否かを検索する。そして、インストール対象のアプリケーションプログラム65を検出した装置は、コンソール1に対してその旨の応答を行う。USBドングル70が接続されていない装置、及び、自身に接続されたUSBドングル70にインストール対象のアプリケーションプログラム65が記録されていない装置は、応答しなくてよい。
コンソール1のCPU10は、前記インストール対象のアプリケーションプログラム65を検出した装置からの応答を受信すると、該応答をした1つの装置をインストール対象のアプリケーションプログラム65の読み込み元として認識する(ステップS13)。そして、コンソール1のCPU10は、自身のUSB端子13に接続されたUSBドングル70、又は、前記ステップS13で読み込み元として認識した装置のUSB端子に接続されたUSBドングル70から、インストール対象のアプリケーションプログラム65を読み出す(ステップS14)。
前記ステップS10〜S14により、インストール装置として機能するコンソール1は、その装置が属するミキシングシステムを構成する全てのシステム構成装置(全ての音声信号処理装置及び音声信号処理装置以外のシステム構成装置)を検索対象としてインストール対象に指定されたアプリケーションプログラム65を記録したUSBドングル70を検索して、該検索により抽出されたUSBドングル70(ライセンス管理用記憶装置)からインストール対象のアプリケーションプログラム65を読み出すことができる。本実施例では、USBドングル70にアプリケーションプログラム65が記録された状態というのは、前記図6で説明したアクセスキー発行及びデータ書き込み処理後の状態であるから、結果的には、コンソール1のCPU10は、インストール対象に指定されたアプリケーションプログラム65とアクセスキー67を対応付けた情報セット64を記録したUSBドングル70からインストール対象のアプリケーションプログラム65を読み出す処理を行うことになる。
なお、前記ステップS12の問い合わせに対して、いずれの装置からも応答がない場合(つまり、ミキシングシステムを構成するいずれの装置にもインストール対象のアプリケーションプログラム65を記録したUSBドングル70が接続されていない場合)には、コンソール1のCPU10は、本インストール処理を終了する。
コンソール1のCPU10は、前記ステップS14で読み出したアプリケーションプログラム65に含まれるインストーラを実行して、コンソール1で必要なアプリをインストールする(ステップS15)。これにより、インストール対象のアプリケーションプログラム65のうちで、コンソール1で必要なアプリ(例えば画面表示用GUIプログラム)がコンソール1のメモリ11に書き込まれ、該GUIプログラムがコンソール1で実行可能な状態になる。
ステップS16において、コンソール1のCPU10は、ミキシングシステムを構成する他の全てのシステム構成装置に対して、インストール対象のアプリケーションプログラム65に関して、各装置で必要なアプリケーションプログラムを問い合わせる。各システム構成装置で「必要なアプリケーションプログラム」は、インストール対象とされているアプリケーションプログラム65に含まれている装置別アプリケーションプログラムであって、例えばコンソール1に対する画面表示用GUIプログラムや、エンジン2に対するDSP部27のマイクロプログラムである。
前記問い合わせを受信した各システム構成装置のCPUは、該問い合わせに応じて、自機に必要な装置別アプリケーションプログラムを確認して(ステップS17)、各自で必要な装置別アプリケーションプログラムをコンソール1に対して要求する(ステップS18)。コンソール1に対して要求する装置別アプリケーションプログラムは、インストール対象のアプリケーションプログラム65のうち、その装置(プログラムを要求する側の装置)で必要な装置別アプリケーションプログラムであって、未だ自機にインストールされていない装置別アプリケーションプログラムである。従って、必要な装置別アプリケーションプログラムが既にインストール済みの装置や、装置別アプリケーションプログラムが不要の装置(例えばI/O装置3)は、装置別アプリケーションプログラムの要求を送信しない。
コンソール1のCPU10は、前記ステップS18において各システム構成装置から送信されたプログラムの要求を受信する(ステップS19)。前記ステップS15〜S19により、インストール装置として機能するコンソール1は、自身が属するミキシングシステムを構成する全ての装置の中から、プログラムのインストールを必要とする装置を抽出すること、及び、抽出された装置毎にインストールすべき装置別アプリケーションプログロムを特定することができる。
コンソール1のCPU10は、前記ステップS19で受信した要求に応じた装置別アプリケーションプログロムを、前記ステップS14で読み出したインストール対象のアプリケーションプログラム65から取り出して、該取り出したアプリケーションプログラム65に含まれる装置別アプリケーションプログラムプログラムを、それぞれ対応するシステム構成装置へ送信するとともに、各装置に対して装置別アプリケーションプログロムのインストールを指示する(ステップS20)。
そして、前記プログラムを受信した各システム構成装置は、該受信したプログラムを各自でインストールする。例えば、コンソール1は、エンジン2に対してインストール対象のアプリケーションプログラム65の中から、DSP用のマイクロプログラムを取り出して送信し、また、PC6に対してインストール対象のアプリケーションプログラム65からGUIプログラムを取り出して送信する。エンジン2のCPU20は、コンソール1から受信したマイクロプログラムをメモリ21に書き込み、該マイクロプログラムをDSP部27で実行可能な状態にする。また、PC6のCPU40は、コンソール1から受信したGUIプログラムをメモリ41に書き込み、該GUIプログラムを実行可能な状態にする。なお、インストール処理が終了した状態では、ミキシングシステム内の各システム構成装置に対して、それぞれ必要な装置別アプリケーションプログラムがインストールされただけであって、アプリの実行自体は行われない。
以上説明した図7のインストール処理により、インストール装置として機能するコンソール1は、USBドングル70(ライセンス管理用記憶装置)からインストール対象のアプリケーションプログラムを読み出し、且つ、ミキシングシステム内の全てのシステム構成装置を検索対象として、プログラムのインストールを必要とする装置と、その装置の種類に対応する装置別アプリケーションプログラムを特定する。そして、特定した各音声信号制御装置に対して、読み出したアプリケーションプログラムのうちの、その装置の種類に対応する装置別プログラムを送信し、該送信した装置別アプリケーションプログラムのインストールを指示する。
これにより、コンソール1(インストール装置)が属するミキシングシステムを構成する全てのシステム構成装置(全ての音声信号処理装置及び音声信号処理装置以外のシステム構成装置)に対して、各自で必要なアプリケーションプログラム(装置別アプリケーションプログラム)を一括してインストールすることができる。したがって、ミキシングシステムにおいて、個々のシステム構成装置に対するアプリのプググラムの追加的インストール作業を簡易に行うことができる。また、ミキシングシステムを構成する全てのシステム構成装置を検索対象としてUSBドングル70を検索するので、インストール装置として機能するコンソール1のUSB端子13にUSBドングル70が接続されている場合に限らず、ミキシングシステム中のどこかにUSBドングル70が存在していれば、該検索により抽出されたUSBドングル70からインストール対象のアプリケーションプログラム65を読み出し、読み出したアプリを各装置にインストールすることができる。また、プログラム65のインストール後に、そのプログラムを実行(本起動)するために用いるアクセスキー67は、該プログラム65に対応づけてUSBドングル70に記憶されているので、プログラムの実行(本起動)のときには、アクセスキー67の記録場所を探したりする手間をかけずに、アクセスキー67を用いたプログラムの実行(本起動)の認証処理をスムーズに行うことができる。つまり、複数の音声信号制御装置を含む複数のシステム構成装置からなる音声信号処理システムにおいて、アプリケーションプログラムのライセンス管理(不正使用の防止)を適切に行うとともに、アプリケーションプログラムの追加導入作業を簡易に行うことができる。
なお、上述したインストール処理では、USBドングル70に記録されたアプリをインストールする構成を想定しており、前述の通り、図6で説明したアクセスキー発行及びデータ書き込み処理後の状態(USBドングル70にアクセスキー67とアプリケーションプログラム65が記録された状態)を前提としている。しかし、インストール処理では、アクセスキーを使用しないので、例えば、アプリケーションパッケージを購入した後、アクセスキー発行及びデータ書き込み処理を行う前に、ミキシングシステムにアプリケーションプログラムをインストールしておくということは、可能である。
《アプリ設定画面》
図8に示すアプリ設定画面は、前記図7に示すインストール処理によりインストールされたアプリについて各種設定作業を行う画面であって、コンソール1又はPC6で起動することができる。本実施例では、コンソール1のパネル表示部17にアプリ設定画面が表示され、コンソール1のユーザインターフェースを用いてアプリの各種設定作業を行うことを想定している。
図8において、アプリ設定画面は、複数段の仮想的ラック部80を有し、各仮想的ラック部に1つずつアプリを割り当てることができる。1つのラック部80において、アプリ選択用仮想スイッチ81は、当該ラック部80に割り当てる1つのアプリを選択するスイッチ画像(以下、単に「選択スイッチ81」という)である。選択スイッチ81の操作に応じて、コンソール1のCPU10は、自己(コンソール1)にインストールされているアプリの一覧(アプリ名のリスト)をパネル表示部17に表示して、ユーザに1つのアプリを選択させる。ユーザは、アプリの一覧から1つのアプリを選択し、該選択されたアプリを当該ラックに割り当てることができる。本実施例では、エフェクタ機能を追加するアプリ(図2のプラグインEF60)を選択することを想定している。
アプリ表示部82は、ユーザによって選択されたアプリのアプリ名が表示される領域である。図8では、最上段のラック部80に「リバーブ」機能を有するアプリが割り当てられ、上から2段目のラック部80に「コーラス」機能を有するアプリが割り当てられた状態を例示している。入力元設定部83は、選択されたアプリ(エフェクタ)に入力する音声信号の入力元を設定する領域であって、現在設定されている入力元を特定する情報(例えばチャンネル番号)が表示される。出力先設定部84は、選択されたアプリ(エフェクタ)から出力する音声信号の出力先を設定する領域であって、現在設定されている出力先を特定する情報(例えばチャンネル番号)が表示される。
《アプリの仮起動》
前記選択スイッチ81は、「アプリの仮起動」を指示するための仮起動指示手段として機能する。本明細書において、「アプリの仮起動」は、アプリの実行(本起動)に一定のプロテクトをかけた状態で、そのアプリに関するパラメータ設定を受け付けることができる起動状態である。アプリの仮起動が指示されたとき、コンソール1のCPU10は、少なくともエンジン2のDSP部27の「バイパスパラメータ」をオンに設定することで、該アプリに関するマイクロプログラムに基づく音声信号処理(エフェクト処理)を無効化し、アプリの実行(本起動)に一定のプロテクトをかける。これが、コンソール1のCPU10により実現される無効化手段の動作である。ここで「一定のプロテクト」とは、そのアプリによる信号処理の結果をユーザが利用できないようにすることである。この「仮起動」に対して、前記プロテクトを解除した状態を「本起動」という。コンソール1のメモリ11には、アプリの起動状態を表すデータ(アプリが仮起動中か又は本起動中かを表すデータ)が用意される。コンソール1のCPU10は、仮起動指示および本起動指示に応じてアプリの起動状態を表すデータを書き換えたり、必要に応じてアプリの起動状態を表すデータを参照したりする。
ユーザは、選択スイッチ81を用いて、1つのアプリを選択することで、該選択したアプリの仮起動を指示する。アプリの仮起動が指示されたとき、コンソール1のCPU10は、アプリの起動状態を表すデータとして、「仮起動中」を表すデータを設定し、且つ、仮起動が指示されたアプリ(GUIプログラム)に対してパラメータの編集に必要なリソースの割り当てる。これはコンソール1のCPU10によって実現されるリソース割り当て手段の動作の一部である。例えば、コンソール1のCPU10は、メモリ11のカレントバッファ領域に、そのアプリに関するパラメータ群を記録するための領域を確保して、その領域に該アプリの各種パラメータの値を設定する。これにより、コンソール1において、仮起動指示されたアプリのパラメータ編集機能(エディタ)が利用可能になり、該アプリに関する各種パラメータの設定を受け付けることができる状態となる。
また、コンソール1のCPU10は、アプリの仮起動の指示に応じて、仮起動されたアプリの各種パラメータの値が追加設定された後の前記カレントバッファ領域の状態を、エンジン2に反映させる。これはコンソール1のCPU10によって実現されるリソース割り当て手段の動作の一部である。エンジン2は、前記カレントバッファ領域の設定値を各種の音声信号処理部(DSP部27)へセットして、それらの音声信号処理(エフェクト処理)を開始する。ただし、仮起動の段階では、当該アプリの音声信号処理(エフェクト処理)にプロテクトをかけた状態にする。
図9は、DSP部27におけるアプリのマイクロプログラムに基づく音声信号処理(エフェクト処理)の構成を説明するブロック図である。入力元91及び出力先92は、それぞ、アプリ設定画面の入力元設定部83及び出力先設定部84で設定された音声信号の入力元及び出力先に対応する。プラグインEF90は、入力元91から入力された音声信号に対して選択スイッチ81の操作によって選択されたアプリのマイクロプログラムに基づく音声信号処理(エフェクト処理)を実行する。エフェクト処理のパラメータの値は、メモリ11のカレントバッファ領域に設定された各種パラメータの値に対応する。バイパスパラメータ93は、入力元91から入力された音声信号をプラグインEF90へ供給する通常の経路、又は該音声信号をプラグインEF90を迂回して出力先92へ供給するバイパス経路のいずれかの経路を選択するパラメータである。
バイパスパラメータ93がオンのとき、バイパス経路が選択され、オフのとき通常の経路が選択される。バイパスパラメータ93がオンのときには、入力元91から入力された音声信号は、バイパス経路を通って(プラグインEF90を迂回して)、アプリのエフェクト処理を施していない音声信号(入力元の入力信号と同じ信号)が出力先92から出力される。一方、バイパスパラメータ93がオフのときには、入力元91から入力された音声信号は、プラグインEF90に供給され、プラグインEF90でエフェクト処理された音声信号が出力先92から出力される。
コンソール1のCPU10は、アプリの仮起動の指示に応じて、そのアプリに関して確保されたカレントバッファ領域に、そのアプリの各種パラメータの値を設定するところ、該各種パラメータのうちバイパスパラメータについては自動的にオンに設定する。前述の通り、アプリの仮起動の指示に応じて、メモリ11のカレントバッファ領域の状態がエンジン2に反映されるので、アプリの仮起動の状態では、DSP部27において、当該アプリのバイパスパラメータ93がオンに設定される。したがって、プラグインEF90によるエフェクト処理を施していない音声信号が出力されるので、アプリケーションプログラムに基づく音声信号処理は実質的には開始されないことになる。
《アプリのパラメータの編集》
アプリを仮起動することにより、コンソール1(システム制御装置)において、バイパスパラメータを除く全てのパラメータの編集を受け付けることができるようになる。コンソール1のCPU10は、図8に示すアプリ設定画面において、いずれかのラック部80に割り当てられたアプリを選択する操作(例えば、ラック部80のアプリ表示部82をクリックする操作)が行われたとき、パネル表示部17に、アプリ設定画面とは別画面で、該選択されたアプリのパラメータを編集するエディタ画面を表示する。ユーザは、エディタ画面において、該アプリの各種パラメータを編集することができる。
図10は、コンソール1のCPU10が実行するパラメータの設定値の変更処理を説明するフローチャートである。この処理は、エディタ画面においてパラメータの設定値を編集(変更)する指示があったときに起動する処理であって、該編集されたパラメータを対象としている。
《仮起動中の場合》
コンソール1のCPU10は、アプリの起動状態を表すデータの現在値を参照して、アプリの起動状態が「仮起動」及び「本起動」のいずれであるかをチェックする。アプリの起動状態を表すデータが「仮起動」中を示している場合(ステップS21のNO)には、編集対象のパラメータがバイパスパラメータかどうかを判断する(ステップS22)。編集対象のパラメータがバイパスパラメータ以外であれば(ステップS22のNO)、コンソール1のCPU10は、ユーザにより入力された指示に基づいて、メモリ11に設けられたカレントバッファ領域に記憶された当該パラメータの設定値を変更するとともに(ステップS23)、該変更後のパラメータの設定値を、エンジン2のDSP部27に設定する(ステップS24)。これにより、エディタ画面におけるパラメータ編集指示に応じて、パラメータの設定値(ただしバイパスパラメータを除く)が変更される。
編集対象のパラメータがバイパスパラメータの場合(ステップS22のYES)、コンソール1のCPU10は、バイパスパラメータの変更指示を受け付けずに、処理を終了する。このように、仮起動中には、バイパスパラメータの変更を禁止して、バイパスパラメータの設定値をオンのままで保持する。なお、仮起動中は、エディット画面におけるパラメータ編集指示に限らず、あらゆるパラメータ編集指示に対して、バイパスパラメータの変更を禁止して、バイパスオンの状態(バイパスをかけている状態)を保持する。仮起動中に設定されたバイパスパラメータをオフに変更できるのは、そのアプリの本起動が開始された場合のみである。
《本起動中の場合》
アプリの起動状態を表すデータが「本起動」中を示している場合(ステップS21のYES)には、バイパスパラメータを含む全てのパラメータの編集を受け付ける。すなわち、コンソール1のCPU10は、編集対象のパラメータの種類を問わず、ユーザにより入力された指示に基づいて、メモリ11に設けられたカレントバッファ領域に記憶された当該パラメータの設定値を変更するとともに(ステップS23)、該変更後のパラメータの設定値を、エンジン2のDSP部27に設定する。これにより、エディタ画面におけるパラメータ編集指示に応じて、パラメータの設定値が変更される。
このように、「アプリの仮起動」を行えるようにしたことで、アクセスキー67によるアプリの認証前(後述する本起動前)に、そのアプリケーションプログラムに基づく実際の音声信号処理(エフェクト処理)を開始しないという一定のプロテクトをかけた状態で、プログラムの不正使用を抑止しつつ、そのアプリの各種パラメータ(バイパスパラメータを除く)の編集をユーザに許可することができる。したがって、例えば、USBドングル70がミキシングシステム内の何れのシステム構成装置にも接続されていない状態であったり、アプリの本起動前であったり、或いは、アクセスキーの取得(図6を参照して説明したアクセスキーの発行)前に、アプリのパラメータ設定等の準備作業を行うことができるようになり、アプリのパラメータ設定作業の効率性が向上する。
なお、本実施例では、アプリの仮起動中は、メモリ11のカレントバッファ領域とDSP部27の双方で、バイパスパラメータをオンに設定する構成とする。しかし、仮起動状態とは、音声信号処理を実質的には開始しない状態であるから、アプリの仮起動中は、少なくともDSP部27のみでバイパスパラメータをオンに設定する構成を採用してもよい。
仮起動中に少なくともDSP部27のみでバイパスパラメータの設定値をオンに保持する構成を採用した場合、図10のパラメータ編集処理の変更例として、メモリ11のカレントバッファ領域では、バイパスパラメータの変更を受け付けて、その変更をDSP部27に反映させない制御してもよい。すなわち、アプリの仮起動中にエディタ画面においてパラメータの編集が指示されたとき、コンソール1のCPU10は、ユーザにより入力された指示に基づいて、該編集対象のパラメータの設定値を変更し、該変更の後、該編集対象のパラメータがバイパスパラメータかどうかを判断する。そして、編集対象のパラメータがバイパスパラメータ以外であれば、前記変更された後のパラメータの設定値をエンジン2のDSP部27に設定する。一方、編集対象のパラメータがバイパスパラメータの場合には、該変更結果をエンジン2のDSP部27に反映させずに、エンジン2のDSP部27に設定されたバイパスパラメータの設定値をオンのままで保持する。
《アプリの本起動》
図8に示すアプリ設定画面において、各ラック部80に設けられた本起動指示用仮想スイッチ85は、そのラック部80に割り当てられたアプリの本起動を指示するためのスイッチ画像(以下、「本起動指示スイッチ85」という)である。本起動指示スイッチ85は本起動指示手段である。ユーザは、本起動指示スイッチ85を用いて、そのラック部80に割り当てられたアプリの本起動を指示することができる。
図11は、アプリの本起動処理を説明するフローチャートである。コンソール1のCPU10は、本起動指示スイッチ85を用いたアプリの本起動の指示を受け付けたとき、そのアプリを対象として、図11の処理を起動する。なお、図11の処理の主体は、アプリの本起動の指示を受け付けた装置であって、コンソール1に限らない。典型的には、コンソール1の他には、PC6が本起動処理の実行主体となりうる。また、アプリを本起動する指示は、本起動指示スイッチ85を用いる方法に限らず、1つのアプリの本起動を指示できさえすれば、従来から知られるどのような方法であってもよい。
コンソール1のCPU10は、アプリを本起動する指示を受け付けると、本起動対象のアプリに対応するアクセスキー67が、コンソール1のUSB端子13に接続されたUSBドングル70に記録されているかどうか確認することで、このアプリをアクセスキーにより認証する(ステップS25)。本起動対象のアプリに対応するアクセスキー67がUSBドングル70に記録されていれば(ステップS26のYES)、本起動対象のアプリについて認証がとれたことになる。
ここで、アプリに対応するアクセスキー67とは、本起動の対象となるアプリのアプリ名を含むアクセスキーである。従って、USBドングル70に記録されたアクセスキー67が、少なくとも、同じアプリ名を含むもの(同じ種類のアプリに対応するアクセスキー)でさえあれば、別製品(別パッケージ)に対して発行されたアクセスキーであっても、本起動対象のアプリを認証することができる。
一方、本起動対象のアプリに対応するアクセスキー67がUSBドングル70に記録されていない場合、又は、コンソール1のUSB端子13にUSBドングル70が接続されていない場合(ステップS26のNO)には、コンソール1のCPU10は、処理をステップS27に進める。なお、「本起動対象のアプリに対応するアクセスキー67がUSBドングル70に記録されていない場合」とは、USBドングル70にアクセスキーがひとつも記録されていない場合、又は、USBドングル70に記録されているアクセスキー67が本起動対象のアプリに対応するものでない場合である。
ステップS27において、コンソール1のCPU10は、自機が属するミキシングシステムを構成する他の全てのシステム構成装置に対して、本起動対象のアプリに対応するアクセスキー67を記録しているか否かを問い合わせて、該問い合わせに対する応答を待つ。問い合わせ行うミキシングシステムの範囲は、前記ステップS12と同様に、ミキシングシステムを構成する全てのシステム構成装置、すなわち、互いにAN接続された複数の音声信号処理装置(コンソール1、エンジン2、及びI/O装置3)及び該音声信号処理装置にCN接続された音声信号処理装置以外のシステム構成装置(PC6)を含む範囲である。
前記ステップS27の問い合わせに応じて、コンソール1が属するミキシングシステム内の他のシステム構成装置は、それぞれ、自身のUSB端子に接続されたUSBドングルに、本起動対象のアプリに対応するアクセスキー67が記録されているかどうか確認する。そして、本起動対象のアプリに対応するアクセスキー67を検出したシステム構成装置は、コンソール1に対してその旨の応答を行う。なお、USBドングルが接続されていないシステム構成装置、及び、自身に接続されたUSBドングルに本起動対象のアプリに対応するアクセスキー67が記録されていないシステム構成装置は、応答しない。
コンソール1のCPU10は、前記本起動対象のアプリに対応するアクセスキー67を検出したシステム構成装置からの応答を受信することで、自機が属するミキシングシステム内のいずれかの装置に接続されたUSBドングル70に本起動対象のアプリに対応するアクセスキー67が記録されていること(本起動対象のアプリに対応するアクセスキー67を記録したUSBドングル70が接続されたシステム構成装置を検出できたこと)を確認する。本起動対象のアプリに対応するアクセスキー67がミキシングシステム内のいずれかのシステム構成装置に接続されたUSBドングル70に記録されていれば(ステップS28のYES)、本起動対象のアプリについてアクセスキー67による認証がとれたことになる。
一方、所定時間内にいずれのシステム構成装置からも回答がない場合(ステップS28のNO)、コンソール1のCPU10は、認証失敗と判断し、処理を終了する。例えば、コンソール1のみならず、自機が属するミキシングシステム内のいずれの装置にも、本起動対象のアプリに対応するアクセスキー67を記録したUSBドングル70が接続されていない場合には、本起動対象のアプリに対応するアクセスキー67を記録したUSBドングル70が接続されたシステム構成装置が検出されないので、認証失敗となる。認証失敗で処理を終了するときには、例えばアプリの認証に失敗した旨をパネル表示部17に表示するとよい。
ステップS29において、コンソール1のCPU10は、ミキシングシステムを構成する各システム構成装置に対して、本起動対象のアプリケーションプログラムをインストール済みのエンジン2があるかどうかを問い合わせる。アプリの本起動とは、そのアプリによる音声信号処理(エフェクト処理)を実際に開始することであるから、音声信号処理の主体となるエンジン2が存在しなければ、アプリの本起動は行うことができない。従って、システム内にエンジン2が存在しなければ処理を直ちに終了する(ステップS30のNO)。また、システム内にエンジン2が存在するが、そのエンジン2に本起動対象のアプリ(DSP用マイクロプログラム)がインストールされていない場合にも、処理を直ちに終了してよい。なお、本起動対象のアプリがエンジン2にインストールされていない場合には、本起動処理を終了するのではなく、そのエンジン2に本起動対象のアプリをインストールしてから処理を継続するよう処理を構成してもよい。ただし、この場合には、インストーラがミキシングシステム内のいずれかのシステム構成装置に存在しなければ、インストールができないため、処理を終了する。
自己の属するミキシングシステム内に、本起動対象のアプリをインストール済みのエンジン2を検出できた場合(ステップS30のYES)、コンソール1のCPU10は、ステップS31において、前記ステップS25又はステップS28で確認したアクセスキー67(USBドングル70に記録されたオリジナルのアクセスキー67)を、ミキシングシステムを構成する全てのシステム構成装置のメモリにコピーする。
各システム構成装置にコピーされたアクセスキーは、その装置内のメモリに揮発的に記録され、ミキシングシステム全体又はその装置が停止される(電源オフされる)まで保持する。すなわち、コンソール1のCPU10は、ミキシングシステム全体の電源がオフされたとき(すなわち全てのシステム構成装置の電源がオフされたとき)又はシステム内の装置の電源が個別にオフされたとき、電源オフされた各システム構成装置に記録されたアクセスキーのコピーを消去する。これにより、1度アクセスキーが認証されていれば、電源をオフしない限りは、各システム構成装置において当該アクセスキーのコピーを用いてアプリの認証を継続させることができる。なお、消去対象となるアクセスキーのコピーと、消去しないオリジナルのアクセスキーの区別は、例えば、両者を構成するデータ列の違いにより判断することができる。
各システム構成装置にアクセスキーのコピーを記録しておくことで、例えば、不注意でUSBドングル70が外れてしまった場合などのように、オリジナルのアクセスキー67を記録したUSBドングル70がミキシングシステムから存在しなくなった場合であっても、各システム構成装置に記録されたアクセスキーのコピーによりアプリの認証を継続することができる。そもそも、USBドングル70をUSB端子に接続したままにしておくことは、ミキシングシステムの運用上好ましくないので、1度オリジナルのアクセスキーによるアプリの認証を行った後には、USBドングル70をUSB端子から外してしまい、その状態でアクセスキーによるアプリの認証を継続できることが望ましい。
また、各システム構成装置にコピーのアクセスキーを記録することで、各装置においてアクセスキーを用いたアプリの認証を迅速に行うことができるようになる。これにより、例えば、コンソール1や、PC6などのシステム制御装置でエディタ画面の起動(アクセスキーによる認証が必要な起動)を行う場合には、その起動を迅速に行うことができる。
なお、前記ステップS31において全てのシステム構成装置にアクセスキーをコピーすると説明したが、ミキシングシステムを構成する装置のなかに本起動対象のアプリ(装置別アプリケーションプログラム)をインストールしていない装置がある場合には、コンソール1のCPU10は、少なくともアプリ(装置別アプリケーションプログラム)をインストール済みの装置に対してのみ、アクセスキーのコピーを記録する処理を行うものとする。また、別の例として、アプリ(装置別アプリケーションプログラム)がイストール済みか否かに関わらず、全てのシステム構成装置に、アクセスキーのコピーを記録してもよい。また、更に別の例としては、アプリ(装置別アプリケーションプログラム)が未インストールのシステム構成装置に対して必要なアプリをインストールさせた後に、アクセスキーのコピーを記録することで、全てのシステム構成装置にアクセスキーのコピーを記録してもよい。
そして、コンソール1のCPU10は、本起動対象のアプリについてバイパスパラメータをオフに設定することで、音声信号処理の無効化処置を解除して、本起動対象のアプリの起動状態を本起動の状態にする(ステップS32)。ステップS32によりコンソール1のCPU10は本起動開始制御手段として機能する。すなわち、コンソール1のCPU10は、メモリ11のカレントバッファ領域に記録された本起動対象のアプリについてバイパスパラメータの設定値をオフに書き換え、且つ、アプリの起動状態を表すデータを「仮起動中」から「本起動中」に書き換える。そして、コンソール1のCPU10は、前記カレントバッファ領域の設定値の変更をエンジン2のDSP部27に反映させる。これにより、ミキシングシステムにおいて、当該本起動対象のアプリに基づく音声信号処理が開始する。図9の例では、プラグインEF90からエフェクト処理済みの音声信号が出力されるようになる。したがって、ミキシングシステムで本起動対象のアプリの機能を実際に使用することができるようになる。
以上、図11を参照して説明したアプリの本起動処理によれば、コンソール1のCPU10は、前記ステップS25,S27により音声信号処理システムを構成する全てのシステム構成装置を検索対象として、アプリケーションプログラムに対応するアクセスキー情報を記録した記録手段を具備したシステム構成装置を検出する検出手段として機能し、ステップS26,S28により、アクセスキー情報を記録した記録手段を具備したシステム構成装置が検出された場合は、複数のシステム構成装置のいずれにおいてもアプリケーションプログラムの起動を認証し、検出手段により前記システム構成装置が検出されなかった場合は、該アプリケーションプログラムの起動を認証せずに、処理を終了する認証制御手段として機能する。そして、ステップS32によりコンソール1のCPU10はアプリケーションプログラムの起動が認証された場合、前記複数の音声信号処理装置のうちの音声信号に対する信号処理を行う機能を有する音声信号処理装置に、該アプリケーションプログラムに基づく信号処理を開始させる信号処理開始制御手段として機能する。前記ステップS26、S27及びS28により、本起動処理の主体となる装置のみならず、その装置が属するミキシングシステムの全ての装置を対象にアクセスキーを検索するので、ミキシングシステム内のいずれかの装置に、本起動対象のアプリについてアクセスキー67を記録したUSBドングル70が接続されていれば(言い換えればミキシングシステム内のどこかにオリジナルのアクセスキー67が存在していれば)、本起動対象のアプリをアクセスキー67により認証して、そのアプリケーションプログラム65を本起動すること(アプリケーションプログラム65の起動を認証すること)ができる。
このように、ミキシングシステムを構成する個々のシステム構成装置毎に個別にアクセスキーによるアプリの認証を行うのではなく、USBドングル70に記録された1つのアクセスキー67を、ミキシングシステムを構成する全てのシステム構成装置で共有することで、複数の音声信号処理装置を含む複数のシステム構成装置により構成されたミキシングシステムにおいて、アプリケーションプログラムの不正使用を適切に抑止した上で、極めて簡単な作業でアプリケーションプログラムを実行(本起動)できるようになる。
また、アクセスキー67を用いて本起動が許可されるアプリの数に制限を設けていないので、システム構成装置の数がいくつであっても、アプリの本起動を許可しうるし、また、例えば、同種類のシステム構成装置が複数存在するシステム構成(例えば、図1のように、コンソール1やエンジン2がそれぞれ複数存在するシステム構成)であっても、全てのシステム構成装置についてアプリの本起動を許可しうる。また、アクセスキー67を用いたアプリの本起動を許可する範囲は、あくまでアクセスキー67を記録したUSBドングル70を接続したシステム構成装置が属するミキシングシステム内に限られているので、1つのミキシングシステムの範囲外にある装置(他のミキシングシステムに属する装置)が、そのミキシングシステムにアクセスして、他のミキシングシステムにおけるアプリの本起動のために、そのアクセスキー67を使うことはない。
なお、前記ステップS31のアクセスキー67のコピー作成処理を行わずにアプリの本起動を開始して(ステップS32)、本起動中のアプリについてアクセスキー67による再認証処理を行うように構成してもよい。再認証処理を行う場合には、システム制御装置(コンソール1又はPC6)は、前記ステップS25〜S28を定期的に実行することにより、ミキシングシステム内にオリジナルのアクセスキー67が存在するかどうかを定期的に確認する。そして、オリジナルのアクセスキー67の存在が確認できれば、そのアプリの認証を継続する。一方、オリジナルのアクセスキー67の存在が確認できない場合は、再認証失敗と判断して、そのアプリの本起動を停止する。
再認証の失敗によりアプリの本起動を停止する場合は、そのアプリによる音声信号処理(エフェクト処理)を停止する。アプリの本起動の停止は、DSP部27にロードされた停止対象のアプリのマイクロプログラムを消去して、アプリに基づく音声信号処理を行えない状態にすることであってもよいし、或いは、少なくともDSP部27において停止対象のアプリについてバイパスパラメータをオンに設定することで、該アプリに基づく音声信号処理を無効にすることであってもよい。なお、再認証処理は、あくまでステップS31のアクセスキーのコピー作成を行わない構成でのみ利用される。本実施例のようにアクセスキー67のコピー作成を行う構成では、一旦アクセスキーによりアプリを認証した後は、電源をオフしない限りはアプリの無償使用を保証する構成であるため、再認証処理は不要である。
《USBドングルの好ましい使い方の例》
本実施例によれば、1つのミキシングシステム内のいずれかのシステム構成装置に、本起動対象のアプリに対応するアクセスキー67を記録したUSBドングル70が接続されてさえいれば、アプリの本起動(アクセスキーを用いた認証)を行うことができるよう構成されているので、アプリの本起動(アクセスキーを用いた認証)の成否は、アプリを使用するミキシングシステムに依存しない。したがって、ユーザは、アプリケーションパッケージ(アプリケーションプログラム65、プロダクトID66)及びアプリに対応するアクセスキー67を記録したUSBドングル70さえ所有していれば、そのアプリケーションプログラム65を、任意のミキシングシステムで正規に使用することができる。
また、アプリケーションプログラムがインストールされていないミキシングシステムであっても、USBドングル70から必要なアプリ(装置別アプリケーションプログラム)をシステム内の各システム構成装置にインストールすることができる。したがって、アプリケーションプログラム65と、該アプリに対応するアクセスキー67を1組のセットにしてUSBドングル70に記録しておくことで、アプリをシステムに追加する一連の作業(インストール及び本起動)が簡便化される。
そして、アプリの本起動(アクセスキーを用いた認証)の成否がアプリを使用するミキシングシステムに依存せず、且つ、ミキシングシステムに対するアプリの追加作業(インストール及び本起動)が簡便化されることから、アプリを使用する機会の自由度が増すという利点がある。例えば、コンサート会場などに設置されたミキシングシステムや、レンタル機材として借り出すミキシングシステムを使用する場合、本発明によれば、ユーザがUSBドングル70をミキシングシステムの設置場所に持参して、ユーザが持参したアプリケーションプログラム65をインストールし、本起動する作業を簡単に行うことができる。加えて、本発明に係るUSBドングル70は、小型で可搬性に優れたものであるから、ユーザがUSBドングル70をミキシングシステムの設置場所に持参して、出向先のミキシングシステムでアプリケーションプログラム65を使用するという用途に好適である。
なお、本発明を適用するミキシングシステムは、例えば、コンサート会場、劇場、音楽制作スタジオ、あるいは構内放送、音声案内システム等に利用することができる。また、本発明を適用するミキシングシステムの構成(システム構成装置の種類や、装置の数)は、図1の例に限らない。また、複数の音声信号処理装置を含む複数のシステム構成装置により構成される音声信号処理システムであれば、その実施形態は、ミキシングシステムに限らず、例えば、マイクとサウンドシステムを備えた通信ユニット間で音声通信を行うインターカムシステム、ギターやボーカルの音響信号にコンプレッサやディストーション等のエフェクトを付与する効果付与システム、会場内の音響信号をマイクで拾って残響支援用の音響信号を生成して会場内に出力する残響支援システム、或いは、複数の音響信号を同時に録音/再生する複数トラック録再システムなどであってもよい。
なお、上記実施例では、複数の音声信号処理装置により構成されるミキシングシステムにおいてアプリケーションプログラムを仮起動して、パラメータの設定を許可する一方、音声信号に対する信号処理は開始させない機能(仮起動機能)を搭載する構成を説明したが、かかる仮起動機能は、例えば単体のデジタルオーディオミキサのような音声信号処理装置に適用することも可能である。この場合、上記実施例で説明したミキシングシステムにおいてコンソール1(パラメータ編集手段)、エンジン2(信号処理手段)、I/O装置3(音声信号の入力手段及び出力手段)に分担した各機能を、1台の音声信号処理装置に実装するとともに、該音声信号処理装置において、アプリケーションプログラムの仮起動指示を受け付ける仮起動指示手段(選択スイッチ81)と、仮起動指示手段によりアプリの仮起動指示を受け付けたとき、該アプリに関して、信号処理手段による信号処理及び前記パラメータ編集手段によるパラメータ変更操作の受け付けに必要なリソースを割り当てることにより、そのアプリケーションプログラムに関するパラメータ変更操作を受け付け可能な状態にするリソース割り当て手段と、アプリの仮起動指示を受け付けたとき、該アプリに関して信号処理手段による信号処理を無効化する無効化手段と、アプリの本起動指示を受け付ける本起動指示手段と、アプリの本起動指示を受け付けたとき、該アプリに関して無効化を解除して、信号処理手段による音声信号に対する信号処理を開始させる本起動開始制御手段を備える。
なお、上記実施例では、音声信号処理装置以外のシステム構成装置(PC6)は、音声信号処理装置(コンソール1)とCN接続され、該CN接続された音声信号処理装置の間で音声信号回線を確立せず、音声信号の通信を行わない構成とした。しかし、これに限らず、音声信号処理装置以外のシステム構成装置と音声信号処理装置の間で、音声信号回線を確立して音声信号を通信できるよう構成してもよい。そのための方法として、例えば、音声信号処理装置以外のシステム構成装置を音声信号処理装置とAN接続できるよう構成することで、音声信号処理装置以外のシステム構成装置と音声信号処理装置の間で音声信号回線を確立することが考えられる。或いは、別の方法としては、音声信号処理装置以外のシステム構成装置と音声信号処理装置をCN接続(一般的なLAN接続)する構成において、例えば、MADI(Multichannel Audio Digital Interface)規格のプロトコルを用いた通信方式のように、AN接続における音声信号通信と同等のリアルタイム通信を保証できる通信方式を採用することで、音声信号処理装置以外のシステム構成装置と音声信号処理装置の間に音声信号回線を確立して、PCと音声信号処理装置との間で音声信号の通信を行えるように構成してもよい。この場合には、音声信号処理装置以外のシステム構成装置の一例であるPC6上で起動したDAWソフトウェアを、1つの音声信号処理装置として取り扱うことができる。