0:00/0:00
// Dream Baby (How long Must I Dream) — Glen Campbell
// 163 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 107 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): STEEL GTR.
setcpm(163/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 · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
A@6 B@7 C@7 D E@3 F@8 G@7 H@2 I@8 J@4 K@2 L@2 M@8 N@4 O@5 M@8 N@4 P@2 Q@2 R S T@8 R S U@2 V@3
>`.pickRestart({
A: "[[b2,e3,g#3,b3]@2 [b2,e3,g#3,b3,e4]@2 [b3,e4]!2 [b2,g#3,b3,e4] g#3 [b2,e3,g#3]@2 [e3,g#3,b3,e4]@2 [e3,b3,e4] [b3,e4] [b2,e3,b3,e4] e3 [e2,b2,e3,g#3]@2 [b3,e4]!2 e4!2 [e3,e4]!2 [e2,e3,g#3,b3,e4]@2 [b2,e3,g#3,b3,e4] [e3,g#3] ~ [e3,g#3] [b3,e4] b3 [e2,b2,e3,b3]@2 e4!2 [b3,e4]!2 e4 ~ [e2,b2,g#3]@2 e4!2 g#3 [g#3,e4] [g#3,b3,e4]!2, e2@12 [e2,e3]@4 e2@10 e2@4 b2 ~@5 e2@8 [e2,g#3,b3]@4 ~@4 e2@10 e4@6 ~@10 e4@6 ~@4 e4 ~@7, ~@8 [b2,e3,g#3]@4 ~@2 [b3,e4]@6 ~@4 g#3@4 g#3@4 ~@4 [b2,e3,g#3]@4 [b2,e3,g#3,b3]@4 b2@8 ~@2 [b2,e4]@3 e4@2 ~ e3@4 ~@4 [e3,g#3,b3]@4 [e3,g#3]@4 e3@8 [b2,e3,g#3,b3]@4 [b2,e3,b3]@4 [b2,e3]@4, ~@14 b2 ~@5 b2@6 [b2,e3] ~@3 [b3,e4]@6 ~@18 b3@6 g#3@8 ~@28, ~@28 [e3,g#3] b2@3 ~@2 [e2,b2]@4 [e2,b2,g#3,b3]@2 ~@2 e2@6]/6", // E E5 E E5 E E5 E E5 …
B: "[[e2,b2,e3,g#3,b3]@4 e4@2 e4@2 [b3,e4]@2 [b3,e4]@2 [e3,g#3,b3,e4]@2 [e3,b3]@2 [e2,b2,e3,b3]@4 [e2,b2,e3,g#3,b3,e4]@4 [e2,b2,e3,g#3,b3,e4]@4 [b2,e3,g#3]@3 ~ d#3@3 ~ [b2,d#3,a3]@4 [b2,d#3,a3]@4 [b2,d#3]@4 [b2,d#3]@4 [a3,b3,f#4]@6 [a3,b3,f#4]@2 [b3,f#4]@2 b3@2 [a3,b3]@4 f#4@2 ~@4 [b3,f#4]@2 [a3,f#4]@2 a3@2 [b2,d#3,a3,b3]@4 [b2,d#3]@4 [b2,d#3]@4 [b2,d#3,a3]@4 [d#3,a3]@4 [d#3,a3,b3,f#4]@4 f#4@2 f#4@2 [b3,f#4]@2 [b3,f#4]@2, ~ [e2,b2,e3,g#3]@2 [e2,b2] ~@3 [e2,e4] ~@5 [b2,d#3]@2 [b2,d#3,a3] [b2,d#3]@3 [b2,d#3,b3] ~@4 b2@2 [b2,d#3,a3,b3] [b2,d#3,a3], ~@2 b3@2 ~@3 [g#3,e4]@3 ~@4 b3@4 [b3,f#4]@4 [a3,b3,f#4]@4 ~@5 f#4@3 b3@3 ~@9 [b3,f#4]@4 ~@6, ~@17 a3!2 ~@2 [a3,b3,f#4]@2 ~@5, ~@35 f#4@2 ~@2 f#4@3 ~@14]/7", // E E5 E E5 E B7 B B7 …
C: "[[b2,d#3,a3,b3,f#4]@4 f#4@2 f#4@2 [a3,b3,f#4]@2 [b2,a3,b3,f#4]@2 f#4@2 ~@2 [d#3,a3]@4 [b2,d#3,a3,b3,f#4]@4 [a3,b3,f#4]@2 [a3,b3,f#4]@2 [a3,b3,f#4]@2 b3@2 [b2,d#3,a3,b3]@4 [b3,f#4]@2 f#4@2 [d#3,a3,f#4]@2 [d#3,a3,b3,f#4]@2 [b2,d#3,a3,f#4]@2 f#4 ~ [e2,b2,e3,g#3]@4 [e3,g#3,b3,e4]@4 b3@2 [b3,e4]@2 e4@2 ~@2 [e3,g#3]@4 e2@2 ~@4 [e3,b3,e4]@2 [e3,e4]@2 e3@2 [e2,e3,g#3]@4 g#3@4 ~@2 [b3,e4]@2 e4@2 ~@2 e3@4 [g#3,b3]@4 b3@2 [e3,b3,e4]@2 [b2,e3,g#3,b3,e4]@2 [g#3,b3,e4]@2, ~@2 b2@3 ~ [b2,b3]@4 ~@2 [b2,d#3]@2 [b2,d#3]@2 ~@2 b2@3 ~@5 e2@8 ~ e2@3 [e2,g#3]@2 ~@2 [e2,b2,e3]@4 [e2,b2]@6 [e2,b2,g#3]@2 e2@2, ~@2 [d#3,a3,b3]@2 d#3@2 [d#3,a3]@2 ~@10 [d#3,a3]@2 ~@6 b2@4 [b2,b3]@4 [b2,g#3]@4 [b2,b3]@4 ~@4 e3@2 ~@2 [e3,e4]@3 ~@3, ~@7 f#4@3 ~@5 f#4@3 ~ b3@2 ~ b3@4 ~@2 [e3,g#3]@2 [e3,g#3]@2 ~@2 [e3,b3,e4]@3 ~@7 g#3@2 [g#3,b3]@4 ~@6, ~@31 e4@3 ~@5 e4@3 [b3,e4]@3 ~@2 e4@3 ~@6]/7", // B7 D#dim B7 B5 D#dim B7 E E5 …
D: "[b2,d#3]@2 [b2,a3,b3,f#4]@3 [a3,b3,f#4] f#4!2, ~ d#3@2 [b2,d#3,a3,b3]", // B B7
E: "[[b2,d#3,a3,b3,f#4]@2 [a3,f#4]@3 [a3,f#4] f#4!2 [b2,e3,g#3,e4]@2 g#3!2 [b2,e3,g#3,b3]@2 [b3,e4] b3 [e3,g#3,b3]@2 [e2,e3,g#3,b3]@2 [b2,e3,g#3,b3]@2 [b2,e3,g#3,b3,e4]@2, ~ [b2,d#3,b3]@2 b3@2 [b2,e3,b3] ~ b2@3 ~@2, ~@3 [b2,d#3,a3] ~ [e2,e4]@2 e2@2 ~ e2@2, ~@7 [e3,g#3] ~@4, ~@15 e4@3 e4@4 ~@2]/3", // B7 D E E5 E B E5 B7 …
F: "[~@2 [b2,d#3,f#4]@4 [d#3,a3,b3,f#4]@4 f#4@2 f#4 [b3,f#4] f#4 ~ d#3@2 [d#3,a3,b3,f#4]@4 [d#3,a3,b3,f#4]@4 [a3,b3,f#4] [a3,b3,f#4]@2 [b2,a3,b3,f#4] [b3,f#4] ~ [d#3,a3]@2 [d#3,a3,b3,f#4]@4 d#3@2 [b2,d#3]@2 [b3,f#4]@3 [b3,f#4] [b2,d#3,a3]@2 [d#3,a3]@2 [d#3,b3,f#4]@4 [d#3,a3,b3,f#4]@4 f#4 f#4@2 [b2,a3,b3,f#4] [b2,d#3,a3,b3,f#4]@2, ~@4 [a3,b3]@4 ~@4 b2@4 ~@4 b2@12 b2@12 b2@4 ~@4 d#3@8 [b2,d#3,a3]@4 b2@16 ~@4 [b2,d#3,a3]@8 ~@4 b2@23 ~@9, ~@20 [d#3,a3,b3]@6 a3@9 ~@41 [a3,b3,f#4]@8 ~@16 a3@4 ~@12 d#3@8 ~@4, ~@13 d#3@2 f#4@3 ~@46, ~@14 b3@4 ~@13 [b3,f#4]@3 ~@12 [b3,f#4]@4 ~@8 [a3,b3]@3 ~@3]/8", // B B7 B5 B7 B5 D#dim B7 B …
G: "[[b2,e3]@4 [g#3,b3,e4]@6 [g#3,b3,e4]@2 [e3,g#3]@4 [e3,g#3]@4 [e3,g#3,e4]@6 [e3,g#3,e4] ~ [b3,e4]@2 ~@2 [b2,e3,g#3]@4 b3@6 b3@2 [b2,e3,g#3]@4 [b2,e3,g#3]@4 [g#3,b3]@4 [g#3,b3]@2 [e3,g#3,b3,e4] ~ [e3,g#3,e4]@4 d#3@4 [b3,f#4]@6 [b3,f#4]@2 [b2,d#3,a3]@4 ~ b2@2 ~ [b3,f#4]@4 [b3,f#4]@2 [a3,b3,f#4]@2 f#4@2 ~@2 d#3@4 [b3,f#4]@6 [b2,f#4]@2 [a3,b3]@4, ~@2 b2@12 [b2,e3,g#3]@2 ~@2 [b2,e3,g#3,e4]@4 ~@4 b2@4 b2 ~ b2@6 ~@2 f#3@7 f#4@3 ~@6, ~@4 e3@8 [b3,e4]@8 b3@8 ~@2 [b3,e4]@6 ~@8 [b3,e4]@8 [e3,e4]@6 ~@2 b3@8 [d#3,a3]@8 [b3,f#4]@8 a3@6 ~@2 [a3,b3]@8 ~@6 b3 ~@5, ~@40 [d#3,a3]@2 [b2,d#3]@4 d#3@2 ~@2 [d#3,a3]@4 [d#3,f#4] ~]/7", // E5 E E5 E G#m E B5 B7 …
H: "[[b2,e3]@2 [e3,b3,e4]@3 [e3,b3,e4] [b2,e3,g#3]@2 [b2,e3,g#3]@2 [b2,e3,g#3,b3]@2 [b2,e3,g#3,b3,e4]@2 [b2,e3,g#3,b3,e4]@2, ~ [b2,g#3]@2 e4@3 ~@2, ~@3 b3@2 ~@3]/2", // E5 E
I: "[f#4@4 [b3,f#4]@6 [b3,f#4]@2 [b2,d#3,a3]@4 [d#3,a3]@4 [d#3,a3,b3,f#4]@6 ~@2 f#4@2 ~@2 a3@4 [b2,d#3,a3,b3,f#4]@8 [b2,d#3,a3]@4 [b2,d#3]@4 [a3,b3,f#4]@6 [a3,b3,f#4] ~ [d#3,a3]@4 [d#3,a3]@4 f#4@6 f#4@2 [b2,d#3,a3]@4 [b2,d#3,a3]@4 [d#3,a3,b3,f#4]@8 [d#3,a3,b3,f#4]@8 [b3,f#4]@2 [b2,b3,f#4]@4 [d#3,a3,b3,f#4] ~ f#4@2 ~@2 [a3,b3]@4 [d#3,a3,b3,f#4]@4 [d#3,a3,b3,f#4]@4 [b2,d#3,a3,b3]@4, [b2,d#3]@12 ~@4 b2@11 b2@3 f#4@6 ~@74 f#4@6 ~@8 f#4@2 ~@2, ~@2 a3@4 [b3,f#4]@4 ~@3 [d#3,a3,b3,f#4] b3@4 ~@4 [b3,f#4]@4 ~@12 [b3,f#4]@4 ~@8 [d#3,a3]@3 ~ d#3@4 ~@6, ~@28 [d#3,a3]@3 d#3@4 ~@17 [b2,d#3]@8 [b2,b3,f#4]@8 [b2,d#3,a3,b3]@8 ~@8 b2@18 ~@6 [b2,a3,b3]@4 b2@12 ~@4]/8", // B5 B7 D#dim B7 B B7 D#dim B7 …
J: "[[b2,b3]@4 [e3,g#3,b3,e4]@5 g#3 [e3,g#3,b3,e4] ~ [b2,e3,g#3]@4 [b2,e3,g#3]@4 [e3,g#3,b3,e4]@6 [e3,g#3,b3,e4] ~ e4@2 ~@2 [b2,e3,g#3]@4 e4@4 e4@2 [g#3,b3,e4] ~ e4@2 ~@2 [b2,e3,g#3]@4 [g#3,b3,e4]@6 [g#3,b3,e4] ~ [b2,e3,g#3]@2 ~@2, ~ b2@2 [b3,e4]@2 b2@2 b3@2 e3@2 [e3,g#3] ~@4, ~@7 [b2,e3,g#3] ~ b2@3 ~ [b2,e3]@2 ~, ~@15 e4@3 [g#3,b3]@3 ~ b3@4 ~@4 [b3,e4]@2, ~@23 e4@3 ~@6]/4", // B E E5 E E5 G#m E5
K: "[d#3@4 [a3,f#4]@6 [a3,f#4]@2 d#3@4 d#3@4 [d#3,b3,f#4]@6 [b2,a3,b3,f#4] ~ f#4@2 f#4@2, b2@11 ~ b2@14 d#3@5 ~, ~ [d#3,b3]@2 [a3,b3,f#4]@2 a3 ~ [b2,a3,b3]]/2", // D B B7 G#m B7
L: "[[b2,e3,g#3]@4 e4@6 e4 ~ e4@2 ~@2 [b2,e3]@4 [b2,e3,g#3,b3,e4]@4 [b2,e3,g#3,b3,e4]@4 [e2,b2,e3,g#3,b3,e4]@4, e2@5 e2@2 ~, ~@2 b2@5 e4@3 ~@6, ~ [e3,g#3,b3]@2 b3@2 ~@3, ~@3 [e3,g#3] ~@4]/2", // E E5 E
M: "[[c4,g4]@4 [c4,g4]@6 [c4,g4]@2 [c3,e3,a#3]@4 [e3,a#3]@4 [e3,a#3,c4,g4]@6 ~@2 g4@2 ~@2 a#3@4 [c3,e3,a#3,c4,g4]@8 [c3,e3,a#3]@4 [c3,e3]@4 [a#3,c4,g4]@6 [a#3,c4,g4] ~ [e3,a#3]@4 [e3,a#3]@4 g4@6 g4@2 [c3,e3,a#3]@4 [c3,e3,a#3]@4 [e3,a#3,c4,g4]@8 [e3,a#3,c4,g4]@8 [c4,g4]@2 [c3,c4,g4]@4 [e3,a#3,c4,g4] ~ g4@2 ~@2 [a#3,c4]@4 [e3,a#3,c4,g4]@4 [e3,a#3,c4,g4]@4 [c3,e3,a#3,c4]@4, [c3,e3]@12 ~@4 c3@11 c3@3 g4@6 ~@74 g4@6 ~@8 g4@2 ~@2, ~@2 a#3@4 [c4,g4]@4 ~@3 [e3,a#3,c4,g4] c4@4 ~@4 [c4,g4]@4 ~@12 [c4,g4]@4 ~@8 [e3,a#3]@3 ~ e3@4 ~@6, ~@28 [e3,a#3]@3 e3@4 ~@17 [c3,e3]@8 [c3,c4,g4]@8 [c3,e3,a#3,c4]@8 ~@8 c3@18 ~@6 [c3,a#3,c4]@4 c3@12 ~@4]/8", // C5 C7 Edim C7 C C7 Edim C7 …
N: "[[c3,c4]@4 [f3,a3,c4,f4]@5 a3 [f3,a3,c4,f4] ~ [c3,f3,a3]@4 [c3,f3,a3]@4 [f3,a3,c4,f4]@6 [f3,a3,c4,f4] ~ f4@2 ~@2 [c3,f3,a3]@4 f4@4 f4@2 [a3,c4,f4] ~ f4@2 ~@2 [c3,f3,a3]@4 [a3,c4,f4]@6 [a3,c4,f4] ~ [c3,f3,a3]@2 ~@2, ~ c3@2 [c4,f4]@2 c3@2 c4@2 f3@2 [f3,a3] ~@4, ~@7 [c3,f3,a3] ~ c3@3 ~ [c3,f3]@2 ~, ~@15 f4@3 [a3,c4]@3 ~ c4@4 ~@4 [c4,f4]@2, ~@23 f4@3 ~@6]/4", // C F F5 F F5 Am F5
O: "[[e3,c4]@4 [c4,g4]@6 [c4,g4]@2 [c3,e3,a#3]@4 ~ c3@2 ~ [c4,g4]@4 [c4,g4]@2 [a#3,c4,g4]@2 g4@2 ~@2 e3@4 [c4,g4]@6 [c3,g4]@2 [e3,a#3,g4]@3 ~ [c3,f3]@4 [f3,c4,f4]@6 [f3,c4,f4]@2 [c3,f3,a3]@4 [c3,f3,a3]@4 [c3,f3,a3,c4]@4 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@4, c3@6 ~@2 g3@7 g4@3 ~@12 f4@6 ~@4, ~@4 [e3,a#3]@8 [c4,g4]@8 a#3@6 ~@2 [a#3,c4]@8 ~@6 c4 ~ c4@8 ~@8 c4@8 ~@12, ~@4 [e3,a#3] [c3,e3]@2 e3 ~ [e3,a#3]@2 ~@2 [c3,a3]@2 ~@5]/5", // C C5 C7 C5 C7 C5 Edim F5 …
P: "[e3@4 [a#3,g4]@6 [a#3,g4]@2 e3@4 e3@4 [e3,c4,g4]@6 [c3,a#3,c4,g4] ~ g4@2 g4@2, c3@11 ~ c3@14 e3@5 ~, ~ [e3,c4]@2 [a#3,c4,g4]@2 a#3 ~ [c3,a#3,c4]]/2", // D# C C7 C C7
Q: "[[c3,f3,a3]@4 f4@6 f4 ~ f4@2 ~@2 [c3,f3]@4 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@4 [f2,c3,f3,a3,c4,f4]@4, f2@5 f2@2 ~, ~@2 c3@5 f4@3 ~@6, ~ [f3,a3,c4]@2 c4@2 ~@3, ~@3 [f3,a3] ~@4]/2", // F F5 F
R: "[c3,e3]@2 [c3,a#3,c4,g4]@3 [a#3,c4,g4] g4!2, ~ e3@2 [c3,e3,a#3,c4]", // C C7
S: "[c3,e3,a#3,c4,g4]@2 [a#3,g4]@3 [a#3,g4] g4!2, ~ [c3,e3,c4]@2 [c3,e3,a#3,c4]", // C7 D# C C7
T: "[~@4 [c3,e3,g4]@8 [e3,a#3,c4,g4]@8 g4@4 g4@2 [c4,g4]@2 g4@2 ~@2 e3@4 [e3,a#3,c4,g4]@8 [e3,a#3,c4,g4]@8 [a#3,c4,g4]@2 [a#3,c4,g4]@4 [c3,a#3,c4,g4]@2 [c4,g4]@2 ~@2 [e3,a#3]@4 [e3,a#3,c4,g4]@8 e3@4 [c3,e3]@4 [c4,g4]@6 [c4,g4]@2 [c3,e3,a#3]@4 [e3,a#3]@4 [e3,c4,g4]@8 [e3,a#3,c4,g4]@8 g4@2 g4@4 [c3,a#3,c4,g4]@2 [c3,e3,a#3,c4,g4]@3 ~, ~@4 [a#3,c4]@4 ~@4 c3@4 ~@4 c3@12 c3@12 c3@4 ~@4 e3@8 [c3,e3,a#3]@4 c3@16 ~@4 [c3,e3,a#3]@8 ~@4 c3@23 ~@9, ~@20 [e3,a#3,c4]@6 a#3@9 ~@41 [a#3,c4,g4]@8 ~@16 a#3@4 ~@12 e3@8 ~@4, ~@13 e3@2 g4@3 ~@46, ~@14 c4@4 ~@13 [c4,g4]@3 ~@12 [c4,g4]@4 ~@8 [a#3,c4]@3 ~@3]/8", // C C7 C5 C7 C5 Edim C7 C …
U: "[~@2 [c3,e3,g4]@4 [e3,a#3,c4,g4]@4 g4@2 g4 [c4,g4] g4!2, ~ [a#3,c4] ~ c3 ~ c3@3, ~@10 [e3,a#3,c4]@3 [e3,a#3]@3, ~@7 c4]/2", // C C7 C5 A#sus2 C7 Edim
V: "[[c3,f3,a3]@4 f4@6 f4 ~ f4@2 ~@2 [c3,f3]@4 [f2,c3,f3,c4,f4]@20 ~@8, f2@5 ~@7, ~@2 c3@5 f4@3 ~@14, ~@2 [f3,a3,c4]@4 c4@4 a3@9 ~@5, ~@3 [f3,a3] ~@8]/3", // F F5 F
})).s("gm_acoustic_guitar_steel").gain(0.14).pan(0)
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
~@7 A B@2 C B@2 D E F G H I J K L M N O P Q R S T Q U G V W X Y L Z AA AB AC L AD AE AF AG AH AE AA AI G AJ B AK AL AM
AN AO AP AQ AR AS AO AT AU AV AW AX AY AZ@2 BA BB BC BD BE BF BG BH BI BF BJ BK BL BM BN@2 BO BB BP BQ@2 BF BR BS BT
BU BV BW BX BY BN@2 BO BZ ~
>`.pickRestart({
A: "~@4 e3@3 ~ d3@2 ~@2 c3@2 ~@2, ~@4 d#3 ~@11", B: "b2@5 ~@3 f#2@5 ~@3", C: "b2@5 ~@3 f#2@4 ~@3 a2",
D: "b2@4 ~@4 f#2@4 ~@3 a2", E: "b2@5 ~@3 f#2@5 ~ a2 ~", F: "b2@4 ~@3 f2 f#2@3 ~ d#2@3 ~", G: "e2@5 ~@3 b1@5 ~@3",
H: "e2@4 ~@3 e2 b1@5 ~@3", I: "e2 ~ b1 ~", J: "e2@5 ~@2 e2 g2@4 b2@3 c#3", K: "b2@5 ~@3 f#2@4 ~@4",
L: "b2@6 ~@2 f#2@5 ~@3", M: "e2@6 ~@2 b1@5 ~@3", N: "e2@5 ~@3 d2@2 ~@2 c2@3 ~", O: "b1@5 ~@3 f#1@6 ~@2",
P: "b1@5 ~@3 f#1@3 ~ a1@3 ~", Q: "b1@6 ~@2 f#1@5 ~@3", R: "b1@3 ~ f#1@2 a1@2", S: "b1@4 ~@2 b1@2 f#1@7 ~",
T: "b1@3 ~ f#1@3 ~", U: "b1 f#1 a1 b1", V: "e2@5 ~@3 b1@6 ~@2", W: "e2@5 ~ e2 ~ b1@5 ~ b1 ~",
X: "e2 ~ e2@2 d2@2 c2@2", Y: "b1@3 ~ f#2@3 ~", Z: "b2@3 ~ f#2@3 ~", AA: "e2@3 ~ b1@3 ~", AB: "e2@3 ~ e2@4 d2@4 c2@4",
AC: "b1@6 ~@2 f#2@5 ~@3", AD: "b2@3 ~ f#2@2 ~ f#2", AE: "b1 d#2 f#2 g#2", AF: "b2@5 ~ b2@2 f#2@5 ~ f#2 ~",
AG: "b2@8 f#2@4 ~@2 f#2 ~", AH: "b2@8 f#2@5 ~ f#2 ~", AI: "e2@2 ~@2 b1@3 ~", AJ: "e2 g#2 b2 c#3",
AK: "b2@5 ~@3 f#2@6 ~@2", AL: "e2@5 ~@3 b1@7 ~", AM: "e2@3 ~ e2@3 ~ e2@3 ~ e2@3 ~", AN: "c2@8 g1@5 ~ g1 ~",
AO: "c2@5 ~ c2@2 g1@6 ~@2", AP: "c2@5 ~ c2@2 g1@5 ~ g1 ~", AQ: "c2 g1 a#1@2", AR: "c2@5 ~ c2@2 g1@7 ~",
AS: "c2@5 ~ c2@2 g1@8", AT: "c2@5 ~ c2 ~ c2@4 e2@4", AU: "f2@5 ~ f2@2 c2@5 ~ c2 ~", AV: "f1@5 ~ f1@2 c2@5 ~ c2 ~",
AW: "f2@5 ~@3 c2@5 ~ c2@2, ~@7 f2@2 ~@7", AX: "f2 a2 c3 d3", AY: "c3@2 ~@2 g2@3 ~, ~@7 c3@2 ~@7",
AZ: "c3@6 ~@2 g2@5 ~@3", BA: "f2@6 ~@2 c2@5 ~@3", BB: "f2 ~ f2@2 d#2@2 c#2@2", BC: "c2@5 ~ c2@2 g2@7 ~",
BD: "c3@5 ~ c3@2 g2@8", BE: "c3@5 ~ c3@2 g2@5 ~ g2 ~", BF: "c2 e2 g2 a#2", BG: "c3@5 ~@3 g2@7 ~, ~@7 c3@2 ~@7",
BH: "c3@5 ~ c3 ~ g2@7 ~", BI: "c3@5 ~@3 g2@4 ~@2 g2 ~, ~@7 c3@2 ~@7", BJ: "f2@5 ~ f2@2 c2@6 ~@2",
BK: "f2@2 ~ f2 c2@3 ~", BL: "f2@4 ~@2 f2@2 c2@5 ~@3", BM: "f2@2 g#2@5 ~ c3@4 d3@4", BN: "c3@5 ~ c3@2 g2@7 ~",
BO: "f2@6 ~@2 c2@7 ~", BP: "c2@7 ~ g2@6 ~@2", BQ: "c3@3 ~ g2@3 ~", BR: "c3@5 ~ c3@2 g2@5 ~@3",
BS: "c3@4 ~@2 c3@2 g2@5 ~@3", BT: "c3@2 ~ c3 g2@3 ~", BU: "c2 e2 g2 a2", BV: "c3@6 ~@2 g2@7 ~",
BW: "c3@4 ~@2 c3@2 g2@7 ~", BX: "c3@4 ~@4 g2@7 ~, ~@7 c3@2 ~@7", BY: "c2@4 e2@4 g2@4 a2@3 ~",
BZ: "f2@2 ~@2 c2@4 f2@5 ~@3",
})).s("gm_acoustic_bass").gain(0.27)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_2 = note(`<
~ A ~@2 B ~@2 C D ~ E F ~ G@3 ~@8 H I@2 J F ~@2 J K L ~ M N O P Q R S T@2 ~ U V@2 W ~@3 X Y Z AA AB AC AD@2 ~ AE AF@2
AG ~@3 AH AI AJ AK AL AM AC AD@2 ~ AE AF@2 AG ~@3 AH AN AO AP AQ ~@2 AR AS@2 AT AU ~@2 AT ~@2 AR AV AP AQ ~
>`.pickRestart({
A: "~@15 b2", B: "~@5 g#3 ~@2", C: "~@15 e2", D: "b2@3 ~", E: "f#3 ~ f#3@2, ~ d#4@2 ~", F: "f#3 ~@3",
G: "[~@16 b2@27 ~@5, ~@7 d#4@3 ~@14, ~@4 f#3 ~@7]/3", H: "b2@4 ~ e2 ~@10", I: "[~@3 [a3,d#4]@2 ~@3]/2",
J: "~@5 d#4 ~@2", K: "~@4 f#4 ~@11", L: "~@14 g#3 ~", M: "~@8 e3@7 ~, ~@2 e4 ~", N: "~@4 e2 ~@11",
O: "~@10 d#4@2 ~ e2@2 ~", P: "b2@3 ~, f#3 ~@3", Q: "~@3 e4@3 ~@2", R: "~@2 [e3,g#3,b3,e4] ~@13", S: "~ d#4@2 ~",
T: "[~@14 a3 ~ f#3@3 [b2,f#3]@8 ~@5, ~@14 d#4@5 ~@13, ~@15 b2@4 ~@13]/2", U: "[b2,f#3] ~@3",
V: "[~@4 f2 ~@5 [f#3,a3,d#4,f#4] ~@4 f#3@4 ~@13, ~@7 [d#4,f#4]@3 ~@6]/2", W: "~@10 [a3,d#4] ~@5, ~@5 f#3@2 ~",
X: "~@2 [g#3,b3,e4] ~@5 e3@3 ~@5", Y: "~@4 f2@2 f#2 ~@9", Z: "~@12 d#4@3 ~", AA: "~@3 e3@8 ~@2 b3 ~@2",
AB: "~@2 e4 ~@13", AC: "~ e4@2 ~", AD: "[~@14 a#3 ~ g3@3 [c3,g3]@8 ~@5, ~@14 e4@5 ~@13, ~@15 c3@4 ~@13]/2",
AE: "[c3,g3] ~@3", AF: "[~@4 f#2 ~@5 [g3,a#3,e4,g4] ~@4 g3@4 ~@13, ~@7 [e4,g4]@3 ~@6]/2",
AG: "~@10 [a#3,e4] ~@5, ~@5 g3@2 ~", AH: "~@2 [a3,c4,f4] ~@5 f3@3 ~@5", AI: "~@4 f2 ~@11", AJ: "~@10 e4@2 ~ f2@2 ~",
AK: "c3@3 ~, g3 ~@3", AL: "~@3 f4@3 ~@2", AM: "~@2 [f3,a3,c4,f4] ~@13", AN: "~@4 f#2@2 g2 ~@9", AO: "~@12 e4@3 ~",
AP: "~@3 f3@8 ~@2 c4 ~@2", AQ: "~@2 f4 ~@13", AR: "c3@4 ~ f2 ~@10", AS: "[~@3 [a#3,e4]@2 ~@3]/2", AT: "~@5 e4 ~@2",
AU: "g3 ~@3", AV: "~@3 [a#3,e4]",
})).s("gm_acoustic_guitar_steel").gain(0.14).pan(1)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
~@24 A@6 B@2 C@2 D@2 E@2 F G@2 A@2 H@4 E@2 I@2 J@2 K@2 L@2 M@3 N O@2 P@2 Q@6 R@3 S@4 T U@3 V W@3 X@4 Y Z@3 AA AB AC@2
AD AE@3 AF@4 ~
>`.pickRestart({
A: "[[d#4,f#4]@7 [d4,f4]]/2", B: "[~@15 b4@15 ~@2, [d#4,f#4]]/2", C: "[[g#3,e4]@27 ~ d#4@4, ~@27 g3@5]/2",
D: "[g#3,e4]/2", E: "[d#4,f#4]/2", F: "[d#4,f#4]@3 [d#4,f#4]", G: "[[g#3,e4]@29 ~@3]/2",
H: "[[d#4,f#4]@15 [d4,f4]]/4", I: "[[g#3,e4]@7 [g3,d#4]]/2", J: "[[g#3,e4]@7 [d4,f4]]/2",
K: "[f#4@27 ~ f#4@2 g4@2, d#4]/2", L: "[[g#3,e4]@3 ~]/2", M: "[[e4,g4]@17 ~@3 [c4,e4]@3 [b3,d#4]]/3", N: "[c4,e4]",
O: "[e4,g4]/2", P: "[[c4,e4]@28 [c4,d4]@2 [e4,f4] [g4,a4]]/2",
Q: "[[a4,c5]@23 ~ [f4,a4]@7 ~ c5@31 ~ c5@31 [e4,c5], b4 ~@30 a4@31 ~ e4@31 ~@2]/6", // Am F C
R: "[~@8 d4@3 ~ e4@3 ~ a3@26 ~@6, ~@7 a#4@4 g4@4 f4@22 ~@11]/3",
S: "[[e4,c5]@15 [d4,a#4]@12 [e4,g4]@4 ~ a#4@3 ~ c5@21 ~@2 f4 [g4,a4] [b4,c5,d5] [e5,f5,g5] [a5,b5], ~@31 d4@4 e4@24 ~@5]/4", // C Gm Em Gsus2 Bm Em Asus2
T: "[e5,c6]", // C
U: "[[g5,a#5]@10 ~@2 g5@2 ~@2 a#5@3 g5@25 a4 [b4,c5] [d5,e5,f5] [g5,a5,b5], ~@10 e5@2 ~@2 e5@2 ~@3 c6@23 ~@6, ~@11 a#5@2 ~@2 d6@5 ~@28]/3", // Gm Cmaj7 Dm G
V: "[c6,d6,e6] f6@15, a5", W: "[[g5,d#6]@12 [f5,c6]@3 ~ g5@3 ~ a5@24 ~ f6@2 [d6,e6], ~@15 d#6@4 f6@24 ~@5]/3",
X: "[~@16 a#5@8 [a#4,g5]@7 ~ a4@25 ~@7, [e5,c6]@17 ~@14 f5@29 ~@4, ~@15 d5@8 ~@41]/4", Y: "~ [e5,c6]@3",
Z: "[[d5,a#5]@10 ~@3 [a#4,g5]@2 [d5,a#5]@8 ~@20 b4 [c5,d5] f5 [g5,a5] [b5,c6], ~@10 [a#4,g5]@2 a#5@2 ~@9 c6@21 ~@4, ~@11 d5@2 ~@11 e5@23 ~]/3", // Gm D# Gm Csus2 Gsus2 Cmaj7 D#
AA: "[c6,e6], d6 ~@15", AB: "[a#5,d6]@11 ~ a#5@4, ~@11 g5@5",
AC: "[[a#5,d6]@8 ~@19 a4 [b4,c5,d5] [e5,f5,g5] [a5,b5,c6] [d6,e6,f6], ~@8 [c6,e6]@21 ~@3]/2", AD: "[e6,g6]",
AE: "[[a#5,d6]@11 ~ e6@3 [d6,f6]@8 g6@25, ~@11 c6@4 ~@8 e6@23 ~@2]/3", // A# Dm
AF: "[[e5,c6]@15 [d5,a#5]@8 [a#4,g5]@8 [a4,f5]@18 ~@15]/4", // C Gm D# Dm
})).s("gm_string_ensemble_2").gain(0.25).pan(0.6)
// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
A@2 B@2 C@2 D@2 E@2 F@4 G@2 H@8 E@2 I@3 J@8 K@4 L@4 M@8 N@4 O@3 P Q@4 R@4 S@3 T U V@4 Q@4 R@4 W@3 X@8 Y Z@4 AA@2 AB@2
~
>`.pickRestart({
A: "[e2@28 ~ g#2@3, ~@14 g2 ~]/2", B: "[e2@27 g2@3 g#2@2]/2", C: "[e2@14 g2 g#2]/2", D: "[e2@29 ~@3]/2",
E: "[b2@27 a2@2 a#2@3]/2", F: "[b2@27 a2@2 a#2@2 b2@28 a2@2 a#2@3]/4", G: "[b2@27 d2@2 d#2@3]/2",
H: "[e2@27 d2@2 d#2@2 e2@28 a2@2 a#2@2 b2@32 e2@32 ~]/8", I: "[b2@27 a2@2 a#2@2 b2@17]/3",
J: "[~@11 a2@2 a#2@2 b2@31 ~ e2@28 d2@2 d#2@2 e2@30 ~@2 b2@17]/8", K: "[~@11 a2@2 a#2@2 b2@16 e2@23 ~@10]/4",
L: "[b2@27 a2@2 a#2@2 b2@32 ~]/4", M: "[b2@27 a2@2 a#2@2 b2@30 ~@2 e2@28 d2@2 d#2@2 e2@28 ~@5]/8",
N: "[b2@27 d2@2 d#2@2 e2@30 ~@3]/4", O: "[c3@18 ~@2 c3@3 b2]/3", P: "c3@15 ~", Q: "[c3@15 ~]/4", R: "[f3@61 ~@3]/4",
S: "c3/3", T: "f3", U: "~@2 f3!2 d#3!2 c#3!2", V: "[c3@31 ~]/4", W: "[c3@31 f3@17]/3",
X: "[~@4 f3@2 f3@2 d#3@2 d#3@2 c#3@2 ~ c3@60 a#2@2 ~@2 c3@49, ~@7 c#3 ~@31 b2 ~@24]/8", Y: "~@11 a#2@2 ~ b2@2",
Z: "[c3@30 a#2 b2]/4", AA: "c3/2", AB: "[f2@7 ~]/2",
})).s("gm_string_ensemble_1").gain(0.3).pan(0.4)
// chords · brass section · "BRASS 1"
const brass_section = note(`<
~@58 A B C D E F@2 G H G I J@2 ~@5 K L ~@2 K M ~@2 N O J@2 ~@4 C P Q R C S T U V S ~@5
>`.pickRestart({
A: "[g4,a#4]@15 ~", B: "[e4,g4]@3 ~@5 [g4,c5]@8", C: "~@2 [c5,e5] ~ [b4,d#5] [c5,e5] ~@2", D: "~@11 [e4,c5] ~@4",
E: "[g4,a#4]@11 ~ [e4,g4]@2 ~@2", // Gm Em
F: "[~@4 c5@10 d5 e5@2 ~@3 [c5,e5] ~@3 [b4,d#5]@2 [c5,e5] ~@5, ~ e4@3 ~@4, ~@14 c5@3 ~@15]/2", G: "~ [a4,f5]@3",
H: "~@4 f5@2 c5@2 d#5@2 g5 ~@5", I: "[f5,a5] ~@3 [c5,f5] ~ c5@2 d#5@2 f5 ~@5", J: "[~@4 [e4,c5]@27 ~]/2",
K: "~@4 [c5,e5] ~@3 [b4,d#5]@2 [c5,e5] ~@5", L: "[c5,e5] ~@3 [c5,e5]@2 ~@2 [b4,d#5]@2 [c5,e5] ~@5",
M: "g5 ~ [e5,g5] ~ [d#5,f#5] [e5,g5] ~@2, e5 ~@15", N: "~@2 [f5,a5] ~ [e5,g#5] a5 ~@2, ~@10 f5 ~@5",
O: "[f5,a5] ~ [f5,a5] ~ [e5,g#5] a5 ~@2, ~@10 f5 ~@5", P: "[c5,e5] ~ [c5,e5] ~ [b4,d#5] [c5,e5] ~@2",
Q: "~@4 [c5,e5]@11 ~", R: "[a#4,d5]@12 [g4,a#4]@3 ~", S: "[e5,g5] ~ [e5,g5] ~ [d#5,f#5] [e5,g5] ~@2",
T: "~ [e5,g5]@3", U: "[d5,f5]@8 [c5,e5]@7 ~", V: "~@2 [e5,g5] ~ [d#5,f#5] e5 ~@2, ~@10 g5 ~@5",
})).s("gm_brass_section").gain(0.44)
// bass · trombone
const bass_2 = note(`<
~@58 A@2 ~ B C@2 D E ~ F@2 G@2 ~@2 H I@2 J@4 K@2 L@2 M N O@2 P Q R ~ K@2 G@2 S T S R S U S V ~@3
>`.pickRestart({
A: "[c2@13 ~@2 c2@14 ~@3]/2", B: "e2", C: "[~@15 c2@15 ~@2]/2", D: "~@2 c2 ~ d2 ~ e2 ~", E: "f2@7 ~",
F: "[f2@5 ~@3]/2", G: "[c2@19 ~@13]/2", H: "~@4 f2@2 ~ d#2@2 ~@3 c#2@2 ~@2", I: "[c2@9 ~@7]/2",
J: "[~@8 c2@20 ~@3 c2@20 ~@13]/4", K: "[c2@21 ~@11]/2", L: "[f1@21 ~@11]/2", M: "f1",
N: "f2@4 g#2@2 a2@2 c3@2 ~@2 d3@3 ~", O: "c3/2", P: "f2", Q: "~@4 f2 ~ f2@2 d#2 ~ d#2 ~ c#2 ~ c#2 ~", R: "c2",
S: "c3", T: "~@4 e2@4 g2@3 a2@5", U: "~@3 e2@5 g2@4 a2@2 ~@2", V: "c2@7 ~",
})).s("gm_trombone").gain(0.37).pan(0.7)
// drums · kick
const kick = s("bd").struct("<~@41 [x!2]!32 [x ~ x!2] [x!2]!15 [x ~ x!2] [x!2]!15 x ~>").gain(0.44)
// drums · rim
const rim = s("rim").struct("<~@23 A B@16 C B@7 D B@7 E B@16 F B@15 G B@7 H B@7 I ~>".pickRestart({
A: "~@3 x", B: "~ x ~ x", C: "~@5 x!2 ~", D: "~ x!2 ~@3 x ~", E: "~@2 x!3 ~@3 x ~ x ~ x ~ x ~", F: "~ x!3 ~ x!3",
G: "~@4 x ~@2 x!2 ~@2 x!2 ~ x ~", H: "~@4 x ~@6 x!2 ~@3", I: "~ x!2 ~@5",
})).gain(0.38)
// drums · hihat
const hihat = s("hh").struct(`<
~@23 A B@15 C ~ D@8 E D@3 E D@2 F E D@7 E D@3 E D@3 G E D@14 ~ E D@7 E D@6 F ~
>`.pickRestart({
A: "~@11 x ~@4", B: "x!2", C: "x ~@7 x ~@2 x ~@4", D: "x!4", E: "~ x!3", F: "x", G: "x!2 ~@2",
})).gain(0.27)
// drums · open hat
const open_hat = s("oh").struct("<~@56 [~ x ~@2] ~@32 x ~@17>").gain(0.33)
// drums · crash
const crash = s("cr").struct("<~@24 A ~@15 A ~@8 A ~@3 A ~@3 A ~@7 A ~@3 A ~@4 A ~@15 A ~@7 A ~@6 B ~>".pickRestart({
A: "x", B: "~@7 x!2 ~@7",
})).gain(0.27)
stack(
acoustic_guitar_steel, bass, acoustic_guitar_steel_2, string_ensemble_2, string_ensemble_1, brass_section, bass_2,
kick, rim, hihat, open_hat, crash
)
More by Glen Campbell
Rhinestone Cowboy1975 · C major · 116 bpmWichita Lineman1969 · F major · 85 bpmGalveston1969 · F major · 118 bpmIt's Only Make Believe1970 · C major · 75 bpmSunflower1977 · G major · 129 bpmBy The Time I Get To PhoenixB♭ major · 85 bpmDreams Of The Everyday HousewifeF♯ minor · 171 bpmGentle On My MindC major · 100 bpm
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.