There’s a classic fairy tale in which elves make shoes during the night for a shoemaker. Imagine that, but with kick drum sounds.

The last time we caught up with Micah Frank, he was sharing free software that generates rhythms for you:

Leave this free software running, and it’ll come up with rhythms for you

It’s all built using a classic free and open source software tool called Csound – a tool so rooted in digital music history, it has a direct lineage to the very first real computer music synthesis software created by Max Mathews back in 1957. That may seem archaic, but Csound remains simple, direct, and musical – which is how it has endured.

With Micah’s tool, you can set the software in motion and use your ears to choose what you like – going as deep (or not) as you want in the mechanics of those sounds. He writes:

Kickblast is a little tool I built for quickly generating electronic kick drums. It will create a variety of sounds from classic 909-esque sustained basses, to modular and even acoustic sounding kick drums. You can define the parameters and how many kicks you wish to generate. It also has offline rendering capabilities so you can instantly populate a folder full of 17 billion* kick drums if you like.

* if you attempt this quantity, please let me know how it works out

Here’s what you can expect as far as sounds:

How to get going:

Kickblast is a Csound program that populates a folder full of computer (Csound) generated bass drums.

1) All you need is Csound: CsoundQT comes with Csound and will enable you to run Kickblast.

2) Once installed, open the Kickblast.csd file and hit “Render” for offline file generation or “Run” for real-time.

3) You can define a number of parameters up in the top section, including how many kick drums you wish to generate.

4) The folder which contains the Kickblast.csd will become populated with your kick drums.

There’s no need to get bored with kick drums. Billions of possibilities await. Let us know if you make something you love.

  • abluesky

    Fantastic! Thank you!

  • xonox

    That’s something i’m going to try when i get home! Csound is great! I once experimented with resynthesis with it. And i got some fantastic timestretches from a vocal recording of a friend. The code was pretty basic from what i remember but the results were so smooth. Been a while since i spent some hours with it, looked at it recently and the bundled gui (csoundqt?) has gotten way better than some years ago.

    I have to look at Micah Frank’s other works. Sounds like fun stuff!

  • Max

    Im not a fan of random sounds.
    Most of these have a weird tonal „bing bing“ sound in the midrange,
    the few that I find decent sound like filterzaps or pitch envelope.
    Nothing new under the sun.

    • Max

      The more parameters you add the more garbage it produces, that’s the nature of random sounds. 95% garbage.

  • Unit27

    I love the idea, tested it out and already had it produce some useful stuff.

    It does tend to produce some kind of midrange whine, almost like meowing. Not being that versed in Csound I tried to edit the code to add some kind of anti-aliasing filter, but it didn’t help. Could it be something in the way the waveforms are generated?

    • micahfrank

      I’ll check it out this evening. Depending on what you are looking for some sounds can be discarded while others (for me) are useful. There are dependencies in a random system that oftentimes yield unfavorable results. You can definitely tweak the settings beyond the default and I’ve tried to comment what pitch Env and filter env ranges should be. I would start with the former to try and get a less mid range boost.

      • Max

        That weird sound is in the SoundCloud demo too …

        • Max

          So I am not sure we are talking about the same thing.

    • micahfrank

      Truncated the fliter env by 50% in the latest commit – think that solves the “meow” thing. Updated the demo file too…

      • Max

        Yup, this gives more useable results. Thx.

  • Will

    That’s an awful lot of kick drum sounds from 173 lines of code! Great work. Thanks for sharing, Micah and thanks for surfacing, Peter.

    Next up: machine learning. I wanna trash the ones I don’t like and have it adjust its parameters to create more I do like. If you could have that released by Friday, that’d be great, thx. ;p

    • That’s actually a great idea. See NSynth, etc. And this demonstrates the ways in which machine learning might totally change the approach to creative sound. It’s not that AI will make sounds for you – it’s that it’ll give you a different mathematical approach to managing presets.

      • Max

        Interesting thought.
        I want to see AI exploited for sound.

        But let’s assume it works for a sec than it’s not interesting enough anymore.
        It’s like if you have a flexible synth with a random button,
        You leave groups of parameters out to not get garbage or nothing,
        Then you apply random to something like +- 10 to 25 % to selected parameters,
        So you made sure it makes something you may like,
        but it also starts to get boring now, because you end up with variations over theme a,
        not much surprises and happy accidents any more and nothing you wouldn’t have came up with yourself by playing with the knobs a little …

        • Will

          It’s a fair point.

          If the ‘not for me’ pile was not permanent, you could restart the generation at anytime, pick a different set of not-for-mes (aesthetically different from the first), and end up with a new set. Rinse, repeat.

          Or maybe, you can keep adding it up and Skynet:Drum will eventually create your ONE TRUE perfect kick drum. No need to keep searching or synthesizing.

          Then, it can be converted into Facebook app with ads for awkward products. Along with city and school, Zuck will add a “What sort of kick drum are you?” line to the base profile meta data.

          Then, an enterprising third party could harvest that data to create the ultimate dating app,, matching kick pitch envelopes and creating love across the galaxy.

          Endless possibilities, really. Prolly more than 175 lines though.

        • My guess is that machine learning algorithms will be applied to really large, disorganized data sets like….

          … the way most of us store our sessions and files 😀

          But no, seriously, I think AI is widely misunderstood — what we’re talking about now is really to do with a different approach to execution, around neural nets.

          It’s not that we’re all being replaced by robots so much as … we only had hammers, and someone has just invented the screwdriver. 😉

          In fact, the “everyone being replaced by robots” idea *is* applicable – but it’s more about centralized, corporate control and automation than it is about machine learning technology per se.

    • micahfrank

      working on it… friday where?

  • chaircrusher

    Sometimes the oldest software is still the best 😉

  • Will

    I should make myself useful, fork the repo and try to sort out how to do this myself but instead I’m just gonna say it out loud on the Internet: would be cool if you could reload a sound you like and have it create N variations based on parameters you select. Then, it would create a single multi-sample file with those variations for use in samplers with round robin support.