Fish Audio 发布了一款语音合成模型,能朗读多人剧本,并根据语气指令像重新录音一样进行修改。制作对话内容的开发者可以用同一模型完成声音生成、演绎修改及现有语音的局部替换。

1. 总规模与实际计算量不同的模型

2026年10月13日发布的 Fish Audio Drama 3 是正式版之前的预发布版本。

文本处理部分采用 MoE 架构,总计350亿参数,每个 token 激活约30亿参数。这种方式为每项任务仅选择部分专家参与计算。容纳整个模型所需的内存与每次参与计算的规模应分开看待。

声音生成部分采用了13层解码器,替代上一代的解码器。

2. 演绎修改与片段替换并不相同

演绎控制通过在剧本中加入指令实现。[laughs] 指定插入笑声的位置,<whisper>...</whisper> 则包裹需要低语的片段。也支持用自然语言写下风格或演绎提示。

在下一轮对话中给出修改指令后,模型会在上下文中保留原始参考语音和上一次生成结果,并重新生成。据发行说明,在 Step-Audio-Edit 评测中,经过三轮修改,情感准确率从55.5%升至58.2%,风格准确率从76.5%升至81.8%。这一结果体现了该评测中反复修改的效果。

模型还支持对现有录音中的词语或句子进行插入、删除和替换。此时仅重新生成指定片段,保留前后的语音。这是限定修改范围的编辑,与重新尝试整段演绎的功能不同。

3. 运行方式与所需设备

GitHub 发行标签为 v3.0.0-beta。模型卡列出了 SGLang-Omni 和 vLLM-Omni 两种运行方式。以下是原文中安装前者后启动服务器的命令。

sgl-omni serve --model-path fishaudio/drama-3 --port 8000

发行说明给出的最低要求是:在降低权重数值表示精度的 FP8 格式下,使用显存至少48GB的 NVIDIA GPU。

现有的 S2-Pro 仍可通过相同的命令行、服务器和网页界面使用。系统从保存模型权重与配置的检查点中读取配置,以区分模型类型。

4. 吞吐量与响应延迟需要一起看

模型卡中的性能表是在单张 H200 上以 Seed-TTS 英文剧本发起流式请求的结果。每个请求使用一段预先编码的参考语音及其转写文本,各项数值均为四次运行的平均值。采样设置为 temperature 1.0、top_p 0.9、top_k 30、max_new_tokens 500。

声学帧是分段生成声音的单位,每秒生成量是所有并发请求合计的吞吐量。并发请求为1个时,每秒生成166.7个声学帧,首段语音延迟中位数为88.9毫秒。并发请求为16个时,吞吐量增至每秒927.6帧,但首段语音延迟中位数也增至210.1毫秒。即使在相同条件下比较,吞吐量增加也不意味着响应延迟降低。

在另一项 H200 部署对比中,并发请求为256个时,将语音波形转换部分从模型所在的 GPU 移到第二张 GPU,吞吐量从每秒2,422帧变为4,160帧,首段语音延迟中位数从3,403毫秒变为2,146毫秒。这减少了高并发时转换部分饱和、首段语音在队列中等待的瓶颈。

这项对比在转换部分的默认 GPU 分配下,针对每种并发量发送1,088个请求,并取服务器启动6次的平均值。其吞吐量还包含结束帧,设备部署和统计条件均与前一项测量不同,因此不能混用数值进行比较。

5. 制作便利的代价是核实运行与使用条件

一份文本最多可包含16名说话人,但长文本会按 UTF-8 编码后约300字节一段进行切分,每段最多只能包含3名说话人。生成前会校验所有片段。整份剧本的说话人数上限,与单次处理片段的上限并不相同。

仓库已移除训练脚本和微调工具,因此不能将提供的推理功能与自行重新训练视为同一支持范围。

不能因为模型公开就省略使用条件核查。发行说明和模型卡正文指向 Fish Audio 社区许可证,但模型卡元数据中仍保留着对应 Fish Audio 研究许可证的名称。两处标注不同,实际适用条件应在许可证文件中确认。

这款模型的核心在于控制多说话人的演绎与修改范围,决定是否引入时,除吞吐量外,还应一并考虑设备、训练工具和许可证条件。