python低通滤波器音频去噪代码
以下是使用Python实现低通滤波器进行音频去噪的示例代码:
import numpy as np
import scipy.signal as signal
import scipy.io.wavfile as wavfile
# 读取音频文件
rate, data = wavfile.read('audio.wav')
# 定义低通滤波器参数
cutoff_freq = 2000 # 截止频率为2000Hz
nyquist_rate = rate / 2 # 奈奎斯特频率
cutoff_normal = cutoff_freq / nyquist_rate # 归一化截止频率
b, a = signal.butter(4, cutoff_normal, 'lowpass') # 4阶低通滤波器
# 应用滤波器
filtered_data = signal.filtfilt(b, a, data)
# 保存滤波后的音频文件
wavfile.write('filtered_audio.wav', rate, filtered_data)
在代码中,首先使用wavfile.read函数读取音频文件,然后使用signal.butter函数定义一个4阶低通滤波器,并将截止频率设置为2000Hz。接着,使用signal.filtfilt函数将滤波器应用于音频数据,得到去噪后的音频数据。最后,使用wavfile.write函数将去噪后的音频数据保存到文件中。
需要注意的是,滤波器的阶数和截止频率可以根据实际情况进行调整。在实际应用中,可能需要进行多次试验以找到最佳的滤波参数
原文地址: https://www.cveoy.top/t/topic/cr1h 著作权归作者所有。请勿转载和采集!