云服务器内容精选
-
概述 SSML 是一种基于 XML 的 语音合成 标记语言。使用 SSML 可以更加准确、具体的定义合成音频的效果,包括控制断句分词方式、发音、速度、停顿、声调和音量等特征。相比文本输入进行合成,有更好的操作灵活性。 华为云语音合成服务的SSML实现,基于W3C的语音合成标记语言版本1.1,但并不支持W3C包含的所有的标记类型。目前仅华小飞,华小美,华小龙,华小蕊,华小闽合成支持 SSML功能。该特性与语言无关。发音人property取值详见语音合成。 华小飞(朝气男声):chinese_huaxiaofei_common,支持8k/16k采样率。 华小美(温柔女声):chinese_huaxiaomei_common,支持8k/16k采样率。 华小龙(朝气男声):chinese_huaxiaolong_common,支持16k采样率。 华小蕊(知性女声):chinese_huaxiaorui_common,支持16k采样率。 华小闽(闽南女生):chinese_huaxiaomin_common,支持8k/16k采样率。
-
响应参数 状态码: 200 表7 响应Body参数 参数 是否必选 参数类型 描述 trace_id 否 String 服务内部的令牌,可用于在日志中追溯具体流程。 在某些错误情况下可能没有此令牌字符串。 result 否 CustomResult object 调用成功表示合成结果,调用失败时无此字段。 表8 CustomResult 参数 是否必选 参数类型 描述 data 否 String 语音数据,以Base64编码格式返回。 用户如需生成音频,需要将Base64编码解码成byte数组,再保存为音频,音频格式同“audio_format”参数设置的值,默认为wav格式。 语音合成代码示例请参考SDK,SDK已对Base64转音频过程进行封装,可以直接获取音频文件。 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
-
请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 调用语音合成API,将文本合称为语音,并调整语音的音色、语速、音高、音量 POST https://{endpoint}/v1/{project_id}/ttsRequest 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 requestsimport requestsimport jsondef 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" }
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见认证鉴权。响应消息头中X-Subject-Token的值即为Token。 Enterprise-Project-Id 否 String 企业项目ID。SIS支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 企业项目创建步骤请参见用户指南。 说明: 账户创建企业项目后,在传参时,有以下三类场景。 携带正确的ID,正常使用SIS服务,账单归到企业ID对应的企业项目中。 携带错误的ID,正常使用SIS服务,账单的企业项目会被分类为“default”。 不携带ID,正常使用SIS服务,账单的企业项目会被分类为“default”。 表3 请求Body参数 参数 是否必选 参数类型 描述 text 是 String 待合成的文本,文本长度限制不大于500字符。 config 否 TtsConfig object 语音合成配置信息。 表4 TtsConfig 参数 是否必选 参数类型 描述 audio_format 否 String 语音格式头:wav、mp3、pcm 默认:wav 父节点:config sample_rate 否 String 采样率:16000、8000赫兹 默认:8000 父节点:config property 否 String 语音合成特征字符串,组成形式为{language}_{speaker}_{domain},即“语种_人员标识_领域”。发音人分为普通发音人和精品发音人,每次调用价格相同,针对精品发音人,每50字计一次调用,不足50字按一次计;普通发音人每100字计一次调用,不足100字按一次计。其中1个汉字、1个英文字母或1个标点均算作1个字符,具体费用请参考价格计算器。 普通发音人:取值范围请参考表 普通发音人property取值范围。 精品发音人:区域仅支持cn-north-4、cn-east-3,暂时不支持音高调节,取值范围请参考表 精品发音人property取值范围。使用精品发音人如果报错SIS.0411,请检查是否符合使用约束。 默认:chinese_xiaoyan_common,中文发音,小燕,温柔女声发音人。 父节点:config speed 否 Integer 语速。 取值范围:-500~500 默认值:0 父节点:config 说明: 当取值为“0”时,表示一个成年人正常的语速,约为250字/分钟。设置该值时,语速和数值没有绝对的映射关系。 pitch 否 Integer 音高。 取值范围: -500~500 默认值:0 父节点:config volume 否 Integer 音量。 取值范围:0~100 默认值:50 父节点:config 表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_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
-
wss-URI wss-URI格式 wss /v1/{project_id}/rtts 参数说明 表1 参数说明 名称 是否必选 说明 project_id 是 项目编号。获取方法,请参见获取项目ID。 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见认证鉴权。响应消息头中X-Subject-Token的值即为Token。 Enterprise-Project-Id 否 String 企业项目ID。SIS支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 企业项目创建步骤请参见用户指南。 说明: 账户创建企业项目后,在传参时,有以下三类场景。 携带正确的ID,正常使用SIS服务,账单归到企业ID对应的企业项目中。 携带错误的ID,正常使用SIS服务,账单的企业项目会被分类为“default”。 不携带ID,正常使用SIS服务,账单的企业项目会被分类为“default”。 请求示例(伪码) wss://{endpoint}/v1/{project_id}/rttsRequest Header:X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Python3语言请求代码示例 # -*- coding: utf-8 -*-# 此demo仅供测试使用,强烈建议使用sdk。需提前安装websocket-client, 执行pip install websocket-clientimport websocketimport threadingimport timeimport jsondef rtts_demo(): url = 'wss://{{endpoint}}/v1/{{project_id}}/rtts' # endpoint和project_id需替换 text = '待合成文本' token = '用户对应region的token' header = { 'X-Auth-Token': token } body = { 'command': 'START', 'text': text, 'config': { 'audio_format': 'pcm', 'property': 'chinese_xiaoyu_common', 'sample_rate': '8000' } } def _on_message(ws, message): if isinstance(message, bytes): print('receive data length %d' % len(message)) else: print(message) def _on_error(ws, error): print(error) ws = websocket.WebSocketApp(url, header, on_message=_on_message, on_error=_on_error) _thread = threading.Thread(target=ws.run_forever, args=(None, None, 30, 20)) _thread.start() time.sleep(1) ws.send(json.dumps(body), opcode=websocket.ABNF.OPCODE_TEXT) time.sleep(10) ws.close()if __name__ == '__main__': rtts_demo() Java语言请求代码示例 import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;import okhttp3.WebSocket;import okhttp3.WebSocketListener;import okio.ByteString;/** * 此demo仅供测试使用, 强烈建议使用sdk * 使用前需已配置okhttp、okio jar包。jar包可通过下载SDK获取。 */public class RttsDemo { public void rttsDemo() { try { // endpoint和projectId需要替换成实际信息。 String url = "wss://{{endpoint}}/v1/{{project_id}}/rtts"; String token = "对应region的token"; String text = "待合成文本"; OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder().url(url).header("X-Auth-Token", token).build(); WebSocket webSocket = okHttpClient.newWebSocket(request, new MyListener()); webSocket.send("{\"command\": \"START\", \"text\":\"" + text + "\", \"config\": {\"audio_format\": \"pcm\", \"property\": \"chinese_xiaoyu_common\"}}"); Thread.sleep(10000); webSocket.close(1000, null); } catch (Exception e) { e.printStackTrace(); } } class MyListener extends WebSocketListener { @Override public void onOpen(WebSocket webSocket, Response response) { System.out.println("conneected"); } @Override public void onClosed(WebSocket webSocket, int code, String reason) { System.out.println("closed"); } @Override public void onFailure(WebSocket webSocket, Throwable t, Response response) { t.printStackTrace(); } @Override public void onMessage(WebSocket webSocket, String text) { System.out.println(text); } public void onMessage(WebSocket webSocket, ByteString bytes) { byte[] data = bytes.toByteArray(); System.out.println("receive data length is " + data.length); } } public static void main(String[] args) { RttsDemo rttsDemo = new RttsDemo(); rttsDemo.rttsDemo(); }}
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格