Как удалить временные метки из расшифровки или файла субтитров
Чтобы превратить файл субтитров с таймингом в чистый, читаемый текст, нужно убрать временные метки, номера cue и артефакты форматирования, не повредив сами слова.
Файлы субтитров и расшифровок построены вокруг тайминга, а это именно то, что не нужно, когда вы переиспользуете контент как статью, запись в блоге, цитату или текст для перевода. Необработанный файл SRT, вставленный в документ, выглядит так:
12
00:04:21,500 --> 00:04:24,800
и это действительно основная идея
Для читаемого текста нужны только слова: «и это действительно основная идея».
Что на самом деле нужно убрать
- Номера cue. Порядковый индекс (
12,13, …), который стоит перед каждым блоком в SRT. - Строки с временными метками. Строку вида
00:04:21,500 --> 00:04:24,800, будь то формат с запятой у SRT или с точкой у VTT. - Заголовок
WEBVTT, если он есть. - Теги форматирования. Разметку курсива и полужирного (
<i>,<b>), теги позиционирования и метки говорящих, которые встречаются в некоторых файлах VTT. - Пустые строки между cue. Обычно их нужно свести к обычным пробелам между абзацами или предложениями, а не оставлять как есть.
Почему делать это вручную (или через find-and-replace) плохая идея
Простое регулярное выражение для удаления строк с таймингом обычно работает на коротких файлах, но его часто ломают две вещи: несогласованные символы конца строки (файлы, экспортированные на разных операционных системах, смешивают \n и \r\n) и номера cue, которые на первый взгляд похожи на обычный текст и сбивают наивный шаблон. На длинном файле (полная расшифровка эпизода, лекция, многочасовое интервью) одна пропущенная строка означает, что всё придётся пересматривать заново вручную.
Есть и более тонкая проблема: когда два cue разбивают предложение посередине (частый случай, если предложение длинное и выходит за границу cue), простое удаление строк тайминга оставляет предложение разорванным на две части без знака пунктуации между ними. Хороший инструмент для очистки склеивает их правильно, а не оставляет фрагментами.
Как сделать это правильно
Наш инструмент для удаления временных меток берёт файл SRT или VTT и выдаёт чистый текст абзацами: номера cue, тайминг и теги исчезают, предложения, разбитые между cue, склеиваются, и всё это обрабатывается локально в вашем браузере, так что расшифровка никогда не покидает ваше устройство. Это самый быстрый путь от «файла субтитров с таймингом» до «читаемого текста» без ручной чистки нескольких сотен строк с временными метками.