语音交互接口
YodaOS Event
Event rokid.turen.start_voice
表示语音请求开始,参数描述如下:
参数名称 | 类型 | 描述 |
---|---|---|
trigger |
int | 唤醒词 |
triggerStart |
int | 唤醒词在语音流的开始偏移量 |
triggerLength |
int | 唤醒词语音流长度(按采样点计算) |
soundIntensity |
float | 音强 |
enableCloudVerification |
int | 是否开启云端激活词确认 |
extra |
string | 拓展字段 |
Event rokid.turen.voice
表示收到声学模块的语音数据,参数如下:
参数名称 | 类型 | 描述 |
---|---|---|
voice |
binary | 音频数据 |
id |
int | 音频请求ID |
YodaOS Method
yodaos.voice-interface.tts.speak(dataChannel, utterance)
- 调用该接口可以发起语音合成请求
- 实现该接口可实现连接自定义的语音合成服务
参数如下:
参数名称 | 类型 | 描述 |
---|---|---|
dataChannel |
string | 合成后的语音数据将通过此 channel 广播发送 |
utterance |
string | 需要合成语音的文本,如:“你好” |
返回数字,具体含义如下:
返回值 | 代表含义 |
---|---|
0 | 成功,仅表示 Voice Interface Driver 成功接收请求 |
1 | 参数错误 |
2 | Voice Interface Driver 请求队列过长 |
调用者通过 dataChannel
会传递一个广播名给 Voice Interface Driver,
后者收到后会在获取到语音数据后,通过这个名称广播出来,具体消息格式如下:
参数名称 | 类型 | 描述 |
---|---|---|
state |
int | 0表示语音数据,1表示语音结束,-1表示云端请求超时,-2表示其他错误 |
data |
binary | 语音数据(可选) |
yodaos.voice-interface.nlp(asr)
- 调用该接口可以发起 NLP 请求
- 实现该接口可实现连接自定义的 NLP 服务
参数如下:
参数名称 | 类型 | 描述 |
---|---|---|
asr |
string | 输入的语音 |
返回数字,具体含义如下:
返回值 | 代表含义 |
---|---|
0 | 成功,仅表示 Voice Interface Driver 成功接收请求 |