一种音频检索方法、设备及介质与流程

文档序号:26306981发布日期:2021-08-17 13:48阅读:88来源:国知局
一种音频检索方法、设备及介质与流程

本申请涉及音频检索技术领域,特别涉及一种音频检索方法、设备及介质。



背景技术:

应对识别当前音乐对应哪一首歌曲的需求场景,音频检索技术随之产生,目前,音频检索技术主要分为两类,一种是基于音频指纹的音频检索技术,另一种是基于模糊匹配的音频检索技术,主要基于向量特征检索。不管是基于音频指纹的音频检索技术还是基于向量特征的音频检索技术,目标检索对象通常为曲库中几十万甚至更大量级的歌曲,然而,从几十万的曲目对应的特征库中检索特征的耗时以及资源开销是比较大的,并且由于存在大量干扰歌曲,极易错误召回相似的特征,实际并不是对应着正确的目标歌曲,因此,在明星演唱会或者电视晚会节目场景中,很难快速并且准确地基于现有的音频检索技术返回一个正确的结果。综上,在实现本发明的过程中,发明人至少发现现有技术中存在音频检索耗时以及资源开销较大,且准确度不高的问题。



技术实现要素:

有鉴于此,本申请的目的在于提供一种音频检索方法、设备及介质,能够降低音频检索的耗时以及资源开销,并且提升检索的准确度。其具体方案如下:

第一方面,本申请公开了一种音频检索方法,包括:

获取待检索音频,并提取所述待检索音频的声纹特征;

基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征;

确定所述目标声纹特征对应的目标歌手;

从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集;

基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果。

可选的,所述提取所述待检索音频的声纹特征,包括:

将所述待检索音频切分为多个第一音频片段;

提取每个所述第一音频片段的第一音频特征;

将每个所述第一音频特征输入声纹特征提取模型,得到所述声纹特征提取模型输出的每个所述第一音频片段对应的第一嵌入向量特征;

基于全部所述第一嵌入向量特征的密度分布从全部所述第一嵌入向量特征中筛选出多个目标第一嵌入向量特征;

确定多个所述目标第一嵌入向量特征的均值,并将所述均值作为所述待检索音频的声纹特征。

可选的,所述基于全部所述第一嵌入向量特征的密度分布从全部所述第一嵌入向量特征中筛选出多个目标第一嵌入向量特征,包括:

确定每个所述第一嵌入向量特征与其他所述第一嵌入向量特征的距离和;

基于全部所述距离和从全部所述第一嵌入向量特征中筛选出多个目标第一嵌入向量特征;其中,多个所述目标第一嵌入向量特征对应的所述距离和均小于非目标第一嵌入向量特征对应的所述距离和。

可选的,所述基于全部所述距离和从全部所述第一嵌入向量特征中筛选出多个目标第一嵌入向量特征,包括:

对全部所述距离和按照从小到大的顺序排序,并根据排序结果从全部所述第一嵌入向量特征中筛选出预设数量个目标第一嵌入向量特征,或从全部所述第一嵌入向量特征中筛选出预设比例的目标第一嵌入向量特征。

可选的,所述基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果,包括:

从所述待检索音频切分出多个连续的第二音频片段;

提取每个所述第二音频片段的第二音频特征;

将每个所述第二音频特征输入检索音频特征提取模型,得到所述检索音频特征提取模型输出的每个所述第二音频片段对应的第二嵌入向量特征;

将全部所述第二嵌入向量特征拼接,得到所述待检索音频的嵌入向量特征矩阵;

在所述检索音频特征集中检索出与所述待检索音频的嵌入向量特征矩阵最匹配的检索音频特征,得到目标匹配检索音频特征;

将所述目标匹配检索音频特征对应的歌曲确定为所述待检索音频对应的目标歌曲,得到检索结果。

可选的,所述在所述检索音频特征集中检索出与所述待检索音频的嵌入向量特征矩阵最匹配的检索音频特征,得到目标匹配检索音频特征,包括:

确定所述待检索音频的嵌入向量特征矩阵与所述检索音频特征集中每个检索音频特征的互相关矩阵;

获取目标分类模型,并将每个所述互相关矩阵输入至所述目标分类模型,得到所述目标分类模型输出的每个互相关矩阵对应的匹配度;其中,所述匹配度表示所述待检索音频的嵌入向量特征矩阵与检索音频特征的匹配度;

基于所述匹配度确定出与所述待检索音频的嵌入向量特征矩阵最匹配的检索音频特征,得到目标匹配检索音频特征。

可选的,所述基于所述匹配度确定出与所述待检索音频的嵌入向量特征矩阵最匹配的检索音频特征,得到目标匹配检索音频特征,包括:

对比所述匹配度与预设匹配阈值;

