博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
鱼渔微信的发展0基础课程【十二】- 接收语音识别结果
阅读量:7126 次
发布时间:2019-06-28

本文共 1527 字,大约阅读时间需要 5 分钟。

首先,下载并安装教程和支持。

收到正式文件的声音识别结果指,配合本次课程。开发包中专门有一个教学文件tool/send_and_response.php。注意下面代码:

getRevContent和getRevVoice函数都出自开发包中的common/wechat-php-sdk/wechat.class.php。

getRevVoice返回包括MediaId和Format的数组,已经介绍过了。

getRevContent代码例如以下:

注意当中的逻辑是,假设有Recognition项,就返回语音识别结果。

可是这里面有些复杂的情况,详见以下的分析。结论是当MsgType为voice时,可用php的strlen函数推断Recognition的值是否为空串,假设不是空串,说明语音识别功能已经开启,有识别结果,但识别结果的正确概率有多大,微信没有给出不论什么參数。无论Recognition的值是否为空。微信都给出了MediaId和Format,依据MediaId在3天内能够从微信server下载原声,以正视听。

在run.php的最前面加上以下两行。就能够測试了。

require_once dirname(__FILE__) . '/tool/send_and_response.php';

exit;

鱼渔在这里索性详解下这个Recognition。

一、測试号默认没有开启语音识别功能,须要到帐号管理后台人工开启,下图是已经开启的状态:

注意因为client缓存,开发人员开启或者关闭语音识别功能,对新关注者立马生效,对已关注用户须要24小时生效。开发人员能够又一次关注此帐号进行測试。

二、微信输入方式中有一种叫做“语音输入",相同用到语音到文字的转换技术,但用户最后发给微信server的不是语音消息,而是文字消息。MsgType为text。和这次课讲的接收语音识别结果没有不论什么关系,例如以下图所看到的:

三、即便语音识别功能默认是关闭的,仅仅要MsgType为voice,微信server发来的xml中就会包括一个Recognition,值为空,详见中的日志记录,那次我们没有开启语音识别功能。以下几点是开启后的情况。

四、在微信对讲机模式下。假设按住说话后,没有语音输入,也就是发送一个“无声”的语音消息给微信,微信会给出一个mediaId,Format为speex,Recognition为空,以下是交互界面和日志:

五、在微信对讲机模式下,假设按住说话后,有语音输入。而且识别正确,微信会给出一个mediaId。Format为amr,Recognition非空,以下是交互界面和日志:

六、在微信对讲机模式下,假设按住说话后。有语音输入,但识别错误。微信会给出一个mediaId。Format为amr,Recognition非空。以下是交互界面和日志:

假设可以针对语音识别结果的正确率,给出个信心指数。比方80%,或许会对实际应用有所帮助。

近期微信推出智能开放平台,包含语音和图像的识别,鱼渔对这些智能领域密切关注,并有一些资源。有不论什么idea都欢迎联系讨论。

-----------------------------------------------------------------------------------------------------------------------------------------

欢迎转载。但请注明来自鱼渔解读微信公众平台开发(http://blog.csdn.net/yidongapi)。谢谢!

欢迎关注公众帐号:weixintizi。我的个人站点:

你可能感兴趣的文章
codeforces B - Preparing Olympiad(dfs或者状态压缩枚举)
查看>>
《深入理解并行编程》中文版
查看>>
lintcode Permutation Index
查看>>
线程管理(八)在线程里处理不受控制的异常
查看>>
Cookie问题(烦了三天)
查看>>
Java之道系列:Annotation实现浅析
查看>>
(NO.00003)iOS游戏简单的机器人投射游戏成形记(二十)
查看>>
Nokia S60真机的全屏getHeight()返回值BUG说明
查看>>
实例解析java + jQuery + json工作过程(登录)
查看>>
如何取得ChipmunkConstraint实例对象的私有属性
查看>>
ORA-01078: failure in processing system parameters & LRM-00109: could not open parameter file
查看>>
CSS魔法堂:你真的懂text-align吗?
查看>>
kernel taint
查看>>
基于geoserver的伪三维地图制作
查看>>
创业思维 - Thinking in Startup
查看>>
java内存回收机制
查看>>
Install MariaDB by yum use Docker centos6 image
查看>>
Android应用架构之MVP实现
查看>>
如何用消息系统避免分布式事务?
查看>>
viewport 最佳实践
查看>>