Перейти к основному содержимому
SubtitleMatrix

Разбить субтитры по предложениям

ТаймингРазделение в заданной точке
Или вставьте текст субтитров

Параметры

Режет там, где заканчивается одно предложение и начинается другое, а также там, где реплика меняет строку, потому что в файлах субтитров точку часто опускают. Точка, вопросительный или восклицательный знак, начинающий новое предложение, считаются, включая полноширинные 。!?; продолжение со строчной буквы вроде «e.g. this», десятичная дробь вроде «3,5» и обычное сокращение вроде «Mr.» или «Dr.» — нет. Каждое предложение затем получает долю времени реплики пропорционально своему тексту.

В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.

Эта страница оставляет по одному предложению в каждой реплике. Никакого числа вводить не нужно: границы берутся из текста — точка, вопросительный или восклицательный знак, включая полноширинные китайские и японские, а также каждый перенос строки, потому что субтитры часто пишут по предложению на строку и вовсе без точек. Время исходной реплики делится между предложениями пропорционально числу символов, поэтому длинное предложение остаётся на экране дольше, а стиль, позиция и караоке остаются у первой части. Файл, у которого изменилось число реплик, выводится в порядке таймлайна с нумерацией с 1, а чтение и запись идут в этом браузере: ничего не отправляется.

Примеры

Три предложения в одной реплике

Вход

1
00:00:01,000 --> 00:00:04,000
He left. She stayed. We waited.

Выход

1
00:00:01,000 --> 00:00:01,828
He left.

2
00:00:01,828 --> 00:00:02,966
She stayed.

3
00:00:02,966 --> 00:00:04,000
We waited.

Три секунды делятся как 828, 1138 и 1034 мс — пропорционально 8, 11 и 10 символам. Смысл разделения в скорости чтения, поэтому самое длинное предложение дольше всех остаётся на экране: это задуманный результат, а не побочный эффект арифметики.

Точки, которые не заканчивают предложение

Вход

1
00:00:01,000 --> 00:00:03,000
Mr. Smith left at 3.5 seconds.

2
00:00:05,000 --> 00:00:08,000
Dr. Jones arrived. The room was full.

Выход

1
00:00:01,000 --> 00:00:03,000
Mr. Smith left at 3.5 seconds.

2
00:00:05,000 --> 00:00:06,500
Dr. Jones arrived.

3
00:00:06,500 --> 00:00:08,000
The room was full.

В первой реплике три точки, и ни одна не заканчивает предложение, поэтому она возвращается целиком. Во второй два настоящих конца предложений, и она становится двумя репликами, причём Dr. снова остаётся целым. Эта пара — всё суждение в одном файле: что покрывает список сокращений, то и решает результат.

Одно предложение на строку, совсем без знаков

Вход

1
00:00:01,000 --> 00:00:04,000
He said hello
then she answered quietly.

Выход

1
00:00:01,000 --> 00:00:02,000
He said hello

2
00:00:02,000 --> 00:00:04,000
then she answered quietly.

Между двумя строками нет точки, поэтому сам перенос строки считается концом предложения. Файлы, записанные так, часто встречаются в экспортах расшифровки, и именно это правило делает их делимыми. Каждая часть получает половину отрезка, потому что во второй строке 26 символов против 13 в первой.

Частые вопросы

Как эта страница определяет, где кончается одно предложение и начинается следующее?

Она ищет точку, вопросительный или восклицательный знак, после которого начинается новое предложение, включая полноширинные варианты для китайского и японского, и считает концом предложения каждый перенос строки внутри реплики. Метка не считается концом в трёх случаях: дальше идёт строчная буква (e.g. this), по обе стороны стоят цифры (3,5), или слово стоит в списке сокращений — Mr., Mrs., Dr., Prof., St., Jr., Sr., vs., etc., fig., no., vol., approx., inc., ltd., co., dept., a.m., p.m., u.s., u.k., а также любая одиночная буква вроде J.

Реплика без точки, но с переносом строки — она разделится?

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

Чем разделение по концам предложений отличается от разрезания по знакам препинания?

Тем, что закрывающая кавычка или скобка после точки остаётся с той фразой, которая закончилась: «He said „Stop.“ And left.» делится после закрывающей кавычки, а не между точкой и кавычкой. Точка внутри числа, инициала или сокращения вообще не считается концом предложения, поэтому реплика вроде «Dr. Jones arrived at 3,5 p.m.» остаётся целой до следующего настоящего знака или переноса строки. Иначе говоря, страница ищет концы предложений, а не просто все точки подряд.

Сохраняют ли разделённые предложения прежние времена?

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

Можно ли этой страницей превратить расшифровку в субтитры по одному предложению?

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

Что происходит с оформлением реплики при разделении по предложениям?

Стиль, позиция и караоке-тайминг записаны на конкретной реплике, поэтому первая часть их сохраняет, а созданные после неё части выходят без оформления. Это видно на ASS и на репликах WebVTT с позиционированием, а отчёт считает, сколько новых реплик осталось без оформления. Для файла с плотным оформлением каждой реплики ручное разделение в редакторе субтитров может оказаться менее разрушительным, чем прогон всего файла.

Похожие инструменты