Задачи с видео
Липсинк: как синхронизировать речь с движением губ
Порог терпимости зрителя к рассинхрону речи крайне низкий, а с русской артикуляцией модели справляются хуже, чем с английской.
Коротко
Липсинк — задача, где почти получилось означает не получилось. Зритель замечает рассинхрон раньше, чем понимает, что именно не так, и перестаёт верить всему ролику.

Почему это сложнее, чем кажется
Человек читает по губам лучше, чем думает. Рассинхрон в десятые доли секунды уже вызывает ощущение неправильности — то самое, из-за которого ролик кажется дешёвым, хотя картинка отличная.
Хуже того, ошибка липсинка обесценивает всё остальное. Зритель перестаёт верить кадру целиком.
Русская артикуляция даётся моделям хуже
Причина та же, что и с кириллицей в кадре: состав обучающих данных. Англоязычного видео с речью на порядки больше.
Практические следствия. Шипящие и мягкие согласные, которых в английском нет или они устроены иначе, отрабатываются заметно хуже. Русская речь артикуляционно плотнее: в единицу времени приходится больше смен положения губ.
Величину разницы мы не измеряли и цифр не приводим.
Что помогает
Говорите медленнее, чем в жизни. Дикторский темп с чуть увеличенными паузами даёт модели больше времени на каждую смену положения.
Короткие фразы. Ошибки накапливаются: к концу длинной реплики рассинхрон заметнее, чем в начале.
Чистая запись голоса. Шум, эхо и наложение звуков сбивают выделение фонем.
Фронтальный ракурс. В профиль и вполоборота модели ошибаются чаще.
Порядок работы
Сначала звук, потом видео. Готовая звуковая дорожка — вход для липсинка, а не наоборот.
Разбейте длинную речь на фрагменты по одной-две фразы, сведите на монтаже. Так вы переделываете неудачный фрагмент, а не всю реплику.
Проверяйте со звуком и без. Без звука видно, что губы двигаются неестественно. Со звуком видно рассинхрон. Это разные дефекты.
Как проверить
Посмотрите на скорости 0.5. Все ошибки синхронизации, которые на обычной скорости воспринимаются как смутная неправильность, становятся очевидными.
Покажите ролик человеку, который не знает, что он сгенерирован. Если первый комментарий про губы — переделывайте.
Симптом, причина, решение
| Что видите | Почему так | Что делать |
|---|---|---|
| Губы двигаются не в такт | Рассинхрон дорожки и видео | Разбить речь на фразы и синхронизировать по частям |
| Артикуляция «мажет» | Слишком быстрый темп речи | Начитать медленнее, с чуть увеличенными паузами |
| Рот шевелится в паузах | Модель не распознала тишину | Почистить дорожку от шума и дыхания между фразами |
| К концу реплики расходится сильнее | Ошибка накапливается по длине | Короткие фрагменты, склейка на монтаже |
| Шипящие выглядят неправильно | Русская артикуляция даётся моделям хуже | Переформулировать фразу, избегая скоплений шипящих |
Порядок работы
Звук первым, видео вторым. Готовая дорожка — это вход для липсинка, и попытка сделать наоборот приводит к переделке обоих.
Фрагментами по одной-две фразы. Так неудачный кусок переделывается отдельно, а не вся реплика.
Как принимать результат
Три просмотра, каждый ловит своё. На обычной скорости — общее ощущение. На скорости 0.5 — рассинхрон. Без звука — неестественность самой артикуляции, которая со звуком маскируется.
Если первый комментарий постороннего зрителя про губы — переделывайте независимо от того, что показалось вам.
Почему получается «почти правильно»
Положение губ определяется не буквой, а звуком — и не каждым звуком отдельно, а группой звуков с одинаковой видимой артикуляцией. Модель научилась ставить эти положения по звуковой дорожке, и набор положений у неё тот, который был в обучающих данных: преимущественно английский.
Русская речь содержит звуки, которых в этом наборе нет. Мягкие согласные, «ы», раскатистое «р» — под них подставляется ближайшее английское положение. По времени попадание точное: рот открывается и закрывается в такт. По форме — не то.
Так и рождается ощущение «почти правильно». Синхронность есть, поэтому зритель не может назвать дефект; форма рта не соответствует тому, что он слышит, поэтому ощущение неправильности остаётся. Это хуже явного рассинхрона: явный дефект списывают на технику, неявный — на говорящего.
Следствие для текста прямое: реплики, где подряд идут мягкие согласные и шипящие, ломаются заметнее прочих. Переписать фразу дешевле, чем перегенерировать её десять раз.
Развилка по задаче
Своя съёмка, новая начитка. Самый надёжный случай: человек снят, меняется только текст. Работает лучше всего, когда исходное видео снято фронтально и говорящий в нём двигается мало.
Перевод на другой язык. Отдельная задача: меняется и длина реплики, и артикуляция. Собирается вместе с переозвучкой, а не липсинком поверх готового перевода.
Полностью сгенерированный говорящий. Тогда липсинк — не отдельный этап, а часть аватара, и ограничения там другие.
Где липсинк не спасает
Пение. Модель ставит речевую артикуляцию под музыкальную фразу, и это видно с первой строчки.
Крупный план во весь экран. Чем больше рот в кадре, тем ниже порог терпимости; тот же дубль на среднем плане проходит.
Двое говорящих в кадре. Модель не всегда понимает, чей голос звучит сейчас, и двигает губы обоим.
Быстрая эмоциональная речь с проглоченными окончаниями. Там, где человек сам артикулирует неразборчиво, модели не за что зацепиться.
Во всех четырёх случаях дешевле сменить решение целиком, а не добирать дублями: увести говорящего на средний план, переписать реплику или перейти на закадровый голос и субтитры.
Что убрать из кадра
Рука у лица, микрофон, кружка — всё, что перекрывает рот хотя бы на части фрагмента. Модель ставит артикуляцию поверх препятствия, и получается рот, проступающий сквозь предмет. Зона рта держится свободной на всей длине дубля, а не только в первом кадре.
Частые вопросы
- Почему липсинк на русском хуже, чем на английском?
- Из-за состава обучающих данных: англоязычного видео с речью на порядки больше. Русская речь ещё и артикуляционно плотнее.
- Что делать сначала — звук или видео?
- Звук. Готовая дорожка является входом для липсинка.
- Как проверить синхронизацию?
- Посмотреть на скорости 0.5 — ошибки, незаметные на обычной скорости, становятся очевидными.