用于在Python中绘制WAV文件的频率滤波器

时间:2018-12-10 22:56:09

标签: python plot filter frequency

我目前正在学习使用python进行绘图。这是wav文件的工作频率绘图仪。现在,我想制作一个滤波器,该滤波器可以滤除300Hz以下和3400Hz以上的频率,有点像带通吗?谁能告诉我最简单的方法吗?我读了一些关于内置高通滤波器和低通滤波器的信息,例如

“ wav_filename.low_pass_filter(3400)”,但是那不起作用。

%matplotlib inline

from scipy.io import wavfile
from scipy.fftpack import fft, fftfreq
import matplotlib.pyplot as plt
from pydub import AudioSegment

wav_filename = "speech_clean (1).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)

fftfreq?

# 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()

0 个答案:

没有答案