| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import csv
- import datetime
- import os
- import requests
- from config import key_get
- import base64
- free_map = {
- "诺艾尔": "原神-中文-诺艾尔_ZH",
- "芙宁娜": "原神-中文-芙宁娜_ZH",
- "神里绫华": "原神-中文-神里绫华_ZH",
- "迪卢克": "原神-中文-迪卢克_ZH",
- }
- def get_free_tts(name, text):
- """
- 从免费的试用api获取语音合成效果
- """
- url = "https://gsv2p.acgnai.top/infer_single"
- headers = {
- "Authorization": "Bearer " + key_get('tts'),
- "Content-Type": "application/json"
- }
- model = free_map.get(name)
- if model is None:
- return "该模型暂不支持"
- response = requests.post(url, headers=headers, json={
- "version": "v4",
- "model_name": model,
- "prompt_text_lang": "中文",
- "emotion": "默认",
- "text": text,
- "text_lang": "中文",
- "top_k": 10,
- "top_p": 1,
- "temperature": 1,
- "text_split_method": "按标点符号切",
- "batch_size": 1,
- "batch_threshold": 0.75,
- "split_bucket": True,
- "speed_facter": 1,
- "fragment_interval": 0.3,
- "media_type": "mp3",
- "parallel_infer": True,
- "repetition_penalty": 1.35,
- "seed": -1,
- "sample_steps": 16,
- "if_sr": False
- })
- data = response.json()
- if data.get("msg") == "合成成功":
- return data.get("audio_url")
- else:
- return "获取失败"
- def get_gpu_tts(text, text_lang="ja",
- file_path="/home/gxx/git/GPT-SoVITS-main/vioce/Future Samples_Anime Vocals Vol. 2_Vocal 35.wav",
- prompt="お願い、もう少しここにいてもいいかな"):
- """
- 使用gpu进行v2推理,默认霓虹文
- """
- url = "http://127.0.0.1:9880/tts"
- # url = "https://api.gxx12138.space/vioce/tts"
- paload = {
- "text": text,
- "text_lang": text_lang,
- "ref_audio_path": file_path,
- "aux_ref_audio_paths": [],
- "prompt_text": prompt,
- "prompt_lang": text_lang,
- "top_k": 5,
- "top_p": 1,
- "temperature": 1,
- "text_split_method": "cut0",
- "batch_size": 1,
- "batch_threshold": 0.75,
- "split_bucket": True,
- "speed_factor":1.0,
- "streaming_mode": False,
- "seed": -1,
- "parallel_infer": True,
- "repetition_penalty": 1.35,
- "sample_steps": 32,
- "super_sampling": False
- }
- # api返回wav文件,转为base64编码返回
- response = requests.post(url, json=paload)
- if response.status_code != 200:
- return "获取失败"
- bs64 = base64.b64encode(response.content).decode('utf-8')
- return bs64
- if __name__ == "__main__":
- print(get_gpu_tts("おやすみにゃ~。みんな素敵な夢を見られますようににゃ。"))
|