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

一种基于声纹嵌入的低信噪比条件下的语音增强方法与流程

2021-06-25 13:04:00 来源:中国专利 TAG:语音 增强 条件下 嵌入 方法


1.本发明涉及语音增强领域,具体涉及一种基于声纹嵌入的低信噪比条件下的语音增强方法。


背景技术:

2.近年来,人工智能技术的热度居高不下,语音增强技术也得到了飞速的发展,各种语音增强技术层出不穷。这些语音增强方案主要分为:传统语音增强方案和基于深度学习的语音增强方案。
3.传统语音增强方案主要包括:谱减法、基于统计模型的增强算法和子空间增强算法。谱减法假设噪声为加性噪声,然后从带噪语音的语音谱中减去对噪声谱的估计,最后的到干净语音。维纳滤波算法和最小均方误差算法是基于统计模型增强算法的代表,相对于谱减法,维纳滤波法算法处理后的语音信号中的残留噪声类似白噪声,听觉上让人更加舒适。最小均方误差算法利用语音信号的短时频谱振幅在感知中的重要作用,并利用最小均方误差的短时频谱振幅估计器来增强带噪语音。子空间增强算法主要源自于线性代数理论,其原理是在欧式空间中,纯净信号的分布局限在带走按信号的子空间中。所以只要将带噪信号的向量空间分解到两个子空间就可以完成语音增强的任务。
4.传统的语音增强算法大多假设语音信号是平稳的。但是,在现实生活中,这种假设条件根本无法满足。基于深度学习的语音增强算法以其强大的非线性拟合能力能有效解决这个问题。根据训练目标的不同,基于深度学习的语音增强算法可以分为两类:一是基于掩模的增强网络,二是基于映射的增强网络。基于掩模的增强网络是将理想比例掩模或者相位掩模等作为神经网络的训练目标。基于映射的增强网络利用神经网络的拟合能力,将带噪语音的对数谱或者功率谱直接映射到干净语音的功率谱。根据网络模型的不同,基于深度学习的语音增强网络可以分为dnn增强网络、cnn增强网络、rnn增强网络和gan增强网络。
5.其中,对语谱图的特征处理是基于深度学习语音增强网络的关键。所以,cnn网络较其他网络模型更契合语音增强任务。
6.本申请发明人在实施本发明过程中,发现现有技术方法至少存在以下和技术问题:
7.虽然基于cnn网络的语音增强算法在高信噪比条件性能表现良好,但是在低信噪比条件下性能会急速下降,性能表现不尽人意。语音增强算法作为语音信号处理的一项基本研究,常被用作语音前端处理模块。目前,智能语音技术发展迅速,在安静环境下,各语音系统都能达到很好的性能。但是,现实生活中,安静的语音条件几乎不存在,嘈杂、喧闹等低信噪比环境随处可见,这也是智能语音技术落地困难的重要原因。
8.由此可见,现有技术的方法中,低信噪比条件下的语音增强还存在难点,对低信噪比条件下语音增强技术的研究具有重要的实际意义。


技术实现要素:

