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.

AudioEffectDistortion

Успадковує: AudioEffect < Resource < RefCounted < Object

Додає аудіоефект спотворення до аудіошини.

Перерозподіляє аудіосегменти за допомогою нелінійної функції для отримання спотвореного звуку.

Опис

Ефект «дисторшн» змінює форму сигналу за допомогою нелінійної математичної функції (доступні варіанти див. у Mode), виходячи з амплітуди окремих точок сигналу.

Примітка: У нелінійній функції амплітуда вхідного семпла зі значенням x буде збільшена або зменшена до значення y на основі значення функції в точці x, тому навіть при однаковому значенні drive вихідний звук буде змінюватися залежно від гучності вхідного сигналу. Щоб змінити гучність, зберігаючи вихідну форму сигналу, використовуйте post_gain.

У цьому ефекті кожен тип є окремою нелінійною функцією. Доступні такі типи: clip, atan, lofi (bitcrush), overdrive та waveshape. Усі типи спотворення, доступні тут, є симетричними: на від’ємні значення амплітуди впливають так само, як і на додатні.

Хоча спотворення завжди змінює частотний склад, зазвичай додаючи високі гармоніки, різні типи спотворення пропонують широкий діапазон звукових якостей: від «м'якого» і «теплого» до «хрусткого» і «різкого».

У іграх це може допомогти дуже ефективно імітувати звук, що виходить з якогось перевантаженого пристрою або динаміка. Це також може допомогти аудіо виділитися в міксі, додаючи вищі частоти та збільшуючи гучність.

Примітка: Хоча зазвичай це непомітно, увімкнений ефект спотворення все одно змінює звук, навіть якщо drive встановлено на 0. Це не є помилкою. Якщо така поведінка є небажаною, розгляньте можливість вимкнення ефекту за допомогою AudioServer.set_bus_effect_enabled().

Посібники

Властивості

float

drive

0.0

float

keep_hf_hz

16000.0

Mode

mode

0

float

post_gain

0.0

float

pre_gain

0.0


Переліки

enum Mode: 🔗

Mode MODE_CLIP = 0

Різко згладжує форму сигналу на рівні 0 дБ. Параметр drive експоненціально збільшує амплітуду семплів. Цей режим працює як жорсткий кліпер, якщо значення drive встановлено на 0, і є єдиним режимом, який обрізає аудіосигнали на рівні 0 дБ.

Mode MODE_ATAN = 1

Плавно вирівнює форму сигналу, слідуючи кривій арктангенса. Гучність звуку зменшується, а потім піки вирівнюються до значення PI * 4.0 (лінійне значення), якщо сигнал було попередньо нормалізовано.

Mode MODE_LOFI = 2

Зменшує розрядність аудіосигналу для отримання аудіосигналу з низькою роздільною здатністю — з 16 біт до 2 біт. Може використовуватися для імітації звучання ранніх цифрових аудіопристроїв.

Mode MODE_OVERDRIVE = 3

Імітує тепле спотворення, що створюється польовим транзистором, який зазвичай використовується в підсилювачах для музичних інструментів на транзисторах. У цьому режимі параметр drive не впливає на звучання.

Mode MODE_WAVESHAPE = 4

Плавно згладжує форму сигналу, доки він не досягне різкого піку при drive = 1, слідуючи загальній абсолютній сигмоїдній функції.


Описи властивостей

float drive = 0.0 🔗

Інтенсивність спотворення. Регулює ступінь впливу кривої спотворення на вхідний аудіосигнал шляхом переходу від лінійної функції до нелінійної. Значення може коливатися в діапазоні від 0 до 1.


float keep_hf_hz = 16000.0 🔗

  • void set_keep_hf_hz(value: float)

  • float get_keep_hf_hz()

Фільтр високих частот, Гц. На частоти, вищі за це значення, спотворення не впливатимуть. Значення може коливатися від 1 до 20000.


Mode mode = 0 🔗

  • void set_mode(value: Mode)

  • Mode get_mode()

Тип спотворення. Змінює нелінійну функцію, яка використовується для спотворення форми сигналу. Див. Mode.


float post_gain = 0.0 🔗

  • void set_post_gain(value: float)

  • float get_post_gain()

Коефіцієнт підсилення після ефекту, в дБ. Значення може коливатися в діапазоні від -80 до 24.


float pre_gain = 0.0 🔗

  • void set_pre_gain(value: float)

  • float get_pre_gain()

Коефіцієнт підсилення до застосування ефекту, у дБ. Значення може коливатися в діапазоні від -60 до 60.