CN109410968B - 一种高效的歌曲中人声起始位置检测方法 - Google Patents

一种高效的歌曲中人声起始位置检测方法 Download PDF

Info

Publication number
CN109410968B
CN109410968B CN201811358957.8A CN201811358957A CN109410968B CN 109410968 B CN109410968 B CN 109410968B CN 201811358957 A CN201811358957 A CN 201811358957A CN 109410968 B CN109410968 B CN 109410968B
Authority
CN
China
Prior art keywords
data
frame
voice
column
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811358957.8A
Other languages
English (en)
Other versions
CN109410968A (zh
Inventor
甘涛
甘云强
何艳敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201811358957.8A priority Critical patent/CN109410968B/zh
Publication of CN109410968A publication Critical patent/CN109410968A/zh
Application granted granted Critical
Publication of CN109410968B publication Critical patent/CN109410968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/45Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/69Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Complex Calculations (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

本发明属于数字音频处理技术领域,涉及人声检测问题,具体为一种歌曲中人声起始位置估计方法;该方法在特征提取之前,采取了针对管弦乐器和打击乐器的乐器声抑制方法,在特征提取中,采用高重叠的长窗口对音频进行分帧,并设计了适合于乐器声抑制处理后的音频特征,有效地捕获了初始发声阶段的音频特性,通过对歌声起点片段的学习,将歌曲划分为乐器声和人声(或乐器‑人声混合声)两类,较准确地估计出人声起始位置,且具有较好的人声/乐器声判定容错性;同时,该方法算法简单、处理快速,能够广泛应用于广播电台的节目播出自动化、数字媒体管理等。

Description

一种高效的歌曲中人声起始位置检测方法
技术领域
本发明属于数字音频处理技术领域,涉及人声检测问题,具体为一种歌曲中人声起始位置估计方法,该方法可应用于广播音频的实时人声位置打点标记。
背景技术
一首歌曲通常由纯伴奏和演唱两部分构成,其中纯伴奏部分是纯粹由伴奏乐器(管弦乐器和打击乐器)产生,不含人声的部分,而演唱部分是人声与伴奏音乐的叠加。在当前数字媒体资料管理中,对一首歌曲,往往需要将其中的人声起始位置(起点)进行打点标记。人声起点信息有诸多用途,比如在广播电台的直播节目中,人声起点位置可帮助主持人控制说话时长、设置相邻歌曲交叉淡入淡出等;另外,人声起点位置有利于现代媒体管理中对歌曲的各种自动化处理,如快速定位歌曲内容、歌词对齐、歌词识别和歌手识别等。
研究表明,在歌曲中检测或区分出人声是一项富有难度的任务。歌曲中的器乐声通常都是宽频带、具有谐波成分并与人声组成一个协调一致的整体,这使得人声位置估计变得十分困难。同时,弦乐器、木管乐器以及铜管乐器等发出的器乐声表现出与人声相似的特征,容易被误判为人声,这对准确检测人声位置提出了另一个挑战。
通常人声检测过程包括提取音频特征和将人声/乐器声分类两个环节。在特征提取方面,常用的特征有短时能量、过零率(ZCR)、梅尔频率倒谱系数(MFCC)、线性预测倒谱系数(LPCC)、线性预测编码(LPC)等等,而且多特征组合的使用也比较常见。在分类方面,主要使用的是基于统计模型的分类器,如隐马科夫模型(HMM)、高斯混合模型(GMM)、支持向量机(SVM)、人工神经网络(ANN)分类器等。由前分析知,由于歌曲中乐器声对人声的影响,很多常见的人声特征变得模糊甚至失效,进而使得多特征组合也收效甚微,不足以弥补引入多个特征带来的运算代价;在分类器方面,各自分类器的效果差别不十分明显。另外,效果相对较好的ANN方法,还存在训练时间长,需要的样本数多等缺点。总之,在缺乏针对乐器-人声混合声的有效特征表达的情况下,目前人声检测的准确率低于90%,进而使得估计人声起点的准确率难以达到实用要求。
发明内容
本发明的目的在于针对背景技术存在的问题,提供一种实用人声位置检测方法,采用新的音频处理和人声位置的估计算法。为实现该目的,本发明采用的技术方案如下:
一种高效的歌曲中人声起始位置检测方法,包括训练和识别两个阶段,包括以下步骤:
训练阶段:
S1.读取训练音频帧:初始化训练数据矩阵A为空,对每一个参与训练的音频文件,作如下处理:
S11.音频数据分帧:将音频转化为采样率为22050Hz的单声道音频,将转换后的数据按固定长度L(2048≤L≤8192,L的单位为采样点)划分为各音频帧,相邻帧间有重叠,重叠长度为3/4帧~9/10帧;将每一帧数据排列成一列矢量,并将其中各元素除以矢量中元素绝对值的最大值进行归一化,将归一化后的列矢量a按列追加到训练数据矩阵A中,即A=[A,a];得到更新的训练数据矩阵
Figure BDA0001866796860000021
其中,aj表示第j帧数据,j=1,2,...,Ntrain,Ntrain为处理完所有文件后的音频总帧数;
S12.对训练数据矩阵A中的每一帧数据,通过人工判定出该帧是人声或乐器声,并将判定结果作为该帧的类别标签记录到标签矢量中,得到标签矢量
Figure BDA0001866796860000022
其中,zj表示第j帧数据的类别,zj=1表示其类别为人声,zj=0表示其类别为乐器声;
S2.抑制乐器声干扰
S21.计算频谱:对A中的每一帧数据aj进行加窗处理,并进行短时傅里叶变换,得到频谱矩阵
Figure BDA0001866796860000023
其中,bj是大小为
Figure BDA0001866796860000024
的列矢量,对应于aj的频谱幅度;
S22.生成冲击谱P:
初始化P=B,设
Figure BDA0001866796860000025
对其中的每一列pj作如下更新:
寻找矢量pj的元素数据的所有局部峰值点位置wq(q=1,2,...,Q),其中Q为局部峰值点总数;
在每个峰值点位置wq,以wq为中心,在预设宽度W范围内寻找pj元素的中值
Figure BDA0001866796860000026
并用该值对pj的第wq个元素pj(wq)进行更新,即
Figure BDA0001866796860000031
S23.生成相似谱E:
S231.生成相关矩阵C,其第i行第j列的元素C(i,j)按如下方式计算:
Figure BDA0001866796860000032
其中,P(i,k)2为冲击谱P的第i行第k列元素的平方;
S232.计算相关矩阵C的每一列数据的均值形成均值矢量
Figure BDA0001866796860000033
Figure BDA0001866796860000034
S233.对均值矢量c进行归一化处理:
Figure BDA0001866796860000035
S234.寻找均值矢量c的元素数据的所有局部峰值点,并找到这些峰值点中取值最大的点,记其位置下标为r
S235.令r=r+1,并计算相似谱E前r列的第i行第j列的元素E(i,j):
Figure BDA0001866796860000036
其中,
Figure BDA0001866796860000037
Figure BDA0001866796860000038
为向下取整运算,
Figure BDA0001866796860000039
为求{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 (6)
S24.生成谐波谱H:
S241.设K为预设的帧数,计算谐波谱H前Ntrain-K+1列的第i行第j列的元素H(i,j):
Figure BDA00018667968600000310
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 (8)
S25.频谱掩模:生成一新的数据矩阵B',其第i行第j列的元素B'(i,j)为:
Figure BDA0001866796860000041
其中,η为预设的衰减系数(0.05≤η≤0.5),B(i,j)为B的第i行第j列的元素;
S3.提取音频特征:
S31.生成梅尔频率倒谱系数(MFCC)特征:对数据矩阵B'的每一列数据进行MFCC特征提取:
针对数据矩阵B'的第j(j=1,2,...,Ntrain)列数据,提取39维的标准MFCC特征数据
Figure BDA0001866796860000042
其中前13个数据为基本系数,后面接着是基本系数的13个一阶差分系数和13个二阶差分系数;
S32.生成能量特征:对数据矩阵B'的每一列数据计算总能量,得到新的能量特征矢量
Figure BDA0001866796860000043
其中,
Figure BDA0001866796860000044
并将能量特征矢量s中各元素除以该矢量中元素的最大值进行归一化;
S33.生成能量比特征:对数据矩阵B'的每一列数据计算能量比,得到新的能量比特征矢量
Figure BDA0001866796860000045
其中,
Figure BDA0001866796860000046
R为6kHz对应的频谱位置编号,
并将能量比特征矢量中各元素除以该矢量中元素的最大值进行归一化;
S34.组合特征:组合步骤S31,S32和S33得到数据,生成训练特征数据矩阵
Figure BDA0001866796860000047
其中,
Figure BDA0001866796860000048
S4.生成决策分类器:
对训练特征数据矩阵F和对应的标签矢量z,使用随机森林方法,生成n棵决策树,记为t1,t2,t3,...,tn,其中,n为决策树数目,最终形成决策分类器T=[t1,t2,t3,...,tn];
识别阶段:
S1.读取检测音频帧:按照训练阶段步骤S11,读取待检测音频文件,并对其进行数据分帧,得到更新的检测数据矩阵
Figure BDA0001866796860000051
其中,a'j'表示第j'帧数据,a'j'=1,2,...,Ntest,Ntest为待检测的总音频帧数;
S2.抑制乐器声干扰:按照训练阶段步骤S2对A'的数据进行抑制乐器声干扰处理;
S3.提取音频特征:按照训练阶段步骤S3对抑制乐器声干扰处理后的数据提取音频特征,最终得到检测特征矩阵
Figure BDA0001866796860000052
S4.判定帧类型:
对检测特征矩阵F'中的每一列(或帧),使用决策分类器T,按照决策树判定方法进行人声/乐器声的类别判定,得到各检测帧的预测类别矢量
Figure BDA0001866796860000053
其中,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。
本发明的有益效果在于:
本发明提供一种高效的歌曲中人声起始位置检测方法,该方法在特征提取之前,采取了针对管弦乐器和打击乐器的乐器声抑制方法,在特征提取中,采用高重叠的长窗口对音频进行分帧,并设计了适合于乐器声抑制处理后的音频特征,有效地捕获了初始发声阶段的音频特性,通过对歌声起点片段的学习,将歌曲划分为乐器声和人声(或乐器-人声混合声)两类,较准确地估计出人声起始位置,且具有较好的人声/乐器声判定容错性;同时,该方法算法简单、处理快速,能够广泛应用于广播电台的节目播出自动化、数字媒体管理等。
附图说明:
图1为本发明实施例中一种高效的歌曲中人声起始位置检测方法的流程示意图,其中包含了抑制乐器声干扰、生成决策分类器、判定帧类别,估计人声起点位置等步骤。
图2为本发明实施例中抑制乐器声干扰模块的流程图。
图3为本发明实施例中对第15首歌曲的前1200帧,音频帧类别的人工标记(真值)和检测结果(估计值)的对比情况;其中,(a)为音频帧类别的真值,(b)为音频帧类别的估计值,两个子图横坐标均为帧编号,纵坐标均为类别,1表示人声,0表示乐器声。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
本实施例提供一种高效的歌曲中人声起始位置检测方法,其流程示意图如图1所示,包括训练和识别两个阶段;本实施例中,仿真实验使用的歌曲共120首,其中前100首为训练音频,后20首歌曲为检测音频;对每个训练音频均进行如下预处理:1)将音频进行剪切,只保留其前面部分,保留的区间为音频开始到人声起始位置后10秒;2)标记人声起始位置时刻。
本实施例中歌曲中人声起始位置的检测方法,具体步骤如下:
·训练阶段:
S1.读取训练音频帧:设训练数据矩阵A的初值为空,对每一个参与训练的音频文件,作如下处理:
S11.音频数据分帧:将音频转化为采样率为22050Hz的单声道音频,将转换后的数据按固定长度L=4096划分为各音频帧,相邻帧间有7/8帧长度的重叠;将每一帧数据排列成一列矢量,并将其中各元素除以矢量中元素绝对值的最大值进行归一化,将归一化后的列矢量a按列追加到训练数据矩阵A中,即A=[A,a];处理完所有文件后的音频总帧数Ntrain为137743,则训练数据矩阵A=[a1,a2,a3,...,a137743],其中A的每一列aj表示第j帧的数据;
S12.对训练数据矩阵A中的每一列(或帧),人工判定出该帧是人声或乐器声,并将判定结果作为该帧的类别标签记录到标签矢量z=[z1,z2,z3,...,z137743]中,其中zj表示第j帧的类别,zj=1表示其类别为人声,zj=0表示其类别为乐器声;
下面以处理歌曲“阿鲁阿卓_让心情随风儿摇摆”的第1000帧为例进行说明。
S2.抑制乐器声干扰
S21.计算频谱:对A中的每一列进行加汉明窗处理,并进行短时傅里叶变换,得到频谱矩阵B=[b1,b2,b3,...,b137743],其中第1000帧数据a1000的频谱b1000=[1.0117,0.9692,0.6495,...,0.0256]T,bj是大小为
Figure BDA0001866796860000071
的列矢量;
S22.生成冲击谱P:
S221.初始化P=B,设P=[p1,p2,p3,...,p137743],对其中的每一列pj(1≤j≤137743)作:
S222.寻找pj元素数据的所有局部峰值点位置wq(1≤q≤Q),Q为峰值点总数;对第1000帧,p1000的局部峰值点位置wq=[9,13,18,...,2047]T,Q=636;
S223.在每个峰值点位置wq,以wq为中心,在预设宽度W=5范围内寻找pj元素的中值
Figure BDA0001866796860000072
并用该值对pj的第wq个元素pj(wq)进行更新,即
Figure BDA0001866796860000073
待处理完P的每一列后,得到更新后的冲击谱矩阵P=[p1,p2,p3,...,p137743],对第1000帧,有p1000=[1.0117,0.9692,0.6495,...,0.2297]T,pj是大小为2049的列矢量;
S23.生成相似谱E:
S231.生成相关矩阵C,其第i行第j列的元素C(i,j)按如下方式计算:
Figure BDA0001866796860000074
其中,P(i,k)2为P的第i行第k列元素的平方;
S232.计算C的每一列数据的均值
Figure BDA0001866796860000081
形成均值矢量c=[c1,c2,c3,...,c137743]T=[4928.3642,3773.9105,2396.5158,...,0.0154]T
S233.对c进行归一化处理
Figure BDA0001866796860000082
归一化处理后得c=[1.000000,0.765753,0.486270,...,0.000003]T
S234.寻找均值矢量c的元素数据的所有局部峰值点,并找到这些峰值点中取值最大的点,记其位置下标为r=215;
S235.令r=r+1=216,并计算矩阵E前r列部分的第i行第j列的元素E(i,j):
Figure BDA0001866796860000083
其中,
Figure BDA0001866796860000084
Figure BDA0001866796860000085
为向下取整运算,
Figure BDA0001866796860000086
为求{Y(1),Y(2),...,Y(Z)}等637个元素的中值的运算;
S236.计算矩阵E后137743-216=137527列部分的值
E(i,j+(z-1)r)=E(i,j),1≤i≤2049,1≤j≤216,2≤z≤637 (6)
此时得到相似谱矩阵E=[e1,e2,e3,...,e137743],其中对第1000帧,有e1000=[0.7947,0.5472,0.6495,...,0.0319]T,它是一个大小为2049的列矢量;
S24.生成谐波谱H:
S241.设K为1秒钟对应的整帧数43,计算矩阵H前137743-43+1=137701列部分的第i行第j列的元素H(i,j)如下
Figure BDA0001866796860000087
S242.计算矩阵H后43-1=42列部分的第i行第j列的元素H(i,j)
H(i,j)=B(i,j),1≤i≤2049,137702≤j≤137743 (8)
此时得到谐波谱矩阵H=[h1,h2,h3,...,h137743],其中对第1000帧,有h1000=[0.2766,0.4576,0.7181,...,0.1777]T,它是一个大小为2049的列矢量;
S25.频谱掩模:生成一新的数据矩阵B',其第i行第j列的元素B'(i,j)按如下方式计算:
Figure BDA0001866796860000091
其中,衰减系数η=0.1,B(i,j)为B的第i行第j列的元素;得到新的数据矩阵B'=[b'1,b'2,b'3,...,b'137743],对第1000帧,有b'1000=[0.001473,0.001539,0.001585,...,-0.000851],它是一个大小为2049的列矢量;
S3.提取音频特征:
S31.生成MFCC特征:对数据矩阵B'的第1000列数据,提取39维的标准MFCC特征数据
Figure BDA0001866796860000092
其中前13个为基本系数,后接着是基本系数的13个一阶差分系数和13个二阶差分系数;
S32.生成能量特征:对数据矩阵B'的每一列计算总能量
Figure BDA0001866796860000093
得到新的能量特征矢量s=[s1,s2,...,s137743]T,并将其各元素除以矢量中元素的最大值进行归一化;得到数据矩阵B'归一化后的能量特征s=[0.0013,0.0018,0.0023,...,0.0251]T,其中s1000=0.7341;
S33.生成能量比特征:对数据矩阵B'的每一列计算能量比
Figure BDA0001866796860000094
其中R=557为6kHz对应的频谱位置编号,得到新的能量比特征矢量s'=[s'1,s'2,...,s'137743]T,并将其各元素除以矢量中元素的最大值进行归一化;得到数据矩阵B'归一化后的能量比特征s'=[0.0760,0.0318,0.0219,...,0.1020]T,其中s'1000=0.1044;
S34.组合特征:
组合步骤S31,S32和S33得到的数据,生成训练特征数据矩阵F=[f1,f2,f3,...,f137743],其中
Figure BDA0001866796860000101
S4.生成决策分类器:
对训练特征数据矩阵F和对应的标签矢量z,使用随机森林算法,生成n=128棵决策树,记为t1,t2,t3,...,t128,最终形成决策分类器T=[t1,t2,t3,...,t128];
·识别阶段:
下面以处理歌曲“本兮_爱之光”为例进行说明。
S1.读取检测音频帧:按照阶段步骤S11,读取待检测某音频文件前2分钟的数据,并对其进行数据分帧,分帧后的音频总帧数Ntest为5168,则检测数据矩阵A'=[a'1,a'2,a'3,...,a'5168],其中A'的每一列a'j'表示第j'帧的数据;
S2.抑制乐器声干扰:按照训练阶段步骤S2对A'的数据进行抑制乐器声干扰处理;
S3.提取音频特征:按训练阶段步骤S3提取音频特征,最终得到检测特征矩阵F'=[f'1,f'2,f'3,...,f'5168],其中f'1=[-276.2899,2.6250,1.8965,...,0.0609]T
S4.判定帧类型:
对检测特征矩阵F'中的每一列(或帧),使用决策分类器T,按照决策树判定方法进行人声/乐器声的类别判定,得到各检测帧的预测矢量p=[p1,p2,p3,...,p42,p43,p44,...,p5168]T=[0,0,0,...,1,1,0,...,0]T,其中,pj'=1表示第j'帧的预测类别为人声,pj'=0表示第j'帧的预测类别为乐器声;第一个1出现在位置42处;
S5.估计人声起始位置:
S51.设置初始帧位置j'=2,人声起点位置Pos=1;;
S52.判断当前第j'帧是否满足“pj'=1且pj'-1=0”,在i=42帧处,第一次满足条件,作如下迭代操作:
S53.设置检测窗长度len为1秒钟对应的整帧数,即len=43,统计从42到42+43-1的43帧中人声帧的帧数占总帧数的比例
Figure BDA0001866796860000111
S54.由于R小于设定的可信人声占比阈值TR0=0.75,不作任何操作;
S55.更新j'=42+1=43,因43≤Ntest-len=5168-43=5125,则转到步骤S52继续检测下一个帧位置;
直到j'=1382,此时计算出的R=0.8605,由于在步骤S54中R>TR0,令Pos=1382,并转到步骤S56,结束整个检测;
S56.估计人声起点位置:计算一个音频帧的时长Δt:Δt=512/22050≈0.0232秒,则估计的人声起点位置time=Pos×Δt=1382×0.0232≈32.06秒。
下面分别从估计正确率和运行速度两方面来进行性能评估。
1.估计正确率
检测结果如表1所示。表中的“平均帧识别率”是识别阶段步骤S4输出的所有帧的预测结果的平均正确率,“标识人声起始位置”为人工标记的真实值,“估计的人声起始位置”为本方法最终输出结果,“估计误差”为估计值与真实值之差,估计误差为正代表估计点的位置滞后于真实点,为负代表估计点的位置超前于真实点;“结果评定”按如下规则确定:设置允许误差范围为±1秒,估计误差落在允许范围内则评定为正确,反之为错误;为此,对表中20首检测音频,全部歌曲皆判定正确,检测的正确率为100%。
可以看到,本发明方法具有较好的分类容错性,即在对音频帧人声识别率不高的情况下,仍能相对准确地检测出人声起始位置,这显示了识别阶段步骤S5人声起点判定方法的优势。比如,对第15首歌-“孙子涵_全世界宣布爱你”,如图3所示,人声是从第750帧(即17.42秒)发出,但在此之前,背景音乐中铜管乐器对人声检测产生较强的干扰,导致从第386帧至750帧(即8.96秒至17.42秒),有119帧(即32.69%)背景音乐帧被错误地识别成了人声,但这并没有对最终的人声位置估计产生多大影响,本发明方法最终的估计误差仅为-0.84秒而非-8.46秒(-8.46=8.96-17.42)。
表1检测结果表
Figure BDA0001866796860000112
Figure BDA0001866796860000121
2.比对速度
下面将本发明方法与基于SVM、ANN分类器的两种方法的运行速度的进行比较。在这两种方法中,音频特征都采用标准39维的MFCC特征,其中包括基本系数及其一阶差分系数和二阶差分系数。三种方法采用相同的训练集和检测集。本发明方法的程序均是由Python编写,测试机器为Intel(R)i7处理器,主频为2.4GHz,内存为16GB。对检测集音频,平均检测一首歌的执行时间如表2所示。
表2训练和检测时间(单位:秒)
方法 平均训练时间 平均检测时间
基于ANN分类器 144 17.1
基于SVM分类器 10.76 9.16
本发明 9.87 8.88
可以看到,相对于基于ANN的方法,本发明方法的训练时间大大缩短,且检测时间也有明显优势;另外,本发明方法的训练和检测速度也均快于基于SVM的方法。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

