米Valveは、仮想空間(VR)ゲーム開発向けの空間音響デザインソリューション「Steam Audio」の無償提供を開始した。

Steam Audio SDKは無償で利用でき、Windows/Linux/macOS/Androidに対応するという。

元々はValveが買収した米Impulsonicが開発していたもので、現在はベータ版SDKがGitHubにてゲームエンジン「Unity」のプラグインとして提供されており、そのほかのエンジンやツール対応のため、C APIも公開中。今後、Unreal Engine 4、FMOD Studio、Wwiseへの対応が予告されている。

Steam Audioの特徴としては、HRTF(Head-Related Transfer Function: 頭部伝達関数)ベースのバイノーラルオーディオに、物理ベースの音の伝播を追加することで、より現実に近い感覚を提供できるという。

人間は音を聴く際、耳殻や頭、肩などによって周波数特性が変化した音を聴いており、左右の耳に届いた時間の差や音量の差だけでなく、その変化によっても音の方向の認識を行なっている。

HRTFベースのバイノーラルレンダリングは、そういった影響を再現するというもので、Steam AudioのHRTFベースのバイノーラルレンダリングの実装では、CPUオーバーヘッドが非常に低く、1つのCPUコアで数百、数千のソースを処理するできるという。また、音声の周波数への変更も最小限に抑えられるとしている。

それに加えて、Steam Audioは、多くのゲームエンジンで既にサポートされている典型的なレイキャストオクルージョンにだけでなく、部分オクルージョンをサポートする。つまり、音の発生元の一部だけが視界内にある状況なら、見えていない分の音を遮る処理を行なう。

Steam Audioは、既存のシーンジオメトリを使用して音を遮蔽するため、音響のためだけに特別なオクルージョンジオメトリを作成する必要がないという。

物理ベースの反響機能も備えており、実際のシーンジオメトリを使用して反響のシミュレートを行なえるという。音響素材のプロパティに基づき、シーン内のさまざまなオブジェクトから、音がどのように跳ね返るかをシミュレートすることで、物理ベースのリバーブを適用する(カーペットはガラス板のように音を反射しないなど)。シミュレーションはリアルタイムで実行できるため、部屋に家具を入れたり、壁の素材を変更したりといった設計変更に容易に対応できる。

また、実際には、音は音源から放出された後、周囲のさまざまなオブジェクトとの間で反射を繰り返した後にリスナーに到達するが、従来は、ゲーム開発者はこの効果をモデル化するため、手作業でチューニングしたフィルタやスクリプトを使用して、手動で音の伝搬を再現しているが、Steam Audioでは、これらの伝播効果を自動的にモデル化できる。

音の伝搬をリアルタイムでシミュレートしているため、ソースがシーンを移動するのに合わせ、エフェクトが自動的に変化するという。

照明を事前計算することで、高品質の照明計算を高速化できるライトプローブのように、静的シーンでは音の伝播と反響効果を予め計算し、空間に“焼き付け”ておくことも可能。静的なシーンでは、保存しておいた結果によってCPUの負荷を大幅に削減でき、音の伝播と反響効果の品質を向上できるとしている。