大数跨境
0
0

【离线语音】安信可VC-01/02二次开发篇:SDK音频替换失败记录过程

【离线语音】安信可VC-01/02二次开发篇:SDK音频替换失败记录过程 安信可科技
2025-09-08
0

图片


安信可离线语音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 系列教程 【二次开发篇】自定义音频播放控制



安信可离线语音模组 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进行二次开发,建议直接使用安信可语音平台进行生成。 


生成后可以根据不同的事件来播放对应的音频。 不过也并不是没办法实现音频的播放,我们将在下一篇文章中进行介绍,下期再见~


1.gif



AI-Thinker-logo-原版-转曲.png

更多信息请点击:





产品https://docs.ai-thinker.com/


教程https://blog.csdn.net/Boantong_


官网www.ai-thinker.com


社区https://bbs.ai-thinker.com


业务咨询请联系:18022036575



【声明】内容源于网络
0
0
安信可科技
全球领先的联网模组、智能家居等物联网硬件方案提供商。
内容 393
粉丝 0
安信可科技 全球领先的联网模组、智能家居等物联网硬件方案提供商。
总阅读94
粉丝0
内容393