首页 / 专利库 / 信号处理 / 梅尔频率倒谱 / 基于决策树和说话人改变检测的音频分割方法

基于决策树和说话人改变检测的音频分割方法

阅读:470发布:2021-01-11

专利汇可以提供基于决策树和说话人改变检测的音频分割方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于 决策树 和说话人改变检测的 音频分割 方法,首先利用自适应的静音检测找出音频中的静音,并利用这些静音对音频进行粗分割,然后根据突变检测来进行细分割,并用决策树来对分割得到的音频 片段 进行语音/非语音的分类,最后在语音片段之间检测说话人改变点,由说话人改变点得到最终分割结果。本发明有益的效果是:结合静音检测和突变检测两种方法,并采用语音/非语音决策树进行语音检测,利用各自的优点提高语音检测准确性。再在语音片断之间进行说话人改变检测,相较一般的需要两两计算距离的聚类 算法 更节省计算时间。,下面是基于决策树和说话人改变检测的音频分割方法专利的具体信息内容。

1、一种基于决策树和说话人改变检测的音频分割方法,其特征在于:首先利用自适应 的静音检测找出音频中的静音,并利用这些静音对音频进行粗分割,然后根据突变检测来进 行细分割,并用决策树来对分割得到的音频片段进行语音/非语音的分类,最后在语音片段之 间检测说话人改变点,由说话人改变点得到最终分割结果。
2、根据权利要求1所述的基于决策树和说话人改变检测的音频分割方法,其特征在于: 包括如下步骤:
1)、对音频进行预处理:音频预处理分为采样量化,去零漂,预加重和加窗三个部分;
2)、音频特征提取:音频上的特征提取包括能量,过零率和梅尔倒谱系数的提取;
3)、静音检测:将音频分帧后计算各帧能量,通过自适应能量阈值和时间阈值确定静音;
4)、语音分割:静音检测之后,音频信号被分割成连续的静音段和非静音段,对长度大 于10秒的非静音段进行进一步分割;突变检测是通过计算能量和过零率的分布之间的距离 确定突变点;
5)、语音/非语音分类:用训练好的决策树来对非静音段分类:语音或非语音,决策树的 每一个结点对应一个段特征;决策树为一组事先训练的判定规则,将音频片断的段特征与对 应规则依次进行判定,按决策树的最终取值决定音频片段类型;
6)、说话人改变检测:用特征分布之间的相似度来检测说话人的改变,即将相邻语音段 之间的距离与自适应阈值比较,确定说话人改变点。
3、根据权利要求2所述的基于决策树和说话人改变检测的音频分割方法,其特征在于: 所述的音频预处理具体步骤是:
1)、采样量化:
A)、用锐截止滤波器音频信号进行滤波,使其奈奎斯特频率FN为4KHZ;
B)、设置音频采样率F=2FN;
C)、对音频信号sa(t)按周期进行采样,得到数字音频信号的振幅序列 s ( n ) = s a ( n F ) ;
D)、用脉冲编码调制(PCM)对s(n)进行量化编码,得到振幅序列的量化表示s′(n);
2)、去零漂:
A)、计算量化的振幅序列的平均值s;
B)、将每个振幅值减去平均值,得到去零漂后平均值为0的振幅序列s″(n):
3)、预加重:
A)、设置数字滤波器的Z传递函数H(z)=1-αz-1中的预加重系数α,α可取1或比1稍小的值;
B)、s″(n)通过数字滤波器,得到音频信号的高、中、低频幅度相当的振幅序列s(n);
4)、加窗:
A)、计算音频帧的帧长N(32毫秒)和帧移量T(10毫秒),分别满足:
N F = 0.032
T F = 0.010
这里F是音频采样率,单位为Hz;
B)、以帧长为N、帧移量为T,把s(n)划分成一系列的音频帧Fm,每一音频帧包含N个音 频信号样本;
C)、计算哈明窗函数:

D)、对每一音频帧Fm加哈明窗:
ω(n)×Fm(n){Fm′(n)|n=0,1,…,N-1}。
4、根据权利要求2所述的基于决策树和说话人改变检测的音频分割方法,其特征在于: 所述音频特征提取的具体步骤是:
1)、能量的提取:
E = Σ n = 1 N s 2 ( n )
2)、过零率的提取:
Zcr = 1 2 N - 1 Σ n = 1 N - 1 | [ sgn ( s ( n + 1 ) ) - sgn ( s ( n ) ) ] |
3)、梅尔倒谱系数,即MFCC的提取:
A)、设置梅尔倒谱系数的阶数p;
B)、做快速傅立叶变换FFT,将时域信号s(n)变成频域信号X(k);
C)、计算梅尔域刻度:
M i = i p × 2595 log ( 1 + 8000 / 2.0 700.0 ) , ( i = 0,1,2 , . . . , p )
D)、计算对应的频域刻度:
f i = 700 × e M i 2595 ln 10 - 1 , (i=0,1,2,...,p)
E)、计算每个梅尔域通道φj上的对数能量谱:
E j = Σ k = 0 K 2 - 1 φ j ( k ) | X ( k ) | 2
其中 Σ k = 0 K 2 - 1 φ j ( k ) = 1 .
F)、做离散余弦变换DCT。
5、根据权利要求2所述的基于决策树和说话人改变检测的音频分割方法,其特征在于: 所述的静音检测具体步骤是:
A、计算自适应能量阈值:
Threshold(E)=min(E)+0.3×[mean(E)-min(E)]
其中,Threshold(E)是自适应能量阈值,min(E)是各帧能量的最小值,mean(E)是各帧能 量的平均值;
B、静音段检测:将每个音频帧的能量与能量阈值T比较,低于阈值的帧为静音帧,连续的 静音帧组成一个静音段;
C、过零率阈值的计算:
Threshold(Zcr)=0.5×mean(Zcri),i∈{i|Ei<Threshold(E)}
其中,Threshold(Zcr)是自适应过零率阈值,mean(Zcri)是静音帧的过零率平均值;
D、静音段的过零率修正:从每个静音段的两端依次检查各帧过零率,如果高于阈值,则视 为音节起始或结束时的清音,移出静音段;
E、平滑处理:低于10帧,即0.1秒的静音段被视为连续语音间的短时停顿而舍去。
6、根据权利要求2所述的基于决策树和说话人改变检测的音频分割方法,其特征在于: 所述的语音分割具体步骤是:
A、能量和过零率分布的参数估计:在需要进一步分割的非静音段内,以50帧为窗长,10 帧为窗步长,计算每个窗内50帧的能量和过零率x2分布的参数:
p ( x ) = x a e - bx b a + 1 Γ ( a + 1 ) , ( x 0 )
其中 a = μ 2 σ 2 - 1 , b = σ 2 μ , μ是平均值,σ是方差;
B、距离计算:
每个窗的距离定义如下:
D ( i ) = 1 - Γ ( a i - 1 + a i + 1 2 + 1 ) Γ ( a i - 1 + 1 ) Γ ( a i + 1 + 1 ) 2 a i - 1 + a i + 1 2 + 1 b i - 1 a i + 1 + 1 2 b i + 1 a i - 1 + 1 2 ( b i - 1 + b i + 1 ) a i - 1 + a i + 1 2 + 1
ai-1,ai+1,bi-1,bi+1分别是前后窗的参数a,b;
C、突变检测:在每个有极大值距离D(i)的窗内,再次对每一帧计算同样的距离,取距离最 大的帧为分割点。
7、根据权利要求2所述的基于决策树和说话人改变检测的音频分割方法,其特征在于: 在步骤5)中所选用的段特征如下:
A)、高过零率比例HZCRR:
HZCRR = 1 2 N Σ n = 0 N - 1 [ sgn ( Zcr ( n ) - 1.5 × Zcr ) + 1 ]
语音段的HZCRR分布中心相对噪音和音乐等较高,HZCRR高于fh的段被视为语音段;
B)、低能量比例LRMSR:
LRMSR = 1 2 N Σ n = 0 N - 1 [ sgn ( 0.5 × E - E ( n ) + 1 ]
语音段的LRMSR分布中心相对噪音和音乐等较低,LRMSR低于fl的段被视为语音段;
C)、基频Mean F:
音频段的基频用过零率来估计:
MeanF=max[Zcr(n)]×F/N,
其中F是采样频率8000,N是帧长32ms,基频高于ff的段被视为非语音段;
D)、无过零率间隔数NZCRR:
NZCRR的定义是段里面出现过零率为零的帧的次数,连续的无过零帧只算一次,NZCRR 低于fn的段被视为语音段;
E)、能量方差Var RMS
Var RMS的定义是段内能量的方差,方差小于fv的段被视为语音段;
F)、fh,fl,ff,fn,fv的值均通过决策树训练得到。
8、根据权利要求2所述的基于决策树和说话人改变检测的音频分割方法,其特征在于: 在步骤6)中用T2距离来计算每个语音段之间的MFCC特征距离;
1)、T2距离定义如下:
T 2 = ab a + b ( μ 1 - μ 2 ) T Σ - 1 ( μ 1 - μ 2 )
其中a,b是段的长度,μ1,μ2是各段内MFCC的平均值,∑是共同的协方差矩阵;
2)、自适应阈值计算
通过比较T2距离与阈值,可以检测是否存在说话人改变,自适应阈值的计算公式如下:
T=μ+λσ
其中μ是平均距离,σ是距离方差,λ是惩罚系数;
3)、合并:
如果两个语音段之间的距离小于阈值,那么这两个语音段被视为属于同一个说话人,可 以将这两个语音段合并成一个;如果这两个语音段之间存在静音,那么这段静音也将被合并 进来;如果两个语音段之间存在非语音,则不合并。

