Технические аспекты
SALT не является новым языком, а служит для расширения
таких языков, как HTML, XHTML и XML за счет введения
дополнительных тегов и добавления в них поддержки голосовых
сервисов. С внедрением SALT пользователь вместе с
традиционным графическим интерфейсом получает речевой способ
взаимодействия с веб-порталами. Используя обычный компьютер,
КПК, сотовый или проводной телефон, он может голосом
запрашивать необходимую информацию, которая будет
представлена ему в виде синтезированной речи.
С точки же зрения программиста, для работы с SALT совсем
необязательно разбираться в тонкостях распознавания или
синтеза речи. Язык построен на основе модели событий, что
позволяет запрограммировать различного уровня сложности
диалоги с пользователем. Вставлять теги SALT в уже
существующие или только создаваемые HTML-, XHTML- и
XML-страницы можно с помощью привычных редакторов и утилит.
Первая версия спецификации SALT затрагивает три
возможности многомодальных систем: телефонный доступ, синтез
и распознавание речи.
В первой версии спецификации выделяются три основных тэга.
<listen
…>
конфигурирует распознаватель голоса,
распознает звуки, речь <prompt
…>
конфигурирует речевой синтезатор, выводит звуки
<dtmf
…>
конфигурирует и контролирует DTFM в телефонных
приложениях
Тэги listen и dtmf могут содержать
тэги <grammar> и <bind>
, listen может также содержать тэг <record>
SALT также показывает способы конфигурирования и
обеспечения контроля за телефонными звонками при помощи речи и
разметки.
<listen> используется для ввода речи (например
для навязывания "речевых" ссылок объектов).Он содержит
<grammar>, <record> и <bind>. Он также
содержит методы активации-деактивации, начала и прекращения
распознавания речи.
Приведем простой пример использования этого тэга:
<salt:listen id="travel">
<salt:grammar
src="./city.xml" /> <salt:bind
targetElement="txtBoxOriginCity"
value="/result/origin_city" /> </salt:listen>
<prompt> используется для определения
выхода. Он может содержать обычный текст, речевую исходящую
разметку, переменные значения, ссылку на аудиофайлы и
любую их комбинацию.
Пример:
<salt:prompt
id="ConfirmTravel"> So
you want to travel from <salt:value
targetElement="txtBoxOriginCity" targetAttribute="value" />
to
<salt:value
targetElement="txtBoxDestCity" targetAttribute="value" />
?
</salt:prompt>
<dtmf> используется в телефонных приложениях
для спецификации DTMF и для связи нажатия клавиши на
клавиатуре с вводом и других событий. Как и <listen>,
его основные элементы - <grammar> и <bind>
Пример:
<salt:dtmf id="dmtfPhoneNumber">
<salt:grammar src="7digits.gram" />
<salt:bind value="/result/phoneNumber"
targetElement="iptPhoneNumber" /> </salt:dtmf>
Как было упомянуто ранее, тэги в SALT - XML объекты в
документной объектной модели (ДОМ) страницы. Поэтому
каждый SALT тэг содержит методы, свойства и хранители
событий, которые доступны скрипту и из-за этого могут
взаимодействовать с другими событиями и процессами при
выполнении (загрузке) web страницы. Это позволяет речевому
интерфейсу SALTа быть полностью интегрированным в web
приложения.
Телефонный потенциал
Для телефонных диалогов SALT поддерживает механизмы
контроля вызова для управления телефонными подключениями,
включающие: