Voice Changer adding voice effects to adavoice.ino sketch

So i was able to get the adavoice sketch file up and running with my voicechanger program. I uploaded it to my arduino uno board and everything works great. I have a desired deep voice for my halloween costume.

My question is.... Is it possible to add voice effects to the program like echos or fades. So what would be neat is if you could hard code somewhere in the program to add more effects to just the one voice. So with the default deep voice i already have could you add a echo effect to it to make a deep echoing voice?

I am new to programming and i am not sure if arduino will let you do this but i am just curious if anyone knows.

I doubt that you could do that on the fly. An echo requires a delay line. For an echo of 0.1 second you would need around 800 samples (about 1600 bytes), assuming an 8kHz sampling rate to preserve the voice frequencies. The Adafruit voice changer uses “grains” of 0.01 sec which only requires about 160 bytes, two bytes per 10 bit sample (*), to do the voice changing effect. A faster processor with more ram could do it.

One way around it might be to have two Unos. One which does the echo effect and passes it on to the other Uno doing the Adavoice code.

Either way you’re going to have to write some extra code yourself.

Pete
(*) unless there’s some fancy data packing going on which will require extra cpu time to pack and unpack the samples.

el_supremo: I doubt that you could do that on the fly. An echo requires a delay line. For an echo of 0.1 second you would need around 800 samples (about 1600 bytes), assuming an 8kHz sampling rate to preserve the voice frequencies. The Adafruit voice changer uses "grains" of 0.01 sec which only requires about 160 bytes, two bytes per 10 bit sample (*), to do the voice changing effect. A faster processor with more ram could do it.

One way around it might be to have two Unos. One which does the echo effect and passes it on to the other Uno doing the Adavoice code.

Either way you're going to have to write some extra code yourself.

Pete (*) unless there's some fancy data packing going on which will require extra cpu time to pack and unpack the samples.

OK that makes sense. I was just wondering if the arduino uno could handle some xtra things like that. Would an external source work in that case instead?

Would i be able to buy a voice distorter box and plugin in the aux cable from the port on the arduino into the input on the box and then my speakers that would normally go into the aux port on the arduino in the output on the distorter box? and then find another way to rig a seperate battery to that?