一种基于深度神经网络的语音质量客观评价方法转让专利

申请号 : CN201811154469.5

文献号 : CN109065072B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李国腾彭任华郑成诗李晓东

申请人 : 中国科学院声学研究所

摘要 :

本发明公开了一种基于深度神经网络的语音质量客观评价方法,包括:步骤1)以带噪语音的三种语音特征生成的数据作为深度神经网络的输入,以实际目标语音的PESQ得分为深度神经网络输出目标,构建及训练深度神经网络;步骤2)将待评价语音的q帧语音特征向量作为输入数据输入训练好的深度神经网络,输出该待评价语音的质量评价分数。本发明能够实现在仅存在有目标语音信号的条件下,对目标语音质量做出客观评价,对目标语音的客观评价与实际PESQ算法做出的评价具有较高相关度;本发明适用于变速语音的情况,不会因语音语速的改变而导致语音质量无法进行客观评测,评价结果较准确;本发明可直接评价语音质量,不需要纯净参考信号的存在。

权利要求 :

1.一种基于深度神经网络的语音质量客观评价方法,包括:

步骤1)以带噪语音的三种语音特征生成的数据作为深度神经网络的输入,以实际目标语音的PESQ得分所在区间编号编码为深度神经网络输出目标,构建及训练深度神经网络;

步骤2)将待评价语音的q帧语音特征向量作为输入数据输入训练好的深度神经网络,输出该待评价语音的质量评价分数;

所述步骤2)包括:

步骤2-1)提取待评价语音的q帧语音特征向量,进行扩展后依次取q个连续j帧特征向量拼接的k维数据,q,j,k为自然数;其中,语音特征向量包括三种语音特征及三种语音特征的一阶差分;所述三种语音特征包括:短时幅度调制谱、相关谱-感知加权线性预测和梅尔倒谱系数;

步骤2-2)将所述的q个k维数据依次输入深度神经网络,输出每帧语音特征向量对应的得分区间编号编码,并映射成得分区间编号对应的实际得分,得到q个实际得分;所述PESQ得分的取值范围为[-0.5,4.5],将该取值范围平均划分为K个得分区间,区间编号分别为1,

2,3,…K,对应深度神经网络输出的K维向量,K为自然数,该向量仅包含有一个非零元且数值为1;目标的得分区间编号对应深度神经网络输出向量非零元的位置;

步骤2-3)将q个实际得分相加,再取平均值作为该段语音的预测分数。

2.根据权利要求1所述的基于深度神经网络的语音质量客观评价方法,其特征在于,所述步骤1)包括:步骤1-1)构建深度神经网络;

步骤1-2)将不同的纯语音和环境噪声混合生成不同信噪比的带噪语音;

步骤1-3)提取一段带噪语音的q帧语音特征向量,进行扩展后依次取q个连续j帧特征向量拼接的k维数据作为深度神经网络的输入数据,q,j,k为自然数;

以所述输入数据的PESQ得分所在区间的量化编码作为深度神经网络的输出;

步骤1-4)对所述深度神经网络进行训练,得到训练好的深度神经网络。

3.根据权利要求2所述的基于深度神经网络的语音质量客观评价方法,其特征在于,所述步骤1-1)包括:步骤1-1-1)构建深度神经网络,包括1个输入层,3个隐藏层和1个输出层,输入层包括k个节点,每个隐含层包括1024个节点,输出层包括K个节点;

步骤1-1-2)构建隐藏层节点的输出函数为Sigmoid函数,形式如下:其中,θ代表隐藏层参数设置,x代表隐层输入,hθ(x)则为其中某一个节点的输出,深度神经网络输出层采用Softmax函数,函数形式如下所示:其中,z代表输出层的输入数据,Θ则为输出层参数设置,K代表输出层节点数,与输出类别对应,θi代表与第i个节点对应的参数设置,T为转置;

其输出层的输出值P代表输入数据属于该类别的概率。

4.根据权利要求3所述的基于深度神经网络的语音质量客观评价方法,其特征在于,所述步骤1-2)包括:步骤1-2-1)取信噪比范围为-40dB-40dB的各种环境噪声样本,平均划分为w个信噪比,w为自然数;

