Inherits: Spatial < Node < Object

Plays 3D sound in 3D space.


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



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


  • finished ( )

Emitted 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.
  • ATTENUATION_DISABLED = 3 --- No 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.

Property Descriptions

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

Areas in which this sound plays.

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

Dampens audio above this frequency, in Hz.

  • float attenuation_filter_db
Default -24.0
Setter set_attenuation_filter_db(value)
Getter get_attenuation_filter_db()

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

Default 0
Setter set_attenuation_model(value)
Getter get_attenuation_model()

Decides if audio should get quieter with distance linearly, quadratically, logarithmically, or not be affected by distance, effectively disabling attenuation.

Default false
Setter set_autoplay(value)
Getter is_autoplay_enabled()

If true, audio plays when added to scene tree.

Default @"Master"
Setter set_bus(value)
Getter get_bus()

Bus on which this audio is playing.

Default 0
Setter set_doppler_tracking(value)
Getter get_doppler_tracking()

Decides in which step the Doppler effect should be calculated.

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

The angle in which the audio reaches cameras undampened.

  • bool emission_angle_enabled
Default false
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
Default -12.0
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.

Default 3.0
Setter set_max_db(value)
Getter get_max_db()

Sets the absolute maximum of the soundlevel, in dB.

Default 0.0
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.

Default 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.

Default 1.0
Setter set_pitch_scale(value)
Getter get_pitch_scale()

Changes the pitch and the tempo of the audio.

Default false
Getter is_playing()

If true, audio is playing.

Setter set_stream(value)
Getter get_stream()

The AudioStream object to be played.

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

If true, the playback is paused. You can resume it by setting stream_paused to false.

Default 0.0
Setter set_unit_db(value)
Getter get_unit_db()

Base sound level unaffected by dampening, in dB.

Default 1.0
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.

Returns the AudioStreamPlayback object associated with this AudioStreamPlayer3D.

  • 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.