我需要在一个wav文件中过滤掉5KHz以上的频率。我做了一些研究,发现了Butterworth算法,但无法应用它。
假设我有一个单声道的wav文件。我读取它,然后想使用低通滤波器来过滤掉5KHz以上的频率。
目前为止我所做的是:读取该文件,读取帧并将其转换为数值。
from pydub import AudioSegment
song = AudioSegment.from_wav("audio.wav")
frame_count = int(song.frame_count())
all_frames = [song.get_frame(i) for i in range(frame_count)]
def sample_to_int(sample):
return int(sample.encode("hex"), 16)
int_freqs = [sample_to_int(frame) for frame in all_frames]
如果我将大于5000的值改为0,这样就足够了吗?我觉得这不是正确的方法,我很困惑,希望能得到任何帮助。