Register  Forget Password?
Теоретические основы лип-синка

"Теоретические основы лип-синка"
или "Пап, я хочу, чтобы слоники попели!
"

     Данная статья предназначена в основном для тех, кто лишь делает первые шаги в освоении лип-синка, а также для тех, кто имеет в нем сравнительно небольшой опыт. Для опытных авторов здесь вряд ли найдется что-то новое. Статья описывает один из методов создания лип-синка с использованием программы Sonic Foundry Vegas Video 3.0. Возможное применение метода в Adobe Premiere пояснено в конце статьи.

Вначале было... аниме!

     Естественно, что перед тем, как создавать лип-синк, неплохо было бы посмотреть на то, как это делают профессионалы, то есть - как его добиваются в аниме. Возьмите любое аниме, откройте его в VirtualDub-е, промотайте до того момента, где начинается речь, и покрутите видео медленно вперед, кадр за кадром. Даже при беглом просмотре четко видно, что рот находится только в 3-х состояниях: полностью закрыт, полуоткрыт, и полностью открыт. Отсюда напрашивается тривиальный вывод, что при статичном лип-синке (то есть, когда двигается только рот) для монтажа достаточно использовать лишь 3 кадра: персонаж с открытым ртом, с закрытым ртом, и с полуоткрытым. Динамический лип-синк – дело более тонкое, там простым вырезанием кадров не обойтись, и вообще - это тема отдельной статьи, если не цикла статей. Мы же остановимся на статичном лип-синке, как наиболее простом в освоении, и дающем при грамотном использовании очень неплохие результаты.

     Итак, статичный лип-синк строится в несколько этапов:

     а) Получение 3-х статичных кадров;
     б) Разметка таймлайна;
     в) Наложение кадров на таймлайн;
     г) Отладка, куда ж без нее. :)

Получение 3-х статичных кадров

     Необходимо вырезать из исходного аниме 3 кадра: персонаж с закрытым ртом, полуоткрытым, и открытым. Задача в принципе тривиальная, решаемая, например, с помощью VirtualDub (Video -> Copy source frame to clipboard), но иногда даже здесь всплывают подводные камни. Чтобы уберечь себя от неприятностей, стоит придерживаться следующих простых правил:

     а) кадры должны быть как можно ближе друг к другу в аниме;
     б) кадры должны содержать минимум артефактов компрессии и быть максимально четкими (если кадр слишком грязный или мутный, поищите где-нибудь рядом другой, пусть даже с субтитрами, лишь бы они не налезали на рот);
     в) кадры сохранять лучше в bmp или другой формат, сохраняющий без потерь;
     г) следите за тем, чтобы кадры отражали характер вокала (если поют громко, рот должен быть открыт пошире, и наоборот);

     В случае, если один или два из 3-х кадров содержат внутренние субтитры, их легко убрать с помощью 3-го по технологии, описанной в одной из статей на АКРОССе. Если же вам нравится кадр, но не подходит амплитуда открытия рта, можно вырезать рот персонажа из другого фрагмента видео и всунуть в кадр с открытым ртом. Можно даже вытащить рот из другой серии, или даже от другого персонажа. Только следите за тем, чтобы яркость кожи на обоих фрагментах совпадала, если что - подтяните ее фильтрами.
     Получение кадров – самый некритичный процесс. Помните, вы всегда можете заменить эти кадры на другие, и весь лип-синк автоматически изменится, так что на этом этапе напрягаться особо не стоит.

Разметка таймлайна

     Здесь придется немного попотеть. Итак, абстрагируемся от реалий, и представим, что вы уже установили Sonic Foundry Vegas Video, создали новый проект, и вставили туда свой любимый mp3, а заодно еще и создали видеодорожку. Вот как примерно будет выглядеть наш таймлайн:

     В качестве музыки я взял «Яксоку ва иранаи» в исполнении Майи Сакамото (опенинг Эскафлона). Обратите внимание на цифру 6, в библиотеке материалов (Media pool) я уже добавил 3 картинки, которые мы вырезали на прошлом этапе (в качестве подопытной у меня Амано Аи). Но нам они пока не нужны.
     Vegas Video предоставляет очень удобные инструменты: маркеры (1) и регионы (2). Регионы удобны для общей разметки аудиоряда, чтобы знать, где какой куплет начинается и кончается. Маркеры удобны для чего угодно, в том числе и для лип-синка. Чтобы установить маркер, достаточно ткнуть курсор в нужную позицию, и нажать "M", а затем ввести имя маркера.
     Перед описанием разметки поясню некоторые особенности Вегаса. На панели под таймлайном есть стандартные кнопки: «пуск», «стоп», «пауза» (3). Пуск - запускает воспроизведение с момента, в котором стоит курсор. Стоп - останавливает воспроизведение и переносит курсор туда, где был нажат пуск. Пауза - также останавливает курсор, но при этом оставляет его на месте (что неудобно в данном случае, чуть ниже поймете почему).
     Сменить начало воспроизведения можно, если ткнуть курсором в новое место. При этом, если вы это сделаете в области (4), то сработает это только после остановки, а если в области (5) (там, где нет треков) – то в любой момент воспроизведения. При этом, нажатие «стоп» приведет к переносу курсора в новое начало (туда, куда вы ранее ткнули).

     Итак, разметка таймлайна будет заключаться в установке на нужные слоги маркеров. Полезем сразу в припев, вот первые 2 строчки на киридзи:

Кими во кими во аиситеру
Кокоро дэ мицумете иру

     Суть разметки в том, чтобы с высокой точностью «словить» нужное место в фонограмме, где начинается данный слог. Для этого не нужно обладать особой реакцией или музыкальным слухом. Все очень просто – делается крупный зум на звуковую шкалу (у меня - колесом мыши) примерно так, чтобы на таймлайне помещалось 4-6 секунд, после этого курсор подводится на нужное место, нажимается кнопка «старт», и многократным запуском звука с разных, но близких точек, находится критическая позиция, при запуске с которой мы слышим еще «Кими...», но уже не «Ими...». Другими словами, звук запускается каждый раз с новой точки, которая немного правее предыдущей (просто кликаем в области (5), ничего не останавливая). Как только «к» перестает слышаться, мы отходим на несколько шагов влево, пока «к» не становится четко слышимой снова (произношение «к» тоже занимает время), жмем «стоп», затем "M" на клавиатуре, и ставим маркер «Ки...».
     Еще проще поступаем со следующим маркером – «...ми». Сдвигаем точку начала вправо пока «ими» не превратится в «ми», и там ставим маркер. Затем тянем начало дальше, пока «иво» не превратится в «во». И так далее, по слогам.
     Проверить установку маркера можно с несимметричной точностью (то есть, если он слишком рано, то это будет менее заметно, чем слишком поздно). Просто нажмите «пуск», и щелкните на маркере – воспроизведение должно начаться с него. Если он стоит поздно, то часть его слога будет «съедена», если рано – то будет слышен остаток предыдущего слога, если он есть (заметить несложно), или просто пауза, если это первый слог в слове (тяжелее заметить).
     Итак, мы расставили маркеры. Вот как должен выглядеть таймлайн теперь:

     Если вы обратили внимание, то заметили, что начала слогов часто совпадают с импульсом на амплитудной шкале. Это связано с тем, что в данной песне музыка довольно мягкая, и вокал выше ее на пару децибел. К сожалению, такое наблюдается не всегда, и иногда выделить ритмы вокала из общего звучания невозможно. Даже в нашей фонограмме сложно выделить отдельные слоги например в слове «аиситеру». Однако там, где возможность есть (чаще всего в начале слов), этим несомненно надо пользоваться, не ища место для маркера вслепую, а вставляя его сразу на место.

Наложение кадров на таймлайн

     Ну что ж, все готово для финального действия – наложить наши 3 кадра на размеченный таймлайн. Что, казалось бы, проще? А вот и нет, эта стадия не легче предыдущей, а, может, и сложнее. Готовьте видеодорожку, мышь и свой рот. Да, вы не ослышались - ваш рот тоже будет инструментом, поскольку самый простой вариант оценить движение губ для фразы – произнести ее.
     Суть проста – в зависимости от текущей амплитуды губ вставляется один из трех фрагментов нужной длины. Вегас по умолчанию обрабатывает картинки как видеофрагменты длиной в 5 секунд, так что их придется сокращать (поднесите курсор к правому краю, «схватите» его, и двигайте влево). Дискретность длины фрагмента и видеодорожки в целом – 1 кадр. Вот пример наложения фрагментов на видеоряд (да простят мне невырезанные субы):

     1. закрытый рот, 2 кадра
     2. полуоткрытый рот, 2 кадра
     3. открытый рот, 8 кадров
     4. закрытый рот, 3 кадра
     5. открытый рот, 8 кадров
     6. полуоткрытый рот, 2 кадра
     7. открытый рот, 8 кадров

     Идеального решения пока нет, есть лишь несколько рекомендаций, которые я хотел бы здесь привести для NTSC-проекта (29.97 FPS). Хотя, думаю, для PAL (25 FPS) они тоже подойдут:

     1) что бы вы ни делали – не вставляйте выделяющийся фрагмент длиной в 1 кадр. Если ваш персонаж за 1/30 секунды успеет открыть рот (даже наполовину), а потом за такой же отрезок времени еще и закрыть (или наоборот), это будет выглядеть очень неестественно. Допустима вставка фрагмента в 1 кадр в полуоткрытом состоянии при переходе из одного крайнего состояния в другое;
     2) не злоупотребляйте переходами из одного крайнего состояния в другое. Помните, что человеческие губы – это очень инерционная вещь, со скоростью света они не двигаются, даже до звука не дотягивают. Такие переходы допустимы и часты в резких моментах (я в примере наверху его использовал: 4-5), но иногда тебуется разбавлять их промежуточным состоянием (например, как в 1-2-3);
     3) помните, что слоги связаны; предыдущий слог будет заканчиваться так, как начинается последующий, причем лучше это оформить одним фрагментом (например, фрагмент 4 – сжатые губы, олицетворяющие букву «м» в слове «кими», а фрагмент 6 – поджатые губы для буквы «в» в слове «во»);
     4) обратите внимание, что на согласные не обязательно закрывать рот, например на «с» или «к» рот можно оставить полуоткрытым;
     5) обычно слог лучше составить из 3 частей: а) вступления (закрытые или полуоткрытые губы, если слог начинается согласной, и полуоткрытые или открытые губы, если слог начинается гласной); б) основной части (полуоткрытые или открытые губы, в зависимости от гласной слога, силы вокала и еще некоторых факторов); в) завершения (закрытые или полуоткрытые губы, в зависимости от начала следующего слога);
     6) завершения и вступления можно сливать вместе, но это тоже не стоит брать за идеал, иногда их нужно разделить;
     7) и самое главное - не забывайте, что у вас тоже есть рот. Медленно и без напряжения произносите нужную фразу, и следите за движениями своих губ (если не получается по ощущениям, то отследите движения в зеркале).

     Ну вот, пожалуй, и все рекомендации.