说明书全文

技术领域

发明涉及信号处理和模式识别,主要是一种基于决策树和说话人改变检测的音频分割 方法。

背景技术

说话人检索技术是指利用信号处理和模式识别方法,在大量音频文档中检索特定说话人 的技术。说话人检索技术需要解决两个问题,即谁在说话,和在什么时候说话。通常的说话 人检索借助说话人识别技术来解决谁在说话的问题,而在什么时候说话则需要用到音频分割。
常用的分割方法有基于贝叶斯信息准则的分割和基于KL2距离的分割。贝叶斯信息准则 的分割方法通过计算“两段音频特征服从同一个高斯分布”和“两段音频特征分别服从两个 高斯分布”两个假设的贝叶斯值来决定是否分割。但贝叶斯信息准则往往仅局限于说话人之 间的分割,对于噪音等特征分布无规律的情况缺乏鲁棒性。另外贝叶斯信息准则的运算速度 较慢,不利于实时处理。
基于KL2距离的分割方法比较MFCC的KL2距离,并与经验阈值比较来确定说话人改 变。但基于KL2距离的算法用于计算距离的语音段来自于移动的固定长度的窗,使得距离值 并不可靠。

发明内容

本发明要解决上述技术所存在的缺陷,提供一种基于决策树和说话人改变检测的音频分 割方法,通过检测语音和说话人改变,实现将音频分割成属于不同人的语音段,用于说话人 检索的音频分割。
本发明解决其技术问题所采用的技术方案:首先利用自适应的静音检测找出音频中的静 音,并利用这些静音对音频进行粗分割,然后根据突变检测来进行细分割,并用决策树来对 分割得到的音频片段进行语音/非语音的分类,最后在语音片段之间检测说话人改变点,由说 话人改变点得到最终分割结果。
本发明解决其技术问题所采用的技术方案还可以进一步完善。所述的静音检测为将音频 分后计算各帧能量,通过自适应能量阈值和时间阈值确定静音。所述的突变检测为通过计 算能量和过零率的分布之间的距离确定突变点。所述的决策树为一组事先训练的判定规则, 将音频片断的段特征与对应规则依次进行判定,按决策树的最终取值决定音频片段类型。所 述的说话人改变检测为将相邻语音段之间的距离与自适应阈值比较,确定说话人改变点。
本发明有益的效果是:结合静音检测和突变检测两种方法,并采用语音/非语音决策树进 行语音检测,利用各自的优点提高语音检测准确性。再在语音片断之间进行说话人改变检测, 相较一般的需要两两计算距离的聚类算法更节省计算时间。
附图说明
图1是本发明的语音/非语音分类决策树拓扑结构图;
图2是本发明的方法流程图

