74 lines
2.2 KiB
Python
74 lines
2.2 KiB
Python
#coding=utf-8
|
|
|
|
'''
|
|
requires Python 3.6 or later
|
|
pip install requests
|
|
'''
|
|
import base64
|
|
import json
|
|
import uuid
|
|
import requests
|
|
|
|
from Config.Config import HS_APP_ID, HS_ACCESS_TOKEN, HS_CLUSTER_ID, HS_VOICE_TYPE_QINCANG
|
|
|
|
# 填写平台申请的appid, access_token以及cluster
|
|
appid = HS_APP_ID
|
|
access_token= HS_ACCESS_TOKEN
|
|
cluster = HS_CLUSTER_ID
|
|
|
|
voice_type = HS_VOICE_TYPE_QINCANG
|
|
host = "openspeech.bytedance.com"
|
|
api_url = f"https://{host}/api/v1/tts"
|
|
|
|
header = {"Authorization": f"Bearer;{access_token}"}
|
|
|
|
request_json = {
|
|
"app": {
|
|
"appid": appid,
|
|
"token": "access_token",
|
|
"cluster": cluster
|
|
},
|
|
"user": {
|
|
"uid": "388808087185088"
|
|
},
|
|
"audio": {
|
|
"voice_type": voice_type,
|
|
"encoding": "mp3",
|
|
"speed_ratio": 1.0,
|
|
"volume_ratio": 1.0,
|
|
"pitch_ratio": 1.0,
|
|
},
|
|
"request": {
|
|
"reqid": str(uuid.uuid4()),
|
|
"text": """
|
|
君不见,黄河之水天上来,奔流到海不复回。
|
|
君不见,高堂明镜悲白发,朝如青丝暮成雪。
|
|
人生得意须尽欢,莫使金樽空对月。
|
|
天生我材必有用,千金散尽还复来。
|
|
烹羊宰牛且为乐,会须一饮三百杯。
|
|
岑夫子,丹丘生,将进酒,杯莫停。
|
|
与君歌一曲,请君为我倾耳听。
|
|
钟鼓馔玉不足贵,但愿长醉不复醒。
|
|
古来圣贤皆寂寞,惟有饮者留其名。
|
|
陈王昔时宴平乐,斗酒十千恣欢谑。
|
|
主人何为言少钱,径须沽取对君酌。
|
|
五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。
|
|
""",
|
|
"text_type": "plain",
|
|
"operation": "query",
|
|
"with_frontend": 1,
|
|
"frontend_type": "unitTson"
|
|
}
|
|
}
|
|
|
|
if __name__ == '__main__':
|
|
try:
|
|
resp = requests.post(api_url, json.dumps(request_json), headers=header)
|
|
#print(f"resp body: \n{resp.json()}")
|
|
if "data" in resp.json():
|
|
data = resp.json()["data"]
|
|
file_to_save = open("test_submit.mp3", "wb")
|
|
file_to_save.write(base64.b64decode(data))
|
|
except Exception as e:
|
|
e.with_traceback()
|