from urllib import request import json import sys import io sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') if __name__ == "__main__": url = "https://32d343o770.wicp.vip/tts" lan = {"中文":0, "日文":1, "英文":2, "德文":3, "克罗地亚文":4 } idols ={"南小鸟":0, "园田海未":1, "小泉花阳":2, "星空凛":3, "东条希":4, "矢泽妮可":5, "绚濑绘里":6, "西木野真姬":7, "高坂穗乃果":8} headers ={ "content-type": "application/json"} while True: input_sig = input('输入1进入云端文字转语音程序,输入其他字符退出程序') if not input_sig == "1": break input_language = input('请选择语言,请输入“中文”或“日文”或“英文”或“德文”或“克罗地亚文”,不要加双引号:') input_speaker_id = input('请选择说话人“请输入“南小鸟”或“园田海未”或“绚濑绘里”,不要加双引号:') input_noise_rate = input('请填写噪音比例,数值范围是0.1-1:') input_noise_deviation = input('请填写噪音偏差,数值范围是0.1-1:') input_length_scale = input('请填写倍速,这是一个数值:') input_text = input('请输入需要转语音的文本,不要加双引号:') v_dict = { 'lan': lan.get(input_language), 'spk': idols.get(input_speaker_id), "noise_rate": float(input_noise_rate), 'noise_deviation': float(input_noise_deviation), 'speed': float(input_length_scale), 'text': str(input_text) } req = request.Request(url=url, headers=headers, data=json.dumps(v_dict).encode("utf-8")) reps = request.urlopen(req).read() with open(f"{input_text}+{input_speaker_id}.wav", "wb") as f: f.write(reps)