188

Бесплатный самодельный Lipsync (с препроцессингом) в юнити

Всем привет.

Недавно взялся делать музыкальное видео для youtube канала на который работаю, и в качестве эксперимента решил попробовать использовать юнити. В принципе фотореалистичный рендер не требовался, а время поджимало, поэтому идея имела место быть.

Идея видео подразумевала использование липсинка, однако порыскав некоторое время по интернетам, ничего актуального, рабочего и бесплатного найдено не было, ни для юнити, ни для 3д макса (в котором привык работать). Поэтому пришлось выкручиваться немного по другому. На затравку гифка с результатом работы:

Главная программулина которая нам понадобится - Rhubarb. Она анализирует звуковой файл и выдает текстовый файл с таймингами всех распознанных фонем. Абсолютно бесплатная, с открытым кодом. Качаем ее отсюда - https://github.com/DanielSWolf/rhubarb-lip-sync/releases и распаковываем.

В ту же папку, куда распаковали, закидываем наш wave файл. Так же для увеличения точности распознавания опционально можно создать текстовый файл с транскрипцией происходящего в звуковом файле (файл диалога).

Rhubarb не имеет графического интерфейса и работать с ней нужно через командную строку. Один из способов быстро открыть командную строку - нажимаем на пустое место в строке полного пути к папке:

Там всё стираем, вводим cmd и жмем энтер:

В появившемся окне вводим следующее:

rhubarb имя_звукового_файла.wav > имя_файла_вывода.txt -d имя_файла_диалога.txt

Соответственно, если файл диалога не используете, то -d имя_файла_диалога.txt вводить не надо. Жмем энтер и ждем. Программа создаст выходной текстовый файл с таймингами всех распознанных фонем, копируем его в наш юнити проект. Дальше необходимо подготовить модельку.

Rhubarb может распознавать 9 основных фонем. Таблицу фонем с примерной визуализацией рта и описанием можно найти в ридми у проекта (https://github.com/DanielSWolf/rhubarb-lip-sync/). Нужно все 9 расположений рта воссоздать в 3д редакторе. Должно получится что то подобное:

Импортируем модель в юнити и создаем анимационные клипы для каждой фонемы:

Дальше создаем контроллер, добавляем анимации и именуем их понятным образом. Ну и соответственно не забыть назначить его аниматору на модельке. Настраивать переходы не надо, мы будем просто использовать crossfade по имени анимации:

И последний шаг, самый сложный, нужно написать скрипт, который бы считывал текстовый файл, сгенерированный Rhubarb-ом, и проигрывал анимации с нужным таймингом. Можно использовать мой скрипт, но там говнокод, плодит кучу инстансов корутин, плюс сделан так чтоб проигрывать все с начала запуска сцены. Допилить до нужного функционала в принципе будет не сложно.

https://gist.github.com/CustomPhase/77ed1276485ad3be0ab78429...

Вешаем его на модельку с аниматором, в качестве textFile выбираем скопированный из Rhubarb текстовый файл и запускаем, все должно работать.

Ну и собственно полный результат работы:

Всем спасибо. Если интересно, могу запилить пост, про то как остальное видео сделано и что было использовано.

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

0
Автор поста оценил этот комментарий

сколько всего времени потрачено было на сие творение, если времени не много было?)

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

3-4 дня на музыку. Около полторы недели на видео.

0
Автор поста оценил этот комментарий

По возможности готов помочь

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Всмысле?) Я имел ввиду вам придется самому писать) Я понятия не имею как это в принципе работает и надобности такой у меня нет, сорри

0
Автор поста оценил этот комментарий

А для русского языка есть такие инструменты?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Не в курсе, к сожалению. Сомневаюсь. Придется самому писать.

показать ответы
0
Автор поста оценил этот комментарий

Я еще на первой затравной гифке подумал, что это будет этот трек (=

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Да в принципе догадаться не сложно было :)

7
Автор поста оценил этот комментарий

Очень хорошо получилось. Местами заметно что lipsync косячит, но не существенно.


Помню как-то вдохновившись проектом Animusic хотел сделать визуализацию на основе midi файлов.

Сделал базовый прототип на GameMaker, генерация скрипта действий на Delphi. Но художник кто согласился помочь перестал отвечать, а потом я на это забил. Где-то было видео proof-of-concept, если кому интересно могу поискать вечером.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Спасибо. Да местами не очень хорошо распознало, но можно в принципе и вручную отредактировать текстовый файл с таймингами, если есть время. У меня особо много времени не было :)

показать ответы
0
Автор поста оценил этот комментарий

Видел это видео на лейбле, только потом здесь познакомился с процессом создания. Был приятно удивлен связями Pikabu и Monstercat.

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

эм, на монстеркате этого не было) на living tombstone канале только

1
Автор поста оценил этот комментарий

Недооцененный пост, в следующий раз в начале поста вставляй клип а потом описание как ты это все делал. Я уверен многие кому не интерестна эта тема (Unity и т.д) даже не долистали до клипа,был-бы клип сверху словил больше плюсов

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо. Да почему недооцененный, неплохо заплюсовали, по моему) А насчет клипа - пост не столько о клипе, сколько о технике. Поэтому и внизу. Гифки для привлечения внимания достаточно было.

0
Автор поста оценил этот комментарий

Ну, чувак, я надеюсь, заплатили хорошо, потому что это шедевр! И наркомания... Отсыпь немного такого стаффа!

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо, не жалуюсь на финансовую сторону) В принципе уже пол года на жизнь зарабатываю работая на них. Никаких веществ, только чистый воздух)

0
Автор поста оценил этот комментарий

Просто из интереса - сколько такое стоит?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ни много, ни мало. Не хочу разглашать, сорри.

показать ответы
0
Автор поста оценил этот комментарий

Вы как-то связаны?
https://www.youtube.com/watch?v=foFKXS6Nyho

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не я лично, а владелец канала, Living Tombstone. У него связей много есть с разными крупными ютуберами, так как он и сам немаленький канал имеет.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества