вторник, 8 июня 2010 г.

Протокол MRCPv1

Протокол MRCPv1 (Media Resource Control Protocol) описан в RFC4463, представляет собой простой текстовый протокол, похожий на HTTP. Передаваемые MRCP запросы и ответы инкапсулируются в транспортный протокол RTSP. Передача голосовых данных производится посредством протокола RTP. Спецификация определяет ряд методов и параметров, которые участвуют в установлении и управлении сессиями синтеза/распознавания.

Библиотека UniMRCP
Библиотека поддерживает версии протокола MRCPv1 и MRCPv2. Поддерживается работа с ресурсами распознавания, синтеза, верификации и записи речи. Для реализации протокола MRCPv2 используется библиотека SofiaSIP, библиотека кросс-платформенная и выпущена под лицензией Apache License 2.0, что позволяет использовать её в коммерческих решениях. Библиотека позволяет реализовать как MRCP клиент, так и сервер, в поставке имеются примеры реализации, которые служат хорошим примером для разработки своего приложения.
Кроме того автор активно работает над новыми возможностями, буквально на днях появился релиз 0.9.0 (0.8.0 был выпущен 3 месяца назад), основными нововведениями которого явились:
  • Поддержка 64-битных ОС
  • Поддержка ресурса записи
  • Поддержка для RFC4733/RFC2833 и Inband DTMF генерации и распознавания
  • Реализация RTCP стека
Модуль app_mrcp
На данный момент модуль представляет из себя базовую реализацию поддержки MRCP протокола, однако уже готовую к эксплуатации. Модуль работоспособен с Астериском всех версий начиная с 1.4. 
MRCPSynth — синтез речи
Приложение получает на вход текст, предназначенный для синтеза и ряд параметров, таких как:
  • Файл на жестком диске для записи синтезированной речи
  • Параметры синтезированного голоса (возраст, пол, голос)
  • Профиль сервера распознавания
Работает как приложение Playback, может производить запись полученного синтезированного голоса в файл, доступный для дальнейшего использования.
MRCPRecog — распознавание речи
Приложение получает на вход грамматику, после установления сессии с MRCP сервером передает все голосовые пакеты к ресурсу распознавания. Как только ресурс распознавания примет решение о том что распознавание закончено (по таймауту или успешному распознаванию в соответствии с грамматикой) приложение прекращает выполнение и устанавливает переменную диалплана RECOG_RESULT, которая содержит результат в формате NLSML. Приложение аналогично приложению Background — воспроизведение звукового файла прерывается успешным вводом пользователя.

Комментариев нет:

Отправить комментарий