今天,周六,晚上有约会。不过有些任务必须逼迫自己赶紧完成。要构造一个完善的系统不是三天打鱼两天晒网能够完成的,必须严格按计划执行下去,持之以恒。终有一日会形成规模效应。做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 speechspeechBtn=(Button)findViewById(R.id.chat_speechbtn);speechBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubloadBdSpeechDialog();}});mRecognitionListener = new DialogRecognitionListener() {@Overridepublic void onResults(Bundle result) {// TODO Auto-generated method stubLog.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 demomessageInput.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到智能家居平台中相关推荐

  1. 一种基于蓝牙和语音控制的智能家居系统【100010378】

    2018年大学生电子设计竞赛设计报告 一种基于蓝牙和语音控制的智能家居系统 摘要:本项目使用 STM32F407 作为主控芯片,通过蓝牙和语音控制实现安全.便宜的智能家居系统.实现了手机实现家电控制: ...

  2. AndroidStudio集成科大讯飞语音SDK

    AndroidStudio集成科大讯飞语音SDK 讯飞开放平台作为全球首个开放的智能交互技术服务平台,致力于为开发者打造一站式智能人机交互解决方案.用户可通过互联网.移动互联网,使用任何设备.在任何时 ...

  3. 基于语音控制的智能家居实现

    前言:因为大三的时候需要交一个物联网通信以及Zigbee的俩门课设,所以花了半天的时间做了一个基于语音控制的智能家居,在这里记录一下以及分享给一些在校学生作为分享,因为那段时间忙着比赛所以花了很短的时 ...

  4. 语音对话控制智能家居系统

    语音对话控制智能家居系统 介绍 后端使用到了onenet.讯飞语音.图灵接口 实物图 演示链接(提取码:xszp) 项目源码 转载于:https://my.oschina.net/OneNb/blog ...

  5. swift地图定位(二十一)集成百度导航SDK

    // // ViewController.swift // baidumapfirsttest // // Created by targetcloud on 2016/11/16. // Copyr ...

  6. 基于语音控制的智能家居系统设计(毕业设计初版)

    基于语音控制的智能家居系统设计(毕业设计初版) 1.项目组成 2.参考博客 3.安卓APP工程(只贴主程序和主布局文件) 3.1.MainActivity.java 3.2.activity_main ...

  7. 快速打造一套可以语音控制的智能家居系统

    快速打造一套可以语音控制的智能家居系统 随着智能家居产业的蓬勃发展,照明.安防.工控等主要制造商已经推出多款智能家居产品,通过无线传感技术来增加使用舒适度.但因消费端需求逐渐成熟,集中控制和语音控制多 ...

  8. 小爱(小米),天猫精灵(阿里),小度(百度),小艺(华为)智能家居系统选择

    现在的智能家居系统可谓群雄逐鹿,不少人在琳琅满目智能家居产品中选择时候,会陷入纠结,到底选择小米系比较好呢,还是选择阿里系好呢等等.针对此问题,那么现在就简单介绍一下目前主流的四种智能家居系统. 一. ...

  9. android开发游记:集成百度定位SDK进行实时定位 获取当前城市地理信息

    定位功能在app开发中很常用,大多数企业都是不具备定位资质的,所有一般是通过接入第三方的sdk来进行定位,比较熟悉的有如:百度.高德.谷歌.腾讯等.而国内比较地图策划比较成熟的主要是百度和高德,这里就 ...

最新文章

  1. JavaSript模块化 AMD CMD 详解.....
  2. Java EE学习笔记(四)
  3. Android微信智能心跳方案 Android微信智能心跳方案
  4. 如何统计博客园的个人博客访问量
  5. java css_JavaWeb中基本的CSS的使用
  6. 在图书馆学习红宝书的一天(二)· 慢慢看原型、原型链就看懂了~
  7. java函数调用约定_2020-09-04:函数调用约定了解么?
  8. 球球大作战显示中国服务器较差,球球大作战延迟卡顿原因分析及解决方法
  9. 万能钥匙也不能解开的wifi?那用Python帮你轻松解决
  10. 95-850-020-源码-心跳-JobMaster与TaskExecutor之间的心跳检测
  11. 【报告分享】B站商业化探索频频,品牌方如何布局“小破站”营销.pdf
  12. 家长或孩子图像的Gif动画小人在少儿学习软件中的妙用.
  13. 51单片机呼吸灯c语言程序,用51单片机的呼吸灯程序
  14. AD7124-4 精度
  15. 贪吃蛇代码c语言100行,贪吃蛇代码-C语言.doc
  16. 数字化测图是利用计算机自动绘制地形图,《数字测图原理与方法》下学期总复习...
  17. 20220418 如何下载网页pdf(没有下载按钮的情况,不是打印网页)
  18. 如何判断是pc端还是移动端
  19. 什么是EJB?不再神秘!
  20. 如何使用iPhoneXR/XSMAX模拟器进行屏幕适配

热门文章

  1. 2022年9月电子学会Python等级考试试卷(三级)答案解析
  2. 最新 解决 VMware 虚拟机 中被提示 Sorry, this application cannot run under a Virtual Machine
  3. 公众号小伙伴“进群”学习交流
  4. 2022化工自动化控制仪表特种作业证考试题库及答案
  5. 替换Word模板占位符并用 libreOffice Word 转Pdf
  6. 沙特认证_所有的沙特机器人去哪儿了
  7. 柔性电子: 无铅的分子铁电体 TMBM-MnBr3
  8. 【项目篇-项目选题与类型】创赛项目来源、项目选题建议;四种常见类型项目各自内容的侧重点与区别
  9. java源码怎么使用,系列篇
  10. chrome-linux/chrome: error while loading shared libraries: libnss3.so解决方法