给 iris 换个声音,怎么这么难
先听听当时的六个候选。我们绕了一圈,还是想留下 Serena;难的是,让喜欢的声音也能在手机上及时接话。
同一句“回来啦。今天过得怎么样?”,换一种声音,就像换了一个 iris。
我们想让她说话时,让人愿意多听一会儿,也愿意接着聊下去。于是,昨天先给候选声音准备了一组台词:打招呼、表示好奇、安慰人,还有听错以后怎么纠正。
下面就是当时留下的样音。每个候选先说同一句招呼,展开还能听一句安慰。都是 AI 合成的公开测试文本,没有私人聊天或真人录音;建议用同一音量试听,切换前先暂停上一段。
第一轮,先选想听的
A 是 Qwen3-TTS 的 Serena。B 用 CosyVoice 3 合成,参考的是 A 生成的另一段声音,所以它们并不是两个完全独立的原生音色。两组都是电脑生成的,先听它们怎样说话。
回来啦。今天过得怎么样?
原始 WAV · 2.16 秒再听一句:安慰
听起来今天挺累的。要不要先歇一会儿?
原始 WAV · 3.20 秒回来啦。今天过得怎么样?
原始 WAV · 1.76 秒再听一句:安慰
听起来今天挺累的。要不要先歇一会儿?
原始 WAV · 2.84 秒第一轮听完,h53 选了 A。
接下来才轮到手机。把 A 放进小米 15T Pro 的实验程序后,声音能生成了,但生成速度还跟不上正常播放。喜欢的声音选出来了,日常聊天却还用不上。
那就找轻一点的?
先试了小型号的 Serena,也就是 C。它和 A 名字一样,模型却不同。这版没有语气指令控制,也不能默认它说出来就和 A 一样。
回来啦。今天过得怎么样?
原始 WAV · 2.88 秒再听一句:安慰
听起来今天挺累的。要不要先歇一会儿?
原始 WAV · 3.52 秒小型号在手机上仍没过实时门槛。再往下,是 Kokoro 的三个声线:D1、D2、D3。下面这三组已经是手机生成的,不是拿电脑录音代替。
回来啦。今天过得怎么样?
原始 WAV · 3.92 秒再听一句:安慰
听起来今天挺累的。要不要先歇一会儿?
原始 WAV · 5.30 秒回来啦。今天过得怎么样?
原始 WAV · 4.42 秒再听一句:安慰
听起来今天挺累的。要不要先歇一会儿?
原始 WAV · 5.80 秒回来啦。今天过得怎么样?
原始 WAV · 4.78 秒再听一句:安慰
听起来今天挺累的。要不要先歇一会儿?
原始 WAV · 6.28 秒Kokoro 的持续生成速度能跟上播放了,虽然长句起步和打断还要继续打磨。但把这三个声音和原来的 A 放在一起听,h53 又选了 A。
两次选择,最后留在计划里的还是原来的 Serena。于是我们把重点放回 A:尝试让这个声音在手机上跑快些。
声音选中了,事情还没结束
今天继续试着让 A 跑快一点。找到一部分本来可以分工、却没启用的计算,接上再试:第一段声音更早了,整句话却更慢。交换顺序重测,连“开头更快”也没能复现。英文对照也没有稳定变快,这个改动没留下。
A 在手机上的另一套实现里,预热后仍要大约两秒才能生成一秒声音。开头来得快,不代表后面能及时跟上。
所以,这些候选还没接入日常使用的 iris。上面的播放器播放的是保存好的文件,不是手机实时合成的演示,也不是已经装进 app 的效果。我们还在努力把“想留下的声音”和“能顺畅聊天”变成同一件事。
试听备注:样音取自 2026-09-23 的原始文件,没有调音量、变速或重新挑一段更好听的。A、B 有语气指令,C 和 D 没有;不同设备和控制能力的试听,不是同条件模型排名。完整听感、长时间使用和手机端体验仍未验收。本文在原有实验记录上补回了选声音的过程,未改变实验结论。
声音来源:Qwen3-TTS / Serena、CosyVoice 3、Kokoro。B 使用的合成参考音也来自本次 A 的测试,没有克隆真人声音。