空間オーディオの概要

Qt Spatial Audio API は、3 次元のサウンドシーンを作成するための多くのクラスを提供します。サウンドシーンは、3D空間に配置されたサウンドを発するオブジェクトと、1つまたは複数の部屋をモデル化できる周囲のジオメトリによって定義されます。最後に、リスナーをこのサウンドシーンに、指定した位置と向きに配置することができます。

使用できるAPIは、C++とQMLの両方があります。

サウンドシーンの作成

サウンドシーンを作成するには、まずQAudioEngine をインスタンス化します。 このエンジンは、入力されたサウンドデータやジオメトリを処理して、シーン内の特定の場所に配置された人が体験するようなサウンドシーンをリアルに表現します。

QAudioEngine::OutputMode プロパティを使えば、バイノーラル(バーチャル3D)レンダリングを使 用してヘッドフォン用に、またはステレオやサラウンドスピーカー用に出力を最適化 できます。

出力デバイスは、QAudioEngine::outputDevice プロパティを使用して選択できます。

エンジンをセットアップしたら、QSpatialSound オブジェクトを作成し、QSpatialSound::source プロパティを使ってサウンドファイルへのURLを指定することで、様々なサウンドオブジェクトをシーンに配置できます。

QAudioListener また、サウンドシーンを聞く人の位置や向きを定義するために、"Listener"(リスナー)プロパティを使います。1つのエンジンにつき最大1つのリスナーを使用できます。リスナーが指定されていない場合、エンジンはリスナーが座標系の原点に位置し、正のz方向を向き、正のy方向が上を向いていると仮定します。

音源とリスナーに加え、QAudioRoom オブジェクトのセットを通して、リスナーがサウンドをどのように体験するかに影響するジオメトリを定義できます。部屋は長方形で、各壁に様々な素材を使うことができ、音の反射やリバーブが異なるため、様々な体験ができます。リスナーが部屋の1つにいる場合、ルームエフェクトが適用されます。リスナーが複数の部屋の中にいる場合、幾何学的な体積が最も小さい部屋が優先されます。

リスナーの位置や向きに依存しないステレオオーバーレイが必要な場合(BGMやナレーションなど)、QAmbientSound

部屋の中で移動できる1つのオーディオソースを紹介する小さなQWidgetベースの例については、Spacial Audio Panning Exampleをご覧ください。

参考ドキュメント

C++クラス

QAmbientSound

ステレオオーバーレイサウンド

QAudioEngine

3次元の音場を管理する

QAudioListener

QAudioEngineによって定義された音場を聴く人の位置と方向を定義する。

QAudioRoom

QSpatialSound

3D空間のサウンドオブジェクト

QMLタイプ

AmbientSound

ステレオオーバーレイサウンド

AudioEngine

3Dシーン内のサウンドオブジェクトの管理

AudioListener

QAudioEngineで定義された音場を聴く人の位置と方向を定義する。

AudioRoom

SpatialSound

3D空間のサウンドオブジェクト

©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、各所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。