Перейти до основного вмісту
SubtitleMatrix

Вилучити мітки часу з тексту

Текст і оформленняЗаміна за регулярним виразом
Або вставте текст субтитрів

Параметри

Регулярний вираз, що зіставляється з текстом кожної репліки. Кожен збіг замінюється. Дві сторінки цього розділу ділять поле: одна відкриває його порожнім для шаблону, який у вас уже є, інша починає з шаблону, який можна редагувати в будь-який бік.

Чим стає кожен збіг. Залиште порожнім, щоб видалити кожен збіг. На відміну від сторінки буквальної заміни, знак долара тут особливий: $1 — перша група в дужках, $& — весь збіг, $$ — буквальний знак долара.

Літери, з якими компілюється шаблон. g і u увімкнені за замовчуванням: u змушує шаблон читати текст по символу, а не по кодовій одиниці, і саме це робить \p{L} та подібні до них тим, чим вони названі. Додайте i, щоб ігнорувати регістр, m — для якорів рядків, s — щоб крапка збігалася з переносом рядка. Очистьте поле, щоб компілювати без жодних прапорців. Будь-яка інша літера відхиляється, а не ігнорується, бо шаблон, запущений із прапорцями, яких ви не просили, — це шаблон, що тихо означає щось інше.

У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.

Ця сторінка прибирає таймкоди, надруковані всередині тексту репліки, — [00:00:01], які транскрипт, експорт автоматичних субтитрів або чорновий монтаж зазвичай несе на початку кожного рядка. Ці позначки — частина слів, а не частина субтитрів: вони на екрані, їх бачить читач, і сторінка виймає їх разом із дужкою та пробілком після неї. Самі часи репліки, ті, що їх використовує плеєр, не чіпаються взагалі.

Це навмисно не сторінка, що видаляє все в дужках. Звукові позначки лишаються — [door slams], [phone rings], (music) — це інформація, яку трек для людей із вадами слуху зобов’язаний нести, а транскрипт, повний таймкодів, саме той файл, де вони зазвичай теж є. Числа, що лише виглядають як час, теж лишаються: 10:30 — це час доби без секунд, а 12:34:56:07 — покадровий таймкод із чотирма частинами, а не годинник. Зникає лише позначка з годинами, хвилинами й секундами.

Шаблон у полі й вирішує це, і ви можете його редагувати. Обидва його кінці перевіряють символи поруч із кандидатом: якщо символ перед або після є цифрою чи двокрапкою, то це частина чогось довшого й ніщо з нього не наше. Ця перевірка не прикраса: без неї рушій радо почне посередині 12:34:56:07, і рядок повернеться як SMPTE 12: плюс те, що йшло далі, а сторінка повідомить про одне видалення. Якщо ваші файли мають іншу форму — MM:SS без годин або позначки в фігурних дужках, — змініть шаблон, а не обходьте його.

Нічого не завантажується, кожен файл записується назад у власному форматі, а тека транскриптів може пройти чергу за один раз. Там, де весь текст репліки був позначкою, репліка лишається, а її текст порожній: діра в часовій шкалі — інша проблема, ніж рядок, якого там не має бути, і шукати її слід інструментами якості.

Приклади

Транскрипт, що несе момент кожного рядка

Вхід

[00:00:01] We should go.
[00:00:05] The train leaves at 10:30.

Результат

We should go.
The train leaves at 10:30.

Обидві позначки зникають разом із дужками й пробілком після них. На другий рядок варто подивитися: 10:30 — це час доби з двома частинами й без секунд, тому він лишається точно на місці. Саме ця відмінність і причина, чому сторінка виконує шаблон, а не видаляє все в дужках.

Позначки всередині справжнього файлу субтитрів

Вхід

1
00:00:01,000 --> 00:00:04,000
[00:00:12] (phone rings)

2
00:00:05,000 --> 00:00:08,000
(00:01:02.500) So I said yes.

Результат

1
00:00:01,000 --> 00:00:04,000
(phone rings)

2
00:00:05,000 --> 00:00:08,000
So I said yes.

