GPT-SoVITS是一个优秀的零样本(或少样本)中文语音克隆项目。它结合了GPT和SoVITS技术,能够实现高质量的语音合成。为了更好地支持API调用,项目维护者对原有的api.py进行了改进,推出了功能更强大的api2.py。本文将详细介绍api2.py的使用方法,帮助开发者快速上手并实现灵活的语音合成功能。
相比原版api.py,api2.py具有以下优点:
这些改进大大提高了API的实用性和易用性,使得开发者能够更加得心应手地进行语音合成任务。
要使用api2.py,首先需要下载并将其放置在GPT-SoVITS软件目录下。执行命令与原版api.py相同,只需将文件名由api.py改为api2.py即可。默认情况下,api2.py会监听127.0.0.1:9880。
api2.py提供了多种启动选项,以适应不同的使用场景:
. untimeinary api2.py -dr "123.wav" -dt "一二三四五六七。" -dl "zh"
这个命令会使用默认模型,并将123.wav作为参考音频,其文本内容为"一二三四五六七。",语言为中文。
. untimeinary api2.py -a "127.0.0.1" -p 9001
这个命令将API服务绑定到127.0.0.1:9001。
. untimeinary api2.py -s "SoVITS_weights/你的模型名" -g "GPT_weights/你的模型名" -dr "参考音频路径" -dt "参考音频文字内容" -dl zh
这个命令允许使用自己训练的模型进行语音合成。需要注意的是,使用自定义模型时必须同时指定参考音频。
. untimeinary api2.py -d cpu
默认情况下,api2.py会优先使用CUDA或MPS(Mac)进行推理。如果需要强制使用CPU,可以添加-d cpu
参数。
api2.py支持GET和POST两种请求方式。以下是一些调用示例:
http://127.0.0.1:9880?text=亲爱的朋友你好啊,希望你的每一天都充满快乐。&text_language=zh
这个请求将合成指定的中文文本。
{ "text": "先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。", "text_language": "zh" }
通过POST请求,可以发送更复杂的参数,如上例中的较长文本。
http://127.0.0.1:9880?refer_wav_path=wavs/5.wav&prompt_text=为什么御弟哥哥,甘愿守孤灯。&prompt_language=zh&text=亲爱的朋友你好啊,希望你的每一天都充满快乐。&text_language=zh