Комментарии 6
Спасибо за честный разбор с цифрами, особенно ценно, что вы проверяли дубли программно, а не на глаз. Пара идей по проблемам, которые вы описали:
"Mister" против "Mr." - лечится нормализацией текста перед сравнением. В пакете openai-whisper есть EnglishTextNormalizer, который приводит сокращения, числа и пунктуацию к единой форме, после него подобные расхождения обычно исчезают и метрика перестаёт ложно ронять хорошие дубли.
"5M" на знаке в плане 5. Можно сделать проверку текста относительной: прогонять OCR по мастер-кадру и считать браком только текст, которого на мастере не было. Тогда знак, нарисованный ещё на мастер-кадре, не будет бесконечно заваливать генерацию.
Поиск начала речи по порогу −42 дБ работает, пока в клипе тихо, но на дыхании, шорохах или музыке может сработать раньше времени. Как более надёжный вариант можно попробовать VAD, например Silero VAD: он ищет именно речь, а не громкость.
Плавающий голос. Как компромисс между вашими двумя вариантами: оставить видео и тайминг реплик от Kandinsky, а голос прогнать через voice conversion в один закреплённый тембр на персонажа. Синхронизация губ сохранится, а голос перестанет меняться от плана к плану.
И вопрос: какая часть из четырёх оплаченных часов ушла на чистую генерацию, а какая на отладку и повторные дубли? Если 19 планов по ~144 секунды - это около 45 минут, то следующий пилот на готовом конвейере, видимо, выйдет заметно дешевле.
Спасибо, все четыре идеи по делу, и две из них я бы уже применил.
Нормализация перед сравнением: да, моя проверка была грубее нужного. «Mister» и «Mr.» она считала расхождением, хотя Whisper расслышал реплику верно. Прогонять обе строки через EnglishTextNormalizer из openai-whisper - правильное решение, возьму на заметку.
Относительный OCR: тоже согласен. Считать браком только текст, которого на мастере не было - логичнее. Хотя сам мастер для коридора я всё равно переделаю без таблички.
VAD: порог -42 дБ у меня сработал, потому что до речи в этих клипах тишина (-60…-107 дБ). Если в клипе будет музыка или дыхание, он ошибётся раньше времени. Silero VAD ищет именно речь, а не громкость, так что надёжнее. Попробую, тут я еще пилю напильником.
Voice conversion: про такой компромисс я не думал. Видео и тайминг реплик остаются от Kandinsky, голос выравнивается в один тембр на персонажа. Пока не проверял, поэтому сказать, как оно звучит и не сломает ли эмоциональную часть, не могу. Это первый эксперимент для второй серии, наряду с вариантом «Qwen TTS + Wan S2V».
По времени. Из четырёх оплаченных часов чистая генерация Kandinsky заняла около полутора: основной батч на 19 планов примерно час вместе с загрузкой модели, плюс около 40 минут переделок (из них примерно четверть ушла на косячный прогон). Остальное:
около часа с небольшим - сравнение с Wan (подбор параметров и 5 планов);
около 20 минут - мастер-кадры и голоса;
остаток - сборка, музыка, настройка окружения и ожидание.
Если бы я сразу пошёл только по Kandinsky, это были бы те самые 45 минут чистой генерации плюс минут двадцать на мастера и сборку. Так что да, следующий пилот на готовом конвейере выйдет заметно дешевле. Хотя до второй серии дело пока не дошло.
Вы занимаетесь этим? Имеет ли смысл вообще делать такое в РФ?
Я немного экспериментировала с озвучкой видео и пришла к тому, что всё зависит от задачи. Если ролик короткий, секунд на 10–15, иногда проще сразу генерировать его со звуком. А если нужен постоянный голос персонажа в нескольких сценах, удобнее делать озвучку отдельно, например через ElevenLabs, и потом работать с синхронизацией.
Поэтому мне и интересно ваше предложение с voice conversion. Насколько хорошо при этом сохраняются интонации и эмоции? Ведь для сериала важно, чтобы персонаж не только говорил одним голосом, но и звучал естественно от сцены к сцене.
Можно посмотреть здесь, вставить в пост не могу.
https://t.me/csylabs/152
Я тоже пробовала арендовать GPU на RunPod для генерации видео, но в итоге отказалась. Проблема была даже не в стоимости, а в нестабильности сессий. Нужно установить ComfyUI, скачать модели, библиотеки, дополнительные ноды, собрать всё в рабочую схему. А потом сессия обрывается, и ты теряешь не только результаты, но иногда и всю настроенную среду. И начинай сначала.
В итоге перешла на локальный ComfyUI. По крайней мере, всё сохраняется и не приходится каждый раз заново собирать окружение.
Но если речь о коммерческом сериале, я бы скорее выбрала подписку на Runway или аналогичный сервис. Сейчас есть видеомодели, которые генерируют сразу со звуком, а для отдельной озвучки можно использовать ElevenLabs. Не уверена, что экономия на аренде GPU оправдывает время, потраченное на настройку и отладку.
И очень хотелось бы посмотреть сам пилот. Есть ссылка на готовое видео? Интересно оценить не только стоимость, но и качество результата.
Отдельно доставило про «Thank you very much» на тишине. У Whisper это классическая галлюцинация — он так заполняет паузы, где не находит речи. В своём проекте (локальные субтитры для стримов на Whisper + CUDA) я в итоге завёл фильтр по banned words и по уверенности модели. Без него на пустом месте мог вылезти целый абзац. А вы как решили — через speech_window() или отдельным фильтром?

Пилот ИИ-сериала за 900₽ на GPU c Kandinsky 6: как я проверил, что персонажи вообще говорят