Powered by Universal Speech Solutions LLC


Yandex SR Plugin 1.6.0 Released

Yandex Speech Recognition (SR) Plugin 1.6.0 to the UniMRCP Server (UMS) has been released.

The plugin is based on the following components:

  • UniMRCP Server 1.7.0
  • Yandex SpeechKit Speech to Text API v2
  • gRPC 1.30.2
  • Protobuf 3.12.2
  • Libevent 2.1.9
  • Rapidjson 1.1.0

The binaries are currently available for the following Linux distributions:

  • Red Hat / CentOS 7 (unimrcp-yandex-sr-1.7.1-1.el7.x86_64.rpm)
  • Ubuntu 16.04 LTS (unimrcp-yandex-sr_1.7.1-xenial_amd64.deb)
  • Ubuntu 18.04 LTS (unimrcp-yandex-sr_1.7.1-bionic_amd64.deb)

This release is built against newer versions of gRPC, Protobuf and Yandex/Google APIs. The release introduces numerous supplementary features and enhancements to the existing functionality.

The detailed list of changes introduced in this release follows.
New Features
  • Added support for profanity-filter.
  • If a configuration parameter 'use-logging-tag' is set to 'true', the header field Logging-Tag, if specified, is used as a suffix while composing file names of utterances and RDRs.
  • If a configuration parameter 'stream-creation-timeout' is specified, a timer is set to track gRPC stream creation. If the service is unavailable or cannot be reached due to a network problem, the timer allows to respond with an error in a timely manner without waiting for expiration of the default gRPC deadline.
  • Implemented redirection of logs produced by the gRPC library. This feature is disabled by default and can be controlled by new configuration parameter 'grpc-log-redirection', 'grpc-log-verbosity' and 'grpc-log-trace'.
  • Added support for HTTP proxy in communication with license servers available as a service.
  • Added support for certain vendor-specific parameters, including 'speech-start-timeout'. See section 4.7 in the Usage Guide.
  • Made default SRGS XML scope configurable. By default, the scope is considered as 'strict' but can implicitly be used as 'hint', if a new configuration parameter 'match-srgs' is set to 'false'.
  • Added support for inter-result timeout. If the specified timeout is elapsed, input is considered complete. The timeout defaults to 0 (disabled) and can be overridden per recognition request.
Fixed Problems
  • Compose the header field Waveform-URI based on the protocol version. Before, the format defined in MRCPv2 was used unconditionally.
  • Set HTTP Proxy settings not only for gRPC but also for authentication requests.
  • Replaced 'x-request-id' with 'x-client-request-id' and 'x-enable-data-logging' with 'x-data-logging-enabled' to reflect the changes in Yandex SpeechKit API.
  • Changed processing of end of utterance to reflect the changes in Yandex SpeechKit API.
Configuration Parameters
  • Added new attribute 'match-srgs' to the element 'streaming-recognition'. The attribute defaults to 'true'.
  • Added a new attribute 'stream-creation-timeout' to the element 'streaming-recognition'. The attribute defaults to 0 (unset).
  • Added new attributes 'grpc-log-redirection', 'grpc-log-verbosity' and 'grpc-log-trace' to the element 'streaming-recognition'.
  • Added new attributes 'http-proxy-address' and 'http-proxy-port' to the element 'license-server'.
  • Added new attribute 'use-logging-tag' to the elements 'utterance-manager' and 'rdr-manager'.
  • Added a new attribute 'inter-result-timeout' to the element 'streaming-recognition'.
  • Changed default values of 'speech-incomplete-timeout' from 3000 msec to 15000 msec and 'input-timeout' from 10000 msec to 30000 msec.
  • Upgraded the gRPC library from 1.20.0 to 1.30.2 version.
  • Upgraded the Protobuf library from 3.7.0 to 3.12.2 version.
  • Added dependency from Google APIs used internally by Yandex APIs.
  • Updated the Usage Guide to reflect the changes introduced in this release.

Visit the Yandex SR plugin page for more information.


Thank you for using UniMRCP.

Arsen Chaloyan
Author of UniMRCP

Announcement Group

Subscribe to the Announcements Group if you prefer to receive news and press releases only. Please note that announcements are normally posted to the Discussion Group as well.