有道文字转语音API:
https://ai.youdao.com/DOCSIRMA/html/语音合成TTS/API文档/语音合成服务/语音合成服务-API文档.html
获取应用ID
和应用密钥:
https://ai.youdao.com/doc.s#guide
接口说明:文字的UTF-8编码长度不能超过1000.
有道智云TTS API HTTPS地址:
https://openapi.youdao.com/ttsapi
调用API需要向接口发送以下字段来访问服务。
字段名类型含义必填备注qtext待合成音频文件的文本字符串True比如:您好langTypetext合成文本的语言类型True支持语言appKeytext应用 IDTrue可在 应用管理 查看salttextUUIDTrueUUID,唯一通用识别码,可在线生成signtext签名TrueMD5(应用ID+q+salt+应用密钥)voicetext翻译结果发音选择,0为女声,1为男声,默认为女声false0formattext目标音频格式,支持mp3falsemp3speedtext合成音频的语速false比如:"1"为正常速度;最大为“2”,最小为“0.1”volumetext合成音频的音量false正常为"1.00",最大为"5.00",最小为"0.50" 调用示例:import uuid
import requests
import hashlib
import os
def encrypt(signStr):
hash_algorithm = hashlib.md5()
hash_algorithm.update(signStr.encode('utf-8'))
return hash_algorithm.hexdigest()
def txt2audio(text):
try:
data = {}
data['langType'] = 'zh-TWN'
salt = str(uuid.uuid1())
signStr = APP_KEY + text + salt + APP_SECRET
sign = encrypt(signStr)
data['appKey'] = APP_KEY
data['q'] = text
data['salt'] = salt
data['sign'] = sign
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
response = requests.post(YOUDAO_URL, data=data, headers=headers)
contentType = response.headers['Content-Type']
if contentType == "audio/mp3":
with open(audiofile, 'ab+') as f2:
f2.write(response.content)
else:
print(response.content)
break
except Exception as e:
print("Txt2Audio Error:", e)