步骤1-2-2)在同一个信噪比下,对每一句纯净语音,随机抽取环境噪声样本,进行混合,生成带噪语音;生成w个不同信噪比下的带噪语音。

5.根据权利要求4所述的基于深度神经网络的语音质量客观评价方法,其特征在于,所述步骤1-3)包括:步骤1-3-1)从一段带噪语音中提取三种语音特征,包括短时幅度调制谱、相关谱-感知加权线性预测和梅尔倒谱系数互补特征集,添加一阶差分,构成一帧信号的特征向量;生成连续q帧语音特征向量;

步骤1-3-2)将所述的q帧语音特征向量的第一帧数据复制p次,作为所述的q帧语音特征向量的前p帧数据,所述前p帧数据编号依次为-p+1,-p+2,…0,将所述的q帧语音特征向量的最后一帧数据同样重复p次,置于所述q帧语音特征向量最后,作为所述q帧语音特征向量的后p帧数据,所述后p帧数据编号依次为q+1,q+2,…q+p,其中p满足:2p+1=j;所述的q帧语音特征向量扩展成q+2p帧语音特征向量,重新从0开始排序,为F(i),0≤i≤q+2p-1;

步骤1-3-3)将所述q+2p帧语音特征向量中第m个连续j帧语音特征向量拼接成k维的数据,共q个k维数据,作为所述深度神经网络的输入数据m=p,…q+p-1;k为自然数;

步骤1-3-4)所述输入数据 m=p,…q+p-1的PESQ得分的取值范围为[-0.5,4.5],将所述得分取值范围平均划分为K个得分区间,对应深度神经网络输出的K维向量,K为自然数,所述向量仅包含有一个非零元;

步骤1-3-5)对K个得分区间进行得分区间编号,区间编号分别为1,2,3,…K;目标的得分区间编号对应深度神经网络输出向量非零元的位置。

6.根据权利要求1所述的基于深度神经网络的语音质量客观评价方法,其特征在于,所述步骤2-1)包括:步骤2-1-1)从待评价语音中提取三种语音特征,包括短时幅度调制谱、相关谱-感知加权线性预测和梅尔倒谱系数互补特征集,添加一阶差分,构成一帧信号的特征向量;生成连续q帧语音特征向量;

步骤2-1-2)将所述的q帧语音特征向量的第一帧数据复制p次,作为所述的q帧语音特征向量的前p帧数据,所述前p帧数据编号依次为-p+1,-p+2,…0,将所述的q帧语音特征向量的最后一帧数据同样重复p次,置于所述q帧语音特征向量最后,作为所述q帧语音特征向量的后p帧数据,所述后p帧数据编号依次为q+1,q+2,…q+p,其中p满足:2p+1=j;所述的q帧语音特征向量扩展成q+2p帧语音特征向量,重新从0开始排序,为F(i),0≤i≤q+2p-1;

步骤2-1-3)将所述q+2p帧语音特征向量中第m个连续j帧语音特征向量拼接成k维的数据,共q个k维的输入数据,作为所述深度神经网络的输入数据m=p,…q+p-1;k为自然数。

说明书 :

一种基于深度神经网络的语音质量客观评价方法

技术领域

[0001] 本发明属于语音质量评估领域,尤其涉及一种基于深度神经网络的语音质量客观评价方法,能够在无参考语音信号的条件下,对目标语音质量做出客观评价。

背景技术

[0002] 语音信号在经过传输、处理之后难免会发生失真,尤其是伴随着各种语音算法的出现,例如语音编码、语音增强、语音合成和信道传输等等,这些算法虽满足了某些应用需要,但也不可避免的对语音造成损伤,而且算法引起的失真类别不能从一而论,导致对语音质量造成的影响不可预料。语音质量更是检测语音设备和算法性能的重要指标,因而如何对语音质量进行评价显得尤为重要。
[0003] 目前语音质量的评估方法存在多种,其中最可靠的方法是主观评价,即测试者主观测听,但该方法需耗费大量人力、物力及时间成本,效率并不高,同时也不适合语音评价的实时处理。目前语音质量客观评价方法应用最广泛的是国际电信联盟提出的PESQ方法,其评价结果与主观评价具有极高的相关度。PESQ方法最初用于对电话语音的质量进行评估,并取得了较好的评价效果,进而在其它领域推广。
[0004] PESQ方法较其他方法虽然有极大的优越性,但其仍然存在有局限性:a)该方法依赖纯净参考信号,在没有参考信号的条件下,无法对目标语音信号进行质量评测;b)该方法对宽带信号的质量评价较窄带信号并不理想;c)即便在存在有参考信号的条件下,该方法也无法评价变速语音。

发明内容

[0005] 本发明的目的在于克服目前PESQ方法存在的上述局限性的问题,为实现上述目的,本发明提出一种基于深度神经网络的语音质量客观评价方法,包括:
[0006] 步骤1)以带噪语音的三种语音特征生成的数据作为深度神经网络的输入,以实际目标语音的PESQ得分为深度神经网络输出目标,构建及训练深度神经网络;
[0007] 步骤2)将待评价语音的q帧语音特征向量作为输入数据输入训练好的深度神经网络,输出该带噪语音的质量评价分数。
[0008] 作为上述方法的一种改进,所述步骤1)包括:
[0009] 步骤1-1)将不同的纯语音和环境噪声混合生成不同信噪比的带噪语音;
[0010] 步骤1-2)提取一段带噪语音的q帧语音特征向量,进行扩展后依次取q个的连续j帧特征向量拼接的k维数据作为深度神经网络的输入数据,q,j,k为自然数;
[0011] 步骤1-3)以所述输入数据的PESQ得分作为深度神经网络的输出得分;
[0012] 步骤1-4)构建深度神经网络;
[0013] 步骤1-5)对所述深度神经网络进行训练,得到训练好的深度神经网络。
[0014] 作为上述方法的一种改进,所述步骤1-1)包括:
[0015] 步骤1-1-1)取信噪比范围为-40dB-40dB的各种环境噪声样本,平均划分为w个信噪比,w为自然数;
[0016] 步骤1-1-2)在同一个信噪比下,对每一句纯净语音,随机抽取环境噪声样本,进行混合,生成带噪语音;生成w个不同信噪比下的带噪语音。
[0017] 作为上述方法的一种改进,所述步骤1-2)包括:
[0018] 步骤1-2-1)从一段带噪语音中提取三种语音特征,包括短时幅度调制谱、相关谱-感知加权线性预测和梅尔倒谱系数互补特征集,添加一阶差分,构成一帧信号的特征向量;生成连续q帧语音特征向量;
[0019] 步骤1-2-2)将所述的q帧语音特征向量的第一帧数据复制p次,作为所述的q帧语音特征向量的前p帧数据,所述前p帧数据编号依次为-p+1,-p+2,…0,将所述的q帧语音特征向量的最后一帧数据同样重复p次,置于所述q帧语音特征向量的最后,作为所述q帧语音特征向量的后p帧数据,所述后p帧数据编号依次为q+1,q+2,…q+p,其中p满足:2p+1=j;所述的q帧语音特征向量扩展成q+2p帧语音特征向量,重新从0开始排序,为F(i),0≤i≤q+2p-1;
[0020] 步骤1-2-3)将所述q+2p帧语音特征向量中第m个连续j帧语音特征向量拼接成k维的数据,共q个k维的输入数据,作为所述深度神经网络的输入数据
[0021]
[0022] m=p,…q+p-1;k为自然数。
[0023] 作为上述方法的一种改进,所述步骤1-3)包括:
[0024] 步骤1-3-1)所述输入数据 m=p,…q+p-1的PESQ得分的取值范围为[-0.5,4.5],将所述得分取值范围平均划分为n个得分区间,对应深度神经网络输出的n维向量,n为自然数,所述向量仅包含有一个非零元;
[0025] 步骤1-3-2)对n个得分区间进行得分区间编号,目标的得分区间编号对应深度神经网络输出向量非零元的位置。
[0026] 作为上述方法的一种改进,所述步骤1-4)包括:
[0027] 步骤1-4-1)构建深度神经网络,包括1个输入层,3个隐藏层和1个输出层,输入层包括k个节点,每个隐含层包括1024个节点,输出层包括n个节点,对应步骤1-3-1)的n维向量;
[0028] 步骤1-4-2)构建隐藏层节点的输出函数为Sigmoid函数,形式如下:
[0029]
[0030] 其中θ代表隐藏层参数设置,x代表隐层输入,h则为其中某一个节点的输出,深度神经网络输出层采用Softmax函数,函数形式如下所示:
[0031]
[0032] 其中x代表输出层的输入数据,Θ则为输出层参数设置,K代表输出层节点数,与输出类别对应,θi代表与第i个节点对应的参数设置,T为转置;
[0033] 其输出层的输出值P代表输入数据属于该类别的概率。
[0034] 作为上述方法的一种改进,所述步骤2)包括:
[0035] 步骤2-1)提取待评价语音的q帧语音特征向量,进行扩展后依次取q个连续j帧特征向量拼接的k维数据,q,j,k为自然数;
[0036] 步骤2-2)将所述的q个k维数据依次输入深度神经网络,输出每帧语音特征向量对应的得分区间编号,并映射成得分区间编号对应的实际得分,得到q个实际得分;
[0037] 步骤2-3)将q个实际得分相加,再取平均值作为该段语音的预测分数。
[0038] 作为上述方法的一种改进,所述步骤2-1)包括:
[0039] 步骤2-1-1)从待评价语音中提取三种语音特征,包括短时幅度调制谱、相关谱-感知加权线性预测和梅尔倒谱系数互补特征集,添加一阶差分,构成一帧信号的特征向量;生成连续q帧语音特征向量;
[0040] 步骤2-1-2)将所述的q帧语音特征向量的第一帧数据复制p次,作为所述的q帧语音特征向量的前p帧数据,所述前p帧数据编号依次为-p+1,-p+2,…0,将所述的q帧语音特征向量的最后一帧数据同样重复p次,置于所述q帧语音特征向量最后,作为所述q帧语音特征向量的后p帧数据,所述后p帧数据编号依次为q+1,q+2,…q+p,其中p满足:2p+1=j;所述的q帧语音特征向量扩展成q+2p帧语音特征向量,重新从0开始排序,为F(i),0≤i≤q+2p-1;
[0041] 步骤2-1-3)将所述q+2p帧语音特征向量中第m个连续j帧语音特征向量拼接成k维的数据,共q个k维的输入数据,作为所述深度神经网络的输入数据
[0042]
[0043] m=p,…q+p-1;k为自然数。
[0044] 本发明的优势在于:
[0045] 1、本发明以语音的三种特征作为网络输入,以实际目标语音的PESQ得分为神经网络输出目标,拟合出语音特征和实际PESQ得分之间的非线性映射关系,从而实现在仅存在有目标语音信号的条件下,也能对目标语音质量做出客观评价,而且对目标语音的客观评价与实际PESQ算法做出的评价具有较高的相关度;
[0046] 2、本发明适用于变速语音的情况,不会因语音语速的改变而导致语音质量无法进行客观评测,且评价结果较为准确;
[0047] 3、本发明可直接依据目标语音信号的特征来直接评价语音质量,不需要纯净参考信号的存在。

