This project allows you to use the Audio Hacker shield to manipulate an audio signal in realtime by adding an echo effect. This is achieved by constantly recording the incoming signal to memory. When reproducing the incoming audio on the output, we also mix in previously recorded signal from “the past”. By adjusting a potentiometer connected to A0, you can adjust the amount of delay that the echo has. The longer the delay, the further back into memory the program reads to get the echo signal. The echo is attenuated so that it is quieter than the signal being played through from the input. Attenuating the signal is achieved by simply dividing the value by 2, therefore reducing its volume by 6dB.
Load the Arduino sketch File->Examples->Audio Hacker->EchoEffect. Connect a potentiometer to A0. If you are unsure how to wire the potentiometer, see analog input tutorial. Set the pot to its lowest level. Connect an input source so we can create an echo effect of the input. Spoken word is much better for hearing an echo than music, so try using a talk radio station or a podcast. Now increase the potentiometer to increase the amount of echo.
If you want to know how long the echo is, uncomment the line #define DEBUG and open the Arduino serial monitor with speed 115200.
Here is what the echo effect sounds like. While recording this, I changed the echo delay by using a potentiometer so you could hear the difference between short delays and long delays.
To send my voice into the Audio Hacker, I run Audacity on my computer and enable the monitoring feature for the microphone.
This sends anything picked up by the computer’s microphone to the computer’s audio output, which is connected to the Audio Hacker input. I highly recommend Audacity which is free!
I want to repurpose this sketch to use it as delay line;
But for that I need to get rid of the dry signal and the echo. Just play the sample once with the delay apply to it.
I try commenting the
“mix= signal -2048” block of instructions,
It gets rid of the dry signal but I still get the echos. How can I get rid of the echos?
Can I assign the buttons on S1, S2 on the shield to change the echo delay in ms
Thanks so much.
I am trying to make a guitar loop pedal using the audio hacker shield. I am having trouble establishing the input on the shield in the code. the readADC function seems to read a constant value even when i have an input plugged in. Any suggestions
An electric guitar output is very weak. Have you increased the pre-amp?
can i use the Audio Hacker Echo Effect with the realtime reverse i,m new to arduino so not sure if i can have both together
No, they are separate projects. I suppose they could be combined, but it would be tricky.
Hi, can I change the RAM with LY68L6400SLIT (64MB/8MB) ? voltage level shifter is given, i wonder if arduino would be able to handle it?
It might work. The chip pinout looks compatible. Voltage level shifting required, of course.
Hi Michael, thanks for replying, I am studying your code and now making my own code using Standard SPI. trying to do the audio delay since forever.
This is my starting point of learning microcontroller and I would like to thank you for providing this project for public.
Really, you’re my hero.
Thanks! Have fun!
Love this really cool, can we add to this feedback to echo for a long period after signal has stopped? would be perfect for my needs.