Voice
The RDK Voice Service is a service for transmitting voice data over BLE in the RDK ecosystem. The RDK Voice Service is specifically designed to enable voice control of a BLE voice client. This document defines detailed requirements for the RDK Voice Service. It is intended to specify transmission of voice data from an RVS server to an RVS client.
References
Reasonable effort is made to keep references up to date with respect to versions and release dates, however manufacturers are responsible for ensuring they have the most recent version of a reference specification (unless otherwise noted). Where conflicts exist between requirements contained in this specification and normative references, the specification requirements govern.
Normative References
[ADPCM] Recommended Practices for Enhancing Digital Audio Compatibility in Multimedia Systems, IMA Digital Audio Focus and Technical Working Groups; DATWG Recommendation, October 21, 1992.
[BLUETOOTH] Bluetooth Core Specification version 4.0 or later
Terms and Definitions
Term |
Definition |
---|---|
Adaptive Differential Pulse-Code Modulation |
A compression algorithm that varies the size of the quantization step, allowing further reduction of the required bandwidth for a given signal-to-noise ratio. |
Opus |
|
Abbreviations and Acronyms
Abbrv |
Acronym |
---|---|
ADPCM |
Adaptive Differential Pulse-Code Modulation |
RVS |
RDK Voice Service |
BLE Voice Overview
The RDK Voice Service exposes data and associated formatting for streaming voice audio from an RDK Remote Control Device to an RDK based STB.
Conformance
All capabilities indicated as mandatory for this Service shall be supported in the specified manner (process-mandatory). This also applies for all optional and conditional capabilities for which support is indicated.
Service Dependency
This service is not dependent upon any other services.
Bluetooth Specification Release Compatibility
This specification is compatible with any Bluetooth core specification as defined in [BLUETOOTH] that includes the Generic Attribute Profile (GATT) specification and the Bluetooth Low Energy Controller specification.
GATT Sub-Procedure Requirements
Requirements in this section represent a minimum set of requirements for an RDK Remote Control Device (GATT Server). Other GATT sub-procedures may be used if supported by both Client and Server.
Table below summarises additional GATT sub-procedure requirements beyond those required by all GATT Servers.
GATT Sub-Procedure |
Requirement |
---|---|
Read Characteristic Value |
M |
Write Characteristic Value |
M |
Write Without Response |
O |
Notification |
M |
Read Characteristic Descriptors |
M |
Write Characteristic Descriptors |
M |
Transport Dependencies
The service shall only operate over an LE transport.
Error Codes
This service does not define any application error codes that are used in Attribute Protocol.
Byte Transmission Order
All characteristics used with this service shall be transmitted with the least significant octet first (i.e., little endian).
Service Requirements
Service Declaration
The service UUID shall be set to: TBD
Service Roles
A remote control or similar low power device enabled with one or multiple microphones should function as an RVS Server.
A settop box or other host capable of processing transmitted voice data should function as an RVS Client
Service Sequence Examples
Push-to-talk Voice Session Sequence
Explicitly Rejected Push-to-talk Voice Session Sequence
Far-Field Voice Session Sequence
Characteristic Overview