音频数据的乐器识别方法及装置、电子设备、存储介质与流程

文档序号:16188540发布日期:2018-12-08 05:27阅读:368来源:国知局
音频数据的乐器识别方法及装置、电子设备、存储介质与流程

本发明涉及计算机技术领域,特别涉及一种音频数据的乐器识别方法及装置、电子设备、计算机可读存储介质。

背景技术

乐器识别是音乐内容分析的一个重要问题,它可以为其它声源识别技术提供有效参考,但由于应用领域狭窄,研究尚未成熟。目前已有的技术方案,主要研究对象是西方乐器和中国民族乐器。其中西方乐器包括:小提琴、中提琴、大提琴、低音大提琴、吉他、竖琴、钢琴、小号、短号、法国号、萨克斯、低音号、长笛、双簧管、单簧管、排箫和低音管等。中国民族乐器主要研究了二胡、高胡、中胡、琵琶、古筝、阮、扬琴、鼓、竹笛。

现有的乐器音频识别方法主要用于识别单调音乐(仅使用一种乐器),通过提取某单调音乐的声学特征(抽取的声学特征大致有时频特征、能量特征、波谱特征、和声特征、感知特征等),将其与训练阶段获得的不同乐器的声学特征进行匹配,进而实现单调音乐的乐器识别。而复调音乐与单调音乐不同,复调音乐是由多种乐器混合演奏产生的音频数据,从复调音乐中所提取的声学特征是多种乐器声学特征的混合,由此难以通过特征匹配的方式,识别出复调音乐中所使用的乐器种类。



技术实现要素:

为了解决相关技术中存在的难以识别出复调音乐中所使用的乐器种类的问题,本发明提供了一种音频数据的乐器识别方法。

本发明提供了一种音频数据的乐器识别方法,包括:

对待识别音频数据进行预处理;

通过短时傅里叶变换将所述待识别音频数据从时域信号转换成预设窗口数量的频域信号;

将所述预设窗口数量的频域信号从频率标度转换为梅尔标度,得到梅尔谱图;

将所述梅尔谱图输入预先构建的乐器识别模型,得到所述待识别音频数据所使用的乐器种类。

可选的,所述将所述梅尔谱图输入预先构建的乐器识别模型,得到所述待识别音频数据的乐器识别结果,包括:

通过预先构建的乐器识别模型对所述梅尔谱图进行卷积计算,输出卷积计算结果;

对所述卷积计算结果进行归一化处理,得到所述待识别音频数据包含每种乐器的概率;

将所述待识别音频数据包含每种乐器的概率与预设参数进行比较,确定所述待识别音频数据所使用的乐器种类。

可选的,所述将所述梅尔谱图输入预先构建的乐器识别模型,得到所述待识别音频数据的乐器识别结果之前,所述方法包括:

获取样本音频片段以及所述样本音频片段已知的乐器标签信息;

通过所述样本音频片段以及对应的乐器标签信息进行神经网络学习,得到所述乐器识别模型。

可选的,所述通过所述样本音频片段以及对应的乐器标签信息进行神经网络学习,得到所述乐器识别模型,包括:

提取所述样本音频片段的样本梅尔谱图;

通过搭建深度卷积神经网络对所述样本梅尔谱图进行卷积计算,提取所述样本梅尔谱图对应的乐器特征;

根据所述样本音频片段对应的乐器标签信息,调整所述深度卷积神经网络的权重参数,使所述乐器特征与所述乐器标签信息之间的差异最小,调整后的所述深度卷积神经网络作为所述乐器识别模型。

可选的,根据所述样本音频片段对应的乐器标签信息,调整所述深度卷积神经网络的权重参数,使所述乐器特征与所述乐器标签信息之间的差异最小,包括:

通过调整所述深度卷积神经网络的权重参数,使提取的所述乐器特征与所述乐器标签信息之间的欧式距离最小。

可选的,所述对待识别音频数据进行预处理,包括:

将所述待识别音频数据从立体声转化为单声道;

对单声道的所述待识别音频数据进行降采样;

对降采样后的所述待识别音频数据进行归一化。

可选的,将所述待识别音频数据从立体声转化为单声道,包括:

将所述待识别音频数据的左声道数据和右声道数据取平均值,得到单声道的音频数据。

本发明还提供了一种音频数据的乐器识别装置,所述装置包括:

预处理模块,用于对待识别音频数据进行预处理;

信号转换模块,用于通过短时傅里叶变换将所述待识别音频数据从时域信号转换成预设窗口数量的频域信号;

