
几个人同时说话,你还能听清其中一个人的声音,这事对你来说不费吹灰之力。但对AI来说,这个叫“鸡尾酒会难题”的坎,卡了行业几十年。小米最近开源了一个叫CocktailASR-1的模型,直接把这道坎给跨过去了。
传统语音识别的思路是“我听什么就转什么”。一旦两个人、三个人同时开口,音频混在一起,模型就懵了,转录出来的文字像一锅乱炖。 CocktailASR-1换了个玩法:你给它一段目标人物的参考音频,它记住这个人的“声纹指纹”,然后在嘈杂的混合音频里只追着这个人转写。旁边人说的话、房间的回声、背景里的杂音,统统自动过滤掉。
背后的技术架构并不简单。整个模型走的是端到端的大语言模型路线,把音频编码器、适配器和大模型解码器串在一起,所有参数打包在同一个文件里。用的时候,你只需要把参考音频和待识别的音频拼起来,中间塞一秒静音做分隔就行。单人对话和多人混聊,同一个模型直接处理,不用来回切换。
效果怎么样?数据说话。在模拟多人对话的测试里,CocktailASR-1在LibriMix2mix数据集上的字错率压到了4.11%,在LibriSpeechMix2mix上只有2.90%。作为对比,同赛道的几个知名模型在三人混聊的LibriMix3mix测试中,字错率飙到了76%到121%,基本等于没法用,而CocktailASR-1只有12.29%。就算换成真实会议录音这种更难的场景,比如AMI SDM和AliMeeting Far,它照样大幅领先。单人识别场景下,LibriSpeech、WenetSpeech、CommonVoice-zh这几个数据集也全被它刷了榜。
除了识别精度,还有两个功能特别实用。第一个是“拒识”:如果参考音频里的人压根没参与当前对话,模型会直接输出空文本。这意味着智能音箱、车载语音助手不会再被旁边人的声音莫名其妙唤醒。第二个是思维链推理,模型在给出最终结果前,会用特定标签展示它是怎么判断说话人的。虽然这个功能对精度影响不大,但调试起来方便很多,系统不再是个黑盒子。
目前CocktailASR-1的代码已经在GitHub上按照Apache2.0协议开源,依赖环境极简,只需要torch、torchaudio、transformers和soundfile这几个基础库,从HuggingFace上就能直接加载部署。
小米这次转向的意义,不只是发了一个新模型。语音识别过去几十年的主线是“把所有声音都抓进来”,现在开始变成“只锁定我要的那一个声音”。从“全都要”到“只要一个”,这可能是语音交互走向真实复杂场景的关键一步。