Excel как альтернатива Subtitle Workshop
(опыт автоматизации создания субтитров)

Леонид Гуральник

 

Что нового?

26.04.2010

 

    Новая версия Subs-by-Syllables-2.0 – простая в обращении, быстродействующая программа для создания русских субтитров к DVD-дискам, содержащим субтитры на других языках (предпочтительно, на языке оригинала), автоматически извлекающая и форматирующая необходимые тексты из файла с русским переводом. Особенно удобна для видеозаписей опер, мюзиклов и драматических спектаклей с поэтическим текстом, для которых имеются эквиритмические переводы (поэтический перевод с соблюдением стихотворного размера оригинала). В качестве перевода может быть использован как полный текст либретто (пьесы, сценария), так и готовые уже субтитры к другой постановке того же произведения, нуждающиеся в перекомпоновке текста и синхронизации его с новой видеозаписью (так называемая "подгонка" субтитров).

 

    Основные отличия от версии 2003.1.5:

 

Программа написана под Excel 2003 и протестирована на большом количестве примеров. Все функции, кроме функций "фильтрации" текстов, поддерживаются также в версии Excel 2000.

 

Об эквиритмическом переводе, подсчете слогов и принципе работы программы

    

 

Как пользоваться программой?

 

1. Запуск программы

 

Перед началом работы с программой рекомендую сохранить ее резервную копию на случай каких бы то ни было сбоев.

Установите для Excel средний или низкий уровень безопасности макросов. Пройдите на вкладку "Безопасность" окна Сервис → Параметры, далее в окно "Безопасность макросов…" На вкладке "Уровень безопасности" выберите вариант Средняя или Низкая. При запуске программы, в ответ на предупреждение о макросах от sbs-4 жмите "Не отключать макросы".

 

2. Что на входе?

 

Для работы программе требуются:

 

а) субтитры на языке оригинала в форматах srt либо sub для MicroDVD

Как извлечь субтитры с DVD?

 

б) русский (эквиритмический) перевод либретто либо существующие уже русские субтитры для другой постановки той же оперы (также в форматах sub или srt)

 

3. Работа с программой

 

Пройдите на лист "Настройки". Выберите язык оригинальных субтитров из раскрывающегося списка в левой верхней части окна, а также один из двух соответствующих ему "стилей" (только для итальянского и английского языков).

 

Если вы уверены, что извлеченные с диска субтитры не содержат ошибок кодовой страницы (русские буквы вместо латинских букв с акцентами, умляутами и т.п.) и распознавания большой буквы 'I' как малая 'l' или наоборот, то снимите соответствующие флажки. При наличии сомнений лучше оставьте их включенными.

Установите переключатель систем телевидения PAL / NTSC в соответствие с оригинальным DVD.

Остальные настройки рекомендую для начала не менять. Их описание см. в Приложении.

 

Если русское либретто взято на сайте "Оперные либретто" либо на сайте "Русский Байрейт", то Subs-by-Syllables-2.0 автоматически удалит из него тексты, не предназначенные для пения (сценические и исполнительские ремарки, имена персонажей перед каждой их репликой и т.п.) Также автоматически удаляются фрейм- и тайм-коды из субтитров, выполненных для другой постановки той же оперы. Во всех прочих случаях нужно удалить все подобные тексты самостоятельно. Желательно при этом, чтобы реплики разных персонажей начинались с новой строки и были отмечены дефисом и следующим за ним пробелом (как в книжных диалогах). С помощью Subs-by-Syllables-2.0 можно ускорить и эти рутинные операции, если форматирование текста, предназначенного для пения, в файле с русским либретто чем-то отличается от оформления остального текста. В этом случае следует установить флажок "Самостоятельно фильтровать либретто" на листе "Настройки". 
 
Примечание: функции "фильтрации текста" недоступны в
Excel 2000

 

