Hindi_ASR / highPassFilter.py
cdactvm's picture
Update highPassFilter.py
309d009 verified
raw
history blame
1.11 kB
from scipy.signal import butter, lfilter
import scipy.signal
# def high_pass_filter(audio, sr, cutoff=100, order=5):
# """
# Applies a high-pass filter to an audio signal.
# Parameters:
# audio (numpy array): The input audio signal.
# sr (int): The sample rate of the audio signal.
# cutoff (float): The cutoff frequency in Hz. Default is 100 Hz.
# order (int): The order of the filter. Default is 5.
# Returns:
# numpy array: The filtered audio signal.
# """
# # Design the high-pass filter using a Butterworth filter design
# sos = scipy.signal.butter(order, cutoff, btype='highpass', fs=sr, output='sos')
# # Apply the filter using sosfilt (second-order sections filter)
# filtered_audio = scipy.signal.sosfilt(sos, audio)
# return filtered_audio
def high_pass_filter(audio, sr, cutoff=300):
# Design a Butterworth high-pass filter
nyquist = 0.5 * sr
normal_cutoff = cutoff / nyquist
b, a = butter(1, normal_cutoff, btype='high', analog=False)
filtered_audio = lfilter(b, a, audio)
return filtered_audio