[发明专利]一种高效的歌曲中人声起始位置检测方法有效
申请号: | 201811358957.8 | 申请日: | 2018-11-15 |
公开(公告)号: | CN109410968B | 公开(公告)日: | 2022-12-09 |
发明(设计)人: | 甘涛;甘云强;何艳敏 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G10L19/02 | 分类号: | G10L19/02;G10L25/45;G10L25/69 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 甘茂 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 歌曲 人声 起始 位置 检测 方法 | ||
1.一种高效的歌曲中人声起始位置检测方法,包括训练和识别两个阶段,包括以下步骤:
训练阶段:
S1.读取训练音频帧:初始化训练数据矩阵A为空,对每一个参与训练的音频文件,作如下处理:
S11.音频数据分帧:将音频转化为采样率为22050Hz的单声道音频,将转换后的数据按固定长度L划分为各音频帧,相邻帧间有重叠,重叠长度为3/4帧~9/10帧;将每一帧数据排列成一列矢量,并将其中各元素除以矢量中元素绝对值的最大值进行归一化,将归一化后的列矢量a按列追加到训练数据矩阵A中,即A=[A,a];得到更新的训练数据矩阵其中,aj表示第j帧数据,j=1,2,...,Ntrain,Ntrain为参与训练的音频总帧数;
S12.对训练数据矩阵A中的每一帧数据,通过人工判定出该帧是人声或乐器声,并将判定结果作为该帧的类别标签记录到标签矢量中,得到标签矢量其中,zj表示第j帧数据的类别,zj=1表示其类别为人声,zj=0表示其类别为乐器声;
S2.抑制乐器声干扰
S21.计算频谱:对A中的每一帧数据aj进行加窗处理,并进行短时傅里叶变换,得到频谱矩阵其中,bj为大小为的列矢量,对应于aj的频谱幅度;
S22.生成冲击谱P:
初始化P=B,设对其中的每一列pj作如下更新:
寻找矢量pj的元素数据的所有局部峰值点位置wq,其中,q=1,2,...,Q,Q为局部峰值点总数;
在每个峰值点位置wq,以wq为中心,在预设宽度W范围内寻找pj元素的中值并用该值对pj的第wq个元素pj(wq)进行更新,即
S23.生成相似谱E:
S231.生成相关矩阵C,其第i行第j列的元素C(i,j):
其中,P(i,k)2为冲击谱P的第i行第k列元素的平方;
S232.计算相关矩阵C的每一列数据的均值形成均值矢量
S233.对均值矢量c进行归一化处理:
S234.寻找均值矢量c的元素数据的所有局部峰值点,并找到这些峰值点中取值最大的点,记其位置下标为r;
S235.令r=r+1,并计算相似谱E前r列的第i行第j列的元素E(i,j):
其中,为向下取整运算,为求{Y(1),Y(2),...,Y(Z)}的Z个元素的中值的运算;
S236.计算相似谱E后Ntrain-r列的值:
E(i,j+(z-1)r)=E(i,j),i=1,2,...,l,j=1,2,...,r,z=2,...,Z
S24.生成谐波谱H:
S241.设K为预设的帧数,计算谐波谱H前Ntrain-K+1列的第i行第j列的元素H(i,j):
S242.计算谐波谱H后K-1列部分的第i行第j列的元素H(i,j):
H(i,j)=B(i,j),i=1,2,...,l,j=Ntrain-K+2,Ntrain-K+3,....,Ntrain
S25.频谱掩模:生成一新的数据矩阵B',其第i行第j列的元素B'(i,j)为:
其中,η为预设的衰减系数,B(i,j)为B的第i行第j列的元素;
S3.提取音频特征:
S31.生成梅尔频率倒谱系数(MFCC)特征:对数据矩阵B'的每一列数据进行MFCC特征提取:
针对数据矩阵B'的第j(j=1,2,...,Ntrain)列数据,提取39维的标准MFCC特征数据其中前13个数据为基本系数,后面接着是基本系数的13个一阶差分系数和13个二阶差分系数;
S32.生成能量特征:对数据矩阵B'的每一列数据计算总能量,得到新的能量特征矢量其中,
并将能量特征矢量s中各元素除以该矢量中元素的最大值进行归一化;
S33.生成能量比特征:对数据矩阵B'的每一列数据计算能量比,得到新的能量比特征矢量其中,
R为6kHz对应的频谱位置编号,
并将能量比特征矢量中各元素除以该矢量中元素的最大值进行归一化;
S34.组合特征:组合步骤S31,S32和S33得到数据,生成训练特征数据矩阵其中,
S4.生成决策分类器:
对训练特征数据矩阵F和对应的标签矢量z,使用随机森林方法,生成n棵决策树,记为t1,t2,t3,...,tn,其中,n为决策树数目,最终形成决策分类器T=[t1,t2,t3,...,tn];
识别阶段:
S1.读取检测音频帧:按照训练阶段步骤S11,读取待检测音频文件,并对其进行数据分帧,得到更新的检测数据矩阵其中,a'j'表示第j'帧数据,a'j'=1,2,...,Ntest,Ntest为待检测的总音频帧数;
S2.抑制乐器声干扰:按照训练阶段步骤S2对A'的数据进行抑制乐器声干扰处理;
S3.提取音频特征:按照训练阶段步骤S3对抑制乐器声干扰处理后的数据提取音频特征,最终得到检测特征矩阵
S4.判定帧类型:
对检测特征矩阵F'中的每一列(或帧),使用决策分类器T,按照决策树判定方法进行人声/乐器声的类别判定,得到各检测帧的预测类别矢量其中,pj'=1表示第j'帧的预测类别为人声,pj'=0表示第j'帧的预测类别为乐器声;
S5.估计人声起始位置:
S51.设置初始帧位置j'=2,初始人声起点位置Pos=1;
S52.判断当前第j'帧是否满足条件:pj'=1且pj'-1=0,若满足,则执行步骤S53,否则,执行步骤S55;
S53.设置检测窗长度为len,统计从j'到j'+len-1的len帧中人声帧的帧数占总帧数的比例R;
S54.若R大于设定的可信人声占比阈值TR0(0.7≤TR0≤0.8),则令Pos=j',并转到步骤S56;
S55.更新j'=j'+1,并进行判断,若j'≤Ntest-len,则转到步骤S52;否则,结束检测,输出未检测到人声;
S56.估计人声起点位置:time=Pos×Δt,其中Δt为一个音频帧的时长,其单位为秒;结束检测,输出人声起始点估计位置time。
2.按权利要求1所述的一种高效的歌曲中人声起始位置检测方法,其特征在于,所述可信人声占比阈值TR0的取值范围为:0.7≤TR0≤0.8。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811358957.8/1.html,转载请声明来源钻瓜专利网。