The SoléBot Robotic Drum Kit Project Repo Is Live

Gotta say, I'm pretty chuffed with this project! Yeah, the repo's still a bit messy, I've yet to mount the electronics, even in prototype form, on the drumkit yet, but I have basic hardware test code working and a basic MIDI operated, non-blocking, Arduino-driven, four-piece kit capable C language package ready to run an Uno or Nano board driving 11 channels of percussion via 11 MOSFET buffers to switch the 24v actuator supply. Most are dynamic, ie: they have velocity, using the analogWrite() command, a few are simple digitalWrite() commands. This video shows an initial test run of the simple hardware test code...

I have to admit, the MIDI driver code is probably still a bit unreadable, too. I'm trying to work towards flexible CAD models that can be given presets for popular drum kit product lines and Arduino code that can be scaled to a number of compatible boards, both 16 bit and 32 bit, with sufficient analog pins to run multiple beaters per percussion instrument (left stick/right stick), with left and right stick co-ordination across the various percussion instruments in a kit - eg: not hitting two instruments with the same "hand" at the same time. Human feel.

To that end, I've started setting up header files to define macros and variables with readable names. My intentions are readable code, but I may yet be a long way from that. Your patience and suggestions are appreciated at the project discussions page, as are pull requests with useful improvements to my amateur C code fly tracks and issues raised by those who have problems with the code, but insufficient coding skills to offer a fix.

Some are probably asking, "Why a robot drummer? Why not a fellow human?" It's a fair question, music should be "manned, not canned." I totally agree.

For me, the reasons for robotising my compact "kiddy kit," with it's dinky little 16" kick drum and 13" snare, are...

  • I like hacking tech. I've built a sound system, I've been working on a top secret effects pedal for 6 years and I'm continuing to seek challenges in music tech.
  • I simply can't play drums. I have a lifetime playing guitar and bass, mostly self taught, and I'm OK at those. I can bash out a little bit of keyboard. A VERY little bit of keyboard. I just cannot get the hang of drums. At all. Have spent the last 8 years trying to learn.
  • A drum machine sounds the same with every hit. The same sample sounds the same. The volume may change, the rhythm may swing but, an acoustic drum set, hit literally via a MIDI signal with velocity data and, some randomisation of drive pulsewidth, is a little more human and WAY more "in-the-room" than any soundfont.
  • In the last 4 years, my health went to shit in a way that really affects my stamina, so asking a fellow musician to commit to working with me when I can't guarantee my energy on mutaually available day is a little unfair to them.
  • In this day and age, the DJ rules the venue and house party scene, becaue they're one person and can charge as little as one person needs to cover expenses for a gig. A band either goes home with its members out backwards for input costs, or works less because they cost more. Enter the artist with a backing band of robots. A talking point to remember and recommend them by, and competitive with a DJ. Probably not really that much more gear than a DJ, either, if it's done cleverly.

So, the project of 10000 code lines, begins with an initial commit. (I'm way beyond that already!) Come on board. Clone it, play with the code and the hardware, commit your issues and PRs. Most importantly, have fun with it. If this becomes a project with a twice a year review/update cycle, I may fork it to bass and keyboard versions, too. The latter has the promise of fun in some really cool engineering challenges.

Comments

Popular posts from this blog

Removing Ollama From My Mac

Meanwhile, Developing a MIDI, Tap-Tempo, Master-Clock Pedal...

ALWAYS read the PDS