9.本发明提出基于声纹嵌入的cnn语音增强算法,用于解决低信噪比条件下语音增强效果不佳的问题,推动智能语音技术更快更好的落地。
10.为解决上述问题,本发明提供了一种基于声纹嵌入的低信噪比条件下的语音增强方法,包括:
11.步骤1:将干净中文语音数据集、中文语音噪声数据集通过sox混合干净语音和随机噪声,得到带噪语音数据集;
12.步骤2:提取中文语音数据集的梅尔倒谱系数;
13.步骤3:构建优化通用高斯混合背景模型;
14.步骤4:根据干净中文语音的梅尔倒谱系数、优化高斯混合背景概率密度模型,提取干净中文语音数据集的声纹特征;
15.步骤5:提取带噪语音数据集的幅度谱和相位谱;
16.步骤6:将干净语音数据集的声纹特征与带噪语音数据集的频谱特征通过拼接生成带噪语音中说话用户的相关频谱特征;
17.步骤7:构建增强神经网络,将第s个说话用户第h段语音第k帧语音信号的相关谱特征输入至增强神经网络,通过增强神经网络预测得到增强后的第s个说话用户第h段语音第k帧语音信号,以干净语音集的频谱作为标签构建增强神经网络的损失函数,通过adam优化算法进一步优化训练得到优化后增强神经网络;
18.步骤8:将带噪语音数据集中带噪语音经过特征提取之后得到带噪语音的说话用户相关频谱特征,将带噪语音的说话用户相关频谱特征输入到优化后的增强神经网络中得到增强后说话用户相关频谱;将增强后的说话用户相关频谱和步骤5中的相位谱通过傅里叶反变换,进一步进行波形重构得到增强之后的待检测用户语音。
19.作为优选,步骤1所述干净中文语音数据集为:
20.cleandata
s,h
21.s∈{1,2....,s},h∈{1,2....,h}
22.其中,cleandata
s,h
表示第s个说话用户第h段语音,s为说话用户的数量,h为每个说话用户的音频数量;
23.步骤1所述带噪语音数据集为:
24.noisedata
s,h
25.s∈{1,2....,s},h∈{1,2....,h}
26.其中,noisedata
s,h
表示第s个说话用户第h段带噪语音,s为说话用户的数量,h为每个说话用户的音频数量;
27.作为优选,步骤2具体如下:
28.步骤2.1,将步骤1中的干净中文语音数据集通过高通滤波器滤波,得到预加重之后的干净语音信号;
29.步骤2.2,对经过预加重之后的干净语音信号进行分帧加窗得到中文语音数据集的多帧语音信号;
30.所述中文语音数据集的多帧语音信号为:
31.cleandataframe
s,h,k
32.s∈{1,2....,s},h∈{1,2....,h},k∈{1,2....,k
h,s
}
33.其中,cleandataframe
s,h
表示干净语音数据集第s个说话用户第h段语音的第k帧语音信号,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
34.步骤2.3,对中文语音数据集的每帧语音信号即cleandataframe
s,h,k
进行快速傅里叶变换,得到中文语音数据集的每帧语音信号的频谱、中文语音数据集的每帧语音信号能量谱;
35.步骤2.4,将中文语音数据集的每帧语音信号能量谱通过梅尔尺度的三角形滤波器组,进一步经过离散余弦变换得到干净中文语音的梅尔倒谱系数;
36.所述干净中文语音的梅尔倒谱系数为:
37.cleanmfcc
s,h,k
38.s∈{1,2....,s},h∈{1,2....,h},k∈{1,2....,k
h,s
}
39.其中,cleanmfcc
s,h,k
表示第s个说话用户第h段语音第k帧的梅尔倒谱系数,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
40.作为优选,步骤3具体如下:
41.步骤3.1,随机初始化高斯分量均值向量、方差向量;
42.所述初始化的均值向量的定义为:μ,μ={μ1,...,μ
i
,...,μ
m
};
43.所述初始化的方差向量的定义为:θ,θ={θ1,...,θ
i
,...,θ
m
};
44.其中,m表示混合高斯模型的高斯分量个数,μ
i
表示第i个高斯分量的均值,θ
i
表示第i个高斯分量的方差;
45.步骤3.2,结合均值向量、方差向量构建通用高斯混合背景概率密度模型;
46.通用高斯混合背景概率密度模型如下:
[0047][0048]
其中,λ是高斯混合模型参数集合{λ1,...,λ
i
,...,λ
m
},λ
i
=(w
i
,μ
i
,θ
i
),i∈(1,...,m),w
i
是第i个高斯分量的混合权重分量,g(cleanmfcc
s,h,k

i
,θ
i
)是第i个高斯分量的概率密度函数;
[0049]
步骤3.3,将通用高斯混合背景概率密度模型作为最大期望算法目标优化模型,进一步通过最大期望算法依次迭代计算均值向量和方差向量,直至p(cleanmfcc
s,h,k
|λ)的期望达到最大值,得到优化均值向量即μ*和优化方向量差即θ*;
[0050]
通过μ*、θ*构建优化后的高斯混合模型的概率密度;
[0051]
所述优化后的高斯混合模型的概率密度为:
[0052][0053]
其中,μ*为优化后的均值向量,μ*={μ*1,...,μ*
i
,...,μ*
m
},θ*为优化后的方差向量,θ*={θ*1,...,θ*
i
,...,θ*
m
},μ*
i
表示第i个优化后高斯分量的均值,θ*
i
表示第i个优化后高斯分量的方差;
[0054]
作为优选,步骤4具体如下:
[0055]
步骤4.1,根据干净语音集的梅尔倒谱系数、优化高斯混合背景概率密度模型,计算干净语音数据集的baum

