Voice recognization in Android

16
Voice Recognization in Voice Recognization in Voice Recognization in Voice Recognization in Android Android Android Android Roger Roger Roger Roger [email protected] [email protected] www.twitter.com/roger2yi https://plus.google.com/

description

Introduce v

Transcript of Voice recognization in Android

Page 1: Voice recognization in Android

Voice Recognization in Voice Recognization in Voice Recognization in Voice Recognization in AndroidAndroidAndroidAndroid

[email protected]@gmail.comwww.twitter.com/roger2yihttps://plus.google.com/

Page 2: Voice recognization in Android

2011-10-20 Roger, UC

Voice RecognizationVoice RecognizationVoice RecognizationVoice Recognization

• 语音识别目前在应用上可以分作两个层次

– 语音识别:将语音识别成文本(Speech To Text)

– 自然语言理解:对语音进行分析,理解用户的实际意图

• 前者主要用于语音输入,而后者主要用于像智能助手这样的辅助软件

Page 3: Voice recognization in Android

2011-10-20 3

Voice AppsVoice AppsVoice AppsVoice Apps

• 在Android,iOS上面的一些比较知名的语音类软件

Page 4: Voice recognization in Android

2011-10-20 Roger, UC

GoogleGoogleGoogleGoogle拼音输入法(拼音输入法(拼音输入法(拼音输入法(AndroidAndroidAndroidAndroid))))

Page 5: Voice recognization in Android

2011-10-20 5

讯飞语音输入法(讯飞语音输入法(讯飞语音输入法(讯飞语音输入法(AndroidAndroidAndroidAndroid))))

Page 6: Voice recognization in Android

2011-10-20 Roger, UC

Nuance T9 FlexNuance T9 FlexNuance T9 FlexNuance T9 Flex输入法(输入法(输入法(输入法(AndroidAndroidAndroidAndroid))))

Page 7: Voice recognization in Android

2011-10-20 Roger, UC

Google Voice SearchGoogle Voice SearchGoogle Voice SearchGoogle Voice Search((((AndroidAndroidAndroidAndroid))))

• 支持简单的自然语言理解,可以用于搜索,拨打电话,发邮件,导航等

• 支持中文的语音识别

• 目前不支持中文的意图识别,中文语音输入只能用于搜索

Page 8: Voice recognization in Android

2011-10-20 Roger, UC

VlingoVlingoVlingoVlingo((((AndroidAndroidAndroidAndroid,,,,iOSiOSiOSiOS))))

• 支持简单的自然语言理解,可以用于搜索,拨打电话,发邮件,导航,调用系统服务等

• 支持中文的意图识别

Page 9: Voice recognization in Android

2011-10-20 Roger, UC

SiriSiriSiriSiri((((iOSiOSiOSiOS))))

• 支持较为复杂的自然语言理解,可以用于搜索,拨打电话,发邮件,导航,调用系统服务等

• 支持陪聊?

• 目前不支持中文语音识别

Page 10: Voice recognization in Android

2011-10-20 Roger, UC

Android Voice APIAndroid Voice APIAndroid Voice APIAndroid Voice API

• Android SDK本身包括了一个简单的语音识别的API接口,提供语音识别功能的应用可以注册自己的服务,而需要语音识别功能的应用可以通过Intent调用这些服务

• 在安装Google Voice Search和Vlingo之后,它们都会注册自己的语音识别服务到系统里面提供给第三方调用,除了Service外,Google Voice Search还会提供一个Activity供直接使用

Page 11: Voice recognization in Android

2011-10-20 Roger, UC

Cont.Cont.Cont.Cont.

• 第三方程序可以使用Activity或者Service来获得语音识别的能力

• 海豚浏览器在检查到安装了Google Voice Search之后会增加使用Google Voice的服务来进行语音输入的功能(用于搜索)

Page 12: Voice recognization in Android

2011-10-20 Roger, UC

private void startVoiceRecognitionActivity() {

//通过Intent传递语音识别的模式,开启语音Intent intent = new Intent(

RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

//语言模式和自由形式的语音识别intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);

//提示语音开始intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "");

//开始执行我们的Intent、语音识别startActivityForResult(intent,

VOICE_RECOGNITION_REQUEST_CODE);}

Page 13: Voice recognization in Android

2011-10-20 Roger, UC

云端识别云端识别云端识别云端识别

• 语音识别和语言理解大都是在服务器端进行的,本地只是负责把语音数据打包传送给服务器,然后再接收服务器传回的数据

• 第三方应用使用Google Voice或者Vlingo提供的语音识别服务,也是通过它们的服务器进行识别

• 跟iOS已经整合在一起的Siri也是一样,它使用的Nuance的语音识别引擎和WolframAlpha搜索引擎,也是部署在服务器端。

Page 14: Voice recognization in Android

2011-10-20 Roger, UC

本地识别本地识别本地识别本地识别

• Android系统内置了一个Nuance SREC的本地语音识别引擎,但只支持识别特定的指令而不是任意的语音输入,并且这部分的API是私有的,意味不能够安全地使用它

• Android系统自带的语音拨号应用使用了这个库,但是只支持简单的英文指令如“Call”,“Open”,“Redial”等

• Android4.0提供了内置的连续语音输入功能,但是不知道是否是在本地识别,并且是否公开API

Page 15: Voice recognization in Android

2011-10-20 Roger, UC

ReferenceReferenceReferenceReference

• http://developer.android.com/resources/articles/speech-input.html

• http://googlemobile.blogspot.com/2010/08/just-speak-it-introducing-voice-actions.html

• http://dmfs.org/handsfree/?engines

• http://www.vlingo.com/demo/videos

• http://www.nuance.com/

Page 16: Voice recognization in Android

The EndThe EndThe EndThe End

Thank you for your listeningYours Sincerely, Roger