Назад к блогу

Как добавить пословные караоке-субтитры в Shorts и Reels

Пословные караоке-субтитры для Shorts, Reels и TikTok: откуда берётся тайминг по словам, три способа вшить эффект и правки, которые ломают синхронизацию.

28 сентября 2026 г.
Sablate Team

Пословным субтитрам нужно то, чего нет в обычном файле субтитров: таймкод для каждого слова. Его даёт система распознавания речи вроде Whisper, а дальше вы выбираете, как выделять произносимое слово — сменой цвета, цветной плашкой, заливкой или показом по одному слову за раз, — и вшиваете субтитры в видео.

Здесь вшивание не опционально. Shorts, Reels и TikTok вообще не принимают файлы субтитров, поэтому подсветка обязана жить в пикселях. Дальше: откуда берётся тайминг по словам и почему он уплывает, три способа получить этот эффект — один из них бесплатный — и правки, которые незаметно ломают синхронизацию.

Зачем пословным субтитрам нужны тайм-коды слов

У обычной реплики субтитров два тайм-кода: когда строка появляется и когда исчезает. Для строки, которая просто стоит на месте, этого достаточно. Караоке-подсветке нужны начало и конец для каждого слова внутри строки, а в обычном .srt их попросту негде хранить.

Whisper получает тайминг по словам вторым проходом. Определившись с текстом, он сопоставляет каждое слово с отрезком звука, который его, вероятнее всего, породил, а консольная версия openai-whisper всё ещё помечает эту опцию как экспериментальную. Такого тайминга достаточно, чтобы запускать подсветку, но недостаточно, чтобы доверять ему вслепую, — и у него есть особенность, которая определяет, как ведёт себя подсветка.

Соседние слова часто стыкуются без малейшего зазора. В ролике, который мы разбирали для сравнения моделей Whisper, 172 из 177 промежутков между словами оказались равны нулю секунд. А там, где паузы всё же есть, инструменту приходится решать, что делать с подсветкой в этот момент:

  • Подсвечивать только произносимое слово. Подсветка гаснет в каждой паузе, а короткое слово вроде «и» или «он» мелькает один-два кадра. Именно так работает собственный подсвечиватель Whisper: в каждый промежуток он вставляет обычную, неподсвеченную копию строки.
  • Держать слово подсвеченным до начала следующего. Подсветка никогда не гаснет, и каждое слово остаётся на экране достаточно долго, чтобы его успели заметить. Так ведёт себя большинство приложений для субтитров, и именно к этому привыкли зрители короткого видео.

Второй подход также лучше переживает редактирование, потому что окна слов покрывают всю реплику от первого слова до последнего, не оставляя пустых промежутков.

Четыре стиля караоке-субтитров

Под словом «караоке» скрываются четыре разных внешних вида, и полезно понимать, какой нужен именно вам, прежде чем выбирать инструмент:

СтильЧто видит зрительКак ещё называют
ЦветПроизносимое слово меняет цвет, остальная часть строки остаётся белойСубтитры в стиле Hormozi
ПлашкаЗа произносимым словом появляется цветная плашкаПодсветка плашкой или капсулой
ЗаливкаСлова меняют цвет по мере произнесения и остаются перекрашеннымиКлассический эффект караоке
Одно словоНа экране только произносимое слово — крупно и по центруСубтитры по одному слову

Цвет и плашка лучше всего смотрятся на видео с говорящим в кадре. Заливка — это внешний вид лирик-видео. Одно слово — самый напористый из четырёх стилей: отлично работает на хуке, но утомляет за целую минуту.

Три способа сделать пословные субтитры

  1. Whisper и FFmpeg — бесплатно, локально, командная строка. Простая подсветка, полный контроль, придётся немного настроить.
  2. Шаблон субтитров в видеоредакторе — CapCut или DaVinci Resolve Studio. Один клик, если вы уже работаете в редакторе; разница — в условиях использования.
  3. Десктопное приложение для субтитров — Sablate. Пресеты, вертикальный формат и вшивание в одном окне, на вашем собственном компьютере.

Способ 1: Whisper и FFmpeg (бесплатно, полностью локально)

