一种空间结构性特征相关的无监督分类与有监督修正融合的语音分离方法与流程
本发明涉及语音信号处理领域,具体涉及一种空间结构性特征相关的无监督分类与有监督修正融合的语音分离方法。
背景技术:
在复杂的声学环境下,目标说话人的语音信号经常会受到各种噪声的干扰,从而严重影响目标语音的识别性能。语音分离技术能够有效地去除实际环境中的噪音干扰,为后续的语音信号处理提供更加准确、可靠的信息。语音分离技术的应用场景非常广泛,例如在国防军事领域,在战争环境及会议监听等背景下,单纯利用声纹识别技术无法准确分析从敌方截获的会议录音中有无特定说话人,而语音分离技术可提高声纹识别的准确率。在公共安全领域,在嘈杂的多说话人场景下的街道上,利用语音分离技术能够更为准确地寻找特定词语,锁定具有危险意图的行人;在智能家居领域,通过语音指令控制智能设备时,其他家庭成员经常也在进行语言交流,因此需要语音分离技术准确地得到目标语音的指令,从而正确地执行其意图。
语音分离作为语音识别和语音合成等技术的重要基础,是一项重要、关键的研究课题,得到了研究人员的重点关注。从应用角度层面来看,单信道系统对部署的限制较少,并且不存在多麦克风系统的配置平稳性等潜在的问题,更易于在设备上实现,因此单信道语音分离是最理想的研究对象。单信道语音分离技术包括谱减法、维纳滤波法、基于最小均方差的语谱估计方法、基于听觉场景分析的方法和基于模型的方法,然而已有的语音分离算法对说话人数目未知的混合语音分离仍存在泛化性和精确性不足的问题。
技术实现要素:
本发明针对现有技术中语音片段特征提取、语音片段分类和语音分离模型修正中存在的问题,提出一种空间结构性特征相关的无监督分类与有监督修正融合的语音分离方法。
本发明是采用以下的技术方案实现的:一种空间结构性特征相关的无监督分类与有监督修正融合的语音分离方法,包括以下步骤:
步骤a、基于时滞细胞神经网络提取语音片段的特征;
步骤a1、基于包络检波计算调制幅度谱和相位谱;
步骤a2、基于时滞细胞神经网络提取调试幅度谱的特征;
步骤a3、基于突变点检测方法生成语音片段窗口;
步骤a4、基于多尺度空间金字塔池化统一语音片段特征维度。
步骤b、基于动态增长自组织映射神经网络对经过步骤a获取的的语音片段无监督自适应分类;
步骤c、基于粒子群优化算法自适应修正步骤a和b构建的语音分离模型的参数;
步骤d、基于二值掩蔽对同一类的语音片段语音重构,获得目标语音。
进一步的,所述步骤a1中通过包络检波计算调制幅度谱时,具体采用以下方式:
(1)采用gammatone滤波器建立128个信道的滤波器组;
(2)利用基于非相干解调的hilbert变换进行包络检波;
(3)通过1024个点的傅里叶变换获得调制幅度谱;
(4)通过低通滤波器对调制幅度谱进行平滑处理。
进一步的,所述步骤a2中,对平滑处理后的调制幅度谱特征提取时采用以下方式:构建128×1024二维结构的时滞细胞神经网络,网络的输出完全由反馈模板a、控制模板b、时滞反馈模板aτ、时滞控制模板bτ、阈值i和时滞τ决定。
进一步的,所述步骤a3中,根据突变点检测方法生成语音片段窗口:
(1)计算每个信道中平滑的调制幅度谱的一阶导数获取候选的onset/offset突变点,其中onset对应极大值点,offset对应极小值点;通过设定阈值进一步筛选onset;保留所有的相邻的onset之间值最小的offset,并且删除其余的offset;
(2)将当前信道中所有的相邻的onset之间距离的平均值作为阈值;筛选与当前信道的onset距离小于阈值的相邻信道的onset集合,选择集合中距离最小的onset连接;对offset采用相同的筛选和连接方式;将跨度少于三个相邻信道的连线取消;
(3)针对个连续信道的onset的连线,选取onset右侧相邻的offset,构建大小为z的offset集合;选择穿过offset集合中点数最多的一条offset连线,作为与onset连线最佳匹配的offset连线;当连续z个信道的onset全部匹配成功则结束,否则对匹配失败的信道重复执行此流程;将匹配的onset和offset连线之间的区域作为语音片段;
(4)选取语音片段中的最大的矩形区域作为语音片段窗口,将语音片段窗口内的调制幅度谱特征作为语音片段特征。
进一步的,所述步骤a4中,利用多尺度空间金字塔池化方法统一语音片段特征的维度:
(1)使用10种不同尺度的窗口对语音窗口进行划分,每一种尺度代表金字塔的一层;
(2)对每一个池化窗口内的语音片段采取最大池化操作,展开得到的r维特征向量作为语音片段分类神经网络的输入。
进一步的,所述步骤b中,基于动态增长自组织映射神经网络对语音片段进行无监督自适应分类,具体如下:
(1)根节点的权值向量w(0)赋值为[0,1]区间的随机值;
(2)设置初始学习率η(0)和生长因子α,并计算生长阈值g;
(3)从样本集中选取样本向量v(i),其中i为样本序号,按加权距离寻找与f(n)最近的竞争层节点j*;
(4)计算v(i)与竞争层j*节点之间的误差距离e:若此时e>g,则转步骤e执行生长操作,否则转步骤6做调整操作;
(5)生成j*的子节点,其权值
(6)调整j*及其子节点权值;
(7)采用由大到小的动态学习率,可按下面公式调整学习率:
η(t+1)=λ.η(t)
(8)重复步骤3-7,直至所有样本训练完毕;
(9)重复步骤8进入下一个训练周期,直至网络中不再有新的节点生成。
进一步的,所述步骤c中,基于粒子群优化算法自适应修正语音分离模型的参数。具体如下:
(1)设定粒子群最大进化代数gmax,种群规模为s,加速度因子d1,d2,惯性权重ω;
(2)以参数组合[a,aτ,b,bτ,i,τ,λ,α]作为粒子,随机产生种群规模个数的参数组合作为粒子的初始位置,并随机初始化每个粒子的移动速度;
(3)选取语音片段分类错误率的均方误差作为适应度函数,根据粒子的位置计算适应度函数的值,利用模拟退火算法对粒子的适应度进行修正;
(4)对比适应度值大小,根据个体局部极值和种群全局极值,更新粒子的速度和位置;
(5)以学习因子、惯性权重和性能评价参数作为模糊控制器的输入,将学习因子和惯性权重变化量的百分比作为输出,利用模糊规则同时调节惯性权重和学习因子;
(6)重复步骤4-6,当迭代次数达到最大进化代数,获得全局最优粒子位置。
进一步的,所述步骤d中,基于二值掩蔽对同一类的语音片段语音重构,获得目标语音。具体如下:
(1)根据语音片段分类的结果,利用二值掩蔽获得分离后的第n个说话者的调制幅度谱;
(2)结合混合语音的调制相位谱,使用逆傅里叶变换得到分离后的语音包络;
(3)结合混合语音的载波,获得不同信道的时域信号;
(4)通过逆gammatone滤波器合成得到分离后的语音。
与现有技术相比,本发明的优点和积极效果在于:
本方案利用时滞细胞神经网络并行高速以及易于vlsi实现的特性的提取时序信号的特征,进一步提高处理的实时性;同时利用时滞细胞神经网络局部连通的特性,充分考虑细胞之间信息传递的时滞因素,突出频带相关性和空间结构性信息;提出基于动态增长自组织映射神经网络的无监督语音片段自适应分类算法,模拟大脑神经网络中神经元的负载平衡过程,动态生成输出层新的子节点,实现无监督的语音片段的自适应分类;提出空间结构性特征相关的无监督语音片段分类和有监督语音模型自适应修正融合的语音分离算法,通过有监督学习和无监督学习的有机结合,同时提高了语音分离模型的泛化性和精确性。
附图说明
图1为本发明实施例所述语音分离原理框图;
图2为本发明实施例所述调制幅度谱和相位谱计算示意图;
图3为本发明实施例所述语音片段分类示意图;
图4为本发明实施例所述语音重构示意图。
具体实施方式
为了能够更加清楚地理解本发明的上述目的、特征和优点,下面结合附图及实施例对本发明做进一步说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例。
如图1所示,本实施例提出一种空间结构性特征相关的无监督分类与有监督修正融合的语音分离方法,包括以下步骤:
步骤一、基于时滞细胞神经网络提取语音片段特征;
步骤二、基于动态增长自组织映射神经网络对语音片段自适应分类;
步骤三、基于粒子群优化算法对语音分离模型有监督语地自适应修正;
步骤四、基于二值掩蔽合成目标语音。
步骤一、基于时滞细胞神经网络的语音片段特征提取
语音特征提取方法通常不能充分利用相邻频带之间的相关性信息,同时打乱了语音内部的空间结构信息。针对此问题,利用时滞细胞神经网络的反馈模板和控制模板,通过邻域细胞之间的非线性动力学传播效应,获得包含频带相关性和空间结构性信息的调制幅度谱特征,并基于时滞特性提高特征提取的精确性和稳定性;进而,利用突变点检测方法生成语音片段窗口,获取语音片段的特征;最后,使用多尺度空间金字塔池化方法,统一语音片段特征的维度,实现语音片段特征的有效提取。如图2所示,本实施例采用以下方法对语音片段进行特征提取:
1、调制幅度谱和相位谱计算方法
(1)采用gammatone滤波器建立128个信道的滤波器组,具体的:
①根据moore和glasberg提出的经验公式,计算特定频率上的等效矩形带宽(erb):
erb(f)=24.7+(0.00437f+1)
②针对等效矩形带宽和固定频率间隔乘积的倒数作积分运算,得到将频率映射到信道编号的函数,进一步求解将信道编号映射到频率的反函数;
③通过求解的固定频率间隔获得所有信道的中心频率,进而获得第k个信道对应的gammatone滤波器的冲击响应gt(t,k);
④得到第k个信道的输出为:
y(t,k)=y(t)*gt(t,k)
其中y(t)为输入的原始信号,*为卷积运算。
(2)利用基于非相干解调的hilbert变换进行包络检波:
其中,e(t,k)和ck(t)分别为混合语音信号第k个信道的包络和载波;hilbert[.]为hilbert变换;lpf[.]为低通滤波器;截止频率为20hz。
通过1024个点的傅里叶变换获得调制幅度谱ya(i,k):
(3)为了消除调制频谱中微弱波动的干扰,通过低通滤波器对调制幅度谱进行平滑处理,第k个信道的调制幅度谱平滑处理后得到:
ys(i,k)=ya(i,k)*gs(i)
其中gs(i)为截止频率为shz的低通fir滤波器,*为卷积运算。s的大小决定了滤波之后的平滑程度。
2、调制幅度谱特征提取方法
构建128×1024二维结构的时滞细胞神经网络,网络的输出完全由反馈模板a、控制模板b、时滞反馈模板aτ、时滞控制模板bτ、阈值i和时滞τ决定。网络状态和输出的更新方式如下:
vyef(t)=tanh(vxef(t))
其中vx(t),vu(t)和vy(t)分别为细胞的状态、输入和输出;c(h,l)为第h行,l列的细胞;nr(e,f)为第e行f列细胞的r邻域。
经对比实验,本实施例中邻域半径r设置为2,将初始状态vx(0)设置为0,平滑的调制幅度谱ys(i,k)作为时滞细胞神经网络的初始输入vu(0),网络收敛时的输出为调制幅度谱的特征。
3、语音片段窗口生成方法
利用基于突变点检测的语音片段窗口生成方法获取调制幅度谱特征与语音片段特征之间的映射关系。具体的:
(1)计算每个信道中平滑的调制幅度谱的一阶导数获取候选的onset/offset突变点,其中onset对应极大值点,offset对应极小值点;通过设定阈值进一步筛选onset;保留所有的相邻的onset之间值最小的offset,并且删除其余的offset;
(2)将当前信道中所有的相邻的onset之间距离的平均值作为阈值;筛选与当前信道的onset距离小于阈值的相邻信道的onset集合,选择集合中距离最小的onset连接;对offset采用相同的筛选和连接方式;将跨度少于三个相邻信道的连线取消;
(3)针对个连续信道的onset的连线,选取onset右侧相邻的offset,构建大小为z的offset集合;选择穿过offset集合中点数最多的一条offset连线,作为与onset连线最佳匹配的offset连线;当连续z个信道的onset全部匹配成功则结束,否则对匹配失败的信道重复执行此流程;将匹配的onset和offset连线之间的区域作为语音片段;
(4)选取语音片段中的最大的矩形区域作为语音片段窗口,将语音片段窗口内的调制幅度谱特征作为语音片段特征,如图1所示。
4、特征维度统一方法
语音片段分类神经网络的输入层的神经元数目是固定的,而语音片段特征的维度不相同,进一步利用多尺度空间金字塔池化统一语音片段特征的维度,具体的:
(1)使用10种不同尺度(30,20,15,10,8,6,4,3,2,1)的窗口对语音窗口进行划分,每一种尺度代表金字塔的一层,第m层的池化层窗口大小为:
其中,win_w和win_h分别为池化窗口的宽度和高度,sm为第m层的尺度,win和hin分别为语音片段窗口的宽度和高度。
(2)对每一个池化窗口内的语音片段采取最大池化操作,展开得到的r维特征向量作为语音片段分类神经网络的输入。
本实施例中r为1755。
步骤二、基于动态增长自组织映射神经网络的无监督语音片段自适应分类
语音分离模型通常是在训练之前预定义好的静态网络结构,在混合语音说话人数目未知的情况下,必须进行大量尝试获得合适的网络结构,从而导致语音分离模型的泛化性降低。针对此问题,以语音片段的特征为输入,采用灵活的树形结构,基于初始状态的根节点,辨析生长阈值与距离误差之间的关系,模拟大脑神经网络中神经元的负载平衡过程,动态生成输出层新的子节点,实现无监督语音片段的自适应分类。如图3所示,本实施例采用以下方法对语音片段进行分类:
(1)根节点的权值向量w(0)赋值为[0,1]区间的随机值;
(2)设置初始学习率η(0)和生长因子α为0.5,并计算生长阈值g:
其中s为增长自组织神经网络中节点总数;
(3)从样本集中选取样本向量v(i),其中i为样本序号,按加权距离寻找与f(n)最近的竞争层节点j*;n∈{1,2,...,n}
(4)计算v(i)与竞争层j*节点之间的误差距离e:
其中r为v(i)的维数。若此时e>g,则转步骤e执行生长操作,否则转步骤6做调整操作;
(5)生成j*的子节点,其权值
(6)调整j*及其子节点权值:
其中,
(7)大的学习率可以加快学习速度,但不容易收敛,所以可采用由大到小的动态学习率,可按下面公式调整学习率:
η(t+1)=λ.η(t)
其中λ为调节因子,取值范围(0,1),本实施例初始化为0.5;
(8)重复步骤3-7,直至所有样本训练完毕;
(9)重复步骤8进入下一个训练周期,直至网络中不再有新的节点生成。
步骤三、基于粒子群优化算法的有监督语音分离模型自适应修正
时滞细胞神经网络的控制模板、反馈模板、时滞、阈值以及邻域半径和动态增长自组织映射神经网络的生长因子、学习率权重参数决定了语音分离模型的精度,然而语音片段分类网络的输出层的节点代表不同的分类模式,难以通过传统的反向传播算法进行参数调整。针对此问题,利用粒子群优化算法,选取控制模板、反馈模板、时滞、阈值、生长因子和学习率权重六个模型参数的组合作为粒子,语音片段分类的错误率作为适应度函数,通过模糊控制器自适应地调节粒子群优化算法的惯性权重和学习因子,利用模拟退火的局部极值突跳能力避免陷入局部极小值,对语音片段特征提取和分类算法中的参数进行全局优化和更新,实现语音分离模型的自适应修正。本实施例采用以下方法对语音模型进行修正:
(1)设定粒子群最大进化代数gmax=30,种群规模为s=30,加速度因子d1=d2=2,惯性权重ω=1;
(2)以参数组合[a,aτ,b,bτ,i,τ,λ,α]作为粒子,随机产生种群规模个数的参数组合作为粒子的初始位置,并随机初始化每个粒子的移动速度;
(3)选取语音片段分类错误率的均方误差作为适应度函数,根据粒子的位置计算适应度函数的值,利用模拟退火算法对粒子的适应度进行修正:
其中,g为进化代数,p为衰减因子,t0为模拟退火初始温度,f和fnew为分别修正前和修正后的适应度;
(4)对比适应度值大小,根据个体局部极值和种群全局极值,更新粒子的速度和位置;
(5)以学习因子、惯性权重和性能评价参数作为模糊控制器的输入,将学习因子和惯性权重变化量的百分比作为输出,利用模糊规则同时调节惯性权重和学习因子;
(6)重复步骤4-6,当迭代次数达到最大进化代数,获得全局最优粒子位置。
步骤四、基于二值掩蔽的语音重构
如图4所示,本实施例采用以下方法对目标语音进行重构:
(1)根据语音片段分类的结果,利用二值掩蔽获得分离后的第n个说话者的调制幅度谱
(2)结合混合语音的调制相位谱,使用逆傅里叶变换得到分离后的语音包络:
(3)结合混合语音的载波,获得不同信道的时域信号:
y(n)(t,k)=e(n)(t,k).c(t,k)
(4)通过逆gammatone滤波器合成得到分离后的语音。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除