Недавно мне пригодился мой open-source проект Wunjo AI для создания собственного дипфейка - синтеза английской речи с минимальным акцентом. В этой статье я хочу рассказать, как мне удалось добиться этого, зачем я это сделал, и продемонстрировать полученный результат. Вы узнаете, как дипфейки могут обогатить процесс создания контента. Позже вы сможете для себя решить, могут ли дипфейки и синтез речи оказаться полезными для вас.

В чем суть проблемы?

Я участвую в конференции, на которой требуется подготовить видео-презентацию по научной работе об исследовании N. В процессе подготовки я столкнулся с рядом сложностей, о которых мы поговорим ниже.

Проблема 1: Речь и звук

При записи моего голоса возникла проблема низкого качества звука и заметного акцента, что делало речь трудно разборчивой. Хотя звук можно улучшить с помощью обработки, вряд ли можно исправить неправильное произношение слов (однако есть идея и об этом ниже). Первым шагом стал синтез речи из текста с использованием голосового синтезатора, которого я обучил. Если вы заинтересованы в создании собственной модели на основе вашего голоса или другого голоса на английском без акцента, для вас подойдет видеоинструкция. Я интегрировал свою модель в Wunjo AI и потратил около 15-20 минут, чтобы превратить весь текст презентации в синтезированную речь. Обучение модели заняло у меня около суток, но так как она уже была обучена заранее, мне не потребовалось повторять этот процесс. Запись и обработка собственного голоса заняли бы гораздо больше времени, чем синтез речи.

Результаты сравнения

Сравнив мой голос и синтезированную речь, разница ощущается как небо и земля. Сейчас я считаю, что стоило бы клонировать мой голос, используя небольшой фрагмент обработанной речи. Таким образом, звук речи сохранял бы мой голос без акцента, а encoder, synthesizer и vocoder для английского в открытом доступе. Мне так понравилась эта мысль, что я добавил клонирование голоса на этих выходных в Wunjo AI. Вы можете ожидать его в версии 1.5 или уже использовать ветку v1.5 на GitHub.

Проблема 2: Видео с человеком

Я решил создать видео с говорящим человеком в кадре, так как мне больше нравятся такие видеопрезентации, где можно видеть говорящего человека, а не только слайды с текстом. Создание качественного видео с участием человека требует вложения усилий: правильное освещение, подходящая атмосфера и подходящее лицо, которое умеет держаться в кадре. К сожалению, у меня не было ничего из этого. Я решил не снимать себя на видео (это бы выглядило примерно как здесь на 37 секунде, ну как-то не очень), а вместо этого поискать подходящее на YouTube, например видео обозревателя Chris Tomshack с формой лица, схожей с моей, так как несоответствие формы лица и размера будет заметно на дипфейке.

Дипфейк в котором есть несоответствие формы лица и размера

Обработка видео

Так как в качестве основы я искал видео на YouTube с запросом видеообзорах технологических новинок, говорящие люди в кадре часто появлялись меньше времени, чем объект обзора. Я выделил самые длинные сегменты видео с человеком, сделал reverse для видео и соединил с исходником, чтобы сделать loop. Затем я синхронизировал движения губ с аудиоречью с помощью Wunjo AI для улучшения лица, так как речь длилась дольше самого отрезка, видео просто было в loop и резкого перехода кадра не было заметно. Это позволило добиться более качественного результата.

Дипфейк движения губ

Исправление дефектов

Иногда возникали проблемы с неправильным положением губ и, например, двойным подбородком в месте среза. Я разделил видео на кадры с помощью ffmpeg и внес исправления в дефектные кадры с помощью ретуши. Этот этап потребовал немного времени, примерно ручным способом доработал 40-60 кадров.

Замена лица на видео

Свой дипфейк я создал сделав лишь одну фотографию своего лица. Я использовал свою фотографию снятую на фронтальную камеру и в Wunjo AI 1.5 наложил ее на синтезированное видео, затем улучшил качество лица до HD. Результат вышел хорошим для меня, если не знать, что это дипфек, тогда сложно это заметить.

Дипфейк замены лица по фото

Что имеем?

Итоговое видео с речью и дипфейком мне понадобилось около 2 часов + 30 минут для добавления слайдов и видео говорящего человека. При желании, для более длинного видео, можно было бы добавить дипфейк эмоций в некоторые сегменты речи.

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