超越 GRIFFIN-LIM:改进的语音迭代相位恢复(2022)
摘要
相位恢复不仅是在语音和音频处理中遇到的问题,在光学等许多其他领域也是如此。基于非凸集投影的迭代算法是有效的,并且经常用于在只有STFT幅度可用时恢复相位。虽然基本的 Griffin-Lim 算法及其变体几十年来一直是流行的方法,但最近的进展(例如在光学方面)提出了一个问题:我们能否使用相同的迭代投影原理在语音信号方面做得比 Griffin-Lim更好?在本文中,我们将语音领域的经典算法与光学领域的两种现代方法在重建质量和收敛速度方面进行了比较。基于这项研究,我们建议将Griffin-Lim与Difference Map(差异映射) 算法结合在一种混合方法中,该方法在最终重建的收敛性和质量方面显示出优异的结果。
索引词
相位恢复、语音、迭代投影、Griffin-Lim 算法
一、简介
虽然录制的音频(包括语音)自然地表示为时域信号,但许多语音处理系统并不直接在时域中运行,而是首先将信号转换为时频表示,通常使用短时傅里叶转换 (STFT)。与实值时域信号相比,STFT 表示是复值的,其幅度和相位分量通常被分开处理。虽然相位感知方法在语音增强和源分离领域变得越来越普遍,但许多算法仅修改 STFT 幅度并保留输入相位[1]。在其他任务中,例如语音合成 [2] 或时间尺度修改 [3],相位有时会完全缺失。在这两种情况下,逆STFT (iSTFT) 的应用都需要幅度和相位分量。因此,需要恢复相位分量,它必须在某种程度上与幅度分量一致。
相位恢复问题并非语音或音频所独有。它出现在许多使用涉及数据的类傅里叶变换技术的领域中[4]。一个突出的例子是相干衍射成像,其中测量的波强度(平方振幅)对应于衍射图案,在给定缺失相位分量的情况下,衍射图案可以傅立叶变换为物体图像。一种与 STFT 处理特别相似的成像技术是拼图 [5],其中成像对象被分成重叠的片段,创建对相位恢复有用的冗余。这种相似性使得拼写法在音频(反之亦然)中的应用变得简单 [6]。
在音频和其他领域,相位恢复的一种典型方法是使用迭代投影算法,该算法基于将数据连续投影到由不同约束定义的集合上。虽然约束是根据手头的问题选择的,但不同领域的总体框架是相似的,允许在它们之间轻松调整算法。同样,在拼版印刷的情况下尤其如此,其中的约束与 STFT 处理中使用的约束非常相似。
音频信号上下文中 STFT 相位恢复的实际标准是 Griffin-Lim 算法 (GLA) [3],它本身受到早期光学中使用Gerchberg-Saxton 算法 [7] 的启发。有趣的是,GLA 后来在拼写术中被重新发现为错误减少算法 [5]、[8]。多年来已经提出了 GLA 的几个扩展,包括加速版本 [9]、在线变体 [10]、[11] 对源分离上下文的适应 [12],甚至是神经网络的增强 [13] ,但是基本算法仍然被广泛使用(其他不基于迭代投影的方法存在 [1] 但不在本文的范围内)。在这项工作中,我们研究了现代光学方法在应用于语音信号时的表现。通过增加可供选择的算法数量,我们还能够以混合方法分析不同的算法组合。
在本文工作的最后阶段, Kobayashi 等人的平行工作。 [14] 已发表,其中作者还寻求将现代相位恢复算法应用于语音信号,并表明在某些情况下它们的性能超过 GLA。
虽然该论文的前提与我们的相似,但我们的贡献在两个方面超出了 [14]。首先,我们考虑一个额外的重要算法:Difference Map [15]。其次,我们提出了一种新颖的混合算法,该算法在语音质量和清晰度方面提供了卓越的结果。
2.迭代投影算法
迭代投影算法背后的一般思想是在信号上迭代应用约束,收敛到满足所有约束的点。通过将信号投影到由相应约束定义的集合上来应用约
束。在 STFT相位恢复中,我们通常考虑幅度约束集A和一致性约束集C。由于我们假设幅度已知并且仅寻求相位,我们简单地将A定义为具有已知幅度谱图的所有复杂谱图的集合A。
要将频谱图X投影到A上,我们只需强制执行已知的幅度A:
乘法、除法和绝对值按元素执行。此操作仅适用于非零 STFT bin,以避免被零除。
虽然幅度约束在许多领域用于相位恢复,但另一个约束的定义相当依赖于问题并且可以根据信号的物理或数学特征来选择。在 STFT 相位恢复的上下文中,我们可以利用 STFT 表示的固有冗余(由于重叠帧),并根据一致性定义约束,即 C 定义为对应于时域信号 [1]。通过将信号连续变换到时域并返回到时频域来实现对该集合的投影,即
下面我们介绍几种基于上述预测的算法。所有这些都是迭代的,并且在每次迭代中都包含投影 (1) 和 (2),但是它们在细节上有所不同(以及性能,稍后将展示)。所有这些算法都可以概括为迭代规则
其中m是迭代索引。除非有更好的选择(例如噪声输入信号的相位),否则通常使用均匀随机初始化,即每个bin的。
2.1. Griffin-Lim 算法 (GLA)
Griffin 和 Lim [3] 提出了最基本的迭代算法,包括两个投影之间的简单迭代:
基于 Gerchberg 和 Saxton [7] 提出的原始算法,类似的算法被用于其他领域。GLA由于其简单性而广泛用于语音和音频应用。此外,它具有收敛保证(在误差最小化方面),尽管不能保证它收敛于全局解决方案 [3]、[16]。 GLA 的一个主要缺点是合理的重建质量需要大量的迭代。
2.2.快速 GriffinLim 算法 (FGLA)
为了加速 GLA 的收敛,Perraudin等人。[9]提出使用Nesterov加速方案修改GLA迭代,产生
初始化为Y0 = X0参数αm一直是[9]中有限分析的主题,其中表明设置常数值αm = α = 0.99通常会产生良好的结果。请注意,极限情况α = 0等同于GLA。(7)中的第二项增加了有效步长,导致更快的收敛,如图1所示。实证结果表明,FGLA不仅在收敛速度方面优于GLA,而且在重建质量方面[ 9], [17]。这也反映在我们第 3 节的实验评估中。
图1。在一个二维凸玩具问题上的不同迭代算法的说明,用PA和PC解释为在线上的欧几里得投影(在黑色和红色中)。这张图说明了在简化的约束空间中所采用的不同轨迹,但需要注意的是,实际的相位检索问题是非凸的和非线性的。(F)GLA呈曲折状,FGLA的有效步长比GLA大,而DM和RAAR均向内进入溶液。
2.3.松弛平均交替反射 (RAAR)
GLA 和 FGLA 都在两个约束集之间来回投射信号。这可以看作是在这两个集合所跨越的空间中的曲折行走。考虑到相位恢复问题的非凸性,这种简单的策略导致算法无法逃避次优局部解。为了缓解这个问题,可以考虑沿着一条更精细的路径穿过这个空间。RAAR[18]不是只考虑C和A上的投影,而是使用关于这些集合的反射来定义可以避开局部收敛盆地的迭代。反射定义为
RAAR 迭代可以写成
其中0 < β ≤ 1。最近 [14],RAAR 被发现对语音信号表现良好,β = 0.9 时效果最好。
2.4.差异图 (DM)
另一种在约束空间中采用更精细路径的迭代算法是Difference Map,它由Elser[15]提出,作为Fienup的混合输入-输出算法 [19] 的推广,通常用于光学领域。差异图在成像问题中表现出良好的性能,也被应用于其他优化问题[20]。据我们所知,差异图以前没有应用于语音信号。
该算法的基本构建块与GLA中一样仍然是PC和PA ,但它们以更精细的方式使用,导致一种让人想起(但不同)RAAR的行为(见图 1)。
DM的迭代规则定义如下:
与RAAR不同的是,参数β可以取R\{0}中的任意值。
然而,它通常设置为接近1的值,通过实验选择,因为其最佳值在很大程度上取决于信号特征。请注意,改变β的符号会导致(11)–(13) 中的投影互换。对于β = 1,RAAR 迭代和 DM 迭代是相同的(这种情况也等同于其他几种相位恢复算法 [21])。然而,对于β的其他值,这些算法本质上是不同的 [18]。与 (F)GLA 和 RAAR 相比,DM在计算复杂度方面存在劣势:对于|β| = 1,每次迭代需要计算四个投影而不是两个。
2.5.乘法器交替方向法 (ADMM)
最近的几项贡献 [17]、[22][24] 提出将相位恢复直接视为受约束的非凸优化问题,并将乘子的交替方向法应用于它。
这种方法在 STFT 相位恢复以及其他情况下显示出良好的结果。在这里,我们特别考虑在 [17,算法。 1] 用于 STFT 相位恢复(注意类似的算法之前已经在光学/ptychography 领域提出,例如 [22])。使用我们的符号,该算法由以下迭代给出:
变量Wm = Z m +Um, = X0和U0 = 0。根据Z初始化的推导[25],我们可以定义一个辅助产生= PA(2Z
通过重新排列 (19),并将Wm代入 (18),我们得到
最后,通过组合 (17)、(19) 和 (20),我们获得了ADMM 迭代的单个表达式:
鉴于W被初始化为W0 = Z 变量的变化不影响整体算法。除了提供更紧凑的表示之外,(21) 中的表达式还允许我们将 ADMM 算法与其他迭代算法进行比较。事实上,这个表达式等价于 (11) 中的 DM 算法,其中β = 1。通过交换 (14) 和 (15) 中的投影,定义等同于β = 1 的DM的 ADMM 迭代也很简单。请注意,ADMM 框架是通用的,通过选择不同的近端算子,可以到达ADMM不等同于 DM 的迭代(例如 [17] 中的松弛公式或[24] 中基于发散的算法)。
2.6.提出的混合算法
如图 1 所示,不同的算法可以在约束空间中采取截然不同的轨迹,因此也表现出不同的收敛特性。通过首先应用一种算法,然后使用其结果来初始化另一种算法,可以利用这一点。受光学常见实践的启发,我们建议从 DM 或 RAAR 的几次迭代开始,然后是 FGLA。我们希望 DM/RAAR 能够探索更大一部分的约束空间,从而接近良好解决方案的附近。随后的FGLA 迭代可能会快速收敛到该解决方案中。
假设我们选择 DM 作为第一个算法,得到的迭代可以表示为
其中DM(·)和FGLA(·)分别指的是 (11) 和 (6) 中定义的迭代。这个假设在 3.4 节中进行了检验,我们还研究了M0的最优值
- 评估与讨论
我们进行了几个实验来评估上一节中描述的算法的不同方面。所有实验都是在干净的语音数据上进行的,其中给出了幅度并完全丢弃了相位。
-
- 实验设置
对于所有实验,我们使用来自TIMIT 语料库(性别平衡)[26] 的100 条英语口语,以16 kHz 采样。初始阶段是从第 2 节中描述的均匀分布中随机采样的。为了减少随机初始化对结果的影响,我们使用每次不同随机初始化的每个话语三次,并采取措施确保初始化一致不同算法之间。STFT和iSTFT操作以32 ms的帧长度、平方根Hann 窗口和8 ms 的帧偏移执行,除了第 3.3 节中的帧偏移是变化的。不同算法的性能是根据语音质量 (PESQ) 和频谱收敛 (SC) 来衡量的,定义为 [13]、[16]:
-
- 算法比较
在图 2 中,我们在重建质量(以 PESQ MOSLQO 分数衡量)和光谱收敛方面比较了 GLA、FGLA、RAAR 和 DM 算法,使用干净的幅度和随机初始相位。为了保持比较简单,我们只显示选定的β 值的结果。对于 RAAR,根据 [14] 的结果选择β = 0.9 。在 DM 的情况下,我们显示了β = ±1 (最简单的情况,相当于来自 [17] 的 RAAR 和 ADMM 算法)以及β = 0.8 的结果。
虽然所有算法在 400 次迭代中都达到了非常好的重建质量(GLA 除外),但我们确实观察到某些差异。 RAAR在前几次迭代中显示出最陡峭的上升,并且始终比FGLA 表现更好(确认 [14] 的结果),但在后来的迭代中它停滞得更快。DM 算法需要更长的时间才能上升,但随后获得比 RAAR 略高的 PESQ 分数。在所有候选者中, β = 0.8的 DM 算法在后来的迭代中表现出最好的性能,并且几乎与以及早期迭代中的 RAAR。每种算法的谱收敛都遵循相同的趋势,这意味着 DM 和 RAAR 实际上收敛于比 FGLA 和 GLA 更好的解,因为它们能够逃避局部次优解。需要注意的是,虽然使用 DM 和 β = 0.8 可以获得最佳结果,但与所有其他算法相比,这种情况需要两倍的投影操作。
-
- 重叠的影响
为了获得更深入的了解,我们现在检查一个不同的性能方面:对减少冗余的敏感性。为此,我们重复与上一节相同的评估,但具有不同的 STFT 帧偏移,从而导致不同的重叠率。结果在图 3 中给出。根据PC的定义,这里讨论的所有算法都依赖于STFT 表示的固有冗余,并且随着冗余的减少,我们可以预期性能会下降。虽然这种下降以及图 2 的总体趋势反映在图 3 中,但我们还看到,在以后的迭代中,较小的重叠对 RAAR 的影响比 DM 更不利。事实上,在50%重叠时,RAAR 的性能甚至略低于FGLA。因此,我们推断 DM 和 FGLA在减少冗余方面比 RAAR 稍微更稳健。
-
- 混合算法
如第 2.6 节所述, 我们提出了一种混合方法,它结合了两种算法并受益于每种算法的特性。为了评估这种方法,我们使用 RAAR 或 DM 作为每个算法运行 100 次迭代,其中我们使用 DM 或RAAR 进行M0迭代,并使用 FGLA 进行其余迭代。初始算法,然后是 FGLA,总共进行了 100 次迭代。
初始算法用于M0迭代,随后 FGLA用于100-M0迭代。该评估的结果总结在图 4 中(请注意,边缘情况M0 = 0和M0 = 100分别对应于纯 FGLA 和纯 DM/RAAR)。无论为初始迭代选择何种算法,我们都观察到使用混合方法的改进结果。特别是,对于广泛的M0,
β = 1的 DM甚至优于图 2 中表现最好的算法( β = 0.8 的 DM)。当M0 = 60时,就PESQ 而言,获得了最佳结果。因为在这种情况下,我们有|β| = 1,这种方法不会增加计算量。
4。结论
本文的目的是表明语音信号的迭代相位恢复不是一个长期解决的问题。 虽然 GriffinLim算法,尤其是其加速变体通常表现良好,但出现相位恢复问题的其他领域的最新进展也可能适用于语音。评估结果表明,如果参数选择正确,差值图算法可以提高重建质量的上限。