Equaliser

  Key Features: Done with JUCE framework by using filter processor duplicator (IIR filter, juce::dsp::ProcessorDuplicator) Response curve (logarithmic), spectrum, audio waveform, peak and RMS level meters Volume and low-high-band pass (with 0.707 Q value) and […]


Interactive Multi-State Engine

  Key Features: Done with FMOD API, diagram shows class dependency and interactive class state structure State containers and segments can be set by order, loop, and randomness Interactive music class is an open nested […]


Spectrum Analyser

  Key Features: Done with JUCE framework by using filter processor duplicator (IIR filter, juce::dsp::ProcessorDuplicator) Balanced log-linear spectrum, audio waveform, peak and RMS level meters Volume and low-high-band pass filters (with 0.707 Q value) for […]


Second Order Butterworth Filter

The Laplace transform and z-transform are mathematical ways of breaking an impulse response into sinusoids and decaying exponentials. This is done by expressing the system’s characteristics as one complex polynomial divided by another complex polynomial. […]


Audio Analyser

  Key Features: Done with JUCE framework by using filter processor duplicator (IIR filter, juce::dsp::ProcessorDuplicator) Audio thumbnail, linear spectrum and stereo correlation windows, peak and RMS level meters Volume, low pass filter, and stereo width […]


Local Extremas and Nesterov Accelerated Gradient

To find a global minimum for a selected function, I compared brute force sweeping with Nesterov Accelerated Gradient (NAG)optimisation technique. By applying a small deltaX increments, I obtained local extremas in the range of selected […]


Arc Length by Simpson’s Rule

I applied Simpson’s rule to the integral in the arc length formula to get an approximate length of a quadratic equation curve. To do that, I applied Simpson rule by  sweeping small increments on x […]


Curve Point Distribution

This implementation’s purpose is to distribute a desired number of points on the curve by equal path distance to each other. To do that, I applied an adaptable unit length strategy while trying to keep […]


Experimental Schroeder Reverb

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 way, […]


Recursive Moving Average Filter

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 keep […]


Latitude Point Distribution

This is for symmetrical distribution of points in each latitude on a sphere. As an input, different number of points for each latitude can be assigned. Top and bottom coordinates, of course, are the easy […]


Top Cut of Convex Hull

I developed an algorithm based on “three penny algorithm” to find the top cut of a convex hull for dense circle shaped data. It takes the most left point as an entry point like Jarvis’s […]


Analysing Attack Times

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. I […]


Parabolic Peak Interpolation

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 fundamental), […]


Hamming, Blackman, and Blackman-Harris

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 not […]


1 2