Synth Dictionary Editor (Редактор словаря синтезатора)

Версия 1.0 — автор crucio2211

Обзор

Synth Dictionary Editor — это дополнение для NVDA, позволяющее просматривать и редактировать файлы словарей произношения (.dic), используемые синтезаторами IBMTTS и Eloquence, непосредственно из NVDA — без необходимости открывать отдельный текстовый редактор или вручную перезапускать NVDA.

Примечание: Это дополнение не связано со штатным словарём произношения NVDA (который находится в меню NVDA → Параметры → Словари произношения). Данное дополнение редактирует низкоуровневые .dic-файлы, которые непосредственно считываются движком синтезатора, предоставляя вам прямой контроль над тем, как синтезатор произносит конкретные слова.

Совместимость

Синтезатор| Примечания
---|---
IBMTTS| Должен быть установлен как дополнение NVDA. Поддерживаются все версии.
Eloquence| Должен быть установлен как дополнение NVDA. Поддерживаются все версии.

Требуется NVDA 2019.3 или новее.

Открытие редактора

Перейдите в меню NVDA → Сервис → Редактор словаря синтезатора...

Интерфейс редактора

Выбор файла словаря

Раскрывающийся список Файл словаря в верхней части позволяет переключаться между доступными .dic-файлами в папке синтезатора. Каждый файл может служить для разных целей (например, основной список слов, корневые формы, сокращения). Изменения применяются только к текущему выбранному файлу.

Поиск

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

Список записей

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

Управление записями

Добавление записи

Нажмите Добавить, введите слово и его произношение, затем нажмите OK.

Редактирование записи

Выберите запись и нажмите Изменить или дважды щёлкните по ней. При необходимости измените слово или произношение, затем нажмите OK.

Удаление записи

Выберите запись и нажмите Удалить. Перед удалением появится диалог подтверждения.

Генератор вариантов слова

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

Все предложения по умолчанию не отмечены. Просмотрите список, отметьте те, которые хотите добавить, при необходимости отредактируйте отдельные фонемы или вручную добавьте собственный вариант. Нажмите Добавить отмеченные, чтобы вставить их.

Импорт записей

Нажмите Импорт..., чтобы импортировать записи из одного .dic- или .txt-файла. Программа спросит, в какой файл словаря их объединить. Записи, слова которых уже существуют в целевом словаре (без учёта регистра), автоматически пропускаются.

Пакетный импорт

Нажмите Пакетный импорт..., чтобы импортировать несколько файлов одновременно. Выберите один или несколько .dic- или .txt-файлов в диалоге выбора файлов.

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

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

Соглашение об именах файлов словаря

Файлы словарей следуют строгому шаблону имени: код_языка + тип + .dic

Код языка — трёхбуквенный префикс, идентифицирующий язык:

Код| Язык
---|---
enu| Английский (США)
eng| Английский (Великобритания)
esp| Испанский (Испания)
esm| Испанский (Латинская Америка)
ptb| Португальский (Бразилия)
fra| Французский (Франция)
frc| Французский (Канада)
deu| Немецкий
ita| Итальянский
fin| Финский
chs| Китайский (упрощённый)
jpn| Японский
kor| Корейский

Суффикс типа определяет назначение словаря:

Суффикс| Назначение
---|---
main| Основной словарь произношения слов
root| Корневые формы слов
abbr| Сокращения и аббревиатуры

Примеры: enumain.dic, enuroot.dic, enuabbr.dic, ptbmain.dic, deuroot.dic

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

Экспорт записей

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

Сохранение

Нажмите Сохранить, чтобы записать изменения на диск. После нажатия OK в диалоге подтверждения синтезатор автоматически перезагружается, так что новые произношения вступают в силу немедленно — перезапускать NVDA не нужно.

Важно: Изменения вступают в силу только после сохранения. Если закрыть редактор без сохранения, программа предложит сохранить изменения или отменить их.

Удаление файла словаря

Нажмите Удалить словарь, чтобы безвозвратно удалить текущий выбранный .dic-файл с диска. Появится диалог подтверждения, в котором по умолчанию выбран вариант Нет, чтобы предотвратить случайное удаление.

Обновление онлайн-словаря

