为了给机器人添加语音,网上淘了一块离线语音芯片,用过之后就有些后悔了。离线语音定制性比较差,有150句限制,而且与大模型接驳需要一块额外的esp8266或者esp32。如果使用了esp32,事实上可以自己制作离线语音,还能轻松处理与大模型之间的衔接。
离线谙音模块了有很多优点,导入速度比较快,插几根杜邦线或者焊几根线就能接入,不用考虑音频采样,积别和分析,对话比较流畅,不会因为网线不好而中断,特别适合在家里控制使用,比如接上温湿计,接上红外,就能在家里开空调,读取室内温度,适合快速成型的项目,不需要写代码,使用可视化模块化开发。
离线语音模块除了电源四个引脚和喇叭两个引脚,还有10个引脚,不接其他mcu就可以实现一些简单的机器人功能,因为本身带咪点,就可以听话,带喇叭就可以说话,接个T FT屏就可以做一些简单的表情动画,彩屏除了电源接口还用去六个引脚,剩下四个引脚接四个舵机,就能跑路,如果希望多一些功能,可以把彩屏换成oled屏,OLED除了电源只需要两个引脚就能驱动,又能节省四个引脚,接入温湿度传感器,就可以获取室内温湿度,接入红外收发,就可以做个红外遥控器。如果希望莉取网络时间和实时的天气信息,就需要留两个引脚接个esp32或者esp8266,这样能接的设备就又变多了。不过感觉又有些多余,不如直接使用esp8266和esp32接入百度或者讯飞。
在别人代码基础上写了一个简单的语音模块。150限制有些少,同一个功能为了增加趣味性需要使用各种问话方式。这是一个简单的通过对话读取温度湿度并在屏幕显示的demo。使用提供的工具拖块开发,感觉效率不如写代码快,直接写代码好像无法保存,也不知道啥原因。顺手研究一下最近流行的可视化编程,就是个工具使用,但太费时间,
按代码连接引脚就可以,效果如下,使用语音启动,对话应该编的可笑一些,比如笑一个。