Перейдите на лист "Ввод_данных" и вставьте (в любой последовательности) оригинальные субтитры в столбец B (ячейка B2) и русский перевод либретто (в A2) либо заранее "отфильтрованный" текст или "старые" субтитры для "подгонки" (в C2). Для вставки используйте обычный метод копирования через буфер обмена – из Блокнота, открыв в нем оригинальные субтитры, и из MS-Word для файла перевода.

 

Для "самостоятельной фильтрации" файлов с либретто используйте разнообразные опции автоматического поиска и замены по форматированию (меню Правка → Замена…). В окне "Найти и заменить…" нажмите Параметры >> → Искать: на листе, Найти: → Формат… (треугольничек справа) → Выбрать формат из ячейки… Щелкните по ячейке, которая может служить примером оформления текста, подлежащего удалению, и нажмите кнопку "Найти все". Убедившись, что в число выделенных ячеек не попали ячейки с "поющимся текстом", нажмите кнопку "Заменить все". Проделайте те же действия со всеми вариантами оформления удаляемых текстов. Если есть признак оформления, отличающий ячейки с именами персонажей перед их репликами, то, выделив их, выберите в качестве образца для замены ячейку с "поющимся" текстом, а в поле Заменить на: введите дефис с пробелом ("- "). Неудачные попытки фильтрации можно отменять соответствующей командой меню Правка или кнопкой на стандартной панели. Покончив с фильтрацией, нажмите кнопку "Готово" в окне формы (если его нет на экране, нажмите Ctrl+t). При этом пустые строки будут удалены, а текст скопирован в столбец C на листе "Ввод_данных". Дождитесь окончания анализа введенных данных.

 

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

Мелкие ритмические расхождения исправляются автоматически, если установлен флажок Учитывать оформление текста в файле перевода.

Остальное корректируется вручную.

 

4. Корректура субтитров с "ритмическими нарушениями"

Коррекция осуществляются путем ввода определенных чисел, текстов и символов в ячейки "незатененных" столбцов на листе "Корректор" с учетом установок, выбранных на листе "Настройки".

Описание листов и элементов управления программы