welch统计量;
[0056]
所述干净语音数据集的baum

welch统计量包括:
[0057]
第s个说话用户第h段语音的权值baum

welch统计量、干净语音数据集的均值矢量baum

welch统计量、干净语音数据集的一阶中心baum

welch统计量;
[0058]
所述第s个说话用户第h段语音的权值baum

welch统计量为:
[0059][0060][0061]
μ*={μ*1,

,μ*
i
,...,μ*
m
}
[0062]
θ*={θ*1,...,θ*
i
,...,θ*
m
}
[0063]
w*={w*1,...,w*
i
,...,w*
m
}
[0064]
s∈{1,2....,s},h∈{1,2....,h},k∈{1,2....,k
h,s
}
[0065]
其中,cleanmfcc
s,h,k
表示第s个说话用户第h段语音第k帧的梅尔倒谱系数,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0066]
其中,p*优化后的高斯混合模型的概率密度模型,μ*为优化后的均值向量,θ*为优化后的方差向量,μ*
i
表示第i个优化后高斯分量的均值,θ*
i
表示第i个优化后高斯分量的方差,w*
i
表示优化后第i个高斯分量的混合权重,g(cleanmfcc
s,h,k
|μ*
i
,θ*
i
)是优化后第i个高斯分量的概率密度函数,p(c|cleanmfcc
s,h,k
,p*)表示cleanmfcc
s,h,k
对于第c个高斯分量的状态占有率;
[0067]
其中,n
c
(s,h)表示第s个说话用户第h段语音的梅尔倒谱系数对于第c个高斯分量混合权值对应的baum

welch统计量;
[0068]
所述第s个说话用户第h段语音的均值矢量baum

welch统计量为:
[0069][0070]
其中,f
c
(s,h)表示第s个说话用户第h段语音的梅尔倒谱系数对于第c个高斯分量,均值矢量对应的baum

welch统计量;
[0071]
所述第s个说话用户第h段语音的一阶中心baum

welch统计量为:
[0072][0073]
其中,表示第s个说话用户第h段语音的梅尔倒谱系数对于第c个高斯分量,协方差矩阵对应的baum

welch统计量;
[0074]
步骤4.2,根据干净语音数据集的baum

welch统计量,分别计算每个说话用户每段语音的声纹特征的方差、每个说话用户每段语音的声纹特征的均值;
[0075]
所述每个说话用户每段语音的声纹特征的方差为:
[0076]
l
τ
(s,h)=i τ
t
(θ*)
‑1n
c
(s,h)matrix
[0077]
其中,l
τ
(s,h)表示第s个说话用户第h段语音的声纹特征的方差,i表示单位矩阵;
[0078]
所述每个说话用户每段语音的声纹特征的均值为:
[0079][0080]
其中,表示第s个说话用户第h段语音的声纹特征的均值,matrix表示全局差异空间矩阵,反映不同说话用户之间的差异;
[0081]
步骤4.3,通过期望最大化算法对全局差异空间矩阵进行更新;
[0082]
所述全局差异空间矩阵进行更新的具体公式为:
[0083][0084][0085][0086][0087]
c∈[1,m]
[0088]
其中,matrix为全局差异空间矩阵,反映不同说话用户之间的差异,n
c
表示所有说话用户第c个高斯分量混合权重对应的baum

welch统计量的和,a
c
表示所有说话用户第c个高斯分量混合权重对应的baum

welch统计量与声纹特征方差的乘积,c表示一阶中心baum

welch统计量与声纹特征均值的乘积;
[0089]
步骤4.4,循重复执行步骤4.2、4.3,直到每个说话用户每段语音的声纹特征的期望达到最大值,得到优化后全局差异空间矩阵,优化后全局差异空间矩阵的定义为:matrix*
[0090]
步骤4.5,根据优化后全局差异空间矩阵估计每个说话用户每段语音的声纹特征;
[0091][0092]
s∈{0,1,2....,s},h∈{0,1,2....,h}
[0093]
其中,w
s,h
表示第s个说话用户第h段语音的声纹特征,s为说话用户的数量,h为每个说话用户的音频数量;
[0094]
作为优选,步骤5具体如下:
[0095]
步骤5.1,对带噪语音数据集noisedata
s,h
进行分帧加窗得到带噪语音数据集的多帧语音信号;
[0096]
所述带噪语数据集的多帧语音信号为:
[0097]
noisedatafream
s,h,k
[0098]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0099]
其中,noisedatafream
s,h,k
表示带噪语音数据集第s个说话用户第h段语音的第k帧语音信号,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0100]
步骤5.2,对带噪语音数据集的每帧语音信号即noisedataframe
s,h,k
进行快速傅里叶变换,得到带噪语音数据集的每帧语音信号的频谱特征、带噪语音数据集的每帧语音信号的相位谱;
[0101]
所述频谱特征为:
[0102]
noisemag
s,h,k
[0103]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0104]
其中noisemag
s,h,k
表示带噪语音中说话用户s的第h段语音第k帧语音信号的频谱特征,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0105]
所述相位谱为:
[0106]
noisepha
s,h,k
[0107]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0108]
其中noisepha
s,h,k
表示带噪语音中说话用户s的第h段语音第k帧语音信号的相位谱,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0109]
作为优选,步骤6所述带噪语音中说话用户的相关频谱特征为:
[0110]
speaker_mag
s,h,k
={noisemag
s,h,k
,w
s,h
}
[0111]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0112]
其中,speaker_mag
s,h,k
表示带噪语音中第s个说话用户第h段语音第k帧语音信号的相关谱特征,w
s,h
表示第s个说话用户第h段语音的声纹特征,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0113]
作为优选,步骤7所述增强网络模型由编码器、解码器级联构成;
[0114]
所述编码器,由x层编码卷积模块依次级联构成;
[0115]
所述第1层编码卷积模块至第x

1层编码卷积模块均由卷积层、leakyrelu函数激活层、maxpooling池化层依次级联构成
[0116]
所述第x层编码卷积模块由卷积层、tanh函数激活层和maxpooling池化层依次级联构成;
[0117]
所述解码器,由y层解码卷积模块依次级联构成;
[0118]
所述第1层解码卷积模块至第y

