Pages: [1]   Go Down
Author Topic: Groovebox library for Arduino Due  (Read 1694 times)
0 Members and 1 Guest are viewing this topic.
France
Offline Offline
Newbie
*
Karma: 0
Posts: 46
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello all,

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/Groovuino


Usage

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
Polyphonic synth
Wavetable synth
Arduinotron ?? (yes, why not)
loop recorder
multi-effect pedal
etc...


Documentation

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 !)
etc...


Limitations

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  smiley-lol.

 
Thanks for your attention,

Gaétan
« Last Edit: June 10, 2013, 07:36:04 am by gaith » Logged

Build a groove box with Arduino Due :
http://groovuino.blogspot.com/

Offline Offline
God Member
*****
Karma: 12
Posts: 570
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Impressive!
wished I could come close to that one day ....
Logged

France
Offline Offline
Newbie
*
Karma: 0
Posts: 46
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I can ensure you that it's not very hard to do (once the library is made). The hardest part was to build the case with plexy. (You can see it's not very nice)
Maybe one day we'll all have a 3d printer at home and it will be so easy...
Logged

Build a groove box with Arduino Due :
http://groovuino.blogspot.com/

Offline Offline
Newbie
*
Karma: 0
Posts: 25
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Greetings Gaith! I have a question- I was trying to load up and play with your "monosynth" example that you posted on your github along with the Groovuino code. I can't get it to compile correctly- do you have a more up-to-date version of that code?

Or, can you share your code that you used to make that demo video with?

I'm very interested to play with this code and I think your examples sound awesome, but I'm a little inexperienced with this and could really use a working example to get started.

Thanks!
Logged

France
Offline Offline
Newbie
*
Karma: 0
Posts: 46
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
Thanks for your interest.
Sorry, the library changed a lot since I had written this example, so it didn't work anymore.
I just made some changes, and now it will work. You'll have to load again the library from guithub, and copy the new code I updated in my post.
But be aware, this example requires the groovuino hardware. (buttons, LEDs, pots...)
The samplers examples are more easy to make it work, it only needs an SD card reader.

If all this examples seem too much complex to you, you can give me an idea of a simple example synth to build (1 pot for pitch, 1 pot for filter, for example), and I will post that. It will surely help other people.
Logged

Build a groove box with Arduino Due :
http://groovuino.blogspot.com/

France
Offline Offline
Newbie
*
Karma: 0
Posts: 46
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello again Michaeluna.
I just published a new post on my blog here :
http://groovuino.blogspot.fr/2013/08/simple-mono-synth-with-groovuino-library.html

It's a very simple example making a monosynth with 4 potentiometers.
I hope it will be a good example to start with the groovuino lib.
Logged

Build a groove box with Arduino Due :
http://groovuino.blogspot.com/

Pages: [1]   Go Up
Jump to: