[go: up one dir, main page]

CN102074236B - 一种分布式麦克风的说话人聚类方法 - Google Patents

一种分布式麦克风的说话人聚类方法 Download PDF

Info

Publication number
CN102074236B
CN102074236B CN2010105683868A CN201010568386A CN102074236B CN 102074236 B CN102074236 B CN 102074236B CN 2010105683868 A CN2010105683868 A CN 2010105683868A CN 201010568386 A CN201010568386 A CN 201010568386A CN 102074236 B CN102074236 B CN 102074236B
Authority
CN
China
Prior art keywords
frame
point
formula
time delay
subband
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
CN2010105683868A
Other languages
English (en)
Other versions
CN102074236A (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.)
Beijing Huacong Zhijia Technology Co Ltd
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN2010105683868A priority Critical patent/CN102074236B/zh
Publication of CN102074236A publication Critical patent/CN102074236A/zh
Application granted granted Critical
Publication of CN102074236B publication Critical patent/CN102074236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Circuit For Audible Band Transducer (AREA)

Abstract

一种分布式麦克风的说话人聚类方法,先对分布式麦克风采集的信号进行预处理,再对声源信号片段采用时延估计法计算,得到对应的时延估计向量,然后排除错误数据并进行说话人分割,最后根据说话人分割的结果进行说话人聚类,本发明以分布式麦克风作为信号采集和输出设备,计算语音信号片段的时延向量,通过排除错误数据提高时延估计精度,对时延向量采用聚类算法将语音信号片段按说话人身份分别归类,设备价格低廉,具有使用方便的优势,可应用于复杂声学环境下的多人多方对话场景。

Description

