快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索

tag 标签: 语音识别

相关帖子

版块 作者 回复/查看 最后发表
医疗机械 信息发布 嘿嘿2015 2015-9-28 1 543 此一时,彼一时 2015-9-30 10:19
语音识别灯具开发,实现用自然语音进行交互的功能 信息发布 SRhyme 2015-11-27 2 988 SRhyme 2015-12-17 14:58
嗨听智能WiFi音箱方案 开启音频行业转型升级 attach_img 信息发布 飞蛙科技 2016-1-29 0 3131 飞蛙科技 2016-1-29 15:52
宇音天下即将推出VOICEIN多语种语音识别技术 attach_img 信息发布 tts168 2016-2-25 0 808 tts168 2016-2-25 15:53
你中签了吗?SYN7318语音识别模块免费拿活动,第二批试用者名单 attach_img 信息发布 tts168 2016-2-29 0 404 tts168 2016-2-29 15:56
Lark7618语音识别wifi模块,预定开始啦! attach_img 信息发布 tts168 2016-3-14 2 449 tts168 2016-3-16 09:26
SYN7318语音识别模块试用活动结束,“块”乐购还在继续 attach_img 信息发布 tts168 2016-4-1 0 404 tts168 2016-4-1 11:51
第二代语音唤醒算法研发成功,SYN7318语音识别模块系列产品7折购 attach_img 信息发布 tts168 2016-5-19 1 1253 han0097 2016-5-19 16:08
自定义语音唤醒名,给您的产品取个漂亮的名字 attach_img 信息发布 tts168 2016-5-26 0 808 tts168 2016-5-26 16:42
宇音天下携手机智云Lark7618语音识别模块完美收官 attach_img 信息发布 tts168 2016-6-22 0 404 tts168 2016-6-22 10:49
机器人+交通:永不相撞的汽车 汽车电子 Q2562482377 2016-8-2 0 1623 Q2562482377 2016-8-2 11:05
中高端车载信息娱乐系统主机 attach_img 信息发布 周立功mcu 2016-12-28 0 1212 周立功mcu 2016-12-28 14:58
利用MCU实现语音识别?MSP432能做到! attach_img 【MSP430】 fish001 2017-1-10 2 851 蓝雨夜 2017-1-10 16:27
LPC54114音频和语音识别套件 attach_img 【NXP LPC MCU】 邹姆斯特朗 2017-1-16 6 1242 han0097 2017-1-17 11:34
SensorTile物联网开发套件(8)——DIY无线语音识别 attachment digest 意法半导体AMG SensorTile开发大赛 lb8820265 2017-1-17 8 3799 刀锋山之躯 2017-1-22 12:15
SensorTile物联网开发套件(9)——DIY无线语音控制 attachment digest 意法半导体AMG SensorTile开发大赛 lb8820265 2017-2-16 12 4316 木木铁 2017-7-28 15:02
本周精彩博文分享 attach_img TI技术论坛 橙色凯 2017-2-17 0 405 橙色凯 2017-2-17 11:11
多功能人工智能蓝牙音频中用到的贴片晶振 attach_img 信息发布 yijindz 2017-5-9 0 606 yijindz 2017-5-9 11:33
视觉导航仪 规划与求助?一大堆大神即将达到ing attach_img 【stm32/stm8】 247153481 2017-6-4 1 382 machinnneee 2017-6-5 08:38
EEWORLD DIY-语音控制LED灯 attach_img DIY/开源硬件专区 飞扬自我 2017-12-5 21 2290 飞扬自我 2017-12-17 21:02

相关日志

