
# 语音合成 - RunTts
#### 功能介绍
语音合成，是一种将文本转换成逼真语音的服务。用户通过实时访问和调用API获取语音合成结果，将用户输入的文字合成为音频。通过音色选择、自定义音量、语速，为企业和个人提供个性化的发音服务。该接口的使用限制请参见[约束与限制](https://support.huaweicloud.com/productdesc-sis/sis_01_0012.html)，详细使用指导请参见[SIS服务使用简介](https://support.huaweicloud.com/qs-sis/sis_07_0001.html)章节。
[SIS服务控制台](https://console.huaweicloud.com/sis)提供了语音合成的在线使用页面，用户无需编程即可使用服务功能。
图1在线使用   
![](https://support.huaweicloud.com/api-sis/zh-cn_image_0000002346793428.png "点击放大")
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=SIS&api=RunTts)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/usermanual-sis/sis_09_0016.html)。
#### URI
POST /v1/{project_id}/tts
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                               |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-sis/sis_03_0008.html)。 |
   
#### 请求参数
表2请求Header参数 
| 参数                    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token          | 是    | String | 用户Token。 用于获取操作API的权限。获取方法请参见[认证鉴权](https://support.huaweicloud.com/api-sis/sis_03_0058.html)。响应消息头中X-Subject-Token的值即为Token。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Enterprise-Project-Id | 否    | String | 企业项目ID。SIS支持通过企业项目管理（EPS）对不同用户组和用户的资源使用，进行分账。 获取方法：进入"[企业项目管理](https://console.huaweicloud.com/eps/?#/eps/manager/projects)"页面，单击企业项目名称，在企业项目详情页获取Enterprise-Project-Id（企业项目ID）。 ![](https://support.huaweicloud.com/api-sis/zh-cn_image_0000001856008628.png "点击放大") 企业项目创建步骤请参见用户指南。 说明： 账户创建企业项目后，在传参时，有以下三类场景。 - 携带正确的ID，正常使用SIS服务，账单归到企业ID对应的企业项目中。  - 携带错误的ID，正常使用SIS服务，账单的企业项目会被分类为"default"。  - 不携带ID，正常使用SIS服务，账单的企业项目会被分类为"default"。   |
   
表3请求Body参数 
| 参数     | 是否必选 | 参数类型                                                | 描述                     |
|:---|:---|:---|:---|
| text   | 是    | String                                              | 待合成的文本，文本长度限制不大于500字符。 |
| config | 否    | [TtsConfig] Object | 语音合成配置信息。              |
   
 表4TtsConfig 
| 参数           | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| audio_format | 否    | String  | 语音格式头：wav、mp3、pcm 默认：wav                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| sample_rate  | 否    | String  | 采样率：16kHz、8kHz 默认：8kHz                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| property     | 否    | String  | 语音合成特征字符串，组成形式为{language}_{speaker}_{domain}，即"语种_人员标识_领域"。发音人分为普通发音人和精品发音人，每次调用价格相同，针对精品发音人，每50字符计一次调用，不足50字符按一次计；普通发音人每100字符计一次调用，不足100字符按一次计。其中1个汉字、1个英文字母或1个标点均算作1个字符，具体费用请参考[价格计算器](https://www.huaweicloud.com/pricing.html?tab=detail#/sis)。 - 普通发音人：取值范围请参考[表 普通发音人property取值范围]。  - 精品发音人：区域仅支持cn-north-4、cn-east-3，暂时不支持音高调节，取值范围请参考[表 精品发音人property取值范围]。使用精品发音人如果报错SIS.0411，请检查是否符合使用约束。   默认：chinese_xiaoyu_common，中文发音，小宇，标准男声发音人。 |
| speed        | 否    | Integer | 语速。 取值范围：-500\~500 默认值：0 说明： 当取值为"0"时，表示一个成年人正常的语速，约为250字/分钟。设置该值时，语速和数值没有绝对的映射关系。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| pitch        | 否    | Integer | 音高。 取值范围： -500\~500 默认值：0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| volume       | 否    | Integer | 音量。 取值范围：0\~100 默认值：50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
 表5普通发音人property取值范围 
| 名称     | property取值              | 类型   | 使用场景 | 支持采样率（Hz） |
|:---|:---|:---|:---|:---|
| 小琪     | chinese_xiaoqi_common   | 标准女声 | 客服   | 8k/16k    |
| 小雯     | chinese_xiaowen_common  | 柔美女声 | 客服   | 8k/16k    |
| 小宇     | chinese_xiaoyu_common   | 标准男声 | 电销   | 8k/16k    |
| 小夏     | chinese_xiaoxia_common  | 热情女声 | 电销   | 8k/16k    |
| 小燕     | chinese_xiaoyan_common  | 温柔女声 | 文学   | 8k/16k    |
| 小倩     | chinese_xiaoqian_common | 成熟女声 | 文学   | 8k/16k    |
| 小王     | chinese_xiaowang_common | 童声   | 童声   | 8k/16k    |
| 小呆     | chinese_xiaodai_common  | 呆萌童声 | 童声   | 8k/16k    |
| 小婧     | chinese_xiaojing_common | 俏皮女声 | 新闻播报 | 8k/16k    |
| 小宋     | chinese_xiaosong_common | 激昂男声 | 新闻播报 | 8k/16k    |
| cameal | english_cameal_common   | 英文女声 | 英文   | 8k/16k    |
   
 表6精品发音人property取值范围 
| 名称    | property取值                     | 类型                | 使用场景 | 支持采样率（Hz） |
|:---|:---|:---|:---|:---|
| 华小夏   | chinese_huaxiaoxia_common      | 热情女声              | 电销   | 8k/16k    |
| 华小唯   | chinese_huaxiaowei_common      | 嗲柔女声              | 电销   | 8k/16k    |
| 华小颜   | chinese_huaxiaoyan_common      | 严厉女声              | 电销   | 8k/16k    |
| 华晓阳   | chinese_huaxiaoyang_common     | 朝气男声              | 电销   | 8k/16k    |
| 华晓刚   | chinese_huaxiaogang_common     | 利落男声              | 客服   | 8k/16k    |
| 华小雯   | chinese_huaxiaowen_common      | 柔美女声              | 客服   | 8k/16k    |
| 华小美   | chinese_huaxiaomei_common      | 温柔女声              | 客服   | 8k/16k    |
| 华小飞   | chinese_huaxiaofei_common      | 朝气男声              | 客服   | 8k/16k    |
| 华小荷   | chinese_huaxiaohe_common       | 嘹亮女声              | 中英混合 | 8k/16k    |
| 华小叶   | chinese_huaxiaoye_common       | 知性女声              | 中英混合 | 8k/16k    |
| 华小雪   | chinese_huaxiaoxue_common      | 女童声               | 中英混合 | 8k/16k    |
| 华小娇   | chinese_huaxiaojiao_common     | 成熟女声              | 纯中文  | 8k/16k    |
| 华小辉   | chinese_huaxiaohui_common      | 男童声               | 中英混合 | 8k/16k    |
| 华小康   | chinese_huaxiaokang_common     | 朝气男声              | 中英混合 | 8k/16k    |
| 华小坤   | chinese_huaxiaokun_common      | 成熟男声              | 中英混合 | 8k/16k    |
| 华小泉   | chinese_huaxiaoquan_common     | 朝气男声              | 纯中文  | 8k/16k    |
| 华小璐   | chinese_huaxiaolu_common       | 知性女声              | 新闻播报 | 8k/16k    |
| 华小靓   | chinese_huaxiaoliang_common    | 嘹亮女声              | 新闻播报 | 8k/16k    |
| 华晓东   | chinese_huaxiaodong_common     | 成熟男声              | 新闻播报 | 8k/16k    |
| 华小蕊   | chinese_huaxiaorui_common      | 知性女声              | 中英混合 | 16k       |
| 华小萱   | chinese_huaxiaoxuan_common     | 台湾女声              | 方言   | 8k/16k    |
| 华小闽   | chinese_huaxiaomin_common      | 闽南女声              | 方言   | 8k/16k    |
| 华小舒   | chinese_huaxiaoshu_common      | 舒缓女声              | 文学   | 8k/16k    |
| 华女侠   | chinese_huanvxia_literature    | 武侠女声（只支持http形式调用） | 文学   | 16k       |
| 华晓悬   | chinese_huaxiaoxuan_literature | 悬疑男声（只支持http形式调用） | 文学   | 16k       |
| 华小龙   | chinese_huaxiaolong_common     | 朝气男声              | 中英混合 | 16k       |
| 华小汝   | chinese_huaxiaoru_common       | 柔美女声              | 中英混合 | 8k/16k    |
| 华小涵   | chinese_huaxiaohan_common      | 知性女声              | 中英混合 | 8k/16k    |
| 华小宁   | chinese_huaxiaoning_common     | 沉稳男声              | 中英混合 | 8k/16k    |
| 华小珍   | chinese_huaxiaozhen_common     | 温柔女声              | 中英混合 | 8k/16k    |
| 华小曼   | chinese_huaxiaoman_common      | 温柔女声              | 中英混合 | 16k       |
| 华小芳   | chinese_huaxiaofang_common     | 朝气女声              | 中英混合 | 16k       |
| 华小筠   | chinese_huaxiaojun_common      | 成熟女声              | 中英混合 | 16k       |
| alvin | english_alvin_common           | 成熟男声              | 纯英文  | 8k/16k    |
| amy   | english_amy_common             | 成熟女声              | 纯英文  | 8k/16k    |
   
#### 响应参数
**状态码： 200**
表7响应Body参数 
| 参数       | 是否必选 | 参数类型                                                     | 描述                                                                      |
|:---|:---|:---|:---|
| trace_id | 否    | String                                                   | 服务内部的令牌，可用于在日志中追溯具体流程。 在某些错误情况下可能没有此令牌字符串。 |
| result   | 否    | [CustomResult] Object | 调用成功表示合成结果，调用失败时无此字段。                                                   |
   
 表8CustomResult 
| 参数   | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| data | 否    | String | 语音数据，以Base64编码格式返回。 用户如需生成音频，需要将Base64编码解码成byte数组，再保存为音频，音频格式同"audio_format"参数设置的值，默认为wav格式。 语音合成代码示例请参考[SDK](https://support.huaweicloud.com/sdkreference-sis/sis_05_0048.html)，SDK已对Base64转音频过程进行封装，可以直接获取音频文件。 |
   
**状态码： 400**
表9响应Body参数 
| 参数         | 参数类型   | 描述                     |
|:---|:---|:---|
| error_code | String | 调用失败时的错误码。 调用成功时无此字段。  |
| error_msg  | String | 调用失败时的错误信息。 调用成功时无此字段。 |
   
#### 请求示例
![](https://support.huaweicloud.com/api-sis/public_sys-resources/note_3.0-zh-cn.png)
"endpoint"即调用API的请求地址，不同接口不同区域的"endpoint"不同，具体请参见[终端节点](https://support.huaweicloud.com/api-sis/sis_03_0004.html)。
- 调用语音合成API，将文本合成为语音，并调整语音的音色、语速、音高、音量
  ```
  POST https://{endpoint}/v1/{project_id}/tts
  Request Header:
  Content-Type: application/json 
  X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...    
    
  Request Body:
   { 
    "text": "欢迎使用语音云服务。",
     "config": 
     { 
       "audio_format": "wav", 
       "sample_rate": "8000", 
       "property": "chinese_xiaoyan_common",
       "speed": 10,
       "pitch": 10,
       "volume": 60
     }
   }
  ```
  
- 使用Python3语言调用语音合成API，将文本合成为语音，并调整语音的音色、语速、音高、音量
  ```
  # -*- coding: utf-8 -*-
  # 此demo仅供测试使用，强烈建议使用sdk。需提前安装requests，执行pip install requests
  import requests
  import json
  def stts_demo():
      url = 'https://{{endpoint}}/v1/{{project_id}}/tts'  # endpoint和project_id需替换
      token = '用户对应region的token'
      text = '待识别的文本'
      header = {
          'Content-Type': 'application/json',
          'X-Auth-Token': token
      }
      body = {'text': text}
      resp = requests.post(url, data=json.dumps(body), headers=header)
      print(resp.text)
  if __name__ == '__main__':
      stts_demo()
  ```
  
- 使用Java语言调用语音合成API，将文本合成为语音，并调整语音的音色、语速、音高、音量
  ```
  import java.io.BufferedReader;
  import java.io.InputStream;
  import java.io.InputStreamReader;
  import java.io.OutputStreamWriter;
  import java.net.HttpURLConnection;
  import java.net.URL;
  /**
   * 此demo仅供测试使用，强烈建议使用SDK
   */
  public class SttsDemo {
    public void sttsDemo() {
      try {
        // endpoint和projectId需要替换成实际信息。
        URL url = new URL("https://{{endpoint}}/v1/{{project_id}}/tts");
        String token = "对应region的token";
        HttpURLConnection connection = (HttpURLConnection)url.openConnection();
        connection.setRequestMethod("POST");
        connection.setDoInput(true);
        connection.setDoOutput(true);
        connection.addRequestProperty("Content-Type", "application/json");
        connection.addRequestProperty("X-Auth-Token", token);
        OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
        String body = "{\"text\": \"123\"}";
        osw.append(body);
        osw.flush();
        InputStream is = connection.getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        while (br.ready()) {
          System.out.println(br.readLine());
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    public static void main(String[] args) {
      SttsDemo sttsDemo = new SttsDemo();
      sttsDemo.sttsDemo();
    }
  }
  ```
  
 
#### 响应示例
**状态码：200**
成功响应示例
```
{ 
   "trace_id": "567e8537-a89c-13c3-a882-826321939651", 
   "result":{ 
     "data": "/+MgxAAUeHpMAUkQAANhuRAC..."
   } 
 }
```
**状态码：400**
失败响应示例
```
{  
    "error_code": "SIS.0032",  
    "error_msg": "'audio_format' is invalid"  
 }
```
#### 状态码
状态码请参见[状态码](https://support.huaweicloud.com/api-sis/sis_03_0044.html)。
#### 错误码
错误码请参见[错误码](https://support.huaweicloud.com/api-sis/sis_03_0045.html)。