一种分布式麦克风的说话人聚类方法
技术领域
本发明属于语音技术领域,具体地涉及一种分布式麦克风的说话人聚类方法。
背景技术
随着网络和通讯技术的不断发展,利用现有的多媒体技术、网络与通讯技术、分布式处理技术等可以实现复杂声学环境场景下的多人多方对话。传统声源输入和录音设备包括头戴式麦克风、全向性和方向性单麦克风、麦克风阵列等。单麦克风作为传统声源输入和录音设备,具有体积小、价格低廉等优点,但不具备对环境噪声处理以及声源定位的能力;麦克风阵列由多个按照特定几何位置摆放的麦克风组成,对空间信号进行时空域联合处理,其能力包括:辨识与分离声源、混响条件下的声源定位、增强语音信号等。
分布式麦克风是由多个单麦克风组成的声音信号采集系统,各个麦克风由不同设备控制,对麦克风的排列和间距没有任何限制,麦克风采集的信号在时间域不完全同步。分布式麦克风结构简单、使用方便、节约成本,符合多声源多方向复杂对话场景的要求,可有效地完成说话人聚类、识别及定位等多种应用。与麦克风阵列系统不同的是,分布式麦克风对麦克风的位置和摆放没有任何约束和限制,此外分布式麦克风系统中的声源和麦克风位置信息未知。
对声音信息进行自动分类是语音信号处理领域的研究课题之一,说话人分割(Speaker Segmentation)和说话人聚类(Speaker Clustering)是其中的重要组成部分。通常的方法是:说话人分割将整个测试语音分割成一系列语音片段,这些语音片段只属于某一特定说话人;说话人聚类负责将分散的同属于一个说话人的语音归为一类。
传统的说话人分割方法基本以高斯模型的窗移统计法为基础,采用不同的距离测度选择,通过基于贝叶斯的信息准则进行融合得到分割点。说话人聚类方法可以采用进化隐马尔科夫(EHMM)计算方法,通过衡量路径分数更新分割结果。当说话人数目不限定时,可以采用分级聚类的方法进行说话人聚类。
麦克风阵列的说话人聚类方法主要利用说话人的空间位置差异进行分类。主要原理为:将时延估计向量作为说话人的空间特征,在GMM/HMM(高斯混合模型/隐马尔可夫模型)模型中对这些特征进行整合和分类。麦克风阵列的时延估计算法主要包括GCC(广义互相关)方法和LMS(最小均方误差)方法。GCC(广义互相关)受混响影响比较严重,改进后产生了CEP(倒谱预滤波)方法和基音加权的GCC(广义互相关)方法,EVD(特征值分解)和基于ATF(声学传递函数)的时延估计方法则分别利用子空间的技术和传递函数比来求解。但是麦克风阵列系统计算时对各个设备之间采样的误差敏感,因此对音频数据同步性要求十分严格;而普通的多人多方会议场景中声源个数未知、麦克风位置未知、房间声学环境未知,即需要在时间和空间先验信息均缺失的场景下对声音数据进行处理。
作为传统声源输入和录音设备的单麦克风,价格低廉、结构简单,缺点是易受环境干扰,且不能对声源进行定位;传统麦克风阵列系统已被广泛研究,没有商用化的主要原因是专用硬件价格昂贵以及算法复杂度较高。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提出一种分布式麦克风的说话人聚类方法,以分布式麦克风作为信号采集和输出设备,计算语音信号片段的时延向量,通过排除错误数据提高时延估计精度,对时延向量采用聚类算法将语音信号片段按说话人身份分别归类,设备价格低廉,具有使用方便的优势,可应用于复杂声学环境下的多人多方对话场景。
一种分布式麦克风的说话人聚类方法,包括以下步骤:
第一步,对分布式麦克风采集的信号进行预处理
首先对分布式麦克风获得的多路声源信号进行预处理,先对多路声源信号分帧及进行快速傅立叶变换(FFT)变换,然后对多路声源信号进行端点检测,将信号分为声源信号和非声源信号两类,端点检测的目的在于从数字语音信号中区分出语音信号和非语音信号,语音端点检测方法可采用子带频谱熵算法,首先将每帧语音的频谱划分成n(n为大于零的整数)子带,计算出每个子带的频谱熵,然后把相继n帧的子带频谱熵经过一组顺序统计滤波器获得每帧的频谱熵,根据频谱熵的值对输入的语音进行分类,具体步骤为:将每帧的语音信号经过快速傅立叶变换(FFT)之后得到它在功率谱上的NFFT个点Yi(0≤i≤NFFT),每个点在频谱域上的概率密度可用公式(1)表示:
p i = Y i / Σ k = 0 N FFT - 1 Y k - - - ( 1 )
其中:Yk为经过FFT变换的语音信号在功率谱上的第k个点,Yi为经过FFT变换的语音信号在功率谱上的第i个点,NFFT为i的个数,pi为第i个点在频谱域上的概率密度,
相应信号在频谱域上的熵函数定义可用公式(2)表示:
H = - Σ k = 0 N FFT - 1 p k log ( p k ) - - - ( 2 )
其中:pk为第k个点在频谱域上的概率密度,NFFT为i的个数,H为频谱域上的熵函数,
将频域上的NFFT个点划分成K个互不重叠的频段,称为子带,计算第l帧频谱域上每个点的概率如公式(3)所示:
p l [ k , i ] = ( Y i + Q ) / Σ j = m k m k + 1 - 1 ( Y j + Q ) - - - ( 3 )
其中:Yj为经过FFT变换的语音信号在功率谱上的第j个点,Yi为第k个子带上的点,
Figure BSA00000368534100044
(0≤k≤K-1,mk≤i≤mk+1-1)为子带下限,Q为常数,pl[k,i]为第l帧频谱域上每个点的概率,
根据信息熵的定义,第l帧的第k个子带的频谱熵的值如公式(4)所示:
E s [ l , k ] = Σ i = mk m k + 1 - 1 p l [ k , i ] log ( p l [ k , i ] ) ( 0 ≤ k ≤ K - 1 ) - - - ( 4 )
其中:pl[k,i]为第l帧频谱域上每个点的概率,Es[l,k]为第l帧的第k个子带的频谱熵,
根据下面公式(5)我们可以计算出第l帧的频谱信息熵:
H l = - 1 K Σ k = 0 K - 1 E h [ l , k ] - - - ( 5 )
其中:Eh[l,k]为第l帧的第k个子带的频谱熵,K为子带个数,Hl为经过滤波平滑处理后的第l帧的第k个子带的信息熵,定义如公式(6)所示:
Eh[l,k]=(1-λ)Es(h)[l,k]+λEs(h+1)[l,k](0≤k≤K-1)(6)
其中:Es(h)[l,k]获得方法如下:算法中每个子带的顺序统计滤波器作用在一组长度为L的子带信息熵Es[l-N,k],KEs[l,k],KEs[l+N,k]上,将这组子带信息熵按升序顺序排序,Es(h)[l,k]是Es[l-N,k],KEs[l,k],KEs[l+N,k]中的第h个最大值;λ为一常数,Eh[l,k]为滤波平滑处理后的第l帧的第k个子带的信息熵,
由公式(5)可以得到每帧的信号有一个频谱熵Hl,当Hl的值大于事先设定的阈值T时,将第l帧判别语音帧,否则判为非语音帧;阈值T的定义为T=βAvg+θ,其中
Figure BSA00000368534100052
β=0.01,θ=0.1,Em[k]为Es[0,k],K,Es[N-1,k]的中值,Avg是输入信号最开始N帧的噪声估计,
第二步,对声源信号片段采用时延估计法计算,得到对应的时延估计向量
首先确定空间坐标,具体方法为:对每个麦克风按顺序编号为麦克风M1,M2...,Mn,n为大于1的整数,选择初始编号为1和2的两个麦克风M1和M2,设麦克风M1的位置为原点坐标,麦克风M1到麦克风M2的方向为起点坐标轴方向,随后将每50帧语音信号视为一组语音片段,采用时延估计法对每组语音片段到任意两个麦克风之间的时延差进行估计,得到n(n-1)个时延估计值,如公式(7)所示:
τ k = τ ^ 12 τ ^ 13 L τ ^ ij T - - - ( 7 )
其中:为第i个麦克风和第j个麦克风之间的时延差估计,τk为时延差估计向量,
时延估计可采用PHAT(相位变换)加权算法,其加权系数如公式(8)所示,时延估计方法如公式(9)~(10)所示:
W ( ω ) = 1 | X 1 ( ω ) X 2 * ( ω ) | - - - ( 8 )
其中:X1(ω)、X2(ω)分别为两路时域信号经过FFT变换之后的输出,*为共轭符号,
R x 1 x 2 ( n ) = IFFT ( W ( ω ) · X 1 ( ω ) · X 2 * ( ω ) ) - - - ( 9 )
τ ^ = arg max n R x 1 x 2 ( n ) - - - ( 10 )
其中:
Figure BSA00000368534100066
为两路信号的广义互相关函数,
Figure BSA00000368534100067
为x1和x2之间的时
延估计值,
第三步,排除错误数据并进行说话人分割
首先需要去除无效数据,按下面公式(11)计算时延:
&tau; [ n ] = &tau; ^ [ n - 1 ] SNR < Thr SNR &tau; ^ [ n ] SNR &GreaterEqual; Thr SNR - - - ( 11 )
其中:n为某一帧的索引值,τ为某一帧对应的时延数据,
Figure BSA00000368534100069
为某一帧估计的时延数据,当某一时刻信噪比小于阈值ThrSNR时,采用上一时刻的估计时延作为该时刻的时延估计值,以及按公式(12)进一步计算时延:
&tau; [ n ] = &tau; ^ [ n - 1 ] &tau; ^ [ n ] < Thr &tau; ^ [ n ] &tau; ^ [ n ] &GreaterEqual; Thr - - - ( 12 )
其中:n为某一帧的索引值,τ为某一帧对应的时延数据,
Figure BSA00000368534100072
为某一帧估计的时延数据,当某一时刻时延估计小于阈值Thr时,采用上一时刻的估计时延作为该时刻的时延估计值,
然后对不同空间位置的说话人进行分割计算,首先计算后验概率βik)如公式(13)所示:
&beta; i ( &tau; k ) = &alpha; i g ( &tau; k ; &mu; i . &sigma; i 2 ) &alpha; 1 g ( &tau; k ; &mu; 1 . &sigma; 1 2 ) + &alpha; 2 g ( &tau; k ; &mu; 2 . &sigma; 2 2 ) + L + &alpha; i g ( &tau; k ; &mu; i . &sigma; i 2 ) - - - ( 13 )
其中:
Figure BSA00000368534100074
为定义参数,αi=1/i,i代表GMM模型的个数,
Figure BSA00000368534100075
的初始值采用K-means算法计算,τk为公式7计算获得的时延估计向量,βik)为后验概率,
公式(14)为参数更新算法:
&mu; ^ i = &Sigma; k = 1 n &beta; i ( &tau; k ) &tau; k &Sigma; k = 1 n &beta; i ( &tau; k ) &sigma; ^ i 2 = 1 d &Sigma; k = 1 n &beta; i ( &tau; k ) ( &tau; k - &mu; i ) T ( &tau; k - &mu; i ) &Sigma; k = 1 n &beta; i ( &tau; k ) &alpha; ^ i = 1 n &Sigma; k = 1 n &beta; i ( &tau; k ) - - - ( 14 )
其中:
Figure BSA00000368534100077
为参数估计值,
Figure BSA00000368534100078
为GMM模型参数的估计,βik)为公式13计算所得的后验概率,当
Figure BSA00000368534100079
时停止更新参数,此处min为一常数,代表最小容忍值,
第四步,根据说话人分割的结果进行说话人聚类
利用一种基于K-means的算法对分割后的语音片段进行聚类,先计算每个集合的域密度,将密度最大的点作为初始点,下一个初始点为与第一个初始点距离最大的点,以此类推直到初始点的数目符合要求;
其次计算样本点到集合中心的距离来更新中心的值,选择符合公式(15)的采样点作为新的集合中心进行更新,
Func = &Sigma; j = 1 J &Sigma; n = 1 M | | &tau; ^ [ n ] - &tau; j | | 2 - - - ( 15 )
其中:为时延估计向量
Figure BSA00000368534100083
和每个语音片段的聚类中心τj的距离,τj[n]为中心向量,J为说话人个数,M为麦克风个数,
最后根据集合中心向量和语音片段向量的距离来对不同空间说话人的语音片段进行归类并标注。
本发明具有如下优点:
(1)、本发明提出的分布式非同步声传感器,对声传感器的空间位置无严格限制,此外对采集信号的同步性要求较低,相比麦克风阵列而言应用更加灵活广泛;
(2)本发明充分利用了麦克风之间及声源与麦克风之间的多个时延差进行信息融合,通过时延估计向量进行说话人分割,降低了传统说话人分割算法的复杂性的同时,稳健性有所提高;
(3)、本发明充分利用了分布式麦克风在空间域的优势,对单一说话人语音信号片段时延估计向量进行说话人聚类,降低了传统说话人聚类算法的复杂性;
(4)、本发明的分布式麦克风的说话人聚类方法能够应用于多种多人多方对话场景,具有稳健性好,适应多种声学环境的特点,并且
本发明可以在目前的掌上电脑、个人数字助理(PDA)或手机上实现,其应用范围非常广泛。
附图说明
图1是本发明的流程示意图。
图2是本发明端点检测的流程示意图。
图3是本发明声源时延估计的示意图。
图4是本发明说话人分割聚类的流程示意图。
具体实施方式
以下结合附图对本发明进行详细说明。
参照图1,一种分布式麦克风的说话人聚类方法,包括以下步骤:
第一步,对分布式麦克风采集的信号进行预处理
参照图2,首先对分布式麦克风获得的多路声源信号进行预处理,先对多路声源信号分帧及进行快速傅立叶变换(FFT)变换,然后对多路声源信号进行端点检测,将信号分为声源信号和非声源信号两类,端点检测的目的在于从数字语音信号中区分出语音信号和非语音信号,早期采用基于能量和过零率的方法可以准确地区分语音信号和噪声,但现实中的语音常常被较大的环境噪声所污染,语音端点检测方法可采用子带频谱熵算法,首先将每帧语音的频谱划分成n(n为大于零的整数)子带,计算出每个子带的频谱熵,然后把相继n帧的子带频谱熵经过一组顺序统计滤波器获得每帧的频谱熵,根据频谱熵的值对输入的语音进行分类,具体步骤为:将每帧的语音信号经过快速傅立叶变换(FFT)之后得到它在功率谱上的NFFT个点Yi(0≤i≤NFFT),每个点在频谱域上的概率密度可用公式(1)表示:
p i = Y i / &Sigma; k = 0 N FFT - 1 Y k - - - ( 1 )
其中:Yk为经过FFT变换的语音信号在功率谱上的第k个点,Yi为经过FFT变换的语音信号在功率谱上的第i个点,NFFT为i的个数,pi为第i个点在频谱域上的概率密度,
相应信号在频谱域上的熵函数定义可用公式(2)表示:
H = - &Sigma; k = 0 N FFT - 1 p k log ( p k ) - - - ( 2 )
其中:pk为第k个点在频谱域上的概率密度,NFFT为i的个数,H为频谱域上的熵函数,
将频域上的NFFT个点划分成K个互不重叠的频段,称为子带,计算第i帧频谱域上每个点的概率如公式(3)所示:
p l [ k , i ] = ( Y i + Q ) / &Sigma; j = m k m k + 1 - 1 ( Y j + Q ) - - - ( 3 )
其中:Yi为经过FFT变换的语音信号在功率谱上的第j个点,Yi为第k个子带上的点,
Figure BSA00000368534100104
(0≤k≤K-1,mk≤i ≤mk+1-1)为子带下限,Q为常数,pl[k,i]为第l帧频谱域上每个点的概率,
根据信息熵的定义,第l帧的第k个子带的频谱熵的值如公式(4)所示:
E s [ l , k ] = &Sigma; i = mk m k + 1 - 1 p l [ k , i ] log ( p l [ k , i ] ) ( 0 &le; k &le; K - 1 ) - - - ( 4 )
其中:pl[k,i]为第l帧频谱域上每个点的概率,Es[l,k]为第l帧的第k个子带的频谱熵,
根据下面公式(5)我们可以计算出第l帧的频谱信息熵:
H l = - 1 K &Sigma; k = 0 K - 1 E h [ l , k ] - - - ( 5 )
其中:Eh[l,k]为第l帧的第k个子带的频谱熵,K为子带个数,Hl为经过滤波平滑处理后的第l帧的第k个子带的信息熵,定义如公式(6)所示:
Eh[l,k]=(1-λ)Es(h)[l,k]+λEs(h+1)[l,k](0≤k≤K-1)(6)
其中:Es(h)[l,k]获得方法如下:算法中每个子带的顺序统计滤波器作用在一组长度为L的子带信息熵Es[l-N,k],KEs[l,k],KEs[l+N,k]上,将这组子带信息熵按升序顺序排序,Es(h)[l,k]是Es[l-N,k],KEs[l,k],KEs[l+N,k]中的第h个最大值;λ为一常数,Eh[l,k]为滤波平滑处理后的第l帧的第k个子带的信息熵,
由公式(5)可以得到每帧的信号有一个频谱熵Hl,当Hl的值大于事先设定的阈值T时,将第l帧判别语音帧,否则判为非语音帧;阈值T的定义为T=βAvg+θ,其中
Figure BSA00000368534100112
β=0.01,θ=0.1,Em[k]为Es[0,k],K,Es[N-1,k]的中值,Avg是输入信号最开始N帧的噪声估计,
第二步,对声源信号片段采用时延估计法计算,得到对应的时延估计向量
参照图3,首先确定空间坐标,具体方法为:对每个麦克风按顺序编号为麦克风M1,M2...,Mn,n为大于1的整数,选择初始编号为1和2的两个麦克风M1和M2,设麦克风M1的位置为原点坐标,麦克风M1到麦克风M2的方向为起点坐标轴方向,随后将每50帧语音信号视为一组语音片段,采用时延估计法对每组语音片段到任意两个麦克风之间的时延差进行估计,得到n(n-1)个时延估计值,如公式(7)所示:
&tau; k = &tau; ^ 12 &tau; ^ 13 L &tau; ^ ij T - - - ( 7 )
其中:
Figure BSA00000368534100122
为第i个麦克风和第j个麦克风之间的时延差估计,τk为时延差估计向量,
时延估计可采用PHAT(相位变换)加权算法,其加权系数如公式(8)所示,时延估计方法如公式(9)~(10)所示:
W ( &omega; ) = 1 | X 1 ( &omega; ) X 2 * ( &omega; ) | - - - ( 8 )
其中:X1(ω)、X2(ω)分别为两路时域信号经过FFT变换之后的输出,*为共轭符号,
R x 1 x 2 ( n ) = IFFT ( W ( &omega; ) &CenterDot; X 1 ( &omega; ) &CenterDot; X 2 * ( &omega; ) ) - - - ( 9 )
其中:X1(ω)、X2(ω)分别为两路时域信号经过FFT变换之后的输出,*为共轭符号,IFFT为反FFT变换,
Figure BSA00000368534100125
为两路信号的广义互相关函数,
&tau; ^ = arg max n R x 1 x 2 ( n ) - - - ( 10 )
其中:
Figure BSA00000368534100127
为两路信号的广义互相关函数,
Figure BSA00000368534100128
为x1和x2之间的时延估计值,
第三步,排除错误数据并进行说话人分割
参照图4,首先需要去除无效数据,按下面公式(11)计算时延:
&tau; [ n ] = &tau; ^ [ n - 1 ] SNR < Thr SNR &tau; ^ [ n ] SNR &GreaterEqual; Thr SNR - - - ( 11 )
其中:n为某一帧的索引值,τ为某一帧对应的时延数据,为某一帧估计的时延数据,当某一时刻信噪比小于阈值ThrSNR时,采用上一时刻的估计时延作为该时刻的时延估计值,以及按公式(12)进一步计算时延:
&tau; [ n ] = &tau; ^ [ n - 1 ] &tau; ^ [ n ] < Thr &tau; ^ [ n ] &tau; ^ [ n ] &GreaterEqual; Thr - - - ( 12 )
其中:n为某一帧的索引值,τ为某一帧对应的时延数据,
Figure BSA00000368534100134
为某一帧估计的时延数据,当某一时刻时延估计小于阈值Thr时,采用上一时刻的估计时延作为该时刻的时延估计值,
然后对不同空间位置的说话人进行分割计算,首先计算后验概率βik)如公式(13)所示:
&beta; i ( &tau; k ) = &alpha; i g ( &tau; k ; &mu; i . &sigma; i 2 ) &alpha; 1 g ( &tau; k ; &mu; 1 . &sigma; 1 2 ) + &alpha; 2 g ( &tau; k ; &mu; 2 . &sigma; 2 2 ) + L + &alpha; i g ( &tau; k ; &mu; i . &sigma; i 2 ) - - - ( 12 )
其中:
Figure BSA00000368534100136
为定义参数,αi=1/i,i代表GMM模型的个数,
Figure BSA00000368534100137
的初始值采用K-means算法计算,τk为公式7计算获得的时延估计向量,βik)为后验概率,
公式(14)为参数更新算法:
&mu; ^ i = &Sigma; k = 1 n &beta; i ( &tau; k ) &tau; k &Sigma; k = 1 n &beta; i ( &tau; k ) &sigma; ^ i 2 = 1 d &Sigma; k = 1 n &beta; i ( &tau; k ) ( &tau; k - &mu; i ) T ( &tau; k - &mu; i ) &Sigma; k = 1 n &beta; i ( &tau; k ) &alpha; ^ i = 1 n &Sigma; k = 1 n &beta; i ( &tau; k ) - - - ( 14 )
其中:
Figure BSA00000368534100141
为参数估计值,
Figure BSA00000368534100142
为GMM模型参数的估计,βik)为公式13计算所得的后验概率,当
Figure BSA00000368534100143
时停止更新参数,此处min为一常数,代表最小容忍值,
第四步,根据说话人分割的结果进行说话人聚类
利用一种基于K-means的算法对分割后的语音片段进行聚类,该算法可以克服标准K-means算法性能受初始值和孤立点影响大的缺陷,
先计算每个集合的域密度,将密度最大的点作为初始点,下一个初始点为与第一个初始点距离最大的点,以此类推直到初始点的数目符合要求;
其次计算样本点到集合中心的距离来更新中心的值,选择符合公式(15)的采样点作为新的集合中心进行更新,
Func = &Sigma; j = 1 J &Sigma; n = 1 M | | &tau; ^ [ n ] - &tau; j | | 2 - - - ( 15 )
其中:
Figure BSA00000368534100145
为时延估计向量和每个语音片段的聚类中心τj的距离,τj[n]为中心向量,J为说话人个数,M为麦克风个数,
最后根据集合中心向量和语音片段向量的距离来对不同空间说话人的语音片段进行归类并标注。
附图中:
Figure BSA00000368534100147
为单个声源的空间位置向量,为另一单个声源的空间位置向量,
Figure BSA00000368534100149
分别为单个麦克风Mi Mk Mj的空间位置向量。

