Inherits: Spatial < Node < Object

Category: Core

Brief Description

Plays 3D sound in 3D space.


float get_playback_position ( )
AudioStreamPlayback get_stream_playback ( )
void play ( float from_position=0.0 )
void seek ( float to_position )
void stop ( )


  • finished ( )

Fires when the audio stops playing.


enum AttenuationModel:

  • ATTENUATION_INVERSE_DISTANCE = 0 — Linear dampening of loudness according to distance.
  • ATTENUATION_INVERSE_SQUARE_DISTANCE = 1 — Squared dampening of loudness according to distance.
  • ATTENUATION_LOGARITHMIC = 2 — Logarithmic dampening of loudness according to distance.

enum OutOfRangeMode:

  • OUT_OF_RANGE_MIX = 0 — Mix this audio in, even when it’s out of range.
  • OUT_OF_RANGE_PAUSE = 1 — Pause this audio when it gets out of range.

enum DopplerTracking:

  • DOPPLER_TRACKING_DISABLED = 0 — Disables doppler tracking.
  • DOPPLER_TRACKING_IDLE_STEP = 1 — Executes doppler tracking in idle step.
  • DOPPLER_TRACKING_PHYSICS_STEP = 2 — Executes doppler tracking in physics step.


Plays a sound effect with directed sound effects, dampens with distance if needed, generates effect of hearable position in space.


Property Descriptions

  • int area_mask
Setter set_area_mask(value)
Getter get_area_mask()

Areas in which this sound plays.

  • float attenuation_filter_cutoff_hz
Setter set_attenuation_filter_cutoff_hz(value)
Getter get_attenuation_filter_cutoff_hz()

Dampens audio above this frequency, in Hz.

  • float attenuation_filter_db
Setter set_attenuation_filter_db(value)
Getter get_attenuation_filter_db()

Amount how much the filter affects the loudness, in dB.

Setter set_attenuation_model(value)
Getter get_attenuation_model()

Decides if audio should get quieter with distance linearly, quadratically or logarithmically.

Setter set_autoplay(value)
Getter is_autoplay_enabled()

If true, audio plays when added to scene tree. Default value: false.

Setter set_bus(value)
Getter get_bus()

Bus on which this audio is playing.

Setter set_doppler_tracking(value)
Getter get_doppler_tracking()

Decides in which step the Doppler effect should be calculated.

  • float emission_angle_degrees
Setter set_emission_angle(value)
Getter get_emission_angle()

The angle in which the audio reaches cameras undampened.

  • bool emission_angle_enabled
Setter set_emission_angle_enabled(value)
Getter is_emission_angle_enabled()

If true, the audio should be dampened according to the direction of the sound.

  • float emission_angle_filter_attenuation_db
Setter set_emission_angle_filter_attenuation_db(value)
Getter get_emission_angle_filter_attenuation_db()

dampens audio if camera is outside of ‘emission_angle_degrees’ and ‘emission_angle_enabled’ is set by this factor, in dB.

Setter set_max_db(value)
Getter get_max_db()

Sets the absolute maximum of the soundlevel, in dB.

Setter set_max_distance(value)
Getter get_max_distance()

Sets the distance from which the ‘out_of_range_mode’ takes effect. Has no effect if set to 0.

Setter set_out_of_range_mode(value)
Getter get_out_of_range_mode()

Decides if audio should pause when source is outside of ‘max_distance’ range.

Setter set_pitch_scale(value)
Getter get_pitch_scale()

Changes the pitch and the tempo of the audio.

Getter is_playing()

If true, audio is playing.

Setter set_stream(value)
Getter get_stream()

The AudioStream object to be played.

  • bool stream_paused
Setter set_stream_paused(value)
Getter get_stream_paused()

Setter set_unit_db(value)
Getter get_unit_db()

Base sound level unaffected by dampening, in dB.

Setter set_unit_size(value)
Getter get_unit_size()

Factor for the attenuation effect.

Method Descriptions

  • float get_playback_position ( )

Returns the position in the AudioStream.

  • void play ( float from_position=0.0 )

Plays the audio from the given position ‘from_position’, in seconds.

  • void seek ( float to_position )

Sets the position from which audio will be played, in seconds.

  • void stop ( )

Stops the audio.