每条音频 24 条多样性字幕,SonicCaps 把 CLAP 检索 R@5 拉到 79.5

SonicCaps: Large-Scale Diverse and Fine-Grained Captioning for Improved Audio-Retrieval

Zineb Lahrichi, Marc Ferras, Gaël Richard, Geoffroy Peeters

cs.SD, cs.CL, cs.MM, eess.AS

2026-09-02

Sony CTC 与巴黎高科用 Qwen3-Omni 给约 70 万音频写出约 1500 万条字幕,每条约 24 种说法。多样本采样训 CLAP 后,AudioCaps 文本检索音频 R@5 从 LAION 的 64.7 升到 79.5。

这篇在解决什么

音频-语言预训练一直卡在字幕上。AudioCaps、Clotho 是人写的,规模只有几万条;WavCaps、LAION-630k 用语言模型把标签和脏描述扩成句子,规模上来了,但字幕往往泛、重复,而且多数数据集一条音频只配一两句。

听感本身是一对多的。同一段翻书声,可以说「安静环境里翻厚书」,也可以说「纸页沙沙」。现有语料几乎不利用这种歧义。WavCaps 那类做法只看文本、不听音频,为了压噪声还丢掉了将近一半 FreeSound,剩下的句子还经常长得像「Music is being played」。

Sony CTC 和巴黎高科 Telecom Paris 的目标很具体:音频量不动,把每条声音写成足够多样、足够贴声音的一批字幕,再看这对 CLAP 检索到底有没有用。CLAP 是音频版 CLIP,用对比学习把声音和句子拉进同一向量空间。

方法

数据集叫 SonicCaps,约 70 万条音频、约 1500 万条字幕。音频来自 FreeSound(约 51.5 万)、BBC 音效库(约 3.1 万)、AudioSet Strongly-Labeled(约 10.8 万)和 AudioCaps(约 4.9 万)。公开发布的是字幕和音频 ID,不含音频文件本身。

生成模型是 Qwen3-Omni-30B-A3B-Instruct,同时吃音频和原字幕。音频重采样到 16 kHz、截到 10 秒;解码温度 0.6、top-p 0.95、最多 30 token。流水线分三段。

四类合起来平均每条音频 23.9 条字幕,词表从 main 的 2.6 万扩到全集 6.6 万。FreeSound 上 unique caption 比例从原始 46.7%、WavCaps 的 80.4% 升到 92.4%;出现最多的那条,原始语料重复了 36773 次,SonicCaps 只剩 317 次。WavCaps 为了去重把 FreeSound 从 51.5 万砍到 25 万,这里把那一半也保住了。

下游用固定的 CLAP 架构:PaSST 音频编码器加 RoBERTa-Large 文本编码器,投到 1024 维,对称对比学习,温度 0.2,有效 batch 448。训练时按概率从原始字幕和四类 SonicCaps 里抽样,标点以 0.2 概率丢掉。公开的 SonicCLAP 还按许可证筛了 FreeSound,剩下 37.1 万条音频,仍比 WavCaps 的 25 万多。

结果

人评是 25 人、375 次打分,60 条样本两两比。SonicCaps 的 MOS 高于 AudioCaps 的人工字幕、FreeSound 原文和 WavCaps。约 50% 的 SonicCaps 字幕没有任何负向标注,其他来源不到 25%。「完全对不上音频」只出现在 WavCaps 和 FreeSound 原文里。

只换字幕、不换音频时,检索提升主要来自多样性。人评最好的 main 单独拿来训,几乎打不过原始混合字幕。

模型AudioCaps T2A R@5商业集 T2A R@5
LAION-CLAP64.723.5
自训 AC+WavCaps66.818.1
只用 SonicCaps main71.123.0
五类等权混合 SonicCLAPAR79.532.4

AudioCaps 上 T2A R@10 从 LAION 的 75.8 到 91.3。把改写、短句、标签混进去,曲线才明显往上走。论文用 caption sampling perplexity(训练时每条音频实际能抽到的有效字幕数)画图,R@5 随这个数上升。

零样本分类也类似。ESC-50 和 FreeSound 有重叠,数字要打折:LAION 的 R@1 是 82.1,多样性混合后 Ours(8) 到 89.4。完全不相交的 FoleyBench 上更说明问题,LAION 的 R@5 只有 9.14,SonicCLAPAR 到 25.6。

另外训了一个只吃 main 字幕的 SonicCLAPMOS。人评 MOS 差与 CLAP 分差的 Spearman 相关,LAION 是 -0.07,这个模型是 0.32。LAION-CLAP 分数当字幕质量代理,在这篇的人评里基本没用。

为什么重要

对做音频检索、音效库搜索、零样本分类的人,这是一条可复用的监督策略:音频量不动,把每条声音写成多种粒度和多种句式,对比学习就能吃到一对多。短句接近真实检索 query,标签接近分类词,长句接近库内元数据,混着采样比单一「高质量描述」更有效。

数据在 Hugging Face,模型也放了两个:检索用 SonicCLAPAR,对齐人耳用 SonicCLAPMOS。音频本身不随数据集发布,要用得自己按 ID 去 FreeSound、AudioSet、BBC 拉。

这不是新架构。编码器固定,贡献在数据和采样。结论写得很干脆:字幕质量对人耳重要,对检索只是边际收益;多样性才是检索的主因。

局限与存疑

作者自己点了几处。Qwen3-Omni 对极细的音色差分辨不够,同一套 hi-hat 采样仍会写出几乎一样的句子。prompt 只是软约束,幻觉和模板句没有被消掉,只是变少。音频推理截到 10 秒,长录音后半段进不了字幕。发布不含音频,复现成本在数据拉取和授权,不在下载一个包。

实验设计也有缝。商业验证集是内部三个音效库各抽 500 对,外人无法复现。ESC-50 与 FreeSound 训练数据重叠,作者也承认数字会虚高,所以才补了 FoleyBench;即便如此 FoleyBench 上最好的 R@1 也只有 9.66,离能用还早。人评只有 60 条音频、25 个听者,MOS 图没有在正文给出精确均值。CLAP 架构全程锁死,没和 HTSAT 等做同数据换骨架对照,和 LAION-CLAP 的差距里有多少是编码器、多少是字幕,分得并不干净。相关工作里的 AudioSetCaps(600 万对)、Auto-ACD、Sound-VECaps 也没有拉进同一套训练对比。

术语

原文与代码

社区讨论

相关论文

全部论文解读