Second Order Butterworth Filter

Python. To grasp its fundamentals, I implemented the second order Butterworth filter for 500 Hz cutoff frequency by calculating its coefficients (pen and paper). Of course, it is so easy to use scipy butter function […]


Experimental Schroeder Reverb

Python. It is an experimental Schroeder reverberator implementation. I applied three combo filters and then two all pass filters without any buffer. Reverb tail was added to the end of input signal in a simple […]


Recursive Moving Average Filter

Python. I implemented the recursive moving point average filter to clean background noise of test some audio files. It basically works in time domain. That’s way, it is more faster than FFT algorithms when we […]


Analysing Attack Times

Python. I used the spectrogram to detect attack times in a single line melody by shaping signal’s power graph. It works better with only slow passages in which the notes are separable from each other. […]


Parabolic Peak Interpolation

Python. I applied interpolation technique to the spectral peak based on fundamental frequency after FFT was taken. It is basically to find a better estimation of the peak by using the max spectral bin (of […]


Hamming, Blackman, and Blackman-Harris

Python. This is my implementation for some of windows used in audio applications. I chose Hamming, Blackman, and Blackman-Harris window functions. Instead of using FFT pack, I directly applied DFT since the DFT size is […]


Discrete Fourier Transform

Python. This is my DFT implementation to test a wav file. It only accepts mono wav files with 44100 Hz sample rate. I used 32 floating point (with max 23 mantissa) in the range -1 […]