DEV Community

Cover image for Fish Audio S2-Pro:用自然语言控制语音情感的 TTS 模型
Garyvov
Garyvov

Posted on

Fish Audio S2-Pro:用自然语言控制语音情感的 TTS 模型

2026年3月9日,Fish Audio 开源了 S2-Pro,一个在多个基准测试中超越闭源系统的 TTS 模型。模型权重、训练代码和推理引擎全部开源。

自然语言控制

S2-Pro 支持自由形式的内联控制。你可以在文本中直接用自然语言描述想要的效果:

  • [whisper in small voice] - 小声耳语
  • [professional broadcast tone] - 专业播音腔调
  • [pitch up] - 提高音调
  • [laughing] - 笑声

系统支持 15,000+ 种标签,覆盖情感、语气、音量、节奏。不需要学习固定的标签集,想到什么就写什么。

训练数据

1000 万小时音频,80+ 种语言。包括日语、英语、中文、韩语、西班牙语、葡萄牙语、阿拉伯语、俄语、法语、德语,以及瑞典语、意大利语、土耳其语等 60+ 种其他语言。

不需要音素标注或语言特定的预处理。

基准测试

测试 S2-Pro 对比
Seed-TTS Eval 中文 WER 0.54% 最低
Seed-TTS Eval 英文 WER 0.99% 最低
Audio Turing Test 0.515 vs Seed-TTS 0.417
EmergentTTS-Eval 81.88% 最高

在 Seed-TTS 评估中,S2-Pro 的词错误率低于 Qwen3-TTS (0.77/1.24)、MiniMax Speech-02 (0.99/1.90) 和 Seed-TTS (1.12/2.25)。

Dual-AR 架构

模型分两层生成音频:

Slow AR (4B 参数):沿时间轴预测主要语义码本
Fast AR (400M 参数):在每个时间步生成剩余 9 个残差码本

这种设计让推理速度快,同时保持音频质量。

强化学习对齐

S2-Pro 用 GRPO 做后训练。关键点:用于过滤训练数据的模型,直接作为强化学习的奖励模型。这消除了预训练和后训练之间的分布差异。

奖励信号包括:

  • 语义准确性
  • 指令遵循
  • 声学偏好
  • 音色相似度

生产推理

Dual-AR 架构和标准 LLM 结构相同,可以直接用 SGLang 的优化:

  • 连续批处理
  • 分页 KV 缓存
  • CUDA 图重放
  • RadixAttention 前缀缓存

单张 H200 GPU 性能

  • RTF: 0.195
  • 首音频延迟: ~100ms
  • 吞吐量: 3,000+ tokens/s

声音克隆场景下,SGLang 自动缓存参考音频的 KV 状态。同一声音重复使用时,前缀缓存命中率平均 86.4%(峰值 >90%)。

实用功能

声音克隆:用短参考样本(通常 10-30 秒)克隆声音。捕捉音色、说话风格、情感倾向。

多说话人:上传包含多个说话人的参考音频,模型通过 <|speaker:i|> token 处理。单次生成可以包含多个说话人。

多轮对话:模型利用上文信息改善后续生成的表现力。

开源内容

许可证:Fish Audio Research License

快速开始

安装

git clone https://github.com/fishaudio/fish-speech.git
cd fish-speech
pip install uv
uv sync
Enter fullscreen mode Exit fullscreen mode

命令行

python -m fish_speech.text_to_speech \
  --text "你好,我是 Fish Audio S2-Pro" \
  --reference_audio reference.wav \
  --output output.wav
Enter fullscreen mode Exit fullscreen mode

WebUI

python -m fish_speech.webui
Enter fullscreen mode Exit fullscreen mode

Docker

docker pull fishaudio/fish-speech:latest
docker run -it --gpus all fishaudio/fish-speech:latest
Enter fullscreen mode Exit fullscreen mode

SGLang 服务器

生产环境推荐用 SGLang:
https://github.com/sgl-project/sglang-omni


链接

Top comments (0)