搭建一个智能语音助手可以大致分为一下几个模块
- 唤醒模块
- 录音模块
- 语音转文字
- 对话机器人
- 文字转语音
- 播放模块
- 主体控制模块
唤醒模块
- 唤醒唤醒模块一旦唤醒,暂时就不工作,唤醒工作结束后继续工作
- 唤醒之后检查网络状态
待选方案
snowboy
录音模块
-
一定时间内没有说话自动关闭,系统继续进入等待唤醒状态
-
一定时间内还在讲话,需要继续录音
录音时间过长提示用户暂停录音,否则继续下一步
-
录制完成的音频储存为wav格式,录音完成后录音模块停止工作
预选方案
Respeaker USB Mic Array + pyaudio
语音转文字
出错后根据不同的错误做出反馈,主要的错误有
- 返回空字符
- 网络错误
预选方案
百度语音识别 or 讯飞语音识别(免费调用量较多)
对话机器人
上传文字之后对话机器人会返回相应的文字,错误的处理同语音转文字部分相同
预选方案
tuling机器人 or 百度机器人
文字转语音
将对话机器人返回的文字转换成语音,主要涉及语音合成技术,百度讯飞等都有相应的api
预选方案
百度语音识别 or 讯飞语音识别(免费调用量较多)
播放模块
将语音播放出来
预选方案
扩音器
主体控制模块
- 当对话机器人回应唤醒人的时候是否进入下一轮的录音状态,或者是返回待唤醒状态
- 接入外设时可以从语音识别的文字中查询对应的关键字,然后处理