科大讯飞
  1. 在线语音合成
科大讯飞
  • iOS SDK接入文档
  • 平台文档
    • 开发者新手指南
      • 平台简介
      • 快速指引
    • 服务协议
      • 讯飞开放平台用户服务协议
      • 讯飞星火认知大模型接口服务协议
      • 开发者应用创建规则
      • 讯飞开放平台隐私政策
      • 开发者用户个人信息保护合规指引
      • 开放平台SDK合规使用说明
      • SDK隐私政策总览
      • SDK合规使用说明总览
      • 科大讯飞儿童隐私保护政策
      • 讯飞开放平台SLA协议
      • 讯飞开放平台订购协议
    • 用户认证须知
      • 用户认证简介
      • 企业实名认证
      • 个人实名认证
      • 初创团队认证
      • 学生认证
      • 公益项目认证
      • 个人升级企业认证
    • 财务
      • 退款规则及退款流程
      • 财务相关说明
    • 账号
      • 账号注销与删除流程
      • 账号与应用说明
    • 会员
      • 会员权益详情
      • 会员时效说明
      • 会员试用版
  • 星火认知大模型
    • SparkDesk
      • SparkDesk使用指南
      • SparkDesk隐私政策
      • SparkDesk用户协议
    • 星火认知大模型
      • 服务说明
      • 通用鉴权URL生成说明
      • Spark Android SDK接入文档
      • Linux SDK接入文档
      • Windows SDK接入文档
      • 讯飞星火认知大模型隐私政策
      • Web 文档
        • 星火认知大模型Web API文档
        • 星火大模型V1.5
        • 星火大模型V2
        • 星火大模型V3
    • 星火知识库
      • 星火知识库 API 文档
        • 星火知识库 API 文档
        • 文档问答
        • 文档上传
        • 文档总结
        • 获取文档总结/概要信息
      • 新版Embedding API文档
    • 图片生成
      • 图片生成 API
    • 图片理解
      • 图片理解 API
    • 大模型定制训练平台
      • 产品使用说明
      • 星火微调服务Web API文档文档
        • 星火微调服务Web API文档文档
        • V1.5版本
        • 微调模型
  • 语音识别
    • 语音唤醒(新版)
    • 语音听写
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • Java SDK 文档
      • 音频文件格式说明
      • 语音听写服务说明
      • 语音听写(流式版)SDK隐私政策
      • 语音听写(流式版)SDK合规使用说明
      • HarmonyOS SDK 文档
      • 语音听写自训练平台
      • 语音听写(流式版)WebAPI
    • 语音转写
      • 语音转写服务说明
      • 语音转写 服务协议
      • WebAPI 文档
        • 语音转写 API 文档
        • 文件上传
        • 查询结果
    • 极速语音转写
      • 极速语音转写 API 文档
      • 小文件上传
      • 初始化分块信息
      • 分块上传
      • 分块上传完成
      • 创建任务
      • 查询任务
    • 实时语音转写
      • 实时语音转写服务说明
      • 实时语音转写 API
    • 离线语音听写
      • Android SDK 文档
      • 离线语音听写服务说明
      • 离线语音听写SDK隐私政策
      • 离线语音听写SDK合规使用说明
    • 离线语音听写(新版)
      • Android SDK 文档
      • 离线语音听写隐私政策
    • 语音唤醒
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 语音唤醒服务说明
      • 离线唤醒SDK隐私政策
    • 语音唤醒(新版)
      • Android SDK 文档
      • Linux SDK 文档
      • 语音唤醒隐私政策
    • 离线命令词识别
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 离线命令词识别服务说明
      • 离线命令词识别SDK隐私政策
      • 离线命令词SDK合规使用说明
  • 语音合成
    • 在线语音合成
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • Java SDK 文档
      • 服务协议
      • 在线语音合成服务说明
      • 发音人自训练平台使用指南
      • WebAPI
    • 长文本语音合成
      • 长文本语音合成 API 文档
      • 创建任务
      • 查询任务
    • 离线语音合成
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 服务协议
      • 离线语音合成服务说明
    • AI虚拟人技术
      • Web SDK 2.0 接入指南
      • Android-SDK
      • iOS-SDK
      • Web API 文档
        • AI虚拟人技术 API 文档
        • 音频驱动
        • 启动
        • 文本驱动
        • 停止
        • 心跳
  • 语音扩展
    • 语音评测(流式版)
      • 接口说明
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 语音评测SDK隐私政策
      • 语音评测(流式版)API
    • 语音评测suntone
      • 语音评测suntone API
    • 离线变声
      • Android SDK 集成文档
    • 音色转换
      • 音色转换 API
    • 性别年龄识别
      • 性别能力识别 API
    • 声纹识别
      • Web API 文档
      • 声纹识别 API
    • 歌曲识别
      • 歌曲识别 API
    • 歌曲识别 ACRCloud
      • 接口说明
      • 哼唱识别
      • 音乐识别
    • AI 客服中间件
      • 接口说明
      • 获取token
      • 查询配置
      • 直接外呼
      • 创建外呼任务
      • 提交任务数据
      • 启动外呼任务
      • 暂停外呼任务
      • 删除外呼任务
      • 查询任务
      • 结果数据推送
      • 话单推送
      • 录音推送
      • 会话推送
      • 呼入话术上下文动态数据获取
  • 自然语言处理
    • 文本纠错
      • 文本纠错 API
      • 黑白名单上传
    • 公文校队
      • 公文校对 API
    • 文本合规
      • 文本合规 API
      • 新增黑名单词库
      • 根据lib_id添加黑名单词条
      • 根据lib_id查询词条明细
      • 根据lib_id删除词条
      • 根据appid查询账户下所有词库
      • 根据lib_id删除词库
      • 创建白名单库
      • 根据lib_id添加放行词条
      • 根据lib_id查询词条详情
      • 根据lib_id删除词条信息
      • 根据appid查询所有词库列表
      • 根据lib_id删除词库
    • 图片合规
      • 图片合规 API
    • 音频合规
      • 音频合规 API
    • 视频合规
      • 视频合规 API
    • 文本改写
      • 文本改写 API
    • 机器翻译
      • 机器翻译(新) API
    • 机器翻译niutrans
      • 机器翻译niutrans API
    • 同声传译
      • 同声传译 API 
    • 离线分词
      • Android SDK 文档
  • 人脸识别
    • 人脸验证与检索
      • Android SDK 文档
      • iOS SDK 文档
      • 人脸验证与检索SDK隐私政策
      • 人脸验证与检索SDK合规使用说明
    • 人脸对比
      • 人脸比对 API
    • 人脸比对sensetime
      • 人脸比对sensetime API
    • 人脸水印照比对
      • 人脸水印照比对 API
    • 静默活体检测
      • 静默活体检测 API
    • 配合式活体检测
      • 配合式活体检测 API
    • 静默活体检测sensetime
      • 静默活体检测sensetime API
    • 人脸检测和属性分析
      • 人脸检测和属性分析 API
    • 人脸特征分析tuputech
      • 年龄 API
      • 颜值 API
      • 性别 API
      • 表情 API
  • 文字识别
    • 通用文字识别
      • 通用文字识别 API
    • 通用文字识别
      • 通用文字识别 intsig API
    • 手写文字识别
      • 手写文字识别 API
    • 印刷文字识别
      • 印刷文字识别 API
    • 印刷文字识别(多语种)
      • 印刷文字识别(多语种)
    • 印刷文字识别(多语种)intsig
      • 印刷文字识别(多语种)intsig API
    • 图片文档还原
      • 图片文档还原 API 
    • 国内通用票据识别
      • 接口说明
      • 国内通用票据识别 API
    • 离线OCR
      • Android SDK 文档
    • 名片识别 intsig
      • 名片识别 API
    • 身份证识别 intsig
      • 身份证识别 intsig API
    • 银行卡识别 intsig
      • 银行卡识别 API
    • 营业执照识别 intsig
      • 营业执照识别 intsig API
    • 增值税发票识别 intsig
      • 增值税发票识别 intsig API
    • 拍照速算识别
      • 接口说明
      • 拍照速算识别 API
    • 公式识别
      • 接口说明
      • 公式识别 API
    • 指尖文字识别
      • 接口说明
      • 指尖文字识别 API
    • 身份证识别
      • 接口说明
      • 身份证识别 API
    • 增值税发票识别
      • 接口说明
      • 增值税发票识别 API
    • 营业执照识别
      • 接口说明
      • 营业执照识别 API
    • 火车票识别
      • 接口说明
      • 火车票识别 API
    • 出租车发票识别
      • 接口说明
      • 出租车发票识别 API
  • 图像识别
    • 场景识别
      • 场景识别 API
    • 物体识别
      • 物体识别 API
    • 场所识别
      • 场所识别 API 文档
  • 基础服务
    • 云服务器 CVM
      • 云服务器 CVM 产品简介
      • 快速入门
      • 服务协议
  • 解决方案
    • 签到解决方案
      • SaaS操作文档
    • 智能硬件通用方案
      • 智能硬件通用方案说明
      • 麦克风阵列Android SDK
      • 麦克风阵列Linux SDK
      • 双麦阵列设计参考
      • 麦克风阵列录音要求
      • 语音唤醒Android SDK
      • 语音唤醒Linux SDK
      • 离线声纹Android SDK
      • 离线声纹Linux SDK
  • MSC API 文档
    • Android
      • 文件列表
      • SDK初始化
      • 语音识别(Recognizer)
      • 语音合成(Synthesizer)
      • 语音评测(Evaluator)
      • 语音唤醒(Wakeuper)
      • 声纹人脸(Verifier)
      • Android 常量字段值
      • 基础类
    • IOS
      • 文件列表
      • SDK初始化
      • 语音识别(Recognizer)
      • 语音合成(Synthesizer)
      • 语音评测(Evaluator)
      • 语音唤醒(Wakeuper)
      • 声纹人脸(Verifier)
      • 基础类
    • Windows&Linux
      • 文件列表
      • API 文档
    • Java
      • 所有类列表
      • SDK初始化
      • 语音识别(Recognizer)
      • 语音合成(Synthesizer)
      • 常量字段值
      • 基础类
  1. 在线语音合成

WebAPI

ws[s]: //tts-api.xfyun.cn/v2/tts

接口说明#

语音合成流式接口将文字信息转化为声音信息,同时提供了众多极具特色的发音人(音库)供您选择,可以在 **这里 **在线体验发音人效果。
该语音能力是通过Websocket API的方式给开发者提供一个通用的接口。Websocket API具备流式传输能力,适用于需要流式数据传输的AI服务场景。相较于SDK,API具有轻量、跨语言的特点;相较于HTTP API,Websocket API协议有原生支持跨域的优势。
原WebAPI普通版本接口(http[s]: //api.xfyun.cn/v1/service/v1/tts) 不再对外开放,已经使用WebAPI普通版本的用户仍可使用,同时也欢迎体验新版流式接口并尽快完成迁移~
小语种及少数民族方言:
目前新增:韩语、日语、维吾尔语、藏语、法语、俄语、西班牙语、印地语、德语、越南语、巴西葡萄牙语、意大利语、葡萄牙语、泰语、乌尔都语;
使用小语种时上传文本编码必须使用unicode编码且设置tte=unicode(unicode即utf16小端的编码方式)或者使用UTF8的编码方式;
需先在控制台开启小语种发音人才可合成小语种,否则报错11200。

#接口Demo#

示例demo请点击 这里 下载。
目前仅提供部分开发语言的demo,其他语言请参照下方接口文档进行开发。
也欢迎热心的开发者到 讯飞开放平台社区 分享你们的demo。

#接口要求#

集成在线语音合成流式API时,需按照以下要求。
内容说明
请求协议ws[s](为提高安全性,强烈推荐wss)
请求地址ws[s]: //tts-api.xfyun.cn/v2/tts
请求行GET /v2/tts HTTP/1.1
接口鉴权签名机制,详情请参照下方接口鉴权
字符编码UTF8、GB2312、GBK、BIG5、UNICODE、GB18030
响应格式统一采用JSON格式
开发语言任意,只要可以向讯飞云服务发起Websocket请求的均可
操作系统任意
音频属性采样率16k或8k
音频格式pcm、mp3、speex(8k)、speex-wb(16k)
文本长度单次调用长度需小于8000字节(约2000汉字)
发音人中英粤多语种、川豫多方言、小语种、男女声多风格,可以在 这里 在线体验发音人效果

#接口调用流程#

通过接口密钥基于hmac-sha256计算签名,向服务器端发送Websocket协议握手请求。详见下方 接口鉴权 。
握手成功后,客户端通过Websocket连接同时上传和接收数据。数据上传完毕,客户端需要上传一次数据结束标识。详见下方 接口数据传输与接收 。
接收到服务器端的结果全部返回标识后断开Websocket连接。
注: Websocket使用注意事项如下
1.
服务端支持的websocket-version 为13,请确保客户端使用的框架支持该版本。
2.
服务端返回的所有的帧类型均为TextMessage,对应于原生websocket的协议帧中opcode=1,请确保客户端解析到的帧类型一定为该类型,如果不是,请尝试升级客户端框架版本,或者更换技术框架。
3.
如果出现分帧问题,即一个json数据包分多帧返回给了客户端,导致客户端解析json失败。出现这种问题大部分情况是客户端的框架对websocket协议解析存在问题,如果出现请先尝试升级框架版本,或者更换技术框架。
4.
客户端会话结束后如果需要关闭连接,尽量保证传给服务端的错误码为websocket错误码1000(如果客户端框架没有提供关闭时传错误码的接口。则无需关注本条)。

#白名单#

默认关闭IP白名单,即该服务不限制调用IP。
在调用该业务接口时
若关闭IP白名单,接口认为IP不限,不会校验IP。
若打开IP白名单,则服务端会检查调用方IP是否在讯飞开放平台配置的IP白名单中,对于没有配置到白名单中的IP发来的请求,服务端会拒绝服务。
IP白名单规则
在 控制台-相应服务的IP白名单处编辑,保存后五分钟左右生效。
不同Appid的不同服务都需要分别设置IP白名单。
IP白名单需设置为外网IP,请勿设置局域网IP;
如果握手阶段返回{"message":"Your IP address is not allowed"},则表示由于IP白名单配置有误或还未生效,服务端拒绝服务。

#接口鉴权#

在握手阶段,请求方需要对请求进行签名,服务端通过签名来校验请求的合法性。

#鉴权方法#

通过在请求地址后面加上鉴权相关参数的方式。示例url:
wss://tts-api.xfyun.cn/v2/tts?authorization=aG1hYyB1c2VybmFtZT0iZGE0ZjMyOWUyZmQwMGQ1NjE4NjVjNjRkZjU3NDNiMjAiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0ic1RtbzRobDBMdmRLWTRLRjltcGJKV0htRFFzNC8xZ2ZPdUgwZnBZbVdnbz0i&date=Thu%2C%2001%20Aug%202019%2001%3A53%3A21%20GMT&host=tts-api.xfyun.cn
鉴权参数:
参数类型必须说明示例
hoststring是请求主机tts-api.xfyun.cn
datestring是当前时间戳,RFC1123格式Thu, 01 Aug 2019 01:53:21 GMT
authorizationstring是使用base64编码的签名相关信息(签名基于hmac-sha256计算)参考下方authorization参数生成规则
· date参数生成规则
date必须是UTC+0或GMT时区,RFC1123格式(Thu, 01 Aug 2019 01:53:21 GMT)。
服务端会对Date进行时钟偏移检查,最大允许300秒的偏差,超出偏差的请求都将被拒绝。
· authorization参数生成规则
1)获取接口密钥APIKey 和 APISecret。
在讯飞开放平台控制台,创建应用进入语音合成(流式版)服务后即可查看,均为32位字符串。
2)参数authorization base64编码前(authorization_origin)的格式如下。
api_key="$api_key",algorithm="hmac-sha256",headers="host date request-line",signature="$signature"
其中 api_key 是在控制台获取的APIKey,algorithm 是加密算法(仅支持hmac-sha256),headers 是参与签名的参数(见下方注释)。
signature 是使用加密算法对参与签名的参数签名后并使用base64编码的字符串,详见下方。
*注:* headers是参与签名的参数,请注意是固定的参数名("host date request-line"),而非这些参数的值。
3)signature的原始字段(signature_origin)规则如下。
signature原始字段由 host,date,request-line三个参数按照格式拼接成,
拼接的格式为(\n为换行符,’:’后面有一个空格):
host: $host\ndate: $date\n$request-line
假设
请求url = wss://tts-api.xfyun.cn/v2/tts
date = Thu, 01 Aug 2019 01:53:21 GMT
那么 signature原始字段(signature_origin)则为:
host: tts-api.xfyun.cn
date: Thu, 01 Aug 2019 01:53:21 GMT
GET /v2/tts HTTP/1.1
4)使用hmac-sha256算法结合apiSecret对signature_origin签名,获得签名后的摘要signature_sha。
signature_sha=hmac-sha256(signature_origin,$apiSecret)
其中 apiSecret 是在控制台获取的APISecret
5)使用base64编码对signature_sha进行编码获得最终的signature。
signature=base64(signature_sha)
假设
APISecret = secretxxxxxxxx2df7900c09xxxxxxxx	
date = Thu, 01 Aug 2019 01:53:21 GMT
则signature为
signature=sTmo4hl0LvdKY4KF9mpbJWHmDQs4/1gfOuH0fpYmWgo=
6)根据以上信息拼接authorization base64编码前(authorization_origin)的字符串,示例如下。
api_key="keyxxxxxxxx8ee279348519exxxxxxxx", algorithm="hmac-sha256", headers="host date request-line", signature="sTmo4hl0LvdKY4KF9mpbJWHmDQs4/1gfOuH0fpYmWgo="
注: headers是参与签名的参数,请注意是固定的参数名("host date request-line"),而非这些参数的值。
7)最后再对authorization_origin进行base64编码获得最终的authorization参数。
authorization = base64(authorization_origin)
示例:
authorization=aG1hYyB1c2VybmFtZT0iZGE0ZjMyOWUyZmQwMGQ1NjE4NjVjNjRkZjU3NDNiMjAiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0ic1RtbzRobDBMdmRLWTRLRjltcGJKV0htRFFzNC8xZ2ZPdUgwZnBZbVdnbz0i

#鉴权url示例(golang)#

#鉴权结果#

如果握手成功,会返回HTTP 101状态码,表示协议升级成功;如果握手失败,则根据不同错误类型返回不同HTTP Code状态码,同时携带错误描述信息,详细错误说明如下:
HTTP Code说明错误描述信息解决方法
401缺少authorization参数{“message”:”Unauthorized”}检查是否有authorization参数,详情见authorization参数详细生成规则
401签名参数解析失败{“message”:”HMAC signature cannot be verified”}检查签名的各个参数是否有缺失是否正确,特别确认下复制的api_key是否正确
401签名校验失败{“message”:”HMAC signature does not match”}签名验证失败,可能原因有很多。 1. 检查api_key,api_secret 是否正确。 2.检查计算签名的参数host,date,request-line是否按照协议要求拼接。 3. 检查signature签名的base64长度是否正常(正常44个字节)。
403时钟偏移校验失败{“message”:”HMAC signature cannot be verified, a valid date or x-date header is required for HMAC Authentication”}检查服务器时间是否标准,相差5分钟以上会报此错误
403IP白名单校验失败{"message":"Your IP address is not allowed"}可在控制台关闭IP白名单,或者检查IP白名单设置的IP地址是否为本机外网IP地址
握手失败返回示例:
    HTTP/1.1 401 Forbidden
    Date: Thu, 06 Dec 2018 07:55:16 GMT
    Content-Length: 116
    Content-Type: text/plain; charset=utf-8
    {
        "message": "HMAC signature does not match"
    }

