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

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 。

22603 次点击
所在节点    Python
58 条回复
namco1992
2016-08-30 16:47:31 +08:00
@tabris17 不客气~
namco1992
2016-08-30 16:48:41 +08:00
@xuecat 哈哈,我觉得我把步骤写得比较详尽了呢,应该不至于太复杂吧。不试试怎么就说做不来呢
vikeria
2016-08-30 22:09:07 +08:00
吃灰加一,偶尔拿出来跑点东西
cpp255
2016-08-30 22:19:51 +08:00
吃灰中,之前还当下载用了
mumuy
2016-08-31 08:59:53 +08:00
3 出来的时候就买了,一直没用
namco1992
2016-08-31 09:12:55 +08:00
@mumuy 3 自带了 wifi 和蓝牙,应该还是会方便很多吧
lavande
2016-08-31 11:54:18 +08:00
我之前也有这样的想法,实际上研究了好一阵子,发现有不少开源的代码可以用,然而不知道买什么样的扬声器和麦克风!同求淘宝链接示范。。。。。
namco1992
2016-08-31 14:17:13 +08:00
@lavande 麦克风搜“树莓派 麦克风”,扬声器就搜“小音箱 3.5mm ”,或者你想用 USB 接口的也行。主要是我之前买的店家已经下架了,所以你自行挑选就好了,都大同小异。
ThomasZ
2016-08-31 14:50:16 +08:00
看到这个我才想起来我还有一块 pi 。。。。 回来好好研究一下这个
lavande
2016-08-31 16:04:42 +08:00
@namco1992 好嘞,多谢
mimicom
2016-09-02 22:12:33 +08:00
艾玛. 哈哈. 早就有这个想法, 还注册了讯飞的 api . 还没用.
mimicom
2016-09-02 22:52:06 +08:00
怎么百度的 sdk 除了安卓就是 ios 的. 没有 linux / windows 平台的啊.
namco1992
2016-09-03 10:47:29 +08:00
@mimicom 所以我才用的 API 啊...如果你要用 SDK 的话,还是讯飞的最全最强吧,只是百度的比较接互联网的地气而已。
lan894734188
2016-09-20 13:30:29 +08:00
@namco1992 GCP 有提供 api
min614130
2016-10-25 14:39:58 +08:00
能问个问题吗? record.wav 是做什么用的?需要提前录音放进去吗?报错提示 No such file or directory: 'record.wav'
namco1992
2016-10-25 15:58:35 +08:00
@min614130 “ record.wav ”是一个缓存文件,存储了你最后一次录音,在后续做语音识别时会用到。

然后建议你贴出完整的 traceback 信息,不然我也没法判断是哪里出了问题。

最后你可以把问题提至: https://github.com/namco1992/voicetools/issues
min614130
2016-10-26 08:44:12 +08:00
@namco1992 谢谢,问题解决了
mrcong
2017-06-16 13:22:51 +08:00
我的树莓派一边吃灰一边跑打印机 airPrint 服务

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

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

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

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

© 2021 V2EX