class QSpatialSound#

A sound object in 3D space. More

Inheritance diagram of PySide6.QtSpatialAudio.QSpatialSound

Synopsis#

Properties#

Methods#

Slots#

Signals#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

QSpatialSound represents an audible object in 3D space. You can define its position and orientation in space, set the sound it is playing and define a volume for the object.

The object can have different attenuation behavior, emit sound mainly in one direction or spherically, and behave as if occluded by some other object.

class Loops#

Lets you control the sound playback loop using the following values:

Constant

Description

QSpatialSound.Infinite

Playback infinitely

QSpatialSound.Once

Playback once

class DistanceModel#

Defines how the volume of the sound scales with distance to the listener.

Constant

Description

QSpatialSound.DistanceModel.Logarithmic

Volume decreases logarithmically with distance.

QSpatialSound.DistanceModel.Linear

Volume decreases linearly with distance.

QSpatialSound.DistanceModel.ManualAttenuation

Attenuation is defined manually using the manualAttenuation property.

Note

Properties can be used directly when from __feature__ import true_property is used or via accessor functions otherwise.

property autoPlayᅟ: bool#

Determines whether the sound should automatically start playing when a source gets specified.

The default value is true.

Access functions:
property directivityᅟ: float#

Defines the directivity of the sound source. A value of 0 implies that the sound is emitted equally in all directions, while a value of 1 implies that the source mainly emits sound in the forward direction.

Valid values are between 0 and 1, the default is 0.

Access functions:
property directivityOrderᅟ: float#

Defines the order of the directivity of the sound source. A higher order implies a sharper localization of the sound cone.

The minimum value and default for this property is 1.

Access functions:
property distanceCutoffᅟ: float#

Defines a distance beyond which sound coming from the source will cutoff. If the listener is further away from the sound object than the cutoff distance it won’t be audible anymore.

Access functions:
property distanceModelᅟ: QSpatialSound.DistanceModel#

Defines distance model for this sound source. The volume starts scaling down from size to distanceCutoff . The volume is constant for distances smaller than size and zero for distances larger than the cutoff distance.

See also

DistanceModel

Access functions:
property loopsᅟ: int#

Determines how many times the sound is played before the player stops. Set to Infinite to play the current sound in a loop forever.

The default value is 1.

Access functions:
property manualAttenuationᅟ: float#

Defines a manual attenuation factor if distanceModel is set to ManualAttenuation .

Access functions:
property nearFieldGainᅟ: float#

Defines the near field gain for the sound source. Valid values are between 0 and 1. A near field gain of 1 will raise the volume of the sound signal by approx 20 dB for distances very close to the listener.

Access functions:
property occlusionIntensityᅟ: float#

Defines how much the object is occluded. 0 implies the object is not occluded at all, 1 implies the sound source is fully occluded by another object.

A fully occluded object will still be audible, but especially higher frequencies will be dampened. In addition, the object will still participate in generating reverb and reflections in the room.

Values larger than 1 are possible to further dampen the direct sound coming from the source.

The default is 0.

Access functions:
property positionᅟ: QVector3D#

Defines the position of the sound source in 3D space. Units are in centimeters by default.

See also

distanceScale

Access functions:
property rotationᅟ: QQuaternion#

Defines the orientation of the sound source in 3D space.

Access functions:
property sizeᅟ: float#

Defines the size of the sound source. If the listener is closer to the sound object than the size, volume will stay constant. The size is also used to for occlusion calculations, where large sources can be partially occluded by a wall.

Access functions:
property sourceᅟ: QUrl#

The source file for the sound to be played.

Access functions:
property volumeᅟ: float#

Defines the volume of the sound.

Values between 0 and 1 will attenuate the sound, while values above 1 provide an additional gain boost.

Access functions:
__init__(engine)#
Parameters:

engineQAudioEngine

Creates a spatial sound source for engine. The object can be placed in 3D space and will be louder the closer to the listener it is.

autoPlay()#
Return type:

bool

See also

setAutoPlay()

Getter of property autoPlayᅟ .

autoPlayChanged()#

Notification signal of property autoPlayᅟ .

