0:00/0:00
// Be Bob A-Lula — Vincent Gene
// 120 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 88 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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.
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
~ A B C D E F G H I J K L M N M N M O P Q R@2 S T U V W X M N M N M O P Q R@2 S T U V W X A B C D E F G H I J K L M N
M N M O P Q R@2 S T U V W X Y Z AA AB AC AD B AE AF AG AH AI@2 AJ@2
>`.pickRestart({
A: "e1@7 ~ g#1@8 a1@8 a#1@6 ~@2", B: "e1@8 g#1@8 a1@8 b1@5 a1@3", C: "e1@8 e2@8 d2@7 ~ a1@5 b1@2 ~",
D: "d2@8 e2@8 b2@5 g#2@3 e2@5 b1@3", E: "a1@8 c#2@7 ~ e2@8 g2@5 e2@3", F: "a2@8 g2@5 c#2@3 b2@5 a2@3 g2@5 e2@3",
G: "e1@8 g#1@7 ~ b1@5 d2@3 e2@5 d2@2 ~", H: "b1@3 g#2@2 a2@3 b2@2 ~ a2@2 g#2@2 ~ e2@3 g#2@2 d2@3 e2@5 d2@3",
I: "b1@8 d#2@8 f#2@8 b1@5 a#1@2 ~", J: "a1@5 a2@2 ~ b1@5 a2@2 ~ c#2@5 a2@3 d2@5 a2@3", K: "e1@8 g#1@8 a1@8 a#1@7 ~",
L: "b1@6 ~@7 b1@8 d#2@3 f#2@6 ~@2", M: "e2@3 ~@29", N: "e2@3 ~@18 b2@2 ~ d3@2 ~ b2@2 d3@2 ~",
O: "e2@2 ~@19 b2@2 ~ d3@2 ~ b2@2 d3@2 ~", P: "e2@4 ~ e2 ~@2 e2@3 ~@2 e2 ~@2 e2@3 ~@2 e2 ~@2 e2@3 ~@2 e2 ~@2",
Q: "e2@3 ~@2 e2@2 ~ f2@4 ~ f2@2 ~ f#2@4 ~ f#2@2 ~ g2@4 ~ g#2@2 ~",
R: "[a1@6 ~ c#2@7 ~@2 e2@7 g2@6 e2@2 a2@8 ~ g2@8 e2@8 c#2@5 a1@2 ~]/2", S: "e1@8 g#1@8 b1@8 d2@4 ~ b1@2 ~",
T: "e2@4 ~@2 g#2@4 ~ a2@3 ~@2 a#2@4 ~ b2@4 ~ a2@4 ~@2", U: "b1@8 d#2@8 f#2@8 b1@5 a#1@3",
V: "a1@7 ~ c#2@8 e2@8 g2@5 e2@2 ~", W: "e1@8 g#1@7 ~ a1@8 a#1@8", X: "b1@3 ~@2 a1@3 a#1@5 b1@18 ~",
Y: "e1@8 g#1@8 a1@8 b1@5 d2@2 ~", Z: "e1@8 g#1@7 ~ a1@8 b1@5 e2@2 ~", AA: "e1@8 g#1@8 a1@8 b1@5 d2@3",
AB: "~@4 e1@4 ~@3 f1@4 ~ f#1@4 ~ g1@5 ~ g#1@3 ~@2", AC: "a1@5 a1@3 c#2@8 ~@8 g2@5 e2@2 ~, ~@16 e2@11 ~@5",
AD: "a2@8 g2@8 e2@8 d2@5 e2@3, ~@16 f2 ~@15", AE: "e2@5 d2@2 ~ a1@5 e2@3 ~@5 e2@3 d2@5 b1@2 ~",
AF: "b1@8 d#2@8 f#2@8 d#2@4 ~ b1@2 ~", AG: "a1@7 ~ c#2@8 e2@8 c#2@5 a1@3", AH: "e1 ~@7",
AI: "[~@8 f1@5 e1@32 a#1 ~@2 b1@2 ~ d2@2 [d2,e2]@2 ~ e2@2 ~ e2@2 [d2,e2]@3, ~@59 d2 ~@4]/2", // Dsus2
AJ: "[b1@3 a#1@2 a1@4 ~@7 g1 ~@12 e1@24 ~@11, ~@11 g#1@19 ~@34]/2",
})).s("gm_electric_bass_finger").gain(0.52)
// chords · piano · "A.PIANO"
const piano = note(`<
~ A@5 B C@2 D E@2 F G H I J K L M N O@4 P Q R S G H I J K L M N O@4 P Q R S T U V W X Y Z@2 AA@2 AB AC@8 N O@4 P Q R S
AD AE@7 AF AG AH AI@2 AJ ~
>`.pickRestart({
A: "[e2@8 [g#3,b3,d4] e4 ~@3 e3@3 ~@6 [g#3,b3,d4]@2 b2@4 ~@4 e2@8 b2@2 ~@4 a#4 ~ b4@2 ~@3 d5 ~@2 e3@5 [b2,e5]@2 e2@9 [b3,d4,g#4] ~@4 b2@3 [b3,d4,g#4] ~@4 b2@2 ~ [a#3,g4]@2 ~@3 b2@3 e2@4 b3 [d4,g#4] ~ [b3,d4] g#4 [e2,b3] [d4,g#4] b3 [d4,g#4] b3 g#4 ~ b3 ~@3 [b3,d4,g#4]@3 e3 ~@5 [a3,b3] ~@2 [e4,a4]@3 ~@2 [e4,a4]@2 ~@3 [d#4,a4] ~@2 [d4,a4] ~@2 [c#4,a4]@2 ~@6 a3@5 e3@3, ~@8 b2@3 ~@5 e2@9 ~@4 e3@2 [b3,d4,e4]@2 ~@23 d#5@2 ~@29 c#4@2 ~@4 [b3,d4,g#4]@7 ~@5 e3@2 ~@3 d4@2 ~@13 [d#4,a4]@2 a2@8 ~@6 e3@3 a2@7 ~@9, ~@22 e4 ~@7 g#3@2 ~@13 e3@3 ~@24 e3@5 ~@3 e2@4 ~@4 e3@5 ~@7 e3@3 b2@8 e2@9 ~@6 e3@2 ~@8 a3@8 ~@13 e4 ~@2]/5", // G#dim E5 G#dim D# Ddim Bm E5 Ddim …
B: "[g4,c#5]@2 ~@3 g#4 ~@2 a3@5 [e3,e5]@2 a2@6 d#5 ~@2 e5@5 a5 b2@2, a2@5 ~@24 e3@3, e4 ~@7 a4@2 ~@22", // Gdim E
C: "[~@5 a#3@3 b3@4 ~ b2@3 [b3,d4]@3 ~@2 [a#3,d4]@2 ~@3 [a3,d4]@3 b2@2 ~ e2@7 g#3 ~ d4 g#3 d4 ~ g#3 g#3@2 ~@4 [g#3,d4]@3 ~ e3@2 ~@3 a#3@3, e2@8 e3@8 e2@8 ~@5 e2 ~@12 b2@3 ~ e2@10 ~@8, ~@5 d4@7 ~@12 e3@7 [g#3,d4]@7 ~ e3@4 ~@2 d4@4 ~@15]/2", // Bm A# D5 G#dim
D: "b3@4 ~ d#4@2 ~ b3@5 [e3,f3]@3 [d#4,f#4,b4]@3 ~@2 [d#4,f#4,b4]@3 b3@3 ~@2 [e3,a3]@2 ~, b2@8 ~@8 b2@8 ~@5 b3 ~@2", // Fmaj7 B A5
E: "[[c#4,a4]@4 ~@7 [e4,a4]@2 e3 ~@6 a4@2 ~ a3@2 ~@3 e4 ~@2 [e2,e4]@6 [e3,e5]@2 ~@5 e5@2 ~@2 e4@4 ~ e5@2 ~ e4@3 ~@2 [e4,e5]@2 ~, a2@7 a3@8 ~ a2@9 ~@2 e3@4 ~@9 d3@7 c#3@8 ~ c3@8, ~@5 [d#4,a4]@4 ~@6 [e4,a4]@2 ~@3 d#4 ~@18 e4@3 ~@22]/2", // F#m A5 E D#dim A5
F: "~@5 [b4,d#5] ~@2 f3@5 ~@3 b2@5 [d#4,b4] ~@2 b4@2 ~ e3@2 b2@3, b2@13 ~@19, ~@5 f#4@2 ~@6 [b3,d#4,b4]@5 ~@6 d#4 ~@7", // B G#m B
G: "[e2,e3,g#3,b3,d4]@3 ~@29", H: "[e2,e3,g#3,b3,d4]@4 ~@17 [b2,b3] ~@2 [d3,d4]@2 ~ b2@2 d3@2 ~, ~@27 b3 ~ d4 ~@2",
I: "[e3,e4]@3 ~@29", J: "[e2,e3,g#3,b3,d4,e4]@3 ~@18 b4@2 ~ [d4,d5] ~@2 [b3,b4] ~ d4@2 ~, b2 ~@20 b3 ~@7 d5 ~@2",
K: "[e4,e5]@3 ~@29", L: "[e2,e3,g#3,b3,d4,e4]@3 ~@18 b2@2 ~ d3@2 ~ [b2,b3]@2 [d3,d4] ~@2, ~@21 b3 ~@2 d4 ~@7",
M: "e4 ~ [e3,e4] ~@2 [e2,e3,e4] ~@2 [e2,e3,e4] ~ [e2,e3,e4] ~@2 [e2,e3,e4] ~@2 [e2,e3,e4] ~ [e2,e3,e4] ~@2 [e2,e3,e4] ~@2 [e2,e3,e4] ~ [e2,e3,e4] ~@2 [e2,e3] ~@2", // E
N: "[e2,e3,a#5,d6] b5 ~ [e2,e3,b5,d6] ~ [e2,e3,b5,d6] ~@2 [e2,e3,b5,d6] ~@2 [e2,e3,b5,d6] ~ [e2,e3] [b5,d6] ~ [e2,e3,b5,d6] ~@2 [e2,e3,b5,d6] ~ [e2,e3,b5,d6] ~@2 [f5,g5,a5] [b4,c5,d5,e5] [e4,f4,g4,a4] [c4,d4] [g3,a3,b3] [e3,f3] [b2,c3,d3] ~", // Em7b5 E7 E Bm E7 F Cmaj7 Fmaj7 …
O: "[[a2,e3,a3,c#4,g4]@3 ~@2 [a2,e3,a3,c#4,g4]@3 [a2,e3]@2 ~ [a3,c#4,g4]@2 [a2,e3] ~@2 [a2,e3]@2 ~@3 [a3,c#4,g4]@2 ~ [a2,e3]@2 [a3,c#4,g4]@2 [a2,e3] ~@3 a2@2 ~@2 a2 [a3,c#4,g4]@2 ~ [a2,e3]@2 [a3,c#4,g4]@2 e3 a2 ~@2 a2@2 ~@3 [a3,c#4,g4]@2 [a2,e3]@2 ~ [a3,c#4,g4]@2 a2@2 ~@2 [b2,g#4]@2 d4 [e2,b2,b3,g#4] ~ [b2,b3,d4,g#4] e2 ~ [e2,b2,b3,d4,g#4] ~@2 [e2,b2,b3,d4,g#4] ~ [b2,b3,d4] [e2,g#4] ~ [b2,b3,d4]@2 ~ [e2,b2,b3,d4,g#4] ~ [e2,b2,b3,d4,g#4] ~@2 [a#3,c#4,g#4]@4 ~ [e2,b2]@2 ~ [e2,b2]@3 ~@3 [b3,d4]@2 e2@2 ~ [b3,d4,g#4]@2 [e2,b2] ~@2 [b3,d4,g#4]@4 ~ e2 g#4@2 [e2,b2]@2 ~ g#4@2 [e2,b2]@2 ~, ~@15 [a3,c#4,g4]@4 ~@2 [a2,e3] ~@9 [a3,c#4,g4]@4 ~@12 [a3,c#4,g4]@4 ~@9 e3 ~@2 [b3,d4]@2 ~@28 g#4@11 ~@8 e2 ~@15, ~@31 e3@2 ~@3 e3@2 ~@9 e3@2 ~@3 [a2,e3]@2 ~@10 e2 ~@15 [e2,g#4] ~@7 [e2,b2]@2 ~@3 [b3,d4]@8 [e2,b2]@2 ~ b2 ~@7 b2@2 ~@3 [b2,b3,d4]@3 ~@2 [b3,d4]@4 ~@2]/4", // A7 A5 A7 A5 A7 A5 A7 A5 …
P: "[b2,d#4,f#4] ~ [b3,d#4,f#4,b4] b2 ~ [b2,b3,d#4,f#4,b4] ~@2 [b2,b3,d#4,f#4,b4] ~ b2 [b3,d#4,f#4,b4] ~ [b2,b3,d#4,f#4,b4] ~@2 [b2,b3,d#4,f#4,b4] ~@2 [b2,b3,d#4,f#4,b4] ~ [b2,b3,d#4,f#4,b4] ~@2 [b2,b3,d#4,f#4,b4] ~@2 [b2,b3,d#4,f#4,b4] ~ [b3,d#4,f#4] ~@2, [b3,b4]@2 ~@27 b2@2 ~", // B
Q: "[e4,a4]@3 ~@4 a2@3 [e4,a4]@2 ~ [a2,e4]@2 ~ a4@2 a4@2 ~ d4 a2 ~ [a2,c#4,a4]@3 ~ a2@4, a2@5 ~@11 a2@4 ~@12, [d#4,g4] ~@4 [e4,a4]@4 ~ d#4 ~@2 a4 ~@2 e4 ~ d#4 ~@2 a4@2 ~@9", // A5 A D# A5
R: "e2@4 ~ [e3,e5]@2 ~ g#2@4 ~ g#3@2 ~ a2@4 ~ [a3,c#5]@2 ~ [a#2,c5]@4 ~ [a#3,c5]@3, e5@2 ~@6 d5@2 ~@3 d5 ~@2 c#5@2 ~@14", // E A A#sus2
S: "[b2,b4]@3 ~@2 [a2,a4]@2 ~ [a#2,a#4]@3 ~@2 [b2,b4]@18 ~", // B A A# B
T: "e6 ~ e5 e6 e5 ~ [e3,g#3,e6] e5 e6 e5 e6 e5 ~ e5 ~ e6 e5 e6 e5 e6 e5 [e3,e6] e5 e6 e5 e6 e5 e6 e5 e6 e5 e6, ~@6 d4@2 ~@8 [e3,g#3,d4]@4 ~ [g#3,d4]@2 ~@9", // E E7 G#dim
U: "e5 e6 e5 e6 e5 [e3,g#3,e6] ~ e5 e6 e5 e6 e5 e6 e5 ~ e6 e5 e6 e5 e6 e5 [e3,g#3,d4]@2 e5 e6 e5@4 [b5,d6]@3, ~@5 d4@2 ~@9 [e3,g#3,d4]@4 ~ e6 ~@7 [a#5,c#6] ~@2", // E E7 Bm E7 A#m
V: "~@2 a#5 [b5,d6]@2 [e3,g#3] c4 [b5,d6]@2 ~ [a#5,b5] ~@2 b5@2 ~ [e3,g#3,d4]@3 [b5,d6] ~ [e3,g#3,d4]@2 ~ [b5,d6] ~ a#5 c#6 ~ [a5,c6] ~@2, ~@5 d4@2 ~@3 d6@2 ~ d6 ~@2 [b5,d6] ~@4 [b5,d6] ~@10", // Bm E Bm Bmaj7 E7 Bm E7 Bm …
W: "[g#3,d4,g#5,b5]@5 g#5 b5@2 g#5 b5 g#5 b5@2 ~ b5@2 ~@5 [e3,g#3,d4]@5 ~@3 [e3,g#3,d4] ~@2, e3@3 ~@2 [e3,g#3,d4]@2 ~@6 [e3,g#3,d4]@2 ~@17, ~@14 g#5 ~@17", // G#dim E7
X: "[e3,g3,c#4]@4 ~@2 e3@2 d#6 ~ e6 ~@2 e6@2 g6 [e3,g3,c#4] ~ e6 ~@2 g6 ~@2 a6@2 g6 ~@2 [e3,g3,e6] ~@2, ~@5 [g3,c#4,d6]@2 ~@25", // C#dim Em G
Y: "[e3,g3,c#4,a6]@4 ~@2 [e3,g3] ~@4 e6 ~ [e3,g3,c#4] g6 ~ [d6,e6] ~@2 g6@2 e6@2 ~ d#6 ~ d6 ~@2 [e3,g3]@2 ~, g6 ~@4 g6@5 ~@22, ~@6 c#4@2 ~@21 c#4 ~@2", // A7 Em C#dim Dsus2 Em
Z: "[[e3,g#3,d4]@4 ~ [d4,a#5] b5@7 d6@2 ~ [g#3,d4,b5]@3 ~@2 a#5@2 ~ c#4@2 a5@3 ~@8 [e3,g#3,d4]@2 ~@9 b5@2 g#5 b5 [e3,g#3,d4,g#5]@2 ~@3 b5@2 ~ g#5 [e3,g#3] ~@2, ~@5 [e3,g#3]@2 ~@9 e3 ~@6 [e3,g3]@4 ~@2 [e3,g#3,d4]@7 ~@19 g#5@3 ~@2 b5@2 ~@2, ~@32 g#5@16 ~@6 b5@2 [e3,g#3,d4]@3 ~@2 d4@2 ~]/2", // E7 Gm G#dim E7 E Em E7
AA: "[~@3 [f#3,a#5] ~@2 d#4@2 b5@4 ~@2 a#5 f#3 d#4@2 ~@2 b5@2 ~@7 [f#3,d#4]@2 ~ [e3,g3,a5]@5 ~ a5@4 ~ g5 ~ e5@2 ~ [e3,g3] ~@4 g5@4 ~@4 [e3,g3,c#4,e5]@2 ~, [b3,d#4]@5 b3@2 ~ a#5 ~@5 b5@4 ~@14 f3@2 ~@3 [e3,g3,c#4]@2 ~@25, ~@3 b5@3 f#3 ~@9 b3 ~@12 [b3,e5] ~ c#4@5 ~@12 c#4@2 ~@14, ~@32 g#5 ~@15 a5@4 ~@12]/2", // F# D#m A7 Em C#dim B C#dim E5
AB: "[e3,g#3,d4,e5]@4 ~ [e3,g#3,d4,e5]@2 ~ d5@3 ~@2 b4@2 ~ [e3,g#3,d4,e5]@4 ~ [e3,g#3,d4,e5]@2 ~ d5@4 ~ [e3,g#3,d4,b4]@3", // E7
AC: "[~@5 [f#3,b3,d#4,a4]@2 ~ a#4@3 ~@2 [f#3,b3,b4]@19 [e2,e3,g#3,d4]@3 ~@29 [e2,e3,g#3,b3,d4]@4 ~@17 [b2,b3] ~@2 [d3,d4]@2 ~ b2@2 d3@2 ~ [e3,e4]@3 ~@29 [e2,e3,g#3,b3,d4,e4]@3 ~@18 b4@2 ~ [d4,d5] ~@2 [b3,b4] ~ d4@2 ~ [e4,e5]@3 ~@29 [e2,e3,g#3,b3,d4,e4]@3 ~@18 b2@2 ~ d3@2 ~ [b2,b3]@2 [d3,d4] ~@2 e4 ~ [e3,e4] ~@2 [e2,e3,e4] ~@2 [e2,e3,e4] ~ [e2,e3,e4] ~@2 [e2,e3,e4] ~@2 [e2,e3,e4] ~ [e2,e3,e4] ~@2 [e2,e3,e4] ~@2 [e2,e3,e4] ~ [e2,e3,e4] ~@2 [e2,e3] ~@2, ~@13 d#4@243, ~@32 b3 ~@58 b3 ~ d4 ~@34 b2 ~@20 b3 ~@7 d5 ~@55 b3 ~@2 d4 ~@39]/8", // B7 B5 E7 B D E E7 D …
AD: "[e2,g#3,b3]@8 [g#3,b3]@4 ~ e2 [g#3,b3] ~ [b3,d4,e4]@3 ~ g#3 [d4,e4] g#3 ~ e4 g#3@2 ~@2 e2 [g#3,b3] ~, [d4,e4]@12 ~@4 g#3 ~@4 b3@6 ~@5, ~@8 e3@8 e2@8 e3@7 ~, ~@12 d4 ~@3", // E G#m E7 Dsus2 G#m Dsus2
AE: "[[g#3,b3,d4,e4]@3 ~@2 [g#3,b3,d4,e4]@3 ~@5 [e2,g#3,b3,d4,e4]@2 b2@3 ~@3 [g3,a#3,c#4]@2 ~@6 g#3@3 ~@4 g#3 d4 [g#3,b3] ~ [b3,d4] ~ g#3 [b3,d4] g#3 ~ [b3,d4] g#3 d4@2 ~ d4@3 g#3 ~@5 g#2 b3 [f3,g3] e2@2 ~@2 [e2,e3,e4]@4 ~@2 [f2,f3,f4]@4 ~@2 [f#2,f#3,f#4]@4 ~@2 [g2,g4]@4 ~@2 g#3@4 ~@6 [c#4,e4,g4]@2 a3@6 e3@2 ~@6 [c#4,e4] ~ a3@6 [e3,b4]@3 [d#5,a5] ~ [e5,a5] ~@2 [e5,a5] ~@2 [d#5,e5,a5] ~@2 [e5,a5] ~ [e5,a5] ~@7 [d#4,a4]@2 ~ [e4,a4]@2 ~@5 g#2 e2@5 [g#3,b3,d4,e4]@2 e3@6 ~ g#3 ~ [b3,d4,e4]@4 ~ [g#3,b3,d4,e4]@3 ~@5 e2 b3 ~ [g#3,b3,d4,e4]@3 ~@5 [g3,a#3,c#4]@3 ~@2 b2@3 ~@7 e3@2 ~ a2@3 a#2 ~@2, e2@8 e3@9 ~@4 e2@7 ~ [e3,b3,d4]@7 ~@3 e3@9 b3@7 ~@4 d4@2 ~@48 c#4 ~ [c#4,e4,g4]@4 ~@2 g4@2 ~@17 a3@7 ~@9 a3 ~@22 g#3@4 ~@5 e3@8 e2@8 ~@8 e2@8 ~@8, ~@32 e2@7 ~@8 e2@9 ~@2 e2@2 ~ b2@2 ~@27 [g#2,g#4]@4 ~ a2@9 ~@8 a2@8 ~@8 a2@9 ~@4 e3@3 a2@8 ~@5 [b2,e3]@4 ~@12 b2@3 e2@8 ~@5 b2@4 ~@31, ~@51 g#3 ~@3 e3@7 e3@2 ~@21 g3@115 e3@5 ~@19, ~@176 d#4 ~@4 c#4 ~@18 a3 ~@4 [g#3,b3,d4]@6 ~@2 [g#3,b3,d4,e4]@8 ~@3]/7", // E7 Gdim G#m Bm Fsus2 E F F# …
AF: "b2@5 ~@2 b2@6 [f#3,b3,d#4] ~@2 [f#3,b3,d#4]@3 ~@5 b2@3 ~@2 a#2@3, ~@5 [f#3,b3,d#4]@6 ~@5 b2@5 [f#3,b3,d#4]@8 ~@3", // B
AG: "a2@5 ~@2 a2@6 ~@2 a2@6 [g3,c#4,e4] ~ e4 [a2,c#4]@2 ~@3 b2@3, ~@5 [g3,c#4,e4]@6 ~@2 [g3,c#4,e4]@5 ~@5 g3@2 ~@4 e2 ~@2", // C#dim A C#dim
AH: "[a4,b4] [b3,e5]@2 d5@2 b4 ~@2 d5@2 ~ b4 ~ a4 ~@2 b4@2 a4 ~@2 g4 ~@2 a4@2 g4 ~@2 e4 ~@2, [e2,e3,g#3,d4,e4]@3 ~@29, ~ d5 ~@30", // Asus2 E5 E7
AI: "[g4@2 ~@6 [f2,f3,a3,d#4]@5 ~ e2@6 ~ e2 e3 d4 g#3@2 [e2,e3,d4] g#3 [e2,e3] d4 [e2,g#3] ~ [e2,g#3,d4] ~ [e2,e3] d4 [e2,g#3] e3 [e2,d4] g#3 [e2,e3] d4 [e2,g#3] e3 ~ g#3 e2@2 e3 ~@2 e4 ~@2 g#4 ~@2 b4 ~@2 d5 ~ e5 ~, ~@13 [e3,g#3,d4]@9 ~@9 e3@2 ~@11 d4@2 ~@18, ~@14 f2 ~@9 e2 ~@39]/2", // F7 E7 E E7 E E7 E E7
AJ: "~@2 g#5 ~@2 b5 ~@3 d6 ~@9 e5 g#5@11 ~",
})).s("gm_piano").gain(0.8)
// other · brass section · "BRASS"
const brass_section = note(`<
~@2 A@4 B@6 ~@2 C D E F G H ~ I@7 J ~ K L M N O P ~ Q@8 R@8 S T U V ~ W X Y Z AA AB ~ AC@7 AD AE@3 AF@5 AG@3 AH@4
>`.pickRestart({
A: "[~@21 e3@2 ~@6 e3@54 ~@2 e3@2 ~@6 e3@35]/4",
B: "[~@21 e3@2 ~@6 e3@54 ~@2 e3@2 ~@5 f#3@23 ~@2 f#3@2 ~@6 g3@22 ~@2 g3 ~@6 e3@36]/6",
C: "~@21 [b3,b4]@2 ~ [d4,d5]@2 ~ b3@2 [d4,d5] ~@2, ~@27 b4 ~@4", D: "[e4,e5]@3 [d4,d5] [a3,c4,b4,c5] f3 ~@26",
E: "~@21 [b3,b4]@2 ~ d5 ~ [b3,b4] ~@2 [d4,d5] ~@2, ~@23 d4@2 ~@7", // B D
F: "[e4,e5]@3 d5 [c4,d4,b4,c5] [f3,a3,g4,a4] [e3,f4] ~@25", G: "~@21 [b3,b4]@2 d4 d5 ~ [b3,b4] ~@2 [d4,d5] ~@2",
H: "[e4,e5]@2 ~ a3 ~@28", // E
I: "[e3@49 ~@4 e3@2 ~@6 e3@54 ~@2 e3@2 ~@5 f#3@22 ~@3 f#3@2 ~@6 g3@22 ~@2 g3@3 ~@5 e3@34 ~]/7",
J: "~@5 [a3,a4]@3 [a#3,a#4]@2 ~@3 [b3,b4]@17 ~@2", K: "~@21 [b3,b4]@2 ~ d4@2 b3 b4 ~ [d4,d5] ~@2, ~@24 d5 ~@7",
L: "[e4,e5]@3 [d4,d5] [b3,c4,a4,b4,c5] g4 ~@26", M: "~@20 b3 b4 ~ d4 d5 ~ [b3,b4] ~@2 [d4,d5] ~@2",
N: "[e4,e5]@2 d4 [c4,c5,d5] b4 ~@27", O: "~@21 [b3,b4] ~@2 [d4,d5] ~ [b3,b4] ~@2 [d4,d5] ~@2",
P: "[e4,e5]@2 [d4,d5] b3 f3 ~@27", // E D
Q: "[e3@49 ~@4 e3@2 ~@6 e3@51 ~@5 e3@2 ~@6 f#3@23 ~ f#3@2 ~@5 g3@22 ~@3 g3@2 ~@6 e3@37 ~@3 [a3,a4]@3 [a#3,a#4] ~@4 b3@17 ~@2, ~@236 b4@17 ~@3]/8", // A A#
R: "[e3@117 b2@3 d3@5 e3@62 ~@2 e3@56 b2@3 d3@5 e3@3]/8", S: "f#3", T: "g3", U: "e3", V: "~@5 b2@2 ~@6 b2@2 ~@17",
W: "~@21 [b3,b4]@2 ~ d4@2 [b3,b4] ~@2 [d4,d5] ~@2, ~@24 d5 ~@7", X: "[e4,e5]@3 [d4,d5] [c4,c5] g4 ~@26",
Y: "~@20 b3@2 ~ d4 d5 ~ [b3,b4] ~@2 [d4,d5] ~@2, ~@20 b4 ~@11", Z: "[e4,e5]@3 [c4,d4,c5,d5] [b3,b4] f3 [d4,e4] ~@25",
AA: "~@21 [b3,b4] ~ d4 d5 ~ [b3,b4] ~@2 [d4,d5] ~@2", AB: "[e4,f5] d4 [b3,c4,c5,d5] a4 d3 ~@27, e5 ~@15",
AC: "[e3@48 ~@4 b2@3 d3@5 ~ e3@53 ~@3 e3@2 ~@5 f#3@23 ~ f#3@3 ~@5 g3@23 ~ g3@3 ~@5 e3@35 ~]/7",
AD: "~@5 [a3,a4]@3 [a#3,a#4]@2 ~@3 b4@17 b3@2, ~@13 b3@15 ~@4", // A A#
AE: "[[e3,e4]@51 ~@2 [e3,e4,e5]@3 ~@5 e5@2 ~@8 e4@25, ~@15 e4 ~@8, ~@60 e3@2 ~ e3@33]/3", // E
AF: "[~@4 [e3,e4,e5]@4 ~@2 [f3,f4,f5]@3 ~@2 [f#3,f#4,f#5]@3 ~@2 [g3,g4,g5]@3 ~@2 [g#3,g#4,g#5]@4 ~@2 [a3,a4]@37 ~ [a3,g4,c#5]@2 ~@6 [a3,g4,c#5]@2 ~@6 [a3,g4,c#5]@2 ~@6 [g#3,b4]@56 [e3,e4]@3 ~@5 e4@2 ~, ~@156 e3@3 ~]/5", // E F F# G G# A A7 G#m …
AG: "[[b3,b4]@19 a3 ~ [b3,b4]@7 ~ a#4@2 [a3,a4]@20 ~@2 a3@10 ~ [e4,e6]@2 ~ [a3,b3] c5 ~@27, ~@21 a4 ~@6 a#3@3 ~@22 a4@5 ~@5 e5@4 ~@29]/3", // B A E Asus2
AH: "[~@8 [f4,a4,d#5]@5 [e4,g#4]@79 ~ g#4 ~ [e3,e4,e5]@4 c5 [b2,c3] ~@27, ~@13 d5@82 ~@33, ~@92 b2@3 ~@33]/4", // F7 E Cmaj7
})).s("gm_brass_section").gain(0.5)
// drums · kick
const kick = s("bd").struct(`<
~ A B C B@2 A C D B@3 E F@6 G H A C I J A K C L F@6 G H A C I J A K C L A B C B@2 A C D B@3 E F@6 G H A C I J A K C L
M N O P Q D B D B@2 R S T U F
>`.pickRestart({
A: "x ~@12 x ~@2 x ~@15", B: "x!2", C: "x ~@15 x ~@4 x ~@10", D: "x ~@4 x ~@10 x ~@4 x ~@10", E: "x!2 ~@2", F: "x",
G: "x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2", H: "x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@18",
I: "x ~@12 x ~@2 x ~@12 x ~@2", J: "x ~@15 x ~@4 x ~@2 x ~@7", K: "x ~ x!2", L: "x ~@12 x ~@18", M: "x ~@6 x!2 ~@7",
N: "x ~@15 x ~@12 x ~@2", O: "x ~@15 x ~@14 x", P: "~@4 x ~@10 x ~@15 x", Q: "~@15 x ~@16", R: "~ x ~@30",
S: "~@5 x ~@12 x ~@10 x ~@2", T: "~@11 x ~@20", U: "~@9 x ~ x ~@6 x ~ x ~@11",
})).gain(0.7)
// drums · snare
const snare = s("sd").struct(`<
~ A B C B A C@2 B C@3 D E F ~ F E F ~ G C B A H I J C K E F ~ F E F ~ G C B A H I J C K A B C B A C@2 B C@3 D E F ~ F
E F ~ G C B A H I J C K A@2 L M A C@2 B C@2 ~ N O P ~
>`.pickRestart({
A: "~ x ~ x", B: "~@8 x ~@4 x ~@10 x ~@4 x ~@2", C: "~@8 x ~@15 x ~@4 x ~@2", D: "~@5 x ~@7 x ~@10 x ~@2 x ~ x ~@2",
E: "~@29 x ~@2", F: "~@21 x ~@2 x ~@2 x ~ x ~@2", G: "~@16 x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2",
H: "~@8 x ~@4 x ~@10 x ~@2 x ~ x ~@2", I: "~@8 x ~@15 x ~@2 x ~ x ~@2", J: "~@8 x ~@4 x ~@7 x ~@7 x ~@2",
K: "~@5 x ~@2 x ~@12 x ~@2 x ~@4 x ~@2", L: "~@8 x ~@15 x ~@4 x!2 ~", M: "~@9 x ~@11 x ~@5 x ~@4",
N: "~@8 x ~@4 x ~@6 x ~@3 x ~@2 x ~@4", O: "x ~@6 x ~@8 x ~@4 x!2 ~ x!2 ~ x ~ x ~@2",
P: "x ~@2 x ~ x ~@8 x ~@7 x ~@8 x",
})).gain(0.78)
// drums · hihat
const hihat = s("hh").struct(`<
~@7 A ~@2 B C ~ D E D F D E ~@10 D E D F D E ~@16 A ~@2 B C ~ D E D F D E ~@20 G ~@4
>`.pickRestart({
A: "x", B: "x ~@7 x ~@4 x ~@2 x ~@7 x ~@2 x ~ x ~@2", C: "x!4", D: "~ x ~ x", E: "~ x ~@2", F: "x!2 ~@2",
G: "~ x ~@30",
})).gain(0.78)
// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@10 [~@3 x ~ x ~@5 x ~@7 x ~ x ~@10] ~@43 [~@3 x ~ x ~@5 x ~@7 x ~ x ~@10] ~@33>")
.gain(0.39)
// drums · open hat
const open_hat = s("oh").struct("<~@6 A ~@2 A ~ B ~@3 A ~@15 A ~@18 A ~@2 A ~ B ~@3 A ~@22 A C ~@4>".pickRestart({
A: "~@29 x ~@2", B: "~@5 x ~@7 x ~@7 x ~@10", C: "x",
})).gain(0.7)
// drums · high tom
const high_tom = s("ht").struct("<~@8 A ~@13 B ~ C ~@13 B ~ C ~@11 A ~@13 B ~ C ~@6 D ~@2 D ~ E ~@5 D ~>".pickRestart({
A: "~@13 x ~@18", B: "~@19 x ~@12", C: "~@27 x ~@4", D: "~@29 x ~@2", E: "~ x ~@14",
})).gain(0.7)
// drums · crash
const crash = s("cr").struct(`<
~ A ~@3 B ~@6 C ~ A ~@3 A ~@2 A ~@4 A B ~@2 A ~@3 A ~@2 A ~@4 A B ~ A ~@3 B ~@6 C ~ A ~@3 A ~@2 A ~@4 A B ~@4 D ~@4 A
~@2 B E ~@2
>`.pickRestart({
A: "x", B: "~ x ~@2", C: "~@13 x ~@18", D: "~@15 x ~@5 x ~@10", E: "~@3 x ~@4 x ~@7",
})).gain(0.7)
// drums · ride
const ride = s("rd").struct(`<
~ A B C D E F C G H ~@2 I J@3 ~ J ~@3 K L K M N O P Q J@3 ~ J ~@3 K L K M N O P Q A B C D E F C G H ~@2 I J@3 ~ J ~@3
K L K M N O P Q R S T U V W X Y Z AA ~ AB AC ~@2
>`.pickRestart({
A: "~@8 x ~@4 x ~@2 x ~@4 x ~@7 x ~@2", B: "x ~@7 x ~@4 x ~@2 x ~@4 x ~@2 x ~@7",
C: "~@8 x ~@4 x ~@5 x ~@4 x ~@4 x ~@2", D: "~@5 x ~@2 x ~@4 x ~@5 x ~ x ~@2 x ~@4 x ~@2",
E: "x ~@12 x ~@7 x ~@2 x ~@4 x ~@2", F: "x ~@7 x ~@4 x ~@2 x ~@7 x ~@7", G: "~@3 x ~@4 x ~@10 x ~@12",
H: "x ~@4 x ~@5 x ~@4 x ~@7 x ~@7", I: "~@5 x ~@26", J: "x", K: "~@8 x ~@4 x ~@2 x ~@7 x ~@4 x ~@2",
L: "x ~@7 x ~@4 x ~@10 x ~@4 x ~@2", M: "x ~@7 x ~@4 x ~@5 x ~@4 x ~@7", N: "x ~@7 x ~@4 x ~@2 x ~@7 x ~@4 x ~@2",
O: "~@8 x ~@4 x ~@7 x ~@5 x ~@4", P: "x ~@4 x ~@10 x ~@7 x ~@7", Q: "x ~@12 x ~@18",
R: "x ~@7 x ~@5 x ~ x ~@6 x ~@5 x ~@2", S: "x ~@7 x ~@4 x ~@2 x ~@4 x ~@7 x ~@2", T: "~@5 x ~@7 x ~@2 x ~@7 x ~@7",
U: "~@4 x ~@4 x ~@16 x ~@5", V: "x ~@4 x ~@6 x ~@2 x ~@7 x ~@5 x ~@2", W: "~@2 x ~@5 x ~@4 x ~@5 x ~@4 x ~@7",
X: "~@5 x ~@7 x ~@2 x ~@7 x ~@5 x ~", Y: "~@8 x ~@4 x ~@10 x ~@4 x ~@2", Z: "x ~@4 x ~@7 x ~ x ~@7 x ~@5 x ~@2",
AA: "~@5 x ~@7 x ~@7 x ~@2 x ~@7", AB: "~@13 x ~@18", AC: "~ x!2 ~@8 x ~@20",
})).gain(0.7)
// drums · bell tree
const bell_tree = s("marktrees:0").struct("<~@8 A ~@10 B C ~@14 B C ~@15 A ~@10 B C ~@10 D ~@11 E>".pickRestart({
A: "~@29 x ~@2", B: "~@5 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2",
C: "x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@18", D: "~@31 x", E: "x",
})).gain(4.16)
stack(bass, piano, brass_section, kick, snare, hihat, hihat_soft, open_hat, high_tom, crash, ride, bell_tree)
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.