mirror of
https://github.com/RVC-Boss/GPT-SoVITS.git
synced 2025-10-07 15:19:59 +08:00
50 lines
2.4 KiB
Python
50 lines
2.4 KiB
Python
import argparse
|
|
|
|
import uvicorn
|
|
import config as global_config
|
|
|
|
from app import app
|
|
from cmd_args import CmdArgs
|
|
|
|
g_config = global_config.Config()
|
|
# 获取参数
|
|
parser = argparse.ArgumentParser(description="GPT-SoVITS api")
|
|
|
|
parser.add_argument("-s", "--sovits_path", type=str, default=g_config.sovits_path, help="SoVITS模型路径")
|
|
parser.add_argument("-g", "--gpt_path", type=str, default=g_config.gpt_path, help="GPT模型路径")
|
|
parser.add_argument("-dr", "--default_refer_path", type=str, default="", help="默认参考音频路径")
|
|
parser.add_argument("-dt", "--default_refer_text", type=str, default="", help="默认参考音频文本")
|
|
parser.add_argument("-dl", "--default_refer_language", type=str, default="", help="默认参考音频语种")
|
|
parser.add_argument("-d", "--device", type=str, default=g_config.infer_device, help="cuda / cpu")
|
|
parser.add_argument("-a", "--bind_addr", type=str, default="0.0.0.0", help="default: 0.0.0.0")
|
|
parser.add_argument("-p", "--port", type=int, default=g_config.api_port, help="default: 9880")
|
|
parser.add_argument("-fp", "--full_precision", action="store_true", default=False,
|
|
help="覆盖config.is_half为False, 使用全精度")
|
|
parser.add_argument("-hp", "--half_precision", action="store_true", default=False,
|
|
help="覆盖config.is_half为True, 使用半精度")
|
|
# bool值的用法为 `python ./tts_service.py -fp ...`
|
|
# 此时 full_precision==True, half_precision==False
|
|
parser.add_argument("-sm", "--stream_mode", type=str, default="close", help="流式返回模式, close / normal / keepalive")
|
|
parser.add_argument("-mt", "--media_type", type=str, default="wav", help="音频编码格式, wav / ogg / aac")
|
|
parser.add_argument("-cp", "--cut_punc", type=str, default="", help="文本切分符号设定, 符号范围,.;?!、,。?!;:…")
|
|
# 切割常用分句符为 `python ./tts_service.py -cp ".?!。?!"`
|
|
parser.add_argument("-hb", "--hubert_path", type=str, default=g_config.cnhubert_path, help="覆盖config.cnhubert_path")
|
|
parser.add_argument("-b", "--bert_path", type=str, default=g_config.bert_path, help="覆盖config.bert_path")
|
|
|
|
args = parser.parse_args()
|
|
|
|
# 保存参数到单例对象中
|
|
cmd_args = CmdArgs()
|
|
cmd_args.set_args(args)
|
|
import server
|
|
server.register_Hanlder(app)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
port = args.port
|
|
host = args.bind_addr
|
|
uvicorn.run(app, host=host, port=port, workers=1)
|
|
|
|
|