Cequal stands for: C-based equalizer for educational purpose.
This equalizer demonstrates a typical conversion between time and frequency -domain, often applied to audio processing.
It can amplify or decrease volumn in the selected bands.
Better performance and higher spectrum resolution may be supported later.
- Warning: gently adjust volumn especially in low frequncy
- pthread
- g++
- Open MP
- Open AL
- ncurses
sh compile.sh
./cequal <YOUR_WAV_FILE> [OUTPUT.WAV (optional)]
Output file by default is named tmp.wav.
- better performance for higher spectrum resolution (to solve frequnecy leakage)
- refine ncurses refreshing synchronization
This document is exported from: https://github.com/superpi15/cequal/
In C math library, sine function takes radians as its input.
A sample is a data of a time step.
Given sample rate
and sample index ,
the elapsed time is
Consider a frequency from a selected set of band , the amplitude of sine function at the time is
Shown above indicates that band frequency can be first converted into angular freqency to reduce computation overhead.
Partition into even and odd part
Observe the elements crossing half window size
Observe K+1-th term
Observe K+(N/4)-th term