python实现语音机器人聊天
一.导入SpeechRecognition 包进行语音识别和语音录制
导入方式:(适用于python3)
pip3 install SpeechRecognition
查询是否导入成功:(运行python环境)
import speech_recognition as srsr.__version__
二.我们在这个过程中需要调用百度API,所以导入百度API包
pip3 install baidu_aip
在python编译环境下,导入百度API包,调用百度API
from aip import AipSpeech
三.导入语音输入包
pip3 install pypiwin32
在python编译环境下,导入语音输入包
import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("你好")
下面是调用百度API和图灵API进行语音聊天输入和输出
import speech_recognition as sr #语音识别包
from aip import AipSpeech #音频文件转化为文字 百度API
# 调用图灵机器人进行对话
import requests
import json
#语音
import win32com.client#语音输入
speaker=win32com.client.Dispatch("SAPI.SpVoice")#使用speechrecognition包,进行语音识别和录制音频
def my_record(rate=16000):r = sr.Recognizer()with sr.Microphone(sample_rate=rate) as source:print("please say something")audio = r.listen(source)with open("voices/myvoices.wav","wb") as f:f.write(audio.get_wav_data())# print("录音完成!")#音频文件转化为文字 调用百度API
APP_ID = '####' #百度API id
API_KEY = '#####' #百度API key
SECRET_KEY = '#######' #百度API SECRET_KEY
client = AipSpeech(APP_ID,API_KEY,SECRET_KEY)
path = 'voices/myvoices.wav' #音频放置位置def listen():#读取录音文件with open(path,'rb') as fp:voices = fp.read()#识别本地文件 dev_pid参数:1536普通话(支持简单的英文识别),1537普通话(纯中文识别),1737英语,1637粤语,1837四川话,1936普通话远场try:result = client.asr(voices,'wav',1600,{'dev_pid':1537,})result_text=result["result"][0]print("you said:"+result_text)return result_textexcept KeyError:print("KeyError")speaker.Speak("我没听清楚,请再说一遍 !")#图灵机器人回复信息
TL_KEY="######" #图灵机器人KEY
API_URL="##########" #图灵机器人调用URL
headers={'Content-Type':'application/json;charset=UTF-8'}def Turing(text_words=""):req={"reqType":0,"perception":{"inputText":{"text":text_words},"selfInfo":{"location":{"city":"###","province":"##","street":"###"}}},"useInfo":{"apiKey":"#####","userId":"####"}}req["perception"]["inputText"]["text"]=text_wordsresponse=requests.request("post",API_URL,json=req,headers=headers)response_dict=json.loads(response.text)result=response_dict["results"][0]["values"]["text"]print("AI Robot said:"+result)return resultwhile True:my_record()request = listen()response = Turing(request)speaker.Speak(response)
百度API获取过程
登录百度AI开放平台语音识别:https://ai.baidu.com/tech/speech/asr ,如果没有账号自己注册即可
注册完毕后,获取到百度API的开放接口,获取API-KEY等,接口调用方式有详细的说明文档
说明文档:https://ai.baidu.com/docs#/ASR-Online-Python-SDK/top
图灵API获取过程
去图灵的官网进行注册:http://www.turingapi.com/
注册完毕,根据自己需要设置机器人,自定义名称等等
注意:
(1)要实名认证的,否则只会有key而不能进行调用,后续可能会出现错误
(2)要注意关闭密钥开关
代码来源(其中添加了自己的注释):
https://blog.csdn.net/NIeson2012/article/details/96476878
python实现语音机器人聊天相关推荐
- Python如何实现机器人聊天
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接:好看站 http://www.nrso.net/ 高州阳光论坛https://www.hnthzk.com/ 今 ...
- python实时语音智能聊天<讯飞语音识别+青云客机器人>
python基于 讯飞语音识别实现语音智能聊天 GitHub项目链接:https://github.com/superzhangjc/python-Voice_chat.git
- 用Python制作QQ机器人聊天插件(1)
目录 制作插件 1.找到插件文件夹 搭建好我们的机器人环境后,打开放置机器人的文件夹,找到 src文件夹 打开后找到 2.填写代码 运行效果 上期博文介绍了QQ机器人框架搭建,这期介绍QQ机器人聊天插 ...
- 使用python实现与机器人聊天
其实大家如果想着做一个页面与机器人聊天是可以做到的,这里呢楼主只是给大家做一个框架,在shell里和机器人聊天,页面望各位开发者自行开发 创建一个机器人 楼主这里以青云客智能聊天机器人为例,可以点击下 ...
- 使用Python与图灵机器人聊天
CSDN广告邮件太多了,邮箱已经屏蔽了CSDN,留言请转SegmentFault:https://segmentfault.com/a/1190000013900291 图灵机器人对中文的识别准确率高 ...
- 使用Python与图灵机器人聊天 1
图灵机器人对中文的识别准确率高达90%,是目前中文语境下智能度最高的机器人.有很多在Python中使用图灵机器人API的博客,但都是1.0版本.所以今天简单地总结一下在Python中使用图灵机器人AP ...
- Python 智能语音机器人(改进版)
本篇为改进版,之前部分代码存在错误,部分网站api也已经失效,现在更换api,并对部分代码进行重写. 本次在Pycharm上测试 相关模块如下: baidu-aip==4.16.11 beautifu ...
- Python开发智能语音机器人——小O同学
这次项目开发能按部就班顺利完成,主要是靠队友成功在软件的前期设计阶段,需求分析和用例设计起到了重要的作用.当然,这次的开发过程中也遇到了很多的问题,有许多功能是书上没有学到的,也是跟队友们商量,上网搜 ...
- python可以帮机器人编程吗_Python如何实现机器人聊天
今天午休的时候,无意之中看了一篇博客,名字叫Python实现机器人,感觉挺有的意思的. 于是用其写了一个简单的Python聊天,源码如下所示: # -*- coding: utf-8 -*- impo ...
- 基于Python+百度语音的智能语音ChatGPT聊天机器人(机器学习+深度学习+语义识别)含全部工程源码 适合个人二次开发
目录 前言 总体设计 系统整体结构图 系统流程图 运行环境 Python 环境 Pycharm 环境 ChatterBot 环境 模块实现 1. 模型构建 2. 服务器端 3. 客户端 4. 语音录入 ...
最新文章
- 图解算法 广度优先算法
- Opencv读取图片像素值
- 图灵YYDS!60年前不被看好的理论再次被证,这次是原子层面的
- NHibernate之旅(14):探索NHibernate中使用视图
- spring_ioc,DI
- python第三方库全部_自动更新Python所有第三方库
- MySQL查询语句转postGRE语句_PostgreSQL DBA常用SQL查询语句
- 一套完整的基于随机森林的机器学习流程(特征选择、交叉验证、模型评估))...
- mac下查看redis安装路径_干货!win10环境下Redis安装、启动教程
- Sublime中查找重复行的正则表达式
- Http Header的Transfer-Encoding
- 第一章,安装 composer
- 关于C#使用DataContractJsonSerializer来进行JSON解析
- php区分字符串数字,php如何判断字符串是不是数字
- neo4j python可视化_Python使用py2neo操作图数据库neo4j的方法详解
- 计算机网络原理之网络层(解疑答惑)
- [RubyOnRails]一些网址
- u盘dos启动盘制作工具 v9.36正式版
- 传输层 传输层协议和应用层协议之间的关系
- 一个端到端的机器学习项目全纪录(加州房价预测)