【嵌入式开发】AI+硬件鲸鱼小车Task4--效果优化
摘要:本文分享了AI鲸鱼小车开发的学习资源与项目进展。课程教程和指南已在GitHub和Datawhale平台发布。作者完成了第一期课程并在B站发布了Task1-4的打卡视频。第二期优化了语音交互功能:将录音时长从15秒改为静音检测(4000ms),解决了ESP32语音包版本问题(3.2.0修复了尾音重复)。但仍存在未实现功能:显示屏通信、多语音模型切换。当前实现了类似车机的唤醒词交互模式,避免了持
📖 学习指南:课程主页与详细教程(可提前预习整体框架)
教程地址:https://github.com/datawhalechina/whale-bot
学习指南:https://www.datawhale.cn/learn/summary/268
第一期的课程我都按计划完成了,并在B站发布了打卡视频,有兴趣的朋友可以去了解一下。
【嵌入式开发】AI鲸鱼小车Task1_哔哩哔哩_bilibili
【嵌入式开发】AI鲸鱼小车Task2_哔哩哔哩_bilibili
【嵌入式开发】AI鲸鱼小车Task3_哔哩哔哩_bilibili
【嵌入式开发】AI鲸鱼小车Task4_哔哩哔哩_bilibili
1 Task4---效果优化视频展示
鲸鱼小车优化后效果
在Task1中记录了第一期没有实现的内容,这第二期由于时间的原因实现了其中的3点。
遗憾1:对话需要等待的时间比较长,还需要优化。(现在是需要等待10几秒)
-->在第二期已经实现。
1.教程中的源代码,设定录音时长是15秒,如果不修改,每次都要录满15秒,就很浪费时间。
#define MAX_RECORD_SECONDS 15 // 最大录音时长(秒)
如何修改呢,就是如果超过一定时间没有说话,就判断说话结束。
2.要修改一下语音间隔的判断时间:
源代码设置为1000ms,这会导致话还没有说完就判断结束了,这个时长不合适。
源代码如下:
#define VAD_SILENCE_MS 1000 // 检测到语音后,录音的时长
这个参数的作用是,检测到开始说话后,录制多长时间的音频。经过调试,觉得比较合适的时长是5000ms。如果都是短的提问,设置为2000就行。但是考虑到有时问题会长一些,时间太短不能录制全部的内容,所以时间设置为5000ms比较合适。(这里还要注意⚠️一点,Coze智能体回复的内容如果超过150字,语音播放会失败,可能是超出缓存了吧?所以,智能体的回复限制在100字以内语音播放比较稳定。)
遗憾2:ESP32与显示屏之间的通信方法还没有掌握,我想将聊天的内容显示到显示屏上。
-->时间原因,没来得及学习,以后有时间再学习吧!
遗憾3:语音播放时,尾音有重复的现象,还没有完全消除。一开始重复4次,到后来重复2次,如何使其不再重复,还需要摸索。
-->在第二期中已经实现。这应该是Arduino用的ESP32包的版本不同导致的。
第一期ESP32包的版本:2.0.13(这个尾音问题之前花了很多时间)
第二期ESP32包的版本:3.2.0
这次再写入ESP32程序后,发现无法播放语音了,前几天还是可以的。又排查了很久,想起来前几天我将EPS32包升级成最新的了,结果降回去又报错说版本冲突。最后没办法了,卸载了Arduino又装回来,来来回回几次终于弄好了。惊喜的是,安装了ESP32:3.2.0后尾音问题没有啦,哈哈!
遗憾4:切换语音的模型,可以设置不同的语音模型进行对话,而不是只能使用默认的。
-->在第二期中已经实现。
ESP32代码中这个per参数就是变更音色的,默认是103(度米朵-可爱童声),可以切换试试。
注意⚠️:有些音色的效果很差,比如方言类的,发音效果很难听,不清楚是硬件的原因,还是ESP32 I2S的原因。
经过多次的测试,发现了下面两个音色可用,并且效果不错!(在代码中将数字部分替换即可)
①度小柔-温柔女声-6567 ②度小鹿-甜美女声-5118

百度智能云音色的链接如下:b百度智能云:音色列表 - 语音技术
https://cloud.baidu.com/doc/SPEECH/s/Rluv3uq3d

这是其他参数的功能:

目标:像AI小智一样进行连续的多伦对话。
目前实现的效果已经很不错了!和AI小智基本相似。
AI小智没有运动功能,只有聊天模式。所以,鲸鱼小车的控制系统还是有所区别。
优化后的控制模式:
1.小车开机后,是待机状态。
2.用唤醒词“天问小鲸鱼”唤醒后,默认是运动模式,直接语音控制运动即可(例如,前进、后退、左转、右转、持续前减、持续后退、持续左转、持续右转、停止)
3.用唤醒词“天问小鲸鱼”唤醒后,用语音“小鲸鱼”,进入聊天模式,开始录音。(每次对话前都要呼叫“小鲸鱼”。如果使用每次回答后自动再次录音,周围噪音可能会导致不断的循环录制、回答。每次用“小鲸鱼”开启录音,可以避免周围噪音的干扰!)
好了,基于目前的效果,鲸鱼小车项目算是大功告成了!下个项目再见~
更多推荐
所有评论(0)