I made a drum machine for iPhone, Android & PC, AKA where have you been for almost a year?!
Hello 2021, greetings from the cave I’ve been under for the past 9 months or so. I have been quite busy lately working on several music and art related projects, including my new custom built drum machine!
On early 2019 I got into playing the piano. I bought an old upright out of impulse from a friend of a friend. It was on great conditions, never used - It just stayed there without use looking pretty. The original owner got it brand new about 15 years ago, played for about a month, payed for lessons and everything. Got bored and eventually stopped completely. Fast forward 15 years and its still under surprisingly good condition for never being taken care of. They decided to sell it at a bargain price and I ended up getting it on a whim.
I always enjoyed listening to music, but making music has been a hobby of mine since my early teens. Never really played any instruments to any degree of confidence. I studied guitar at school as a kid, learned ode to joy for a school presentation and pretty much stopped right after. Never knew my way through the fret-board or developed any fluidity of any kind. But playing music always remained as a frustrated dream I always dreamt of pursuing.
Guitar was always out of the question due to my old frustration I developed as a kid. So on my first chance to make music without traditional instruments I gave it a go. Nothing fancy, just making tunes entirely on a computer with virtual instruments I got from the net and singing and mixing into audacity.
Spiking several years ahead I got into ableton on my freshman year of collage. I was studying digital arts and animation at the time, so I felt comfortable with complex software like blender, so a crowded GUI with music stuff did not really intimidate me. At the same time I was really getting into radiohead, so I tried recreating some beats from their records, then tried doing the whole music from a laptop thom yorke style. Tried at least, my musical projects got nowhere pretty soon after messing about for an hour. But I did get familiar with the software and dealing with basic troubleshooting like drivers and so on.
So there I am trying to make music without any idea about notes or scales or anything really, just messing with beats. I wanted to go beyond beats and start making songs, I realized I had to return to playing an instrument. While I was having this internal dialogue I looked behind my shoulder and there it was, a piano just sitting there unused.
Now that I know my way around the keyboard, around 2 years after getting to know the basics of the piano, I came to crave for gatherings with my more musically minded friends because often I am encouraged to play in a group setting. More casual music lovers love just singing along to their favorite songs, and for a while now I am at a level where I can basically read any chord sheet for any song and play a simple arrangement for people to sing over, adding a simple melody in key or a fill here and there. What I am trying to say is that I have become the go-to karaoke machine for my group of friends. On top of that whit my musician friends playing gets to be even more fun. Someone just happened to bring their guitar and someone else does vocal harmonies and I lay the chords on the piano - those kind of jams are one of the best experiences I have had with music.
The problem is that my whole unplugged karaoke shtick can get pretty stale after a few songs. Mainly because playing only the piano for an entire night is just screaming for sonic variety. I might end up just piking up a guitar some day, I know, I know. But for the meantime I have tried playing other key-ed instruments like a digital synthesizer, organ, Rhodes and sampled strings. But for a while I have been trying to have a drum beat looped in the background.
I have an ableton set with midi drum loops set up for the songs I usually play, but I have found that bringing a laptop and keeping it on top of my upright to be very clunky, especially If i need a groove from a song not on my set - programming midi drums on the spot for a song you have never heard but your friend wants you to play it and only know the chords is quite challenge. Especially drunk, and at parties or small gatherings when I am kinda tipsy. Meaning most of them, okay okay next topic!
But it really hit me on a road trip I had on late 2019. On it a couple of friends of mine brought their acoustic guitars on the road, we stayed up all night singing besides burnt marshmallows and the campfire. Because I came in unprepared for playing music I just sang along. Jokingly, a friend of mine asked “so why didn’t you brought your piano? it would have sounded great”.
After coming back home from the road trip I think he really had a point. Adding some variety, some other instrument with a different timbre, would have taken our campfire wonderwall nights into proper live unplugged MTV territory. I looked for pocket sized keyboards or synthesizers I could take with me or just keep on my bag all the time. But if I’m really honest, I was really captivated by pocket sized drum machines. I especially envied those one or two live versions from radiohead’s a moon shaped pool, they did simple bear-bones versions of a few songs with just a voice, two guitars and a CR-78 vintage drum machine.
I settled for a melodica as my secondary instrument. Mainly because they are dirt cheap and have a very distinct sound that can easily “cut through” a song with multiple acoustic guitars. As my fiends usually bringing 2 or 3 guitars and end up strumming the same chords I wanted an instrument that would sound best when not doing the same thing as the other million guitars playing the exact same thing. For reference a melodica sounds very similar to an accordion or a harmonica. My idea with the melodica is to stay away from harmony (unlike I usually do when doing a one-man-karaoke-piano-man-show) and repeat simple melodic phrases or do countermelodies. With the melodica I play more of an accompaniment roll than a lead, and honestly I quite enjoy that.
But playing the melodica keeps me from one of my favorite things: singing with my buddies! Because in case you don’t know, a melodica is one of those instruments kids learn at school where you blow into a tube and press the notes on a keyboard. So you can’t sing and play at the same time! This is why I secretly wish I would have gone with a portable electronic instrument like an OP-1 or an organelle, but man those things are expensive! Especially here in Mexico where audio equipment prices are almost always double MSRP! And you have to pay for shipping on top of that!
But most bag-size electronic instruments plug directly to the wall, so if case I ever find myself singing wonderwall into the night because someone pulled up their guitar out of the blue I will most likely not have the time switch AA batteries around or the guts to stop the song because I need everyone to come 5 meters closer to the nearest wall because I have to plug in my power chord. And keeping USB power banks charged for a just in case moment is a no-go for me. This whole electro-acoustic dream of mine would also fall apart if I ever find myself unprepared for playing music like I did on the road trip. I don’t always know if the friends of a friend at a party I am attending play music or even bought their instruments. On some occasions I might not have access to electricity at all like on the road trip! And to non-work or non-school situations I tend not to bring my bag where I keep my gadgets anyways.
My solution was, well just get a drum loops app! You keep your phone with you at all times and if you’re on another road trip chances are you keep your phone off, so you will most likely have tons of battery life and chances are that someone brought a Bluetooth speaker. So an app seemed like a great fit, but that turned not to be as simple as I thought. Mainly because drum apps tend to be designed to play drums live by tapping the on screen kick, snare and hi-hats like you would hit them with drumsticks on real drums, or designed to work more like a DAW; where you have full blown sequencers and virtual instruments on a timeline view or an MPC like environment where you are encouraged to build full tracks. But both approaches stray away from what I want, a simple enough design where I can play a groove very quickly to accompany a guitar player and free myself up to sing along.
I needed a simple thing you can just pull up and turn a guitar solo karaoke night into a more full and rich experience. Add a bit of rhythm to a live performance, nothing else, nothing more. But apps where you tap a drum kit are clunky enough to be a turn off, and MPC like or DAW like environments are too complex for a quickly and easily augmenting a performance that’s already there.
I really wanted something like a simplified TR-808 or 909 were you have 16 steps, you fill them up and hit play and it loops over and over. But apps that emulate 808’s literally also have the same problem as only playing one integument for the entire night, that they get old if you don’t switch up the sounds.
So there I was, looking for an extremely specific approach to drum loops. So I decided to make a simple solution of my own. I was inspired by a post from a music technology forum built around a musical programming environment called sonic pi. On this sonic pi forum, that I regularly visit, users will post their creations made with sonic pi, the occasional question and every once in a while users will change each other to make music with sonic pi withing some limitations. One time I saw an open challenge to use sonic pi to make an acoustic cover. I took this prompt as an opportunity to make a simple 808 style loop and have my brother play guitar on top. At the time me and my brother did several acoustic covers, myself on piano and him on guitar. Technically that would count as an acoustic cover, so I worked on a general step sequencer program for sonic pi. Unfortunately my bothers strings broke and we were not able to record the cover version.
This sonic pi mock-up slowly evolved into a pure data patch. I re-implemented the basics of the sonic pi drum sequencer onto pd and I choose to specifically work on re-implementing something I already figured out because I was just beginning to grapple with programming in pure data. I wanted to keep making up a design out of the equation and make life simple for me.
I started my pure data drum machine a few months into the 2020 cornonavirus quarantine, so I had plenty of time to get the basics right. After the basics were laid out I begun to add more and more features because thanks to COVID I had all the time in the world to keep at it.
An early version of the step sequencer prototype
6 months later we arrive at the present day. My drum sequencer project on pure data has most of the features I wished for on my ideal simple-quickly-set-up-an-accompanying-groove-n’-go drum machine app. Thanks to a pure data wrapper for phones and tablets called MobMuPlat I can even run my drum machine on my phone. To do so you simply open up the MobMuPlat app and it brings up a list of currently installed pd patches, I simply select my drum machine patch and get going! I also made a custom interface for it with the tools provided by MobMuPlat with a nice dark theme.
Inspired by that awesome night besides the campfire on the road trip I decided to call my drum machine “BONFIRE”.
pictures of the soon to be fully released version
As of me writing this, BONFIRE is ready for it’s first release since it has the bare minimum for accomplishing my initial goal of providing with a backing beat for an acoustic live performance with an easy to use and “quick-to-get-results” interface. BONFIRE has a 16 steps mode and a 32 steps mode; allows you to set a BPM, control the volume of the kick, snare and hi hats separately; four different drum synthesized sounds, one simple 808 like style sound, a more modern and deep punch that resembles an 80’s sound, a complex and realistic acoustic kit sound, and a blend mode that uses a combination of the 3 other sounds; and a preset selector, that allows you to browse 18 included rhythms from rock to disco to bossa nova and quickly apply them to the 32 step grid, this way you can quickly set up a grove and hit play.
You can download BONIFRE from my github page or wait for the project to be officially released once I have a working website and video commercial and tutorial.
BONFIRE will be fully released soon, but it’s fully working currently and just needs a bit more prep for marketing and the like. I plan to continue updating BONIFRE and add sampled drums, a live looper, an audio effects engine, an eulciedian sequencer inspired jam mode and more in the future!
You can follow the github repo for updates, follow this blog or every once in a while check the downloads page. Eventually I also plan in re opening my some of my social media accounts so you can follow me there for BONIFRE updates.
So that’s why I have been missing for almost a year. I was over at my cave programming my own drum machine.
If you’re interested on a more technical description of how BONIFRE works and the history of its development I wrote this just for you. This post tends to focus more on the usability and musicality of the story.