Claims (2)

1.一种高效的歌曲中人声起始位置检测方法,包括训练和识别两个阶段,包括以下步骤:
训练阶段:
S1.读取训练音频帧:初始化训练数据矩阵A为空,对每一个参与训练的音频文件,作如下处理:
S11.音频数据分帧:将音频转化为采样率为22050Hz的单声道音频,将转换后的数据按固定长度L划分为各音频帧,相邻帧间有重叠,重叠长度为3/4帧~9/10帧;将每一帧数据排列成一列矢量,并将其中各元素除以矢量中元素绝对值的最大值进行归一化,将归一化后的列矢量a按列追加到训练数据矩阵A中,即A=[A,a];得到更新的训练数据矩阵
Figure FDA0003911614360000017
其中,aj表示第j帧数据,j=1,2,...,Ntrain,Ntrain为参与训练的音频总帧数;
S12.对训练数据矩阵A中的每一帧数据,通过人工判定出该帧是人声或乐器声,并将判定结果作为该帧的类别标签记录到标签矢量中,得到标签矢量
Figure FDA0003911614360000011
其中,zj表示第j帧数据的类别,zj=1表示其类别为人声,zj=0表示其类别为乐器声;
S2.抑制乐器声干扰
S21.计算频谱:对A中的每一帧数据aj进行加窗处理,并进行短时傅里叶变换,得到频谱矩阵
Figure FDA0003911614360000012
其中,bj为大小为
Figure FDA0003911614360000013
的列矢量,对应于aj的频谱幅度;
S22.生成冲击谱P:
初始化P=B,设
Figure FDA0003911614360000014
对其中的每一列pj作如下更新:
寻找矢量pj的元素数据的所有局部峰值点位置wq,其中,q=1,2,...,Q,Q为局部峰值点总数;
在每个峰值点位置wq,以wq为中心,在预设宽度W范围内寻找pj元素的中值
Figure FDA0003911614360000015
并用该值对pj的第wq个元素pj(wq)进行更新,即
Figure FDA0003911614360000016
S23.生成相似谱E:
S231.生成相关矩阵C,其第i行第j列的元素C(i,j):
Figure FDA0003911614360000021
其中,P(i,k)2为冲击谱P的第i行第k列元素的平方;
S232.计算相关矩阵C的每一列数据的均值形成均值矢量
Figure FDA0003911614360000022
Figure FDA0003911614360000023
S233.对均值矢量c进行归一化处理:
Figure FDA0003911614360000024
S234.寻找均值矢量c的元素数据的所有局部峰值点,并找到这些峰值点中取值最大的点,记其位置下标为r;
S235.令r=r+1,并计算相似谱E前r列的第i行第j列的元素E(i,j):
Figure FDA0003911614360000025
其中,
Figure FDA0003911614360000026
Figure FDA0003911614360000027
为向下取整运算,
Figure FDA0003911614360000028
为求{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):
Figure FDA0003911614360000029
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)为:
Figure FDA0003911614360000031
其中,η为预设的衰减系数,B(i,j)为B的第i行第j列的元素;
S3.提取音频特征:
S31.生成梅尔频率倒谱系数(MFCC)特征:对数据矩阵B'的每一列数据进行MFCC特征提取:
针对数据矩阵B'的第j(j=1,2,...,Ntrain)列数据,提取39维的标准MFCC特征数据
Figure FDA0003911614360000032
其中前13个数据为基本系数,后面接着是基本系数的13个一阶差分系数和13个二阶差分系数;
S32.生成能量特征:对数据矩阵B'的每一列数据计算总能量,得到新的能量特征矢量
Figure FDA0003911614360000033
其中,
Figure FDA0003911614360000034
并将能量特征矢量s中各元素除以该矢量中元素的最大值进行归一化;
S33.生成能量比特征:对数据矩阵B'的每一列数据计算能量比,得到新的能量比特征矢量
Figure FDA0003911614360000035
其中,
Figure FDA0003911614360000036
R为6kHz对应的频谱位置编号,
并将能量比特征矢量中各元素除以该矢量中元素的最大值进行归一化;
S34.组合特征:组合步骤S31,S32和S33得到数据,生成训练特征数据矩阵
Figure FDA0003911614360000037
其中,
Figure FDA0003911614360000038
S4.生成决策分类器:
对训练特征数据矩阵F和对应的标签矢量z,使用随机森林方法,生成n棵决策树,记为t1,t2,t3,...,tn,其中,n为决策树数目,最终形成决策分类器T=[t1,t2,t3,...,tn];
识别阶段:
S1.读取检测音频帧:按照训练阶段步骤S11,读取待检测音频文件,并对其进行数据分帧,得到更新的检测数据矩阵
Figure FDA0003911614360000041
其中,a'j'表示第j'帧数据,a'j'=1,2,...,Ntest,Ntest为待检测的总音频帧数;
S2.抑制乐器声干扰:按照训练阶段步骤S2对A'的数据进行抑制乐器声干扰处理;
S3.提取音频特征:按照训练阶段步骤S3对抑制乐器声干扰处理后的数据提取音频特征,最终得到检测特征矩阵
Figure FDA0003911614360000042
S4.判定帧类型:
对检测特征矩阵F'中的每一列(或帧),使用决策分类器T,按照决策树判定方法进行人声/乐器声的类别判定,得到各检测帧的预测类别矢量
Figure FDA0003911614360000043
其中,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。
CN201811358957.8A 2018-11-15 2018-11-15 一种高效的歌曲中人声起始位置检测方法 Active CN109410968B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811358957.8A CN109410968B (zh) 2018-11-15 2018-11-15 一种高效的歌曲中人声起始位置检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811358957.8A CN109410968B (zh) 2018-11-15 2018-11-15 一种高效的歌曲中人声起始位置检测方法

