Work in progress

The content of this page was not yet updated for Godot 4.4 and may be outdated. If you know how to improve this page or you can confirm that it's up to date, feel free to open a pull request.

Audio buses (Аудиошины)

Введение

Код обработки звука Godot был написан специально игр с целью достижения оптимального баланса между производительностью и качеством звука.

Аудиосистема Godot позволяет создавать любое количество аудио шин и добавлять к каждой шине любое количество эффектов. Только мощность устройства на котором запущена ваша игра, может ограничить используемое количество шин и эффектов до того, как производительность начнет падать.

Шкала децибел

Звуковой интерфейс Godot сделан специально для профессионалов звукового дизайна. С этой целью он использует шкалу децибел.

Для тех, кто не знаком с ней, это можно объяснить следующими фактами:

  • Шкала децибел (дБ) является относительной шкалой. Он представляет отношение звуковой мощности с использованием 20-кратного логарифма отношения по основанию 10 (20 × log10(P/P0)).

  • На каждые 6 дБ амплитуда звука удваивается или уменьшается вдвое. На 12 дБ изменяется в 4 раза, на 18 дБ - изменяется в 8 раз, 20 дБ - изменяется в 10 раз, 40 дБ - изменяется в 100 раз и т.д.

  • Так как шкала логарифмическая, то полное уменьшение громкости (без звука) не может быть осуществлено.

  • 0 дБ - это максимальная амплитуда, возможная в цифровой аудиосистеме. Она является пределом ограничения звукового оборудования. Аудиозвуки с большими амплитудами, которые выходят за пределы диапазона 0 дБ, создают своего рода искажения, называемые клиппинг.

  • Чтобы избежать клиппинга, ваш звуковой микс должен быть настроен таким образом, чтобы выход мастер шины (подробнее об этом позже) никогда не превышал 0 дБ.

  • Каждые 6 дБ ниже предела 0 дБ звуковая энергия уменьшается вдвое. Это означает, что громкость звука при -6 дБ вдвое меньше, чем при 0 дБ. -12 дБ вдвое ниже, чем -6 дБ и так далее.

  • При работе с децибелами считается, что звук не слышен в диапазоне от -60 до -80 дБ. Таким образом ваш рабочий диапазон в целом находится между -60 дБ и 0 дБ.

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

Audio buses (Аудиошины)

Аудиошины можно найти на нижней панели редактора Godot:

../../_images/audio_buses1.webp

Audio bus (аудиошину) (также называемая audio channel (аудиоканалом)) может рассматриваться как канал, через который проходит аудиосигнал который затем воспроизводится через динамики устройства. Аудиоданные могут быть обработаны и перенаправлены по аудиошине. Аудиошина имеет измеритель уровня громкости (полоски, которые загораются при воспроизведении звука), который показывает амплитуду проходящего сигнала.

Шина распложеная слева - это master bus (главная шина). Эта шина выводит микс на ваши динамики, поэтому, как упоминалось выше в разделе Decibel scale, убедитесь, что уровень вашего микса не достигает 0 дБ на этой шине. Остальные аудиошины могут иметь гибкую маршрутизацию. После обработки звука они посылают его на заданную шину. Шину назначения можно указать для любой аудиошины, кроме мастер. При маршрутизации звук всегда передается от шин справа к шинам слева. Это позволяет избежать бесконечных петель маршрутизации.

../../_images/audio_buses2.webp

На изображении выше выход Bus 2 направлен на шину Master.

Воспроизведение аудио через шину

Для проверки проигрывания аудио на шине, создайте узел AudioStreamPlayer, загрузите аудиоданные и выберите целевую шину для воспроизведения:

../../_images/audio_buses3.webp

Затем, переключите свойство Playing в значение On и звук будет воспроизведён.

См. также

Вам также может быть интересно прочитать Аудиопотоки.

Добавление эффектов

Предупреждение

Эта функция не поддерживается на веб-платформе, если режим воспроизведения AudioStreamPlayer установлен на Sample (по умолчанию). Она будет работать только в режиме воспроизведения на Stream, но при этом увеличится задержка, если потоки не включены.

Подробности см. в разделе «Воспроизведение звука» в документации по экспорту для веб-страниц.

Аудиошины могут содержать всевозможные эффекты. Эти эффекты обрабатывают звук и применяются по порядку.

../../_images/audio_buses4.webp

Информацию о том, что делает каждый эффект, см. в разделе Audio effects (Аудио эффект).

Автоматическое отключение шин

Нет необходимости отключать шины вручную, когда они не нужны. Godot определяет, что на шине нет сигнала в течение нескольких секунд, и отключает её (включая все эффекты).

../../_images/audio_buses5.webp

Отключенные шины имеют синюю шкалу уровня сигнала вместо красно-зеленой.

Bus rearrangement (Перестановка шин)

Stream Player использует имена шин для идентификации, что позволяет добавлять, удалять и перемещать шины, сохраняя ссылку на них. Однако, если шина будет переименована, ссылка будет потеряна, и Stream Player будет выводить звук на Master. Эта система была выбрана потому, что перестановка шин - более распространенный процесс, чем их переименование.

Default bus layout (Компоновка шин)

Компоновка шины по умолчанию автоматически сохраняется в файле res: // default_bus_layout.tres. Пользовательские схемы шин могут быть сохранены и загружены с диска.