61 lines
1.4 KiB
Python
61 lines
1.4 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
|
|
|
|
appid = HS_APP_ID
|
|
access_token= HS_ACCESS_TOKEN
|
|
cluster = HS_CLUSTER_ID
|
|
|
|
voice_type = HS_VOICE_TYPE
|
|
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()
|