[发明专利]一种高效的歌曲中人声起始位置检测方法有效
申请号: | 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,...,ZS24.生成谐波谱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,....,NtrainS25.频谱掩模:生成一新的数据矩阵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。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811358957.8/,转载请声明来源钻瓜专利网。