1层解码卷积模块均由卷积层、leakyrelu函数激活层和maxpooling池化层依次级联构成
[0119]
所述第y层解码卷积模块由卷积层、tanh函数激活层和maxpooling池化层依次级联构成
[0120]
步骤7所述干净语音的频谱定义为:
[0121]
干净语音的频谱由干净中文语音数据集即cleandata
s,h
进过傅里叶变换得到:
[0122]
cleanmag
s,h,k
[0123]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0124]
其中,cleanmag
s,h,k
表示干净语音数据集中说话用户s的第h段语音第k帧语音信号的频谱特征,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0125]
步骤7所述增强神经网络的损失函数为:
[0126][0127]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0128]
其中,loss
mse
表示神经网络损失函数,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0129]
步骤7所述优化训练得到优化后增强神经网络为:
[0130]
通过adam算法控制学习率的变化,再由学习率控制卷积层中待估参数的优化,最终使得loss
mse
达到预期值或最小值,得到优化后增强神经网络;
[0131]
作为优选,步骤8所述特征提取包括如下步骤:
[0132]
首先带噪语音数据集中带噪语音经过傅里叶变换得到带噪语音的频谱;然后通过步骤4提取干净语音的声纹特征;最后将带噪语音的频谱和干净语音的声纹特征进行拼接得到说话用户相关的频谱。
[0133]
与现有语音增强技术相比,本发明具有以下优点和有益效果:将用户语音的声纹特征进行嵌入,提升低信噪比条件下语音增强系统的性能,改善智能语音设备在嘈杂环境下的性能表现。
附图说明
[0134]
图1:为本发明方法流图;
[0135]
图2:为本发明中cnn语音增强网络结构图。
具体实施方式
[0136]
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
[0137]
下面结合图1以及图2介绍本发明的具体实施方式为一种基于声纹嵌入的低信噪比条件下的语音增强方法,具体如下:
[0138]
步骤1:将干净中文语音数据集、中文语音噪声数据集通过sox混合干净语音和随机噪声,得到带噪语音数据集;
[0139]
本实例干净中文语音数据集选取aishell干净语音数据集和中文语音噪声数据集选取musan噪声数据集进行训练与测试。
[0140]
步骤1所述干净中文语音数据集为:
[0141]
cleandata
s,h
[0142]
s∈{1,2....,s},h∈{1,2...
·
,h}
[0143]
其中,cleandata
s,h
表示第s个说话用户第h段语音,s=400为说话用户的数量,h=360为每个说话用户的音频数量;
[0144]
步骤1所述带噪语音数据集为:
[0145]
noisedata
s,h
[0146]
s∈{1,2....,s},h∈{1,2....,h}
[0147]
其中,noisedata
s,h
表示第s个说话用户第h段带噪语音,s=400为说话用户的数量,h=360为每个说话用户的音频数量;
[0148]
步骤2:提取中文语音数据集的梅尔倒谱系数;
[0149]
实施步骤2具体如下:
[0150]
步骤2.1,将步骤1中的干净中文语音数据集通过高通滤波器滤波,得到预加重之后的干净语音信号;
[0151]
步骤2.2,对经过预加重之后的干净语音信号进行分帧加窗得到中文语音数据集的多帧语音信号;
[0152]
所述中文语音数据集的多帧语音信号为:
[0153]
cleandataframe
s,h,k
[0154]
s∈{1,2....,s},h∈{1,2....,h},k∈{1,2....,k
h,s
}
[0155]
其中,cleandataframe
s,h
表示干净语音数据集第s个说话用户第h段语音的第k帧语音信号,s=400为说话用户的数量,h=360为每个说话用户的音频数量;,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0156]
所述分帧加窗的窗口尺寸设为20ms,窗口重叠率为50%,若语音信号采样率为16k,则步长为160;
[0157]
步骤2.3,对中文语音数据集的每帧语音信号即cleandataframe
s,h,k
进行快速傅里叶变换,得到中文语音数据集的每帧语音信号的频谱、中文语音数据集的每帧语音信号能量谱;
[0158]
步骤2.4,将中文语音数据集的每帧语音信号能量谱通过梅尔尺度的三角形滤波器组,进一步经过离散余弦变换得到干净中文语音的梅尔倒谱系数;
[0159]
所述干净中文语音的梅尔倒谱系数为:
[0160]
cleanmfcc
s,h,k
[0161]
s∈{1,2....,s},h∈{1,2....,h},k∈{1,2....,k
h,s
}
[0162]
其中,cleanmfcc
s,h,k
表示第s个说话用户第h段语音第k帧的梅尔倒谱系数,s=400为说话用户的数量,h=360为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0163]
步骤3:构建优化通用高斯混合背景模型;
[0164]
步骤3.1,随机初始化高斯分量均值向量、方差向量;
[0165]
所述初始化的均值向量的定义为:μ,μ={μ1,...,μ
i
,...,μ
m
};
[0166]
所述初始化的方差向量的定义为:θ,θ={θ1,...,θ
i
,...,θ
m
};
[0167]
其中,m=1024表示混合高斯模型的高斯分量个数,μ
i
表示第i个高斯分量的均值,
θ
i
表示第i个高斯分量的方差;
[0168]
步骤3.2,结合均值向量、方差向量构建通用高斯混合背景概率密度模型;
[0169]
通用高斯混合背景概率密度模型如下:
[0170][0171]
其中,λ是高斯混合模型参数集合{λ1,...,λ
i
,...,λ
m
},λ
i
=(w
i
,μ
i
,θ
i
),i∈(1,...,m),w
i
是第i个高斯分量的混合权重分量,g(cleanmfcc
s,h,k

i
,θ
i
)是第i个高斯分量的概率密度函数;
[0172]
步骤3.3,将通用高斯混合背景概率密度模型作为最大期望算法目标优化模型,进一步通过最大期望算法依次迭代计算均值向量和方差向量,直至p(cleanmfcc
s,h,k
|λ)的期望达到最大值,得到优化均值向量即μ*和优化方向量差即θ*;
[0173]
通过μ*、θ*构建优化后的高斯混合模型的概率密度;
[0174]
所述优化后的高斯混合模型的概率密度为:
[0175][0176]
其中,μ*为优化后的均值向量,μ*={μ*1,...,μ*
i
,...,μ*
m
},θ*为优化后的方差向量,θ*={θ*1,...,θ*
i
,...,θ*
m
},μ*
i
表示第i个优化后高斯分量的均值,θ*
i
表示第i个优化后高斯分量的方差;
[0177]
步骤4:根据干净中文语音的梅尔倒谱系数、优化高斯混合背景概率密度模型,提取干净中文语音数据集的声纹特征。
[0178]
步骤4.1,根据干净语音集的梅尔倒谱系数、优化高斯混合背景概率密度模型,计算干净语音数据集的baum

