智能助手 Try Again

注意

尽量先看完整个介绍再动手,过些天会有相关的制作过程的教学

视频上传,目前还未处理完。

新的版本,可玩性更好一点

dev分之

效果

请看视频教程第六集

###目前测试成功的运行平台

Ubuntu18.04

树莓派3B+

理论上支持大部分Linux系统

思路

唤醒模块

使用snowboy。

唤醒模块一旦唤醒,暂时就不工作。直到该次唤醒工作结束后再

继续工作

唤醒之后,我们检查网络状态

录音模块

PyAudio

10s之内没有人说话就自动关闭

系统继续进入等待唤醒状态

10s之后如果唤醒人继续在讲话,那么我们需要继续录音

如果录音长度超过30s,我们就暂停录音,提示你也太啰嗦了

否则我们就正常的进入下一步

录制完成的音频,存储成wav,流处理的方式直接进行stt处理

录音完成之后我们的录音模块暂时就停止工作

语音转文字stt

Baidu stt

将使用百度的python的stt

返回文字,我们接收文字。

如果我们返回文字是空的或者其他的错误,我们提示您能再说

一遍吗,我没听清楚(自动进入录音状态)。出错后跟出错

提示,做出相应的反馈,网络错误(进入待唤醒状态)

对话机器人

tuling123.com的对话机器人

我们免费对话机器人

需要上传我们文字

返回他的答案

返回出错,处理方式同上

文字转语音模块tts

百度tts模块

将对话机器人,返回文字转换成语音

返回语音如果出错,我们处理同上

播放模块

PyAudio

将这个语音播放出来

主体控制模块

当对话机器人回应唤醒人的时候,是否自动进入下一轮的录音

或者,是回应完之后就进入待唤醒状态。

如果加入只能家具控制,那么我们需要两种方式来做

a. 我们从这个stt返回后的语句中查询对应的关键字,然后

处理。

b. 使用其他的唤醒词,Again Try。

nlp的意图匹配模块

示例:

我说:帮我把灯打开

系统(明白是我要打开我的灯,而不是和它聊天):打开灯

我不想聊了

系统要退出循环聊天

开始手动配置

唤醒模块

1.配置snowboy的编译环境

sudo apt-get install python-pyaudio python3-pyaudio sox

sudo pip install pyaudio

sudo pip3 install pyaudio

cd 你的项目根目录/

mkdir SBCompile

wget http://downloads.sourceforge.net/swig/swig-3.0.10.tar.gz

sudo apt-get install libpcre3 libpcre3-dev

ls

tar -zxvf swig-3.0.10.tar.gz

cd swig-3.0.10/

./configure --prefix=/usr --without-clisp --without-maximum-compile-warnings && make

sudo make install

sudo install -v -m755 -d /usr/share/doc/swig-3.0.10