Claims (1)

1.一种分布式麦克风的说话人聚类方法,其特征在于:包括以下步骤:
第一步,对分布式麦克风采集的信号进行预处理
首先对分布式麦克风获得的多路声源信号进行预处理,先对多路声源信号分帧及进行快速傅立叶变换(FFT),然后对多路声源信号进行端点检测,将信号分为声源信号和非声源信号两类,端点检测的目的在于从数字语音信号中区分出语音信号和非语音信号,语音端点检测方法可采用子带频谱熵算法,首先将每帧语音的频谱划分成n个子带,n为大于零的整数,计算出每个子带的频谱熵,然后把相继n帧的子带频谱熵经过一组顺序统计滤波器获得每帧的频谱熵,根据频谱熵的值对输入的语音进行分类,具体步骤为:将每帧的语音信号经过快速傅立叶变换(FFT)之后得到它在功率谱上的NFFT个点
Figure FSB00000687623700011
每个点在频谱域上的概率密度可用公式(1)表示:
p i < < Y i / N FFT 1 k < < 0 Y k - - - ( 1 )
其中:Yk为经过FFT变换的语音信号在功率谱上的第k个点,Yi为经过FFT变换的语音信号在功率谱上的第i个点,NFFT为i的个数,pi为第i个点在频谱域上的概率密度,
相应信号在频谱域上的熵函数定义可用公式(2)表示:
H < < N FFT 1 k < < 0 p k log ( p k ) - - - ( 2 )
其中:pk为第k个点在频谱域上的概率密度,NFFT为i的个数,H为频谱域上的熵函数,
将频域上的NFFT个点划分成K个互不重叠的频段,称为子带,计算第l帧频谱域上每个点的概率如公式(3)所示:
p l [ k , i ] < < Y i Q / m k 1 1 j < < m k Y j Q - - - ( 3 )
其中:Yj为经过FFT变换的语音信号在功率谱上的第j个点,Yi为第k个子带上的点,1)为子带下限,Q为常数,pl[k,i]为第l帧频谱域上每个点的概率,
根据信息熵的定义,第l帧的第k个子带的频谱熵的值如公式(4)所示:
Figure FSB00000687623700023
其中:pl[k,i]为第l帧频谱域上每个点的概率,Es[l,k]为第l帧的第k个子带的频谱熵,
根据下面公式(5)我们可以计算出第l帧的频谱信息熵:
H l < < 1 K K 1 k < < 0 E h [ l , k ] - - - ( 5 )
其中:Eh[l,k]为第l帧的第k个子带的频谱熵,K为子带个数,Hl为经过滤波平滑处理后的第l帧的第k个子带的信息熵,定义如公式(6)所示:
其中:Es(h)[l,k]获得方法如下:算法中每个子带的顺序统计滤波器作用在一组长度为L的子带信息熵Es[lN,k],...Es[l,k],...Es[lN,k]上,将这组子带信息熵按升序顺序排序,Es(h)[l,k]是
Es[lN,k],...Es[l,k],...Es[lN,k]中的第h个最大值;l为一常数,Eh[l,k]为滤波平滑处理后的第l帧的第k个子带的信息熵,
由公式(5)可以得到每帧的信号有一个频谱熵Hl,当Hl的值大于事先设定的阈值T时,将第l帧判别语音帧,否则判为非语音帧;阈值T的定义为
Figure FSB00000687623700031
其中 Avg < < 1 K K 1 k < < 0 E m [ k ] ,
Figure FSB00000687623700033
Figure FSB00000687623700034
Em[k]为Es[0,k],...,Es[N1,k]的中值,Avg是输入信号最开始N帧的噪声估计,
第二步,对声源信号片段采用时延估计法计算,得到对应的时延估计向量
首先确定空间坐标,具体方法为:对每个麦克风按顺序编号M1,M2...,Mn,n为大于1的整数,选择初始编号为1和2的两个麦克风M1和M2,设M1的位置为原点坐标,M1到M2的方向为起点坐标轴方向,随后将每50帧语音信号视为一组语音片段,采用时延估计法对每组语音片段到任意两个麦克风之间的时延差进行估计,得到n(n 1)个时延差估计值,如公式(7)所示:
&LeftRightArrow; k < < &LeftRightArrow; 12 ^ &LeftRightArrow; 13 ^ &CenterDot; &CenterDot; &CenterDot; &LeftRightArrow; ij ^ T - - - ( 7 )
其中:
Figure FSB00000687623700036
为第i个麦克风和第j个麦克风之间的时延差估计,
Figure FSB00000687623700037
为时延差估计向量,
时延估计可采用PHAT(相位变换)加权算法,其加权系数如公式(8)所示,时延估计方法如公式(9)~(10)所示:
W ( _ ) < < 1 | X 1 ( _ ) X 2 * ( _ ) | - - - ( 8 )
其中:分别为两路时域信号经过FFT变换之后的输出,*为共轭符号,
R x 1 x 2 ( n ) < < IFFT ( W ( _ ) X 1 ( _ ) X 2 * ( _ ) ) - - - ( 9 )
&LeftRightArrow; ^ < < arg max n R x 1 x 2 ( n ) - - - ( 10 )
其中:
Figure FSB00000687623700044
为两路信号的广义互相关函数,
Figure FSB00000687623700045
为x1和x2之间的时
延估计值,
第三步,排除错误数据并进行说话人分割
首先需要去除无效数据,按下面公式(11)计算时延:
Figure FSB00000687623700046
其中:n为某一帧的索引值,
Figure FSB00000687623700047
为某一帧对应的时延数据,
Figure FSB00000687623700048
为某一帧估计的时延数据,当某一时刻信噪比小于阈值ThrSNR时,采用上一时刻的估计时延作为该时刻的时延估计值,以及按公式(12)进一步计算时延:
Figure FSB00000687623700049
其中:n为某一帧的索引值,为某一帧对应的时延数据,为某一帧估计的时延数据,当某一时刻时延估计小于阈值Thr时,采用上一时刻的估计时延作为该时刻的时延估计值,
然后对不同空间位置的说话人进行分割计算,首先计算后验概率
Figure FSB000006876237000411
如公式(13)所示:
Figure FSB000006876237000412
其中:
Figure FSB000006876237000413
为定义参数,
Figure FSB000006876237000414
i代表GMM模型的个数,
Figure FSB00000687623700051
的初始值采用K-means算法计算,为公式7计算获得的时延估计向量,为后验概率,
公式(14)为参数更新算法:
Figure FSB00000687623700054
其中:为参数估计值,
Figure FSB00000687623700056
为GMM模型参数的估计,
Figure FSB00000687623700057
为公式13计算所得的后验概率,当
Figure FSB00000687623700058
时停止更新参数,此处min为一常数,代表最小容忍值,
第四步,根据说话人分割的结果进行说话人聚类
利用一种基于K-means的算法对分割后的语音片段进行聚类,先计算每个集合的域密度,将密度最大的点作为初始点,下一个初始点为与第一个初始点距离最大的点,以此类推直到初始点的数目符合要求;
其次计算样本点到集合中心的距离来更新中心的值,选择符合公式(15)的采样点作为新的集合中心进行更新,
Func < < J M j < < 1 n < < 1 &LeftRightArrow; ^ [ n ] &LeftRightArrow; j 2 - - - ( 15 )
其中:
Figure FSB000006876237000510
为时延估计向量
Figure FSB000006876237000511
和每个语音片段的聚类中心
Figure FSB000006876237000512
的距离,
Figure FSB000006876237000513
为中心向量,J为说话人个数,M为麦克风个数,
最后根据集合中心向量和语音片段向量的距离来对不同空间说话人的语音片段进行归类并标注。
CN2010105683868A 2010-11-29 2010-11-29 一种分布式麦克风的说话人聚类方法 Active CN102074236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105683868A CN102074236B (zh) 2010-11-29 2010-11-29 一种分布式麦克风的说话人聚类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105683868A CN102074236B (zh) 2010-11-29 2010-11-29 一种分布式麦克风的说话人聚类方法

