【发布时间】:2013-01-29 01:27:42
【问题描述】:
无论我只是嵌套它们(iff(fft(audio)))还是尝试逐个窗口(@987654322@ 音频,执行fft,执行ifft,然后反转窗口,用 eps 替换零,然后将样本合并回来(在管道中到处尝试abs))我只得到噪音。
我知道 ifft 仅与 fft 反向,具有无限精度算术、无限多样本等(对吗?)我正在使用 64 位浮点和 44kHZ 采样率。但是,我希望至少能够听到原始音频。
我的错误是实际的还是理论上的?如果是错误,我可以提供代码。
【问题讨论】:
-
理论上你是对的。你能展示你的代码吗?
-
这是您如何将数据编码回音频的案例吗?
ifft将返回复杂的浮点数。根据您使用的库,它可能只是将数组的内存缓冲区作为 .wav 转储到磁盘,而无需将内容重新转换回浮点数。无论如何,这是产生完整垃圾作为输出的一种方法......尝试写ifft(fft(audio)).real或abs(ifft(fft(audio))),看看它是否会改变任何东西 -
我使用了
scipy.io.wavfile.write()。我已经尝试了这两种方法,问题是正确的dtype(见下文)。