logo
电话400 898 2016
预约试用
开放平台
En
尊敬的开发者,您好! 标贝科技的开发文档已更换新的地址,旧版文档地址将会在2023年12月31日下线, 给您带来不便,敬请谅解! 立即查看
产品简介 产品简介
基本概念 基本概念
平台新手指引 平台新手指引
计价模式 计价模式
开发者文档下拉
开放平台计价
定制服务计价
获取访问令牌 获取访问令牌
语音合成 语音合成
开发者文档下拉
接口说明
发音人列表
短文本合成 开发者文档下拉
Android SDK
iOS SDK
C++(Linux) SDK
RESTful API
Websocket API
长文本合成 开发者文档下拉
长文本合成RESTful API
长文本合成Websocket API
离线合成 开发者文档下拉
模型文件说明
离线合成(普通版) Android SDK
离线合成(普通版) iOS SDK
离线合成(精品版) Android SDK
离线合成(精品版) iOS SDK
XML标签
SSML标签
语音合成时间戳功能
语音识别 语音识别
开发者文档下拉
音频格式说明
一句话识别 开发者文档下拉
RESTful API
Websocket API
Android SDK
iOS SDK
实时长语音识别 开发者文档下拉
Websocket API
Android SDK
iOS SDK
录音文件识别 开发者文档下拉
RESTful API
自学习工具 开发者文档下拉
热词
个性化模型
声音复刻 声音复刻
开发者文档下拉
定制模型 开发者文档下拉
RESTful API
Android SDK
iOS SDK
定制声音合成 开发者文档下拉
短文本合成RESTful API
长文本合成Websocket API
声音转换 声音转换
开发者文档下拉
发音人列表
Websocket API
Android SDK
iOS SDK
离线声音转换 离线声音转换
开发者文档下拉
发音人列表
Android SDK
iOS SDK
声纹识别 声纹识别
开发者文档下拉
RESTful API
声音理解 声音理解
开发者文档下拉
RESTful API
协议规则 协议规则
开发者文档下拉
平台服务协议
平台通用规则
法律声明及隐私政策
服务等级协议SLA
常见问题 常见问题
开发者文档下拉
语音合成
语音识别

短文本合成C++ SDK(linux)

下载安装

适配系统: Centos 7

SDK及示例demo下载地址: https://github.com/data-baker/BakerSynthesizerLinux

关键类说明

  • SynthesizerManager: 语音合成业务处理
  • 方法 参数说明 说明
    int init(…) string client_id 从标贝获取的client id
    string secret 从标贝获取的secret
    string server_url 合成服务WebSocket地址
    int setListener(…) ClientListener* listener 设置回调类
    int startTask(…) SynthesizerParams& tts_param 设置合成参数,进行合成
    int stopTask() 无参数 停止当前合成任务
    void uninit() 无参数 反初始化
  • ClientListner:合成结果回调类,在获得合成音频数据,发生错误等事件发生时会触发回调。您应当实现该类,在回调方法中加入自己的处理逻辑。
  • 方法 参数说明 说明
    void onTaskStarted() 无参数
    void onBinaryReceived(…) uint32_t idx 音频数据包的序号,从1开始递增
    string audio_data 二进制音频数据
    string audio_type 音频格式
    string interval 时间戳信息
    void onTaskCompleted() 无参数
    void onTaskFailed() uint32_t code 错误码
    string info 提示信息
    string trace_id 跟踪id,偶现忽略,重复出现反馈给开发人员
    void onLog string log sdk内部生成的日志,默认打印到终端
  • SynthesizerParams合成参数类
  • 变量名 类型 必须赋值 说明
    text string 合成的文本,utf-8编码,长度限制为300个字符
    voice_name string 合成发音人,例如:Jiaojiao
    language string 合成请求文本的语言,
    纯中文及中英混language 参数设置language=zh
    英文language参数设置language=eng
    粤语language参数设置language=cat
    speed string 设置播放的语速,在0~9之间(支持浮点值),默认值为5
    volume uint32_t 设置语音的音量,在0~9之间(只支持整型值),默认值为5
    pitch string 设置语音的音调,取值0-9(支持浮点值),默认值为5
    audio_type uint32_t 设置合成音频的格式
    audiotype=4 :返回16K采样率的pcm格式
    audiotype=5 :返回8K采样率的pcm格式
    默认值为4
    rate uint32_t 配合audio_type使用
    spectrum uint32_t 取值范围0~20;不传时默认为不调整频谱;
    0代表使用配置文件tts_attention.conf中spec_adjust_d的值;
    1代表不调整频谱;
    1以上的值代表高频能量增加幅度,值越大声音的高频部分增强越多,听起来更亮和尖细
    spectrum_8k uint32_t 取值范围0~20;不传时默认为0,仅针对8K音频频谱的调整。
    need_interval bool 设置是否返回interval。
    true:需要返回;
    false:不需要返回。
    默认为false

调用说明

  • 初始化
  • 设置回调handler
  • 创建一个参数类变量
  • 开始合成任务
  • 回调返回音频数据或错误信息
  • 反初始化
  • 如果需要开始新的合成请求,重复1-6步骤即可;
SynthesizerManager::getInstance()->init(string client_id, string secret);
SynthesizerManager::getInstance()->setListener(ClientListener* listener);
SynthesizerParams tts_param();
tts_param.text =”标贝科技”;
tts_param.voice_name = "Jiaojiao";
 … //其他合成参数设置
SynthesizerManager::getInstance()->startTask(tts_param);
… //触发回调
SynthesizerManager::getInstance()->uninit();

错误码

错误码 含义
90000 合成成功
90001 任务失败,网络连接失败
90002 任务失败,返回json解析失败
90003 任务失败,返回结果缺少必要字段
90004 任务失败,任务超时
90005 任务失败,其他错误
10001 access_token参数获取失败或未传输
10002 domain参数值错误
10003 language参数错误
10004 voice_name参数错误
10005 audiotype参数错误
10006 rate参数错误
10007 idx错误
10008 single错误
10009 text参数错误
10010 文本太长
20000 获取资源错误
20001 断句失败
20002 分段数错误
20003 分段后的文本长度错误
20004 获取引擎链接错误
20005 RPC链接失败错误
20006 引擎内部错误
20007 操作redis错误
20008 音频编码错误
30000 鉴权错误(access_token值不正确或已经失效)
30001 并发错误
30002 内部配置错误
30003 json串解析错误
30004 获取url失败
30005 获取客户IP地址失败
30006 任务队列错误
40001 请求不是json结构
40002 缺少必须字段
40003 版本错误
40004 字段值类型错误
40005 参数错误
50001 处理超时
50002 内部rpc调用失败
50004 其他内部错误