- Qt 6.6
- Qt Spatial Audio
- Technology Preview

# 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.6.3 contains third party modules under the following permissive licenses:

Eigen, version 3.4.0 | Mozilla Public License 2.0 and BSD 3-Clause "New" or "Revised" License
Resonance Audio, version e225aedb5ec7 | Apache License 2.0
pfft, version 7641e67977cf937c22849e2ef19fffa70269e562 | BSD 3-Clause "New" or "Revised" License

## Reference and Examples

- QML Types
- C++ Classes
- Examples