音频低通滤波代码python
时间: 2024-03-15 12:40:15 浏览: 88
python实现低通滤波器代码
4星 · 用户满意度95%
当涉及音频低通滤波时,Python中有几个常用的库可以使用,例如`scipy`和`numpy`。下面是一个使用`scipy`库实现音频低通滤波的示例代码:
```python
import scipy.io.wavfile as wav
from scipy.signal import butter, lfilter
# 读取音频文件
sample_rate, data = wav.read('audio.wav')
# 定义低通滤波器参数
cutoff_freq = 4000 # 截止频率
order = 4 # 滤波器阶数
# 计算归一化的截止频率
nyquist_freq = 0.5 * sample_rate
normalized_cutoff_freq = cutoff_freq / nyquist_freq
# 使用巴特沃斯滤波器设计滤波器系数
b, a = butter(order, normalized_cutoff_freq, btype='low', analog=False)
# 应用滤波器
filtered_data = lfilter(b, a, data)
# 将滤波后的数据保存为新的音频文件
wav.write('filtered_audio.wav', sample_rate, filtered_data)
```
这段代码使用了`scipy.signal.butter`函数来设计巴特沃斯低通滤波器,并使用`scipy.signal.lfilter`函数应用滤波器。最后,使用`scipy.io.wavfile.write`函数将滤波后的数据保存为新的音频文件。
阅读全文