导航:首页 > 编程语言 > python图灵qq机器人

python图灵qq机器人

发布时间:2023-08-31 07:26:37

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

所需硬件:
树莓派B+
人体红外线感应模块
内置麦克风摄像头(实测树莓派免驱淘宝链接)
申请API:
网络语音api
图灵api
语音聊天机器人实现原理:当有人来到跟前时--》触发聊天功能,开始以每2s检测录制语音--》通过网络语音api合成文字--》传递给图灵api返回回答信息--》通过网络语音合成播放
【人体感应识别部分Python代码renti.py】


#/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】


#/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" _url="h.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + apikey + "&client_secret=" + secretkey; y_post=urllib2.urlopen(_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.mps(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=zh&per=1&pit=9&spd=6&cuid=CCyo6UGf16ggKZGwGpQYL9Gx&ctp=1&tok="+y_token return os.system('omxplayer "%s" > /dev/null 2>&1 '%(geturl)) #return os.system('omxplayer "%s" > /dev/null 2>&1 '%(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 2>&1 ') 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如何用语音优雅的控制小车

❷ 全国大学生计算机设计大赛软件开发组怎么准备,用什么软件制作

2021程序员的出路在哪里
登录

吕小巷
关注
全国大学生计算机设计大赛经验分享(faceSchool) 原创
2018-12-27 16:12:45
85点赞

吕小巷

码龄4年

关注
距离考研结束已经有4天的时间了,在经历过几天的潇洒时光后还是想和大家分享一下我的考研路程当中的一些过程。在这大半年的时间里,很多人都以为我绝大多数时间都放在考研上了,其实不是的,我还是做了一些其他我觉得很有意思的事。比如说在考研过程中我就去参加了计算机设计大赛,也荣幸的拿了国家一等奖,还是有点小骄傲哈。下面言归正传,我就正式谈谈参加计赛的经验吧。(至于考研的经验我想在初试成绩出来之后在和大家正式分享)

作为参加了两届计赛的学长,其实想告诉大家这个比赛还是很有套路的,一旦掌握了套路,其实获奖还是很好获得的。

关于比赛的评委和评判标准:值得注意的是校赛、市赛和国赛的评委们的评判标准是有些许不同的,所以自然得到的成绩也有很大的不同,不过校赛和国赛的评判还是比较类似的,市赛的标准就稍微有些许不同。其实笔者认为,计赛讲究的主要是两点内容:创新和算法。尤其是市赛最为讲究算法的编写,而国赛则更注重创新些。而且值得注意的是:国赛的很多评委都是老一辈的教授,所以大家就要好好琢磨怎么能说服老一辈的评委你们的项目是非常有实用价值的是非常重要的。

关于选题的建议:相信还是有不少同学还是不知道要做什么或者从何下手,所以笔者想告诉大家国赛的评委们偏于老龄化,他们大多喜闻乐见于一些比较新颖的技术和选题。所以大家可以多将现在市面上比较火热的技术和我们平时的生活结合起来去确定自己的软件所要实现的目标。像笔者本人今年的参赛软件就是将活体人脸识别技术和地理信息定位应用于上课点名所做的一个考勤系统,其中还使用了NLP自然语言处理和网络AI的情感识别做了一个评论系统,主要是解决我们平日学习中旷课率、迟到率、代课率等问题;而笔者的一个朋友则是使用来区块链、票据市场以及财大的特色所做的一个系统也获得了一等奖。所以笔者还是建议大家多使用一些现在的新的技术,并结合身边生活中的一个问题来做一个有用的系统,记住一定要新,选题不新颖的话老师会很容易地问道为什么我要用你的软件而不用市面上现在比较成熟的软件。

关于新颖的技术如何学习和选择:笔者在这里可以给大家提供一些比较新颖的技术网站供大家去考虑,里面有很多现成的api可供大家去考虑。1、网络AI,网址:http://ai..com/ ;2、 腾讯AI,网址:https://ai.qq.com/ ;3、以太坊,网址:https://ethfans.org/ ;4、图灵机器人,网址:http://biz.turingos.cn/home ;5、腾讯大数据平台,网址:https://data.qq.com/ ;6、知识工场,网址:http://kw.fudan.e.cn/ 。读者推荐大家考虑一下知识工场,毕竟知识图谱是一个大热门,很好应用于实际的项目中,而且可以做的特别炫目,并且参加计赛的人里面很少有人用知识图谱,还是属于比较新颖的技术。

关于团队分工:这是一个非常重要的点。因为一般的项目团队都有三个人,所以在我看来最好的搭配就是一个前端、一个后端、一个专门负责文档的编写。(文档的编写是真的很麻烦)

