I wrote a library to use Arduino Due as synthesizer and sampler, with audio 12-bits / 44kHz. No shield needed.
The synthesizer is based on DDS synthesis. You can choose to use several oscillator per voice.
Sampler reads one-shot samples on SD card.
There is also a filter.
I post it because maybe someone can find it useful.
Here is the link to guithub page :https://github.com/Gaetino/GroovuinoUsage
My first goal was to build a groove box, that's why I did this library. You can see a video of a simple version here :http://groovuino.blogspot.com/2013/05/groovuino-groove-box-demo.html
But it must be possible to complete a lot of projects with this library, for exemple :
Drum expander for electronic drums
Arduinotron ?? (yes, why not)
I put some comments in the library code, some explainations in the groovuino blog, but don't hesitate to ask questions if you are interested in the library, and tell me where there is a lack of explainations.
I spend a lot of time on this project since weeks, so I no more realize what is comprehensible or not. Future devs
I have a long list of future devs :
. simple effects (disto, bitcrushing, waveshaping, compression)
. delay effect (using the writing on SD card. I hope it will be quick enough)
. loading all adventurekid waveforms on SD card to select them with arduino
=> 3000 waveforms synth !
. playing loop and not only one-shot samples
. Using 12-bits ADC of Due to have audio input (and recording samples with a microphone for exemple)
. Pitch the samples (not so easy !)
For the moment, I can play up to 10 oscillators at a time, and 4 voices of samples.EDIT
: It can play now more than six samples at a time, after optimizing SD card access.
I'm not a very good C++ developper, so the library can be really optimized I think.
For project ideas and future improvements, any ideas are welcome
For code and exemples, any help is welcome
Thanks for your attention,