跳过正文

语音合成

目录

流萤的语音合成,请勿用于非法用途

0. 效果预览
#

0.1 模型_v4_20250729
#

v4 模型演示

模型部署在 Colab 上可以用来听书。感谢 tux_la 的视频演示!

0.2 模型_v2pro_20251118
#

v2pro 模型演示

希望,是一只带有羽毛的东西
它在我的灵魂中筑巢栖息
唱着没有词的俚曲
似乎永远不会停息。

在风中能听到它唱的最为甜蜜
只有强劲的风暴会阻止它的足迹
迫使这只小鸟暂时静寂
而它曾经给过多少人带去了暖意。

我在最寒冷的土地上,听到过它的鸣啼
我在最奇特的海面上,也听到过它的歌曲
然而,从来没有,在极端的境地
它向我索取过一点点的东西。

——艾米莉·狄金森 《希望是一只带有羽毛的东西》

关于 Colab 的部署,请参考 第三部分

1. OOTB(开箱即用)的食用方法
#

部分参考原著 GPT-SoVITS 指南

主要是推理(也就是合成语音),微调请看后面。

1.1 下载文件
#

  1. 前往 RVC-Boss/GPT-SoVITS 下载整合包,并在 合适的 位置解压

    • 理论上哪都可以,但是不建议放在带空格(分割问题)/中文路径(编码问题)下
  2. 仓库lovefirefly-archive/语音合成/模型 下载模型以及 参考语音.7z

    现在模型有两个,分别是 模型_v4_20250729.7z模型_v2pro_20251118.7z,这里展示的是 v4 的版本。
    v2pro 操作完全相同

    v4 是最早的版本,在本地的 NVIDIA GeForce RTX 5070 Laptop GPU 上微调。由于显存较小(8GB),所以切分较碎,句间停顿能力稍弱。

    v2pro 是较新的版本,在服务器上使用未切分的数据微调,长句能力大幅提升。但是温度、top_p 太高会有极其轻微的咔咔声。请务必按照推荐参数调整。

完成后大概是下面的样子(选中的就是下载的文件)

我是 50 系显卡,所以是 GPT-SoVITS-v2pro-20250604-nvidia50,如果不是请下载解压 GPT-SoVITS-v2pro-20250604.7z

1.2 移动模型
#

将模型移动到正确位置,简而言之,直接将这两个文件夹复制到整合包目录即可

[整合包目录] 指的是你解压的目录,比如:GPT-SoVITS-v2pro-20250604-nvidia50

注意是 v4 不要放在其他版本号里面了!

1.3 运行网页端
#

进入刚才解压的目录(我是 GPT-SoVITS-v2pro-20250604-nvidia50)。

当然如果你和我一样是 Windows Terminal,可以 Ctrl+单击 打开链接

双击运行 go-webui.bat,这时将会从自带的环境中运行 webui。一般会直接弹出浏览器窗口。如果没有,请看下一步。

如果没有打开浏览器
#

你可以在控制台输出的结尾找到类似的字样:

Running on local URL:  http://0.0.0.0:9874

记住 9874 这个端口号,然后在浏览器中开:

http://localhost:9874

如果是因为报错没有打开浏览器,请检查端口占用情况(比如是不是已经打开了一个),或者复制报错信息搜索/询问 AI。

1.4 开始推理
#

当然如果你和我一样是 Windows Terminal,可以 Ctrl+单击 打开链接
打开网页后,依次点击:`1-GPT-SoVITS-TTS`-`训练模型的版本/v4`-`1C-推理`-`刷新模型路径`-`下拉模型列表选择刚刚的模型`-`启用并行推理版本(可选)`-`开启TTS推理WebUI`

等待一段时间(不要心急,终端静止是正常的,没报错即可),会自动打开 localhost:9872。如果过长时间没有打开,或者看到终端报错(Error ...),请参照 前面的方法 解决。如果是因为配置不足,请考虑租用服务器/云游戏。

