IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 任天堂株式会社の特許一覧

特許7546707情報処理プログラム、情報処理方法、情報処理システム、および、情報処理装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-29
(45)【発行日】2024-09-06
(54)【発明の名称】情報処理プログラム、情報処理方法、情報処理システム、および、情報処理装置
(51)【国際特許分類】
   H04S 7/00 20060101AFI20240830BHJP
   H04R 3/00 20060101ALI20240830BHJP
【FI】
H04S7/00 310
H04R3/00 310
【請求項の数】 32
(21)【出願番号】P 2023015564
(22)【出願日】2023-02-03
(65)【公開番号】P2023098724
(43)【公開日】2023-07-10
【審査請求日】2023-05-22
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】110001276
【氏名又は名称】弁理士法人小笠原特許事務所
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】長田 潤也
【審査官】佐久 聖子
(56)【参考文献】
【文献】米国特許出願公開第2020/0296532(US,A1)
【文献】特開2000-267675(JP,A)
【文献】特開2021-076768(JP,A)
【文献】特開平09-160549(JP,A)
【文献】特開2014-063182(JP,A)
【文献】特開平06-149275(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04S 1/00- 7/00
H04R 3/00- 3/14
A63F 9/24
A63F 13/00-13/98
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
複数の音声データそれぞれについて、音の大きさを仮想的に示す第1のパラメータを設定させ、
前記第1のパラメータは、仮想空間内における仮想的な音の大きさを示すと共に前記仮想空間内の音源位置から仮想マイクまでの距離に応じて減衰する第2のパラメータが、前記距離が基準値となる場合において示す値に対応し、
それぞれの前記音声データについて、
前記第1のパラメータの値に応じて異なる、前記第2のパラメータの値と前記距離との関係を示す第2パラメータ減衰特性データと、
当該音声データに設定された前記第1のパラメータとに少なくとも基づいて、
当該音声データを出力させる音量を、当該音声データ関連付けられた前記距離に応じて減衰させる場合に用いられる、前記距離と音量の減衰度合いとの関係を示す音量減衰特性を設定させる、
情報処理プログラム。
【請求項2】
前記コンピュータに、
それぞれの前記音声データの前記第1のパラメータの値を、少なくとも当該音声データの波形の振幅に基づいて設定させる、請求項1記載の情報処理プログラム。
【請求項3】
前記コンピュータにさらに、
それぞれの前記音声データの前記第1のパラメータとして、前記波形の振幅に基づいて設定された値に対し、さらに指定された所定値の補正を加えた値を設定させる、請求項2記載の情報処理プログラム。
【請求項4】
前記コンピュータに、
それぞれの前記音声データについて、
前記第2パラメータ減衰特性データにおける、当該音声データに設定された前記第1のパラメータに対応する前記第2のパラメータと前記距離との関係において、さらに前記第2のパラメータに関する上限値と下限値を設定させ、
前記音量減衰特性を、
前記第2のパラメータが前記上限値となる第1の距離以下の前記距離において前記音量が減衰せず、
前記第2のパラメータが前記下限値となる第2の距離以上の前記距離において無音となり、
前記距離が前記第1の距離と前記第2の距離の間の場合において、前記第2のパラメータと前記距離との関係に基づいた減衰度合いで前記音量が減衰するように設定させる、
請求項1記載の情報処理プログラム。
【請求項5】
前記コンピュータに、
予め指定された条件に基づいて設定された、無音とみなす前記第2のパラメータの値を前記下限値に設定させる、請求項4記載の情報処理プログラム。
【請求項6】
前記コンピュータに、
前記音声データの振幅に基づいた値から予め指定された無音とみなす音量に対応する値を差し引いた値を、前記下限値に加えた値を、前記上限値に設定させる、請求項4記載の情報処理プログラム。
【請求項7】
前記第2パラメータ減衰特性データは、前記第2のパラメータが、前記距離の2乗に応じた第1の減衰に加えて前記距離に応じた第2の減衰をする関係を示す、請求項1から6のいずれか記載の情報処理プログラム。
【請求項8】
前記第2パラメータ減衰特性データは、前記第2のパラメータが、前記距離の2乗に応じた第1の減衰に加えて前記距離に応じた第2の減衰をする関係を示し、
前記コンピュータにさらに、
前記第2パラメータ減衰特性データが示す減衰よりも、前記第2の減衰がより強く加えられる関係を示す高域用第2パラメータ減衰特性データに基づいて、前記第2のパラメータが前記上限値となる第3の距離以上の前記距離において、当該距離に応じた強さで前記音声データの波形に所定のフィルタをかけるフィルタ特性を設定させる、
請求項4から6のいずれか記載の情報処理プログラム。
【請求項9】
前記フィルタはローパスフィルタである、請求項8記載の情報処理プログラム。
【請求項10】
前記コンピュータにさらに、
前記第1のパラメータに基づいて、前記距離に応じた強さで前記音声データの波形に所定のフィルタをかけるフィルタ特性を設定させる、
請求項1から6のいずれか記載の情報処理プログラム。
【請求項11】
前記第1のパラメータおよび前記第2のパラメータは、前記仮想空間における仮想的な音圧レベルを示す、
請求項1から6のいずれか記載の情報処理プログラム。
【請求項12】
情報処理装置を制御するコンピュータが実行する情報処理方法であって、
前記コンピュータに、
複数の音声データそれぞれについて、音の大きさを仮想的に示す第1のパラメータを設定させ、
前記第1のパラメータは、仮想空間内における仮想的な音の大きさを示すと共に前記仮想空間内の音源位置から仮想マイクまでの距離に応じて減衰する第2のパラメータが、前記距離が基準値となる場合において示す値に対応し、
それぞれの前記音声データについて、
前記第1のパラメータの値に応じて異なる、前記第2のパラメータの値と前記距離との関係を示す第2パラメータ減衰特性データと、
当該音声データに設定された前記第1のパラメータとに少なくとも基づいて、
当該音声データを出力させる音量を、当該音声データ関連付けられた前記距離に応じて減衰させる場合に用いられる、前記距離と音量の減衰度合いとの関係を示す音量減衰特性を設定させる、
情報処理方法。
【請求項13】
前記コンピュータに、
それぞれの前記音声データの前記第1のパラメータの値を、少なくとも当該音声データの波形の振幅に基づいて設定させる、請求項12記載の情報処理方法。
【請求項14】
前記コンピュータにさらに、
それぞれの前記音声データの前記第1のパラメータとして、前記波形の振幅に基づいて設定された値に対し、さらに指定された所定値の補正を加えた値を設定させる、請求項13記載の情報処理方法。
【請求項15】
前記コンピュータに、
それぞれの前記音声データについて、
前記第2パラメータ減衰特性データにおける、当該音声データに設定された前記第1のパラメータに対応する前記第2のパラメータと前記距離との関係において、さらに前記第2のパラメータに関する上限値と下限値を設定させ、
前記音量減衰特性を、
前記第2のパラメータが前記上限値となる第1の距離以下の前記距離において前記音量が減衰せず、
前記第2のパラメータが前記下限値となる第2の距離以上の前記距離において無音となり、
前記距離が前記第1の距離と前記第2の距離の間の場合において、前記第2のパラメータと前記距離との関係に基づいた減衰度合いで前記音量が減衰するように設定させる、
請求項12記載の情報処理方法。
【請求項16】
前記コンピュータに、
予め指定された条件に基づいて設定された、無音とみなす前記第2のパラメータの値を前記下限値に設定させる、請求項15記載の情報処理方法。
【請求項17】
前記コンピュータに、
前記音声データの振幅に基づいた値から予め指定された無音とみなす音量に対応する値を差し引いた値を、前記下限値に加えた値を、前記上限値に設定させる、請求項15記載の情報処理方法。
【請求項18】
前記第2パラメータ減衰特性データは、前記第2のパラメータが、前記距離の2乗に応じた第1の減衰に加えて前記距離に応じた第2の減衰をする関係を示す、請求項12から17のいずれか記載の情報処理方法。
【請求項19】
前記第2パラメータ減衰特性データは、前記第2のパラメータが、前記距離の2乗に応じた第1の減衰に加えて前記距離に応じた第2の減衰をする関係を示し、
前記コンピュータにさらに、
前記第2パラメータ減衰特性データが示す減衰よりも、前記第2の減衰がより強く加えられる関係を示す高域用第2パラメータ減衰特性データに基づいて、前記第2のパラメータが前記上限値となる第3の距離以上の前記距離において、当該距離に応じた強さで前記音声データの波形に所定のフィルタをかけるフィルタ特性を設定させる、
請求項15から17のいずれか記載の情報処理方法。
【請求項20】
前記フィルタはローパスフィルタである、請求項19記載の情報処理方法。
【請求項21】
前記コンピュータにさらに、
前記第1のパラメータに基づいて、前記距離に応じた強さで前記音声データの波形に所定のフィルタをかけるフィルタ特性を設定させる、
請求項12から17のいずれか記載の情報処理方法。
【請求項22】
プロセッサを備えたゲームシステムであって、
前記プロセッサは、
複数の音声データそれぞれについて、音の大きさを仮想的に示す第1のパラメータを設定し、
前記第1のパラメータは、仮想空間内における仮想的な音の大きさを示すと共に前記仮想空間内の音源位置から仮想マイクまでの距離に応じて減衰する第2のパラメータが、前記距離が基準値となる場合において示す値に対応し、
それぞれの前記音声データについて、
前記第1のパラメータの値に応じて異なる、前記第2のパラメータの値と前記距離との関係を示す第2パラメータ減衰特性データと、
当該音声データに設定された前記第1のパラメータとに少なくとも基づいて、
当該音声データを出力させる音量を、当該音声データ関連付けられた前記距離に応じて減衰させる場合に用いられる、前記距離と音量の減衰度合いとの関係を示す音量減衰特性を設定する、
情報処理システム。
【請求項23】
前記プロセッサは、
それぞれの前記音声データの前記第1のパラメータの値を、少なくとも当該音声データの波形の振幅に基づいて設定する、請求項22記載の情報処理システム。
【請求項24】
前記プロセッサはさらに、
それぞれの前記音声データの前記第1のパラメータとして、前記波形の振幅に基づいて設定された値に対し、さらに指定された所定値の補正を加えた値を設定する、請求項23記載の情報処理システム。
【請求項25】
前記プロセッサは、
それぞれの前記音声データについて、
前記第2パラメータ減衰特性データにおける、当該音声データに設定された前記第1のパラメータに対応する前記第2のパラメータと前記距離との関係において、さらに前記第2のパラメータに関する上限値と下限値を設定し、
前記音量減衰特性を、
前記第2のパラメータが前記上限値となる第1の距離以下の前記距離において前記音量が減衰せず、
前記第2のパラメータが前記下限値となる第2の距離以上の前記距離において無音となり、
前記距離が前記第1の距離と前記第2の距離の間の場合において、前記第2のパラメータと前記距離との関係に基づいた減衰度合いで前記音量が減衰するように設定する、
請求項22記載の情報処理システム。
【請求項26】
前記プロセッサは、
予め指定された条件に基づいて設定された、無音とみなす前記第2のパラメータの値を前記下限値に設定する、請求項25記載の情報処理システム。
【請求項27】
前記プロセッサは、
前記音声データの振幅に基づいた値から予め指定された無音とみなす音量に対応する値を差し引いた値を、前記下限値に加えた値を、前記上限値に設定する、請求項25記載の情報処理システム。
【請求項28】
前記第2パラメータ減衰特性データは、前記第2のパラメータが、前記距離の2乗に応じた第1の減衰に加えて前記距離に応じた第2の減衰をする関係を示す、請求項22から27のいずれか記載の情報処理システム。
【請求項29】
前記第2パラメータ減衰特性データは、前記第2のパラメータが、前記距離の2乗に応じた第1の減衰に加えて前記距離に応じた第2の減衰をする関係を示し、
前記プロセッサはさらに、
前記第2パラメータ減衰特性データが示す減衰よりも、前記第2の減衰がより強く加えら
れる関係を示す高域用第2パラメータ減衰特性データに基づいて、前記第2のパラメータが前記上限値となる第3の距離以上の前記距離において、当該距離に応じた強さで前記音声データの波形に所定のフィルタをかけるフィルタ特性を設定する、
請求項25から27のいずれか記載の情報処理システム。
【請求項30】
前記フィルタはローパスフィルタである、請求項29記載の情報処理システム。
【請求項31】
前記プロセッサはさらに、
前記第1のパラメータに基づいて、前記距離に応じた強さで前記音声データの波形に所定のフィルタをかけるフィルタ特性を設定する、
請求項22から27のいずれか記載の情報処理システム。
【請求項32】
プロセッサを備えた情報処理装置であって、
前記プロセッサは、
複数の音声データそれぞれについて、音の大きさを仮想的に示す第1のパラメータを設定し、
前記第1のパラメータは、仮想空間内における仮想的な音の大きさを示すと共に前記仮想空間内の音源位置から仮想マイクまでの距離に応じて減衰する第2のパラメータが、前記距離が基準値となる場合において示す値に対応し、
それぞれの前記音声データについて、
前記第1のパラメータの値に応じて異なる、前記第2のパラメータの値と前記距離との関係を示す第2パラメータ減衰特性データと、
当該音声データに設定された前記第1のパラメータとに少なくとも基づいて、
当該音声データを出力させる音量を、当該音声データ関連付けられた前記距離に応じて減衰させる場合に用いられる、前記距離と音量の減衰度合いとの関係を示す音量減衰特性を設定する、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、仮想空間内で再生する音声の表現手法に関する。
【背景技術】
【0002】
従来から、仮想空間における音声表現に関して、現実世界における、大きい音は遠くまで聞こえ、小さい音は遠くまで聞こえない等の性質を表現することが行われている。例えば、距離による音の減衰を仮想空間内で表現したゲームも知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第6147486号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような音の減衰を表現しようとした場合、もし、仮想空間内に設定された複数の音源の全てに対して同じ減衰特性を適用した場合は、それぞれの音の大きさの違いが表現できていないことになる。そのため、減衰特性によって音の大きさの違いを表現しようとした場合には、音源について個別に減衰の特性を設定する必要がある。この場合、仮想空間内に配置したい音源(音声データ)が大量にある場合、減衰特性を個別に設定するためのコストが問題になる。また、個別に設定した減衰特性が、全体として仮想空間において統一感のある減衰になっているかどうかの検証も困難である。
【0005】
それ故に、本開示の目的は、仮想空間内の複数の音源に対して、音源ごとに統一感のある減衰特性を適用することができる情報処理プログラム、情報処理方法、情報処理システム、および情報処理装置を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、例えば以下のような構成例が挙げられる。
【0007】
(構成1)
構成1は、情報処理装置のコンピュータに、以下を実行させる情報処理プログラムである。複数の音声データそれぞれについて、音の大きさを仮想的に示す第1のパラメータを設定させる。当該第1のパラメータは、仮想空間内における仮想的な音の大きさを示すと共に仮想空間内の音源位置から仮想マイクまでの距離に応じて減衰する第2のパラメータが、基準となる距離において示す値に対応する。そして、それぞれの音声データについて、第1のパラメータの値に応じて異なる、第2のパラメータの値と距離との関係を示す第2パラメータ減衰特性データと、当該音声データに設定された第1のパラメータとに少なくとも基づいて、音量減衰特性を設定させる。当該音量減衰特性は、音声データを出力させる音量を、当該音声データが関連付けられた音源からの距離に応じて減衰させる場合に用いられる、距離と音量の減衰度合いとの関係を示すものである。
【0008】
上記構成例によれば、複数の音声データに対して、仮想空間内における仮想的な音の大きさを反映した統一的な基準で距離に応じた音量減衰特性を設定させることができる。
【0009】
(構成2)
構成2は、上記構成1において、コンピュータに、それぞれの音声データの第1のパラメータの値を、少なくとも当該音声データの波形の振幅に基づいて設定させてもよい。
【0010】
上記構成例によれば、音声データの音量に基づいて、適切な第1のパラメータをある程度自動的に設定できる。
【0011】
(構成3)
構成3は、上記構成2において、コンピュータにさらに、それぞれの音声データの第1のパラメータとして、波形の振幅に基づいて設定された値に対し、さらに指定された所定値の補正を加えた値を設定させてもよい。
【0012】
上記構成例によれば、音声データの音量の特性に関わらず、また、音量自体を増減することなく、仮想空間内における音の到達距離等の特性を調整して設定することができる。
【0013】
(構成4)
構成4は、上記構成1から3のいずれかにおいて、コンピュータに、それぞれの音声データについて、上記第2パラメータ減衰特性データにおける、当該音声データに設定された第1のパラメータに対応する第2のパラメータと距離との関係において、さらに第2のパラメータに関する上限値と下限値を設定させてもよい。また、上記音量減衰特性を、第2のパラメータが上記上限値となる第1の距離以下の距離においては音量が減衰せず、第2のパラメータが上記下限値となる第2の距離以上の距離においては無音となり、距離が第1の距離と第2の距離の間の場合において、第2のパラメータと距離との関係に基づいた減衰度合いで音量が減衰するように設定させてもよい。
【0014】
上記構成例によれば、第2パラメータ減衰特性データに基づいて、適切な音量減衰特性を生成することができる。また、第1のパラメータが大きな音については遠くまで聞こえるようにでき、第1のパラメータが小さい音については、すぐに音が消えるような音声表現となるように設定できる。
【0015】
(構成5)
構成5は、上記構成4において、コンピュータに、予め指定された条件に基づいて設定された、無音とみなす第2のパラメータの値を下限値に設定させてもよい。
【0016】
上記構成例によれば、無音とみなす音量と第2のパラメータに関する下限値とを対応付けて設定できる。また、第2のパラメータと距離は連動しているため、下限値の設定を、第2のパラメータとして指定してもよいし、距離として指定してもよくなり、設計のし易さを向上できる。
【0017】
(構成6)
構成6は、上記構成4または5において、コンピュータに、音声データの振幅に基づいた値から、予め指定された無音とみなす音量に対応する値を差し引いた値を、下限値に加えた値を上限値に設定させてもよい。
【0018】
上記構成例によれば、音の減衰が開始する距離を、自動的にかつ適切に決めることができる。また、音の減衰が、ほぼ一定の距離から開始するようにできる。
【0019】
(構成7)
構成7は、上記構成1から6のいずれかにおいて、第2パラメータ減衰特性データは、第2のパラメータが、距離の2乗に応じた第1の減衰に加えて距離に応じた第2の減衰をする関係を示すものであってもよい。
【0020】
上記構成例によれば、現実世界における音の拡散減衰と過剰減衰を加えたような音声の距離減衰を仮想空間内で表現できる。
【0021】
(構成8)
構成8は、上記構成4から6のいずれかにおいて、第2パラメータ減衰特性データは、第2パラメータが、距離の2乗に応じた第1の減衰に加えて距離に応じた第2の減衰をする関係を示してもよい。また、コンピュータにさらに、第2パラメータ減衰特性データが示す減衰よりも、第2の減衰がより強く加えられる関係を示す高域用第2パラメータ減衰特性データに基づいて、第2パラメータが上限値となる第3の距離以上の距離において、当該距離に応じた強さで音声データの波形に所定のフィルタをかけるフィルタ特性を設定させてもよい。
【0022】
(構成9)
構成9は、上記構成8において、フィルタはローパスフィルタであってもよい。
【0023】
上記構成例によれば、距離によって高域が減衰する音の特性を表現できる。特に、高域が距離に比例した減衰の影響を強く受けることを表現できる。また、仮想的に高域の音量が減衰し始めると仮定した距離からフィルタをかけ始めることができ、音源に対して近距離である場合にフィルタがかかり始めることによる違和感を抑制できる。
(構成10)
構成10は、上記構成1から6のいずれかにおいて、コンピュータにさらに、第1パラメータに基づいて、距離に応じた強さで音声データの波形に所定のフィルタをかけるフィルタ特性を設定させてもよい。
【0024】
上記構成例によれば、仮想的な音の大きさと音源からの距離を反映して、様々なフィルタを波形データに適用でき、音声表現の幅を広げることができる。
(構成11)
構成11は、上記構成1から6のいずれかにおいて、第1のパラメータおよび第2のパラメータは、仮想空間における仮想的な音圧レベルを示すものであってもよい。
【0025】
上記構成例によれば、仮想空間における音の大きさを、現実世界で音の大きさを示す「音圧」に近い概念で捉えることができる。
【発明の効果】
【0026】
本開示によれば、複数の音声データに対して、仮想空間内における仮想的な音の大きさを反映した統一的な基準で、距離に応じた音量減衰特性を設定できる。
【図面の簡単な説明】
【0027】
図1】情報処理装置2の内部構成の一例を示すブロック図
図2】拡散減衰について説明するための図
図3】過剰減衰について説明するための図
図4】過剰減衰について説明するための図
図5】レンジについて説明するための図
図6】レンジについて説明するための図
図7】レンジについて説明するための図
図8】対象音の設計に関して説明するための図
図9】対象音の設計に関して説明するための図
図10】VSPL毎に定義されたVSPL減衰カーブの一例
図11】VSPL補正について説明するための図
図12】VSPL補正について説明するための図
図13】フィルタに関して説明するための図
図14】フィルタに関して説明するための図
図15】フィルタに関して説明するための図
図16】フィルタに関して説明するための図
図17】フィルタに関して説明するための図
図18】記憶部84に記憶される各種データの一例を示すメモリマップ
図19】記憶部84に記憶される各種データの一例を示すメモリマップ
図20】本実施形態に係る情報処理の詳細を示すフローチャート
図21】本実施形態に係る情報処理で表示される画面の一例
図22】一括更新処理の詳細を示すフローチャート
図23】特性算出処理の詳細を示すフローチャート
【発明を実施するための形態】
【0028】
以下、一実施形態について説明する。
【0029】
[情報処理装置のハードウェア構成]
まず、本実施形態にかかる情報処理を実行するための情報処理装置について説明する。当該情報処理装置は、例えばスマートフォン、据置型または携帯型のゲーム装置、タブレット端末、携帯電話、パーソナルコンピュータ等である。本実施形態では、パーソナルコンピュータを情報処理装置の一例として説明する。
【0030】
図1は、本実施形態に係る情報処理装置2の内部構成の一例を示すブロック図である。情報処理装置2は、プロセッサ81を備える。プロセッサ81は、情報処理装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部84に記憶される情報処理プログラムを実行することによって、各種の情報処理を実行する。なお、記憶部84は、例えば、フラッシュメモリやDRAM(Dynamic Random Access Memory)等の内部記憶媒体であってもよいし、図示しないスロットに装着される外部記憶媒体等を利用する構成でもよい。
【0031】
また、情報処理装置2は、情報処理装置2がキーボードやマウス等の入力デバイスと有線または無線通信を行うための入力デバイス通信部86を備える。
【0032】
また、情報処理装置2には、画像音声出力部87を介して表示部5(例えば液晶モニタ等)およびスピーカ6が接続される。プロセッサ81は、例えば、上記の情報処理の実行によって生成した画像を、画像音声出力部87を介して表示部5に出力する。また、プロセッサ81は、生成した音声信号を、画像音声出力部87を介してスピーカ6に出力する。
【0033】
次に、本実施形態における処理の原理、概要について説明する。本実施形態では、仮想3次元空間(以下、単に仮想空間と呼ぶ)内における音声表現について、音の距離減衰をより自然な感じで表現することを目的としている。例えば、現実世界における、大きな音は遠くまで聞こえ、小さい音は遠くまで聞こえない、という現象を、仮想空間内で極力違和感を与えないようにしながら表現する、ということを目的としている。
【0034】
仮想空間における音の距離減衰の表現については、従来では、概ね以下のような手法が用いられていた。まず、単純に、仮想マイク(リスナー等とも呼ばれることもある)と仮想音源(以下、単に音源と呼ぶ)との距離が離れているほど、当該音源の音のボリューム値を下げていた。また、距離が離れるほど、フィルター(例えばローパスフィルタ)をより強くかけていた。また、距離が離れた音について、リバーブ処理をかけることもあった。これらの手法は、ボリューム値等の、各音源のパラメータを変化させるという手法であるともいえる。そして、従来は、どのように音を減衰させるのかについて、例えばゲームの開発段階で、音源毎にこれらのパラメータを調整するという作業が行われていた。しかし、音声データが大量にある場合、このような調整の作業量が膨大になっていた。また、同一の仮想空間(例えば仮想的なゲーム世界)における音声表現という観点で見ると、このような音源毎の個別調整を行った場合、仮想空間内で統一感のある音声表現になっているかどうかの検証作業も難しいものとなっていた。
【0035】
この点、本実施形態は、思想的には、「どのパラメータを変化させるのか」という点は変えずに、「どうやってパラメータを変化させるか」という点に着目した処理を行う。いわば、「距離が離れると音が減衰する」という「特性」をどのように作るのか、という観点によるものである。本実施形態では、現実世界における距離減衰をベースに考えて、各パラメータが、音の伝搬のどのような現象を近似しようとしているのか、という点に着目し、従来から用いられていたパラメータをより適切なバランスで運用しよう、という思想に基づく処理を行う。詳細は以下に説明するが、本実施形態の手法により、仮想空間内の各音の距離減衰をより自然に表現できるような音声データの設計・生成が可能となる。また、同じ仮想空間内における複数の音について、統一的なルールの下で設計可能となる。その結果、統一感のある音声表現も実現できる。
【0036】
本実施形態では、前提として、現実世界における以下の現象を基本原則として考える。
・大きい音は遠くまで聞こえる
・小さい音は遠くまで聞こえない
・点音源については、音量差は逆転しない。この点について補足すると、現実世界において、線音源や面音源等、音源の形状によっては小さい音の方が遠くまで聞こえる場合があり得る。以下に説明する本実施形態では、原則としては、点音源を想定し、小さい音の方が遠くまで聞こえる場合はないものと想定する。
【0037】
また、現実世界において、音量は、「直接音」と「間接音」の合算として得られる。これらの音の性質についてみると、直接音は、聞き手と音源との間の直接的な距離に応じて減衰するものといえる。一方、間接音については、残響として残ること等から、ほとんど減衰しないという性質があるといえる。この点を踏まえ、以下に説明する内容は、主に、直接音についての距離減衰による表現を想定する。但し、間接音に対しても、本実施形態の手法は適用可能である。
【0038】
また、本実施形態で説明する処理は、例えばゲームの開発段階における処理を想定する。以下に説明する内容は、例えば、開発ツールやエディタという形で実現され得る。換言すれば、本実施形態に係る技術的思想は、開発エディタやツールを作るための考え方を示すものであるともいえる。開発者は、本実施形態の内容が反映された開発ツール等を用いて、仮想空間内で再生する音を設計し、その音声データと、その距離減衰特性を示す各種パラメータとが紐付けられた音源オブジェクトデータ等を保存することができる。そして、当該保存されたデータが、例えばゲームのロムデータとして記録され得る。ゲーム処理の実行時は、当該ゲームのサウンドプログラムが上記ロムデータから波形と減衰特性を読み込み、仮想空間における距離に応じた音量で再生する(そのための減衰特性である)。また、本実施形態によれば、各音の音量の距離減衰特性を決定する際、同じ仮想空間内に複数の音について、統一的なルールの下で、各音源の最適な距離減衰特性を決めることが可能となる。その結果、各音の距離減衰についてより自然な表現を可能としつつ、仮想空間内における音の距離減衰の表現について、統一感のある表現を行うことができる。また、開発者が音源毎に個別に手作業でパラメータ調整するというような手間をかけずともよくなる。
【0039】
本実施形態では、上述のような仮想空間内における距離減衰による音声表現に関して、「仮想空間内での音の大きさ」を示す尺度を用いる。この尺度が大きい方が、より遠くまで音が届く、というものである。具体的には、本実施形態では、「仮想的な音圧レベル」という概念およびパラメータを用いる。以下の説明では、当該仮想的な音圧レベルのことをVSPL(Virtual Sound Pressure Level)と呼称する。また、説明の便宜上、VSPLの単位として“dB(デシベル)”を用いる。なお、「音圧レベル」と呼称はしているが、必ずしも現実世界における「音圧」をシミュレートするというものではなく、あくまで、「仮想空間内での音の大きさ」を示す尺度の一つとして用いるものである。そのため、他の実施形態では、当該概念について、例えば「音響パワー」というパラメータを用いてもよいし、同様の趣旨の尺度であれば、どのようなパラメータを用いてもよい。
【0040】
本実施形態では、仮想空間内で用いる各音について、上記VSPLが設定される。各音について、VSPLをどのような値で設定するかについては、本実施形態では、開発者(サウンドデザイナー等)の主観等で任意に設定可能であるとする。例えば、「この音は、VSPLが78dBの音である」等、開発者の主観で設定可能であるとする。
【0041】
以下、本実施形態にかかる処理の基本原理について説明する。
【0042】
まず、本実施形態では、現実世界における距離減衰について、「拡散減衰」と「過剰減衰」という2種類の減衰に着目し、これを仮想世界における上記VSPLの減衰特性として反映するような手法を採っている。そして、最終的には、このVSPLの減衰特性に基づき、音量の距離減衰特性を決めるという手法を採る。
【0043】
[拡散減衰について]
拡散減衰とは、現実世界における、距離に応じて音が小さくなる現象をモデル化したものである。そして、従来のゲーム処理では、この拡散減衰をシミュレートすることで、仮想空間内で音が距離減衰する様子を表現することもあった。この点、本実施形態においても、当該拡散減衰による減衰計算は用いられる。
【0044】
拡散減衰について簡単に説明する。拡散減衰は、音が届くまでの経路距離による減衰である。例えば、現実世界での点音源を想定すると、音は球面状に拡散していき、音源からの距離が2倍になると、6dB減衰することが知られている。これを計算モデルで考えると、倍距離当たり6dBの減衰、“-6[dB/DD](ダブルディスタンス)”として示される。これは、音の強さが距離の2乗に反比例する減衰でもある。また、この計算モデルをグラフ化すると、例えば図2に示すようなグラフとなる。図2のグラフは、縦軸をロールオフ係数、横軸を距離とし、距離による減衰具合を示すロールオフカーブを示したものである。また、ロールオフ係数は“1”、基準距離を“1”としたものである。基準距離とは、減衰が始まる距離のことであり、図2の例では、距離“1”で減衰が始まることが示されている。このグラフのような結果が得られる計算モデルを仮想ゲーム世界に適用して、仮想空間における音の拡散減衰がシミュレートできる。
【0045】
そして、本実施形態でも、当該拡散減衰による減衰計算を用いる。ここで、仮想世界における音の減衰表現として、上記拡散減衰の計算モデルだけを適用した場合、理論上、仮想空間内で、ある位置から発せられた音声が、例えばVSPLが“80dB”に設定されている音が“0dB”まで減衰する距離である10000m先でも聞こえるということもあり得る。しかし、現実世界において、例えば人の声が10000m先まで聞こえるということは考えられない。そのため、上記拡散減衰の計算モデルをそのまま仮想空間内に適用するだけでは、ゲーム内の音声表現としても、不自然に遠くの音が聞こえたりして、違和感が残る表現にもなり得る。つまり、拡散減衰を用いるだけでは、仮想空間における音の距離減衰の表現としては不十分であるといえる。
【0046】
[過剰減衰について]
ここで、現実世界においては、直接音や間接音が人の耳に届くまでに、過剰減衰と呼ばれる減衰が発生することも知られている。過剰減衰とは、直接音や間接音が、空気中の水分等に吸収されることで減衰する現象である。いわば、自然環境(空気、温度、風速等)の影響による減衰である。当該過剰減衰の特性として、以下のような点が知られている。まず、過剰減衰の場合、拡散減衰とは異なり、単純に、距離に比例して減衰する([dB/D]となる)という特性が知られている。
【0047】
また、過剰減衰の場合、周波数帯域毎に減衰量が異なるという性質もあり、特に、高域が減衰しやすいという特性がある。本実施形態では、この高域が減衰しやすいという現象を、「高域用フィルタ」(例えばバイカッドフィルタ、より具体的にはローパスフィルタ)を適用するという形で音声表現する手法を採る(詳細は後述する)。
【0048】
上記の2種類の減衰を踏まえると、直接音の減衰量は、拡散減衰+過剰減衰という形で示すことが考えられる。図3に、拡散減衰のみで考えた場合と、拡散減衰に過剰減衰も加えた場合との減衰カーブを比較したグラフを示す。当該グラフは、上記のようなVSPLが“80dB”に設定されている音を例示し、縦軸を音圧レベル、横軸を距離とした対数グラフである。また、過剰減衰値を“-0.1dB[dB/D]”と設定している。図3のグラフで示されるように、拡散減衰のみの場合は、減衰しきる距離は概ね10000mであるところ、拡散減衰に過剰減衰を加えた場合は、減衰しきる距離は概ね300mあたりとなる。そのため、この2種類の減衰を組み合わせて考えることで、減衰しきる距離も短くなり、現実世界における距離減衰により近い表現が可能になるといえる。例えば、10000m先にまで音が届くのは現実世界においては不自然であるといえるが、300m先まで音が届くのは、現実世界においてもあまり不自然ではない範囲であるといえる。
【0049】
また、過剰減衰の特性の一つとして、音圧レベルの高い音(大きい音)は、過剰減衰の影響が大きく、音圧レベルが低い音(小さい音)は、過剰減衰の影響を受ける前に減衰しきってしまうという特性がある。例えば、図4に、現実世界を想定して、拡散減衰のみの場合と、拡散減衰+過剰減衰で考えた場合の、複数の音圧レベルの減衰度合いを比較したグラフを示す。当該グラフでは、縦軸を音圧レベル、横軸を距離としている。図4の例では、例えば音圧レベル120dB SPLの音は、過剰減衰の影響を大きく受けており、拡散減衰によって減衰しきる距離よりもかなり手前の距離で減衰しきることが示されている。これに対して、例えば、音圧レベル20dB SPLの音は、減衰しきる距離が、拡散減衰による場合と、更に過剰減衰を加えた場合とで、ほぼ変わらないことが示されている。換言すれば、音圧レベルが小さくなるほど、過剰減衰の影響が小さくなるといえる。そのため、小さな音については、過剰減衰の影響を受ける前に、拡散減衰によって減衰しきるということが考えられる。本実施形態では、上記のように拡散減衰と過剰減衰とを組み合わせて減衰計算を行うことで、仮想世界においてもこのような特性を表現でき、より自然で違和感の少ない音声表現が可能になるといえる。
【0050】
上記のように、本実施形態では、基本的には、仮想世界内の距離減衰の表現について、拡散減衰と過剰減衰を組み合わせて考える。具体的には、上記図3で示したような、拡散減衰と過剰減衰とを加えた減衰カーブをVSPLの減衰特性を示すカーブ(以下、VSPL減衰カーブと呼ぶ)として用いる。そして、VSPL減衰カーブに基づいて、各音の音量の距離減衰特性(図2のグラフで示したようなロールオフカーブ)を決める。但し、本実施形態では、上記拡散減衰と過剰減衰とを加えたVSPL減衰カーブをそのまま全部用いるのではなく、当該VSPL減衰カーブの一部の範囲を用いるような手法を採る。以下、この点について説明する。
【0051】
[波形のレンジについて]
一般的に、例えばゲーム処理等の情報処理において音を鳴らす場合、音声を波形データとして持つことになる。このような波形データにおいて、非常に小さい振幅については、信号的にも出力的にも、実質的には無音というに等しいものといえる。そのため、このような小さな振幅については、忠実に再生しなくても、ユーザの聴覚に対してさほど影響は与えないと考えられる。このような点に鑑みて、本実施形態では、一定以下の振幅については、「無音」とみなして扱う。そして、無音とみなされた振幅部分については再生処理を省略し、処理負荷の軽減を図る。
【0052】
本実施形態では、一定以下の振幅は無音と見なすための設定として、「無音とみなす音量」というものを設定する。当該無音とみなす音量としてどのような値を設定するかについては、上記VSPL同様、開発者の主観等で任意に設定可能である。ここで、音量自体は、波形の振幅に基づいて計算され得るところ、同じVSPLが設定されている音であっても、波形の振幅が違えば音量も違ってくるといえる。この点に鑑みて、本実施形態では、無音と見なす「音量」を設定するようにしている。これにより、VSPLが同じである音同士の間で、以下に説明する「レンジ」の設定について統一的な設定が可能となる。なお、以下の説明における便宜上、ここでは一例として、無音と見なす音量(ラウドネス値)を“-65LKFS”とする場合を想定する。
【0053】
上記のような無音とみなす音量が決まれば、波形データについての、音量を変化させることができる幅(以下、レンジと呼ぶ)が決まることになる。例えば、音量の倍率を“1.0”(最大値)から、“0.0”(最小値)の範囲で表すことを想定する。この前提で、VSPLが“80dB”と設定された音があるとする。また、当該音について、音量倍率が“1.0”の場合の音量が“-24LKFS”であるとする。そして、当該VSPLが“80dB”の音を想定したVSPL減衰カーブとして、上記図3で示したようなカーブを用いるとする。このような音を想定し、上記無音とみなす音量を“-65LKFS”と決めた場合、音量倍率としては“0.009”のときが、無音とみなす音量に相当することになる。この場合、当該波形データのレンジは、上記音量の差分となる41LU(ラウドネスユニット)となる。また、1LUは1dBと同一であるため、この波形データのレンジは、41dBともいえる。
【0054】
図5に、当該VSPLが“80dB”の音の波形データに対して上記レンジを適用した場合の一例を示す。上記無音とみなす音量に対応するVSPLを、当該レンジの「下限値」として捉えると、当該無音とみなす音量に対応するVSPLに、上記の差分に相当するVSPLを加えた値が、レンジの「上限値」となる。図5の例では、当該レンジの下限値に対応するVSPLは20dBであり、上限値に対応するVSPLは61dBであることを示している。このレンジは、音量を変化することができる範囲であるため、換言すれば、音量をどれだけ下げることができるのかを示す値であるともいえる。上記の例でいうと、上記の波形データを使う音源については、仮想空間内において、41dB分しか音量を下げられないということになる。
【0055】
ここで、上記図5のレンジの上限に着目すると、レンジの上限に相当するVSPLの値と、拡散減衰と過剰減衰と加えたVSPL減衰カーブとが交わる距離が、音量が下がり始める距離となっている。図5の例では、概ね10m弱となる距離である。上記のように、レンジの範囲内でしか音量は変化しないため、VSPLが61dBに相当する音量より大きな音量には変化させることができない。つまり、音量が下がり始める距離までの区間では、音源からの距離が変化しても、音量は、レンジ上限値に対応する音量のまま変化しないことになる。換言すれば、レンジの下限が決まることで、レンジの上限が決まると共に、音量が下がり始める距離も自動的に決まることになる。また、音源からの距離が、上記レンジ下限より下に対応する距離になれば、無音であるとみなされ、その音源にかかる音の再生は行われなくなる。このような音の減衰具合をグラフ上で見ると、図6のようになる。図6は、当該レンジ内におけるVSPLの減衰について太線で示したグラフである。図6の例では、音源からの距離が約10m弱になるまでは、VSPLが“60dB”であって音量の倍率が“1.0”(最大値)の音が聞こえ、概ね10m~200m程度の区間では徐々にVSPLが減衰していき、これに連れて音も徐々に小さくなっていくことが示される。そして、約200m程度の距離で、「無音」とみなされて音が消える、というようなVSPL減衰カーブが示されている。このような太線で示す部分が、最終的に、当該波形データについての音量の距離減衰特性の決定に用いられることになる。すなわち、この太線部分で示される減衰特性に基づいて、上記図2で示したようなロールオフカーブが算出されることになる。
【0056】
以下の説明では、上記音量が下がり始める距離のことを「減衰開始距離」、無音とみなされる音量に達する距離のことを「可聴距離」と呼ぶ。なお、減衰開始距離は、上記図2のロールオフカーブにおける基準距離と実質的に同じものと考えることもできる。また、無音とみなす音量、すなわち、上記レンジの下限に対応するVSPLのことを、「みなし無音VSPL」と呼ぶ。また、上記図7で示したような、レンジ内の太線部分に対応するVSPLの減衰特性のことを「レンジ内減衰カーブ」と呼ぶ。
【0057】
ところで、上記のように無音とみなす音量、換言すれば、その音を届かせたい距離は、開発者が任意で設定可能であるため、各波形データについて、上記レンジを任意で設定することはできるといえる。しかしながら、波形データ毎にばらばらのレンジ設定を行うと、全体的な音量のバランス・統一感が損なわれることがあり得る。例えば、同じVSPLを想定した複数の波形であって、これらが同じラウドネス値である場合を想定する。この場合でも、レンジ設定が異なると、減衰開始距離や可聴距離も音毎に異なり、同じ距離において、各波形データに係る音量が異なってしまうことがあり得る。図7に、同じVSPLであることを想定した3つの異なる波形データのレンジ内減衰カーブを比較したグラフを示す。図7では、各波形データにおけるレンジの幅は同じではあるが、上限値・下限値とする値は異なって設定されている。また、減衰開始距離もそれぞれ異なっている。これら3つの波形データに係る音を同じ距離で聞いた場合、VSPLは同じであるにもかかわらず、聞こえてくる音量がそれぞれ異なることが当該グラフでは示されている。
【0058】
このような問題に対処すべく、本実施形態では、仮想空間で用いる複数の音のうち、いずれか1つを「基準音」として決める。そして、当該基準音との相対的な音量差に基づき、他の音の距離減衰特性を決めていくようにする。つまり、レンジの設定について、基準音をベースにすることで、同じ仮想空間内において統一的な設定を行おうとするものである。
【0059】
[基準音の設計について]
まず、基準音の決め方(設計の流れ)に関して説明する。基準音の設計については、例えば以下のような流れで進めることができる。まず、無音と見なす音量を決める。ここでは上記のように、“-65LKFS”を無音と見なす音量とする場合を例とする。
【0060】
次に、基準音とする音を選択する。当該基準音は任意で選択すればよいが、例えば、プレイヤキャラクタのボイスを基準音として決めてもよい。
【0061】
次に、基準音のVSPLを決定する。当該VSPLは、基準音が最大音量で聞こえる距離を想定したVSPLとなる。これも、上記のように開発者の主観に基づき、任意で決定すればよい。あるいは、その音の音量(波形の振幅)に基づいて、VSPLを算出するようにしてもよい。この場合は、波形データの音量さえ決めれば、適切なVSPLを、ある程度自動的に設定することが可能となる。これは、例えば、所定の変換用の数式を用いることや、予め定義した変換テーブルを用いること等が考えられる。
【0062】
次に、この基準音をどこまで届かせるかを決定する。すなわち、上記可聴距離を決める。これも、開発者の主観等で任意に決めてもよい。これに基づき、上記レンジの下限、および、みなし無音VSPLが決まることになり、必然的に、レンジの上限も決まることになる。
【0063】
[基準音以外の音の設計について]
次に、基準音以外の音の設計、すなわち、距離減衰特性の決定について説明する。基準音以外の音については、上記基準音を基にして、距離減衰特性を決定することになる。以下の説明では、基準音以外の音で、当該距離減衰特性を決定する作業の対象となる音のことを、便宜上、「対象音」と呼ぶ。
【0064】
まず、対象音のVSPLを決定する。本実施形態では、対象音のVSPLについては、基準音のような任意決定ではなく、対象音と上記基準音との音量差に基づいて決定する。つまり、本実施形態では、基準音のVSPLは開発者が任意で設定し、その他の音のVSPLは、基準音との相対的な関係に基づいて決めることになる。これにより、上記で言及した、同じ仮想空間内での統一的な設定が可能となる。より具体的には、以下の手法で決定する。まず、基準音および対象音の各波形の音量が、最大音量で再生されるまで音源に近づいたときの距離(近距離)における音量であると仮定する。この場合、基準音と対象音との波形の音量差は、VSPLの差に近似するものと考えられる。つまり、最大音量同士での音量差は、そのまま音圧レベルの差として捉えることができる。そのため、基準音のVSPLにこの差分を加算することで、対象音のVSPLが算出可能である。例えば、基準音のラウドネスが、“-26LKFS”、VSPLが“78dB”であると仮定する。そして、対象音のラウドネスは“-20LKFS”であるとする。この場合、近距離におけるラウドネスの差(音量差)は“6”となる。そのため、基準音のVSPL“78dB”に6が加算された“84dB”が、対象音のVSPLとして決定される。このように対象音のVSPLが決まると、上述した拡散減衰と過剰減衰を組み合わせたVSPL減衰カーブも導出される。なお、詳細は後述するが、本実施形態では、VSPL毎に異なる内容のVSPL減衰カーブが定義可能であり、決定したVSPLに応じたVSPL減衰カーブを用いるという手法を採っている。
【0065】
次に、対象音のレンジについて決定するが、本実施形態では、図8で示すように、みなし無音VSPLを基準音と対象音との間で揃えておく。これにより、各波形のレンジの下限を揃えることができる。つまり、レンジの下限について統一的なルールを適用することになる。また、下限が決まることで、対象音のレンジの上限も決まることになる。その結果、例えば、基準音と対象音とについて図9のグラフで示されるような関係が導出され得る。図9は、基準音および対象音のそれぞれのレンジ内減衰カーブを示したグラフである。ここで、図9で示されるように、減衰開始距離が、基準音と対象音とで同等の距離となっている。その結果、減衰中の区間においては、どの距離でも、基準音と対象音との音量差が逆転することはなく、音量の大小関係が保たれることになる。なお、その音量差自体は、過剰減衰の影響もあり、一定なものとは限らない。
【0066】
また、図9においてレンジの下限、すなわち、可聴距離に着目すると、基準音よりも大きな音である対象音のほうが、可聴距離が少し長くなっている。すなわち、対象音が聞こえる距離が、基準音が聞こえる距離よりも少し伸びているという現象を仮想空間内で表現できることになる。つまり、音の大きさの違いも仮想空間内で適切に表現できる。なお、図9の例では、対象音のほうが基準音よりも大きな音である場合を例示したが、逆の関係の場合も、同様の結果が得られる。すなわち、対象音のほうが基準音よりも小さな音である場合、減衰中の音量差を保ちながら、基準音よりも対象音の方が可聴距離が短いものとなる。つまり、基準音よりVSPLが大きい音については、基準音よりも聞こえる距離が伸び、基準音よりVSPLが小さい音については、聞こえる距離も基準音より短くなる。そのため、音の大きさの違いも適切に表現できる。
【0067】
[VSPL毎に減衰カーブの特性を設定することについて]
ところで、上記の例で示したように、結果的に、基準音と対象音との減衰開始距離は同じ距離となっている。これは、換言すれば、上記図2で示したロールオフカーブにおける基準距離が同じであるといえる。また、基準音も対象音も点音源であることを想定すれば、ロールオフ係数も同じものが適用される。そのため、結果として、どの音に対しても、全く同じ特性のロールオフカーブを適用すればよいといえる。しかしながら、仮想空間という、現実とは異なる空間を表現することや、ゲーム的な観点から、より広いダイナミックレンジの表現を行いたいという局面がある等で、より豊かな音声表現を行いたい場合もある。例えば、小さい音は、その波形の振幅も小さいことから、音量を上げ下げできる幅も狭いといえる。そのため、上述したレンジの幅も狭くなり、結果的に、音源から少し距離が離れるだけで、早々に可聴距離に達してしまうことが考えられる。つまり、小さい音だと、音が消えやすいといえる。その一方で、ゲームの展開上、小さい音であってもあまり早くに減衰させずに、なるべく長い間聴かせたい、という局面もあり得る。例えば、ゲーム内において、静かな環境下で、小さい音を出す場合があり得る。このような場合に、この小さい音を聞き逃さないように、ユーザも耳をそばだてて聞く、というようなシチュエーションもあり得る。あるいは、この小さい音の存在をユーザに気付かせたい、というシチュエーションもあり得る。このようなシチュエーションを想定すると、小さい音ではあるものの、距離が少々離れたからと行って早々にみなし無音扱いせずに、多少距離が離れても聞こえ続けるようにしたいというニーズもある。
【0068】
また、これとは逆に、ゲーム的に、大きな音について、遠くまで届きすぎるという状況を抑制したいというニーズもある。大きな音については、過剰減衰の影響を大きく受けるが、それでもなお、あまり遠くにある音源からの音が聞こえると、仮想世界、あるいはゲーム的に違和感が残るという可能性もある。
【0069】
そこで、本実施形態では、VSPL毎に異なる減衰特性のVSPL減衰カーブを定義可能とする。具体的には、VSPLの値に応じて減衰のパラメータも変わるようにすることで、特性を調整できる。これにより、VSPLが小さな音については、早々に無音と見なされないようにすることができる。また、VSPLが大きな音については、あまり遠くまで音が届きすぎないようにすることができる。その結果、仮想空間やゲーム内容の都合に応じた音の設計が可能となる。
【0070】
図10に、VSPL毎に定義されたVSPL減衰カーブの一例を示す。図10では、縦軸がVSPL、横軸が音源からの距離を示している。図10のグラフを図4と比較すると、例えばVSPLが20dBの音については、小さい音が小さくなりすぎないよう、概ね距離10mより先のカーブが、他のVSPLのカーブよりも緩やかになっている。また、逆に、例えばVSPLが120dBの音の場合は、その音が遠くまで届きすぎないように、概ね距離10mより先のカーブが、他のVSPLのカーブよりも急なものとなっている。
【0071】
このように、本実施形態では、VSPL毎に異なる減衰特性のVSPL減衰カーブを定義可能とする。これにより、各波形について設定あるいは決定されたVSPL毎に、仮想空間やゲーム内容の都合に応じた適切なVSPL減衰カーブを適用することができる。すなわち、表現したい仮想空間全体における音声の距離減衰のルールを定めることができる。
【0072】
[VSPL補正について]
上述したように、VSPL毎に個別にVSPL減衰カーブを定義可能とすることで、統一感のある減衰表現を行いつつ、より豊かな音声表現も可能となる。また、VSPLが小さな音がすぐに消えにくく、大きな音が遠くまで届きすぎないようにさせるというような調整も可能となる。ここで、音声を波形データ化して表現するにあたり、複数の音の音量差が、それらのVPPLの差と必ずしも一致させたいとは限らない場合がある。例えば、爆発音のような大きい音を小さい振幅の波形で作成したり、衣擦れのような小さい音を大きい振幅の波形で作成したりすることがある。このような場合も考慮すると、上記のような基準音に対する音量差だけでは適切なVSPLが決定しない場合もあり得る。また、音を遠くまで届かせたい場合において、波形の振幅を大きくする対応のみでは音量が大きくなり過ぎて使いづらい場合が考えられる。そこで、本実施形態では、この点を補正可能とすべく、音源毎に、「VSPL補正値」というものを個別に設定可能とする。そして、当該VSPL補正値に基づき、対象音のVSPLをみなし定義する。
【0073】
以下、VPSL補正値を用いた補正の例を挙げる。例えば、ラウドネスが“-26LKFS”、VSPLが“78dB”の基準音があり、ラウドネスが“-20LKFS”の対象音があると仮定する。また、この音量差から、対象音のVSPLは“84dB”と算出されるとする。また、上記のような基準音に基づいて設定した場合の可聴距離が、仮想空間における尺度で“100m”であるとする。その上で、この対象音について、ゲームの展開上、“120m”離れていても、かすかに聞こえるような状態にしたいという場合を想定する。つまり、この対象音は、上記基準音に対する音量差だけでは適切なVSPLになっていないという場合を想定する。例えば、“120m”先まで音を届かせるためには、VSPLが“96dB”程度必要であるという場合を想定する。このような場合は、当該対象音について、VSPL補正値として“12dB”を設定可能とする。但し、当該補正値の設定だけ行い、当該対象音の波形自体は変化させない。つまり、VSPLが“84dB”である対象音について、その波形の音量を上げる等の変化は加えずに、VSPL補正値として“12dB”を設定可能とする。
【0074】
そして、このようなVSPL補正値が設定された波形データに用いるVSPL減衰カーブとして、補正後のみなしVSPLに応じたVSPL減衰カーブを採択する。上記の例では、VSPLが“96dB”の場合のVSPL減衰カーブを採択する。この際、上記みなし無音VSPL自体は基準音に揃えておく。図11に、VSPLの補正前後のVSPL減衰カーブの一例を示す。また、図11では、対象音のレンジも示している。図11の例では、VSPLが”84dB”の場合の、補正前減衰カーブと、VSPLが“96dB”の場合の補正後減衰カーブを示している。上記のようなVSPLの補正の結果、図11で示されるように、可聴距離を補正前の可聴距離よりも延ばすことができている。また、図11において、補正後のVSPL減衰カーブを辿ると、音量の減衰開始距離も少し延びていることがわかる。つまり、結果的に、ロールオフ係数を変えることなく、上述のロールオフカーブの基準距離だけが延びたような状態にもなっている。
【0075】
また、このようなVSPL補正を行ったとしても、音量が変化している区間においては、上記と同様に音量の大小関係は保たれる。図12に、基準音のレンジ内減衰カーブと、補正前の対象音のレンジ内減衰カーブと、上記補正後の対象音とのレンジ内減衰カーブとの一例を示す。図12において、補正後の対象音の減衰開始距離から可聴距離までの区間についてみると、基準音よりも対象音のほうが大きいな音であるという関係は正しく表現できていることが読み取れる。また、基準音と対象音とで、音が無音となる距離の違いも表現できている。
【0076】
このように、本実施形態では、VSPL補正値を設定可能とすることで、特定の音について、音量自体を大きくすることなく、より遠くまで音を聞こえさせるための、例外的な個別設定ができる余地も与えている。この際、元の音の音量(振幅)を大きくすることと併用してもよい。
逆に、マイナスのVSPL補正値を設定することで、特定の音について、音量自体を小さくすることなく、より近い距離で聞こえなくなるように設定することもできる。
【0077】
[高域用フィルタについて]
ところで、現実世界において、遠くから聞こえる音は、その高域がより減衰して聞こえるという現象がある。このような高域帯だけが減衰するような現象を仮想空間で表現すべく、例えばローパスフィルタを用いるという手法があった。
【0078】
一方、上記過剰減衰の説明において少し言及したが、過剰減衰の特性の一つに、高域の周波数帯は低中域に比べて減衰しやすいという特性がある。すなわち、高・中・低域全てが減衰している中で、特に高域の減衰幅が大きいという特性がある。この点、過剰減衰の特性を考慮した距離減衰の表現を行うことを考えると、中低域については特に変化させないローパスフィルタを用いるだけでは、過剰減衰における中低域の減衰が表現しきれず、距離減衰の表現としても十分なものとはいえない。
【0079】
そこで、本実施形態では、過剰減衰の特性の表現について、中低域の減衰特性と、高域の減衰特性とを分けて考える。すなわち、中低域についての過剰減衰値と、高域についての過剰減衰値を別々に考える。具体的には、中低域のVSPL減衰カーブについては、上記のように拡散減衰と過剰減衰との組み合わせで考え、例えば拡散減衰値を”-6dB/DD”とし、過剰減衰値を”-0.1dB/D”として、VSPL減衰カーブを算出する。これとは別に、拡散減衰値は”-6dB/DD”とし、高域用の過剰減衰値として、例えば”-0.2dB/D”として、高域用のVSPL減衰カーブを算出する。つまり、高域の方は少し減衰度合いを高めた値とする。なお、本実施形態では、中低域用の過剰減衰値、高域用の過剰減衰値は、開発者が任意の値を設定可能となっている。
【0080】
上記のような過剰減衰値を例とすると、例えば、図13に示すようなグラフが得られる。図13のグラフは、縦軸をVSPL、横軸を距離としたグラフである。そして、高域用のVSPL減衰カーブと中低域用のVSPL減衰カーブを示したグラフである。図13で示されるように、高域用のVSPL減衰カーブは、中低域用のVSPL減衰カーブよりも過剰減衰値が高いため、より短い距離で減衰しきることが示されている。そして、当該中低域のVSPL減衰カーブは、上記のような直接音の距離減衰特性の決定のために用いる。これにより、中低域における過剰減衰の表現が可能となる。一方、高域の過剰減衰については、ローパスフィルタを適用することで表現する。但し、当該ローパスフィルタの適用に際しては、どの距離からかけ始めるのか、という点で問題がある。そして、本実施形態では、高域のVSPL減衰カーブを、当該かけ始めの距離の決定に利用する。以下、「このフィルタをかけ始める距離」について説明する。
【0081】
[フィルタをかけ始める距離について]
上記のようなレンジを用いた距離減衰特性(上記のレンジ内減衰カーブ)を考えると、音量が減衰しない区間が存在している。このような区間の存在に着目すると、ローパスフィルタをかけ始める距離をどうするかという問題がある。すなわち、ローパスフィルタをかける強さを、単純に距離に比例させて決めると、違和感のある聞こえ方となる可能性がある。例えば、ある音源のすぐ側に位置している仮想マイクが、当該音源から徐々に離れていくような場合を想定する。図14は、このような場合を想定した、直接音の距離減衰と、ローパスフィルタの距離特性との関係を示すグラフである。当該グラフは、リニア軸のグラフとなっており、縦軸が音量およびフィルタの強さ、横軸が音源からの距離を示す。図14においては、音量が変化しない区間、すなわち、減衰開始距離以下の距離においては、基本の音量自体は変化していないにもかかわらず、ローパスフィルタが適用されることによって、高域部分だけ徐々に減衰していくような聞こえ方となる。その結果、聞き手に聴覚的な違和感を与えるような音声表現になる可能性がある。また、減衰開始距離まで離れる前の段階でローパスフィルタを先にかけ始めているため、減衰開始距離まで仮想マイクが移動したときに、急にローパスフィルタが強くかかってしまうような聞こえ方になり得る。その結果、音のこもり具合が急に強まって聞こえる等、違和感を与える音声表現になる可能性もある。そのため、違和感の少ない音声表現とすべく、ローパスフィルタをかけ始める距離について調整する必要性がある。この点、従来でも、開発者が試聴等した結果、このような違和感に気づき、当該ローパスフィルタをかけ始める位置を調整する必要性があることを認識することはあった。しかし、従来は、このような場合は、開発者が各音源について個別に手作業で当該距離を調整するような作業を行っていた。
【0082】
この点、上記のような高域の減衰特性と、中低域の減衰特性を分ける本実施形態の考え方によれば、ローパスフィルタをかけ始める距離については、上記のような高域における減衰値を決めるだけで、各音源について適切な距離を半自動的に決めることができる。例えば、上記図13のグラフに対して、上記レンジを適用したものの一例を、図15に示す。図15において、レンジの上限および減衰開始距離に着目すると、高域の減衰開始距離は、中低域の減衰開始距離よりも少し短い距離となっている。ここで、高域の減衰開始距離は、ローパスフィルタをかけ始める距離であると考えることができ、当該レンジの上限と、当該高域のVSPL減衰カーブとに基づいてローパスフィルタをかけ始める距離を決定することができるといえる。その結果、直接音の減衰が開始する距離の少し手前の距離を、ローパスフィルタをかけ始める距離として決定される。そして、ローパスフィルタをかけ始める距離が決まれば、高域用の過剰減衰値に基づき、グラフにおけるフィルタ特性の傾きも決まることになる。すなわち、上記のように高域用の過剰減衰値を設定することで、フィルタがかかりきる距離、いわば、終点が決まるため、ローパスフィルタをかけ始める距離、いわば始点が決まれば、これを結ぶことでフィルタ特性の傾きも決まることになる。
【0083】
また、図15の内容をリニア軸で示したものを考えると、図16のようなグラフとなる。図16では、中低域と高域との減衰特性をそれぞれロールオフカーブで示している。本実施形態における高域の減衰特性の表現は、図16における中低域のロールオフカーブに対してローパスフィルタを徐々にかけていくことで、高域のロールオフカーブを表現するものといえる。そのため、上記ローパスフィルタをかけ始める距離が、上記レンジの上限との交点に該当する、ともいえる。
【0084】
次に、図17に、中低域のVSPL減衰カーブに基づいて決定された直接音の距離減衰特性と、上記ローパスフィルタの距離特性とをリニア軸で示したグラフを示す。図17では、横軸が距離、縦軸は、直接音の音量およびフィルタの強さを示す。図17に示されるように、直接音の減衰開始距離の少し手前の距離からローパスフィルタがかかりはじめ、この距離以降は、音源から離れるのに比例して、フィルタが強くなっていくことが示されている。また、直接音の減衰開始距離の少し手前の距離までは、ローパスフィルタはかからないことも示される。これにより、音源から近距離であるにも関わらず、フィルタがかかり始めることで高域成分だけが減衰することによる違和感を与えることを抑制できる。
【0085】
このようにして、高域の減衰特性に基づいてローパスフィルタがかかり始める距離を決めることで、違和感を抑制しつつ、過剰減衰の特性をより適切に表現することができる。例えば、上記図15のグラフにおいては、高域用のVSPL減衰カーブのほうが、中低域用のVSPL減衰カーブよりも先に、可聴距離(レンジの下限)に達していることが示されている。この高域用の減衰カーブに基づきフィルタの距離特性を決定することで、可聴距離の少し手前の距離帯の音については、高音が落ちきった感じで音声表現されることになり、「遠くの音」という感じをより適切に表現できるといえる。
【0086】
[本実施形態の情報処理の詳細]
本実施形態では、上述したような、VSPL、拡散減衰および過剰減衰、レンジ、高域フィルタ等を用いることで、仮想空間においてより自然な距離減衰を表現できる音の設計が可能となる。以下、上述した原理に基づいた開発ツールとして実現される情報処理の一例を説明する。
【0087】
[使用データについて]
まず、本処理で利用される各種データに関して説明する。図18は、情報処理装置2の記憶部84に記憶される各種データの一例を示すメモリマップである。記憶部84には、プログラム記憶領域301およびデータ記憶領域303が含まれている。プログラム記憶領域301には、音源エディタプログラム302が記憶される。また、データ記憶領域303には、音声波形データ304、VSPL特性マスタ305、基準音データ306、音源オブジェクトデータ307、操作データ312等が記憶される。
【0088】
音源エディタプログラム302は、上述したような原理に基づいて音量の距離減衰特性を設定するためのプログラムである。具体的には、後述する図20図21のフローチャートで示す処理を実行するためのプログラムである。
【0089】
音声波形データ304は、仮想空間内で用いる各音声の波形データである。
【0090】
VSPL特性マスタ305は、上述したようなVSPL毎の減衰特性(上記VSPL減衰カーブ)を定義したデータベースである。図19に、VSPL特性マスタ305のデータ構成の一例を示す。VSPL特性マスタ305は、VSPL値3051、無音みなし音量3052、拡散減衰値3053、中低域用過剰減衰値3054、高域用過剰減衰値3055の項目を少なくとも含むレコードの集合として構成されている。VSPL値3051は、定義されているVSPLを特定する値である。無音みなし音量3052は、上述したような無音とみなす音量を定義した情報である。拡散減衰値3053は、上記のような倍距離当たりの拡散減衰値を示す。中低域用過剰減衰値3054は、上述したような中低域の周波数帯を想定した過剰減衰値を示す。高域用過剰減衰値3055は、上記の高域の周波数帯を想定した過剰減衰値を示す。これらの値は、開発者等によって事前に定義される。また、各値の内容は開発者が任意の値で設定可能であり、編集も可能である。なお、VSPL値3051について補足すると、本実施形態では、20dB刻みでVSPLの特性を予め定義している場合を例とする。そして、定義されていないVSPLに関しては、後述の処理において、定義済みのVSPLに基づいて補間することで算出されるものとする。
【0091】
図18に戻り、基準音データ306は、上述したような基準音について示すデータである。当該データも、開発者によって事前に内容が定義される。具体的には、基準音データ306には、基準音とする波形データの音量(LKFS)、可聴距離(仮想メートル)、VSPL(dB)等を特定するための情報が含まれる。
【0092】
音源オブジェクトデータ307は、本実施形態の処理によって出力・保存され得るデータであり、仮想空間内に配置され得る複数の音源オブジェクトについて定義したデータである。各音源オブジェクトについて、少なくとも、オブジェクトID309、音声ソース情報310、音量減衰特性情報311、が含まれる。オブジェクトID309は、その音源オブジェクトを一意に識別するための情報である。音声ソース情報310は、その音源オブジェクトが発する音声として関連付けられている波形データを特定する情報である。音量減衰特性情報311は、その音源オブジェクトに係る音声の音量がどのように距離減衰するのかを示す情報である。すなわち、距離と音量の減衰度合いとの関係を示す情報である。また、音量減衰特性情報311には、上述したようなローパスフィルタをかけ始める距離や特性に関する情報も含まれる。
【0093】
操作データ312は、入力デバイス4に対して行われた操作の内容を示すデータである。当該操作データ312の内容は、入力デバイス4からの信号に基づき、所定の周期で更新される。
【0094】
[プロセッサ81が実行する処理の詳細]
次に、本実施形態にかかる情報処理の詳細について説明する。なお、ここでは主に、所定の対象音についての音量の距離減衰特性の設定と、そのデータの保存に関する処理について説明し、その他の処理については、詳細な説明は割愛する。
【0095】
図20は、本実施形態に係る距離減衰特性設定処理の詳細を示すフローチャートである。本実施形態では、1以上のプロセッサが1以上のメモリに記憶された上記プログラムを読み込んで実行することにより、当該フローチャートが実現される。当該図で示すステップS1~S9の処理ループは、1フレーム毎に繰り返し実行されるものとする。また、当該フローチャートは、処理過程の単なる一例にすぎない。そのため、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判定ステップで利用される閾値も、単なる一例であり、必要に応じて他の値を採用してもよい。
【0096】
図20において、プログラムが起動されると、まず、ステップS1で、プロセッサ81は、VSPL特性マスタ305、および、基準音データ306を読み込む。
【0097】
次に、ステップS2で、プロセッサ81は、処理対象とする音声波形データ304を記憶部84に読み込む。例えば、複数の音声波形データ304が格納されているフォルダをユーザが指定することで、当該フォルダ内の音声波形データ304が全て読み込まれる。
【0098】
次に、ステップS3で、プロセッサ81は、エディタ画面を生成して表示する。ユーザは、当該エディタ画面を用いて、上記読み込まれた各データの編集操作や、上記複数の音声波形データ304について、一括で距離減衰特性を算出して保存するための操作を行うことができる。当該エディタ画面の内容はどのようなものでもよいが、例えば、図21に示すような画面が表示される。図21の画面例では、表示領域が、大きく分けて、左ペイン、右上ペイン、右下ペインの3つの区画に分けられている。左ペインには、上記ステップS2で読み込まれた音声波形データ304の一覧が表示されている。ユーザは、この中から所定の波形データを表示対象として選択可能である。また、ここでユーザが所定の波形データを選択すると、表示対象の波形データの距離減衰特性を示すロールオフカーブが右下ペインに表示される。当該距離減衰特性は、当該選択された波形データを処理対象として、後述するステップS22の特性算出処理が実行されることで算出される。
【0099】
また、右下ペインには、選択中の波形データについて編集可能な入力エリアも表示される。ユーザは、所定の操作を行うことで、選択中の波形データの内容を編集することができる、図21の例では、波形データのVol値、および、上記VSPL補正値が入力可能な例を示している。なお、当該波形データの内容が変更された場合、変更後の内容に基づいて当該波形データに係る音量の距離減衰特性が再算出され、表示内容が更新される。
【0100】
また、エディタ画面の右上ペインには、上記基準音データ306から読み込んだ内容を示す基準音情報や、VSPL特性マスタ305から読みこんだ内容を示すVSPL減衰カーブを示すVSPL情報が表示される。また、編集中または選択中の波形データに関するロールオフカーブがさらに重畳表示されてもよい。ユーザは、所定の操作を行うことで、基準音として用いる波形データの指定変更や、基準音のパラメータを変更することができる。また、ユーザは、所定の操作を行うことで、VSPL情報の表示を参考にしながら、読み込んだVSPL特性マスタ305で定義されている各パラメータを更に変更することも可能である。
【0101】
また、上記左ペインの下方に、一括更新ボタンおよび終了ボタンも表示されている。ユーザは、一括更新ボタンを操作することで、読み込まれた全ての音声波形データ304について、距離減衰特性を一括して算出および保存するための処理(後述)を実行可能である。この際、上記基準音に関するパラメータやVSPL特性マスタ305で定義されている各パラメータが変更されていれば、変更後のパラメータを用いて特性算出処理が実行される。他に、選択中の波形データに関する距離減衰特性のみ更新して保存する操作も可能であってもよい。また、ユーザは、終了ボタンを操作することで、当該距離減衰特性設定処理を終了することができる。
【0102】
図20に戻り、上記エディタ画面が表示されれば、次に、ステップS4で、プロセッサ81は、操作データ312を取得する。
【0103】
次に、ステップS5で、プロセッサ81は、操作データ312に基づき、上記一括更新ボタンの操作が行われたか否かを判定する。一括更新出ボタンが操作された場合は(ステップS7でYES)、ステップS8で、プロセッサ81は、一括更新処理を実行する。
【0104】
図22は、上記一括更新処理の詳細を示すフローチャートである。まず、ステップS21で、プロセッサ81は、上記読み込んだ複数の音声波形データ304のうち、処理対象とする音声波形データを1つ決定する(以下、処理対象音と呼ぶ)。
【0105】
次に、ステップS22で、プロセッサ81は、処理対象音について上記のような距離減衰特性を算出するための特性算出処理を実行する。図23は、当該特性算出処理の詳細を示すフローチャートである。まず、ステップS31で、プロセッサ81は、基準音と処理対象音との音量差に基づき、処理対象音のVSPLを決定する。
【0106】
次に、ステップS32で、プロセッサ81は、処理対象音のVSPLと上記VSPL特性マスタ305とに基づき、上述したような拡散減衰値、中低域用過剰減衰値、高域用過剰減衰値(以下、総称して減衰パラメータと呼ぶ)を算出する。具体的には、プロセッサ81は、上記VSPL特性マスタ305で定義されている各VSPLの減衰パラメータを読み出す。そして、プロセッサ81は、当該読み出した減衰パラメータを用いて、対象音のVSPLに対応する減衰パラメータを補間計算で算出する。なお、当該補間計算の計算方法は、VSPLがVSPL特性マスタ305で定義されている値である場合は、その計算結果がVSPL特性マスタ305で定義されている各減衰パラメータの値通りになるような計算方法である。
【0107】
次に、ステップS33で、プロセッサ81は、上記算出した減衰パラメータに基づいて、上述したようなVSPL減衰カーブを決定する。また、プロセッサ81は、VSPL毎に設定されている「無音とみなす音量」に基づいて、上述したようなレンジを決定する。更に、プロセッサ81は、当該レンジに基づいて、上記レンジ内減衰カーブを算出する。すなわち、音量が減衰しない区間、音量が減衰する区間、無音となる区間、が存在するような、VSPLの距離減衰特性が決定されることになる。
【0108】
次に、ステップS34で、プロセッサ81は、上記算出された高域用過剰減衰値に基づき、上記のような高域用のVSPL減衰カーブを算出する。そして、プロセッサ81は、当該高域用の減衰カーブと上記レンジとに基づき、上述したようなローパスフィルタをかけ始める距離を決定する。
【0109】
次に、ステップS35で、プロセッサ81は、上記算出されたレンジ内減衰カーブに基づき、処理対象音の音量の距離減衰特性を決定する。具体的には、まず、プロセッサ81は、上述したようなロールオフカーブに相当する距離減衰特性を算出する。次に、プロセッサ81は、上記ローパスフィルタをかけ始める距離と高域用過剰減衰値に基づき、上記ローパスフィルタの特性も算出する。次に、プロセッサ81は、これら算出した距離減衰特性およびローパスフィルタの特性を処理対象音に対応付けて保存する。具体的には、処理対象音を示す情報が音声ソース情報310として設定され、上記の処理で算出された音量の距離減衰特性やローパスフィルタの特性を示す情報が上記音量減衰特性情報311として設定された音源オブジェクトのデータとして保存する。なお、「距離減衰特性を示す情報」としては、例えばロールオフカーブに対応する関数や、ロールオフ係数、基準距離等を示す情報が考えられる。
【0110】
上記の処理が終われば、プロセッサ81は、特性算出処理を終了する。
【0111】
図22に戻り、処理対象音についての特性算出処理が終われば、次に、ステップS23で、プロセッサ81は、全ての音声波形データ304について上記特性算出処理を行ったか否かを判定し、まだ未処理の音声波形データ304があれば(ステップS23でNO)、上記ステップS21に戻り、処理を繰り返す。一方、全ての音声波形データ304について特性算出処理が終われば(ステップS23でYES)、プロセッサ81は、一括更新処理を終了する。
【0112】
図20に戻り、一括更新処理が終われば、上記ステップS3に戻り、処理が繰り返される。
【0113】
一方、上記ステップS5の判定の結果、一括更新ボタンの操作が行われていない場合は(ステップS5でNO)、ステップS7で、プロセッサ81は、操作データ312に基づき、所定の編集操作が行われたか否かを判定する。当該判定の結果、編集操作が行われた場合は(ステップS7でYES)、ステップS8で、プロセッサ81は、操作データ312で示される操作内容に基づき、各種パラメータを変更する。具体的には、基準音に関するパラメータを変更する操作が行われた場合は、プロセッサ81は、その操作内容に基づき、基準音データ306の内容を適宜変更する処理を行う。また、VSPL特性マスタ305の内容を変更する操作が行われた場合は、プロセッサ81は、その操作内容に基づき、VSPL特性マスタ305の内容を適宜変更する処理を行う。また、左ペインに表示される一覧から音声波形データを選択する操作が行われた場合は、プロセッサ81は、当該選択された波形データを処理対象音として上記ステップS22の特性算出処理を実行し、その結果に基づいてロールオフカーブ等の表示内容を更新する。すなわち、上記ステップS22の特性算出処理を用いて当該選択された波形データの距離減衰特性を算出する。また、現在表示されている波形データに関するパラメータの変更操作が行われた場合は、その操作内容に基づき、当該波形データに関するパラメータを変更する処理が行われる。例えば、上記Vol値が変更される操作が行われた場合は、プロセッサ81は、当該波形データの音量値を変更する。また、これに伴い、プロセッサ81は、波形の振幅を再算出する。また、例えばVSPL補正値の設定操作が行われた場合は、プロセッサ81は、操作内容に基づいて当該波形データのVSPL補正値を変更する。また、図示は省略するが、波形データに基づく波形自体を直接的にエディタ画面上で編集可能としてもよい。更に、プロセッサ81は、上記のような各種パラメータの変更が行われた場合は、変更後の各種パラメータを用いて、上記ステップS22の特性算出処理を実行する。これにより、当該波形データに係る上記距離減衰特性が再算出される。
【0114】
上記ステップS8の後、プロセッサ81は、上記ステップS3に戻り、処理を繰り返す。なお、この場合に表示されるエディタ画面は、上記編集操作によって変更されたパラメータや、当該変更後のパラメータで再算出された内容が反映されたエディタ画面となる。たとえば、各種パラメータや波形データの変更が行われた場合は、ロールオフカーブの形状が更新される。換言すれば、エディタ画面では、編集操作内容がリアルタイムで反映されるような表示が行われる。
【0115】
一方、上記ステップS7の判定の結果、編集操作が行われていない場合は(ステップS7でNO)、次に、ステップS9で、プロセッサ81は、操作データ312に基づき、上記終了ボタンが操作されたか否かを判定する。当該判定の結果、終了ボタンが操作されていない場合は(ステップS9でNO)、上記ステップS3に戻り、処理が繰り返される。一方、終了ボタンが操作された場合は(ステップS9でYES)、プロセッサ81は、当該距離減衰特性設定処理を終了する。
【0116】
以上で、本実施形態に係る距離減衰特性設定処理の詳細説明を終了する。
【0117】
このように、本実施形態では、仮想空間で用いる仮想的な音について、統一的ルールの下で半自動的に音量の距離減衰特性が設定可能となる。このようにして設定された音を用いることで、仮想空間内で、違和感が少なく、かつ、統一感のある音の距離減衰表現ができる。
【0118】
また、本実施形態では、各波形データのVSPLをどのような値にするかや、仮想空間内のどの距離で音量変化(減衰)させるのかについては、開発者の主観によって決めることができるが、減衰特性自体は、現実の物理特性を模して半自動的に決めることができる。
【0119】
[変形例]
上記実施形態では、VSPL毎に無音とみなす音量を設定する例を示した。他の実施形態では、無音とみなす音量として共通の音量を適用するようにしてもよい。すなわち、VSPLがどの値であっても、無音とみなす音量としては同じ音量を適用してもよい。
【0120】
また、上記VSPL補正に関して、上記の例では、元の波形データの波形自体は変化させない、すなわち、音量自体は変化させないという例を挙げた。この点、他の実施形態では、ある程度は波形を大きくしたうえで、上述したようなVSPLの補正を行ってもよい。例えば、ラウドネスが“-20LKFS”の音に上記VSPL補正を行う場合、当該音を“-18LKFS”になる程度に波形を大きくしたうえで、この“-18LKFS”の音についてVSPLを補正するようにしてもよい。
【0121】
また、上記レンジの下限の決め方について、上記の例では、VSPL特性マスタ305に「無音とみなす音量」を直接的に指定するという手法を示した。この他、上記「可聴距離」という形で指定可能としてもよい。そして、当該可聴距離に基づいて、上記みなし無音VSPLを算出してもよい。また、みなし無音VSPLを直接指定可能としてもよい。いずれにせよ、可聴距離とみなし無音VSPLとは、連動して決定される関係になっているため、開発者がレンジの下限を決める際に、「距離」として捉えて設定することも、「VSPL」と捉えて設定することも可能となり、開発者が自身の感性に応じて設計しやすいような環境を提供できる。
【0122】
また、レンジの下限に対応する値を直接的に指定する態様に限らず、予め指定された条件に基づき、レンジの下限に対応する値を半自動的に設定可能なようにしてもよい。例えば、「限界到達距離」を予め指定しておき、この距離に基づいて、上記みなし無音VSPLを算出してもよい。
【0123】
また、上記の例では、音声に適用するフィルタについて、過剰減衰における高域特性の表現のためにローパスフィルタを用いる例を挙げた。上記音声波形データに適用するフィルタの種類については、ローパスフィルタに限らず、他の種類のフィルタを適宜用いるようにしてもよい。この場合、フィルタをかける強さについては、音源のVSPLおよび音源からの距離に基づいて決定されればよい。これにより、仮想的な音の大きさ、および、音源からの距離に応じてフィルタの強弱をつけることができ、距離減衰の表現についてより豊かな表現が可能になる。
【0124】
また、上記実施形態では、特定の音について、可聴距離よりも遠くまで音を届かせたい場合に、上記VSPL補正を用いて対応可能な例を挙げた。この例では、VSPLを上げることで、上記のロールオフカーブにおける基準距離が延びるような形となり、結果的に、より遠くまで音を届かせるというものであった。この点、他の実施形態では、各音について、上記レンジの下限を拡張できるような設定が可能としてもよい。つまり、特定の音について、レンジの下限とするVSPLを更に下げることが可能としてもよい。例えば、VSPLが同じ“60dB”である2つの音があると仮定する。そして、上記VSPL特性マスタ305において“60dB”のVSPLのパラメータとして定義された上記無音とみなす音量に基づくと、レンジの下限に対応するVSPLが“20dB”になる場合を想定する。この場合に、一方の音だけ、下限拡張の設定を行うことで、この音については、レンジの下限に対応するVSPLを、例えば“18dB”とすることを可能にしてもよい。この場合も、特定の音について、例外的により遠くまで届かせることができる。
【0125】
また、上記実施形態で示した処理は、ゲームの開発段階における開発処理の一環である場合を例とした。これに限らず、例えばゲーム処理として、上述した音量の距離減衰特性を算出・設定する処理を実行するように構成してもよい。この場合、例えば、上記VSPL特性マスタ305をゲームデータの一つとして記憶させてもよい。そして、例えば仮想空間内に音源オブジェクトを配置するタイミングで、当該音源オブジェクトに設定されているVol値と上記VSPL特性マスタ305に基づき、音量の距離減衰特性を算出・設定するようにしてもよい。
【0126】
また、ゲーム処理において、複数の上記VSPL特性マスタ305を使い分けるような処理を行ってもよい。例えば、ゲーム内で、物理法則が異なる複数の仮想世界を用いる場合、各仮想世界に応じたVSPL特性マスタ305を使い分けるようにしてもよい。
【0127】
また、上記実施形態においては、一連の情報処理を単一の情報処理装置2で実行される場合を説明した。他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。さらには、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。
【符号の説明】
【0128】
2 情報処理装置
4 入力デバイス
5 表示部
6 スピーカ
81 プロセッサ
84 記憶部
87 画像音声出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23