集成百度语音sdk到智能家居平台中

简介:

今天,周六,晚上有约会。不过有些任务必须逼迫自己赶紧完成。要构造一个完善的系统不是三天打鱼两天晒网能够完成的,必须严格按计划执行下去,持之以恒。终有一日会形成规模效应。做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,语义定制,使得它更好的应用于智能家居中。



















相关文章
|
7月前
|
Java API 开发工具
支付与银行业线上客户协议应用中的DocuSign集成方式选择——SDK和API
跨境支付公司和Docusign进行集成时,碰到问题时的解决方案。分别用SDK和API集成后的各自使用体验。
109 2
支付与银行业线上客户协议应用中的DocuSign集成方式选择——SDK和API
|
7月前
|
开发工具 Android开发
应用研发平台EMAS的用户反馈SDK确实使用了WebView
应用研发平台EMAS的用户反馈SDK确实使用了WebView
82 6
|
7月前
|
网络协议 文件存储 Docker
如何搭建HomeAssistant智能家居管理平台并实现公网访问内网管理界面
如何搭建HomeAssistant智能家居管理平台并实现公网访问内网管理界面
|
5月前
|
Serverless 语音技术 开发工具
函数计算操作报错合集之怎么何集成nls tts python sdk
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
4月前
|
编解码 开发工具 C#
[大牛直播SDK]Windows平台RTMP直播推送模块功能设计
大牛直播SDK采用全自研框架,具备高度可扩展性与自适应算法,显著降低延迟并提高采集编码效率。SDK以模块化设计,支持RTMP推流及多种音视频编码格式(如AAC、SPEEX、H.264、H.265),并能与播放器SDK组合实现丰富功能,包括流媒体转发、内置RTSP服务等。提供了详尽的参数配置选项,支持多摄像头、屏幕采集与水印叠加,并兼容Windows 7及以上操作系统。该SDK以C++/C#双接口形式提供,集成简便,同时包含调试与发布版本库,便于开发者快速上手。此外,支持断网重连、实时预览及多种编码前后的数据对接需求。
|
5月前
|
机器学习/深度学习 人工智能 Java
人工智能平台PAI使用问题之Java SDK支持哪些版本
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】集成语音与大型语音模型等安全边界探索
【机器学习】集成语音与大型语音模型等安全边界探索
272 5
|
7月前
|
Web App开发 前端开发 JavaScript
如何快速与呼叫中心系统CTI/API/SDK接口集成
由于呼叫中心系统涉及通信、CTI、终端设备、中继线路等技术与概念,从事信息管理系统、ERP、CRM、工单系统等的研发人员一般不是非常熟悉这部分技术,当需要提供具备呼叫中心能力的解决方案时,往往要用较多的时间来研究这些相对复杂的技术,对接过程比较长,开发调试有一定的阻力,基于此,我们提出一种更加简便高效的集成方法,可以零代码集成呼叫中心平台,实现项目快速上线。
如何快速与呼叫中心系统CTI/API/SDK接口集成
|
7月前
|
Java 开发工具
阿里云灵积平台Java SDK调用教程
开通阿里云灵积服务并创建API-KEY,添加Java依赖`dashscope-sdk-java`版本2.11.0。示例代码展示如何使用SDK进行多模态对话,调用`MultiModalConversation`进行交互,并打印结果。测试结果显示输出对一张图片的描述。参考链接提供通义千问VL快速入门指南。
1261 0
|
7月前
|
搜索推荐 物联网 数据安全/隐私保护
智能家电设备连接语音助手集成
智能家电设备连接语音助手集成
204 1