全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 机器人 >

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

时间:2018-04-13 09:49

人气:

作者:admin

标签: 机器人    集成  图灵  如何 

导读:图灵机器人有三个基本功能: (1)语音识别:将语音识别成相应的文本。 (2)语义理解:将文本识别成领域相关的语义结果。 (3)语音合成 : 将文本转化成语音读出。 要集成图灵机器人,首先...

图灵机器人有三个基本功能:
(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;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

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信