Раздел Обновление онлайн-словаря в нижней части редактора позволяет загружать и объединять записи произношения из общедоступных репозиториев GitHub.

  1. Выберите источник из раскрывающегося списка Источник.
  2. Нажмите Проверить обновления.
  3. Дополнение загружает файлы словарей из репозитория и объединяет новые записи с вашими существующими .dic-файлами. Повторяющиеся записи пропускаются. Новые файлы словарей, которых ещё нет в вашей папке, создаются автоматически.

Примечание: Обновление затрагивает все .dic-файлы из репозитория, а не только тот, который выбран в редакторе. Все записи записываются в кодировке CP1252 с окончаниями строк в стиле Windows (CRLF) для полной совместимости с синтезатором.

Руководство по произношению

Движки IBMTTS и Eloquence поддерживают два способа задания произношения для слова: строки фонем (SPR) и произношение по буквам. Приведённые здесь символы фонем предназначены для американского английского (enu). Для других языков существуют собственные наборы символов — обратитесь к справочнику по API IBM TTS.

Произношение по буквам

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

Слово| Запись по буквам| Результат
---|---|---
OMG| oh em jee| Звучит как «оу эм джи»
NVDA| en vee dee ay| Звучит как «эн ви ди ай»
CPU| see pee you| Звучит как «си пи ю»

Формат строки фонем (SPR)

Символическое фонетическое представление (Symbolic Phonetic Representation, SPR) даёт вам прямой контроль над точными звуками, которые воспроизводит синтезатор. Формат:

[_последовательность_фонем_]

Обёртка из обратных кавычек и квадратных скобок (``[...]`) указывает синтезатору, что содержимое следует интерпретировать как сырую последовательность фонем, а не как обычный текст.

Маркеры ударения слогов

Символ| Значение
---|---
1| Основное ударение (самое сильное)
2| Второстепенное ударение
0| Без ударения
.| Граница слога (необязательна для большинства языков)

Маркеры ударения ставятся слева от гласной ударного слога.

Американский английский — обычные гласные

Символ| Примеры слов
---|---
a| fa ther, lo t
A| ba ck, ha d
e| ca ke, pai n
E| he dge, le t
i| see , spea k, belie ve
I| pi ck, i ll
o| bo th, oa k
c| law , cough
u| zoo , tru th
U| too k, pu t
H| bu t, mu g, so n
R| butter , hur t

Американский английский — дифтонги

Символ| Примеры слов
---|---
O| toi l, boy
W| ou t, cow
Y| li fe, fi ne

Американский английский — редуцированные гласные

Символ| Примеры слов
---|---
x| sofa , alo ne, suppo se, Ame rica
X| rose s, conne ct, melo dy, sympho ny, hinte d

Американский английский — согласные

Символ| Примеры слов
---|---
b| b ad, sob
p| p it, rip
d| d ip, had
t| t ip, pet
g| g ood, bug
k| k ill, c at, mak e, back
D| th is, breath e
T| th ing, Beth
v| v ase, sav e
f| f ield, if , graph
z| z ip, phase
s| s eal, miss , ceiling
Z| treas ure, garag e
S| sh ip, wish
J| J ane, hug e
C| ch ip, witch , nat ure
h| h ot, h ero
m| m an, hum , summ er
n| n ever, sun , winn er
G| sing , fing er
r| borr ow, r ake
l| l ow, hall
w| w ear, qu ick
y| y es, Virginia
M| hmmm
?| гортанная смычка — kitt en, Lat in
F| одноударный согласный — writ er, fiddl e
N| слогообразующий носовой — button , satin , eaten

Полные примеры SPR (американский английский)

Слово| SPR-запись
---|---
though| [.1Do]` shocking| [.1Sa.0kIG] construction| ``[kXn1strHkSXn]
hello| [h.1E.0lo]` beautiful| [.1byu.0tI.0fXl] writer| ``[.1rY.0FR]
button| ``[.1bH.0tN]`

Совет: Для простых случаев начинайте с произношения по буквам. Используйте строки SPR, когда вам нужен точный контроль над ударением, качеством гласных или звуками, которые естественным образом не отображаются в английском написании. Обратите внимание, что x и X — это редуцированные гласные (как безударный гласный в слове «sofa»), а не согласные.

Журнал изменений

Версия 1.0

Лицензия

Это дополнение распространяется под лицензией GNU General Public License v2.0. Оно частично основано на коде дополнения Eloquence for NVDA, которое также распространяется под лицензией GPL v2.