安信可离线语音VC-01/02:硬件规格书、开发资料、烧录工具、应用开发
安信可离线语音模组 VC-01、VC-02 系列教程 【基础认知篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【快速上手篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【中级入门篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【高级进阶篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】虚拟开发环境搭建和分享
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】事件和GPIO控制
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】PWM输出
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】串口输出
安信可离线语音VC-01/02:硬件规格书、开发资料、烧录工具、应用开发
安信可离线语音模组 VC-01、VC-02 系列教程 【基础认知篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【快速上手篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【中级入门篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【高级进阶篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】虚拟开发环境搭建和分享
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】事件和GPIO控制
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】PWM输出
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】串口输出
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】SDK音频替换失败记录过程
简介
在安信可离线语音模组 VC-01、VC-02 系列教程 【中级入门篇】中根据设置的不同回复词和命令字进行了固件生成。我出教程的时候在考虑有没有什么办法来替换到SDK中的音频,在我尝试了各种办法后发现很难办到 (建议直接使用云平台生成。 不要在SDK里手动添加, 容易匹配不上)
1、首先使用了TTSmaker生成了一段音频数据 “你好,我是小美”
2、使用在线MP3转换WAV文件将其转换成了WAV,并且放到了wav_tones文件夹下
其构建脚本res_build_tool.py 文件会自动将wav文件转换成MP3或者转换成PCM文件,供语音识别播放。
3、搜索了项目中所有的唤醒词 “你好小美” 的配置音频播放
比如
/home/vc02/Downloads/uni_hb_m_solution/unione_lite_app_hb_m/include/uni_nlu_content.h
比如
/home/vc02/Downloads/uni_hb_m_solution/unione_lite_app_hb_m/tools/scripts/cmd_reply_data.json
比如
/home/vc02/Downloads/uni_hb_m_solution/unione_lite_app_hb_m/tools/scripts/custom_config.json
比如
/home/vc02/Downloads/uni_hb_m_solution/unione_lite_app_hb_m/tools/scripts/pcm_map.txt
4、把上述文件中关于PCM播放的全部都替换成了对应的命名 108.PCM和 WAV音频文件保持了一致。
但是在编译成固件之后,所有的音频响应等还是沿用之前的并没有改变。
5、于是尝试修改
/home/vc02/Downloads/uni_hb_m_solution/unione_lite_app_hb_m/tools/scripts/cmd_reply_data.json 和
/home/vc02/Downloads/uni_hb_m_solution/unione_lite_app_hb_m/tools/scripts/custom_config.json 。
实际上这两个文件就算全部清空掉。 也对程序没有任何影响。
6、尝试修改了上述配置文件中的唤醒等待时间(默认是十秒)。
实际上编译后并不生效。(只能各个事件的KEY words 查找使用)
7、将所有的唤醒回复词的音频 103.WAV 104.WAV 105.WAV 和对应的MP3全部进行了删除, 然后使用108(自己生成的音频文件)命名成上述删除的103-105进行替换,并且进行了程序烧录。
所有的语音唤醒回复词全部失效。所以猜测所有的音频文件或者是语音识别的模型等,在下载SDK的时候,其内部嵌入的声学模型都已经对文件进行了某种校验或者加密算法。 当识别到文件hash值相同或者输入音频的nlu映射一致的话才能触发。
注意: 如果你尝试了上述操作造成音频不播放的情况,请使用原本固件的音频文件夹替换现在SDK里的音频文件夹即可恢复。
总结
对于音频文件的替换等, 不建议使用SDK进行二次开发,建议直接使用安信可语音平台进行生成。
生成后可以根据不同的事件来播放对应的音频。 不过也并不是没办法实现音频的播放,我们将在下一篇文章中进行介绍,下期再见~
业务咨询请联系:18022036575





