Here is a Python implementation of common audio effects that simulate guitar pedals. Most of the code is refered from Digital Audio Effects by Marshall et. al which implements the algorithms in Matlab.
The gui is bulid with Figma and transfered in tkinter app with TKinterDesigner.
- Clone the repo:
git clone https://github.com/vic4code/Real-Time-Audio-Effects.git
- Create the environment with Conda:
conda env create -f environment.yml
conda activate rt-audio-effect
If you would like to do some basic testing, batch and realtime processing scripts are both provided in :
batch_process.pyrealtime_process.py
If you want to see the final result, please directly run main.py to launch the app:
python main.py
When the input sound passes through spatial effects such as "Wah-Wah", "Reverb", "Delay", "Chorus"... There are some glitches when the input audio is passed through, and I think the problem is caused by the buffer IO in the real time processing. The length of the buffer (e.g. 512 samples) is too short to use the algorithms from Digital Audio Effects for good processing. I think I need to use some post-processing methods to solve this problem.
- Modify the algorithm to consider multiple buffers to accommodate real-time processing.
- Create a fixed queue and process audio by queue instead of by buffer, and the queue contains overlapping buffers.
