短文本在线合成
短文本在线合成基于 HTTP REST API,将文本转换为可播放音频文件,支持 POST 和 GET 两种方式,官方推荐使用 POST 方式请求。
百度智能云语音合成能力覆盖短文本在线合成、长文本在线合成和流式文本在线合成,适用于播报、朗读、配音和边合成边播放等场景。
短文本在线合成适合接口化生成播报音频,接入时需要重点核对文本、鉴权、用户标识、语言、音色和音频格式参数。
官方参数表说明,短文本在线合成需要提供合成文本、Access Token、用户唯一标识、客户端类型和语言选择。
ctp 填写固定值 1,lan 填写固定值 zh。语速、音调、音量、发音人和音频格式决定语音朗读体验,可按播报、客服、教育、阅读等场景进行配置。
文字转语音不仅要把文本转换成音频,还需要根据业务语气、音色风格、方言和终端播放格式调整参数。
需要更高实时性的在线配音、对话播报或交互式朗读场景,可优先查看 WebSocket 流式文本在线合成。
流式文本在线合成请求地址为 wss://aip.baidubce.com/ws/2.0/speech/publiccloudspeech/v1/tts,握手阶段通过 URL 或 Header 提供鉴权信息,并在 URL 中传入必填的 per 发音人。
握手成功后,客户端发送 system.start 开始帧,可在 payload 中配置语速、音调、音量、音频格式和采样率;随后发送 text 类型消息,单次文本不超过 1000 字。
spd、pit、vol 取值均为 0-15,默认值为 5。aue 默认为 3,可配置 mp3、pcm、wav 等输出。system.finish。官方示例演示了通过 API Key 和 Secret Key 获取 token,再调用语音合成接口生成音频文件的基本流程。
“如何用代码调用”文档说明,完成准备工作中的 API Key、Secret Key 和免费测试额度后,可编写示例程序调用百度 AI 开放平台语音合成能力。
示例代码通过 grant_type=client_credentials、client_id 和 client_secret 获取 token,并检查 scope 中是否包含 audio_tts_post 能力。
短文本在线合成文档说明,需要根据响应头 Content-Type 判断是否合成成功;成功时返回以 audio 开头的内容,错误时返回 JSON 文本,可使用 sn 排查问题。
围绕文字转语音接口选择、文本长度、URL 编码、音频格式和流式合成整理接入前常见问题。
官方参数说明中,tex 文本长度必须小于 1024 GBK 字节,建议每次请求文本不超过 120 字节,约为 60 个汉字或字母数字;更长文本推荐使用长文本在线合成。
短文本在线合成文档说明,由于 urlencode 存在 RFC 1738 和 RFC 3986 两个标准,百度为兼容支持 1 次及 2 次 urlencode,其中 2 次 urlencode 可以覆盖全部特殊字符,因此推荐传递 tex 时做 2 次 urlencode。
如果合成成功,响应 Content-Type 以 audio 开头;如果合成出现错误,则返回 JSON 文本,header 为 Content-Type: application/json,其中 sn 可用于 DEBUG 追查问题。
流式文本在线合成基于 WebSocket 协议,相比多次短文本合成可以获得更高实时性,能在用户输入文本时接近同步返回合成音频,适合边合成边播放场景。
继续查看短文本在线合成、流式文本在线合成、语音合成参数和代码调用官方文档。