0:00/0:00
// Dancing on the Ceiling — RICHIE LIONEL
// 127 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 153 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(127/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 pick · "PICK BASS"
const bass = note(`<
~@5 A@2 B C A@2 D C E C E C E C F G A@2 B C A@2 B C E C E C E C F H A@2 D C A@2 B C A@2 D C A@2 D C I@2 J@2 K@2 L@3
M@2 N O@3 P@4 Q@6 ~@8 R F R F R F S T U@2 V F U@2 V F U@2 V F U@2 W F ~@8 X Y X Z AA AB AC AD U AE W F AF AE V AG AH
AI AJ AK AL AI AJ AK U AM W F AN U AO AP AQ AR@2
>`.pickRestart({
A: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", B: "b1 ~ b1 ~ b1 ~ f1 ~ f1 ~ f1 ~ f1@2 f1 ~",
C: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~", D: "b1 ~ b1 ~ b1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~",
E: "c2 ~ c2 ~ c2 ~ c2 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~", F: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
G: "g1 ~ g2 ~ g2@2 g1 ~ g2@2 d2@2 e2@2 a1@2", H: "g1 ~ g2 ~ g2@2 g1 ~ g2@2 d2@2 e2@2 a1 ~",
I: "[f1@5 ~ c2@3 ~@11 e2@3 ~ g1@2 ~@2 g1@2 ~@2, ~@6 g1@5 ~@5]/2",
J: "[f1@5 ~ c2@2 ~@4 g1@6 g1 ~ g1@2 ~@2 g1@2 ~@2 g1@2 ~@2]/2",
K: "[f1@4 ~@2 c2@3 ~@3 g1@8 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2]/2",
L: "[d2@5 ~ a1@3 ~@3 g1@22 g1 ~ g1 ~ g1 ~ g1@2 ~@2 g1@3 ~]/3", M: "[~@26 c2@3 ~@3, f1]/2", N: "c2 ~@2 g1@5",
O: "[~@2 c2@2 b1@2 g1@2 c2@2 b1@2 g1@2 ~@24 c2@2 ~@2 f1@3 ~@3, ~@7 f1@14 ~@3]/3",
P: "[c2@3 ~@3 g1@12 c2@2 b1@2 g1@2 c2@2 b1@2 g1@2 ~@28 c2@3 ~@3, ~@15 f1@17]/4",
Q: "[f1@2 ~@4 g1@12 c2@2 b1@2 g1@2 c2@2 b1@2 g1@2 ~@34 g1@13 ~ a1@4 a1 ~ a1 ~ a1@2 a1@2 a1 ~ a1@2 a1@2, ~@15 d2@13 ~@20, ~@23 f1@15 ~@10]/6",
R: "d2 ~ d2 ~ d2 ~ d2 ~ c2 ~ c2 ~ c2 ~ c2 ~", S: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~",
T: "a1@2 a2 ~ a2@2 a1 ~ a2@2 e2@2 f#2@2 b1 ~", U: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
V: "c#2 ~ c#2 ~ c#2 ~ g1 ~ g1 ~ g1 ~ g1@2 g1 ~", W: "c#2 ~ c#2 ~ c#2 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
X: "d1 ~@2 a1 c2 ~@3", Y: "~ c2 ~@2 c2 ~ d2 ~", Z: "~@2 c2 ~@5 c2@2 d2 ~ a1@2 c2 ~", AA: "d1 ~ d1@4 d1@2 d1@2 ~@6",
AB: "~@2 d2 ~@3 d2 ~ d2@3 ~ d2@3 ~", AC: "c#2@2 b1@2 a1@2 g1@7 ~ g1@2", AD: "g1@2 g1 ~ g1 ~ g1@2 g1 ~ g1 ~ g1 ~ g1@2",
AE: "d1 ~ d2 ~ d2@2 d1 ~ d2@2 d1 ~ d2@2 d1 ~", AF: "d2@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
AG: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1@2", AH: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2",
AI: "d1@2 d2 ~ d2@2 d1 ~ d2@2 a1@2 b1@2 a1@2", AJ: "c#2@2 d2@2 e2@2 g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
AK: "g1 ~ g1@2 g2 ~ g1@2 g2 ~ g2@2 g1 ~ g1@2", AL: "d2 ~ d2 ~ d2 ~ d2 ~ d2@2 d2 ~ d2 ~ d2@2",
AM: "d2 ~ d2 ~ d2@2 e3@2 d3@2 a2@2 f#2@2 c#2@2", AN: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2 d2 ~",
AO: "c#2 ~ d2@2 e2@2 g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", AP: "g1@2 g2 ~ g2@2 g1@2 g2@2 g1@2 g2 ~ g2@2",
AQ: "d2 ~ a1@2 b1@2 d2@5 ~ b1 a1 d1@2", AR: "[~ d1@15]/2",
})).s("gm_electric_bass_pick").gain(0.5)
// chords · piano · "A.PIANO 2"
const piano = note(`<
~@5 A@2 B C D@2 E F G H I J G H K L M@2 E N O@2 E P G Q I J G H R S M@2 T U V@2 W X Y@2 E Z AA@2 W AB AC@2 AD@2 AE@2
AF@3 AG@2 AH AI@3 AJ@4 AH AK@5 AL AM AN AM AO AP AQ AR AS AT AU AV AS AW AX@2 AY@2 AZ BA BB@2 BC BD BE@2 AZ BF BG@2 AZ
BH BI ~@11 BJ BK BL@2 BM@2 BN BO BP@2 BC BQ BR@2 AZ BS BT@2 BC BU AY@2 AZ BV BP@2 BC BH BW@3
>`.pickRestart({
A: "[[a4,c5] f5 [a4,c5,f5]@2 [c6,c7]@2 ~@2 c7@2 ~@2 c7@2 ~@2 [c6,c7]@2 ~@2 [c6,c7]@2 ~@2 c7@2 c6@2 c7@2 ~@2, [c6,c7] ~@2 [g4,c5,e5]@12 ~, ~@8 c6 ~ c6@4 ~@10 c6 ~@7]/2", // Am F C
B: "d5 [g4,b4] [g4,b4,d5]@2 [c6,c7]@2 ~@2 c7@2 c6@2 [c6,c7]@2 ~@2, [c6,c7] ~@2 [f4,a4,c5]@4 ~, ~@8 c6 ~@7", // G C F
C: "[d5,c6,c7]@2 ~@2 [f4,a4,d5,c6,c7] ~@3 [f4,a4,d5,c6] ~ c6@2 [c6,c7]@2 ~@2, [f4,a4] ~@7 c7@2 [f4,a4,c5]@4 ~@2", // D7 Dm7 C F
D: "[c5 [a4,f5] [a4,c5,f5]@2 [c6,c7] ~@3 c7@2 c6 ~ c6@2 ~@2 [c6,c7] ~@3 [c6,c7]@2 ~@2 [c6,c7]@2 d6@2 [c6,c7]@2 ~@2, [c6,c7] ~@2 [g4,c5,e5]@12 ~, ~@8 c6 ~@3 c7 ~@19]/2", // Dm F C
E: "[g4,b4,d5] ~ [g4,b4,d5]@2 [c6,c7]@2 ~@2 c7@2 c6@2 [c6,c7]@2 ~@2, [c6,c7] ~@2 [f4,a4,c5]@4 ~, ~@8 c6 ~@7", // G C F
F: "d5 a4 ~@2 [f4,a4,c6,c7]@2 ~@2 [f4,a4,d5,c6] ~@3 c7@2 ~@2, [f4,c6,c7]@2 ~@2 d5 ~@3 c7@2 [f4,a4,c5,c6]@4 ~@2", // F Dm7 F5 F
G: "[g4,c5,e5]@4 ~@2 [f4,a#4,d5]@4 f4 ~ [f4,a#4,d5]@2 c5@2", // C A#
H: "f4 ~ [a4,c5]@4 f4 ~ [f4,a4,c5]@2 ~@2 [a4,c5]@2 f4 ~, ~@2 f4@2 ~@8 f4 ~@3", // Am F Am
I: "[g4,c5,e5]@2 ~@2 [g4,c5]@2 [a#4,d5]@2 ~@2 [a#4,d5]@3 ~ [f4,a4,c5]@2, ~@4 e5 ~@3 f4@5 ~@3", // C C5 A# F
J: "~@2 [a4,c5]@4 f4 ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [a4,c5]@2 f4 ~, ~@2 f4@3 ~@7 f4 ~@3", // Am F Am
K: "[g4,b4,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,d5,g6] ~, d5 ~ d5 ~@5", // G
L: "[g4,b4,d5,g6] ~ [g4,d5,g5,g6] ~ [d5,g5]@2 [g4,g6] ~ [d5,g5]@2 [g4,g6] ~ [g4,c7] [f6,g6,a6,b6] [g4,b5,c6,d6,e6] [d5,e5,f5,g5,a5], ~@4 [g4,g6] ~@3 [g4,g6] ~@3 [d5,g5]@3 ~", // G G5 G G5 G C5 G7 Cmaj7 …
M: "[[a4,c5,f5] ~ [a4,c5,f5]@2 [c6,c7]@2 ~@2 c7@2 ~@2 c7@2 ~@2 [c6,c7]@2 ~@2 [c6,c7]@2 ~@2 c7@2 c6@2 c7@2 ~@2, [c6,c7] ~@2 [g4,c5,e5]@12 ~, ~@8 c6 ~ c6@4 ~@10 c6 ~@7]/2", // F C
N: "[f4,a4,c7] ~@3 [f4,a4,d5] ~@3 [f4,a4,d5,c6] ~ c6@2 [c6,c7]@2 ~@2, [d5,c6] ~ [c6,c7] ~ c7 [f4,a4,c5]@2 ~", // F Dm Dm7 C D7 C F
O: "[[a4,c5,f5,c7] ~ [a4,c5,f5]@2 [c6,c7] ~@3 c7@2 c6 ~ [c6,c7]@2 ~@2 c6@2 ~@2 [c6,c7]@2 ~@2 [c6,c7]@2 d6@2 [c6,c7]@2 ~@2, c6 ~@2 [g4,c5,e5]@12 ~, ~@8 c6 ~@7 c7 ~@15]/2", // F C
P: "d5 a4 ~@2 [f4,a4,c7]@2 ~@2 [f4,a4,d5,c6] ~@3 c7@2 ~@2, [f4,c6,c7]@2 ~@2 [d5,c6] ~@3 c7@2 [f4,a4,c5,c6]@4 ~@2", // F Dm7 F5 D7 F
Q: "f4 ~ [f4,a4,c5]@4 f4 ~ [f4,a4,c5]@2 ~@2 [a4,c5]@2 f4 ~, ~@12 f4 ~@3", // F Am
R: "[g4,b4,g6] ~ [g4,d5,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,d5,g6] ~ [g4,b4,d5,g6] ~, d5 b4 ~@6", // G G5 G
S: "[g4,b4,d5,g6] ~ [g4,d5,g5,g6] ~ [d5,g5]@2 [g4,g6] ~ [d5,g5]@2 [g4,g6] ~ [g4,b6,c7] [f6,g6,a6] [g4,a5,b5,c6,d6,e6] [d5,e5,f5,g5], ~@4 [g4,g6] ~@3 [g4,g6] ~@3 [d5,g5]@3 ~", // G G5 G G5 G Cmaj7 F Cmaj7 …
T: "[g4,b4,d5] ~ [g4,b4,d5]@2 [c6,c7]@2 ~@2 c7@2 c6@2 c6@2 ~@2, [c6,c7] ~@2 [f4,a4,c5]@4 ~, ~@8 c6 ~@3 c7 ~@3", // G C F
U: "[f4,a4,d5,c7] ~@3 [f4,d5,c6,c7] ~@3 [f4,a4,d5,c6] ~ c6@2 [c6,c7]@2 ~@2, c6 ~ a4 ~ c7 [f4,a4,c5]@2 ~", // Dm7 C F
V: "[[a4,c5,f5] ~ [a4,c5,f5]@2 [c6,c7]@2 ~@2 c7@2 c6 ~ c6@2 ~@2 [c6,c7] ~@3 [c6,c7]@2 ~@2 [c6,c7]@2 d6@2 [c6,c7]@2 ~@2, [c6,c7] ~@2 [g4,c5,e5]@12 ~, ~@8 c6 ~@3 c7 ~@19]/2", // F C
W: "[g4,b4,d5] ~ [g4,b4,d5]@2 [c6,c7]@2 ~@2 c7@2 c6 ~ [c6,c7]@2 ~@2, [c6,c7] ~@2 [f4,a4,c5]@4 ~, ~@8 c6 ~@7", // G C F
X: "[f4,a4,c6,c7]@2 ~@2 [f4,a4,d5,c7]@2 ~@2 [f4,a4,d5,c6] ~@3 c7 [f6,g6,a6,b6,c7] [c6,d6,e6] [e5,f5,g5,a5,b5], d5 ~@3 c6 ~@3 c7@2 [f4,a4,c5,c6]@4 ~@2", // F Dm7 F C Em F
Y: "[[c5,d5] [a4,f5] [a4,c5,f5]@2 [c6,c7]@2 ~@2 c7@2 ~@2 c7@2 ~@2 [c6,c7]@2 ~@2 [c6,c7]@2 ~@2 c7@2 c6@2 c7@2 ~@2, [c6,c7] ~@2 [g4,c5,e5]@12 ~, ~@8 c6 ~ c6@4 ~@10 c6 ~@7]/2", // Csus2 Dm F C
Z: "[f4,a4,d5] ~@3 [f4,a4,d5,c6,c7] ~@3 [f4,a4,d5,c6] ~ c6@2 [c6,c7]@2 ~@2, [c6,c7] ~@3 c7 [f4,a4,c5]@2 ~", // Dm Dm7 C F
AA: "[[a4,c5,f5] ~ [a4,c5,f5]@2 [c6,c7]@2 ~@2 c7@2 c6 ~ [c6,c7]@2 ~@2 c6@2 ~@2 [c6,c7]@2 ~@2 c7@2 d6@2 [c6,c7]@2 ~@2, [c6,c7] ~@2 [g4,c5,e5]@12 ~, ~@8 c6 ~@7 c7 ~@7 c6 ~@7]/2", // F C
AB: "[f4,a4,c6,c7]@2 ~@2 [f4,a4,c7]@2 ~@2 [f4,a4,d5,c6] ~@3 c7@2 ~@2, d5 ~@3 [d5,c6] ~@3 c7@2 [f4,a4,c5,c6]@4 ~@2", // F Dm7 D7 F
AC: "[~ f3@5 [c4,g4,c5,e5]@5 ~@9 [b4,d5,g5]@3 ~ [b4,d5,g5]@2 g3@2 [b4,d5,g5]@2 g3@2, [a4,c5,f5]@5 ~@7 g4@13 ~@7, ~@3 d5@2 ~@3, ~@12 g3@6 g3@7 ~@7, ~@13 b4@7 ~@12]/2", // C G F
AD: "[[f3,a4,c5,f5]@6 [c4,g4,c5,e5]@6 g3@6 ~@2 [b4,d5,g5]@3 ~ [b4,d5,g5]@3 ~ [b4,d5,g5]@3 ~, ~@12 [g4,b4,d5]@9 ~@11, ~@9 g3@7]/2", // F C G
AE: "[[f3,a4,c5,f5]@5 ~ [c4,g4,c5,e5]@5 ~@10 d5@3 [b4,d5,g5]@3 ~ [b4,d5,g5]@2 g3@2, ~@12 [d5,g5]@9 ~@11, ~@6 g3@3 g3@6 ~, ~@13 b4@7 [b4,g5]@3 ~@9]/2", // F C G G5 Em
AF: "[[d4,a4,d5,f5]@5 ~ [a3,a4,c5,e5]@4 a3@2 ~ g4@5 g4@2 [b4,d5]@2 g4@2 [b4,d5]@2 g4@2 [b4,d5]@2 ~@2 [b4,d5] ~ [b4,d5,g5] ~ [g3,b4,d5,g5] ~ [g3,b4,d5,g5] ~ [b6,c7] [e6,f6,g6,a6] [a5,b5,c6,d6] [c5,d5,e5,f5,g5] [g3,d5] d5@2 ~, ~@6 g3@11 g3 ~@2 [g3,b4,d5,g5] ~@3, ~@12 [b4,d5]@8 ~@10 g4@5 ~@9 [b4,g5]@2 ~@2]/3", // Dm Am Bm G Cmaj7 Fmaj7 D7 C …
AG: "[a5@5 c6 ~@2 c6 ~@2 c6 a5 c6 g5 e5, c5@31 ~, f5@6 a5@2 ~ a5@2 ~@5, ~@14 f5@5 ~ f5@6 ~@6]/2",
AH: "[c5,e5,g5] ~@2 [d5,g5,b5]@2 ~ [g5,d6,g6] ~", // C G G5
AI: "[[g5,g6]@2 ~@2 [g5,d6,g6] ~@3 [g5,d6,g6] ~ [g5,d6,g6] ~@15 c6@2 ~@4 c6@2 ~@4 c6@2 ~@2 c6@2 ~@2 e5 ~, d6 ~@13 c5@34, ~@7 a5@7 a5@2 ~ a5@2 ~@3 g5@2, ~@15 f5@15 f5@5 ~ f5@5 ~@7]/3", // G G5
AJ: "[[c5,f5,a5]@2 ~@40 c6@2 ~@4 c6@2 ~@4 c6@2 a5@2 c6@2 g5@2 e5 ~, ~@6 [d5,g5]@25 a5@13 a5@5 ~ a5@4 ~@10, ~@7 b5@36 ~@21, ~@15 c5@17, ~@30 f5@16 f5@5 ~ f5@6 ~@6]/4", // F G5
AK: "[[g5,d6,g6]@2 ~@2 [g5,d6,g6] ~@3 [g5,d6,g6] ~ [g5,d6,g6] ~@3 [a4,f5]@16 ~@18 [g4,d5,g5]@12 ~@3 e5@3 [a4,e5,a5] ~ [a4,e5,a5] ~ [a4,e5,a5] ~ [a4,a5] ~ [a4,e5,a5] ~ [a4,e5,a5] ~ [e5,a5] ~, ~@14 d5@27 ~@31 e5@2 ~@6, ~@30 [a4,c5,f5]@31 ~ [a4,a5]@4 ~@12 a4@2]/5", // G5 Dm G5 A5 A A5 F A
AL: "d3@2 ~@4 [d2,d3] ~@7 [d2,d3] ~, d2 ~@15", AM: "[d2,d3] ~@5 d3@2 ~@8, ~@6 d2 ~@9",
AN: "[d2,d3]@2 ~@4 d3@2 ~@6 [d2,d3] ~, ~@6 d2 ~@9", AO: "[d2,d3] ~@5 [d2,d3] ~@7 [d2,d3] ~",
AP: "[d2,d3] ~@5 [d2,d3] ~@9", AQ: "[d2,d3,d4,a4,d5] ~ [d4,a4,d5] ~@3 d3@2 ~@6 [d2,d3] ~, ~@6 d2 ~@9",
AR: "[d2,d3,d4,a4,d5] ~ [d4,a4,d5]@2 ~@2 [d2,d3] ~ [g6,a6] [d6,e6,f6] [g5,a5,b5,c6] [d5,e5,f5] [a4,b4,c5] [f4,g4] ~@2", // D5 D Gsus2 Dm Cmaj7 Dm Am Fsus2
AS: "[a4,d5,f#5]@4 ~@2 [g4,c5,e5]@4 g4 ~ [g4,c5,e5]@2 d5@2", // D C
AT: "g4 ~ [b4,d5]@4 g4 ~ [g4,b4,d5]@2 ~@2 [b4,d5]@2 g4 ~, ~@2 g4@2 ~@8 g4 ~@3", // Bm G Bm
AU: "[a4,d5,f#5]@2 ~@2 [a4,d5]@2 [c5,e5]@2 ~@2 [c5,e5]@3 ~ [g4,b4,d5]@2, ~@4 f#5 ~@3 g4@5 ~@3", // D D5 C G
AV: "~@2 [b4,d5]@4 g4 ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [b4,d5]@2 g4 ~, ~@2 g4@3 ~@7 g4 ~@3", // Bm G Bm
AW: "g4 ~ [g4,b4,d5]@4 g4 ~ [g4,b4,d5]@2 ~@2 [b4,d5]@2 g4 ~, ~@12 g4 ~@3", // G Bm
AX: "[[a2,a3]@2 ~@2 [a2,a3]@2 [a4,e5,a5]@2 [a2,a3]@2 [a4,e5,a5]@2 ~@2 [a4,e5,a5]@4 [a2,a3,a4,e5,a5]@3 ~ [a2,a3,a4,e5,a5] ~ [a4,e5,a5] ~ [a4,e5,a5] ~ [a4,e5,a5,d7] [g6,a6,b6,c#7] [a4,e5,a5,d6,e6,f#6] [f#5,g5,a5,b5,c#6], ~ [a4,e5,a5]@2 ~@3 [a2,a3]@3 ~@3 [a2,a3] ~ [a2,a3]@2]/2", // A A5 A A5 Asus4 A7 D F#m …
AY: "[[b4,d5,e5,g5] ~ [b4,d5,g5]@2 [d6,d7]@2 ~@2 d7@2 ~@2 d7@2 ~@2 [d6,d7]@2 ~@2 [d6,d7]@2 ~@2 d7@2 ~@2 d7@2 ~@2, [d6,d7] ~@2 [a4,d5,f#5]@12 ~, ~@8 d6 ~ d6@4 ~@10 d6 ~ d6@4 ~@2]/2", // Em7 G D
AZ: "[a4,c#5,e5] ~ [a4,c#5,e5]@2 [d6,d7]@2 ~@2 d7@2 d6@2 [d6,d7]@2 ~@2, [d6,d7] ~@2 [g4,b4,d5]@4 ~, ~@8 d6 ~@7", // A D G
BA: "[g4,b4,d7] ~@3 [b4,d6,d7]@2 ~@2 [g4,b4,d6] e5 d6 ~ [d6,d7]@2 ~@2, [e5,d6]@2 ~@2 [g4,e5] ~@3 d7@2 [g4,b4,d5]@4 ~@2", // G Bm G D E7 C G
BB: "[[b4,d5,g5,d7] ~ [b4,d5,g5]@2 [d6,d7]@2 ~@2 d7@2 d6 ~ [d6,d7]@2 ~@2 [d6,d7] ~@3 [d6,d7]@2 ~@2 [d6,d7]@2 e6@2 [d6,d7]@2 ~@2, d6 ~@2 [a4,d5,f#5]@12 ~, ~@8 d6 ~@23]/2", // G D
BC: "[a4,c#5,e5] ~ [a4,c#5,e5]@2 [d6,d7]@2 ~@2 d7@2 d6 ~ [d6,d7]@2 ~@2, [d6,d7] ~@2 [g4,b4,d5]@4 ~, ~@8 d6 ~@7", // A D G
BD: "[g4,b4,d6,d7]@2 ~@2 [g4,b4,e5,d6,d7]@2 ~@2 [g4,b4,e5,d6] ~@3 d7 [g6,a6,b6,c#7,d7] [d6,e6,f#6] [g5,a5,b5,c#6], e5 ~@7 d7@2 [g4,b4,d5,d6]@4 ~@2", // G Em7 G D A7 G
BE: "[[d5,e5,f#5,g5] b4 [b4,d5,g5]@2 [d6,d7]@2 ~@2 d7@2 ~@2 d7@2 ~@2 [d6,d7]@2 ~@2 [d6,d7]@2 ~@2 d7@2 ~@2 d7@2 ~@2, [d6,d7] ~@2 [a4,d5,f#5]@12 ~, ~@8 d6 ~ d6@4 ~@10 d6 ~ d6@4 ~@2]/2", // Em7 G D
BF: "[g4,b4,e5,d7] ~@3 [g4,b4,e5,d7] ~@3 [g4,b4,e5,d6] ~ d6 ~ [d6,d7]@2 ~@2, d6 ~ d6 ~ d7 [g4,b4,d5]@2 ~", // Em7 D G
BG: "[[b4,d5,g5,d7] ~ [b4,d5,g5]@2 [d6,d7]@2 ~@2 d7@2 d6 ~ d6@2 ~@2 d6@2 ~@2 [d6,d7]@2 ~@2 [d6,d7]@2 e6@2 [d6,d7]@2 ~@2, d6 ~@2 [a4,d5,f#5]@12 ~, ~@8 d6 ~@3 d7 ~@3 d7 ~@15]/2", // G D
BH: "[g4,b4,d6,d7]@2 ~@2 [g4,b4,e5,d6,d7]@2 ~@2 [g4,b4,e5,d6] ~@3 d7 [g6,a6,b6,c#7,d7] [d6,e6,f#6] [f#5,g5,a5,b5,c#6], e5 ~@7 d7@2 [g4,b4,d5,d6]@5 ~", // G Em7 G D F#m G
BI: "[d5,e5] ~@15", BJ: "~ d4@4 ~ [a4,d5,f#5]@6 ~@2 [a4,d5,f#5]@2, [b4,d5,g5]@2 ~ d4@5",
BK: "~@2 [d5,f#5]@4 d4@2 [b4,d5,g5]@2 d4 ~ [d4,a4,d5,f#5]@2 ~@2, ~@2 [d4,a4]@2 ~@2 a4 ~@9", // D G D D5
BL: "[a4 ~ a4@2 [c#5,e5] ~ [g3,b4,d5]@4 g3 ~@3 [d5,g5,d6]@4 [g3,d5] ~ d5@2 g5 ~ [d5,g5,d6]@2 g3 ~ [g3,d5,g5,d6]@4, [c#4,c#5,e5]@4 ~@2 g4@20 g4@5 ~, ~@12 g3@6 d6@5 ~@9, ~@18 g5@2 g3@5 ~@7]/2", // C#m G G5 C#m
BM: "[[b4,d5,g5] ~ [b4,d5,g5]@2 [d6,d7]@2 ~@2 d7@2 ~@2 d7@2 ~@2 [d6,d7]@2 ~@2 [d6,d7]@2 ~@2 d7@2 ~@2 d7@2 ~@2, [d6,d7] ~@2 [a4,d5,f#5]@12 ~, ~@8 d6 ~ d6@4 ~@10 d6 ~ d6@4 ~@2]/2", // G D
BN: "[a4,c#5,e5] ~ [a4,c#5,e5]@2 [d6,d7]@2 ~@2 d7@2 d6@2 d6@2 ~@2, [d6,d7] ~@2 [g4,b4,d5]@4 ~, ~@8 d6 ~@3 d7 ~@3", // A D G
BO: "[b4,e5,d6,d7]@2 ~@2 [g4,e5,d6,d7] ~@3 [g4,b4,e5,d6] ~ d6@2 [d6,d7]@2 ~@2, g4 ~@3 b4@2 ~@2 d7@2 [g4,b4,d5]@4 ~@2", // E7 Em7 D G
BP: "[[b4,d5,g5,d7] ~ [b4,d5,g5]@2 [d6,d7] ~@3 d7@2 d6 ~ [d6,d7]@2 ~@2 [d6,d7] ~@3 [d6,d7]@2 ~@2 [d6,d7]@2 e6@2 [d6,d7]@2 ~@2, d6 ~@2 [a4,d5,f#5]@12 ~, ~@8 d6 ~@23]/2", // G D
BQ: "[g4,d6,d7]@2 ~@2 [g4,b4,d7]@2 ~@2 [g4,b4,e5,d6] ~@3 d7 [g6,a6,b6,c#7,d7] [d6,e6,f#6] [g5,a5,b5,c#6], [b4,e5] ~@3 [e5,d6] ~@3 d7@2 [g4,b4,d5,d6]@5 ~", // G5 G Em7 G D A7 E5 E7 …
BR: "[[b4,d5,e5,f#5,g5] ~ [b4,d5,g5]@2 [d6,d7]@2 ~@2 d7@2 ~@2 d7@2 ~@2 [d6,d7]@2 ~@2 [d6,d7]@2 ~@2 d7@2 ~@2 d7@2 ~@2, [d6,d7] ~@2 [a4,d5,f#5]@12 ~, ~@8 d6 ~ d6@4 ~@10 d6 ~ d6@4 ~@2]/2", // Em7 G D
BS: "[b4,e5,d6,d7]@2 ~@2 [g4,b4,e5,d6,d7] ~@3 [g4,b4,e5,d6] ~ d6@2 [d6,d7]@2 ~@2, g4 ~@7 d7@2 [g4,b4,d5]@4 ~@2", // E7 Em7 D G
BT: "[[b4,d5,g5,d7] ~ [b4,d5,g5]@2 [d6,d7] ~@3 d7@2 d6 ~ [d6,d7]@2 ~@2 d6@2 ~@2 [d6,d7]@2 ~@2 [d6,d7]@2 e6@2 [d6,d7]@2 ~@2, d6 ~@2 [a4,d5,f#5]@12 ~, ~@8 d6 ~@7 d7 ~@15]/2", // G D
BU: "[g4,b4,d6,d7]@2 ~@2 [g4,b4,d7]@2 ~@2 [g4,b4,e5,d6] ~@3 d7 [g6,a6,b6,c#7,d7] [d6,e6,f#6] [f#5,g5,a5,b5,c#6], e5 ~@3 [e5,d6] ~@3 d7@2 [g4,b4,d5,d6]@5 ~", // G Em7 G D F#m E7 G
BV: "[g4,b4,d7] ~@3 [b4,d6,d7]@2 ~@2 [g4,b4,e5,d6] ~ d6 ~ [d6,d7]@2 ~@2, [e5,d6]@2 ~@2 [g4,e5] ~@3 d7@2 [g4,b4,d5]@4 ~@2", // G Bm Em7 D E7 C G
BW: "[[d4,a4,d5,e5,f#5] ~ [a4,d5,f#5] ~ b3@2 [d4,b4,d5,g5]@5 ~ [a3,b3,b4,d5,g5] ~ [a4,d5,f#5] d3@2 ~ [a4,d5,f#5]@10 ~@20, ~ a3 ~@7 d3@15]/3", // D G D
})).s("gm_piano").gain(0.4)
// chords · synth brass 2 · "SYNBRASS 2" · F C F C C5 C
const synth_brass_2 = note(`<
~@45
[~@14 [c5,f5,a5] ~]
[[c5,e5,g5]@2 ~@2 [c5,e5,g5] ~@3 [c5,e5,g5]@4 [c5,e5,g5] ~@3]
~@2
[~@14 [c5,f5,a5] ~]
[[c5,e5]@2 ~@2 [c5,g5] ~@3 [c5,e5,g5]@4 [c5,e5,g5] ~@3, g5 ~@3 e5@2 ~@10]
~@102
>`).s("gm_synth_brass_2").gain(0.5)
// chords · brass section · "BRASS 1"
const brass_section = note("<~@54 A ~ B ~ C D@3 E@2 ~ F@3 G@4 ~@78 H I@2>".pickRestart({
A: "~@5 b3 [d4,d5]@6 [b3,b4]@2 ~@2, ~@4 b4@2 c5 ~@9", B: "~@2 b4 [d4,d5]@3 b4 ~, ~@4 b3 ~@7 b3 ~@3",
C: "~@4 [b3,b4]@2 [d4,d5]@6 ~ b3 ~@2, ~@6 b4 ~", // B D
D: "[~@14 [g4,b4]@20 d5@2 d5 b4 [b4,d5] ~@2 d5@2 ~ [d4,d5,g5]@2 ~@2, ~@41 b4 ~@2 c5 ~@3]/3", // G Bm G5
E: "[~ [f4,a4]@25 [e4,g4]@2 ~@4]/2", F: "[~@15 [f4,a4]@22 ~ [e4,g4]@2 ~@3 a4@2 ~@3, ~@21 f4 ~@2]/3",
G: "[~ [f4,a4] ~@5 [g4,b4]@21 ~@2 [f4,a4]@28 ~ [e4,g4]@2 ~@3]/4", // F G F Em
H: "~@2 [d4,a4,d5]@2 ~@4 [d4,d5]@2 ~@5 [d4,a4,d5], ~@8 a4 ~@7", I: "[~@2 [d4,a4,d5]@27 ~@3, ~@2 c#5 ~@29]/2",
})).s("gm_brass_section").gain(0.4)
// chords · brass section · "BRASS 1"
const brass_section_2 = note(`<
~@5 A@2 B@2 C@2 D@2 ~@8 A@2 B@2 C@2 D@2 ~@8 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 E@6 F@3 G@2 H@4 I@4 J@4 K@2 ~@16 L@2 M@2
N@2 O@2 L@2 M@2 N@2 O@2 ~@16 L@2 M@2 N@2 O@2 L@2 M@2 N@2 O@2 L@2 M@2 N@2 O@2 P@3
>`.pickRestart({
A: "[[a3,c4,f4]@5 ~ [c4,d4,g4]@24 ~@2]/2", B: "[[g3,b3,d4]@5 ~ [f3,a3,c4]@24 ~@2]/2",
C: "[[a3,c4,f4]@5 ~ [c4,d4,g4]@25 ~]/2", D: "[[g3,b3,d4]@5 ~ [f3,a3,c4]@25 ~]/2",
E: "[[a3,c4,f4]@3 ~@3 [g3,c4,e4]@3 ~@3 [b3,d4,g4]@18 ~@2]/2", // F C G
F: "[[a3,d4,f4]@4 ~@2 [a3,c4,e4]@4 ~@2 [g3,d4,g4]@31 ~ [g3,d4,g4] ~@3]/3", G: "[[c4,f4,a4]@25 ~ [c4,e4,g4]@2 ~@4]/2",
H: "[[c4,e4,g4]@2 ~@4 [b3,d4,g4]@23 ~ [c4,f4,a4]@22 ~@2 [c4,e4,g4]@3 ~ [c4,f4,a4]@2 ~@4]/4", // C G F C F
I: "[[c4,f4,a4]@2 ~@4 [d4,g4,b4]@23 ~ [c4,f4,a4]@27 ~ [c4,e4,g4]@2 ~@4]/4", // F G F C
J: "[[c4,e4,g4]@2 ~@4 [b3,d4,g4]@21 ~@3 [a3,d4,f4]@15 ~ [a3,c4,f4]@17 ~, ~@30 b3 ~@33]/4", // C G Dm F
K: "[[b3,d4,g4]@13 ~ [c#4,e4,a4]@18]/2", L: "[[b3,d4,g4]@5 ~ [d4,e4,a4]@24 ~@2]/2",
M: "[[a3,c#4,e4]@5 ~ [g3,b3,d4]@24 ~@2]/2", N: "[[b3,d4,g4]@5 ~ [d4,e4,a4]@25 ~]/2",
O: "[[a3,c#4,e4]@5 ~ [g3,b3,d4]@25 ~]/2", P: "[[d4,f#4,a4]@5 ~ [d4,g4,b4]@7 ~ [d4,f#4,a4]@31 ~@3]/3",
})).s("gm_brass_section").gain(0.45)
// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@53 A@4 B@2 C@3 ~@91>".pickRestart({
A: "[~@2 g3@2 a3@2 c4@4 ~@2 c4@2 d4@4 g4@8 a4@2 b4@2 c5@4 b4 a4 g4@2 f4@2 [e4,e5]@2 f5@3 ~ [g4,c5]@16 b4@2, ~ f3@2 ~@7 d4@2 ~@52, ~@11 e4@2 ~@32 g5@2 ~@17]/4", // E C5
B: "[e5@4 e5@2 e5@4 ~@2 b4@2 [b4,d5]@4 a4 g4 e4@2 g4@4 a4@2 b4@2 c5@2, ~@5 d5 ~@10, ~@11 c5@2 ~@19]/2", // Bm
C: "[~@2 b4 a4 g4@2 ~ f4@6 ~@7 d5@20 ~@8, ~ c5@2 ~@10 a4@2 ~@33, ~@7 g4@13 ~@4]/3",
})).s("gm_overdriven_guitar").gain(0.5)
// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
~ A@4 B A C D E A F D ~ G ~@3 H@3 B A C D B A C D ~ G ~@3 H@3 B A C D B A F D I A C D I A J D K L M N O N P@2 Q R@2 S
T@3 U V@3 W@4 X@2 ~@9 Y ~@3 Z@3 AA AB AC AD AE AB AF AG AA AB AC AH AA AB AC AD AI AJ AK AL AI AJ AK AL AI AJ AK AL AM
AN AO AP AQ AB AR AD AQ AB AC AD AA AB AC AD AA AB AF AD AA AB AC AD AQ AB AC AD AS@3
>`.pickRestart({
A: "[c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~", // C5
B: "[c3,a3] ~ [c3,a3] ~ [c3,a3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~", // F C5
C: "[b2,g3] ~ [b2,g3] ~ [b2,g3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~", // Em F5
D: "[c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~", // F5
E: "a3 c3 [c3,a3] ~ [c3,a3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~", // F C5
F: "~ [b2,g3]!2 ~ [b2,g3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~", G: "~ [f3,g3,c4] ~@2 [f3,g3,c4] ~@3",
H: "[~@2 [f3,g3,c4]@2 ~@4 [f3,g3,c4]@2 ~@4 [d3,g3]@4 [d3,g3] ~ [d3,g3]@2 ~@2 [d3,g3] ~ [d3,g3] ~@3 [d3,g3]@4 [d3,g3] ~ [d3,g3]@2 ~@2 [d3,g3] ~ [d3,g3] ~@5]/3", // Fsus2 G5
I: "~ [c3,a3]!2 ~ [c3,a3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~", // F C5
J: "b2 g3 [b2,g3] ~ [b2,g3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~", // Em F5
K: "[c3,f3]@3 ~ [c3,f3] ~ [c3,g3] ~@3 [c3,g3] ~@2 [d3,g3]@3", // F5 C5 G5
L: "~@2 [d3,g3] ~ [d3,g3]@3 ~ [d3,g3] ~ [d3,g3] ~ [d3,g3]@2 ~@2", M: "[c3,f3]@5 ~ [c3,g3] ~@3 [c3,g3] ~ [d3,g3]@4",
N: "~@2 [d3,g3] ~ [d3,g3]@3 ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~@3", // G5
O: "[c3,f3]@3 ~ [c3,f3] ~ [c3,g3] ~@3 [c3,g3] ~ [d3,g3]@4", // F5 C5 G5
P: "[[a3,d4]@3 ~ [a3,d4] ~ [e3,a3]@3 ~ [e3,a3] ~@2 [d3,g3]@5 [d3,g3] ~ [d3,g3]@5 ~ [d3,g3] ~ [d3,g3]@4]/2", // D5 A5 G5
Q: "~@2 [d3,g3] ~ [d3,g3]@5 ~ [d3,g3] ~@2 [d3,g3]@3", R: "[~ [c3,f3]@25 [c3,g3]@2 ~@4]/2",
S: "[c3,g3] ~@5 [d3,g3]@10", T: "[~@2 c4@2 b3@2 g3@2 c4@2 b3@2 g3@2 ~ [c3,f3]@22 ~ [c3,g3]@2 ~@2 [c3,f3]@2 ~@4]/3",
U: "[c3,f3] ~@2 [d3,g3]@5", V: "[~@2 c4@2 b3@2 g3@2 c4@2 b3@2 g3@2 ~ f3@26 ~ [c3,g3]@2 ~@4, ~@7 c3@13 ~@4]/3",
W: "[~ c3 ~@4 [d3,g3]@12 c4@2 b3@2 g3@2 c4@2 b3@2 g3@2 [a2,d3]@14 ~@2 [c3,f3]@17 ~, f3 ~@31]/4", // G5 D5 F5
X: "[[d3,g3]@13 ~@2 e3@3 [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3]@2, ~@14 a3@3 ~@15]/2", // G5 A5
Y: "~ [g3,a3,d4] ~@2 [g3,a3,d4] ~@3", // Gsus2
Z: "[~@2 [g3,a3,d4]@2 ~@4 [g3,a3,d4] ~@5 [e3,a3]@4 [e3,a3] ~ [e3,a3]@3 ~ [e3,a3] ~ [e3,a3] ~@3 [e3,a3]@4 [e3,a3] ~ [e3,a3]@3 ~ [e3,a3] ~ [e3,a3] ~@5]/3", // Gsus2 A5
AA: "~ [d3,b3]!2 ~ [d3,b3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~", // G D5
AB: "[d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~", // D5
AC: "[c#3,a3] ~ [c#3,a3] ~ [c#3,a3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~", // F#m G5
AD: "[d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~", // G5
AE: "b3 d3 [d3,b3] ~ [d3,b3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~", // G D5
AF: "c#3 a3 [c#3,a3] ~ [c#3,a3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~", // F#m G5
AG: "[d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3]@2", // G5
AH: "g3 d3 [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [d3,g3] ~", // G5
AI: "~@2 d3@2 ~ f#3 [a3,d4]@2 [g3,c4]@2 ~@4 [g3,c4]@2, ~@2 f3 ~@5", // D5 C5
// … 102 more lines
More by Lionel Richie
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.