Синтетический голос, реагирующий на эмоции: как озвучивали диалоги для Celeste
Система анализирует портрет персонажа и выдаёт звук, соответствующий его настроению.
Саунд-дизайнер Celeste Кевин Регейми опубликовал в Твиттере тред, в котором рассказал, как создавал озвучку персонажей в игре. Для этого он использовал систему, основанную на формантах. Выбрали из треда главное.
Сначала команда экспериментировала с synth-звуками, чтобы найти подходящий тембр голоса персонажа. После саунд-дизайнер подбирал разный тон, чтобы понять, как голос будет меняться во время разговора.
Используя параметрический эквалайзер в FL Studio, команда смоделировала «форманты» — естественные спектральные пики в человеческих гласных звуках.
Затем они расположили частотные положения этих пиков на таймлайне, чтобы это напоминало человеческий голос, переходящий от одного гласного звука к другому.
Затем команда выделила несколько основных эмоций персонажей и определила, как они влияют на звучание голоса.
Разработчики должны были выяснить, как меняется скорость, высота и другие показатели голоса у персонажа, испытывающего разные эмоции.
Саунд-дизайнеру приходилось много раз перечитывать сценарий и самостоятельно произносить реплики, чтобы понять, как должны звучать разные интонации.
Когда вся подготовительная работа была выполнена, команда приступила к записи. Для этого саунд-дизайнер запустил последователь формант в FL Studio, а затем «сыграл» разные эмоции на миди-клавиатуре.
Команда разделила полученные записи на три категории:
- обычные слоги;
- слоги с ударением;
- окончания предложений.
Используя FMOD Studio, команда сделала систему событий, которая управляется эмоциями. У всех персонажей есть по одному звуковому событию, которое воспроизводится без остановки в течение всего разговора.
Когда персонаж говорит, в FMOD передаётся информация о том, в каком состоянии находится портрет персонажа в диалоге (так определяется, какую эмоцию он показывает). Далее FMOD добавляет нужный аудиофайл на таймлайн диалога.
В промежутках между эмоциями звучит набор случайных слогов.
В FMOD нет удобного способа реализовать такое решение. Поэтому саунд-дизайнеру пришлось вручную размещать каждый слог на временной шкале и настраивать «хаб перехода».
У последовательности слогов было два ключевых правила: один и тот же слог не мог воспроизводиться дважды подряд, а вероятность воспроизведения ударных слогов была снижена.
Когда текст в UI диалога заканчивается, FMOD входит в режим ожидания до следующего разговора.
Система анализирует портер персонажа и выдаёт звук, соответствующий его настроению.
Судя по тексту, они не динамически это ж делают, а сделали это заранее, записали звуки, и выдают их в соответствии с некоторым "состоянием" персонажа, которое уже и влияет и на портрет, и на звуки.
Да, тоже купился на заголовок, а оказалась обычная стейт-машина.
Думал, что система как в Анимал Кроссинг, где персонажи по сути зачитывают текст, вплоть до напечатанного игроком. Или в Томодачи Лайф.
Неимоверно раздражающая озвучка. Оказывается, они на этот хлам еще и столько сил потратили...
Классика программирования: потратить кучу сил, чтобы автоматизировать пустяковое дело.
Не помню ни одного случая, когда такой псевдоголос не был бы раздражающим. Тут сама идея плохая.
Комментарий удалён модератором
В смысле? Саундизайнер умеет в саундизайн, поэтому сделал все сам вместо того, чтобы использовать готовые синты и решения.
Все отлично сделано.