一.导入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实现语音机器人聊天相关推荐

  1. Python如何实现机器人聊天

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接:好看站 http://www.nrso.net/ 高州阳光论坛https://www.hnthzk.com/ 今 ...

  2. python实时语音智能聊天<讯飞语音识别+青云客机器人>

    python基于 讯飞语音识别实现语音智能聊天 GitHub项目链接:https://github.com/superzhangjc/python-Voice_chat.git

  3. 用Python制作QQ机器人聊天插件(1)

    目录 制作插件 1.找到插件文件夹 搭建好我们的机器人环境后,打开放置机器人的文件夹,找到 src文件夹 打开后找到 2.填写代码 运行效果 上期博文介绍了QQ机器人框架搭建,这期介绍QQ机器人聊天插 ...

  4. 使用python实现与机器人聊天

    其实大家如果想着做一个页面与机器人聊天是可以做到的,这里呢楼主只是给大家做一个框架,在shell里和机器人聊天,页面望各位开发者自行开发 创建一个机器人 楼主这里以青云客智能聊天机器人为例,可以点击下 ...

  5. 使用Python与图灵机器人聊天

    CSDN广告邮件太多了,邮箱已经屏蔽了CSDN,留言请转SegmentFault:https://segmentfault.com/a/1190000013900291 图灵机器人对中文的识别准确率高 ...

  6. 使用Python与图灵机器人聊天 1

    图灵机器人对中文的识别准确率高达90%,是目前中文语境下智能度最高的机器人.有很多在Python中使用图灵机器人API的博客,但都是1.0版本.所以今天简单地总结一下在Python中使用图灵机器人AP ...

  7. Python 智能语音机器人(改进版)

    本篇为改进版,之前部分代码存在错误,部分网站api也已经失效,现在更换api,并对部分代码进行重写. 本次在Pycharm上测试 相关模块如下: baidu-aip==4.16.11 beautifu ...

  8. Python开发智能语音机器人——小O同学

    这次项目开发能按部就班顺利完成,主要是靠队友成功在软件的前期设计阶段,需求分析和用例设计起到了重要的作用.当然,这次的开发过程中也遇到了很多的问题,有许多功能是书上没有学到的,也是跟队友们商量,上网搜 ...

  9. python可以帮机器人编程吗_Python如何实现机器人聊天

    今天午休的时候,无意之中看了一篇博客,名字叫Python实现机器人,感觉挺有的意思的. 于是用其写了一个简单的Python聊天,源码如下所示: # -*- coding: utf-8 -*- impo ...

  10. 基于Python+百度语音的智能语音ChatGPT聊天机器人(机器学习+深度学习+语义识别)含全部工程源码 适合个人二次开发

    目录 前言 总体设计 系统整体结构图 系统流程图 运行环境 Python 环境 Pycharm 环境 ChatterBot 环境 模块实现 1. 模型构建 2. 服务器端 3. 客户端 4. 语音录入 ...

最新文章

  1. 图解算法 广度优先算法
  2. Opencv读取图片像素值
  3. 图灵YYDS!60年前不被看好的理论再次被证,这次是原子层面的
  4. NHibernate之旅(14):探索NHibernate中使用视图
  5. spring_ioc,DI
  6. python第三方库全部_自动更新Python所有第三方库
  7. MySQL查询语句转postGRE语句_PostgreSQL DBA常用SQL查询语句
  8. 一套完整的基于随机森林的机器学习流程(特征选择、交叉验证、模型评估))...
  9. mac下查看redis安装路径_干货!win10环境下Redis安装、启动教程
  10. Sublime中查找重复行的正则表达式
  11. Http Header的Transfer-Encoding
  12. 第一章,安装 composer
  13. 关于C#使用DataContractJsonSerializer来进行JSON解析
  14. php区分字符串数字,php如何判断字符串是不是数字
  15. neo4j python可视化_Python使用py2neo操作图数据库neo4j的方法详解
  16. 计算机网络原理之网络层(解疑答惑)
  17. [RubyOnRails]一些网址
  18. u盘dos启动盘制作工具 v9.36正式版
  19. 传输层 传输层协议和应用层协议之间的关系
  20. 一个端到端的机器学习项目全纪录(加州房价预测)

热门文章

  1. 网络防火墙的配置与管理
  2. 售前技能——寻找客户
  3. 【团队绩效考核方案】命劫开发
  4. 初学unity(简单场景制作)
  5. 自动驾驶 Automotive SPICE(ISO/IEC 15504) 和CMMI有什么不同?
  6. 阿根廷探戈----中英文对照
  7. Research Mindmap
  8. 流浪者(rover)
  9. Cloud Rover隐私政策
  10. 电脑引导,电脑常见开机引导错误的解决方法