语音识别将音频数据转为文本,文本如何转为机器人的动作,需要解析其中的指令。
speech_recognition_pycodebot 通过离线语音(Vosk)识别文本,在指令文件 model/speech_recognition_pycodebot/pycodebot.json中定义语音对应的控制指令。
通过 util_pycode_json.PycodeJson解析语音文本找到对应的操作对象和动作。
该节点默认绑定可以直接通过平台节点管理菜单启动。
| 参数名 | 描述 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| model_path | 模型 | String | vosk-model-small-cn-0.22 | 模型文件路径。可使用相对文件路径,在src/model/下建立与节点同名文件夹,将模型放入该文件夹,可直接使用该文件名。 |
| sample_rate | 采样率 | int | 16000 | 音频采用频率 |
| wake_words | 唤醒词 | String | 设为空不启用唤醒词。如果设置只有监听到唤醒词,才能发布识别结果,配合wake_timeout使用。 | |
| wake_timeout | 唤醒超时 | int | 60 | 单位秒(s),唤醒词超时时间,超时后不再发布语音识别结果。 |
| 动作 | 关键词 |
|---|---|
| start | 启动/开启/打开/开始/启用/运行 |
| stop | 停止/结束/关闭/停用 |
| 对象 | 关键词 |
|---|---|
| node_camera_raw | 图像/图片 + 采集 |
| node_camera_jpeg | 图像/图片 + 压缩 |
| face_recognition | 人脸 + 识别 |
| object_recognition | 物体/东西/物品/图像/图形 + 识别 |
| gesture_recognition_rps | 猜拳 + 识别 |
| gesture_recognition_digits | 数字 + 识别 |
| gesture_recognition_index_direction | 方向/指向 + 识别 |
| 动作 | 关键词 |
|---|---|
| compile | 编译 |
| 对象 | 关键词 |
|---|---|
| mycodebot | 我/个人 + 项目/工程/代码 |
语音识别结果: "启动图像采集"
匹配动作: start (关键词: "启动")
匹配对象: node_camera_raw (关键词同时包含: "图像", "采集")
发布识别结果: {
"action": "start",
"object": "node_camera_raw"
}
解析收到该结果后执行启动node_camera_raw节点的操作