百度语音识别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授权说明。
响应例如以下所看到的,当中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:后端错误。后端资源可能出现错误


因为篇幅所限,详细用法在下篇文章介绍。





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5372192.html,如需转载请自行联系原作者  

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
17天前
|
设计模式 缓存 JavaScript
API设计模式:REST、GraphQL、gRPC与tRPC全面解析
API设计模式:REST、GraphQL、gRPC与tRPC全面解析
28 0
|
2月前
|
缓存 前端开发 API
构建可扩展的API:REST vs GraphQL
【5月更文挑战第14天】在API设计中,REST和GraphQL是两种主要的架构风格。REST基于HTTP协议,强调资源的无状态性和客户端-服务器模型,适合简单CRUD操作。而GraphQL提供更灵活的数据查询,允许客户端精确指定需求,减少HTTP请求和数据冗余,适合复杂场景和高性能需求。选择时要考虑项目需求、技术栈、性能和团队经验。
|
5天前
|
安全 Java API
构建基于Spring Boot的REST API安全机制
构建基于Spring Boot的REST API安全机制
|
9天前
|
开发框架 Java API
Java中的REST API开发详解
Java中的REST API开发详解
|
12天前
|
开发框架 安全 .NET
使用VB.NET构建Web服务和REST API的指南
【7月更文挑战第2天】使用VB.NET构建Web服务和REST API的指南:从Web服务基础到ASP.NET Core实践,涵盖控制器、路由、模型绑定、安全措施(如JWT、HTTPS)及测试、部署(Azure、Docker)与监控工具。了解如何利用VB.NET在现代云环境中创建高效、安全的API。开始你的VB.NET Web服务开发之旅!**
15 1
|
11天前
|
开发框架 Java API
Java中的REST API开发详解
Java中的REST API开发详解
|
12天前
|
缓存 Java API
Java中设计和优化REST API的技巧
Java中设计和优化REST API的技巧
|
2月前
|
JSON API 定位技术
.NET集成DeveloperSharp实现http网络请求&与其它工具的比较
该内容介绍了一个支持.NET Core 2.0及以上和.NET Framework 4.0及以上的HTTP请求调用方法,主要讨论了POST和GET两种形式。POST请求较为常见,涉及调用地址、发送参数、HTTP请求头和编码格式设置。文中提供了一个使用DeveloperSharp库发送POST请求的C#代码示例,用于发送短信,其中`IU.HttpPost`方法用于执行POST请求。此外,还提到了`HttpPost`方法的参数和返回值说明。最后简要提及了GET请求,通常用于URL带有查询参数的情况,并给出一个简单的GET请求示例。
|
2月前
|
Prometheus 监控 Cloud Native
第七十一章 使用 REST API 监控 IRIS - 活动量指标
第七十一章 使用 REST API 监控 IRIS - 活动量指标
27 0
|
2月前
|
监控 API 网络架构
第七十章 使用 REST API 监控 IRIS - 互操作性指标
第七十章 使用 REST API 监控 IRIS - 互操作性指标
27 0