rfft或irfft增加python中的wav文件量

时间:2016-03-11 02:29:47

标签: python audio fft wav ifft

我刚刚开始编写一个程序来操作python中的一些音频。在我编写任何滤波函数之前,我想做一个测试,在输入信号通过rfft和irfft之后将输入信号与输出信号进行比较。出于某种原因,输出文件与输入文件相比具有令人难以置信的增益(50db!),我无法弄清楚为什么会发生这种情况。 这是代码:

from scipy.io.wavfile import read, write
from scipy.fftpack import rfft, irfft
import numpy as np

rate, input = read('5and10ksm.wav')
transformed = rfft(input) 
output = irfft(transformed)
write('smaller.wav', rate, output)

谢谢!

1 个答案:

答案 0 :(得分:0)

scipy.fftpack.irfft返回一个浮点数组。在将其作为wav文件写入之前,将其转换为输入文件的dtype:output.astype(input.dtype)