你的树莓派还在吃灰吗?来试试把它改造成语音助手吧!

2016-08-29 22:41:35 +08:00
 namco1992

大家好,我又不要脸地来骗 star 了~

可能有点标题党的成分,但是我的树莓派已经吃灰很久了。所以这次写了个小程序,花一点微小的成本把树莓派改造成语音助手,何乐而不为呢?其实这个 idea 在去年 Amazon 的 Echo 没出的时候就有了,当时就写了一个,现在是一个重构版本。 Amazon 的 Echo 还是不太符合中国国情,不如试试自己搭建一个屌丝版的 Echo 吧~

这次的树莓派语音助手做成了我写的一个小工具 voicetools 的一个示例程序, voicetools 只是一个尽可能方便大家做语音合成和语音识别的一个 wrapper ,让大家一行代码完成语音识别和合成的工作。

项目地址:https://github.com/namco1992/voicetools

voicetools 介绍

语音识别及语音合成

from voicetools import BaiduVoice
# api key 及 secret key 请在百度语音官方网站注册获取
token = BaiduVoice.get_baidu_token('YOUR_VOICE_API_KEY', 'YOUR_VOICE_SECRET')
bv = BaiduVoice(token)
# 语音识别
results = bv.asr('path/to/your/audio/file')  # 返回识别结果列表,可选参数见百度语音文档
# 语音合成
audio = bv.tts('你好')  # 返回 MP3 格式二进制数据,可选参数见百度语音文档

还集成了两个 AI 类型的 API ,就不占篇幅了,有兴趣可以移步项目地址查看。

树莓派语音助手介绍

简介

该示例程序基于 voicetools ,遵循最简单的 one-in-one-out ,只需要在该示例程序的基础上添加关键词和对应执行的动作,就可以扩展成为个性化的专属助手。 目前示例程序实现的功能有语音提醒今明两天天气预报查询

特性

需要准备什么?

如何运行和扩展?

扩展只需三步,且只需要关注你要实现的功能即可。请移步项目地址参考实例。

最后,如果大家有兴趣的话,请给个 star 鼓励一下,非常感谢~

如果有任何问题,欢迎 PR 和 Issue 。

22563 次点击
所在节点    Python
58 条回复
roadna
2016-08-29 22:44:15 +08:00
我的树莓派还真在吃灰。支持一个。
namco1992
2016-08-29 22:47:55 +08:00
@roadna 哈哈,我的已经吃灰一年多了...
andyhuzhill
2016-08-29 23:05:09 +08:00
我的树莓派已经吃灰 3 年了 现在只在上面跑个 HTTP 代理 FQ
namco1992
2016-08-29 23:16:32 +08:00
@andyhuzhill 能用起来就不算吃灰吧~我现在改成语音助手之后,早上起来问下天气,然后记点今天该做的事情。虽然手机都能做,但是语音最大的优点就是 hands-off ,拍拍手就能发指令,不用找手机了。
manhere
2016-08-29 23:26:53 +08:00
麦克风和语音传感器不是重复吗?
cnkuner
2016-08-29 23:29:20 +08:00
被某人破解后 24 小时监听。嗯啊嗯啊卡木昂
huangtao728
2016-08-29 23:32:36 +08:00
比较好奇心情阈值大概是什么效果?
namco1992
2016-08-29 23:33:02 +08:00
@manhere 麦克风拿来做唤醒的话很困难,而传感器就比较方便,阈值可调。还有就是,传感器唤醒的话并不限于语音传感器,距离感应、光感应都可以,比如说挥挥手唤醒之类的,可玩性好一点。
namco1992
2016-08-29 23:34:21 +08:00
@huangtao728 就只是做着玩的...比如说阈值是 0.6 ,就是有 60%的概率是积极心态回复, 40%是消极回复。但是积极回复和消极回复的文本都是写在配置文件中的,并不是随机。
namco1992
2016-08-29 23:35:19 +08:00
@huangtao728 还有就是这个心情阈值只是影响回复的内容,并不会真的拒绝执行指令,当然想要真的拒绝执行指令也不是不可以...
scnace
2016-08-29 23:37:01 +08:00
吃灰一年的来看看 。。。然后继续吃灰
namco1992
2016-08-29 23:37:34 +08:00
@cnkuner 呃,保证连接自己的 wifi 并且保护 wifi 安全风险会小一点吧...
huangtao728
2016-08-29 23:54:00 +08:00
@namco1992
挺有意思啊,相当于加入了情绪的积累?
不过我以为是太过频繁发问就消极回复,消极程度递增...
a302800411
2016-08-30 00:19:44 +08:00
树莓派这个东西,做语音助手,最主要的问题在于,远距离( 5m )声音采集和降噪。
http://www.xfyun.cn/services/mic#list_wrap 讯飞的五麦环形阵列
namco1992
2016-08-30 09:16:31 +08:00
@a302800411 有条件当然可以上更好的装备,但是我只是想让吃灰的树莓派发挥下余热,花点小成本还 ok 。如果专门为了这个买个麦克风阵列,就有点背离初衷了呢~
namco1992
2016-08-30 09:21:12 +08:00
@huangtao728 你的想法也不错啊,但是这个功能只是锦上添花做着玩玩而已,所以暂时还没考虑更复杂的逻辑
wensonsmith
2016-08-30 09:30:37 +08:00
支持! 好项目~
lan894734188
2016-08-30 09:38:10 +08:00
安个 Google now
ijse
2016-08-30 09:38:24 +08:00
之前做过一个,用的是国外一个开源语音识别项目,配置起来很麻烦。。

最终效果也不太好,麦克风稍离远一点,识别成功率直线下降
namco1992
2016-08-30 09:42:09 +08:00
@ijse 是的,我也尝试了很多方法,最后选了百度语音的 API ,并且也没有选用 SDK ,就是为了最大程度上做到开箱即用,不要配置太麻烦,把热情都磨没了。
然后识别率的话...只能说一分钱一分货,不差钱就可以像上面哥们一样上阵列...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/302557

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX