Теги SAPI 4

Теги SAPI 4

Для коррекции произношения используются так называемые теги (tags). Теги - это текстовые управляющие команды, вставляемые в читаемый текст, причем они сами не читаются, а подают синтезатору (речевому движку) справочную информацию (команды) по изменению тех или иных параметров чтения текста. Теги обрабатываются речевым синтезатором и, как следствие, не весь спектр тегов Speech API 4.0 наверняка поддерживается всеми движками. Однако наиболее часто употребляемые и распространенные теги, существующие начиная с предыдущих версий SAPI, можно использовать без раздумья. Более того, если введенный тег ошибочен или не поддерживается движком, то модуль прочитает его как набор символов.


Синтаксис

Так как теги являются текстовыми командами, которые внедряются в текст, то они должны строиться по определенным правилам, чтобы движок мог отделить команды от основного текста.

Chr

\Chr=string[[,string...]]\

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


"Angry"	
"Business"	
"Calm"	
"Depressed"	
"Excited"	
"Falsetto"	
"Happy"	
"Loud"	
"Monotone"
"Perky"
"Quiet"
"Sarcastic"
"Scared"
"Shout"
"Tense"
"Whisper"

Тип "Normal" соответствует обычному голосу.

Пример: \Chr="Angry"\

Параметр Описание
string Строка, которая определяет характеристики голоса.

Com

\Com=string\

Комментарий. Комментарии не читаются.

Пример: \Com="Это комментарий."\

Параметр Описание
string Текст комментария.

Ctx

\Ctx=string\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

Определяет содержание читаемого текста.

Пример: \Ctx="Unknown"\

Параметр Описание
string Строка, определяющая содержание читаемого текста.

Тег может иметь одно из следующих значений:

Значение Описание
"Address" Адрес и/или номер телефона
"C" Код на языке программирования C или C++
"Document" Текст документа
"E-Mail" Адрес электронной почты
"Numbers" Число, дата, время и т.д.
"Spreadsheet" Электронная таблица
"Unknown" Неопределенное содержание (значение по умолчанию)
"Normal" Нормальный режим чтения

Emp

\Emp\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

Выделяет интонацией слово, стоящее непосредственно за тегом.

Пример: the \Emp\truth, the \Emp\whole truth, and nothing \Emp\but the truth.

Dem

\Dem\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

Действие тега обратно предыдущему.

Eng

\Eng;GUID:command\
\Eng:command\

Посылает специальную программу речевому движку с идентификатором GUID.

Параметр Описание
GUID Глобальный уникальный идентификатор речевого движка.
command Текст команды.

Mrk

\Mrk=number\

Ставит в текст закладку.

Пример: \Mrk=75000\

Параметр Описание
number Номер закладки.

Число 0 является зарезервированным (\Mrk=0\), поэтому не может использоваться в качестве номера закладки.

Pau

\Pau=number\

Устанавливает паузу на указанное количество миллисекунд.

Пример: \Pau=1000\

Параметр Описание
number Количество миллисекунд в паузе.

Pit

\Pit=number\

Указывает тембр голоса в герцах.

Пример: \Pit=90\

Параметр Описание
number Тембр, в герцах.

Pra

\Pra=value\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

Устанавливает диапазон для тембра голоса.

Параметр Описание
value Диапазон для тембра, в герцах.

Prn

\Prn=text=pronunciation\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

Включает замену некоторого выражения на необходимое читаемое выражение.

Пример: \Prn=томат=томаат\

Параметр Описание
text Выражение.
pronunciation Фонетический эквивалент для произносимого текста.

Текст выражения пишется без кавычек. Тег (\Prn=томат\) отменяет сделанную замену.

Слова заменяются с учетом регистра, т. е. слово "Томат" переопределяться не будет.

Pro

\Pro=number\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

При значении 0 выключает правила чтения. Текст будет читаться без учета управляющих тегов и правил изменения интонации. Теги будут читаться по символам, а выражения - монотонно. При значении 1 данный режим отключается.

Example: \Pro=0\

Параметр Описание
number Код включения/отключения.

Prt

\Prt=string\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

Указывает, к какой части речи относится следующее слово.

Пример: \prt="Abbr"\

Параметр Описание
string Часть речи.

Тег может иметь одно из следующих значений:

Значение Описание
"Abbr" Сокращение
"Adj" Прилагательное
"Adv" Наречие
"Card" Количественное числительное
"Conj" Союз
"Cont" Стяжение, сокращение, например, "can't" вместо "cannot"
"Det" Существительное перед прилагательным
"Interj" Междометие
"N" Существительное
"Ord" Порядковое числительное
"Prep" Предлог
"Pron" Местоимение
"Prop" Существительное в виде имени собственного
"Punct" Пунктуация
"Quant" Существительное, которое выражает количество и предшествует прилагательному, например, "семь зеленых яблок"
"V" Глагол

RmS

\RmS=number\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

При значении 1 происходит чтение слов по буквам, при значении 0 - по словам.

Параметр Описание
number Код переключения

RmW

\RmW=number\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

При значении 1 между словами вставляются небольшие паузы, значение 0 восстанавливает режим без пауз.

Параметр Описание
number Код переключения.

RPit

\RPit=value\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

Устанавливает относительное значение тембра голоса.

Параметр Описание
value Относительное значение тембра. 100 - значение по умолчанию.

RPrn

\RPrn=value\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

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

Параметр Описание
value Относительный диапазон для тембра. 100 - значение по умолчанию.

RSpd

\RSpd=value\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

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

Параметр Описание
value Относительная скорость. 100 - значение по умолчанию.

Rst

\Rst\

Сбрасывает все установленные до него управляющие теги.

Spd

\Spd=number\

Изменяет скорость речи.

Пример: \Spd=120\

Параметр Описание
number Скорость речи (количество слов в минуту).

Vce

\Vce=charact=value[[,charact=value]]\
Примечание:   Некоторые речевые движки могут не поддерживать этот тег.

Заставляет движок изменить синтезатор на другой в соответствии с параметрами.

Параметр Описание
charact Параметр речевого движка.
value Значение параметра.

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

\Vce=Gender="Male",language="British English"\

Тег дает команду движку использовать синтезатор английского языка с мужским голосом.

В charact=value возможны следующие параметры:

Возраст Описание
"Baby" 1 год
"Toddler" 3 года
"Child" 6 лет
"Adolescent" 14 лет
"Adult" 20-60 лет
"Elderly" Старше 60 лет

Vol

\Vol=number\

Изменяет громкость речи.

Пример: \Vol=32768\

Параметр Описание
number Уровень громкости.

Значения от 0 до 65535 линейно изменяют громкость на обоих каналах. Если нужно изменить громкость на разных каналах, то надо взять число типа двойного слова (double word) и в старшую часть (левое слово) записать значение для левого канала, а в младшую (правое слово) - для правого. Например, значение 65536 устанавливает максимальную громкость на левом канале и минимальную на правом.


Скачено с сайта: best-of-best.narod.ru