主页 > 知识库 > python电话机器人(Python机器人)

python电话机器人(Python机器人)

热门标签:长沙外呼电销机器人加盟 杭州电话机器人加盟 腾讯地图标注名称 腾讯地图标注商铺 申请办400电话怎样办理 荆州办理400电话 400电话办理新报价 江苏自动外呼系统多少钱 为什么公司的云外呼系统登不上

今天给各位分享python电话机器人的知识,其中也会对Python机器人进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、python是智能机器人的开发语言吗? 2、如何优雅的用Python玩转语音聊天机器人 3、Python实现自动聊天机器人 python是智能机器人的开发语言吗?

不是,Python只是适合智能机器人,因为其中包含很多AI模块、算法(sklearn,tensorflow等等),所以即便对算法、数学公式不太擅长,但只要掌握了这些模块的用法,一样可以写出AI脚本

如何优雅的用Python玩转语音聊天机器人

所需硬件:

树莓派B+

人体红外线感应模块

内置麦克风摄像头(实测树莓派免驱淘宝链接)

申请API:

百度语音api

图灵api

语音聊天机器人实现原理:当有人来到跟前时--》触发聊天功能,开始以每2s检测录制语音--》通过百度语音api合成文字--》传递给图灵api返回回答信息--》通过百度语音合成播放

【人体感应识别部分Python代码renti.py】

123456789101112131415161718192021222324252627282930313233

#/usr/bin/python#coding:utf-8import RPi.GPIO as GPIOimport timeimport osimport signalimport atexitGPIO.setmode(GPIO.BCM) GPIO_PIR = 14 GPIO.setup(GPIO_PIR,GPIO.IN) # Echojing = 0dong = 0 sum = 0sum1 = 0oldren = 0sleep = 0def ganying(): i = 0 ok = 0 error = 0 while i 10: if GPIO.input(GPIO_PIR) == 1 : ok = ok + 1 if GPIO.input(GPIO_PIR) == 0 : error = error + 1 time.sleep(0.01) i = i + 1 ren = ok/(error+1) return ren

1

GPIO_PIR = 14

为 红外线检测模块与树莓派的针脚,脚本函数返回0表示无人,0 为有人

【Python语音识别聊天部分robot.py】

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112

#/usr/bin/python# -*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding( "utf-8" )import urllibimport urllib2import jsonimport uuidimport base64import osimport timefrom renti import * #获取百度tokenappid=7647466apikey="百度API"secretkey="百度API" baidu_url="h.com/oauth/2.0/token?grant_type=client_credentialsclient_id=" + apikey + "client_secret=" + secretkey; y_post=urllib2.urlopen(baidu_url)y_read=y_post.read()y_token=json.loads(y_read)['access_token']#print y_read#print y_token #------------------function------------- def luyin(): os.system('arecord -D plughw:1,0 -c 1 -d 2 1.wav -r 8000 -f S16_LE 2/dev/null') def fanyi():

#---------------语音识别部分 mac_address="haogeoyes" with open("1.wav",'rb') as f: s_file = f.read() speech_base64=base64.b64encode(s_file).decode('utf-8') speech_length=len(s_file) data_dict = {'format':'wav', 'rate':8000, 'channel':1, 'cuid':mac_address, 'token':y_token, 'lan':'zh', 'speech':speech_base64, 'len':speech_length} json_data = json.dumps(data_dict).encode('utf-8') json_length = len(json_data) asr_server = 'm/server_api' request = urllib2.Request(url=asr_server) request.add_header("Content-Type", "application/json") request.add_header("Content-Length", json_length) fs = urllib2.urlopen(url=request, data=json_data) result_str = fs.read().decode('utf-8') json_resp = json.loads(result_str) if json_resp.has_key('result'): out_txt=json_resp['result'][0] else: out_txt="Null" return out_txt def tuling(b): f=urllib.urlopen("23.com/openapi/api?key="此处为图灵API"info=%s" % b) f=json.loads(f.read())['text'] return f def hecheng(text,y_token): #text="你好我是机器人牛牛很高兴能够认识你" geturl="u.com/text2audio?tex="+text+"lan=zhper=1pit=9spd=6cuid=CCyo6UGf16ggKZGwGpQYL9Gxctp=1tok="+y_token return os.system('omxplayer "%s" /dev/null 21 '%(geturl)) #return os.system('omxplayer "%s" /dev/null 21 '%(geturl)) def nowtime(): return time.strftime('%Y-%m-%d %H:%M:%S ') #---------------main-----------------num=0 #num用来判断是第一次说话,还是在对话过程中first=1 #判断是不是第一说话 当1000次没有人动认为是第一次while True: if ganying()!=0: run=open('run.log','a') if first==0: hecheng("你好,我是牛牛机器人,你可以和我聊天,不过说话的时候你必须靠近话筒近一点,",y_token) hecheng("说点什么吧,2秒钟内说完哦.",y_token) first=1 #为1一段时间就不执行 num=0 #从新计数 #print ganying() run.write(nowtime()+"说点神马吧..........."+'\n') print nowtime()+"说点神马吧.........." luyin() #开始录音 out=fanyi().encode("utf-8") #翻译文字 run.write(nowtime()+"我说:"+out+'\n') print nowtime()+"我说:"+out if out == "Null": text="没有听清楚你说什么" os.system('omxplayer "shenme.wav" /dev/null 21 ') else: text=tuling(out) hecheng(text,y_token) print nowtime()+"牛牛:"+text run.write(nowtime()+"牛牛:"+text+'\n') run.close() else: #print ganying() #调试查看是否为0有人没人 #print num num=num+1 #num长时间增大说明没有人在旁边 if num 1000: first=0 #0表示第一次说话

万事俱备 运行nohup python robot.py 哈哈就可以脱离屏幕开始愉快的语音聊天啦

下面看看聊天的日志记录吧

后续更新。。。。。。Python如何用语音优雅的控制小车

Python实现自动聊天机器人

本功能实现逻辑如下:

主要使用Python的urllib.request库来调用上的接口python电话机器人,具体接口可以通过浏览器抓包获取python电话机器人,然后根据抓包信息进行url的构造,使用urllib.request库的urlopen函数来调用构造的url,将其返回进行编解码之后,使用re模块将所需信息匹配出来。

功能实现脚本如下:

因为工作养成的习惯,生怕写的脚本在别的环境跑出问题,索性将它编译成exe文件。

使用pyinstall库来实现py脚本到exe文件的编译过程。

(本文参考csdn上的一篇文章,路径如下:,不过这里的运行后返回结果会有一些\r\n这种东西,这里我修改了一下正则表达式,把不重要的信息给过滤掉了。)

python电话机器人的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Python机器人、python电话机器人的信息别忘了在本站进行查找喔。

标签:承德 佳木斯 沈阳 云南 湛江 许昌 鸡西 徐州

巨人网络通讯声明:本文标题《python电话机器人(Python机器人)》,本文关键词  python电话机器人,电销机器人,电话机器人,智能外;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《python电话机器人(Python机器人)》相关的同类信息!
  • 本页收集关于python电话机器人(Python机器人)的相关信息资讯供网民参考!
  • 推荐文章
    收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266