Python调用有道语音API实现文字转音频

有道文字转语音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为男声,默认为女声false0
formattext目标音频格式,支持mp3falsemp3
speedtext合成音频的语速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)

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值