空間オーディオの概要
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++クラス
ステレオオーバーレイサウンド | |
3次元の音場を管理する | |
QAudioEngineによって定義された音場を聴く人の位置と方向を定義する。 | |
3D空間のサウンドオブジェクト |
QMLタイプ
ステレオオーバーレイサウンド | |
3Dシーン内のサウンドオブジェクトの管理 | |
QAudioEngineで定義された音場を聴く人の位置と方向を定義する。 | |
3D空間のサウンドオブジェクト |
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.