Технические аспекты

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 поддерживает механизмы контроля вызова для управления телефонными подключениями, включающие: