基础语音合成

最近更新时间:2024-09-26 01:38:15

我的收藏

1. 接口描述

接口请求域名: tts.tencentcloudapi.com 。

腾讯云语音合成技术(TTS)可以将任意文本转化为语音,实现让机器和应用张口说话。
腾讯TTS技术可以应用到很多场景,比如,移动APP语音播报新闻;智能设备语音提醒;依靠网上现有节目或少量录音,快速合成明星语音,降低邀约成本;支持车载导航语音合成的个性化语音播报。
基础合成支持 SSML,语法详见 SSML 标记语言
默认接口请求频率限制:
精品音色和标准音色:20次/秒
大模型音色:10次/秒
一句话复刻音色:5次/秒

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:TextToVoice。
Version String 公共参数,本接口取值:2019-08-23。
Region String 公共参数,详见产品支持的 地域列表
Text String 合成语音的源文本,按UTF-8编码统一计算。
中文最大支持150个汉字(全角标点符号算一个汉字);英文最大支持500个字母(半角标点符号算一个字母)。
示例值:你好
SessionId String 一次请求对应一个SessionId,会原样返回,建议传入类似于uuid的字符串防止重复。
示例值:session-1234
Volume Float 音量大小,范围[-10,10],对应音量大小。默认为0,代表正常音量,值越大音量越高。
示例值:1
Speed Float 语速,范围:[-2,6],分别对应不同语速:
  • -2代表0.6倍
  • -1代表0.8倍
  • 0代表1.0倍(默认)
  • 1代表1.2倍
  • 2代表1.5倍
  • 6代表2.5倍
  • 如果需要更细化的语速,可以保留小数点后 2 位,例如0.5/1.25/2.81等。
    参数值与实际语速转换,可参考代码示例
    示例值:1
    ProjectId Integer 项目id,用户自定义,默认为0。
    示例值:0
    ModelType Integer 模型类型,1-默认模型。
    示例值:1
    VoiceType Integer 音色 ID,包括标准音色与精品音色,精品音色拟真度更高,价格不同于标准音色,请参见购买指南。完整的音色 ID 列表请参见音色列表
    若使用一句话版声音复刻,请填入固定值“200000000”
    示例值:0
    PrimaryLanguage Integer 主语言类型:
  • 1-中文(默认)
  • 2-英文
  • 3-日文

  • 示例值:1
    SampleRate Integer 音频采样率:
  • 24000:24k(部分音色支持,请参见音色列表
  • 16000:16k(默认)
  • 8000:8k

  • 示例值:16000
    Codec String 返回音频格式,可取值:wav(默认),mp3,pcm
    示例值:wav
    EnableSubtitle Boolean 是否开启时间戳功能,默认为false。
    示例值:true
    SegmentRate Integer 断句敏感阈值,默认值为:0,取值范围:[0,1,2]。该值越大越不容易断句,模型会更倾向于仅按照标点符号断句。此参数建议不要随意调整,可能会影响合成效果。
    示例值:0
    EmotionCategory String 控制合成音频的情感,仅支持多情感音色使用。取值: neutral(中性)、sad(悲伤)、happy(高兴)、angry(生气)、fear(恐惧)、news(新闻)、story(故事)、radio(广播)、poetry(诗歌)、call(客服)、sajiao(撒娇)、disgusted(厌恶)、amaze(震惊)、peaceful(平静)、exciting(兴奋)、aojiao(傲娇)、jieshuo(解说)
    示例值:neutral
    EmotionIntensity Integer 控制合成音频情感程度,取值范围为[50,200],默认为100;只有EmotionCategory不为空时生效;
    FastVoiceType String 一句话版声音复刻音色ID,使用一句话版声音复刻音色时需填写。

    3. 输出参数

    参数名称 类型 描述
    Audio String base64编码的wav/mp3音频数据
    示例值:UklGRlR/AABXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YSx9AAD+
    SessionId String 一次请求对应一个SessionId
    示例值:session-1234
    Subtitles Array of Subtitle 时间戳信息,若未开启时间戳,则返回空数组。
    RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 基础语音合成调用示例

    API调用

    输入示例

    POST / HTTP/1.1
    Host: tts.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: TextToVoice
    <公共请求参数>
    
    {
        "Text": "你好",
        "SessionId": "session-1234",
        "Volume": 1,
        "Speed": 1,
        "ProjectId": 0,
        "ModelType": 1,
        "VoiceType": 1001,
        "PrimaryLanguage": 1,
        "SampleRate": 16000,
        "Codec": "wav",
        "EnableSubtitle": true
    }

    输出示例

    {
        "Response": {
            "Audio": "UklGRqRwAABXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YYBwAAAA......AAAAA=",
            "RequestId": "d91f1496-0514-4281-932e-15a022b67d16",
            "SessionId": "session-1234",
            "Subtitles": [
                {
                    "BeginIndex": 0,
                    "BeginTime": 250,
                    "EndIndex": 1,
                    "EndTime": 430,
                    "Phoneme": "ni2",
                    "Text": "你"
                },
                {
                    "BeginIndex": 1,
                    "BeginTime": 430,
                    "EndIndex": 2,
                    "EndTime": 670,
                    "Phoneme": "hao3",
                    "Text": "好"
                }
            ]
        }
    }

    5. 开发者资源

    腾讯云 API 平台

    腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

    API Inspector

    用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

    SDK

    云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

    命令行工具

    6. 错误码

    以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

    错误码 描述
    AuthFailure.InvalidAuthorization 授权无效。
    InternalError.ErrorGetRoute 路由错误。
    InternalError.ExceedMaxLimit 负载限流。
    InternalError.InternalError 内部错误。
    InternalError.NoResource 暂无资源,请稍后重试。
    InvalidParameter.InvalidText 请求文本含有非法字符。
    InvalidParameterValue.AppId AppId非法,请参考AppId参数说明。
    InvalidParameterValue.AppIdNotRegistered APPID未注册,请在语音合成主页 https://console.cloud.tencent.com/tts 开通使用。
    InvalidParameterValue.Codec Codec非法,请参考Codec参数说明。
    InvalidParameterValue.ErrorCardinalFormat ssml的say-as标签属性为cardinal、currency、address时,数字部分非有效参数,仅允许包含数字、“,”、“.”和空格。
    InvalidParameterValue.InvalidText 请求文本含有非法字符,或请求文本没有有效字符。
    InvalidParameterValue.MissParameters 缺少参数。
    InvalidParameterValue.ParticipleError 文本分词错误。
    InvalidParameterValue.PrimaryLanguage PrimaryLanguage非法,请参考PrimaryLanguage参数说明。
    InvalidParameterValue.SSMLInvalid SSML标签非法。
    InvalidParameterValue.SampleRate SampleRate非法,请参考SampleRate参数说明。
    InvalidParameterValue.SessionId SessionId非法,请参考Volume参数说明。
    InvalidParameterValue.Speed Speed非法,请参考Speed参数说明。
    InvalidParameterValue.Text 文本缺失。
    InvalidParameterValue.TextEmpty Text为空。
    InvalidParameterValue.TextNotUtf8 文本不是 UTF8 格式。
    InvalidParameterValue.Type Type 类型非法。
    InvalidParameterValue.VoiceType VoiceType非法,请参考VoiceType参数说明。
    InvalidParameterValue.Volume Volume非法,请参考Volume参数说明。
    LimitExceeded.AccessLimit 请求超过限制频率。
    UnsupportedOperation 操作不支持。
    UnsupportedOperation.AccountArrears 欠费。
    UnsupportedOperation.AuthorizationExpired 鉴权已过期。
    UnsupportedOperation.AuthorizationFailed 鉴权失败。
    UnsupportedOperation.ForbiddenUse 服务禁止使用。
    UnsupportedOperation.NoFreeAccount 免费资源包已用尽,请购买资源包或开通后付费。
    UnsupportedOperation.PkgExhausted 资源包余量已用尽。
    UnsupportedOperation.ServerAlreadyOpen 服务器已打开。
    UnsupportedOperation.ServerDestoryed 服务已销毁。
    UnsupportedOperation.ServerNotOpen 服务未开通使用。
    UnsupportedOperation.ServerStopped 服务已停止使用。
    UnsupportedOperation.TextTooLong 文本过长,请参考请求参数Text的说明。