百度语音识别REST API——通过使用Http网络请求方式获得语音识别功能
百度语音识别通过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授权说明。
API请求方式 语音识别接口支持POST 方式 语音上传模型 语音数据和其他参数通过标准JSON格式串行化POST上传, JSON里包括的参数:
其中,开发者可以把语音数据放在JSON序列的“speech”字段中,需要将语音先进行base64编码,并标明语音数据的原始长度,填写“len”字段;也可以直接提供语音下载地址放在“url”字段中,并且提供识别结果的回调地址,放在“callback”参数中。因此“speech”和“len”参数绑定,“url”和“callback”参数绑定,这张组参数二选一填写,如果都填,默认处理第一种。
表单类型在HTTP-HEADER里的content-type表明,例:
Content-length请填写JSON串的长度。
注意事项:
语音数据的采样率和压缩格式在HTTP-HEADER里的content-type表明,例:
Content-length请填写原始语音长度。
下行接口定义 两种上传方式都返回统一的结果,采用 JSON格式封装,如果识别成功,识别结果放在JSON的“result”字段中,统一采用utf-8方式编码。
识别成功返回case: 错误码解释
由于篇幅所限,具体使用方法在下篇文章介绍。 |
|