This project implements an equalizer of audio signal on the human-perceivable spectrum of 20-20000 Hz with the use of Fast Fourier Transform (FFT), with the algorithm written in C++ and signal parsing and GUI written in Python.
This project uses C++17 and Python 3, and as such will require:
- python3 interpreter
- Python libraries: tkinter, numpy, webbrowser, scipy, contextlib, pygame
- bash shell (default location:
/bin/bash)
The C++ files come already compiled to an executable equalize file. However, if case of need, you can compile it yourself by invoking:
g++ -std=c++17 SignalSampling.cpp FFTSolver.cpp equalize.cpp -o equalize
Navigate to python_utils and execute:
python equalizerGUI.py
This project was written as a part of a Bachelor's Degree Thesis in Computer Mathematics at Jagiellonian University in Kraków. The thesis regards Fast Fourier Transform and its applications to signal processing and data compression, from both the theorethical and practical point of view.
Read the full thesis here (in Polish).
- Icon for the equalizer app was downloaded from: https://icons8.com/icons/set/equalizer
