【发布时间】:2020-01-06 11:12:26
【问题描述】:
总的来说,我需要做的是 fft 两个 wav 文件,对它们进行卷积,然后对 fft 进行逆运算(以在更大的噪声 wav 文件中找到一个声音的时间戳。
感谢Python Scipy FFT wav files的bunkus,我有两个wav文件的fft
使用此代码后,我将如何在给定频率和幅度数组的情况下对两个 wav 文件进行卷积?如果我使用numpy.convolve,这两个输入会是每个 wav 文件的频率数组吗?振幅阵列? scipy.signal.fftconvolve()呢?
我需要以某种格式输出卷积,以便在此卷积上将其传递到np.fft.ifft()。
【问题讨论】:
-
您正在寻找对信号进行卷积,这相当于在频域中相乘。因此,要么在应用 FFT 之前对数据使用
numpy.convolve或scipy.signal.fftconvolve,要么应用 FFT,将两个结果相乘,然后再进行 IFFT。但是,要在另一个信号中找到一个信号,您不应该使用卷积,而是使用互相关。这需要在应用卷积之前翻转“模型”信号。 -
所以总而言之我应该翻转模型信号,应用卷积,fft,然后 ifft?我将如何翻转信号?那时 fft 的输入是什么?卷积结果的频率数组?
-
没有。卷积(a,b) == ifft(fft(a)*fft(b))。
标签: python audio fft detection