首先来安装所需要的第三方库:

pip3 install baidu-aip

为了播放音频,还需要安装播放器:

sudo apt-get install omxplayersudo apt-get -y install mpg321

然后来看第一步,录音,通过麦克风录入音频,文件保存在当前目录下,一个函数解决:

def Sound_Recording(path) :# 1.录音,通过麦克风录入音领,文件保存在当前目录下。print("Recording: ")os.system('sudo arecord -D "plughw:1,0" -f S16_LE -r 16000 -d 4' + path)# time.sleep(2)# print("play:" )# os.system( 'sudo omxplayer +path)

其次来看第二步,通过调用百度语音识别的的API将音频文件转换为文本文件,这里需要在百度开发者平台申请一个应用:

APP_ID = '16****18'
API_KEY = 'MBb******************U02'
SECRET_KEY = 'WEGcGnz******************0ih51bN'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)def speech_recognition(path) :# 2.通过调用百度语音识别的API将音频文件转换为文本文件。with open(path, 'rb') as fp :voices = fp.read()try :result = client.asr(voices, 'wav', 16000, {'dev_pid' : 1537.})# print(result )result_text = result["result"][0]print("you said: " + result_text)return result_textexcept KeyError :print("KeyError")

然后是第三步,将文本文件通过图灵机器人的API进行对话处理,保存回复文本文件,这里同样需要在图灵机器人平台申请一个聊天机器人:

turing_api_key = 'fad1ed7e**************1b14206fd0'
api_url = 'http://openapi.tuling123.com/openapi/api/v2'
headers = {'Content-Type':'application/json;charset=UTF-8'}def Tu_Ling(text_words=""):
#3.将文本文件通过图灵机器人的API进行对话处理,保存恢复文本文件,req={"reqType":0,"perception": {"inputText": {"text": text_words},"selfInfo": {"location": {"city": "天津","province":"天津","street": "天津科技大学"}}},"userInfo": {"apiKey": turing_api_key,"userId": "Alex"}}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 result

最后一步,将回复文本文件转换为语音。:

def speech_synthesis(text_words=""):
#4.将回复文本文件转换为语音。result = client.synthesis(text_words, 'zh', 1, {'per':4, 'vol':10, 'pit':9, 'spd':5})if not isinstance(result, dict):with open('auido.mp3','wb') as f:f.write(result)os. system('mpg321 auido.mp3')

树莓派做一个聊天机器人相关推荐

  1. python制作聊天机器人原理_用 Python 来做一个聊天机器人吧!(一)

    在我的一个回答里,我提到了用 Python 搭建聊天机器人.从今天开始,我就带着大家从0开始搭建一个聊天机器人. (顺便说一句,我喜欢把链接像上面这样加在文字里,如果找不到文中所说的资源,可以看看周围 ...

  2. 来做一个聊天机器人吧[1]

    来做一个聊天机器人吧[1] 前言 准备 GUI开发 聊天模块1.0版本 语音合成1.0版本 版本1.0 前言 课程设计自己选了这个课题,因为之前就对NLP(Natural Language Proce ...

  3. C/S架构网络聊天软件——Java Chat Application 用java做一个聊天机器人

    Fighting! 一.C/S概念 1.1 什么是C/S 1.2 C/S与B/S的区别 二.主页面 三.介绍 四.特征 五.jServer 六.jMessenger 七.使用代码 7.1 导入项目后报 ...

  4. python第三方聊天机器人_用 Python 来做一个聊天机器人吧!(特别篇)

    何去何从? 原计划第三篇要写机器学习的内容,然而文章还没写完,酷Q没了. 可是,真的没有办法了吗? 我们相信冬天总会过去,不过,在春天到来之前,生一丛篝火取暖,也算是聊胜于无吧. 这篇文章,我将介绍如 ...

  5. python制作聊天机器人_如何制作一个聊天机器人?

    这样,我们岂安科技的斜杠青年用1100字教你做一个聊天机器人出来吧.关键词Zulip.Python.以下,GO~ ------- Zulip是什么 Zulip是移动和桌面办公聊天解决方案开发商 一个强 ...

  6. 机器学习做自动聊天机器人_我和一个治疗机器人聊天,缓解了我对Covid的恐惧。 这很奇怪。

    机器学习做自动聊天机器人 重点 (Top highlight) On a hot afternoon in June, I downloaded a free mental health app ca ...

  7. 当你对一个聊天机器人敞开了心扉

    ▼ 点击上方蓝字 关注网易智能 聚焦AI,读懂下一个大时代! [网易智能讯 2月2日消息]几个月前,凯特·普客给她的朋友Jasper发了一条信息,内容与她的同事有关.普客19岁,在她的家乡华盛顿州斯波 ...

  8. 如何设计一个聊天机器人?谈谈聊天机器人技术栈

    如果你正在为一个客户设计一个聊天机器人(咨询,开发,原型设计--),这段对话可能听起来很熟悉: 客户:「实现我的机器人最佳技术的是什么?」 我:「不仅仅是一项技术,而是一系列的多种技术.每项技术都可以 ...

  9. 机器学习做自动聊天机器人_您不应该使用聊天机器人的3个原因

    机器学习做自动聊天机器人 现在,基于云的聊天机器人几乎是旧技术. 他们已经有四年了. 和接待肯定是混合的 . 上周,几家合作机构的研究人员公布了正式的书面内容,称为``第二次对话智能挑战赛'',这是聊 ...

最新文章

  1. ansible yml语法
  2. cad常用字体_2300多种CAD字体免费送给你!绘图必备,一键解决你的CAD文字乱码问题...
  3. 字典树模板+洛谷P2580 于是他错误的点名开始了
  4. jdk1.8对synchronized锁的优化
  5. 小米发布2021年第二季度财报:小米手机二季度平均售价1116.7元
  6. 又一国产新机定价逆天!网友:千万不要作...
  7. ajax鼠标滚动请求 或 手机往下拉请求
  8. Android开发学习——基础学习
  9. XCode SDK接入时提示: UIApplicationInvalidInterfaceOrientation
  10. 《面向对象分析与设计》一1.4面向对象方法的主要优点
  11. 分享一组我在ins上收集的程序员最爱桌面壁纸
  12. 国际计算机网络信息与安全管理,计算机信息网络国际联网单位安全管理制度
  13. git 出现错误fatal: Unable to create ‘project_path/.git/index.lock‘: File exists.
  14. gym101964 G.Matrix Queries(思维+线段树)
  15. Ubuntu中文件颜色的含义
  16. 【转】 bio 与块设备驱动
  17. docker安全之容器资源控制 安全加固
  18. 和快手大牛的技术面谈,附超全教程文档
  19. Python中的字符串驻留机制
  20. 华为硬件工程师手册_漫画解读—华为最强科普:什么是DSP?

热门文章

  1. 基本数据类型(列表,元祖,字典,集合)
  2. STM32 ADC 采样 频率的确定
  3. 数据库 Linux下的MySQL数据库管理
  4. object-c编程tips-timer
  5. Web 四种常见的POST提交数据方式
  6. Computer Network Homework3’ s hard question
  7. libevent(1)
  8. MvvmLight学习心得三
  9. linux之cp/scp命令+scp命令详解
  10. load方法引入本地html报错,分享基于plus.downloader的图片懒加载功能,支持本地缓存v1.1.0...