一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于盲源分离的文本无关型多源说话人识别方法与流程

2021-06-15 21:49:00 来源:中国专利 TAG:
一种基于盲源分离的文本无关型多源说话人识别方法与流程
本发明涉及声纹识别
技术领域
,尤其涉及一种基于盲源分离的文本无关型多源说话人识别方法。
背景技术
:语音作为生物识别的一种,与其它生物特征识别一样都承载着相应的信息,可以应用在身份认证、信息服务、语音邮件等方面。通过语音不仅可以得知说话者的语音内容信息,还可以得到说话者的信息即声纹识别。声纹识别就是通过对语音波形中包含的个人信息自动识别说话人的过程。在鸡尾酒环境下说话人识别存在很大的挑战性,首先鸡尾酒环境下很嘈杂,有很多说话人的声音混杂在一起。说话人识别的过程可以分为两个部分:语音特征提取和说话者模型的训练。在语音特征提取方面,目前大多数研究主要针对语音信号的短期光谱特性,主要是基于约10-30毫秒的短帧对信号进行分解,这一时间段内语音信号最平稳,在此帧内对声纹的光谱特征进行研究,例如梅尔倒谱系数和线性倒谱系数。模型的训练,主要是针对提取出来的特征进行训练,例如常用的对于传统模型包括矢量量化模型和动态时间规整,高斯混合模型等;对于深度学习模型,采用深度神经网络,卷积神经网络等效果较好的模型应用于说话人识别的模型等。技术实现要素:本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于盲源分离的文本无关型多源说话人识别方法,在鸡尾酒环境下进行多源说话人识别。为解决上述技术问题,本发明所采取的技术方案是:一种基于盲源分离的文本无关型多源说话人识别方法,针对鸡尾酒环境下的多声源语音,根据盲源信号检测与分离算法将多声源语音进行分离和检测,将包含的多个声源分离出来,然后针对每个声源进行语音特征提取即将语音进行小波包变换与伽马通滤波器相结合进行特征提取,同时将提取的特征通过深度学习模型cnn,完成多源说话人识别;具体包括以下步骤:步骤1:盲源分离与检测;获取一段包含多个人的语音的声源,并采用盲源信号检测与分离算法对声源进行盲源分离和检测,将多源语音信号分离出多个单源语音信号;首先将原始混合的语音数据矩阵进行归一化和白化处理得到白化变换的语音矩阵;然后采用随机的方式初始化一个矩阵w,并对矩阵w迭代进行去相关处理得到更新后的矩阵wnew;最后将原始混合的语音数据矩阵和白化变换的语音矩阵以及更新后的矩阵wnew做矩阵相乘,将多源语音信号分离出多个单源语音信号;步骤2:语音特征预处理;对步骤1分离出的每个单源语音信号进行预加重、分帧及加窗处理,得到时序语音信号;步骤3:对时序语音信号进行小波包分解与重构;采用小波包对时序语音信号进行分解,以便对语音信号中包含的低频和高频信号进行时频局部化处理与分析;其中小波包按照完全最优二叉树方式分解,时频节点对应小波包频率系数;将小波包分解后的低频和高频语音信号进行重构,重构后语音信号的时序顺序对应原始的时域信息;步骤4:采用耳蜗听觉滤波器对小波包分解与重构后的语音信号进行人耳特征滤波,提取语音特征;将步骤3得到小波包分解与重构后的语音信号通过一组伽马通滤波器组得到符合人耳生理数据的语音特征向量,并对得到的语音特征向量进行短时傅里叶变换,得到二维语音特征向量,完成语音特征的提取;步骤5:构建cnn模型,并将步骤4提取的二维语音特征向量转变成三维向量后输入到cnn模型,实现多源说话人识别;所述cnn模型由4个2d卷积层、4个池化层和2个全连接层以及输出层组成;卷积核采用3×3矩阵;在每个卷积层中,使用激活函数relu;每次卷积层运算后,进入池化层;所述池化层采用的策略为最大池化,池化大小为2×2;输出层的激活函数采用softmax,输出该语音对应的类别的概率。采用上述技术方案所产生的有益效果在于:本发明提供的一种基于盲源分离的文本无关型多源说话人识别方法,针对在噪声环境下识别正确率低的问题,采用小波包和伽马通滤波器相结合的方法,可以在噪声环境下,拥有较高的识别率。对于将其应用在现实环境下具有重要的应用价值。附图说明图1为本发明实施例提供的一种基于盲源分离的文本无关型多源说话人识别方法的总架构图。图2为本发明实施例提供的原始单源语音信号可视化波形图;图3为本发明实施例提供的单源语音信号预加重后的效果图;图4为本发明实施例提供的单源语音信号分帧后的效果图;图5为本发明实施例提供的单源语音信号加窗后的效果图;图6为本发明实施例提供的单源语音信号三层小波包分解后的效果图;图7为本发明实施例提供的单源语音信号通过gammatone滤波器过滤后的效果图。具体实施方式下面结合附图对本发明的具体实施做详细说明。本实施例中,软件环境为windows10系统,仿真环境为pycharm2018.3.3x64。本实施例中,设计的多源说话人识别总架构如图1所示,根据架构图,基于盲源分离的文本无关型多源说话人识别方法,包括以下步骤:步骤1:盲源分离与检测;获取一段包含多个人的语音的声源,并采用盲源信号检测与分离算法对声源进行盲源分离和检测,将多源语音信号分离出多个单源语音信号;首先输入一段混合的多声道语音信号,采用python语言中的wave函数打开输入的语音信号,可以得到混合语音数据矩阵d,并对矩阵d进行中心化处理,即使用numpy函数库中的mean函数对矩阵d的所有行向量取均值,然后遍历矩阵d的每一行减去这个均值就可以得到中心化处理后的新矩阵dcenter;然后对新矩阵dcenter进行白化处理,即计算dcenter的协方差矩阵numpy.cov(dcenter),然后计算协方差矩阵的特征值和特征向量,并对特征值向量进行对角化变成对角阵后取逆,对取逆后的对角阵取平方和转置的特征向量相乘得到白化变换矩阵v;再将矩阵dcenter和矩阵v相乘得到白化后的数据矩阵z,对数据矩阵z做fastica算法处理,即首先随机生成一个随机矩阵w,对w做去相关处理(对w,wt进行特征值分解得到特征值x和特征向量p,然后对特征值x进行对角化取逆得到div_x,w去相关后为并设置最大迭代次数,不断更新迭代w′,得到更新后的wnew=g(s)zt-g′(s)*w′(其中,s=w'*z,g(s)表示s的tanh()函数,g′(s)表示s的概率密度函数,w′表示每次更新去相关后的w,zt表示白化后的数据矩阵z的转置矩阵),根据得到的wnew和白化变换矩阵v相乘再和混合语音数据矩阵d相乘就可以得到重构混合源信号的估计sr,进而得到估算的n个单源语音信号s1=sr[0,:],s2=sr[1,:]....,sn=sr[n,:]。步骤2:语音特征预处理;对步骤1得到的n个单源语音信号s1,s2...,sn分别进行预处理,得到时序语音信号,具体包括预加重、分帧、加窗三个环节,预加重的目的是为了补偿语音高频部分因声门激励、口鼻辐射所带来的每倍频程的衰减。对预加重更新后的语音信号进行短时分帧处理,获得短时平稳语音信号帧并按时序编号,连续的帧信号之间进行一定的重叠,保证不会丢失每帧之间的信息;最后对帧信号进行加窗处理,采用汉明窗函数,对帧长的语音信号按位置进行滑窗处理,通过预处理后的语音信号为时序离散信号形式便于分解与特征提取。本实施例中,预加重、分帧、加窗三个环节的具体实现参数如下:预加重:将单源语音数据通过python中的wavfile将语音数据进行处理得到音频的采样率和numpy数组,其中得到的语音一维数组根据预加重公式y(t)=x(t)-αx(t-1)进行预加重,其中,预加重系数α=0.97,y(t)表示预加重后t秒时的单源语音数组,x(t)为t秒时的单源语音数组,x(t-1)为t-1秒时的单源语音数组。本实施例中,针对如图2所示的原始的单源语音图像,预加重后的语音图像如图3所示。分帧:将整段语音分成一帧一帧的,采用python的numpy数据分析对语音信号预加重后的语音信号进行处理,其中每一帧的参数为30ms,连续的帧信号之间进行一定的重叠,重叠时间为2ms,分帧后的结果如图4所示。加窗:为了保证分帧后的语音数据处理起来连续,采用滑窗的技术,根据汉明窗公式其中,w(n)表示滑窗因子,n表示语音数据总帧长,n表示分帧后每帧的长度,进行汉明窗处理。加窗后的效果如图5所示。步骤3:时序信号的小波包分解与重构;语音信号是非平稳信号.虽然经过短时分帧及滑窗处理,语音信号依然具有非平稳、持时短、时域和频域局部化的性质.因此,本发明采用小波包对时序语音信号进行分解,对语音信号中包含的低频和高频信号进行时频局部化处理与分析;其中,小波包按照完全最优二叉树方式分解,时频节点对应小波包频率系数;将小波包分解后的低频和高频语音信号进行重构,重构后语音信号的时序顺序对应原始的时域信息;本实施例利用python库中存在的第三方库pywt,对步骤2预处理的语音数据进行小波包分解,采用pywt库中的waveletpacket函数,输入的数据为预处理好的语音数据,以小波包模型为symmetric进行三层的db6小波包分解,其树形结构如图6所示。然后分解后的小波包分别为层数和数据,遍历分解这些数据采用reconstruct函数进行重构得到高频和低频都分解比较彻底的语音信号数据。步骤4:采用耳蜗听觉滤波器对小波包分解与重构后的语音信号进行人耳特征滤波,提取语音特征;将步骤3得到的小波包分解与重构后的语音信号通过一组伽马通滤波器组得到符合人耳生理数据的语音特征向量,其中,伽马通(即gammatone)滤波器是一种标准的听觉滤波器,符合人耳耳蜗特征,并对得到的语音特征向量进行短时傅里叶变换(stft),得到二维语音特征向量,完成语音特征的提取;gammatone滤波器如下公式所示:h(t)=ctl-1e-2πbtcos(2πfit φ)其中,c是调节比例常数,l为滤波级数(通常为4),b为衰减因子决定了滤波器的衰减速度,为正整数,fi是滤波器的中心频率,φ是函数相位,一般可省略;衰减因子与带宽的关系为b=1.019erb(fi),其中,erb(fi)为等效矩形带宽:本实施例中,单源语音信号通过gammatone滤波器后的可视化效果图如图7所示。步骤5:构建cnn模型,并将步骤4提取的二维语音特征向量转变成三维向量后输入到cnn模型,实现多源说话人识别;为了有效训练和预测说话人文本无关的语音特征信息,本发明方法结合所设计的特征提取方法,采用卷积神经网络设计了说话人深度学习识别网络,如表1所示。在网络结构上,由4个2d卷积层(conv2d_1-conv2d_4)、4个池化层(pool1-pool4)、2个全连接层(dense_1、dense_2)以及输出层组成,卷积核采用3×3矩阵。在每个卷积层中,使用激活函数relu。每次卷积层运算后,进入池化层,池化层采用的策略为最大池化策略,池化大小为2×2。输出层采用softmax激活函数,输出该语音对应的类别的概率。表1基于cnn的说话人识别深度学习识别网络结构参数层cnn参数conv2d_1[3*3,16]pool12*2,maxpool,stride2conv2d_2[3*3,32]pool22*2,maxpool,stride2conv2d_3[3*3,64]pool32*2,maxpool,stride2conv2d_4[3*3,128]pool42*2,maxpool,stride2dense_15072*278dense_2278*69综上所述,本发明方法基于盲源分离后再用小波包和伽马通滤波器作为语音特征提取的方法实现了多源说话人识别在噪声环境下高识别率的要求。解决了鸡尾酒环境下识别率低,无法分辨多个说话人的问题。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