百度语音识别REST API——通过使用Http网络请求方式获得语音识别功能

原创 2014年06月19日 13:59:31


百度语音识别通过REST API的方式给开发者提供一个通用的HTTP接口,基于该接口,开发者可以轻松的获取语音识别能力,本文档描述了使用语音识别服务REST API的方法。

优点:

较之开发者常用的获取语音识别功能的方法,本方法最大的优势是轻量级,不需要在所开发的应用中集成任何SDK开发工具包,也不需要在测试机中添加任何识别引擎软件,开发者只要了解Http网络请求以及百度语音识别 REST API的使用规则,即可轻轻松松在自己的应用中使用语音识别相关的功能了。

功能介绍:

REST API支持整段录音文件的识别,对录音格式有一定的要求,支持语音识别控件:集成提示音、音量反馈动效整套交互的对话框控件,方便开发者快速集成;

原始PCM的录音参数必须符合8k/16k采样率、16bit位深、单声道,支持的压缩格式有:pcm(不压缩)、wav、opus、speex、amr、x-flac。

使用方法:

注册开放平台及创新应用

注册方法可参见之前写的百度语音识别开放平台SDK使用方法一文,其中有详细的注册方法叙述。

从管理控制台进入创建的应用,如下图所示,API Key(client_id)和Secret Key(client_secret)即显示于其中, ID即为应用id(appid)。

根据百度OAuth的Client Credentials授权方式获取access_token。百度OAuth的Client Credentials和其他授权方式的说明见百度OAuth介绍的“百度支持的OAuth授权”部分。


其中,grant_type的值固定为client_credentials,client_id即为(3)中截图所示的 API Key的值,client_secret即为截图所示的Secret Key的值。更为详细的介绍请参见Client Credentials授权说明。
响应如下所示,其中access_token字段即为请求REST API所需的令牌, access_token有效期一般为一个月,开发者需要对access_token,进行有效性判断,过期需重新申请access_token。



API请求方式

 语音识别接口支持POST 方式
 目前API仅支持整段语音识别的模式,即需要上传整段语音进行识别
 语音数据上传方式有两种:隐示发送和显示发送
 原始语音的录音格式目前只支持评测8k/16k采样率16bit位深的单声道语音
 压缩格式支持:pcm(不压缩)、wav、opus、speex、amr、x-flac
 系统支持语言种类:中文(zh)、粤语(ct)、英文(en)
 正式地址:http://vop.baidu.com/server_api

语音上传模型

语音数据和其他参数通过标准JSON格式串行化POST上传, JSON里包括的参数:




其中,开发者可以把语音数据放在JSON序列的“speech”字段中,需要将语音先进行base64编码,并标明语音数据的原始长度,填写“len”字段;也可以直接提供语音下载地址放在“url”字段中,并且提供识别结果的回调地址,放在“callback”参数中。因此“speech”和“len”参数绑定,“url”和“callback”参数绑定,这张组参数二选一填写,如果都填,默认处理第一种。


表单类型在HTTP-HEADER里的content-type表明,例:


Content-length请填写JSON串的长度。
 上传实例:


 注意事项:
1, len字段表示原始语音长度,不是base64编码之后的长度。
2, speech和len字段绑定验证,url和callback绑定验证,两组参数二选一必填,如果都填,默认第一种方式。
3, 如果采用base64编码语音数据,数据量会增大1/3。
 显示发送:
语音数据直接放在HTTP-BODY中,控制参数以及相关统计信息通过REST参数传递,REST参数说明:



语音数据的采样率和压缩格式在HTTP-HEADER里的content-type表明,例:


Content-length请填写原始语音长度。
 URL示例:


下行接口定义

