狗狗的智能,从语言沟通开始(十三)

打印 上一主题 下一主题

主题 947|帖子 947|积分 2841

   屏幕和语音辨认模块弄出来以后,实在基于ESP32的胖胖狗也就到头了。性能摆在那里,动力加上算力。和市面上那种小小的滚轮呆板人没有太多区别。总感觉又太可惜了,除了能听几句指令,做几个动作,还没那小的电力长期。需要重新思考了设计思路,狗狗一定要具备智能才有研究下去的意义。
    因为ESP32它本身无法承载AI运算力,那我就想着,把它的胖脑筋换个地方跑行不可?家里普遍都有一台电脑,使用电脑的计算力,和ESP32擅长的WIFI,团结起来基本上就完善了。假如方案可行,以后可以配置个mini主机,一个家庭中只要一个远控大脑,就可以给这些小呆板精力提供智慧算力。这个想法,灯哥也提出来过,大家不谋而合。 想到了就去做吧,倒腾了两周也算有点小希望了,赶紧写下来。
 言归正传,要想和狗狗能互通,首先就要有沟通渠道。网页遥控、语音命令都是单向的,受制于设备本身,比如语音都是特定的指令,错一个字,或者音不准都会有反应。看看如今家庭里常见的智能音响,起码人家还能陪你聊个天,扯个淡什么的。这狗子都没任何反应。那么打通交流的第一步就是语音交互。
   找了很多多少平台的,都是要上网,延长先不说,还要付费。不适合家庭内部使用。于是乎找到了百度飞桨的开源引擎,提供了强大的语音辨认(把语音翻译成文字)和TTS合成(把文字转换成语音)模块。而且是离线使用,用起来没有后顾之忧,就是它了!

官方有详细的安装方法,因为只要语音部门,这里提取了一下安装步骤,其他就可以跳过不用搞:
首先一定要安装的是python3.9版本,至于3.9.xxx不紧张,从3.9.9到3.9.21都可以。硬性规定。
然后安装引擎:
pip install paddlespeech
 
只要装这个 ,期间可能要升级一下pip。然后在用git拉取Paddlespeech的脚本,没有git软件的或者不会弄的,从网站源码直接下载压缩包解压出来都行:
git clone https://github.com/PaddlePaddle/PaddleSpeech.git
然后进入目次,执行pip安装脚本
cd PaddleSpeech
pip install .

记得要前面的paddlespeech安装乐成以后,再来安装脚本。
接下来就是启动服务了。先复制两个文件出来:

 
这两个文件,一个是asr语音辨认服务,一个是tts流式语音合成服务。为什么选这俩,我背面再说。先编辑第一个文件:

只留下第一个,其他的服务暂时不需要。记得端口上面是8090,第二个文件不用修改,默认就好。
然后开始启动第一个语音辨认服务步调:
paddlespeech_server start --config_file application.yaml
  第一次运行,会从官网下载离线模型,要点时间,耐心等候。这就是非流式语音辨认服务步调,选择非流式的缘故原由是能更好的把一句话完整的分析出来,便于指令和消息状态的明白和处理。而流式则轻易导致混乱,而且颠末测试发现非流式经常最后的语义辨认不出来。果断放弃。
再来启动第二个TTS语音合成,第一次也会要下载离线模型,等候一会:
​addlespeech_server start --config_file tts_online_application.yaml

端口是8092,别弄错了。
两个服务器就启动完成了。来测试一下语音辨认,因为对声音格式照旧有要求的,比如16bit,采样16000的单通道音频才气辨认,从官网下载一个语音文件,windows没有wget指令,直接复制背面的链接从浏览器下载就好了。
wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav
用命令测试一下:
paddlespeech_client asr --server_ip 127.0.0.1 --port 8090 --input zh.wav
应该就会返回中文辨认结果了。
再来试试TTS语音合成:
paddlespeech_client tts_online --server_ip 127.0.0.1 --port 8092 --protocol http --input "您好,我是可爱的胖胖狗" --output output.wav
 合成完毕,播放一下声音看看正不正常就可以了。
至此,语音辨认和合成服务器都已经有了。但是胖胖狗要怎么用这个服务呢?别担心,我已经调试好了两个模块:
tts_module_m.py,asr_module_m.py
在我的胖胖狗源码里面引入这两个模块,就可以和服务器通讯,自动辨认静音,噪声截断,自动线程异步播放TTS,基于I2S全傻瓜调用。当然还要硬件支持,我使用的是INMP441全向麦克风和MAX98357音频放大模块。这个部门我下一篇文章在来讲详。这里主要讲语音合成和辨认服务器的搭建过程。

通过这两个模块,如今就可以和狗狗语言,背面再接入AI模块或者网上的API接口,就能听懂你的话,而且狗狗想给你说的话,也可以通过TTS讲给你听了,至此狗狗的人机交互就算打通了。里面还有许多细节AI模块,我还在研究中,比如辨认语言中的语义来做行动,而不是单纯的靠说"前进"两个字,能辨认“别动”就是停下来的指令。这些开端已经实现了一部门。路还很远,继续努力。





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

耶耶耶耶耶

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表