Для корректировки имеются следующие возможности:

  1. Если к текущему варианту субтитра (столбец S) необходимо добавить одно или несколько слов, просто вставьте их количество в столбец R и нажмите ENTER.   
    Наоборот, если часть слов появилась в субтитре преждевременно, введите их количество со знаком "-".
    Примечание 1: вместо "-1" достаточно ввести "-".
    Примечание 2: слова, не образующие самостоятельных слогов, – предлоги в, к, с, а также частицы б, ж, ль – при подсчете слов не учитываются.  
     
  2. Если последовательность или состав оригинальных субтитров на DVD расходится с имеющимся текстом перевода, используйте вставку чисел в столбец P. Положительное число перемещает вас на соответствующее количество слов далее по тексту перевода, отрицательное – наоборот, к началу. Таким образом к "пропущенному" фрагменту всегда можно вернуться.  
    Для облегчения ориентации в тексте имеется специальное окно "Навигатор", а также возможность перемещать выделенные фрагменты с помощью "горячих клавиш".  
     
  3.                            Работа с окном "Навигатора" 
     
    Окно "Навигатор" вызывается сочетанием клавиш Ctrl+Shift+G.  
    В двух больших текстовых полях располагаются стыкуемые фрагменты по 50 слов в каждом. Любые перемещения по листу "Корректор" отражаются и в "Навигаторе": текст, начиная с субтитра, на котором установлен курсор, отображается в нижнем текстовом поле; текстом субтитра строкой выше курсора завершается фрагмент в верхнем текстовом поле. Если на этом стыке вы уже ввели какие-либо числа в столбцы P и R, то они отразятся в маленьких текстовых полях справа от больших. С помощью верхнего "счетчика" можно изменить количество слов в последнем титре перед переходом (можно также ввести число в верхнее малое поле). С помощью нижнего счетчика либо малого поля можно переместиться в любую точку исходного текста перевода. Если в столбцы P и R на листе большие числа приходится вводить наугад вслепую, а затем корректировать их, то в "Навигаторе" любое действие со счетчиками или малыми текстовыми полями моментально отражается на больших полях, наглядно представляя, как будет выглядеть стык. Если флажок "Начинать с нового титра" не установлен, а первый из стыкуемых субтитров оказался короче (по числу слогов) своего "прообраза" на языке оригинала, то недостающее количество слогов будет заполнено за счет начала второго стыкуемого субтитра, таким образом, два субтитра полностью или частично сольются в один. Если этот флажок установить, такого слияния не произойдет. Два других флажка позволяют добавить перед началом каждого из стыкуемых фрагментов тире (это важно в диалоговых сценах и оперных ансамблях). 
      

  4.                            Использование "Горячих клавиш"  
     
    Другой способ перекомпоновки текста – "горячие клавиши", имитирующие стандартные операции копирования и вставки вводом необходимых чисел в столбцы P и R.   
             Выделите диапазон строк для применения к ним "горячих клавиш" (Строки можно выделить в любом столбце листа "Корректор": независимо от этого, все действия производятся только над текстом перевода из соответствующих ячеек столбца
    S.)
             Нажмите нужное сочетание клавиш:
                                                 Горячие клавиши          Команда
            
                                                
    Ctrl+Shift+D                   Пропустить
                                                
    Ctrl+Shift+X                   Вырезать
                                                
    Ctrl+Shift+C                   Скопировать
                                                
    Ctrl+Shift+V                   Вставить
            
             Чтобы поменять местами два фрагмента:
                       выделите первый фрагмент и нажмите
    Ctrl+Shift+C
                       выделите второй фрагмент и нажмите
    Ctrl+Shift+C
                       нажмите
    Ctrl+Shift+V

 

  1. При необходимости внесения изменений внутри субтитра, перестановки фрагментов текста из одного титра в другой и т.п., выделите в любом столбце диапазон строк, подлежащих редактуре, и нажмите кнопку "Править" в окошке с кнопками. Откроется окно встроенного текстового редактора со скопированным содержимым ячеек столбца S из выделенных вами строк. В редакторе доступны все стандартные функции копирования, встаки и т.д. Единственное отличие от Блокнота: для ввода "абзаца" клавишу ENTER следует нажимать вместе с Shift или с Ctrl. Внесите в текст титров все необходимые изменения и нажмите кнопку OK. Все изменения попадут в соответствующие ячейки, сами же ячейки будут "заморожены" (выделены синим цветом). Такие ячейки не зависят от цифр, вводимых в столбцы M, P и R. Чтобы "разморозить" ячейки, снова выберите необходимый диапазон строк, нажмите кнопку "Править" и, нечего в этих строках не меняя, нажмите OK.   
     
  2. Если субтитры оригинала чересчур дробны и их деление часто попадает в русском переводе поперек слова, при этом более крупное деление, совпадая с синтаксическими структурами музыки и текста, подобных проблем не порождает, имеет смысл объединять такие субтитры по два или даже по три. Чтобы объединить субтитр со следующим за ним субтитром, поставьте в текущем титре знак "+" в столбце M. Чтобы объединить три подряд идущих субтитра, вместо плюса введите в столбец M цифру 3. На полученный в результате субтитр отводится участок времени, занимаемого в исходной версии титров двумя (тремя) объединенными субтитрами. Добавление и удаление плюсов и троек в столбце M возможно в любое время и в любом месте, причем, независимо от выбранного режима работы ("строгий" или "произвольный"). Например, откорректировав все расхождения вводом цифр, можно еще раз пробежать глазами текст на предмет объединения неоправданно коротких субтитров, дробящих фразу на лишенные смысла кусочки.   
     
  3. В программе предусмотрены два режима редактирования – строгий и произвольный (соответствующие позиции переключателя на листе настроек). В первом случае вносить правку в субтитры нужно строго по порядку, не забегая вперед и не возвращаясь к пропущенным фрагментам, так как каждое вносимое изменение переформатирует все последующие субтитры, и проделанная над ними работа "рассыпается". Во втором случае вносимые изменения распространяются лишь на участок до первого изменения, внесенного прежде. Это дает возможность редактировать титры в совершенно произвольном порядке. Данный режим, однако, может ощутимо замедлить работу программы, особенно если в нее загружены большие по объёму тексты.

 

