昨天找小说的时候突发奇想,如果用步非烟来朗读母系小说岂不是爽歪歪,其实很早都有这种想法,但昨晚下定决心付诸行动,再加一上午总算全流程弄通了,附一段自制的步非烟音声。具体教程我让大肥鱼生成了教程文档 我是懒得写了。
通过网盘分享的文件:FLCZ分享-GPT-SoVITS+MAGI读小说全流程.md等3个文件
链接: https://pan.baidu.com/s/16vyGeMtsk5Lycknn6A6Ixg 提取码: v9ps 复制这段内容后打开百度网盘手机App,操作更方便哦
参考音频是步非烟第二季 362.出轨儿子的骚话母亲--小烟.mp3
我也是小白,所以有问题的可以下载workbuddy用deepseek问。
用 GPT-SoVITS 克隆音色 + MAGI 听小说:从造模型到整本朗读
────────────────────────────────────
前段时间想把自己喜欢的声音用来读小说,折腾了几天跑通了整条链路,写下来给有同样需求的朋友。
先说结论:能跑通,成本不高,8G 显存的笔记本就够。造一个音色模型大约 1 小时(训练本身只要几分钟),之后每次听书就是双击一个脚本 + 打开阅读器。
现成的商业软件基本没有能干这个的,所以只能自己把两段拼起来:
GPT-SoVITS(造音色 + 出音频) → MAGI(阅读器,显示和播放)
一、需要准备什么
────────────────────────────────────
· 系统:Windows 10 / 11
· 显卡:NVIDIA,6 GB 显存起步,8 GB 舒服(我用 4060 Laptop 8G)
· 磁盘:预留 30 GB 以上
· 素材:目标音色的干净人声,1~5 分钟就够
· 软件:GPT-SoVITS 整合包、MAGI 阅读器(都免费开源)
二、第一步:造音色模型
────────────────────────────────────
这一步不用我重写教程,官方手册做得很完整,照这篇走就行:
GPT-SoVITS 指南(白菜工厂1145号员工)
https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e
配套视频(13 分钟,讲整合包全流程):
https://www.bilibili.com/video/BV14xS8BDE1w/
下面只补充几个视频里一句话带过、但实际最容易翻车的点。
1. 开工前关掉三样东西
· 全局代理 / 梯子 —— 不关会各种莫名其妙的报错
· 浏览器的网页翻译 —— 会把 WebUI 界面翻译成奇怪的中文,按钮全找不到
· 杀毒软件 —— 会误杀、拖慢解压和训练
2. 选对整合包
只有 RTX 50 系才下 nvidia50x0 那个包,其他所有 N 卡(含 40/30/20 系)都下常规包。选错能启动,但没必要将就。
3. 素材处理顺序
· 有背景音乐 / 噪声 → UVR5 人声分离 → 语音切分
· 素材本来就干净 → 直接语音切分
切完一定要按「时长」排序,把超过 15 秒的删掉。这一步偷懒,后面训练必出怪声。
如果切出来几乎全是超长片段,说明素材断句间隔太短,把切分参数里的 300 改成 100 或 200 重切,其他参数别碰。
4. ASR 之后必须校对
视频说校对「可以跳过」,但强烈建议至少抽查前 20 条。ASR 听错一个字,这个错字就原样进了训练集,直接反映成咬字不准。我自己的素材里就有数字被听成「QQ号」的情况。
5. 版本选 v2Pro,参数全默认
· 版本:v2Pro 或 v2ProPlus,两者差距不大
· 训练参数一个都别改,软件已经按你的显存自动调好了
· DPO 训练不要开,实验性功能,反馈普遍是弊大于利
6. 8 GB 显存的限制
· v2Pro / v2ProPlus —— 可以训
· v3 —— 只能走 LoRA
· v4 —— 全量要 12 GB,训不了
所以 8G 卡老老实实 v2Pro。
三、第二步:起 API 服务(这里最容易卡住)
────────────────────────────────────
模型训完,WebUI 里能试听,但阅读器连不上 WebUI。这是最多人卡住的地方,我当初也绕了一圈。
关键认知:WebUI 和 API 是两个东西
· WebUI —— 启动方式 go-webui.bat,端口 9871~9874,人点鼠标调参用,没有 /tts 接口
· API —— 启动方式 api_v2.py,端口 9880,给程序调用,有 /tts 接口
阅读器要连的是 API,不是 WebUI。我第一次把地址填成 WebUI 端口,报 Failed to fetch,查了半天。
启动命令(在整合包根目录开命令行):
runtimepython.exe api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/tts_infer.yaml
看到这行就是成功了,窗口别关:
Uvicorn running on http://127.0.0.1:9880
三个参数其实都是默认值,只写 api_v2.py 也能跑。写全是为了以后不迷糊。
做个 start.bat 双击启动更省事,注意加个端口占用检查,不然容易起出两个实例打架。
四、第三步:MAGI 配置
────────────────────────────────────
MAGI 是个本地阅读器(Electron 做的),支持 EPUB / TXT,带逐句高亮朗读。
项目:https://github.com/noemoe5/MAGI
下载:https://github.com/noemoe5/MAGI/releases
设置里填 4 个字段
· base_url —— http://127.0.0.1:9880
· 参考音频 —— 参考音频的完整路径,不要带引号
· 提示文本 —— 必须和参考音频一字不差
· 语言 —— zh
三个坑
① 参考音频路径不能带引号。从资源管理器「复制为路径」粘进去会带引号,服务端直接报 400。
② 提示文本要逐字一致,标点也算。ASR 出来的是半角逗号和句点,如果你改成全角的,相似度会掉。
③ 参考音频和模型必须配套。音色是参考音频决定的,模型只提供「会说话的能力」。换了模型不换参考音频,会得到很怪的杂交音。
参考音频怎么挑
· 时长 3~6 秒(超过 10 秒直接报错)
· 单人、无背景音乐、无混响
· 语气平稳 —— 别挑喊叫、耳语、哭腔的段落,模型会把这股劲儿带到整本书里
五、实测性能(4060 Laptop 8G)
────────────────────────────────────
· 10 字文本 → 音频 2.5 秒,生成耗时 1.5 秒,约 1.7 倍速
· 25 字文本 → 音频 6.7 秒,生成耗时 2.9 秒,约 2.3 倍速
· 65 字文本 → 音频 15.2 秒,生成耗时 6.3 秒,约 2.4 倍速
整体约实时的 2.4 倍速,跟得上正常朗读节奏。短句因为固定开销占比高,会显得慢些。
听感上会有句间停顿——因为阅读器是逐句请求合成的。把语速设成 1.1~1.2 能明显缓解。
六、踩坑清单
────────────────────────────────────
1. 报 Failed to fetch
服务没起,或地址填错。确认终端里有 Uvicorn running,核对端口是 9880。
2. 报 TTS 请求失败 (400)
参考音频路径不存在 / 带引号 / 超 10 秒 / 语种代码错,逐个排查。
3. 声音不像
参考音频不对,或参考文本和音频对不上。换 5 秒干净片段,逐字核对。
4. 越听越卡
WebUI 的推理页也开着,两个模型抢显存。日常听书只开 API,别开 WebUI。
5. 端口报 Cannot find empty port
Windows 的 Hyper-V / WSL 预留了一段端口,落在里面谁绑不上,netstat 也查不出来。改 config.py 里的端口(我换到了 15001~15004)。
6. 合成胡言乱语
单次文本太长。一次别超 50 字,按句切。
七、几点说明
────────────────────────────────────
关于效果
音色相似度确实可以做到「一听就知道是谁」的水平,但说话的习惯学不到——口癖、气口、笑腔这些是第二层信息,模型给不了。读长篇小说会逐渐趋向一种「播音腔」。这是目前所有少样本方案的共同局限。
关于素材类型
用什么类型的录音训练,就会得到什么气质的模型。用朗读类素材(有声书、播客、访谈)训出来的模型天生就会念书;用情绪化、贴麦的素材训,读小说会很违和。选素材比调参数重要十倍。
关于合规
· 克隆可识别的真人声音(尤其是商业配音、声优、公众人物)需要本人授权。《民法典》第 1023 条把声音权益参照肖像权保护。自己听风险较低,公开发布或商用是明确的法律风险。
· 朗读受版权保护的作品并公开传播,另需著作权授权。
· 按 GPT-SoVITS 的使用规约,公开发布基于它制作的作品时需要署名 GPT-SoVITS 工具,否则违反开源协议。
· 如何喜欢步非烟的音声,有能力的可以支持正版。
结语
────────────────────────────────────
整条链路跑通之后,日常使用就三步:双击起服务 → 打开阅读器 → 点朗读。
折腾成本主要在前面的模型训练和配置排查,一旦通了就很省心。我也是小白,所以有问题的可以下载workbuddy用deepseek问。
参考文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e
MAGI 项目:https://github.com/noemoe5/MAGI
评论 (0)
登录 后参与讨论。
还没有评论,来抢沙发吧。