В японском note-блоге показали практичную схему. Сценарий кладут рядом с Python-скриптом, запускают `python main.py` и получают проект YMM4 с озвучкой и готовыми таймингами субтитров. MP4 на выходе пока нет, зато большая часть скучной раскладки уходит машине.

Схема подходит роликам с повторяемой структурой: объясняющим видео, закадровому тексту и коротким выпускам, где персонаж говорит поверх простого монтажа. YMM4 всё ещё нужен для проверки и финального вывода.

Заголовок о CPU-версии VOICEVOX в Docker и времени последовательной обработки, связанный с озвучкой проекта из сценария.Источник: aether-echoes.com

Как работает связка Python, VOICEVOX и YMM4

Скрипт разбирает сценарий на отдельные реплики. VOICEVOX создаёт аудиофайл для каждой из них, а Python собирает проект YMM4 и расставляет элементы на таймлайне с учётом длины речи.

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

Самая полезная идея здесь простая: сценарий остаётся источником для всего ролика. Реплика, звук и субтитр не вводятся отдельно в трёх местах. Изменили текст — заново прогнали сборку, вместо того чтобы выискивать фрагменты на таймлайне.

VOICEVOX отвечает за синтез речи. YMM4 хранит проект, персонажей, изображения и эффекты. Вся связка работает локально: сценарий не нужно отправлять в облако, а выпуск не зависит от подписки.

«Часть повторяющейся работы при создании видео уже удалось автоматизировать довольно сильно», — пишет автор японского note-блога.

Что автоматизируется, а что пока остаётся вручную

Скрипт собирает озвучку, отдельные файлы реплик, длительности и проект YMM4. Затем автор открывает проект, смотрит предпросмотр и сам нажимает «Видео вывод».

Тайминг может совпасть с речью, но субтитры всё равно бывают неудобными. Длинная строка, плохой перенос или слишком быстрый темп легко портят впечатление. Машина снимает механическую работу, но не оценивает, хорошо ли ролик смотрится.

Автор хотел запускать YMM4 из командной строки и включить кодирование в общий процесс. Защитное ПО компьютера определило этот участок как вирусный и заблокировало запуск.

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

В подборке материалов Hatena есть похожая история вокруг YMM4. Пользователь пишет, что ESET Internet Security удалил файл `YukkuriMovieMaker.Win32Service.exe`. Это не доказывает одинаковую причину во всех случаях, но подсказывает, что проверять: исключения, папку установки и повторную установку.

Почему параллельная генерация голоса не ускоряет процесс

Следующий шаг выглядит очевидно: отправлять несколько реплик в VOICEVOX одновременно. Отдельный инженерный тест с CPU-версией VOICEVOX Docker показывает, что такой ход может ничего не дать.

В эксперименте AetherEchoes для 12 абзацев получили 91,5 секунды при последовательной обработке, 91,7 секунды при двух параллельных задачах и 92,6 секунды при четырёх. Во всех случаях использовали один контейнер VOICEVOX версии 0.25.2.

По наблюдению автора теста, VOICEVOX проходит две стадии: `audio_query` и `synthesis`. При параллельных вызовах первая стадия стала ждать дольше, а процессор всё равно упёрся в ограничение контейнера.

Для своего пайплайна я бы сначала замерил один сценарий, потом два и четыре параллельных задания. Сразу превращать последовательный цикл в `Promise.all` смысла нет. Заодно стоит сохранять хеши WAV-файлов, чтобы проверить целостность и совпадение аудио.

Как перенести схему в русскоязычный контент

Начать лучше с узкого варианта: автоматизировать озвучку и раскладку субтитров. Один формат, один голос, один шаблон YMM4. Так быстрее обнаружатся реальные косяки.

Рабочая последовательность такая:

1. Разделите сценарий на реплики или короткие смысловые блоки. 2. Передайте каждую реплику в VOICEVOX и сохраните отдельный аудиофайл. 3. Получите длительность каждого файла. 4. Создайте проект YMM4 с репликами и субтитрами на тех же временных отрезках. 5. Откройте проект вручную и проверьте переносы, паузы и появление персонажей. 6. Выполните экспорт из YMM4. 7. После стабильной локальной сборки добавляйте публикацию через YouTube API.

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

Для серийного контента пригодится шаблон: размер субтитров, безопасная длина строки, набор сцен и папка с исходниками. Тогда Python собирает конкретный повторяемый формат. Так надёжнее, чем пытаться поручить ему «делать видео вообще».

Сценарий стоит писать с учётом синтеза речи. Короткие фразы, понятная пунктуация и отдельные абзацы для пауз заметно упрощают работу. VOICEVOX не исправит плохой ритм, а YMM4 не спасёт субтитры, если реплика длится полминуты.

Автопостинг YouTube ещё в планах

Автор готовит автоматическую публикацию на YouTube через API. Для этого он настраивает Google Cloud и связанные разрешения, но автопостинг пока не запущен.

Текущая версия закрывает производство ролика. Заголовок, описание, обложку и загрузку логичнее добавлять позже, когда локальная сборка станет стабильной. Иначе ошибки начнут автоматически улетать на канал.

Японский кейс интересен своей незавершённостью. Здесь уже работает локальная связка VOICEVOX + Python + YMM4, но остаются экспорт, антивирус, качество субтитров и ограничения скорости.

«Хочу записывать процесс по мере разработки, включая такие моменты», — объясняет автор, говоря о проблемах автоматического экспорта.

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

Схемы сборки AI-контента в Workflow — здесь

Источники

VOICEVOX CPU 版 Docker の音声合成は並列化しても速くならない

YMM4とは 人気・最新記事を集めました

Источникnote.com