
Fish Audio S2.1 Pro 接进我的脚本之后
起因很具体。我手上有个小工具,需要把一批英文技术文本转成语音,做听力材料用。之前一直用某个在线合成页面,一次粘一段,手动下载,攒到三十条就开始烦了。所以我上周想干脆走 API,把这一步并到脚本里。
Fish Audio 我大概两个月前听说过,当时只是拿它试过几句中文。这次看到 S2.1 Pro 开了免费 API,模型字符串是 s2.1-pro-free,就抽了个晚上动手。
文字转语音就是你给它一段字,它还你一段音频,跟导航播报是一个道理。API 是不用打开网页,直接让你的程序去调它,批量处理的时候省事。声音克隆是给一小段参考音频,让它照着那个音色说话,这次我没用到。
准备工作比想象中简单。去后台拿 key,装官方那个 Python 包,把 key 塞进环境变量。这里有个坑我踩了。key 写在代码里和写在环境变量里,行为不一样,我第一次直接在脚本里硬编码,跑通了,但后来换机器就报 401,所以还是老老实实走环境变量。
真正上手大概花了二十分钟。第一次调用我只传了三行字,返回的是流式音频。所谓流式,就是它不等整段合成完,边生成边往外吐数据,我这边听起来几乎是即时的。我这边测下来,短句的延迟低到可以接受,长段落就取决于长度了,这个没什么好说的。
惊喜的地方在情感控制。它支持在文本里插标记来控制语气,我试了停顿和语速,效果比我预期的自然。之前用别的方案,长句念到后半段会飘,节奏越来越快,这个没出现。素材里说它支持 83 种语言,我主要测英文和中文,英文的专业名词发音比我想的准,像 latency、throughput 这种,没念错。
踩坑的部分也得说。免费额度是公平使用政策下的,官方博客里写得很清楚是初始阶段提供,会变动提前通知。意思是别拿它当生产环境的唯一依赖,我这边是个人用,无所谓,但如果是团队项目,这条要算进去。我在 GitHub 上看到有人讨论本地部署的 S2 Pro 效果明显弱于官网在线版,怀疑和参考音频质量有关。我没做本地部署,这条只能存疑,但说明音色克隆那条路对输入素材的要求不低。长文本要自己切片。我一开始把两千字的文档整段丢进去,返回时间拉得很长,后来改成按段落切,每段单独调,整体反而快了。这个跟流式没关系,是我自己用法的问题。
还有个细节。素材里说他们在真实流量上做了十天的盲测,跟几家主流方案比,收集了五千多组偏好对。这个数据是厂商自己发的,我持保留态度,但从我这几天的实际听感来说,英文的自然度确实不差。
要推荐的话,得看人。有批量需求、愿意写几行代码的个人开发者和做内容的小团队适合,尤其是需要多语言、对延迟有要求的场景。完全不想碰代码的人就别折腾了,直接用网页版更省事;把免费额度当稳定生产资源来规划的团队也别上,这条得等付费方案出来再说。
我这边准备把它接进听力材料那条流水线,替掉手动下载那一步。跑一周看看稳定性。
物界前沿