Arduino Realtime Audio Processing Tutorial

Arduino Realtime Audio Processing Tutorial- This is an experiment to show how some realtime audio processing can be done with the Arduino. The first set of examples alter an incoming audio signal and put it back to an audio output. We achieve effects like Reverb, Phasor, Flanger or Ringmodulator. The second set of examples are outputting computed waveforms like Sinewave, Bell and Xylophone sounds.

Building and testing the Audio Circuit around the Arduino
The audio input signal is connected via a 10uF capacitor to the the analog input 1 of the Arduino Board. Two resistors and a trimmpot are adding an DC offset to the audiosignal . A potentiometer connected to analog input 0 will be used to control the audio effects. Pin 11 is used as PWM audio output connected via a RLC Filter to the audio output jack. The output can be connected to a active PC Speakers. 

A good way to generate a test Signal is using a PC and a audio software like Audacity. A clip of music or speech is recorded and then filtered with a 3KHz. lowpass function. The Signal has to be filtered to avoid the aliasing effect when the signal gets sampled which would lead to a distorted sound. Now you can connect the PC headphone output to our setup and playback the clip in an endless loop . You might have to use full volume since Arduinos ADC needs a level of 2.5 Volt peak for best quality. When you want to use a microphone or an other input source you have to build an extra preamplifier with an appropriate steep lowpassfilter.

For more detail :
Arduino Realtime Audio Processing : http://interface.khm.de/index.php/lab/experiments/arduino-realtime-audio-processing/




Back To Top