(57)【要約】【課題】仮想空間における音声生成に際して、開発者の意図を容易に反映できるようにする。【解決手段】コンピュータを、仮想空間の音源に対応する音声データを出力する音源手段と、音声データの加工が可能な信号処理手段を複数有して信号処理手段を単独または階層的に繋いで音声データを処理する音声加工手段と、音源と仮想の受音点との位置関係から音源手段の出力先となる信号処理手段を決定する出力先決定情報に基づいて、出力先を決定する出力先決定手段として機能させる。【選択図】図５
2020031303.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
仮想空間の音源に対応する音声データを出力する音源手段と、
音声データの加工が可能な信号処理手段を複数有して前記信号処理手段を単独または階層的に繋いで前記音声データを処理する音声加工手段と、
前記音源と仮想の受音点との位置関係から前記音源手段の出力先となる信号処理手段を決定する出力先決定情報に基づいて、前記出力先を決定する出力先決定手段と、
して機能させることを特徴とする仮想空間における音声生成プログラム。
【請求項２】
請求項１において、
前記信号処理手段は、加工後の音声データに音像定位を行う音像定位手段を有していることを特徴とする仮想空間における音声生成プログラム。
【請求項３】
請求項１または請求項２において、
前記音源から前記受音点に、両者間のオブジェクトを透過して直線的に到達する音の変化を決定するパラメータに基づいて、前記音源手段が出力する音声データの音量を調整する第１調整手段として前記コンピュータを機能させることを特徴とする仮想空間における音声生成プログラム。
【請求項４】
請求項１から請求項３の何れかにおいて、
前記音源から前記受音点に、両者間のオブジェクトを回折して到達する音の変化を決定するパラメータに基づいて、前記信号処理手段が出力する音声データの音量を調整する第２調整手段として前記コンピュータを機能させることを特徴とする仮想空間における音声生成プログラム。
【請求項５】
請求項１から請求項４の何れかにおいて、
前記音源と前記受音点との間には、ドアを有した壁を示すオブジェクトが配置されており、
前記音源から前記受音点に、前記ドアの開口を通過して到達する音の変化を定めるパラメータに基づいて、前記信号処理手段が出力する音声データの音量を調整する第３調整手段として前記コンピュータを機能させることを特徴とする仮想空間における音声生成プログラム。
【請求項６】
請求項１から請求項５の何れかの仮想空間における音声生成プログラムを記憶した記憶部と、
前記音声生成プログラムを実行する制御部と、
を備えたことを特徴とする音声生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間における音声生成プログラム、および音声生成装置に関する。
【背景技術】
【０００２】
近年のゲームプログラムでは、三次元の動画像を用いつつ、より正確な音響表現を試みることで、ユーザに豊かなバーチャル体験を提供している（例えば特許文献１を参照）。特許文献１の例では、より正確な音響表現を行うために、仮想三次元空間内にオブジェクトを配置し、音響シミュレーションをすることで音響信号を生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２６７６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のようにシミュレーションに基づいて音響信号を生成する方法では、例えば、何らかの音を強調させたいとか、弱めたいとか、或いはなくしたといったプログラム開発者の意図を反映させる余地がない。
【０００５】
そこで、本発明は、仮想空間における音声生成に際して、開発者の意図を容易に反映できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明は、コンピュータを、仮想空間の音源に対応する音声データを出力する音源手段と、音声データの加工が可能な信号処理手段を複数有して前記信号処理手段を単独または階層的に繋いで前記音声データを処理する音声加工手段と、前記音源と仮想の受音点との位置関係から前記音源手段の出力先となる信号処理手段を決定する出力先決定情報に基づいて、前記出力先を決定する出力先決定手段と、して機能させることを特徴とする仮想空間における音声生成プログラムである。
【０００７】
また、第１の発明において、前記信号処理手段は、加工後の音声データに音像定位を行う音像定位手段を設けてもよい。
【０００８】
また、前記発明において、前記音源から前記受音点に、両者間のオブジェクトを透過して直線的に到達する音の変化を決定するパラメータに基づいて、前記音源手段が出力する音声データの音量を調整する第１調整手段として前記コンピュータを機能させてもよい。
【０００９】
また、前記発明において、前記音源から前記受音点に、両者間のオブジェクトを回折して到達する音の変化を決定するパラメータに基づいて、前記信号処理手段が出力する音声データの音量を調整する第２調整手段として前記コンピュータを機能させてもよい。
【００１０】
また、前記発明において、前記音源と前記受音点との間には、ドアを有した壁を示すオブジェクトが配置されており、前記音源から前記受音点に、前記ドアの開口を通過して到達する音の変化を定めるパラメータに基づいて、前記信号処理手段が出力する音声データの音量を調整する第３調整手段として前記コンピュータを機能させてもよい。
【００１１】
また、第２の発明は、前記仮想空間における音声生成プログラムを記憶した記憶部と、前記音声生成プログラムを実行する制御部と、を備えたことを特徴とする音声生成装置である。
【発明の効果】
【００１２】
本発明によれば、仮想空間における音声生成に際して、開発者の意図を容易に反映できる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態のゲーム装置の構成を示すブロック図である。
【図２】音源手段の構成例を示すブロック図である。
【図３】バスの構成を模式的に示すブロック図である。
【図４】仮想空間に設けられた、建物のオブジェクトの一部を平面的に表している。
【図５】図４のオブジェクトにおける音の伝搬経路を表現するためのバスの階層構造の例である。
【図６】音声データの送り先決定に用いるテーブルである。
【図７】第１調整手段の音量等の調整機能を説明する図である。
【図８】第３調整手段の音量等の調整機能を説明する図である。
【図９】第４調整手段の音量等の調整機能を説明する図である。
【図１０】音量値、カットオフ周波数を決定するための特性曲線の例である。
【図１１】音源と開口とがなす角度等に基づいて、音量値、カットオフ周波数を決定するための特性曲線の例である。
【図１２】バスの階層構造の他の例である。
【図１３】図１２の階層構造に対応する出力先決定情報の例である。
【発明を実施するための形態】
【００１４】
［実施形態］
以下、本発明の実施形態にかかる音声生成プログラム、および音声生成装置について、図面を参照して説明する。なお、本発明の仮想空間における音声生成プログラムは、ゲームプログラムとして実装されている。また、音声生成装置は、ゲーム装置として実現されている。
【００１５】
本実施形態で説明するゲームプログラムは、例えば、パーソナルコンピュータ、プレイステーション（登録商標）、ＸＢｏｘ（登録商標）、ＰｌａｙＳｔａｔｉｏｎ  Ｖｉｔａ（登録商標）などのゲーム装置において実行される。
【００１６】
このゲームプログラムによるゲームでは、各ユーザの操作を受けて、プレイヤキャラクタを三次元の仮想ゲーム空間（以下、仮想空間ＶＳという）で活動させたり、プレイヤキャラクタ同士でグループを編成して様々なアクションを行わせたりする。より具体的には、このゲームは、プレイヤキャラクタが敵キャラクタを攻撃して倒していく対戦型のアクションゲームである。
【００１７】
〈ゲーム装置の構成〉
ゲーム装置５は、ユーザの操作に基づいて所定のゲームを実行する。図１は、本実施形態のゲーム装置５の構成を示すブロック図である。ゲーム装置５には、ディスプレイ６１、スピーカ６２およびコントローラ６３が外部接続または内蔵される。ゲーム装置５では、例えば、インストールされたゲームプログラムおよびゲームデータに基づいてゲームが進行する。なお、ゲーム装置５同士も、通信ネットワーク（図示を省略）または近距離無線通信装置（図示せず）を用いて、互いにデータ通信を行うことができる。
【００１８】
ゲーム装置５は、ネットワークインターフェース５１、グラフィック処理部５２、オーディオ処理部５３、操作部５４、記憶部５５および制御部５６を有する。ネットワークインターフェース５１、グラフィック処理部５２、オーディオ処理部５３、操作部５４および記憶部５５は、バス５９を介して制御部５６と電気的に接続されている。
【００１９】
ネットワークインターフェース５１は、例えばゲーム装置５や外部のサーバ装置（図示を省略）との間で各種データを送受信するために、前記通信ネットワークに通信可能に接続される。
【００２０】
グラフィック処理部５２は、制御部５６から出力されるゲーム画像情報に従って、プレイヤキャラクタおよび仮想空間に関する各種オブジェクトを含むゲーム画像を、動画形式で描画する。グラフィック処理部５２はディスプレイ６１と接続されており、動画形式に描画されたゲーム画像は、ゲーム画面としてディスプレイ６１上に表示される。
【００２１】
このゲームプログラムの下では、ゲーム画像を構築する際に、グラフィック処理部５２は、ユーザの視点として仮想のカメラ（以下、仮想カメラＶＣ）を仮想空間に設定する。グラフィック処理部５２は、あたかも、仮想カメラＶＣで仮想空間内を撮影したかのように、３Ｄ（三次元）の映像（動画像）を構成してディスプレイ６１に表示する。
【００２２】
オーディオ処理部５３は、制御部５６の指示に従ってデジタルのゲーム音声を再生および合成する。オーディオ処理部５３は、スピーカ６２と接続されており、再生および合成されたゲーム音声は、アナログ信号に変換されたのちにスピーカ６２から出力される。
【００２３】
操作部５４は、コントローラ６３と接続され、操作入力に関するデータをコントローラ６３との間で送受信する。例えば、ユーザは、コントローラ６３に設けられたボタン等の操作子（図示略）を操作することにより、ゲーム装置５に操作信号を入力する。
【００２４】
記憶部５５は、ＨＤＤ、ＲＡＭおよびＲＯＭ等で構成される。記憶部５５は、ゲームプログラムおよびゲームデータを記憶することができる。また、記憶部５５には、他のゲーム装置５から受信した他アカウント情報なども記憶される。
【００２５】
制御部５６は、ＣＰＵおよび半導体メモリを含むマイクロコンピュータで構成され、ゲーム装置５自身の動作を制御する。例えば、制御部５６は、前記ゲームプログラムを実行することにより、グラフィック処理部５２およびオーディオ処理部５３を動作させる。
【００２６】
また、制御部５６とオーディオ処理部５３とは、協働して音響表現を行う。以下、制御部５６とオーディオ処理部５３の機能について詳述する。
【００２７】
〈オーディオ処理部５３の機能的構成〉
既述の通り、オーディオ処理部５３は、ゲーム音声の再生および合成を行う。この明細書における、ゲーム音声とは、ゲーム中にスピーカ６２から流れる音声であり、例えば、ＢＧＭ（Back Ground Music）や、ユーザの操作に応じて流れる効果音が上げられる。また、洞窟内の水たまりに天井から落ちてくる水滴の音、洞窟において入口から出口に向かう風の音、町の雑踏の音（通行人の声や付近を通過する自動車の音等）、森や草原に吹く風の音等の環境音もゲーム音声の一例である。
【００２８】
また、このゲームプログラムでは、仮想空間ＶＳ内に音源（すなわち仮想の音源）として取り扱われるオブジェクト（以下、音源オブジェクトという）が存在する。音源オブジェクトの例としては、プレイヤキャラクタ、ゲームに登場する敵キャラクタ（モンスターなど）、プレイヤキャラクタの仲間として登場するキャラクタ、プレイヤキャラクタが持っているアイテム（例えば武器など）、仮想空間ＶＳに設置された機械や設備などが挙げられる。
【００２９】
オーディオ処理部５３は、ゲーム音声の再生や合成の機能を発揮する、いわゆるミドルウエアを含んでいる。このミドルウエアが実行されることで、オーディオ処理部５３は、音源手段５３１、および信号処理手段５３２（以下ではバスと呼ぶ場合もある）として機能する。
【００３０】
音源手段５３１は、ミドルウエアによって実現された機能であり、音源オブジェクトに対応する音声データを出力する。オーディオ処理部５３のミドルウエアでは、音源オブジェクトに対応して、音源手段５３１を複数設けることができる。図２に、音源手段５３１の構成例をブロック図で示す。音源手段５３１は、第１エフェクタ５３１ａ、音量調整部５３１ｂ、第２エフェクタ５３１ｃの各モジュールを備えている。
【００３１】
第１エフェクタ５３１ａは、入力された音声データに対して、例えば、反響（Reverb）効果を付加する処理、フィルター処理（例えばローパスフィルターによる処理）等の処理を行うことができる。また、音量調整部５３１ｂでは、音量の調整を行う。
【００３２】
第２エフェクタ５３１ｃは、入力された音声データに対して、フィルター処理（ここではローパスフィルターによる処理）と音量調整を行うことができる。第２エフェクタ５３１ｃにおける音量値やローパスフィルタのカットオフ周波数は、制御部５６によって制御される。
【００３３】
また、音源手段５３１には、複数の出力系統が設けられている。音源手段５３１は、これらの出力系統を用いて複数のバスに音声データを出力できる。これらの出力系統では、個々にボリューム（以下、説明の便宜のためセンドボリュームという）の調整が可能である。
【００３４】
信号処理手段５３２（バス）は、ミドルウエアによって実現された機能であり、音声データに加工を加える。その加工に際して、信号処理手段５３２は、必要に応じて、音像定位も行う。そのため、信号処理手段５３２には、仮想空間ＶＳ上の位置が対応づけられる場合がある。以下では、信号処理手段５３２に仮想空間ＶＳ上の位置が対応づけられることを「信号処理手段５３２（バス）が位置を持つ」と表現する場合がある。
【００３５】
オーディオ処理部５３のミドルウエアでは、信号処理手段５３２を複数設けることができる。オーディオ処理部５３では、信号処理手段５３２を単独で使用することもできるし、信号処理手段５３２を階層的に接続することによって、何れかの信号処理手段５３２で処理された信号を別の信号処理手段５３２が受け取って、更にその信号に処理を加えるといった使い方もできる。このゲームプログラムでは、信号処理手段５３２同士の接続は、仮想空間内のオブジェクトの構造によって決定される。
【００３６】
各信号処理手段５３２で作られた音声データは、最終的には、マスターバス（以下、参照符合を付けてマスターバスＭＢと言う）と呼ばれる信号処理系統に送られる。マスターバスＭＢでは、送られてきた音声データの合成および音量調整を行う。
【００３７】
そして、オーディオ処理部５３は、マスターバスＭＢで処理された信号を、アナログ信号に変換したのちにスピーカ６２に出力する。これにより、スピーカ６２からは、ゲーム音声が出力（再生）される。
【００３８】
図３は、信号処理手段５３２の構成を模式的に示すブロック図である。何れの信号処理手段５３２も同様の構成を有している。各信号処理手段５３２は、音声データの処理を行うモジュールとして、第１音像定位手段５３２ａ、バスエフェクタ５３２ｂ、バス音量調整部５３２ｃ、伝搬エフェクタ５３２ｄ、および第２音像定位手段５３２ｅを備えている。
【００３９】
第１音像定位手段５３２ａは、入力された音声データの音像定位を行う。具体的には、第１音像定位手段５３２ａは、入力された音声データがモノラル信号の場合には、出力先のチャンネルを決定してそのチャンネルの音声データとして、次のバスエフェクタ５３２ｂに出力する。また、第１音像定位手段５３２ａは、音声データがモノラル信号ではない場合には、そのまま次のバスエフェクタ５３２ｂに出力する。
【００４０】
バスエフェクタ５３２ｂは、与えられた音声データに対して、反響（Reverb）効果を付加する処理、フィルター処理（ここではローパスフィルターによる処理）等の処理を行う。バス音量調整部５３２ｃは、バスエフェクタ５３２ｂの出力の音量調整を行う。
【００４１】
伝搬エフェクタ５３２ｄは、信号処理手段５３２（バス）が位置を持つ場合に、バス音量調整部５３２ｃよって音量調整された音声データに加工を行う。この例では、伝搬エフェクタ５３２ｄが行う加工は、音量調整とローパスフィルタによる処理である。伝搬エフェクタ５３２ｄにおける音量値やローパスフィルタのカットオフ周波数は、制御部５６によって制御される。
【００４２】
第２音像定位手段５３２ｅは、伝搬エフェクタ５３２ｄが出力した音声データに対して音像定位を行う。ここでは、信号処理手段５３２が位置を持っていない場合には、伝搬エフェクタ５３２ｄの出力をそのまま出力する。また、信号処理手段５３２が位置を持っている場合には、一旦、音声信号をモノラルにダウンミックスした後に、信号処理手段５３２が持つ位置に応じて音像定位を行う。
【００４３】
この音像定位の際に、オーディオ処理部５３は、仮想空間ＶＳに仮想の受音点（以下、仮想マイクＬという）を規定して、音源オブジェクトから発せられた音声を、あたかも仮想マイクＬで集音したかのような音響表現で、スピーカ６２に出力する。すなわち、仮想マイクＬは、仮想の聴取者であり、オーディオ処理部５３のミドルウエアにおいては、音像定位の基準点である。
【００４４】
本実施形態では、仮想マイクＬは、仮想カメラＶＣと同じ位置に設定されている。ユーザは、仮想カメラＶＣ位置にいる感覚でゲームをプレイしているので、ユーザにとって臨場感のある音声が再生されることになる。なお、仮想カメラＶＣの位置は、プレイヤキャラクタの近傍に設定されている。したがって、プレイヤキャラクタの位置と、仮想マイクＬの位置は概ね同じと考えて差し支えない。
【００４５】
このゲームプログラムでは、仮想マイクＬで集音したような音響表現をオーディオ処理部５３において行うために、仮想空間ＶＳにおける音声データの伝搬経路に対応してバスを振り分けている。この振り分けは、仮想空間ＶＳの構成（オブジェクトの構造、及び配置）に応じて定められている。以下では、この振り分けについて具体例を用いて説明する。
【００４６】
−バスの振り分けの例−
このゲームプログラムでは、音響表現を行いたい領域（例えば建物）毎にバスの振り分けが設定されている。図４は、仮想空間に設けられた、建物のオブジェクトの一部を平面的に表している。
【００４７】
この建物は、図４に示すように、３つの部屋（領域）Ｒ０，Ｒ１，Ｒ２を有している。部屋Ｒ０と部屋Ｒ１との間には、ドアＤ０１がある。同様に、部屋Ｒ１と部屋Ｒ２との間には、ドアＤ１２がある。これらのドアＤ０１，Ｄ１２は、何れも開いた状態である。これらのドアＤ０１，Ｄ１２が開いているときは、壁に開口部が形成されていると見ることができる。
【００４８】
部屋Ｒ０には、プレイヤキャラクタが立っている（図示は省略）。プレイヤキャラクタが立っている位置の近傍には、仮想マイクＬ（受音点）が設定されている。また、部屋Ｒ０には、仮想の音源である音源オブジェクトＳ０も存在する。ここでは、音源オブジェクトＳ０は、敵のキャラクタ（例えばモンスターなど）である。
【００４９】
音源オブジェクトＳ０からは、プレイヤキャラクタ（仮想マイクＬ）に向かって咆号等の音声が発せられている。同様に、部屋Ｒ１には音源オブジェクトＳ１が存在し、部屋Ｒ２には音源オブジェクトＳ２が存在する。なお、以下では、音源オブジェクトＳ０に対応する音源を、音源Ｓ０と表記する（以下、他の音源オブジェクトについても同様）。
【００５０】
例えば、音源Ｓ０から仮想マイクＬに伝わる音を表現するためは、部屋Ｒ０にバスを割り当てればよい。また、他の部屋にも音源がある場合には、音源のある部屋のそれぞれにバスを配置すればよい。
【００５１】
図４に、部屋Ｒ１、部屋Ｒ２にそれぞれ配置されたバス（バスＳＲ０＿０,ＳＲ１＿０とする）の位置を示す。すなわち、それらのバスは位置を持っている。この例では、ドアＤ０１，Ｄ１２の開口から漏れ出す音を表現するために、バスＳＲ０＿０,ＳＲ１＿０は、ドアの近傍に配置されている。開口から漏れる音の音源としてこれらバスＳＲ０＿０,ＳＲ１＿０を割り当てれば、開口から漏れる音の音像を、開口の位置に定位させることできる。なお、図４では、実線および破線は、各バスからの音の伝搬経路を示している。
【００５２】
図４の例では、音源Ｓ２からの音は、部屋Ｒ２、部屋Ｒ１を通って部屋Ｒ０に至る。すなわち、音源Ｓ２からの音の伝搬経路は、複数の領域にまたがっている。音の伝搬経路が複数の領域を通ることを表現するには、バスを階層構造にすればよい。図４のオブジェクト（建物）における音の伝搬経路を表現するためのバスの階層構造を図５に例示する。この例では、マスターバスＭＢの上流に部屋Ｒ０用のバス、部屋Ｒ１用のバス（バスＳＲ０＿０）、部屋Ｒ２用のバス（バスＳＲ１＿０）がこの順で直列に接続されている。
【００５３】
なお、図５におけるＳ０〜Ｓ２は、音源Ｓ０，Ｓ１，Ｓ２に対応する音声データである。図５では、各音声データからバスに延びる実線は、音声データの出力先を示している。この出力先は、音源オブジェクトと仮想マイクＬとの位置関係に応じて適宜、動的に決定される。出力先の決定は、制御部５６が行う。
【００５４】
〈制御部の機能的構成〉
制御部５６は、ゲームプログラムを実行することにより、出力先決定手段５６５、第１調整手段５６１、第２調整手段５６２、第３調整手段５６３、および第４調整手段５６４として機能する。
【００５５】
出力先決定手段５６５は、階層構造化されたバス（信号処理手段５３２）の何れに音声データを送るかを決定する。この例では、出力先決定手段５６５は、図６のテーブルに相当するデータを音声データの出力先の決定に用いる。図６のテーブルは、音源の情報（例えば音源がある部屋）と仮想マイクＬ（受音点）の位置（受音点がある部屋）の情報との組に対して、音声データの出力先を対応づけた対応表（以下、出力先決定情報と命名する）の一部である。
【００５６】
出力先決定手段５６５は、ゲームプログラムの実行中は、音源や受音点の移動に応じて、このテーブルを用いて、音声データの出力先を逐次決定している。例えば、仮想マイクＬ（受音点）が部屋Ｒ０にある場合には、出力先決定手段５６５は、部屋Ｒ０内の音源Ｓ０の音声データを、部屋Ｒ０用のバスに送ることを決定する（図５も参照）。同様に、出力先決定手段５６５は、部屋Ｒ１内の音源Ｓ1の音声データを、部屋Ｒ１用のバス（すなわちバスＳＲ０＿０）に送ることを決定する。
【００５７】
第１調整手段５６１は、音源と仮想マイクＬとの間のオブジェクト（例えば壁）を透過して直線的に、音源から仮想マイクＬに到達する音（以下、直接音という）の音量（減衰量）や周波数スペクトルを調整する。その際、第１調整手段５６１は、音源手段５３１の第２エフェクタ５３１ｃを制御する。
【００５８】
より詳しくは、第１調整手段５６１は、以下の式（１）から算出したパラメータｒｆ（ただし、０≦ｒｆ≦１）から新たな音量値およびローパスフィルタのカットオフ周波数を求め、ｒｆの大きさに応じて音量や周波数スペクトルを調整する。
【００５９】
【数１】
2020031303.tif 000003
【００６０】
式（１）のｄｒは、直接音の伝搬経路長であり、音源Ｓと仮想マイクＬとの直線距離である。図７に直接音の伝搬経路を実線で示す。また、図７に破線で示すように、音源Ｓ１から仮想マイクＬに到達する音には、音源Ｓ１と仮想マイクＬとの間のオブジェクト（壁など）を回折しつつ仮想マイクＬに到達する音（以下、回折音という）がある。
【００６１】
図７のｄｆ０は部屋Ｒ１内における回折音の伝搬経路長であり、ｄｆ１は、部屋Ｒ０内における回折音の回折音の伝搬経路長である。したがって、式（１）の右辺におけるΣｄｆは、回折音の総伝搬経路長（Σｄｆ＝ｄｆ０＋ｄｆ１）であり、式（１）における右辺の第２項の分子は、直接音と回折音の経路差である。
【００６２】
式（１）のＴｆは、ゲームプログラムの開発時に音響表現を担当する開発者（以下、サウンドデザイナという）が設定可能な閾値である。閾値Ｔｆをサウンドデザイナが適宜設定することによって、直接音の聞こえ方を調整できる。例えば、閾値Ｔｆが大きいほど、直接音の音量は大きくなる。
【００６３】
式（１）からｒｆが求まると、第１調整手段５６１によって、音量値やカットオフ周波数が調整される。図７の例では、第１調整手段５６１は、部屋Ｒ１内の音源Ｓに対応する音源手段５３１の第２エフェクタ５３１ｃにおける音量値およびカットオフ周波数を調整する。すなわち、パラメータｒｆは、音源から受音点に、両者間のオブジェクトを透過して直線的に到達する音の変化を決定するパラメータである。
【００６４】
このとき、音量は、ｒｆが大きいほど、より大きく制御され、カットオフ周波数はより高く調整される。例えば、仮想マイクＬがドアＤ０１の付近にある場合は、経路差はほとんどないので、ｒｆはほぼ１である。したがって、第２エフェクタ５３１ｃの音量値（直接音の音量値）は、設定可能な最高レベルに調整される。また、第２エフェクタ５３１ｃのローパスフィルタは無効化される。
【００６５】
また、仮想マイクＬが部屋Ｒ０の奥（図７の上方）に移動して行くと徐々に経路差が大きくなってｒｆが徐々に小さくなる。経路差が閾値Ｔｆを超えると、ｒｆがゼロになって、第２エフェクタ５３１ｃの音量値は、設定可能な最低レベルに調整される。また、第２エフェクタのローパスフィルタのカットオフ周波数は、設定可能な最低値に設定される。このような、音量値等の制御の結果、直接音は完全に遮蔽したように表現される。
【００６６】
第２調整手段５６２は、回折音の音量（減衰量）を調整する。具体的に第２調整手段５６２は、音源手段５３１から信号処理手段５３２へ送られる過程において、音声データの音量を調整する。より詳しくは、第２調整手段５６２では、開口に設けられたバス（図７ではバスＳＲ０＿０）に音声データを送る過程においてセンドボリュームを調整することによって、回折音の音量調整を実現している。
【００６７】
その際、第２調整手段５６２は、以下の式（２）から算出したパラメータｒ０（ただし、０≦ｒ０≦１）を用いてセンドボリューム調整用に新たな音量値を求めている。つまり、パラメータｒ０は、音源から受音点に、両者間のオブジェクトを回折して到達する回折音の変化を決定するパラメータである。
【００６８】
【数２】
2020031303.tif 000004
【００６９】
式（２）のｒｆは、式（１）によって算出されたものである。式(２)から分かるように、ｒ０は、ｒｆが大きくなると小さくなり、ｒｆが小さくなると大きくなる。つまり、Ｔｆをサウンドデザイナが設定することによって、直接音と回折音の音量バランスを調整できる。
【００７０】
なお、ここでは、Ｒ１用のバスＳＲ０＿０のように位置を持つバスに音声データを送る場合には、音源手段５３１が有する第２エフェクタ５３１ｃを無効にしている。これは、音源Ｓ１から開口（ドアＤ０１の開口）に届く音は、壁を透過しているわけではなく、周波数スペクトル等の調整は不要だからである。
【００７１】
第３調整手段５６３は、音がドアの開口を回折して他の空間（例えば他の部屋）に伝わる場合にドアが音へ及ぼす影響を考慮して、音量や周波数スペクトルの調整を行う。図８は、第３調整手段５６３の整機能を説明する図である。本実施形態では、ドアを透過して仮想マイクＬに伝わる直接音と、ドアを回折して仮想マイクＬに伝わる回折音の音量や周波数スペクトルを調整することで、ドアが音へ及ぼす影響を表現する。
【００７２】
まず、ドアを透過する直接音は、壁の透過と同様に考えればよい。すなわち、ドアを透過する直接音については、既述の式（１）を用いて音量等を調整すればよい。ここでは、ドアのヒンジ（Ｓ’）付近を透過するものとして、音量値およびカットオフ周波数を決定している。
【００７３】
式（１）から、パラメータｒｆが求まると、第３調整手段５６３は、音源Ｓからドアの開口部（Ｓ’とする）’までの音を生成するために、音源Ｓに対応する音源手段５３１が有する第２エフェクタ５３１ｃに対して、パラメータｒｆを用いて音量値やカットオフ周波数を指示する。
【００７４】
一方、ドアを回折する回折音については、ドアの端（Ｓ’’）から音が回り込むと考えて減衰量等を決定すればよい。具体的に第３調整手段５６３は、次の式（３）から算出したパラメータｒｄ（ただし、０≦ｒｄ≦１）から新たな音量値やカットオフ周波数を求めている。パラメータｒｄは、音源から受音点に、ドアの開口を通過して到達する音の変化を定めるパラメータである。
【００７５】
【数３】
2020031303.tif 000005
【００７６】
この式（３）は、ドアの開度（φｄ）が大きいほど音量が大きく、且つカットオフ周波数が高くなることを示している。式（３）のＴｄは、サウンドデザイナが設定可能な閾値である。閾値Ｔｄをサウンドデザイナが適宜設定することによって、音に対するドアの影響度を調整できる。例えば、φｄが閾値Ｔｄを超えると、ドアは全開したものとして音量値とカットオフ周波数が設定される。
【００７７】
回折音の生成用に音量値やカットオフ周波数が決まると、第３調整手段５６３は、開口部Ｓ’から仮想マイクＬまでの音を生成するために、部屋Ｒ１に対応のバスが有する伝搬エフェクタ５３２ｄに対して、パラメータｒｄを用いて音量値やカットオフ周波数を指示する。
【００７８】
第４調整手段５６４は、音源と仮想マイクＬとの距離、および両者を結ぶ経路の方向に応じて、音声データの音量と周波数スペクトルの調整を行う。図９は、第４調整手段５６４の調整機能を説明する図である。第４調整手段５６４は、音源Ｓから、ドアの開口部を介した仮想マイクＬまでの最短経路（経路長＝ｄｓｄ＋ｄｄｌ）を音の伝搬経路とし、この伝搬経路における減衰と周波数スペクトル変化を音声データに付加する。
【００７９】
具体的に、第４調整手段５６４は、音源Ｓからドアの開口部Ｓ’までの音の表現を行うために、音源Sに対応する音源手段５３１が有する第２エフェクタ５３１ｃに対して、音量値およびローパスフィルタのカットオフ周波数を指示する。また、開口部Ｓ’から仮想マイクＬまでの音の表現には、第４調整手段５６４は、部屋Ｒ１に対応のバスが有する伝搬エフェクタ５３２ｄに対して、音量値およびローパスフィルタのカットオフ周波数を指示する。
【００８０】
第４調整手段５６４は、制御の際には、図１０に示す特性曲線を用いる。図１０では、横軸が経路長であり、縦軸は、左側が音量値の減衰量、右側がローパスフィルタのカットオフ周波数である。また、図１０では、実線が左側の目盛（減衰量）に対応し、破線が右の目盛（カットオフ周波数）に対応している。
【００８１】
また、第４調整手段５６４は、図１１に示す特性曲線も制御に用いる。図１１の特性曲線は、音源Ｓと開口（開口部Ｓ’）とを結ぶ線が壁となす角度（φs）や、仮想マイクＬと開口（開口部Ｓ’）とを結ぶ線が壁の法線となす角度（φＬ）が、音の減衰や周波数スペクトル変化に及ぼす影響度を調整するものである。
【００８２】
図１１は、横軸は角度（φs，φＬ）であり、縦軸は、左側が音量値の減衰量、右側がローパスフィルタのカットオフ周波数である。また、図１１でも、実線が左の目盛（減衰量）に対応し、破線が右の目盛（カットオフ周波数）に対応している。このゲームプログラムでは、図１０および図１１に示した特性曲線は、何れもサウンドデザイナが自由に設定できる。すなわち、サウンドデザイナがデザイン可能な項目である。
【００８３】
そして、第４調整手段５６４は、角度（φs）と図１１の特性曲線を用いて、音源Ｓから開口部Ｓ’までの伝搬経路における音量値とカットオフ周波数を求め、角度（φＬ）と図１１の特性曲線を用いて、開口部Ｓ’から仮想マイクＬまでの伝搬経路における音量値とカットオフ周波数を求めている。
【００８４】
以上をまとめると、本件発明は、コンピュータ（ゲーム装置５）を、仮想空間の音源に対応する音声データを出力する音源手段と、音声データの加工が可能な信号処理手段を複数有して前記信号処理手段を単独または階層的に繋いで前記音声データを処理する音声加工手段と、前記音源と仮想の受音点との位置関係から前記音源手段の出力先となる信号処理手段を決定する出力先決定情報に基づいて、前記出力先を決定する出力先決定手段として機能させることを特徴とする仮想空間における音声生成プログラムである。
【００８５】
〈本実施形態の効果〉
以上のように、本実施形態では、バスが仮想空間のオブジェクト（建物など）の構造に応じて階層的に接続されており、サウンドデザイナは、出力先決定情報を用いて音声データの出力先（バス）を自由に設定できる。また、サウンドデザイナは、閾値Ｔｆや閾値Ｔｄを調整することで、直接音と回折音のバランスを調整したり、ドアの開度、材質などが音の伝搬に及ぼす影響度を調整したりできる。更に、音源と受音点との距離、方向に応じた減衰も制御できる。
【００８６】
すなわち、本実施形態によれば、仮想空間における音声生成に際して、開発者の意図を容易に反映できる。
【００８７】
［実施形態の変形例］
前記実施形態で説明した出力先決定情報は例示であり、出力先決定情報の内容は、サウンドデザイナが適宜設定することができる。例えば、図４に示した部屋Ｒ２内の音源Ｓ２の音について、あまり細やかな表現を必要としないとサウンドデザイナが考えたとする。
【００８８】
その場合には、図１２のようにバスの階層構造を構成することが考えられる。この例では、部屋Ｒ２に対応するバスは設けられていない。部屋Ｒ２内の音源Ｓ２の音声データは、部屋Ｒ１用のバスに入力されている。
【００８９】
図１３に、図１２の階層構造に対応する出力先決定情報を例示する。この出力先決定情報には、音量の欄が設けられて、音源Ｓ２の音量が低下させられている。これは、部屋Ｒ２の音源Ｓ２の音を、そのままの音量で部屋Ｒ１用のバスに入力すると、音源Ｓ２の音が想定されるよりも大きな音としてユーザに聞こえて不自然だからである。
【００９０】
［その他の実施形態］
なお、第１調整手段５６１や第３調整手段５６３は、壁やドアの材質に応じて音声データを減衰させるように構成してもよい。例えば、壁やドアに素材（例えば、木、ガラス、鉄）が設定されている場合には、素材に対応する音量量やカットオフ周波数をテーブルから検索できるようにしておくことでこれを実現できる。このテーブルは、サウンドデザイナが任意に設定できる項目である。すなわち、壁やドアの材質に応じた音の変化もサウンドデザイナがデザイン可能な項目である。
【００９１】
また、第２エフェクタ５３１ｃや伝搬エフェクタ５３２ｄの構成は例示であり、更に別のエフェクト機能を実装したり、一部の機能を省略したりすることも可能である。
【００９２】
また、第３調整手段５６３の処理の適用は、ドア部分には限定されない。例えば、オブジェクトが「窓」を有する場合には、その窓の部分にも適用できる。要は、第３調整手段５６３における処理は、開口の開度が変化する場所に適用できる処理である。
【００９３】
また、音源手段５３１から信号処理手段５３２に送る音声データに対しては、センドボリュームとともにローパスフィルタを作用させてもよい。
【００９４】
また、オーディオ処理部５３と制御部５６の機能分担は例示である。オーディオ処理部５３のミドルウエアで実行していたものを制御部５６で実行してもよいし、その逆であってもよい。
【００９５】
また、ゲームプログラムは、いわゆるオンラインゲーム用のゲームプログラムとして実装してもよい。ゲームプログラムがオンラインゲーム用である場合には、オーディオ処理部５３や制御部５６で行っていた処理をそれらに代わってサーバ側で行ってもよいし、サーバ側とクライアント（ゲーム装置５）側とで分担してもよい。
【００９６】
これらの他の実施形態を採用した場合においても、本発明の作用効果は発揮される。また、本実施形態と他の実施形態、および他の実施形態同士を適宜組み合わせることも可能である。
【００９７】
また、本発明は、ゲーム以外の分野でも利用可能である。例えば、仮想空間をシミュレーションするプログラムに適用したり、映画の音響効果の作成などに利用したりできる。
【符号の説明】
【００９８】
５        ゲーム装置（音声生成装置）
５３        オーディオ処理部（音声加工手段）
５５        記憶部
５６        制御部
５３１      音源手段
５３２      バス（信号処理手段）
５３２ｅ    第２音像定位手段（音像定位手段）
５６１      第１調整手段
５６２      第２調整手段
５６３      第３調整手段
５６５      出力先決定手段
【図１】
2020031303.tif 000006
【図２】
2020031303.tif 000007
【図３】
2020031303.tif 000008
【図４】
2020031303.tif 000009
【図５】
2020031303.tif 000010
【図６】
2020031303.tif 000011
【図７】
2020031303.tif 000012
【図８】
2020031303.tif 000013
【図９】
2020031303.tif 000014
【図１０】
2020031303.tif 000015
【図１１】
2020031303.tif 000016
【図１２】
2020031303.tif 000017
【図１３】
2020031303.tif 000018