Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Kick Drums That Hit Hard

The kick is the heartbeat. When it hits right, you feel it in your chest before you hear it. When it’s wrong, nothing else matters — the track limps no matter how good everything else is.

In dark electronic music, the kick needs to do two things: punch through the mix and move air. That’s why we layer.

The Basic Kick

Every track in Sonic Byte uses a layered kick:

define :kick do |v=1|
  sample :bd_tek, amp: 2.2*v, rate: 0.9
  sample :bd_boom, amp: 0.5*v, rate: 1.2, cutoff: 70
end

Why Two Layers?

  • :bd_tek — Provides the punchy attack (the “click”)
  • :bd_boom — Adds low-end weight (the “boom”)

Together, they create a kick that has both presence and physical impact.

Key Parameters

amp (Amplitude)

Controls volume. For kicks, we use higher values:

sample :bd_tek, amp: 2.2   # Loud, punchy
sample :bd_boom, amp: 0.5  # Supporting, not dominant

rate (Playback Speed/Pitch)

Lower rate = lower pitch = more weight:

sample :bd_tek, rate: 1.0  # Original pitch
sample :bd_tek, rate: 0.9  # Lower, heavier
sample :bd_tek, rate: 0.85 # Even lower (Void Walker)

cutoff (Filter)

Removes high frequencies for a cleaner low end:

sample :bd_boom, cutoff: 70  # Keeps only the sub

Kick Variations by Track

Standard (Tracks 1, 5, 8)

define :kick do |v=1|
  sample :bd_tek, amp: 2.2*v, rate: 0.9
  sample :bd_boom, amp: 0.5*v, rate: 1.2, cutoff: 70
end

Heavy (Tracks 2, 4)

define :kick do |v=1|
  sample :bd_tek, amp: 2.5*v, rate: 0.85
  sample :bd_zum, amp: 0.7*v, rate: 1.1
end

Uses :bd_zum for more attack, lower rate for more weight.

Deep (Track 6 - Void Walker)

define :kick do |v=1|
  sample :bd_tek, amp: 2.4*v, rate: 0.85
  sample :bd_zum, amp: 0.6*v, rate: 1.0, cutoff: 65
end

Lowest rate (0.85) for the slowest, heaviest track.

Sample Selection

Sonic Pi includes many kick samples. For dark electronic:

Punchy/Attack Samples

  • :bd_tek — Tight, techno-style (our main choice)
  • :bd_haus — Punchy house kick
  • :bd_klub — Club-ready punch

Weight/Body Samples

  • :bd_boom — Deep, boomy (good for layering)
  • :bd_zum — Punchy with sub weight
  • :bd_fat — Wide, heavy

Testing Combinations

# Try different combinations
sample :bd_tek, amp: 2; sample :bd_boom, amp: 0.5
sleep 1
sample :bd_tek, amp: 2; sample :bd_zum, amp: 0.5
sleep 1
sample :bd_haus, amp: 2; sample :bd_fat, amp: 0.5

The Volume Parameter

Using a volume parameter allows dynamic control:

define :kick do |v=1|
  sample :bd_tek, amp: 2.2*v
  sample :bd_boom, amp: 0.5*v
end

kick 1      # Full volume
kick 0.7    # 70% volume (intro)
kick 1.2    # 120% volume (peak)

Kick Timing Patterns

Four-on-the-Floor

4.times { kick; sleep 1 }

Kick on every beat. Classic, driving.

Syncopated

kick; sleep 0.75
kick; sleep 0.25
kick; sleep 1
kick; sleep 1
kick; sleep 1

Ghost kick at 0.75 creates groove.

Double-Time

8.times { kick; sleep 0.5 }

Kick every half beat. Aggressive, relentless.

Half-Time

kick; sleep 2
kick; sleep 0.5
kick; sleep 1.5

Sparse, heavy. Each kick has more impact.

Velocity Variation

Static velocity sounds robotic. Add variation:

in_thread do
  kick 1; sleep 1        # Beat 1: Full
  kick 0.8; sleep 1      # Beat 2: Slightly softer
  kick 0.9; sleep 1      # Beat 3: Almost full
  kick 0.85; sleep 1     # Beat 4: Medium
end

Quick Reference

# Basic layered kick
define :kick do |v=1|
  sample :bd_tek, amp: 2.2*v, rate: 0.9
  sample :bd_boom, amp: 0.5*v, rate: 1.2, cutoff: 70
end

# Heavier kick
define :kick do |v=1|
  sample :bd_tek, amp: 2.5*v, rate: 0.85
  sample :bd_zum, amp: 0.7*v, rate: 1.1
end

# Rate guide:
# 1.0 = original pitch
# 0.9 = slightly lower (standard)
# 0.85 = noticeably lower (heavy)