welch统计量;
[0179]
所述干净语音数据集的baum

welch统计量包括:
[0180]
第s个说话用户第h段语音的权值baum

welch统计量、干净语音数据集的均值矢量baum

welch统计量、干净语音数据集的一阶中心baum

welch统计量;
[0181]
所述第s个说话用户第h段语音的权值baum

welch统计量为:
[0182][0183][0184]
μ*={μ*1,...,μ*
i
,...,μ*
m
}
[0185]
θ*={θ*1,...,θ*
i
,...,θ*
m
}
[0186]
w*={w*1,...,w*
i
,...,w*
m
}
[0187]
s∈{1,2....,s},h∈{1,2....,h},k∈{1,2....,k
h,s
}
[0188]
其中,cleanmfcc
s,h,k
表示第s个说话用户第h段语音第k帧的梅尔倒谱系数,s=400为说话用户的数量,h=360为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0189]
其中,p*优化后的高斯混合模型的概率密度模型,μ*为优化后的均值向量,θ*为优
化后的方差向量,μ*
i
表示第i个优化后高斯分量的均值,θ*
i
表示第i个优化后高斯分量的方差,w*
i
表示优化后第i个高斯分量的混合权重,g(cleanmfcc
s,h,k
|μ*
i
,θ*
i
)是优化后第i个高斯分量的概率密度函数,p(c|cleanmfcc
s,h,k
,p*)表示cleanmfcc
s,h,k
对于第c个高斯分量的状态占有率;
[0190]
其中,n
c
(s,h)表示第s个说话用户第h段语音的梅尔倒谱系数对于第c个高斯分量混合权值对应的baum

welch统计量;
[0191]
所述第s个说话用户第h段语音的均值矢量baum

welch统计量为:
[0192][0193]
其中,f
c
(s,h)表示第s个说话用户第h段语音的梅尔倒谱系数对于第c个高斯分量,均值矢量对应的baum

welch统计量;
[0194]
所述第s个说话用户第h段语音的一阶中心baum

welch统计量为:
[0195][0196]
其中,表示第s个说话用户第h段语音的梅尔倒谱系数对于第c个高斯分量,协方差矩阵对应的baum

welch统计量;
[0197]
步骤4.2,根据干净语音数据集的baum

