Sur cette page

Aperçu de l'audio spatial

L'API Qt Spatial Audio fournit un certain nombre de classes qui permettent de créer une scène sonore tridimensionnelle. Celle-ci est définie par des objets situés dans l'espace 3D qui émettent des sons et par une géométrie environnante qui peut être modélisée à l'aide d'une ou de plusieurs pièces. Enfin, un auditeur peut être placé dans cette scène sonore à une position et une orientation spécifiées.

Il existe des API C++ et QML qui peuvent être utilisées.

Création d'une scène sonore

Pour créer la scène sonore, on instancie d'abord un moteur QAudioEngine. Ce moteur traite les données sonores et les géométries d'entrée pour créer une représentation réaliste de la scène sonore telle qu'elle serait perçue par une personne placée à un endroit spécifique à l'intérieur de la scène.

La propriété QAudioEngine::OutputMode peut être utilisée pour optimiser la sortie soit pour un casque utilisant le rendu binaural (3D virtuel), soit pour une configuration de haut-parleurs stéréo ou surround.

Le dispositif de sortie peut être sélectionné à l'aide de la propriété QAudioEngine::outputDevice.

Une fois le moteur configuré, nous pouvons placer divers objets sonores dans la scène en créant des objets QSpatialSound et en spécifiant une adresse URL vers un fichier sonore à l'aide de la propriété QSpatialSound::source.

QAudioListener peut être utilisé pour définir la position et l'orientation d'une personne écoutant la scène sonore. Il est possible d'utiliser au maximum un auditeur par moteur. Si aucun auditeur n'est spécifié, le moteur considère que l'auditeur se trouve à l'origine du système de coordonnées, orienté vers une direction z positive, avec une direction y positive vers le haut.

En plus des sources sonores et de l'auditeur, vous pouvez définir une géométrie qui influence la façon dont le son est ressenti par l'auditeur grâce à un ensemble d'objets QAudioRoom. Les salles sont rectangulaires et supportent une grande variété de matériaux pour chaque paroi, ce qui donne une expérience différente avec des réflexions sonores et une réverbération différentes. Les effets de salle sont appliqués si l'auditeur se trouve dans l'une des pièces. S'il se trouve dans plusieurs pièces, c'est la pièce dont le volume géométrique est le plus petit qui aura la priorité.

Si vous avez besoin d'une superposition stéréo indépendante de la position et de l'orientation de l'auditeur (comme une musique de fond ou une voix off), vous pouvez utiliser QAmbientSound pour créer la superposition sonore.

Pour un petit exemple basé sur un QWidget montrant une source audio qui peut être déplacée dans une pièce, jetez un coup d'œil à l'exemple Spacial Audio Panning.

Documentation de référence

Classes C++

QAmbientSound

Un son stéréo superposé

QAudioEngine

Gestion d'un champ sonore tridimensionnel

QAudioListener

Définit la position et l'orientation de la personne qui écoute un champ sonore défini par QAudioEngine.

QAudioRoom

QSpatialSound

Un objet sonore dans l'espace 3D

Types QML

AmbientSound

Un son stéréo superposé

AudioEngine

Gère les objets sonores à l'intérieur d'une scène 3D

AudioListener

Définit la position et l'orientation de la personne qui écoute un champ sonore défini par un AudioEngine

AudioRoom

SpatialSound

Un objet sonore dans l'espace 3D

© 2026 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.