本站停止维护,已转移至laravel学习网;欢迎大家移步访问!

网页,IOS,安卓如何实现语音验证,文本转换为语音

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

功能介绍

REST API支持对一段文本的合成,其中对于文本格式以及参数有一定的要求。请按照文档中描述进行相应请求操作。

本文档适用使用HTTP接口的开发人员。

注册百度开发者

使用百度语音技术服务首先需要注册成为百度开发者,如果您在登陆百度帐号后进入 “ 应用管理 ” 出现如下提示,说明您的百度帐号还没有注册成为百度开发者。请按要求填写开发者信息并完成百度开发者的注册。

创建应用

在首页登陆已经注册为开发者的百度账号,然后点击页面上方的 “ 应用管理 ” 进入应用管理页面。如果您之前在百度开发者中心创建过应用,则会出现您之前曾经创建过的应用;如果您之前没有创建过应用,则需要新创建一个应用。

1、点击右上角 填写应用名称并选择应用垂类信息,即可创建一个新的应用。

2、创建成功后,新创建的应用会出现在应用列表最上方的位置。

3、点击“ 查看Key ”可以查看当前应用的 App ID、 API Key、Secret Key 信息。

开通服务

新创建或从未开通语音合成服务的应用,则需要开通语音合成服务之后才可以使用。
1、点击应用卡片上的    按钮,选择 “语音合成” 服务进行开通。

2、“语音合成” 服务开通成功后即可获得 200000次/日 的在线调用次数配额。

获取 Access Token

使 用语音识别 REST API 需要获取 Access Token。Access Token 是用户身份验证和授权的凭证,语音识别采用的是Client Credentials授权方式,即采用应用公钥、密钥获取Access Token,适用于任何带server类型应用,通过此授权方式获取Access Token仅可访问平台授权类的接口,详见百度 OAuth 授权“Client Credentials授权”部分。

使用Client Credentials获取Access Token需要应用在其服务端发送请求(推荐用POST方法)到百度OAuth2.0授权服务的“ https://openapi.baidu.com/oauth/2.0/token ”地址上,并带上以下参数:

  • grant_type:必须参数,固定为“client_credentials”;

  • client_id:必须参数,应用的 API Key;

  • client_secret:必须参数,应用的 Secret Key;

例如:

https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHl********LT0vuXV4&client_secret= 0rDSjzQ20XUj5i********PQSzr5pVw2&

响 应数据包如下所示,其中 “access_token” 字段即为请求 REST API 所需的令牌,  默认情况下,Access Token 有效期为一个月,开发者需要对 Access Token的有效性进行判断,如果Access Token过期可以重新获取。

例如:

HTTP/1.1 200 OKContent-Type: application/jsonCache-Control: no-store{    "access_token": "1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328",    "expires_in": 86400,    "refresh_token": "2.385d55f8615fdfd9edb7c4b********.604800.1293440400-2346678-124328",    "scope": "public",    "session_key": "ANXxSNjwQDugf8615Onqeik********CdlLxn",    "session_secret": "248APxvxjCZ0VEC********aK4oZExMB",}

语音合成接口支持 POST 和 GET两种方式
正式地址:http://tsn.baidu.com/text2audio

文本上传模式

  • 上传参数

参数可需描述
tex必填合成的文本,使用UTF-8编码,请注意文本长度必须小于1024字节
lan必填语言选择,填写zh
tok必填开放平台获取到的开发者 access_token
ctp必填客户端类型选择,web端填写1
cuid必填用户唯一标识,用来区分用户,填写机器 MAC 地址或 IMEI 码,长度为60以内
spd选填语速,取值0-9,默认为5中语速
pit选填音调,取值0-9,默认为5中语调
vol选填音量,取值0-9,默认为5中音量
per选填发音人选择,取值0-1, 0为女声,1为男声,默认为女声

将所有的参数都填写到URL地址中,可以通过浏览器可以播放合成的语音结果。

http://tsn.baidu.com/text2audio?tex=***&lan=zh&cuid=***&ctp=1&tok=***

将文本以及其他参数写入到body里面,利用表单的方式将参数传递到服务端。调用地址为 http://tsn.baidu.com/text2audio , 所有的参数都在body中。body里面的数据为:

tex=***&lan=zh&cuid=***&ctp=1&tok=***

注意:
不论是将参数放到URL地址中,还是利用表单的方式放入到http body中,参数都需要经过两次 URLENCODE 操作。如果是直接在浏览器地址栏输入则不需要。

下行接口定义

如 果合成成功,下行数据为二进制语音文件,具体header信息 Content-Type:audio/mp3;如果合成出现错误,则会返回json结果,具体header信息为:Content- Type:application/json。其中sn数据主要用于DEBUG追查问题,如果出现问题,可以提供sn帮助确认问题。

错误实例为:

{"err_no":500,"err_msg":"notsupport.","sn":"abcdefgh","idx":1}

错误码解释

错误码含义
500不支持输入
501输入参数不正确
502token验证失败
503合成后端错误


转载请注明 :一沙网络原文出处:http://bbs.earnp.com/article/26
问题交流群 :562864481
0
打赏
发布时间 :2016-07-29 02:22:47
分享

0 个评论

    还没有评论,感觉来抢沙发吧!

要回复文章请先登录注册