超越“中间”:将音频立体声录音(重合麦克风)分解为中间 + 45° + 90°

信息处理 声音的 阶段 音频处理 立体声信号
2022-01-30 07:59:45

背景:我过去在 XY 位置(重合麦克风)进行了立体声录音:

距离至少 20 米的源(例如:大型混响建筑中的钢琴)。

由于麦克风是重合的,因此存在 IID(耳间强度差异),但遗憾的是,很少有 ITD(耳间时间差异)因此,录音不那么生动,更不用说“在你的头脑之外”(用耳机听时),它可能是用一对间隔开的麦克风。这是我要解决的最后一个问题,因为我无法重做录音:将声音重新空间化为更接近间隔对录音的东西。(我还有其他带有一对间隔非重合麦克风的录音,我确认它会更好)。另请参阅重新空间化立体声录音音频信号的算法?.

(欢迎任何实现这一总体目标的编码想法)。


我现在考虑在这个问题中实现这个目标的选项是:

  • 将信号L[n], R[n](left, right) 分解成若干层
  • 在每一层上应用不同的 ITD(Interaural Timing Differences)
  • 混合层以获得新的输出信号

中侧示例:

Mid[n] = (L[n] + R[n]) / 2
Side[n] = (L[n] - R[n]) / 2

Out_L[n] = Mid[n] + Side[n + K1]    # K1 is a time-shifting parameter
Out_R[n] = Mid[n] - Side[n + K2]    # K2 is a time-shifting parameter

我试过这个,但它并没有真正帮助实现上述目标。

问题:是否存在超出 Mid (0°) + Side (90°) 的立体声信号分解?

就像是:

Layer1[n] =  Mid (0° to 30°)
Layer2[n] =  Diagonal (30° to 60°)
Layer3[n] =  Side (60° to 90°)

注意:算法的这个答案的“重合麦克风”部分重新空间化立体声录音音频信号? 可能有用,但我不知道如何在应用算法中具体使用它。

2个回答

有一类称为“上混器”的通用算法确实将立体声信号分解为多个方向和/或其组成方向通道。它们通常通过将信号切成帧、评估多个频带中的相关性/相位/方向差异、根据分析将原始信号引导到规则上然后将它们再次拼接在一起来工作。

这是一项棘手的工作,通常需要在空间分解的有效性与光谱和时间伪影之间进行相当多的权衡。

但是,我不相信这会对您的情况有所帮助。您在混响空间中进行了远场录音:与早期反射和混响的能量相比,您的直达声分量(这是唯一可定位的)的能量可能很小。试图从混响场中提取方向性分量是很困难的,而且它们很可能是去相关的,因此对它们应用时间延迟不太可能产生太大的影响。

如果您只想在录音中留出更多空间,您可以尝试使用高提升架滤波器稍微提升差异通道。低频没有提升,高频有一些。您可以使用截止频率,但我会将截止频率从 500Hz 更改为 2kHz,并尝试提高 2-3 dB 左右。

如果您的目标是“通过耳机更自然”,那么您最好的方法是将作为频率函数的通道间相关性与扩散场中的人(或假人)头部的相关性相匹配。在低频下,两个耳朵信号高度相关,在高频下,它们往往非常不相关,并且它们之间是部分相关的。您可以分析录音的相关性并与双耳目标曲线进行比较,然后根据需要增加/减少特定频率的相关性。有多种方法可以做到这一点,但最简单的方法是调整和/差平衡:更多的和 = 更多的相关性,更多的差异 = 更少的相关性。

正如链接答案的“重合麦克风”部分所述,这种方法不起作用,因为麦克风的极性响应与频率有关。这意味着您无法使用仅对低频有效的简单(“通用”)公式提取每个通道的方向信息(远低于系统/麦克风的空间混叠)。

正如评论中已经提到的,您可以尝试将您的两个信号去相关。这应该会以某种方式增加空间性(尽管我不确定这是否会以某种一致的方式实现)。我没有使用过去相关过滤器,但我确实设法找到了两个您可以查看的资源。一篇是这篇短文(来自斯坦福大学),另一篇是这篇论文,不幸的是,您必须订阅 AES 才能访问(抱歉)。我确信那里肯定有更多的信息来源。

另一种方法是尝试使用一堆全通滤波器来影响一个或两个通道的相位。这种技术让人想起了数字混响单元的扩散器部分,最简单的是施罗德全通设计。您可以观看有关创建数字混响单元的视频,了解有关扩散器的更多信息

另一种可能性是尝试向两个麦克风之一添加一个简单的延迟,以尝试“将它们分开”。正如你所提到的,你已经尝试过了,但没有好的结果。您可以尝试在频域中执行此操作,在该频域中,您应该在两个麦克风信号之一的相位上“添加一条具有恒定斜率的线”。这与您在时域中已经尝试过的内容不会有任何真正的区别,但它会提供一些额外的选项。例如,在“线”的顶部,您可以在每个频率的相位上添加一个小的随机数,使其有点随机(从概念上讲,您可以将其视为“虚构的”全通滤波器,它只将这个频率及时移动少量)。

频域方法提供的另一种选择是您应该能够引入样本间延迟。老实说,自从我上次研究样本间延迟和插值以来已经有一段时间了,但如果我没记错的话,我所看到的设计以一种或另一种方式影响信号的幅度。因此,我不确定仅仅通过“加扰”(以上述方式)将提供完全有意义的结果。

请注意,以上所有“解决方案”都是根据个人过去的经验对应该可行的方法的假设提出的简单建议。这意味着所有建议都可能在某种程度上提供解决方案,或者它们都不能提供任何有意义的结果。尽管如此,如果您找到一个解决方案(或多个),将是非常有启发性和有益的。