welch统计量,分别计算每个说话用户每段语音的声纹特征的方差、每个说话用户每段语音的声纹特征的均值;
[0198]
所述每个说话用户每段语音的声纹特征的方差为:
[0199]
l
τ
(s,h)=i τ
t
(θ*)
‑1n
c
(s,h)matrix
[0200]
其中,l
τ
(s,h)表示第s个说话用户第h段语音的声纹特征的方差,i表示单位矩阵;
[0201]
所述每个说话用户每段语音的声纹特征的均值为:
[0202][0203]
其中,表示第s个说话用户第h段语音的声纹特征的均值,matrix表示全局差异空间矩阵,反映不同说话用户之间的差异;
[0204]
步骤4.3,通过期望最大化算法对全局差异空间矩阵进行更新;
[0205]
所述全局差异空间矩阵进行更新的具体公式为:
[0206][0207][0208]
[0209][0210]
c∈[1,m]
[0211]
其中,matrix为全局差异空间矩阵,反映不同说话用户之间的差异,n
c
表示所有说话用户第c个高斯分量混合权重对应的baum

welch统计量的和,a
c
表示所有说话用户第c个高斯分量混合权重对应的baum

welch统计量与声纹特征方差的乘积,c表示一阶中心baum

welch统计量与声纹特征均值的乘积;
[0212]
步骤4.4,循重复执行步骤4.2、4.3,直到每个说话用户每段语音的声纹特征的期望达到最大值,得到优化后全局差异空间矩阵,优化后全局差异空间矩阵的定义为:matrix*
[0213]
步骤4.5,根据优化后全局差异空间矩阵估计每个说话用户每段语音的声纹特征;
[0214][0215]
s∈{0,1,2....,s},h∈{0,1,2....,h}
[0216]
其中,w
s,h
表示第s个说话用户第h段语音的声纹特征,s=400为说话用户的数量,h=360为每个说话用户的音频数量;
[0217]
步骤5:提取带噪语音数据集的幅度谱和相位谱;
[0218]
进一步的,提取带噪语音幅度谱信息的具体实施方案如下:
[0219]
步骤5.1,对带噪语音数据集noisedata
s,h
进行分帧加窗得到带噪语音数据集的多帧语音信号。
[0220]
所述分帧加窗处理的窗口尺寸设为20ms,窗口重叠率为50%,若语音信号采样率为16k,则步长为160。
[0221]
所述带噪语数据集的多帧语音信号为:
[0222]
noisedatafream
s,h,k
[0223]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0224]
其中,noisedatafream
s,h,k
表示带噪语音数据集第s个说话用户第h段语音的第k帧语音信号,s=400为说话用户的数量,h=360为每个说话用户的音频数量,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0225]
步骤5.2,对带噪语音数据集的每帧语音信号即noisedataframe
s,h,k
进行快速傅里叶变换,得到带噪语音数据集的每帧语音信号的频谱特征、带噪语音数据集的每帧语音信号的相位谱;
[0226]
所述频谱特征为:
[0227]
noisemag
s,h,k
[0228]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0229]
其中noisemag
s,h,k
表示带噪语音中说话用户s的第h段语音第k帧语音信号的频谱特征,s=400为说话用户的数量,h=360为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0230]
所述相位谱为:
[0231]
noisepha
s,h,k
[0232]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0233]
其中noisepha
s,h,k
表示带噪语音中说话用户s的第h段语音第k帧语音信号的相位谱,s=400为说话用户的数量,h=360为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0234]
步骤6:将干净语音数据集的声纹特征与带噪语音数据集的频谱特征通过拼接生成带噪语音中说话用户的相关频谱特征;
[0235]
步骤6所述带噪语音中说话用户的相关频谱特征为:
[0236]
speaker_mag
s,h,k
={noisemag
s,h,k
,w
s,h
}
[0237]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0238]
其中,speaker_mag
s,h,k
表示带噪语音中第s个说话用户第h段语音第k帧语音信号的相关谱特征,w
s,h
表示第s个说话用户第h段语音的声纹特征,s为说话用户的数量,h为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0239]
步骤7:构建增强神经网络,将第s个说话用户第h段语音第k帧语音信号的相关谱特征输入至增强神经网络,通过增强神经网络预测得到增强后的第s个说话用户第h段语音第k帧语音信号,以干净语音集的频谱作为标签构建增强神经网络的损失函数,通过adam优化算法进一步优化训练得到优化后增强神经网络;
[0240]
步骤7所述增强网络模型由编码器、解码器级联构成;
[0241]
所述编码器,由x层编码卷积模块依次级联构成;
[0242]
所述第1层编码卷积模块至第x

