你搜到的中文教程,多半还停在 fish-speech 1.4 或 1.5。这条线已经改过两次名字:仓库仍然是 fishaudio/fish-speech,但主线模型先变成 OpenAudio S1 / S1-mini,现在是 Fish Audio S2,权重挂在 HuggingFace 的 fishaudio/s2-pro 下。官方自己的说法是,OpenAudio 是 Hanabi AI Inc. 的研究团队,Fish Audio 是产品平台 —— 三个名字,同一条血脉。照着旧教程去找 1.5 的 checkpoint 路径,只会在第一步就卡住。
S2-Pro 的结构值得单独说:它是 Dual-AR 双自回归设计,4B 参数的慢 AR 沿时间轴预测主语义码本,400M 参数的快 AR 在每一帧补齐剩下 9 个残差码本,合计约 5B;骨干沿用 Qwen3,声码器是 ModifiedDAC 的 RVQ 编解码,10 码本、约 21Hz 帧率。训练规模超过 1000 万小时、覆盖 80+ 语言,日语、英语、中文属于 Tier 1。官方还开源了基于 SGLang 的推理引擎,在单张 H200 上实测 RTF 0.195、首音延迟低于 100ms,技术报告是 arXiv:2603.08823。
所以自建 Fish Speech 的门槛从来不在算法,在显存。一张 16GB 的卡够不到官方那条 24GB 线,而为了试一次声音克隆去买一张 4090,账算不过来。更合理的做法是按秒租一张:环境按官方文档装、权重按官方路径拉,效果满意再谈长期投入,不满意就停机,计算费用当场停止计算。
01 —
Fish Speech 各代模型与显存对照
从 1.4 到 S2-Pro,同一条线上的两次改名和一次架构重写。
| 版本 | 参数量 | 显存 | 上下文 | 说明 |
|---|---|---|---|---|
| Fish Audio S2-Pro | 4B 慢 AR + 400M 快 AR(合计约 5B) | bf16 推理官方要求 24GB 起 | RVQ 10 码本 / 约 21Hz 帧率 | 当前旗舰。支持自然语言描述的指令跟随控制、15,000+ 内联情绪与语气标签、多说话人多轮生成;配官方 SGLang 流式引擎,单张 H200 上 RTF 0.195、首音 <100ms。许可为 FISH AUDIO RESEARCH LICENSE。 |
| OpenAudio S1 | 4B | bf16 权重约 8GB(4B × 2 字节),24GB 卡余量充足 | 13 语种 | 上一代旗舰,200 万小时以上训练并引入在线 RLHF;英文评测 WER 0.008、CER 0.004,曾在 HuggingFace TTS-Arena-V2 的人工主观评测中排第一。 |
| OpenAudio S1-mini | 0.5B | S1 的蒸馏版,bf16 权重约 1GB;官方未单独标注部署显存,可按 1.x 分支的 4GB 门槛估算 | 13 语种 | HuggingFace 上以 CC-BY-NC-SA-4.0 开放权重,英文 WER 0.011、CER 0.005。想在便宜卡上自建一个能用的 TTS API,这一档性价比最高。 |
| Fish Speech v1.5 / v1.5.1 | 0.5B 级 | 官方标注 4GB(推理)/ 8GB(微调) | 多语种 | 旧主线的最后一个稳定 tag,也是官方明确支持 Windows、以及 macOS 上用 MPS 做推理的分支。许可 CC-BY-NC-SA-4.0。老项目要复现结果就锁在这个 tag 上。 |
| Fish Speech v1.4 | 0.5B 级 | 同 1.x 分支,4GB 推理 | 8 语种(中英德日法西韩阿) | 70 万小时训练,对应论文 arXiv:2411.01156。网上绝大多数「Fish Speech 部署教程」写的其实是这一代,命令与目录结构都和 S2 对不上。 |
02 —
按场景选卡
NexGPU 现价,按秒计费,无起租时长、无开通费。
单卡跑 S2-Pro 推理、试声音克隆
RTX 4090 24GB$0.540/卡·时
正好压在官方 24GB 门槛上,bf16 权重加 codec 装得下,是验证效果最省的一张卡。
常驻 API 服务、长文本批量合成
RTX 5090 32GB$0.723/卡·时
多出的 8GB 留给 --compile 之后的显存开销和并发请求的 KV,峰值时不用手动降批。
LoRA 微调、多路并发生产
RTX A6000 48GB$0.817/卡·时
48GB 能同时放下约 5B 的权重、LoRA 优化器状态和一批预处理好的 .npy,不必靠梯度累积硬扛。
跑 S1-mini 或 1.5 旧分支做低成本评估
RTX 3090 24GB$0.193/卡·时
0.5B 级模型 4GB 就够,3090 是全站最便宜的 24GB 卡,刷一整天 demo 也不心疼。
03 —
从空实例到第一段合成语音
四步,路径与参数全部照官方文档,不做二次发明。
- 01
开一台 Linux 实例,装 Python 3.12 环境
官方安装页写明系统要求是 Linux 或 WSL,Python 3.12,CUDA 轮子提供 cu126 / cu128 / cu129 三档。NexGPU 的 PyTorch 预置镜像开机即用,进去先补音频侧的系统依赖,再让 uv 一次装完。
apt install portaudio19-dev libsox-dev ffmpeg && uv sync --python 3.12 --extra cu129 - 02
拉 S2-Pro 权重
权重托管在 HuggingFace 的 fishaudio/s2-pro,里面既有文本到语义的主干,也有 codec.pth。务必落到 checkpoints/s2-pro 下,后面所有命令都按这个相对路径找文件。
hf download fishaudio/s2-pro --local-dir checkpoints/s2-pro - 03
三段式推理:抽 token → 生成语义 → 解码出声
先用 DAC 从 10~30 秒的参考音频里抽 VQ token,再把目标文本和参考文本一起送进 text2semantic 生成语义码,最后把 codes_0.npy 交回 DAC 解码成 wav。加 --compile 提速;Turing、Volta 这类没有 bf16 的老卡要加 --half。
python fish_speech/models/text2semantic/inference.py --text "要合成的文本" --prompt-text "参考音频对应的文本" --prompt-tokens "fake.npy" --compile - 04
起 WebUI 或 HTTP API
调通之后就不必再敲三行命令。Gradio WebUI 适合手动试音色,api_server 适合接进自己的业务;用 Docker 的直接 docker compose --profile webui up,前面加 COMPILE=1 开编译优化。NexGPU 实例的端口可以直接从 SSH 隧道或公网映射出去。
python tools/api_server.py --listen 0.0.0.0:8888 --compile
一次真实的部署账单
按 NexGPU 现价算。租一张 RTX 4090 24GB,$0.540/卡·时:装环境加拉权重约 20 分钟,调通三段式推理再 20 分钟,第一次跑通共 40 分钟 —— 0.667 小时 × $0.540 = $0.36。之后每天开 2 小时做批量合成,一周就是 14 × $0.540 = $7.56。要做 LoRA 微调就换 RTX A6000 48GB,$0.817/卡·时 × 6 小时 = $4.90。S2-Pro 约 5B 参数,bf16 权重接近 10GB,连同数据集常驻存储按中位价 $0.414/GB·月 计,10GB × $0.414 = $4.14/月;导出 5GB 成品音频的出网费按中位价 5 × $0.0081 = $0.04。计算按秒计费、停机即停止计费,存储则一直计到你销毁为止。整条链路跑通再养一个月,总额仍是个位数美元。
04 —