5. Сохранение результатов

 

    По окончании корректуры нажмите кнопку "Готово" в окошке с кнопками. Откроется лист "Результаты" с двумя вариантами готовых субтитров: в формате sub (столбец A) и srt (столбец H). Введите имя файла субтитров для сохранения в ячейку AE2. Нажмите кнопку сохранения титров в нужном Вам формате ("Export in *.sub" или "Export in *.srt"). Файлы сохраняются в папке, где находится сама программа.

 

    Поскольку готовые субтитры сохраняются в текстовом формате, а не в формате Excel, сохранение рабочих файлов .xls имеет смысл лишь в случаях, когда работа над титрами не завершена и ее планируется продолжить в будущем. Сохраняйте такие файлы под своими уникальными именами. (Пересохранение файла программы под тем же именем, даже после удаления всех загруженных в нее текстов, ведет к увеличению ее размеров, снижению быстродействия и накоплению ошибок.)

 

    Для удаления всех текстов из файла программы (после сохранения результатов работы) используйте кнопку "Очистить" в окне с кнопками. Для удаления следов пользовательской корректуры – кнопку "Обнулить".

ПРИЛОЖЕНИЕ

Описание листов и элементов управления программы

Лист "Ввод_данных"

A

Столбец для ввода либретто с сайта Оперные либретто либо из другого источника, если форматирование файла позволяет отличить текст, предназначенный для пения, от всех прочих. Столбец отображается, если на листе "Настройки" выбран соответствующий флажок.

B

Столбец для ввода субтитров на языке оригинала

C

Столбец для ввода русского эквиритмического перевода либретто, очищенного от текстов, не предназначенных для пения, либо русских субтитров к другой постановке оперы для их "подгонки" к новой записи.

В режиме автокоррекции разбиения на строки "сторонних" субтитров сюда вводится исходный текст субтитров в формате sub либо srt (на любом языке).

Лист "Настройки"

Сектор "Языковые параметры"

Раскрывающийся список для выбора языка оригинальных субтитров; переключатель для выбора его "стилевой разновидности" (только для итальянского и английского языкаов); флажки для включения / отключения коррекции ошибок, возникающих в результате неправильного сохранения субтитров и неправильного распознавания заглавной I и строчной l в программе SubRip

Сектор "ШТАМП"

Дополнительный титр в конце файла, в котором можно указать автора перевода, субтитров и т.п. информацию. Допускается более двух строк. В поле H5 вводится интервал между окончанием последнего субтитра и началом штампа (в секундах), в поле H6 продолжительность самого штампа.

Сектор "Автокоррекция в процессе редактирования"

Два флажка для включения и отключения соответствующих функций программы

Учитывать оформление текста в файле перевода

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

Исправлять тире в диалогах

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

Примечание: на выходе программы, листе "Результаты", дефисы заменены коротким тире (Chr. 150), а прилегающие к ним пробелы – неразрывными пробелами (Chr. 160)

Сектор "Параметры строк внутри титра"

Набор настроек внутрититрового разбиения на строки. Учитываются:

Программа также не допускает более двух строк в субтитре, удаляя при необходимости лишние разделители.

Три текстовых поля (ячейки J13 - J15)

Числовые настройки автокоррекции внутрититрового разделения на строки. Определяют граничные значения соответствующих параметров в знаках. В двух первых случаях имеется в виду суммарное число знаков в строках субтитра, в третьем – длина отдельной строки.

Внимание: введение в эти поля исключающих друг друга значений может привести к сбою в работе программы!

Для отключения этой автокорректировки введите в первое поле число 100; во второе – число 3.

Переключатель "Расчет"

…по средней длине субтитра: вычисляет среднюю длину субтитра в данном проекте и предлагает "оптимальные" значения для настроек в ячейках J1 и J14.

