I am new to Arduino and this is the first project I have attempted. Id like to create a digitally controlled analog synthesizer that uses pulse width modulation for sound generation. Id like to be able to communicate with the synthesizer with the Matlab software environment. I was trying to do some searching online to come up with the necessary components I should look into purchasing. Does anyone have any recommendations for parts I should potentially purchase? Are there any synthesizer kits that include USB functionality? Im sure there are numerous approaches to take but I thought I would start a thread to see if I could get any direction. Any help/feedback would be much appreciated.
that uses pulse width modulation for sound generation.
You sure of that?
Any pulse with modulation will sound the same irrespective of the width of the pulse.
OK so you will get a slight detectible change in the sound as the pulse width changes but nothing to write home about.
Yeah Im sure its a commonly used synthesis technique. Its often used to create lush string sounds and that hoover sound that is characteristic of late 80s raver music. Here is an article detailing its application to sound synthesis:
Well I was wondering what specifics types of Arduino parts I should look into purchasing. I would imagine that I would need a USB Arduino board. I found one called the Arduino Mega 2560. Its USB powered and has PWM outputs. Would this board be sufficient to generate audio or would I need some additional components for amplification? I interested in using the following Matlab functions to run a model on the hardware: http://www.mathworks.com/help/simulink/arduino.html
Using an arduino to generate complex sound is not impossible as witnessed by this project of mine:-
But that has lots of addons like a D/A, SRAM and EEPROM, the normal arduino is limited as to memory and processing power.
You are better off using an Arduino Due. That has a built in D/A, a lot more memory and is a lot faster.
However real time sound generation is not simple and you should get some general experience in using the arduino first.
Thanks for the input Mike. I will look into the Arduino Due. I ordered an introductory Arduino book (Programming Arduino Getting Started with Sketches) and am doing as much reading as I can online. I think its a good idea for me to start getting my hands dirty and learning along the way.