0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何集成图灵机器人,简单实现语音聊天

设计idea 来源:互联网 作者:佚名 2018-04-13 09:49 次阅读

图灵机器人有三个基本功能:
(1)语音识别:将语音识别成相应的文本。
(2)语义理解:将文本识别成领域相关的语义结果。
(3)语音合成 : 将文本转化成语音读出。
要集成图灵机器人,首先要进行图灵官网的注册,这里就一笔带过,按照步骤进行注册即可。
然后创建自己的机器人,
注意这里我们选择的是自定义机器人,(qq,微信等机器人我只实现了一下qq机器人,很简单,可以自己下载文档根据步骤走就ok)
填好上面的信息,在这里下载iOS SDK和集成文档。走到这里我们的机器人就建立完成。
因为图;图灵机器人的的语音识别等使用的是百度语音,所以我们还需要去百度平台进行新建项目获取权限拿到百度的AppID、APIKey、Secret Key。具体请 参考http://yuyin.baidu.com/
然后进行新建项目集成。
一、首先要导入依赖的Framework:
1. SystemConfiguration.framework 2. Foundation.framework
3. AVFoundation.framework
4. GLKit.framework
5. OpenGLES.framework 6. libz.1.dylib
7. Security.framework
8. CFNetwork.framework 9. CoreLocation.framework
二、第三方库
IOS SDK 依赖以下第三方库(SDK 包中已提供,请集成到应用工程中)
1. OpenUDID
2. JSONKit
3. TTTAttributedLabel
4. Core AudioUtility(苹果 Audio 库)
对于采用 ARC 内存管理方式的工程,需要利用 Non-ARC 方式表姨 OpenUDID 和 JSONKit(对相应文件添加 Compiler Flags 为-fno-objc-arc)
三、其他事项。
因为 SDK 包中采用 Objective C++实现,因此需要保证工程中引用静态库头文件的实现 文件的扩展名必须为.mm。
四、iOS9的适配问题
1、首先是http的访问。
在plist文件中添加:

2、BITCODE 问题
由于底层的百度 SDK 编译时采用 ENABLE_BITCODE 模式,因此基于图灵 SDK 的应用程序也不能采用 ENABLE_BITCODE 模式。如下图,将bitcode设置为NO。
五、其他的一些配置
1、在Build Setting -> Build Active Architecture Only 设置为No
2、Build Setting -> Build Options -> Debug Information Format 设置为DWARF with DSYM File
3、Build Setting -> Build Options -> Enable Testability 设置为NO
4、Build Setting ->Linking -> Other Linker Flags 添加 -all_load

以上配置是我在集成的时候报错而总结的一些配置。
六、导入SDK
将下载的sdk包打开找到SDK Package这个文件夹。此文件夹包含三个文件夹,一个是头文件,一个是.a 文件包,一个是上面第二条所说的依赖的第三方库。
这里三个.a文件只需要导入最后一个即可。
下面进行撸代码:

////ViewController.m//Robot1////CreatedbyXFon16/8/11.//Copyright©2016年xf.Allrightsreserved.//#import"ViewController.h"#import"TRRVoiceRecognitionManager.h"#import"UserDefine.h"#import"GlobalNetWorking.h"#import"TRRTuringAPIConfig.h"#import"TRRTuringRequestManager.h"#import"TRRSpeechSythesizer.h"@interfaceViewController()@property(strong,nonatomic)TRRVoiceRecognitionManager*sharedInstance;@property(nonatomic,strong)TRRSpeechSythesizer*sythesizer;@end@implementationViewController-(void)viewDidLoad{ [superviewDidLoad]; [selfsetUILayout]; } -(void)viewWillAppear:(BOOL)animated{ [superviewWillAppear:animated]; _sharedInstance=[TRRVoiceRecognitionManagersharedInstance]; [_sharedInstancesetApiKey:BaiduAPIKeysecretKey:BaiduSecretKey]; _sharedInstance.delegate=self;NSArray*array=@[@(20000)]; _sharedInstance.recognitionPropertyList=array;self.sythesizer=[[TRRSpeechSythesizeralloc]initWithAPIKey:BaiduAPIKeysecretKey:BaiduSecretKey]; }#pragmamark-****************进行UI布局-(void)setUILayout{UIButton*button=[UIButtonbuttonWithType:UIButtonTypeCustom]; button.frame=CGRectMake(0,0,120,40); button.center=self.view.center; [buttonsetTitle:@"点击说话"forState:UIControlStateNormal]; [buttonsetTitle:@"正在说话"forState:UIControlStateHighlighted]; [buttonsetTitleColor:[UIColorredColor]forState:UIControlStateNormal]; [buttonsetTitleColor:[UIColorbrownColor]forState:UIControlStateHighlighted]; UILongPressGestureRecognizer*longpress=[[UILongPressGestureRecognizeralloc]initWithTarget:selfaction:@selector(longTouchWith:)]; [buttonaddGestureRecognizer:longpress]; button.layer.cornerRadius=3; button.layer.borderWidth=1; button.layer.borderColor=[UIColorblueColor].CGColor; [self.viewaddSubview:button]; }#pragmamark-****************长按手势-(void)longTouchWith:(UILongPressGestureRecognizer*)longPress{if(longPress.state==UIGestureRecognizerStateBegan){ [_sharedInstancestartVoiceRecognition]; }elseif(longPress.state==UIGestureRecognizerStateEnded){ [_sharedInstancestopRecognize]; } }#pragmamark-****************语音识别结果-(void)onRecognitionResult:(NSString*)result{NSLog(@"result=%@",result);NSMutableDictionary*dic=[NSMutableDictionarydictionary]; [dicsetObject:RobotAPIKeyforKey:@"key"]; [dicsetObject:resultforKey:@"info"]; [dicsetObject:@"123456"forKey:@"userid"]; [selfnetWorkingWith:dic]; }#pragmamark----语音识别错误-(void)onRecognitionError:(NSString*)errStr{NSLog(@"Error=%@",errStr); } -(void)onStartRecognize{NSLog(@"开始说话"); } -(void)onSpeechStart{NSLog(@"检测到已说话"); } -(void)onSpeechEnd{NSLog(@"检测到已停止说话"); }#pragmamark-****************网络请求-(void)netWorkingWith:(NSDictionary*)dic{ [GlobalNetWorkingnetworkWithUrl:@"http://www.tuling123.com/openapi/api"andParametersDic:dicandSuccess:^(idrootObject,iddatasObject,boolisSuccess){//这里获取到机器人反馈的回答 NSString*text=rootObject[@"text"];NSLog(@"%@",text);//进行语音合成 [self.sythesizerstart:text]; }andFailure:^(NSError*error){ [self.sythesizerstart:@"网络请求出错!"]; }]; } -(void)didReceiveMemoryWarning{ [superdidReceiveMemoryWarning];//Disposeofanyresourcesthatcanberecreated.}@end

demo 下载地址:http://download.csdn.net/detail/qq_34195670/9602252
github地址:https://github.com/goingmyway1/TuLingRobot

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语音识别
    +关注

    关注

    38

    文章

    1724

    浏览量

    112549
  • 图灵机器人
    +关注

    关注

    0

    文章

    3

    浏览量

    2764
