# import json import cv2 import requests import uuid from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.tts.v20190823 import tts_client from tencentcloud.tts.v20190823 import models as tts_models import numpy as np import base64 import matplotlib.pyplot as plt %matplotlib inline import warnings warnings.filterwarnings("ignore") SecretId="xxxxxxxxxxxxxxxxxxxxxxxxxx" SecretKey="xxxxxxxxxxxxxxxxxxxxxxxxxxx"
""" 长文语音合成请求 https://console.cloud.tencent.com/api /explorer?Product=tts&Version=2019-08-23&Action=CreateTtsTask&SignVersion= """ try: cred = credential.Credential(SecretId,SecretKey) httpProfile = HttpProfile() httpProfile.endpoint = "tts.tencentcloudapi.com" clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile client = tts_client.TtsClient(cred, "", clientProfile) Text=""" 枣树,在家乡的房子前后,沟沟坡坡、路边街等地随处可见,密密麻麻地环绕着村庄, 就像站岗哨兵保卫村庄一样。 干裂的树皮、苍劲的躯干、嫩黄的枣花,油绿的树叶,红色的果实,都是我童年记忆中最深的风景。 """ req = tts_models.CreateTtsTaskRequest() params = {
"Text": Text, "Volume": 1,
"Speed": 0,
"ProjectId": 0,
"ModelType": 1,
"VoiceType": 101001,
"PrimaryLanguage": 1,
"SampleRate": 16000,
"Codec": "mp3",
"VoiceoverDialogueSplit": False
}
""" """
req.from_json_string(json.dumps(params))
resp = client.CreateTtsTask(req).to_json_string()
resp=json.loads(resp)
print(resp)
TaskId=resp["Data"]["TaskId"]
except TencentCloudSDKException as err:
print(err)
{'Data': {'TaskId': 'gz-91061d49-7ed8-455a-860e-eb8cb12e84d4'}, 'RequestId': '8777c60a-0b72-4185-8e3e-a947c21596aa'}
""" 是 String 公共参数,本接口取值:CreateTtsTask。 Version 是 String 公共参数,本接口取值:2019-08-23。 Region 否 String 公共参数,本接口不需要传递此参数。 Text 是 String 合成语音的源文本,按UTF-8编码统一计算,最多支持10万字符 ModelType 是 Integer 模型类型,1-默认模型。 Volume 否 Float 音量大小,范围:[0,10],分别对应11个等级的音量,默认为0,代表正常音量。没有静音选项。 输入除以上整数之外的其他参数不生效,按默认值处理。 Speed 否 Float 语速,范围:[-2,2],分别对应不同语速: -2代表0.6倍 -1代表0.8倍 0代表1.0倍(默认) 1代表1.2倍 2代表1.5倍 如果需要更细化的语速,可以保留小数点后一位,例如0.5 1.1 1.8等。 ProjectId 否 Integer 项目id,用户自定义,默认为0。 VoiceType 否 Integer 标准音色 1001-智瑜,情感女声(默认) 1002-智聆,通用女声 1003-智美,客服女声 1006-智云,通用男声 1050-WeJack,英文男声 1051-WeRose,英文女声 精品音色 精品音色拟真度更高,价格不同于普通音色,查看购买指南 101001-智瑜,情感女声(精品) 101002-智聆,通用女声(精品) 101003-智美,客服女声(精品) 101004-智云,通用男声 101005-智莉,通用女声 101006-智言,助手女声 101007-智娜,客服女声 101008-智琪,客服女声 101009-智芸,知性女声 101010-智华,通用男声 101011-智燕,新闻女声 101012-智丹,新闻女声 101013-智辉,新闻男声 101014-智宁,新闻男声 101015-智萌,男童声 101016-智甜,女童声 101017-智蓉,情感女声 101018-智靖,情感男声 101019-智彤,粤语女声 101050-WeJack,英文男声(精品) 101051-WeRose,英文女声(精品) PrimaryLanguage 否 Integer 主语言类型: 1-中文(默认) 2-英文 SampleRate 否 Integer 音频采样率: 16000:16k(默认) 8000:8k Codec 否 String 返回音频格式,可取值:mp3(默认),mp3,pcm CallbackUrl 否 String 回调 URL,用户自行搭建的用于接收识别结果的服务URL。如果用户使用轮询方式获取识别结果,则无需提交该参数。回调说明 """
'\n\t是\tString\t公共参数,本接口取值:CreateTtsTask。\nVersion\t是\tString\t公共参数,本接口取值:2019-08-23。\nRegion\t否\tString\t公共参数,本接口不需要传递此参数。\nText\t是\tString\t合成语音的源文本,按UTF-8编码统一计算,最多支持10万字符\nModelType\t是\tInteger\t模型类型,1-默认模型。\nVolume\t否\tFloat\t音量大小,范围:[0,10],分别对应11个等级的音量,默认为0,代表正常音量。没有静音选项。\n输入除以上整数之外的其他参数不生效,按默认值处理。\nSpeed\t否\tFloat\t语速,范围:[-2,2],分别对应不同语速:\n-2代表0.6倍\n-1代表0.8倍\n0代表1.0倍(默认)\n1代表1.2倍\n2代表1.5倍\n如果需要更细化的语速,可以保留小数点后一位,例如0.5 1.1 1.8等。\nProjectId\t否\tInteger\t项目id,用户自定义,默认为0。\nVoiceType\t否\tInteger\t标准音色\n1001-智瑜,情感女声(默认)\n1002-智聆,通用女声\n1003-智美,客服女声\n1006-智云,通用男声\n1050-WeJack,英文男声\n1051-WeRose,英文女声\n精品音色\n精品音色拟真度更高,价格不同于普通音色,查看购买指南\n101001-智瑜,情感女声(精品)\n101002-智聆,通用女声(精品)\n101003-智美,客服女声(精品)\n101004-智云,通用男声\n101005-智莉,通用女声\n101006-智言,助手女声\n101007-智娜,客服女声\n101008-智琪,客服女声\n101009-智芸,知性女声\n101010-智华,通用男声\n101011-智燕,新闻女声\n101012-智丹,新闻女声\n101013-智辉,新闻男声\n101014-智宁,新闻男声\n101015-智萌,男童声\n101016-智甜,女童声\n101017-智蓉,情感女声\n101018-智靖,情感男声\n101019-智彤,粤语女声\n101050-WeJack,英文男声(精品)\n101051-WeRose,英文女声(精品)\nPrimaryLanguage\t否\tInteger\t主语言类型:\n1-中文(默认)\n2-英文\nSampleRate\t否\tInteger\t音频采样率:\n16000:16k(默认)\n8000:8k\nCodec\t否\tString\t返回音频格式,可取值:mp3(默认),mp3,pcm\nCallbackUrl\t否\tString\t回调 URL,用户自行搭建的用于接收识别结果的服务URL。如果用户使用轮询方式获取识别结果,则无需提交该参数。回调说明\n'
""" https://console.cloud.tencent.com/api /explorer?Product=tts&Version=2019-08-23&Action=DescribeTtsTaskStatus&SignVersion= 长文本语音合成结果查询 """
try:
cred = credential.Credential(SecretId, SecretKey)
httpProfile = HttpProfile()
httpProfile.endpoint = "tts.tencentcloudapi.com"
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
client = tts_client.TtsClient(cred, "", clientProfile)
req = tts_models.DescribeTtsTaskStatusRequest()
params = {
"TaskId": TaskId
}
req.from_json_string(json.dumps(params))
resp = client.DescribeTtsTaskStatus(req).to_json_string()
resp=json.loads(resp)
print(resp)
except TencentCloudSDKException as err:
print(err)
{'Data': {'TaskId': 'gz-91061d49-7ed8-455a-860e-eb8cb12e84d4', 'Status': 2, 'StatusStr': 'success', 'ResultUrl': 'https://tts-async-audio-gz-1300466766.cos.ap-guangzhou.myqcloud.com/20210820%2F1304700566%2Fgz-91061d49-7ed8-455a-860e-eb8cb12e84d4.mp3?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDJXcaKs2w4vZw5zTCrHRM7dOwre9Xk9MJ%26q-sign-time%3D1629438920%3B1630043720%26q-key-time%3D1629438920%3B1630043720%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3D797ffffd47228d209abbb502b03d92fb631afcf3', 'ErrorMsg': ''}, 'RequestId': '60da49ee-7a88-4a17-a80b-9f5b13d5bed2'}
with open("./video/output.wav",'wb') as file:
file.write(requests.get(resp["Data"]["ResultUrl"]).content)
""" https://console.cloud.tencent.com/api /explorer?Product=tts&Version=2019-08-23&Action=TextToVoice&SignVersion= 基础语音合成 """
try:
cred = credential.Credential(SecretId, SecretKey)
httpProfile = HttpProfile()
httpProfile.endpoint = "tts.tencentcloudapi.com"
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
client = tts_client.TtsClient(cred, "ap-beijing", clientProfile)
req = tts_models.TextToVoiceRequest()
Text="基础语音合成"
params = {
"Text": Text,
"SessionId": str(uuid.uuid4()),
"Volume": 1,
"Speed": 0,
"ProjectId": 0,
"ModelType": 1,
"VoiceType": 1003,
"PrimaryLanguage": 1,
"SampleRate": 16000,
"Codec": "mp3"
}
req.from_json_string(json.dumps(params))
resp = client.TextToVoice(req).to_json_string()
resp=json.loads(resp)
print(resp)
except TencentCloudSDKException as err:
print(err)
{'Audio': '//NIxAAAAANIAAAAAExBTUVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVV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VVVVVVVVVVVV//NIxKQauTH0AMvecFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NIxHwAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV', 'SessionId': '117631b6-064c-4a8d-b731-bfb3d7dda833', 'RequestId': '152876b1-7d19-4f70-a8ff-772acf2fcb9a'}
with open("./video/output.mp3",'wb') as file:
file.write(base64.b64decode(resp['Audio']))