python - 过滤 wav 文件中高于限制的频率(低通滤波器)

标签 python audio signal-processing fft frequency

我需要在 wav 文件中过滤 5Khz 以上的频率。我做了一些研究,发现了巴特沃斯算法,但无法应用它。

假设我有一个单声道 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 就足够了吗?我不这么认为,我很困惑,很高兴听到任何帮助。

最佳答案

Pydub 包含一个 lopass 过滤器——您无需自己实现它:

from pydub import AudioSegment

song = AudioSegment.from_wav("audio.wav")
new = song.low_pass_filter(5000)

它被“记录”在 effects.py 中.

关于python - 过滤 wav 文件中高于限制的频率(低通滤波器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37139455/

相关文章:

python - PEP 484 打字——如何注释 Callable without Return 类型?

python - 如果我在numpy中将float64数组压缩为float32,我应该担心什么?

java - Java中使用FFT算法进行音频频谱分析

python - DSP : audio processing : squart or log to leverage fft?

android - 无法停止录音,线程无法正常工作,应用程序不幸停止

signal-processing - 在计算快速傅里叶变换时..?

python - Linkedin 身份验证提供无效的 redirect_uri

matlab - MATLAB-组合不同长度和采样的.wav文件

java - 帮助使用 FFT 确定音频样本的频率

python - 在 Python (PyQt4) 中显示弹出窗口