directivity()#
Return type:

float

See also

setDirectivity()

Getter of property directivityᅟ .

directivityChanged()#

Notification signal of property directivityᅟ .

directivityOrder()#
Return type:

float

Getter of property directivityOrderᅟ .

directivityOrderChanged()#

Notification signal of property directivityOrderᅟ .

distanceCutoff()#
Return type:

float

Getter of property distanceCutoffᅟ .

distanceCutoffChanged()#

Notification signal of property distanceCutoffᅟ .

distanceModel()#
Return type:

DistanceModel

Getter of property distanceModelᅟ .

distanceModelChanged()#

Notification signal of property distanceModelᅟ .

engine()#
Return type:

QAudioEngine

Returns the engine associated with this listener.

loops()#
Return type:

int

See also

setLoops()

Getter of property loopsᅟ .

loopsChanged()#

Notification signal of property loopsᅟ .

manualAttenuation()#
Return type:

float

Getter of property manualAttenuationᅟ .

manualAttenuationChanged()#

Notification signal of property manualAttenuationᅟ .

nearFieldGain()#
Return type:

float

Getter of property nearFieldGainᅟ .

nearFieldGainChanged()#

Notification signal of property nearFieldGainᅟ .

occlusionIntensity()#
Return type:

float

Getter of property occlusionIntensityᅟ .

occlusionIntensityChanged()#

Notification signal of property occlusionIntensityᅟ .

pause()#

Pauses sound playback. Calling play() will continue playback.

play()#

Starts playing back the sound. Does nothing if the sound is already playing.

position()#
Return type:

QVector3D

See also

setPosition()

Getter of property positionᅟ .

positionChanged()#

Notification signal of property positionᅟ .

rotation()#
Return type:

QQuaternion

See also

setRotation()

Getter of property rotationᅟ .

rotationChanged()#

Notification signal of property rotationᅟ .

setAutoPlay(autoPlay)#
Parameters:

autoPlay – bool

See also

autoPlay()

Setter of property autoPlayᅟ .

setDirectivity(alpha)#
Parameters:

alpha – float

See also

directivity()

Setter of property directivityᅟ .

setDirectivityOrder(alpha)#
Parameters:

alpha – float

Setter of property directivityOrderᅟ .

setDistanceCutoff(cutoff)#
Parameters:

cutoff – float

See also

distanceCutoff()

Setter of property distanceCutoffᅟ .

setDistanceModel(model)#
Parameters:

modelDistanceModel

See also

distanceModel()

Setter of property distanceModelᅟ .

setLoops(loops)#
Parameters:

loops – int

See also

loops()

Setter of property loopsᅟ .

setManualAttenuation(attenuation)#
Parameters:

attenuation – float

Setter of property manualAttenuationᅟ .

setNearFieldGain(gain)#
Parameters:

gain – float

See also

nearFieldGain()

Setter of property nearFieldGainᅟ .

setOcclusionIntensity(occlusion)#
Parameters:

occlusion – float

Setter of property occlusionIntensityᅟ .

setPosition(pos)#
Parameters:

posQVector3D

See also

position()

Setter of property positionᅟ .

setRotation(q)#
Parameters:

qQQuaternion

See also

rotation()

Setter of property rotationᅟ .

setSize(size)#
Parameters:

size – float

See also

size()

Setter of property sizeᅟ .

setSource(url)#
Parameters:

urlQUrl

See also

source()

Setter of property sourceᅟ .

setVolume(volume)#
Parameters:

volume – float

See also

volume()

Setter of property volumeᅟ .

size()#
Return type:

float

See also

setSize()

Getter of property sizeᅟ .

sizeChanged()#

Notification signal of property sizeᅟ .

source()#
Return type:

QUrl

See also

setSource()

Getter of property sourceᅟ .

sourceChanged()#

Notification signal of property sourceᅟ .

stop()#

Stops sound playback and resets the current position and current loop count to 0. Calling play() will start playback at the beginning of the sound file.

volume()#
Return type:

float

See also

setVolume()

Getter of property volumeᅟ .

volumeChanged()#

Notification signal of property volumeᅟ .