肖 晶, 刘佳奇, 李登实, 赵兰馨, 王前瑞
1(武汉大学 计算机学院 国家多媒体软件工程技术研究中心, 武汉 430072)
2(武汉大学 多媒体与网络通信工程湖北省重点实验室, 武汉 430072)
3(江汉大学 人工智能学院, 武汉 430056)
语音可懂度增强是在嘈杂环境中再生干净语音(没有噪音)的感知增强技术, 常应用在移动设备通信时. 近几十年来, 语音可懂度增强[1]技术引起了广泛的关注. 最近的理论发展表明基于掩码原理和数字信号处理算法增强语音可懂度使语音自然度下降. 一些常见的提升语音可懂度的方法有修改谱特性[2], 非线性放大如范围压缩[3], 选择性的增强某些信号成分如文献[4],或语音调制[5], 以及时间尺度的修改[6].
说话风格转换(SSC)[7]是一种数据驱动方法, 该方法基于一种被称为伦巴第效应[8]的特殊发声效果, 旨在改变给定语音信号的风格同时保持说话者的声学特征, 以增强语音可懂度. SSC 通过参数化方法利用数据来对正常风格语音到伦巴第风格语音转换进行学习和建模, 可以对语音转换进行更全面的处理, 同时保证转换后的语音的质量和自然度. 本文遵循同样的策略使用一种基于WORLD 声码器[9]的参数化方法.
目前主流的SSC 方法分为平行SSC 和非平行SSC.对于平行SSC, 以前的方法利用基于平行数据的学习技术如高斯混合模型(GMM)[10], 深度神经网络(DNN)架构[11]和RNN 架构[12], 该技术依赖于有效的源(正常)语音和目标(伦巴第)语音平行语音对. 然而, 在伦巴第反射下人说话的语速通常较慢. 平行SSC 需要利用时间对齐操作对训练数据进行预处理这将会导致一些特征失真, 因此更加推荐使用非平行SSC 来避免时间对齐操作. 最近的一些研究已经结合了循环一致的生成对抗网络(CycleGANs) 来学习生成接近目标的分布, 该方法不需要平行的语音对. 通过使用CycleGAN得到了非平行SSC, 该方法生成的语音比平行SSC 生成的语音有更好的可懂度和自然度.
但是, 仍然存在两个主要的两个局限性:
(1) 基频(F0)是一维特征. ①F0 既受短时依赖关系的影响, 也受长时依赖关系的影响. ② 如图1 所示,由于清音和浊音的存在, 导致F0 是不连续的. 另一个更重要的特征即梅尔倒谱系数(MCEPs)是一种高维连续的特征. 文献[13]将MCEPs 和一维的F0 一起映射会导致分布混合, 而且其提取了40 维MCEPs, 但是只用10 维进行特征映射不能代表完整的伦巴第风格.
图1 F0 的频谱图, F0 是一维不连续特征 (蓝色区域表示清音帧, 红色区域表示浊音帧)
(2) 伦巴第效应在不同噪声环境中性能方面存在局限性, 仅具有伦巴第效应的SSC 在信噪比非常低的强噪声干扰中效果不佳, 尤其在SNR≤0 dB 的情况下.
为了克服第1 个局限性, 提出使用连续小波变换(CWT)映射F0 的时间相关性, 并使用20 维MCEPs特征全面地表示声学特征. CWT 被用来描述多个时间尺度上的语音参数, 实际上, 其已经应用在许多领域中,例如文献[14].
为了克服第2 个局限性, 提出使用iMetricGAN[15],iMetricGAN 是一个生成对抗网络(GAN)系统, 由生成器和判别器组成, 生成器作为可懂度增强模块用来增强语音信号, 判别器用来学习预测生成器生成语音的可懂度分数. 与一般的GAN 网络不同, iMetricGAN 的判别器不是用来鉴别真假, 而是作为一个学习代理尽可能地接近可懂度指标, 然后可以在这个代理的指导下适当地训练生成器.
本文的主要贡献包括: 1) 提出了一个基于CycleGAN使用CWT 和iMetricGAN 的非平行SSC 框架, 称为NS-CiC; 2) 针对线性F0 缺乏时间相关性的问题, 使用CWT 变换将低维的F0 处理成10 维的CWT 系数并映射了更高维的MCEPs 特征; 3) 利用iMetricGAN 方法优化对抗生成网络(GANs)的语音可懂度指标. 实验结果表明, NS-CiC 在客观和主观评价上均显著提高了强噪声环境下的语音可懂度.
研究基准[13]的非平行SSC 框架如图2 所示. 源语音(输入)是正常风格的语音, 而目标语音(输出)是内容相同的伦巴第风格语音. 非平行SSC 框架主要由3 部分组成: 声码器分析器、特征映射和声码器合成器. 首先, 通过声码器分析器从输入信号中提取语音特征. 然后, 利用映射系统对与SSC 密切相关的特征进行转换. 最后, 将映射的和未转换的特征输入声码器, 声码器合成伦巴第风格的目标语音.
图2 非平行SSC 示意图
CycleGAN 包含3 部分损失: 对抗损失、循环一致性损失和身份映射损失, 通过这3 个损失函数来学习源数据和目标数据之前的正向和反向映射. 对于正向映射, 其定义为:
转换后的数据与目标数据的分布越接近,LADV就越小. 为了保证X与GX→Y的上下文信息一致, 定义了循环一致性损失函数如下:
该损失促使GX→Y和GY→X通过循环转换找到(x,y)的最佳伪对. 为了在没有任何额外处理的情况下保留语言信息, 引入了如下身份映射损失函数:
文献[13]仅映射不连续的1 维F0 并将其与连续的10 维MCEPs 一起训练, 而且该系统不擅长处理强噪声的干扰. 为了克服这些局限性, 提出了NS-CiC 方法.
提出的框架的整个过程如图3 所示, WORLD 声码器以5 ms 的帧偏移执行分析和合成. 基于语音的两个重要特性, 将整个框架分为两部分即CWT 模块和iMetric-GAN 模块. 首先用声码器提取语音信号的F0 和MCEP特征. 然后整个系统使用CycleGAN 作为基础映射模型,声码器提取的两个特征通过CWT 模块和iMetricGAN模块的过程分别进行映射. 最后, 预测的特征和转变的特征一起作为声码器的输入以合成增强的语音.
图3 提出的NS-CiC 方法示意图
在CWT 模块中,F0 是一维特征. 因为语音中存在浊音/清音, 因此从WORLD 声码器中提取的F0 特征是不连续的. 由于CWT 对F0 的不连续性很敏感, 对F0 进行以下预处理步骤: 1) 在清音区域上进行线性插值; 2) 将F0 从线性转换为对数; 3) 将F0 标准化使其均值为0 方差为1. 我们首先用CWT 将1 维的F0 分解为10 维并将不连续的F0 插值为连续特征. 然后用CycleGAN 网络来映射源训练数据和目标训练数据, 这些数据均来自于同一个人, 但是由不同的风格和能量组成. 最后, 用CWT 逆变换将映射的10 维F0 变换成1 维.
在iMetricGAN 模块中, 用40 维的MCEPs 表示频谱包络, 前20 维MCEPs (c0–c19)作为训练数据. 在第1 阶段, 使用CycleGAN 通过对抗损失和循环一致性损失同时学习正向和反向映射, 经CycleGAN 预测, 正常语音的MCEPs 转变为伦巴第特征. 在第2 阶段, 使用iMetricGAN 增强在强噪声环境中的可懂度. 将预提取的噪声特征和变换后的MCEP 一起作为iMetricGAN模型的输入, 从而获得增强的MCEPs.
小波变换为信号提供了一种易于理解的可视化表示. 使用CWT, 可以将信号分解为不同的时间尺度.
我们注意到CWT 已经成功地应用于语音合成[16]和语音转换[17].
给定一个有界的连续信号k0, 其CWT 用W(k0)(τ,t)表示可以写成:
但是, 如果关于W(k0)的所有信息都不可用, 则逆变换是不完整的. 在这项研究中, 将分析器固定在10 个离散的尺度上, 相隔一个八度. 分解如下:
逆变换得到的k0近似为:
其中,i=1, …, 10,τ0=5 ms, 这些最初是在文献[18]中提出的. 因为语音的韵律在不同的时间维度上的表现是不同的. 图4(b)给出了10 个维度的CWT 分量, 而图4(a)只能表示一维的不连续特征. 通过多维度表示, 低维度可以捕捉到短期变化, 高维度可以捕捉到长期变化. 通过这种方式, 能够对F0 从细致的韵律级到整体语音级进行风格转换.
图4 一维F0 与多维CWT 系数的频谱图
iMetricGAN 模型框架如图5 所示. 它由一个生成器(G)网络和一个判别器(D)网络组成.G接收语音s特征和噪声w特征, 生成增强的语音. 生成的语音表示为G(s,w). 给定s和w,D被用于预测增强语音G(s,w)的可懂度分数.D的输出表示为D(G(s,w),s,w), 并希望它能接近通过特定方法计算得到的真实可懂度分数. 引入了函数Q(·)来表示要建模的可懂度指标, 即以比特为单位的高斯信道语音可懂度(SIIB G-auss)[19]和扩展短时客观可懂度(ESTOI)[20](已经取得了最好的表现).
使用上述符号, 图5(a)中D的训练目标可以表示为最小化以下损失函数:
在D训练的过程中, 损失函数被扩展到式(9):
可以把式(9)视为有辅助知识的损失函数, 式(8)视为有零知识的损失函数. 请注意,不应被视为真实语音特征或训练标签.G的训练过程如图5(b)所示, 其中,D的参数是固定的, 通过训练G以达到尽可能高的可懂度分数. 为了实现这一点, 将式(10)中的目标分数t设置为可懂度指标的最大值.
图5 iMetricGAN 的网络框架及其训练过程
G和D迭代训练, 直到收敛.G充当增强模块, 通过训练G来欺骗D以获得更高的可懂度分数. 另一方面,D试图不被欺骗并准确评估转变后的语音的分数.这个极大极小博弈最终使G和D都有效. 因此, 通过G可以提高输入语音的可懂度.
数据集: 选择了最新的开源伦巴第语料库(不使用视频数据) Lombard Grid[21]作为数据集, 该语料库包含30 名女性说话者和24 名男性说话者, 每个人以16 kHz采样率记录了50 个正常风格的语音和50 个伦巴第风格的语音. 语料库的2/3 和1/3 分别用于训练和评估.我们选择了一个德语语料库[22]作为测试集, 该语料库包含来自8 个说话者的40 句话, 每句话具有3 种不同的伦巴第风格0、55、70.
环境噪音: 参考相关研究, 从NOISEX-92 数据库[23]中选取3 种类型的噪声进行实验. 这3 种噪音分别是Factory1 (非平稳)、Factory2 (非平稳)和Volvo (平稳).我们将Volvo 噪声的信噪比设置为−25 dB 和−15 dB,Factory1 和Factory2 噪声的信噪比设置为−5 dB 和0 dB.
对比方法: 我们设置了4 组对比实验, 分别是CycleGAN 方法, 最新的IISPA 方法[24], 提出的10 维MCEPs 即NC-CiLC 和20 维MCEPs 即NS-CiHC 方法. 为了验证语音可懂度增强的效果, 在实验中还加入了正常语音.
提出的方法的实现: 在CycleGAN 中, 参数的设置与参照方法相同. 如图5 所示,D的输入特征是3 通道频谱图(即已处理、未处理、噪声).D由5 层具有以下数量的过滤器和卷积核大小: [8 (5, 5)]、[16 (7, 7)]、[32(10, 10)]、[48 (15, 15)]和[64 (20, 20)]的2 维CNN 组成, 其中每层都带有LeakyReLU 激活函数. 全局平均池化之后是最后一个CNN 层, 该层产生固定的64 维特征. 再连续添加两个带有LeakyReLU 激活函数的全连接层, 这两层分别有64 个节点和10 个节点.D的最后一层是全连接层, 它的输出代表可懂度指标的分数. 因此, 最后一层的节点数等于可懂度指标的节点数. 我们将ESTOI 评分标准化使其范围为0 到1, 因此, 用ESTOI 评分训练时, 最后一层使用Sigmoid 激活函数.
超参数设置: CWT 时间尺度设置: 将F0 分解为不同时间维度的CWT 系数, 并分别比较CWT 系数的权重、对特征变换的影响程度以及实现的复杂度. 如图6(a)所示, 就特征变换的质量和复杂性而言, 发现将F0 分解成10 维的CWT 系数更合适. MCEPs 维度设置: 图6(b)为同一句子不同发声方式的MCEPs 幅值谱(q=40). 将不同维度的MCEPs 特征进行比较, 在大约q≤20 时可以看到明显的数值差异, 而在20 维后MCEP 值都在0 左右, 从粗粒度语音频谱图中看不出差异. 通过实验, 选择用40 维表示频谱特征并选择前20 维作为映射特征.
图6 不同参数维度特征值的损失系数
客观实验设置: 通过计算F0 的均方根误差(RMSE)[25]评估F0 映射的性能, 并计算SIIB Gauss 分数和ESTOI分数来证明在强噪声环境中通过iMetricGAN 模型提高了可懂度, 从而进行客观评价. 最后, 比较了所有方法的整体性能.
使用RMSE代表F0 预测的性能. 转换后的F0 和相应的目标F0 的RMSE被定义为:
F0 转换: 如表1 所示, 女性组的F0 失真比男性组更严重, 这是因为女性的F0 值更高. 最初录制的清晰语音的RMSE值小于比较不清晰语音的RMSE值. 从大约提高了8%的SIIB Gauss 分数和10%的ESTOI分数的可懂度指标可以看出, 与参照方法使用CycleGAN联合训练相比, NS-CiC 将F0 分解为10 维的CWT 系数具有更乐观的失真分布并且语音可懂度显著提高.
表1 F0 的平均RMSE 损失
通过iMetricGAN 增强可懂度: 表2 给出了不同信噪比下的正常语音、伦巴第语音和经过iMetricGAN处理的语音的SIIB Guass 分数和ESTOI 分数, 从表中可以看出, 仅仅依靠伦巴第效应在轻微的嘈杂环境中有很好的提升作用, 但在严重的嘈杂环境中并没有达到增强的效果. 该表显示, 在强噪声环境下, iMetric-GAN 方法使SIIB Guass 分数和ESTOI 分数分别提高了23.2%和23.6%.
表2 用iMetricGAN 增强伦巴第语音的分数
客观评价: SIIB Guass 和ESTOI 用于估计说话者和听者之间共享的信息量, 单位为b/s. 图7(a)– 图7(c)给出了客观评估分数, 因为语音之间的分数非常接近, 所以省略了置信区间. 与正常情况相比, 在严重的噪声环境中, SIIB Guass 分数最多提高50%而ESTOI 分数大概提高了115%. 在轻度噪声环境中, 由于正常语音本身的清晰度, SIIB Guass 分数提高了35%左右, ESTOI 分数提高了50%. 与CycleGAN 相比, 我们的方法主要将SIIB Guass 分数提高了大约25%, ESTOI 分数提高了30%. 与最新的IISPA 方法相比, 我们的方法提升可懂度分平均高15%左右. 通过增加MCEPs 维度, 可懂度方面的提升效果对比参照方法有稳定的提高, 将SIIB Guass 分数和ESTOI 分数分别提高约17%和18.6%.图7(d)–图7(f)显示在德语测试集下增强效果更加明显.总之, NS-CiHC 比其他几种方法更能提高可懂度.
图7 不同噪声环境下两种数据集可懂度值 (横坐标表示噪声(dB), 纵坐标表示可懂分(%))各子图第1 行表示英语集结果, 第2 行表示德语集结果
主观评价: 如图8 所示, 没有低于0 的分数, 这意味着提出的方法相对于CMOS 评分显示, NS-CiC 在质量上明显优于正常语音, 得分约为1.8 分. 与CycleGAN相比, 大约达到了0.9 分. 与轻度噪声环境相比, 我们的方法在重度噪声环境下的可懂度提升了10%. 总之, 主观实验的结果与客观实验的表现基本一致.
图8 具有95%置信区间的平均CMOS 评分
我们将提出的NS-CiC 框架进行了各个模块的实验测试, 如表3, 仅对F0 的处理能够使语言的音调提升明显, 但声音的能量仍未变化, 可懂度值也提升在30%左右, 但在语言的细腻自然方面与Lombard 更接近; 对MCEP 的处理我们用到了iMetricGAN, 语音频谱表示了语音的能量大小, 可以看出在对频谱进行映射后的语音可懂分有大幅度的提升, 而且相较于正常Lombard 的映射也提升了10%. 从中我们可以得出F0 对语音的音调有决定性作用, 频谱包络对语音的能量有决定性作用, 本文分别进行F0 的多时间尺度变换与MCEP 的噪声增强处理能实现语音可懂度的增强.
表3 不同模块对语音可懂度SIIB Gauss 分的提升
本文提出了一种高质量非平行的语音风格转换框架, 基于CycleGAN 进行频谱和韵律转换. 用一种非线性方法研究使用连续小波变换(CWT) 将F0 分解为10 维, 从而实现F0 的有效转换, 还使用20 维MCEPs来更全面的表示声学特征从而实现MCEPs 转换. 考虑到伦巴第效应在强噪声环境下表现不是特别好, 所以使用iMetricGAN 技术对其进一步增强. 实验结果表明,提出的框架优于参照方法, 在客观评价中将SIIB Guass和ESTOI 分数分别提高了25%和30%, 在主观评价中将CMOS 分数提升了0.9, 有效地增强了语音可懂度.