Fish Speech:超越闭源的顶尖 TTS 系统,多语言语音合成的突破之作

Fish Speech:超越闭源的顶尖 TTS 系统,多语言语音合成的突破之作

在文本转语音(TTS)领域,开源系统一直难以超越闭源服务。然而,Fish Audio 推出的 Fish Speech S2 正在改变这一格局——这是在开源和闭源系统中都堪称最佳的 TTS 系统。

Fish Speech S2 在超过 1000 万小时的音频数据上进行训练,覆盖约 50 种语言。它结合了强化学习对齐和双自回归架构,能够生成自然、逼真且情感丰富的语音。

🏆 性能表现:全面超越对手

Fish Speech S2 在多个基准测试中展现了卓越的性能:

Seed-TTS 评测

指标 Fish Audio S2 Qwen3-TTS MiniMax Speech-02 Seed-TTS
WER(中文) 0.54% 0.77% 0.99% 1.12%
WER(英文) 0.99% 1.24% 1.90% 2.25%

Audio Turing Test

Fish Audio S2:0.515(后验均值)

Seed-TTS:0.417(低 24%)

MiniMax-Speech:0.387(低 33%)

EmergentTTS-Eval

总体胜率:81.88%(最高)

副语言学(paralinguistics):91.61% 胜率

问题回答:84.41% 胜率

句法复杂性:83.39% 胜率

多语言性能

在 MiniMax 测试集的 24 种语言中:

11 种语言达到最佳 WER

17 种语言达到最佳 SIM(相似度)

🎯 核心技术特性

1. 自然语言细粒度控制

S2 通过在文本中的特定单词或短语位置嵌入自然语言指令,实现语音生成的局部控制。

不同于依赖预定义标签集的传统方法,S2 接受自由形式的文本描述:

今天天气真好[laugh],我们可以去公园玩
请小声一点说[whisper in small voice]
用专业的广播语气来说[professional broadcast tone]
提高音调[pitch up]

这意味着你可以用任何自然语言描述来控制语音表现,无需预先定义的标签系统。

2. 双自回归架构

S2 基于仅解码器的 Transformer,结合了基于 RVQ 的音频编解码器(10 个码本,约 21 Hz 帧率)。双自回归架构将生成分为两个阶段:

┌─────────────────────────────────────────────────────────────┐
│ 双自回归架构 │
├─────────────────────────────────────────────────────────────┤
│ Slow AR(慢速 AR) │
│ - 沿时间轴运行 │
│ - 预测主要语义码本 │
│ - 4B 参数 │
├─────────────────────────────────────────────────────────────┤
│ Fast AR(快速 AR) │
│ - 在每个时间步生成剩余 9 个残差码本 │
│ - 重构细粒度的声学细节 │
│ - 400M 参数 │
└─────────────────────────────────────────────────────────────┘

这种不对称设计——时间轴 4B 参数,深度轴 400M 参数——在保持音频保真度的同时,使推理高效。

3. 强化学习对齐

S2 使用群体相对策略优化(GRPO)进行后训练对齐。用于过滤和标注训练数据的相同模型直接在 RL 期间作为奖励模型使用——消除了预训练数据和后训练目标之间的分布不匹配。

奖励信号结合了:

语义准确性

指令遵循度

声学偏好评分

音色相似度

4. 生产级流式推理

由于双自回归架构在结构上与标准自回归 LLM 同构,S2 直接继承了来自 SGLang 的所有 LLM 原生服务优化:

连续批处理

分页 KV 缓存

CUDA Graph 重放

基于 RadixAttention 的前缀缓存

在单个 NVIDIA H200 GPU 上:

指标 性能
实时因子(RTF) 0.195
首音频时间 ~100 ms
吞吐量 3000+ 声学 Token/秒,同时保持 RTF < 0.5

5. 多语言支持

S2 支持高质量多语言文本转语音,无需音素或特定语言的预处理。支持的语言包括:

英语、中文、日语、韩语、阿拉伯语、德语、法语...以及更多!

