Praat: как разметить реплики и события в TextGrid
Пошаговая разметка речи в Praat: интервалы реплик, точечные события, совместное открытие звука и TextGrid, сохранение и повторная проверка границ.
Определите, что именно нужно размечать
TextGrid в Praat связывает подписи с временными участками или точками записи. Такой результат нужен для ручной проверки реплик, поиска событий и последующей работы с размеченной речью. Здесь рассматривается базовая ручная разметка короткого разговора; это не обещание автоматического определения говорящих или фонем.
Выберите единицу работы до создания уровней. Для чтения интервью удобны реплики или короткие фразы. Разметка каждого слова требует гораздо больше времени и другого контроля границ. Не начинайте с фонем, если реальная задача — быстро вернуться к спорной фразе в записи.
Составьте маленькую схему: replies — интервалы с текстом реплик, events — точки отдельных событий. Если нужно отмечать длительность шума или паузы, создайте для них интервал, а не точку: событие в одной позиции не содержит начала и конца. Имена уровней задавайте без пробелов внутри одного имени, чтобы не разделить его на два уровня при создании.
Сохраните неизменённый исходник. Начните с короткой рабочей записи, запишите её имя и длительность. Откройте звук в Praat через Read from file. Если получилось несколько объектов, найдите нужный Sound; для длинных записей существует LongSound. Разметка должна быть привязана к конкретному файлу, а не к любому аудио с похожим названием.
Создайте TextGrid с интервалами и точками
Выделите Sound в окне Objects. В Annotate выберите To TextGrid. В Tier names укажите replies events, а в Point tiers — events. Тогда replies будет интервальным уровнем, events — точечным. Если нужны только интервалы, оставьте Point tiers пустым. Временная область нового TextGrid берётся из выбранного звука.
После создания в списке находятся отдельные объекты: Sound и TextGrid. Сам TextGrid не является медиафайлом и не хранит звук как замену исходнику. Выделите оба объекта и нажмите View & Edit: вверху будет запись, ниже — уровни разметки. Если открыть только TextGrid, подписи видны, но для прослушивания нужен соответствующий звук.
Проверьте начало и конец шкалы. Если TextGrid создан отдельно через Create TextGrid, временную область приходится задавать вручную; для первой работы создание из Sound уменьшает риск ошибки. Особенно внимательно сверяйте область, если раньше вы извлекали фрагмент с сохранённым исходным временем или новым отсчётом от нуля.
Интервальный уровень уже охватывает временную область непрерывной последовательностью интервалов. Вначале это может быть один пустой интервал на всю запись. Пустая подпись не означает пропавший участок; границы разделяют область, а текст заполняется отдельно. Не воспринимайте число пустых интервалов как число распознанных реплик.
Поставьте границы и проверьте подписи по звуку
Щёлкните в уровне replies, найдите начало нужной фразы по прослушиванию и поставьте курсор в эту позицию. Вставьте границу через меню Boundary/Point или Enter на выбранном уровне. Повторите для конца фразы. Затем выберите получившийся интервал и прослушайте его клавишей Tab, чтобы проверить, что слова попали внутрь полностью.
Текст выбранного интервала появляется в верхнем текстовом поле редактора. Введите проверенную реплику. Если вы делите уже подписанный интервал, редактор распределяет его текст между новыми частями с учётом позиции текстового курсора. После такого деления обязательно проверьте обе подписи: временная граница сама не понимает, где в тексте закончилась фраза.
Для события щёлкните в events, поставьте курсор и вставьте точку через соответствующую команду Boundary/Point. Подпишите событие, например «стук». Точка фиксирует позицию. Если важен весь интервал помехи, добавьте отдельный интервальный уровень через Tier и отметьте две границы. Не используйте одно обозначение одновременно для времени и длительности.
Границу можно перемещать мышью. После перемещения слушайте конец предыдущего и начало следующего интервала. При удалении границы соседние интервалы объединяются, а их подписи могут объединиться; это изменение разметки, которое тоже нужно проверить. Вид спектрограммы помогает ориентироваться, но не заменяет прослушивание конкретной реплики.
Для подготовки исходного текста можно получить расшифровку в Транскрибаторе, а затем вручную сверить её с участками. Не вставляйте автоматически весь абзац в первый интервал. Если нужны машинные метки слов, есть отдельное руководство по WhisperX; такие метки требуют проверки и сами по себе не обещают готовую ручную разметку TextGrid.
Сохраните разметку и проверьте повторное открытие
В редакторе выберите File → Save TextGrid as text file. В окне Objects можно выделить только TextGrid и использовать Save as text file. Сохраните его с понятным именем рядом с исходной записью. Если выделить несколько объектов, общий текстовый файл может стать Collection; для отдельной разметки проверяйте, что сохраняется именно TextGrid.
Затем заново прочитайте сохранённый TextGrid через Read from file и откройте его вместе с соответствующим Sound. Проверьте имена уровней, несколько границ, последнюю подпись и кириллицу. Файл должен восстановить структуру, а не просто выглядеть похожим на расшифровку в текстовом редакторе.
Save as text file сохраняет служебный формат объекта, а не обычный список реплик и не SRT. Переименование расширения не создаёт субтитры. Для обмена с другой программой отдельно уточните, поддерживает ли она TextGrid и нужную кодировку. Не удаляйте заголовки и числовые поля вручную ради «красивого TXT», пока это единственная копия разметки.
Не подменяйте исходный звук обработанной записью после завершения работы. Обрезка начала, склейка или изменение скорости меняют связь времени с содержимым. Для новой версии звука сохраните новую разметку и проверьте её заново. Обычная сверка текста по записи и проверка границ TextGrid решают связанные, но разные задачи: слова могут быть верными, а интервалы — сдвинутыми.
Реплика и стук требуют разных типов разметки
Учебный пример: короткий файл начинается с паузы. Гость говорит с 1,20 до 3,80 секунды; на 2,70 секунды слышен стук. Ведущий отвечает с 4,10 до 5,30 секунды. Для первых двух фраз нужны интервалы replies, а для одиночной отметки стука — точка events.
| Уровень | Тип и время | Подпись в учебном примере |
|---|---|---|
| replies | Интервал 1,20–3,80 с | Гость: «Проверим запись завтра». |
| events | Точка 2,70 с | Стук |
| replies | Интервал 4,10–5,30 с | Ведущий: «Хорошо». |
| noise, при необходимости | Отдельный интервал помехи | Длительность шума, а не одна точка |
Автор слушает каждый интервал и проверяет, что начальные согласные и последние слова не отрезаны. После сохранения он заново открывает TextGrid вместе со звуком. Точка стука остаётся отдельной отметкой внутри реплики и не заставляет делить текст на две самостоятельные фразы.
Карточка проверки TextGrid
Praat / версия / ОС: Исходный звук / версия / длительность: Временная область Sound: Tier names: Point tiers: Единица интервала: реплика / фраза / слово Правило записи говорящего: Как обозначается неразборчивое место: Проверены начало и конец каждой реплики: После деления проверены обе подписи: События с длительностью вынесены в интервалы: Сохранён отдельный TextGrid: Звук сохранён отдельно: Повторное открытие Sound + TextGrid: Кириллица / последний интервал проверены: Изменения исходного звука отсутствуют или учтены:
Частые вопросы
TextGrid хранит сам звук?
Это отдельный объект разметки. Храните соответствующий аудиофайл рядом и открывайте их вместе.
Почему редактор показывает подписи, но нечего слушать?
Проверьте, выделены ли одновременно TextGrid и соответствующий Sound либо LongSound перед View & Edit.
Как сделать только интервальные уровни?
Укажите их имена в Tier names и оставьте Point tiers пустым.
Точка подходит для паузы длиной две секунды?
Точка содержит одну временную позицию. Для начала и конца паузы используйте интервал.
Можно переименовать TextGrid в SRT?
Нет. Форматы имеют разную структуру. Для субтитров нужен отдельный корректный процесс преобразования и проверки.