附图说明

[0048] 图1是本发明的方法流程图;
[0049] 图2是本发明采用的深度神经网络模型图;
[0050] 图3是TIMIT测试样本实际PESQ得分和本发明的预测结果比较;
[0051] 图4是测试语音的时域波形;
[0052] 图5是变速语音的时域波形;
[0053] 图6是测试语音对应的纯净语音波形;
[0054] 图7是变速语音对应的纯净语音波形;
[0055] 图8是TIMIT测试集PESQ实际分数和实施实例三的预测结果比较;
[0056] 图9是THCH30部分数据集PESQ实际分数和实施实例三的预测结果比较。

具体实施方式

[0057] 鉴于PESQ算法存在的局限性,本发明提供一种基于深度神经网络的语音质量客观评价方法,能够在无参考语音信号的条件下,对目标语音做出与PESQ方法相关度极高的客观评价。
[0058] 如图1所示,本发明提供的语音质量客观评价方法具体包括:
[0059] 步骤1)利用TIMIT纯净语音库和100多种环境噪声生成不同信噪比的实验数据,其中TIMIT纯净语音库的训练部分生成的带噪数据作为深度神经网络的训练数据,而TIMIT纯净语音库的测试部分的语音混和与训练集不同的20多种噪声作为网络的测试集。
[0060] 步骤2)分别提取训练集和测试集的语音特征,将其作为神经网络的输入数据。
[0061] 步骤3)应用PESQ算法和TIMIT纯净语音库对训练数据和测试数据进行评分,并将训练部分的得分划分为具体的分类标签,将其作为神经网络的输出目标。
[0062] 步骤4)构建神经网络,确定网络层数、节点数、节点输出函数以及网络训练方法等等。
[0063] 步骤5)将训练数据带入神经网络进行训练,直至其收敛得到训练模型。
[0064] 步骤6)应用训练模型对测试结果进行预测,评价训练模型的测试性能。
[0065] 考虑到网络对中文数据库的泛化能力,本发明在原来训练集的基础上添加了THCH30语料库的部分内容,重新对网络进行训练。具体操作步骤与上述一致。
[0066] 下面结合附图对本发明进行详细说明。
[0067] 步骤1)数据准备:
[0068] 考虑到神经网络的泛化能力,本发明使用MIT的TIMIT语音库,其中TIMIT语音库说话者来自八个不同地区共630人,每人10句,语料内容丰富,很好的满足了网络对不同说话者和说话内容泛化能力的需求。由于网络需要对各种带噪语音进行客观评价,为了满足网络对噪声种类的泛化能力,本发明选取了俄亥俄州立大学的100种环境噪声,并额外添加了其它35种,用于生成带噪数据,本发明将其中的111种用于生成训练数据,剩余24种生成测试数据。为了满足语音不同纯净度的需要,本发明选择了-40dB-40dB的信噪比范围,共17个信噪比,平均划分。其中我们的训练集由TIMIT语音库训练集部分的语料内容构成;测试集部分则由TIMIT的测试集部分的语料内容构成。在生成带噪语音时,同一信噪比下,对每一句纯净语音随机抽取噪声样本与之混合。
[0069] 步骤2)特征提取:
[0070] 特征提取提取部分,本发明选取了短时幅度调制谱(Amplitude Modulation Spectrogram,AMS)、相关谱-感知加权线性预测(RASTA-PLP,relative spectral transform and perceptual linear prediction)和梅尔倒谱系数(mel-frequency cepstral coefficients MFCC)互补特征集,并添加其一阶差分来构成一帧信号的特征向量。具体方法为:
[0071] 提取某段带噪语音的q帧语音特征向量,取其中的连续j帧特征向量的k维数据作为深度神经网络的输入数据,q,j,k为自然数;
[0072] 实际操作时,为了保证所得连续j帧输入特征向量的k维输入数据的数量为q,本方法对第一帧和最后一帧数据做了扩帧处理,具体操作如下:将第一帧数据复制p次作为所得语音特征向量的前p帧数据,编号为(-p+1~0),而最后一帧数据同样重复p次置于所得特征向量最后,编号为(q+1~q+p)其中p满足:2p+1=j。所述的q帧语音特征向量扩展成q+2p帧语音特征向量,然后重新从0开始排序,为F(i),0≤i≤q+2p-1;
[0073] 将所述q+2p帧语音特征向量中第m个连续j帧语音特征向量拼接成k维的数据,共q个k维的输入数据,作为所述深度神经网络的输入数据
[0074]
[0075] m=p,…q+p-1。
[0076] 考虑到语音的时序性信息,本发明的实施例将连续11帧信号的特征信息拼接成1298维的数据作为神经网络输入。
[0077] 步骤3)训练目标:
[0078] 本发明的目标是对带噪语音进行客观评价,所以网络输出对应语音质量评价分数,这里选用语音实际的PESQ得分作为网络的训练目标,考虑到PESQ得分是连续值,为了满足网络分类的要求还必须对其进行离散化处理。
[0079] 具体处理过程如下:所述输入数据 ,m=p,…q+p-1的PESQ得分的取值范围为[-0.5,4.5],将所述得分取值范围平均划分为n个得分区间,对应深度神经网络输出的n维向量,n为自然数,所述向量仅包含有一个非零元;对n个得分区间进行得分区间编号,区间编号为1,2,3,…,n;编号的目标的得分区间编号对应深度神经网络输出向量非零元的位置。
[0080] PESQ算法的取值区间为[-0.5,4.5],这里将其平均划分为100个区间,对应我们输出的100维向量空间。目标分数的区间编号对应输出向量非零元的位置。同一语音的所有输入帧都对应其PESQ得分对应的同一输出目标。
[0081] 步骤4)神经网络参数设置:
[0082] 如图2所示,综合考虑网络的拟合能力和训练复杂度,在本发明的实施例中所述神经网络应用网络层数为4层,包括3个隐藏层,每层1024个节点,和一个输出层,节点数为100,对应步骤3的100维输出向量。隐藏层节点的输出函数为Sigmoid函数,形式如下:
[0083]
[0084] 其中θ代表该隐藏层参数设置,x代表隐层输入,h则为其中某一个节点的输出,网络输出层采用Softmax函数,函数形式如下所示:
[0085]
[0086] 其中x代表输出层的输入数据,Θ则为输出层参数设置,K代表输出层节点数,本方法中与输出类别对应,θi代表与第i个节点对应的参数设置,T为转置;
[0087] 其输出值P代表输入数据属于该类别的概率;
[0088] 本发明的输入层包括1298个节点,与所述输入数据的维数一致。
[0089] 最后,将数据带入神经网络训练,直至网络收敛,得到网络模型。
[0090] 步骤5)结果预测:
[0091] 对于同一段语音,将其所有帧的特征向量输入神经网络得到每帧对应的分类标签,并映射成标签对应的实际分数,然后将所有帧对应的分数取平均值来作为该段语音的预测分数。
[0092] 实施例1
[0093] 为了测试网络模型,本发明对测试集数据进行预测。测试集采用的是TIMIT语音库的测试部分,共包含有1672句纯净语音,其说话人不同于网络训练集数据,测试集数据以与训练集相同的信噪比生成带噪语音,但是其噪声种类不同于训练集所用噪声样本。实验中,我们对每个信噪比下的测试数据分别进行预测,并将数据与实际PESQ算法得出的分数进行比较,其结果如下(表格内数据均为同一信噪比下,所有测试语音的平均值):
[0094] 表1预测结果与实际PESQ结果分布表
[0095]信噪比/dB -40 -30 -20 -10 0 10 20 30 40
预测结果 1.15 1.13 1.18 1.37 1.89 2.56 3.32 3.92 4.31
PESQ结果 0.94 0.94 0.99 1.27 1.81 2.51 3.15 3.77 4.22
偏差 0.21 0.19 0.19 0.1 0.08 0.05 0.17 0.2 0.09
[0096] 从表格中可以看出,在信噪比极低的情况下,PESQ算法的预测值并不会发生变化,且取分在0.9左右,随着信噪比的升高,从表中可以看出,本发明的结果预测值与PESQ算法取分具有极高的相关度,且最大偏差在0.2左右,最小偏差仅有0.05,证明了本发明的可用性。图3给出了预测值和PESQ算法与信噪比的关系曲线,从中也可看出本模型与PESQ算法结果的相关性。
[0097] 实施例2
[0098] PESQ算法即便在存在参考信号的情况下,也不能对变调语音质量做出客观评价,为此为了证明本发明适用于该种情景,特选取了一段信噪比10分贝3.5秒左右的带噪语音信号进行评测,其时域波形图如图4所示,1.5倍速的变速语音信号如图5所示,二者对应的纯净语音信号分别如图6和图7所示。变速前实际PESQ算法给出的分数是2.18,算法预测的分数是2.26,变速后实际PESQ分数为2.07,算法预测分数为2.16,并没有发生变化,说明本发明适用于该种情况。
[0099] 实施例3
[0100] 考虑到本发明对中文语音的泛化能力,本发明在原有训练集的基础上添加了THCH30语料库的部分内容。鉴于实施实例一中,实际PESQ分数对于-20db以下的带噪语音评分并无明显差别,本实例选择的信噪比范围为-30-40db。最终对TIMIT测试语音和THCH30测试语音的分别预测结果如图8和图9所示。
[0101] 最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。