#接口数据传输与接收#

握手成功后客户端和服务端会建立websocket连接,客户端通过websocket连接可以同时上传和接收数据。
客户端每次会话只用发送一次文本数据和参数,引擎有合成结果时会推送给客户端。当引擎的数据合成完毕时,会返回结束标识,具体为:
{
  "data":{
      ....#其他参数
      "status":2
  }  
}

#请求参数#

请求数据均为json字符串
参数名类型必传描述
commonobject是公共参数,详见下方
businessobject是业务参数,详见下方
dataobject是业务数据流参数,详见下方

#公共参数说明(common)#

参数名类型必传描述
app_idstring是在平台申请的APPID信息

#业务参数说明(business)#

参数名类型必传描述示例
auestring是音频编码,可选值: raw:未压缩的pcm lame:mp3 (当aue=lame时需传参sfl=1) speex-org-wb;7: 标准开源speex(for speex_wideband,即16k)数字代表指定压缩等级(默认等级为8) speex-org-nb;7: 标准开源speex(for speex_narrowband,即8k)数字代表指定压缩等级(默认等级为8) speex;7:压缩格式,压缩等级110,默认为7(8k讯飞定制speex) speex-wb;7:压缩格式,压缩等级110,默认为7(16k讯飞定制speex)"raw" "speex-org-wb;7" 数字代表指定压缩等级(默认等级为8),数字必传 标准开源speex编码以及讯飞定制speex说明请参考音频格式说明
sflint否需要配合aue=lame使用,开启流式返回 mp3格式音频 取值:1 开启1
aufstring否音频采样率,可选值: audio/L16;rate=8000:合成8K 的音频 audio/L16;rate=16000:合成16K 的音频 auf不传值:合成16K 的音频"audio/L16;rate=16000"
vcnstring是发音人,可选值:请到控制台添加试用或购买发音人,添加后即显示发音人参数值"xiaoyan"
speedint否语速,可选值:[0-100],默认为5050
volumeint否音量,可选值:[0-100],默认为5050
pitchint否音高,可选值:[0-100],默认为5050
bgsint否合成音频的背景音 0:无背景音(默认值) 1:有背景音0
ttestring否文本编码格式 GB2312 GBK BIG5 UNICODE(小语种必须使用UNICODE编码,合成的文本需使用utf16小端的编码方式,详见java示例demo) GB18030 UTF8(小语种)"UTF8"
regstring否设置英文发音方式: 0:自动判断处理,如果不确定将按照英文词语拼写处理(缺省) 1:所有英文按字母发音 2:自动判断处理,如果不确定将按照字母朗读 默认按英文单词发音"2"
rdnstring否合成音频数字发音方式 0:自动判断(默认值) 1:完全数值 2:完全字符串 3:字符串优先"0"

