【离线语音专题①】安信可离线语音模组VC系列出厂固件使用教程——SDK开源?

[复制链接]
查看1623 | 回复12 | 2024-1-12 15:56:35 | 显示全部楼层 |阅读模式
前言
安信可发布的VC系列离线语音模组,采用云知声方案,在语音识别技术上不断优化和创新算法,离线识别算法与芯片架构深度融合,为客户提供超低成本的离线语音识别方案,可广泛且快速应用于智能家居,各类智能小家电,86盒,玩具,灯具等需要语音操控的产品。具体的性能:
· 支持唤醒词自学习(意思是不用编程就可以增加唤醒词)

· 支持中英文(不同固件)
· 1~5m 远场 90%识别率
· 支持RTOS轻量级系统
· 支持GPIO控制,UART、IIC、SPI等通讯协议
· 支持串口升级
VC系列一共有两款模组及其开发板,开发板的出厂固件和模组的出厂固件是不相同的。
1.png
一、使用前准备
1. 通讯接口
如果是使用模组进行串口连接的话,建议使用如下接口进行通讯:RX1、TX1。
2-.png
如果使用开发板,直接用USB 口调试就好了,模组与单片机或者TTL模块连接示意:

3.png
UART1默认的串口的配置:

4.png
2. 开发板硬件说明
VC-01和VC-02共用一款开发板:
5.png
3. 烧录说明
VC系列一共有两种烧录方式:
· JTAG调试器烧录
JTAG调试器烧录方式,是使用专用的JTAG调试器,烧录完整的固件,使用的软件是:UniOneDownloadTool.exe, 一般固件的文件名为:uni_app_release.bin
· 串口烧录
串口烧录的方式使用TTL模块进行固件升级,对模块没有任何要求,使用的软件是:UniOneUpdateTool.exe,一般固件的文件名为:uni_app_release_update.bin
两种烧录方式会在下面进行详细的介绍。
(1)JTAG烧录接线及烧录介绍

JTAG 烧录方式只能使用专用的JTAG调试器,不支持使用J-link等调试器烧录。
6.png
JTAG调试器与VC系列的连接如下:

7.png
连接好之后,把调试器插入电脑(调试器需要安装驱动,安装教程请看:Hummingbird-M-Production-Tool/M_Download_Tool_User_Guide.pdf),打开UniOneDownloadTool.exe:

8.png
烧录过程:
9.gif
(2)UART串口升级接线及烧录介绍
串口烧录的接线和通讯方式的接线相同,没有特别要注意的。最重要的是所烧录的固件有些要求:
烧录的固件必须是使用 build.sh update指令生成的uni_app_release_update.bin

烧录工具只能使用:UniOneUpdateTool.exe
下面就开始延时烧录过程:
10.gif
11.png
注意:所有端口号成功打开背景颜色会是黄色的

二、模组出厂固件使用

1. 指令词及指令码
模组出厂固件中,默认写入了一些通用的指令及其对应的指令码。
12.png
13.png
2. 指令码说明
每个指令码的都代表了VC当前所识别的指令,指令中的含义:以 “0x5a 0x00 0x00 0x00 0x5a” 为例
14.png
· 起始位:为固定值:0x5a
· 指令序号:代表唯一的指令:0x00 为唤醒词的序号
· 保留位1:固定值为:0x00
· 保留位2:固定值为:0x00
· 校验位:前四位的异或值,0x5aXOR0x00XOR0x00XOR0x00=0x5a
三、开发板出厂固件使用
开发板出厂固件的指令词和模组的一样,只是加入了LED控制功能及按键唤醒功能:
15.png
四、语音控制流程
16.png
五、总结
出厂固件已经具备了很不错的指令,单片机可以根据对应的指令码做相应的处理。指令码最重要的一个字节就是校验位,在C语言中可以这么做:
  1. //假如判断唤醒:0x5a 0x00 0x00 0x00 0x5a
  2. char start_bit=0x5a;
  3. char cmd_num_bit=0x00;
  4. char temp_num1_bit=0x00;
  5. char temp_num2_bit=0x00;
  6. //计算校验位
  7. char check_bit=start_bit^cmd_mun_bit^temp_num1_bit^temp_num2_bit;
复制代码
最重要的来了,到底支不支持二次开发?其实这篇文章中已经说得很清楚了。

六、友情链接
官方官网:https://www.ai-thinker.com
开发DOCS:https://docs.ai-thinker.com
技术支持:support@aithinker.com


用心做好保姆工作
回复

使用道具 举报

bzhou830 | 2024-1-12 16:15:40 | 显示全部楼层
选择去发光,而不是被照亮
回复

使用道具 举报

1084504793 | 2024-1-12 16:47:28 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2024-1-12 17:06:06 | 显示全部楼层
园长,有短文本语音合成方吗

企业微信截图_17050502485100.png

http://voice.ai-thinker.com/#/

看咱们平台有这个描述,不过没有找到入口。看大部分都是预制内容的播报。帮问问咱们工程师,如果想要通过uart传入数据,能不能使用播报功能呀。
或者有没有调用咱们语音合成的api什么的提供。

回复 支持 反对

使用道具 举报

干簧管 | 2024-1-12 19:12:15 | 显示全部楼层
WT_0213 发表于 2024-1-12 17:06
园长,有短文本语音合成方吗

回复 支持 反对

使用道具 举报

timo | 2024-1-12 22:11:24 | 显示全部楼层
回复

使用道具 举报

san | 2024-1-12 22:22:57 | 显示全部楼层
回复

使用道具 举报

lvxinjia123 | 2024-1-13 08:52:10 | 显示全部楼层
这个好
回复

使用道具 举报

爱笑 | 2024-1-15 10:31:01 | 显示全部楼层
WT_0213 发表于 2024-1-12 17:06
园长,有短文本语音合成方吗

没问题,我给问问工程师!
用心做好保姆工作
回复 支持 反对

使用道具 举报

Ai-Thinker小泽 | 2024-1-15 10:38:39 | 显示全部楼层
WT_0213 发表于 2024-1-12 17:06
园长,有短文本语音合成方吗

这个其实就是说,可以在平台输入你的回复播报,在SDK里面会有对应的音频文件,至于用串口接收来判断什么时候播报音频,这个得做逻辑处理,API就是直接调用你的音频播报文件。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则