My Profile Photo

Deviant Syndrome


coding, multimedia, gamedev, engineering


MembrainSC. Introduction

A drum machine with that “sci-fi underground” vibe…

So, I can already imagine you all asking me, why design your own drum machine in 2020, for fokks sake? Well, in short, I have my reasons. Those are mainly education, inspiration and megalomania, of course. The latter is particularly important, because, instead of doing one more classic 80’s drum machine replica (which am I not capable of, anyway) I came up with an idea of a plugin, that resembles the same “engineering around limitations” approach to doing drum sounds: a combination of synthesis, physical modelling and PCM samples.

Also, unlike those old low-computational power units, we can supply it with much more humanise capabilities, especially for cymbals.

And last, but not the least, I can create a UI for it, re-imaging how old-school piece of music hardware would look like if it was designed specially for underground bands of the era. Yeah, I’ve always wandered, why did not we get the same bad-ass hellmonster-charged designs for drum machines / sequencers, that we usually get for guitar pedals and stuff.

Apparently, beside all those skeudomorphic obsessions, there is one very important practical aspect l want to embed in my drum machine design , which is mixing-in samples on the fly, so I won’t need to deal with bussing those in the drum processing chain of my DAW, ‘cause rather hard to keep those things tidy there. So, I think, if executed properly, MembrainSC can become the heart and command control of my drum productions/programming. Yeah, one can dream.

So, basic planned features for the plugin are:

  1. Kick drum, which is a combination of a synth with a pitch envelope, filter and two samples, one pre-defined for click, and the second selectable. The available controls would be something like: tune, decay, filter.
  2. Snare drum. The true pearl of this unit. Consists of physically modelled membrane sound and a selectable sample. Controls more sophisticated this time. Like: tension, loss, body, snare noise
  3. Cymbals. Interesting approximation of a cymbal sound by passing a noise through a series of ring filters.
  4. Snare, Cymbals and Toms also have humanise control for adding variety on every shot.
  5. Plugins output is multichannel.

Multichannel output is crucial here. The routing is organised the way, that every piece of the kit is outputted to a separate stereo output, after being mixed with a sample, if available. This will help me to keep my drum channel section tidy, avoiding complicated bussing when I need to process multiple layers of heterogeneous sounds as a single drum kit piece.

(De)manufacturing:

Below are the my dev blog entries for each stage of this project in (sorta) chronological order,

  1. Technical overview and toolset
  2. SuperColliderAU p1 (building)
  3. SuperColliderAU p2 (containerising inside JUCE audio plugin)
  4. JUCE RomplerGun and BlipBlop
  5. JUCE routing and multichannel output
  6. JUCE Fast UI prototyping in Plugin Parameter Hell.
  7. Supercollider synthdefs for snare drum and “smashed” cymbal
  8. Selecting and tweaking parameters