一种无前导静音段语音的端点检测方法
【专利摘要】本发明属于语音信号处理技术领域,一种无前导静音段语音的端点检测方法,包括以下步骤:步骤1、采用LMS自适应算法对带噪语音滤波,步骤2、将去噪后的语音从时域变换到频域,步骤3、计算每一帧的MFCC参数,步骤4、分别计算每一帧的谱熵,步骤5、采用FCM对语音信号进行分类,步骤6、计算步骤5中每类的平均谱熵,并标记出语音信号和噪声信号。本发明方法无需设置阈值,因此不会出现因设置阈值错误而造成端点检测错误;与神经网络等有监督的聚类方法相比,本方法无需训练样本,计算简单,快速,有利于后续的实时语音识别系统的设计。
【专利说明】
-种无前导静音段语音的端点检测方法
技术领域
[0001] 本发明设及一种无前导静音段语音的端点检测方法,属于语音信号处理技术领 域。
【背景技术】
[0002] 随着人机信息交互技术的发展,语音识别技术显示出其重要性。在语音识别系统 中,语音端点检测是语音识别中的关键技术之一。语音端点检测是指在有噪声的连续声音 信号中找出语音部分的起始点和终止点。端点检测的准确与否,会直接影响到语音识别系 统的性能。一种有效的端点检测方法不仅能够正确的检测出语音端点,而且能够减少数据 处理时间、节省存储空间和提高效率。
[0003] 由于需求的不同,比如计算精确性、算法复杂度、鲁棒性、响应时间等,不同的应用 会选择不同的端点检测算法。传统的基于阔值的端点检测算法,首先需要设定一个阔值,然 后提取每一帖语音信号的语音特征(比如短时能量、短时过零率等)与预先设定的阔值比 较。如果该语音帖的语音特征值大于阔值,就认为该帖是语音帖,否则该帖是噪声帖。通常 来说正常的语音信号中包含一些静音部分,一次双方通话中静音部分能够达到60%,在运 种静音比较多的情况下,基于阔值的双口限算法有很好的性能。然而,当语音信号没有前导 静音段时,双口限算法的性能下降地很快,因为基于阔值的方法,需先确定阔值,并假设开 始几帖信号是不包含语音的噪声信号。由于在语音端点检测的过程中,可能会有一段语音 没有前导静音段或者前导静音段比较短,那么语音阔值就会设置错误,所W如果语音信号 不满足运个假设,预先定义的阔值将是不可用的,端点检测就会出错。
【发明内容】
[0004] 为了克服现有技术中存在的不足,本发明目的是提供一种无前导静音段语音的端 点检测方法。该方法首先采用LMS(Least Mean Square)自适应滤波法对语音信号进行降噪 处理,然后将语音信号分帖,计算每一帖信号的MFCC(Mel Frequency Cepstrum Coefficient)参数和谱赌,Mel是音高的单位,再用MFCC作为FCM(化zz;y C-means)聚类算法 的输入参数进行分类,最后计算每一类的平均谱赌,来标记出语音类和噪声类,从而检测出 语音端点。
[0005] 为了实现上述发明目的,解决已有技术中所存在的问题,本发明采取的技术方案 是:一种无前导静音段语音的端点检测方法,包括W下步骤:
[0006] 步骤1、采用LMS自适应算法对带噪语音滤波,具体包括W下子步骤:
[0007] (a)、设有语音信号s(n)及噪声信号源VQ(n),可W认为噪声信号源VQ(n)在传播到 人耳过程中,经过了一个传递函数为Η的滤波器,输出为vi(n)的信号叠加在语音信号上,得 到带噪语音d(n),
[000引 d(n) =s(n)+vi(n) (1)
[0009] (b)、设有LMS自适应滤波器从另一个接近噪声信号源v〇(n)处对其滤波,得到滤波 后的信号y(n),该LMS自适应滤波器用于模拟子步骤(a)中的传递函数为Η的滤波器;
[0010] (C)、去噪后的语音信号记为χ(η),贝。
[0011] χ(η) =d(n)-y(n) (2)
[0012] 步骤2、将去噪后的语音从时域变换到频域,具体包括W下子步骤:
[0013] (a)、设置帖长和帖重叠长度,帖长的设置,由于语音信号是一个准平稳的信号,通 过把它分成较短的帖,每帖可看作平稳信号,运样就可W用处理平稳信号的方法来处理,同 时为了使一帖与另一帖信号之间的参数能较平稳的过度,在相邻两帖之间互相有部分重 叠,还需设置帖重叠长度;
[0014] (b)、加窗处理,分帖,加窗函数的目的是减少频域中的泄漏,对每一帖的语音信号 乘W汉明窗,去噪后的语音信号x(n)经过分帖和加窗处理后为xi(m),xi(m)表示第i帖信号 中的第m个分量值;
[0015] C)、采用FFT将语音信号的每一帖从时域变换到频域,对每一帖信号进行FFT变换, 从时域变换为频域,其表达式为
[0016] X(i,k)=FFT[xi(m)] (3)
[0017] 式中,X(i,k)表示第i帖信号中的第k条谱线;
[0018] 步骤3、计算每一帖的MFCC参数,具体包括W下子步骤:
[0019] (a)、计算谱线能量,对每一帖FFT后的数据计算谱线的能量,其表达式为
[0020] E(i,k) = [X(i,k)]2 (4)
[0021] 式中,E(i,k)表示第i帖信号中第k条谱线的能量;
[0022] (b)、计算通过Mel滤波器的能量,把求得的每帖谱线能量谱通过Mel滤波器,并乘 W在该Mel滤波器中的能量,在频域中相当于把每帖的能量谱E( i,k)与Mel滤波器的频率响 应Hm化)相乘并相加,其表达式为
[002引
(5)
[0024] 式中,S(i,m)表示第i帖中第m个Mel滤波器的谱线能量,Μ表示Mel滤波器的个数,N 表不每一帖序列长度;
[0025] (C)、计算MFCC参数,把Mel滤波器的能量取对数后计算DCT,其表达式为,
[0026]
(6)
[0027] 式中,mfccQ ,η)表示第i帖MFCC参数中的第η个分量;
[0028] 步骤4、分别计算每一帖的谱赌,具体包括W下子步骤:
[0029] (a)、计算频谱分量的归一化概率密度,由步骤3子步骤(a)中可知,E(i,k)为第i帖 信号第k条谱线的能量,则归一化概率密度为,
[0030]
(7)
[0031] 式中,Pi化)为第i帖信号第k条谱线对应的概率密度,E(i,l)为第i帖信号第1条谱 线的能量,0。如/2,N为FFT长度;
[0032] (b)、计算每一帖的谱赌,表达式为,
[0033]
(8)
[0034] 式中,hi为第i帖的谱赌;
[0035] 步骤5、采用FCM对语音信号进行分类,具体包括W下子步骤:
[0036] (曰)、由步骤3子步骤(C)中,可设mfcck为第k帖信号的MFCC特征参数,W该参数作 为FCM的输入参数,使目标函数
[0037]
巧)
[003引在
>厂/(二巧条件下具有最小值,
[0039]式中,mfcck= [mfccik,mfcc2k,... ,mfccsk]T表示目标数,mfccjk表示第k帖MFCC特征 mfcck的第j个分量值,S表示每一帖特征的维数,¥=[乂扣]=[乂1,乂2,一,乂。]01^^嗦示包含聚 类中屯、的矩阵,V/,反:e|^0·。,U=[Uik]eReXn表示隶属度矩阵,m表示模糊系数,me (l,w),表示模糊程度,II · II2表示欧式范数;由拉格朗日乘数法,得如下更新方程,
[0044] (b)、选择模糊系数111,111£(1,^),聚类数〇,2<^3和6,6为很小的正常数;
[0045] (C)、设1为迭代次数,由公式uu-u可W得到yw,其中uu-ii为U的第次迭代值,V W为V的第1次迭代值;
[0046] (d)、采用式(11)、(12)和yW更新隶属度矩阵uW;
[0047] (e)、如果
,停止更新,否则设置1 = 1 + 1并返回子步骤 (C),其中媒为化k的第1次迭代值;
[004引步骤6、计算步骤5中每类的平均谱赌,并标记出语音信号和噪声信号,谱赌较大的 是噪声,较小的是语音。
[0049]本发明有益效果是:一种无前导静音段语音的端点检测方法,包括W下步骤:步骤 1、采用LMS自适应算法对带噪语音滤波,步骤2、将去噪后的语音从时域变换到频域,步骤3、 计算每一帖的MFCC参数,步骤4、分别计算每一帖的谱赌,步骤5、采用FCM对语音信号进行分 类,步骤6、计算步骤5中每类的平均谱赌,并标记出语音信号和噪声信号。与已有技术相比, 本方法无需设置阔值,因此不会出现因设置阔值错误而造成端点检测错误;与神经网络等 有监督的聚类方法相比,本方法无需训练样本,计算简单,快速,有利于后续的实时语音识 别系统的设计。
【附图说明】
[0050] 图1是本发明方法步骤流程图。
[0051] 图2是采用本发明方法检测无前导静音段语音字母"A"端点的结果图。
[0052] 图中:(a)是语音字母"A"的语音波形,(b)是本发明的端点检测结果,方形实点和 圆形空点表示检测出来的两类,方形实点表示语音类,圆形空点表示非语音类;(a)和(b)中 的实竖线是检测到的语音起始点,虚竖线是检测到的语音结束点。
[0053] 图3为传统双口限法用不同的参数检测无前导静音段字母Τ'端点与用本发明方 法检测的结果对比图。
[0054] 图中:(a)是语音字母"F"的语音波形,(b)是用能量作为双口限法的参数检测到的 端点,(C)是用方差作为双口限法的参数检测到的端点,(d)是用谱赌作为双口限法的参数 检测到的端点,(e)是本发明的端点检测结果,化)、((3)、((1)、(6)中实竖线为检测到的起始 点,虚竖线为检测到的结束点。
【具体实施方式】
[0055] 下面结合附图对本发明作进一步说明。
[0056] 如图1所示,一种无前导静音段语音的端点检测方法,包括W下步骤:
[0057] 步骤1、采用LMS自适应算法对带噪语音滤波,具体包括W下子步骤:
[0058] (a)、设有语音信号s(n)及噪声信号源VQ(n),可W认为噪声源VQ(n)在传播到人耳 过程中,经过了一个传递函数为Η的滤波器,输出为vi(n)的信号叠加在语音信号上,得到带 噪语音d(n),
[0059] d(n) =s(n)+vi(n) (1)
[0060] (b)、设有LMS自适应滤波器从另一个接近噪声信号源vo(n)处对其滤波,得到滤波 后的信号为y(n),该LMS自适应滤波器用于模拟子步骤(a)中的传递函数为Η的滤波器,LMS 自适应滤波器的滤波阶数Μ=32,收敛因子μ = 0.001;
[0061] (C)、去噪后的语音信号记为χ(η),βυ
[0062] χ(η) =d(n)-y(n) (2)
[0063] 步骤2、将去噪后的语音从时域变换到频域,具体包括W下子步骤:
[0064] (a)、设置帖长和帖重叠长度,帖长的设置,由于语音信号是一个准平稳的信号,通 过把它分成较短的帖,每帖可看作平稳信号,运样就可W用处理平稳信号的方法来处理,同 时为了使一帖与另一帖信号之间的参数能较平稳的过度,在相邻两帖之间互相有部分重 叠,还需设置帖重叠长度;设置分帖的参数,信号采样率fs = 16000Hz,设置帖长为12.5ms, 即每帖有200个采样点,设置帖移为10ms,即帖移位160个采样点,帖重合部分为40个采样 点。
[0065] (b)、加窗处理,分帖,加窗函数的目的是减少频域中的泄漏,对每一帖的语音信号 乘W汉明窗,去噪后的语音信号x(n)经过分帖和加窗处理后为xi(m),xi(m)表示第i帖信号 中的第m个分量;用汉明窗加窗,窗长与帖长相同,对去噪后的语音信号x(n)进行分帖,分帖 后的语音X E R2?x54,此段语音有54帖,帖长为200。
[0066] (C)、采用FF門尋语音信号的每一帖从时域变换到频域,对每一帖信号进行FFT变 换,从时域变换为频域,其表达式为
[0067] X(i,k)=FFT[xi(m)] (3)
[0068] 式中,X(i,k)表示第i帖信号中的第k条谱线。
[0069] 步骤3、计算每一帖的MFCC参数,具体包括W下子步骤:
[0070] (a)、计算谱线能量,对每一帖FFT后的数据计算谱线的能量,其表达式为
[0071] E(i,k) = [X(i,k)]2 (4)
[0072] 式中,E(i,k)表示第i帖信号的第k条谱线的能量。
[0073] (b)、计算通过Mel滤波器的能量,把求得的每帖谱线能量谱通过Mel滤波器,并乘 W在该Mel滤波器中的能量,在频域中相当于把每帖的能量谱E( i,k)与Mel滤波器的频率响 应Hm化)相乘并相加,其表达式为,
[0074]
(5)
[0075] 式中,S(i,m)表示第i帖中第m个Mel滤波器的谱线能量,Μ表示Mel滤波器的个数,N 表不每一帖序列长度。
[0076] (C)、计算MFCC参数,把Mel滤波器的能量取对数后计算DCT,其表达式为,
[0077]
(6)
[007引式中,mfccQ ,η)表示第i帖MFCC参数中的第η个分量,得到MFCC= [mfccin] erSoxm 特征参数,(MFCC原有54帖语音特征,去掉首尾各两帖后,为50帖语音信号特征),取MFCC的 前16个分量得到MFCC特征,即MFCCeRwxis,如表1所示,求得的每一行是相应语音帖的特征 向量。
[0079]表 1
[0080]
[0081] 步骤4、分别计算每一帖的谱赌,具体包括w下子步骤:
[0082] (a)、计算频谱分量的归一化概率密度,由步骤3子步骤(a)中可知,E(i,k)为第i帖 信号第k条谱线的能量,则归一化概率密度为,
[0083]
(7)
[0084] 式中,Pi化)为第i帖信号第k条谱线对应的概率密度,N为FFT长度;
[0085] (b)、计算每一帖的谱赌,表达式为,
[0086]
(8)
[0087] 式中,山为第i帖的谱赌,得到谱赌H=比i]ERixw,如表2所示。
[0088] 表 2
[0089]
'[0090]~~步骤5、采用FCM对语音信号进行分类,具体包括W下子步骤I: ' ' '
[0091](曰)、由步骤3子步骤(C)中,可设mfcck为第k帖信号的MFCC特征参数,W该参数作 为FCM的输入参数,使目标函数
(9)
[0093] 在
.抑'/c = 1,2,···,"条件下具有最小值,
[0094] 式中,mfc(3k= [mfccik,mfcc2k,...,mfccsk]嗦示目标数,mfccjk表示第帥輔。0:特征 mfcCk的第j个分量,S表示每一帖特征的维数,V=[Vji] = [Vl,V2,···,Vc]δRsXe表示包含聚类 中屯、的矩阵,V/,A:w,i e[0,。,u=[uik]erxn表示隶属度矩阵,表示模糊系数,me(l, W),表示模糊程度,I I · II2表示欧式范数;由拉格朗日乘数法,得如下更新方程,
[0099] (b)、选择模糊系数111,111£(1,^),聚类数(3,2<〇<3和6,6为很小的正常数,运里选 择模糊系数m = 2,聚类数C = 2和ε = 1 0-6;
[0100] (C)、设1为迭代次数,由公式沪-1句W得到yW;
[0101] (d)、采用式(11)、( 12)和yw更新隶属度矩阵uw;
[0102] (e)、如勇
停止更新,否则设置1 = 1 + 1并返回子步骤 (C);最后得到的隶属度矩阵U= [Uik] eR2xw,iHk表示第k帖隶属于第i类的概率,1 y < 2,1 < k < 50,如表3所示,分类的结果如表4所示。
[0103] 表3
[0104]
[0107]步骤6、计算步骤5中每类的平均谱赌,并标记出语音信号和噪声信号,谱赌较大的· 是噪声,较小的是语音。通过计算得到类别1、类别2的平均谱赌分别为2.5776及3.5649,由 于2.5776<3.5649,所W类别1是语音,类别2是噪声。为了进一步体现本发明方法检测无前 导静音段语音端点方面的优势,做了更多的对比试验。图3为分别用能量、方差和谱赌作为 双口限法的参数检测无前导静音段语音"F"所得的结果与本方法的结果的对比图,很明显, 本发明方法更好。同时表5是对150个单词检测的结果,显然,传统的双口限端点检测方法在 检测此类语音时已经失效,而本发明方法有很好的检测效果。
[010引表5
[0109]
[0111]本发明优点在于:一种无前导静音段语音的端点检测方法,无需设置阔值,避免了 传统双口限端点检测方法因为阔值设置错误,而导致端点检测的错误,同时相对于神经网 络方法中,需先训练样本,本方法为无监督的方法,无需训练样本,计算简单,快速,实时性 好,为后续的实时语音识别系统的设计奠定了基础。
【主权项】
1. 一种无前导静音段语音的端点检测方法,其特征在于包括以下步骤: 步骤1、采用LMS自适应算法对带噪语音滤波,具体包括以下子步骤: (a) 、设有语音信号s(n)及噪声信号源vo(n),可以认为噪声信号源vo(n)在传播到人耳 过程中,经过了一个传递函数为Η的滤波器,输出* νι(η)的信号叠加在语音信号上,得到带 噪语音d(n), d(n) = s(n)+vi(n) (1) (b) 、设有LMS自适应滤波器从另一个接近噪声信号源v〇(n)处对其滤波,得到滤波后的 信号y(η),该LMS自适应滤波器用于模拟子步骤(a)中的传递函数为Η的滤波器; (c) 、去噪后的语音信号记为x(n),则 x(n)=d(n)-y(n) (2) 步骤2、将去噪后的语音从时域变换到频域,具体包括以下子步骤: (a) 、设置帧长和帧重叠长度,帧长的设置,由于语音信号是一个准平稳的信号,通过把 它分成较短的帧,每帧可看作平稳信号,这样就可以用处理平稳信号的方法来处理,同时为 了使一帧与另一帧信号之间的参数能较平稳的过度,在相邻两帧之间互相有部分重叠,还 需设置帧重叠长度; (b) 、加窗处理,分帧,加窗函数的目的是减少频域中的泄漏,对每一帧的语音信号乘以 汉明窗,去噪后的语音信号x(n)经过分帧和加窗处理后为 Xl(m),Xl(m)表示第i帧信号中的 第m个分量; c)、采用FFT将语音信号的每一帧从时域变换到频域,对每一帧信号进行FFT变换,从时 域变换为频域,其表达式为 X(i ,k) =FFT[xi(m) ] (3) 式中,X(i,k)表示第i帧频谱中的第k条谱线; 步骤3、计算每一帧的MFCC参数,具体包括以下子步骤: (a) 、计算谱线能量,对每一帧FFT后的数据计算谱线的能量,其表达式为 E(i,k) = [X(i,k)]2 (4) 式中,E(i,k)表示第i帧信号的第k条谱线的能量; (b) 、计算通过Mel滤波器的能量,把求得的每帧谱线能量谱通过Mel滤波器,并乘以在 该Mel滤波器中的能量,在频域中相当于把每帧的能量谱E(i,k)与Mel滤波器的频率响应H m (k)相乘并相加,其表达式为式中,S(i,m)表示第i帧中第m个Me 1滤波器的谱线能量,Μ表示Me 1滤波器的个数,N表示 每一帧序列长度; (c) 、计算MFCC参数,把Mel滤波器的能量取对数后计算DCT,其表达式为,式中,mf cc (i,η)表示第i帧MFCC参数中的第η个分量; 步骤4、分别计算每一帧的谱熵,具体包括以下子步骤: (a)、计算频谱分量的归一化概率密度,由步骤3子步骤(a)中可知,E(i,k)为第i帧信号 第k条谱线的能量,则归一化概率密度为,式中,Pl(k)为第i帧信号第k条谱线对应的概率密度,E(i,l)为第i帧信号第1条谱线的 能量,0 < 1 < N/2,N为FFT长度; (b )、计算每一帧的谱熵,表达式为,式中,hi为第i帧的谱熵; 步骤5、采用FCM对语音信号进行分类,具体包括以下子步骤: (a)、由步骤3子步骤(c)中,可设mf cck为第k帧信号的MFCC特征参数,以该参数作为FCM 的输入参数,使目标函数式中,mfcck= [mfccik,mfcc2k,…,mfccsk]T表示目标数,mfccjk表示第k帧MFCC特征mfcck 的第j个分量,s表示每一帧特征的维数,[v j = ,…,表示包含聚类中心 的矩阵,Vf,h化e[0,l],U=[Ulk]eiTXn表示隶属度矩阵,m表示模糊系数, me(l,ra), 表示模糊程度,I I · I |2表示欧式范数;由拉格朗日乘数法,得如下更新方程,(13)、选择模糊系数111,1]1£(1,〇〇),聚类数(;,2<(3<8和£,6为很小的正常数; (C)、设1为迭代次数,由公式U(w)可以得到V(1),其中U(w)为U的第1-1次迭代值,V (1)为V 的第1次迭代值; (d) 、采用式(11)、(12)和V(1)更新隶属度矩阵U(1); (e) 、如果V": max|i4f -<5,停止更新,否则设置1 = 1+1并返回子步骤(c),其 中为ulk的第1次迭代值; 步骤6、计算步骤5中每类的平均谱熵,并标记出语音信号和噪声信号,谱熵较大的是噪 声,较小的是语音。
【文档编号】G10L25/87GK105825871SQ201610149314
【公开日】2016年8月3日
【申请日】2016年3月16日
【发明人】董明, 张超
【申请人】大连理工大学