В Synfig появилась интеграция с Papagayo

papagayo

Константин Дмитриев анонсировал в редакторе анимации Synfig поддержку Papagayo для синхронизации движения губ со звуковой дорожкой.

Поскольку часть этой работы подразумевает развитие собственной ветки Papagayo, мы попросили Константина ответить на несколько вопросов.

Как я вижу, авторы оригинального проекта Papagayo сделали в 2014 году пару предрелизных коммитов на GitHub и на этом успокоились. Ты с ними как-то контактируешь? Будете ли вы согласовывать друг с другом дальнейшие действия?

С разработчиком оригинальной версии у меня контактов нет. Наверное, здесь имеет смысл привести полную историю моих взаимоотношений с Papagayo.

Изначально, когда у меня возникла необходимость в программе для Lipsync (это было в 2013 году, задолго до выпуска Papagayo 2), я не рассматривал возможность контактирования с разработчиком, т.к. судя по многочисленным постам на форуме LostMarble проект считался заброшенным.

Вместо этого я нашёл форк Papagayo, который сделал Benjamin Lau. По сравнению с оригинальной версией, у него было несколько важных улучшений, а именно:

  • добавлена поддержка русского и многих других языков помимо английского;
  • удалена зависимость от проприетарного модуля «lm». Вместо него был введён pyaudio, что позволило реально использовать Papagayo на Linux (и, по-моему, на других системах).

Тогда я сделал несколько патчей и отправил Бенджамину. Его проект размещался на Google Code, что было не очень удобно для меня, поэтому я одновременно делал коммиты в собственный репозиторий на GitHub.

Кроме мелких патчей и исправлений для русского языка мне удалось добавить поддержку различных наборов (моделей) фонем.

Для чего?

Изначально Papagayo делал разбивку на фонемы в соответствии с моделью Престона Блэра. Для того проекта, над которым я тогда работал, мне она показалась не совсем подходящей (в частности, мне не хватало фонемы «Ш» для русского языка). Поэтому я добавил возможность использования различных наборов фонем и добавил модель Флемминга-Доббса. После этого значительных изменений не было. Мы просто поддерживали работоспособность программы.

Примерно в то же время я выпустил пакеты для Linux, а полтора года спустя появилась сборка для Windows.

Параллельно Бенджамин пробовал различные способы заменить pyaudio на что-то другое (у pyaudio есть проблемы с синхронизацией звука, особенно на длинных файлах). Но у него похоже не хватало времени.

Позже он написал мне, что на него вышли несколько человек по поводу патчей, и он перенаправил их ко мне, а мне написал «I think you’re probably the maintainer of Papagayo at this point».

Примерно тогда же появилась новость о выходе Papagayo 2.0. Решение перейти на C++ я не воспринял с особым восторгом (т.к. разрабатывать на Python всё-таки проще), но я был рад тому, что разработка возобновилась (по крайней мере, мне хотелось на это надеяться).

В Papagayo 2.0 отсутствовали все изменения, внесённые мной и Бенджамином, но я был готов потратить время, чтобы портировать их все на Papagayo 2.0. Это позволило бы мне сбросить с плеч сопровождение ещё одного проекта.

Но этого пока не произошло?

Нет. Прошу понять меня правильно — в мои интересы совсем не входит захват ключевых позиций на каждом анимационном проекте, связанном с анимацией. Сопровождение любого программного продукта — трудоёмкая работа, отнимающая много ресурсов, и я берусь за это лишь тогда, когда больше некому.

На текущий момент мне определённо хватает проблем с сопровождением Synfig и RenderChan. Именно в связи с этим я всегда ищу возможность делегировать ту или иную зону своей ответственности кому-то другому. Например, я очень рад, что мне удалось уйти от разработки Pencil, благодаря появлению инициативы Pencil2D.org.

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

Ну так вот, с Papagayo 2.0 это похоже не прокатило.

Почему?

У меня не было возможности сразу взяться за портирование наших фич в новый Papagayo. А по прошествии определённого времени у меня сложилось впечатление, что проект не будет активно сопровождаться и развиваться (я имею в виду те самые два коммита, неактивные пулл-реквесты и ветки в Network Graph. Вероятно, у разработчика хватает проблем с сопровождением основного продукта (AnimeStudio). Впрочем, я прекрасно могу это понять.

В сложившейся ситуации я не вижу смысла сейчас портировать свои изменения, т.к. скорее всего это закончится точно таким же открытым пулл-реквестом. Для меня вполне логичнее продолжать сопровождать версию на Python и потратить тот же временной ресурс на полноценную сборку под Windows и версию для OSX. Когда это будет — никаких обещаний.

Будут ли релизы Papagayo? В связи с предыдущим вопросом: будут ли они официальными и под тем же именем?

Ну, у нас уже было несколько релизов. Сейчас у меня на гитхабе лежит свежий пулл-реквест с поддержкой португальского языка, так что ждите скоро ещё одно мелкое обновление.

Что касается смены имени — я пока не уверен. С одной стороны, наш Papagayo уже довольно ощутимо отличается по функциональности, и было бы хорошо дать пользователям возможность отличать одну версию от другой. Это также позволит избежать ряда потенциальных проблем, если мы захотим принимать целевые пожертвования на её разработку.

С другой стороны, у меня сейчас нет времени заниматься ребрендингом. И да, до тех пор пока у нас нет сборки для OSX, версия от LostMarble в какой-то мере закрывает эту брешь — пользователь просто берёт формально ту же самую программу на их сайте.

На твой взгляд, хорошая ли это идея «отрывать» липсинк от редактора анимации? Густав, например, перетащил в Tupi часть функциональности Papagayo.

А что в ней может быть плохого? Ведь именно благодаря тому, что LostMarble когда-то «оторвала» Papagayo от Moho, мы и имеем сейчас вполне работоспособное решение и для Synfig, и для Blender.

Липсинх как отдельная программа имеет ещё один большой плюс: можно легко посадить любого человека делать (очень рутинную!) работу по липсинху, не требуя от него специальных знаний конкретно блендера или синфига или чего-то ещё. Просто липсинх и ничего больше.

С другой стороны, не вижу ничего плохого в том, что Густав сделал интегрированное решение.

Papagayo поддерживается не только в свободном софте. Например, интеграция с программой есть в анимационном редакторе Spriter компании BrashMonkey. С тобой контактируют разработчики других приложений, или им достаточно официальной версии Papagayo 2.0?

Нет, разработчики других приложений со мной пока не связывались. Я не думаю, что они особо заморачиваются, потому что на уровне форматов файлов/данных обе версии Papagayo 100% совместимы.

1 Kомментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.