【GPT-SoVITS】GPT-SoVITSAPI调用:让二次元角色开口说话,打造专属语音合成系统

发布于:2025-03-19 ⋅ 阅读:(11) ⋅ 点赞:(0)

请添加图片描述

介绍

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: 角色名称(默认:“凉宫春日”)

返回值: 返回一个包含三个元素的元组

  1. 预设参考音频列表
  2. Sovits模型路径
  3. 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_日常交谈感”)

返回值: 返回一个包含两个元素的元组

  1. 参考音频文件路径
  2. 参考音频的文本内容

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: 额外的参考音频文件列表(可选)

返回值: 生成的语音文件路径


网站公告

今日签到

点亮在社区的每一天
去签到