音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

音频应用 首页 新闻资讯 查看内容

基于音频指纹的听歌识曲系统

2022-3-24 06:51| 发布者: 8209850| 查看: 579| 评论: 0

摘要: 基于音频指纹的听歌识曲系统听歌识曲,我想大家都不陌生。虽然不同的厂商识别率不同(可能是因为版权的原因),但是每个音乐APP都会有这么一个功能。我们以扣扣音乐为例,扣扣音乐听歌识曲功能比较丰富,不仅有基本 ...
基于音频指纹的听歌识曲系统


听歌识曲,我想大家都不陌生。虽然不同的厂商识别率不同(可能是因为版权的原因),但是每个音乐APP都会有这么一个功能。我们以扣扣音乐为例,扣扣音乐听歌识曲功能比较丰富,不仅有基本的听歌识曲还有哼唱识别,识别到对应的歌曲后就直接返回对应的结果,如下图所示。
 
这里我们只关注听歌识曲部分,这一功能通常使用音频指纹(Audio Fingerprinting)实现。其主要流程大致可以分为两步:1)离线的音频指纹提取;2)在线的音频指纹匹配。音频指纹,顾名思义,和人类的指纹类似,从音频信号中提取唯一确定性的指纹,可用于识别音频样本或快速定位音频数据库中的类似项目。
音频指纹离线提取
音频指纹也是音频的一种特征,常用的提取方式也有三种:1)基于频带能量的音频指纹;2)基于landmark的音频指纹;3)基于神经网络的音频指纹。不管是哪种方式提取音频指纹都需要满足以下条件:时间局部性、平移不变性、鲁棒性和充分熵。
基于频带能量的音频指纹很好理解,就是把音频每一帧划分成一个一个子带,计算子带能量,然后进行差分处理,最后进行二值化来减少指纹内存占用大小,经过上述步骤之后我们就得到了基于频带能量的音频指纹。

第二种是基于landmarks的音频指纹,这种方法的思想是音频中能量较大的部分不容易受到干扰,因此具有较好的鲁棒性。其流程大致可以分为以下几个步骤:首先记录在一定范围内能量比其它时频点都高的点对应的坐标(Fig 1A->Fig 1B);在匹配时如果直接用坐标图按照滑动窗口的方式进行对比的话计算量太大了,因此需要一个简单快速的方法,我们选定一个锚点,每个锚点对应一个目标区域,锚点与目标区域中的坐标进行哈希运算得到的值

第三种就是遇事不决深度学习了,得益于深度学习强大的特征提取能力,我们可以用神经网络提取音频指纹,类似于一个embedding的过程,这里就不展开讲了。

音频指纹在线匹配
我们这里使用基于Landmarks的算法提取音频指纹。每个音频指纹的结构为。指纹中的每个哈希用于在数据库中搜索匹配的哈希。对于在数据库中找到的每个匹配哈希,从指纹和数据库文件开始的相应偏移时间形成时间对,然后把这个时间对和歌曲ID分到对应的直方图的bin中。当遍历完整个数据后,我们得到了,每个bin内一组时间对代表样本和数据库声音文件之间关联的散点图。当匹配到数据库中文件时,散点图具有类似对角线的pattern,如下图所示

当没有匹配到时则没有类似的pattern。

Performance
我们选了如下的9首歌,然后把《一路向北》第一段的副歌剪切一部分作为听歌识曲的目标。

算法的结果如下所示,正确匹配到了《一路向北》这首歌,并且定位到的时间是88.928s


视频信息
1.3.0
这是《一路向北》第89s左右的结果,可以发现找的还是蛮准的

本文相关代码:https://github.com/Ryuk17
参考文献:
[1]. http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=152C085A95A4B5EF1E83E9EECC283931?doi=10.1.1.103.2175&rep=rep1&type=pdf
[2]. https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf
[3]. https://arxiv.org/pdf/2010.11910.pdf
语音技术社群邀请函
长按添加语音小管家
备注:姓名-学校/公司-研究方向-城市(如:张三-清华-语音合成-北京)
每月大咖直播分享、求职内推、干货资讯汇总、与5000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企语音开发者互动交流~

路过

雷人

握手

鲜花

鸡蛋

相关阅读

最新评论

原创周排行
    音频应用搜索

    小黑屋|手机版|音频应用官网微博|音频招标|音频应用 (鄂ICP备16002437号)

    Powered by Audio app

    返回顶部