Publications (2)

Publication Number Publication Date
CN102074236A CN102074236A (zh) 2011-05-25
CN102074236B true CN102074236B (zh) 2012-06-06

Family

ID=44032754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105683868A Active CN102074236B (zh) 2010-11-29 2010-11-29 一种分布式麦克风的说话人聚类方法

Country Status (1)

Country Link
CN (1) CN102074236B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11304019B2 (en) 2017-06-29 2022-04-12 Huawei Technologies Co., Ltd. Delay estimation method and apparatus

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102300140B (zh) 2011-08-10 2013-12-18 歌尔声学股份有限公司 一种通信耳机的语音增强方法及降噪通信耳机
CN102509548B (zh) * 2011-10-09 2013-06-12 清华大学 一种基于多距离声传感器的音频索引方法
CN102760434A (zh) * 2012-07-09 2012-10-31 华为终端有限公司 一种声纹特征模型更新方法及终端
US9185199B2 (en) * 2013-03-12 2015-11-10 Google Technology Holdings LLC Method and apparatus for acoustically characterizing an environment in which an electronic device resides
CN103175897B (zh) * 2013-03-13 2015-08-05 西南交通大学 一种基于振动信号端点检测的高速道岔伤损识别方法
CN103400580A (zh) * 2013-07-23 2013-11-20 华南理工大学 一种多人会话语音中的说话人重要程度估计方法
CN104347068B (zh) * 2013-08-08 2020-05-22 索尼公司 音频信号处理装置和方法以及监控系统
CN103439688B (zh) * 2013-08-27 2015-04-22 大连理工大学 一种用于分布式麦克风阵列的声源定位系统及定位方法
CN104575498B (zh) * 2015-01-30 2018-08-17 深圳市云之讯网络技术有限公司 有效语音识别方法及系统
CN104767739B (zh) * 2015-03-23 2018-01-30 电子科技大学 将未知多协议混合数据帧分离为单协议数据帧的方法
CN104766093B (zh) * 2015-04-01 2018-02-16 中国科学院上海微系统与信息技术研究所 一种基于麦克风阵列的声目标分类方法
CN105161093B (zh) * 2015-10-14 2019-07-09 科大讯飞股份有限公司 一种判断说话人数目的方法及系统
CN105388459B (zh) * 2015-11-20 2017-08-11 清华大学 分布式麦克风阵列网络的鲁棒声源空间定位方法
CN106887231A (zh) * 2015-12-16 2017-06-23 芋头科技(杭州)有限公司 一种识别模型更新方法及系统以及智能终端
CN106981289A (zh) * 2016-01-14 2017-07-25 芋头科技(杭州)有限公司 一种识别模型训练方法及系统以及智能终端
CN105869645B (zh) * 2016-03-25 2019-04-12 腾讯科技(深圳)有限公司 语音数据处理方法和装置
EP3455853A2 (en) * 2016-05-13 2019-03-20 Bose Corporation Processing speech from distributed microphones
US10249305B2 (en) * 2016-05-19 2019-04-02 Microsoft Technology Licensing, Llc Permutation invariant training for talker-independent multi-talker speech separation
CN106405499A (zh) * 2016-09-08 2017-02-15 南京阿凡达机器人科技有限公司 一种机器人定位声源的方法
CN107886951B (zh) * 2016-09-29 2021-07-23 百度在线网络技术(北京)有限公司 一种语音检测方法、装置及设备
CN106504773B (zh) * 2016-11-08 2023-08-01 上海贝生医疗设备有限公司 一种可穿戴装置及语音与活动监测系统
CN106940997B (zh) * 2017-03-20 2020-04-28 海信集团有限公司 一种向语音识别系统发送语音信号的方法和装置
CN107202976B (zh) * 2017-05-15 2020-08-14 大连理工大学 低复杂度的分布式麦克风阵列声源定位系统
CN107393549A (zh) * 2017-07-21 2017-11-24 北京华捷艾米科技有限公司 时延估计方法及装置
CN107885323B (zh) * 2017-09-21 2020-06-12 南京邮电大学 一种基于机器学习的vr场景沉浸控制方法
CN108364637B (zh) * 2018-02-01 2021-07-13 福州大学 一种音频句子边界检测方法
CN108665894A (zh) * 2018-04-06 2018-10-16 东莞市华睿电子科技有限公司 一种家电设备的语音交互方法
CN108872939B (zh) * 2018-04-29 2020-09-29 桂林电子科技大学 基于声学镜像模型的室内空间几何轮廓重构方法
CN109087648B (zh) * 2018-08-21 2023-10-20 平安科技(深圳)有限公司 柜台语音监控方法、装置、计算机设备及存储介质
CN109658948B (zh) * 2018-12-21 2021-04-16 南京理工大学 一种面向候鸟迁徙活动的声学监测方法
CN109618273B (zh) * 2018-12-29 2020-08-04 北京声智科技有限公司 麦克风质检的装置及方法
CN110021302A (zh) * 2019-03-06 2019-07-16 厦门快商通信息咨询有限公司 一种智能办公会议系统及会议记录方法
CN110290468B (zh) * 2019-07-04 2020-09-22 英华达(上海)科技有限公司 虚拟隔音通信方法、装置、系统、电子设备、存储介质
CN110428842A (zh) * 2019-08-13 2019-11-08 广州国音智能科技有限公司 语音模型训练方法、装置、设备及计算机可读存储介质
CN110501674A (zh) * 2019-08-20 2019-11-26 长安大学 一种基于半监督学习的声信号非视距识别方法
CN111063341B (zh) * 2019-12-31 2022-05-06 思必驰科技股份有限公司 复杂环境中多人语音的分割聚类方法及系统
CN112581941A (zh) * 2020-11-17 2021-03-30 北京百度网讯科技有限公司 音频识别方法、装置、电子设备及存储介质
CN112735385B (zh) * 2020-12-30 2024-05-31 中国科学技术大学 语音端点检测方法、装置、计算机设备及存储介质
CN112684412B (zh) * 2021-01-12 2022-09-13 中北大学 一种基于模式聚类的声源定位方法及系统
CN112684437B (zh) * 2021-01-12 2023-08-11 浙江大学 一种基于时域warping变换的被动测距方法
CN113096669B (zh) * 2021-03-31 2022-05-27 重庆风云际会智慧科技有限公司 基于角色识别的语音识别系统
CN113178196B (zh) * 2021-04-20 2023-02-07 平安国际融资租赁有限公司 音频数据提取方法、装置、计算机设备和存储介质
CN113573212B (zh) * 2021-06-04 2023-04-25 成都千立智能科技有限公司 扩声系统、及麦克风通道数据选择方法
CN113380234B (zh) * 2021-08-12 2021-12-17 明品云(北京)数据科技有限公司 基于语音识别生成表单的方法、装置、设备及介质
CN113808612B (zh) * 2021-11-18 2022-02-11 阿里巴巴达摩院(杭州)科技有限公司 语音处理方法、设备及存储介质
CN115424633B (zh) * 2022-08-02 2025-04-11 钉钉(中国)信息技术有限公司 说话人定位方法、装置及设备
CN116030815B (zh) * 2023-03-30 2023-06-20 北京建筑大学 一种基于声源位置的语音分割聚类方法和装置
CN116631432A (zh) * 2023-06-21 2023-08-22 中信银行股份有限公司 一种音频分离和话术违规提醒方法、装置及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02209027A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 音響エコーキャンセラー
JPH1097276A (ja) 1996-09-20 1998-04-14 Canon Inc 音声認識方法及び装置並びに記憶媒体
CN101452704A (zh) * 2007-11-29 2009-06-10 中国科学院声学研究所 一种基于信息传递的说话人聚类方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02209027A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 音響エコーキャンセラー
JPH1097276A (ja) 1996-09-20 1998-04-14 Canon Inc 音声認識方法及び装置並びに記憶媒体
CN101452704A (zh) * 2007-11-29 2009-06-10 中国科学院声学研究所 一种基于信息传递的说话人聚类方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11304019B2 (en) 2017-06-29 2022-04-12 Huawei Technologies Co., Ltd. Delay estimation method and apparatus
US11950079B2 (en) 2017-06-29 2024-04-02 Huawei Technologies Co., Ltd. Delay estimation method and apparatus
US12520092B2 (en) 2017-06-29 2026-01-06 Huawei Technologies Co., Ltd. Delay estimation method and apparatus

