法律状态公告日
法律状态信息
法律状态
2019-07-12
授权
授权
2017-02-01
实质审查的生效 IPC(主分类):G06K9/62 申请日:20160830
实质审查的生效
2017-01-04
公开
公开
技术领域
本发明属于计算机听觉技术领域,特别是一种基于稀疏表示和机器学习的西洋乐器分类方法。
背景技术
随着互联网技术的快速发展,音乐音频文件由于占用存储空间小,复制传送方便等特点,数字音乐得到飞速发展。然而,面对互联网上大量音乐,检索到人们所需要的音乐变得十分困难,这就要求音乐网站事先对海量音乐做好分类,以便使得检索音乐变得容易。因此,音乐信息检索(Music Information Retrieval,MIR)成为最近几年的研究热点之一。
乐器标签是音乐分类的一种重要标签,同时乐器还可以预测音乐的情感,流派种类,和音乐场景等。如果我们知道某一种音乐所使用的乐器,那么我们可以根据乐器信息来改善音乐自动分类的分类效果和区分潜在的音乐集。海量乐器音乐采用人工分类的方法十分繁琐,且需要专业音乐人士对音乐分类。考虑到现实操作的可行性,人工分类的方法不可行。乐器自动分类技术具有极其重要的研究价值。按照不同的方法或者标准,可以根据分类结果将乐器音乐建立不同的索引,并且还可以提高乐器音乐自动分类和检索的性能。
目前常见的音乐音频特征提取大多数是借鉴语音识别方面的特征,如梅尔倒谱系数等底层特征,结合模式识别与分类的方法对音乐进行分类。虽然Mel频率倒谱系数反应了人耳的听觉特性,然而该特征与音乐的语义内容并没有直接关系,因此在很多应用方面,这些底层特征所表现出来的信息量往往难以直接应用。用于乐器分类的分类器主要有基于模板的分类器和基于隐马尔科夫模型(Hidden Markov Model,HMM)的分类器。但是这两种分类器的识别效果都不佳,识别率集中在70%到80%之间,这个结果显然有待提高。
发明内容
本发明的目的在于提供一种基于稀疏表示和机器学习的西洋乐器分类方法,获取西洋乐器音频更符合音乐特点的特征表示,从而提高西洋乐器分类的准确率。
实现本发明目的的技术解决方案为:一种基于稀疏表示和机器学习的西洋乐器分类方法,包括以下步骤:
步骤1、构建适用于西洋乐器稀疏表示的字典库D,该字典库包含N种乐器;具体步骤为:
步骤1-1、依次加载N种乐器,具体是在每种乐器下合成M个不同音阶的音色,每个音阶时长为t ms,并且将音色以Fs KHz采样率导出成wav文件,该wav文件作为乐器在该音阶的声学特征;其中N种乐器涵盖了所有的西洋乐器种类,取120~130间的整数;上述M个音阶横跨n个八度,n取为5~7间的整数,涵盖乐器可以发出声音的频率范围,t取180~200间的整数,音阶在t ms时长下分辨率高,区分明显,Fs取11.025,22.05,44.1中之一;
步骤1-2、利用MATLAB软件将上述所有wav文件转换成矩阵的形式,其中矩阵的每一列为不同乐器不同音阶的声学特征,共N*M列,该矩阵即为适用于西洋乐器稀疏表示的字典库,记为D。
步骤2、对西洋乐器原始音频文件进行预处理,分帧加窗,提取每帧音频在基于步骤1所得到字典库表示下的稀疏系数;具体步骤为:
步骤2-1、将西洋乐器原始音频转换成采样率为Fs Hz的单声道音频文件;
步骤2-2、将转换后的西洋乐器原始音频截成L s长的小段,其中L取20~50间的整数;
步骤2-3、将每个小段分帧加窗,统计每帧音频中幅值小于H的样本个数,若此样本个数超过T时则认为此帧为静音帧,舍弃该帧;其中H为幅值阈值,取e-3,T为样本个数阈值,取400~600间的整数;
步骤2-4、对每帧西洋乐器音频进行稀疏表示,其中稀疏表示字典库为D,得出每帧西洋乐器音频在基于该字典库的稀疏表示系数,该系数即为该帧西洋乐器音频的声学特征。
步骤3、将步骤2所得每帧音频稀疏表示系数作为西洋乐器的音乐特征输入深度神经网络,逐层预训练深度神经网络模型,得到与西洋乐器音频分类相应的深度神经网络模型参数;具体步骤为:
步骤3-1、将步骤2所得各个西洋乐器帧的稀疏系数作为深度神经网络模型的输入,输入至深度神经网络可视层;
步骤3-2、通过非监督逐层贪婪方法预训练深度神经网络模型,训练过程中,将可视层单元值映射给隐层单元,接着可视层单元由隐层单元重建,重建的新可视单元再次映射至隐层单元,利用可视层单元和隐层单元之间的相关性差别更新深度神经网络模型权值。
步骤4、将逻辑回归层加入至深度神经网络模型的顶层;具体为:在深度神经网络模型顶部添加逻辑回归函数,其中逻辑回归函数公式:
步骤5、对步骤3所得深度神经网络模型参数进行反向微调,将深度神经网络模型最后一个隐含层的输出参数输入至逻辑回归层进行分类,得到西洋乐器的分类结果;具体步骤为:
步骤5-1、对西洋乐器各个原始音频帧添加标签,该标签为西洋乐器各个原始音频帧所属乐器种类,将其记为i,其中i=1,2,3……m,m为待分类的乐器种类个数;
步骤5-2、利用上述带标签的数据对深度神经网络参数进行调整,具体采用反向传播算法进行调整;此过程中,标签集被附加到深度神经网络顶层,通过一个自下而上的,学习到的识别权值获得一个网络的分类面,深度神经网络最后一层输出参数输入至逻辑回归层得到各个帧的西洋乐器分类。
本发明与现有技术相比,其显著优点为:(1)本发明的方法摒弃了语音识别方面的特征,构建由一系列音符组成的字典库,利用稀疏特征来表示西洋乐器音频还原度更高;(2)本发明的方法利用深度神经网络对大数据进行处理,更有效地提取数据的抽象特征,提高西洋乐器分类的准确度。
下面结合附图对本发明做进一步详细说明。
附图说明
图1为本发明的基于稀疏表示和机器学习的西洋乐器分类方法流程图。
图2为深度神经网络模型图。
图3为逻辑回归函数图。
图4为本发明的一段待分类的乐器音频信号图。
图5为本发明的乐器音频稀疏分解后的恢复信号。
具体实施方式
结合图1,本发明的一种基于稀疏表示和机器学习的西洋乐器分类方法,包含以下步骤:
步骤1、构建适用于西洋乐器稀疏表示的字典库D,该字典库包含N种乐器;具体步骤为:
步骤1-1、依次加载N种乐器,具体是在每种乐器下合成M个不同音阶的音色,每个音阶时长为t ms,并且将音色以Fs KHz采样率导出成wav文件,该wav文件作为乐器在该音阶的声学特征;其中N种乐器涵盖了所有的西洋乐器种类,取120~130间的整数;上述M个音阶横跨n个八度,n取为5~7间的整数,涵盖乐器可以发出声音的频率范围,t取180~200间的整数,音阶在t ms时长下分辨率高,区分明显,Fs取11.025,22.05,44.1中之一;
步骤1-2、利用MATLAB软件将上述所有wav文件转换成矩阵的形式,其中矩阵的每一列为不同乐器不同音阶的声学特征,共N*M列,该矩阵即为适用于西洋乐器稀疏表示的字典库,记为D。
步骤2、对西洋乐器原始音频文件进行预处理,分帧加窗,提取每帧音频在基于步骤1所得到字典库表示下的稀疏系数;具体步骤为:
步骤2-1、将西洋乐器原始音频转换成采样率为Fs Hz的单声道音频文件;
步骤2-2、将转换后的西洋乐器原始音频截成L s长的小段,其中L取20~50间的整数;
步骤2-3、将每个小段分帧加窗,统计每帧音频中幅值小于H的样本个数,若此样本个数超过T时则认为此帧为静音帧,舍弃该帧;其中H为幅值阈值,取e-3,T为样本个数阈值,取400~600间的整数;
步骤2-4、对每帧西洋乐器音频进行稀疏表示,其中稀疏表示字典库为D,得出每帧西洋乐器音频在基于该字典库的稀疏表示系数,该系数即为该帧西洋乐器音频的声学特征;其中稀疏表示的方法为:y€Rn为每帧西洋乐器音频样本,满足y=Dx,其中x代表该帧西洋乐器音频y关于特征矩阵D的稀疏系数向量,求使x的一范数||x||1最小的解
步骤3、将步骤2所得每帧音频稀疏表示系数作为西洋乐器的音乐特征输入深度神经网络,逐层预训练深度神经网络模型,得到与西洋乐器音频分类相应的深度神经网络模型参数;具体步骤为:
步骤3-1、将步骤2所得各个西洋乐器帧的稀疏系数作为深度神经网络模型的输入,输入至深度神经网络可视层;
步骤3-2、通过非监督逐层贪婪方法预训练深度神经网络模型,训练过程中,将可视层单元值映射给隐层单元,接着可视层单元由隐层单元重建,重建的新可视单元再次映射至隐层单元,利用可视层单元和隐层单元之间的相关性差别更新深度神经网络模型权值。
步骤4、将逻辑回归层加入至深度神经网络模型的顶层;具体步骤为:
步骤4-1、在深度神经网络模型顶部添加逻辑回归函数,其中逻辑回归函数公式:
步骤5、对步骤3所得深度神经网络模型参数进行反向微调,将深度神经网络模型最后一个隐含层的输出参数输入至逻辑回归层进行分类,得到西洋乐器的分类结果;具体步骤为:
步骤5-1、对西洋乐器各个原始音频帧添加标签,该标签为西洋乐器各个原始音频帧所属乐器种类,将其记为i,其中i=1,2,3……m,m为待分类的乐器种类个数;
步骤5-2、利用上述带标签的数据对深度神经网络参数进行调整,具体采用反向传播算法进行调整;此过程中,标签集被附加到深度神经网络顶层,通过一个自下而上的,学习到的识别权值获得一个网络的分类面,深度神经网络最后一层输出参数输入至逻辑回归层得到各个帧的西洋乐器分类。
下面结合实施例对本发明做进一步详细的描述。
实施例
结合图1,本发明的一种基于稀疏表示和机器学习的西洋乐器分类方法,包含以下步骤:
步骤1、构建适用于西洋乐器稀疏表示的字典库D,该字典库包含N种乐器;具体步骤为:
步骤1-1、依次加载N种乐器,具体是在每种乐器下合成M个不同音阶的音色,每个音阶时长为t ms,并且将音色以Fs KHz采样率导出成wav文件,该wav文件作为乐器在该音阶的声学特征;其中N种乐器涵盖了所有的西洋乐器种类,取120~130间的整数;上述M个音阶横跨n个八度,n取为5~7间的整数,涵盖乐器可以发出声音的频率范围,t取180~200间的整数,音阶在t ms时长下分辨率高,区分明显,Fs取11.025,22.05,44.1中之一;
步骤1-2、利用MATLAB软件将上述所有wav文件转换成矩阵的形式,其中矩阵的每一列为不同乐器不同音阶的声学特征,共N*M列,该矩阵即为适用于西洋乐器稀疏表示的字典库,记为D。
此实施例中,假设N=128,M=60,n=6,依次加载128种乐器,具体是在每种乐器下合成60个不同音阶的音色,此60个音阶横跨6个八度,t=186ms,Fs=22.050,每个音阶时长为t ms,并且将音色以Fs KHz采样率导出成wav文件,该wav文件作为乐器在该音阶的声学特征。
步骤2、对西洋乐器原始音频文件进行预处理,分帧加窗,提取每帧音频在基于步骤1所得到字典库表示下的稀疏系数;具体步骤为:
步骤2-1、将西洋乐器原始音频转换成采样率为Fs Hz的单声道音频文件;
步骤2-2、将转换后的西洋乐器原始音频截成L s长的小段,其中L取20~50间的整数;
步骤2-3、将每个小段分帧加窗,统计每帧音频中幅值小于H的样本个数,若此样本个数超过T时则认为此帧为静音帧,舍弃该帧;其中H为幅值阈值,取e-3,T为样本个数阈值,取400~600间的整数;
步骤2-4、对每帧西洋乐器音频进行稀疏表示,其中稀疏表示字典库为D,得出每帧西洋乐器音频在基于该字典库的稀疏表示系数,该系数即为该帧西洋乐器音频的声学特征;其中稀疏表示的方法为:y€Rn为每帧西洋乐器音频样本,满足y=Dx,其中x代表该帧西洋乐器音频y关于特征矩阵D的稀疏系数向量,求使x的一范数||x||1最小的解
此实施例中L=30,将西洋乐器音频截成30s长的小段进行处理,T=500,若每帧西洋乐器音频中幅值小于H的样本个数超过500,则认为此帧是静音帧。
步骤3、将步骤2所得每帧音频稀疏表示系数作为西洋乐器的音乐特征输入深度神经网络,逐层预训练深度神经网络模型,得到与西洋乐器音频分类相应的深度神经网络模型参数;具体步骤为:
步骤3-1、将步骤2所得各个西洋乐器帧的稀疏系数作为深度神经网络模型的输入,输入至深度神经网络可视层;
步骤3-2、通过非监督逐层贪婪方法预训练深度神经网络模型,训练过程中,将可视层单元值映射给隐层单元,接着可视层单元由隐层单元重建,重建的新可视单元再次映射至隐层单元,利用可视层单元和隐层单元之间的相关性差别更新深度神经网络模型权值。
步骤4、将逻辑回归层加入至深度神经网络模型的顶层;具体步骤为:
在深度神经网络模型顶部添加逻辑回归函数,其中逻辑回归函数公式:
当自变量z趋近于无穷大时,g(z)趋近于1;当z趋近于无穷小时,g(z)趋近于0。
步骤5、对步骤3所得深度神经网络模型参数进行反向微调,将深度神经网络模型最后一个隐含层的输出参数输入至逻辑回归层进行分类,得到西洋乐器的分类结果;具体步骤为:
步骤5-1、对西洋乐器各个原始音频帧添加标签,该标签为西洋乐器各个原始音频帧所属乐器种类,将其记为i,其中i=1,2,3……m,m为待分类的乐器种类个数;
步骤5-2、利用上述带标签的数据对深度神经网络参数进行调整,具体采用反向传播算法进行调整;此过程中,标签集被附加到深度神经网络顶层,通过一个自下而上的,学习到的识别权值获得一个网络的分类面,深度神经网络最后一层输出参数输入至逻辑回归层得到各个帧的西洋乐器分类。
此实施例中,m=6,对吉他,钢琴,小号,小提琴,笛子,贝司这6种乐器进行分类,这几种西洋乐器标签依次为1,2,3,4,5,6。
由上可知,本发明的方法利用深度神经网络对大数据进行处理,更有效地提取数据的抽象特征,提高西洋乐器分类的准确度。
机译: 基于半监督K-SVD和多尺度稀疏表示的超像素分类方法
机译: 基于半监督K-SVD和多尺度稀疏表示的超像素分类方法
机译: 基于机器学习的动力传输线路干扰分类方法和装置