音乐类型识别方法、装置、设备及存储介质与流程

文档序号:25097958发布日期:2021-05-18 22:17阅读:214来源:国知局
音乐类型识别方法、装置、设备及存储介质与流程

1.本发明涉及人工智能领域,尤其涉及一种音乐类型识别方法、装置、设备及存储介质。


背景技术:

2.随着人工智能技术的快速发展,人工智能技术已经渗透进了日常生活中的方方面面,比如音乐创作领域也逐渐融入了先进的人工智能技术。采用机器学习算法能够从音乐材料中自动地学习出一些规律,然后根据学习到的规律,由机器自动生成音乐。
3.目前通过人工智能算法生成的音乐越来越多,许多人工智能算法生成的音乐已经可以达到人为谱写的水平,一般用户很难辨别下载或播放的音乐是人工智能算法生成的还是人为谱写的,同时音乐提供方通常不会给出相应的提示,从而使得听众丧失了对于不同音乐类型的选择权利。


技术实现要素:

4.本发明的主要目的在于解决如何通过机器区分人为创作的音乐和人工智能算法生成的音乐的技术问题。
5.本发明第一方面提供了一种音乐类型识别方法,包括:
6.获取用户配置的待播放音乐的第一音乐类型,并从预置音乐文件库中读取待播放的音乐文件,其中,所述第一音乐类型包括人为创作音乐和机器合成音乐;
7.基于预置事件定义,将所述音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到初始音乐特征向量;
8.将所述初始音乐特征向量输入预置音乐类型识别模型进行识别,输出所述音乐文件为人为创作音乐的第一概率值,其中,所述音乐类型识别模型包括嵌入层、两层门限循环单元、两层全连接层;
9.根据所述第一概率值和预置概率阈值,确定所述音乐文件对应的第二音乐类型,并判断所述第一音乐类型是否与所述第二音乐类型相同;
10.若相同,则播放所述音乐文件,否则继续识别下一音乐文件。
11.可选的,在本发明第一方面的第一种实现方式中,在所述获取用户配置的待播放音乐的第一音乐类型之前,还包括:
12.采集多个样本音乐文件,并将所述样本音乐文件中的人为创作音乐作为正样本、将机器合成音乐作为负样本;
13.基于预置事件定义,将所述样本音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到样本音乐初始向量;
14.将所述样本音乐初始向量输入预置训练模型中的嵌入层进行向量转换,输出样本音乐编码向量;
15.将所述样本音乐编码向量输入预置训练模型中的第一层门限循环单元进行特征
的输出值范围为(0,1)。
34.可选的,在本发明第一方面的第五种实现方式中,所述训练模型由嵌入层、两层门限循环单元、两层全连接层构成;
35.其中,每一层门限循环单元对应的计算公式如下:
36.r
t
=σ(w
r
[x
t
,h
t
‑1]+b
r
),z
t
=σ(w
z
[x
t
,h
t
‑1]+b
z
);
[0037]
其中,r
t
为重置门控制向量,σ表示sigmoid函数,w
r
、b
r
为训练参数向量,x
t
为t时刻的样本音乐编码向量,h
t
‑1为x
t
‑1对应的门限循环单元输出的特征向量;z
t
为更新门控制向量,w
z
、b
z
为训练参数;
[0038][0039]
其中,表示候选隐状态向量,tanh表示双曲正切函数,w
hx
、w
hh
、b
h
为训练参数;x
t
为样本音乐编码向量对应的输出向量:h
t
为两层门限循环单元的输出向量。
[0040]
本发明第二方面提供了一种音乐类型识别装置,包括:
[0041]
获取模块,用于获取用户配置的待播放音乐的第一音乐类型,并从预置音乐文件库中读取待播放的音乐文件,其中,所述第一音乐类型包括人为创作音乐和机器合成音乐;
[0042]
预处理模块,用于基于预置事件定义,将所述音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到初始音乐特征向量;
[0043]
识别模块,用于将所述初始音乐特征向量输入预置音乐类型识别模型进行识别,输出所述音乐文件为人为创作音乐的第一概率值,其中,所述音乐类型识别模型包括嵌入层、两层门限循环单元、两层全连接层;
[0044]
输出模块,用于根据所述第一概率值和预置概率阈值,确定所述音乐文件对应的第二音乐类型,并判断所述第一音乐类型是否与所述第二音乐类型相同;
[0045]
播放模块,用于若所述第一音乐类型与所述第二音乐类型相同,则播放所述音乐文件,否则继续识别下一音乐文件。
[0046]
可选的,在本发明第二方面的第一种实现方式中,所述音乐类型识别装置还包括:
[0047]
样本处理模块,用于采集多个样本音乐文件,并将所述样本音乐文件中的人为创作音乐作为正样本、将机器合成音乐作为负样本;基于预置事件定义,将所述样本音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到样本音乐初始向量;
[0048]
样本训练模块,用于将所述样本音乐初始向量输入预置训练模型中的嵌入层进行向量转换,输出样本音乐编码向量;将所述样本音乐编码向量输入预置训练模型中的第一层门限循环单元进行特征提取,输出样本音乐第一特征向量;将所述第一样本特征向量输入预置训练模型中的第二层门限循环单元进行特征提取,输出样本音乐第二特征向量;将所述样本音乐第二特征向量输入预置训练模型中的第一层全连接进行特征分类,输出样本音乐特征值;将所述样本音乐特征值输入预置训练模型中的第二层全连接进行特征整合,输出样本音乐为人为创作音乐的第二概率值;
[0049]
模型优化模块,用于判断所述第二概率值与所述概率阈值之间的差值是否在预置误差范围内;若所述第二概率值与所述概率阈值之间的差值不在预置误差范围内,则根据预置损失函数,计算所述样本音乐为人为创作音乐的概率值和所述样本音乐特征向量之间
的损失值,其中,所述损失函数采用二分类交叉熵函数;采用随机梯度下降法,将所述损失值反向传播回所述训练模型,以对所述训练模型的学习率和参数进行优化;若所述训练模型收敛,则将当前训练模型作为音乐类型识别模型。
[0050]
可选的,在本发明第二方面的第二种实现方式中,所述预处理模块具体用于:
[0051]
将所述音乐文件中的音乐数据转化为基于所述事件定义的离散表示数据;
[0052]
基于时间顺序,将同一音乐文件对应的全部离散表示数据组成一个时间向量,得到初始音乐特征向量。
[0053]
可选的,在本发明第二方面的第三种实现方式中,所述识别模块包括:
[0054]
编码单元,用于将所述初始音乐特征向量输入所述预置音乐类型识别模型中的嵌入层进行向量转换,输出初始音乐编码向量;
[0055]
特征提取单元,用于将所述初始音乐编码向量输入所述预置音乐类型识别模型中的两层门限循环单元进行特征提取,输出音乐特征向量;
[0056]
特征处理单元,用于将所述音乐特征向量输入所述预置音乐类型识别模型中的两层全连接层进行特征分类和整合,输出所述音乐文件为人为创作音乐的第一概率值。
[0057]
可选的,在本发明第二方面的第四种实现方式中,所述特征处理单元具体用于:
[0058]
将所述音乐特征向量输入第一层全连接层,通过所述第一层全连接层对所述音乐特征向量进行relu函数运算,输出音乐特征值;将所述音乐特征值输入第二层全连接层,对所述音乐特征值进行sigmiod函数运算,输出所述音乐文件为人为创作音乐的第一概率值;
[0059]
其中,所述第一层全连接层采用relu函数,第一层全连接层的计算公式为:d1=tanh(w
d1
h
t
+b
d1
),d1表示第一层全连接层的输出结果,tanh表示双曲正切函数,h
t
为两层门限循环单元的输出向量,w
d1
、b
d1
为训练参数;
[0060]
所述第二层全连接层采用sigmiod函数,第二层全连接层的计算公式为:d2=σ(w
d2
d1+b
d2
),d2表示第二层全连接层的输出结果,σ表示sigmoid函数,w
d2
、b
d2
为训练参数,d2的输出值范围为(0,1)。
[0061]
可选的,在本发明第二方面的第五种实现方式中,所述训练模型由嵌入层、两层门限循环单元、两层全连接层构成;其中,每一层门限循环单元对应的计算公式如下:
[0062]
r
t
=σ(w
r
[x
t
,h
t
‑1]+b
r
),z
t
=σ(w
z
[x
t
,h
t
‑1]+b
z
);
[0063]
其中,r
t
为重置门控制向量,σ表示sigmoid函数,w
r
、b
r
为训练参数向量,x
t
为t时刻的样本音乐编码向量,h
t
‑1为x
t
‑1对应的门限循环单元输出的特征向量;z
t
为更新门控制向量,w
z
、b
z
为训练参数;
[0064][0065]
其中,表示候选隐状态向量,tanh表示双曲正切函数,w
hx
、w
hh
、b
h
为训练参数;x
t
为样本音乐编码向量对应的输出向量:h
t
为两层门限循环单元的输出向量。
[0066]
本发明第三方面提供了一种音乐类型识别设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述音乐类型识别设备执行上述的音乐类型识别方法。
[0067]
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的音乐类型识别方法。
[0068]
本发明提供的技术方案中,预先构建音乐数据库,包含两种类型的音乐数据:音乐家创作的音乐和人工智能算法生成的音乐。通过预置事件定义,将所述音乐文件的全部时间转化成数值向量,作为输入的初始向量。将初始向量输入预置音乐类型辨别模型的双层双向门限循环单元对音乐数据中的特征值进行提取,得到所述音乐文件的特征向量,将所述特征向量输入双层全连接层对所述向量中的特征值进行分类,最终输出为一个概率值,所述概率值用作判断识别音乐的音乐类型。本发明能够以较高的准确率分辨出音乐家创作的音乐和人工智能算法生成的音乐,能够帮助用户更好的分辨音乐的来源。
附图说明
[0069]
图1为本发明实施例中音乐类型识别方法的第一个实施例示意图;
[0070]
图2为本发明实施例中音乐类型识别方法的第二个实施例示意图;
[0071]
图3为本发明实施例中音乐类型识别方法的第三个实施例示意图;
[0072]
图4为本发明实施例中音乐类型识别方法的第四个实施例示意图;
[0073]
图5为本发明实施例中音乐类型识别装置的一个实施例示意图;
[0074]
图6为本发明实施例中音乐类型识别设备的一个实施例示意图。
具体实施方式
[0075]
本发明实施例提供了一种音乐类型识别方法、装置、设备及存储介质。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0076]
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中音乐类型识别方法的第一个实施例包括:
[0077]
101、获取用户配置的待播放音乐的第一音乐类型,并从预置音乐文件库中读取待播放的音乐文件,其中,所述第一音乐类型包括人为创作音乐和机器合成音乐;
[0078]
可以理解的是,本发明的执行主体可以为音乐类型识别装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
[0079]
本实施例中,获取用户配置的待播放音乐的第一音乐类型,所述第一音乐类型包括两种:人为创作音乐和机器合成音乐,用户配置的待播放的音乐文件是用户在音乐播放软件上下载的音乐文件。选取一定量的音乐家创作的音乐和人工智能算法生成的音乐生成音乐文件库,例如:音乐家创作的《大悲咒》《藏传大悲咒》等音乐作品,人工智能算法生成等量的类似《大悲咒》《藏传大悲咒》的音乐作品,对原始音乐文件进行处理,将原始音乐文件输入转化工具,设置数字音乐格式转化,转化生成原始音乐数据的数字音乐格式,数字音乐格式是将音乐片段中的每个音符记录为一个数字,所以相比原始文件要小得多,可以满足长时间音乐的需要。从所述音乐文件库中读取待播放的音乐文件,用于转换成辨别模型的
输入。
[0080]
102、基于预置事件定义,将所述音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到初始音乐特征向量;
[0081]
本实施例中,基于预置事件定义,将所述音乐文件中的数字音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到初始音乐特征向量。将所述音乐文件中的音符起始、音符结束、时间移动、唱词起始、唱词结束均转化为整数型数据,生成一个整数向量,例如[60,128,63,128,...]。数据处理的目的是将音乐文件中的音乐信息有效的转换成离散的序列,并作为预置音乐类型识别模型的输入。将所述音乐文件中的全部时间组成一个数值向量,生成一个整数向量,得到初始音乐特征向量。
[0082]
103、将所述初始音乐特征向量输入预置音乐类型识别模型进行识别,输出所述音乐文件为人为创作音乐的第一概率值,其中,所述音乐类型识别模型包括嵌入层、两层门限循环单元、两层全连接层;
[0083]
本实施例中,将所述初始音乐特征向量输入预置音乐类型识别模型进行识别,输出所述音乐文件为人为创作音乐的第一概率值,其中,所述预置音乐类型辨别的模型工作流程为:初始音乐特征向量输入嵌入层,嵌入层将所述初始音乐特征向量转换为独热编码向量,所述独热编码向量输入首层门限循环单元进行特征值提取,得到第一层门限循环单元特征向量,所述第一层特征向量可以继续输入首层门限循环单元,还可以直接输入第二层门限循环单元,双向输入途径,最终经过两层门限循环单元处理,得到的第二层特征向量继续输入多层全连接层,多层全连接层具有两层全连接层,将两层门限循环单元处理得到的第二层特征向量输入第一层全连接层,得到的结果直接输入第二层全连接层,得到所述音乐文件为人为创作音乐的第一概率值。
[0084]
104、根据所述第一概率值和预置概率阈值,确定所述音乐文件对应的第二音乐类型,并判断所述第一音乐类型是否与所述第二音乐类型相同;
[0085]
本实施例中,根据所述第一概率值和预置概率阈值,确定所述音乐文件对应的第二音乐类型,并判断所述第一音乐类型是否与所述第二音乐类型相同,所述预置概率阈值的取值范围在(0,1),若所述概率值接近1,则代表系统认为该输入音乐文件对应的第二音乐类型为音乐家创作;若所述概率值接近0,则代表系统认为该输入音乐文件对应的第二音乐类型为人工智能所作。若配置的第一音乐类型为人工智能算法创作,识别的第二音乐类型为音乐家创作,则配置的第一音乐类型与识别的第二音乐类型不相同;若配置的第一音乐类型为人工智能算法创作,识别的第二音乐类型为人工智能算法创作,则配置的第一音乐类型与识别的第二音乐类型相同;若配置的第一音乐类型为音乐家创作,识别的第二音乐类型为人工智能算法创作,则配置的第一音乐类型与识别的第二音乐类型不相同;若配置的第一音乐类型为音乐家创作,识别的第二音乐类型为音乐家创作,则配置的第一音乐类型与识别的第二音乐类型相同。
[0086]
105、若相同,则播放所述音乐文件,否则继续识别下一音乐文件。
[0087]
本实施例中,若配置的第一音乐类型和识别的第二音乐类型相同,即配置的音乐和识别的音乐都为音乐家创作的音乐或者配置的音乐和识别的音乐都为人工智能算法生成的音乐,则播放所述音乐文件。若配置的音乐类型和识别的音乐类型不相同,则系统自动过滤掉不相同的识别音乐文件,继续识别下一个待识别的音乐文件。
[0088]
本发明实施例中,预先构建音乐数据库,包含两种类型的音乐数据:音乐家创作的音乐和人工智能算法生成的音乐。通过预置事件定义,将所述音乐文件的全部时间转化成数值向量,作为输入的初始向量。将初始向量输入预置音乐类型辨别模型的双层双向门限循环单元对音乐数据中的特征值进行提取,得到所述音乐文件的特征向量,将所述特征向量输入双层全连接层对所述向量中的特征值进行分类,最终输出为一个概率值,所述概率值用作判断识别音乐的音乐类型。本发明能够以较高的准确率分辨出音乐家创作的音乐和人工智能算法生成的音乐,能够帮助用户更好的分辨音乐的来源。
[0089]
请参阅图2,本发明实施例中音乐类型识别方法的第二个实施例包括:
[0090]
201、采集多个样本音乐文件,并将所述样本音乐文件中的人为创作音乐作为正样本、将机器合成音乐作为负样本;
[0091]
本实施例中,收集多个的音乐家所谱写的音乐文件作为正样本,并利用多种现有的机器合成音乐算法生成等量的负样本,依照80%,20%的比例随机分配至训练数据集和测试数据集。
[0092]
202、基于预置事件定义,将所述样本音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到样本音乐初始向量;
[0093]
本实施例中,其事件定义为127个音符起始字符,1个音符结束字符,128个时间移动字符,255个唱词启示字符,以及1个唱词结束字符。将一个样本音乐文件中的数字音乐数据中的全部时间组成一个向量,其元素取值范围为[0,512],并在长度不足的向量尾部补零至1024,得到样本音乐特征向量。
[0094]
203、将所述样本音乐初始向量输入预置训练模型中的嵌入层进行向量转换,输出样本音乐编码向量;
[0095]
本实施例中,将所述样本音乐特征向量输入预置训练模型中的嵌入层进行向量转换,输出样本音乐编码向量,所述嵌入层将所述样本音乐特征向量进行独热编码向量转换,把样本音乐的特征向量,从稀疏态变成了密集态,并且让相互独立向量变成了有内在联系的关系向量。
[0096]
204、将所述样本音乐编码向量输入预置训练模型中的第一层门限循环单元进行特征提取,输出样本音乐第一特征向量;
[0097]
205、将所述第一样本特征向量输入预置训练模型中的第二层门限循环单元进行特征提取,输出样本音乐第二特征向量;
[0098]
可选的,在一实施例中,所述训练模型由嵌入层、两层门限循环单元、两层全连接层构成;
[0099]
其中,每一层门限循环单元对应的计算公式如下:
[0100]
r
t
=σ(w
r
[x
t
,h
t
‑1]+b
r
),z
t
=σ(w
z
[x
t
,h
t
‑1]+b
z
);
[0101]
其中,r
t
为重置门控制向量,σ表示sigmoid函数,w
r
、b
r
为训练参数向量,x
t
为t时刻的样本音乐编码向量,h
t
‑1为x
t
‑1对应的门限循环单元输出的特征向量;z
t
为更新门控制向量,w
z
、b
z
为训练参数;
[0102][0103]
其中,表示候选隐状态向量,tanh表示双曲正切函数,w
hx
、w
hh
、b
h
为训练参数;x
t
为样本音乐编码向量对应的输出向量:h
t
为两层门限循环单元的输出向量。
[0104]
本实施例中,对于嵌入层输出的独热编码向量,将所述独热编码向量输入第一层门限循环单元,所述第一层门限循环单元的计算公式为
[0105]
r
t
=σ(w
r
[x
t
,h
t
‑1]+b
r
)
[0106]
z
t
=σ(w
z
[x
t
,h
t
‑1]+b
z
)
[0107][0108][0109]
其中r
t
为重置门控制向量,z
t
为更新门控制向量,为候选隐状态向量,h
t
为输出向量。w
r
,b
r
,w
z
,b
z
,w
hx
,w
hh
,b
h
为模型训练参数。σ为sigmoid函数,tanh为双曲正切函数。门限循环单元为双层双向的门限循环单元构成,将每个时间戳的首层门限循环单元,输出结果再接入第二层门限循环单元,两层门限循环单元的结构相同。
[0110]
206、将所述样本音乐第二特征向量输入预置训练模型中的第一层全连接进行特征分类,输出样本音乐特征值;
[0111]
207、将所述样本音乐特征值输入预置训练模型中的第二层全连接进行特征分类,输出样本音乐为人为创作音乐的第二概率值;
[0112]
208、判断所述第二概率值与所述概率阈值之间的差值是否在预置误差范围内;
[0113]
209、若是,则将当前训练模型作为音乐类型识别模型,否则采用随机梯度下降法对当前训练模型进行迭代训练,直至所述训练模型收敛,得到音乐类型识别模型;
[0114]
本实施例中,将所述样本音乐初始向量输入所述嵌入层进行向量转换,输出样本音乐编码向量,将所述样本音乐编码向量输入所述两层门限循环单元的首层门限循环单元进行处理,输出样本音乐第一特征向量,将所述第一样本特征向量输入所述两层门限循环单元的第二层门限循环单元进行处理,输出样本音乐第二特征向量,将所述样本音乐第二特征向量输入所述两层全连接层的第一层全连接进行处理,输出样本音乐特征值,将所述样本音乐特征值输入所述两层全连接层的第二层全连接进行处理,输出样本音乐为人为创作音乐的第二概率值,判断所述第二概率值与所述概率阈值之间的差值是否在预置误差范围内,若是,则将当前训练模型作为音乐类型识别模型,否则,采用随机梯度下降法对当前训练模型进行迭代训练,直至所述训练模型收敛,得到音乐类型识别模型。
[0115]
210、获取用户配置的待播放音乐的第一音乐类型,并从预置音乐文件库中读取待播放的音乐文件,其中,所述第一音乐类型包括人为创作音乐和机器合成音乐;
[0116]
211、基于预置事件定义,将所述音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到初始音乐特征向量;
[0117]
212、将所述初始音乐特征向量输入预置音乐类型识别模型进行识别,输出所述音乐文件为人为创作音乐的第一概率值,其中,所述音乐类型识别模型包括嵌入层、两层门限循环单元、两层全连接层;
[0118]
213、根据所述第一概率值和预置概率阈值,确定所述音乐文件对应的第二音乐类型,并判断所述第一音乐类型是否与所述第二音乐类型相同;
[0119]
214、若相同,则播放所述音乐文件,否则继续识别下一音乐文件。
[0120]
本发明实施例中,采用随机梯度下降的反向传播法对音乐类型识别模型进行迭代
训练,偏导值可以直接反应模型的错误程度,该值越大,说明模型效果越差,但是该值越大同时也会使得偏导值越大,从而模型学习速度更快。使用逻辑函数得到概率,并结合二分类交叉熵当损失函数时,在模型效果差的时候学习速度比较快,在模型效果好的时候学习速度变慢。
[0121]
请参阅图3,本发明实施例中音乐类型识别方法的第三个实施例包括:
[0122]
301、获取用户配置的待播放音乐的第一音乐类型,并从预置音乐文件库中读取待播放的音乐文件,其中,所述第一音乐类型包括人为创作音乐和机器合成音乐;
[0123]
302、将所述音乐文件中的音乐数据转化为基于所述事件定义的离散表示数据,所述事件定义为音乐文件由若干音符起始字符、音符结束字符,时间移动字符、唱词启示字符以及唱词结束字符分别对应的时间组合而成;
[0124]
303、基于时间顺序,将同一音乐文件对应的全部离散表示数据组成一个时间向量,得到初始音乐特征向量;
[0125]
本实施例中,预置事件的定义规则为:事件定义为127个音符起始字符,1个音符结束字符,128个时间移动字符,255个唱词启示字符,以及1个唱词结束字符。将一个音乐文件中的全部时间组成一个向量,其中,每个元素取值范围为[0,512],并在长度不足的向量尾部补零至1024。根据所述事件定义的规则,将所述音乐文件中的音乐数据转化为基于事件的离散表示数据,基于时间顺序,将同一音乐文件对应的全部离散表示数据组成一个时间向量,得到初始音乐特征向量。
[0126]
本实施例中,将所述音乐文件中的音符起始、音符结束、时间移动、唱词起始、唱词结束均转化为整数型数据,生成一个整数向量如[60,128,63,128,
……
],目的就是将音乐信息有效地转化为离散的序列作为循环神经网络的输入。
[0127]
304、将所述初始音乐特征向量输入预置音乐类型识别模型进行识别,输出所述音乐文件为人为创作音乐的第一概率值,其中,所述音乐类型识别模型包括嵌入层、两层门限循环单元、两层全连接层;
[0128]
305、根据所述第一概率值和预置概率阈值,确定所述音乐文件对应的第二音乐类型,并判断所述第一音乐类型是否与所述第二音乐类型相同;
[0129]
306、若相同,则播放所述音乐文件,否则继续识别下一音乐文件。
[0130]
本发明实施例中,将音乐文件中的音符起始、音符结束、时间移动、唱词起始、唱词结束均转化为整数型数据,目的是将音乐信息有效地转化为离散的序列作为循环神经网络的输入。有效信息提取并转化为模型可以识别的向量可以真实的模拟人对音乐的思维过程。
[0131]
请参阅图4,本发明实施例中音乐类型识别方法的第四个实施例包括:
[0132]
401、获取用户配置的待播放音乐的第一音乐类型,并从预置音乐文件库中读取待播放的音乐文件,其中,所述第一音乐类型包括人为创作音乐和机器合成音乐;
[0133]
402、基于预置事件定义,将所述音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到初始音乐特征向量;
[0134]
403、将所述初始音乐特征向量输入所述预置音乐类型识别模型中的嵌入层进行向量转换,输出初始音乐编码向量;
[0135]
404、将所述初始音乐编码向量输入所述预置音乐类型识别模型中的两层门限循
环单元进行特征提取,输出音乐特征向量;
[0136]
405、将所述音乐特征向量输入所述预置音乐类型识别模型中的两层全连接层进行特征分类和整合,输出所述音乐文件为人为创作音乐的第一概率值;
[0137]
本实施例中,将所述初始音乐特征向量输入所述嵌入层进行向量转换,所述嵌入层通过对所述音乐特征向量进行线性变换输出初始音乐编码向量,将所述初始音乐编码向量输入所述两层门限循环单元进行特征提取,输出音乐特征向量,将所述音乐特征向量输入所述两层全连接层进行特征整合,输出所述音乐文件为人为创作音乐的第一概率值。
[0138]
本实施例中,所述两层门限循环单元采用双层双向结构,每层循环次数由输入事件向量决定,事件向量中有多少事件就进行多少次循环。本系统中事件向量的长度统一为200。所述门限循环单元对所述初始音乐编码向量进行特征提取,得到的特征向量又输入多层全连接中进行分类处理,最终通过所述音乐类型识别模型的输出层,输出一个概率值,所述第一概率值作为判断音乐类型的依据。
[0139]
可选的,在一实施例中,所述将所述音乐特征向量输入所述预置音乐类型识别模型中的两层全连接层进行特征分类和整合,输出所述音乐文件为人为创作音乐的第一概率值包括:
[0140]
将所述音乐特征向量输入第一层全连接层,通过所述第一层全连接层对所述音乐特征向量进行relu函数运算,输出音乐特征值;
[0141]
将所述音乐特征值输入第二层全连接层,对所述音乐特征值进行sigmiod函数运算,输出所述音乐文件为人为创作音乐的第一概率值;
[0142]
其中,所述第一层全连接层采用relu函数,第一层全连接层的计算公式为:d1=tanh(w
d1
h
t
+b
d1
),d1表示第一层全连接层的输出结果,tanh表示双曲正切函数,h
t
为两层门限循环单元的输出向量,w
d1
、b
d1
为训练参数;
[0143]
所述第二层全连接层采用sigmiod函数,第二层全连接层的计算公式为:d2=σ(w
d2
d1+b
d2
),d2表示第二层全连接层的输出结果,σ表示sigmoid函数,w
d2
、b
d2
为训练参数,d2的输出值范围为(0,1)。
[0144]
本实施例中,将所述音乐特征向量输入第一层全连接层,对所述音乐特征向量进行relu函数运算,输出音乐特征值,所述第一层全连接层采用relu函数,将所述音乐特征值输入第二层全连接层,对所述音乐特征值进行sigmiod函数运算,输出所述音乐文件为人为创作音乐的第一概率值,所述第二层全连接层采用sigmiod函数。判断所述第一概率值是否处于预置音乐特征阈值,所述预置音乐特征阈值为(0,1),若是,则将所述初始音乐为人为创作的第一概率值作为辨别结果并输出。多层全连接层的将门限循环单元输出的音乐特征向量作为输入,对所述特征向量进行特征分类,输出第一概率值,本实施例中多层全连接层的计算公式为
[0145]
d1=tanh(w
d1
h
t
+b
d1
)
[0146]
d2=σ(w
d2
d1+b
d2
)
[0147]
其中tanh为双曲正切函数,w
d1
的维度为(512,64),σ为sigmoid函数,w
d2
的维度为(64,1),则d2为范围在(0,1)的标量输出,代表系统输出的概率。
[0148]
406、根据所述第一概率值和预置概率阈值,确定所述音乐文件对应的第二音乐类型,并判断所述第一音乐类型是否与所述第二音乐类型相同;
[0149]
407、若相同,则播放所述音乐文件,否则继续识别下一音乐文件。
[0150]
本发明实施例中,双层双向门限循环单元对音乐的有效信息进行特征提取,得到特征向量,将特征向量通过双层全连接层进行特征分类和特征整合输出系统概率值,以较高的准确率分辨出音乐家创作的音乐和人工智能算法生成的音乐,门限循环单元和全连接层构成的深度学习神经网络真实的模拟出音乐特征的体现,反映出生成样本在所述特征上与人类创作有所差别。
[0151]
上面对本发明实施例中音乐类型识别方法进行了描述,下面对本发明实施例中音乐类型识别装置进行描述,请参阅图5,本发明实施例中音乐类型识别装置一个实施例包括:
[0152]
获取模块501,用于获取用户配置的待播放音乐的第一音乐类型,并从预置音乐文件库中读取待播放的音乐文件,其中,所述第一音乐类型包括人为创作音乐和机器合成音乐;
[0153]
预处理模块502,用于基于预置事件定义,将所述音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到初始音乐特征向量;
[0154]
识别模块503,用于将所述初始音乐特征向量输入预置音乐类型识别模型进行识别,输出所述音乐文件为人为创作音乐的第一概率值,其中,所述音乐类型识别模型包括嵌入层、两层门限循环单元、两层全连接层;
[0155]
输出模块504,用于根据所述第一概率值和预置概率阈值,确定所述音乐文件对应的第二音乐类型,并判断所述第一音乐类型是否与所述第二音乐类型相同;
[0156]
播放模块505,用于若所述第一音乐类型与所述第二音乐类型相同,则播放所述音乐文件,否则继续识别下一音乐文件。
[0157]
可选的,在一实施例中,所述音乐类型识别装置还包括:
[0158]
样本处理模块,用于采集多个样本音乐文件,并将所述样本音乐文件中的人为创作音乐作为正样本、将机器合成音乐作为负样本;基于预置事件定义,将所述样本音乐文件中的音乐数据转化为基于事件的离散表示数据,并对所述离散表示数据进行向量转换,得到样本音乐初始向量;
[0159]
样本训练模块,用于将所述样本音乐初始向量输入预置训练模型中的嵌入层进行向量转换,输出样本音乐编码向量;将所述样本音乐编码向量输入预置训练模型中的第一层门限循环单元进行特征提取,输出样本音乐第一特征向量;将所述第一样本特征向量输入预置训练模型中的第二层门限循环单元进行特征提取,输出样本音乐第二特征向量;将所述样本音乐第二特征向量输入预置训练模型中的第一层全连接进行特征分类,输出样本音乐特征值;将所述样本音乐特征值输入预置训练模型中的第二层全连接进行特征整合,输出样本音乐为人为创作音乐的第二概率值;
[0160]
模型优化模块,用于判断所述第二概率值与所述概率阈值之间的差值是否在预置误差范围内;若所述第二概率值与所述概率阈值之间的差值不在预置误差范围内,则根据预置损失函数,计算所述样本音乐为人为创作音乐的概率值和所述样本音乐特征向量之间的损失值,其中,所述损失函数采用二分类交叉熵函数;采用随机梯度下降法,将所述损失值反向传播回所述训练模型,以对所述训练模型的学习率和参数进行优化;若所述训练模型收敛,则将当前训练模型作为音乐类型识别模型。
[0161]
可选的,在一实施例中,所述预处理模块502具体用于:
[0162]
将所述音乐文件中的音乐数据转化为基于所述事件定义的离散表示数据;
[0163]
基于时间顺序,将同一音乐文件对应的全部离散表示数据组成一个时间向量,得到初始音乐特征向量。
[0164]
可选的,在一实施例中,所述识别模块503包括:
[0165]
编码单元,用于将所述初始音乐特征向量输入所述预置音乐类型识别模型中的嵌入层进行向量转换,输出初始音乐编码向量;
[0166]
特征提取单元,用于将所述初始音乐编码向量输入所述预置音乐类型识别模型中的两层门限循环单元进行特征提取,输出音乐特征向量;
[0167]
特征处理单元,用于将所述音乐特征向量输入所述预置音乐类型识别模型中的两层全连接层进行特征分类和整合,输出所述音乐文件为人为创作音乐的第一概率值。
[0168]
可选的,在一实施例中,所述特征处理单元具体用于:
[0169]
将所述音乐特征向量输入第一层全连接层,通过所述第一层全连接层对所述音乐特征向量进行relu函数运算,输出音乐特征值;将所述音乐特征值输入第二层全连接层,对所述音乐特征值进行sigmiod函数运算,输出所述音乐文件为人为创作音乐的第一概率值;
[0170]
其中,所述第一层全连接层采用relu函数,第一层全连接层的计算公式为:d1=tanh(w
d1
h
t
+b
d1
),d1表示第一层全连接层的输出结果,tanh表示双曲正切函数,h
t
为两层门限循环单元的输出向量,w
d1
、b
d1
为训练参数;
[0171]
所述第二层全连接层采用sigmiod函数,第二层全连接层的计算公式为:d2=σ(w
d2
d1+b
d2
),d2表示第二层全连接层的输出结果,σ表示sigmoid函数,w
d2
、b
d2
为训练参数,d2的输出值范围为(0,1)。
[0172]
可选的,在一实施例中,所述训练模型由嵌入层、两层门限循环单元、两层全连接层构成;其中,每一层门限循环单元对应的计算公式如下:
[0173]
r
t
=σ(w
r
[x
t
,h
t
‑1]+b
r
),z
t
=σ(w
z
[x
t
,h
t
‑1]+b
z
);
[0174]
其中,r
t
为重置门控制向量,σ表示sigmoid函数,w
r
、b
r
为训练参数向量,x
t
为t时刻的样本音乐编码向量,h
t
‑1为x
t
‑1对应的门限循环单元输出的特征向量;z
t
为更新门控制向量,w
z
、b
z
为训练参数;
[0175][0176]
其中,表示候选隐状态向量,tanh表示双曲正切函数,w
hx
、w
hh
、b
h
为训练参数;x
t
为样本音乐编码向量对应的输出向量:h
t
为两层门限循环单元的输出向量。
[0177]
本发明实施例中,预先构建音乐数据库,包含两种类型的音乐数据:音乐家创作的音乐和人工智能算法生成的音乐。通过预置事件定义,将所述音乐文件的全部时间转化成数值向量,作为输入的初始向量。将初始向量输入预置音乐类型辨别模型的双层双向门限循环单元对音乐数据中的特征值进行提取,得到所述音乐文件的特征向量,将所述特征向量输入双层全连接层对所述向量中的特征值进行分类,最终输出为一个概率值,所述概率值用作判断识别音乐的音乐类型。本发明能够以较高的准确率分辨出音乐家创作的音乐和人工智能算法生成的音乐,能够帮助用户更好的分辨音乐的来源。
[0178]
上面图5从模块化功能实体的角度对本发明实施例中的音乐类型识别装置进行详
细描述,下面从硬件处理的角度对本发明实施例中音乐类型识别设备进行详细描述。
[0179]
图6是本发明实施例提供的一种音乐类型识别设备的结构示意图,该音乐类型识别设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对音乐类型识别设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在音乐类型识别设备600上执行存储介质630中的一系列指令操作。
[0180]
音乐类型识别设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图6示出的音乐类型识别设备结构并不构成对音乐类型识别设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0181]
本发明还提供一种音乐类型识别设备,所述音乐类型识别设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述音乐类型识别方法的步骤。
[0182]
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述音乐类型识别方法的步骤。
[0183]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0184]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1