Beginner. Advice.

Hi all,

I've been a programmer for some years, and have also been a music producer since my teenage days. I was exposed to Arduino by a friend and being a hardware synth fanatic I thought why not combine my skills and interests and create my own audio hardware.

I just purchased the Arduino Duemilanove from here: http://uk.farnell.com/multicomp/mc-nove/board-atmega328-arduino-duemilanove/dp/1813412?Ntt=ARDUINO+DUEMILANOVE+CP

I'm trying to get an idea of equipment and wires I will need to get started but I can't see anything in the manual. I mean eventually I would like to start creating audio modules and connecting them to Arduino.

Apart from the board what am I going to need to get started?

I'm using a MacBook Pro btw (Intel).

To get started, you need the arduino software (download it from the main site), some projects in mind, and bits for them. If you want to make audio products, a speaker is essential. After that, it's up to you! The arduino can make a tone, but is not much good for music. Unless you add a shield into the game:

http://www.skpang.co.uk/catalog/midi-shield-p-669.html MIDI shield
http://www.skpang.co.uk/catalog/mp3-shield-p-738.html MP3 shield
http://www.skpang.co.uk/catalog/music-shield-by-seeedstudio-p-934.html Music shield
http://www.skpang.co.uk/catalog/arduino-musical-instrument-shield-p-883.html Musical instrument shield
http://www.skpang.co.uk/catalog/mp3-player-shield-with-sd-card-holder-p-904.html MP3 shield with SD card holder

Play about, have fun and learn. :smiley:

Onions.

Thank you.

Is Arduino ok with playing sounds from file or direct input? I was thinking about creating a granular type effect turning inputed samples into glitchy type sound. Maybe in the future controlled with some knobs and sliders (thinking far ahead, but you get me ... I hope).

Is that something that's possible?

Yes. But the processing is limited to a few hundred microseconds. The Arduino is barely fast enough for Audio processing. Also the analog inputs cannot be used for input because they are not fast enough.

smeezekitty:
Yes. But the processing is limited to a few hundred microseconds. The Arduino is barely fast enough for Audio processing. Also the analog inputs cannot be used for input because they are not fast enough.

I see thanks. So something with DSP would be needed for audio stuff beyond basic processing?

Yes but you can do a bit, have you seen this page:-
http://interface.khm.de/index.php/labor/experimente/arduino-realtime-audio-processing/

You may be interested in the auduino project

I see thanks. So something with DSP would be needed for audio stuff beyond basic processing?

Doesn't have to be a DSP, although they have handy instructions like saturating arithmetic and are optimized for realising digital filters. You just need more horsepower to do more per sample. And IO hardware that talks the various digital audio standards would be handy too. Ease of programming is probably an important factor too.

You can do very interesting audio stuff with Arduino, however because it's not provided as an Audio processing system, some things are missing which makes it harder to use.

  1. ADC in its Arduino standard configuration is not really suited to audio, because it's too slow.
    BUT configuring the AVR ADC with a lower bit resolution (8bits) and using direct access to AVR registers makes it accessible performance-wise. See here for some details. This has an impact on your sketch (with wait time for conversion).

  2. DAC is limited to PWM.
    BUT this PWM can be configured for Audio application but without using the Arduino functions, you shall dig into the AVR documentation and the forum to create your application.

In the end, making Audio is far from being unfeasible, but not straghtforward, you need to dig into the hardware and optimize things. Not trivial, but nothing impossible. You'll be restricted to 8 bit resolution / low speed sampling, but you can do musical stuff. I've been playing around with my synth the last days and it's working quite well !

Have fun with audio and Arduino

Well I'd say the ADC in the Arduino isn't up to audio resolution, being only 10 bits and noisy since it shares supplies with the digital circuitry. Most audio these days uses 16, 20 or 24bit ADC resolution, and 16 is widely regarded as the minimum for hifi performance.

However for speech quality 10 bits is OKish.

16 is widely regarded as the minimum for hifi performance.

It might be but you would be wrong. You get more levels of audio than the ear can distinguish with 16 bits. Eight bits is fine for speech and 13 bits is great quality.