0:00/0:00
// Dancing on the Ceiling — Lionel Richie
// 132 bpm, 4/4, key G 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 165 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(132/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 · "pno"
const piano = note(`<
~@6 A@3 B C D E F G@4 H@3 I@8 F J K L M N O P Q@8 F R@2 S T U D E F V@2 W X Y@2 Z@2 AA@8 AB@3 AC@4 AD AE@8 AF@5 AG@3
AH@8 AI AJ@2 AK AL AM AN AO AI ~@12 AP@2 AQ AR@6 AS@2 AT@8 AU@8 AV AW AX ~@2 AY@8 ~@2
>`.pickRestart({
A: "[[a3,c4,d4,f4]@12 d4@52 [g3,a3,b3,d4]@4 [g3,a3,b3,d4]@8 [f3,g3,a3,c4]@12 [f3,a3,c4] ~@7, ~@3 [e4,g4]@16 ~@5]/3", // Dm7 G F Em
B: "[f2,f3,a3,d4] ~@3 [f2,f3,a3,c4] ~@3 [f2,f3,a3,d4] ~ [f2,f3,a3,d4] ~ [f2,f3,a3,c4] ~@3", // Dm F Dm F
C: "[c3,a3,c4,f4]@4 [c3,a3,c4,f4]@7 ~@2 [c4,d4]@12 [c3,c4,e4,c5]@2 ~@5, ~@3 g4@3 ~@2", // F Csus2 C
D: "~ [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@2 [d3,d4,d5]@2 ~@2 [c3,c4,e4,c5]@2 ~@5", // C D C
E: "~ [g2,g3,b3,d4]@4 [g2,g3,b3,d4]@7 ~ [f2,f3,a3,c4]@12 [f2,f3,a3,c4]@4 [f2,f3,a3,d4]@3", // G F Dm
F: "~ [f2,f3,a3,c4]@3 ~@5 [f2,f3,a3,c4]@3 ~@5 [f2,f3,a3,c4]@3 ~ [f2,f3,a3,d4]@3 ~ [f2,f3,a3,c4]@3 ~@4", // F Dm F
G: "[~ [g3,c4]@3 ~@9 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3]@3 ~@5 [a#2,f3,a#3]@3 ~ f2@3 ~ [f2,c3,f3]@3 ~ [g3,c4,f4]@3 ~@5 f2@3 ~ [g3,c4,f4]@3 ~@5 [g3,c4,f4]@3 ~@5 [c3,g3,c4]@3 ~ [c3,g3,c4]@3 ~@5 [a#2,f3,a#3]@3 ~@5 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3]@3 ~@5 [f2,c3,f3]@3 ~@13 [f2,c3,f3]@3 ~ [f2,c3,f3]@3 ~@8, ~ c2 ~@3 c2@123]/4", // C5 A#5 F5 Csus4 C5 A#5 F5
H: "[~ [c2,c3,g3]@4 [c3,g3,c4]@3 ~@5 [a#2,f3,a#3]@3 ~@5 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3]@3 ~ a#2@3 ~ f2@3 ~ [g3,c4,f4]@3 ~ [g3,c4,f4]@3 ~@5 [g3,c4,f4]@3 ~@5 [g3,c4,f4]@3 ~ [g3,c4,f4]@3 ~ [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@3, ~ c4@2 ~@2 c2@91]/3", // C5 A#5 Csus4 G5
I: "[~ [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 ~@8 d4 ~@3 [g3,d4]@3 ~ [a3,c4,d4,f4]@10 ~@2 [d4,e4,g4]@51 ~ [g3,a3,b3,d4]@4 [g3,a3,b3,d4]@7 ~ [f3,g3,a3,c4]@12 [f3,a3,c4] ~@7 [f2,f3,a3,d4]@2 ~@6 [f2,f3,a3,c4]@2 ~@6 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,c4]@2 ~@6 [c3,a3,c4,f4]@4 [c3,a3,c4,f4]@7 ~ [c4,d4,e4,g4]@12 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@2 [d3,d4,d5]@2 ~@2 [c3,c4,e4,c5]@2 ~@6 [g2,g3,b3,d4]@4 [g2,g3,b3,d4]@7 ~ [f2,f3,a3,c4]@12 [f2,f3,a3,c4]@4 [f2,f3,a3,d4]@3, ~@17 g6@2 d6 [a5,b5] g5 d5 [b4,c5] [g4,a4] [g3,e4,f4] d4 g4@5 ~@224, ~@17 d4@2 c6@237, ~@17 g3 f6@3 [g3,f5] e5@234, ~@9 e6@119]/8", // G5 Dm7 Em7 G F Dm F Dm …
J: "~ [c3,c4]@3 ~@9 [a#2,a#3]@5 ~@3 [a#2,f3,a#3] ~@3 [a#2,f3,a#3] ~@3 [a#2,f3,a#3] ~@2, ~ g3 ~@11 f3@3 ~@16", // C A# A#5
K: "~ [f2,c3,f3]@3 ~@5 [g3,c4,f4,c5]@2 ~@2 f2 ~@7 [g3,c4,f4,c5]@2 ~@2 f2 ~@6", // F5 Csus4
L: "~ [c3,g3,c4] ~@3 [c3,g3,c4] ~@7 [a#2,a#3]@3 ~@5 [a#2,f3,a#3] ~@3 [a#2,a#3]@3 ~@4, ~@13 f3@5 ~@7 f3@5 ~@2", // C5 A# A#5 A#
M: "~ [f2,c3,f3]@3 ~@5 [f2,c3]@5 ~@3 [f2,f3]@3 ~ [f2,c3] ~@3 [f2,f3]@3 ~@4, ~@9 f3@3 ~@5 c3 ~@3 g3@3 ~ c3 ~@6", // F5 F F5 F
N: "~ [c3,g3,c4] ~@3 [g3,c4]@3 ~@5 [a#2,f3,a#3]@5 ~@3 [a#2,f3,a#3] ~@3 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3]@3, ~@5 c3 ~@26", // C5 A#5
O: "~ [f2,c3,f3]@3 ~ f2 ~@3 [g3,c4,f4]@7 ~ f2 ~@3 [g3,c4,f4]@5 ~@6, ~@9 f2 ~@11 f2@3 ~@8", // F5 Csus4
P: "~ [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@3", // G5
Q: "[~ [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 ~@8 d4 ~@3 [g3,d4]@3 ~ [a3,c4,d4,f4]@11 ~ [d4,e4,g4]@51 ~ [g3,a3,b3,d4]@4 [g3,a3,b3,d4]@7 ~ [f3,g3,a3,c4]@12 [f3,a3,c4] ~@7 [f2,f3,a3,d4]@2 ~@6 [f2,f3,a3,c4]@2 ~@6 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,c4]@2 ~@6 [c3,a3,c4,f4]@4 [c3,a3,c4,f4]@6 ~@2 [c4,d4,e4,g4]@12 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@2 [d3,d4,d5]@2 ~@2 [c3,c4,e4,c5]@2 ~@6 [g2,g3,b3,d4]@4 [g2,g3,b3,d4]@7 ~ [f2,f3,a3,c4]@12 [f2,f3,a3,c4]@4 [f2,f3,a3,d4]@3, ~@17 g6@2 d6 [a5,b5] g5 d5 [b4,c5] [g4,a4] [g3,e4,f4] d4 g4@5 ~@224, ~@17 d4@2 c6@237, ~@17 g3 f6@3 [g3,f5] e5@234, ~@9 e6@119]/8", // G5 Dm7 Em7 G F Dm F Dm …
R: "[~ [a3,c4,d4,f4]@11 ~ [d4,e4,g4]@51]/2", S: "~ [g3,a3,b3,d4]@4 [g3,a3,b3,d4]@7 ~ [f3,g3,a3,c4]@12 [f3,a3,c4] ~@6",
T: "~ [f2,f3,a3,d4]@2 ~@6 [f2,f3,a3,c4]@2 ~@6 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,c4]@2 ~@5", // Dm F Dm F
U: "~ [c3,a3,c4,f4]@4 [c3,a3,c4,f4]@7 ~ [c4,d4,e4,g4]@12 [c3,c4,e4,c5]@2 ~@5", // F C
V: "[~ [f2,f3,a3,c4]@11 ~ [c3,g3,c4,e4]@11 ~ [g2,b3,d4]@12 [g2,b3,g4] ~@3 [g2,c4]@5 ~@3 [g2,b3]@5 ~@3 [g2,b3,d4,g4]@3 ~@4, ~@25 g4@9 ~@7 [e4,g4]@3 ~@5 [d4,g4]@3 ~@12]/2", // F C G C5 G Em G5
W: "~ [f3,a3,c4]@7 ~@5 [g3,c4,e4]@7 ~ [b3,d4,g4] ~@3 [g2,b3,d4,g4]@7, ~ f2@11 ~ c3@11 ~@8", // F C G
X: "~@5 [g2,b3,d4,g4] ~@3 [g2,c4,e4,g4] ~@3 [g2,c4,e4,g4] ~@3 [g2,b3,d4,g4]@3 ~@5 [g2,b3,d4,g4]@3 ~@4", // G C G
Y: "[~ [f2,a3,c4,f4] ~@3 [f2,a3,c4,f4]@5 ~@3 [c3,g3,c4,e4]@7 ~ g2 ~@3 [b3,d4,g4] ~@3 [b3,d4,g4]@8 g2 ~@3 [c4,e4,g4]@3 ~ g2 ~@3 [g2,b3,d4,g4]@3 ~@5 [g2,c4,e4,g4]@3 ~@4, ~@25 g2@9 ~@7 g2 ~@22]/2", // F C G C G C
Z: "[~ [a3,c4,f4]@7 ~@5 [d4,f4,a4]@7 ~@5 [b3,d4,g4]@13 ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@2, ~ d2@11 ~ a2@11 ~ g2@39]/2", // F Dm G
AA: "[~ [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4,b6,c7] a6 [f6,g6] ~ d6 b5 a5 f5 [b3,d4,g4,d5] c5 a4 g4 [e4,f4] d4 ~@2 [f2,c4,f4,a4]@28 [f2,c4,f4,a4]@4 ~@20 [c3,e4,g4,c5]@3 ~@9 g4@12 [g2,d4,g4]@12 [g3,g4] ~@7 [g3,g4] ~@7 [g3,g4] ~@7 [g3,g4] ~@3 [g3,g4] ~@7 [f2,f4,a4]@32 [f2,f4,a4,c5]@3 ~ [f2,f4,a4,c5]@11 ~@13 [f2,a3,c4,f4]@7 ~ [f2,f4,g4,c5]@11 ~ [g2,d4,g4,b4]@19, ~@17 g2@3 e6@137 c4@35 ~@13 [c3,e4,g4,c5]@19 ~@32, ~@21 c6@235, ~@23 g5@2 g2@2 b4@38 [f2,c4,f4,a4]@23 ~@9 [c3,e4,c5]@12 b4@12 g5@8 g5@8 g5@8 g5@4 g5@107, ~@25 e5@231]/8", // G Fsus2 G Fmaj7 F C G5 G …
AB: "[~@25 [g2,g3]@3 ~ [f2,c4]@24 ~@8 c4@4 c4@17 ~@3 [c2,e4,g4,c5]@11, ~@5 [c3,c4]@12 [c3,c4]@11 ~ f3@53 ~@14, ~@9 [b2,b3]@12 [b2,b3]@7 ~ a4@28 a4@25 ~@14, ~@13 [g2,g3]@12 ~@28 c5@29 ~@14, ~@53 [f2,a3,c4]@8 [f2,a3,f4]@21 ~@14]/3", // G F5 C B G F
AC: "[~ [e4,g4,c5]@11 ~ [g2,d4,g4]@12 g5@8 g5@8 g5@8 g5@4 g5@4 g4 ~@11 d3@4 d3@4 d3@4 d3@4 d3@4 d3@4 ~@4 f3@4 f3@4 f3@4 f3@4 f3@4 f3@4 f3@4 f3@3, ~ c2@127, ~@13 b4@115, ~@25 g4@2 ~@6 g4 ~@7 g4 ~@7 g4 ~@3 g4 ~@3 g5@71, ~@61 [d2,a3,c4,f4]@32 [f2,a3,c4,f4]@35]/4", // C G5 Dm7 F
AD: "~@5 g3@4 g3@4 g3@4 ~@8 [g2,b3,d4]@3 ~ [a2,c#4,e4,a4]@3, ~ [g2,b3,d4]@24 ~@7, ~ g4@20 g4@7 ~@4, ~@17 g3@11 ~@4", // G A G
AE: "[~@5 [a2,a3]@4 [a2,a3]@4 [a2,a3]@3 ~@13 [a2,a3]@4 [d1,d3]@6 ~@22 [d1,d3] ~@3 [d1,d3]@4 ~@8 [d1,d3]@3 ~@17 [d1,d3]@3 ~ [d1,d3]@3 ~@5 [d1,d3]@3 ~@13 [d1,d3] ~@3 [d1,d3]@4 ~@8 [d1,d3]@3 ~@17 [d1,d3]@6 ~@22 [d1,d3] ~@3 [d1,d3]@4 ~@8 [d1,d3]@3 ~@17 [d1,d3]@3 ~ [d1,d3]@3 ~@5 [d1,d3]@3 ~@13 [d1,d3] ~@2, ~@16 c7@4 e6@4 f5 [a2,a3,d5] [b4,c5] a4@6 ~@223, ~@17 b6@3 d6 c6@235, ~@17 [a2,a3]@2 f6@2 [a2,a3] [a5,b5] g5@233, ~@9 [g6,a6]@3 e5@116]/8", // A D D5 Cmaj7 A Asus2 Gsus2
AF: "[~ [d1,d3]@4 ~@8 [d1,d3]@3 ~ [b6,c7] a6 [f6,g6] ~ d6 b5 a5 f5 d5 c5 a4 g4 [e4,f4] d4 c4 ~ [a3,d4]@3 ~@9 [c3,g3,c4]@3 ~ [c3,g3,c4]@3 ~@5 [c3,g3,c4]@3 ~ g2@3 ~ [g2,d3,g3]@3 ~ [a3,d4,g4]@3 ~@5 g2@3 ~ [a3,d4,g4]@3 ~@5 [a3,d4,g4]@3 ~@5 [d3,a3,d4]@3 ~ [d3,a3,d4]@3 ~@5 [c3,g3,c4]@3 ~@5 [c3,g3,c4]@3 ~ [c3,g3,c4]@3 ~@5 [g2,d3,g3]@3 ~@13 [g2,a2,d3,g3,c4]@3 ~ [g2,a2,d3,g3,c4]@3 ~ [d3,g3,b3]@3 ~@4, ~@20 e6@7 b4@36 ~@97, ~@21 c6@12 d2 ~@3 d2@123, ~@23 g5@35 ~@102, ~@5 e5@7 ~@20]/5", // D Cmaj7 Fsus2 Fmaj7 D5 C5 G5 Dsus4 …
AG: "[~ [d2,d3,a3]@4 [d3,a3,d4]@3 ~@5 [c3,g3,c4]@3 ~@5 [c3,g3,c4]@3 ~ [c3,g3,c4]@3 ~ c3@3 ~ g2@3 ~ [a3,d4,g4]@3 ~ [a3,d4,g4]@3 ~@5 [a3,d4,g4]@3 ~@5 [a3,d4,g4]@3 ~ [a3,d4,g4]@3 ~ [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@3, ~ d4@2 ~@2 d2@91]/3", // D5 C5 Dsus4 A5
AH: "[~ [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 ~@8 e4 ~@3 e4@4 [b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@51 ~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@7 ~ [g3,a3,b3,d4]@12 [g3,b3,d4] ~@7 [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@6 [d3,b3,d4,g4]@4 [d3,b3,d4,g4]@6 ~@2 [d4,e4,f#4,a4]@12 [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d3,d4,f#4,d5]@2 ~@6 [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@6 ~@2 [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3, ~@17 a6@2 e6 [b5,c#6] a5 e5 [c#5,d5] [a4,b4] [a3,f#4,g4] e4 a4@2 a3@15 ~@212, ~@17 e4@2 d6@237, ~@17 a3 g6@3 [a3,g5] f#5@234, ~@9 f#6@119]/8", // A5 Em7 F#m7 A G Em G Em …
AI: "~ [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~ [g2,g3,b3,e4]@3 ~ [g2,g3,b3,d4]@3 ~@4", // G Em G
AJ: "[~ [b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@51]/2", // Em7 F#m7
AK: "~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@8 [g3,a3,b3,d4]@12 [g3,b3,d4] ~@6", // A G
AL: "~ [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@5", // Em G Em G
AM: "~ [d3,b3,d4,g4]@4 [d3,b3,d4,g4]@8 [d4,e4,f#4,a4]@12 [d3,d4,f#4,d5]@2 ~@5", // G D
AN: "~ [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d3,d4,f#4,d5]@2 ~@5", // D E D
AO: "~ [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@8 [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3", // A G Em
AP: "[~ [d3,b3,d4,g4]@4 [d3,b3,d4,g4]@8 [d3,a3,d4,f#4]@32 ~@4 [b3,d4,g4]@4 [b3,d4,g4]@4 [d3,a3,d4,f#4]@7, ~@49 d3@8 ~@7]/2", // G D G D
AQ: "~ [a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@8 [g2,d3,g3,b3]@12 [g2,d3,g3,b3]@7", // A G
AR: "[~ g2@4 g2@4 g2@4 g2@3 g2 ~@12 c6@2 ~@2 [b3,d4,e4,g4]@10 ~@2 [f#4,a4]@51 ~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@6 ~@2 [g3,a3,b3,d4]@12 [g3,b3,d4] ~@7 [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@6 [d3,b3,d4,g4]@4 [b3,d4,g4]@8 [d4,e4,f#4,a4]@12 [d4,f#4,d5]@2 ~@5, ~ [d3,g3,b3]@8 [d3,g3,b3]@7 a2@3 g3 [a3,b3,c4] [g2,d4,e4] f4 [g4,a4,b4] d5 d3@136 ~@4 d3@20 d3@7, ~@17 [b2,c3]@8 [g2,g3,b3,e5] f5 a5@165, ~@17 d3@2 f3@8 g5 b5@3 ~@161, ~@17 [g2,g3,b3] e3@13 ~@161]/6", // Em7 F#m A G Em G Em G …
AS: "[~ [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d4,f#4,d5]@2 ~@6 [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@6 ~@2 [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3, ~ d3@8 d3@8 d3@8 d3@39]/2", // D E D A G Em
AT: "[~ [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~@6 [c#7,d7] [g6,a6,b6] e6 ~ b5 ~@4 b4 ~ g4 f#4 e4@2 [b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@51 ~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@7 ~ [g3,a3,b3,d4]@12 [g3,b3,d4] ~@7 [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@6 [d3,b3,d4,g4]@4 [b3,d4,g4]@8 [d4,e4,f#4,a4]@12 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d4,f#4,d5]@2 ~@6 [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@7 ~ [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3, ~@17 [g2,g3,b3,d4]@3 f#6@4 g5 [g2,g3,b3,d4,e5] d5 c#5 a4@2 ~@135 d3@20 d3@8 d3@8 d3@8 d3@8 d3@39, ~@21 d6@235, ~@21 [g2,g3,b3,e4,c#6]@2 a5@233, ~@3 f#5@29]/8", // G Dmaj7 G Em7 F#m7 A G Em …
AU: "[~ [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~@6 [c#7,d7] [g6,a6,b6] e6 ~ b5 ~@4 b4 ~ g4 f#4 e4@2 [b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@51 ~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@7 ~ [g3,a3,b3,d4]@12 [g3,b3,d4] ~@7 [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@6 [d3,b3,d4,g4]@4 [b3,d4,g4]@7 ~ [d4,e4,f#4,a4]@12 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d4,f#4,d5]@2 ~@6 [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@7 ~ [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3, ~@17 [g2,g3,b3,d4]@3 f#6@4 g5 [g2,g3,b3,d4,e5] d5 c#5 a4@2 ~@135 d3@20 d3@8 d3@8 d3@8 d3@8 d3@39, ~@21 d6@235, ~@21 [g2,g3,b3,e4,c#6]@2 a5@233, ~@3 f#5@29]/8", // G Dmaj7 G Em7 F#m7 A G Em …
AV: "~ [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~ g1@4 g2@4 g1@2 ~", AW: "~ g1@28 g1@3",
AX: "~ g1@26 ~@5",
AY: "[~ [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4,c7] b6 [g6,a6] f6 e6 c6 b5 g5 [b3,d4,g4,e5,f5] d5 [b4,c5] a4 [f4,g4] e4 d4 ~@2 [f#3,a3,d4,b4] ~@221, ~@17 g2@3 ~ d6@235, ~@23 a5@107 ~@126, ~@25 g2@3 ~@6 d2@222]/8", // G Gsus2 Em7 Cmaj7 Fsus2 Bm7
})).s("gm_piano").gain(0.8).pan(0.6)
// bass · electric bass finger · "bass"
const bass = note(`<
~@6 A@2 B C A@2 B C D C D C D C E F A@2 B C A@2 B C G H G H G H I J A@2 B C A@2 B C A@2 B C A@2 B C K@6 L@3 M@2 N O@3
P Q@3 N R@3 S@2 T U V U T U V U W E W E W E X Y Z@2 AA E Z@2 AA E Z@2 AA E Z@2 AA E ~@5 AB@2 AC AD AE AD AF AG AH AI E
AJ AK AL AM Z AN AO AP AJ AK AL AM Z AN AO AP AJ AK AL AM Z AN AQ@2 ~@4 AR AS ~@8
>`.pickRestart({
A: "~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3",
B: "~ b1@3 ~ b1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3",
C: "~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3",
D: "~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ a#1@3 ~ a#1@3 ~ a#1@3 ~ a#1@3",
E: "~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3",
F: "~ g1@3 ~ g2@3 ~ g1@3 ~ g1@3 ~ g2@3 ~ g1@3 ~ g1@3 ~ g1@3",
G: "~ c2@2 ~@2 c2@2 ~@2 c2@2 ~@2 c2@2 ~@2 a#1@2 ~@2 a#1@2 ~@2 a#1@2 ~@2 a#1@2 ~",
H: "~ f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~",
I: "~ g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~",
J: "~ g1@2 ~@2 g2@2 ~@2 g1@2 ~@2 g1@2 ~@2 g2@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~",
K: "[~ f1@11 ~ c2@9 ~@3 g1@13 ~@3 g1@5 ~@3 g1@5 ~@3 g1@5 ~@2]/2",
L: "[~ d1@11 ~ a1@9 ~@3 g1@41 ~@3 g1 ~@3 g1 ~@3 g1 ~@3 g1@3 ~@5 g1@3 ~@4]/3", M: "[~ f1@49 ~@3 c2@3 ~@8]/2",
N: "~ c2@11 ~ g1@19", O: "[~@5 c2@3 ~ b1@3 ~ g1@3 ~ c2@3 ~ b1@3 ~ g1@3 ~ f1@43 ~@5 c2@9 ~@3 f1@5 ~@2]/3",
P: "~ f1@11 ~ g1@19", Q: "[~@5 c2@3 ~ b1@3 ~ g1@3 ~ c2@3 ~ b1@3 ~ g1@3 ~ f1@53 ~@3 c2@3 ~@8]/3",
R: "[~@5 c2@3 ~ b1@3 ~ g1@3 ~ c2@3 ~ b1@3 ~ g1@3 ~ d1@27 ~@5 f1@29 ~@6]/3",
S: "[~ g1@7 ~@5 g1@7 ~ g1@3 ~ g1@3 ~ a1@7 ~ a1 ~@3 a1 ~@3 a1 ~@3 a1 ~@3 a1 ~@3 a1@3 ~ a1 ~@2]/2",
T: "~ d1@6 ~@22 d1 ~@2", U: "~ d1@4 ~@8 d1@3 ~@16", V: "~ d1@3 ~ d1@3 ~@5 d1@3 ~@13 d1 ~@2",
W: "~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3",
X: "~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3",
Y: "~ a1@3 ~ a2@3 ~ a1@3 ~ a1@3 ~ a2@3 ~ a1@3 ~ a1@3 ~ a1@3",
Z: "~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3",
AA: "~ c#2@3 ~ c#2@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3", AB: "[~@5 c3@2 ~@6 c3@2 ~@6 c3@4 d3@28 ~@8 d2@3]/2",
AC: "~@5 d2@4 c2@4 ~@4 b1@7 ~ a1@7", AD: "~ d1@4 ~@4 f#1@4 a1@4 c2@4 ~@11",
AE: "~@5 c3@2 ~@2 c2@2 ~@6 c3@2 ~@2 c2@2 ~@2 c3@4 d3@3", AF: "~@5 c3@3 ~ d2@2 ~@6 c3@3 ~ d3@2 ~@2 g2@3 ~ a2@2 ~",
AG: "~ d1@4 ~@4 d1@2 ~@2 d1@2 ~@2 d1@6 ~@2 d1@4 ~@3", AH: "~@5 d3@4 d2@4 ~@4 d1@2 ~@2 d1@2 ~@2 d1@4 d2@3",
AI: "~ c#2@3 ~ b1@3 ~ a1@3 ~ g1@7 ~ g1@3 ~ g1@3 ~ g1@3",
AJ: "~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d3@3 ~ d2@3 ~ d2@3",
AK: "~ d3@3 ~ d3@3 ~ d2@3 ~ d2@3 ~ d3@3 ~ d2@3 ~ d2@3 ~ d3@3",
AL: "~ c#2@3 ~ b1@3 ~ a1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3",
AM: "~ g2@3 ~ g1@3 ~ g1@3 ~ g2@3 ~ g1@3 ~ g1@3 ~ g2@3 ~ g2@3",
AN: "~ d2@3 ~ d3@3 ~ d2@3 ~ d2@3 ~ d3@3 ~ a2@3 ~ d2@3 ~ d2@3",
AO: "~ c#2@3 ~ d2@3 ~ e2@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3",
AP: "~ g1@3 ~ g1@3 ~ g2@3 ~ g1@3 ~ g2@3 ~ g1@3 ~ g1@3 ~ g2@3", AQ: "[~ c#2@3 ~ d2@3 ~ e2@3 ~ g1@39 ~@12]/2",
AR: "~@5 a1 ~@3 a1 ~@3 a1 ~@3 a1@3 ~@5 a1@3 ~@4", AS: "~ e1@3 ~@28",
})).s("gm_electric_bass_finger").gain(0.8)
// chords · synth brass 1 · "syn2"
const synth_brass_1 = note(`<
~@6 A@2 B@2 A@2 B@2 ~@8 A@2 B@2 A@2 B@2 ~@8 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@41 C@2 D@2 C@2 D@2 C@2 D@2 C@2 D@2 ~@16
C@2 D@2 C@2 D@2 ~@30
>`.pickRestart({
A: "[[a3,c4,d4,f4]@11 ~ [d4,e4,g4]@49 ~@3]/2", B: "[[g3,a3,b3,d4]@11 ~ [f3,g3,a3,c4]@49 ~@3]/2",
C: "[[b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@49 ~@3]/2", D: "[[a3,b3,c#4,e4]@11 ~ [g3,a3,b3,d4]@49 ~@3]/2",
})).s("gm_synth_brass_1").gain(0.6).pan(0.2)
// chords · synth bass 1 · "syn3"
const synth_bass_1 = note(`<
~@2 A@12 B ~@7 A@8 B ~@7 A@8 C D@7 E@8 ~@17 F@7 G@8 ~ H@8 F@7 G@8 ~@9 H@16 F@7 I@5 ~@10
>`.pickRestart({
A: "e5 d5 g4 c6 g5 d5 e5 d5 e5 d5 g4 c6 g5 d5 e5 d5", B: "e5 ~@15",
C: "e5 ~ d5@2 g4@2 c6@2 g5@2 d5@2 ~@2 d5@2 ~@2 d5@2 g4@2 c6@2 g5@2 d5@2 ~@2 d5@2, ~@3 e5 e5@3 e5",
D: "~ d5 g4 c6 g5 d5 ~ d5 ~ d5 g4 c6 g5 d5 ~ d5, e5@3 e5 e5@3 e5", E: "e5/8",
F: "[f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 e5, ~ e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 ~]/7",
G: "[f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~@111, ~ e5@4 e5@2 e5@2 e5@4 e5@2 e5@113]/8",
H: "[f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 e5, ~ e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 ~]/8",
I: "[f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#4 e4 a3 d5 a4 e4 f#4 e4 f#4 e4 a3 d5 a4 e4 f#4 e4 f#4 e4 a3 d5 a4 e4 f#4 e4 f#4 e4 a3 d5 a4 e4 f#4 e4 f#3 e3 a2 d4 a3 e3 f#3 e3 f#3 e3 a2 d4 a3 e3 f#3 e3 f#3 e3 a2 d4 a3 e3 f#3 e3 f#3 e3 a2 d4 a3 e3 f#3 e3, ~ e5@4 e5@2 e5@2 e5@4 e5@2 e5@65]/5",
})).s("gm_synth_bass_1").gain(0.4).pan(0.2)
// chords · distortion guitar · "gtr1"
const distortion_guitar = note(`<
~@2 A B C D B@2 E F B@2 E F G F G F G F H I B@2 E F B@2 E F G F G F G F H I B@2 E F B@2 E F B@2 E F B@2 E F J@2 K@2 L
M N@2 O P@2 Q@4 R@4 S@2 T U V W X Y Z Y X Y Z Y AA AB AA AB AA AB AC AD AE@2 AF AB AE@2 AF AB AE@2 AF AB AE@2 AF AG AH
AI AJ AK AL AM AL AN AO AP AQ AR AS@4 AT@2 AU@2 AV@2 AW AX AY@2 AZ BA BB@2 BC@2 BD@2 BE@2 BF@2 BG@6 BH BI ~@8
>`.pickRestart({
A: "[c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3", // C5
B: "[c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~", // C5
C: "[c3,g3]@2 ~@2 [c3,g3]@2 ~@2 [c3,g3]@2 ~@2 [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~", // C5
D: "[c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@4", // C5
E: "[b2,d3] ~ [b2,d3] ~ [b2,d3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~", // Bm F5
F: "[f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~", // F5
G: "[c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [a#2,f3] ~ [a#2,f3] ~ [a#2,f3] ~ [f2,c3] ~ [f2,c3] ~", // C5 A#5 F5
H: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3]@2 d3@2 [g2,d3]@2 [g2,d3]@2, ~@10 g2 ~@5", I: "[g2,d3]!8",
J: "[[f2,c3]@4 [g2,d3]@2 [g2,c3,g3]@4 [g2,d3] ~ [g2,d3,g3]@6 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3]@2 [g2,d3]@2, ~@22 g3 ~@5 g3 ~ g3 ~]/2", // F5 G5 C5 G5
K: "[[f2,c3]@4 [g2,d3]@2 [c3,g3]@2 ~@2 [g2,d3] ~ [g2,d3]@6 g2@2 [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3,g3]@4, ~@6 g2@4 ~@8 d3 ~@13]/2", // F5 G5 C5 G5
L: "[f2,c3]@4 [g2,d3]@2 [c3,g3]@2 ~@2 g2 ~ [g2,d3]@4", // F5 G5 C5 G5
M: "~@2 [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", // G5
N: "[[d2,a2,d3,a3]@8 ~@4 [f2,c3,f3]@8 ~@4 [g2,d3]@12 [g2,d3] ~@3 [g2,d3] ~@3 [g2,d3] ~@3 [g2,d3] ~@3 [g2,d3]@2 ~@2 [g2,d3]@2 ~@2 [g2,d3]@2 ~@2]/2", // D5 F5 G5
O: "[g2,d3]@2 ~@2 [g2,d3]@3 ~ [g2,d3]@3 ~ [g2,d3]@3 ~ [g2,d3]@3 ~ [g2,d3]@4 [g2,d3]@8", // G5
P: "[[f2,c3,f3]@13 [c3,g3,c4] ~@2]/2", // F5 C5
Q: "[[c3,g3,c4]@3 [g2,d3,g3]@11 ~ [f2,c3,f3]@11 ~ [c3,g3,c4]@3 [f2,c3,f3] ~]/4", // C5 G5 F5 C5 F5
R: "[[f2,c3,f3]@3 [g2,d3,g3]@6 c3 b2 g2 c3 b2 g2 [f2,c3,f3]@13 ~ [c3,g3,c4] ~@2]/4", // F5 G5 F5 C5
S: "[[c3,g3,c4]@3 [g2,d3,g3]@12 [d3,a3,d4]]/2", // C5 G5 D5
T: "~@2 [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [f3,c4,f4]@2", // D5 F5
U: "~@2 [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~", // F5
V: "[g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3] ~ [g2,d3,g3] ~ [g2,d3,g3] ~ [g2,d3,g3] ~ [a2,e3,a3]@2", // G5 A5
W: "~@2 [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3] ~ [e3,a3]@2 [e3,a3]@2, ~@3 a2", // A5
X: "d1@4 ~@10 d1 ~", Y: "d1@2 ~ d1 ~@4", Z: "d1@2 d1@2 ~@2 d1@2 ~@6 d1 ~",
AA: "[d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [g2,d3] ~ [g2,d3] ~", // D5 C5 G5
AB: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", // G5
AC: "[a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3]@2 e3@2 [a2,e3]@2 [a2,e3]@2, ~@10 a2 ~@5", AD: "[a2,e3]!8",
AE: "[d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~", // D5
AF: "[c#3,e3] ~ [c#3,e3] ~ [c#3,e3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", // C#m G5
AG: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3,g3]@2 [d3,g3]@2", // G5
AH: "d3!2 f#3 [g3,c4]@2 ~@2 d3, ~@14 g3 ~", AI: "~@4 [d3,a3]@4 ~@4 d3@4 [d3,a3,d4]@7 ~@5 [d3,a3]@4",
AJ: "d3!2 f#3 [g3,c4]@2 ~@2 [d3,a3,d4]", AK: "~@2 [d3,a3] ~@2 d3 ~ [d3,a3], ~@10 a3 ~@5",
AL: "d3!2 f#3 [g3,c4]@2 ~@3", AM: "~ [d3,a3] ~@2 [d3,a3]@3 [d3,a3]", AN: "~ [d3,c4] ~@2 [d3,g3,c4] ~@3, ~@2 g3 ~@13",
AO: "d3!2 f#3 [g3,c4]@2 ~@2 [d3,g3]", AP: "~ [d3,a3] ~ d3 [d3,a3]@3 [d3,a3]",
AQ: "d3@2 d3@2 f#3@2 [g3,c4]@4 ~@4 [d3,g3] ~", AR: "[d3,g3] ~ [d3,c4]@2 ~@4 [a3,d4]@4 [a3,d4]@4, ~@2 g3 ~@13",
AS: "[d3 ~@2 [a3,d4]@8 [b3,d4,g4] ~@2 [a3,d4,f#4] ~ [a2,e3,c#4]@3 [d3,g3]@5 d3 [g2,d3] [g2,d3,g3]!6, ~@4 d3@36 ~@4 d3 ~@11 d3@20 g2@24 ~@28, ~@16 a3@2 ~ b3@7 ~@6, ~@12 g3 ~@3]/4", // D5 G D A G5
AT: "[[d3,a3,d4,g4]@3 [d3,a3,d4,f#4]@6 [a3,d4]@3 [d3,a3] ~ [d3,a3,d4] ~, ~@9 d3 ~@2 d4@2 ~@2]/2", // Dsus4 D D5
AU: "[[a2,e3,a3]@4 [a2,e3,a3] ~ [d3,g3]@4 g3@2 [g2,d3,g3]@6 [g2,d3,g3]@2 [g2,g3]@2 [d3,g3]@2 [g2,d3,g3,c4]@2 ~@2 [g2,d3,g3,b3]@2 ~@2, ~@6 g2@6 ~@10 g2 ~@9, ~@10 d3 ~@9 d3 ~@11]/2", // A5 G5 G G5 Gsus4 G
AV: "[[a3,d4,g4]@3 [a3,d4]@3 [d3,a3,d4]@3 [a3,d4]@3 [d3,a3,d4,f#4] ~ [a3,d4,f#4] ~, ~@3 f#4@5 ~ [d3,f#4] ~@6]/2", // Dsus4 D5 D
AW: "[a2,a3,c#4]@2 [a2,c#4] [g2,d3,g3,b3]@2 [g3,b3] [g2,d3,g3,b3]@2, e3@2 ~@2 [e3,a3] ~@5 [g2,d3] ~@5", // A G A5 G5
AX: "~ [a2,e3,a3,c4] [g2,d3,g3,b3] ~ [a2,e3,a3,c4] ~ [g2,d3,b3] ~", // Am G Am G
AY: "[[d3,a3,d4,g4]@6 [a3,d4,f#4]@4 [d4,f#4] ~ [a3,d4,f#4]@6 d3@2 [a3,d4,f#4]@2 d3@2 [a3,d4,f#4]@2 ~@2 [a3,d4,f#4]@2 ~@2, ~@3 d3@5 ~@8]/2", // Dsus4 D
AZ: "[a2,e3,a3,c#4]@2 [e3,a3,c#4] b3@2 g2 [d3,g3,b3]@2, ~@3 [d3,g3]@3 ~@2, ~@3 g2 ~@4", // A G G5
BA: "~ [a3,c4,e4] [g3,b3,d4] g2 [a3,c4,e4] g2 [g3,b3,d4] g2", // Am G Am G
BB: "[[a3,d4,g4]@6 ~@12 [a3,d4] ~ [a3,d4,f#4]@2 d3@2 [a3,f#4]@2 d3@2 [a3,f#4]@2 d3@2, ~@3 [a3,d4,f#4]@6 ~@3 d4@2 d4@2, ~@4 d3 ~@3]/2", // Dsus4 D5 D
BC: "[[e3,a3]@2 a3 [d3,g3]@2 g3 [d3,g3]@3 [g3,c4,e4] [d3,g3,b3,d4] ~ [d3,g3,c4,e4] ~ [d3,b3,d4] ~, ~@4 e3 ~ e3 ~@3 d3 ~@7 d3 ~@9 g3@4]/2", // A5 G5 C G C G
BD: "[[d3,a3,d4,g4]@6 [d3,a3,d4,f#4]@4 [a3,f#4] ~ [d3,a3,d4,f#4]@6 [d3,a3,d4,f#4]@2 ~@2 [d3,a3,f#4] ~ [d3,b3,d4,g4]@2 ~@2 [d3,a3,d4,f#4]@2 ~@2, ~@5 d3 ~@5 d4 ~@4]/2", // Dsus4 D G D
BE: "[[a2,e3,a3]@4 [e3,a3] ~ [g2,d3,g3]@4 [g2,d3]@2 [g2,d3]@4 ~@2 a2@2 g2@2 ~@2 [d3,g3,c4,e4]@2 ~@2 [d3,g3,b3,d4]@2 ~@2, ~@4 a2@2 ~@4 g3 ~ g3@6 ~@14]/2", // A5 G5 C G
BF: "[[a2,g3,g4]@3 [a2,d3,a3]@3 [a2,a3]@3 [d3,a3]@2 a2 [d3,a3,d4,f#4] ~ [d3,a3,d4,f#4] ~, d4@8 ~ [d4,f#4] ~@6, d3@2 ~ f#4@6 ~@7, ~@3 d3 ~@4]/2", // A7 D5 A D5 D
BG: "[[a2,e3,a3,c#4]@3 ~@7 d4@38, ~@3 [g2,d3]@38 ~@7, ~@3 [g3,b3]@13 ~@32]/6", // A G5 G
BH: "~ [g2,d3,g3] ~@2 [g2,d3,g3] ~ [a2,e3,a3] ~", BI: "[d3,a3,d4,f#4] ~@3",
})).s("gm_distortion_guitar").gain(0.6).pan(0.3)
// chords · distortion guitar · "lgtr"
const distortion_guitar_2 = note(`<
~@6 A@2 B@2 A@2 B@2 ~ C ~@3 C D@2 E@2 F@2 G@2 H@2 ~ I ~ J@2 K L M N O P@2 Q@2 R@2 S@2 T@2 U@2 V@2 W X@8 Y@2 Z AA@3 AB
AC@3 AD@2 AE AF AG@2 ~@3 AH AI ~@4 AJ ~ AK ~ AL AM AN AO@2 AP AQ AR@2 AS AT AU@2 AV AW AX@2 AY@2 AZ BA BB BC BD BE BF
BG BH@2 BI BJ BK BL BM BN BO BP BQ BR BS@2 BT@2 BU@2 BV@2 BW@2 BX@2 BY@2 BZ@2 CA@2 CB@5 CC CD CE ~@8
>`.pickRestart({
A: "[[a3,c4,f4]@12 [d4,e4,g4]@51 ~, ~@3 c4@3 ~@10]/2", B: "[[g3,b3,d4]@12 [f3,a3,c4]@51 ~]/2",
C: "~@2 [f3,g3,c4,f4]@3 ~@3 [f3,g3,c4,f4]@3 ~@5", // Fsus2
D: "[[g2,d3] g2 g2@3 [g2,d3]!2 [g2,d3]@2 [g3,c4,d4,g4,c5]@2 ~ [g3,c4,d4,g4,c5] ~ [g3,c4,d4,g4,c5] ~, ~@2 d3 ~ g3@14 ~@14, ~ d3 ~@6]/2", // G5 Gsus4
E: "[[f3,a3,d4,f4]@3 [c4,e4,g4]@10 ~ [c4,e4] ~, ~@12 [g3,d4]@43 ~ g4@2 ~@6]/2", // Dm C G5
F: "[[g2,d3,g3,b3,d4] [g2,d3,g3,b3,d4]@2 [f2,c3,f3,a3,c4]@10 [f3,a3,c4] ~@2]/2", // G F
// … 152 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.