Квадратні дужки, круглі дужки й мілісекунди — усе одним правилом. Звукова позначка й речення обидва виходять з початку з лівого краю, а часи реплік угорі кожного блоку недоторкані, бо вони — часова шкала файлу, а не текст.

Усе, що виглядає як таймкод і ним не є

Вхід

1
00:00:01,000 --> 00:00:04,000
SMPTE 12:34:56:07 and a ratio of 1:2:3 here.

2
00:00:05,000 --> 00:00:08,000
Call me at 10:30.

Результат

1
00:00:01,000 --> 00:00:04,000
SMPTE 12:34:56:07 and a ratio of 1:2:3 here.

2
00:00:05,000 --> 00:00:08,000
Call me at 10:30.

Файл повертається байт у байт, і в цьому суть. Покадровий таймкод, співвідношення й час доби без секунд лишаються недоторканими, і покадровий таймкод — найгостріший випадок, бо шаблон без перевірки попереду почав би з третього символу й з’їв 34:56:07, лишивши рядок, що читається як SMPTE 12: і виглядає майже правдоподібно.

Часті запитання

Чи змінюються часи реплік, коли прибирають позначки?

Ні. Рядки, які редагує ця сторінка, — це слова на екрані; початок і кінець, які читає плеєр, лежать у структурі файлу й повертаються недоторканими разом із номерами реплік і порядком. Якщо файлу треба зрушити часову шкалу, для цього є інструменти таймінгу. Сторінка взагалі не розбирає час поза текстом, тому не може його й переписати.

Чому час на кшталт 10:30 усе ще там?

Бо він має дві частини й не має секунд, а шаблон вимагає години, хвилини й секунди саме в такому порядку. Позначка, яку прибирає ця сторінка, — позиція в записі; 10:30 — час доби, який хтось сказав уголос, і його видалення змінило б те, що сказав персонаж. Якщо ваші файли справді несуть двокомпонентні позначки, приберіть години з шаблону й поверніть перевірку попереду.

Чи прибере вона покадровий таймкод на кшталт 12:34:56:07?

Ні, і саме навколо цього випадку шаблон і написано. Обидва кінці перевіряють сусідній символ: якщо символ перед або після кандидата є цифрою чи двокрапкою, кандидат — частина чогось довшого й лишається. Без цієї перевірки рушій почав би з третього символу й прибрав 34:56:07, перетворивши рядок на SMPTE 12: — правдоподібний на вигляд рядок, що втратив інформацію.

Чому звукові позначки в моєму файлі вижили?

Бо вони не таймкоди. Шаблон, що прибирає [00:01:23], не має причини чіпати [door slams], і це навмисно: невербальна інформація — саме те, для чого існує трек для людей із вадами слуху, а файли з надрукованими позначками часто саме ті, що її несуть. Якщо ви хочете прибрати текст у дужках як клас, для цього є окрема сторінка, що видаляє будь-яку зіставлену пару дужок і закриває проміжок за нею.

Чи можна змінити шаблон?

Так — поле редаговане, і це повне поле регулярного виразу, тому все зі сторінки загальних шаблонів тут працює. Дві речі варто зберегти: дужкову групу, що йде з позначкою, і пробілок після неї, а також перевірки на обох кінцях, бо без них довше число можна розрізати навпіл. Якщо ваші позначки — MM:SS без годин, прибрати групу годин і є потрібна правка.

Що буде, якщо репліка складалася лише з таймкоду?

Позначка зникне, і текст репліки стане порожнім, тож ця репліка кілька секунд не показуватиме нічого. Сама репліка не видаляється: діра в часовій шкалі — інша проблема, ніж рядок, який не має друкуватися, а прибирання тексту — вся робота цієї сторінки. Порожні репліки легко знайти потім інструментами якості, і саме там слід вирішувати, чим вони мають стати.

Таймкоди LRC належать форматові — їх теж приберуть?

Ні. У файлі LRC [mm:ss.xx] на початку рядка — це час файлу, і ця сторінка редагує лише слова рядка, ніколи його час. Те саме стосується номерів і таймкодів реплік SRT або налаштувань реплік WebVTT. Позначка прибирається лише тоді, коли вона надрукована всередині самого тексту.

Споріднені інструменти