0:00/0:00
// Live To Tell — Madonna
// 110.5 bpm, 4/4, key D minor. Source: mcgill + 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 166 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110.5/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 · "Elec. Piano"
const piano = note(`<
A@8 B C D@2 E@2 F@2 G@2 H@4 I@2 J K L@2 M N O@2 P Q R@2 S T U@2 V W X Y Z AA AB AC AD AE@2 AF@2 AG@2 AH@2 AI AJ AK AL
AM AN AO AP AQ AR AS@2 AT AU AV AW AX@2 AY AZ BA BB BC BD BE BF@2 BG W BH BI BJ BK@2 BL BM BN@7 BO@8 BP BQ@2 BR@2 BS
BT BU BV BW BX BY BZ@2 CA CB CC@2 CD@4 CE CF@2 CG CH CI@2 CJ CK CL CM CN CO@2 CP CQ CR CS CT@2 CU@2 CV@2 CW@6 CX@6
>`.pickRestart({
A: "[~ d3@65 ~@33 g4@14 [d4,g4]@48 ~@31, d2@33 [d2,d3]@53 ~@10, ~@33 a3@46 ~@17, ~@22 d4@11 c5@16 ~@15, ~@85 [a4,e5]@48 ~@59]/8", // G5 D A5
B: "~ [a4,e5], [d2,d3]", C: "[d2,d3,g4,c5]@12 [d2,d3,d4,g4]@11 ~",
D: "[[a2,f3,c4]@8 ~ [f3,bb3,d4]@8 ~@4 [c3,g3,c4,f4]@10 ~@2 [bb3,d4,f4]@6 ~@3 [c3,c4]@3 d4@3, a3@6 ~@3 bb2@12 ~@12 [bb2,f3]@8 ~@4 d3 ~@2]/2", // F Bb Csus4 Bb C Bb5
E: "[d3 [d3,a4,e5] [d3,g4,c5] [d3,d4,g4], d2]/2", // Dsus2 Csus2 G5
F: "[[a2,f3,a3,c4]@8 ~ [bb2,f3,bb3,d4]@12 [c3,g3,c4,f4]@12 [bb2,f3,bb3,f4]@8 ~@4 [d3,d4]@3, ~@33 d4@6 ~@3 [c3,c4]@5 ~]/2", // F Bb Csus4 Bb5 D C
G: "[d3@11 ~ [a4,e5]@12 [g4,c5]@12 [d2,d4,g4]@12, d2@3 ~, ~@4 d3@3 ~ d3@8]/2", // A5 C5 G5
H: "[[a2,f3,a3,c4]@8 ~ [f3,bb3,d4]@9 ~@3 [c3,g3,c4,f4]@11 ~ [bb2,f3,bb3,d4,f4]@9 [c3,c4]@2 ~ d3 ~@2 d3@9 ~@3 [d2,a4,e5]@12 [d2,g4,c5]@12 [d2,d4,g4]@11 ~, ~@3 bb2@4 ~@8 d4@5 ~@12, ~@4 d2 ~@3, ~@19 d3@13]/4", // F Bb Csus4 Bb C Dsus2 Csus2 G5
I: "[[a2,f3,a3,c4]@8 ~ [bb2,f3,bb3,d4]@12 [c3,g3,c4,f4]@15 ~@6 [d2,d3,d4,f4]@2 ~@4, ~@42 a4 ~@5]/2", // F Bb Csus4 Dm
J: "c2@9 ~@3 c3@5 ~ [f3,a3,c4]@4 ~@2, [c4,e4,g4]@17 ~@7, c3 ~, ~@9 c2@8 ~ f2@6", // F C
K: "~@12 g3@3 g2@3 [a3,c4,f4]@4 ~@2, d4@2 ~, ~@3 g2@2 ~@3", // F
L: "[~@21 c3 ~@14 c3@5 ~ [d2,d3,a3,d4,f4]@5 ~, [g3,c4,e4]@23 ~ [c4,e4]@17 ~@7, c3@5 ~ c3@3 ~@3, ~@9 c2@24 c2@8 ~@7]/2", // Dm C
M: "[c2,c3]@9 c3@9 [f2,f3,a3,c4]@5 ~, [g3,c4,e4]@3 ~", N: "g2@8 ~ g2@5 ~ g2@2 ~ [f2,a3,c4]@5 ~, [g3,bb3,d4]@5 ~ f4 ~",
O: "[~@11 c3@3 [d2,d3,d4,f4] ~, [g3,c4,e4]@23 ~ [c4,e4]@18 g3@5 ~, c3@5 ~@7, ~@3 c2@11 ~@2]/2", // Dm C
P: "c2@9 ~@9 [f2,a3,c4]@5 ~, g3@5 ~, [c4,e4]@5 ~@3, c3@8 ~ c3@11 ~@4", Q: "[g3,bb3]@16 ~@2 [f2,a3,c4]@5 ~, g2@3 ~",
R: "[~@9 c2@13 ~@11 c3@8 ~ [d2,d3,a3,d4,f4]@4 ~@2, [g3,c4,e4]@41 ~@7, c3@2 ~, ~@24 c2@17 ~@7]/2", // Dm C
S: "c3@3 ~@2 g3 [f2,f3,a3,c4]@2, [c2,c4,e4]@3 ~, g3@5 ~@3, ~@3 c3@3 ~@2", // F C
T: "[g2,g3,bb3,d4]@3 [f2,a3,c4], ~@9 f4@2 ~", // Gm F
U: "[~@4 c4@3 ~, g3@7 ~, [c4,e4]@11 ~@13, c3@19 ~@2 c3@22 ~@5, ~@3 c2@11 ~@2]/2", V: "[f2,g3,bb3,d4,f4]",
W: "f2@3 f2@4 f2, [f3,a3,c4]", X: "f2@5 f2@2 g2, [g3,bb3,d4,f4]@7 ~", Y: "[a2,a3,c4,e4,g4]@3 [bb2,bb3,d4,f4]@5",
Z: "[g3,bb3,d4,f4]@11 ~, f2@3 ~@5", AA: "[c3,f3,a3,c4]@11 ~ [d4,f4,a4]@11 ~",
AB: "[d3,a3,f4,a4,d5]@12 [e3,c4,e4,g4,c5]@11 ~", AC: "[d3,a3,d4,f4,a4,c5]@11 ~ [c3,g3,c4,e4,g4]@11 ~",
AD: "[bb2,f3,bb3,d4,f4]@12 [c3,c4,e4,g4]@11 ~", // Bb C
AE: "[[d3,a4]@4 d3@3 ~ [d2,g4]@4 ~@3 d3, d4@3 ~, d2@7 d3@4 ~ [d2,d4,g4]@4, ~@12 a4@25 ~@11, ~@12 e5@12 c5@5 ~@19]/2", // D5 G5
AF: "[[a2,f3,a3,c4]@8 ~ [f3,bb3,d4]@10 ~@2 [c3,g3,c4,f4]@10 ~@2 [bb2,f3,bb3,d4,f4]@9 [c3,c4]@3 [d3,d4]@3, ~@3 bb2@4 ~@9]/2", // F Bb Csus4 Bb C D
AG: "[d3@3 ~@12 d3, d2@11 ~ [d2,a4,e5]@12 [d2,g4,c5]@12 [d2,d4,g4]@12, ~@3 d3@4 d3@4 d3@4 ~]/2", // Dsus2 Csus2 G5
AH: "[[a2,f3,a3,c4]@9 [bb2,f3,bb3,d4]@12 [c3,g3,c4,f4]@15 ~@6 [d3,d4,f4,a4] ~@5, ~@21 d2 ~@2]/2", // F Bb Csus4 Dm
AI: "c3@3 ~@2 c4 [f3,a3,c4] ~, [c2,e4,g4]@18 f2@5 ~, c4@5 ~@3, ~@3 c3@3 ~@2", // F C
AJ: "g2@9 ~@3 [g3,bb3,d4]@3 g2@3 [f2,a3,c4]@5 ~, [g3,bb3,d4]@4 ~@2 f4 ~, ~@3 g2@2 ~@3", // Gm F Gm
AK: "[g3,c4,e4]@23 ~, c3@19 ~@5", AL: "~@15 c3@2 ~ [d2,d3,d4,f4,a4]@4 ~@2, [c4,e4]@17 ~@7, c3@5 ~@3, ~@9 c2@8 ~@7",
AM: "~@12 c4@3 c3@3 [f2,a3,c4,f4]@5 ~, [c2,e4,g4]@2 ~, c4 ~, ~@3 c3@2 ~@3", // F C
AN: "g2@9 ~@3 g3@3 g2@2 ~ [f2,g3,c4,f4]@5 ~, [d4,f4]@2 ~, bb3 ~, ~@3 g2@2 ~@3", AO: "[c2,g3,c4,e4], c3@3 ~@5",
AP: "[c2,c5]@9 [d2,d3,d4,f4,a4]@2 ~", AQ: "c3@3 ~ c4@2 [f3,a3,c4] ~, [c2,e4,g4]@18 f2@5 ~, c4 ~, ~@3 c3@3 ~@2",
AR: "g2@7 ~@5 [g3,d4]@3 g2@2 ~ [f2,a3,c4,f4]@5 ~, [g3,bb3,d4,f4]@11 ~@13, ~@9 g2@5 ~@10", // G5 F Gm7
AS: "[c2@7 ~@14 c2@2 ~@10 c3@5 ~ c3@2 ~ [d2,d3,a3,d4,f4]@4 ~@2, [g3,c4,e4]@19 ~@5, c3@31 ~@17]/2", // Dm C
AT: "c3@3 ~@2 c3 [f3,a3,c4] ~, c2@18 f2@5 ~, [g3,c4,e4]@2 [g3,c4] ~, ~@3 c3@2 ~@3", // F C C5
AU: "[g3,bb3,d4,f4]@15 g2@2 ~ [f2,a3,c4,f4]@5 ~, g2@3 ~@5", AV: "~@9 c2@11 ~@4, [g3,c4]@23 ~",
AW: "~@9 c2@10 ~@5, [c4,e4]@19 ~@5", AX: "[f2@23 ~ f3@18 f3@6, [g3,bb3,d4,f4] [a3,c4], ~@23 f2@24 ~]/2",
AY: "f2@9 f2@13 ~@2, [g3,bb3,d4,f4]@11 ~", AZ: "[a2,e3,a3,c4,e4]@8 ~ [bb2,f3,bb3,d4,f4]@15",
BA: "f2@9 ~@12 f2@2 ~, [g3,bb3,d4,f4]@23 ~", BB: "[f2,a3,c4]@11 ~ [d3,d4,f4,a4]@10 ~@2, f3@3 ~@5",
BC: "[d3,d4,f4,a4]@11 ~ [e3,c4,e4,g4]@11 ~", BD: "[d2,d3,d4,f4,a4,c5]@11 ~ [c3,c4,e4,g4]@12",
BE: "[bb2,f3,bb3,d4,f4]@11 ~ [c3,g3,c4,e4,g4]@11 ~", // Bb C
BF: "[d2@3 ~@8 d4 ~@3 d3, c5@3 ~, [f4,a4]@17 ~@7, d4@5 d3@10 ~, d3@3 d2@4 d4@2 d2@3 [d2,d4,a4,c5]@4]/2", // F D7
BG: "f2@3 f2@4 f2, [g3,bb3,d4,f4]", BH: "f2@3 ~@4 g2, [g3,bb3,d4,f4]@15 [bb3,d4,f4]@8 ~, ~@9 f2@14 ~",
BI: "[a2,a3,c4,e4]@8 ~ [bb2,bb3,d4,f4]@15", BJ: "f2@9 f2@12 f2@2 ~, [g3,bb3,d4,f4]@11 ~",
BK: "[[f2,a3,c4,f4]@11 ~ [a3,d4,f4]@11 ~ [d2,d4,f4,a4,c5]@11 ~ [e2,e3,c4,e4,g4]@11 ~, ~@12 d3@23 ~@13]/2", // F Dm Dm7 C
BL: "[d3,d4,f4,a4,c5]@12 [c3,c4,e4,g4]@11 ~", BM: "[bb2,f3,bb3,d4,f4]@11 ~ [c3,c4,e4,g4]@12",
BN: "[[d4,a4]@41 ~@21 [g4,c5]@7 [d4,g4]@15, [d2,d3], ~@16 a3@9 ~@3, ~@16 d4@7 ~@5, ~@111 [a4,e5]@28 ~@29]/7", // D5 C5 G5 D A5
BO: "[~@86 g4@15 ~@28 c5@3 [bb4,d5]@3 [c5,e5]@3 [d5,f5]@2 ~@13 f3@5 ~@3 bb3@6 ~@19 c4@6, ~@19 [d2,d3]@122 ~@3 bb2@14 f3@9 [e4,g4]@24 ~, ~@72 e5@31 ~@38 d5@27 ~@8 c5@15 ~, ~@86 c5@17 ~@38 bb4@3 f3 d4@23 c3@24, ~@101 [d4,g4]@40 ~@3 bb3 f4@8 bb4@15 c4@15 g3@8 ~]/8", // Bb C Dm D Em G5
BP: "d3@9 ~@3 a3@11 ~, [a4,c5]@23 ~, f4@3 ~, d4@5 ~@3", // Am
BQ: "[~@20 e3@3 [bb2,bb3,f4]@24 ~, [c4,e4,g4]@22 ~ d4@12 ~@13, a3@9 a3@2 ~@13, ~@9 a2@13 ~@26, ~@15 e3@5 ~@28]/2", // Bb5 C
BR: "[c3@9 ~@9 c4@5 ~@9 e3@12 ~ e3@3, [e4,g4]@23 ~@25, c4@18 ~@5 [c4,e4,g4]@23 ~@2, ~@9 c3@14 ~@25, ~@12 g3@11 ~@25]/2", // Em C
BS: "bb3@8 ~ f3@12 f3@3, [bb2,f4]@23 ~, d4@13 ~@11, ~@9 bb4@14 ~", BT: "[d4,f4,a4]@3 d4@2 f4@3, bb2, ~@3 [f3,g4]@5",
BU: "c3@3 ~@3 c4 g3, [e4,g4]@11 ~, c4@3 ~, g3@5 g3@2 ~, ~@9 c3@14 ~", BV: "d3@3 d3@5, [d4,f4,a4,c5]",
BW: "~@7 e3, [a2,c4,e4,g4]@23 ~, a3@18 a3@5 ~, ~@3 e3@4 ~", BX: "~@9 f3@11 f3@3 ~, [bb2,bb3,f4], d4 ~, ~@3 bb4@5",
BY: "c3@9 c3@14 ~, [d4,e4,g4]@23 ~", // Em7
BZ: "[[d4,f4,a4]@9 a4@3 g4@8 ~ g4@3 [a3,f4]@8 ~ f4@2 ~ [d3,e4]@5 ~ [d3,a3,d4,f4]@5 ~, d3@35 ~@13, a3@17 ~@16 a3@8 ~ a4 ~@5]/2", // Dm Dsus2 Dm
CA: "[c4,e4,g4]@9 ~@9 [f2,f3,a3,c4]@5 ~, c3@15 c3@5 ~@4, ~@9 [g3,c4,e4,g4]@10 ~@5", // C F C
CB: "~@9 [f3,a3,c4] ~@2, [g2,bb3,d4]@5 ~, g3@3 g3@2 ~, ~@9 d3@6 d3@5 ~@4, ~@3 f2", // F Gm
CC: "[~@24 [c2,g3,g4]@9 [c2,c4,e4]@13 ~@2, c4@11 ~@5, e4@13 ~@11, g3@21 c3@26 ~, c3@3 c2@5 ~@8]/2", // C5 C
CD: "[[g3,bb3,d4,f4]@23 ~ c3@10 ~@10 c3@3 gb4 f2@8 ~@10 bb3@2 g2@3 ~ [a2,a3,c4,e4]@9 [bb2,bb3,d4,f4]@15, f2@47 ~@9 f2@12 ~@28, ~@23 a3@23 ~ g3@12 g3@9 ~@28, ~@23 c4@9 ~@7 c3@5 ~@4 bb3@18 ~@30, ~@24 f3@18 f3@5 ~ [d4,f4]@21 ~@2 g4@9 ~@16]/4", // Gm7 Am Bb Dm
CE: "f2@3 f2@2 ~@2 f2, bb3@23 ~, [g3,d4,f4]@17 ~ d4@5 ~, ~@5 f2@2 ~", // G7
CF: "[[f2,c3,f3,a3,c4]@11 ~ d3@11 ~@9 a3@3 ~ [e3,c4,e4,g4]@12, ~@6 [f4,a4]@11 ~@7, ~@6 d4@9 d4@2 ~@7, ~@6 a3@7 a3@3 ~@8, ~@23 d3@12 ~@13]/2", // F C F
CG: "[d3,d4,f4,a4,c5] [c3,g3,c4,e4,g4,c5]", CH: "[bb2,f3,bb3,d4,f4]@11 ~ [c3,c4,e4,g4]@10 ~@2",
CI: "[[d3,d4]@9 ~@36 d3@2 ~, d2@24 [d2,g4,c5]@12 [d2,d4,g4]@11 ~, ~@9 d3@11 d3@13 d3@12 ~@3, ~@12 [a4,e5]@13 ~@23]/2", // D Csus2 G5 A5
CJ: "[f2,g3,bb3,d4,f4]@8 ~@12 c3@3 ~, ~@8 [d4,f4]@15 ~, ~@3 [f2,bb3]@5", // Gm7 Dm Bb5
CK: "a3@9 ~@9 [a3,f4]@3 f2@2 ~, f4@3 ~, [f2,c4]@5 f2@2 ~, ~@3 a3@3 ~@2", // Dm F5
CL: "f2@8 ~@3 [g3,bb3,d4,f4]@9 ~ g2@3, [g3,bb3,d4,f4]@11 ~@13, ~@2 f2@3 ~", // Gm7
CM: "[a2,a3,c4,e4]@8 ~ bb2@12 bb2@3, ~@9 [bb3,d4,f4]@14 ~", // Am Bb
CN: "[f2,g3,bb3,d4,f4]@9 [g3,d4]@12 f2@2 ~, ~@9 f2@11 ~@4", // Gm7 G5
CO: "[[f2,f3,a3,c4]@12 [d2,d4,f4,a4,c5]@11 ~@10 d3@2 ~ [e2,e3,c4,e4,g4]@11 ~, ~@23 [d2,d4]@12 ~@13, ~@2 [a4,c5] ~]/2", // F Dm7 C D Am
CP: "[d2,d4,f4,a4]@11 ~ [c3,c4,e4,g4,c5]@12", CQ: "f3@3 f3 [c4,e4,g4]@4, [bb2,bb3,d4,f4]@11 ~ c3@10 ~@2",
CR: "[d2,d4,a4] [d2,a4,e5], d3@3 ~@5", CS: "~ [d2,d4,g4], [d2,g4,c5] ~, ~@3 d3@5",
CT: "[[a2,e3,a3,c4]@9 [bb2,f3,bb3,d4]@11 ~ c3@11 ~ [bb2,f3,bb3,d4,f4]@9 [c3,c4]@2 [d3,d4]@4, ~@5 [g3,c4,f4]@3 ~@4]/2", // Am Bb C D Csus4
CU: "[d3@9 ~@15 c5@5 ~@7 [d2,d4,g4]@9 d3@3, d2 [d2,a4,e5] [d2,g4] ~, ~@3 d3@4 d3@4 d3@4 ~]/2", // G5 Dsus2 G5
CV: "[[a2,a3,c4]@9 [f3,bb3,d4]@11 ~ c3@12 [bb2,f3,bb3,d4,f4]@9 [c3,c4]@3 [d3,d4]@3, ~@5 [g3,c4,f4]@3 ~@4]/2", // Am Bb C D Csus4
CW: "[d3@9 ~@36 d3@2 ~ [a2,f3]@9 [f3,bb3,d4]@10 ~@2 [c3,g3,c4,f4]@11 ~ [bb2,f3,bb3,d4,f4]@9 [c3,c4]@2 [d3,d4]@3 d3@9 ~@4 e5@6 ~@6 [g4,c5]@5 ~@7 [d2,d4,g4]@9 d3@3, d2@12 [d2,a4,e5]@12 [d2,g4,c5]@12 [d2,d4,g4]@11 ~@10 bb2@12 ~@26 d2@12 ~ [d2,a4]@12 d2@12 ~@12, ~@9 d3@12 d3@12 d3@12 ~@2 [a3,c4]@8 ~@50 d3@12 d3@12 d3@12 ~@3]/6", // Dm Bb Csus4 Bb C D C5 G5 …
CX: "[[a2,f3,a3,c4]@9 [bb2,f3,bb3,d4]@11 ~ [c3,g3,c4,f4]@12 bb3 ~@8 [c3,c4]@3 d4@3 d2@94 ~@2, ~@33 [bb2,f4]@13 ~@98, ~@33 d4@11 ~ d3@97 ~@2]/6", // F Bb Csus4 C Bb5
})).s("gm_piano").gain(0.39)
// chords · piano · "Elec. Piano" · soft notes
const piano_soft = note(`<
~@16 A ~@8 B ~ C ~@2 D@2 E F G ~@4 H ~@4 I@2 J ~@3 K ~@7 L M@2 N O P@2 ~ Q R S T U V@2 ~ W ~@2 X ~@5 Y ~@2 Z ~@16 AA@2
~ AB AC AD AE AF AG@2 AH AI AJ ~@2 AK ~@6 AL ~ AM ~@2 AN ~@6 AO AP ~@2 AQ AR@2 AS ~ AT@2 ~@4 AU ~@13
>`.pickRestart({
A: "~@7 d3", B: "bb3@16 ~@2 f2@5 ~, g3 ~, g2@3 ~@5", C: "g3@17 ~@7", D: "[~@4 g3@3 ~, ~@7 c3@4 ~@5]/2",
E: "~@18 f3@5 ~", F: "d4@15 ~@3 f3@4 ~@2", G: "~@7 g2", H: "e4@19 ~@5", I: "[~@9 f2@26 ~ d3@11 ~]/2", J: "d4@11 ~@13",
K: "~@3 d3@4 ~", L: "f4@2 ~", M: "[~@21 c3@2 ~ g3@17 ~@7, ~@9 c2@23 ~@16]/2", N: "c3@3 ~@5", O: "g3@3 bb3 ~@2",
P: "[~@33 c3@8 ~@7, ~@3 c3@8 ~@5, ~@4 [c4,e4,g4]@3 ~]/2", Q: "~@6 bb3 ~@5", R: "~@9 c2@11 ~@4", S: "c2@5 ~@3",
T: "~@2 e4 ~", U: "~@3 g2@2 ~@3", V: "[c2@8 ~@16 c3@23 ~, [c3,e4]@8 g3@7 ~, ~@21 c2@11 ~@16]/2", W: "~@5 c3@2 c3",
X: "~@3 f2@4 ~", Y: "~@5 f4 f4@6, ~@9 a4@2 ~@13", Z: "~@15 g3@7 ~@2", AA: "[a4@31 ~@17]/2", AB: "~ f4",
AC: "g3@5 ~@3", AD: "~@18 f4@5 ~, a3@12 ~@3 d4@8 ~, ~@9 d3@14 ~", AE: "e3@5 ~@3, a2@3 ~@5",
AF: "~ d4, ~@3 [f3,bb4]@5", AG: "[c5@23 ~@19 a3@4 ~@2, g3@12 ~@11 a2@23 ~@2]/2", AH: "~@13 d4@10 ~, ~@4 bb3@7 ~",
AI: "~@5 d4@3", AJ: "~@9 c5@13 ~@2", AK: "~ d4", AL: "~@6 e4@3 g3@13 ~@2", AM: "~@9 f4@14 ~, ~@4 c4@7 ~",
AN: "~@18 g3@5 ~", AO: "~@3 g3@5", AP: "~@8 c4 c4@2 ~", AQ: "~@9 bb3@13 ~@2", AR: "[~@23 f4@12 ~@13, ~@4 d3@7 ~@5]/2",
AS: "d3@11 ~@13", AT: "[~@3 d3@4 d3@4 ~@5]/2", AU: "~@9 bb2@11 ~@4",
})).s("gm_piano").gain(0.2)
// chords · string ensemble 2 · "Slow Strings"
const string_ensemble_2 = note(`<
A@8 B@6 C@4 D@4 E@2 F G@3 H I J@2 K@2 L@2 M N@6 O P@3 Q R S@2 D@4 T@2 U V@3 W X Y@2 Z AA@3 AB@2 AC@2 AD@3 AE@4 AF AG
AH@2 AI AJ@3 AK@3 AL AM AN@7 AO@8 ~@3 AP@2 AQ@7 AR@2 AS AT@6 AU@6 ~ AV@2 AW@2 AX@6 AY@6 C@4 AZ@2 BA@8
>`.pickRestart({
A: "[~@85 a3@107, [d2,d3], ~@7 e4@9]/8", // D
B: "[[d3,d4]@47 a2@9 [bb2,bb3]@12 ~ c3@12 [bb2,bb3]@8 ~ c3@2 d3@2 ~@3 a3@46 a3, a3@56 ~@12 c4@12 ~@9 c4@3 d4@50 ~@2, d2@22 ~@25 d3@24 ~, ~@16 d2@7 ~]/6", // D Bb
C: "[a2@8 [bb2,bb3]@12 ~ [c3,c4]@12 [bb2,bb3]@8 [c3,c4]@3 ~@4 a3@47 ~, ~@44 [d3,d4]@51 ~, ~@47 d2@48 ~]/4", // Bb C Bb C D
D: "[[a2,a3]@8 ~ bb3@12 [c3,c4]@12 [bb2,bb3]@9 [c3,c4]@3 ~@2 [d2,a3]@47 ~@2, ~@8 bb2@12 ~@25 [d3,d4]@50 ~]/4", // A C Bb C D5 D
E: "[[a2,a3]@8 [bb2,bb3]@13 [c3,c4]@15 ~@6 [d3,d4,f4]@5 ~]/2", F: "~@17 a2@6 ~, ~@17 c4@4 ~@3",
G: "[bb2@17 ~ f3@4 ~ [c4,e4]@38 ~@5 f4@5 ~, ~@17 [a2,c4]@6 ~@49, ~@17 a3@4 ~@51]/3", // C Am
H: "g4@13 ~@5 a2@6, ~@17 [a3,c4]@4 ~@3", I: "bb2@17 ~ a3@4 ~@2, ~@17 c4@5 ~@2",
J: "[[g3,c4,e4]@6 ~ [d3,d4], c3@41 f4@5 ~@2]/2", // C D
K: "[c3@17 ~ a2@5 ~ d4@15 ~@3 [a2,f3,a3,c4]@5 ~, c4@15 ~@2 c4@4 ~@2 bb2@18 ~@7, e4@13 ~@35]/2", // F
L: "[[g3,c4,e4]@6 ~ [d3,f4], c3@7 ~]/2", M: "c3@3 a2, e4@14 ~@4 c4@3 ~@3",
N: "[[bb3,d4]@15 ~@3 a2@5 ~ e4@41 ~@6 d4@18 ~@6 [c4,f4]@23 ~ [g3,bb3]@20 ~@5, bb2@17 [a3,c4]@4 ~@2 g3@42 ~@54 d4@18 ~@7, ~@18 f3@4 ~@49 f2@73]/6", // Bb F5 Gm Am
O: "[c4,e4]@7 ~@2 [f3,bb3]@13 ~@2, a2@3 bb2@5", // C Bb5
P: "[d4@17 ~@4 [c4,f4]@14 d3@12 ~ d3@11 ~ [c4,e4]@10 ~@2, f2@35 d4@21 ~@4 e3@12]/3", // F5 C
Q: "[d3,f4]@11 c3@12 ~, ~@11 c4@9 ~@4, ~@11 e4@7 ~@6", R: "[bb3,d4]@9 ~@2 [c3,c4,e4]@11 ~@2, bb2@11 ~@13, f4 ~@3",
S: "[d2,a3]/2", T: "[[a2,a3]@8 [bb2,bb3]@13 [c3,c4]@15 ~@6 f4@5 ~]/2", U: "c3@17 ~ c4@4 ~@2, e4@12 ~@5 a3@5 ~@2",
V: "[[bb2,bb3]@17 ~ a2@5 ~ e4@36 ~@5 f4@5 ~@2, ~@3 g3@7 ~@2]/3", W: "c4@14 ~@3 [a3,c4]@4 ~@3, e4@12 ~@5 a2@6 ~",
X: "bb2@9 [f3,a3,c4]@2 ~, ~@3 f2", Y: "[[c4,e4]@39 ~@3 d4@4 ~@2, ~@41 f4@5 ~@2]/2",
Z: "[c3,e4]@9 [a3,c4]@2 ~, c4@8 ~ a2@3", // C Am
AA: "[bb2@18 [f2,c4]@5 ~ g3@37 ~@5 [d3,f4]@6, ~@18 f4@4 ~ e4@37 ~@6 d4@4 ~@2]/3", // F5 Dm
AB: "[c3@17 ~ [a3,c4]@4 ~@2 [bb3,d4]@15 ~@3 [f2,c4,f4]@6, c4@15 ~@3 a2@5 ~ bb2@18 ~@6, e4@13 ~@10 g3@17 ~@8]/2", // Am Bb F5
AC: "[[g3,c4]@43 ~@5, c3@47 ~, e4@41 ~@7]/2", // C5
AD: "[[g3,bb3,f4]@22 ~ [a3,c4,f4]@23 ~ [bb3,d4,f4]@19 ~@6, f2@47 f2@24 ~, d4@19 ~@28 g3@22 ~@3]/3", // Gm7 F Bb
AE: "[[a3,c4,e4]@6 ~@3 [f3,bb3,d4]@13 ~@2 [bb3,f4]@20 ~@3 [f2,c4,f4]@12 ~ d3@11 ~ d3@11 ~ e3@12, a2@9 bb2@14 g3@20 ~@4 a3@34 ~@2 [g3,c4,e4]@10 ~@3, ~@24 f2@23 ~@49, ~@12 d4@9 ~@9 d4@10 ~@8]/4", // Am Bb Bb5 F5 C
AF: "~ g3@10 ~ g4@8 ~@4, [d3,f4]@11 c3@13, d4@9 ~@2 e4@11 ~@2, ~@11 c4@8 ~@5", // Dm
AG: "[bb2,d4,a4]@11 ~ e4@12, ~@11 [c3,c4]@11 ~@2, ~@6 g4@5 ~", // Bbmaj7 C
AH: "[d3@11 ~@25 d4@8 ~ d3@3, [d2,a3]@11 ~, f4@37 ~@11, d4@35 ~@13, c4 ~@11 d3@32 ~@4]/2", // D5
AI: "~ c4 ~@7 f4@11 c3@3 ~, f3 bb3@6 ~, ~@2 f2@21 ~, ~ d4@4 ~, ~@5 g3@17 ~@2",
AJ: "[[f3,a3,c4]@20 c3@3 ~ [f2,bb3]@20 f2@3 ~ [c4,e4]@7 ~@2 bb2@15, f2@23 g3@22 ~@2 a3@7 ~@2 [bb3,d4]@12 ~@4, ~@23 [d4,f4]@20 ~@5 a2@8 ~ f3@12 ~@3]/3", // F Bb5 C Bb Dm
AK: "[[a3,c4,f4]@4 ~@2 bb3@14 c3@3 [f2,a3,c4]@12 ~ [d2,d4]@11 [d2,d4]@10 ~@3 [e2,e3,g3,c4]@10 ~@2, f2@11 ~@7 [d3,a3]@11 ~@7, ~@5 [g3,d4]@15 ~@3 f4@8 ~@28 e4@9 ~@4]/3", // F D C D5 G5
AL: "~ d4@9 ~@2 [e4,g4]@9 ~@3, d3@11 ~ c3@12, a4 ~@2, d2 d1@5 ~@18, ~ f4@7 ~@3 c4@9 ~@4", // Em
AM: "[d4,f4,bb4]@10 ~@2 [c4,e4,g4]@11 d2, [bb2,f3]@3 c3@2 ~", // Bb C Bb5
AN: "[~@17 g4@4, d2, ~@4 d3@3, ~@109 e5@59, ~@5 c5@2]/7", AO: "[~@85 c5@45 ~@62, ~@9 d3@80 ~@7, ~@36 e5@23 ~@37]/8",
AP: "[~@23 [e4,g4]@23 ~@2]/2", // Em
AQ: "[a4@46 ~ e4@20 ~@4 d4@23 ~ [c4,e4]@22 ~@2 [f3,bb3,d4]@22 ~@2 [e3,g3,c4]@21 ~@4, f4@11 ~@31]/7", // C Bb C
AR: "[[f3,a3,d4]@47 ~]/2", AS: "b3 ~@3 c4@19 ~, ~ g3@22 ~, ~@3 e4@19 ~@2",
AT: "[[g3,d4]@23 ~ e4@42 ~@6 f4@22 a3@23 ~@3 [bb3,d4]@20 ~@3 [a3,e4], ~@23 [g3,c4]@43 ~@5 bb3@21 ~@2 c4@21 ~@29, ~@71 d4@19 ~@29 f4@20 ~@5]/6", // G5 Bb A5 C5
AU: "[~@9 [bb3,d4]@12 ~@2 [f3,bb3,d4]@23 ~ [f3,c4]@12 [f3,d4]@23 ~ [g3,c4]@12 [a3,d4]@12 [g3,c4]@11 ~ [f3,bb3]@11 ~ [g3,c4]@12 ~, ~@47 a3@36 ~@61]/6", // Bb F5 Dm C5 D5 C5 Bb5 C5
AV: "[~@24 g3@23 ~, ~@23 [bb3,d4]@23 ~@2]/2", AW: "[c4@22 ~ [bb3,d4,f4]@21 ~@4, a3@5 ~@7]/2",
AX: "[[c4,e4]@8 ~ [f3,bb3,d4]@13 ~@3 bb3@20 ~@3 a3@9 ~@3 [f3,a3]@22 ~ [e3,g3,c4]@12 [f3,a3]@11 ~ c4@12 ~ a3@12 [a3,d4]@12, ~@23 db4@2 d4@17 ~@5 c4@9 ~@51 g3@11 ~@26, ~@24 f4@31 ~@64 d4@11 ~@14]/6", // C Bb F C F D5
AY: "[d3@47 a2@9 [bb2,bb3]@12 ~ c3@12 [bb2,bb3]@8 ~ c3@2 d3@2 ~@3 a3@46 a3, d4@68 c4@12 ~@9 c4@3 d4@50 ~@2, a3@45 ~@49 d3@48 ~@2, ~@16 d2@7 ~]/6", // Bb
AZ: "[[a2,a3]@8 ~ bb3@12 [c3,c4]@12 [bb2,bb3]@9 [c3,c4]@3 [d3,d4]@2 [d2,a3], ~@2 bb2@3 ~@7]/2", // A C Bb C D D5
BA: "[[d3,d4]@47 a2@9 [bb2,bb3]@12 ~ c3@12 [bb2,bb3]@8 ~ c3@2 d3@2 ~@3 [d1,a3]@90 ~@5, a3@56 ~@12 c4@12 ~@9 c4@3 d4@56 ~@44, ~@47 d3@45 ~@4, ~@16 d2@15 ~]/8", // D Bb D5
})).s("gm_string_ensemble_2").gain(0.16)
// chords · string ensemble 2 · "Slow Strings" · soft notes
const string_ensemble_2_soft = note(`<
~@13 A ~@10 B C@3 D E ~@2 F G ~ H I J K@6 L@3 M ~@8 N O P Q@2 R@2 S@2 T@4 ~ U ~@22 V@4 ~@15 W X@5 ~@4 Y ~@3 Z@2 ~@10
AA AB@2 ~ AC@2 ~@2 AD@2 ~@3 A ~@6 AE@2 ~@6
>`.pickRestart({
A: "~@10 e2 ~", B: "[c4,e4]@14 ~@3 a3@4 ~@3, c3@17 ~@7",
C: "[[g3,bb3,d4]@15 ~@9 c3@42 [d3,d4]@5 ~, ~@23 g3@37 ~@12]/3", D: "[c4,e4]@5 ~@3, c3@17 ~@7",
E: "[g3,bb3,d4]@5 ~ a2@2, ~@9 f3@2 ~", F: "~@17 a3@4 ~@3", G: "[g3,bb3]@2 ~", H: "~@18 d4@5 ~",
I: "~@3 c4@11 ~@4 a3@4 ~@2", J: "g3@5 ~@3",
K: "[[c3,c4]@42 ~@5 [g3,bb3,f4]@21 ~@3 a3@21 ~@3 f4@20 ~@4 a3@7 ~@2 d4@12 ~@4]/6", // C Gm7
L: "[[g3,f4]@19 ~@2 a3@13 ~ a3@21 ~@4 g3@9 ~@3, bb3@17 ~@55]/3", M: "d4@3 ~@5", N: "~@3 d3, ~@9 d4@2 ~",
O: "c4@14 ~@4 a2@5 ~", P: "g3@17 ~@7, d4@5 ~@3", Q: "[c3@7 [d3,d4], c4@3 ~]/2",
R: "[c3@9 ~@3 bb3@8 ~@4, ~@23 [g3,d4]@16 ~@9]/2", S: "[c3@41 ~ d3@6, g3@13 ~@3]/2",
T: "[~@24 bb3@13 ~@5 a3@4 ~@2 c3@42 ~@6, ~@23 [g3,d4]@14 ~@10 c4@38 ~@11]/4", U: "~@18 f3@5 ~", V: "d3/4",
W: "c4@11 ~", X: "[d4@44 ~@2 g4@24 ~ a3@45 ~@4, ~@23 c4@10 ~@27]/5", Y: "~@4 b3 ~@19", Z: "[~@23 f4@24 ~]/2",
AA: "~ f3@19 ~@4", AB: "[~@23 a3@8 ~@17]/2", AC: "[~@11 d4@22 ~@15]/2", AD: "[d2@11 ~]/2", AE: "[d2@47 ~]/2",
})).s("gm_string_ensemble_2").gain(0.08)
// chords · pad sweep · "Sweep Pad"
const pad_sweep = note(`<
~@8 A@4 B@2 C@2 B@2 D@6 ~@25 B@2 E@6 ~@25 F@2 ~@9 G@3 ~ H@8 ~@30 F@2 ~@9 A@4 B@2 C@2 B@2 I@2 A@4 J@4
>`.pickRestart({
A: "[[d2,d3]@47 [a2,f4]@9 ~ bb3@11 ~ c3@12 [bb2,bb3,d4,f4]@13 ~@2, [d4,a4]@41 ~@6 a3@7 ~@2 [bb2,d4,f4]@13 ~@27, ~@47 c4@5 ~@16 [g3,c4,f4]@13 ~@15]/4", // D Dm Bb D5 Bb Csus4
B: "[d2,d3,d4,a4]/2", // D5
C: "[[a2,a3,c4,f4]@8 ~ [bb2,d4]@12 [c3,f4]@12 ~ [bb2,bb3,d4]@14, ~@8 [bb3,f4]@12 ~ g3@10 ~@2 f4@14 ~]/2", // F Bb F5 Bb Bb5
D: "[[a2,a3]@8 [bb2,bb3,d4]@13 [c3,g3,f4]@12 [bb2,bb3,d4,f4]@14 ~ [d2,d3]@47 ~ [a2,a3]@8 ~ bb2@12 [c3,g3,c4,f4]@15 ~@12, f4@7 ~@41, c4@5 ~@16 c4 ~@25 [d4,a4]@48 [c4,f4]@9 [bb3,d4,f4]@13 ~@27]/6", // A Bb Csus4 Bb D A Csus4 D5 …
E: "[[a2,a3]@8 [bb2,bb3,d4]@13 [c3,g3,f4]@12 [bb2,bb3,d4,f4]@14 ~ [d2,d3]@47 ~ [a2,a3]@8 ~ bb2@12 [c3,g3,c4,f4]@15 ~@12, f4@5 ~@31, c4@5 ~@16 c4 ~@25 [d4,a4]@48 [c4,f4]@9 [bb3,d4,f4]@13 ~@27]/6", // A Bb Csus4 Bb D A Csus4 D5 …
F: "[[d2,d3]@41 ~@7, [d4,a4]@13 ~@3]/2", G: "[d4@55 ~@17]/3", H: "[~ d2@44 d4@42 ~@9]/8",
I: "[[a2,a3]@8 [bb2,bb3,d4]@13 [c3,g3,f4]@12 [bb2,bb3,d4,f4]@14 [d4,a4], f4@7 ~@9, c4@5 ~@16 c4 ~@26]/2", // A Bb Csus4 Bb D5
J: "[[d2,d3,d4,a4]@15 ~]/4", // D5
})).s("gm_pad_sweep").gain(0.56).pan(0.2)
// chords · pad sweep · "Sweep Pad" · soft notes
const pad_sweep_soft = note("<~@3 A@6 ~@84 B@3 ~ C@8 ~@61>".pickRestart({
A: "[~@13 [f4,c5]@110 ~@21, ~@13 [d4,a4]@107 ~@24]/6", B: "[[d2,d3,a3]@55 ~@17]/3",
C: "[~ [d3,a3,d4]@44 [d2,d3,a3]@42 ~@9]/8", // D5
})).s("gm_pad_sweep").gain(0.32).pan(0.2)
// … 131 more lines
More by Madonna
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.