iOS开发之类Siri的语言识别程序的开发与实践(Nuance技术)

相信Iphone4s之后Siri技术又火了一把,不过Siri的成功除了归于苹果公司Steve Jobs的领导之外,Siri的语音识别技术提供商Nuance公司的才是功不可没的。

Nuance是最大的专门从事语音识别软件、图像处理软件及输入法软件研发、销售的公司。除了已经红得发紫的Siri,Nuance还有一项破记录的产品,T9输入法,相信在苹果iphone流行之前,用过Nokia神机等品牌手机的用户一定很熟悉这个。

我们这里实现的语言识别功能正是基于Nuance的ASR技术,Siri只是Nuance技术的一种实现而已,Nuance的语音识别技术远远不止如此。

除了英语,法语,德语等西欧语言,中文,广东话,日语等东亚语言也包含在其中。





在开始之前,首先需要到Nuance注册一个开发者账户,获取一个ApplicationKey,并下载SDK,下面是SDK的说明。

http://www.nuance.com/for-developers/dragon-mobile-sdk/index.htm



在这之后就可以运用和开发语言识别程序,SDK主要包括ios和Android两个版本,ios版本发行较早,目前比较稳定,并有很多ios App基于开发,目前分别提供免费和商业版本,如果要商业开发的话,建议购买他的商业解决方案。



以下是开发语言识别的基本步骤和代码片段

1,导入语音识别framework

SpeechKit.framework



2,设置SpeechKitApplicationKey



//请从Nuance的邮件中复制

const unsigned char SpeechKitApplicationKey[] =

{0x47, 0xbe, 0x50, 0x57, 0x05, 0xde, 0x0f, 0x0e,

0x70, 0x63, 0x10, 0x4b, 0xb2, 0xad, 0xfb, 0xab,

0x14, 0x96, 0x99, 0x0d, 0x8e, 0x50, 0x2c, 0x1a,

0xb2, 0x5b, 0xf6, 0x76, 0x7d, 0xd8, 0xd5, 0xc5,

0x97, 0x25, 0x1c, 0x9c, 0x03, 0x2c, 0xaa, 0x74,

0x8f, 0xba, 0xbf, 0x42, 0x67, 0xba, 0xed, 0x7b,

0x50, 0x87, 0x88, 0xde, 0xd7, 0xb4, 0xf8, 0x89,

0x10, 0xef, 0xff, 0x8d, 0xc7, 0xd5, 0x52, 0x51};



NSString *const SpeechKitID =@"XXXX";

NSString *const SpeechHost = @"sandbox.nmdp.nuancemobility.net";





3,实例化语音识别对象,并设置参数



//检测类型,用于识别并停止录音,可以是短暂停顿,手动控制等方式,

detectionType = SKShortEndOfSpeechDetection;

//识别类型,通常分为搜索和听写两种方式

recoType = SKSearchRecognizerType;

//识别日语,可以是en,de,fr,zh_CN等

langType = @"ja_JP";



if (_voiceSearch) [_voiceSearch release];



_voiceSearch = [[SKRecognizer alloc] initWithType:recoType

detection:detectionType

language:langType

delegate:self];





4,实现委托方法





//录音开始,这里是录音开始和录音录制过程中调用

- (void)recognizerDidBeginRecording:(SKRecognizer *)recognizer



//录音完成,语言输入完成被识别,录音完成

- (void)recognizerDidFinishRecording:(SKRecognizer *)recognizer



//识别解析完成,服务端请求完成,并获得结果

- (void)recognizer:(SKRecognizer *)recognizer didFinishWithResults:(SKRecognition *)results



//识别发生错误

- (void)recognizer:(SKRecognizer *)recognizer didFinishWithError:(NSError *)error suggestion:(NSString *)suggestion






--------------------------------------------------------------------------------------
- 版权声明:
- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。
- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。
- 文章标题: ios开发之类Siri的语言识别程序的开发与实践(Nuance技术)
- 独立博客: 李大仁博客
- 永久链接:http://www.lidaren.com/archives/744
--------------------------------------------------------------------------------------
以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值