1层编码卷积模块均由卷积层、leakyrelu函数激活层、maxpooling池化层依次级联构成
[0243]
所述第x层编码卷积模块由卷积层、tanh函数激活层和maxpooling池化层依次级联构成;
[0244]
所述解码器,由y层解码卷积模块依次级联构成;
[0245]
所述第1层解码卷积模块至第y

1层解码卷积模块均由卷积层、leakyrelu函数激活层和maxpooling池化层依次级联构成
[0246]
所述第y层解码卷积模块由卷积层、tanh函数激活层和maxpooling池化层依次级联构成
[0247]
步骤7所述干净语音的频谱定义为:
[0248]
干净语音的频谱由干净中文语音数据集即cleandata
s,h
进过傅里叶变换得到:
[0249]
cleanmag
s,h,k
[0250]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0251]
其中,cleanmag
s,h,k
表示干净语音数据集中说话用户s的第h段语音第k帧语音信号的频谱特征,s=400为说话用户的数量,h=360为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0252]
步骤7所述增强神经网络的损失函数为:
[0253]
[0254]
s∈{0,1,2....,s},h∈{0,1,2....,h},k∈{0,1,2....,k
h,s
}
[0255]
其中,loss
mse
表示神经网络损失函数,s=400为说话用户的数量,h=360为每个说话用户的音频数量,k表示每段语音的语音帧数,k
h,s
表示干净语音数据集第s个说话用户第h段语音的语音信号帧数;
[0256]
步骤7所述优化训练得到优化后增强神经网络为:
[0257]
通过adam算法控制学习率的变化,再由学习率控制卷积层中待估参数的优化,最终使得loss
mse
达到预期值或最小值,得到优化后增强神经网络;
[0258]
步骤8:将带噪语音数据集中带噪语音经过特征提取之后得到带噪语音的说话用户相关频谱特征,将带噪语音的说话用户相关频谱特征输入到优化后的增强神经网络中得到增强后说话用户相关频谱;将增强后的说话用户相关频谱和步骤5中的相位谱通过傅里叶反变换,进一步进行波形重构得到增强之后的待检测用户语音。
[0259]
步骤8所述特征提取包括如下步骤:
[0260]
首先带噪语音数据集中带噪语音经过傅里叶变换得到带噪语音的频谱;然后通过步骤4提取干净语音的声纹特征;最后将带噪语音的频谱和干净语音的声纹特征进行拼接得到说话用户相关的频谱。
[0261]
如图1所示,本实施例基于cnn语音增强网络模型,和现有算法的结果进行比较,具体包括以下步骤:
[0262]
步骤(1),数据仿真。下载干净语音数据集aishell作为干净语音数据集,musan作为噪声集;利用kaldi工具wav

reverberate进行噪声语音数据的仿真用于语音增强网络的训练;
[0263]
步骤(2),提取干净语音的声纹特征i

vector;
[0264]
步骤(3),提取带噪语音的语音幅度谱和相位谱;
[0265]
步骤(4),将干净语音的声纹特征嵌入到对应带噪语音的幅度谱特征中得到说话用户相关的频谱特征;
[0266]
步骤(5),搭建预训练的cnn语音增强网络,如图2所示;
[0267]
步骤(6),网络训练。将步骤(4)中得到的融合特征输入到步骤(5)搭建的预训练模型中,训练语音增强网络。
[0268]
步骤(7),波形重构。结合步骤(6)中经过模型增强的频谱特征和步骤(3)中的相位谱波形重构得到增强之后的语音。
[0269]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
[0270]
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