然后按照 参考语音.7z 的内容填好参数,点击合成即可

可以搜索、尝试其他参数的修改

当然,参考语音的语气比较平淡,所以需要其他语气的,请下载完整的训练语音:lovefirefly-archive/语音合成/训练数据(不是说拿来训练,是填入参考文本)

由于 v4 是我本地训练的,现存不足,微调时切分比较细碎,所以模型不那么会停顿,有可能需要后期处理。我特地标注了流萤句首的气息词,用“呃”/“啊”/“呵”+“……”/“、”标注。基本 达到预期效果。

如果需要更好的长句能力、句首换气和高质量停顿,请使用 v2prov2pro 也做了语气词优化,不过由于已经是含有完整上下文的长句了,所以主要依靠模型推断,我手动插入语气词的部分其实不多。

Enjoy It

2. 如果需要自行微调……
#

参阅 整合包教程

3. 导入 Google Colab
#

提示:Colab 在中国大陆访问受限,请自行寻找解决方案

或者参阅 其它平台 的部署。

感谢 tux_la 的整合包。也是 ta 将我的预训练模型打包到 Huggingface

3.0 准备 ngrok
#

接下来会用到 ngrok,需要注册账号并拿到 Authtoken。如果需要,可以参阅:Nemo尼莫这篇教程(只需要做到注册完毕即可),这里不再赘述。

访问 Your Authtoken - ngrok 并复制 Authtoken 待用。

3.1 下载整合包
#

这里 下载 tux_la 制作的整合包。不需要下载微调模型,因为整合包会自动工作。并解压.

压缩包内容:

流萤-tux_la-流螢tts整合包/
├── 導入colab.ipynb
├── 教程.mp4
└── 使用
    ├── firefly.exe
    ├── firefly.py
    ├── link.txt
    └── test.wav

3.2 登录 Colab
#

自行注册可以正常使用的谷歌账号。然后访问 Google Colab,并登录你的账号。

注册、登录

3.3 使用整合包
#

点击“上传”,然后导入文件,具体而言,是 導入colab.ipynb

拖进去就好

然后依次执行全部命令就好啦!

pip install -r req.txt 的时候有可能断开连接并显示“执行失败”,这大概是构建依赖时间太长的原因,请耐心等待直到所有包都 Successfully installed。断开连接时在右上角可以尝试手动连接。

最后可能提示

WARNING: The following packages were previously imported in this runtime:
  [numpy]
You must restart the runtime in order to use newly installed versions.

不要重启!!不要重启!!!

这里

注意,需要在这部分手动填写你 此前 拿到的的 Authtoken:

执行完毕后把生成的链接复制下来,替换掉 link.txt 中所有内容,保存。

由于是死循环,所以 Colab 会显示掉线,但是没关系,可以正常终止脚本。

不需要也没办法继续执行 !python api.py,不用管它。

然后就能运行 `firefly.exe` 了。生成的文件会保存到 `test.wav`。

如果需要类似前面的听书效果,请参阅软件的具体 API 要求,并自行修改内网穿透的端口

3.2147483647 教程视频(by: tux_la
#

4. 其他平台部署
#

其实差别不大,为了连接的稳定性,将 導入colab.ipynb 的第一个单元格改为:

!mkdir content
!source /etc/network_turbo && env | grep proxy

!wget -O gpt.zip "https://hf-mirror.com/tuxjhtd/firefly_Gpt-sovit/resolve/7bf2f616f41bf4f0e757f12216949d424aea2d1c/gpt.zip?download=true" --progress=bar:force
!mv gpt.zip ./content

后续 应该 都差不多了,不过囿于没用高速 G 口,10MB的下载速度实在是感人我便没有继续尝试。

疑似 AutoDL 有自己的端口映射工具,可能 可以代替后面的 ngrok 内网穿透。大概是这个 SSH隧道工具

这个解法或许是为数不多的全国内服务一条龙了,但是要给点小钱,取决于租的服务器。

什么都没有喵。