0:00/0:00
// White Rabbit — Jefferson Airplane
// 101 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 8 vibraphone (copy of ch 4 vibraphone)
// note: Full arrangement: all 68 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(101/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// chords · electric guitar clean
const electric_guitar_clean = note("<A@5 B@5 C@3 D@7 E F@8 G@7 H@4 I@7 J K L@8 M@8 N O ~>".pickRestart({
A: "[~@12 [e3,g3,b3]@4 ~@2 e3@2 ~@4 [e3,b3]@4 ~@4 b3@4 ~@8 [e3,g3,b3]@4 ~@8 e3@3 ~@5 [e3,g3,b3]@4 ~@8 [f3,a3,c4]@4 ~ [f3,a3,c4]@2 ~@5 [f3,a3,c4]@4 ~@3 [f3,a3,c4]@4 ~@8 [f3,a3,c4]@3 ~@3 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@3 ~@5 [f3,a3,c4]@4 ~@9 b3@4 ~ [e3,g3,b3]@2 ~@5 [e3,g3,b3]@3 ~@5, ~@4 e2@16 b1@17 ~@12 [e3,g3]@2 b1@17 f2@16 ~@15 f2@16 ~@16 e2@17 ~@12, ~@17 [g3,b3]@3 ~@3 g3@4 ~@4 [e3,g3]@5 e2@14 b3@3 ~@2 [g3,b3]@3 ~@25 c2@17 ~@15 c2@17 ~@7 [e3,g3]@4 ~@4 b1@13]/5", // Em E5 Em F Em G Em G …
B: "[[e3,g3,b3]@4 ~@8 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@2 ~@3 [e3,g3,b3]@4 ~@4 [e3,g3,b3]@4 ~@8 [f3,a3,c4]@4 ~@2 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@3 ~@5 [f3,a3,c4]@4 ~@9 [f3,a3,c4]@3 ~@2 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@3 ~@5 [f3,a3,c4]@4 ~@8 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@2 ~@5 e3@3 ~@5 e3@4 ~@8 [e3,g3,b3]@4 ~ [e3,g3,b3]@2 ~@4 [e3,g3,b3]@3 ~@6, ~@4 e2@16 b1@15 f2@16 c2@16 f2@16 c2@16 e2@16 b1@17 e2@16 ~@12, ~@119 [g3,b3]@3 ~@5 [g3,b3]@4 ~@16 b1@13]/5", // Em F Em G
C: "[[e3,g3,b3]@3 ~@8 [f3,a3,c4]@4 ~@2 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@3 ~@5 [f3,a3,c4]@4 ~@8 [f3,a3,c4]@4 ~@2 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@8 [e3,g3,b3]@4 ~@2 [e3,g3,b3]@2 ~@5 e3@3 ~@4 [g3,b3], ~@3 f2@16 c2@16 f2@16 c2@16 e2@16 b1@13, ~@87 [g3,b3]@4 ~@5]/3", // Em F Em G
D: "[e3@4 ~@7 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@4 ~@4 [e3,g3,b3]@4 ~@8 [f3,a3,c4]@4 ~@2 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@8 [f3,a3,c4]@3 ~@3 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@8 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@4 ~@4 [e3,g3,b3]@4 ~@8 [e3,g3,b3]@4 ~@2 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@3 ~@5 [e3,g3,b3]@4 ~@8 [f3,a3,c4]@4 ~@2 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@9 [a3,c4]@4 ~@2 [a3,c4]@2 ~@4 c4@4 ~@3 [a3,c4], ~@4 e2@15 b1@16 f2@16 c2@16 f2@16 c2@16 e2@16 b1@16 e2@16 b1@16 f2@16 c2@16 f2@17 c2@12, ~@203 f3@4 ~@2 f3@3 ~@3 [f3,a3]@4 ~@5]/7", // Em F Em F Am F
E: "[c2,f3,a3,c4]@4 ~@8 [g3,b3,d4]@4 ~ [g3,b3,d4]@2 ~@4 [g3,b3,d4]@4 ~@4 [g3,d4], ~@4 g2@15 d2@9 ~@4", // F G G5
F: "[b3 ~@10 [d4,f4]@3 ~@2 [a#3,d4,f4]@2 ~@4 [a#3,d4,f4]@3 ~@6 [a#3,f4]@4 ~@8 [g3,b3,d4]@4 ~@2 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@3 ~@5 [g3,b3,d4]@4 ~@9 [g3,b3,d4]@3 ~@2 [g3,b3,d4]@2 ~@5 [g3,d4]@4 ~@4 g3@4 ~@8 e3@3 ~@2 [e3,g3,b3]@2 ~@5 [e3,g3,b3]@3 ~@4 [e3,g3,b3]@4 ~@8 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@3 ~@5 [e3,g3,b3]@4 ~@8 [f3,a3,c4]@3 ~@3 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@3 ~@5 [f3,a3,c4]@4 ~@8 [f3,a3,c4]@3 ~@9 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@8 [e3,g3,b3]@4 ~@2 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@4 ~@5, ~@3 a#2@16 ~@12 d4@3 ~@33 g2@17 ~@3 b3@4 ~@4 [b3,d4]@4 ~@8 [g3,b3]@4 ~@4 b1@16 ~@16 b1@17 ~@15 c2@17 ~@13 [f3,a3,c4]@2 ~@45, ~@10 a#3@4 ~@4 f2@8 ~@9 g2@16 d2@17 ~@15 d2@9 ~@8 e2@17 ~@14 e2@16 ~@16 f2@17 ~@15 f2@15 c2@17 e2@16 b1@13]/8", // Dm A# A#5 G G5 Em F Em …
G: "[~@12 [e3,g3,b3]@4 ~ [e3,g3,b3]@3 ~@4 [e3,g3,b3]@4 ~@15 [f3,a3,c4]@4 ~@2 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@8 [f3,a3,c4]@3 ~@3 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@3 ~@5 [f3,a3,c4]@4 ~@8 [g3,b3,d4]@4 ~@2 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@4 ~@4 [g3,b3,d4]@4 ~@8 [a#3,d4,f4]@4 ~@2 [d4,f4]@2 ~@4 [d4,f4]@3 ~@5 [d4,f4]@3 ~@9 [g3,b3,d4]@4 ~@2 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@4 ~@4 [g3,b3,d4]@4 ~@8 [g3,b3,d4]@3 ~@3 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@4 ~@5, [e3,g3,b3]@5 ~@26 [g3,b3]@4 f2@16 ~@16 f2@16 ~@16 g2@16 ~@16 a#2@15 ~@49 g2@16 ~@13, ~@3 e2@17 b1@16 ~@15 c2@17 ~@15 c2@12 ~@20 d2@9 ~@23 f2@6 ~@10 g2@16 d2@17 ~@15 d2@8 ~@5, ~@32 e3@5 ~@107 a#3@4 ~@2 a#3@5 ~@4 a#3@4 ~@61]/7", // Em F G A# Dm G Em G
H: "[[g3,b3,d4]@4 ~@8 [d3,a3]@3 ~@2 [d3,f#3,a3]@2 ~@4 [d3,f#3,a3]@3 ~@5 [d3,f#3,a3]@4 ~@8 [d3,f#3,a3]@3 ~@3 [d3,a3]@2 ~@4 [d3,a3]@4 ~@4 [d3,f#3,a3]@4 ~@8 [g3,b3,d4]@4 ~@8 [g3,b3,d4]@4 ~@4 [g3,b3,d4]@4 ~@8 [g3,b3,d4]@3 ~@3 [g3,b3,d4]@2 ~@5 g3@4 ~@4, ~@4 d2@16 ~@15 d2@16 a1@9 ~@7 g2@14 g3@2 ~@36 [b3,d4]@4 ~@5, ~@11 f#3@4 ~@4 a1@17 ~@12 f#3@4 ~@2 f#3@5 ~@21 [b3,d4]@2 d2@17 g2@16 d2@9 ~@4]/4", // G D5 D D5 D G Bm
I: "[[g3,b3,d4]@4 ~@8 [d3,a3]@4 ~ [d3,f#3,a3]@2 ~@4 [d3,f#3,a3]@4 ~@16 [d3,f#3,a3]@3 ~@3 [d3,f#3,a3]@2 ~@4 [d3,f#3,a3]@3 ~@5 [d3,f#3,a3]@4 ~@8 [g3,b3,d4]@4 ~@2 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@4 ~@4 [g3,b3,d4]@4 ~@9 g3@3 ~@2 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@3 ~@5 [g3,b3,d4]@4 ~@9 c4@3 ~@2 d#4@2 ~@4 d#4@4 ~@6 c4 ~@9 [g#3,d#4]@5 ~ [g#3,c4,d#4]@2 ~@4 c4@3 ~@5 [g#3,c4,d#4]@4 ~@8 [g#3,c4,d#4]@4 ~@2 c4@2 ~@4 [g#3,c4,d#4]@3 ~@5 g#3, ~@4 d2@16 ~@11 [d3,f#3,a3]@7 ~@29 g2@16 d2@17 ~@7 [b3,d4]@3 ~@29 [g#3,d#4]@4 ~ g#3@4 ~@2 g#3@4 ~@5 [g#3,d#4]@6 ~@6 c4@3 ~@8 [g#3,d#4]@3 ~@24 [g#3,d#4]@4 ~@11, ~@11 f#3@4 ~@4 a1@16 d2@16 a1@8 ~@40 g2@16 d2@13 ~@3 g#2@14 c4 ~ d#2@17 ~@15 d#2@17 ~@15 d#2@13, ~@151 c4@2 ~@10 g#2@16 ~@16 g#2@17 ~@12]/7", // G D5 D G G#5 G# D Bm …
J: "~@11 [g#3,c4,d#4]@4 ~@2 [g#3,c4,d#4]@2 d#2@4 [g#3,c4,d#4]@4 ~@4 [g#3,c4,d#4], [c4,d#4]@5 ~@27, ~@3 g#2@17 ~@12", // G# Cm
K: "~@11 [e3,g3,b3]@4 ~@2 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@3 ~@5 [e3,b3], ~@3 e2@16 b1@13", // Em E5
L: "[~@11 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@3 ~@5 [e3,g3,b3]@4 ~@8 [f3,a3,c4]@4 ~@2 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@8 [f3,a3,c4]@4 ~@2 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@8 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@2 ~@5 e3@2 ~@5 [e3,g3,b3]@4 ~@8 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@3 ~@5 [e3,g3,b3]@4 ~@9 c4@4 ~ [f3,a3,c4]@2 ~@4 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@8 [f3,a3,c4]@3 ~@3 [f3,a3,c4]@2 ~@4 [f3,a3,c4]@4 ~@4 [f3,a3,c4]@5 ~@8 [g3,b3,d4]@4 ~ [g3,b3,d4]@2 ~@4 [g3,b3,d4]@4 ~@4 [g3,b3,d4], g3@5 ~@30 f2@17 ~@15 f2@17 ~@15 e2@16 ~@4 [g3,b3]@3 ~@9 e2@17 ~@15 f2@16 c2@17 ~@15 c2@17 ~@15 d2@8 ~@5, ~@3 e2@16 b1@17 ~@15 c2@17 ~@15 c2@17 ~@15 b1@17 ~@15 b1@17 ~@7 [f3,a3]@4 ~@20 f2@16 ~@17 g2@16 ~@12]/8", // Em F Em F G F
M: "[~@12 f4@4 ~ [a#3,d4,f4]@2 ~@4 [a#3,d4,f4]@3 ~@5 [a#3,f4]@4 ~@8 [g3,b3,d4]@4 ~@2 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@4 ~@4 [g3,b3,d4]@4 ~@8 [g3,b3,d4]@3 ~@3 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@4 ~@4 [g3,b3,d4]@4 ~@8 [g3,b3,d4]@3 ~@3 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@3 ~@6 [g3,b3,d4]@4 ~@8 [g3,b3,d4]@3 ~@8 [g3,b3,d4]@4 ~@4 [g3,b3,d4]@4 ~@9 [g3,b3,d4]@3 ~@2 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@3 ~@18 g3@3 ~@2 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@3 ~@5 [g3,b3,d4]@4 ~@9 [g3,b3,d4]@3 ~@9 [g3,b3,d4]@3 ~@5, ~@3 a#2@16 f2@7 ~@9 g2@16 d2@16 g2@16 d2@17 ~@15 d2@17 ~@13 b3@2 d2@16 g2@17 ~@11 [b3,d4]@4 g2@16 ~@16 g2@17 ~@12, ~@11 [a#3,d4]@4 ~@16 d4@3 ~@65 g2@17 ~@16 g2@14 [g3,d4]@3 ~@30 d2@17 ~@15 d2@17 ~@16 d2@12, ~@192 g3@5 ~@6 [b3,d4]@3 ~@50]/8", // A# A#5 G Bm A# G5 Bm
N: "[g3,b3,d4]@4 ~@8 [g3,b3,d4]@3 ~@9 [g3,b3,d4]@3 ~@5, ~@4 g2@14 [g3,b3,d4]@3 ~@11, ~@19 d2@13", // G
O: "[g3,b3,d4] ~@3 [g3,b3,d4]@18 ~@10, ~ [d2,g2]@6 ~, ~@4 c2 ~@27", // G G5
})).s("gm_electric_guitar_clean").gain(0.43).pan(0.2)
// other · distortion guitar
const distortion_guitar = note("<~@4 A@2 B@8 ~@54>".pickRestart({
A: "[~@3 e4@37 ~@3 b3@4 c4@4 d4@4 e4@3 ~@6, ~@40 a3@5 ~@19]/2",
B: "[a4@22 b4@5 ~@3 g4@5 f4@20 e4@2 ~ e4@4 d4@4 b3@5 e4@18 ~@5 b3@5 c4@4 b3@4 g3@4 f3@8 a3@8 b3@4 c4@4 b3@4 a3@4 g3@7 f3@8 g3@4 a3@4 g3@8 f3@2 ~ f3@5 e3@8 d3@5 e3@61, ~@27 a4@5 ~@25 f4@2 ~@117 g3@2 ~@78]/8",
})).s("gm_distortion_guitar").gain(0.4).pan(0.3)
// other · overdriven guitar
const overdriven_guitar = note("<~@4 A@2 B@8 ~@54>".pickRestart({
A: "[~@3 e5@37 ~@3 b4@4 c5@4 d5@4 e5@3 ~@6, ~@40 a4@5 ~@19]/2",
B: "[a5@22 b5@5 ~@3 g5@5 f5@20 e5@2 ~ e5@4 d5@4 b4@5 e5@18 ~@5 b4@5 c5@4 b4@4 g4@4 f4@8 a4@8 b4@4 c5@4 b4@4 a4@4 g4@7 f4@8 g4@4 a4@4 g4@8 f4@2 ~ f4@5 e4@8 d4@5 e4@61, ~@27 a5@5 ~@25 f5@2 ~@117 g4@2 ~@78]/8",
})).s("gm_overdriven_guitar").gain(0.25).pan(0.8)
// bass · electric bass pick
const bass = note("<A B@3 C@2 D@5 E@8 F G@4 H@3 I J@8 K@8 L@2 M@2 N@8 O@8 P@2 Q ~>".pickRestart({
A: "~@4 e2@3 ~@4 e2@3 ~@3 e2@2 ~@4 e2@2 ~@7, ~@19 b1@13",
B: "[e2@2 ~ e2@3 ~@5 e2@2 ~@5 e2@2 b1@3 e2@3 ~@5 b1@3 ~ f2@3 ~@5 f2@3 ~@3 f2@2 c2@3 ~ f2@2 ~@6 c2@2 ~@2 f2@3 ~@5 f2@2 ~@4 f2@2 c2@3 ~ f2@3 ~@4 c2@2]/3",
C: "[~@3 e2@3 ~@5 e2@2 ~@4 e2@2 b1@3 ~ e2@2 ~@6 b1@2 ~@2 e2@2 ~@7 e2@2 ~@3 e2@2 b1@3 ~@2 e2@2 ~@6]/2",
D: "[b1@2 ~ f2@3 ~@5 f2@3 ~@3 f2@2 c2@3 ~ f2@2 ~@6 c2@2 ~@2 f2@2 ~@6 f2@2 ~@4 f2@2 c2@4 f2@3 ~@5 c2@2 ~@2 e2@3 ~@4 e2@3 ~@3 e2@2 b1@2 ~@2 e2@2 ~@7 b1@2 ~@2 e2@2 ~@6 e2@3 ~@3 e2@2 b1@3 ~ e2@2 ~@6 b1@2 ~@2 f2@3 ~@5 f2@3 ~@3 f2@2 c2@3 f2@3 ~@5 c2@2]/5",
E: "[~@3 f2@3 ~@5 f2@2 ~@3 f2@2 c2@3 ~ f2@3 ~@6 c2@2 ~@2 e2@2 ~@6 e2@2 ~@5 b1@3 ~@2 e2@2 ~@6 b1@2 ~@2 e2@2 ~@6 e2@2 ~@4 e2@2 b1@3 ~ e2@2 ~@6 b1@2 ~@2 f2@3 ~@5 f2@3 ~@2 f2@2 c2@2 ~@2 f2@3 ~@6 c2@2 ~@2 f2@3 ~@5 f2@3 ~@3 f2@2 c2@2 ~@2 f2@3 ~@5 c2@2 ~@2 e2@2 ~@6 e2@2 ~@4 e2@2 b1@2 ~ e2@2 ~@7 b1@2 ~@2 e2@2 ~@6 e2@2 ~@3 e2@2 b1@2 ~@3 e2@3 ~@5 b1@2 ~@2 f2@2 ~@6 f2@2 ~@5 c2@3 ~@2 f2@3 ~@5 c2, ~@49 e2@2 ~@190 f2@2 ~@13]/8",
F: "~@3 f2@3 ~@5 f2@3 ~@3 f2@2 c2@2 ~@2 f2@3 ~@5 c2",
G: "[c2 ~@2 g2@3 ~@5 g2@3 ~@3 g2@2 d2@2 ~@2 g2@3 ~@5 d2@2 ~@2 a#2@3 ~@5 a#2@3 ~@2 a#2@2 f2@3 ~ a#2@3 ~@6 f2@2 ~@2 g2@3 ~@5 g2@3 ~@3 g2@2 d2@2 ~@2 g2@2 ~@6 d2@2 ~@2 g2@3 ~@5 g2@3 ~@3 g2@2 d2@2 ~@2 g2@3 ~@5 d2]/4",
H: "[~@3 e2@3 ~@5 e2@3 ~@3 e2@2 b1@3 ~ e2@2 ~@6 b1@2 ~@2 e2@2 ~@6 e2@3 ~@2 e2@2 b1@3 ~@2 e2@3 ~@5 b1@2 ~@2 f2@3 ~@5 f2@3 ~@2 f2@2 c2@2 ~@2 f2@3 ~@5 c2@2]/3",
I: "~@3 f2@3 ~@5 f2@3 ~@2 f2@2 c2@3 ~ f2@3 ~@5 c2@2",
J: "[~@3 e2@3 ~@5 e2@3 ~@3 e2@2 b1@3 ~ e2@3 ~@5 b1@2 ~@2 e2@2 ~@6 e2@2 ~@4 e2@2 b1@3 ~ e2@2 ~@6 b1@2 ~@2 f2@3 ~@5 f2@2 ~@3 f2@2 c2@3 ~ f2@2 ~@7 c2@2 ~@2 f2@2 ~@6 f2@3 ~@3 f2@2 c2@3 f2@3 ~@6 c2@2 ~@2 g2@3 ~@5 g2@3 ~@3 g2@2 d2@3 ~ g2@4 ~@4 d2@3 ~ a#2@4 ~@4 a#2@3 ~@2 a#2@2 f2@3 ~ a#2@4 ~@5 f2@2 ~@2 g2@3 ~@5 g2@3 ~@3 g2@2 d2@3 ~ g2@3 ~@5 d2@2 ~@2 g2@3 ~@5 g2@2 ~@3 g2@2 ~ d2@3 g2@2 ~@7 d2]/8",
K: "[~@3 d2@3 ~@5 d2@2 ~@3 d2@3 a1@3 ~ d2@2 ~@6 a1@3 ~ d2@2 ~@6 d2@2 ~@3 d2@3 a1@3 d2@3 ~@6 a1@3 ~ g2@2 ~@6 g2@3 ~@3 g2@2 d2@4 g2@2 ~@6 d2@2 ~@2 g2@3 ~@5 g2@3 ~@3 g2@2 d2@3 ~ g2@3 ~@5 d2@2 ~@2 d2@4 ~@4 d2@2 ~@4 d2@2 a1@4 d2@3 ~@5 a1@3 ~ d2@3 ~@5 d2@2 ~@3 d2@3 a1@4 d2@3 ~@5 a1@3 ~ g2@2 ~@6 g2@3 ~@2 g2@2 ~ d2@4 g2@3 ~@5 d2@3 ~ g2@3 ~@5 g2@3 ~@3 g2@2 d2@4 g2@3 ~@5 d2]/8",
L: "[~@3 g#2@3 ~@5 g#2@3 ~@2 g#2@2 ~ d#2@3 ~ g#2@3 ~@5 d#2@2 ~@2 g#2@3 ~@4 g#2@3 ~@3 g#2@2 d#2@3 ~ g#2@3 ~@5 d#2@2]/2",
M: "[~@3 g#2@3 ~@5 g#2@3 ~@3 g#2@2 d#2@4 g#2@4 ~@4 d#2@4 g#2@4 ~@4 g#2@3 ~@3 g#2@2 d#2@4 g#2@4 ~@4 d#2]/2",
N: "[~@3 e2@4 ~@4 e2@4 ~@2 e2@2 b1@4 e2@4 ~@4 b1@4 e2@4 ~@4 e2@3 ~@3 e2@2 b1@4 e2@4 ~@4 b1@4 f2@4 ~@4 f2@3 ~@3 f2@2 c2@4 f2@3 ~@5 c2@4 f2@3 ~@5 f2@3 ~@3 f2@2 c2@4 f2@3 ~@5 c2@3 ~ e2@3 ~@5 e2@3 ~@2 e2@2 b1@4 e2@4 ~@5 b1@4 e2@3 ~@5 e2@3 ~@2 e2@2 ~ b1@4 e2@3 ~@5 b1@4 f2@4 ~@4 f2@3 ~@3 f2@2 c2@4 f2@3 ~@5 c2@4 f2@3 ~@5 f2@3 ~@3 f2@2 c2@4 f2@3 ~@4 c2@2]/8",
O: "[~@3 g2@3 ~@5 g2@3 ~@3 g2@2 d2@4 g2@4 ~@4 d2@4 a#2@4 ~@4 a#2@4 ~ a#2@2 f2@5 a#2@6 ~@2 f2@2 ~@3 g2@2 ~@5 g2@3 ~@2 g2@2 d2@4 ~ g2@3 ~@5 d2@3 ~ g2@3 ~@5 g2@3 ~@4 d2@3 ~@2 g2@3 ~@5 d2@3 ~ g2@3 ~@5 g2@2 ~@3 g2@2 d2@3 ~@2 g2@3 ~@5 d2@3 ~ g2@2 ~@7 g2@2 ~@3 g2@2 d2@3 ~ g2@3 ~@5 d2@2 ~@2 g2@3 ~@5 g2@3 ~@3 g2@2 d2@3 ~ g2@3 ~@5 d2@2 ~@2 g2@2 ~@6 g2@2 ~@4 g2@2 d2@2 ~@2 g2@3 ~@5 d2, ~@113 g2@2 ~@141]/8",
P: "[~@3 g2@3 ~@5 g2@2 ~@4 g2 ~ d2@2 ~@3 g2@2 ~@5 d2@2 ~@2 g2@2 ~@6 g2@2 ~@4 g2@2 d2@3 ~ g2@3 ~@6]/2",
Q: "d2 ~@3 [d2,g2]@24 ~@4", // G5
})).s("gm_electric_bass_pick").gain(0.64).pan(0.7)
// drums · kick
const kick = s("bd").struct(`<
A B C@3 D E C F@2 C G C H C@4 I C@5 H J H C@2 H C K C L M@2 C L C@2 N C@4 K I C@2 J C@4 H J@2 C J L C O H N O H P ~
>`.pickRestart({
A: "~@13 x ~@7 x ~@7 x ~@2", B: "~ x ~ x ~ x ~ x", C: "~@3 x ~@7 x ~@7 x ~@7 x ~@4", D: "~@3 x ~@8 x ~@6 x ~@8 x ~@3",
E: "~@4 x ~@6 x ~@8 x ~@6 x ~@4", F: "~@2 x ~@8 x ~@7 x ~@7 x ~@4", G: "~ x ~@3 x ~@3 x ~@3 x ~@2",
H: "~@3 x ~@7 x ~@8 x ~@6 x ~@4", I: "~@2 x ~@7 x ~@8 x ~@7 x ~@4", J: "~@3 x ~@8 x ~@6 x ~@7 x ~@4",
K: "~@3 x ~@7 x ~@6 x ~@7 x ~@5", L: "~@3 x ~@7 x ~@7 x ~@6 x ~@5", M: "~@2 x ~@8 x ~@7 x ~@6 x ~@5",
N: "~@3 x ~@8 x ~@7 x ~@6 x ~@4", O: "~@3 x ~@7 x ~@8 x ~@7 x ~@3", P: "~@3 x ~@28",
})).gain(0.25).pan(0.7)
// drums · snare
const snare = s("sd").struct("<~@35 A ~@7 B ~@3 C ~@7 D ~@9 E F ~>".pickRestart({
A: "~@23 x ~ x!2 ~@3 x ~", B: "~@11 x!3 ~ x", C: "~@23 x ~@3 x ~ x ~ x", D: "~@23 x!2 ~ x ~@3 x ~", E: "~@31 x",
F: "~ x ~ x ~@28",
})).gain(0.35).pan(0.7)
// drums · open hat
const open_hat = s("oh").struct(`<
A B C D@2 E@2 F@2 D@2 G D E F H F H I D E F H D@2 H J F@2 D F@5 K L F G D E F J M F@3 J E H F D@2 F@2 N O F D P J P D
P Q ~@3
>`.pickRestart({
A: "~@3 x ~@3 x", B: "x ~@11 x ~@14 x ~@4", C: "x ~@11 x ~@14 x ~@3 x", D: "~@11 x ~@15 x ~@3 x",
E: "~@12 x ~@14 x ~@3 x", F: "~@11 x ~@14 x ~@3 x ~", G: "~@5 x ~@7 x ~ x", H: "~@11 x ~@14 x ~@4 x",
I: "~@10 x ~@15 x ~@4 x", J: "~@11 x ~@15 x ~@2 x ~", K: "~@11 x ~@20", L: "~@3 x ~@23 x ~@3 x",
M: "~@11 x ~@11 x ~@2 x ~@5", N: "~@11 x ~@11 x ~@3 x ~@4", O: "~@2 x ~@8 x ~@15 x ~@3 x", P: "~@27 x ~@4",
Q: "~@11 x ~@16 x ~@2 x",
})).gain(0.25).pan(0.7)
// drums · crash
const crash = s("cr").struct("<~@12 A ~@7 A ~@14 B ~@7 C ~@11 C ~@3 D ~ D ~ D ~ E A ~>".pickRestart({
A: "~@3 x ~@28", B: "~@27 x ~@2 x ~", C: "~@31 x", D: "~@11 x ~@20", E: "~@11 x ~@15 x ~@4",
})).gain(0.25).pan(0.7)
// drums · tambourine
const tambourine = s("tb").struct(`<
A ~ B C A@2 C A D A C@2 A@4 C A@2 ~ B C A@11 C A@3 C@2 A@6 C@2 A@5 C@2 A@12 ~@2
>`.pickRestart({
A: "~@31 x", B: "x ~@30 x", C: "~@15 x", D: "~@27 x ~@4",
})).gain(0.25).pan(0.7)
// drums · bongos
const bongos = s("bongo:18").struct(`<
A B@2 C D E C D F G D H D@8 C D@4 C D@2 I D I@3 D@2 I D I@2 D C@2 I D C I@2 D J D C D C I D@3 C@2 I H D@2 C K L M ~
>`.pickRestart({
A: "~@7 x ~@12 x ~@7 x ~@3", B: "~ x ~@3 x ~ x", C: "~@4 x ~@14 x ~@7 x ~@4", D: "~@3 x ~@15 x ~@7 x ~@4",
E: "~@3 x ~@15 x ~@8 x ~@3", F: "~@3 x ~@15 x ~@3 x ~@7 x", G: "~@19 x ~@7 x ~@4", H: "~@3 x ~@14 x ~@7 x ~@5",
I: "~@3 x ~@14 x ~@8 x ~@4", J: "~@4 x ~@13 x ~@8 x ~@4", K: "~@4 x ~@14 x ~@8 x ~@3", L: "~@4 x ~@15 x ~@6 x ~@4",
M: "~ x ~@6",
})).gain(0.65).pan(0.7)
// drums · congas
const congas = s("conga:18").struct(`<
A B C D@2 A D@2 E F D G D@4 H D@2 C D H D@15 I@2 D A I@2 H A I@2 D@9 C D H D I D@4 B ~@2
>`.pickRestart({
A: "~@12 x ~@5 x ~@4 x ~@8", B: "~@6 x ~@2 x ~@2 x ~@3", C: "~@11 x ~@6 x ~@4 x ~@8", D: "~@11 x ~@5 x ~@5 x ~@8",
E: "~@11 x ~@5 x ~@14", F: "~@3 x ~@7 x ~@6 x ~@4 x ~@8", G: "~@5 x ~@2 x ~@2 x ~@4", H: "~@12 x ~@4 x ~@5 x ~@8",
I: "~@11 x ~@5 x ~@4 x ~@9",
})).gain(0.79).pan(0.7)
// drums · ht
const ht = s("ht").struct("<[~ x ~ x ~ x ~ x] ~@67>").gain(0.35).pan(0.7)
// drums · jingle bells
const jingle_bells = s("sleighbells:4").struct(`<
~@24 A@2 B C B D C@2 B A B A E F@2 G E G@5 F G@4 H F@2 G@2 I G@4 E A J K L M ~
>`.pickRestart({
A: "~@11 x ~@15 x ~@4", B: "~@11 x ~@14 x ~@5", C: "~@5 x ~@7 x ~@2", D: "~@10 x ~@16 x ~@4",
E: "~@11 x ~@15 x ~@3 x", F: "~@5 x ~@7 x ~ x", G: "~@11 x ~@14 x ~@3 x ~", H: "~@10 x ~@16 x ~@2 x ~",
I: "~@11 x ~@15 x ~@2 x ~", J: "~@6 x ~@6 x ~ x", K: "~@10 x ~@15 x ~@4 x", L: "~@11 x ~@3 x ~@12 x ~@2 x",
M: "~@3 x ~@28",
})).gain(1.5).pan(0.7)
stack(
electric_guitar_clean, distortion_guitar, overdriven_guitar, bass, kick, snare, open_hat, crash, tambourine, bongos,
congas, ht, jingle_bells
)
More by
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.