一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种相似歌曲检索方法、装置、设备以及存储介质与流程

2021-10-19 23:54:00 来源:中国专利 TAG:人工智能 深度 装置 检索 公开


1.本公开涉及人工智能技术领域,尤其涉及深度学习技术领域,具体涉及一种相似歌曲检索方法、装置、设备及存储介质。


背景技术:

2.在听歌识曲、版权鉴定等应用中,需要依赖于相似歌曲的检索,其中,所谓相似歌曲的检索是指给定一段歌曲,从庞大的歌曲底库中查询是否有相似的歌曲。
3.相关技术中,用于相似歌曲检索的方法采用shazam算法进行相似歌曲的检索。其中,shazam算法是一种给音频提取类似”指纹”的算法。


技术实现要素:

4.本公开提供了一种相似歌曲检索方法、装置、设备以及存储介质。
5.根据本公开的一方面,提供了一种相似歌曲检索方法,包括:
6.获取待识别的目标音频;
7.提取所述目标音频中的常数q变换cqt音频特征;其中,cqt音频特征为通过cqt算法所提取的音频特征;
8.将所述目标音频的cqt音频特征输入预先训练的目标网络模型,得到所述目标音频的特征向量;其中,所述目标网络模型是基于样本音频的样本特征训练得到的、用于进行特征向量提取的模型;所述样本特征是基于所述样本音频的cqt音频特征所确定的音频特征;
9.基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲。
10.根据本公开的另一方面,提供了一种相似歌曲检索装置,包括:
11.获取模块,用于获取待识别的目标音频;
12.提取模块,用于提取所述目标音频中的常数q变换cqt音频特征;其中,cqt音频特征为通过cqt算法所提取的音频特征;
13.特征向量生成模块,用于将所述目标音频的cqt音频特征输入预先训练的目标网络模型,得到所述目标音频的特征向量;其中,所述目标网络模型是基于样本音频的样本特征训练得到的、用于进行特征向量提取的模型;所述样本特征是基于所述样本音频的cqt音频特征所确定的音频特征;
14.查找模块,用于基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲。
15.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的相似歌曲检索方法的步骤。
16.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的相似歌曲检索方法的步骤。
17.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的相似歌曲检索方法的步骤。
18.本发明实施例有益效果:
19.本公开提供方案中,在获取待识别的目标音频后,通过提取所述目标音频中的常数q变换cqt音频特征,相对于现有技术提取大量“指纹”而言,可以大大减少耗时,并且,基于深度学习的方式,通过预先训练的目标网络模型提取目标音频的特征向量,然后基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲,可以提升歌曲检索的鲁棒性。可见,通过本方案,可以兼顾检索速度与鲁棒性。另外,通过深度学习的方式提取目标音频的特征向量进而基于所提取的特征向量来进行检索,可以提升检索结果的准确性。
20.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
21.附图用于更好地理解本方案,不构成对本公开的限定。其中:
22.图1是根据本公开一种相似歌曲检索方法的流程图;
23.图2是根据本公开一种相似歌曲检索方法的另一流程图;
24.图3是根据本公开目标网络模型的结构示意图;
25.图4是根据本公开的相似歌曲检索方法的一种示意图;
26.图5是根据本公开相似歌曲检索装置的一种结构示意图;
27.图6是用来实现本公开实施例的相似歌曲检索方法的电子设备的框图。
具体实施方式
28.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
29.随着深度学习在图像、视频领域的应用越来越广泛,深度学习在音频领域的应用也得到一定的发展。音频在生活中很重要的一个应用就是相似歌曲检索,即给定一段歌曲,从庞大的歌曲底库中查询是否有相似的歌曲。现在人们在相似歌曲检索的研究上并不是很多,一是相对来说歌曲的应用没有图像和视频多,二是音频的研究相对更难,音频中存在的各种噪声和不同版本。相似歌曲检索的另外一个难点是同一首歌曲存在不同版本包括原唱、翻唱、钢琴版、现场版等等,这些版本中唯一能够识别的是歌曲的调。
30.相关技术中,采用shazam算法进行相似歌曲的检索。其中,shazam算法是一种给音频提取类似“峰值”的算法,通过采用傅里叶变换将时域信号转换为频域信号,获取音频中比较具有特色的“峰值”,相近的峰值f1和f2,加上时间t,组成“指纹”<f1,f2,t>,这样,一首歌曲可能会有几百个指纹。在相似歌曲检索过程中,对于输入音频,提取多个“指纹”,利用
提取到的多个“指纹”,在歌曲底库所包含各首歌曲的指纹中进行检索,如果输入音频和某一歌曲相匹配的指纹超过预设比例,则认为该某一歌曲是该输入音频的相似歌曲。
31.然而,由于shazam算法在进行相似歌曲检索的过程中需要提取成千上百的“指纹”,比较耗费时间,并且,同一首歌的不同版本(原唱、翻唱、钢琴版、现场版等)的“指纹”存在差异,导致识别的鲁棒性较差。
32.基于上述内容,为了兼顾相似歌曲检索的速度和鲁棒性,本公开实施例提供了一种相似歌曲检索方法、装置、设备以及存储介质。
33.下面首先对本公开实施例所提供的一种相似歌曲检索方法进行介绍。
34.本公开实施例所提供的一种相似歌曲检索方法可以应用于电子设备。在具体应用中,该电子设备可以为服务器,也可以为终端设备,这都是合理的。在实际应用中,该终端设备可以是:智能手机、平板电脑、车载终端等等。
35.具体而言,该相似歌曲检索方法的执行主体可以为相似歌曲检索装置。示例性的,当该相似歌曲检索方法应用于终端设备时,该相似歌曲检索装置可以为运行于终端设备中的功能软件,例如:歌曲识别软件,或者,歌曲版权鉴定软件;当然,该相似歌曲检索装置也可以为现有客户端中的插件,例如:听歌软件中的歌曲识别插件或即时通讯软件中的插件。示例性的,当该相似歌曲检索方法应用于服务器时,该相似歌曲检索装置可以为运行于服务器中的计算机程序,该计算机程序可以用于实现歌曲识别、歌曲版权鉴定等。
36.其中,本公开实施例所提供的一种相似歌曲检索方法,可以包括如下步骤:
37.获取待识别的目标音频;
38.提取所述目标音频中的常数q变换(constant q transform,简称cqt)音频特征;其中,cqt音频特征为通过cqt算法所提取的音频特征;
39.将所述目标音频的cqt音频特征输入预先训练的目标网络模型,得到所述目标音频的特征向量;其中,所述目标网络模型是基于样本音频的样本特征训练得到的、用于进行特征向量提取的模型;所述样本特征是基于所述样本音频的cqt音频特征所确定的音频特征;
40.基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲。
41.本公开提供方案中,在获取待识别的目标音频后,通过提取所述目标音频中的常数q变换cqt音频特征,可以减少提取特征所带来的耗时,并且,基于深度学习的方式,通过预先训练的目标网络模型提取目标音频的特征向量,然后基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲,可以提升歌曲检索的鲁棒性。可见,通过本方案,可以兼顾检索速度与鲁棒性。另外,通过深度学习的方式提取目标音频的特征特征向量进而基于所提取的特征向量来进行检索,可以提升检索结果的准确性。
42.下面结合附图,对本公开实施例所提供的相似歌曲检索方法进行介绍。
43.如图1所示,本公开实施例所提供的一种任务监控方法,可以包括如下步骤:
44.s101,获取待识别的目标音频;
45.本实施例中,待识别的目标音频可以是预先存储在电子设备的本地内存中的音频,也可以是实时采集的音频。示例性的,该待识别目标音频可以是手机上存储的某段歌
曲,也可以是用户在商场内打开手机相关功能软件实时采集到的商家播放的音乐。需要说明的是,本实施例并不对目标音频的来源进行限定,并且,也不对目标音频的时长和内容进行限定。也就是,任一需要进行相似歌曲检索的音频,均可以作为本公开的目标音频。
46.s102,提取所述目标音频中的常数q变换cqt音频特征;其中,cqt音频特征为通过cqt算法所提取的音频特征;
47.由于在音乐中,所有的音均是由若干八度的12平均律共同组成的,这十二平均律对应着钢琴中一个八度上的十二个半音。这些半音中每个半音与前一半音之间的频率比为2
1/12
。显然,同一音级的两个八度音,高八度音是低八度音频率的两倍。
48.因此,在音乐中,声音都是以指数分布的,但傅立叶变换得到的音频谱都是线性分布的,两者的频率点是不能一一对应的,这会致使某些音阶频率的估计值产生误差。所以在本公开实施例中,采用一种具有相同指数分布规律的时频变换算法:cqt(常数q变换)算法,来提取所述目标音频中的音频特征,得到cqt音频特征。
49.具体的,提取cqt音频特征算法的输入是一段音频,返回的是(d,t)的二维音频特征,其中d是固定维度,t是跟音频长短有关的变量,音频越长t越大,其中,t可以认为是音频采样点的数量,示例性的,返回的二维音频特征可以为(84,t),当然并不局限于此。本领域技术人员应知晓,cqt音频特征使用对数尺度的中心频率,该中心频率和音高的频率分布十分匹配,主要用在音高的基频需要被精确的识别的任务。可见,由于cqt音频特征与音阶频率的分布相同,所以通过提取目标音频的cqt音频特征,可以直接得到目标音频中音乐信号在各音符频率处的振幅值,对于目标音频的特征提取具有更好的效果。
50.s103,将所述目标音频的cqt音频特征输入预先训练的目标网络模型,得到所述目标音频的特征向量;其中,所述目标网络模型是基于样本音频的样本特征训练得到的、用于进行特征向量提取的模型;所述样本特征是基于所述样本音频的cqt音频特征所确定的音频特征;
51.也就是,通过预先训练的目标网络模型对所述目标音频的cqt音频特征进行处理,以获得目标音频的特征向量。
52.需要说明的是,在本公开中,所述目标网络模型是一种深度学习模型,输入是二维的cqt音频特征,输出是特征向量。本公开并不对目标网络模型的具体结构进行限定,示例性的,该模型可以包括卷积层、池化层和全连接层,当然并不局限于此。其中,用于训练目标网络模型的样本音频可以是预先选定的歌曲中的片段,多个样本音频也就是多首歌曲的若干个片段,当然并不局限于此;并且,基于所述样本音频的cqt音频特征确定样本特征的方式存在多种。示例性的,在一种实现方式中,可以直接将样本音频的cqt音频特征作为样本音频的样本特征。示例性的,在另一种实现方式中,可以对样本音频的cqt特征进行特定处理,从而得到样本音频的样本特征,其中,关于该种实现方式,后续结合另外的实施例进行介绍。
53.可选的,在一种实现方式中,所述目标网络模型是预先训练的歌曲分类模型中的特征向量提取网络;
54.其中,所述歌曲分类模型是基于所述样本音频的样本特征和所述样本音频的歌曲分类结果所训练得到的模型。
55.可以理解的是,所述目标网络模型可以认为是歌曲分类模型(对输入音频进行歌
曲分类的模型)的一部分,该歌曲分类模型可以认为由特征向量提取网络和分类网络两部分组成,其中,特征向量提取网络用于提取输入音频特征的特征向量,分类网络用于对特征向量进行分类。这样,预先训练的目标网络模型就可以通过对歌曲分类模型的训练得到。通过该种实现方式,由于在训练歌曲分类模型时,样本音频的标定结果,即真值,能够便捷地得到且精准度较高,因此,歌曲分类模型的精度能够得到保证。那么,歌曲分类模型中的特征向量提取网络所提取到的特征向量能够保证较高的精度,也就是,目标网络模型能够保证较高的精度。
56.可以理解的是,在歌曲分类模型的训练过程中,将大量的样本音频的样本特征作为分类模型的输入,这里,样本音频的样本特征可以是样本音频的cqt音频特征,歌曲分类模型的输出是各个样本音频属于各个歌曲的概率;进而,通过歌曲分类模型进行分类,将分类结果与真实值进行比较,利用交叉熵损失判断分类模型是否收敛,然后更新模型参数。在分类模型收敛之后,歌曲分类模型中的特征向量提取网络部分即为这里的预先训练的目标网络模型。
57.可选的,在本公开的实施例中,所述目标网络模型中卷积层的前至少一层采用的卷积核尺寸大于等于5*5,以获得更大的感受野。这样,在对cqt音频特征进行处理时,可以捕捉到更多信息,携带更多的信息,使得模型输出结果更准确。
58.另外,所述目标网络模型输出的特征向量的维度范围为300至500维,也就是,所述目标网络模型中全连接层的最后一层的输出位数为300至500位,例如,输出位数可以是300、350、400、450、500位等。可以理解的是,所述特征向量的维度小于300维时,包含的特征信息太少,导致检索的准确性不高,所述特征向量的维度大于500维时,包含的特征信息太多,浪费计算资源。
59.s104,基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲。
60.本公开所涉及的备选歌曲可以为电子设备的本地数据库中存储的歌曲数据,也可以是在线歌曲数据,本公开对此不做限定。所述备选歌曲的特征向量为:将备选歌曲的片段的cqt音频特征输入目标网络模型后所生成的特征向量,也就是,通过同样的步骤,在抽取备选歌曲的cqt音频特征后,将该备选歌曲的cqt音频特征输入目标网络模型生成的特征向量。可以理解的是,由于待识别的音频可以是某一首歌曲的片段内容,因此,为了保证备选歌曲的特征向量的全面性,每一备选歌曲可以具有多个特征向量,每一特征向量是基于该备选歌曲的一片段的cqt特征所生成的特征向量。
61.通过比较备选歌曲的特征向量和目标音频的特征向量的相似度,可以确定目标音频的相似歌曲。其中,基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲的具体实现方式存在多种。示例性的,在一种方式中,计算目标音频的特征向量与各个备选歌曲的特征向量的相似度,选取相似度大于预定阈值的一特征向量或相似度最大的一特征向量,将所选取的特征向量所属的歌曲,作为该目标音频的相似歌曲。为了布局清晰以及方案清楚,关于基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲的其他实现方式,后续通过另外的实施例进行介绍。
62.本公开提供的方案中,在获取待识别的目标音频后,通过提取所述目标音频中的
常数q变换cqt音频特征,可以减少提取特征所带来的耗时,并且,基于深度学习的方式,通过预先训练的目标网络模型提取目标音频的特征向量,然后基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲,可以提升歌曲检索的鲁棒性。可见,通过本方案,可以兼顾检索速度与鲁棒性。另外,通过深度学习的方式提取目标音频的特征,可以提升检索结果的准确性。
63.可选的,在本公开的另一实施例中,所述样本特征是将所述样本音频的cqt音频特征进行指定预处理后所得到的音频特征;
64.其中,所述指定预处理包括随机化处理,所述随机化处理包括利用指定数值随机替换部分特征内容,和/或,利用随机数值替换指定的部分特征内容。
65.示例性的,所述样本特征可以是利用指定数值,对所述样本音频的cqt音频特征中的随机选取的特征位置进行数值替换,例如,随机丢弃cqt音频特征中的部分特征,然后用指定数值,例如0值或1值对丢弃的空位进行填充。示例性的,所述样本特征是通过对所述样本音频的cqt音频特征中的部分固定特征位置,通过随机数值替换得到,例如,用随机数值替换cqt音频特征中的8n或者2
n
处,其中n为正整数。
66.可选的,所述指定预处理还包括:对随机化处理后的cqt特征进行归一化处理。
67.通过对随机化处理后的cqt特征进行归一化处理,可以将cqt特征映射在0

1之间。可以理解的是,数据中常存在奇异样本数据(相对于其他输入样本数据特别大或特别小的样本数据),奇异样本数据的存在会引起网络的训练时间增加,并可能引起网络无法收敛。为了避免出现这种情况及后面数据处理的方便,加快网络学习速度,可以对输入数据进行归一化,使得所有样本的输入均值接近于0或与其均方差相比很小。
68.可见,通过在本实施例中对样本音频的cqt音频特征进行随机化处理,获得的样本特征相较于原本的cqt音频特征增加了一定的随机特征,在对分类模型进行训练的时候,增加了随机特征的样本特征会训练得到准确的分类结果,这样,进一步增强了模型的鲁棒性。并且,通过对随机化处理后的cqt音频特征进行归一化处理,可以提升模型的训练速度。
69.可选的,在本公开的另一实施例中,在图1所示的实施例的基础上,如图2所示,上述的步骤s104可以包括s1041

s1042:
70.s1041,从多个备选歌曲的特征向量中,检索与所述目标音频的特征向量相似度最高的目标特征向量;
71.s1042,若所述目标特征向量与所述目标音频的特征向量的相似度,大于预设相似度阈值,则将所述目标特征向量所属的备选歌曲,确定为所述目标音频的相似歌曲。
72.示例性的,在一种实现方式中,可以通过余弦距离来表示所述目标特征向量与所述目标音频的特征向量之间的相似度。可以理解的是,分析两个向量之间的余弦距离时,可以使用余弦相似度,具体而言:余弦相似度的范围是[

1,1],用1减去余弦相似度得到余弦距离,余弦距离的范围是[0,2],0是最相似的,2是最不相似的,余弦距离体现方向上的相对差异。示例性的,可以设置余弦距离的阈值为0.5,若所述目标特征向量与所述目标音频的特征向量的之间的余弦距离小于0.5,即将所述目标特征向量所属的备选歌曲,确定为所述目标音频的相似歌曲。若所述目标特征向量与所述目标音频的特征向量的之间的余弦距离大于0.5,则认为备选歌曲中没有相似歌曲。
[0073]
通过在本实施例中检索出与所述目标音频的特征向量相似度最高的目标特征向
量,然后将所述相似度与预设相似度阈值进行比较,就可以获得所述目标特征向量所属的歌曲是否是目标音频的相似歌曲的检索结果。通过该种方式,可以保证所确定出的相似歌曲的有效性以及准确性。
[0074]
可选的,在本公开的另一实施例中,所述从多个备选歌曲的特征向量中,检索与所述目标音频的特征向量相似度最高的目标特征向量,包括:
[0075]
以所述目标音频的特征向量作为检索的输入内容,基于图索引检索的方式,从多个备选歌曲的特征向量中,检索与所述目标音频的特征向量相似度最高的目标特征向量。
[0076]
示例性的,所述图索引的方式可以是hnsw图索引的方式。本领域技术人员应知晓,hnsw(hierarchical navigable small world,分层的可导航小世界)图索引检索的方式,较传统的nsw(可导航小世界)网络而言,引入了层级的概念,nsw算法基于六度分离理论将小世界的特性用于近邻检索,提出了基于图结构的检索方案。在nsw算法的基础上,hnsw利用多层的图结构来完成图的构建和检索,使得通过将节点随机划分到不同的层,从上层图到下层图的检索中,越往下层节点之间的距离越近,随机性也越差,聚类系数越高。hnsw通过从上到下的检索,完成了nsw中long link(高速公路)快速检索的作用,通过最后底层的近邻检索,完成局部最近邻的查找。
[0077]
其中,所述基于hnsw图索引检索的方式,包括:
[0078]
以连续插入备选歌曲的特征向量的方式构建网络图,对于每一个待插入的备选歌曲的特征向量,采用指数衰变概率分布函数来计算其可以达到的最大层,以获得分层的网络图;
[0079]
以目标音频的特征向量作为进入点,从分层的网络图中的最大层开始贪心遍历,寻找局部最小值;
[0080]
将当前层找到的局部最小值作为进入点,在下一层寻找局部最小值,重复此过程直到达到最底层。
[0081]
这样,通过基于hnsw图索引检索的方式,在最底层找到的局部最小值对应的特征向量,即为相似度最高的目标特征向量。其中,网络图的构建可以预先完成,这样,每次进行检索时,可以直接进行检索,以加快检索速度。可以理解的是,由于hnsw检索方式具有检索速度快并且准确率高的特点,通过hnsw图索引检索的方式,可以提高相似歌曲的检索速度。
[0082]
本公开发明人在实验过程中发现,在100万条300维的特征向量构成的底库中检索时间为0.14ms,检索同一条数据召回率96%;在10万条300维的底库中检索时间为0.12ms,检索同一条数据召回率99%。因此,在本公开中,为了更快更好的检索,可以将底库进行划分,例如,将100万条底库分成10万一个底库,这样会有10个底库,进行检索的时候去10个底库中进行检索,结果进行合并。这样的好处是,虽然检索速度略有下降,但是能确保检索同一条数据召回率99%。
[0083]
基于上述检索召回率的考虑,可选的,在本公开的另一实施例中,所述多个备选歌曲的特征向量存储于多个数据库中;所述目标特征向量包括对应于所述多个数据库的多个子目标特征向量;
[0084]
所述若所述目标特征向量与所述目标音频的特征向量的相似度,大于预设相似度阈值,则将所述目标特征向量所属的备选歌曲,确定为所述目标音频的相似歌曲之前,所述方法还包括:
[0085]
从多个子目标特征向量中,选取与所述目标音频的特征向量的相似度最高的子目标特征向量;
[0086]
若所述目标特征向量与所述目标音频的特征向量的相似度,大于预设相似度阈值,则将所述目标特征向量所属的备选歌曲,确定为所述目标音频的相似歌曲,包括:
[0087]
若选取的子目标特征向量与所述目标音频的特征向量的相似度,大于预设相似度阈值,则将选取的子目标特征向量所属的备选歌曲,确定为所述目标音频的相似歌曲。
[0088]
也就是,通过将备选歌曲的特征向量存储于多个数据库中,然后对每个数据库进行基于hnsw图索引检索的方式进行检索,这样,每个数据库中都会检索获得一个与所述目标音频的特征向量相似度最高的子目标特征向量,然后,将每个数据库中检索获得的子目标特征向量进行比较,选取多个子目标特征向量中与目标音频的特征向量相似度最高的特征向量,然后比较选取的子目标特征向量与目标音频的特征向量之间的相似度与预设的相似度阈值的大小,若大于预设相似度阈值,则认为该选取的子目标特征向量所属的备选歌曲为所述目标音频的相似歌曲,否则,认为数据库中没有相似歌曲。
[0089]
基于上述各实施例的相关描述可知,本公开所提供的相似歌曲检索方法,通过提取所述目标音频中的常数q变换cqt音频特征,可以减少提取特征所带来的耗时;通过在目标网络模型训练时,使用经过指定预处理的样本特征对模型进行训练,可以增强模型的鲁棒性和模型的训练速度;通过预先训练的目标网络模型提取cqt音频特征的特征向量,在备选歌曲的特征向量所在的数据库中对目标音频的特征向量进行检索时,采用基于hnsw图的检索方式在多个数据库中对特征向量进行检索,进一步提高检索速度。
[0090]
为了更好的阐述本公开实施例的内容,下面结合一个具体的示例介绍目标网络模型的结构。
[0091]
图3图示了本公开目标网络模型的示意图,如图3所示,所述目标网络模型包括10层的卷积层(图3中的conv0,conv1

conv9),卷积层中的参数k、c、d分别为卷积核尺寸、通道数和空洞卷积的膨胀系数。bn是批量归一化,是深度学习中常用的方法,relu是一种非线性激活,relu(x)=max(0,x),在0和x之间取最大值,其中,x为自然数。所述目标网络模型还包括5层池化层,其中前四层maxpool是最大池化,参数k、s分别为最大池化的窗口大小和窗口的移动步长,第五层adaptive maxpool为自适应最大池化,输出的尺寸为1*1*512。所述目标网络模型还包括全连接层,最上面的fc0是全连接层,全连接层的输出位数为300位。全连接层可以把分布式特征映射到样本标记空间,以获得整合到一起的特征(representation),即特征向量。该图3所示的前三层采用的卷积核尺寸较大,以获得更大的感受野。这样,在对cqt音频特征进行处理时,可以捕捉到更多信息,携带更多的信息,使得模型输出结果更准确。
[0092]
为了更好的阐述本公开实施例的内容,下面结合图4对本公开一个具体的示例进行描述。
[0093]
如图4所示,本公开的一个具体的示例可以包括如下内容:
[0094]
(1)输入一段待识别音频,提取所述待识别音频中的cqt音频特征,返回(84,t)的二维音频特征,其中,84是固定维度,t是跟音频长短有关的变量,音频越长t越大;
[0095]
(2)将(84,t)的cqt音频特征输入如图3所示的目标网络模型,返回300维的待识别音频的特征向量;
[0096]
(3)将备选歌曲抽取cqt音频特征,并通过如图3所示的目标网络模型,返回300维的备选歌曲的特征向量,该备选歌曲采用的是音频公开数据集shs100k,该数据集有8858首歌,总共108523个歌曲片段,平均每首歌11个片段左右;
[0097]
(4)对备选歌曲的特征向量构成的数据库进行划分,以获得多个数据库,然后在每个数据库中采用基于hnsw图索引检索的方式进行检索,以获得各个数据库中与待识别音频的特征向量相似度最高的目标特征向量,然后将各个数据库中检索结果进行合并,从中选取与待识别音频的特征向量相似度最高的目标特征向量。检索匹配的方式是计算两个300维特征向量之间的余弦距离,设置余弦距离的阈值为0.5,如果待识别音频的特征向量与目标特征向量之间的余弦距离小于0.5,则该目标特征向量对应的备选歌曲为待识别音频的相似歌曲;如果大于0.5,则认为数据库中没有相似歌曲。
[0098]
本公开提供方案中,在获取待识别的目标音频后,通过提取所述目标音频中的常数q变换cqt音频特征,可以减少提取特征所带来的耗时,并且,基于深度学习的方式,通过预先训练的目标网络模型提取目标音频的特征向量,然后基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲,可以提升歌曲检索的鲁棒性。可见,通过本方案,可以兼顾检索速度与鲁棒性。另外,通过深度学习的方式提取目标音频的特征,可以提升检索结果的准确性。
[0099]
基于上述方法的实施例,本公开实施例还提供了一种相似歌曲检索装置,如图5所示,所述装置包括:
[0100]
获取模块510,用于获取待识别的目标音频;
[0101]
提取模块520,用于提取所述目标音频中的常数q变换cqt音频特征;其中,cqt音频特征为通过cqt算法所提取的音频特征;
[0102]
特征向量生成模块530,用于将所述目标音频的cqt音频特征输入预先训练的目标网络模型,得到所述目标音频的特征向量;其中,所述目标网络模型是基于样本音频的样本特征训练得到的、用于进行特征向量提取的模型;所述样本特征是基于所述样本音频的cqt音频特征所确定的音频特征;
[0103]
查找模块540,用于基于多个备选歌曲的特征向量和所述目标音频的特征向量的相似度,从多个备选歌曲中查找所述目标音频的相似歌曲。可选的,所述指定预处理还包括:对随机化处理后的cqt特征进行归一化处理。
[0104]
可选的,所述样本特征是将所述样本音频的cqt音频特征进行指定预处理后所得到的音频特征;
[0105]
其中,所述指定预处理包括随机化处理,所述随机化处理包括利用指定数值随机替换部分特征内容,和/或,利用随机数值替换指定的部分特征内容。
[0106]
可选的,所述指定预处理还包括:对随机化处理后的cqt特征进行归一化处理。
[0107]
可选的,所述目标网络模型是预先训练的歌曲分类模型中的特征向量提取网络;其中,所述歌曲分类模型是基于所述样本音频的样本特征和所述样本音频的歌曲分类结果所训练得到的模型。
[0108]
可选的,所述查找模块,包括:
[0109]
检索子模块,用于从多个备选歌曲的特征向量中,检索与所述目标音频的特征向量相似度最高的目标特征向量;
[0110]
确定子模块,用于若所述目标特征向量与所述目标音频的特征向量的相似度,大于预设相似度阈值,则将所述目标特征向量所属的备选歌曲,确定为所述目标音频的相似歌曲。
[0111]
可选的,所述检索子模块,还用于:
[0112]
以所述目标音频的特征向量作为检索的输入内容,基于图索引检索的方式,从多个备选歌曲的特征向量中,检索与所述目标音频的特征向量相似度最高的目标特征向量。
[0113]
可选的,所述多个备选歌曲的特征向量存储于多个数据库中;所述目标特征向量包括对应于所述多个数据库的多个子目标特征向量;
[0114]
可选的,所述装置还包括:
[0115]
选取子模块,用于在若所述目标特征向量与所述目标音频的特征向量的相似度,大于预设相似度阈值,则将所述目标特征向量所属的备选歌曲,确定为所述目标音频的相似歌曲之前,从多个子目标特征向量中,选取与所述目标音频的特征向量的相似度最高的子目标特征向量;
[0116]
可选的,所述确定子模块,还用于:
[0117]
若选取的子目标特征向量与所述目标音频的特征向量的相似度,大于预设相似度阈值,则将选取的子目标特征向量所属的歌曲,确定为所述目标音频的相似歌曲。
[0118]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0119]
本公开所提供的一种电子设备,可以包括:
[0120]
至少一个处理器;以及
[0121]
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的相似歌曲检索方法的步骤。
[0122]
本公开所提供的一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一相似歌曲检索方法的步骤。
[0123]
在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一相似歌曲检索方法的步骤。
[0124]
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0125]
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0126]
设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;
输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0127]
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如相似歌曲检索方法。例如,在一些实施例中,相似歌曲检索可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的相似歌曲检索方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行相似歌曲检索方法。
[0128]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0129]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0130]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0131]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0132]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0133]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0134]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0135]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