#业务参数说明(data)#

参数名类型必传描述
textstring是文本内容,需进行base64编码; base64编码前最大长度需小于8000字节,约2000汉字
statusint是数据状态,固定为2 注:由于流式合成的文本只能一次性传输,不支持多次分段传输,此处status必须为2。
请求参数示例:
{
  "common": {
    "app_id": "12345678"
  },
  "business": {
    "aue": "raw",
    "vcn": "xiaoyan",
    "pitch": 50,
    "speed": 50
  },
  "data": {
    "status": 2,
    "text": "5q2j5Zyo5Li65oKo5p+l6K+i5ZCI6..."
  }
}
数据上传结束标识示例:
    {
    "data":{
      "status":2
        }
    }
返回参数说明:
参数名类型描述
codeint返回码,0表示成功,其它表示异常,详情请参考错误码。
messagestring描述信息
dataobjectdata可能返回为null,参考示例代码时,注意进行非空判断
data.audiostring合成后的音频片段,采用base64编码
data.statusint当前音频流状态,1表示合成中,2表示合成结束
data.cedstring合成进度,指当前合成文本的字节数 注:请注意合成是以句为单位切割的,若文本只有一句话,则每次返回结果的ced是相同的。
sidstring本次会话的id,只在第一帧请求时返回
返回参数示例
    {
        "code":0,
        "message":"success",
        "sid":"ttsxxxxxxxxxxx",
        "data":{
            "audio":"QAfe..........",
            "ced":"14",
            "status":2
        }
    }

