|
import datetime |
|
import os |
|
import zipfile |
|
from io import BytesIO |
|
|
|
import requests |
|
|
|
chattts_service_host = os.environ.get("CHATTTS_SERVICE_HOST", "localhost") |
|
chattts_service_port = os.environ.get("CHATTTS_SERVICE_PORT", "8000") |
|
|
|
CHATTTS_URL = f"http://{chattts_service_host}:{chattts_service_port}/generate_voice" |
|
|
|
|
|
|
|
body = { |
|
"text": [ |
|
"四川美食确实以辣闻名,但也有不辣的选择。", |
|
"比如甜水面、赖汤圆、蛋烘糕、叶儿粑等,这些小吃口味温和,甜而不腻,也很受欢迎。", |
|
], |
|
"stream": False, |
|
"lang": None, |
|
"skip_refine_text": True, |
|
"refine_text_only": False, |
|
"use_decoder": True, |
|
"audio_seed": 12345678, |
|
"text_seed": 87654321, |
|
"do_text_normalization": True, |
|
"do_homophone_replacement": False, |
|
} |
|
|
|
|
|
params_refine_text = { |
|
"prompt": "", |
|
"top_P": 0.7, |
|
"top_K": 20, |
|
"temperature": 0.7, |
|
"repetition_penalty": 1, |
|
"max_new_token": 384, |
|
"min_new_token": 0, |
|
"show_tqdm": True, |
|
"ensure_non_empty": True, |
|
"stream_batch": 24, |
|
} |
|
body["params_refine_text"] = params_refine_text |
|
|
|
|
|
params_infer_code = { |
|
"prompt": "[speed_5]", |
|
"top_P": 0.1, |
|
"top_K": 20, |
|
"temperature": 0.3, |
|
"repetition_penalty": 1.05, |
|
"max_new_token": 2048, |
|
"min_new_token": 0, |
|
"show_tqdm": True, |
|
"ensure_non_empty": True, |
|
"stream_batch": True, |
|
"spk_emb": None, |
|
} |
|
body["params_infer_code"] = params_infer_code |
|
|
|
|
|
try: |
|
response = requests.post(CHATTTS_URL, json=body) |
|
response.raise_for_status() |
|
with zipfile.ZipFile(BytesIO(response.content), "r") as zip_ref: |
|
|
|
dt = datetime.datetime.now() |
|
ts = int(dt.timestamp()) |
|
tgt = f"./output/{ts}/" |
|
os.makedirs(tgt, 0o755) |
|
zip_ref.extractall(tgt) |
|
print("Extracted files into", tgt) |
|
|
|
except requests.exceptions.RequestException as e: |
|
print(f"Request Error: {e}") |
|
|