# Kick drum synthesis

**URL:** <https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269>\
**Category:** Creations & Ideas\
**Created:** [October 17, 2017, 4:44pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269 "2017-10-17T16:44:17Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![lectronice](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/lectronice/32/196_2.png) [@lectronice](https://in-thread.sonic-pi.net/u/lectronice)\
**Post date:** [October 17, 2017, 4:44pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/1 "2017-10-17T16:44:17Z")

</div>

Hi everyone!

I realised a while ago that there’s no “kick/bassdrum” synth in Sonic Pi, and I was wondering what would be the best approach to simulate this kind of percussive sound with existing synths (of course, using samples would be simpler, but I’d like to understand sound at a deeper level).

So I searched for a few examples and theories on the web and came up with this, mostly inspired by [this post](http://www.idmforums.com/showthread.php?t=17747):

```
use_synth :sine

live_loop :kick do
  click = play :c3, release: 0.0125, amp: 5
  pop = play :c2, decay: 0.05, decay_level: 0.5, release: 0.25, amp: 2
  body = play :c2, sustain_level: 0.8, release: 0.8, amp: 2
  sleep 1
end

```

It doesn’t sound too bad, but I’d love to hear about different methods or tips to enhance this one. For example, is there an easy way to control the pitch for the different “layers”? Are there other synths (or FX) that would work better than a sine? And would someone have some kick or other percussion recipes to share? Thanks!

---

<div class="post-metadata">

**Author:** ![lectronice](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/lectronice/32/196_2.png) [@lectronice](https://in-thread.sonic-pi.net/u/lectronice)\
**Post date:** [October 19, 2017, 7:28am UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/2 "2017-10-19T07:28:17Z")

</div>

Small update: I’ve experimented a bit with snare drums, here’s something that works well with the above code, a least for the track I’m working on:

```
live_loop :snare do
  use_synth :cnoise
  click = play :c3, release: 0.02, amp: 1
  use_synth :bnoise
  body = play :c2, sustain_level: 0.8, release: 0.4, amp: 0.7
  sleep 1
end

```

I’d recommend adding a `with_fx :reverb, room: 0.9` for a richer sound.

---

<div class="post-metadata">

**Author:** ![kniknoo](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/kniknoo/32/146_2.png) [@kniknoo](https://in-thread.sonic-pi.net/u/kniknoo)\
**Post date:** [October 21, 2017, 3:17am UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/3 "2017-10-21T03:17:55Z")

</div>

Here’s a basic kit.

```
live_loop :kick do
  use_synth :tri
  play :c3, slide: 0.05, release: 0.1
  control note: :c1
  sleep 1
end

live_loop :snare do
  sleep 0.5
  with_fx :rlpf, cutoff: 95, res: 0.55 do
    synth :beep, note: :f3, release: 0.07, slide: 0.07
    control note: :ds3
    synth :noise, release: 0.05, amp: 0.6
  end
  sleep 0.5
end

live_loop :hats do
  use_synth :noise
  nlen = [0.0625, 0.125, 0.25].choose
  with_fx :hpf, cutoff: 105 do
    4.times do
      play 64, release: rrand(0.03, 0.04)
      sleep nlen
    end
  end
end
```

---

<div class="post-metadata">

**Author:** ![Eli](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/eli/32/116_2.png) [@Eli](https://in-thread.sonic-pi.net/u/Eli)\
**Post date:** [October 21, 2017, 4:01am UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/4 "2017-10-21T04:01:27Z")

</div>

Trust me on this… Kniknoo knows what he’s talking about. 🙂

https://w.soundcloud.com/player/?visual=false&url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F347681971&show_artwork=true&maxheight=166

Eli…

---

<div class="post-metadata">

**Author:** ![lectronice](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/lectronice/32/196_2.png) [@lectronice](https://in-thread.sonic-pi.net/u/lectronice)\
**Post date:** [October 21, 2017, 9:29am UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/5 "2017-10-21T09:29:21Z")

</div>

Impressive, thanks a lot for sharing this. I didn’t know `control` could be used this way, and I never played a lot with the FXs you’re using. This is great, I see a lot of new possibilities now 🙂

---

<div class="post-metadata">

**Author:** ![kniknoo](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/kniknoo/32/146_2.png) [@kniknoo](https://in-thread.sonic-pi.net/u/kniknoo)\
**Post date:** [October 21, 2017, 6:22pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/6 "2017-10-21T18:22:53Z")

</div>

I honestly wasn’t 100% sure control would work that way. 😃

Yeah, filters are great! A quick rundown:  
You have a hpf, lpf, and bpf.  
hpf is a high pass filter, it will remove frequencies below the cutoff while keeping frequencies above.  
lpf is a low pass filter, the knob twiddler’s bread and butter. It will cut frequencies above the cutoff while allowing ones below.  
bpf is a band pass filter. Frequencies above and below the cutoff will be removed and frequencies near the cutoff will be kept.  
All of these filters have an “r” version, for instance :rlpf . The R stands for resonant, meaning that the cutoff will have a steeper slope that can be controlled, emphasizing nearby frequencies. At extreme levels, the filter can itself resonate create a sine wave at the cutoff level. Great for carving a flute sound out of noise.  
Finally, all of these have an “n” variation, which stands for Normalized. I haven’t actually thought to use these, but should. These add a normalizer to the effect so that cutting frequencies doesn’t make the sound too quiet to hear.

I just recently got a Korg Monolgue, the kick and snare are very similar to how I do it there. I only have a LPF on it, so I do my hihats with resonance and modulation, rather than throwing a HPF over noise.

---

<div class="post-metadata">

**Author:** ![lectronice](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/lectronice/32/196_2.png) [@lectronice](https://in-thread.sonic-pi.net/u/lectronice)\
**Post date:** [October 21, 2017, 10:49pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/7 "2017-10-21T22:49:09Z")

</div>

Thanks for the explanations, I knew these different kinds of filters are essential but never quite managed to understand what they actually did despite having used them a bit in various DAW. Now that I see them applied to clear purposes it finally makes sense 🙂

---

<div class="post-metadata">

**Author:** ![kniknoo](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/kniknoo/32/146_2.png) [@kniknoo](https://in-thread.sonic-pi.net/u/kniknoo)\
**Post date:** [October 21, 2017, 11:37pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/8 "2017-10-21T23:37:21Z")

</div>

Certainly! To get started, I’d suggest playing around with the tb303 for a while. It’s perfect for easing into a LPF over resonant waveforms. You’ll hear a lot of variance in Squares and Saws, but none with a sine wave. Tutorial A5 will help you out a lot with that. From there, apply what you learn about the 303 filter to an LPF plugin. I should also mention Wobble and IXITechno. Eventually, you’ll realize that you wish you could just sweep back and forth on the cutoff and both of these plugins will help you to achieve that.

---

<div class="post-metadata">

**Author:** ![lectronice](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/lectronice/32/196_2.png) [@lectronice](https://in-thread.sonic-pi.net/u/lectronice)\
**Post date:** [October 22, 2017, 6:24pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/9 "2017-10-22T18:24:44Z")

</div>

Great idea! Especially since the 303 is something I’ve been playing with a lot without understanding much about it. Experimenting with a 303 and your recipes should be perfect to build a Sonic Pi acid kit. This reminds me the good old days of Propellerhead’s Rebirth!

---

<div class="post-metadata">

**Author:** ![Eli](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/eli/32/116_2.png) [@Eli](https://in-thread.sonic-pi.net/u/Eli)\
**Post date:** [October 22, 2017, 6:53pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/10 "2017-10-22T18:53:55Z")

</div>

Don’t know if this will be of any help… I put a front-end on someone  
elses code, and called it The Techno Toolkit… that was a while bak.

I’ve recently written my own ‘Dub Generation’ toolkit, and dubbed one  
of Kniknoo’s cool tracks…

I’d be interested in seeing your Acid Toolkit when it’s complete,

> **[TheTechnoToolbox.rb](https://www.dropbox.com/s/gl4ooc82vpebex0/TheTechnoToolbox.rb?dl=0)**
>
> Shared with Dropbox

Here’s a breakdown on the scriptable commands I created for T.T.T.

> **[TTT Scripting.txt](https://www.dropbox.com/s/nzapgwt0ala1r7v/TTT%20Scripting.txt?dl=0)**
>
> Shared with Dropbox

Hope it helps.

Eli…

---

<div class="post-metadata">

**Author:** ![lectronice](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/lectronice/32/196_2.png) [@lectronice](https://in-thread.sonic-pi.net/u/lectronice)\
**Post date:** [October 22, 2017, 7:22pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/11 "2017-10-22T19:22:00Z")

</div>

Wow, this is crazy! I really like the panel idea, and this seems packed with a lot of features, thanks a lot for sharing this. It will take me a while to figure everything out since this clearly a bit above my current coding skills, but there’s a lot to learn here.

---

<div class="post-metadata">

**Author:** ![Eli](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/eli/32/116_2.png) [@Eli](https://in-thread.sonic-pi.net/u/Eli)\
**Post date:** [October 22, 2017, 7:45pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/12 "2017-10-22T19:45:56Z")

</div>

Hey, I just put the panel on, and wrote some control loops.  
Thank Martin, he wrote the original code. Credit where it’s due.

(But yeah, it’s a pretty awesome panel… I’ll take that bow. 🙂 )

Eli…

---

<div class="post-metadata">

**Author:** ![kniknoo](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/kniknoo/32/146_2.png) [@kniknoo](https://in-thread.sonic-pi.net/u/kniknoo)\
**Post date:** [October 22, 2017, 11:06pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/13 "2017-10-22T23:06:20Z")

</div>

Yay Rebirth! I used to get in trouble in coding class for playing with it. Now it all comes full circle. 😃 I’m kind of a total geek for some Acid House. Here’s a song I put together today. For ref, this is all hardware, no code. I’m just getting this setup together and have only barely incorporated the Pi yet. I’ll post some SPi controlled tracks as I make them. [https://www.facebook.com/kn1kn00/videos/10159590944095360/](https://www.facebook.com/kn1kn00/videos/10159590944095360/)

Thank you for sharing those Eli!

---

<div class="post-metadata">

**Author:** ![Eli](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/eli/32/116_2.png) [@Eli](https://in-thread.sonic-pi.net/u/Eli)\
**Post date:** [October 22, 2017, 11:40pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/14 "2017-10-22T23:40:22Z")

</div>

Mmm… dunno why, but I’ve never, ever, been on ‘Face-less’… .nor do  
I know anybody who is… same with Twitter, or whatever the current  
flavour of Social Mediocre being used…

So, have to skip your track unless its on your Git? _goes for a look_.

I also have difficulty separating the terms 'House, Acid House, Garage’  
and a few other genre names… when it comes to Music, I have 'Like’  
and ‘Not Like So Much’… so I dont know if this classes as Acid House…

https://w.soundcloud.com/player/?visual=false&url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F339560956&show_artwork=true&maxheight=166

Oh, and can I introduce people to these chaps, who were ruling a club  
in Bristol, England on Saturday night… I left at 4 a.m. when my poor old  
legs could not handle any more dancing…

https://w.soundcloud.com/player/?visual=false&url=https%3A%2F%2Fapi.soundcloud.com%2Fusers%2F102689348&show_artwork=true&maxheight=166

‘45 Vinyl only label based in Berlin - London - Hamburg. Spreading the  
good stuff with unique Hip Hop & Funk infused Edits’

Rave on…

Eli…

---

<div class="post-metadata">

**Author:** ![kniknoo](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/kniknoo/32/146_2.png) [@kniknoo](https://in-thread.sonic-pi.net/u/kniknoo)\
**Post date:** [October 22, 2017, 11:45pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/15 "2017-10-22T23:45:40Z")

</div>

It’s a public post, anyone can see.  
Acid House is distinguished by a squelchy bassline, usually a TB303, and often minimalist production. It also typically has low harmonic content or is even completely discordant.  
Here’s an example. Though this one is unusually melodic. [https://youtu.be/f94QTRztiYA](https://youtu.be/f94QTRztiYA)

I really dig your track above!

---

<div class="post-metadata">

**Author:** ![Martin](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/martin/32/157_2.png) [@Martin](https://in-thread.sonic-pi.net/u/Martin)\
**Post date:** [October 23, 2017, 6:53pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/16 "2017-10-23T18:53:26Z")

</div>

Hi,

just did a bit of experimenting. Another way to approach a kick could be this:

```
live_loop :kick do
  s = synth :sine, note: :g2, amp: 1,
    attack: 0.005, attack_level: 5,
    release: 0.25
  control s, note: :c2, note_slide: 0.125,
    amp: 0.5, amp_slide: 0.075
  sleep 1
end

```

Of course you can add and alter all options but quite fruitful are

- to set a longer (or even shorter) release
- a higher attack level (to give it more punch)
- differnt start and end notes (which changes the sound drastically)
- and to play with the slide\_values
- …

---

<div class="post-metadata">

**Author:** ![lectronice](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/lectronice/32/196_2.png) [@lectronice](https://in-thread.sonic-pi.net/u/lectronice)\
**Post date:** [October 23, 2017, 7:49pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/17 "2017-10-23T19:49:32Z")

</div>

That sounds really good, thanks 🙂 I think I’ll have an increasingly harder time going back to classic DAWs given the huge freedom and control Sonic Pi offers.

---

<div class="post-metadata">

**Author:** ![Eli](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/eli/32/116_2.png) [@Eli](https://in-thread.sonic-pi.net/u/Eli)\
**Post date:** [October 23, 2017, 7:53pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/18 "2017-10-23T19:53:06Z")

</div>

Which fits in beautifully with a howto I was just reading up  
on SoundRadar about making your own hip-hop beats…  
and how to improve them.

There’s a section on Hip-Hop Kicks… worth a read.

[http://www.musicradar.com/news/tech/sampleradar-316-free-hip-hop-samples-248617](http://www.musicradar.com/news/tech/sampleradar-316-free-hip-hop-samples-248617)

And a pretty good set of tips on making your own House tracks. 🙂

[http://www.musicradar.com/news/tech/sampleradar-338-free-house-samples-267013](http://www.musicradar.com/news/tech/sampleradar-338-free-house-samples-267013)

Enjoy!

Eli…

---

<div class="post-metadata">

**Author:** ![Martin](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/martin/32/157_2.png) [@Martin](https://in-thread.sonic-pi.net/u/Martin)\
**Post date:** [October 23, 2017, 7:55pm UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/19 "2017-10-23T19:55:19Z")

</div>

Well, you might be able to combine the best of the two worlds… 😉

---

<div class="post-metadata">

**Author:** ![xavierriley](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/xavierriley/32/9_2.png) [@xavierriley](https://in-thread.sonic-pi.net/u/xavierriley)\
**Post date:** [November 7, 2017, 11:10am UTC](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269/20 "2017-11-07T11:10:19Z")

</div>

I’ve been meaning to dig this out for this thread for a while now:

Just goes to show, ingenuity can go a long way!

To get an authentic sounding chip triangle wave, you can use the `:chipbass` synth. Check out the other `:chip*` synths as well if that’s your thing…

[Next page](https://in-thread.sonic-pi.net/t/kick-drum-synthesis/269.md?page=2)