#注意事项#

1.服务端可能返回data为空的帧,并且错误码为0,这种帧客户端可以直接忽略,不解析。
2.合成返回的帧长度较大,服务端是可能会出现一个消息分为多个websocket 帧返回给客户端。这个时候客户端需要合并这些帧,当然这些大多数框架已经实现的这个逻辑,不排除少部分框架没有做这个逻辑,导致解析失败。
3.合成的音频是无意义的音频,这种情况大多是客户端用的字符编码格式和参数中传的不一致。请确保tte传的值和文本编码格式保持一致
4.合成的音频效果不是期望的效果,可以通过更换发音人解决,(部分发音人需要开通权限!)
5.小语种文本须使用Unicode编码,且tte=Unicode或者UTF8编码。

#错误码#

备注:如出现下述列表中没有的错误码,可到 这里 查询。
错误码错误描述说明处理方式
10005licc failappid授权失败确认appid是否正确,是否开通了合成服务
10006Get audio rate fail请求缺失必要参数检查报错信息中的参数是否正确上传
10007get invalid rate请求的参数值无效检查报错信息中的参数值是否在取值范围内
10010AIGES_ERROR_NO_LICENSE引擎授权不足请到控制台提交工单联系技术人员
10109AIGES_ERROR_INVALID_DATA请求文本长度非法检查是否文本长度超出了限制
10019service read buffer timeout, session timeoutsession超时检查是否数据发送完毕但未关闭连接
10101engine inavtive引擎会话已结束检查是否引擎已结束会话但客户端还在发送数据,比如音频数据虽然发送完毕但并未关闭websocket连接,还在发送空的音频等
10313appid cannot be emptyappid不能为空检查common参数是否正确上传,或common中的app_id参数是否正确上传或是否为空
10317invalid version版本非法联系技术人员
11200auth no license没有权限检查是否使用了未授权的发音人,或者总的调用次数已超越上限
11201auth no enough license日流控超限可联系商务提高每日调用次数
10160parse request json error请求数据格式非法检查请求数据是否是合法的json
10161parse base64 string errorbase64解码失败检查发送的数据是否使用了base64编码
10163param validate error:...缺少必传参数,或者参数不合法,具体原因见详细的描述1)检查报错信息中的参数是否正确上传 2)检查上传的文本是不是已超过最大限制
10200read data timeout读取数据超时检查是否累计10s未发送数据并且未关闭连接
10222context deadline exceeded网络异常1)检查网络是否异常 2)调用超时,如果使用的是mp3格式的话,要传sfl=1来开启流式返回mp3的功能,否则文本长度过长就可能会超时。

