Drum Sequencer/Sampler - 12-bit 8 Channels - One Arduino?

I had originally crashed in on Camm's thread (Is Arduino good for this application? (midi, audio, small scree) - Audio - Arduino Forum) as he has a similar inquiry but I think I might be biting off more than I can chew and didn't want to drag him down with me :).

I am a beginner when it comes to the programming side of it but an avid tinkerer. Lately, I have been trying to wrap my head around some drum sequencer ideas along the lines of the classic 80's machines.

I've checked out a few audio shields online and bought a couple to play with. I have the Adafruit Wave Shield and the Rugged Circuits Rugged Audio Shield. The Wave Shield is cool but simple and I have yet to realize the full potential of the Rugged one; still tinkering with it. The Nootropic Audio Hacker looks great too, might pick one up.

I've also had a look at that fantastic Due-based Groovuino project (GitHub - Gaetino/Groovuino: Sound library for Arduino Due to make a groovebox) - it's opening my eyes to some possibilities with audio and sequencing - very cool.

I'm hoping maybe someone here can provide a little insight for me?... Is it possible to run an 8 channel drum machine with 12-bit 20-something-khz samples being looped (and tuned - vol, pitch, filter, etc.) simultaneously based on a tapped-in drum sequence with just a single Arduino (like the Due)? Along the lines of an Emu SP-1200 or a rompler? I know you can get away with much more if you run the audio at 8-bit but I'm aiming for decent, old school drum machine quality.

I was thinking I could have channels 1-6 as dedicated drum sound channels, each one would hold a single kick, snare, etc. maybe being run off their own Arduino, which would maybe 'master' to a second Arduino with the Rugged Audio Shield running channels 7/8 as the 'sampling channels'. Or something to that effect...

Ideally it would be great to have all 8 channels store drum hits and have the ability to have short (1-2 sec.) recorded samples assigned to each as an option; then you could choose between the dedicated sounds or the sampled one on each channel. This is probably pushing it though short of running several audio-shielded Arduinos to handle each channel instance...

I'm betting it's possible to achieve this :wink: using multiple Arduinos and being a little inefficient (maybe that's ok to start with?) but would love to get some perspective on how to be as efficient as possible, getting this all under one board (Due?) with maybe some external help via a shield or some extra ram or storage maybe. If this is even possible...

Any help or insight is greatly appreciated.

Thanks!

Should be possible! A single '644 is doing this:

Although the AVR has been overclocked to bollocks... I was thinking of buying a Due myself for audio tinkering, seems like it has more than enough guts to achieve the task, the hard part being the programming!

Hi,

You can read this post : extra RAM on Arduino Due - Storage - Arduino Forum
Now I can read more than 6 wave samples at a time, thanks to some SdFat Lib functionality. I didn't try yet, but maybe you can read up to 8 samples.
For now, I just tried with one-shot samples, but theoretically it shouldn't be different if you play loops. I will add the loop management one day, but if you want to try this, I will definitely help you.

Thank you both for the replies and the help offered. I will definitely check out the suggested thread, it seems I'm headed down a similar path. There's alot of great info in there.

When I start to get some traction with my little sampler/drum machine project I will share my experiences here and will no doubt ask for some more guidance!

Thanks again.

1 Like