最终效果:

准备

配置GPT-SoVITS

视频内有详细的使用方法以及训练模型的方法

训练模型

女武神的语音可以看这个视频


百度网盘👈这是部分语音
提取码:1096👈这是我用来训练的八重樱的数据(data)和模型(weights),只有54条语音,而且还有好多重复的(*/ω\*)。不过效果还不错,可以试试看。

配置服务

  1. 在GPT-SoVITS根目录新建一个go-api.bat,用记事本编辑:
1
runtime\python.exe api.py -a "电脑的IP地址" -s "SoVITS模型路径" -g "GPT模型路径" -dr "参考音频路径" -dt "参考音频文本" -dl "zh" -d "cuda"
  • 参考音频路径参考音频文本和第一个视频的7:27的webui中设置类似。
  • 指定电脑的IP地址是为了让局域网中的设备可以访问。

    具体参数见api.py内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ## 执行参数:

    `-s` - `SoVITS模型路径, 可在 config.py 中指定`
    `-g` - `GPT模型路径, 可在 config.py 中指定`

    调用请求缺少参考音频时使用
    `-dr` - `默认参考音频路径`
    `-dt` - `默认参考音频文本`
    `-dl` - `默认参考音频语种, "中文","英文","日文","zh","en","ja"`

    `-d` - `推理设备, "cuda","cpu","mps"`
    `-a` - `绑定地址, 默认"127.0.0.1"`
    `-p` - `绑定端口, 默认9880, 可在 config.py 中指定`
    `-fp` - `覆盖 config.py 使用全精度`
    `-hp` - `覆盖 config.py 使用半精度`

    `-hb` - `cnhubert路径`
    `-b` - `bert路径`
  1. 先用文本编辑器打开api.py,找到第442行:
1
2
3
torch.cuda.empty_cache()
# torch.mps.empty_cache() 注释掉这一行
return StreamingResponse(wav, media_type="audio/wav")

不过看最新的代码已经把判断加上了,如果之后没有报错AttributeError: module 'torch' has no attribute 'mps'就不用管这个。

  1. 开头报下面这个错误没有影响继续用就行。
1
ImportError: FFmpeg libraries are not found. Please install FFmpeg.
  1. 双击go-api.bat即可开启服务器

使用

  1. 在手机上下载阅读
  2. 随便导入一部小说。
  3. 点击阅读界面下面的朗读->设置->朗读引擎
  4. 点击右上角+号,名称随意,urlhttp://电脑的IP地址:9880/?text={{speakText}}&text_language=zh
  5. 点击保存后返回,选择刚刚创建的引擎,点击右下角全局,再返回朗读界面就可以使用啦(❁´◡`❁)

    目前4060,用自己训练的八重樱的模型还挺流畅的。