Can I even do this?

At the end of a C++ class, my professor mentioned Arduino in a discussion about embedded computing. I should say that I am by no means a code monkey, but rather an audio production student with a general curiosity in electronics and computing. In any case, he mentioned that Arduino makes boards, onto which the owner can create and run his or her own software, and that the board can have various interfaces (ie sensors, etc) attached to it.

What I want to be able to do is have just a simple audio in and audio out with my code in between. What I assume this means is some form of analog input, an A/D conversion, and then the Arduino process running my code, followed by a D/A converter to an analog out. This way, I could learn how digital audio effects units work by playing with the code of my own unit.

What I am unsure of is whether the necessary hardware exists, and if it does, how I acquire it, and once its acquired where to find/how to make drivers, and then finally how to write code that actually does something.

So if anyone knows if my crazy idea is even remotely feasible, please let me know! I would love to do this project because, in my studies, CS and audio are very separate entities and no one talks about the link between, which is what I hope to be able to learn more about.

You'd have to use an external DAC, arduino has no inbuilt DAC, have a look at this:

I'm not sure, but if you are going to be doing live audio processing I think you are looking more for a DSP. DSPs run at very high speeds, and are meant for this type of thing. You can program them in C as well.

Since you haven't programmed anything like this before, I would still recommend playing with the Arduino. The support is excellent, the libraries are extensive, and you can play with some of the projects that involve sound just to see how the code works.

kiltjim -- that's what I figured. I was hoping Arduino would have something for me because the $ is right for a college project. Could you point me to some audio-based Arduino projects? I'm getting lost on the website. Real-time processing would be a dream, however anything musically oriented where I have to write the programming could turn into a "project for credit" if you see what I'm getting at.

bircoe -- I can't seem to understand what he's talking about, other than that he found a controller IC, and I don't have the electronics background enough to understand how to make that work.

For some real time audio processing see:-

However the arduino is not well suited for this sort of thing due to the lack of memory for buffer space and the slow rate of floating point arithmetic operations.

bircoe was pointing out that the Arduino does not have a direct method of generating a voltage. The PWM output of the system is not a stable voltage but instead a series of pulses meant to simulate a voltage.

See here:

You may want to search 'circuit bending'. You essentially 'break' a working instrument, toy, or anything that makes noise. Modify the guts so that you have extra control of the noise maker. This could be as simple as adding variable resistors (potentiometers or 'pots'). This could be your arduino.