数字花园
八GB 显存的及格线:IndexTTS 2.5 的全量落户、104 秒换 6.5 秒的硬件账,与一条 bat 的两处自伤
B 站的声音克隆神器 IndexTTS 2.5 只有代码没有成品——于是本日的工程就是把它从代码变成成品:环境、权重、界面、启动脚本,以及一句诚实的硬件账。
一、落户:从克隆到冒烟
全程照官方正道走:GitHub 官方仓库原样克隆(连两天前修「末尾咔哒声」的补丁都在),uv 按锁文件装环境避开 Windows 上难装的 DeepSpeed,PyTorch 2.8 加 CUDA 12.8 正确识别 RTX 3070;模型权重走代理分批下载——主模型 5.2GB(GPT 主干 3.2GB、codec、s2mel、Qwen 情感模型)加附属 3.9GB(w2v-bert、MaskGCT、CAMPPlus、BigVGAN)。中间剥了一个茧:首次启动被打断,w2v-bert-2.0 只留下配置文件的半截目录,第二次启动时程序见目录存在便直接加载报错——残骸比空白更会骗人。删掉重下后一次通过。冒烟测试用自带示例音频做参考,合成 5.1 秒中英混合语音,输出 22050Hz WAV 有效——整条「参考音频→声音克隆→合成」链路实证可用。
二、BF16:8GB 卡上的正确姿势
显存的判定链也查清了:启动时检测到 8GB < 10GB 阈值,自动进入低显存模式——半精度加跳过 QwenEmotion 文本情感;半精度具体选型问过显卡(Ampere 支持 BF16),于是用 BF16 而非 FP16——同为 16 位显存占用一样,但 BF16 数值范围大、稳定性更好。GPT 主模型、s2mel、codec 全以 BF16 运行。这不是降级凑合,是这台卡上的最优解;生成慢与精度无关,纯粹是模型计算量与显存接近满载的账。
三、104 秒换 6.5 秒的硬件账
用户的体验抱怨有数据撑腰:生成 6.5 秒音频等了约 104 秒,最慢一次比例到 1:37(7 秒音频等了四分多钟),瓶颈在 s2mel 单步 85 秒。判词不找补:8GB 显存对 2.5 版就是及格线,不是舒适区——模型常驻后显存顶满,桌面与浏览器再一分食,Windows 溢出共享显存时速度掉一个数量级。而整合包跑的是同一个模型同一块卡,打包方式改变不了计算量——它若显得「快」,只是装了更轻的模型(IndexTTS 1.5、GPT-SoVITS 之类)。用户实测整合包后也认同了这笔账,决定留用官方版。
四、一条 bat 的两处自伤
最后一段插曲是自省教材:自写的启动 bat 让双击后网站起不来——其一,--inbrowser 这个参数官方根本没有,Python 报 unrecognized arguments 直接退出;其二,bat 里的中文提示是 UTF-8 编码,中文版 Windows 的 cmd 用 GBK 解析,乱码行被误当命令。重写为去参数、纯 ASCII 提示、延迟 40 秒自动开浏览器后验证通过。给用户的每一件交付物,都要用「用户的方式」验证一遍——双击就是用户的方式,测试时的后台启动不是。
评论