…настройкам пользователя: использует значения, введенные в ячейки пользователем.

Оптимизировать длину строк в "сторонних" субтитрах

Установив этот флажок, можно произвести автокоррекцию внутрититрового разделения на строки в любом файле с субтитрами формата sub для MicroDVD или srt, на любом языке. Исходный текст вставляется при этом в столбец C на листе "Ввод_данных".

Переключатель "Порядок корректирования"

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

Отобразить колонку оперных либретто

Если в качестве источника перевода используется файл, содержащий только текст, предназначенный для пения, можно снять этот флажок, освободив дополнительное пространство для наглядного представления исходных текстов на листе "Ввод_данных".

Самостоятельно фильтровать либретто

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

Переключатель PAL / NTSC

Выбор ТВ-системы кнопками PAL и NTSC позволяет корректно конвертировать тайм- и фрейм-коды в случае сохранения титров в формате, отличном от исходного файла. Влияет также на пересчет во фреймы значений из ячеек H5 и H6.

Лист "Корректор"

"Затененные" (не редактируемые) столбцы

O

Оригинальные субтитры формата sub без фрейм-кодов с исправленными ошибками распознавания строчной ' l ' и прописной ' I ' и подмены кодовой страницы

S

Соответствующие оригинальным русские субтитры, меняющиеся в зависимости от значений, вводимых в незатененные столбцы таблицы

Q

Знаки "меньше" и "больше", указывающие на несоответствие числа слогов в субтитрах перевода и оригинала

"Незатененные" (редактируемые) столбцы (в порядке "значимости")

Столбец

Функция

Допустимые значения

R

Добавляет к данному субтитру (либо удаляет из него) соответствующее число слов (за счет последующих субтитров)

Целые числа (положительные и отрицательные)

P

Позволяет переместиться по тексту перевода на соответствующее число слов в любом направлении (полезно для купюр, изменений порядка сцен и отдельных реплик)

M

Объединяет данный субтитр с одним или двумя последующими. Распространяется на оригинал (текст), перевод (суммируется число слогов) и фрейм-коды (удаляются промежуточные)

Знак "+"; цифра "3"

Лист "Результаты"

Содержит окончательные тексты русских субтитров. Для обновления данных на листе нажмите кнопку "Готово" в окошке с кнопками.

A

Субтитры в формате sub для MicroDVD

H

Субтитры в формате srt (SubRip)

AE2

Поле ввода имени сохраняемого файла (файлов)

Кнопки в окошке формы

Окошко формы появляется по окончании ввода и анализа всех необходимых для работы программы данных и в некоторых других случаях, когда оно может понадобиться.

Для принудительного вывода / скрытия окошка формы нажмите Ctrl+t (в английской раскладке клавиатуры).

Править

Выводит окно встроенного текстового редактора с текстом предварительно выделенных строк

Готово

a. Собирает "вручную отфильтрованный" файл либретто в непрерывный блок ячеек; объединяет ячейки, содержащие дефис с пробелом, с последующими ячейками с текстом (лист "Libretto", только при активированной опции "Самостоятельно фильтровать либретто")

Копирует "вручную отфильтрованный" и скомпонованный текст в столбец C на листе "Ввод_данных" и запускает процедуру анализа введенных данных

b. Объединяет откорректированные тексты русских субтитров с тайм-/фрейм-кодами из оригинальных субтитров. Результаты отображаются на листе "Результаты" в виде субтитров в форматах sub и srt. Обновляет содержимое листа "Результаты" (если на других листах были сделаны какие-либо изменения).

Обнулить

Удаляет содержимое всех редактируемых столбцов на листе "Корректор", возвращая редактирование к его исходному пункту

Очистить

Удаляет все тексты и результаты их анализа (но не удаляет "корректуру", удаляемую кнопкой "Обнулить")

Export in *.sub и Export in *.srt

Сохраняет результаты в файлах соответствующих форматов. Имя файлов берется из ячейки AE2. Директория сохранения: в одной папке с программой.

Hosted by uCoz