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

Arpeggios

Arpeggios are broken chords — playing chord notes one at a time rather than simultaneously. They add movement and hypnotic energy without complex melody writing.

Basic Arpeggio

define :arp do |v=1|
  use_synth :pulse
  notes = [:d4, :f4, :a4, :d5, :a4, :f4, :d4, :a3]
  
  notes.each do |n|
    play n, amp: 0.25*v, attack: 0.01, decay: 0.1,
         release: 0.1, cutoff: 100
    sleep 0.5
  end
end

The Pattern

D minor chord: D, F, A

Arpeggio: D → F → A → D(up) → A → F → D → A(down)

Goes up through the chord, then back down.

Synth Choice

:pulse (Classic)

use_synth :pulse
play :d4, pulse_width: 0.35, cutoff: 100

Hollow, rhythmic, synthwave feel.

:dsaw (Aggressive)

use_synth :dsaw
play :d4, detune: 0.1, cutoff: 95

Wider, more present.

:saw (Bright)

use_synth :saw
play :d4, cutoff: 90

Raw, cutting.

Arpeggio Patterns

Up and Down (Standard)

[:d4, :f4, :a4, :d5, :a4, :f4, :d4, :a3]
#  1    3    5    8    5    3    1    5(low)

Up Only

[:d4, :f4, :a4, :d5, :f5, :a5, :d6, :a5]

Constantly rising = building energy.

Down Only

[:d5, :a4, :f4, :d4, :a3, :f3, :d3, :a2]

Falling = releasing energy.

With Octaves

[:d4, :d5, :f4, :f5, :a4, :a5, :d5, :d6]

Jumping octaves adds interest.

Pulsing

[:d4, :d4, :f4, :f4, :a4, :a4, :d5, :d5]

Repeated notes create drive.

Arpeggio by Key

D Minor

[:d4, :f4, :a4, :d5, :a4, :f4, :d4, :a3]

A Minor

[:a3, :c4, :e4, :a4, :e4, :c4, :a3, :e3]

G Minor

[:g3, :bb3, :d4, :g4, :d4, :bb3, :g3, :d3]

C Minor

[:c4, :eb4, :g4, :c5, :g4, :eb4, :c4, :g3]

Parameters

Short Notes (Rhythmic)

play n, attack: 0.01, decay: 0.1, release: 0.1

Longer Notes (Flowing)

play n, attack: 0.02, decay: 0.15, release: 0.2

pulse_width (for :pulse synth)

pulse_width: 0.5   # Square wave - hollow
pulse_width: 0.35  # Thinner - our standard
pulse_width: 0.2   # Very thin - reedy

Multiple Arpeggios

Create variation with different patterns:

define :arp1 do |v=1|  # Main pattern
  use_synth :pulse
  [:d4, :f4, :a4, :d5, :a4, :f4, :d4, :a3].each do |n|
    play n, amp: 0.25*v, release: 0.1, cutoff: 100
    sleep 0.5
  end
end

define :arp2 do |v=1|  # Higher variation
  use_synth :pulse
  [:a4, :d5, :f5, :a5, :f5, :d5, :a4, :f4].each do |n|
    play n, amp: 0.22*v, release: 0.1, cutoff: 95
    sleep 0.5
  end
end

# Usage: alternate
4.times do
  arp1 0.7; arp2 0.65
end

Arpeggios with Effects

Arpeggios sound great with reverb and delay:

with_fx :reverb, room: 0.7, mix: 0.45 do
  with_fx :echo, phase: 0.75, decay: 4, mix: 0.35 do
    4.times { arp1 0.6 }
  end
end

Ethereal (For breaks)

with_fx :reverb, room: 0.9, mix: 0.6 do
  with_fx :echo, phase: 1, decay: 6, mix: 0.5 do
    arp1 0.4
  end
end

When to Use Arpeggios

  • Intros/Outros — Atmospheric, hypnotic
  • Builds — Rising arpeggios build energy
  • Behind melodies — Rhythmic bed
  • Instead of chords — More movement than pads

Quick Reference

# Basic arpeggio
define :arp do |v=1|
  use_synth :pulse
  [:d4, :f4, :a4, :d5, :a4, :f4, :d4, :a3].each do |n|
    play n, amp: 0.25*v, attack: 0.01, decay: 0.1,
         release: 0.1, cutoff: 100, pulse_width: 0.35
    sleep 0.5
  end
end

# With effects
with_fx :reverb, room: 0.7, mix: 0.45 do
  with_fx :echo, phase: 0.75, decay: 4, mix: 0.35 do
    4.times { arp 0.6 }
  end
end

# Pattern formulas (for any minor key):
# root, 3rd, 5th, octave, 5th, 3rd, root, 5th-below