Создаем игру. Часть 10. Озвучка
2015-03-19
Настало время рассказать о той части создания игры "Сказ о Пятигоре", в которой никто из нас не имел более или менее длительного опыта работы. Поэтому эта статья о том, как происходил процесс озвучивания игры, написана в стиле "как есть".
Введение
Большая часть работы по записи, подготовке и корректировке звуковых файлов происходила при помощи очень простой в освоении программы Audacity, которая также является бесплатной программой с открытым исходным кодом.
Звуки, присутствующие на сцене, условно можно разделить на три типа:
- звуки, издаваемые персонажем - не только крики и хрипы, но и удар и взмах меча и т.п.;
- звуки окружения - это звуки гула вулкана, но также и музыка;
- специальные звуки - например, это звуки, когда разбивается кристалл, или звуки победы.
В Blend4Web, как и в Blender, звуки подключаются при помощи специальных объектов типа Speaker. Поддерживаются все "родные" настройки Blender. Также имеются специфические настройки движка, с которыми можно более подробно ознакомиться в руководстве пользователя.
Объекты типа Speaker
Принцип размещения спикеров очень прост. Все звуки персонажа размещаются в файле с геометрией и материалом персонажа и добавлены в одну группу.
В качестве типа спикера для всех пространственных звуков выставлен Positional Sound.
Звуки фоновой музыки и звук окружения располагаются в файле сборки сцены, на которой они будут проигрываться, и имеют тип Background Music и Environment Sound соответственно.
Все остальные спикеры располагаются по такой же логике: звуки голема - вместе с геометрией голема, звуки взрыва метеорита - вместе с геометрией метеорита и т.д.
Источники звуковых файлов
Самый интересный вопрос: откуда же взялось такое разнообразие звуков?
В процессе озвучки игры у нас было два источника, откуда мы брали звуковые сэмплы. Первый источник - это приобретенная библиотека готовых звуковых сэмплов, второй - это записанные при помощи микрофона и подручных средств звуковые заготовки.
Естественно, что готовые решения "из коробки" редко можно найти, поэтому для достижения нужного результата чаще всего приходилось совмещать разные, зачастую даже совершенно чужие по звучанию, звуковые сэмплы. И при помощи разных манипуляций с ними в Audacity доводить их до нужного звучания.
Более наглядно это можно увидеть на примерах некоторых конкретных звуковых дорожек.
Походка голема
Характерным сложным комбинированным звуком можно назвать процесс ходьбы голема. Во-первых, это очень тяжелое массивное существо, которое движется медленно, переваливаясь с ноги на ногу всем весом тела. А во-вторых, это просто соединенная неким магическим образом груда камней. И все это надо было выразить в звуке!
В качестве основы для создания звука шагающего голема использовался вот этот небольшой звуковой отрезок, состоящий из чьих то двух шаркающих по песку шагов:
Конечно, это совершенно не похоже на предполагаемое перемещение голема по поверхности земли. Поэтому понадобилось добавить несколько дополнительных эффектов:
Более глухой удар тупым предметом о поверхность добавит тяжести в поступь голема:
"Ожившие камни" в процессе ходьбы будут создавать трение между собой, поэтому в промежутке между шагами был добавлен звук скрежетания камней.
Совместив всё это в Audacity в требуемом по времени порядке и отрегулировав отношения громкости одних сэмплов к другим, в результате получился вот такой вот звук ходьбы:
Полезные фильтры
Иногда для создания нужного эффекта было недостаточно просто совместить разные сэмплы в один - требовалось также изменить звучание самих этих сэмплов. Кратко разберем те фильтры, которые использовались в процессе подготовки звуковых дорожек для игры.
Самый используемый эффект - скорее даже не эффект, а необходимость - это нормализация звука. Нормализация производит выравнивание громкости так, чтобы все звуки, используемые на сцене при одинаковой настройке громкости, звучали с одинаковой силой. Это позволяет настроить их отношение уже на уровне настроек спикеров в Blender.
Указывать в статье места, где используется нормализация, не имеет смысла, так как звук везде подвергался обязательной нормализации.
Equalization - это один из способов изменения частотных характеристик звуковой дорожки. Он использовался, например, когда была необходимость усилить только низкие или высокие частоты звукового файла.
Change Pitch - хороший эффект для быстрого изменения тональности всего звукового файла. Чуть ниже в разделе урока про создание реплик персонажа можно увидеть его работу на конкретных примерах.
Изменение скорости позволяет замедлить или ускорить воспроизведение звука. Соответственно это изменяет немного его тональность. Например, этот эффект использовался при создании звука процесса ходьбы голема, чтобы синхронизировать арматурную анимацию со звуком.
И очень полезный эффект Noise Removal, который позволяет убрать посторонние шумы на записи. Нажав Get Noise Profile, нужно указать участок записи, на котором присутствует только шум (например, в промежутке между репликами), а программа уберет весь шум по подобию этого участка на всём звуковом файле.
Возгласы персонажа
Не всё можно найти в уже готовой библиотеке звуков, да и хотелось в процессе создания персонажа отойти от уже готовых решений и сделать что-то собственными силами с нуля. Поэтому голос персонажа было решено записать самим.
Для записи мы использовали следующее оборудование:
- внешняя звуковая карта Focusrite Scarlett 6i6;
- микрофон Rode NTG-1;
- операционная система Ubuntu Linux;
- программа Audacity.
После небольшого "кастинга", определившись, чей голос в команде подходит для этого больше всего, мы приступили к звукозаписи.
Процесс создания озвучки персонажа происходил в следующем порядке. Вначале Евгений Родыгин (главный разработчик программной части игры "Сказ о Пятигоре" - его голос, как нам показалось, подошел лучше всего) "наговорил" в микрофон подряд несколько вариантов реплик на заданную тему. Например, на тему атаки персонажем:
Этот пример записи подряд нескольких вариантов возгласов персонажа во время атаки мечем представлен без обработки, с шумами как есть. Далее мы выбрали наиболее подходящие три варианта, а остальное удалили:
При помощи эффекта Noise Removal был убран фоновый шум:
Чтобы сделать голос более "моложавым", при помощи эффекта Change Pitch голос был изменен на 4 полутона выше оригинала.
И в результате мы получили слегка комичный голос молодого паренька:
Все остальные реплики были сделаны по такому же принципу.
Появление голема
Наиболее сложным сочетанием разных звуков является аудио-дорожка вылезания голема из лавы. Самым сложным было синхронизировать отдельные звуковые фрагменты с анимацией голема.
Для этого был использован редактор видео секвенций в составе Blender. Все звуки были расставлены в нём в нужной последовательности, и, при необходимости, предварительно модифицированы в Audacity.
Осталось только собрать всё это в один цельный файл, нажав Audio панели Render:
Так получился достаточно сложный по структуре аудио файл, звуки которого синхронизированы с действиями, выполняемыми големом.
Заключение
На этом всё. Это последний урок из серии уроков про создание аудио-визуального ряда первого уровня игры "Сказ о Пятигоре". Следующие уроки будут посвящены написанию программного кода - той части игры, которая никогда не видна конечному пользователю, но без которой весь этот набор текстур, геометрии и звуков так и останется просто набором текстур, геометрии и звуков.
Ссылка на приложение в отдельном окне
Исходные файлы моделей находятся в составе бесплатного дистрибутива Blend4Web SDK.
Обсудить и задать свои вопросы вы как всегда можете на нашем форуме в соответствующей теме.
Изменения
[2015-03-19] Изначальная публикация.