大家好,我又不要脸地来骗 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 ,只需要在该示例程序的基础上添加关键词和对应执行的动作,就可以扩展成为个性化的专属助手。 目前示例程序实现的功能有语音提醒及今明两天天气预报查询。
特性
- 使用 redis 作缓存,提升语音助手的反应速度。同样的问题,第二遍不再发生网络请求。
- 使用图灵机器人 API ,除了预设功能外,所有问题都会有答案。
- 非常简单的“ receive-process-execute-feedback ”逻辑,易于扩展。
- 有一个心情阈值,目前是预设在配置文件中的。不一定会对你的命令言听计从。(只是为了好玩)
需要准备什么?
- 一块树莓派
- 一个麦克风
- 一个扬声器
- 一个传感器(用于唤醒语音助手,我使用的是声音传感器,当然任何传感器都可以)
如何运行和扩展?
扩展只需三步,且只需要关注你要实现的功能即可。请移步项目地址参考实例。
最后,如果大家有兴趣的话,请给个 star 鼓励一下,非常感谢~
如果有任何问题,欢迎 PR 和 Issue 。