0:00/0:00
// Hang on in There Baby — Johnny Bristol
// 97 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 96 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(97/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 · piano · "A.PIANO 2"
const piano = note(`<
A@2 B@2 C@2 D E A@2 B@2 C@2 D F G@2 H@2 I@2 J@2 K@2 L@2 M N O P G@2 H@2 I@2 J@2 K@2 L@2 M N O Q R@2 S@2 T U V W X@2
Y@2 Z@2 AA ~ AB AC AD AE AB AF AD AG ~@8 AH AI AJ AK AL AM AN AO AH AI AJ AK AL AM AN AO
>`.pickRestart({
A: "[[e3,a3,c#4]@2 ~@3 f#2@2 a2 e3@2 d3@4 a2@2 d2 ~ d2@3 f#2@2 a2 e3@2 d3@4 a2@2, d2 ~ d2@3 ~@27, ~@3 [f#3,a3,d4]@28 ~]/2", // A D
B: "[[e3,a3,c#4]@2 ~@3 d2@2 f#2 c#3@2 b2@4 f#2@2 b1 ~ b1@3 d2@2 f#2 c#3@2 b2@4 f#2@2, b1 ~ b1@3 ~@27, ~@3 [f#3,b3,d4]@29]/2", // A Bm
C: "[[f#3,b3,d4]@2 ~@3 g2@2 b2 f#3@2 e3@4 b2@2 e2 ~ e2@3 g2@2 b2 f#3@2 e3@4 b2@2, e2 ~ e2@3 ~@27, ~@3 [g3,b3,e4]@28 ~]/2", // Bm Em
D: "[g3,b3,d4]@2 ~@3 e2@2 g2 c3 ~ c3@4 g2@2, c2 ~ c2@3 ~@11, ~@3 [g3,c4,e4]@12 ~", // G C
E: "[a3,d4,f#4]@2 ~@3 c#2@2 e2 a2 ~ a2@4 a1@2, a1 ~ a1@3 ~@11, ~@3 [a3,c#4,e4]@11 ~@2", // D A
F: "[a3,d4,f#4]@2 ~@3 c#2@2 e2 a2 a4 ~@2 a3@2 a1@2, a1 ~ a1@3 ~@5 a2@4 ~@2, ~@3 [c#4,e4]@11 ~@2, ~@3 a3@6 a3@3 a4 ~@3", // D C#m
G: "[[a3,d4,f#4]@6 ~ [a3,d4,f#4]@4 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ f#4@7 [b3,f#4,b4]@3 [b3,f#4,b4] [b3,f#4,b4]@3, d2@7 ~, ~@7 d3@21 ~@4, ~@9 [a3,d4]@6 ~]/2", // D B5 D5
H: "[[b1,b2]@10 ~@4 [a3,d4] ~@11 [e4,b4] d4 [e4,b4]@2 d4 ~, [b3,f#4,b4]@15 b3@15 ~@2, ~@7 f#3@8 ~, ~@24 [b1,b2]@7 ~]/2", // B D5 E5 B5 B
I: "[[a3,d4,f#4]@11 ~ [b3,d4,g4] [a3,d4,f#4] [b3,d4,g4] [a3,d4,f#4]@8 ~ [e4,b4]@2 d4 ~ [e4,b4]@2 d4 [e4,b4], ~@11 d3@11 ~ d3@4 d3@3 ~@2]/2", // D G D G D E5
J: "[~@11 d4 [f4,f#4,a4] d4 e4 [b2,d4]@7 ~ [b3,f#4,b4] ~@4 b2@2 ~@2, b2@7 b2@7 [b1,a4]@8 ~@5 b1@3 ~@2, ~ [d4,b4]@8 ~@16 [d4,a4,d5]@6 ~]/2", // F Bm B5 B7 G D5
K: "[~@12 [b3,e4]@3 [b3,e4]@12 e3 ~@2 e3 ~, ~@7 [b3,e4]]/2", // E5
L: "[c3@3 ~@4 [g3,c4] ~ [c4,c5]@2 ~ [c4,g4,c5]@3 ~ [e4,a4]@15 ~, c2@15 ~@17, d2 ~@8 d4 ~ c3@2 ~@2 [a2,c#4]@16 ~]/2", // C5 C C5 A5 A
M: "[e3,a3,c#4]@2 ~ [f#3,a3,d4]@11 [f#3,a3,d4] d3, ~ d3@6 ~", // A D
N: "[e3,a3,c#4]@3 [f#3,b3,d4]@11 [f#3,b3,d4] b2, b2@7 ~", O: "[g3,b3,d4]@11 e3 [b3,d4]@2 g3 e3, e2, ~@12 g3 ~@3",
P: "[a3,d4,f#4]@2 ~ [a3,c#4,e4]@9 ~@4, a2@3 ~", // D A
Q: "[a3,d4,f#4]@2 ~@11 b5@2 ~, a2@12 [d6,e6,f6,g6] g5 ~@2, ~@3 [a3,c#4,e4]@12 ~, ~@10 [f7,g7]@5 ~, ~@11 [a6,b6,c7,d7,e7]@4 ~", // D Em7 A Fsus2 Am
R: "[[g3,b3,d4]@3 ~@3 c3@6 ~@16 [g3,c4,e4]@2 [g3,b3,d4] ~, ~@3 [g3,c4,e4]@25 ~@4]/2", // G C G C
S: "[[g3,b3,d4]@2 ~@7 [a3,a4]@2 [a3,a4] [a3,a4]@2 [a3,a4] [a3,a4]@3 [a3,a4]@10 g3@2 g3 ~, a2@5 ~@27, ~@3 [g3,c4,e4]@25 [c4,e4]@4]/2", // G A C
T: "[g3,c4,e4]@2 ~ [a3,d4,f4]@6 ~ c6@2 [d5,d6] ~ [c5,c6] [d5,d6]", // C Dm D C D
U: "~ [d5,d6] [c5,g5,c6] ~ [d5,a5,d6] ~ [c5,g5,c6] [d5,a5,d6] ~ [d5,a5] [c5,g5,c6] ~ [d5,a5,d6]@4", // D C5 D5 C5 D5 C5 D5
V: "[a3,c4,f4]@3 [a#3,d4,f4]@6 [d4,f4]@3 [a#3,d4,f4]@2 d4 ~, a#2@3 ~@5", // F A# Dm A#
W: "~@5 [c5,c6]@3 [c5,c6]@2 ~ [c5,c6]@2 ~ [c5,c6] ~, [g2,b3,d4,g4]@15 ~, ~@4 g3@3 ~@3 c4@3 c4@2 ~", // C G
X: "[[f3,a#3,d4]@3 [g3,a#3,d#4]@26 ~@3]/2", Y: "[[f3,a#3,d4]@3 [g3,a#3,d#4]@24 ~@5]/2",
Z: "[[g3,a#3,d#4]@2 ~ [g#3,c4,d#4]@20 ~@9]/2", AA: "[g3,b3,e4]@8 ~ [a3,a4] ~@2 [a3,a4]!2 ~@2", AB: "[a3,d4,f#4]",
AC: "[b3,d4]@15 ~", AD: "[b3,e4,g4]@15 ~", AE: "[f#3,b3,d4]@8 [a3,d4,f#4]@4 [a3,c#4,e4]@3 ~", AF: "d4@15 ~",
AG: "[f#3,b3,d4]@8 [a3,c#4,e4]@3 ~@5", AH: "[a3,c4,f4]@15 ~", AI: "[a3,d4,f4]", AJ: "[g3,a#3,d4,f4]@15 ~",
AK: "[f3,a#3,d4] [g3,c4,e4]", AL: "[a3,c4,f4]", AM: "[a3,c4,d4,f4]@15 ~", AN: "[g3,a#3,d4,f4]",
AO: "[a#3,d4,f4]@8 [g3,c4,e4]@7 ~", // A# C
})).s("gm_piano").gain(0.19)
// chords · piano · "A.PIANO 2" · soft notes
const piano_soft = note("<~@23 A B@2 C@2 ~@11 A B@2 C@2 ~@3 D E@2 F G H I J K ~@9 L ~@3 M ~@26>".pickRestart({
A: "~@7 b2@4 ~@5", B: "[~@11 e3 ~@2 e3@6 ~@2 e3 ~@9]/2", C: "[~@3 c3@3 ~@7 c3 ~ a3@15 ~@2, ~@15 c3 ~@16]/2",
D: "~@13 f5 e5 ~, ~@13 [a5,c6]@2 ~", // Am
E: "[~@13 [a3,a4]@2 ~@3 c3@2 c3@2 c3@2 c3@2 c3@5 ~, ~@12 c3@3 c3@3 ~@14, ~@16 [a3,a4]@15 ~]/2", // A
F: "~@5 a2@2 a2@3 a2@6", G: "a2@4 a2 a2@7 ~@4", H: "~@5 c5 ~@2", I: "~@9 d6 ~@6",
J: "~@6 a#2@2 ~ a#3@2 a#2@3 [a#3,f4] ~, ~@8 a#2@3 ~@5", K: "~@2 g3!2 ~@6 [c5,c6] ~@2 g3@2 ~, ~@7 g3@6 ~@3", L: "f#3",
M: "[f#3,b3]", // B5
})).s("gm_piano").gain(0.1)
// bass · fretless bass · "FRETLESS"
const bass = note(`<
A@2 B@2 C@2 D E A@2 B@2 C@2 D E F G H I G@2 H@2 J@2 K L G I M N F G H I G@2 H@2 J@2 K L G I M N O P Q R S@2 T U V@2
W@2 X@2 E Y Z AA AB AC Z AA AB AC G I M N G I M N AD AE AF AG AD AE AF AG AD AE AF AG AD AE AF AH
>`.pickRestart({
A: "d2 ~ d2@3 f#2@2 a2 e3@2 d3@3 a2@2 f#2, ~@8 d3 ~@7", B: "b1 ~ b1@3 d2@2 f#2 c#3@2 b2@3 f#2@2 d2, ~@8 b2 ~@7",
C: "e2 ~ e2@3 g2@2 [d#2,b2] f#3@2 e3@3 b2@2 g2, ~@8 e3 ~@7", D: "c2 ~ c2@3 e2@2 g2 c3 ~ c3@3 g2@2 e2",
E: "a1 ~ a1@3 c#2@2 e2 a2 ~ a2@3 e2@2 c#2", F: "d2 ~ d2 ~ d2 [f#1,a1] b1 d2 ~ d2 ~ d2@2 a1 b1 a1",
G: "d2 ~ d2 ~ d2 a1 b1 d2 ~ d2 ~ d2@2 a1 b1 a1", H: "b1 ~ b1 ~ b1 f#1 a1 b1 ~ b1 ~ b1@2 f#1 a1 f#1",
I: "b1 ~ b1 ~ b1 f#1 a1 b1 ~ b1 ~ b1@2 f#1 a1 b1", J: "e2 ~ e2 ~ e2 b1 d2 e2 ~ e2 ~ e2@2 b1 d2 b1",
K: "c2 ~ c2 ~ c2 g1 a1 c2 ~ c2 ~ c2@2 g1 c2 g1", L: "a1 ~ a1 ~ a1 e1 g1 a1 ~ a1 ~ a1@2 e1 a1 e1",
M: "e2 ~ e2 ~ e2 b1 d2 e2 ~ e2 ~ e2@2 b1 d2 e2", N: "a1 ~ a1 ~ a1 e1 g1 a1 ~ a1 ~ a1 ~ a1 g1 a1",
O: "c2@3 c2 c3!2 ~ c3 ~ c3@2 c2 c3 ~ c3 c2", P: "c2@2 ~ c2 c3!2 ~ c3 ~ c3 ~ c2 c3 ~ c2 b1",
Q: "a1@2 a1@2 ~ c2@2 e2 b2@2 a2@3 e2@2 c2, ~@8 a2 ~@7", R: "a1 ~ a1@3 c2@2 e2 b2@2 a2@3 e2@2 c2, ~@8 a2 ~@7",
S: "d2 ~ d2@3 f2@2 [c#2,a2] e3@2 d3@3 a2@2 f2, ~@8 d3 ~@7", T: "a#1 ~ a#1@3 d2@2 f2 a#2 ~ a#2@3 f2@2 d2",
U: "g1 ~ g1@3 b1@2 d2 g2 ~ g2@3 d2@2 b1", V: "d#2 ~ d#2@3 g2@2 a#2 f3@2 d#3@3 a#2@2 g2, ~@8 d#3 ~@7",
W: "c2 ~ c2@3 d#2@2 g2 d3@2 c3@3 g2@2 d#2, ~@8 c3 ~@7", X: "f1 ~ f1@3 g#1@2 [e1,c2] g2@2 f2@3 c2@2 g#1, ~@8 f2 ~@7",
Y: "f#2 e2 ~ c#2 ~ b1 a1@2 ~@8", Z: "d2@3 f#2 ~ a2 ~ d3 ~ b2 ~ f#2 a2@2 f#2 d2",
AA: "b1@3 d2 ~ f#2 ~ b2 ~ c#3 ~ f#2 b2@2 f#2 ~", AB: "e2@3 g2 ~ b2 ~ e3 ~ f#3 ~ b2 e3@2 b2 g2",
AC: "a2@3 e2@3 b2@3 e2@3 a2@2 a1@2", AD: "f2 ~ f2 ~ f2 c2 d2 f2 ~ f2 ~ f2@2 c2 d2 c2",
AE: "d2 ~ d2 ~ d2 a1 c2 d2 ~ d2 ~ d2@2 a1 c2 d2", AF: "g2 ~ g2 ~ g2 d2 f2 g2 ~ g2 ~ g2@2 d2 f2 g2",
AG: "c2 ~ c2 ~ c2 g1 a#1 c2 ~ c2 ~ c2 ~ c2 a#1 c2", AH: "c2 ~ c2 ~ c2 g1 a#1 c2 ~ c2 ~ c2 ~ c2 a#1 ~",
})).s("gm_fretless_bass").gain(0.19)
// chords · piano · "A.PIANO 1"
const piano_2 = note(`<
~@15 A B@2 C@2 D@5 E F@2 G@4 H@3 I@2 J K L M@4 N O P@2 Q@2 R@6 S T S U V W X Y Z@8 AA@3 AB AC AD AE AF AG@3 AH@5 AG@3
AH@5
>`.pickRestart({
A: "~ a4", B: "[a3@20 a3@4 b3@3 c#4@4 ~]/2", C: "d4/2",
D: "[[a3,a4]@23 ~ b3@3 ~ c#4@3 ~ d4@41 ~ [b3,e4] g4 [e4,g4] b4 [g4,b4] e5, ~@23 b4@4 c#5@4 d5@42 ~@7]/5", // A E5 Em G
E: "f#5@8 [b3,e4] g4 [a#3,e4,g4] b4 [g4,b4] [b4,e5] e5 f#5", // E5 Edim G E5
F: "[g5@15 ~@9 [e4,a4] a4 d5 [a4,d5] e5 [d5,e5] a5 [e5,a5], ~@15 g5@16 ~]/2", // A5 D5 Dsus2 A5
G: "[d6@24 e6@3 f#6@4 ~ a6@11 g6@4 ~ d4@7 ~@5 a5@3 ~, [d4,f#4]@31 [e4,g4]@16 f#4@8 [c#4,e4]@7 ~@2, ~@12 b5@3 ~]/4", // D Em C#m
H: "[e3 f#3 ~@4 e3 f#3 ~@8 e3 f#3 ~@4 e3 f#3 ~@8 e3 f#3@5 e3 f#3 [b3,d4] e4 [f#4,a4] b4 [d5,e5] a5 [e5,f#5] d5, f#4@35 ~@13]/3", // Bm F#m Dsus2 Esus2
I: "[e3 f#3 ~@4 e3 f#3@8 ~ [e3,e4] f#4@5 [e3,e4] f#4@9, f#5@15 f#4@2 f#3 ~@5 f#3 ~@8]/2", // E
J: "[e3,e4] f#4@5 [e3,e4] [f#3,f#4] e4@4 d4@4, ~ f#3 ~@14", // E F#
K: "[e3,e4] f#4@5 [e3,e4] [f#3,f#4] [b3,d4] e4 [f#4,a4] b4 [d5,e5] a5 [e5,f#5] d5, ~ f#3 ~@14", // E F# Bm F#m Dsus2 Esus2
L: "[e3,e4] [f#3,f#4] ~@4 [e3,e4] [f#3,f#4] ~@8, f#5@15 ~", // E F# E F#
M: "[b3@10 e4 g4 [e4,g4] b4 [g4,b4] e5 f#5@8 [b3,e4] g4 [a#3,e4,g4] b4 [g4,b4] [b4,e5] e5 f#5 g5@15 d4@8 ~ [e4,a4] a4 d5 [a4,d5] e5 [d5,e5] a5 [e5,a5], g3@31 [g3,c4]@16 [a3,g5]@16 ~, ~@10 b3@10 ~@36 c#4@7 ~]/4", // Em G E5 Edim G E5 A5 D5 …
N: "d6@8 c#6@3 f#5@4 ~", O: "b5@8 c#6@3 d6@4 ~", P: "[f#6@24 e6@7 ~]/2", Q: "[a6@3 b6 g6@2 e6 c6, a3@31 ~]/2",
R: "[a6@20 c7@4 b6@4 a6@3 ~ f6@12 e6@4 d6@16 a#6@12 c7@3 ~ g6@15 ~, a3@64 a#3@14 ~ b3@15 ~@2, ~@31 d4@63 ~@2]/6",
S: "c7@3 a#6", T: "c6@3 g6", U: "g6@15 ~", V: "a#6@3 g#6", W: "c6@2 g6 f6", X: "e6@7 ~",
Y: "[b4,b5] [a4,b4,a5] ~ [g4,g5] ~ [e4,e5] [a3,a4] ~@9", // B Asus2 G E A
Z: "[[a3,d4]@10 b3 c#4!2 b3 ~@2 [b3,d4]@10 a3 c#4!2 b3@3 [b3,d4]@10 a3 c#4!2 a3 ~@2 [e3,a3,d4]@8 [a3,d4,f#4]@4 [a3,c#4,e4]@4 a3@10 b3 c#4 ~ [b3,c#4] ~@2 b3@10 a3 c#4!2 ~ a3 ~ [b3,d4]@10 a3 c#4!2 a3 ~@2 [e3,a3,d4]@8 [e4,a4] a4 d5 [a4,d5] e5 [d5,e5] a5 [e5,a5], d3@119 ~@9, f#3@16 f#3@16 g3@16 ~@16 f#3@16 f#3@16 g3@16 ~@8 [a3,c#4]@3 ~@5, ~@10 a3@4 a3@6 ~@6 b3@3 a3 ~@12 b3@3 b3@8 ~@21 a3@4 a3@6 ~@6 b3@3 b3@3 ~@10 b3@3 b3@8 ~@11, ~@11 d4@5 ~@11 d4@5 ~@11 d4@5 ~@16 d4@12 d4@4 d4@12 d4@4 ~@11 d4@5 ~@16]/8", // D5 Bm Dsus2 D A Bsus2 Bm Dsus2 …
AA: "[[a3,a5]@16 b5@8 c#6@4 d6@3 ~ e5@16, d4@31 ~@17, ~@16 b3@15 [b3,e4]@16 ~]/3", // A E5
AB: "[e4,b5]@7 ~ c#6@4 [c#4,d6]@4, a3@15 ~, ~@7 d4@4 ~@5", AC: "[a3,d4,a5]", AD: "b5@2 c#6 d6, [b3,d4]@15 ~",
AE: "[b3,e4,e5]", AF: "[a3,e4,b5]@8 [a3,d4,c#6]@4 [a3,c#4,d6]@3 ~",
AG: "[[c4,f5]@4 e5@2 d5 c6 [g4,d6]@4, f4@2 ~, ~ d4@2]/3", // F5 G5
AH: "[[f4,a#6]@7 ~ a6@4 g6@3 ~ c6@12 a6@4 g6@8 f6@4 c6@4 [g4,d6]@15 ~ [a#4,a#5] ~@3 [a#4,a#5] ~@3 [a4,a5] ~@3 [g4,g5] ~@3, c4@16 d4@20 [c4,e4]@3 ~, ~@7 e4@8 ~ f4@32 ~@15 a#3@8 ~@9]/5", // A#5 G5 A# A G C
})).s("gm_piano").gain(0.14).pan(0.6)
// chords · piano · "A.PIANO 1"
const piano_3 = note(`<
~@8 A@2 B C D E F G ~@9 H I J K@2 L M ~@9 H I J K@2 L M N@2 O@2 P@2 Q R S@4 T@2 U@2 ~@8 K@2 V W X K V Y ~@16
>`.pickRestart({
A: "[e4@3 f#4@9 d4@3 e4@4 ~ f#4@12]/2", B: "e4@3 f#4@9 d4@4", C: "e4@4 f#4@11 ~", D: "f#4@3 g4@9 e4@4",
E: "b4@4 f#4@11 ~", F: "~@3 g4@9 d4@4", G: "a4@2 e4@5 ~", H: "~@3 [d4,f#4]", I: "[c4,e4]",
J: "[b3,d4]@8 [c#4,e4]@7 ~", K: "[c#4,e4]@3 [d4,f#4]@12 ~", L: "[d4,f#4]@3 [e4,g4]@12 ~",
M: "[d4,f#4]@6 [c#4,e4]@9 ~", N: "[d4@3 e4@29]/2", O: "[d4@2 ~ e4@28 ~]/2", P: "[e4@2 ~ f4@28 ~]/2", Q: "e4@3 d4@13",
R: "c4@8 d4@7 ~", S: "[f4@3 g4@28 ~]/2", T: "[g4@3 g#4@24 ~@5]/2",
U: "[g4@3 ~@13 b3 [a3,b3] ~ g3 ~ e3 a2 ~@9, ~@3 a4@16 ~@13]/2", V: "[d4,f#4]@3 [e4,g4]@13",
W: "[d4,f#4]@7 ~ [d4,f#4]@3 ~ [c#4,e4]@4", X: "[c#4,e4]@3 [d4,f#4]@13", Y: "[d4,f#4]@12 [c#4,e4]@3 ~",
})).s("gm_piano").gain(0.08)
// other · piano · "A.PIANO 1"
const piano_4 = note("<A@2 B@2 C@2 D E A@2 B@2 C@2 D E ~@80>".pickRestart({
A: "[e5@3 f#5@28 ~]/2", B: "[e5@3 f#5@25 ~@4]/2", C: "[f#5@3 g5@29]/2", D: "d5@3 e5@13", E: "f#5@3 e5@11 ~@2",
})).s("gm_piano").gain(0.25)
// chords · clavinet
const clavinet = note(`<
A B@2 C D E F G H I J I K L M N O P Q R S T U V W X Y Z AA AB AC AD O P Q R S T U V W X Y Z AA AB AC AD ~@32 AE AF AG
AH AE AF AG AH AE AF AG AH AE AF AG AH
>`.pickRestart({
A: "e4@3 f#4@9 ~@4", B: "[~@4 [b3,e4] [a3,d4] [b3,e4] ~@9 e4@3 f#4@12 ~, ~@7 [a3,d4]@20 ~@5]/2",
C: "~@4 [b3,e4] [a3,d4] [b3,e4] [a3,d4]@9", D: "f#4@3 g4@11 ~@2", E: "~@3 e3 b3 c#4 e3 d4 ~@8", F: "~@3 e4@11 ~@2",
G: "[g3,a3,d4]@2 ~ [g3,a3,d4] ~ [g3,a3,d4] e3 a2 [g3,a3,c#4] ~ [g3,a3,c#4] e3 [g3,a3,d4]@2 [g3,a3,c#4] e3", // Gsus2 A7 Gsus2 A7
H: "[c#4,e4]@2 ~ [d4,f#4]@13, d#4 ~@2 e4 ~@12", // C#m D
I: "~@2 [d4,f#4] ~@2 [d4,f#4] ~@2 [d4,f#4]@2 ~ [d4,f#4] ~@2 [d4,f#4] ~", J: "[c#4,e4]@2 ~ [d4,f#4]@13",
K: "[d4,f#4]@2 ~ [e4,g4]@13", L: "~@2 [e4,g4] ~@2 [e4,g4] ~@2 [e4,g4]@2 ~ [e4,g4] ~@2 [e4,g4] ~",
M: "[b3,d4]@2 ~ [c4,e4]@9 ~@4", // Bm C
N: "[a3,d4,e4] ~ [a3,d4] [a3,d4,e4] ~ [a3,d4,e4] ~ [a3,d4,e4]!2 ~ [a3,d4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // Asus4 D5 Asus4 A
O: "[a3,c#4,e4] ~ [a3,d4,f#4] [a3,c#4,e4] d3 [a3,d4,f#4] d3 [a3,c#4,e4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] [a3,c#4,d#4,e4] [a3,c#4,e4] [a3,d4,f#4] d3", // A D A D A D A D
P: "[a3,c#4,e4] d3 [a3,d4,f#4] [a3,c#4,e4] d3 [a3,d4,f#4] ~ [a3,c#4,e4] d3 [a3,d4,f#4] ~ [a3,d4,f#4] [a3,c#4,e4]!2 [a3,d4,f#4] d3", // A D A D A D A D
Q: "[a3,c#4,d4,e4] b2 [a3,d4,f#4] [a3,c#4,e4] ~ [a3,d4,f#4] b2 [a3,c#4,e4] b2 [a3,d4,f#4] ~ [a3,d4,f#4] [a3,c#4,e4] [a3,d4,f#4]!2 b2", // A D A D A D A D
R: "[a3,c#4,e4] b2 [a3,d4,f#4] [a3,c#4,e4] b2 [a3,d4,f#4] b2 [a3,c#4,e4] b2 [a3,d4,f#4] b2 [a3,d4,f#4] [a3,c#4,e4]!2 [a3,d4,f#4] b2", // A D A D A D A D
S: "[a3,c#4,e4] d3 [a3,d4,f#4] [a3,c#4,e4] ~ [a3,d4,f#4] d3 [a3,c#4,e4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] [a3,c#4,e4]!2 [a3,d4,f#4] d3", // A D A D A D A D
T: "[a3,c#4,e4] d3 [a3,d4,f#4] [a3,c#4,e4] ~ [a3,d4,f#4] d3 [a3,c#4,e4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]!2 [a3,c#4,f#4] [a3,d4,f#4] ~", // A D A D A D F#m D
U: "[a3,c#4,e4] b2 [a3,d4,f#4] [a3,c#4,e4] ~ [a3,d4,f#4] b2 [a3,c#4,e4] ~ [a3,d4,d#4,f#4] ~ [a3,d4,f#4] [a3,c#4,e4] [a3,c#4,d#4,e4] [a3,d4,f#4] b2", // A D A D A D A D
V: "[a3,c#4,e4] ~ [a3,d4,f#4] [a3,c#4,e4] b2 [a3,d4,f#4] ~ [a3,c#4,e4] b2 [a3,d4,f#4] ~ [a3,d4,f#4] [a3,c#4,e4]!2 [a3,d4,f#4] b2", // A D A D A D A D
W: "[a3,d4,f#4] e3 [b3,e4,g4] [a3,d4,f#4] ~ [b3,e4,g4] e3 [a3,d4,f#4] ~ [b3,e4,g4] ~ [b3,e4,g4] [a3,d4,f#4]!2 [b3,e4,g4] e3", // D Em D Em D Em D Em
X: "[a3,d4,f#4] e3 [b3,e4,g4] [a3,d4,f#4] ~ [b3,e4,g4] e3 [a3,d4,f#4] ~ [b3,e4,g4] ~ [b3,e4,g4] [a3,d4,f#4]!2 [b3,d4,g4] e3", // D Em D Em D Em D G
Y: "[b3,d4,g4] ~ [c4,e4,g4] [b3,d4,g4] c3 [c4,e4,g4] ~ [b3,d4,f4,g4] c3 [c4,e4,g4] ~ [c4,e4,g4] [b3,d4,d#4,g4] [b3,d4,g4] [c4,e4,g4] c3", // G C G C G7 C G C
Z: "[a3,d4,f#4] a2 [a3,c#4,e4] [a3,d4,f#4] ~ [a3,c#4,e4] a2 [a3,d4,f#4] [a2,b2] [a3,c#4,e4] ~ [a3,c#4,e4] [a3,b3,d4] a2 [a3,c#4,e4] a2", // D A D A D Asus2 A Bm7 …
AA: "[a3,c#4,e4] d3 [a3,d4,f#4] [a3,c#4,e4] ~ [a3,d4,f#4] d3 [a3,c#4,e4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] [a3,c#4,e4] d3 [a3,d4,f#4] d3", // A D A D A D A D
AB: "[a3,c#4,e4] ~ [a3,d4,f#4] [a3,c#4,e4] d3 [a3,d4,f#4] ~ [a3,c#4,e4] ~ [a3,d4,f#4] d3 [a3,c#4,e4]!2 d3 [a3,d4,f#4] d3", // A D A D A D A D
AC: "[a3,d4,f#4] ~ [b3,e4,g4] [a3,d4,f#4] e3 [b3,e4,g4] ~ [a3,d4,f#4] ~ [b3,e4,g4] ~ e3 [a3,d4,f#4] e3 [b3,e4,g4] e3", // D Em D Em D Em D Em
AD: "[a3,d4,f#4] ~ [a3,c#4,e4] [a3,d4,f#4] ~ [a3,c#4,e4] ~ [a3,d4,f#4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] [a3,b3,d4] ~ [a3,c#4,e4] ~", // D A D A D A Bm7 A
AE: "[c4,e4,g4] f3 [c4,f4,a4] [c4,e4,g4] ~ [c4,f4,a4] f3 [c4,e4,g4] ~ [c4,f4,a4] ~ [c4,f4,a4] [c4,e4,g4] f3 [c4,f4,a4] f3", // C F C F C F C F
AF: "[c4,e4,g4] ~ [c4,f4,a4] [c4,e4,g4] f3 [c4,f4,a4] ~ [c4,e4,g4] ~ [c4,f4,a4] f3 [c4,e4,g4]!2 f3 [c4,f4,a4] f3", // C F C F C F C F
AG: "[c4,f4,a4] ~ [d4,g4,a#4] [c4,f4,a4] g3 [d4,g4,a#4] ~ [c4,f4,a4] ~ [d4,g4,a#4] ~ g3 [c4,f4,a4] g3 [d4,g4,a#4] g3", // F Gm F Gm F Gm F Gm
AH: "[c4,f4,a4] ~ [c4,e4,g4] [c4,f4,a4] ~ [c4,e4,g4] ~ [c4,f4,a4] ~ [c4,e4,g4] ~ [c4,e4,g4] [c4,d4,f4] ~ [c4,e4,g4] ~", // F C F C F C Dm7 C
})).s("gm_clavinet").gain(0.06).pan(0.3)
// other · piano · "A.PIANO 1"
const piano_5 = note("<~@56 A@2 B@2 C@2 D E ~@3 F G@3 H I J ~ K L M J N O P Q R S@2 T ~ O P Q R S@2 T ~>".pickRestart({
A: "[[a#3,a#4]!2 ~ [a#3,a#4] ~ [c4,c5]@18 ~ [g3,g4] [a#3,a#4] ~ [c4,c5] ~ [d#4,d#5]@2 ~]/2", // A# C G A# C D#
B: "[[f4,f5] ~ [g4,g5] [c4,c5]@23 ~@2 [f4,f5]@2 [d#4,d#5]@2]/2", C: "[[f4,f5] ~ [g4,g5] [c4,c5]@25 ~@4]/2",
D: "[e4,e5] ~ [f#4,f#5] [b3,b4]@12 ~", E: "[b3,b4] [a3,a4] ~ [g3,g4] ~ [e3,e4] [a2,a3] ~@9", F: "~@8 f#4@4 e4@3 ~",
G: "e4 f#4 ~@4 e4 f#4 ~@8", H: "[d4,g4] [c#4,f#4]", I: "a4", J: "b4", K: "[a4,d5]@2 [f#4,a4,d5] [e4,a4]", L: "a4 ~@3",
M: "b4@15 ~", N: "d5@2 [f#4,a4,d5] [a4,c#5,e5]", O: "f4", P: "e4 [d4,d5]", Q: "d4", R: "d4@8 c4@7 ~",
S: "[c4 d4, f4@31 ~]/2", T: "[d4,g4]",
})).s("gm_piano").gain(0.1).pan(0.4)
// other · piano · "A.PIANO 1" · soft notes
const piano_soft_2 = note("<~@8 A@2 B@2 C@2 D@2 ~@58 E F ~@3 G H I ~@6 H I ~@6>".pickRestart({
A: "[[c#4,e4]@3 [d4,f#4]@28 ~]/2", B: "[c#4@2 ~ d4@29, a3@31 ~]/2", C: "[[a3,d4]@3 [b3,e4]@29]/2",
D: "[[b3,d4]@3 c4@13 c#4@15 ~, ~@3 e4@28 ~]/2", E: "b4@15 ~", F: "~@3 c#5", G: "a4 ~", H: "f5", I: "e5 ~",
})).s("gm_piano").gain(0.04).pan(0.4)
// chords · piano · "A.PIANO 1"
const piano_6 = note(`<
~@7 A ~@20 B C D E ~@12 B C D E F G H I J@2 K L M N O P Q R S ~ T U V W T X Y Z B C D E B C D E AA AB AC AD AA AB AC
AD AA AB AC AD AA AB AC AE
>`.pickRestart({
A: "[d5,f#5]@3 [c#5,e5]@3 [b4,d5]@2 [a4,c#5]@3 [g4,b4]@3 [e4,a4]@2", // D C#m Bm A G A5
B: "~@10 [a3,d4,f#4] [d4,f#4] [a3,d4,f#4]@2 [a3,d4,f#4] f#4", C: "~@10 [a3,d4,f#4]!3 ~ [a3,d4] [d4,f#4]",
D: "~@11 g4 [b3,d4,g4] ~ [b3,d4,g4] [b3,g4]", E: "~@10 c#4!2 [a3,c#4,e4] ~ [a3,c#4] [a3,c#4,e4]",
F: "~@10 [g3,c4,e4] [c4,e4] [g3,c4,e4] ~ [g3,c4,e4]!2", G: "~@10 [g3,c4,e4] [c4,e4] [g3,c4,e4] ~ [g3,c4,e4] c4",
H: "~@10 [g3,c4,e4]!3 ~ [g3,c4,e4]!2", I: "~@10 [g3,c4,e4] [c4,e4] [g3,a3,c4,e4] ~ [g3,a3,c4,e4]!2",
J: "~@10 [a3,c4,f4] [a3,c4] [a3,c4,f4] ~ [a3,c4,f4]!2", K: "~@10 [a#3,d4,f4]!3 ~ [a#3,d4,f4]!2",
L: "~@10 [g3,d4,g4]!3 ~ [g3,d4,g4] [g3,d4]", M: "~@10 [a#3,d#4,g4] [a#3,d#4] [a#3,d#4,g4] ~ [a#3,d#4,g4]!2",
N: "~@10 [a#3,d#4,g4,g#4] [a#3,d#4,g4]!2 ~ [a#3,d#4,g4]!2", O: "~@10 [c4,d#4,g4]!3 ~ [a#3,c4,d#4,g4]!2",
P: "~@10 [a#3,d#4] [a#3,d#4,g4]!2 ~ [a#3,d#4,g4]!2", // D#5 D#
Q: "~@10 [c4,d#4,f4,g#4]!2 [c4,d#4]@2 [c4,d#4,f4,g#4] [d#4,f4,g#4], ~@12 [f4,g#4] ~@3", // Fm7 Cm Fm7 Fm
R: "~@10 [c4,d#4,f4,g#4]!3 ~ [c4,d#4,f4,g#4]!2", S: "~@10 [c#4,e4,g4] [b3,c#4,e4,g4]!2 ~ [b3,c#4,e4] [c#4,e4]",
T: "~@10 [a3,d4,f#4]!3 ~@3", U: "~@10 [a3,d4,f#4] [a3,b3,d4,f#4]!2 ~@3", V: "~@10 [b3,d4,g4]!3 ~@3",
W: "~@10 [a3,d4,f#4]!2 [a3,c#4,e4] ~@3", X: "~@10 [b3,d4,f#4] d4 [b3,d4,f#4] ~@3", Y: "~@10 [b3,d4] [b3,d4,g4]!2 ~@3",
Z: "~@10 [b3,d4,g4]!2 [a3,c#4,e4,f4] ~@3", AA: "~@10 [c4,f4,a4] [f4,a4] [c4,f4,a4]@2 [c4,f4,a4] a4",
AB: "~@10 [c4,f4,a4]!3 ~ [c4,f4] [f4,a4]", AC: "~@11 a#4 [d4,f4,a#4] ~ [d4,f4,a#4] [d4,a#4]",
AD: "~@10 e4!2 [c4,e4,g4] ~ [c4,e4] [c4,e4,g4]", AE: "~@10 e4!2 [c4,e4,g4] ~ [c4,e4] ~",
})).s("gm_piano").gain(0.17)
// … 89 more lines
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.