代码之家  ›  专栏  ›  技术社区  ›  Lior Kogan

如何对采样音频信号进行频谱反演

  •  6
  • Lior Kogan  · 技术社区  · 14 年前

    理想C++

    代码应支持不同的采样率(16/32/48KHz)。

    3 回复  |  直到 14 年前
        1
  •  8
  •   mtrw    14 年前

    混合信号 Fs/2

    混合方式 相当于混合 exp(j*pi*n) . 如果 x 是输入和 y 输出,

    y[n] = x[n] * exp(j*pi*n) = x[n] * [cos(pi*n) + j*sin(pi*n)]
    

    sin(pi*n) 是0,并且 cos(pi*n) 交替为1,-1。

        2
  •  1
  •   Rex Kerr    14 年前

    为了得到与原始文件具有相同类型的时间结构的文件,您需要

    • 创建光谱图(具有一定的窗口大小)
    • 选择一些频率上下限,你将翻转

    因为这是一个音频信号,所以相位都会被弄乱并不重要。反正你也听不到。除了翻转部分, ARSS 做频谱图的创造和声音的再合成。

    否则,您可以只进行FFT,反转分量的振幅,然后进行逆FFT。但这基本上是荒谬的,因为它会完全扰乱声音的时间结构以及频率结构。

        3
  •  0
  •   guesti    8 年前

    所以你只需要将其他样本乘以*-1,就完成了。

    没有延迟,没有别名,什么都没有。