跳到主要内容

语音合成模型

Fish Speech 私有化部署,24GB 显存是那条硬线

官方安装文档给当前的 S2-Pro 写死了一个数字:GPU Memory 24GB(推理)。NexGPU 上一张 RTX 4090 24GB 是 $0.540/卡·时,按秒计费,跑完就停。

你搜到的中文教程,多半还停在 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-Pro4B 慢 AR + 400M 快 AR(合计约 5B)bf16 推理官方要求 24GB 起RVQ 10 码本 / 约 21Hz 帧率当前旗舰。支持自然语言描述的指令跟随控制、15,000+ 内联情绪与语气标签、多说话人多轮生成;配官方 SGLang 流式引擎,单张 H200 上 RTF 0.195、首音 <100ms。许可为 FISH AUDIO RESEARCH LICENSE。
OpenAudio S14Bbf16 权重约 8GB(4B × 2 字节),24GB 卡余量充足13 语种上一代旗舰,200 万小时以上训练并引入在线 RLHF;英文评测 WER 0.008、CER 0.004,曾在 HuggingFace TTS-Arena-V2 的人工主观评测中排第一。
OpenAudio S1-mini0.5BS1 的蒸馏版,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.10.5B 级官方标注 4GB(推理)/ 8GB(微调)多语种旧主线的最后一个稳定 tag,也是官方明确支持 Windows、以及 macOS 上用 MPS 做推理的分支。许可 CC-BY-NC-SA-4.0。老项目要复现结果就锁在这个 tag 上。
Fish Speech v1.40.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 —

从空实例到第一段合成语音

四步,路径与参数全部照官方文档,不做二次发明。

  1. 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
  2. 02

    拉 S2-Pro 权重

    权重托管在 HuggingFace 的 fishaudio/s2-pro,里面既有文本到语义的主干,也有 codec.pth。务必落到 checkpoints/s2-pro 下,后面所有命令都按这个相对路径找文件。

    hf download fishaudio/s2-pro --local-dir checkpoints/s2-pro
  3. 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
  4. 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 —

常见问题

Fish Speech 本地部署到底需要多大显存?

官方安装文档对当前的 S2-Pro 只给了一个数字:GPU Memory 24GB(推理)。约 5B 参数按 bf16 存权重就接近 10GB,其余留给 codec、KV 与批处理。旧的 1.x 分支才是 4GB 推理 / 8GB 微调,两者不能混着看。按这条线选卡,NexGPU 的 RTX 4090 24GB 是 $0.540/卡·时,RTX 5090 32GB 是 $0.723/卡·时,开机即可验证。

Fish Speech、OpenAudio S1、Fish Audio S2 是同一个东西吗?

是同一条线的三个阶段。fish-speech 1.x 是最初的开源分支,之后主线模型改称 OpenAudio S1 / S1-mini,现在是 Fish Audio S2,代码仓库始终是 fishaudio/fish-speech。官方说明 OpenAudio 是 Hanabi AI Inc. 的研究团队、Fish Audio 是产品平台。三代权重在 NexGPU 上可以用同一台实例反复切换对比,按秒计费,测完就停。

Fish Speech 可以商用吗?

不能直接商用。S2 的代码与权重走的是 FISH AUDIO RESEARCH LICENSE:研究与非商业用途免费,商业部署需要单独向 Fish Audio 取得授权。更早的 fish-speech 1.5 与 openaudio-s1-mini 用 CC-BY-NC-SA-4.0,同样带 NonCommercial 条款。上产品前先把许可谈妥;做技术验证则完全不受影响,NexGPU 按秒计费的实例正适合这种评估阶段。

Windows 上能跑 Fish Speech 吗?

S2 的官方系统要求写的是 Linux 或 WSL,编译优化在原生 Windows 与 macOS 上支持不完整;只有旧的 1.x 分支明确支持 Windows,以及 macOS 上用 MPS 推理。与其折腾 WSL 的 CUDA 直通和 portaudio 依赖,不如在 NexGPU 直接开一台 Linux 实例,SSH、Jupyter、Web 终端任选,环境和官方文档逐字对得上。

Tesla T4、V100、P40 这类老卡能跑 Fish Speech 吗?

跑 1.x 旧分支可以,跑 S2-Pro 不行。一是显存,T4 只有 16GB,够不到 24GB 门槛;二是精度,Turing 与 Volta 没有 bf16,官方专门留了 --half 参数给缺 bf16 支持的 GPU。既要省钱又要 24GB 的话,NexGPU 的 RTX 3090 24GB 只要 $0.193/卡·时,比 Tesla T4 的 $0.298 还便宜,显存还多 8GB。

Fish Speech 微调有什么坑?

流程是按说话人整理 .wav 与同名 .lab 文本,用 extract_vq.py 抽语义 token,build_dataset.py 打包成 protobuf,再挂 LoRA 训练,官方给的配置是 r_8_alpha_16。最大的坑写在文档里:不要去微调已经用强化学习训练过的模型,官方明确警告这会让模型分布发生偏移、效果反而更差。微调建议直接上 NexGPU 的 RTX A6000 48GB($0.817/卡·时),权重、优化器状态与数据集一次放得下。

开始使用 NexGPU

无论你是企业研发团队还是独立开发者,都可以在几分钟内跑起第一个任务。

注册即可浏览全网实时价格,无需绑定支付方式。