First audio project and its feasibility

Hello there.

I've recently acquired an Arduino Uno and i've been having quite a lot of fun with it, experimenting with small projects and seeing how it works in general. Now i though about something i'd live to acomplish with it, but i don't know to what degree it would be possible to do.

My idea is creating some sort of guitar effects pedal, focused on two core functions: the first one would be an audio bypass performer (like a killswitch for those who know the stuff on guitars) using a simple button, and the second one some sort of simulated ebow (a way to make a signal last longer, as in creating an infinite sustain) using a two-position button.

I'm still not too familiar with audio-related coding, so that would take me a while, a step i'm willing to take if this project is doable.

So what do you reckon? Is this idea feasible? Would it need any special shield to allow for a (as lossless as possible) quality souding experience?

Thanks in advance for the help to this newbie.

I suppose anything is possible with enough ingenuity and determination, but that sort of audio processing doesn't sound like the sort of job for an Arduino.

Yes i know this might not be the best tool, but it would be something i'd love to try, if it is indeed possible. It's just to have a bit of fun, nothing serious, but even so, i'd like to do it as best as possible by both language and hardware.

I'm not sure if the Arduion can handle it or not... The Arduino's analog-to-digital converter is only 10 bits, and there is no digital-to-analog converter built-in, so you'd probably have to add a couple of chips for those functions. It''s likely you're going to need more RAM also.

the first one would be an audio bypass performer (like a killswitch for those who know the stuff on guitars) using a simple button...

I don't know what that is, but if you simply want to kill the audio, or bypass an effect box, of course a simple switch will do the trick.

...and the second one some sort of simulated ebow (a way to make a signal last longer, as in creating an infinite sustain) using a two-position button.

There are two ways to do that (at least). You can record a short bit of sound (maybe one second or so) and then loop the sound. The trick is to join the ends of the loop smoothly (which you can do with a crossfade). The other way would be to use [u]FFT[/u] to analyze the frequency content, and then re-generate that frequecny content (spectrum) continuously (or as long as you like).

Do you have an audio editor? If not, [u]Audacity[/u] is a FREE audio editor. An audio editing application would allow you to experiment with looping and other effects (with recorded sounds, not in real-time) without any programming and without any additional hardware.

DSP (digital signal processing) is not easy, but there is a FREE online [u]DSP programming book[/u] if you want to look into it. And of course, you can find FFT & filter algorithms so you don't have to write your own, but you need to understand how to use them.

Thank you for your answer. I've been using Audacity for a couple years now, but what i was looking for was something focused around Arduino itself.

There's a lot of guitar effect pedals projects around using Arduino, so i thought about doing it for fun, not hoping to get pro results for high quality performances. I'm only thinking about hardware limits, wether i'm able to do it or now.

About the second point i asked about, i once saw something similar that had only one knob, used to define how long it took for the sound to decade and feeback to surge (from instantly to never), that's why i didn't think about sound loops in the first place.

I'll read that DSP book, even though it looks a little bit overwhelming at first glance.

Like anything else, i'll give it some time.

After researching a bit about it, i found out:

This is a quite "simple" project, yet functional and pretty close to what i was thinking about. I guess i'll try playing around with it, reproducing that project on a breadboard first (i have a lot of spare guitar parts, like pots) and then working from there, replacing the pot-related parts with 2 buttons and tweaking the code in order to try and get something close to what i want.

I think i'll have a lot of fun (and possibly some frustraion) ahead! :stuck_out_tongue: