一种提取音乐主旋律的方法技术

技术编号:39830709 阅读:4 留言:0更新日期:2023-12-29 16:11
本发明专利技术公开了一种提取音乐主旋律的方法及系统,涉及音乐识别技术领域,通过对原始音频时域数据进行预处理,得到音阶频域数据矩阵;绘制音阶频域数据矩阵灰度直方图,统计音阶频域数据矩阵中,非零数据的分布情况;利用涨水消噪法,根据音阶频域数据矩阵得到频域岛数据,并生成频域岛轮廓集,进而得到精简频域数据矩阵;在精简频域数据矩阵中,在垂直和水平方向求偏导,取每个时间段最大能量的频率音阶,作为该时间段主旋律音符,把所有主旋律音符按照时间顺序提取出来,得到主旋律音符

【技术实现步骤摘要】
一种提取音乐主旋律的方法、系统、电子装置和存储介质


[0001]本专利技术涉及音乐识别
,特别是涉及一种提取音乐主旋律的方法

系统

电子装置和存储介质


技术介绍

[0002]在音乐作品中,音乐的主旋律是作品的主要特征

在音乐识别应用中,从音乐音频中提取主旋律,将音乐主旋律向量化,可以提高识别准确率

从音乐音频中提取主旋律,传统方式是由专业人员听并记谱操作,效率低,对操作人的音乐素养

经验要求比较高

业界流行的一些自动提取主旋律的程序,采用机械的音量比较方式,识别准确度差,甚至都听不出原曲是什么

[0003]因此,亟需一种能够高效

自动

准确的提取音乐主旋律的方案


技术实现思路

[0004]本专利技术的目的是提供一种提取音乐主旋律的方法及系统,能够自动判定音乐音频的主旋律,完成效率高,识别准确度高,适合大规模自动化的应用

[0005]为实现上述目的,本专利技术提供了如下方案:一种提取音乐主旋律的方法,所述方法包括以下步骤:
S100、
读取音乐音频文件,得到原始音频时域数据,并对所述原始音频时域数据进行预处理,得到音阶频域数据矩阵;
S200、
绘制音阶频域数据矩阵灰度直方图,统计所述音阶频域数据矩阵中,非零数据的分布情况,选取一个定值
x
作为噪声水面值;
S300、
利用涨水消噪法,根据音阶频域数据矩阵得到频域岛数据,处理后的非零数据块是数据岛掩码,查找计算频域岛数据的各个被0隔开的数据岛的边缘,生成频域岛轮廓集;
S400、
在待提取主旋律的时间段内,对所述
S300
中得到的数据岛掩码中对应的多个数据岛,进行能量体积计算,并将得到的计算结果从大到小排序,排序后取前
n
个,得到排序后的数据岛掩码;
S500、
用排序后的数据岛掩码和
S100
所述音阶频域数据矩阵进行运算,滤掉数据岛掩码以外的数据,得到精简频域数据矩阵;
S600、
在精简频域数据矩阵中,在垂直和水平方向求偏导,将每列中取水平垂直方向偏导接近0且值最大的元素对应的音阶,作为该时间段主旋律音符,把所有主旋律音符按照时间顺序提取出来,得到主旋律音符;
S700、
如果截取的主旋律音符有缺失,则增大所述
S400
中的
n
值,如果主旋律音符有叠加,则减小所述
S400
中的
n
值;如果主旋律的音符延迟时值不够,则减小消噪水平值
x
,反之,则增大噪声水面值
x。
[0006]进一步的,所述
S100、
读取音乐音频文件,得到原始音频时域数据,并对所述原始
音频时域数据进行预处理,得到音阶频域数据矩阵,具体包括:
S101、
读取音乐音频文件,得到原始音频时域数据,对所述原始时序数据进行时域谐波滤波后,分离打击乐器和谐波,得到时域谐波数据;
S102、
将所述时域谐波数据进行常数
Q
变换,得到音阶频域数据矩阵

[0007]进一步的,所述
S200
中,绘制音阶频域数据矩阵灰度直方图,统计所述音阶频域数据矩阵中,非零数据的分布情况,具体包括:
S201、
对所述音阶频域数据矩阵进行水平中值滤波,以抑制局部不连续性,得到频域数据矩阵能量图;
S202、
基于频域数据矩阵能量图,白色为0,深色为非零数据块,绘制音阶频域数据矩阵灰度直方图,得到非零数据的分布

[0008]进一步的,所述定值
x
的选取标准是:在音阶频域数据矩阵的非零数据中,小于
x
的数据个数占音阶频域数据矩阵总数的
0.01%

98%
之间

[0009]进一步的,所述
S300、
利用涨水消噪法,根据音阶频域数据矩阵得到频域岛数据,查找计算频域岛数据的各个被0隔开的数据岛的边缘,生成频域岛轮廓集,具体为:将音阶频域数据矩阵小于噪声水面值
x
的数据均修改为0,音阶频域数据矩阵中的非数据被0数据分割,变成频域岛数据,处理后的非零数据块是数据岛掩码,计算出的数据岛的边缘就是数据岛轮廓集

[0010]本专利技术还提供了一种提取音乐主旋律的系统,包括:预处理模块,用于读取音乐音频文件,得到原始音频时域数据,并对所述原始音频时域数据进行预处理,得到音阶频域数据矩阵;音阶频域数据矩阵灰度直方图构建模块,用于统计所述音阶频域数据矩阵中,非零数据的分布情况,选取一个定值
x
作为噪声水面值;涨水消噪模块,用于根据音阶频域数据矩阵得到频域岛数据,处理后的非零数据块是数据岛掩码,查找计算频域岛数据的各个被0隔开的数据岛的边缘,生成频域岛轮廓集;数据岛掩码处理模块,用于在待提取主旋律的时间段内,对所述数据岛掩码中对应的多个数据岛,进行能量体积计算,将得到的计算结果从大到小排序,排序后取前
n
个,得到排序后的数据岛掩码;用排序后的数据岛掩码和所述音阶频域数据矩阵进行运算,滤掉数据岛掩码以外的数据,得到精简频域数据矩阵;主旋律生成模块,用于在精简频域数据矩阵中,在垂直和水平方向求偏导,将每列中取水平垂直方向偏导接近0并且值最大的元素对应的音阶,作为该时间段主旋律音符,把所有主旋律音符按照时间顺序提取出来,得到主旋律音符

[0011]进一步的,所述预处理模块具体包括:时域谐波滤波模块,用于读取音频格式的音乐音频文件,得到原始音频时域数据,对原始时序数据进行时域谐波滤波后,分离打击乐器和谐波,得到时域谐波数据;常数
Q
变换模块,用于将所述时域谐波数据进行常数
Q
变换,得到音阶频域数据矩阵

[0012]本专利技术还提供了一种电子装置,具体包括:一个或多个中央处理器;
存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述提取音乐主旋律的方法

[0013]本专利技术还提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述提取音乐主旋律的方法

[0014]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提供的提取音乐主旋律的方法

系统,通过计算机软件,通过涨水消噪法,采用构建比较数据岛的方式,用图形图像处理的算法来处理音阶频谱数据,通过偏导计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种提取音乐主旋律的方法,其特征在于,所述方法包括以下步骤:
S100、
读取音乐音频文件,得到原始音频时域数据,并对所述原始音频时域数据进行预处理,得到音阶频域数据矩阵;
S200、
绘制音阶频域数据矩阵灰度直方图,统计所述音阶频域数据矩阵中,非零数据的分布情况;选取一个定值
x
作为噪声水面值;
S300、
利用涨水消噪法,根据音阶频域数据矩阵得到频域岛数据,处理后的非零数据块是数据岛掩码,查找计算频域岛数据的各个被0隔开的数据岛的边缘,生成频域岛轮廓集;
S400、
在待提取主旋律的时间段内,对所述
S300
中得到的数据岛掩码中对应的多个数据岛,进行能量体积计算,并将得到的计算结果从大到小排序,排序后取前
n
个,得到排序后的数据岛掩码;
S500、
用排序后的数据岛掩码和
S100
所述音阶频域数据矩阵进行运算,滤掉数据岛掩码以外的数据,得到精简频域数据矩阵;
S600、
在精简频域数据矩阵中,在垂直和水平方向求偏导,将每列中取水平垂直方向偏导接近0并且值最大的元素对应的音阶,作为该时间段主旋律音符,把所有主旋律音符按照时间顺序提取出来,得到主旋律音符;
S700、
如果截取的主旋律音符有缺失,则增大所述
S400
中的
n
值,如果主旋律音符有叠加,则减小所述
S400
中的
n
值;如果主旋律的音符延迟时值不够,则减小消噪水平值
x
,反之,则增大噪声水面值
x。2.
根据权利要求1所述的提取音乐主旋律的方法,其特征在于,所述
S100、
读取音乐音频文件,得到原始音频时域数据,并对所述原始音频时域数据进行预处理,得到音阶频域数据矩阵,具体包括:
S101、
读取音乐音频文件,得到原始音频时域数据,对所述原始时序数据进行时域谐波滤波后,分离打击乐器和谐波,得到时域谐波数据;
S102、
将所述时域谐波数据进行常数
Q
变换,得到音阶频域数据矩阵
。3.
根据权利要求1所述的提取音乐主旋律的方法,其特征在于,所述
S200
中,绘制音阶频域数据矩阵灰度直方图,统计所述音阶频域数据矩阵中,非零数据的分布情况,具体包括:
S201、
对所述音阶频域数据矩阵进行水平中值滤波,以抑制局部不连续性,得到频域数据矩阵能量图;
S202、
基于频域数据矩阵能量图,白色为0,深色为非零数据块,绘制音阶频域数据矩阵灰度直方图,得到非零数据的分布
。4.
...

【专利技术属性】
技术研发人员:徐心怡
申请(专利权)人:上海创先泰克教育科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1