可以使用Python中的信号处理模块s
ci
py来实现
音频
频率滤波。以下是一些例子,演示使用Python在
音频
文件中滤波出指定频率的
音频
。
导入必要的模块
import numpy as np
from scipy.io import wavfile
from scipy.signal import butter, lfilter
定义滤波函数
def butter_bandpass(lowcut, highcut, fs, order=5):
nyq = 0.5 * fs
low = lowcut / nyq
high = highcut / nyq
b, a = butter(order, [low, high], btype='band')
return b, a
def butter_bandpass_filter(data, lowcut, highcut, fs, order=5):
b, a = butter_bandpass(lowcut, highcut, fs, order=order)
y = lfilter(b, a, data)
return y
读取音频文件
# 读取wav格式音频文件,返回采样率和音频数据
fs, audio = wavfile.read('audio.wav')
过滤指定频率的音频
# 过滤200Hz到300Hz之间的音频
filtered_audio = butter_bandpass_filter(audio, 200, 300, fs, order=6)
将过滤后的音频写入新的文件
# 将过滤后的音频写入新的wav格式文件
wavfile.write('filtered_audio.wav', fs, filtered_audio)
通过以上5个步骤,我们就可以使用Python实现从音频文件中过滤出指定频率的音频。