sudo cp -v -R Doc/* /usr/share/doc/swig-3.0.10

sudo apt-get install libatlas-base-dev

cd ..

mkdir rec_voice

cd rec_voice/

ls

rec 1.wav

ls

编译snowboy的准备工作结束

cd ..

git clone https://github.com/Kitt-AI/snowboy.git

(这个是我没看明白,下面这句不用执行,把视频看下去就知道了)

sudo apt-get install libmagic-dev libatlas-base-dev

cd snowboy/

cd swig/

cd Python/

make

cd ..

cd Python3/

make

exit

语音识别模块

sudo pip3 install baidu-aip

exit

对话模块

主要是代码

语音合成模块

与语音识别模块一直,主要是写几个代码

语音播放模块

sudo pip3 install playsound

运行

需要更新stt_tts下的appid ak sk,理论上就可以在hotword下

的try_again_detect.py直接运行就行。实际上可能需要安装一些库

大家最好就是看看上面的过程。默认的唤醒词是smart mirror

本项目主要的目的在于给大家一个手动制作一个智能音箱的示例

如果真的想要实用,建议使用本文最后的

Wukong项目

本项目还有对应的教学视频,目前还未对一些秘钥进行打码,所以暂未

上传,之后将免费给大家。

相关物

所有权声明

本项目所有外部资源来源于网络,如有问题,请联系我删除。

本项目仅可用于个人DIY使用,禁止用于商业目的。

本项目使用后造成的后果,本人一概不负责任。

本项目立项目标是在于告诉大家怎么去建立这样一个系统,如果只是想搭建一个基于树莓派

等的智能系统,建议使用文中提到的WuKong项目,该项目由腾讯工程师建立。远远强于我这个

本科生。

关于捐赠,若果真的想给就在B站投个币吧,或者以下二维码

python实现语音助手_GitHub - Yaque/Ass: Python3智能语音助手相关推荐

  1. 爆肝一周,用Python在物联网设备上写了个智能语音助手

    1. 背景介绍 智能语音助手作为物联网领域的一个重要生态成员,是一种全新的交互方式,它能够解放双手,随时提供服务,无须借助任何按键.想必很多开发者都有玩过天猫精灵.小爱同学或者小度吧,看到这些炫酷的人 ...

  2. 爆肝一周,用Python在物联网设备上写了个智能语音助手-阿里云智能语音交互

    基于HaaS云端一体框架,用Python打造HaaS EDU K1智能语音助手的过程中需要用到云端能力.本篇文章介绍如何开通阿里云智能语音交互,并创建配置语音识别及语音合成项目,获取Appkey.请参 ...

  3. 基于 QT5 百度语音API 图灵机器人API 的智能语音聊天机器人

    基于 QT5 百度语音API 图灵机器人API 的智能语音聊天机器人 程序简介 代码一共分为以下几个模块 伪代码形式为 部分代码 源代码下载地址 程序简介 程序界面包含录音和发送两个按钮 点录音将开始 ...

  4. 当语音遇到人工智能,走进《智能语音时代》

    技术世界不会让人永远躺在功劳簿上. 繁忙之余,感谢愉快的地铁阅读时光,读了一本科普书<智能语音时代>.可能由于译者不是专业人士的缘故,在翻译中有一些常识性错误,例如出现了"网景公 ...

  5. 40秒sop8语音芯片有哪些?低功耗智能语音ic芯片,WTN6040

    近年来,随着人工智能技术的不断发展,语音交互逐渐成为一个备受关注的热点领域.在这个领域,WTN6语音芯片以其优异的性能和卓越的稳定性,备受行业内外的青睐.作为一款低成本音芯,WTN6的sop8封装更是 ...

  6. php加入语音播报功能_PHP如何实现智能语音播报

    PHP实现智能语音播报的方法:首先获取时间信息,并获取天气状况:然后语音合成:最后播放合成之后的语音文件,代码为[exec('sudo /usr/bin/play /tmp/audio.mp3')]. ...

  7. python按位定义数据_《Python3智能数据分析快速入门》—2.2.5 按位运算符

    2.2.5 按位运算符 十进制数被人们广泛使用,但对于计算机而言,二进制数反而是更重要的,计算机的一切计算都建立在二进制数计算的基础上.按位运算是一种将十进制数转为二进制数再进行运算的过程.Pytho ...

  8. 如何快速搭建一个像“天猫精灵”的智能语音助手?

    不看这几篇好文,就别说自己了解物联网 天猫精灵相信大家都不陌生了,它是阿里巴巴于2017年7月5日发布的AI智能终端品牌.让用户以自然语言对话的交互方式,实现影音娱乐.购物.信息查询.生活服务等功能操 ...

  9. 贴近司机,感知生活:智能语音助手在滴滴车主端的设计与实践

    桔妹导读:基于网约车司机的职业特性,帮助与指引司机在各类复杂的场景下更安全.便捷地完成工作,并尽可能疏导与减轻他们因长时间处于封闭环境下的心理压力,一直是滴滴发力的一个方向.但现有的一些途径,如规则展 ...

最新文章

  1. 如何使git接受自签名证书?
  2. ONAP — CCVPN 跨域 SDN 协同编排
  3. document事件及例子
  4. 最近很火的数据动图python_GitHub热榜第一,标星近万:这个用Python做交互式图形的项目火了...
  5. firfox 和 chrome 移动端Web开发页面调试
  6. 熟悉MyEclipse
  7. echop 验证码不正确的解决办法
  8. 非多项式时间复杂度及NP问题
  9. Apache中文URL中有包含“\x85”字节的汉字时导致的Rewrite失败及404问题
  10. hadoop reducer不执行问题及解决
  11. 视频后期剪辑,怎样在视频画面上添加滚动字幕
  12. 易捷行云获选国际开源基础设施基金会OIF“双董事” 席位
  13. 遥控车钥匙算法之KeeLoq
  14. 网站安全之域名被劫持、域名被劫持后该怎么办!!!
  15. C语言 指针的解引用详解
  16. 数据恢复工具有哪些? 十个最好的数据恢复软件
  17. 怎么视频转语音更快速?视频转语音方法分享
  18. 数据科学家和软件工程师都在用的pandas函数有哪些?
  19. docker制作hiredis环境:libhiredis.so.0.13: cannot open shared object file
  20. C语言中%d等的作用(格式字符)

热门文章

  1. 酒店系统java_酒店管理系统(java)
  2. bug-hadoop:Could not locate executable null\bin\winutils.exe in the Hadoop binaries
  3. win10 创建管理员账户 删除administrator教程
  4. Linux下SUID提权方法
  5. 在线编辑神器WebOffice + aspose/spire一起开创Office远程办公新时代
  6. 微众银行重视用户体验 帮助提升大众金融素养
  7. EN 636胶合板—规范
  8. excel笔记3: sumifs多条件示例
  9. CSP-S 模拟测试57题解
  10. Java实现PDF读取