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

rfft or irfft increasing wav file volume in python

我刚刚开始编写一个程序来处理 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)

谢谢!

scipy.fftpack.irfft returns 一组浮点数。在将其写入 wav 文件之前将其转换为输入文件的数据类型:output.astype(input.dtype).