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, A@4 for four bars: 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 I@2 AH AI AJ AK
AL AM AN AO AP AQ AR@2 AS AT AU AV V AW AX AY AZ BA BB BC BD BE@2 BF W BG BH BI BJ@2 BK BL BM@7 BN@8 BO BP@2 BQ@2 BR
BS BT BU BV BW BX BY@2 BZ CA CB@2 CC@2 CD@2 CE CF@2 CG CH CI@2 CJ CK CL CM CN CO CP CQ CR CS CT CU@2 CV@2 CW@2 CX@2
CY@2 CZ@2 DA@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 [d2,a4,e5] [d2,g4,c5] [d2,d4,g4], ~@3 d3@4 d3@4 d3@4 ~]/2", // Dsus2 Csus2 G5
AH: "c3@3 ~@2 c4 [f3,a3,c4] ~, [c2,e4,g4]@18 f2@5 ~, c4@5 ~@3, ~@3 c3@3 ~@2", // F C
AI: "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
AJ: "[g3,c4,e4]@23 ~, c3@19 ~@5", AK: "~@15 c3@2 ~ [d2,d3,d4,f4,a4]@4 ~@2, [c4,e4]@17 ~@7, c3@5 ~@3, ~@9 c2@8 ~@7",
AL: "~@12 c4@3 c3@3 [f2,a3,c4,f4]@5 ~, [c2,e4,g4]@2 ~, c4 ~, ~@3 c3@2 ~@3", // F C
AM: "g2@9 ~@3 g3@3 g2@2 ~ [f2,g3,c4,f4]@5 ~, [d4,f4]@2 ~, bb3 ~, ~@3 g2@2 ~@3", AN: "[c2,g3,c4,e4], c3@3 ~@5",
AO: "[c2,c5]@9 [d2,d3,d4,f4,a4]@2 ~", AP: "c3@3 ~ c4@2 [f3,a3,c4] ~, [c2,e4,g4]@18 f2@5 ~, c4 ~, ~@3 c3@3 ~@2",
AQ: "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
AR: "[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
AS: "c3@3 ~@2 c3 [f3,a3,c4] ~, c2@18 f2@5 ~, [g3,c4,e4]@2 [g3,c4] ~, ~@3 c3@2 ~@3", // F C C5
AT: "[g3,bb3,d4,f4]@15 g2@2 ~ [f2,a3,c4,f4]@5 ~, g2@3 ~@5", AU: "~@9 c2@11 ~@4, [g3,c4]@23 ~",
AV: "~@9 c2@10 ~@5, [c4,e4]@19 ~@5", AW: "f3@3 f3, [f2,a3,c4]", AX: "f2@9 f2@13 ~@2, [g3,bb3,d4,f4]@11 ~",
AY: "[a2,e3,a3,c4,e4]@8 ~ [bb2,f3,bb3,d4,f4]@15", AZ: "f2@9 ~@12 f2@2 ~, [g3,bb3,d4,f4]@23 ~",
BA: "[f2,a3,c4]@11 ~ [d3,d4,f4,a4]@10 ~@2, f3@3 ~@5", BB: "[d3,d4,f4,a4]@11 ~ [e3,c4,e4,g4]@11 ~",
BC: "[d2,d3,d4,f4,a4,c5]@11 ~ [c3,c4,e4,g4]@12", BD: "[bb2,f3,bb3,d4,f4]@11 ~ [c3,g3,c4,e4,g4]@11 ~",
BE: "[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
BF: "f2@3 f2@4 f2, [g3,bb3,d4,f4]", BG: "f2@3 ~@4 g2, [g3,bb3,d4,f4]@15 [bb3,d4,f4]@8 ~, ~@9 f2@14 ~",
BH: "[a2,a3,c4,e4]@8 ~ [bb2,bb3,d4,f4]@15", BI: "f2@9 f2@12 f2@2 ~, [g3,bb3,d4,f4]@11 ~",
BJ: "[[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
BK: "[d3,d4,f4,a4,c5]@12 [c3,c4,e4,g4]@11 ~", BL: "[bb2,f3,bb3,d4,f4]@11 ~ [c3,c4,e4,g4]@12",
BM: "[[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
BN: "[~@86 g4@15 ~@28 c5@3 [bb4,d5]@3 [c5,e5]@3 [d5,f5]@2 ~@13 f3@5 ~@4 bb3@5 ~@19 c4@6, ~@19 [d2,d3]@122 ~@3 bb2@14 f3@9 g4@24 ~, ~@72 e5@31 ~@38 d5@27 ~@8 c5@15 ~, ~@86 c5@17 ~@38 bb4@3 f3 d4@23 [c3,e4]@24, ~@101 [d4,g4]@40 ~@3 bb3 f4@8 bb4@15 c4@15 g3@8 ~]/8", // Bb C Dm D C G5
BO: "d3@9 ~@3 a3@11 ~, [a4,c5]@23 ~, f4@3 ~, d4@5 ~@3", // Am
BP: "[~@20 e3@3 ~ [bb2,f4]@24, [c4,e4,g4]@11 ~ d4@6 ~@6, a3@18 a3@4 ~ bb3@24 ~, ~@9 a2@13 ~@26, ~@15 e3@5 ~@28]/2", // Bb5 C
BQ: "[c3@9 ~@9 c4@5 ~@10 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
BR: "bb3@3 f3@4 f3, [bb2,f4]@23 ~, d4@13 ~@11, ~@9 bb4@14 ~", BS: "[d4,f4,a4]@3 d4@2 f4@3, bb2, ~@3 [f3,g4]@5",
BT: "c3@3 ~@3 c4 g3, [e4,g4]@11 ~, c4@3 ~, g3@5 g3@2 ~, ~@9 c3@14 ~", BU: "d3@3 d3@5, [d4,f4,a4,c5]",
BV: "~@7 e3, [a2,c4,e4,g4]@23 ~, a3@18 a3@5 ~, ~@3 e3@4 ~", BW: "~@9 f3@11 f3@3 ~, [bb2,bb3,f4], d4 ~, ~@3 bb4@5",
BX: "c3@9 c3@14 ~, [d4,e4,g4]@23 ~", // Em7
BY: "[[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
BZ: "[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
CA: "~@9 [f3,a3,c4] ~@2, [g2,bb3,d4]@5 ~, g3@3 g3@2 ~, ~@9 d3@6 d3@5 ~@4, ~@3 f2", // F Gm
CB: "[~@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
CC: "[[g3,bb3,d4,f4]@23 ~ c3@10 ~@10 c3@3 gb4, f2@47 ~, ~@23 a3@23 ~@2, ~@23 c4@9 ~@7 c3@5 ~@4, ~@24 f3@18 f3@5 ~]/2", // Gm7
CD: "[f2@8 ~@10 bb3@2 g2@3 ~ [a2,a3,c4,e4]@8 ~ [bb2,bb3,d4,f4]@15, [d4,f4]@21 ~@2 g4@9 ~@16, bb3@3 ~@5, g3@11 g3@9 ~@28, ~@2 f2@3 ~@7]/2", // 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]@3 ~@12 d3, d2@24 [d2,g4,c5]@13 ~@11, ~@9 d3@11 d3@13 d3@12 ~@3, ~@12 [a4,e5]@13 ~@11 [d2,d4,g4]@12]/2", // D Csus2 A5 G5
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", CO: "[f2,f3,a3,c4]@12 [d2,d4,f4,a4,c5]@11 ~",
CP: "~@9 d3@2 ~ [e2,e3,c4,e4,g4]@11 ~, [d2,d4,a4,c5] ~", CQ: "[d2,d4,f4,a4]@11 ~ [c3,c4,e4,g4,c5]@12",
CR: "f3@3 f3 [c4,e4,g4]@4, [bb2,bb3,d4,f4]@11 ~ c3@10 ~@2", CS: "[d2,d4,a4] [d2,a4,e5], d3@3 ~@5",
CT: "~ [d2,d4,g4], [d2,g4,c5] ~, ~@3 d3@5", // G5 Csus2
CU: "[[a2,e3,a3,c4]@9 [bb2,f3,bb3,d4]@11 ~ [c3,g3,c4,f4]@12 [bb2,f3,bb3,d4,f4]@9 [c3,c4]@3 [d3,d4]@3]/2", // Am Bb Csus4 Bb C D
CV: "[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
CW: "[[a2,a3,c4]@9 [f3,bb3,d4]@11 ~ [c3,g3]@12 [bb2,f3,bb3,d4,f4]@9 [c3,c4]@3 [d3,d4]@3, ~@5 [c4,f4]@3 ~@4]/2", // Am Bb C5 Bb C D F5
CX: "[d3@9 ~@36 d3@2 ~, d2@12 [d2,a4,e5]@12 [d2,g4,c5]@12 [d2,d4,g4]@11 ~, ~@3 d3@4 d3@4 d3@4 ~]/2", // Dsus2 Csus2 G5
CY: "[[a2,f3,a3,c4]@8 ~ [f3,bb3,d4]@10 ~@2 [c3,g3,c4,f4]@10 ~@2 [bb2,f3,bb3,d4,f4]@9 [c3,c4]@2 [d3,d4]@4, ~@3 bb2@4 ~@9]/2", // F Bb Csus4 Bb C D
CZ: "[d3@9 ~@3 e5@6 ~@6 [g4,c5]@5 ~@7 [d2,d4,g4]@9 d3@3, d2 [d2,a4] d2 ~, ~@3 d3@4 d3@4 d3@4 ~]/2", // C5 G5 D5
DA: "[[a2,f3,a3,c4]@8 ~ [bb2,f3,bb3,d4]@12 [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 AH AI AJ AK ~@2 AL ~@6 AM ~ AN ~@2 AO ~@6 AP AQ ~@2 AR AS@2 AT ~ AU@2 ~@4 AV ~@13
>`.pickRestart({
A: "~@7 d3", B: "bb3@16 ~@2 f2@5 ~, g3 ~, g2@3 ~@5", C: "g3@17 ~@7", D: "[~@24 g3@17 ~@7, ~@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 ~, g3 ~", AH: "~@9 a3@2 ~, a2@23 ~", AI: "~@13 d4@10 ~, ~@9 bb3@14 ~",
AJ: "~@5 d4@3", AK: "~@9 c5@13 ~@2", AL: "~ d4", AM: "~@6 e4@3 g3@13 ~@2", AN: "~@9 f4@14 ~, ~@4 c4@7 ~",
AO: "~@18 g3@5 ~", AP: "~@3 g3@5", AQ: "~@8 c4 c4@2 ~", AR: "~@9 bb3@13 ~@2", AS: "[~@23 f4@12 ~@13, ~@4 d3@7 ~@5]/2",
AT: "d3@11 ~@13", AU: "[~@3 d3@4 d3@4 ~@5]/2", AV: "~@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 O@5 P Q@3 R S T@2 D@4 U@2 V W@3 X Y Z@2 AA AB AC@2 AD@2 AE@2 AF@3 AG
AH@3 AI AJ AK@2 AL AM AN@2 AO@3 AP AQ AR@7 AS@8 ~@4 AT AU@7 AV@2 AW AX@6 AY@6 ~ AZ@2 BA@2 BB@5 BC BD@6 C@4 BE@2 BF@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@9 [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]@9 [bb2,bb3]@12 [c3,c4]@12 [bb2,bb3]@9 [c3,c4]@3 ~@2 [d2,a3]@47 ~@2, ~@45 [d3,d4]@50 ~]/4", // A Bb 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,a3]@4 ~ [c4,e4]@38 ~@5 f4@5 ~, ~@17 [a2,c4]@6 ~@49]/3", // F C Am
H: "g4@13 ~@5 a2@6, ~@17 c4@4 ~@3, ~@9 a3@2 ~", I: "bb2@17 ~ a3@4 ~@2, ~@17 c4@5 ~@2",
J: "[[g3,c4,e4]@36 ~@6 [d3,d4,f4]@5 ~, c3@41 ~@7]/2", // C Dm
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@41 ~@7]/2", M: "c3@3 a2, e4@14 ~@4 c4@3 ~@3",
N: "[bb3,d4]@15 ~@3 [f3,a3]@4 ~@2, bb2@17 c4@4 ~@3, ~@3 a2", // Bb F
O: "[[g3,e4]@42 ~@5 d4@18 ~@6 [c4,f4]@23 ~ [g3,bb3]@20 ~@5, ~@47 f2@73, ~@95 d4@18 ~@7]/5", // C F5 Gm
P: "[c4,e4]@7 ~@2 [f3,bb3]@13 ~@2, a2@3 bb2@5", // C Bb5
Q: "[d4@17 ~@4 [c4,f4]@14 ~ d3@12 d3@11 ~ [c4,e4]@10 ~@2, f2@12 d4@7 ~ e3@4]/3", // F5 C
R: "[d3,f4]@11 c3@12 ~, ~@11 c4@9 ~@4, ~@11 e4@7 ~@6", S: "[bb3,d4]@9 ~@2 [c3,c4,e4]@11 ~@2, bb2@11 ~@13, f4 ~@3",
T: "[d2,a3]/2", U: "[[a2,a3]@8 [bb2,bb3]@13 [c3,c4]@15 ~@6 f4@5 ~]/2", V: "c3@17 ~ c4@4 ~@2, e4@12 ~@5 a3@5 ~@2",
W: "[[bb2,bb3]@17 ~ a2@5 ~ e4@36 ~@6 f4@5 ~, ~@3 g3@7 ~@2]/3", X: "c4@7 ~@2 a2@3, e4@12 ~@5 [a3,c4]@4 ~@3",
Y: "bb2@9 [f3,a3,c4]@2 ~, ~@3 f2", Z: "[[c4,e4]@39 ~@3 [d4,f4]@5 ~]/2", AA: "[c3,e4]@9 [a3,c4]@2 ~, c4@8 ~ a2@3",
AB: "bb2@3 [f2,c4], ~@9 f4@2 ~", AC: "[[g3,e4]@37 ~@5 [d3,d4,f4]@5 ~]/2",
AD: "[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
AE: "[[g3,c4]@43 ~@5, c3@47 ~, e4@41 ~@7]/2", // C5
AF: "[[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
AG: "[a3,c4,e4]@6 ~@3 [f3,bb3,d4]@13 ~@2, a2@3 bb2@5", // Am Bb
AH: "[[g3,bb3,f4]@20 ~@3 [f2,c4,f4]@12 ~ d3@12 d3@11 ~ e3@12, f2@23 ~@13 d4@21 ~@15, d4@18 ~@5 a3@34 ~@2 [g3,c4,e4]@10 ~@3]/3", // Gm7 F5 C
AI: "~ g3@10 ~ e4@11 ~, [d3,f4]@11 c3@13, d4@9 ~@2 c4@8 ~@5, ~@3 g4@2 ~", // Dm
AJ: "[bb2,d4,a4]@11 ~ e4@12, ~@11 [c3,c4]@11 ~@2, ~@6 g4@5 ~", // Bbmaj7 C
AK: "[d3@11 ~@25 d4@8 ~ d3@3, [d2,a3]@11 ~, f4@37 ~@11, d4@35 ~@13, c4 ~@11 d3@32 ~@4]/2", // D5
AL: "~ c4 ~@7 f4@12 c3@3, f3 bb3@6 ~, ~@2 f2@21 ~, ~ d4@4 ~, ~@5 g3@17 ~@2", AM: "[f3,a3,c4]@20 c3@3 ~, f2@23 ~",
AN: "[[f2,bb3,d4,f4]@20 f2@3 ~ [c4,e4]@7 ~@2 [f3,bb3,d4]@12 ~@3, g3@22 ~ a3@7 ~@18, ~@8 a2@3 bb2@5]/2", // Bb C Bb
AO: "[[a3,c4,f4]@4 ~@2 bb3@14 c3@3 ~ f2@12 [d2,d4]@11 [d2,d4]@10 ~@3 [e2,e3,g3,c4,e4]@10 ~@2, f2@22 ~ f4@8 ~@41, ~@5 [g3,d4]@15 ~@3 [a3,c4]@12 ~ [d3,a3]@22 ~@14]/3", // F D C G5 Am D5
AP: "~ d4@9 ~@2 [c4,e4,g4]@9 ~@3, d3@11 ~ c3@12, a4 ~@2, d2 d1@5 ~@18, ~ f4@7 ~@16", // C
AQ: "[d4,f4,bb4]@5 ~ [c4,e4,g4]@6, [bb2,f3]@3 c3@2 ~", AR: "[~@17 g4@4, d2, ~@4 d3@3, ~@109 e5@59, ~@5 c5@2]/7",
AS: "[~@85 c5@45 ~@62, ~@9 d3@80 ~@7, ~@36 e5@23 ~@37]/8", AT: "[e4,g4]@23 ~",
AU: "[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
AV: "[[f3,a3,d4]@47 ~]/2", AW: "b3 ~@3 c4@19 ~, ~ g3@22 ~, ~@3 e4@19 ~@2",
AX: "[[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
AY: "[~@9 [bb3,d4]@12 ~@3 f3@23 [f3,c4]@12 [f3,d4]@23 ~ [g3,c4]@12 [a3,d4]@12 [g3,c4]@11 ~ [f3,bb3]@11 ~ [g3,c4]@12 ~, ~@23 [bb3,d4]@23 ~ a3@36 ~@61]/6", // Bb F5 Dm C5 D5 C5 Bb5 C5 …
AZ: "[~@24 g3@23 ~, ~@23 [bb3,d4]@23 ~@2]/2", BA: "[c4@22 ~ [bb3,d4,f4]@21 ~@4, a3@5 ~@7]/2",
BB: "[[c4,e4]@8 ~ [f3,bb3,d4]@13 ~@3 bb3@20 ~@3 [a3,c4]@9 ~@3 [f3,a3]@22 ~ [e3,g3,c4]@12 [f3,a3]@11 ~ [g3,c4]@12 ~, ~@23 db4@2 d4@17 ~@78, ~@24 f4@31 ~@65]/5", // C Bb Am F C F C5
BC: "[a3,d4]!2", // D5
BD: "[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
BE: "[[a2,a3]@9 [bb2,bb3]@12 [c3,c4]@12 [bb2,bb3]@9 [c3,c4]@3 [d3,d4]@2 [d2,a3]]/2", // A Bb C Bb C D D5
BF: "[[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@5 L M@3 N ~@8 O P Q R@2 S@2 T@2 U@4 ~ V ~@22 W@4 ~@15 X Y@5 ~@4 Z ~@3 AA@2
~@10 AB AC@2 ~ AD@2 ~@2 AE@2 ~@3 A ~@6 AF@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 ~@5]/5",
L: "a3@7 ~ d4@12 ~@4", M: "[[g3,f4]@19 ~@2 a3@13 ~ a3@21 ~@4 g3@9 ~@3, bb3@17 ~@55]/3", N: "d4@3 ~@5",
O: "~@18 [d3,d4]@5 ~", P: "c4@14 ~@4 a2@5 ~", Q: "g3@17 ~@7, d4@5 ~@3", R: "[c3@42 [d3,d4]@5 ~, c4@3 ~]/2",
S: "[c3@9 ~@3 [g3,bb3]@8 ~@4, ~@23 d4@15 ~@10]/2", T: "[c3@41 ~ d3@6, g3@13 ~@3]/2",
U: "[~@24 bb3@13 ~@5 a3@4 ~@2 c3@42 ~@6, ~@23 [g3,d4]@14 ~@10 c4@38 ~@11]/4", V: "~@18 f3@5 ~", W: "d3/4",
X: "c4@11 ~", Y: "[d4@44 ~@3 c4@20 ~@4 a3@45 ~@4, ~@23 g4@12 ~@25]/5", Z: "~@4 b3 ~@19", AA: "[~@23 f4@24 ~]/2",
AB: "~ f3@19 ~@4", AC: "[~@23 a3@8 ~@17]/2", AD: "[~@11 d4@22 ~@15]/2", AE: "[d2@11 ~]/2", AF: "[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@4 E@2 ~@25 B@2 D@4 E@2 ~@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 ~ c4@5 ~@4 bb3@12 [c3,g3,c4,f4]@12 [bb2,bb3,d4,f4]@13 ~@2, [d4,a4]@41 ~@6 [a2,f4]@9 [bb2,d4,f4]@13 ~@27, ~@47 a3@7 ~@42]/4", // D Csus4 Bb D5 Dm Bb
B: "[d2,d3,d4,a4]/2", // D5
C: "[[a2,a3,c4,f4]@8 ~ [bb2,bb3,d4]@12 [c3,f4]@12 ~ [bb2,bb3,d4]@14, ~@8 f4@12 ~ g3@10 ~@2 f4@14 ~]/2", // F Bb F5 Bb
D: "[[a2,a3]@8 [bb2,bb3,d4]@13 [c3,g3,f4]@12 [bb2,bb3,d4,f4]@14 ~ [d2,d3,d4]@48, f4@21 ~@26 a4@48 ~, c4@5 ~@16 c4 ~@74]/4", // A Bb Csus4 Bb D
E: "[[a2,a3,c4,f4]@8 ~ bb2@12 [c3,g3,c4,f4]@15 ~@12, ~@8 [bb3,d4,f4]@13 ~@27]/2", // F Csus4 Bb
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 a4, f4@7 ~@9, c4@5 ~@16 c4 ~@26]/2", // A Bb Csus4 Bb
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",
// … 114 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.