Примеры UniMRCP плагинов с реализацией синтеза и распознавания с использованием SmartSpeech.
- UniMRCP - клиент-серверная реализация протокола MRCP. https://www.unimrcp.org/
- SmartSpeech - сервисы распознавания и синтеза речи на технологиях Сбера. https://developers.sber.ru/portal/services/smartspeech
Реализованы базовые MRCP методы. Для распознавания: SET-PARAMS, DEFINE-GRAMMAR, RECOGNIZE, STOP. Для синтеза: SET-PARAMS, SPEAK, BARGE_IN_OCCURRED, STOP.
Для удобства и простоты все шаги реализованы с помощью докера и команд make.
Для сборки плагинов используется bazel, поэтому первый шаг - подготовка сборочного образа
$ make bazel-image
После того как сборочный образ готов необходимл собрать сами плагины
$ make build-plugins
Плагины скопируются в директорию output
Подготовка образа для unimrcp сервиса:
$ make unimrcp-image
Подготовка конфигурации, необходимо создать файл .env с
SMARTSPEECH_USER_ID=<...>
SMARTSPEECH_SECRET=<...>
SMARTSPEECH_SCOPE=SBER_SPEECHЗапуск сервера
❗️ Внимание: в текущем релизе невозможно запустить два плагина одновременно, управлять включением/выключением можно в
package/smartspeech-plugins-config.xml
$ make start-test-server
После этого можно запускать задачи на синтез/распознования в зависимости от плагина сервера.
Фраза для синтеза находится в package/speak.xml
$ make run-synth
Звук для распознавания находится package/one-8kHz.pcm
$ make run-recog