Понадобятся установленные Python и FFmpeg, доступные через PATH. Всё выполняется на вашем компьютере, а модель Whisper скачивается один раз, при первом запуске.

  1. Установите Whisper:
pip install -U openai-whisper
  1. Транскрибируйте с включёнными тайм-кодами слов и подсветкой, по три слова на реплику:
whisper clip.mp4 --model turbo --word_timestamps True --highlight_words True --max_words_per_line 3 --output_format srt

Команда создаёт clip.srt, в котором каждое слово получает собственную реплику, а произносимое слово обёрнуто в теги <u>.

  1. При желании замените подчёркивание на цвет. FFmpeg понимает теги <font color> в SRT-файлах, так что достаточно операции «найти и заменить» (macOS и Linux, либо Git Bash в Windows):
sed -e 's/<u>/<font color="#FFE900">/g' -e 's#</u>#</font>#g' clip.srt > karaoke.srt
  1. Вшейте субтитры:
ffmpeg -i clip.mp4 -vf "subtitles=karaoke.srt:force_style='FontName=Arial,FontSize=16,Outline=2,MarginV=60'" -c:a copy clip-captioned.mp4

Эти цифры объясняются одной деталью. Вшивая SRT, FFmpeg сначала размещает текст на виртуальном холсте 384×288, поэтому FontSize и MarginV измеряются в этих 288 единицах, а не в пикселях вашего видео. MarginV=60 поднимает строку примерно на пятую часть кадра вверх, в сторону от интерфейса Shorts и Reels. Если FFmpeg пишет, что не может найти файл субтитров в Windows, путь нужно экранировать — руководство по вшиванию субтитров разбирает, как это исправить.

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

Способ 2: шаблон субтитров в видеоредакторе

Если вы уже монтируете в одном из этих редакторов, до пословной подсветки — один шаблон.

CapCut. Сгенерируйте автосубтитры, а затем примените шаблон с пословной подсветкой — на компьютере или на телефоне. Здесь есть два условия. Звук обрабатывается на стороне CapCut: в политике конфиденциальности сказано, что сервис может собирать контент «путём предварительной загрузки в момент создания, импорта или загрузки», например для генерации субтитров. А справочный центр CapCut указывает автосубтитры как функцию, которая может включать возможности, доступные только в Pro; проект, использующий функции Pro, для экспорта требует подписки.

DaVinci Resolve Studio. Timeline → AI Tools → Create Subtitles from Audio транскрибирует прямо на вашем компьютере. Начиная с Resolve 20 в титрах появилась категория Animated с шаблоном Word Highlight: перетащите его на заголовок дорожки субтитров, а затем задайте цвет, шрифт и скорость в Inspector. Автоматические субтитры — функция Studio ($295 разово), транскрипция «из коробки» покрывает 14 языков, а остальные добавляются через дополнительную загрузку. Если Studio у вас уже есть, это самый чистый вариант на этой странице.

Способ 3: десктопное приложение для субтитров

Десктопное приложение для субтитров делает всю работу в одном окне на вашем компьютере: транскрибирует, даёт исправить текст, выбрать стиль, привести кадр к вертикальному формату и отрендерить.

В Sablate шесть пресетов пословной подсветки — Hormozi, Beast, Reels, One Word, Karaoke и Pop — покрывают все четыре стиля выше, а переключатель Word-by-word highlight добавляет этот эффект к любому другому стилю, при этом режимом можно выбрать Color, Box, Fill или Word. Шрифты субтитров под этими пресетами (Montserrat ExtraBold, Anton, Bangers, Bebas Neue и Archivo Black) встроены и в само приложение, и в его рендерер, поэтому вшивание рисует тем же начертанием, что показывает предпросмотр. Отсутствующий шрифт — одна из типичных причин, по которым экспортированные субтитры выглядят иначе, чем в редакторе.

Тайминг следует правилам, описанным в начале этой страницы. Каждое слово остаётся подсвеченным до начала следующего, поэтому подсветка никогда не гаснет в паузе. Исправление опечатки сохраняет записанный тайминг, пока число слов не меняется; добавьте или удалите слово — и только эта строка вернётся к оценочному тайм-коду. Вшивание рисует libass — тот же рендерер субтитров, которым пользуются медиаплееры, — а не накладывает текст плоским оверлеем, и рендерит в 9:16, 1:1 или 16:9, обрезая кадр либо дополняя его размытой копией источника.

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

Пословное оформление входит в Pro — разовый платёж $29. Бесплатный тариф показывает превью любого пресета и вшивает остальные стили с небольшой отметкой в углу.

Какой способ выбрать?

Whisper и FFmpegCapCutDaVinci Resolve StudioSablate
ЦенаБесплатноБесплатный тариф, подписка Pro$295 разово$29 разово
Аудио покидает ваш компьютерНетДа, для автосубтитровНетНет
Варианты подсветкиПодчёркивание или цветБиблиотека шаблоновШаблон Word HighlightЦвет, плашка, заливка, одно слово
Полноценный видеоредакторНетДаДаНет
Работает на телефонеНетДаНетНет
Экспорт в вертикальном 9:16С дополнительным фильтромДаДаДа, обрезка или размытие

Две строки таблицы говорят не в пользу Sablate: это не видеоредактор, и он не работает на телефоне. Если вы монтируете, добавляете музыку и публикуете прямо с телефона, десктопное приложение для субтитров — лишний шаг, а не короткий путь.

«Один ролик, и я нормально чувствую себя в терминале». Whisper и FFmpeg. Бесплатно, локально и достаточно хорошо для подсветки сменой цвета.

«Я уже монтирую в CapCut и публикую каждый день». Останьтесь там. Смысл именно в шаблонах, а если вы всё равно платите за Pro, довод о цене отпадает.

«Я монтирую в DaVinci Resolve Studio». Используйте Word Highlight. Лицензия у вас уже есть, а транскрипция остаётся локальной.

«Материал не может покинуть мой компьютер». Что угодно, кроме CapCut. Офлайн-генераторы субтитров подробно сравнивают локальные варианты.

«Один и тот же Short выходит на трёх языках». Sablate: одна транскрипция и караоке-стиль для каждого языка, с оценочным таймингом на переводах.

«Это музыкальное видео, и мне нужен тайминг по слогам». Aegisub — он бесплатный. Его режим караоке расставляет теги ASS \k по слогам вручную — медленно, но именно так получается лучший результат для текстов песен. Формат ASS — единственный из распространённых форматов субтитров, который вообще хранит караоке-тайминг.

Как удержать пословные субтитры в синхроне

Подсветка ровно настолько хороша, насколько хорош тайминг слов под ней, и есть несколько привычек, которые сохраняют его нетронутым:

  • Сначала исправляйте, потом оформляйте. Тайминг принадлежит распознанным словам. Правка той же длины — например, «в течение» вместо «в течении» — тайминг сохраняет; переписывание всей строки его теряет.
  • Заранее подскажите Whisper нужные имена. Whisper принимает короткую подсказку с именами и терминами, которая задаёт уклон транскрипции: опция --initial_prompt или Defaults → Custom vocabulary в Sablate. Имя, написанное верно с первого раза, никогда не потребует правки, которая нарушит тайминг. Это именно уклон, а не гарантия, так что имена всё равно стоит перепроверять.
  • Разбивайте длинные реплики, а не уменьшайте шрифт. В вертикальном видео одну строку из трёх-пяти слов можно прочитать, пока по ней движется подсветка; две полные строки — уже нет.
  • Пересматривайте реплику после изменения тайминга. Перетаскивание края реплики обычно оставляет тайм-коды слов внутри неё на месте, поэтому слова у нового края оказываются сжаты. Подвиньте край — и один раз просмотрите реплику.
  • Проверяйте сам рендер, а не только предпросмотр. Перед загрузкой посмотрите первую реплику, последнюю реплику и самый быстрый фрагмент речи.

Пословные субтитры — это проблема тайминга, наряженная в стиль. Получите чистые тайм-коды слов, делайте правки той же длины и только потом выбирайте внешний вид. Если нужны пресеты, вертикальный формат и несколько языков в одном месте, скачайте Sablate для Windows или Mac и пропустите через него один Short.