真实采样对训练 SIE,两基准 mAP 相对前 SOTA 提升 26% 与 56%

Training Music Sample Identification Models on Real Sample Pairs

R. Oguz Araz, Joan Serrà, Xavier Lizarraga-Seijas, Emilio Molina, Xavier Serra, Yuki Mitsufuji, Dmitry Bogdanov

cs.SD

2026-09-18

SIE 在 WhoSampled130K 真实采样对上训练,Sample100 与 SamplePairs 的 mAP 达 0.758 与 0.701,相对前 SOTA SampleID 提升 26% 与 56%;只用 5% 真实对就能在约 1 万条查询的测试集上追平无限合成对。

这篇在解决什么

音乐采样识别(sample identification, SI)要做的事很具体:给定一首「采样了别人」的目标曲,从库里找回被采的源曲。它和听歌识曲(track identification)不同,源曲和目标曲往往只共享一小段,而且还被变速、变调、切碎、刮碟。也和翻唱识别(version identification)不同,翻唱通常整首歌都在变,采样往往只动一个片段。

这个任务 2013 年就有了,但一直缺大规模标注。近几年的主流做法是用分轨数据人工合成采样对:把某条音轨做变速变调再混回去。WhoSampled130K 刚放出 79,111 对商业发行曲之间的真实采样标注,却还没有一份能把这些真实对真正用起来的训练配方。合成管线模仿不了制作人常用的 chopping、scratching。缺口在配方,不在数据本身。

方法

SIE(SI Embeddings)把两套现成东西拼在一起:Fish 的架构与训练配方,加上 SampleID 为采样识别改过的输入特征和前端。

训练对来自 WhoSampled130K 训练集:79,111 对、114,721 首,音频统一成 16 kHz 单声道。标注只给采样起点、不给终点,时长未知。每首歌随机取一个时间戳,再各自独立偏移 [-2.5, 2.5] 秒,然后各切 10 秒。峰值归一化到 [-30, 15] dBFS,正值会故意削波。

特征是 258 bin 的 variable-Q transform,从 27.5 Hz 起、每八度 36 bin。模型看 230 帧、帧率 40 Hz,对应 6 秒。后端是 ResNet50-IBN 加 GeM pooling,投影头做 batch normalization、线性层和 L2 归一化,输出 1024 维嵌入,维度只有对照模型的一半。

训练时三条增强链各自以 0.25 的概率打开:

损失是欧氏距离 triplet,margin 0.3。每个 iteration 用 394 对真实采样组 batch,挖 batch 内最难负样本。Adam,无 weight decay,学习率从 3×10^{-4} 余弦降到 10^{-6},共 2 万步,一块 L40S 上混合精度训 25 小时。

为了把「换数据」和「换配方」拆开,他们用 SampleID 的发布代码,在同一批真实对上重训,得到 SampleID-R。唯一改动是把原来必做的变速变调改成各 0.25 概率,因为真实对里这些变化已经有了。SampleID-R 训到收敛用了 3.8 万步,比 SIE 更久。

结果

两套已发表的小基准上,SIE 超过此前所有数字。Sample100 只有 75 条查询、104 对,全是嘻哈;SamplePairs 100 条查询、100 对,不限曲风。

方法训练对维度Sample100 mAPSamplePairs mAP
Van Balen 等(规则)-0.390未报
Cheston 等合成20480.441未报
SampleID合成20480.6030.450
SampleID-R真实20480.6510.511
SIE真实10240.7580.701

相对 SampleID,SIE 的 mAP 提升是 26% 和 56%。拆开看:换数据(SampleID-R 对 SampleID)只贡献 +0.048 / +0.061;换架构和配方(SIE 对 SampleID-R)贡献 +0.107 / +0.190。数据换了就已经是新的最优结果,配方的贡献更大。对应的 mean normalized average rank 也同向:SIE 在两套基准上分别降到 3.9 和 2.4,SampleID 是 7.6 和 4.7。

WhoSampled130K 测试集有 8,463 对、10,444 首、约 1 万条查询,排序在三套基准上一致:

方法mAPmNAR(越低越好)
SampleID0.226 ± 0.00719.4 ± 0.5
SampleID-R0.299 ± 0.00814.3 ± 0.4
SIE0.389 ± 0.00913.0 ± 0.4
NMFP(听歌识曲)0.101 ± 0.00535.4 ± 0.6
CLEWS(翻唱)0.181 ± 0.00732.4 ± 0.7
Fish(识曲+翻唱)0.207 ± 0.00729.9 ± 0.6

合成对训出来的 SampleID,相对为翻唱加识曲训练的 Fish 只多 0.019 mAP。真实对把这条缝拉开了。

数据量实验更直接:SIE 只用 5% 真实对,就能在这个大规模测试集上追平用「数量实质上不受限」的合成对训练的 SampleID。加数据还有收益,没有饱和。

配方消融也干净。信号操纵和音频退化都开,mAP 0.389;只开操纵 0.365;只开退化 0.334;全关 0.320。Triplet 比 SampleID 用的 NT-Xent 最好设置高 0.057 mAP(0.389 对 0.332)。5 / 6 / 8 秒片段的差异落在置信区间里,6 秒只是个方便选择。

为什么重要

版权监测、采样溯源、按采样关系做发现,这三件事以前卡在「没有真实对、只能合成」。现在有了第一份全监督配方,代码和 checkpoint 也放出来了。

对要上系统的人,可操作的结论很硬:有真实对就用真实对,哪怕只有合成管线数据量的零头;配方不能省,triplet、Fish 式退化和 SampleID 前端合在一起,比单纯换数据更值钱;1024 维够用,索引体积直接减半。

这不是新骨干网络。相邻检索任务里已经验证过的零件迁到采样识别,并证明合成对训出来的模型迁到真实对上只是部分成立。渐进,方向清楚。

局限与存疑

Sample100 和 SamplePairs 查询太少,论文自己说置信区间分不出系统差异,只能报点估计。WhoSampled130K 测试集覆盖了 Sample100 里 71%、SamplePairs 里 50% 的曲子。训练集按构造不与这两套基准重叠,也不包含与它们成对的曲子,但小基准数字仍可能偏乐观。

标注只有起点没有终点,模型从未见过「这段采样有多长」。增强仍然是变速、变调和退化。chopping 和 scratching 这些当初用来批评合成管线的操作,并没有被显式建模。SIE 的增益里有一块来自 Fish 配方,不完全是「真实对」四个字。

数据加到 100% 还没饱和。论文也没回答一个反向问题:合成管线如果做得更像制作人,迁到真实对上会不会够用。Bhattacharjee 等人的两阶段方法被排除在比较之外,理由是一阶段嵌入不能单独用,且公开实现的结果有争议。

术语

原文与代码

社区讨论

相关论文

全部论文解读