若所述匹配度大于所述预设匹配阈值,则判定相应的检索音频特征与所述待检索音频的嵌入向量特征矩阵匹配;

从全部与所述待检索音频的嵌入向量特征矩阵匹配的检索音频特征中确定出所述匹配度最大的检索音频特征,得到目标匹配检索音频特征。

可选的,所述获取目标分类模型,包括:

获取音频训练数据集;其中,所述音频训练数据集中的音频训练数据均为歌曲片段;

确定所述音频训练数据集中的每个音频训练数据的嵌入向量特征矩阵;

利用匹配的两个音频训练数据的嵌入向量特征矩阵确定第一互相关矩阵,以及不匹配的两个音频训练数据的嵌入向量特征矩阵确定第二互相关矩阵;其中,匹配的两个音频训练数据为分别在同一歌曲不同版本的相同位置截取的两个歌曲片段;不匹配的两个音频训练数据为在不同歌曲截取的两个歌曲片段;

将所述第一互相关矩阵以及所述第一互相关矩阵的第一标签信息、所述第二互相关矩阵以及所述第二互相关矩阵的第二标签信息输入至分类模型进行训练,直至所述分类模型收敛,得到目标分类模型。

第二方面,本申请公开了一种音频检索装置,包括:

待检索音频获取模块,用于获取待检索音频;

声纹特征提取模块,用于提取所述待检索音频的声纹特征;

声纹特征匹配模块,用于基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征;

目标歌手确定模块,用于确定所述目标声纹特征对应的目标歌手;

音频特征筛选模块,用于从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集;

目标歌曲检索模块,用于基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果。

第三方面,本申请公开了一种电子设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现前述的音频检索方法。

第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的音频检索方法。

可见,本申请获取待检索音频,并提取所述待检索音频的声纹特征,先基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征,确定所述目标声纹特征对应的目标歌手,之后从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集,最后基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果。也即,本申请先提取待检索音频的声纹特征,进而匹配出该声纹特征对应的目标歌手,之后将检索音频特征范围缩小在目标歌手的所有歌曲对应的检索音频特征集,减少了检索量,排除了其他歌手的特征,能够降低音频检索的耗时以及资源开销,并且提升检索的准确度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请提供的音频检索方案所适用的系统框架示意图;

图2为本申请公开的一种音频检索方法流程图;

图3为本申请公开的一种具体的音频检索方法流程图;

图4为本申请公开的一种具体的音频检索方法流程图;

图5为本申请公开的一种具体的声纹特征提取流程图;

图6为现有技术中的一种嵌入向量特征分布以及声纹特征示意图;

图7为本申请公开的一种嵌入向量特征分布以及声纹特征示意图;

图8为本申请公开的一种具体的音频检索方法流程图;

图9为本申请公开的一种具体的分类模型训练方法流程图;

图10为本申请公开的一种具体的音频检索方法流程图;

图11为本申请公开的一种匹配结果示意图;

图12为本申请提供的一种音频检索装置结构示意图;

图13为本申请提供的一种电子设备结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前,音频检索技术主要分为两类,一种是基于音频指纹的音频检索技术,另一种是基于模糊匹配的音频检索技术,主要基于向量特征检索。不管是基于音频指纹的音频检索技术还是基于向量特征的音频检索技术,目标检索对象通常为曲库中几十万甚至更大量级的歌曲,然而,从几十万的曲目对应的特征库中检索特征的耗时以及资源开销是比较大的,并且由于存在大量干扰歌曲,极易错误召回相似的特征,实际并不是对应着正确的目标歌曲,因此,在明星演唱会或者电视晚会节目场景中,很难快速并且准确地基于现有的音频检索技术返回一个正确的结果。综上,在实现本发明的过程中,发明人至少发现现有技术中存在音频检索耗时以及资源开销较大,且准确度不高的问题。为此,本申请提供了一种音频检索方案,能够降低音频检索的耗时以及资源开销,并且提升检索的准确度。

本申请的音频检索方案中,采用的系统框架具体可以参见图1所示,具体可以包括:后台服务器和与后台服务器建立通信连接的若干数量的用户端。其中,用户端包括但不限于平板电脑、笔记本电脑、智能手机、个人电脑(personalcomputer,pc),此处不做限定。

本申请中,用户端用于向后台服务器发送待检索音频,后台服务器执行音频检索方法的步骤,包括获取待检索音频,并提取所述待检索音频的声纹特征;基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征;确定所述目标声纹特征对应的目标歌手;从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集;基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果。后台服务器将目标歌曲的歌曲信息推送至用户端显示,歌曲信息可以包括歌名、歌手等。

参见图2所示,本申请实施例公开了一种音频检索方法,包括:

步骤s101:获取待检索音频,并提取所述待检索音频的声纹特征。

在具体的实施方式中,可以提取待检索音频的ivector特征作为声纹特征,也可以利用预先基于端到端训练得到的神经网络模型输出待检索音频对应的embedding(嵌入向量)特征,确定待检索音频的声纹特征。其中,神经网络模型可以为cnn(即convolutionalneuralnetworks,卷积神经网络)、rnn(即recurrentneuralnetwork,循环神经网络)等,在此不做限制。

步骤s102:基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征。

在具体的实施方式中,可以筛选曲库中全部歌手的能够反映其声音特征的代表歌曲,利用筛选出的代表歌曲提取每个歌手的声纹特征,构建预设声纹特征库。

步骤s103:确定所述目标声纹特征对应的目标歌手。

在具体的实施方式中,基于所述声纹特征从预设声纹特征库中匹配出多个目标声纹特征,确定多个目标声纹特征对应的目标歌手。

步骤s104:从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集。

在具体的实施方式中,可以构建曲库中所有歌曲对应的检索音频特征库,得到预设检索音频特征库。

其中,检索音频特征包括但不限于基于端到端的embedding特征、音频指纹,比如波峰能量点。

步骤s105:基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果。

在具体的实施方式中,可以先提取待检索音频的检索音频特征,之后在检索音频特征集中检索对应的匹配检索音频特征,之后确定该匹配检索音频特征对应的目标歌曲,得到检索结果。

例如,参见图3所示,图3为本申请实施例公开的一种具体的音频检索方法流程图。用户端录制音频,得到待检索音频,向服务器发送携带待检索音频的音频检索请求,服务器首先进行声纹识别,提取待检索音频对应的声纹特征f_query,将f_query与提前计算好的库内所有歌手的声纹特征f_1,f_2,f_i,…,f_n匹配,匹配出目标歌手i_1,i_2…i_k(k<n),提取待检索音频的检索音频特征y,目标歌手的所有歌曲的检索音频特征yi_1,yi_2…,yi_p构成检索音频特征集,在目标歌手的所有歌曲对应的检索音频特征集中进行匹配,得到检索结果,将检索结果对应的歌曲信息返回至用户端。

可见,本申请实施例获取待检索音频,并提取所述待检索音频的声纹特征,先基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征,确定所述目标声纹特征对应的目标歌手,之后从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集,最后基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果。也即,本申请先提取待检索音频的声纹特征,进而匹配出该声纹特征对应的目标歌手,之后将检索音频特征范围缩小在目标歌手的所有歌曲对应的检索音频特征集,减少了检索量,排除了其他歌手的特征,能够降低音频检索的耗时以及资源开销,并且提升检索的准确度。

参见图4所示,本申请实施例公开了一种具体的音频检索方法,包括:

步骤s201:获取待检索音频。

步骤s202:将所述待检索音频切分为多个第一音频片段。

在具体的实施方式中,可以将待检索音频按照预设长度切分为多个第一音频片段,其中,预设长度可以为2秒,或3秒。

步骤s203:提取每个所述第一音频片段的第一音频特征。

在具体的实施方式中,可以提取每个第一音频片段的stft(即short-timefouriertransform,短时傅里叶变换)频谱幅度、或log-mel(梅尔)频谱、或mfcc(即mel-frequencycepstralcoefficients,梅尔频率的倒谱系数)特征等,得到第一音频特征。

步骤s204:将每个所述第一音频特征输入声纹特征提取模型,得到所述声纹特征提取模型输出的每个所述第一音频片段对应的第一嵌入向量特征。

其中,声纹特征提取模型的训练过程包括:获取训练音频数据集,将训练音频数据集中的每个音频数据切分为多个音频片段,提取低维度的音频特特征,即前述stft频谱幅度、或log-mel频谱、或mfcc特征,将低维度的音频特征输入预先搭建的深度神经网络模型进行训练,在训练过程中利用模型输出的embedding特征、低维度的音频特征以及对应的标签信息计算损失,利用损失更新网络模型参数,直到网络模型收敛,得到声纹特征提取模型。

步骤s205:基于全部所述第一嵌入向量特征的密度分布从全部所述第一嵌入向量特征中筛选出多个目标第一嵌入向量特征。

在具体的实施方式中,可以确定每个所述第一嵌入向量特征与其他所述第一嵌入向量特征的距离和;基于全部所述距离和从全部所述第一嵌入向量特征中筛选出多个目标第一嵌入向量特征;其中,多个所述目标第一嵌入向量特征对应的所述距离和均小于非目标第一嵌入向量特征对应的所述距离和。

并且,本实施例可以对全部所述距离和按照从小到大的顺序排序,并根据排序结果从全部所述第一嵌入向量特征中筛选出预设数量个目标第一嵌入向量特征,或从全部所述第一嵌入向量特征中筛选出预设比例的目标第一嵌入向量特征。例如,预设数量为10,或者预设比例为5%,可以根据排序结果从全部所述第一嵌入向量特征中筛选出前10个第一嵌入向量特征作为目标第一嵌入向量特征,或从全部所述第一嵌入向量特征中筛选出前5%的第一嵌入向量特征作为目标第一嵌入向量特征。

步骤s206:确定多个所述目标第一嵌入向量特征的均值,并将所述均值作为所述待检索音频的声纹特征。

例如,参见图5所示,图5为本申请实施例公开的一种具体的声纹特征提取流程图。首先将待检索音频x(n)切分为多个第一音频片段,提取每个第一音频片段的第一音频特征x1,x2,…,xn,将x1,x2,…,xn送入训练好的声纹特征提取模型,分别得到embedding特征v1,v2,…,vi,…,vn,逐个计算各embedding特征到其他embedding特征的距离和,例如,embedding特征vm到其他embedding特征的距离和为:

筛选出embedding中距离和最小的k个点(例如k=10)。也即基于密度分布按密度中心在高密度区域筛选出其中最有代表性的k个embedding特征(v_c1,v_c2,…,v_ck);最后计算x(n)的声纹特征为mean(v_c1,v_c2,…,v_ck),其中,mean表示均值计算。

需要指出的是,现有的声纹识别技术主要面向语音信号,服务于说话人识别,在进行声纹识别时,将待识别语音切分为n个t秒的音频片段,提取对应的音频特征,输入训练好的深度神经网络模型后生成n个embedding,理想情况下这n个embedding的数值是一致的,因为各片段同属一个说话人,但实际情况下由于说话人音色有波动,各embedding的数值并不一致,通常对生成的n个embedding取均值得到一个最终的平均embedding用来表征该说话人的声纹特征。声纹特征库同样按照这种方式去处理,最终针对任务场景进行说话人辨认(identification)1vsn或者说话人确认(verification)1vs1。而语音信号的音色变化很稳定,对多个连续的embedding取平均是没问题的,但是针对歌声场景下,由于歌手在不同时刻的唱法变化很大,导致同一个歌手的音色embedding分布离散度非常高,对所有embedding取均值后很可能并不能很好地代表该歌手的音色特征。例如,参见图6所示,图6为现有技术中的一种嵌入向量特征分布以及声纹特征示意图,将两个歌手的embedding特征分别用加号和圆点表征出来,由于歌手的音色范围变化很广,直接取均值后得到均值1和均值2,如图6所示,两个本来音色差别较大的歌手最终的均值embedding会很靠近,可见针对歌声音色embedding的表征,直接取均值的方法并不能有效的代表歌手的音色特征。因此需要用更合适的方法从这样的离散点中找到一个能很好表征歌手音色的embedding特征。鉴于此,本申请实施例公开了上述提取声纹特征的方法,参见图7所示,图7为本申请实施例公开的一种嵌入向量特征分布以及声纹特征示意图。从图7可知,在两个歌手声纹音色范围分布较广的情况下,采用本申请提供的声纹特征提取方案,最终得到的代表性声纹特征能较好地区分两者。

步骤s207:基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征。

在具体的实施方式中,可以参考步骤s206公开的声纹特征提取方法提取每个歌手的声纹特征,构建预设声纹特征库。

步骤s208:确定所述目标声纹特征对应的目标歌手。

步骤s209:从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集。

步骤s210:基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果。

可见,本申请实施例提取待检索音频的声纹特征是先将待检索音频切分为多个第一音频片段,并提取每个第一音频片段的第一音频特征,之后将每个第一音频特征输入声纹特征提取模型,得到声纹特征提取模型输出的每个第一音频片段对应的第一嵌入向量特征,然后基于全部第一嵌入向量特征的密度分布从全部所述第一嵌入向量特征中筛选出多个目标第一嵌入向量特征;最后确定多个目标第一嵌入向量特征的均值,并将该均值作为待检索音频的声纹特征。这样,基于全部第一嵌入向量特征的密度分布筛选多个目标第一嵌入向量特征,能够筛选出多个具有代表性的第一嵌入向量特征,剔除无效的离群点,即离群的第一嵌入向量特征,取目标第一嵌入向量特征的均值作为声纹特征,能够更好的区分歌手,从而提升声纹识别的准确度。

参见图8所示,本申请实施例公开了一种具体的音频检索方法,包括:

步骤s301:获取待检索音频,并提取所述待检索音频的声纹特征。

步骤s302:基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征。

步骤s303:确定所述目标声纹特征对应的目标歌手。

步骤s304:从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集。

步骤s305:从所述待检索音频切分出多个连续的第二音频片段。

在具体的实施方式中,可以先从待检索音频截取出固定长度,如果待检索音频长度不足,则补零,得到固定长度的音频数据,然后根据预设片段长度和预设步长将固定长度的音频数据切分为多个连续的第二音频片段。

例如,从待检索音频截取长度15s的音频数据,按预设片段长度t(例如t=2s)切片,预设步长为1s,这样,15s的音频数据可以切分为14个连续的长度为2s音频片段。

需要指出的,前述实施例中的将所述待检索音频切分为多个第一音频片段的具体切分过程可以和第二音频片段的切分过程一致,这样,在整个音频检索过程中只需对待检索音频进行1次切分,得到的音频片段分别用于声纹识别以及检索音频特征的检索。当然,第一音频片段和第二音频片段的切分过程也可以不一致。

步骤s306:提取每个所述第二音频片段的第二音频特征。

在具体的实施方式中,第二音频特征可以为log-mel、hpcp(即harmonicpitchclassprofile,和声级轮廓特征)、cqt(即constantqtransform,恒q变换)等。

步骤s307:将每个所述第二音频特征输入检索音频特征提取模型,得到所述检索音频特征提取模型输出的每个所述第二音频片段对应的第二嵌入向量特征。

在具体的实施方式中,本申请实施例可以预先训练检索音频特征提取模型,提取训练音频数据的log-mel/或hpcp/或cqt特征,输入预先搭建的神经网络模型进行训练,直到模型收敛,得到检索音频特征提取模型,其中,搭建的神经网络模型可以为cnn,rnn等,在此不做限制。

步骤s308:将全部所述第二嵌入向量特征拼接,得到所述待检索音频的嵌入向量特征矩阵。

在具体的实施方式中,嵌入向量特征矩阵的获取过程与声纹特征提取可以并行进行。

步骤s309:在所述检索音频特征集中检索出与所述待检索音频的嵌入向量特征矩阵最匹配的检索音频特征,得到目标匹配检索音频特征。

可以理解的是,检索音频特征集中的检索音频特征均为嵌入向量特征矩阵。也即,本申请实施例中的预设检索音频特征库中的检索音频特征均为预先计算好的嵌入向量特征矩阵。

在具体的实施方式中,步骤s309的具体包括:

步骤s3091:确定所述待检索音频的嵌入向量特征矩阵与所述检索音频特征集中每个检索音频特征的互相关矩阵。

步骤s3092:获取目标分类模型,并将每个所述互相关矩阵输入至所述目标分类模型,得到所述目标分类模型输出的每个互相关矩阵对应的匹配度;其中,所述匹配度表示所述待检索音频的嵌入向量特征矩阵与检索音频特征的匹配度。

参见图9所示,本申请实施例公开了一种具体的分类模型训练方法,包括:

步骤s401:获取音频训练数据集;其中,所述音频训练数据集中的音频训练数据均为歌曲片段。

步骤s402:确定所述音频训练数据集中的每个音频训练数据的嵌入向量特征矩阵。

步骤s403:利用匹配的两个音频训练数据的嵌入向量特征矩阵确定第一互相关矩阵,以及不匹配的两个音频训练数据的嵌入向量特征矩阵确定第二互相关矩阵;其中,匹配的两个音频训练数据为分别在同一歌曲不同版本的相同位置截取的两个歌曲片段;不匹配的两个音频训练数据为在不同歌曲截取的两个歌曲片段。

例如,歌曲七里香的第一个版本(周杰伦原始唱片)的歌曲片段和第二个版本(周杰伦某个演唱会版本)的歌曲片段,其中,第一个版本和第二个版本的时间点需要对齐,比如,均为15秒到30秒。将两个歌唱片段先分片,并提取第二音频特征,之后输入检索音频特征提取模型输出对应的多个第二嵌入向量特征,分别拼接两个歌唱片段的嵌入向量特征矩阵,计算互相关矩阵,并打上标签1,输入分类模型进行训练;确定林俊杰的《江南》的歌曲片段的嵌入向量特征矩阵,与歌曲七里香的第一个版本的歌唱片段的嵌入向量特征矩阵计算互相关矩阵,并打上标签0,输入分类模型进行训练。

需要指出的是,匹配的音频训练数据可以为同一歌手的不同版本,也可以是其他歌手的翻唱版本,因为分类模型学习到的是歌曲的旋律特征。并且,本申请实施例提供的目标分类模型不局限于演唱会或者电视晚会节目等的音频检索,也可以应用于翻唱识别的应用场景,也即,当前演唱者并不是歌曲的原唱,检索出原唱歌曲。

在具体的实施方式中,搭建的分类网络可以为cnn等,输入为互相关矩阵,输出为sigmoid激活函数的输出,为0~1之间的数值,表示匹配度,若为0则代表无法匹配,若为1则表示完全匹配,在实际使用中会设置一个0~1之间的匹配度阈值。

步骤s404:将所述第一互相关矩阵以及所述第一互相关矩阵的第一标签信息、所述第二互相关矩阵以及所述第二互相关矩阵的第二标签信息输入至分类模型进行训练,直至所述分类模型收敛,得到目标分类模型。

步骤s3093:基于所述匹配度确定出与所述待检索音频的嵌入向量特征矩阵最匹配的检索音频特征,得到目标匹配检索音频特征。

在具体的实施方式中,可以对比所述匹配度与预设匹配阈值;若所述匹配度大于所述预设匹配阈值,则判定相应的检索音频特征与所述待检索音频的嵌入向量特征矩阵匹配;从全部与所述待检索音频的嵌入向量特征矩阵匹配的检索音频特征中确定出所述匹配度最大的检索音频特征,得到目标匹配检索音频特征。

也即,在具体的应用过程中,可能匹配到多个检索音频特征,可以从中确定出匹配度最大的检索音频特征,得到目标匹配检索音频特征。

步骤s310:将所述目标匹配检索音频特征对应的歌曲确定为所述待检索音频对应的目标歌曲,得到检索结果。

例如,参见图10所示,图10为本申请实施例公开的一种具体的音频检索方法流程图。从待检索音频截取长度15s的音频数据,按预设片段长度t=2s切片,预设步长为1s,切分为k(k=14)个连续的长度为2s音频片段,分别提取音频特征(例如log-mel,hpcp,cqt等),将提取的音频特征输入检索音频特征提取模型,得到k个n维embedding特征,拼接为n*k的embedding矩阵。然后计算embedding矩阵(m_query:n*k)与从预设检索音频特征库中筛选出的目标歌手的所有歌曲对应的检索音频特征集中提前计算好的embedding矩阵(m_lib_i:n*k,i=1,2…)的互相关矩阵,m_query和m_lib_i的互相关矩阵:

cov(m_query,m_lib_i)[j,k]=distance(m_query(:,j),m_lib_i(:,k))。

其中,cov(m_query,m_lib_i)为一个k*k的矩阵,如图10中所示。若待检索和待匹配的音频完全相同,则该互相关矩阵为对角线的斜率为1的矩阵,若有变速(甚至忽快忽慢),则对应斜率发生改变。可以通过分类模型学习到,其中,目标分类模型的输入为k*k*1,将互相关矩阵输入目标分类模型,得到每个互相关矩阵对应的输出结果,即0~1的匹配度。

需要指出的是,现有技术通常采用直方图的匹配方式,对一段待检索的音频信号x(n)提取特征得到连续的音频特征x1,x2,…,xn,送入训练好的神经网络得到对应的embedding特征v1、v2、…、vn,将这些embedding逐个与特征库匹配,分别得到检索结果q1,q2,…,qn,之后进行直方图统计,发明人发现,在理想情况下,若请求的检索特征成功匹配,检索结果q1、q2、…、qn将属于建库中某一首歌的某一片段,请求片段与匹配片段的连线近似于一个斜率为1的对角线,参见图11所示,图11为本申请实施例公开的一种匹配结果示意图图11中左侧的图为命中结果示意图,请求片段与匹配片段的连线斜率近似为1。右侧的图为现有技术中的直方图统计示意图,这样,按直方图统计,某首歌40s的地方开始直方图统计有峰值,即认为该歌曲40s开始的地方即为请求音频的检索结果。而这种匹配方式存在很大的缺点,无法兼容变速,即请求检索的音频的速率需要与建库中原始音频的速率保持一致,对应匹配点的连线为斜率为1。但这样会在某些检索场景产生局限性,比如有的歌手现场演奏时由于临场发挥演唱速度变快(斜率小于1)或变慢(斜率小于1),在这种情况下,通过直方图统计的方法无法产生有效峰值,直方图变得平坦,难以得到检索结果。

而本申请实施例中,使用互相关矩阵搭配分类网络模型的方式能很好地应对检索音频中出现的变速、大改编等问题。可以理解的是,同一首歌的某个片段在两个不同版本下,如果这两个版本有一些变速差异,那么互相关矩阵不会有斜率为1的对角线,有可能是斜率>1(偏慢)或者斜率小于1(偏快)甚至来回弯曲的斜线(忽快忽慢),在训练分类网络模型的时候,将同一首歌的两段不同版本的歌曲片段对应的互相关矩阵打标签为“1”,即使互相关矩阵并不是斜率1的对角线,而两段完全没有关联的歌曲片段,打上“0”的标签,通常情况下非同歌曲的两段音频片段对应的互相关矩阵是杂乱无章,没有斜率为1的对角线,弯弯曲曲近似斜率为1的斜线也没有。这样训练得到的分类网络模型,能够兼容各种并非斜率1的情况,是可以通过神经网络学习到的。

可见,本申请实施例利用互相关矩阵以及分类网络模型,能够应对歌曲改编以及变速的情况,提升音频检索的兼容性。

下面,以某款音乐app为例,对本申请的技术方案进行说明。

假设用户在用户端安装了这款音乐app,在某晚会上听到一首歌曲,想要检索该歌曲对应的歌曲信息,进入这款app的听歌识曲功能,点击开始识别,对该歌曲的演唱进行录制,得到待检索音频,并向这款音乐app的后台服务器发送携带待检索音频的音频检索请求。

后台服务器获取到待检索音频,将待检索音频切分为14个长度为2秒的第一音频片段,提取每个第一音频片段的mfcc特征,将每个mfcc特征输入声纹特征提取模型,得到声纹特征提取模型输出的每个第一音频片段对应的第一嵌入向量特征,然后确定每个第一嵌入向量特征与其他第一嵌入向量特征的距离和,之后基于全部距离和从全部第一嵌入向量特征中筛选出10个距离和最小的目标第一嵌入向量特征,并确定10个目标第一嵌入向量特征的均值,并将均值作为待检索音频的声纹特征,在得到待检索音频的声纹特征之后,基于声纹特征从预设声纹特征库中匹配出目标声纹特征,确定目标声纹特征对应的目标歌手包括歌手a、歌手b、歌手c,从预设检索音频特征库中筛选出歌手a、歌手b、歌手c的每首歌曲的检索音频特征,得到歌手a、歌手b、歌手c的所有歌曲对应的检索音频特征集。检索音频特征的检索过程包括:截取15秒的音频数据,切分为14个连续的且每个长度为2秒的第二音频片段,提取每个第二音频片段的hpcp特征,将每个hpcp特征输入检索音频特征提取模型,得到检索音频特征提取模型输出的每个第二音频片段对应的第二嵌入向量特征,将全部第二嵌入向量特征拼接,得到待检索音频的嵌入向量特征矩阵,确定待检索音频的嵌入向量特征矩阵与检索音频特征集中每个检索音频特征的互相关矩阵,获取目标分类模型,并将每个互相关矩阵输入至目标分类模型,得到目标分类模型输出的每个互相关矩阵对应的匹配度;其中,匹配度表示待检索音频的嵌入向量特征矩阵与检索音频特征的匹配度;基于匹配度确定出与待检索音频的嵌入向量特征矩阵匹配度最高的检索音频特征,得到目标匹配检索音频特征,将匹配检索音频特征对应的歌曲x确定为待检索音频对应的目标歌曲,得到检索结果,之后将歌曲x对应的歌曲信息返回至用户端显示,其中,歌曲信息可以包括歌名、歌手、以及待检索音频对应的时间点信息等。

参见图12所示,本申请实施例公开了一种音频检索装置,包括:

待检索音频获取模块11,用于获取待检索音频;

声纹特征提取模块12,用于提取所述待检索音频的声纹特征;

声纹特征匹配模块13,用于基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征;

目标歌手确定模块14,用于确定所述目标声纹特征对应的目标歌手;

音频特征筛选模块15,用于从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集;

目标歌曲检索模块16,用于基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果。

可见,本申请实施例获取待检索音频,并提取所述待检索音频的声纹特征,先基于所述声纹特征从预设声纹特征库中匹配出目标声纹特征,确定所述目标声纹特征对应的目标歌手,之后从预设检索音频特征库中筛选出所述目标歌手的每首歌曲的检索音频特征,得到所述目标歌手的所有歌曲对应的检索音频特征集,最后基于所述检索音频特征集检索出所述待检索音频对应的目标歌曲,得到检索结果。也即,本申请先提取待检索音频的声纹特征,进而匹配出该声纹特征对应的目标歌手,之后将检索音频特征范围缩小在目标歌手的所有歌曲对应的检索音频特征集,减少了检索量,排除了其他歌手的特征,能够降低音频检索的耗时以及资源开销,并且提升检索的准确度。

其中,声纹特征提取模块12,包括:

第一音频片段切分子模块,用于将所述待检索音频切分为多个第一音频片段;

第一音频特征提取子模块,用于提取每个所述第一音频片段的第一音频特征;

第一嵌入向量特征获取子模块,用于将每个所述第一音频特征输入声纹特征提取模型,得到所述声纹特征提取模型输出的每个所述第一音频片段对应的第一嵌入向量特征;

第一嵌入向量特征筛选子模块,用于基于全部所述第一嵌入向量特征的密度分布从全部所述第一嵌入向量特征中筛选出多个目标第一嵌入向量特征;

声纹特征确定子模块,用于确定多个所述目标第一嵌入向量特征的均值,并将所述均值作为所述待检索音频的声纹特征。

并且,第一嵌入向量特征筛选子模块,具体包括:

距离和确定单元,用于确定每个所述第一嵌入向量特征与其他所述第一嵌入向量特征的距离和;

第一嵌入向量特征筛选单元,用于基于全部所述距离和从全部所述第一嵌入向量特征中筛选出多个目标第一嵌入向量特征;其中,多个所述目标第一嵌入向量特征对应的所述距离和均小于非目标第一嵌入向量特征对应的所述距离和。

在具体的实施方式中,第一嵌入向量特征筛选单元,具体用于对全部所述距离和按照从小到大的顺序排序,并根据排序结果从全部所述第一嵌入向量特征中筛选出预设数量个目标第一嵌入向量特征,或从全部所述第一嵌入向量特征中筛选出预设比例的目标第一嵌入向量特征。

在具体的实施方式中,目标歌曲检索模块16,具体包括:

第二音频片段切分子模块,用于从所述待检索音频切分出多个连续的第二音频片段;

第二音频特征提取子模块,用于提取每个所述第二音频片段的第二音频特征;

第二嵌入向量特征获取子模块,用于将每个所述第二音频特征输入检索音频特征提取模型,得到所述检索音频特征提取模型输出的每个所述第二音频片段对应的第二嵌入向量特征;

嵌入向量特征矩阵子模块,用于将全部所述第二嵌入向量特征拼接,得到所述待检索音频的嵌入向量特征矩阵;

目标匹配检索音频特征确定子模块,用于在所述检索音频特征集中检索出与所述待检索音频的嵌入向量特征矩阵最匹配的检索音频特征,得到目标匹配检索音频特征;

目标歌曲检索子模块,用于将所述目标匹配检索音频特征对应的歌曲确定为所述待检索音频对应的目标歌曲,得到检索结果。

其中,目标匹配检索音频特征确定子模块,具体包括:

互相关矩阵确定子模块,用于确定所述待检索音频的嵌入向量特征矩阵与所述检索音频特征集中每个检索音频特征的互相关矩阵;

目标分类模型获取子模块,用于获取目标分类模型;

匹配度确定子模块,用于将每个所述互相关矩阵输入至所述目标分类模型,得到所述目标分类模型输出的每个互相关矩阵对应的匹配度;其中,所述匹配度表示所述待检索音频的嵌入向量特征矩阵与检索音频特征的匹配度;

目标匹配检索音频特征确定子模块,用于基于所述匹配度确定出与所述待检索音频的嵌入向量特征矩阵最匹配的检索音频特征,得到目标匹配检索音频特征。

在具体的实施方式中,目标匹配检索音频特征确定子模块,具体用于对比所述匹配度与预设匹配阈值;若所述匹配度大于所述预设匹配阈值,则判定相应的检索音频特征与所述待检索音频的嵌入向量特征矩阵匹配;从全部与所述待检索音频的嵌入向量特征矩阵匹配的检索音频特征中确定出所述匹配度最大的检索音频特征,得到目标匹配检索音频特征。

在具体的实施方式中,目标分类模型获取子模块,具体包括:

音频训练数据集获取单元,用于获取音频训练数据集;其中,所述音频训练数据集中的音频训练数据均为歌曲片段;

嵌入向量特征矩阵确定单元,用于确定所述音频训练数据集中的每个音频训练数据的嵌入向量特征矩阵;

互相关矩阵确定单元,用于利用匹配的两个音频训练数据的嵌入向量特征矩阵确定第一互相关矩阵,以及不匹配的两个音频训练数据的嵌入向量特征矩阵确定第二互相关矩阵;其中,匹配的两个音频训练数据为分别在同一歌曲不同版本的相同位置截取的两个歌曲片段;不匹配的两个音频训练数据为在不同歌曲截取的两个歌曲片段;

音频检索单元,用于将所述第一互相关矩阵以及所述第一互相关矩阵的第一标签信息、所述第二互相关矩阵以及所述第二互相关矩阵的第二标签信息输入至分类模型进行训练,直至所述分类模型收敛,得到目标分类模型。

进一步的,本申请实施例还提供了一种电子设备。图13是根据一示例性实施例示出的电子设备20结构图,图中的内容不能被认为是对本申请的使用范围的任何限制。

图13为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的音频检索方法中的相关步骤。另外,本实施例中的电子设备20具体可以为服务器。

本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及音频数据223等,存储方式可以是短暂存储或者永久存储。

其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中音频数据223的运算与处理,其可以是windowsserver、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的音频检索方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。

进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的音频检索方法步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请所提供的一种音频检索方法、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1