集成百度语音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,语义定制,使得它更好的应用于智能家居中。



















相关文章
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
879 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
8月前
|
存储 人工智能 Java
Springboot集成AI Springboot3 集成阿里云百炼大模型CosyVoice2 实现Ai克隆语音(未持久化存储)
本项目基于Spring Boot 3.5.3与Java 17,集成阿里云百炼大模型CosyVoice2实现音色克隆与语音合成。内容涵盖项目搭建、音色创建、音频合成、音色管理等功能,适用于希望快速掌握Spring Boot集成语音AI技术的开发者。需提前注册阿里云并获取API Key。
|
11月前
|
Java 开发工具 Spring
【Azure Application Insights】为Spring Boot应用集成Application Insight SDK
本文以Java Spring Boot项目为例,详细说明如何集成Azure Application Insights SDK以收集和展示日志。内容包括三步配置:1) 在`pom.xml`中添加依赖项`applicationinsights-runtime-attach`和`applicationinsights-core`;2) 在main函数中调用`ApplicationInsights.attach()`;3) 配置`applicationinsights.json`文件。同时提供问题排查建议及自定义日志方法示例,帮助用户顺利集成并使用Application Insights服务。
306 8
|
人工智能 自然语言处理 API
百聆:集成Deepseek API及语音技术的开源AI语音对话助手,实时交互延迟低至800ms
百聆是一款开源的AI语音对话助手,结合ASR、VAD、LLM和TTS技术,提供低延迟、高质量的语音对话体验,适用于边缘设备和低资源环境。
4014 5
百聆:集成Deepseek API及语音技术的开源AI语音对话助手,实时交互延迟低至800ms
|
网络协议 文件存储 Docker
如何搭建HomeAssistant智能家居管理平台并实现公网访问内网管理界面
如何搭建HomeAssistant智能家居管理平台并实现公网访问内网管理界面
|
人工智能 JavaScript 前端开发
一段 JavaScript 代码,集成网站AI语音助手
根据本教程,只需通过白屏化的界面操作,即可快速构建一个专属的AI智能体。
|
Web App开发 前端开发 JavaScript
如何快速与呼叫中心系统CTI/API/SDK接口集成
由于呼叫中心系统涉及通信、CTI、终端设备、中继线路等技术与概念,从事信息管理系统、ERP、CRM、工单系统等的研发人员一般不是非常熟悉这部分技术,当需要提供具备呼叫中心能力的解决方案时,往往要用较多的时间来研究这些相对复杂的技术,对接过程比较长,开发调试有一定的阻力,基于此,我们提出一种更加简便高效的集成方法,可以零代码集成呼叫中心平台,实现项目快速上线。
869 157
如何快速与呼叫中心系统CTI/API/SDK接口集成
|
Serverless 语音技术 开发工具
函数计算操作报错合集之怎么何集成nls tts python sdk
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
270 2
|
JSON 前端开发 JavaScript
【amis低代码前端框架】vue2集成百度低代码前端框架amis
【amis低代码前端框架】vue2集成百度低代码前端框架amis
1395 0
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】集成语音与大型语音模型等安全边界探索
【机器学习】集成语音与大型语音模型等安全边界探索
528 5