Отладка

     Итак, наконец-то, после 3-х часов кропотливой работы, вы доделали таймлайн :). Теперь - самое время проверить, все ли ОК, и убрать баги. Самый простой метод – отрендерить и посмотреть. Кроме рендера и пререндера у Вегаса есть одно очень удобное свойство – небольшие фрагменты, около нескольких секунд (а наш как раз такой) он позволяет рендерить прямо в память, а не на винчестер, что намного быстрее. Итак, выделяем курсором в области 5 наш фрагмент, и жмем Tools -> Build dynamic RAM preview. Дожидаемся конца, и нажимаем «пуск»...
     Что не так? Глючит? Ну, оно и должно, первый раз ведь. Что-что? Непонятно ГДЕ глючит? Момент уловить сложно? Ну, если так, то как раз для вас в Вегасе создан медленный просмотр. Возвращаемся к первой картинке статьи, и смотрим на цифру 7. Ползунок позволяет регулировать скорость от –200% до 200%, желтый маркер отмечает 100%. Ставим курсор на начало лип-синка, сдвигаем ползунок где-то на 50%, и Майа Сакамото превращается в Гакта... Но зато мы можем разглядеть наши ошибки и поправить их.

Adobe Premiere

     Все это хорошо, скажете вы (а кое-кто и не так скажет...), но что мне делать с этим Вегасом? Я всю жизнь работал в Adobe Premiere, и не собираюсь с ним расставаться ни за что на свете. Что же мне теперь делать?
     Попробую ответить. Насколько мне известно, Премьер останавливает воспроизведение при перемещении курсора на таймлайне. Само собой, это делает если не невозможным, то очень сложным и длительным этап разметки таймлайна на слух. Поэтому можно вынести этот этап в Вегас. Запустите и Вегас, и Премьер одновременно, в Премьере создайте полноценный проект, а в Вегасе подключите только звуковую дорожку. Идите в Премьер, и расставляйте маркеры по амплитудной шкале аудио (по пикам), пока это возможно. Затем, оставшиеся маркеры установите в Вегасе указанным выше методом, а потом перенесите их в Премьер по временным отметкам. В остальном - технология та же самая. Метки в Премьере ставятся командой Timeline -> Set Timeline Marker или в выпадающем меню в верхней части таймлайна.
     Есть более простой метод – сделать липсинк в Вегасе, отрендерить его в отдельный файл (без потерь качества, разумеется), и подключить к Премьер-проекту.

Заключение

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

     Ня. Удачи в ваших будущих шедеврах!

Jameson
08.12.2003
MOST AKROSS CON PARTICIPATIONS
1.
13
2.
13
3.
13
4.
11
5.
11
6.
11
7.
11
8.
8
9.
8
10.
8
11.
8
12.
8
13.
8
14.
7
15.
7
16.
7
17.
7
18.
7
19.
7
20.
6
Aggressor
DE:LIGHT
 18.04.2009  
Shikabane Hime Aka, Tales of the Abyss
Blue Stahli - The Pure and The Tainted
Action, Character Profile, Instrumental
Shepherd
SILENCIO
 AKROSS CON 2006 WINNER 20.12.2006  
Gankutsuou, Gilgamesh
Halou - Things Stay the Same
Psychedelic, Drama
Q&A
CHILLOUT
 AKROSS CON 2009 WINNER 22.11.2009  
Various
Buffalo Springfield - For What it's Wor…
Story