具体实施方式

下面结合附图和实施例对本发明作进一步介绍:这种基于决策树和说话人改变检测的音 频分割方法,共分六步:
第一步:音频预处理
音频预处理分为采样量化,去零漂,预加重和加窗三个部分。
1、采样量化
A)、用锐截止滤波器音频信号进行滤波,使其奈奎斯特频率FN为4KHZ;
B)、设置音频采样率F=2FN;
C)、对音频信号Sa(t)按周期进行采样,得到数字音频信号的振幅序列 s ( n ) = s a ( n F ) ;
D)、用脉冲编码调制(PCM)对s(n)进行量化编码,得到振幅序列的量化表示s’(n)。
2、去零漂
A)、计算量化的振幅序列的平均值s;
B)、将每个振幅值减去平均值,得到去零漂后平均值为0的振幅序列s”(n)。
3、预加重
A)、设置数字滤波器的Z传递函数H(z)=1-αz-1中的预加重系数α,α可取1或比1稍小的值:
B)、s”(n)通过数字滤波器,得到音频信号的高、中、低频幅度相当的振幅序列s(n)。
4、加窗
A)、计算音频帧的帧长N(32毫秒)和帧移量T(10毫秒),分别满足:
N F = 0.032
T F = 0.010
这里F是音频采样率,单位为Hz;
B)、以帧长为N、帧移量为T,把s(n)划分成~系列的音频帧Fm,每一音频帧包含N个音 频信号样本;
C)、计算哈明窗函数:

