Fork me on GitHub

腾讯音乐的新一代歌曲识别技术

图片

分享嘉宾:Lester 腾讯音乐 音频算法研究员
编辑整理:杨远卓 维沃移动通信
出品平台:DataFunTalk

导读: 当听到我们心仪却不知道名字的歌曲时,我们往往打开手机的听歌识曲功能一键识别,但往往翻唱歌曲的识别情况并不尽人意。近些年,我们却明显可以感觉到腾讯音乐的识别越来越准。这背后究竟隐藏着怎么样的技术革新?今天,和笔者一起聆听腾讯音乐数据科学家讲解新一代的歌曲识别技术。

全文将会围绕下面几点展开:

  • 下一代歌曲识别技术简介
  • 翻唱识别现有技术调研
  • 线上翻唱识别
  • 下一代技术识别技术展望

01 下一代歌曲识曲技术简介

1. 上一代技术的局限

上一代的听歌识曲主要采用Landmark音频指纹技术。Landmark音频指纹的核心在于过滤出语谱图中的局部最大值点形成“星座图”。在识曲的过程中,新生成的“星座图”会和预先构建好的指纹库做匹配,完成识曲。如同“星座”的匹配过程,指纹的匹配会判断新生成的指纹是否和指纹库中预存的完全一致,即严格的序列匹配。因此,虽然Landmark对原曲的识别表现出较好的效果,但对变调、翻唱、重混以及重采样等情况都束手无策。

2. 下一代技术的目标

Landmark音频指纹技术是由Shazam提出的一套基于信号处理的成熟技术方案,目前已经大规模地落地,但其对音乐几乎没有理解能力。下一代歌曲识别技术想要实现的则是除了录音之外,对歌、曲、作者等有着多项识别能力。最终能和人类的音乐因素能力相媲美。为了达到这一效果,会侧重使用机器学习、涵盖多项技术。

02 翻唱识别现有技术调研

1. 翻唱的类型以及音乐特点

学术界为了定义翻唱类型,需要在很多维度上和原唱做对比,看其发生的变化。如纯器乐版,主要是在音色、歌词、嗓音这些维度有一些变化,而速度、节奏、结构、调性、和声则保持不变。更多的示例如下表所示。

图片

目前腾讯音乐已经解决了大部分的翻唱类型。

2. 翻唱识别技术发展路径

最早的翻唱识别技术可以追溯到2005年,国立台北大学通过提取主旋律,利用DTW算法识别翻唱。2006年,Librosa团队提出用Chroma特征做互相关。2009年,UPF团队深入分析了CQT、PCP、HPCP等特征,最终认为HPCP特征有较强的表征能力并提出了OTI变调的解决方法。2012年,Labrosa团队建立了SHS(Second Hand Songs)数据集,并提出了另一个解决变调的方法——2D-FT。2016年,Grancenote提出基于CQT和Hamming Embedding的方法。2017年以后信号处理方法开始式微,主流开始转入DNN方案。韩国的一个团队在2017年采用特征的相似度矩阵做分类。同年,北大团队提出度量学习方案。2019年,该北大团队进一步提出TPP-Net/CQT-Net的技术方案。目前,腾讯音乐天琴实验室LyraC-Net在各项指标上达到了业界最优,相关文章被Interspeech 2022收录。

03 线上翻唱识别

1. 真实的业务需求

学术界给出的大部分方案是针对整首歌的聚类方案,但是该方案解决不了业务上实际面临的问题。首先,真实的业务通常是针对片段进行检索,且这些片段存在噪声或有失真的情况。其次,在真实的场景中需要在海量的数据中实时返回识别结果,而非学术界给出的基于少量数据的离线方案。最后,在实际使用时需要返回歌词,即需要时间戳以同步歌词信息。

图片

为了满足真实的业务需求,腾讯音乐自研了技术解决方案,我们命名为Lyra-CoverNet。将歌曲切片提取Embedding,随后进行序列匹配,从而识别翻唱曲目。

2. Embedding提取算法

将翻唱数据切片得到数据集,提取HPCP作为音频特征,经过Inception-Resnet-V2的深度学习模型后得到Embedding。在训练的过程中,损失函数采用Triplet Loss。

图片

3. 序列检索逻辑

首先,需要使用上述的Embedding提取算法对请求音频片段,每隔T提取一个Embedding,生成Embedding序列。接着,每个Embedding序列中的Embedding依次通过向量搜索引擎得到曲库中相似embedding信息(包含歌曲ID,offset)。最后,根据请求embedding序 列 与 命 中 到 的embedding的时间偏移绘制直方图,获取直方图中频数最大的值作为初步结果,若满足一定阈值的条件则作为最终的匹配结果。

图片

4. 自动化数据标注与效果

需要注意的是,在训练的过程中,数据需要切成片段。而同一首歌的不同翻唱版本需要有相同的切割点,即片段之间需要对齐。目前,腾讯音乐给出的方案是基于全文件翻唱匹配技术生成一个同一首歌不同翻唱版本的歌曲组,然后基于现有的歌词时间戳技术进行对齐。之后,利用对齐条件对已有的对齐片段做筛选,留下符合条件的片段。

利用自动化数据标注之后,生成了数万首歌曲和数百万对翻唱片段。将人工标注数据扩展约至10倍,大大提升了标注效率。

图片

相对于人工标注的数十万对翻唱片段,可以明显地看出,自动化标注的数百万对翻唱片段让模型在召回和精度上均有大幅的提升。

5. 上线情况

虽然翻唱识别能够较好地处理变调和翻唱的问题,但在低信噪比的环境中表现不佳,而Landmark音频指纹依旧在该环境下胜任。因此Landmark音频指纹算法搭建的系统依旧需要保留。

为了更好地服务线上业务,腾讯音乐将两种识别模式串联起来,在原始Landmark算法搭建的系统无法识别时,会走翻唱识别系统。另外,鉴于目前翻唱识别的精度还不是特别高,翻唱识别在结果展示时会加上“小Q没有识别出来,可能是这个结果”文案。

图片

04 下一代歌曲识别技术展望

1. 翻唱识别技术展望

最初的翻唱识别技术从主旋律开始着手,因为主旋律是其中翻唱识别中唯一不变的一个应用特性。接着,Labrosa团队提出Chroma。其次,UPF团队提出HPCP。然后,很多团队开始采用特征融合的技术手段。等到神经网络开始出现,又有各种各样的Embedding方案,以及腾讯音乐提出的Embedding序列的方法。最终,技术可能会回归主旋律提取。

图片

以前的主旋律提取效果不好,主要是因为算法还不够成熟。但是经过十几年的发展,深度学习可能会给主旋律提取引入新的活力。

2. 歌曲识别技术展望

歌曲识别中的技术繁多。日后有可能类似于物理四大基础力学的统一,各种歌曲识别技术也会统一。比如,针对翻唱识别技术,进一步提升训练数据量或更改网络结构,使该技术在低信噪比的环境下有较好的表现,这样便可取代目前翻唱识别和Landmark音频指纹技术串联的系统。

目前,腾讯音乐已经在做的翻唱识别与歌词识别(即歌声ASR)的融合。结果显示,加入歌词聚类的翻唱识别效果比常见的翻唱识别技术要更好,并且有些情况下会好很多。另外,腾讯音乐在歌词识别和哼唱识别做了融合,在哼唱识别中再引入用歌词检索,准确度也有很大幅度的提升。

3. 业务展望

目前,腾讯音乐已经做了音频指纹(听歌识曲、指纹服务)、主旋律匹配(哼唱识别)、歌曲相似(翻唱识别、音色识别)、歌声ASR(歌词搜索)、音乐歌词识别(歌词生成),并将整个服务做了打包。最终这些服务将服务于歌曲的整个生命周期当中,从音乐创作,到音乐入库,到曲库管理,到UGC内容管理,到音乐播放,到最终的音乐收听。在技术的支撑下让业务开花结果。

图片

05 总结

本次分享从音频指纹技术的局限性开始引入并重点介绍了翻唱识曲的发展历程和为了满足真实的业务需求开发出的线上场景翻唱识别算法。在本文的最后,对未来听歌识曲的融合趋势进行了展望。

06 精彩问答

Q:如何处理翻唱识别中的海量检索?有使用粗召回然后精排吗?

A:之前有介绍,粗召回会使用向量检索的一个框架,建构索引,检索时召回关联性比较强的向量。在召回之后,会统计时间偏移的制直方图进行精筛。

Q:翻唱识别有使用数据增强吗?

A:有,会在数据中引入噪音和SpecAugment,以及对原始音频做变调等操作。


本文地址:https://www.6aiq.com/article/1657948926437
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出