Also Published As

Publication number Publication date
CN102074236A (zh) 2011-05-25

Similar Documents

Publication Publication Date Title
CN102074236B (zh) 一种分布式麦克风的说话人聚类方法
CN102103200B (zh) 一种分布式非同步声传感器的声源空间定位方法
CN103901401B (zh) 一种基于双耳匹配滤波器的双耳声音源定位方法
CN102543063B (zh) 基于说话人分割与聚类的多说话人语速估计方法
CN111429939B (zh) 一种双声源的声音信号分离方法和拾音器
CN108731886A (zh) 一种基于迭代递推的供水管道多泄漏点声定位方法
CN102411138A (zh) 一种机器人声源定位方法
CN102565759B (zh) 一种基于子带信噪比估计的双耳声源定位方法
CN106226739A (zh) 融合子带分析的双声源定位方法
CN103854660B (zh) 一种基于独立成分分析的四麦克语音增强方法
Pavlidi et al. Source counting in real-time sound source localization using a circular microphone array
CN109671447A (zh) 一种双通道欠定卷积混叠信号盲分离方法
CN109188362A (zh) 一种麦克风阵列声源定位信号处理方法
CN109884591A (zh) 一种基于麦克风阵列的多旋翼无人机声信号增强方法
CN112394324A (zh) 一种基于麦克风阵列的远距离声源定位的方法及系统
CN111179959B (zh) 一种基于说话人嵌入空间的竞争说话人数量估计方法及系统
CN111429916B (zh) 一种声音信号记录系统
CN103901400B (zh) 一种基于时延补偿和双耳一致性的双耳声音源定位方法
Damacharla et al. LSTM-CNN network for audio signature analysis in noisy environments
CN110265060B (zh) 一种基于密度聚类的说话人数目自动检测方法
Dang et al. An iteratively reweighted steered response power approach to multisource localization using a distributed microphone network
CN115754898A (zh) 强混响环境下基于矢量麦克风的多声源测向定位方法
CN111968671B (zh) 基于多维特征空间的低空声目标综合识别方法及装置
Meng et al. Blind estimation of sub-band acoustic parameters from ambisonics recordings using spectro-spatial covariance features
Gburrek et al. On source-microphone distance estimation using convolutional recurrent neural networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20181115

Address after: 100085 Beijing Haidian District Shangdi Information Industry Base Pioneer Road 1 B Block 2 Floor 2030

Patentee after: Beijing Huacong Zhijia Technology Co., Ltd.

Address before: 100084 Beijing 100084 box 82 box, Tsinghua University Patent Office

Patentee before: Tsinghua University

TR01 Transfer of patent right