梅尔转换模块,用于将所述预设窗口数量的频域信号从频率标度转换为梅尔标度,得到梅尔谱图;

乐器识别模块,用于将所述梅尔谱图输入预先构建的乐器识别模型,得到所述待识别音频数据所使用的乐器种类。

进一步,本发明还提供了一种电子设备,所述电子设备:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述任意一种音频数据的乐器识别方法。

进一步的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可由处理器执行完成上述任意一种音频数据的乐器识别方法。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明提供的技术方案,通过将待识别音频数据转换为梅尔谱图,并利用预先构建的乐器识别模型对梅尔谱图进行处理,进而可以得到待识别音频数据所使用的乐器种类。由于复调音乐是由多种乐器混合演奏产生的音频数据,从复调音乐中所提取的声学特征是多种乐器声学特征的混合,由此难以通过与乐器声学特征匹配的方式,识别出复调音乐中所使用的乐器种类。本发明提供的方案,解决了现有技术无法识别出复调音乐中所使用乐器种类的缺陷,通过预先构建的乐器识别模型对待识别音频数据的梅尔谱图进行处理,进而可以识别出复调音乐中所使用的乐器种类。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据本发明所涉及的实施环境的示意图;

图2是根据一示例性实施例示出的一种服务器的框图;

图3是根据一示例性实施例示出的一种音频数据的乐器识别方法的流程图;

图4是图3对应实施例中步骤370的细节流程图;

图5为音频数据的乐器识别过程示意图;

图6是在图3对应实施例的基础上示出的一种音频数据的乐器识别方法的流程图;

图7是图6对应实施例中步骤362的细节流程图;

图8是图3对应实施例中步骤310的细节流程图;

图9是根据另一示例性实施例示出的一种音频数据的乐器识别装置的框图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的本发明所涉及的实施环境示意图。本发明所涉及的实施环境包括服务器110。服务器110可以采用本发明提供的方法对音频数据进行乐器识别。

根据需要,该实施环境还将包括提供数据,即音频数据的数据来源。具体而言,在本实施环境中,数据来源可以为移动终端130。服务器110可以获取移动终端130上传的待识别音频数据,进而采用本发明提供的方法对该待识别音频数据进行乐器识别处理。

应当说明的是,本发明音频数据的乐器识别方法,不限于在服务器110中部署相应的处理逻辑,其也可以是部署于其它机器中的处理逻辑。例如,在具备计算能力的终端设备中部署对音频数据进行乐器识别的处理逻辑等。

参见图2,图2是本发明实施例提供的一种服务器结构示意图。该服务器200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)222(例如,一个或一个以上处理器)和存储器232,一个或一个以上存储应用程序242或数据244的存储介质230(例如一个或一个以上海量存储设备)。其中,存储器232和存储介质230可以是短暂存储或持久存储。存储在存储介质230的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器200中的一系列指令操作。更进一步地,中央处理器222可以设置为与存储介质230通信,在服务器200上执行存储介质230中的一系列指令操作。服务器200还可以包括一个或一个以上电源226,一个或一个以上有线或无线网络接口250,一个或一个以上输入输出接口258,和/或,一个或一个以上操作系统241,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。下述图3、图4、图6-图8所示实施例中所述的由服务器所执行的步骤可以基于该图2所示的服务器结构。

本领域普通技术人员可以理解实现下述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

图3是根据一示例性实施例示出的一种音频数据的乐器识别方法的流程图。该音频数据的乐器识别方法的适用范围和执行主体,例如,该方法用于图1所示实施环境的服务器110。如图3所示,该方法可以由服务器110执行,可以包括以下步骤。

在步骤310中,对待识别音频数据进行预处理。

其中,待识别音频数据是指所使用乐器种类未知的音频片段,需要对该音频片段多采用的乐器种类进行识别。预处理可以包括但不限于对待识别音频数据从立体声变成单声道、进行降采样以及归一化。

在步骤330中,通过短时傅里叶变换将所述预处理后的待识别音频数据从时域信号转换成预设窗口数量的频域信号。

其中,短时傅里叶变换(stft)是和傅里叶变换相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。简单来说,短时傅里叶变换是给待识别音频数据(时域信号)在时域上加窗,把信号分成一小段一小段,然后对每一段信号分别做傅里叶变换。短时傅里叶变换使用一个固定的窗函数,将按照时间变化的待识别音频数据划分成n个窗口,按照音频数据的时间长短可以调整窗口数量,时间越长窗口越多,当然窗越短越好,尽可能使得窗内信号频率近似不变。在一种实施例中,对于3秒的音频数据,窗口数量可以是43个。具体的,通过进行窗口平移,将待识别音频数据划分成43个窗口的时域信号,然后采用傅里叶变换对每个窗口的时域信号进行傅里叶变换,得到43段时域信号对应的43段频域信号。需要说明的是,傅里叶变换将时域信号转换为频域信号属于现有技术在此不再赘述。

在步骤350中,将所述预设窗口数量的频域信号从频率标度转换为梅尔标度,得到梅尔谱图。

具体的,梅尔标度(themelscale)由stevens,volkmann和newman在1937年命名。频率的单位是赫兹(hz),人耳能听到的频率范围是20-20000hz,但人耳对hz这种标度单位并不是线性感知关系。例如如果我们适应了1000hz的音调,如果把音调频率提高到2000hz,我们的耳朵只能觉察到频率提高了一点点,根本察觉不到频率提高了一倍。如果将普通的频率标度(以hz我标度单位)转化为梅尔标度,映射关系如下式所示:

其中,f代表频率标度,单位为hz(赫兹),fmel(f)代表梅尔标度。经过上述转化则人耳对频率的感知度就成了线性关系。也就是说,在梅尔标度下,如果两段语音的梅尔频率相差两倍,则人耳可以感知到的音调大概也相差两倍。将每个窗口的频域信号从频率标度转换为梅尔标度,也就是将普通频率值映射为用户对音高的感知(因为频率的变化用户没法准确感知,将频率值转化为mel标度,mel值的变化用户可以准确感知)。

根据需要还可以通过自然对数压缩,使每个窗口内只使用128个梅尔频率点,从而既能够充分保留音乐的谐波特性,同时大大降低输入数据的维度。进而将每个窗口的128个梅尔频率点进行拼接,假设窗口数量是43个,可以得到1×43×128数据大小的梅尔谱图。

在步骤370中,将所述梅尔谱图输入预先构建的乐器识别模型,得到所述待识别音频数据所使用的乐器种类。

其中,乐器识别模型是通过大量已知所使用乐器种类的样本音频片段训练得到的。对于模型的训练将梅尔谱图作为乐器识别模型的输入,通过乐器识别模型对梅尔谱图进行卷积处理,根据处理结果可以得到待识别音频数据所使用的乐器种类。

本发明上述示例性实施例提供的技术方案,通过将待识别音频数据转换为梅尔谱图,并利用预先构建的乐器识别模型对梅尔谱图进行处理,进而可以得到待识别音频数据所使用的乐器种类。由于复调音乐是由多种乐器混合演奏产生的音频数据,从复调音乐中所提取的声学特征是多种乐器声学特征的混合,由此难以通过与乐器特征匹配的方式,识别出复调音乐中所使用的乐器种类。本发明提供的方案,解决了现有技术无法识别出复调音乐中所使用乐器种类的缺陷,通过预先构建的乐器识别模型对待识别音频数据的梅尔谱图进行处理,可以识别出复调音乐中所使用的乐器种类。

在一种示例性实施例中,如图4所示,上述步骤370具体包括:

在步骤371中,通过预先构建的乐器识别模型对所述梅尔谱图进行卷积计算,输出卷积计算结果。

其中,乐器识别模型可以是经过训练的深度卷积神经网络模型,利用深度卷积神经网络模型训练好的卷积层、池化层和全连接层的权重参数,对梅尔谱图进行卷积计算。图5为音频数据的乐器识别过程示意图。如图5所示,待识别音频数据被转化为梅尔谱图,然后通过训练好的多层卷积层、池化层和全连接层对梅尔谱图进行卷积计算,输出的结果即为卷积计算结果。

在步骤372中,对所述卷积计算结果进行归一化处理,得到所述待识别音频数据包含每种乐器的概率。

其中,卷积计算结果是一个一维向量,包含多个元素,每个元素代表一种乐器。假设在乐器识别模型训练阶段存在11种乐器,则卷积计算结果包括11项。通过对卷积计算结果进行归一化处理,归一化后的每个元素代表使用每种乐器的概率。归一化处理可以是最大值归一化方法,即将所有元素的最大值转化为1,将其他元素的值线性化地转换到0到1的范围。归一化公式如下:x*=(x-xmax)/(xmax-xmin)。其中,xmax为卷积计算结果中所有元素的最大值,xmin为卷积计算结果中所有元素的最小值,x*为元素x的归一化结果。

举例来说,对卷积计算结果的所有元素进行归一化后得到11个输出数值,11个输出数值的概率依次为0.4、0.3、0.7、0.1、0.1、0.1、8、0、0.1、0.1、0.1。假设在建模阶段11个数值依次代表小提琴、中提琴、大提琴、低音大提琴、吉他、竖琴、钢琴、小号、短号、法国号、萨克斯,则根据归一化的11个输出数值,得到待识别音频数据使用小提琴概率是0.4,中提琴概率是0.3,大提琴概率是0.7、钢琴概率是0.8,其他概率较小可忽略。

在步骤373中,将所述待识别音频数据包含每种乐器的概率与预设参数进行比较,确定所述待识别音频数据所使用的乐器种类。

举例来说,预设参数可以是0.5,将待识别音频数据包含每种乐器的概率与预设参数进行比较,如果包含某种乐器的概率大于等于预设参数,可以认为待识别音频数据使用了该乐器。假设待识别音频数据使用小提琴概率是0.4,中提琴概率是0.3,大提琴概率是0.7、钢琴概率是0.8,其他概率较小可忽略,通过将上述概率值与0.5进行比较,使用小提琴和中提琴的概率均小于0.5,使用大提琴和钢琴的概率大于0.5,所以可以确定待识别音频数据是由大提琴和钢琴演奏的复调音乐。

在一种示例性实施例中,如图6所示,在上述步骤370之前本发明提供的乐器识别方法还包括以下步骤:

在步骤361中,获取样本音频片段以及所述样本音频片段已知的乐器标签信息。

其中,样本音频片段可以是从2000首清晰录音中提取的6000个时长为3秒的音频数据,并且已知样本音频片段所使用的乐器种类。根据每个样本音频片段所使用的乐器种类对样本音频片段进行标记,可以得到样本标签信息。举例来说,假设一共存在11种乐器,某个样本音频片段使用了小提琴、低音大提琴、钢琴、萨克斯,使用该乐器就标记为1,没有使用该乐器就标记为0,则该样本标签信息为10010010001。样本音频片段及其对应的乐器标签信息可以提前存储在服务器110的数据库中。

在步骤362中,通过所述样本音频片段以及对应的乐器标签信息进行神经网络学习,得到所述乐器识别模型。

其中,进行神经网络学习是指根据样本音频片段及其对应的乐器标签信息,通过搭建神经网络架构学习乐器特征提取,使学习到的乐器特征与其乐器标签信息之间的差异最小,此时根据搭建的神经网络架构的网络参数即可得到乐器识别模型。该神经网络架构通常包括输入层、卷积层和池化层以及全连接层。

在一种示例性实施例中,如图7所示,上述步骤362具体包括:

在步骤3621中,提取所述样本音频片段的样本梅尔谱图;

具体的,可以参照对待识别音频数据的处理过程,对样本音频片段进行预处理,然后通过短时傅里叶变换对预处理后的样本音频片段从时域信号转换成预设窗口的频域信号,并对所有窗口的频域信号从普通的频率标度转换成梅尔标度,得到样本音频片段的梅尔谱图(为进行区分,此处称为样本梅尔谱图)。

在步骤3622中,通过搭建深度卷积神经网络对所述样本梅尔谱图进行卷积计算,提取所述样本梅尔谱图对应的乐器特征;

其中,深度卷积神经网络可以包含4阶段,每一阶段包含双卷积层和池化层,最后经过全连接层进行输出。在深度卷积神经网络中,卷积层可以使用尺寸为3×3感受野、步长为1的32个滤波器进行卷积计算,在池化层用尺寸为3×3,步长为1的最大值池化方法进行空间抽象。最大值池化之后需要按照一定概率暂时从网络中丢弃一些神经网络单元,用于防止神经网络过度拟合。其中,随机丢弃的概率可以是0.25。全连接层之后的随机丢弃概率可以增加到0.5,因为全连接层更容易发生过渡拟合。表1是深度卷积神经网络卷积计算过程中每层的输入数据大小、以及参数值(除了补零过程)。

表1卷积过程中每层的输入数据大小、参数值

如上表1所示,尺寸为1×43×128的梅尔谱图,经过32个3×3的滤波器进行卷积计算,得到32×45×130数据大小的中间图像(即32张尺寸为45×130的图像),其中43变成45,由128变成130是因为经过了补零过程(表中未示出)。参照上述表中所列过程,对梅尔谱图经过卷积、最大池化和全连接的计算,最后输出结果可以是11个数据,得到样本梅尔谱图的乐器特征。

在步骤3623中,根据所述样本音频片段对应的乐器标签信息,调整所述深度卷积神经网络的权重参数,使所述乐器特征与所述乐器标签信息之间的差异最小,调整后的所述深度卷积神经网络作为所述乐器识别模型。

具体的,乐器特征可以是上述深度卷积神经网络最后输出的11个数据,计算样本音频片段的乐器标签信息(例如10010010001)与乐器特征(11个数据)之间的差异,通过调整深度卷积神经网络的权重参数(如上述表中各滤波器的的参数),使乐器标签信息与最终输出的乐器特征之间的差异最小。其中乐器标签信息与乐器特征之间的差异可以通过计算乐器标签信息与乐器特征之间的相似度、距离等,相似度较高时认为差异较小,距离较小时认为差异较小。经过参数调整的深度卷积神经网络作为后续进行乐器识别的乐器识别模型。

在一种示例性实施例中,可以通过调整所述深度卷积神经网络的权重参数,使提取的所述乐器特征与所述乐器标签信息之间的欧式距离最小。

其中,乐器特征和乐器标签信息可以看成是n维空间(如11维)中的两个点x1、x2,通过以下公式可以计算出这两个点之间的距离d,不断调整深度卷积神经网络的权重参数,使其输出的乐器特征与乐器标签信息之间的距离d最小。

在一种示例性实施例中,如图8所示,上述步骤310具体包括:

在步骤311中,将所述待识别音频数据从立体声转化为单声道;

其中,立体声是指包含左右声道,将待识别音频数据从立体声转换成单声道,可以是将待识别音频数据的左声道数据和右声道数据取平均值,从而得到单声道的音频数据。通过将立体声转换成单声道,采样频率可以从原来的44100hz降为22050hz。

在步骤312中,对单声道的所述待识别音频数据进行降采样;

其中,降采样是指降低特定信号(待识别音频数据)的采样率的过程,具体的,可以基于nyquist(奈奎斯特)采样定理,使22050hz的单声道音频数据的采样频率降为11025hz。该采样频率包含了乐器产生的绝大部分和声音响,同时尽可能去除了此频率之上的噪音。

在步骤313中,对降采样后的所述待识别音频数据进行归一化。

在经过降采样,将待识别音频数据的采样频率变成11025hz后,对降采样的音频数据进行归一化。其中,归一化方法可以采用最大值归一化方法,即将最大值变换成1,最小值变换成0,将音频数据的幅值线性地转换到0到1的范围。

下述为本发明装置实施例,可以用于执行本发明上述服务器110执行的音频数据的乐器识别方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明音频数据的乐器识别方法实施例。

图9是根据一示例性实施例示出的一种音频数据的乐器识别装置的框图,该音频数据的乐器识别装置可以用于图1所示实施环境的服务器110中,执行图3、图4、图6-图8任一所示的音频数据的乐器识别方法的全部或者部分步骤。如图9所示,该装置包括但不限于:预处理模块910、信号转换模块930、梅尔转换模块950以及乐器识别模块970。

预处理模块910,用于对待识别音频数据进行预处理;

信号转换模块930,用于通过短时傅里叶变换将所述待识别音频数据从时域信号转换成预设窗口数量的频域信号;

梅尔转换模块950,用于将所述预设窗口数量的频域信号从频率标度转换为梅尔标度,得到梅尔谱图;

乐器识别模块970,用于将所述梅尔谱图输入预先构建的乐器识别模型,得到所述待识别音频数据所使用的乐器种类。

上述装置中各个模块的功能和作用的实现过程具体详见上述音频数据的乐器识别方法中对应步骤的实现过程,在此不再赘述。

预处理模块910、信号转换模块930、梅尔转换模块950以及乐器识别模块970可以是功能模块,用于执行上述音频数据的乐器识别方法中的对应步骤。可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图2的中央处理器222所执行的存储在存储器232中的程序。

可选的,本发明还提供一种电子设备,该电子设备可以用于图1所示实施环境的服务器110中,执行图3、图4、图6-图8任一所示的音频数据的乐器识别方法的全部或者部分步骤。所述电子设备包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述示例性实施例所述的音频数据的乐器识别方法。

该实施例中电子设备的处理器执行操作的具体方式已经在有关音频数据的乐器识别方法的实施例中执行了详细描述,此处将不做详细阐述说明。

在示例性实施例中,还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该存储介质存储有计算机程序,所述计算机程序可由服务器200的中央处理器222执行以完成上述音频数据的乐器识别方法。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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