This application performs real-time audio processing where it captures the audio input via your device's default microphone, processes it based on the selected mode and feeds it back as audio output within a short delay through your device's default speaker.
Two modes are available:
The program is user-interactive. Through hotkey inputs, the processing mode selection is controllable at any time, and the pitch factor is adjustable only when the pitch shifter is active, with changes effective immediately without affecting the audio streams.
This program has been implemented via a producer-consumer multithreaded architecture with a ring buffer interface. Mutexes and condition variables are also implemented to eliminate all race conditions and ensure that all the threads are synchronised.
If you would like to run this on your device, it's easy to set up — all you need is a G++ compiler and the C-based PortAudio library installed. See the README file on GitHub for more setup info.
