今天,周六,晚上有约会。不过有些任务必须逼迫自己赶紧完成。要构造一个完善的系统不是三天打鱼两天晒网能够完成的,必须严格按计划执行下去,持之以恒。终有一日会形成规模效应。做Demo很容易,做产品,很难。
百度SDK的集成在它 的官网有完整的教材。
1 申请,你首先需要通过百度的验证,给你开放。
2 集成,集成分为深度定制和使用百度提供的UI快速集成。
具体step-by-step的东西,参考它的手册即可。
我这里只记录一些个人认为有价值的东西。
1 语义理解
“SDK 还支持语义理解能力,可以将用户的语音直接转换成需求意图。语义具有领域性特征,不
属于任何领域的语义是不存在的。同样的语言,在不同的领域中所代表的含义可能截然不同。语义
理解就是把语言在特定领域所代表语义通过计算机可处理的表示方式理解出来。”
这个非常重要,如果我们要深度定制智能家居的语义,我们必须进行定制。
不过暂时,我们先简单集成。
i
1在我们的聊天窗口中加一个按钮“语音”
2 当点击按钮的时候生成一个BaiduASRDigitalDialog,具体参数见其说明文档或者Demo源码,从经验来看,最好是用demo的源码,因为文档的那几行会跑出意想不到的东西。
3 设置回调,在回调中把结果取出来然后设置到输入框中。
部分源码如下:
成员变量:
private Button speechBtn=null;
private final static String API_KEY="XYNj1ulsExdUaHv8QhnlqXT9";
private final static String SECRET_KEY="5TY9Q3d3jF0zVXorjXs5o9LGrcN04lUA";
private BaiduASRDigitalDialog mDialog = null;
private DialogRecognitionListener mRecognitionListener=null;
在oncreate中初始化相关对象和监听器:
//add for speech
speechBtn=(Button)findViewById(R.id.chat_speechbtn);
speechBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
loadBdSpeechDialog();
}
});
mRecognitionListener = new DialogRecognitionListener() {
@Override
public void onResults(Bundle result) {
// TODO Auto-generated method stub
Log.d(LOG_TAG, "onResult");
ArrayList<String> rs = result!=null?result.getStringArrayList(RESULTS_RECOGNITION):null;
if(rs!=null&&rs.size()>0)
{
Log.d(LOG_TAG,"result:"+rs.get(0));
messageInput.setText(rs.get(0));
}
}
};
其中loadBdSpeechDialog:
public void loadBdSpeechDialog()
{
///code from demo
messageInput.setText(null);
if (mDialog != null) {
mDialog.dismiss();
}
Bundle params = new Bundle();
params.putString(BaiduASRDigitalDialog.PARAM_API_KEY, API_KEY);
params.putString(BaiduASRDigitalDialog.PARAM_SECRET_KEY, SECRET_KEY);
params.putInt(BaiduASRDigitalDialog.PARAM_DIALOG_THEME, BaiduASRDigitalDialog.THEME_BLUE_LIGHTBG);
mDialog = new BaiduASRDigitalDialog(this, params);
mDialog.setDialogRecognitionListener(mRecognitionListener);
// }
mDialog.getParams().putInt(BaiduASRDigitalDialog.PARAM_PROP,VoiceRecognitionConfig.PROP_INPUT);
mDialog.getParams().putString(BaiduASRDigitalDialog.PARAM_LANGUAGE,
VoiceRecognitionConfig.LANGUAGE_CHINESE);
mDialog.getParams().putBoolean(BaiduASRDigitalDialog.PARAM_START_TONE_ENABLE, true);
mDialog.getParams().putBoolean(BaiduASRDigitalDialog.PARAM_END_TONE_ENABLE, true);
mDialog.getParams().putBoolean(BaiduASRDigitalDialog.PARAM_TIPS_TONE_ENABLE, true);
mDialog.show();
}
这样就最简单的集成了百度语音sdk。。。还是很好用的,下一步深度定制需要两方面的工作:1,去掉百度的UI,定制自己的;2,语义定制,使得它更好的应用于智能家居中。
分享到:
相关推荐
百度语音sdk接入官方手册
一个对于百度开源的语音SDK的介绍,可以用于移动设备的app
百度语音SDK朗读 ,语音合成,支持离线,已经做了简单封装。好处是离线朗读也是免费的
android studio集成百度地图SDK显示地图
百度语音需要用到的SDK
这是一个百度语音的java开发包,这个包里面可以实现在java代码里面进行语音的识别等应用。
百度语音识别 C++ SDK 离线版本 示例demo
语音识别开发实例demo,可以前往语音识别服务相关下载页面( http://yuyin.baidu.com/asr/download )下载开发所需的 SDK 及开发文档到本地进行集成开发。
Android 集成文字语音播报更能demo,基于百度智能云SDK实现语音合成播报功能
xamarin android 集成百度定位sdk项目
基于百度sdk的语音识别 C++版本 VS2015开发。百度官网不提供windows vc的demo。自己继承了相关类库的windows版本。release亲测可用。相关文档已百度官方为准。
unity2020_3_47f1c1 对接百度语音sdk 1.语音转文字 2.文字转语音
百度的语音识别的API以及百度的语音合成的API,保存SDK
百度地图sdk的集成demo
HomeKit是苹果发布的智能家居平台。通过HomeKit组件,用户可以通过iphone、iPad和ipod Touch来控制智能灯泡,风扇、空调等支持HomeKit的智能家居,尤其是可以通过Siri进行语音控制。 但是通过Siri进行语音控制有个...
与只剩语音sdk,轻松实现语音转写成文字,今天分享的sdk下载后可以直接调用,下载以后知己去集成就ok了,按照开发文档集成就可以
targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } ...
百度地图sdk包,版本5.2.1 5_2_1
Android studio百度人脸识别SDK