分解立体声信号

信息处理 声音的 相关性 伊卡
2022-02-11 11:18:12

与这个问题基本相同,但从未真正回答过:Stereo sound separation into three sources

想象一下,我有一个非常微不足道的信号:

  • 左:100Hz 音 + 200Hz 音 + 500Hz 音
  • 右:500Hz 音调 + 1kHz 音调 + 2kHz 音调

我想执行一些操作,我可以将左右分解为 L'、R' 和 C。其中:

  • L':100Hz + 200Hz
  • R':1kHz + 2kHz
  • C : 500Hz

我希望该算法能够很好地适用于混合的商业音乐,这将不包括简单的 FFT 分析(我认为。)

我开始研究相关性,但我认为这不适用于这种情况。现在我想我需要看看 ICA,但这似乎专注于从单个输入产生 N 个信号,而不是从 2 个输入产生 3 个信号......

2个回答

有一些商业算法可以做到这一点(Dolby Prologic、DTS Neo 6、Lexicon Logic 7、Bose Videostage 等)。如果您的项目有资金,您可以简单地尝试许可其中之一。

这些算法的内部工作相当复杂,通常是时域和频域特征提取、一些转向逻辑和一些实时转向机制(时变混频器、子带滤波器等)的混合体。

像您的示例这样的简单信号通常很容易分开,但是几乎所有音乐在时间和频率上都是部分相关和重叠的。对于初学者来说,很难定义真正应该在中心和左右的东西。该算法必须做出很多“艺术”决定,以确保没有转向伪影,并且满足各种源材料的设计意图。

一种非常简单的立体声信号算法,它是“平移”单声道源的组合。这使您可以获取立体声源并“收听”在给定点或平移参数的给定范围内平移的信号。

注意事项:

  • 如果混音超过了声相单声道源的总和(应用到混音的立体声混响,用一对顶置麦克风捕获的音轨),它就不能很好地工作。
  • 它在很大程度上依赖于两个源在时间/频率/方位角空间中永远不会重叠的假设(这对于音乐来说是错误的)。
  • 它还受到基于 STFT 的方法的常见伪影(不正确的相位估计)的影响——但这个问题在源分离文献中发现的大量算法中很常见。