前端:如果是参加的web网站设计的化,笔者的建议是不论怎样都至少要做一个移动端的简易版的使用,因为第一年参加比赛的时候笔者就被问道:现在都移动互联网的时代了,你们这个项目想法可以,就是使用起来太麻烦了。所以第二年笔者就做了一个移动端(小程序),评委们也就没在说我们这个不方便使用了。对于移动端的制作,笔者的建议是做一个小程序,因为小程序真的很好学,代码写起来很像HTML、CSS、JavaScript,很简单的,关键是它的优势在于不论是Android还是iOS,它都适用。(小程序学习网址:https://developers.weixin.qq.com/miniprogram/dev/index.html)

后端:我建议大家还是用框架来写代码,因为用框架真的很方便,很多前辈都事先写好了很多非常好用的接口,像图片、视频等的存储,用原生的代码写的话,不会使用缓存的情况下是真的运行的很慢,但是用框架的话,就不会存在这样的问题了,因为前辈们早就设计好了优秀的现成的接口可供使用,而且有空的话还可以看他们写的源码来学习,最关键的是企业招聘人的时候都要求是会运用框架的人。当然我不是说写原生不好,原生是内功,大家也还是要注意的。不过框架的学习在开始的时候可能会存在一定的问题,不过我相信大家肯定可以很好的解决这个问题的啦!笔者在这里推荐大家学几个框架:Thinkphp、Django、SpringBoot。其中前两个比较好学,分别是php和python的框架、后面一个相对难些,是Java的。对于想学爬虫的人可以学习Django,因为这个和爬虫框架Scrapy用起来特别像,很好同时掌握,据说Django和Scrapy是同一个开发团队开发的,所以很像,当然我只是听说,不知道实际是怎样的,哈哈哈。

文档:文档的编写是真的很繁琐的,因为文档有很多,所以最好要有一个人专门写文档,尤其是要会UML图的构建,思维导图的建立等等。文档的编写一定要注意时间节点,如果错过了时间节点,那就相当可惜了。

关于编程语言学习:相信有很多的同学目前暂时找不到比较好的编程语言或者框架学习网站,在这里笔者推荐几个笔者觉得比较好的网站:1、慕课网,网址:https://www.imooc.com/ ;2、实验楼,网址:https://www.shiyanlou.com/ ;3、中国慕课MOOC,网址:https://www.icourse163.org/ ;4、CSDN,网址:https://www.csdn.net/ ;5、Github,网址:https://github.com/ 。慕课网和实验楼里的部分比较好的实战课程现在都是需要用钱买的,比较贵,大家可以去咸鱼、转转上找录屏课,某宝上已经被某宝官方强制下架了,当然如果大家实在找不到的话可以在公众号后台向我要一些框架的学习视频,我还是有一些课程视频库存的。中国慕课的缺点在于时效性,过了课程的学习时间就不能再看了,可能是为了保护老师们的知识劳动权益。CSDN的作用很大,对于新手来说,CSDN应该可以cover你所有的问题。Github相信大家都是知道的,这个的主要作用还是在于在上面搜搜现成项目来学习别人的构建软件思路或者是搜索一些很好用的插件比如说爬虫中常用的IP代理池和fake-useragent等等。

❸ 机器人编程和少儿编程有什么不一样

机器人编程:为使机器人完成某种任务而设置的动作顺序描述。少儿编程:是通过编程游戏启蒙、可视化图形编程等课程,培养学生的计算思维和创新解难能力的课程。学少儿编程可以提高孩子逻辑思维、专注力

机器人编程的目的是让学生通过给定的零件,进行组装、搭建,然后通过编写程序,让机器人包含的各种功能模块动起来,实现对机器人的控制。学习编程其实就是探究编程语言的本质,是人和电脑的对话,用电脑听得懂的语言,告诉它我想让它做的事情。目前最常用的少儿编程是由麻省理工学院研发的,使孩子通过拖拽积木来达到编程的目的。少儿编程是一门很综合的学科,它不仅可以提高孩子的数学思维和逻辑思维能力,让孩子更聪明,同时还能提高孩子解决问题、抽象逻辑思维能力、专注力、分析问题、试错的能力,养成严谨。

想要了解更多有关机器人编程和少儿编程的课程,建议选择童程童美。2018年,童程童美推出“童程在线”学习平台,打造线上线下一体化的OMO教育模式,线下现场互动教学,同时搭建国际国内挑战活动平台。线上开设小班直播课,真人老师,互动教学,激发孩子兴趣,培养孩子主动创造能力,构建孩子面向未来的科技素养。目前童程童美的在读学员数为13万多名。。目前童程童美有少儿编程体验课,点击可免费报名试听

❹ python实现语音助手小思同学

技术基础参考: https://www.jb51.net/article/168328.htm

技术分析:1.优点:实现简单,利用各种API快速友斗实现语音助手。2.缺点,由于图灵机器人需要付费和实名认兄伍证造成了一些麻烦,所以改进了一下这个图灵羡告或机器人语音助手编写了小思语音助手。
小思机器人: https://www.ownthink.com/docs/bot/
网络语音识别: http://ai..com/docs#/ASR-Online-Python-SDK/top](http://ai..com/docs#/ASR-Online-Python-SDK/top

阅读全文

与python图灵qq机器人相关的资料

热点内容
命令与征服叛逆者修改器 浏览:244
怎么用ios玩安卓全民枪战 浏览:666
程序员入行前后的头发 浏览:709
嵌入式图像算法 浏览:327
服务器如何访问服务器失败 浏览:873
android进度球 浏览:999
Linux造成xfs文件夹 浏览:455
华为手机怎么修改wifi加密类型 浏览:248
服务器封口是什么意思 浏览:741
有限元分析是算法吗 浏览:901
空气压缩机性能曲线 浏览:20
京城程序员2019 浏览:403
android新系统 浏览:510
安卓80有什么bug 浏览:678
如何做单机服务器 浏览:943
校讯通查成绩怎么显示服务器异常 浏览:882
冰箱压缩机工作压力是多少 浏览:408
程序员20多平米租房 浏览:451
电工知识用线的算法 浏览:338
极光推送php服务器端 浏览:5