1.本发明涉及强化人体感知特性的分频神经网络汉语
语音编码方法,属于计算机与信息科学技术领域。
背景技术:
2.随着计算机网络技术的高速发展,语音数据传输量以指数形式快速增长,使得信道容量愈发紧张,传统的语音编码技术已无法满足自动化且高质量的编码要求。基于神经网络的语音编码方法通过神经网络对语音
信号自动进行
特征提取,从而减少人工特征设计,在降低编码复杂度、提高编码效率方面具有重要意义,现有基于神经网络的语音编码方法主要采用的网络结构有cnn和rnn。
3.1.基于cnn的方法
4.基于cnn的语音编码方法一般先将原始语音信号转换为
频谱图、语谱图或梅尔频谱,其中频谱图可以呈现信号频率的简单分布情况,语谱图反映了语音信号的能量分布特点,梅尔频谱则体现人体对低频信号变化敏感而对高频信号变化不敏感的非线性感知特性,然后通过卷积神经网络进行编码压缩和解码重建。重建的语音质量较好,但模型复杂度较高,语音预处理方法单一,未考虑不同语言的频率分布差异,忽略了语音信号的时序关系。
5.2.基于rnn的方法
6.基于rnn的语音编码方法一般直接对原始语音信号进行编码,通过捕获原始语音信号长时间跨度内的序列关系进行语音的预测生成。模型复杂度较低,但生成语音较慢,容易引入噪声,且忽略了语音的频域信息,在较低编码率下的语音编码质量不高。
7.综上,现有基于神经网络的语音编码方法的主要问题有:1.语音预处理方法单一,未充分考虑人体对频率变化的感知特性;2.未考虑特定语言的频率分布特点;3.较低编码率下语音重建质量较差。针对上述问题,本发明提出一种强化人体感知特性的分频神经网络汉语语音编码方法,充分考虑汉语语音的频率分布特点和人体感知差异,在较低编码率条件下,提高语音的编码质量。
技术实现要素:
8.本发明的目的是针对基于神经网络的语音编码方法未考虑特定语言语音信号的频率分布特点和人体感知差异以及在较低编码率下重建语音质量较差的问题,提出一种强化人体感知特性的分频神经网络汉语语音编码方法。
9.本发明的设计原理为:首先,对原始语音信号进行数据预处理,根据汉语语音的频率集中分布于6000hz以下以及人体对频率变化的非线性感知特点,以6000hz为界将语音信号分为低频段和高频段,分别转化为语谱图和梅尔频谱并进行拼接形成联合频谱图;然后融合残差网络和vq-vae-2架构构建语音编解码模型,使用编码器提取语谱图的能量分布特征和梅尔频谱的频率分布特征,并进行矢量量化得到压缩编码向量,再使用解码器对联合
频谱图进行重建;最后,采用基于截断牛顿(tnc)算法的梯度更新方法重建语音信号。本发明的技术方案是通过如下步骤实现的:
10.步骤1,对原始语音信号进行数据预处理。
11.步骤1.1,将原始语音信号修剪为特定长度的语音块,使用滤波器将语音信号以6000hz为界分割为低频段和高频段。
12.步骤1.2,将低频段和高频段信号分别转化为语谱图和梅尔频谱,并进行拼接形成联合频谱图。
13.步骤2,通过融合残差网络和vq-vae-2架构的语音编解码模型对联合频谱图进行编解码。
14.步骤2.1,通过残差网络编码器对联合频谱图进行局部特征(如频谱图的边缘特征)提取,包括语谱图部分的能量分布局部特征和梅尔频谱部分的频率分布局部特征,得到联合局部特征图。
15.步骤2.2,对联合局部特征图进行全局特征(如频谱图的纹理、颜分布特征)提取,得到联合全局特征图。
16.步骤2.3,分别对联合全局特征图和联合局部特征图进行矢量量化,得到压缩编码向量,然后对量化后的联合全局特征图与联合局部特征图进行特征组合,形成联合量化特征图。
17.步骤2.4,通过残差网络解码器对联合量化特征图进行解码,得到重建的联合频谱图。
18.步骤3,使用基于tnc算法的梯度更新方法重建语音信号。
19.步骤3.1,随机初始化重建语音信号。
20.步骤3.2,采用步骤1的方法对重建语音信号进行预处理,得到联合频谱图,与步骤2中解码器重建的联合频谱图计算残差平方和,然后使用tnc算法更新重建语音信号。
21.步骤3.3,重复步骤3.2,直至满足输出条件。
22.有益效果
23.相比于cnn方法,本发明充分考虑了汉语语音的频率分布特点和人体感知频率变化的非线性特点,对原始语音信号进行高低频分离并采用不同的预处理方法,同时对语音信号特征进行矢量量化压缩,降低了编码比特率。
24.相比于rnn方法,本发明使用残差网络构建编解码器,同时对语音信号采用分层特征提取方法,一方面可以防止网络退化,另一方面可以充分保留语音信号频谱图的全局和局部特征信息,提高了编码质量。
附图说明
25.图1为本发明强化人体感知特性的分频神经网络汉语语音编码方法原理图。
26.图2为融合残差网络和vq-vae-2的语音编解码模型架构图。
27.图3为基于tnc算法的梯度更新方法流程图。
具体实施方式
28.为了更好地说明本发明的目的和优点,下面结合实例对本发明方法的实施方式做
进一步详细说明。
29.实验数据来自thchs-30数据集,包含男女声语音共10000条文件,部分含有背景噪音。将训练集和测试集按4:1的比例切分。实验数据具体参数见表1。
30.表1.强化人体感知特性的分频神经网络汉语语音编码实验数据具体参数
[0031][0032]
实验采用pesq和visqol两种评分来衡量语音编码质量,其中pesq评分范围为-0.5到4.5,visqol评分范围为1.0至5.0。
[0033]
本次实验在一台计算机和一台服务器上进行,计算机的具体配置为:intel(r)xeon(r)silver 4210r cpu@2.40ghz,内存8g,操作系统是windows 10,64位;服务器的具体配置为:nvidia quadro rtx 600024gb,操作系统是linux ubuntu 64位。
[0034]
本次实验的具体流程为:
[0035]
步骤1,对原始语音信号进行数据预处理。
[0036]
步骤1.1,将原始语音信号修剪为时长t=4.152s的语音块,使用滤波器以6000hz为界将语音信号分割为低频段和高频段。
[0037]
步骤1.2,将低频段和高频段信号分别转化为语谱图(512
×
384,横轴代表时间,纵轴代表频率)和梅尔频谱(512
×
128,横轴代表时间,纵轴代表频率),梅尔频率m与频率f的对应关系如下:
[0038][0039]
将语谱图和梅尔频谱的按频率轴(纵轴)进行拼接,得到大小为512
×
512的联合频谱图。
[0040]
步骤2,通过融合残差网络和vq-vae-2架构的语音编解码模型对联合频谱图进行编解码。
[0041]
步骤2.1,通过残差网络编码器对联合频谱图进行局部特征提取,充分保留低频段语谱图的能量分布和高频段梅尔频谱频率分布的边缘、角点等局部特征,得到大小为64
×
64的联合局部特征图。
[0042]
步骤2.2,将联合局部特征图通过卷积神经网络进行全局特征提取,得到大小为32
×
32的联合全局特征图。
[0043]
步骤2.3,分别对联合全局特征图和联合局部特征图进行矢量量化。首先将全局和局部特征向量通过最近邻方法到对应量化器码本中的编码嵌入向量并替换,得到压缩编码向量表示,具体计算方法为:
[0044]
q(ze(x))=ek,for k=argmin||ze(x)-ei||2[0045]
其中q(
·
)为量化操作,ze(x)表示特征向量,,ei、ek表示特征向量对应量化器码本中第i、k个编码嵌入向量,argmin为检索最小值索引函数,||
·
||2为计算欧氏距离。
[0046]
将量化后的联合全局特征通过逆卷积网络进行维度调整,使其与联合局部特征维度一致,然后将二者进行组合,形成联合量化特征图。
[0047]
步骤2.4,通过残差网络解码器对联合量化特征图进行解码,得到重建的联合频谱
图。
[0048]
在训练阶段,语音编解码器的损失函数l包含三部分,计算公式如下:
[0049]
l=r
loss
+vq
loss
+γc
loss
[0050]
第一项为r
loss
,计算公式为r
loss
=lgp(x|zd(x)),其中x代表编码器的输入,zd(x)表示量化后解码器的输入,p(x|zd(x))代表给定zd(x)的条件下解码器重建x的概率。r
loss
用于训练编码器和解码器,使编解码器能够很好地进行信息重建。
[0051]
第二项为vq
loss
,计算公式为,计算公式为其中代表计算最小平方误差,sg为stop gradient操作,即只更新量化器码本,而不会影响编码器,z
be
(x)、z
te
(x)分别表示联合局部特征向量和联合全局特征向量,e
bk
、e
tk
分别表示联合局部特征和联合全局特征量化器码本中的编码嵌入向量,α为权重系数。vq
loss
用于训练量化器码本,使码本中的嵌入向量尽可能逼近z
be
(x)和z
te
(x)。
[0052]
第三项为γc
loss
,γ为权重系数,c
loss
计算公式为计算公式为c
loss
中的相同字母项含义与vq
loss
相同,β为权重系数。c
loss
用于训练编码器,使编码器的输出和码本尽量保持一致,避免编码器的输出变动较大。
[0053]
步骤3,使用基于tnc算法的梯度更新方法重建语音信号。
[0054]
步骤3.1,随机初始化重建语音信号c。
[0055]
步骤3.2,使用滤波器以6000hz为界将重建语音信号分割为高频段和低频段,然后分别转化为梅尔频谱和语谱图并进行拼接形成联合频谱图sc,与解码器重建的频谱图s0计算残差平方和ssec,计算方式如下:
[0056]
ssec=||s
0-sc||2[0057]
判断是否满足输出条件,若不满足则使用tnc算法更新重建语音信号,否则输出重建语音信号,输出条件如下:
[0058]
ssec<r
[0059]
其中r为输出阈值。
[0060]
步骤3.3,重复步骤3.2,直至满足输出条件。
[0061]
测试结果:实验基于强化人体感知特性的分频神经网络汉语语音编码方法,对thchs-30汉语语料进行了语音编解码,本发明对原始汉语语音的重建效果良好,编码率达到10kbps以下,pesq评分和visqol评分分别达到2.8和3.2以上,在较低编码率条件下,提高了汉语语音信号的编码质量。
[0062]
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.强化人体感知特性的分频神经网络汉语语音编码方法,其特征在于所述方法包括如下步骤:步骤1,对原始语音信号进行预处理,包括:将原始汉语语音信号修剪为特定长度的语音块,然后根据汉语语音的频率分布特点和人体感知频率变化的非线性特点对语音信号进行高低频分割,最后将低频段和高频段语音信号分别转换为语谱图和梅尔频谱并进行拼接得到联合频谱图;步骤2,通过融合残差网络和vq-vae-2架构的语音编解码模型对频谱图进行编解码,包括:对步骤1得到的联合频谱图进行局部和全局特征提取,包括语谱图的能量分布特征和梅尔频谱的频率分布特征,然后分别对局部和全局特征进行矢量量化,得到压缩编码向量,最后对联合频谱图进行重建;步骤3,对步骤2中得到的重建联合频谱图采用基于tnc算法的梯度更新方法重建语音信号,包括:初始化重建语音信号并进行预处理,然后计算预处理得到的联合频谱图与步骤2中重建的联合频谱图的残差平方和,并采用tnc算法更新重建语音信号,最后循环进行迭代更新,直至满足输出条件。2.根据权利要求1所述的强化人体感知特性的分频神经网络汉语语音编码方法,其特征在于:步骤1中根据汉语语音的频率分布集中于6000hz以下的特点,使用滤波器将语音信号以6000hz为界分割为低频段和高频段,根据人体对低频信号变化敏感而对高频信号变化不敏感的非线性感知特性,将低频段信号转化为可以体现语音信号能量分布的语谱图,而将高频段信号转化为契合人体感知特性的梅尔频谱。3.根据权利要求1所述的强化人体感知特性的分频神经网络汉语语音编码方法,其特征在于:步骤2中,首先对联合频谱图通过编码器提取局部特征,得到联合局部特征,然后使用卷积网络对联合局部特征进行全局特征提取,得到联合全局特征,使用矢量量化器分别对联合局部特征和联合全局特征进行量化,最后通过逆卷积网络调整量化的联合全局特征的维度与量化的联合局部特征一致并进行组合,使用解码器对联合频谱图进行重建。4.根据权利要求1所述的强化人体感知特性的分频神经网络汉语语音编码方法,其特征在于:步骤3中,使用步骤1中的预处理方法将随机初始化的重建语音信号进行预处理,得到相应的联合频谱图,计算与步骤2中重建的联合频谱图的残差平方和并判断是否小于输出阈值,若不小于则使用tnc算法更新重建语音信号,重复进行预处理和残差平方和计算以及输出判定,否则输出重建语音信号。
技术总结
本发明涉及强化人体感知特性的分频神经网络汉语语音编码方法,属于计算机与信息科学技术领域。本发明首先根据人体对频率变化感知的非线性特点将汉语语音低频段转化为语谱图、高频段转化为梅尔频谱;然后融合残差网络和VQ-VAE-2架构构建语音编解码模型,使用编码器提取语谱图的能量分布特征和梅尔频谱的频率分布特征,并进行矢量量化得到压缩编码向量;最后,使用解码器重建频谱图并采用基于截断牛顿算法的梯度更新方法重建语音信号。本发明在较低编码率条件下,充分考虑人体对汉语语音不同频段的感知差异,有效提升了重建语音信号的质量。质量。质量。
技术研发人员:
罗森林 杨晓楠 潘丽敏 万韵伟 周瑾洁
受保护的技术使用者:
北京理工大学
技术研发日:
2022.10.27
技术公布日:
2023/3/7