GPT-SoVITS 是一个非常出色的零(少)样本中文声音克隆项目。之前有一篇文章详细介绍了如何部署和训练自己的模型(点击查看),并使用该模型在Web界面中合成声音。可惜它自带的 api.py 在调用方面支持较差,比如不能中英混合、无法按标点切分句子等。因此,对api.py进行了修改,详细使用说明如下。
下载api2.py,复制到GPT-SoVITS软件目录下,执行命令与自带api.py相同,只需将名称 api.py 改为 api2.py。默认端口仍为 9880,默认绑定 127.0.0.1
假设参考音频要使用根目录下的 123.wav,音频文字是 "一二三四五六七。",音频语言是中文,那么命令如下:
.\runtime\python api2.py -dr "123.wav" -dt "一二三四五六七。" -dl "zh"
Linux下命令去掉 .\runtime\
即可
按上述命令启动后,指定的参考音频将作为默认配置,当请求API数据中未指定参考音频时将使用此配置。
假设要指定绑定内网IP 192.168.0.120,端口使用 9001,不指定默认参考音频,那么执行如下命令:
.\runtime\python api2.py -a "127.0.0.1" -p 9001
指定自己的模型时,必须确保同时指定参考音频。训练好的模型可分别在软件目录下的 GPT_weights 和 SoVITS_weights 目录中找到,以你训练时命名的模型名称开头,后跟e数字
最大的那个即可。
.\runtime\python api2.py -s "SoVITS_weights/你的模型名" -g "GPT_weights/你的模型名" -dr "参考音频路径和名称" -dt "参考音频的文字内容,使用双引号括起来,确保文字内容里没有双引号" -dl zh|ja|en三者选一
默认将优先使用 CUDA 或 mps(Mac),如果你想指定在CPU上运行,可以通过 -d cpu
指定
.\runtime\python api2.py -d cpu
注意 -d
后只能是 cpu 或 cuda 或 mps
,并且只有在正确配置 cuda 后才能指定 cuda,只有Apple CPU Mac上才能指定 mps
.\runtime\python api2.py
这种方式将使用默认模型,并且在 API 请求时必须指定参考音频、参考音频文字内容、参考音频语言代码,API 监听 9880 端口
仅支持 中文、日语、英语 三种语言,对应只可使用 zh(代表中文或中英混合)
、ja(代表日语或日英混合)
、en(代表英语)
,使用 -dl 指定, 如 -dl zh
,-dl ja
,-dl en
参考音频填写以软件根目录为起点的相对目录,假如你的参考音频是直接放在软件根目录下,那么只需要填写带后缀的完整名字即可,比如 -dr 123.wav
,如果是在子目录下,比如在 wavs
文件夹下,那么填写 -dr "wavs/123.wav"
参考音频的文字内容就是音频里的说话文字,需要正确填写标点符号,并使用英文双引号括起来。请注意,文字中不要再有英文双引号。
-dt "这里填写参考音频的文字内容,不要含有英文双引号"
模型相关参数
-s
SoVITS模型路径,默认模型无需填写,自训练模型在 SoVITS_weights 目录下
-g
GPT模型路径,默认模型无需填写,自训练模型在 GPT_weights 目录下
参考音频相关参数
-dr
默认参考音频路径,如果在根目录下,直接填写带后缀名字,否则加上 路径/名字
-dt
默认参考音频文本,音频的文字内容,以英文双引号括起来
-dl
默认参考音频内容的语种,"zh"或"en"或"ja"
设备和地址相关参数
-d
推理设备,"cuda","cpu","mps" 只有配置好了cuda环境才可指定cuda,只有Apple CPU上才可指定mps
-a
绑定地址,默认"127.0.0.1"
-p
绑定端口,默认9880
不常用参数,新手可忽略不必设置
-fp
使用全精度
-hp
使用半精度
-hb
cnhubert路径
-b
bert路径
-c
1-5,默认5,代表按标点符号切分。 1=凑四句一切 2=凑50字一切 3=按中文句号。切 4=按英文句号.切 5=按标点符号切
调用地址url: http://你指定的ip:指定的端口
,默认是 http://127.0.0.1:9880
调用时不指定参考音频
启动 api2.py 时必须指定默认参考音频,才可在调用API时不指定,否则会失败:
GET方式调用,可直接浏览器中打开:
http://127.0.0.1:9880?text=亲爱的朋友你好啊,希望你的每一天都充满快乐。&text_language=zh
使用POST方式调用,以json格式传参:
{ "text": "先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。", "text_language": "zh" }
GET方式:
http://127.0.0.1:9880?refer_wav_path=wavs/5.wav&prompt_text=为什么御弟哥哥,甘愿守孤灯。&prompt_language=zh&text=亲爱的朋友你好啊,希望你的每一天都充满快乐。&text_language=zh
POST方式:
{ "refer_wav_path": "wavs/5.wav", "prompt_text": "为什么御弟哥哥,甘愿守孤灯。", "prompt_language": "zh", "text": "亲爱的朋友你好啊,希望你的每一天都充满快乐。", "text_language": "zh" }
成功时: 返回wav音频流,可直接播放或保存到wav文件中,http状态码200
失败时: 返回包含错误信息的json,http状态码400
{"code": 400, "message": "未指定参考音频且接口无预设"}
api2.py和官方原版api.py一样都不支持动态模型切换,也不建议这样做,因为动态启动加载模型很慢,而且在失败时也不方便处理。
**解决方法是:**一个模型起一个api服务器,绑定不同的端口,在启动api2.py时,指定当前服务所要使用的模型和绑定的端口。
比如起2个服务,一个使用默认模型,绑定9880端口,一个绑定自己训练的模型,绑定9881端口,命令如下
默认模型9880端口: http://127.0.0.1:9880
.\runtime\python api2.py -dr "5.wav" -dt "今天好开心" -dl zh
自己训练的模型: http://127.0.0.1:9881
.\runtime\python api2.py -p 9881 -s "SoVITS_weights/mymode-e200.pth" -g "GPT_weights/mymode-e200.ckpt" -dr "wavs/10.wav" -dt "御弟哥哥,为什么甘愿守孤灯" -dl zh
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生 成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流 不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻 松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到 语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号