分享 2017/4/19开始->开始征战openwrt,语音识别交互
热度 3 wateras1 2017-4-19 12:06
2017/4/19开始->开始征战openwrt,语音识别交互
本来去年就打算搞一个路由器开发板搞下,一直徘徊着,主要是觉得在物联网应用中数据点很小,也用不上那么高端的路由器芯片,也许我做的比较低端,还没用上语音或者视频数据,所以一直徘徊着,直到去年智能音箱的出台,确实有点意思了,智能语音应用开始有起色了,于是乎,前几天搞了一块MT7688板子准备开始征战openwrt和语音交互这块,一方面是为了扩展自己的知识面,另外一面还是为了能扩展自己的就业方向,17年希望能坚持搞定这两项技术,不虚度光阴。 选择做鹰,就要选择独自一人站在高峰,慢慢的忍受孤独寂寞;选择做鸡,就是选择一种群居生活,虽然不孤独寂寞,但是一生也仅仅在眼皮下琢米。
个人分类: MTK7688/7628 openwrt alexa|1910 次阅读|4 个评论
分享 简单的语音交互(4)-- 讯飞语音识别
lb8820265 2017-1-17 11:41
简单的语音交互(4)-- 讯飞语音识别
前面介绍了百度的语音唤醒,主要是因为免费,这次来介绍下讯飞的“在线命令词识别”,就目前来说讯飞的语音识别还是要白百度的好那么一点点。 去讯飞云官网 http://www.xfyun.cn ,注册账号,然后点击 SDK 下载标签,选择在线命令词识别功能, android 平台,新建一个应用并选择。最后点击下载 SDK ,例程是用 Eclipse 写的,这时候可以参考官网视频教程: http://www.xfyun.cn/share/?p=1272 ,官网的文档: http://www.xfyun.cn/doccenter/awd ,可以很容易的做出一个在线识别的 Demo ,详细可以参考本文的源代码。 主要步骤: s tep1 导入 SDK 使用 AS 2.X 新建一个叫 XF_Voice 的空白应用。解压 SDK ,将 SDK 的 lib 文件夹中的 Msc.jar 放到 XF_Voice\app\libs 中,在 XF_Voice\app\src\main 中新建 jniLibs 文件夹将 SDK 的 lib 文件夹中的 armeabi 和 armeabi-v7a 两个文件夹复制进去。在 AS 中切换到 Project 视图,找到 Msc.jar ,右击选择: add as library 。将 SDK 文件夹 sample\SpeechDemo\src\com\iflytek\speech\util 中的 JsonParser.java 文件复制到 MainActivity.java 的文件夹下。并修改包名。 step2 添加用户权限 在工程 AndroidManifest.xml 文件中添加如下权限: 1. !-- 连接网络权限,用于执行云端语音能力 -- 2. uses-permissionandroid:name= "android.permission.INTERNET" / 3. !-- 获取手机录音机使用权限,听写、识别、语义理解需要用到此权限 -- 4. uses-permissionandroid:name= "android.permission.RECORD_AUDIO" / 5. !-- 读取网络信息状态 -- 6. uses-permissionandroid:name= "android.permission.ACCESS_NETWORK_STATE" / 7. !-- 获取当前 wifi 状态 -- 8. uses-permissionandroid:name= "android.permission.ACCESS_WIFI_STATE" / 9. !-- 允许程序改变网络连接状态 -- 10. uses-permissionandroid:name= "android.permission.CHANGE_NETWORK_STATE" / 11. !-- 读取手机信息权限 -- 12. uses-permissionandroid:name= "android.permission.READ_PHONE_STATE" / 13. !-- 读取联系人权限,上传联系人需要用到此权限 -- 14. uses-permissionandroid:name= "android.permission.READ_CONTACTS" / 如需使用人脸识别,还要添加: 1. !-- 摄相头权限,拍照需要用到 -- 2. uses-permissionandroid:name= "android.permission.CAMERA" / 注:如需在打包或者生成 APK 的时候进行混淆,请在 proguard.cfg 中添加如下代码 1. -keep class com.iflytek.**{*;} step3 初始化 初始化即创建语音配置对象,只有初始化后才可以使用 MSC 的各项服务。建议将初始化放在程序入口处(如 Application 、 Activity 的 onCreate 方法 ), 初始化代码如下: Java Code 1. // 将“ 12345678 ”替换成您申请的 APPID ,申请地址: http://open.voicecloud.cn 2. SpeechUtility.createUtility(context,SpeechConstant.APPID+ "=12345678" ); 注意:此接口在 非主进程 调用会返回 null 对象,如需在非主进程使用语音功能,请使用参数: SpeechConstant. APPID + "=12345678," + SpeechConstant. FORCE_LOGIN + "=true" 。 听写主要指将连续语音快速识别为文字的过程,科大讯飞语音听写能识别通用常见的语句、词汇,而且不限制说法。语音听写的调用方法如下: 1. //1. 创建 SpeechRecognizer 对象,第二个参数:本地听写时传 InitListener 2. SpeechRecognizermIat=SpeechRecognizer.createRecognizer(context, null ); 3. //2. 设置听写参数,详见《科大讯飞 MSCAPI 手册 (Android) 》 SpeechConstant 类 4. mIat.setParameter(SpeechConstant.DOMAIN, "iat" ); 5. mIat.setParameter(SpeechConstant.LANGUAGE, "zh_cn" ); 6. mIat.setParameter(SpeechConstant.ACCENT, "mandarin" ); 7. //3. 开始听写 mIat.startListening(mRecoListener); 8. // 听写监听器 9. private RecognizerListenermRecoListener= new RecognizerListener(){ 10. // 听写结果回调接口 ( 返回 Json 格式结果,用户可参见附录 12.1) ; 11. // 一般情况下会通过 onResults 接口多次返回结果,完整的识别内容是多次结果的累加; 12. // 关于解析 Json 的代码可参见 MscDemo 中 JsonParser 类; 13. //isLast 等于 true 时会话结束。 14. public void onResult(RecognizerResultresults, boolean isLast){ 15. Log.d( "Result:" ,results.getResultString());} 16. // 会话发生错误回调接口 17. public void onError(SpeechErrorerror){ 18. error.getPlainDescription( true ) // 获取错误码描述 } 19. // 开始录音 20. public void onBeginOfSpeech(){} 21. // 音量值 0~30 22. public void onVolumeChanged( int volume){} 23. // 结束录音 24. public void onEndOfSpeech(){} 25. // 扩展用接口 26. public void onEvent( int eventType, int arg1, int arg2,Bundleobj){} 27. }; 下面来介绍下连续语音识别的方法,参考帖子: http://blog.csdn.net/imhxl/article/details/50854146 ,和 http://www.itdadao.com/articles/c15a295439p0.html ,主要思路是:让本地一直录音,录音过程实时将录音数据传给语音识别,完成转换功能。 Activity_main.xml 布局文件: ? xml version= "1.0" encoding= "utf-8" ? LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" android :id= "@+id/activity_main" android :layout_width= "match_parent" android :layout_height= "match_parent" android :orientation= "vertical" android :paddingBottom= "@dimen/activity_vertical_margin" android :paddingLeft= "@dimen/activity_horizontal_margin" android :paddingRight= "@dimen/activity_horizontal_margin" android :paddingTop= "@dimen/activity_vertical_margin" tools :context= "com.example.lb.xf_voice.MainActivity" Button android :layout_width= "wrap_content" android :layout_height= "wrap_content" android :gravity= "center" android :id= "@+id/iat_genral" android :text= "start" / LinearLayout android :layout_width= "match_parent" android :layout_height= "wrap_content" android :padding= "10dp" android :orientation= "horizontal" TextView android :layout_width= "wrap_content" android :layout_height= "wrap_content" android :text= "Unceasing IAT:" / Switch android :layout_width= "wrap_content" android :layout_height= "wrap_content" android :id= "@+id/Switch_Unceasing_IAT" android :textOff= "off" android :textOn= "on" / / LinearLayout EditText android :layout_width= "match_parent" android :layout_height= "match_parent" android :id= "@+id/iat_text" / / LinearLayout MainActivity.java 代码: package com.example.lb.xf_voice; import java.util.HashMap; import java.util.LinkedHashMap; import org.json.JSONException; import org.json.JSONObject; import android.media.AudioFormat; import android.media.AudioRecord; import android.media.MediaRecorder; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.Switch; import android.widget.Toast; import com.iflytek.cloud.ErrorCode; import com.iflytek.cloud.InitListener; import com.iflytek.cloud.SpeechConstant; import com.iflytek.cloud.SpeechError; import com.iflytek.cloud.SpeechEvent; import com.iflytek.cloud.SpeechRecognizer; import com.iflytek.cloud.SpeechUtility; public class MainActivity extends AppCompatActivity implements OnClickListener ,CompoundButton.OnCheckedChangeListener{ private boolean mIsRecognizer = false ; private Switch mSwitch_Unceasing_IAT ; private AudioRecord audioRecord ; private int recBufSize = 0 ; private SpeechRecognizer mIat ; private EditText mResultText ; private Toast mToast ; private HashMapString, String mIatResults = new LinkedHashMapString, String(); private static String TAG = MainActivity. class .getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout. activity_main ); mToast = Toast. makeText ( this , "" , Toast. LENGTH_SHORT ); mResultText = ((EditText) findViewById(R.id. iat_text )); findViewById(R.id. iat_genral ).setOnClickListener( this ); mSwitch_Unceasing_IAT =(Switch)findViewById(R.id. Switch_Unceasing_IAT ); mSwitch_Unceasing_IAT .setOnCheckedChangeListener( this ); // 应用程序入口处调用,避免手机内存过小,杀死后台进程后通过历史 intent 进入 Activity 造成 SpeechUtility 对象为 null // 如在 Application 中调用初始化,需要在 Mainifest 中注册该 Applicaiton // 注意:此接口在非主进程调用会返回 null 对象,如需在非主进程使用语音功能,请增加参数: SpeechConstant.FORCE_LOGIN+"=true" // 参数间使用半角“ , ”分隔。 // 设置你申请的应用 appid, 请勿在 '=' 与 appid 之间添加空格及空转义符 // 注意: appid 必须和下载的 SDK 保持一致,否则会出现 10407 错误 SpeechUtility. createUtility (MainActivity. this , "appid=" + " XXXXXXXX " );//请自行申请 //1. 创建 SpeechRecognizer 对象,第二个参数:本地听写时传 InitListener mIat = SpeechRecognizer. createRecognizer (MainActivity. this , mInitListener ); } /** * 听写监听器。 */ private com.iflytek.cloud.RecognizerListener mRecognizerListener = new com.iflytek.cloud.RecognizerListener() { @Override public void onBeginOfSpeech() { // 此回调表示: sdk 内部录音机已经准备好了,用户可以开始语音输入 showTip( " 开始说话 " ); } @Override public void onError(SpeechError error) { // Tips : // 错误码: 10118( 您没有说话 ) ,可能是录音机权限被禁,需要提示用户打开应用的录音权限。 // 如果使用本地功能(语记)需要提示用户开启语记的录音权限。 showTip(error.getPlainDescription( true )); } @Override public void onEndOfSpeech() { // 此回调表示:检测到了语音的尾端点,已经进入识别过程,不再接受语音输入 showTip( " 结束说话 " ); if ( mIsRecognizer ) { mIat .startListening( mRecognizerListener ); } } @Override public void onResult(com.iflytek.cloud.RecognizerResult results, boolean isLast) { Log. d ( TAG , results.getResultString()); printResult(results); if (isLast) { // TODO 最后的结果 } } @Override public void onVolumeChanged( int volume, byte bsBuffer = new byte ; if (!( audioRecord .getRecordingState() == AudioRecord. RECORDSTATE_RECORDING )) { audioRecord .startRecording(); } while ( mIsRecognizer !Thread. currentThread ().isInterrupted()) { int line = audioRecord .read(bsBuffer, 0 , recBufSize ); byte ; System. arraycopy (bsBuffer, 0 , tmpBuf, 0 , line); mIat .writeAudio(tmpBuf, 0 , tmpBuf. length ); } mIat .stopListening(); audioRecord .stop(); } } } 效果图: 源代码: https://github.com/flyloong/XF_Voice
个人分类: ST|2855 次阅读|0 个评论
分享 水下无人潜航器预示着人工智能时代已经到来
18813675677 2016-12-19 09:14
水下无人潜航器预示着人工智能时代已经到来
12 月 16 日,中国海军在南海捕获一艘美军无人水下潜航器。科技互联网的发展正在开启下一幕—人工智能互联时代。 父辈一代的人已经创造了“人工智能”这个词,随着计算能力越来越强,成本越来越低,像图像识别,语音识别,自然语言的理解,已经成为成为我们生活中的一部分。 在这个技术时代和领域里,制造业、金融、旅游、物流等多方面都发生了一些改观,各个行业也利用这些技术提升自己的竞争力。 无人水下潜航器给我们带来了不少的灵感和启发,轻轻的我走了,正如我轻轻的来,你打开窗户,签下电商的购买。美国已经开始使用无人机送快递,这一步,有着物流新篇的特色,也预示着行业的迭代速度。 无人系统进入到军事领域,替代了人执行一些危险的任务,本次捕获的无人潜航器是美军的省钱利器,也是商用技术军用化的成功范例,后期所有的监视领域都将采用无人平台网络。 人工智能时代不同于 PC 和移动互联网,对于大众来说,用声音和相机来表达更加简单。拥有大数据计算能力的人工智能技术,已经出现在人们生活之中,尤其是在某宝买寿衣推送灵牌方面。 在汽车制造业,欧美国家早针对流程工业提出了“智能工厂”的概念,流程工业智能工厂由大数据的商业智能,用户运营智能、工厂造作智能三个方面组成,加上现有的全自动机械化、自动化操作,实施起来非常容易。 人工智能还是工业物联网提出“中国制造 2025 ”、工业 4.0 的一个新的突破口。通过物联网技术和人工智能结合,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,方便识别、管理和控制,实现人、设备和系统三者之间的智能化、交互式无缝连接。 在人工智能时代,每个人都会受到不同程度的影响,不仅是 IT 公司,从传统制造到金融服务、从科学教育到智能医疗,从旅游到物流都会面临转型和革命。
549 次阅读|0 个评论
分享 简单的语言交互(1)--语音库简介
lb8820265 2016-11-25 00:36
需要的机器人具有能语言交流的能力,其实并不难,很多方案可以做到,最简单的方法就是直接购买语音识别芯片,语音芯片输入语音信号,通过串口就直接输出了文本,然后又根据文本内容传输给语音合成芯片,合成语音,简单粗暴。再有就是语音库离线处理了,这样处理识别的文字定然不多,需要事先将文本特征保存下来,很多嵌入式端的简单语音控制应该就是这么处理的了,但是我们需要更加智能的方案那就是云处理了,大名鼎鼎的“贤二”机器人和“ Google home ”估计就是这么处理的,如果想让我们的机器人也具有这样的功能,我们也可以通过云运算来处理,自己来做云运算这个太过复杂,好在现在很多公司都拥共享云语音库, Google ,讯飞,百度等等的。 那就需要分析对比上面的语音识别库了,首先是 Google ,这个可以免费试用一段时间,需要用绑定信用卡,而且要保证系统可以连接访问 Google ,好吧,就凭这点可以不予考虑了,详细的功能我就没去了解了。接下来是百度和讯飞,讯飞老早开始做语音识别了,目前实测效果也是要好于百度的,具有语音识别,语音合成, 语音唤醒,语音测评,语义理解,AIUI等等功能,多平台支持包括 Linux ,这也就意味着在嵌入式机器人上使用成为了可能,最近也有了麦克风阵列声音定位技术,这个为以后机器人的听音判断位置提供了技术支持,这个 ST 也有语音库支持。其中的AIUI是直接的语音交互开发版,买来就可以直接实现使用。反观百度,目前只支持 android 和 IOS ,只有语音识别,语音合成和语音唤醒功能。 语音合成这个好理解,就是将文本变成语音,很多低成本的语音芯片就能做到,但是这个里面包含很多问题,比如数字与电话号码读法处理,中英混合处理,多音字处理,音调处理等等的,不过好在我们对语音的合成要求不是很大,萌萌哒且机械的声音也有不少人喜欢。 接下来分析下语音识别和唤醒的特点,语音识别是将所有输入的语音全部给转换为文本,可以手动截断,也可以语音停顿截断,这样出来的文本就会很长,如何从这么长的文本中提取有用的信息,而且需要语义判断,情感分析等等的就成了一个很复杂的问题了,当然处理的好的话那就很炫酷了,比如小度机器人, sire ,贤二机器人, Google home 。唤醒功能就相对简单了,预先将词汇信息保存,词汇一般是 3 到 5 个音节,一直开启接收语音信息,一旦出现对应的词汇就触发响应,语音唤醒是用来唤醒机器的,但是个人觉得这样的特性适合做简单的智能家居,比如“楼上开灯”,如果是采用语音识别的话很难保证前后不出现其他的词语,增加了信息提取的难度,但是唤醒就不同了,直接就将信息提取出来了。 要做成贤二和 Google home 那样太难了,因此想简单的体验下智能家居选用语音唤醒就好,其中百度免费,讯飞收费。
个人分类: 我的小车|1725 次阅读|0 个评论

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-4-21 12:06 , Processed in 0.034703 second(s), 11 queries , Redis On.

Powered by EEWORLD电子工程世界

© 2018 http://bbs.eeworld.com.cn/

返回顶部