收藏 人收藏

    评论

    相关推荐

    家用服务机器人将成为机器人的下一个入口

    ,让无数人对家用服务机器人充满期待。事实上,家用“大白”正在慢慢走进人们的现实生活。 据了解,当前能让“大白”走进现实的技术服务包括图灵机器人团队在内,这个号称全球中文语境下智能度最高的机器人大脑,可以
    发表于 08-10 18:16

    LABVIEW要怎么用webbrowser去提取网页上的数据啊?

    想用LABVIEW写一个程序链接到图灵机器人,需要通过网页传递数据,LABVIEW要怎么弄啊,越简单越好~
    发表于 04-22 20:27

    聊天机器人+微信平台检测环境,方案分享啦

    来进行数据存取,用户在关注微信公众号后可查询所关注地点的温湿度情况。同时该系统将微信公众平台与图灵机器人结合,在联网的环境下可做到和自如的对话。本系统具有成本低,安装维护方便,用户操作简便等特点
    发表于 02-22 19:46

    【orangepi zero试用体验】【结项】基于Orange Pi Zero的人机交互系统

    状态,当麦克风采集到人声时,开启对话模式。语音输入系统后,由系统向服务器解析为文字,接着将文字发送到图灵机器人服务器,返回应答语句,再把应答语句传向服务器转化为语音,由声音播放模块输出。作品
    发表于 02-25 21:26

    家庭智能小管家机器人资料分享!

    的指令,来帮助用户处理一些安全隐患等。另外机器人又是一台音乐播放器、视屏播放器、文本处理器等、机器人每天会给我们更新新闻头条,帮助我们发送邮件或者微博,图灵机器人系统能实现自主
    发表于 10-09 20:32

    微信控制的家庭智能机器人(附语音聊天、人脸检测、自主巡航等)

    ,或者微信对机器人进行一个部署。并且会报警处理一些事情,例如降温功能,人脸检测报警等。当用户在家时,机器人可以为用户播放音乐、电影、语音识别聊天等,而且还会抓取网络新闻、发送微博、邮件
    发表于 09-30 14:33

    图灵机器人:“试爱机器人”的未来不可限量

    一则关于“试爱机器人”的视频风靡网络,这一机器人是由图灵机器人和百合网共同推出的,意在帮助缺乏经验、自信的单身人群,练习恋爱沟通技能。尽管如此,还是有些想到了“人机恋”这样的热门话题
    发表于 12-23 13:31 1322次阅读

    详解图灵机器人,国内最早开放的人工智能机器人平台

    11月10日,图灵机器人开放平台知识库模块开放内测,这是继开放聊天对话接口之后,图灵机器人平台对外输出的又一核心能力。包含了图灵机器人多个身份属性接口、完整的知识库管理接口以及
    发表于 09-20 12:56 0次下载

    图灵机是什么_图灵机有什么用

    所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个
    发表于 01-03 13:55 7.2w次阅读

    图灵机的组成部分_图灵机的模型介绍

    图灵机的模型介绍虽然有些无趣,不过请坚持看下去,我会在下面运用大家比较好理解的形式重新解释的。在这里你仅仅需要认识它的轮廓。
    发表于 01-03 14:18 4.9w次阅读

    图灵机有什么意义_学习图灵机模型中遇到的问题

    了读写与算法与程序语言的概念,极大的突破了过去的计算机器的设计理念; 3、图灵机模型理论是计算学科最核心的理论,因为计算机的极限计算能力就是通用图灵机的计算能力,很多问题可以转化到图灵机
    发表于 01-03 14:36 2.5w次阅读

    什么是图灵机图灵完备

    说到图灵完备一般得先提到图灵机的概念,图灵机是英国数学家阿兰·麦席森·图灵在1963年提出的、为了研究可计算问题而构思的抽象计算模型——将人们传统的使用纸笔进行数学运算的过程,进行抽象
    发表于 04-28 11:49 6336次阅读

    图灵机制到底是什么图灵机制的详细资料讲解

    我认为图灵机制在诞生在很早的生命阶段,现在的图灵机制是大脑皮层高度扩大之后,提供的扩展能力呈现出来的,至少我认为从有眼睛开始注意机制就应该存在了,只是那个时候更多是一种反射机制,旧脑连接,新脑是爬行类之后才开始出现的。
    的头像 发表于 07-06 09:08 1.1w次阅读
    <b class='flag-5'>图灵机</b>制到底是什么<b class='flag-5'>图灵机</b>制的详细资料讲解

    基于STM32简易DIY智能聊天机器人

    前言大二忙里偷闲,花了一个月左右自己利用了Python+ESP8266 DIY 了一个智能聊天机器人,调用的是图灵机器人的体验API,现在把DIY过程记录下来,希望能分享给别的对这方面有兴趣的人
    发表于 12-14 18:53 12次下载
    基于STM32简易DIY智能<b class='flag-5'>聊天机器人</b>

    图灵机模型的组成部分及作用

    图灵机图灵提出的一种抽象的计算模型,被认为是计算机科学的基础。在图灵机模型中,包含了以下几个组成部分:输入带、读写头、状态集合、转移函数以及输出。 首先,输入带是图灵机的数据存储器,
    的头像 发表于 12-20 17:23 3451次阅读