SDK音频替换失败记录过程

描述

简介

在安信可离线语音模组 VC-01、VC-02 系列教程 【中级入门篇】中根据设置的不同回复词和命令字进行了固件生成。我出教程的时候在考虑有没有什么办法来替换到SDK中的音频,在我尝试了各种办法后发现很难办到 (建议直接使用云平台生成。 不要在SDK里手动添加, 容易匹配不上)

1、首先使用了TTSmaker生成了一段音频数据 “你好,我是小美”

2、使用在线MP3转换WAV文件将其转换成了WAV,并且放到了wav_tones文件夹下
 

SDK



其构建脚本res_build_tool.py 文件会自动将wav文件转换成MP3或者转换成PCM文件,供语音识别播放。
 

SDK




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
 

SDK




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

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分