Озвучка текста в Unreal Engine: ИИ-реплики для вашей игры
Проект на Unreal копит сотни реплик задолго до того, как наняты актёры: выкрики, квестовые диалоги, обучение и временные сцены, которые меняются каждую неделю. Синтез речи даёт каждой реплике голос в день, когда она написана, и переозвучивает её за секунды, когда сценарий меняется.
Бесплатный движок SuperClonica озвучивает реплики офлайн на обычном процессоре. В этом руководстве — как генерировать их пачками, как перенести в Unreal и когда имеет смысл речь во время игры.
Два способа озвучить игру на Unreal
На ПК игрока сервер синтеза не запустится, поэтому упакованная одиночная игра должна включать заранее озвученные реплики.
- Заранее озвученные реплики: WAV-файлы, импортированные как ассеты Sound Wave и упакованные с игрой, как любой записанный диалог.
- Речь во время игры: игра запрашивает звук у сервера SuperClonica — это подходит для инструментов разработки и онлайн-игр со своим сервером.
- В обоих случаях озвучка работает на обычном процессоре, без платы за реплику.
- Модель говорит на 31 языке; китайский пока не поддерживается.
Подберите голоса бесплатно онлайн
На странице любого голоса впишите реплику вашего NPC, от 30 до 100 символов, выберите язык и нажмите «Озвучить». Через несколько секунд вы услышите, подходит ли голос персонажу, без регистрации.
Генерируйте реплики пачками
Одинаковые текст, голос и seed всегда дают одинаковый звук, поэтому переозвучивайте только изменённые реплики и храните в системе контроля версий скрипт, а не звук.
- Установите движок: python -m pip install superclonica-cpu.
- Держите реплики в таблице: id, персонаж, язык и текст, например экспортом из таблицы диалогов.
- Короткий скрипт озвучивает каждую строку: superclonica --text "Стоять! Назови цель визита." --voice guard.json --lang ru --output VO_Guard_Greeting_01.wav.
- Называйте файлы по id реплики и персонажу, чтобы система диалогов их находила, а повторный импорт заменял нужные ассеты.
Импорт в Unreal
Движок пишет 16-битный моно-WAV, который Unreal импортирует как ассеты Sound Wave; перетащите файлы в Content Browser или переимпортируйте папку после каждого прогона. Если вы локализуете реплики по персонажам, используйте ассеты Dialogue Wave. Для речи во время игры запустите сервер командой docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu; чтобы обратиться к нему и проиграть полученный звук, понадобится C++, например HTTP-модуль и процедурная звуковая волна, или плагин. Никогда не кладите ключ API в упакованную игру: пусть к серверу синтеза обращается ваш игровой сервер.
Голоса, которые можно выпускать
Для прототипов подойдёт любой голос каталога. Для вышедшей игры используйте голос, на который у вас есть права: десять стандартных голосов модели, M1–M5 и F1–F5, ваш собственный голос, обученный в студии SuperClonica по чистой записи на 5–10 секунд от актёра, который дал согласие, на компьютере с видеокартой NVIDIA, или голос, заказанный на бирже. Фанатские голоса персонажей — для пародий и фан-проектов, а не для коммерческих игр.