Publications (2)

Publication Number Publication Date
CN109410968A CN109410968A (zh) 2019-03-01
CN109410968B true CN109410968B (zh) 2022-12-09

Family

ID=65473605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811358957.8A Active CN109410968B (zh) 2018-11-15 2018-11-15 一种高效的歌曲中人声起始位置检测方法

Country Status (1)

Country Link
CN (1) CN109410968B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113496706B (zh) * 2020-03-19 2023-05-23 抖音视界有限公司 音频处理方法、装置、电子设备及存储介质
CN111462776A (zh) * 2020-04-02 2020-07-28 湖南芒果听见科技有限公司 一种歌曲寻点方法及其终端
CN112667845A (zh) * 2020-12-23 2021-04-16 腾讯音乐娱乐科技(深圳)有限公司 一种歌曲推荐方法、装置、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2943875A1 (fr) * 2009-03-31 2010-10-01 France Telecom Procede et dispositif de classification du bruit de fond contenu dans un signal audio.
CN103489445A (zh) * 2013-09-18 2014-01-01 百度在线网络技术(北京)有限公司 一种识别音频中人声的方法及装置
CN104200815A (zh) * 2014-07-16 2014-12-10 电子科技大学 一种基于相关分析的音频噪声实时检测方法
CN106571150A (zh) * 2015-10-12 2017-04-19 阿里巴巴集团控股有限公司 定位音乐人声区的方法和系统
CN107680611A (zh) * 2017-09-13 2018-02-09 电子科技大学 基于卷积神经网络的单通道声音分离方法
CN108235115A (zh) * 2017-12-13 2018-06-29 福州星网视易信息系统有限公司 一种歌曲视频中人声区域定位的方法及终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2943875A1 (fr) * 2009-03-31 2010-10-01 France Telecom Procede et dispositif de classification du bruit de fond contenu dans un signal audio.
CN103489445A (zh) * 2013-09-18 2014-01-01 百度在线网络技术(北京)有限公司 一种识别音频中人声的方法及装置
CN104200815A (zh) * 2014-07-16 2014-12-10 电子科技大学 一种基于相关分析的音频噪声实时检测方法
CN106571150A (zh) * 2015-10-12 2017-04-19 阿里巴巴集团控股有限公司 定位音乐人声区的方法和系统
CN107680611A (zh) * 2017-09-13 2018-02-09 电子科技大学 基于卷积神经网络的单通道声音分离方法
CN108235115A (zh) * 2017-12-13 2018-06-29 福州星网视易信息系统有限公司 一种歌曲视频中人声区域定位的方法及终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
REpeating Pattern Extraction Technique (REPET): A Simple Method for Music/Voice Separation;Zafar Rafii,等;《IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING》;20130131;第21卷(第1期);第73-84页 *
浅谈人声乐器的构成与应用;刘洋;《万方数据库》;20141031;第1页 *

