AudioStreamSample

Inherits: AudioStream < Resource < RefCounted < Object

Stores audio data loaded from WAV files.

Description

AudioStreamSample stores sound samples loaded from WAV files. To play the stored sound, use an AudioStreamPlayer (for non-positional audio) or AudioStreamPlayer2D/AudioStreamPlayer3D (for positional audio). The sound can be looped.

This class can also be used to store dynamically-generated PCM audio data. See also AudioStreamGenerator for procedural audio generation.

Properties

PackedByteArray

data

PackedByteArray()

Format

format

0

int

loop_begin

0

int

loop_end

0

LoopMode

loop_mode

0

int

mix_rate

44100

bool

stereo

false

Methods

Error

save_to_wav ( String path )

Enumerations

enum Format:

  • FORMAT_8_BITS = 0 --- 8-bit audio codec.

  • FORMAT_16_BITS = 1 --- 16-bit audio codec.

  • FORMAT_IMA_ADPCM = 2 --- Audio is compressed using IMA ADPCM.


enum LoopMode:

  • LOOP_DISABLED = 0 --- Audio does not loop.

  • LOOP_FORWARD = 1 --- Audio loops the data between loop_begin and loop_end, playing forward only.

  • LOOP_PING_PONG = 2 --- Audio loops the data between loop_begin and loop_end, playing back and forth.

  • LOOP_BACKWARD = 3 --- Audio loops the data between loop_begin and loop_end, playing backward only.

Property Descriptions

Default

PackedByteArray()

Setter

set_data(value)

Getter

get_data()

Contains the audio data in bytes.

Note: This property expects signed PCM8 data. To convert unsigned PCM8 to signed PCM8, subtract 128 from each byte.


Default

0

Setter

set_format(value)

Getter

get_format()

Audio format. See Format constants for values.


  • int loop_begin

Default

0

Setter

set_loop_begin(value)

Getter

get_loop_begin()

The loop start point (in number of samples, relative to the beginning of the sample). This information will be imported automatically from the WAV file if present.


Default

0

Setter

set_loop_end(value)

Getter

get_loop_end()

The loop end point (in number of samples, relative to the beginning of the sample). This information will be imported automatically from the WAV file if present.


Default

0

Setter

set_loop_mode(value)

Getter

get_loop_mode()

The loop mode. This information will be imported automatically from the WAV file if present. See LoopMode constants for values.


Default

44100

Setter

set_mix_rate(value)

Getter

get_mix_rate()

The sample rate for mixing this audio. Higher values require more storage space, but result in better quality.

In games, common sample rates in use are 11025, 16000, 22050, 32000, 44100, and 48000.

According to the Nyquist-Shannon sampling theorem, there is no quality difference to human hearing when going past 40,000 Hz (since most humans can only hear up to ~20,000 Hz, often less). If you are using lower-pitched sounds such as voices, lower sample rates such as 32000 or 22050 may be usable with no loss in quality.


Default

false

Setter

set_stereo(value)

Getter

is_stereo()

If true, audio is stereo.

Method Descriptions

Saves the AudioStreamSample as a WAV file to path. Samples with IMA ADPCM format can't be saved.

Note: A .wav extension is automatically appended to path if it is missing.