云书鸿音-助力于盲人与亲人朋友联系的一个智能音箱
考虑到盲人在使用微信等聊天软件时的不便,也进一步的加大了盲人和亲人好友之间的沟通代价。
于是想到了制作一款这样的软件。
缺陷:原名:云书微音。由于微信网页版的封绝,已经无法通过网页版的API和其封装访问微信。如果通过hook等形式做的话,成本比较大,也不符合嵌入式设备的音箱的要求。
于是换成使用Skype。
- 程序需要在MacOS或者Linux等基于Unix的操作系统上使用
- Mac成本比较大,推荐使用树莓派+普通音箱+普通免驱麦克风
- 或者使用搭载有Ubuntu的电脑也可以
- 此处是具体的硬件信息
基于python现成的pyaudio库实现录音wav文件
使用ffmpeg实现wav到pcm文件的转换
利用百度、腾讯的接口实现语音识别和语音合成(现有版本是混用,后面可以修正为全用腾讯)
利用snowboy热词检测功能实现唤醒(hotword detect)
利用webrtc项目的vad(具有python的封装库),实现语音实时检测,检测一段语音的停止。
利用腾讯的智能闲聊实现闲聊模式
使用正则匹配实现命令的识别
使用高德地图的天气服务和IP定位,实现城市定位和天气预报
使用VLC的python封装实现在线音乐播放
使用https://github.com/Binaryify/NeteaseCloudMusicApi/issues提供的网易云音乐api,在自建的服务器上搭建了一个代理网站。
以上是简略的一些介绍。
- 安装python3和pip
- pip -r requirement.txt
- sh install.sh
(仍然在完善内容中,暂时不全)
实现的功能有:
-
语音对话
-
vod热词唤醒:默认词为小瓜小瓜,留有拓展性,可以更改
-
询问天气和明天天气,可以是自动定位,也可以是指定地址
-
询问日期、时间
-
进入闲聊模式:腾讯的智能闲聊功能
-
登录skype账号
-
自动随时接受好友的消息,并通过语音对用户进行提示
-
通过语音进行发送skype消息
-
通过语音进行播放音乐
-
播放过程随时可以停止、暂停、增加音量、减小音量
-
比较友好地提示和比较全的错误处理
- 唤醒:小瓜小瓜
- 天气:今天天气怎么样?|明天天气怎么样? |今天**[地名]天气怎么样?|明天[地名]**天气怎么样?
- 时间和日期:现在是几点钟? | 现在是什么时间?|今天是几号?
- 进入闲聊模式:进入闲聊模式
- 退出闲聊模式:退出闲聊模式
- 播放音乐:播放音乐|播放歌曲(得到响应后告知歌曲名称)
- 减小音量|小声点
- 增大音量|大声点
- 暂停播放|继续播放|停止播放