Also Published As

Publication number Publication date
CN109410968A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
CN109545191B (zh) 一种歌曲中人声起始位置的实时检测方法
Muckenhirn et al. Towards directly modeling raw speech signal for speaker verification using CNNs
US8880409B2 (en) System and method for automatic temporal alignment between music audio signal and lyrics
Ryynänen et al. Automatic transcription of melody, bass line, and chords in polyphonic music
JP3549681B2 (ja) 連結数字の認識のための発声識別立証
US8036884B2 (en) Identification of the presence of speech in digital audio data
Nwe et al. Exploring vibrato-motivated acoustic features for singer identification
CN110600055B (zh) 一种使用旋律提取与语音合成技术的歌声分离方法
US20100332222A1 (en) Intelligent classification method of vocal signal
CN108922541B (zh) 基于dtw和gmm模型的多维特征参数声纹识别方法
CN109545189A (zh) 一种基于机器学习的口语发音检错与纠正系统
CN106571150B (zh) 一种识别音乐中的人声的方法和系统
CN109410968B (zh) 一种高效的歌曲中人声起始位置检测方法
CN101136199A (zh) 语音数据处理方法和设备
Das et al. Bangladeshi dialect recognition using Mel frequency cepstral coefficient, delta, delta-delta and Gaussian mixture model
Lin et al. Automatic estimation of voice onset time for word-initial stops by applying random forest to onset detection
JP5050698B2 (ja) 音声処理装置およびプログラム
CN115050387A (zh) 一种艺术测评中多维度唱奏分析测评方法及系统
Truong et al. Evaluating automatic laughter segmentation in meetings using acoustic and acoustics-phonetic features
Fauzi et al. The recognition of hijaiyah letter pronunciation using mel frequency cepstral coefficients and hidden markov model
Kroher et al. Discovery of repeated vocal patterns in polyphonic audio: A case study on flamenco music
Chen et al. Popular song and lyrics synchronization and its application to music information retrieval
CN113129923A (zh) 一种艺术测评中多维度唱奏分析测评方法及系统
CN111368129A (zh) 基于深度神经网络的哼唱检索法
Chao et al. Two-stage Vocal Effort Detection Based on Spectral Information Entropy for Robust Speech Recognition.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant