随着大数据时代的汹涌而至,互联网上的信息量急剧膨胀,呈现出爆炸式的增长态势。这一背景下,传统依赖于文本标注的检索机制已日渐显得力不从心,难以满足用户对多媒体内容高效检索的迫切需求。因此,聚焦于多媒体文件内在内容信息的新型检索技术应运而生,并迅速成为近年来研究的焦点。在内容驱动的多媒体检索领域,样例检索(Query-By-Example)以其便捷的操作性、无需预先标注的灵活性以及对用户低门槛的友好性脱颖而出。以音频领域为例,用户现在能够轻松上传一段未知的音频片段作为查询样本,通过系统搜索庞大的音频数据库,迅速获取与该样本相关的详细信息或相似内容。
音频指纹检索作为样例检索的一个关键分支,凭借其占用空间小、检索效率高的显著优势,在音频识别与检索领域占据了重要地位。该技术通过提取音频信号中的独特“指纹”特征,实现了对音频内容的快速比对与定位,极大地提升了用户获取目标音频信息的效率与体验。


工业界应用
在工业界出现了许多基于音频指纹的音乐检索系统。
Gracenote Inc与Philips研究院于2004年共同推出了一款音乐识别软件Gracenote Mobile,使用的是Philips音频指纹算法。
Shazam于2002年推出了基于移动终端的音乐检索服务,并在2008年推出了Shazam音乐识别手机软件,用户可以通过Shazam客户端录制并上传音频片段来进行音乐检索,获取未知歌曲的信息,其使用的是该公司的创始人Avery Wang提出的基于频谱局部显著点对的音频指纹算法。
2009年,一款名为Sound Hound10的音乐识别软件上线了,Sound Hound不仅可以通过上传录音片段进行检索,还能够进行哼唱识别。[1]
此外,国内的QQ音乐和酷狗音乐等在该领域也取得了非凡的成就。
在2019国际音频检索评测大赛(MIREX)中,QQ音乐的“听歌识曲”技术以平均3秒就能识别一首歌的好成绩一举拿下“音频指纹(Audio Fingerprinting)”世界冠军。首先,QQ音乐负责音频研发的科学家团队采用行业领先的landmark指纹算法,有效增加抗噪声处理;其次,利用哈希表和倒排索引提高歌曲识别效率,耗时短于大多数同类产品;最后,依托庞大的曲库量、用户量和分析样本量,构建完善的歌曲特征数据库,进行更有效的测试和调整,促使功能优化于极致[2]。
次年,在2020年MIREX中,酷狗又一举拿下“音频指纹(Audio Fingerprinting)”项目的世界冠军。据悉,在评比中,酷狗音乐对集中测试的5692个测试片段进行“识别”,取得了93.17%正确率的优秀成绩,并一举打破了由ACR Cloud在四年前创造的最高记录(91.88%正确率)[3]。


学术界研究
在学术界,展开相关研究的知名机构有荷兰皇家飞利浦研究院(Philips Research)、Google、伊利诺斯大学、麻省理工学院等。在国内有中科院声学所、哈尔滨工业大学、西安电子科技大学等。他们在提高音频指纹的鲁棒性、指纹区分性、加快检索速度以及降低误识率上有不同侧重,并取得了许多重要进展。[4]
音频指纹技术通常通过处理语谱图来生成,其核心步骤涉及音频的分帧处理及随后在每帧上提取特征集合。在特征选择阶段,尤为注重特征的抗衰减性。
2002年,飞利浦研究院的Haitsma J.与Kalker T.等提出了基于Bark域频率倒谱系数(Bark Frequency Cepstrum Coefficients, BFCC)的音频指纹算法[5]。该算法的核心在于每11.8 ms提取一个32位子指纹,这些指纹源自对功率谱时频差分的计算。匹配过程中,利用查找树寻找汉明距离最小的指纹作为匹配结果,其特点在于,只要两个音频匹配,那么其指纹几乎都会有一个 32 bit 子指纹完全相同。
BFCC算法的提出引起了学术界的广泛关注,并催生了多种优化策略。例如,2014年,Bob Coover等[6]在BFCC基础上引入了能量掩码机制,这一创新为每个指纹位分配了动态权重,有效区分了匹配与未匹配的情况,通过奖惩机制显著提升了算法的抗噪性能。
Wang等人[7]提出了一项针对工业级应用的能量峰值分析音频检索技术。首先,通过音频信号处理技术将音频数据转化为直观的频谱图像。随后,该方案聚焦于计算频谱中的能量高峰点,视这些点为音频片段的局部特征标识。进而,每个这样的特征点被巧妙地与其邻近区域内的后续元素相关联,构建出能量峰值点对集合。最后,对每一对点之间的时间间隔与频率特性进行精确量化,生成一组整数编码的音频指纹。
Jie等[8]深入探讨了纯净音频与加噪音频间共有的频谱峰点特性,指出这些峰点不仅是能量集中之处,更是能量变化最为显著的点,据此优化了音频指纹的提取策略。在检索效率提升方面,他们引入了多级索引机制,有效缩短了匹配时间并减少了哈希冲突,显著增强了算法的精确度和响应速度。
Kim等人[9]采用了复数调制重叠变换来替代传统的短时傅里叶变换进行频谱峰提取。这一创新不仅更有效地捕捉了音频的特征峰值,还显著提升了系统在复杂噪声及广播环境中的稳定性与鲁棒性。
随着深度学习技术的发展,它为音频指纹的提取开辟了新的途径与策略。通过神经网络自动学习的特征,相较于传统人工设计的特征,展现出了更为卓越的判别力与泛化性能[10]。
Google利用卷积神经网络成功提取音频指纹,并据此构建了一个低能耗的音乐识别应用“Now Playing”[11]。
文献[12]则探索了序列到序列自动编码器模型在音频指纹生成中的应用,实验数据表明,在多数场景下,该模型相较于传统音频指纹方法展现出了明显优势。然而,面对较大的音频畸变,其鲁棒性仍有待提升。
为了进一步增强音频指纹的鲁棒性,Yu等人[13]引入了对比学习的理念来生成音频指纹,并针对指纹检索问题,提出了基于投票机制的音频样例检索方法。该方法首先将查询音频分割为等长重叠段,并提取子指纹,随后在数据库中逐一搜索每个子指纹的最相似匹配,并据此对候选音频进行投票。实验结果显示,与文献[7]中的方法相比,该方法在面对严重音频畸变时仍能保持良好的鲁棒性。


参考资料:
[1]基于鲁棒音频指纹的移动音乐检索技术研究
[2]https://new.qq.com/rain/a/TEC2019111500904700
[3]https://new.qq.com/rain/a/20200918A07S2900?web_channel =wap&openApp=false
[4]基于听觉机理的音频指纹算法研究与实现
[5]A Highly Robust Audio Fingerprinting System
[6]A Power Mask based audio fingerprint
[7]An industrial strength audio search algorithm
[8]Improved algorithms of music information retrieval based on audio fingerprint
[9]Robust Audio Fingerprinting Method Using Prominent Peak Pair Based on Modulated Complex Lapped Transform
[10]基于对比学习的音频样例检索技术研究
[11]Now playing: Continuous low-power music recognition
[12]SAMAF: Sequence-to-sequence autoencoder model for audio fingerprinting
[13]Contrastive unsupervised learning for audio finger printing
信息源于:黄彤炜