Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AudioEffectPitchShift

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

Добавляет эффект изменения высоты тона к аудиошине.

Повышает или понижает высоту тона входного аудиосигнала.

Описание

Позволяет модулировать высоту тона без изменения скорости. Все частоты можно повышать или понижать с минимальным влиянием на переходные процессы.

Обучающие материалы

Свойства

FFTSize

fft_size

3

int

oversampling

4

float

pitch_scale

1.0


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

enum FFTSize: 🔗

FFTSize FFT_SIZE_256 = 0

Используйте буфер из 256 выборок для быстрого преобразования Фурье. Самая низкая задержка, но наименее стабильная во времени.

FFTSize FFT_SIZE_512 = 1

Используйте буфер из 512 выборок для быстрого преобразования Фурье. Низкая задержка, но менее стабильная с течением времени.

FFTSize FFT_SIZE_1024 = 2

Используйте буфер из 1024 выборок для быстрого преобразования Фурье. Это компромисс между задержкой и стабильностью во времени.

FFTSize FFT_SIZE_2048 = 3

Используйте буфер из 2048 выборок для быстрого преобразования Фурье. Высокая задержка, но стабильная во времени.

FFTSize FFT_SIZE_4096 = 4

Используйте буфер из 4096 выборок для быстрого преобразования Фурье. Самая высокая задержка, но самая стабильная во времени.

FFTSize FFT_SIZE_MAX = 5

Представляет размер перечисления FFTSize.


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

FFTSize fft_size = 3 🔗

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


int oversampling = 4 🔗

  • void set_oversampling(value: int)

  • int get_oversampling()

Коэффициент передискретизации (oversampling), который следует использовать. Более высокие значения обеспечивают лучшее качество, но более требовательны к ЦП и могут вызвать потрескивание звука, если ЦП не справляется.


float pitch_scale = 1.0 🔗

  • void set_pitch_scale(value: float)

  • float get_pitch_scale()

Шкала высоты тона для использования. 1.0 — это высота тона по умолчанию, при которой звуки воспроизводятся без изменений. pitch_scale может принимать значения от 0 (бесконечно низкая высота тона, неслышимая) до 16 (в 16 раз выше исходной высоты тона).