两种上传方式都返回统一的结果,采用 JSON格式封装,如果识别成功,识别结果放在JSON的“result”字段中,统一采用utf-8方式编码。


 识别成功返回case:
{\"err_no\":0,\"err_msg\":\"success.\",\"corpus_no\":\"15984125203285346378\",\"sn\":\"481D633F-73BA-726F-49EF-8659ACCC2F3D\",\"result\":[\"\\u6211\\u633a\\u5e05\\u554a\\uff0c\\u5e05\\u54e5\\uff0c\"]}
 识别错误返回case:
{"err_no":2000,"err_msg":"data empty.","sn":null}

错误码解释
33xx:系统内部模块交互错误,服务此时可能不太稳定。
34xx:参数错误,请检查上行参数。
30xx-32xx:后端错误,后端资源可能出现错误


由于篇幅所限,具体使用方法在下篇文章介绍。

版权声明:本文为博主原创文章,未经博主允许不得转载。

【记录】百度语音识别之REST API

注:百度语音识别的REST API官方已经提供了Demo,此处仅做一个说明。下载百度语音识别REST API后,进行如图修改:修改后,直接运行即可获取语音识别结果(当然你需要事先将test.pcm放到...
  • jiasike
  • jiasike
  • 2016年04月29日 19:35
  • 1419

百度语音识别服务 —— 语音识别 REST API 开发笔记

在以前的项目中用到了百度语音识别服务,在这里做一个笔记。这里还是要和大家强调一下,最好的学习资料就是官网网站。我这里只是一个笔记,一方面整理了思路,另一方面方便以后我再次用到的时候可以快速回忆起来。百...
  • lw_power
  • lw_power
  • 2016年06月27日 21:00
  • 9207

Android studio集成百度语音识别api

今天 项目中要用到语音功能,所以看了下百度语音api    1,根据百度语音开发文档,创建应用,下载相应的jar包,添加到你的应用     2,清单文件配置信息,          andro...
  • x995630736
  • x995630736
  • 2017年06月08日 15:07
  • 1641

百度语音识别API的使用样例(python实现)

百度给的样例程序,不论C还是Java版,都分为method1和method2两种 前者称为隐式(post的是json串,音频数据编码到json里),后者称为显式(post的就是音频数据) ...
  • happen23
  • happen23
  • 2015年05月18日 14:20
  • 21241

使用C++ REST SDK开发简单的Web(HTTP)服务

C++ REST SDK是微软开源的一套客户端-服务器通信库,提供了URI构造/解析,JSON编解码,HTTP客户端、HTTP服务端,WebSocket客户端,流式传输,oAuth验证等C++类,方便...
  • ztsinghua
  • ztsinghua
  • 2016年03月25日 09:57
  • 8215

激动人心!在网页上通过语音输入文字 - HTML5 Web Speech API介绍

很久前我曾经提到过Web Speech API,现在Chrome刚刚发布的25版本已经为桌面和Android提供了对此API的支持,这对Web开发者来说无疑是一个具有里程碑意义的事件,因为我们可以直接...
  • hfahe
  • hfahe
  • 2013年01月16日 22:39
  • 16822

基于javascript用olamisdk实现web端语音识别语义理解(speex压缩)

olami开放平台sdk除了支持语音识别功能外,更强大的在于支持语义理解功能,在android平台和ios平台都有示例demo供大家下载。 语音在线听书demo:http://blog.csdn.n...
  • ls0609
  • ls0609
  • 2017年06月29日 16:43
  • 3367

浏览器上的HTML5语音识别功能实例页面

代码: HTML代码: input type="text" x-webkit-speech x-webkit-grammar="builtin:translate" />...
  • yual365
  • yual365
  • 2013年11月19日 11:40
  • 4804

百度语音识别Demo

  • 2014年06月05日 15:41
  • 4.69MB
  • 下载

Android开发学习之使用百度语音识别SDK实现语音识别(上)

作为移动互联网杀手级的交互方式,语音识别从问世以来就一直备受人们的关注,从IOS的Siri到国内的讯飞语音,语音识别技术在移动开发领域是最为充满前景和希望的技术。Android作为一个移动操作系统,其...
  • qinyuanpei
  • qinyuanpei
  • 2014年01月05日 09:26
  • 12022
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:百度语音识别REST API——通过使用Http网络请求方式获得语音识别功能
举报原因:
原因补充:

(最多只允许输入30个字)