语言列表在不断扩展,访问 [Fish Audio](https://fish.audio/) 了解最新发布。

6. 原生多说话人生成

Fish Speech S2 允许用户上传包含多个说话人的参考音频,模型将通过 <|speaker:i|> 标记处理每个说话人的特征。

上传包含多个说话人的参考音频

ov add-speaker audiowithmulti_speakers.wav

使用说话人 ID 控制生成

<|speaker:0|>你好,我是说话人 A <|speaker:1|>你好,我是说话人 B <|speaker:0|>很高兴见到你

这使得单一生成可以包含多个说话人,无需为每个说话人单独上传参考音频。

7. 多轮生成

得益于模型上下文的扩展,模型现在可以使用先前信息来提高后续生成内容的表现力,从而增加内容的自然度。

8. 快速语音克隆

Fish Speech S2 支持使用短参考样本(通常 10-30 秒)进行精确的语音克隆。模型捕获音色、说话风格和情感倾向,产生逼真且一致的克隆语音,无需额外微调。

📦 模型版本

模型 大小 可用性 描述
S2-Pro 4B 参数 [HuggingFace](https://huggingface.co/fishaudio/s2-pro) 全功能旗舰模型,最大质量和稳定性

🚀 快速开始

安装

使用官方文档轻松上手:

[安装指南](https://speech.fish.audio/install/)

[命令行推理](https://speech.fish.audio/inference/#command-line-inference)

[WebUI 推理](https://speech.fish.audio/inference/#webui-inference)

[服务器推理](https://speech.fish.audio/server/)

[Docker 设置](https://speech.fish.audio/install/#docker-setup)

命令行推理

安装 Fish Speech

pip install fish-speech

运行 TTS

fish-speech --text "你好,世界" --output output.wav --speaker-reference speaker.wav

WebUI 推理

启动 WebUI

fish-speech-webui

访问 http://localhost:7860

Docker 部署

拉取 Docker 镜像

docker pull fishaudio/fish-speech

运行容器

docker run -p 7860:7860 fishaudio/fish-speech

SGLang 服务器

对于生产级流式推理,使用 SGLang 服务器:

安装 SGLang-Omni

pip install "sglang-omni[fishaudio]"

启动服务器

python -m sglangomni.serve.fishaudios2_pro \
--model-path fishaudio/s2-pro \
--port 8000

调用 API

curl http://localhost:8000/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"text": "你好,世界",
"speaker": "speaker_id"
}'

详细使用方法请参考 [SGLang-Omni README](https://github.com/sgl-project/sglang-omni/blob/main/sglangomni/models/fishaudios2_pro/README.md)。

🎨 高级功能示例

情感控制

text = "今天是个好日子[super happy],阳光明媚,微风不燥"
fish_speech.generate(text, speaker="speaker.wav")

语速控制

text = "请慢一点说[slow down],让我听清楚每一个字"
fish_speech.generate(text, speaker="speaker.wav")

音调变化

text = "注意听我说[pitch up],这很重要[serious]"
fish_speech.generate(text, speaker="speaker.wav")

多角色对话

text = """
<|speaker:0|>你好,请问有什么可以帮你的吗?
<|speaker:1|>我想查询一下我的订单状态
<|speaker:0|>好的,请提供您的订单号
"""
fishspeech.generate(text, speakerrefs=["speaker0.wav", "speaker1.wav"])

📚 技术细节

RVQ 编解码器

Fish Speech 使用残差向量量化(RVQ)编解码器:

10 个码本:分层量化音频

21 Hz 帧率:平衡质量和效率

高效压缩:显著降低模型输入大小

Transformer 架构

仅解码器架构:与 GPT 类似

注意力机制:高效处理长序列

位置编码:支持长上下文

强化学习对齐

GRPO 算法:群体相对策略优化

多目标奖励:语义、指令、声学、音色

数据重用:训练数据作为奖励模型

🌟 应用场景

1. 有声读物制作

使用 Fish Speech 快速生成高质量的有声读物,支持多种语言和情感表达。

2. 游戏角色配音

为游戏角色生成自然、生动的语音,支持多角色对话和情感控制。

3. 视频配音

自动为视频内容添加配音,支持同步生成多语言版本。

4. 虚拟助手

为虚拟助手提供自然、流畅的语音交互能力。

5. 无障碍服务

为视障用户提供文本转语音服务,改善访问体验。

6. 语言学习

帮助语言学习者练习听力,提供标准发音示例。

🎯 性能优化建议

GPU 选择

GPU 推荐场景 预期性能
NVIDIA H200 生产环境 RTF < 0.2
NVIDIA A100 高性能需求 RTF < 0.3
NVIDIA 4090 开发测试 RTF < 0.5
NVIDIA 3090 基础需求 RTF < 0.8

批处理优化

使用 SGLang 的连续批处理功能

合理设置批大小以提高吞吐量

使用前缀缓存减少重复计算

内存优化

使用 KV 缓存减少显存占用

合理设置上下文长度

使用半精度浮点数(FP16)推理

📖 许可证声明

> 许可证声明
>
> 本代码库及其关联的模型权重在 [FISH AUDIO RESEARCH LICENSE](LICENSE) 下发布。详细信息请参考 [LICENSE](LICENSE) 文件。我们将对任何违反许可证的行为采取行动。
>
> 法律免责声明
>
> 我们不对代码库的任何非法使用承担任何责任。请参考当地法律关于 DMCA 和其他相关法律的规定。

🔗 相关资源

项目资源

[GitHub 仓库](https://github.com/fishaudio/fish-speech)

[HuggingFace 模型](https://huggingface.co/fishaudio/s2)

[官方文档](https://speech.fish.audio/)

[在线演示](https://fish.audio/)

技术论文

[ArXiv 论文](https://arxiv.org/abs/2411.01156)

[技术报告 PDF](https://github.com/fishaudio/fish-speech/blob/main/FishAudioS2TecReport.pdf)

[博客文章](https://fish.audio/blog/fish-audio-open-sources-s2/)

社区

[Discord 社区](https://discord.gg/Es5qTB9BcN)

[QQ 频道](https://pd.qq.com/s/bwxia254o)

[Docker Hub](https://hub.docker.com/r/fishaudio/fish-speech)

🏆 致谢

Fish Speech 站在巨人的肩膀上,感谢以下项目的贡献:

[VITS2](https://github.com/daniilrobnikov/vits2)

[Bert-VITS2](https://github.com/fishaudio/Bert-VITS2)

[GPT VITS](https://github.com/innnky/gpt-vits)

[MQTTS](https://github.com/b04901014/MQTTS)

[GPT Fast](https://github.com/pytorch-labs/gpt-fast)

[GPT-SoVITS](https://github.com/RVC-Boss/GPT-SoVITS)

[Qwen3](https://github.com/QwenLM/Qwen3)

🎯 总结

Fish Speech S2 是一个革命性的开源 TTS 系统:

顶尖性能:在多个基准测试中超越所有闭源和开源系统

自然控制:使用自然语言指令实现细粒度控制

多语言支持:覆盖 50+ 种语言,无需特定预处理

生产级性能:RTF < 0.2,适合实时应用

开源可用:FISH AUDIO RESEARCH LICENSE 下开源

如果你正在寻找一个性能卓越的开源 TTS 系统,Fish Speech 绝对是你的最佳选择。

---

本文由 cnbugs.com 发布,转载请注明出处。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注