#调用示例#

注: demo只是一个简单的调用示例,不适合直接放在复杂多变的生产环境使用
语音合成流式API demo java语言
语音合成流式API demo python3语言
语音合成流式API demo js语言
语音合成流式API demo nodejs语言
讯飞开放平台AI能力-JAVASDK: Github地址
讯飞开放平台AI能力-PHPSDK: Github地址
注: 其他开发语言请参照 接口调用流程 进行开发,也欢迎热心的开发者到 讯飞开放平台社区 分享你们的demo。

#视频教程#

在线语音合成-WebAPI

#常见问题#

#在线合成背景音乐可以替换吗?#

答:合成的背景音乐是不能替换的,只能通过BGS参数来控制是否播放背景音乐。

#WebAPI在线合成报11200授权错误#

答:这个问题一般是使用了未授权的发音人,请到控制台检查是否所用发音人未添加,或授权已到期;另外,若总合成交互量超过上限也会报错11200。

#WebAPI在线合成支持保存的音频的格式#

答:支持保存pcm、mp3、speex格式的音频。

#错误码及相应解决方案查询网址#

答:错误码及相应解决方案查询

#在线语音合成的字节有什么限制要求?#

答:WebAPI接口一次限制8000字节,超长文本按照自然段切分,分多次合成请求进行。

#在线语音合成如何在指定的文本处标记静音停顿?#

答:有如下两种设置方式,详细可以参考论坛说明 :
cssml方法:
(1)对于发音人xiaoyan、xiaoyu、xiaofeng、xiaoqi、catherine、mary需使用cssml方法进行静音标记,并且不支持unicode文本编码。
(2)在business中添加参数ttp值为cssml。
(3)在指定文本位置添加静音标记,如:风轻轻摇着树梢。
简单标记方法:
(1)“除去”cssml方法列举的发音人以外,均可以使用简单标记法。
(2)在指定文本位置添加静音标记,如:你好[p500]科大讯飞。

请求参数

无
上一页
发音人自训练平台使用指南
下一页
长文本语音合成 API 文档
Built with