介绍
GPT-SoVITS 是一个强大的语音合成系统,它结合了 GPT(生成式预训练转换器)和 SoVITS(Soft-VC VITS)两种先进技术:
- GPT: 负责文本理解和语音生成的控制,能够根据上下文生成自然的语音内容
- SoVITS: 负责声音转换,可以将生成的语音转换为目标说话人的声音特征
本系统特别针对《凉宫春日》系列的角色进行了训练,可以生成多个角色的自然语音。系统支持多种语言(中文、英文、日文、粤语、韩文等),并提供了丰富的参数调整选项,让用户能够精确控制生成的语音效果。
安装说明
首先需要安装 gradio_client 库:
pip install gradio_client
API 端点说明
1. 获取角色列表
API名称: /change_choices
from gradio_client import Client
client = Client("https://haruhi-gpt-sovits.vip.cpolar.cn/")
result = client.predict(
api_name="/change_choices"
)
print(result)
参数: 无
返回值:
- 返回一个包含所有可用角色的列表:
- 凉宫春日
- 古泉一树
- 朝仓凉子
- 朝比奈实玖瑠(大)
- 朝比奈实玖瑠(小)
- 虚妹
- 长门有希(正常时间线)
- 长门有希(消失时间线)
- 阿虚
- 鹤屋
2. 切换角色
API名称: /change_characters
from gradio_client import Client
client = Client("https://haruhi-gpt-sovits.vip.cpolar.cn/")
result = client.predict(
character_name="凉宫春日",
api_name="/change_characters"
)
print(result)
参数:
character_name
: 角色名称(默认:“凉宫春日”)
返回值: 返回一个包含三个元素的元组
- 预设参考音频列表
- Sovits模型路径
- GPT模型路径
3. 切换预设参考音频
API名称: /change_predef_ref
from gradio_client import Client
client = Client("https://haruhi-gpt-sovits.vip.cpolar.cn/")
result = client.predict(
character_name="凉宫春日",
ref_name="14_日常交谈感",
api_name="/change_predef_ref"
)
print(result)
参数:
character_name
: 角色名称(默认:“凉宫春日”)ref_name
: 预设参考音频名称(默认:“14_日常交谈感”)
返回值: 返回一个包含两个元素的元组
- 参考音频文件路径
- 参考音频的文本内容
4. 生成语音
API名称: /get_tts_wav
from gradio_client import Client, file
client = Client("https://haruhi-gpt-sovits.vip.cpolar.cn/")
result = client.predict(
sovits_path="SoVITS_weights_v2/Haruhi_20250113_e1500_s58500.pth",
gpt_path="GPT_weights_v2/Haruhi_20250113-e10.ckpt",
ref_wav_path=file('参考音频路径'),
prompt_text="参考音频的文本",
prompt_language="日文",
text="要合成的文本",
text_language="日文",
how_to_cut="凑四句一切",
top_k=15,
top_p=1,
temperature=1,
ref_free=False,
speed=1,
if_freeze=False,
inp_refs=[file('额外参考音频路径')],
api_name="/get_tts_wav"
)
print(result)
参数说明:
sovits_path
: SoVits模型路径gpt_path
: GPT模型路径ref_wav_path
: 参考音频文件路径prompt_text
: 参考音频的文本内容prompt_language
: 参考音频的语种(中文/英文/日文/粤语/韩文等)text
: 需要合成的文本text_language
: 需要合成的语种how_to_cut
: 文本切分方式(不切/凑四句一切/凑50字一切等)top_k
: 采样参数top_p
: 采样参数temperature
: 采样参数ref_free
: 是否开启无参考文本模式speed
: 语速if_freeze
: 是否直接对上次合成结果调整语速和音色inp_refs
: 额外的参考音频文件列表(可选)
返回值: 生成的语音文件路径