"音量を調整可能な複数の音声出力装置と、前記各音声出力装置を制御可能なコントローラとを備え、前記コントローラが、前記音声出力装置の情報を表示する表示部と、前記音声出力装置に設定されている音量値である第1パラメータを前記音声出力装置から取得する第1パラメータ取得手段と、前記音声出力装置が記憶している所定の上限音量値である第2パラメータを前記音声出力装置から取得する第2パラメータ取得手段と、前記第1パラメータと、第2パラメータとを前記音声出力装置に対応付けて管理する管理手段と、前記音声出力装置の前記第1パラメータに対する前記第2パラメータの比によって決定される値を総合音量値として決定する総合音量値決定手段と、前記総合音量値と、前記第2パラメータの規定値に対する割合との乗算によって決定される値を各前記音声出力装置の個別音量値として決定する個別音量値決定手段と、前記総合音量値を前記表示部に表示する総合音量値表示手段と、各前記音声出力装置の前記個別音量値を前記表示部に表示する個別表示手段とを有し、前記音声出力装置が、前記第1パラメータと、前記第2パラメータとを前記コントローラへ送信するパラメータ送信手段と、前記第1パラメータと、前記第2パラメータとを対応付けて記憶する音量値記憶手段とを有する、音量制御システム。前記コントローラが、ユーザ操作によって前記総合音量値を変更する総合音量値変更手段と、前記音声出力装置へ、前記個別音量値に音量を変更するための情報を送信する音量制御情報送信手段とをさらに有し、前記総合音量値が変更されたとき、前記個別音量値決定手段が、変更後の前記総合音量値と、前記第2パラメータの規定値に対する割合との乗算によって決定される値を前記個別音量値として決定し、前記個別表示手段が、各前記音声出力装置の前記個別音量値を更新して表示し、前記音声出力装置が、前記コントローラから前記個別音量値を受信する音量制御情報受信手段と、受信した前記個別音量値に基づいて前記音声出力装置の前記音量を変更する音量変更手段とをさらに有する、請求項1に記載の音量制御システム。前記コントローラが、前記音声出力装置が設定可能な最大の音量値である第3パラメータを取得する第3パラメータ取得手段をさらに有し、前記総合音量値決定手段が、前記第2パラメータに代えて、前記第2パラメータの前記第3パラメータに対する割合を用いて前記総合音量値を決定し、前記個別音量値決定手段が、前記規定値に代えて、前記第3パラメータを用いて前記個別音量値を決定し、前記音声出力装置が、前記パラメータ送信手段が、前記第1パラメータと、前記第2パラメータと、前記第3パラメータとを前記コントローラへ送信し、前記音量値記憶手段が、前記第1パラメータと、前記第2パラメータと、前記第3パラメータとを対応付けて記憶する、請求項2に記載の音量制御システム。前記コントローラが、前記個別音量値を変更する音声出力装置音量値変更手段と、前記個別音量値が変更されたとき、変更後の前記個別音量値の前記第2パラメータに対する割合が、前記総合音量値と同一になるように前記第2パラメータを計算して更新する第2パラメータ更新手段と、前記個別音量値が変更されたとき、変更後の前記個別音量値が前記総合音量値より大きいか否かを判断する判断手段と、変更後の前記の前記個別音量値が前記総合音量値より大きいと判断されたとき、前記総合音量値を変更後の前記個別音量値に更新する総合音量値更新手段とをさらに有し、前記個別音量値決定手段が、前記個別音量値を変更していない前記音声出力装置の前記個別音量値を決定し、前記音量制御情報送信手段が、前記個別音量値と、前記変更後の前記第2パラメータとを各前記音声出力装置へ送信し、前記音声出力装置が、前記音量値記憶手段が、前記音量制御情報送信手段によって送信された前記個別音量値を前記第1パラメータとして更新して記憶し、送信された前記第2パラメータを更新して記憶する、請求項2または3のいずれかに記載の音量制御システム。前記音量制御情報送信手段が、前記個別音量値と、前記変更後の前記第2パラメータとを現在の時刻を示すタイムスタンプに関連付けて前記音声出力装置へ送信し、前記音声出力装置が、ユーザ操作によって前記音声出力装置の前記音量値が変更されたとき、前記第1パラメータと、前記第2パラメータと、前記タイムスタンプとを更新する更新手段をさらに有し、前記音量値記憶手段が、前記第1パラメータと、前記第2パラメータと、前記タイムスタンプとを関連付けて記憶し、前記パラメータ送信手段が、前記第1パラメータと、前記第2パラメータと、前記タイムスタンプとを前記コントローラへ送信し、前記コントローラが、前記タイムスタンプを取得するタイムスタンプ取得手段と、各前記音声出力装置から取得された前記第1パラメータ及び前記第2パラメータから決定される前記総合音量値が、全て同一であるか否かを判断する総合音量値判断手段とをさらに有し、全ての前記総合音量値が同一でないと判断されたとき、前記総合音量値決定手段が、前記タイムスタンプが最新の前記第1パラメータ及び前記第2パラメータから前記総合音量値を決定し、前記総合音量値から決定される前記第1パラメータと前記第2パラメータと前記タイムスタンプとを前記音量出力装置へ送信する、請求項2~4のいずれかに記載の音量制御システム。請求項1~5のいずれかに記載の音量制御システムのコントローラの各手段を前記コントローラに実行させる、コントローラプログラム。請求項1~5のいずれかに記載の音量制御システムの前記音声出力装置。本発明は上記従来の課題を解決するためになされたものであり、その目的は、コントローラに複数の音声出力装置の音量値を代表する音量値を表示するとき、代表する音量値を確認することによって、音声出力装置に設定されている音量を容易に認知可能な音量制御システムを提供することである。また、本発明の別の目的は、複数の音声出力装置の音量値を代表する音量値によって複数の音声出力装置の音量値を変更するとき、各音声出力装置の音量の変化率が一定になるように制御可能な音量制御システムを提供することである。また、本発明の別の目的は、コントローラが音声出力装置の音量変化を知ることができない場合、または音声出力装置がコントローラからの音量変更指示を受信できない場合であっても、コントローラが音声出力装置の音量値及び複数の音声出力装置の音量値を代表する音量値を正常に表示することができる音量制御システムを提供することである。本発明の好ましい実施形態による音量制御システムは、音量を調整可能な複数の音声出力装置と、前記各音声出力装置を制御可能なコントローラとを備え、前記コントローラが、前記音声出力装置の情報を表示する表示部と、前記音声出力装置に設定されている音量値である第1パラメータを前記音声出力装置から取得する第1パラメータ取得手段と、前記音声出力装置が記憶している所定の上限音量値である第2パラメータを前記音声出力装置から取得する第2パラメータ取得手段と、前記第1パラメータと、第2パラメータとを前記音声出力装置に対応付けて管理する管理手段と、前記音声出力装置の前記第1パラメータに対する前記第2パラメータの比によって決定される値を総合音量値として決定する総合音量値決定手段と、前記総合音量値と、前記第2パラメータの規定値に対する割合との乗算によって決定される値を各前記音声出力装置の個別音量値として決定する個別音量値決定手段と、前記総合音量値を前記表示部に表示する総合音量値表示手段と、各前記音声出力装置の前記個別音量値を前記表示部に表示する個別表示手段とを有し、前記音声出力装置が、前記第1パラメータと、前記第2パラメータとを前記コントローラへ送信するパラメータ送信手段と、前記第1パラメータと、前記第2パラメータとを対応付けて記憶する音量値記憶手段とを有する。音量制御システムのコントローラは、複数の音声出力装置と接続可能であり、音声出力装置の音量値を制御できる。コントローラは、音声出力装置の音量値と、音声出力装置が記憶している所定の上限音量値を取得し、所定の上限音量値に対する音量値の割合を総合音量値として表示する。さらにコントローラは、総合音量値と、所定の上限音量値の規定値に対する割合との乗算によって決定される値を各音声出力装置の音量値として表示する。この結果、ユーザは総合音量値を確認するだけで音声出力装置に設定されている音量値の、音声出力装置が設定可能な音量値に対する割合を知ることができる。好ましい実施形態においては、前記コントローラが、ユーザ操作によって前記総合音量値を変更する総合音量値変更手段と、前記音声出力装置へ、前記個別音量値に音量を変更するための情報を送信する音量制御情報送信手段とをさらに有し、前記総合音量値が変更されたとき、前記個別音量値決定手段が、変更後の前記総合音量値と、前記第2パラメータの規定値に対する割合との乗算によって決定される値を前記個別音量値として決定し、前記個別表示手段が、各前記音声出力装置の前記個別音量値を更新して表示し、前記音声出力装置が、前記コントローラから前記個別音量値を受信する音量制御情報受信手段と、受信した前記個別音量値に基づいて前記音声出力装置の前記音量を変更する音量変更手段とをさらに有する。コントローラにおいて総合音量値を変更したとき、各音声出力装置の音量値を、変更後の総合音量値と、所定の上限音量値の規定値に対する割合との乗算によって算出される値に変更し、音声出力装置へ音量値を変更するよう指示する。この結果、各音声出力装置の音量変化の特性が異なっている場合であっても、総合音量値を変化させたときの音声出力装置の音量の変化率が一定となるので、聴感上の違和感がない。本発明の別の好ましい実施形態による音量制御システムは、前記コントローラが、前記音声出力装置が設定可能な最大の音量値である第3パラメータを取得する第3パラメータ取得手段をさらに有し、前記総合音量値決定手段が、前記第2パラメータに代えて、前記第2パラメータの前記第3パラメータに対する割合を用いて前記総合音量値を決定し、前記個別音量値決定手段が、前記規定値に代えて、前記第3パラメータを用いて前記個別音量値を決定し、前記音声出力装置が、前記パラメータ送信手段が、前記第1パラメータと、前記第2パラメータと、前記第3パラメータとを前記コントローラへ送信し、前記音量値記憶手段が、前記第1パラメータと、前記第2パラメータと、前記第3パラメータとを対応付けて記憶する。コントローラの総合音量値と個別音量値とが、音声出力装置が設定可能な最大の音量値を用いて計算されるので、各音声出力装置が設定可能な最大音量値が異なっている場合であっても、適切に総合音量値及び個別音量値を計算することができる。本発明の別の好ましい実施形態による音量制御システムは、前記コントローラが、前記個別音量値を変更する音声出力装置音量値変更手段と、前記個別音量値が変更されたとき、変更後の前記個別音量値の前記第2パラメータに対する割合が、前記総合音量値と同一になるように前記第2パラメータを計算して更新する第2パラメータ更新手段と、前記個別音量値が変更されたとき、変更後の前記個別音量値が前記総合音量値より大きいか否かを判断する判断手段と、変更後の前記の前記個別音量値が前記総合音量値より大きいと判断されたとき、前記総合音量値を変更後の前記個別音量値に更新する総合音量値更新手段とをさらに有し、前記個別音量値決定手段が、前記個別音量値を変更していない前記音声出力装置の前記個別音量値を決定し、前記音量制御情報送信手段が、前記個別音量値と、前記変更後の前記第2パラメータとを各前記音声出力装置へ送信し、前記音声出力装置が、前記音量値記憶手段が、前記音量制御情報送信手段によって送信された前記個別音量値を前記第1パラメータとして更新して記憶し、送信された前記第2パラメータを更新して記憶する。コントローラにおいて音声出力装置の音量値が変更されたとき、変更後の音声出力装置の音量値が総合音量値と同一になるように音声出力装置の所定の上限音量値が変更される。この結果、音声出力装置の音量値が変更されたとき、総合音量値と音声出力装置の個別音量値との整合性を保つことができる。また、所定の上限音量値が変更されたとき、コントローラは音声出力装置へ所定の上限音量値を送信するので、コントローラと音声出力装置とが有する所定の上限音量値の整合性が維持される。本発明の別の好ましい実施形態による音量制御システムは、前記音量制御情報送信手段が、前記個別音量値と、前記変更後の前記第2パラメータとを現在の時刻を示すタイムスタンプに関連付けて前記音声出力装置へ送信し、前記音声出力装置が、ユーザ操作によって前記音声出力装置の前記音量値が変更されたとき、前記第1パラメータと、前記第2パラメータと、前記タイムスタンプとを更新する更新手段をさらに有し、前記音量値記憶手段が、前記第1パラメータと、前記第2パラメータと、前記タイムスタンプとを関連付けて記憶し、前記パラメータ送信手段が、前記第1パラメータと、前記第2パラメータと、前記タイムスタンプとを前記コントローラへ送信し、前記コントローラが、前記タイムスタンプを取得するタイムスタンプ取得手段と、各前記音声出力装置から取得された前記第1パラメータ及び前記第2パラメータから決定される前記総合音量値が、全て同一であるか否かを判断する総合音量値判断手段とをさらに有し、全ての前記総合音量値が同一でないと判断されたとき、前記総合音量値決定手段が、前記タイムスタンプが最新の前記第1パラメータ及び前記第2パラメータから前記総合音量値を決定し、前記総合音量値から決定される前記第1パラメータと前記第2パラメータと前記タイムスタンプとを前記音量出力装置へ送信する。音声出力装置は、ユーザ操作によって音量値が変更されたとき、音量値及び所定の上限音量値を更新する。コントローラが音声出力装置から取得する所定の上限音量値及び音声出力装置に設定されている音量値から計算される総合音量値が異なる場合、音声出力装置から取得する音量値に対応付けて管理されているタイムスタンプが最新のものを用いる。さらにコントローラは、総合音量値から計算される音声出力装置の音量値及び所定の上限音量値を各音声出力装置へ送信する。この結果、コントローラが音声出力装置の音量変化を知ることができない場合、または音声出力装置がコントローラからの音量変更指示を受信できない場合であっても、コントローラが音声出力装置の音量値及び複数の音声出力装置の音量値を代表する音量値を正常に表示することができる。コントローラに複数の音声出力装置の音量値を代表する音量値を表示するとき、代表する音量値を確認することによって、音声出力装置に設定されている音量を容易に認知可能な音量制御システムを提供できる。複数の音声出力装置の音量値を代表する音量値によって複数の音声出力装置の音量値を変更するとき、各音声出力装置の音量の変化率が一定になるように制御可能な音量制御システムを提供できる。コントローラが音声出力装置の音量変化を知ることができない場合、または音声出力装置がコントローラからの音量変更指示を受信できない場合であっても、コントローラが音声出力装置の音量値及び複数の音声出力装置の音量値を代表する音量値を正常に表示することが可能な音量制御システムを提供できる。以下、本発明の好ましい実施形態によるコントローラ、クライアント及びサーバについて、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1は、本発明の好ましい実施形態による、コントローラ100、クライアント200A、200B、200C、200D、200E、及びサーバ300の接続図を示す。特に区別する必要がないときは、クライアント200A、200B、200C、200D及び200Eを単にクライアント200という。コントローラ100とクライアント200とサーバ300とはネットワークを介して接続される。コントローラ100は、クライアント200及びサーバ300を制御する装置であり、例えば携帯端末やPCである。クライアント200は、音声出力装置であり、例えばAVアンプやネットワークプレーヤである。サーバ300はHDD等の記憶デバイスを有する装置であり、例えばNASNetworkAttachedStrageやPCである。サーバ300はコンテンツ音楽データや映像データを記憶可能であり、クライアント200やコントローラ100の要求に応じてコンテンツデータやコンテンツリスト等を送信する。ユーザ操作によって、コントローラ100は、サーバ300のコンテンツリストを取得する図1の1。取得されたコンテンツリストはコントローラ100の表示部に表示される。コントローラ100に表示されるクライアント200A~200Eの中から、ユーザ操作によって、コンテンツを再生するクライアント200が選択される。選択されるクライアント200は、複数であってもよい。コントローラ100においてコンテンツリストのコンテンツが再生指示されたとき、コントローラ100はクライアント200へ再生指示を送信する図1の2。クライアント200は、コントローラ100から指定されるコンテンツのデータをサーバ300に要求し、再生する図1の3。クライアント200は、ユーザ操作によってクライアント200自身において音量が変更されたとき、またはネットワークを介してコントローラ100から音量制御指示を受信したとき図1の2、クライアント200が出力する音声信号の出力レベルを変更する。なお、サーバ300やコントローラ100は複数あってもよい。各クライアント200は、サーバ300の異なるコンテンツを再生してもよいし、同一のコンテンツを再生してもよい。図2は、コントローラ100、クライアント200及びサーバ300のブロック図を示す。コントローラ100の制御部11は、メモリ12に格納されたプログラムを実行することによりコントローラ100全体を制御するものであり、例えばマイコンやCPUである。メモリ12は、コントローラ100の設定内容などを保持するものであり、例えばROMやRAMである。メモリ12は、後述するボリューム管理テーブル101を有する。表示部14は、サーバ300の情報、サーバ300から取得されるコンテンツリスト、クライアント200のリスト、クライアント200のコンテンツ再生状態、またはクライアント200を制御するメニュー等で構成される。図3はコントローラ100の表示部14を示す。サーバ及びコンテンツ選択部14Aは、ネットワークに接続されるサーバ300の情報、及びサーバ300から取得されるコンテンツリスト等を表示する。コントローラ100はサーバ及びコンテンツ選択部14Aにおいてユーザによって選択されるコンテンツを、クライアント200に再生させる。表示部14のクライアント選択部14Bは、サーバ300のコンテンツを再生するクライアント200を選択するためのインターフェースを示す。本実施形態では、クライアント選択部14Bにクライアント200A~200Eが表示される。ユーザ操作によってクライアント選択部14Bの左端に示される枠にチェックが付けられたとき、チェックが付けられたクライアント200からコンテンツが再生される。また、コントローラ100が認識したクライアント200はクライアント選択部14Bに表示され、クライアント200の電源がオフされたときは、電源がオフになっているクライアント200の表示を消してもよいし、選択できないようにしてもよい。表示部14Bの再生進捗バー14Cは、クライアント200のコンテンツ再生状態を示す。本実施形態では、各クライアント200は同一のコンテンツを同一のタイミングで再生することを想定するので、再生進捗バーは1つだけ表示される。表示部14Bの再生操作部14Dは、クライアント200に再生開始、再生停止、コンテンツのスキップアップ、スキップダウン、再生一時停止等の指示を送信するインターフェースである。表示部14Bのボリュームコントロール部14Eは、各クライアント200の音量を変更するためのインターフェースである。ボリュームコントロール部14EのCLは、クライアントを、TTLはトータルの略を示す。それぞれのバーは、音量パラメータを示し、丸印で示されるつまみの位置が現在の音量を示す。ボリュームコントロール部14Eの各クライアント200の音量以下、クライアントボリュームという。、及びコントローラ100が管理する音量以下、トータルボリュームという。は、0から100の値であり、単位はである。すなわち、各クライアントの最大音量が異なっている場合であっても、クライアントボリュームは後述する方法によって100に対する比率に統一される。各クライアント200の音量は、CLAからCLEのボリュームバーの丸印で示される部分をマウス等で掴み、左右方向へ移動することによって調整可能である。さらに、トータルボリュームバーを操作することによって、複数のクライアント200の音量を同時に変更することが可能である。なお、トータルボリュームが変更されたとき、クライアント選択部14Bにおいて選択されているクライアント200の音量値のみが変更されるようにしてもよい。コントローラ100の通信部15は、クライアント200またはサーバ300と通信するものであり、イーサネット登録商標。以下、イーサネットという。端子等である。コントローラ100の制御部11は、通信部15を介して、クライアント200及びサーバ300と制御コマンド等を送受信する。クライアント200の制御部21は、メモリ22に格納されたプログラムを実行することによりクライアント200全体を制御するものであり、例えばマイコンやCPUである。メモリ22は、クライアント200の設定内容などを保持するものであり、例えばROMやRAMである。メモリ22は、後述するボリュームテーブル201を有する。クライアント200の操作部23は、クライアント200の音量等を調整するインターフェースであり、例えば音量調整用のつまみである。表示部24は、クライアント200において再生されているコンテンツの情報や、クライアント200に設定されている音量値等を表示する。通信部25は、コントローラ100と制御コマンドを送受信し、サーバ300からコンテンツデータ等を受信する。音声処理部26は、DACやDSP等であり、通信部26を介してサーバ300から送信される音声データに音場処理を実行し、デジタルアナログ変換する。アナログ変換された音声データは、増幅部27によって増幅され、スピーカー等へ出力される。また、増幅部27は、制御部21の指示によって指定される出力レベルに音声信号の増幅度を変更する。サーバ300の制御部31は、メモリ32に格納されたプログラムを実行することによりサーバ300全体を制御するものであり、例えばマイコンやCPUである。メモリ32は、サーバ300の設定内容などを保持するものであり、例えばROMやRAMである。HDD33は、ハードディスクドライブであり、音楽データや映像データ等を記憶する。通信部34は、コントローラ100またはクライアント200とコマンドを送受信する。例えば、通信部34は、コントローラ100の指示によってHDD33内のコンテンツリストを送信し、クライアント200の指示によってクライアント200へコンテンツデータを送信する。以上の構成を備えるコントローラ100の制御部11は、クライアントボリューム及びトータルボリュームを表示部14のボリュームコントロール部14Eに表示するための変数をクライアント200から取得し、トータルボリューム及びクライアントボリュームを計算する。クライアントボリュームバーが操作されたとき、各クライアント200に設定させる音量を計算し、制御コマンドを送信する。また、制御部11は、トータルボリュームが変更されたとき、各クライアント200の出力レベルの変化が一定となるような音量値を計算し、各クライアント200に制御コマンドを送信する。さらに、クライアント200は、音量が変更されたときの時間情報以下、タイムスタンプという。を有する。制御部11は、コントローラ100の起動時にクライアント200の音量情報とともに、音量情報に対応付けられたタイムスタンプを取得し、タイムスタンプが最新のクライアント200が有する音量情報を使用してトータルボリュームを調整し、かつ、各クライアント200の音量を設定する。図4は、コントローラ100が起動したときのコントローラ100の制御部11とクライアント200の制御部21とのシーケンスチャートを示す。コントローラ100の制御部11は、コントローラ100が起動するとき、各クライアント200から、ボリュームコントロール部14Eにトータルボリュームと、各クライアント200のクライアントボリュームとを表示するための変数以下、音量変数という。を取得する。制御部11は、各クライアント200から取得される音量変数によって計算されるトータルボリュームが異なる場合、最新のタイムスタンプが対応付けられた音量変数によってトータルボリュームを決定する。さらに、制御部11は決定されたトータルボリュームから計算される音量変数を各クライアント200に送信することにより、各クライアント200が記憶する音量変数と、コントローラが有する音量変数との整合性が取れた状態に更新する。クライアント200の制御部21は、変数I第1パラメータ、V所定の上限音量値、第2パラメータ、及びTimestampを有する。変数Iは、クライアント200に設定されている音量を示す音量変数である。変数Vは、ボリュームコントロール部14Eにおいてトータルボリュームが100に設定されたときにクライアントボリュームバーに設定される値を示す音量変数である。なお、クライアント200の変数Vの初期値は100であり、変数Iの初期値は50であり、変数TimestampはNULL無効な値であるS101が、これに限らず、任意の値であってもよい。コントローラ100の制御部11は、コントローラ100を起動するS102。クライアント200の制御部21は、クライアント200が起動したとき、コントローラ100へクライアント200が起動したことを通知するS103。コントローラ100の制御部11は、クライアント200から起動通知を受信したとき、起動通知を送信したクライアント200がコントローラ100のボリューム管理テーブル101に未登録のクライアント200であるか否かを判断するS104。図5はコントローラ100のボリューム管理テーブル101を示す。ボリューム管理テーブル101は、クライアント識別子であるクライアント200のマックアドレスに対応付けて、クライアント200のIPアドレス、変数V、VMax、I、IMax、Timestampを管理する。また、コントローラ100が使用する変数であるIt、ItMaxを管理する。VMaxとIMax第3パラメータは説明のため分けて定義したが、実際は同一の変数でもよい。変数V、VMax、I、IMaxにおける添え字nは、クライアント200を一意に特定するための通し番号であり、例えば、ボリューム管理テーブル101のNo1のクライアントクライアント200Aのnは1である。ボリューム管理テーブル101のマックアドレス及びIPAddressは、S103における起動通知に含まれる値である。変数V、VMax、I、IMax、Timestamp等の値は後述する処理によって設定される。コントローラ100の制御部11は、起動通知を受信し、かつ、ボリューム管理テーブル101にマックアドレスが登録されていない場合、未登録のクライアント200であると判断するS104でYES。制御部11は、クライアント200のボリューム変数V、VMaxを新たに定義しS105、図5のボリューム管理テーブル101に追加する。例えば、クライアント200Eが起動通知を送信した場合、ボリューム管理テーブル101のNo5の列が追加となり、V5及びVMax5が定義される。新たに定義されるnは、登録済みのクライアント200に割り当てられている変数nに1をインクリメントした値である。制御部11は、変数In、InMaxを定義し、図5のボリューム管理テーブル101に追加するS106。IMax及びVMaxはそれぞれ、I、Vの最大値であり、後述する処理によって設定される。InMax及びVnMaxは、規定値例えば100であってもよい。なお、Vn、Inは、次式を満たす。0<=Vn<=VnMax-10<=In<=InMax-2制御部11は、InMax及びVnMaxを取得するため、クライアント200へクライアント200が設定可能な最大音量値を取得するための要求を送信するS107。クライアント200が設定可能な最大音量値は、図14の横軸の最大値である。クライアントの制御部21は、最大音量値を送信しS108、コントローラ100の制御部11は、受信した最大音量値をInMax及びVnMaxに設定するS109。コントローラ100の制御部11は、ボリューム管理テーブル101に登録されている全クライアント200へ変数V、I、Timestampを送信するよう要求しS110、クライアント200の制御部21は、自身が保持しているV、I、Timestamp値をコントローラ100へ送信するS111。図6は各クライアント200が有するボリュームテーブル201を示す。クライアント200は、変数I、V、IMax、VMaxを有する。変数I及びVは、クライアント200の操作部23が操作されることによって音量値が変更された場合、またはコントローラ100から音量値変更のコマンドを受信したときに書き換えられる。IMax及びVMaxは固定の値である。なお、S101で記載されるように、本実施例では変数Vの初期値は100であり、Iの初期値は50である。コントローラ100の制御部11は、ボリューム管理テーブル101の変数Vn、In、Timestampnを受信された値に更新するS112。制御部11は、取得された変数Vn及びInから各クライアント200について変数It_tempnを計算するS113。It_tempは、トータルボリュームの値を示す。なお、変数It_tempは、コントローラ100のトータルボリュームItを決定するための仮の変数である。It_tempは、各クライアント200のV、及びIによって、以下の式で計算される。次式のnは、図5のボリューム管理テーブルのNoを示し、1からクライアント数までの数値である。It_tempn={In/Vn}×VnMax―3ただし、0<=In<=It_tempn<=ItMax―44式のItMaxは、ボリュームコントロール部14Eのトータルボリュームの最大値である。本実施例では、ItMaxは100である。制御部11は、計算されたIt_tempnがすべてのクライアント200において等しいか否かを判断しS114、等しいと判断された場合、すべてのクライアント200の変数の整合性が取れている状態であると判断されるので、変数It=It_tempとし、Itを表示部14のトータルボリュームに設定するS120。すなわち、制御部11は、ボリュームコントロール部14Eのトータルボリュームバーのつまみの位置をItの値に移動させる。なお、ItもIt_tempと同様に、以下の式5を満たす。0<=In<=It<=ItMax―5なお、ボリュームコントロール部14Eの各クライアントボリュームバーのつまみの位置は、後述するS118の処理によって計算されるI’nに設定されるS121。なお、I’はボリュームコントロール部14Eのクライアントボリュームのつまみの位置を示す。すなわち、I’はクライアントボリュームバーの表示上の位置を示す変数である。トータルボリュームは、Vnに対するI’nの比率を示す値である。制御部11は、It_tempnが各クライアント200によって異なると判断した場合S114でNO、変数Timestampnの中で、最新の時刻を示すTimestampを特定するS115。図5のボリューム管理テーブル101の場合、クライアント200AのTimestampが最新であると判断される。制御部11は、最新のTimestampnを有するクライアント200の変数In,Vnから計算されるIttempnをItに設定するS116。図5のボリューム管理テーブル101の場合、I1及びV1の値から計算されるIttemp1をItとする。制御部11は、S120と同様、Itをトータルボリュームに設定するS117。制御部11は、S117の処理によって確定されるItから、各クライアント200のI’n、In及びVnを算出する。各クライアント200のI、I’及びVは以下の手順によって導出される。3式においてIt_tempをItとし、InをI’nとすると、以下の式が成立する。I’n=It×{Vn/VnMax}-6ただし、0<=I’n<=It<=ItMax-7例えば、It=80、V1Max=90、V1=60の場合、I’1=80×{60/90}であるので、表示位置I’1はおよそ53.3となる。コントローラ100からクライアント200に設定される音量値であるInは、I’nを用いて以下の式で示される。In=I’n×{ItMax/InMax}-88式においてInMaxとItMaxとが等しいとき例えば、InMax、ItMaxがともに100のときは、I’n=Inである。クライアント200Aの場合、I1=I’n×100/90であるので、クライアント200Aのクライアントボリュームバーに表示されているI’nを約1.11倍した音量値がクライアント200Aに設定される。すなわち、クライアント200に設定される音量値Inは、表示値I’nをItMaxとInMaxとによって補正した値となる。この結果、トータルボリュームを変更したとき、各クライアントの出力特性が一定になるように音量値Inが決定できる。また、6式を変形し、Vnは、以下の式で表される。Vn=I’n×VnMax/It-9図4のフローチャートに戻り、コントローラ100の制御部11は、8式及び9式から、In及びVnをすべてのクライアント200について計算し、各クライアント200へ現在の時刻を設定したTimestampとともに送信するS119。クライアント200の制御部21は、コントローラ100から受信するV,Iを、図6のボリュームテーブル201のV、Iに記憶し、Timestampを受信した値に更新するS122。クライアント200の制御部21は、クライアント200の増幅部27に、S122の処理によって設定されたIに対応する出力レベルを設定し、音量の制御を実行するS123。以上の処理の結果、コントローラ100が起動したとき、コントローラ100の制御部11はクライアント200が記憶している音量変数を取得し、Itを計算してトータルボリュームを表示する。さらに制御部11はItからI’nを計算し、クライアントボリュームを表示する。トータルボリュームItは、各クライアント200に設定されている音量値Inの、最大設定可能値Vnに対する比率を表示するので、ユーザはトータルボリュームを確認するだけで、各クライアント200に設定されている音量値を把握できる。また、各クライアント200の音量変数から計算されるItが等しくない場合、最新のタイムスタンプを有するクライアント200の音量変数から計算されるItから、各クライアント200の音量変数を計算する。コントローラ200はクライアント200の出力レベルを変更し、クライアント200に音量変数In、Vn及びタイムスタンプを更新させる。この結果、ネットワーク内のクライアント200とコントローラ100とが有する音量変数の整合性が維持される。図7は、コントローラ100の表示部14のボリュームコントロール部14Eにおいてつまみが操作されたときに、コントローラ100の制御部11が実行するフローチャートを示す。コントローラ100の制御部11は、ボリュームコントロール部14Eのつまみが操作されたか否かを判断しS201、変更されていないと判断される場合、変更を待つS201でNO。制御部11は、音量が変更されたと判断したときS201でYES、ボリュームコントロール部14Eのトータルボリュームが変更されたか否かを判断するS202。クライアントボリュームのいずれかが操作されたと判断された場合S202でNO、操作されたクライアントボリュームを特定するS203。例えば、ボリュームコントロール部14EのCLCクライアント200Cの音量が変更されたと判断された場合、通し番号k=3が特定される。制御部11は、I’kがIt以下であるか否かを判断する。なお、上記した通り、I’kは、クライアントボリュームバーの表示値である。7式から、I’kはIt以下であることが条件であるので、制御部11は、変更後のクライアントボリュームI’kが、トータルボリュームIt以下であるか否かを判断するS204。制御部11は、I’kがIt以下であると判断したときS204でYES、8式によって、クライアント200へ設定する音量値であるIkを計算するS205。制御部11は、9式から、Vkを計算するS206。S205及びS206において、音量値が変更されたクライアント200のIk、Vkのみを計算し、操作されていないクライアント200のIn、Vnは計算しない。制御部11は、音量値が変更されたクライアント200へ、計算されたVk、変更後のIk、及び現在時刻を設定したTimestampとして送信するS207。これらの変数を受信したクライアント200は、図4のS122及びS123の処理を実行する。制御部11は、クライアントボリュームのつまみの表示位置を、I’kで示される位置に更新しS208、処理を終了する。なお、通し番号kで示されるクライアント200以外のクライアントボリュームは変更しない。ただし、タイムスタンプの値を各クライアント200に送信し、更新させてもよい。制御部11は、IkがItより大きいと判断したときS204でNO、7式を満たす必要があるので、ItにI’kを代入するS209。制御部11は、Itのタイムスタンプを現在の時刻に更新するS210。制御部11は、9式によってVkを計算するS211。S209の処理によってI’nとItは等しいので、I’n/Itは1になり、Vk=VkMaxが成立する。制御部11は、以下の処理によって、クライアントボリュームを変更されていないクライアント200のクライアントボリュームにおけるInを計算し、V,I,Timestampを各クライアントへ送信する。制御部11は、I’nを6式によって計算しS212、計算されたI’nを用いて、8式によってInを計算するS213。なお、S212、S213におけるnは、k以外の1からクライアント数までの変数である。制御部11は、すべてのクライアント200へVn、In及び現在時刻を登録したTimestamp値を送信するS214。制御部11は、クライアントボリュームバーの値を、それぞれI’nに更新するS215。すなわち、あるクライアント200のクライアントボリューム値I’kがItを超えて調整されたとき、すべてのクライアント200のクライアントボリュームバーの値が更新され、さらにクライアント200へ音量値を変更させる。制御部11は、すべてのクライアント200についてS212からS215の処理を実行したか否かを判断し、完了していないと判断した場合S216でNO、S212以降の処理をnの値を変更しながら実行し、すべての処理が終了したと判断した場合S216でYES、処理を終了する。制御部11は、表示部14のトータルボリュームが変更されたと判断した場合S202でYES、クライアントボリュームバーの表示位置を示すI’nを、6式によって計算するS217。なお、nは1からクライアントの数までを示す変数である。制御部11は、I’nをクライアントボリュームバーに設定しS218、8式によって、Inを計算するS219。制御部11は、クライアント200へ、計算されたIn、Vn、現在時刻を格納したTimestampを送信するS220。なお、Vnは変更しないので、制御部11は計算する必要はなく、ボリューム管理テーブル201のVnをそのまま送信する。なお、制御部11は、Vnを送信しなくてもよい。制御部11は、すべてのクライアント200についてS217からS220までの処理を実行したか否かを判断しS221、完了していないと判断した場合S221でNO、S217以降の処理をnの値を変更しながら実行し、すべての処理が終了したと判断した場合S221でYES、処理を終了する。図7の処理を、図8~12を用いて具体的に説明する。図8~12は、クライアント200Aのクライアントボリュームまたはトータルボリュームが操作されたときのV、I、I’、It及びボリュームバーを示す。なお、説明を簡単にするため、ItMax=100、InMax=100、VnMax=100とする。[実施形態1]図8は、ボリュームコントロール部14Eにおけるクライアント200AのクライアントボリュームI’1がIt以下の範囲で変更されたときのクライアント200AのI1、I’1、V1、Itを示し、図7のS204においてYESと判断されたときに相当する。図8のA-1及びA-2は、クライアント200Aの変更前、変更後のクライアントボリュームを示す。図8のA-3及びA-4は、クライアントボリュームが変更されたときのトータルボリュームバーの変更前、変更後を示す。図8のA-1において、クライアントボリュームは、I’1=60、V1=75である。なお、V1は9式によって算出される。ユーザ操作によって、クライアントボリュームI’1が60から70へ変更される図8のA-2。制御部11は、S205の処理によって、I1を計算するI1=70。さらに制御部11は、S206の処理によってV1を計算するV1=87.5。制御部11は、変更後のI’1=70にクライアントボリュームバーを更新するS208。トータルボリュームは、A-3の状態からA-4の状態となる。すなわち、本実施形態ではItは変更されない。クライアントボリューム値がIt以下で変更されたとき、トータルボリュームバーは変更されない。Itの値はクライアントボリュームバーにおける、Vに対するI’の比率を示す。変更前のクライアントボリューム200Aの比率Itは、60/75×100=80、変更後のクライアントボリューム200Aの比率Itは、70/87.5×100=80である。すなわち、クライアント200AのVに対するI’の比率が等しくなるようにVが変更される。この結果、ユーザはトータルボリュームの位置を確認することで、各クライアント200のクライアントボリュームが設定可能な音量値に対して何の位置に設定されているのかを知ることができる。[実施形態2]図9も図7のS204においてYESと判断されたときのボリュームバーの状態を示す。図9はボリュームコントロール部14Eにおけるクライアント200AのクライアントボリュームI’1がIt以下で変更されたときであって、かつ、トータルボリュームItが100であったときの実施形態を示す。図9のB-1において、クライアントボリュームは、I’1=60、V1=60である。すなわち、Itはすでに100であるので、V1に対するI’1の比率は100である。ユーザ操作によって、クライアントボリュームI’1が60から70へ変更される図9のB-2。制御部11は、S205の処理によって、I1を計算するI1=70。さらに制御部11は、S206の処理によってV1を計算するV1=70。制御部11は、変更後のI’1=70にクライアントボリュームバーを更新するS208。すなわち、I’1とV1の比率が1になる必要があるので、I’1とV1とは同一の値となる。なお、図9においてトータルボリュームItは変化しない。[実施形態3]図10は図7のS204においてNOと判断されたときの実施形態を示す。すなわち、図10はボリュームコントロール部14Eにおけるクライアント200AのクライアントボリュームI’1がItより大きい範囲へ変更されたときの状態を示す。図10のC-5及びC-6はクライアント200Aの音量値が変更される前後のクライアント200Bのクライアントボリュームバーを示す。図10のC-1において、クライアント200Aのクライアントボリュームは、I’1=60、V1=75である。ユーザ操作によって、クライアントボリュームI’1が60から90へ変更される図10のC-2。制御部11は、ItをI’1の値90に変更しS209、制御部11は、S211の処理によって、V1を計算するV1=100=V1Max。この時、V1=V1Maxが成立する。V1がV1Maxと等しいとき、Itは、I1/V1と常に等しい値となるので、トータルボリュームを操作したとき、クライアント200Aのクライアントボリュームはトータルボリュームと同じ値となる。クライアント200Bのクライアントボリュームは、クライアント200Aのクライアントボリュームが変更されることによって、連動して変更される。クライアント200Bの変更前の音量変数はC-5に示されるように、I’2=30、V2=37.5であったとする。クライアント200Bのクライアントボリュームは、S212の計算によって、I’2=33.75と計算される。さらに制御部11は、S213においてI2を計算し、クライアント200Bへ送信するS214。なおI2Maxは100であるので、I’2=I2=33.75である。すなわち、クライアント200Bのクライアントボリュームバーのつまみの位置は、V2に対して、30/37.5×100=80の位置から、33.75/37.5=90の位置に変更される。クライアント200Aのクライアントボリュームを変更したことに伴い、クライアントBのクライアントボリュームも適切に調整される。なお、クライアント200C、200D、200Eについても同様の処理が実行される。[実施形態4]図11は図7のS202においてYESと判断されたときの実施形態を示す。すなわち、図11はボリュームコントロール部14EにおけるトータルボリュームItが変更されたときの状態を示す。図11のD-1及びD-2は、トータルボリュームの変更前、変更後の状態を、D-3及びD-4は、トータルボリュームが変更される前のクライアント200Aのクライアントボリュームと、トータルボリュームが変更された後のクライアント200Aのクライアントボリュームを示す。図11のD-1において、トータルボリュームは、It=80であり、ユーザ操作によってトータルボリュームがIt=100に変更されるD-2。トータルボリュームが変更される前のクライアント200AのI1及びV1は、それぞれ60、75であるD-3。トータルボリュームが変更されたとき、クライアント200AのI’1はS217の処理によって75と算出される。制御部11は、S219の処理によって、I1を計算し、クライアント200Aに設定させるS220。トータルボリュームが100になったとき、クライアントボリュームの変数V1に対するI’1の比率は1になる。また、トータルボリュームが変更されたとき、クライアント200AのV1は不変である。クライアント200B~200Eも同様に処理される。以上の処理によって、トータルボリュームが変更されたとき、クライアントボリュームのVとIとの比率がトータルボリュームと等しくなるようにVとIとが変更される。[実施形態5]図12も図7のS202においてYESと判断されたときの実施形態を示す。図12はボリュームコントロール部14EにおけるトータルボリュームItが減少するほうへ変更されたときの状態を示す。図12のE-1、E-2は、トータルボリュームの変更前、変更後の状態を、E-3、E-4は、トータルボリュームが変更される前のクライアント200Aのクライアントボリューム、トータルボリュームが変更された後のクライアント200Aのクライアントボリュームを示す。図12のE-1において、トータルボリュームは、It=80であり、ユーザ操作によってトータルボリュームがIt=40に変更されるE-2。トータルボリュームが変更される前のクライアント200AのI1及びV1は、それぞれ60、75であるE-3。制御部11は、トータルボリュームが変更されたとき、クライアント200AのI’1はS217の処理によって30と算出される。制御部11は、S219の処理によって、I1を計算し、クライアント200Aに設定させるS220。クライアント200B~200Eについても同様に処理される。以上の処理によって、トータルボリュームが変更されたとき、クライアントボリュームのVとIとの比率がトータルボリュームと等しくなるようにVとIとが変更される。図13は、クライアント200に備えられる操作部23が操作されることによって音量値が変更されたときに、クライアント200の制御部11が実行するフローチャートを示す。クライアント200の制御部21は、ユーザ操作によって音量の制御指示が入力されたか否かを判断しS301、音量の制御指示が入力されてないと判断したときS301でNO、制御指示を待つ。制御部21は、音量制御の指示が入力されたときS301でYES、ボリュームテーブル201のI及びVから、変数ratio=I/Vを計算する。例えば、図6のボリュームテーブル201の場合、ratioは40/90である。制御部21は、ボリュームを増加させる指示を受信したか否かを判断しS303、増加させる指示であると判断した場合S303でYES、増加分の音量値をΔIに記憶するS304。制御部21は、IをIΔIに変更したときに、上記したratioを一定に保つことができるか否かを判断するS305。ratioを一定に維持するためには、IΔI/V’V’は変化後のVを満たすV’が必要であるが、VはVMax以下を満たさなくてはならない。すなわち、制御部11は、VMax以下のVによって、ratioを一定に維持できるか否かを判断する。ratioを一定に保つことができるVが存在しない場合、IΔIとV’とから計算されるトータルボリュームItが、コントローラ100が管理している変数Itの値を超えるので、クライアント200とコントローラ100とのItの整合性が合わなくなる。従って、制御部11は、受信した音量値の変更が不可能であることを表示部24等に表示し、音量の変更を実行しないS306。制御部21は、音量を下げる指示であると判断した場合S303でNO、またはratioを一定に維持できると判断した場合S305でYESratio=IΔI/Vxを満たすxを算出し、ボリュームテーブル201のVをVxに、IをIΔIに更新し、Timestampを現在時刻に更新するS308。制御部21は、出力レベルを更新後のIによって計算される値に変更S309する。制御部21は、コントローラ100へ、変更後のI、V、及びTimestampを送信するS310。コントローラ100は、クライアント200から送信されるI、V、及びTimestampをボリューム管理テーブル101に記憶し、クライアントボリュームのつまみの位置を、6式で計算されるI’の位置に更新する。以上の処理によると、クライアント200の操作によって音量が変更されるとき、コントローラ100が管理しているItを超えない範囲で音量を変更するので、コントローラ100のトータルボリュームとクライアント200のクライアントボリュームとの整合性が維持される。以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態には限定されない。コントローラ100が複数あってもよい。サーバ300をクライアント200の内部に備えてもよいし、コントローラ100の内部に備えてもよい。"