虚谷号

 找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 41876|回复: 1

虚谷号支持的语音聊天机器人

[复制链接]

2

主题

2

帖子

26

积分

新手上路

Rank: 1

积分
26
发表于 2019-4-28 14:20:56 | 显示全部楼层 |阅读模式
一.技术原理
SpeechRecognition(录音)--> 百度语音(Speech-to-Text语音转文本)--> 图灵机器人(语义分析及应答)--> 百度语音(Text-to-Speech文本转语音)--> PyAudio(音频播放)
SpeechRecogintion是 Python 的一个语音识别框架,已经对接了如谷歌和微软的 STT (语音转文本)服务。本课例的语音识别及合成用的是百度的开放服务,所以只是需要 SpeechRecogintion 的录音功能。它可以检测语音中的停顿自动终止录音并保存。安装SpeechRecognition :
pip installSpeechRecognition
二.环境配置
虚谷号运行完整的Linux系统,连好USB声卡后,打开虚谷号的音量控制后会发现有三个声卡。
1、打开音量控制,在配置项里面只保留USB声卡,把其他设备都关闭。
2、安装IDEL
sudoapt-get install idle3
IDLE是开发python 程序的基本IDE(集成开发环境),具备基本的IDE的功能,是非商业Python开发的不错的选择。运行上面代码后安装了Python3.0的集成开发环境,相对于虚谷号预装的jupyter开发环境,IDLE运行占用资源少。
3、升级pip到19.0.3
pip install--upgrade pip
pip 是 Python 包管理工具,后期的包安装用到pip,以上代码是升级到最新版。
4、安装PyAudio
Linux 系统下可以直接使用系统自带的包管理器安装 PyAudio (如 Ubuntu 和 Raspbian 系统的 apt-get),可以使用 pip 命令安装,不过需要提前装好编译用的依赖portaudio19,
Sudoapt-get install portaudio19-dev
pip install–upgrade pyaudio
5、语音识别代码
创建应用::百度语音百度云AI 开放平台提供的支持语音识别和语音合成的服务,注册以后就可以直接访问它的 REST API 了,并且有向普通用户提供免费的调用额度。
注册成功以后,进入语音服务的控制台创建一个新的应用,记下自己的 AppID、API Key 和 Secret Key。

语音识别代码,百度 AI 有提供面向 Python 的框架 baidu-aip ,这里直接使用该框架。安装:
pip install baidu-aip
把代码中的 Key 替换成自己的,将 SpeechRecognition 录制的音频上传至百度语音的服务,返回识别后的文本结果并输出。

6、图灵机器人
图灵机器人是一个提供(一定额度内)免费的智能聊天服务的平台,注册以后就可以创建自己的聊天机器人并接入到项目中。首先进入图灵机器人的控制台并创建一个新的聊天机器人,记下分配到的 apikey。

在代码中配置为自己的apikey

上传一个聊天内容,获取到回复。再从收到的对象中提取出回复的文本。

7、百度语音(TTS)
百度的文本转语音(TTS)引擎语音效果很好,其中的”spd”设置调节语速,vol调节音量,per选择人物,我们这里选择1号中年男声。在本程序中定义了一个speak函数完成这部分功能。

就是把需要转换成语音的文本内容上传,再将返回的数据保存在本地。
8、PyAudio 播放
本课例中调用系统中的 sox 命令将 MP3 转为 wav 格式,再用 PyAudio 播放。SoX 是一个强大的跨平台的音频处理工具,Linux 系统可以直接使用包管理器安装:
sudo apt-getinstall sox libsox-fmt-mp3


回复

使用道具 举报

0

主题

7

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2020-1-10 16:21:03 | 显示全部楼层
感谢分享,可以提供样例代码参考吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

虚谷号

GMT+8, 2021-10-26 12:45 , Processed in 0.045899 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表