Batch Track & Clip Rename и Regular Expressions в Pro Tools
Илья Путилин
Аккуратное именование дорожек, клипов и файлов во время работы над проектом является не только необходимым условием для слаженной работы команды, но и непременным условием сдачи готового проекта заказчику. К счастью, в Pro Tools есть удобный и мощный инструмент для переименования дорожек и клипов внутри проекта: Batch Rename. Несмотря на то, что для клипов и треков это разные функции, функционал у них абсолютно идентичен.
Скорее всего большинство пользователей Pro Tools и так знакомы с этим функционалом, но в этой статье мы решили показать возможности наверное самой мощной, при этом не такой популярной функции Batch Rename – использованию Regular Expressions.
В большинстве случаев функционал Regular Expressions избыточен и можно обойтись стандартными функциями диалога Batch Rename. При этом иногда Regular Expressions позволяет значительно сократить время для переименования большого количества клипов или треков.
Один из таких случаев – именование исходных материалов для сдачи проекта. Часто требуется выгрузить довольно большой набор стемов в разных форматах (5.1, стерео), плюс это всё умножается на количество частей, если мы говорим о фильме, или на количество серий, если мы говорим о сериале. И возможно ещё необходимо отдавать все материалы в двух вариантах фреймрейта: 24fps и 25fps. В таком случае общее количество выгружаемых файлов легко доходит до 100 и более, и если есть возможность корректно их переименовать в более-менее автоматическом режиме – это экономит большое количество времени и сил.
Немного о Regular Expressions
Regular Epressions – это инструмент для работы с текстами на основе паттернов. Эти паттерны составляются из типов или групп символов в определённом порядке и позволяют находить совпадающие с ними куски текста, а также заменять их по заданному алгоритму. Вот ссылки на несколько ресурсов, где можно подробнее почитать об этом и потренироваться в составлении паттернов:
- https://en.wikipedia.org/wiki/Regular_expression
- https://ru.wikipedia.org/wiki/Регулярные_выражения
- https://regex101.com/
- https://habr.com/ru/articles/545150/
Что имеем в начале и что нужно получить в конце
Дисклеймер: указанные ниже шаги скорее всего не получится использовать напрямую для какого-то другого проекта. Рекомендуем подходить к этой статье и примеру в ней не как к готовому руководству к действию, а скорее как к информации о возможностях движка и функциях, которые при некоторой адаптации и желании можно применить и к другим исходным данным. Более того, добиться такого же результата можно было бы и другими способами, в частности без использования Regular Expressions.
Итак, мы имеем исходные к 10 сериям сериала, которые были посчитаны через Offline Bounce для всех 10 серий разом в форматах 5.1 и 2.0.

Нужно разделить эти длинные файлы по сериям и назвать в соответствии с требованиями платформы (цитата с сайта с техническими требованиями):
Название файлов состоит из строгой последовательности элементов:
- Имя проекта (такое же как у основных мастеров)
- Номер сезона и эпизода (только для сериалов) в формате s00_e00
- Формат звука без точек: 20 (для стерео) или 51 (для 5.1)
- Тип мастера ME, DX, OPT_A, OPT_B, OPT_C и т. д.
- Дата создания в формате ГГГГ_ММ_ДД
- Тег языка озвучки (только для диалоговых мастеров) по стандарту ISO 639-2
- Специальные обозначения, если необходимы. Например v2, v3 и т. п.
Примеры:
План действий
- Разделить колбаски на серии
- Заменить XX на нужный номер серии
- Перенести название стема и формат в нужные места в соответствии с требованиями платформы
Разделение на серии

После разделения единых клипов на серии мы видим, что номера, автоматически присвоенные клипам, не соответствуют номерам серий. Поправить это можно с помощью простого применения Batch Rename:

Разберем по порядку что произойдёт с этой строчкой:
- Replace: cимволы XX исчезнут (заменятся на пустую строчку)
- Trim: отрежутся 3 символа с конца – в данной случае это -07
- Numbering: на 12 позицию с начала строчки добавится нумерация. Причем использование Number Of Places: 2 добавит нумерацию в виде 01, 02 ... 10, с нулем в начале.
Еще важно использовать именно Timeline Order, чтобы серии нумеровались по порядку слева направо. Минус только в том, что для корректной нумерации серий придётся применить это к каждому треку отдельно по очереди. В итоге получится:

Перенос имен стемов и формата на нужные места
Теперь для приведения имён клипов к нужному виду необходимо:
- Перенести название стема на место слова STEM
- Удалить символ ®
- Перенести формат (5.1 или 2.0) на нужное место в названии, удалив точку
Для этого как раз подходит функционал Regular Expressions. Применим следующие паттерны для поиска и замены для всех клипов:

А теперь по порядку разберём, что означают все эти кракозябры. Одно из основных преимуществ Regular Expressions заключается в возможности запомнить кусочки строчки, заданные по какому-то шаблону (паттерну), а затем составить из этих кусочков новую строчку, поменяв порядок. Каждый элемент внутри круглых скобок ( ... ) при обнаружении называется Capture Group и может быть использован по своему номеру в строчке в поле Replace: например $1 – означает то, что попадет в первые круглые скобки. Итак разберем строчку по порядку:
(^\S+_):
- символ ^ означает начало строки
- \S означает любой символ кроме пробела, а добавленный знак плюс – присутствие этого паттерна один или более раз
- _ означает собственно сам символ подчеркивания
То есть в первую группу попадёт: один или более любых символов кроме пробела с начала строчки до символа подчеркивание. Тут надо заметить, что движок является по умолчанию "жадным" и не остановится на первом же символе подчеркивания, а будет стараться захватить в паттерн как можно больше символов до следующего паттерна. Поэтому в первую группу попадёт:
STEM: тут все максимально просто. Это просто символы STEM, но поскольку они нам не нужны для формирования результата, мы их не включаем в Capture Group и поэтому не ставим вокруг них скобки.
(_\S+): сюда попадут все символы после STEM начиная с _ и до следующего совпадения, то есть во вторую группу попадёт:
_®: это тоже просто обычные символы, которые ограничат вторую группу. Поскольку они нам не нужны в финальной строчке, не включаем их в Capture Group.
(\S+): сюда попадут все символы кроме пробела между соседними паттернами, то всё от символа ® до пробела. Третья группа будет такая в в нашем примере:
\s: мета-символ, который означает пробел (whitespace)
(\d): \d означает одну любую цифру от 0 до 9, в нашем примере в четвертую группу попадёт:
[.]: сам символ . имеет специальную функцию, и чтобы обозначить в паттерне именно символ точку, а не мета-символ, его нужно обрамить в квадратные скобки. Поэтому паттерн [.] просто указывает на одну точку в строке. Поскольку в финальной строке нам точка не нужна, мы не добавляем её в Capture Group.
(\d): сюда попадёт вторая цифра формата, в нашем примере пятой группой будет:
А теперь из этих групп можно составить новые имена для клипов, добавив в нужном месте символ подчеркивания и поменяв порядок групп:
Здесь $1 означает первую группу (то, что совпало с паттерном в первых круглых скобках), $2 – вторую группу, и так далее.
В итоге одним движением все 100 клипов будут переименованы и будут иметь практически финальные названия:

Финальные штрихи
Для полного соответствия требованиям остаётся:
- Добавить к диалоговым стемам _rus в самом конце названия. Это легко сделать через Add – Suffix: _rus
- Удалить символ & из стема AMB&FX, делается тоже в одно движение через Find & Replace.