嘿,我是python的新手,刚刚开始学习fft
。这是wav
文件的频率绘图仪。
我想删除300Hz
以下和3400Hz
以上的频率。
以下是一些代码:
from scipy.io import wavfile
from scipy.fftpack import fft, fftfreq
import matplotlib.pyplot as plt
wav_filename = "speech.wav"
samplerate, data = wavfile.read(wav_filename)
total_samples = len(data)
limit = int((total_samples /2)-1)
fft_abs = abs(fft(data))
freqs = fftfreq(total_samples,1/samplerate)
# plot the frequencies
plt.plot(freqs[:limit], fft_abs[:limit])
plt.title("Frequency spectrum of %s" % wav_filename)
plt.xlabel('frequency in Hz')
plt.ylabel('amplitude')
plt.show()
有人可以帮助我并向我展示一种方法吗?非常感谢。