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.
Miscellaneous
- 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.
http://www.unimrcp.org/ysr
Thank you for using UniMRCP.
--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org