Platform for Audio Filtering (Digital Filters) in Real-Time using Convolution Theorem and Fast Fourier Transform.
-
Users to configure the specification of the filter using impulse response of the system h[n], H(z) Transfer fucntion either by H(z) equation or by giving zeros/poles of H(z), LCCDE coefficients, and cut-off frequency.
-
It also have in-built Ideal filters like Low Pass Filter, High Pass Filter, Band Pass Filter, and Band Stop filter.
-
Users can also Save the Filtered Audio, and Plot the Frequency Response of the ideal as well as custom filters.
- Use Pyaudio to get audio in real time.
- Matpoltlib for visualization.
- Tkinter For UI.
In time domain, filtering is convolution of input x[n] and impulse response of h[n].
y[n] = Σ x[k]*h[n-k]
where is y[n] is filtered audio.
Convolution in time domain is same as product in frequency domain. In frequency domain,
Y(ejw) = X(ejw)H(ejw)
To Convert back into time domain, we have to take inverse dft. Fast and efficient way to take dft is ifft.
y[n] = IFFT(Y(ejw))
We have use a low pass filter to filter out high frequency audio.
- When low frequency audio was passed through the filter.Audio was allowed to pass.
- When High Frequecny audio was passed through the filter. Audio was blocked and was not allowed to pass.
- When Ideal Low Pass filter was applied. On decreasing the low cut off frequency the higher frequency audio was blocked.
.png)



