AudioStreamRandomizer

Наследует: AudioStream < Resource < RefCounted < Object

Объединяет пул аудиопотоков с изменением высоты тона и громкости.

Описание

Выбирает случайный аудиопоток из пула в зависимости от режима воспроизведения и применяет случайное смещение высоты тона и громкости во время воспроизведения.

Свойства

PlaybackMode

playback_mode

0

float

random_pitch

1.0

float

random_pitch_semitones

0.0

float

random_volume_offset_db

0.0

int

streams_count

0

Методы

void

add_stream(index: int, stream: AudioStream, weight: float = 1.0)

AudioStream

get_stream(index: int) const

float

get_stream_probability_weight(index: int) const

void

move_stream(index_from: int, index_to: int)

void

remove_stream(index: int)

void

set_stream(index: int, stream: AudioStream)

void

set_stream_probability_weight(index: int, weight: float)


Перечисления

enum PlaybackMode: 🔗

PlaybackMode PLAYBACK_RANDOM_NO_REPEATS = 0

Выбирайте поток случайным образом в соответствии с весами вероятности, выбранными для каждого потока, но избегайте воспроизведения одного и того же потока дважды подряд, когда это возможно. Если в пуле присутствует только 1 звук, всегда будет воспроизводиться один и тот же звук, что фактически позволяет происходить повторам.

PlaybackMode PLAYBACK_RANDOM = 1

Выберите поток случайным образом в соответствии с весами вероятности, выбранными для каждого потока. Если в пуле присутствует только 1 звук, всегда будет воспроизводиться один и тот же звук.

PlaybackMode PLAYBACK_SEQUENTIAL = 2

Воспроизведение потоков в том порядке, в котором они появляются в пуле потоков. Если в пуле присутствует только 1 звук, всегда будет воспроизводиться один и тот же звук.


Описания свойств

PlaybackMode playback_mode = 0 🔗

Управляет тем, как AudioStream Randomizer выбирает, какой AudioStream воспроизводить следующим.


float random_pitch = 1.0 🔗

  • void set_random_pitch(value: float)

  • float get_random_pitch()

Максимально возможный множитель частоты случайного изменения высоты тона. Высота тона будет выбрана случайным образом в диапазоне от 1.0 / random_pitch до random_pitch. Значение 1.0 означает отсутствие изменения высоты тона. Значение 2.0 означает, что высота тона будет случайной, удвоенной или половинной.

Примечание: Установка этого свойства также устанавливает random_pitch_semitones.


float random_pitch_semitones = 0.0 🔗

  • void set_random_pitch_semitones(value: float)

  • float get_random_pitch_semitones()

Максимально возможное расстояние в полутонах для случайного изменения высоты тона. Значение 0.0 означает отсутствие изменения.

Примечание: Установка этого свойства также устанавливает random_pitch.


float random_volume_offset_db = 0.0 🔗

  • void set_random_volume_offset_db(value: float)

  • float get_random_volume_offset_db()

Интенсивность случайных колебаний громкости. Громкость будет увеличиваться или уменьшаться на случайное значение до random_volume_offset_db. Значение 0.0 означает отсутствие колебаний. Значение 3.0 означает, что громкость будет случайным образом изменяться в диапазоне от -3.0 dB до +3.0 dB.


int streams_count = 0 🔗

  • void set_streams_count(value: int)

  • int get_streams_count()

Количество потоков в пуле потоков.


Описания метода

void add_stream(index: int, stream: AudioStream, weight: float = 1.0) 🔗

Вставить поток по указанному индексу. Если индекс меньше нуля, вставка происходит в конец базового пула.


AudioStream get_stream(index: int) const 🔗

Возвращает поток по указанному индексу.


float get_stream_probability_weight(index: int) const 🔗

Возвращает вес вероятности, связанный с потоком по указанному индексу.


void move_stream(index_from: int, index_to: int) 🔗

Переместить поток из одного индекса в другой.


void remove_stream(index: int) 🔗

Удалить поток по указанному индексу.


void set_stream(index: int, stream: AudioStream) 🔗

Установите AudioStream по указанному индексу.


void set_stream_probability_weight(index: int, weight: float) 🔗

Установить вес вероятности потока по указанному индексу. Чем выше это значение, тем больше вероятность, что рандомизатор выберет этот поток во время случайных режимов воспроизведения.