TLDR
- Караоке-видео в Сонграйтере собирается за 3-5 минут из готового трека: подсветка слов синхронизируется с аудио автоматически.
- Доступны 3-4 стиля подсветки и три типа фона: статичная картинка, slideshow с эффектом Ken Burns и видеообложка.
- Стоимость одного рендера — 3-5 алмазов, это примерно 60-110 ₽ в зависимости от пакета пополнения.
- Экспорт в MP4 (H.264, 1080p), готовый файл подходит для ВКонтакте, Telegram, Reels и YouTube Shorts без дополнительной перекодировки.
Введение
Караоке видео — это видеоролик, в котором текст песни появляется на экране синхронно с вокалом, а активная строка или слово выделяются цветом. Раньше для такого ролика нужно было руками размечать тайминг в Aegisub, экспортировать ASS-субтитры и собирать всё в видеоредакторе. Сейчас процесс автоматизирован: алгоритм сам распознаёт, в какой момент звучит каждое слово, и накладывает подсветку поверх выбранного фона.
Я разбираю функцию караоке-видео в Сонграйтере как тех-эксперт: покажу, как устроен пайплайн под капотом, чем отличаются стили подсветки, какие фоны работают лучше всего и где у системы есть слабые места. Материал будет полезен тем, кто хочет понимать, что именно происходит между нажатием кнопки «Сделать караоке» и MP4-файлом в скачанном виде.
Как работает: распознавание тайминга слов в треке + рендер с подсветкой
Пайплайн караоке-видео делится на два этапа. Первый — получение тайминга. Если песня сгенерирована в Сонграйтере, тайминг приходит вместе с треком от движка генерации: на каждое слово или слог известна метка start и end в миллисекундах. Если песня загружена пользователем извне (например, кавер собственного исполнения), тайминг рассчитывается отдельно — через выравнивание текста и аудио.
Второй этап — рендер. На вход берётся: исходный аудиофайл, фоновый слой (картинка, slideshow или видео), текст с разметкой по словам и параметры стиля. Параметры компилируются в формат субтитров ASS, поверх него FFmpeg накладывает фильтр overlay и сохраняет результат в MP4. Один рендер на сервере занимает от 40 секунд до 3 минут, в зависимости от длительности песни и сложности фона. На стороне пользователя задача попадает в очередь: одновременно рендерится не больше 6 видео, остальное ждёт.
Готовый файл загружается в S3 и приходит в WebApp по WebSocket уведомлению. Скачать можно прямо из чата с ботом или из раздела «Мои треки».
Стили подсветки
В функции реализовано несколько стилей. Под капотом они различаются ASS-разметкой: цветом основного текста, активного слова, обводкой и эффектом перехода.
Классическая прыгающая подсветка. Текст показан построчно, активное слово закрашивается слева направо в момент звучания. Цвет активного слова обычно контрастный — например, жёлтый на чёрном фоне или цвет акцента, заданный пользователем. Подходит для большинства жанров, ближе всего к «домашнему» караоке.
Фон-подсветка (highlight). Активное слово получает не цвет, а цветную плашку под текстом. Сам текст остаётся одного цвета, меняется только подложка. Стиль смотрится строже и хорошо читается на фото с плотным фоном — например, на коллажах из свадебных снимков.
Минимализм. Только одна активная строка по центру экрана, без видимости предыдущих и следующих строк. Размер шрифта крупнее, чем в классическом стиле. Хорошо подходит для коротких клипов и Stories — экран не перегружен.
Двойная строка (опционально). Текущая строка крупная, следующая — поменьше под ней. Удобно, если караоке предполагается исполнять — певец видит, что будет дальше.
Все стили используют Bebas Neue или DM Sans для латиницы и совместимые кириллические аналоги для русского текста. Размер шрифта подгоняется автоматически под длину строки, чтобы текст не выезжал за края кадра.
Фоны и обложки
Фон — это то, что находится под слоем с текстом. От него зависит, как ролик будет смотреться в ленте: статичная картинка экономит трафик и быстрее рендерится, видеофон смотрится живее, slideshow — компромисс.
Статичная картинка. Стандартный вариант: одна обложка на весь ролик. Поддерживается загрузка собственного изображения от 480 пикселей до 4K. Если разрешение исходника низкое, движок не будет апскейлить — рендер сохранит качество как есть.
Slideshow с эффектом Ken Burns. Несколько картинок сменяют друг друга, каждая медленно приближается или сдвигается. Эффект Ken Burns — это плавный zoom in/zoom out с панорамированием, имитирующий съёмку движущейся камерой. Длительность одного слайда подгоняется под длительность песни и количество фото: например, 5 фото на трек 3 минуты — каждое 36 секунд с переходом fade.
Видеообложка. Вместо картинки — короткое сгенерированное видео (Live Photo или анимация). Файл циклится, чтобы покрыть длину трека. Подходит, если у вас уже есть видеообложка из соседней функции «Оживить фото».
В Сонграйтере выбор фона — отдельный шаг мастера: сначала выбираете тип, потом загружаете файлы или генерируете прямо в WebApp.
Идеи использования
Привожу 5 сценариев, в которых функция реально работает, а не просто «можно сделать ролик».
Свадьба, первый танец. Берётся песня, под которую планируется танец, фоном идёт slideshow из совместных фото пары. Текст идёт снизу — гости подпевают. Готовый MP4 кидается на проектор в зале или на экран на сцене.
День учителя или классный час. Школьники записывают голосовое поздравление учителю, делают из него песню в Сонграйтере, добавляют караоке-текст и slideshow с фотографиями класса. Получается мини-клип, который не стыдно показать.
Корпоратив. Гимн отдела или прощальное видео уходящему сотруднику. Подсветка слов помогает залу вступить хором — текст виден всем, никто не путается.
Личный мем-канал в Telegram или ВК. Парадокс: караоке-формат делает любой текст в 2-3 раза смешнее. Серьёзный текст на смешном фоне работает как мем сам по себе, без дополнительных подписей.
Домашняя вечеринка. Несколько любимых песен друзей в собственных версиях, караоке-текст на телевизоре через флешку. MP4 H.264 1080p воспроизводится практически на любом современном ТВ напрямую.
Как сделать пошагово
Алгоритм работы с функцией внутри Сонграйтера:
-
Откройте трек в разделе «Мои треки» и нажмите «Сделать караоке». Доступно для песен, сгенерированных в Сонграйтере, а также для каверов с распознанным текстом. Если у трека нет тайминга, кнопка не появится.
-
Выберите стиль подсветки. Превью каждого стиля показано на короткой 5-секундной анимации — видно, как будет двигаться текст. Стиль можно поменять в любой момент до запуска рендера.
-
Настройте фон. Загрузите свою картинку, выберите slideshow и подгрузите 3-10 фото, либо подключите готовую видеообложку. На этом же шаге можно выбрать положение текста — снизу, сверху или по центру.
-
Запустите рендер. Списываются алмазы, задача попадает в очередь. Среднее время ожидания — 1-3 минуты на трек длиной до 4 минут. Готовый MP4 приходит уведомлением в WebApp, оттуда же его можно скачать или поделиться ссылкой.
Ограничения
Функция работает не идеально, и я перечислю известные слабые места честно.
Длина трека. Лимит на один рендер — около 6 минут. Если трек длиннее, его придётся разбивать или сокращать. Это связано не с пайплайном, а с расходом серверных ресурсов на длинных видео.
Точность тайминга на сложных треках. Если в песне много речитатива, наложенных гармоний или быстрого темпа, движок может промахиваться на 100-200 миллисекунд. Чаще всего это незаметно при беглом просмотре, но при пении вживую разница ощущается. Кавер-версии распознаются хуже оригинальной генерации, потому что тайминг считается отдельно, а не приходит готовым.
Кириллические шрифты. Не все стили имеют идеально подобранный кириллический шрифт — иногда буквы кажутся чуть тоньше, чем латиница. Это исправляется выбором другого стиля.
Ограничения форматов фона. Видеообложка должна быть в MP4 H.264, картинки — в JPEG или PNG. WebP и HEIC конвертируются автоматически, но это добавляет 5-10 секунд к времени рендера.
Задержка очереди в часы пик. Если на сервере одновременно идёт более 6 рендеров, новая задача встаёт в ожидание. По вечерам и в выходные ожидание иногда растягивается на 5-7 минут вместо обычной минуты. Это плата за параллельную обработку — приоритет сейчас на качество готового файла, а не на минимальную латентность.
FAQ
В каком формате экспортируется караоке-видео? MP4 с кодеком H.264, разрешение 1080p (1920×1080), частота кадров 30 fps, аудио AAC 192 kbps. Это универсальный формат — играется везде без перекодировки, заливается в любую соцсеть.
Сколько стоит одно караоке-видео? Базовый рендер со статичной картинкой — 3 алмаза. Slideshow или видеофон — 4-5 алмазов. В рублях это 60-110 ₽ в зависимости от размера пакета пополнения (чем крупнее пакет, тем дешевле один алмаз).
Можно ли загрузить свой фон? Да. Картинка от 480 пикселей по короткой стороне до 4K. Slideshow принимает 3-10 фотографий. Видеообложка — MP4 до 30 секунд, который будет зациклен под длину трека. Фоны сохраняются в вашем аккаунте и используются повторно.
Что делать, если тайминг не точный? Если промах большой и заметный, попробуйте другой стиль подсветки — иногда визуально проблема смягчается. Радикальный вариант: сгенерировать новую версию трека в Сонграйтере с такой же лирикой и сделать караоке заново. На свежей генерации тайминг приходит вместе с треком и почти всегда совпадает идеально.
Что почитать дальше
- Обзор функции «Поющее фото» — отдельный материал про оживление фотографий с вокалом. Хорошо комбинируется с караоке-видео для коллажей.
- Как написать текст песни самостоятельно — гайд для тех, кто хочет, чтобы текст в караоке был свой, а не сгенерированный.
- Песня в подарок — сценарии использования сгенерированного трека с караоке-видео в качестве подарка на праздник.