Qt Spatial Audio
Qt Spatial Audio is an add-on module that provides a rich set of QML types and C++ classes to implement sound fields in 3D space. It contains an easy to use API for positing a listener in space, adding localized sound sources around the listener and emulating virtual rooms with reverb and reflections.
Getting started
If you are new to Qt Spatial Audio, the QML types can be imported into an application using the following statement in your .qml
file.
import QtQuick3D.SpatialAudio
To link against the C++ libraries, add the following to your project's CMakeLists.txt
file. Substitute my_project
with the name of your project.
find_package(Qt6 REQUIRED COMPONENTS SpatialAudio)
target_link_libraries(my_project PRIVATE Qt6::SpatialAudio)
Spatial Audio Overview provides a more detailed description about how to use the different classes listed below.
QML Types
The following table outlines some important QML types.
Type | Description |
---|---|
AudioEngine | The engine doing the processing of the audio scene |
SpatialSound | A sound source located in 3D space. |
AmbientSound | A location independent stereo sound track. |
AudioRoom | Defines a room that generates audio reverb and reflections. |
C++ Classes
The following table outlines some important C++ Classes
Class | Description |
---|---|
QAudioEngine | The engine doing the processing of the audio scene |
QSpatialSound | A sound source located in 3D space. |
QAmbientSound | A location independent stereo sound track. |
QAudioRoom | Defines a room that generates audio reverb and reflections. |
Licenses and Attributions
The Qt Spatial Audio module is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses. These free software licenses are GNU Lesser General Public License, version 3, or the GNU General Public License, version 3. See Qt Licensing for further details.
Note that Qt Spatial Audio is not available under the GNU General Public License, version 2.
Furthermore, Qt Spatial Audio in Qt 6.8.0 contains third party modules under the following permissive licenses:
Mozilla Public License 2.0 and BSD 3-Clause "New" or "Revised" License | |
Apache License 2.0 | |
BSD 3-Clause "New" or "Revised" License |