D)、对每一音频帧Fm加哈明窗:
ω ( n ) × F m ( n ) { F m ( n ) | n = 0,1 , · · · , N - 1 } .
第二步:特征提取
音频帧上的特征提取包括能量,过零率和梅尔倒谱系数(MFcc)的提取。
1、    能量的提取:
E = Σ n = 1 N s 2 ( n )
2、    过零率的提取:
Zcr = 1 2 N - 1 Σ n = 1 N - 1 | [ sgn ( s ( n + 1 ) ) - sgn ( s ( n ) ) ] |
3、    MFCC的提取:
A)、设置梅尔倒谱系数的阶数p;
B)、做快速傅立叶变换FFT,将时域信号s(n)变成频域信号X(k)。
c)、计算梅尔域刻度:
M i = i p × 2595 log ( 1 + 8000 / 2.0 700.0 ) , ( i = 0,1,2 , . . . , p )
D)、计算对应的频域刻度:
f i = 700 × e M i 2595 ln 10 - 1 , ( i = 0,1,2 , . . . , p )
E)、计算每个梅尔域通道φJ上的对数能量谱:
E j = Σ k = 0 K 2 - 1 φ j ( k ) | X ( k ) | 2
其中 Σ k = 0 K 2 - 1 φ j ( k ) = 1 .
F)、做离散余弦变换DCT
第三步、静音检测
1、能量阈值的计算
用统一的能量阈值来检测静音有很大的局限性,因为各种环境下的音频能量相差很 大,但语音和静音之间能量大小的相对关系是不变的,所以可以计算自适应阈值:
Threshold(E)=min(E)+0.3×[mean(E)-min(E)]
其中,Threshold(E)是自适应能量阈值,min(E)是各帧能量的最小值,mean(E)是各 帧能量的平均值。
2、静音段检测
将每个音频帧的能量与能量阈值T比较,低于阈值的帧为静音帧。连续的静音帧组 成一个静音段。
3、过零率阈值的计算
Threshold(Zcr)=0.5×mean(Zri),i∈{i|Ei<Threshold(E)}
其中,Threshold(Zcr)是自适应过零率阈值,mean(Zcri)是静音帧的过零率平均值。
4、静音段的过零率修正
从每个静音段的两端依次检查各帧过零率,如果高于阈值,则视为音节起始或结束 时的清音,移出静音段。
5、平滑处理
低于10帧(0.1秒)的静音段被视为连续语音间的短时停顿而舍去。
第四步、语音分割
静音检测之后,音频信号被分割成连续的静音段和非静音段。为避免噪音干扰,需 要对长度大于10秒的的非静音段进行进一步分割。
1、能量和过零率分布的参数估计
在需要进一步分割的非静音段内,以50帧为窗长,10帧为窗步长,计算每个窗内 50帧的能量和过零率X2分布的参数:
p ( x ) = x a e - bx b a + 1 Γ ( a + 1 ) , ( x 0 )
其中 a = μ 2 σ 2 - 1 , b = σ 2 μ ,μ是平均值,σ是方差。
距离计算
每个窗的距离定义如下:
D ( i ) = 1 - Γ ( a i - 1 + a i + 1 2 + 1 ) Γ ( a i - 1 + 1 ) Γ ( a i + 1 + 1 ) 2 a i - 1 + a i + 1 2 + 1 b i - 1 a i + 1 + 1 2 b i + 1 a i - 1 + 1 2 ( b i - 1 + b i + 1 ) a i - 1 + a i + 1 2 + 1
ai-1,ai+1,bi-1,bi+1分别是前后窗的参数a,b
3、突变检测
在每个有极大值距离D(i)的窗内,再次对每一帧计算同样的距离,取距离最大的帧 为分割点。
第五步、语音/非语音分类
我们用训练好的决策树来对非静音段分类:语音或非语音。决策树的每一个结点对 应一个段特征。决策树的拓扑图见附图一。
所选用的段特征如下:
A)、高过零率比例HZCRR:
HZCRR = 1 2 N Σ n = 0 N - 1 [ sgn ( Zcr ( n ) - 1.5 × Zcr ) + 1 ]
语音段的HZCRR分布中心相对噪音和音乐等较高。HZCRR高于fh的段被视为语音段。
B)、低能量比例LRMSR:
LRMSR = 1 2 N Σ n = 0 N - 1 [ sgn ( 0.5 × E - E ( n ) + 1 ]
语音段的LRMSR分布中心相对噪音和音乐等较低。LRMSR低于fl的段被视为语音段。
C)、基频Mean F
音频段的基频可以用过零率来估计:
MeanF=max[Zcr(n)]×F/N,
其中F是采样频率8000,N是帧长32ms。语音的基频分布较非语音窄,因此基频高于ff的段 被视为非语音段。
D)、无过零率间隔数NZCRR
NZCRR的定义是段里面出现过零率为零的帧的次数。连续的无过零帧只算一次。
一般语音不会有无过零率间隔,因此NZCRR低于fn的段被视为语音段。
E)、能量方差VarRMS
Var RMS的定义是段内能量的方差。
语音的能量变化较音乐等小很多,因此方差小于fv的段被视为语音段。
F)、fh,fl,ff,fn,fv的值均通过决策树训练得到。训练决策树的语料包括约30分钟的语音和 约30分钟的噪音,其中语音为20位说话人(10男性,10女性)在办公室环境下录取的语音; 噪音包括5分钟白噪声,5分钟高斯噪声,10分钟音乐和10分钟环境噪声。
第六步、说话人改变检测
每一说话人的语音特征在特征空间中都形成了特定的分布,可以用这一分布来描述 说话人的个性。不同说话人的分布也不同,所以可以用特征分布之间的相似度来检测说 话人的改变。在这里我们用T2距离来计算每个语音段之间的MFCC特征距离。
1、T2距离计算
为了检测说话人改变,需要计算每两个相邻的语音段之间的T2距离。T2距离定义
如下:
T 2 = ab a + b ( μ 1 - μ 2 ) T Σ - 1 ( μ 1 - μ 2 )
其中a,b是段的长度,μ1,μ2是各段内MFCC的平均值,∑是共同的协方差矩阵。
2、自适应阈值计算
通过比较T2距离与阈值,可以检测是否存在说话人改变。自适应阈值的计算公式如 下:
T=μ+λσ
其中μ是平均距离,σ是距离方差,λ是惩罚系数,这里设成-1.5。
3、合并
如果两个语音段之间的距离小于阈值,那么这两个语音段被视为属于同一个说话 人,可以将这两个语音段合并成一个。如果这两个语音段之间存在静音,那么这段静音 也将被合并进来。如果两个语音段之间存在非语音,则不合并。这是为了防止噪音的干 扰。
实验结果:
本方法在1997 Mandarin Broadcast News Speech Corpus(Hub4-NE)新闻广播语音上进行了 实验。这个语音库包括CCTV,KAZN和VOA的新闻广播,总时间40个小时左右,其中约 10小时的内容是音乐或噪音。
我们同时在这个库上用基于贝叶斯信息准则的分割方法和基于KL2距离的分割方法进行 了同样的实验,用于和本方法进行对比。这两种方法都是直接用说话人特征MFCC在固定的 窗长(1秒)之间搜索说话人改变。
基于贝叶斯信息准则的方法比较两个假设的参数估计的似然度和参数使用数。假发1: 两个窗属于同一个说话人,特征服从同一个高斯分布;假设2:两个窗属于不同的说话人, 特征分别服从两个高斯分布。如果假设2的贝叶斯值(似然度减去惩罚项参数个数)较高, 则认为有说话人改变。
KL2距离是用于说话人分割的方法。通过计算两段语音的说话人特征之间的KL2距离并 与阈值比较,以检测存在说话人改变。
我们对分割算法的结果进行五方面的评估:
1)分割点误检率:错误的分割点占检测出分割点的比例
2)分割点漏检率:未检测出的分割点占实际分割点的比例
3)纯语音比例:检测纯语音段总长度占实际语音总长度的比例
4)语音段召回率:被检测出的实际语音段比例
5)检索等错误率:说话人检索中错误拒绝率与错误接收率相等时的值
纯语音段的定义是只包含一个说话人语音的语音段。包含噪音或者多个说话人语音的语 音段是不纯语音段。纯语音比例是纯语音段总长度占全部语音长度的比例。语音段召回率是 指被检测出有对应纯语音段的语音段比例。这两个指标可以更好的衡量分割效果对说话人检 索的作用,是误检率和漏检率的补充。检索等错误率是在分割的结果基础上做说话人检索实 验的等错误率。这个指标用来衡量分割算法的最终效果。
实验结果如下:   算法   误检率   漏检率   纯语音比例   召回率   等错误率   BIC   25.87%   13.37%   72.39%   85.42%   15.91%   KL2   25.50%   14.42%   71.69%   83.72%   25.84%   本方法   26.48%   10.47%   80.40%   89.29%   12.94%
各方法运行时间如下:   算法   处理时间(秒)   速度(分钟音频/秒)   BIC   2190   1.08   KL2   1331   1.78   本方法   883   2.69
实验用机器配置CPU为AMD Athlon(tm)XP2500+,内存为512M ddr400。
实验结果表明,相对于BIC和KL2方法,本分割方法的运行时间最短,且分割得到最多 最长的纯语音,从而能最好的提高说话人检索的性能,使得其等错误最低。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