TTS 评测 · 2026-10-17~18 · 共享 A100-40GB
开口快十倍,情绪更到位,
节奏要看参考音频
用同样两个音色比了三个场景:像发微信语音那样聊天、演十种情绪、念一篇口播稿。Drama 3 是社区 int4 量化版,拿参考音频克隆音色;IndexTTS 2.5 用它自带的预设音色。
开口延迟 · 对话中位数
从发出请求到听到第一声。
实时率 · 对话中位数
生成 1 秒音频要几秒,到 1 就没有余量。
通话中卡住的句数
边收边播,下一块还没到。IndexTTS 合计卡了 11.6 秒。
情绪判对 · emotion2vec
Drama 3 在句首加情绪标签;不加是 9/18。
语速(字/秒)
绿带是日常聊天的每秒 4~5 字。实心梓辛,空心小蕊。
要做实时语音(打电话、语音助手),Drama 3 明显更合适;IndexTTS 的长处是节奏稳、不挑参考音频,也不用独占 28GB 显存。
- 开口快十倍。对话场景 Drama 3 中位数 0.26 秒就出第一声,生成速度接近播放的 4 倍;IndexTTS 要 2.6 秒,生成和播放差不多快,模拟通话里 20 句有 14 句播到一半要停下来等。
- 情绪更到位,前提是加标签。句首加
[sad]、[angry]这类标签,emotion2vec 判对 11/18,不加是 9/18;IndexTTS 用情绪向量是 7/18。厌恶谁都没做出来。 - 节奏跟着参考音频走。梓辛的参考音频语速快,Drama 3 说到每秒 6 个字,听着在赶;小蕊偶尔停顿 2.2 秒。IndexTTS 两个音色都稳在每秒 4 字左右。
- 字都基本念对。口播和对话的字错率都在 5% 以内,多数是识别器把同音字听岔了。Drama 3 可能漏了重复的“不好意思”和一个“嗯”,还会自己加儿化音。
- 代价。int4 版要独占约 28GB 显存,4 路并发时每路开口涨到 2.6~2.7 秒;多角色、续写式编辑现在用不了。
像发微信语音、打语音电话那样说话
8 条语音消息式的口语加 2 段双人电话,故意塞了语气词、改口、中英混说、笑声和撒娇。IndexTTS 照我们语音聊天应用线上的调用方式:按标点切段、逐段请求、情绪用默认的“平静 0.55”。Drama 3 整句一次流式请求。
语音电话:每轮开口前要干等多久
每轮从对方说完开始计时。灰色是等第一声,红色是播放中卡住(画在这轮末尾),彩色是在说话,深色梓辛、浅色小蕊,点一下单独播。按真实延迟播放会在每轮前插入实测的等待,只算 TTS,不含大模型想回复的时间。
约周末爬山
台词
- 小蕊喂?在干嘛呢?
- 梓辛刚到家,正准备做饭呢,怎么啦?
- 小蕊就是想问问你,这周六有空没?我们几个想去爬山。
- 梓辛周六啊……上午我得去趟公司,下午应该可以。
- 小蕊那行,那我们下午两点在山脚下集合,你别又迟到了啊。
- 梓辛哈哈,放心吧,这次绝对不会。
收到生日礼物
台词
- 小蕊你东西收到了吗?我昨天给你寄的那个快递。
- 梓辛收到了收到了,今天中午刚拿到,谢谢啊!
- 小蕊喜欢吗?我挑了好久呢。
- 梓辛喜欢啊,就是……有点太贵重了吧,你也太破费了。
- 小蕊哎呀,跟我客气什么,你生日嘛。
- 梓辛嘿嘿,那下次我请你吃饭。
语音消息:哪条更像真人发的
语速按每秒多少字算(中文字和英文单词各算一个),日常聊天大约每秒 4~5 字。红字是停顿超过 1.5 秒或转写对不上的地方。
约饭小蕊 · 语气词、商量口吻
喂,你下班了没呀?我跟你说,楼下新开了一家火锅店,评价还挺好的。嗯……要不今晚咱俩去试试?你要是加班就算了哈,回我一下。
迟到道歉梓辛 · 重复、着急
哎,不好意思不好意思,我这边地铁临时停了,估计得晚个十来分钟。你们先点菜,别等我啊,我到了请大家喝奶茶。
工作沟通小蕊 · 中英混说、数字时间
那个,刚才开会说的那个 PPT,你今天下午五点之前发我一下呗。客户那边说明天上午十点就要看,嗯,辛苦啦。
说错改口梓辛 · 自我纠正、地址
我们周三,哦不对,是周四晚上七点半集合。地点还是老地方,就是上次那个,人民广场二号口出来右手边那家咖啡店。
撒娇抱怨小蕊 · 拖长音、撒娇
哎呀,我今天真的累死了,一整天都在跑来跑去的,脚都快断了……你晚上能不能给我带一杯奶茶嘛,要少糖去冰的,谢谢宝贝~
笑着讲事梓辛 · 笑声、惊讶
哈哈哈,你猜我刚才看见谁了?就是咱们高中那个班长,他现在居然在开出租车,我差点没认出来,哈哈,世界真小。
安慰小蕊 · 温柔、放慢
没事的,别想太多了,这次没过下次再来嘛。你已经很努力了,真的。今晚早点睡,明天我请你吃好吃的。
随口应答梓辛 · 短句、语气词密集
嗯嗯,好的好的,收到。那个……行,那就这么定了吧,回头有啥事你再微信我哈。
同一句台词,换十种情绪
10 种情绪各一句,两个音色各跑一遍,每条只生成一次。IndexTTS 用 8 维情绪向量,目标情绪拉到 0.8;Drama 3 在句首加方括号标签,也可以切到不加标签的版本。色块是开源情绪识别模型 emotion2vec 的判断,最终以耳朵为准。
开心标签 [excited] · 向量 开心 0.8
太好了!我们真的考上了!
大笑标签 [laughs] · 向量 开心 0.9
哈哈哈,你这个样子也太好笑了吧!
悲伤标签 [sad] · 向量 悲伤 0.8
他走了,再也不会回来了。
愤怒标签 [angry] · 向量 愤怒 0.8
你到底有没有在听我说话!
害怕标签 [scared] · 向量 害怕 0.8
别过来……求求你,别过来。
惊讶标签 [surprised] · 向量 惊讶 0.8
什么?他昨天就已经辞职了?
厌恶标签 [disgusted] · 向量 厌恶 0.8
这是什么味道,也太恶心了。
疲惫叹气标签 [sighs] · 向量 低落 0.8
算了吧,我是真的累了。
温柔标签 [softly] · 向量 平静 0.8
没关系,慢慢来,我一直都在。
耳语标签 [whisper] · 向量 害怕 0.3 + 平静 0.6
嘘,小声点,他们就在门外。
一篇 276 字的口播稿
按 6 个自然段分别生成,段间补 0.5 秒静音拼成整段,两边都走流式接口。
整段6 段连起来,段间留 0.5 秒
适合一口气听完,比较整体的节奏和音色。
第 1 段
到处都在宣传,一个人加上 AI,就能开一家公司,不用团队、不用办公室,普通人抓住风口就能翻身。
第 2 段
很多人抱着期待入局,熬夜搭建应用、做提示词工程、跑视频、写产品。白天调试模型,晚上研究流量,所有的策划、开发、售后,全部一个人扛。
第 3 段
AI 降低了制作的门槛,却没有降低获客、信任、交付的难度。你能快速做出作品,但很难找到愿意付费的客户。
第 4 段
外人看着很酷,只有自己知道,没有社保,没有兜底,收入不稳定。项目成了是风口红利,失败了所有成本自己承担。
第 5 段
那些 AI 暴富的故事大多只讲高光,很少有人讲无数个没有收益的深夜。
第 6 段
你是不是也做着一人项目,默默扛下所有压力?
IndexTTS 第 3 段两句中间,两个音色的转写都多出了“10.”“C.C.”这样的乱码,那里可能有怪声,可以重点听。
测试设置、打分方法和已知限制
- 环境:共享的 A100-40GB。Drama 3 用社区 int4 量化版
fishaudio/drama-3-int4,SGLang-Omni 0.1.8,三个进程共占约 28GB 显存。为了塞进 40GB,关掉了预填充 CUDA graph,单次最多生成 768 帧(约 36 秒),启动一次 2~8 分钟。官方在 H200 上跑 FP8 完整版是首包约 89ms、实时率 0.13。 - 音色:两个都是 IndexTTS 的预设音色。Drama 3 用同一段参考音频和文字稿克隆(梓辛 2.4 秒、小蕊 7 秒),所以两边只差模型,但 Drama 3 的语速会跟着参考音频走。
- IndexTTS 的调用方式:口播和情绪直接调服务,服务内部每约 28 个字合成一块再发;对话照我们语音聊天应用的后端规则切段(第一段满 6 个字遇到标点就切,之后满 12 字遇到句末标点切),每段一个请求。
- 打分:Whisper turbo 转写后算字错率,里面含识别器自己的错;emotion2vec_plus_large 判情绪,大笑算开心、叹气算难过、温柔算中立,耳语不计;语速 = 字数 ÷ 去掉首尾静音后的时长。这些模型都在真人录音上训练,对合成语音只能当参考。每条只生成一次,没有挑。
- 并发:Drama 3 四路同时请求,5.3 秒生成 32 秒音频,总吞吐不错,但每一路的首包都涨到了 2.6~2.7 秒;我们部署的 IndexTTS 只有一个 worker,并发会排队,没测。
- Drama 3 现在用不了的:多角色(只支持 0 号说话人)、续写式编辑(接口不认
previous_takes),都是 SGLang-Omni 当前实现的限制。标签放在句中不稳;长文本不会自动分段,超过上限直接截断。