我一直在使用FFT技术,目前我正在尝试使用FFT从文件中获取声音波形(并最终修改它),然后输出已修改的波形到文件。我已经得到了声波的FFT,然后对其使用了一个反向FFT函数,但是输出文件听起来一点也不对。我还没有对波形进行任何滤波-我只是测试一下如何获取频率数据,然后将其放回文件中-它应该听起来相同,但是听起来完全不同。
我之后一直在努力,但是还没有得到想要的结果。输出的声音文件很嘈杂(更响亮,并且存在原始文件中不存在的额外噪声),并且一个声道中的声音泄漏到另一个声道中(先前是静音的)。输入的声音文件是立体声2通道文件,只有一个声道有声音。以下是我的代码:
我不太明白为什么这不起作用。
我已将问题.py文件和音频文件压缩,如果有帮助解决问题可以从这里下载。
我之后一直在努力,但是还没有得到想要的结果。输出的声音文件很嘈杂(更响亮,并且存在原始文件中不存在的额外噪声),并且一个声道中的声音泄漏到另一个声道中(先前是静音的)。输入的声音文件是立体声2通道文件,只有一个声道有声音。以下是我的代码:
import scipy
import wave
import struct
import numpy
import pylab
from scipy.io import wavfile
rate, data = wavfile.read('./TriLeftChannel.wav')
filtereddata = numpy.fft.rfft(data, axis=0)
print(data)
filteredwrite = numpy.fft.irfft(filtereddata, axis=0)
print(filteredwrite)
wavfile.write('TestFiltered.wav', rate, filteredwrite)
我不太明白为什么这不起作用。
我已将问题.py文件和音频文件压缩,如果有帮助解决问题可以从这里下载。
filteredwrite = numpy.round(filteredwrite).astype('int16')
。 - Bi Rico