0:00/0:00
// Saint Agnes and the Burning Train — Sting
// 110 bpm, 3/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 113 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/3)
// 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 · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note(`<
~ A B C@2 D E F G H@2 I@2 J K L M N@2 O P Q L M@2 R N S T U V W X Y Z@2 AA AB@2 AC AD L AE AF AG AH AI AJ AK L AL N@2
AM@2 AN AO@2 AP R AQ O AR U AS@3 AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BA BH BI BJ@2 BK BL O BM BA BN BO BP Q BQ@2
BR BS BT BU BV BW@2 BX BY@6 ~@2
>`.pickRestart({
A: "~ e2@4 [e3,g3,b3]@2 ~@6 [e3,g3]@3 e2@3 ~ [e3,g3,b3]@2 ~@2, ~@3 b3 ~@2", // Em
B: "e2@2 [e3,g3,b3] ~@3 [e3,g3,b3]@2 e2@2 e3 ~", // Em
C: "[f#2@4 [f#3,a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@4 [f#3,a3,c4]@2 ~ f#2@4 ~ [f#3,a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@4 [f#3,a3,c4]@2 ~@2]/2", // F#dim
D: "d2@2 [d3,f#3,a3] ~@3 [d3,f#3,a3]@2 d2@2 [d3,a3] ~", E: "d2@4 [d3,a3]@2 ~@6 [d3,a3]@4 d2@3 [d3,a3]@3 ~@2",
F: "c2@3 ~ [c3,e3,g3]@2 ~@6 [c3,e3,g3]@3 c2@4 ~ [c3,e3]@2 ~@2, ~@19 g3@2 ~@3", // C
G: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@4 b1@3 ~ b2@2 ~@2, ~@19 [d#3,f#3]@2 ~@3", // B D#m
H: "[e2@3 ~ [e3,g3]@3 ~@5 [e3,g3,b3]@4 e2@3 ~ b3@2 ~ e2@4 [e3,g3,b3]@2 ~@7 [e3,g3,b3]@4 e2@3 [e3,b3]@2 ~@3, ~@3 b3@2 ~@14 [e3,g3]@2 ~@27]/2", // Em E5 Em
I: "[f#2@3 ~ c4@2 ~@6 [a3,c4]@3 ~ f#2@3 [f#3,a3,c4]@2 ~@2 f#2@4 [f#3,a3,c4]@2 ~@7 [f#3,a3,c4]@3 f#2@4 ~ [a3,c4]@2 ~@2, ~@3 a3@3 ~@37 f#3@2 ~@3]/2", // Am F#dim Am
J: "d2@3 ~ f#3@2 ~@6 [d3,a3]@4 d2@3 ~ [d3,a3]@2 ~@2, ~@3 [d3,a3]@2 ~@19", // D5
K: "d2@2 [d3,a3] ~@3 [d3,f#3,a3]@2 d2@2 [d3,a3] ~", L: "c2@2 [c3,e3,g3] ~@3 [c3,e3,g3]@2 c2@2 [c3,e3,g3] ~",
M: "b1@2 [b2,d#3,f#3] ~@3 [b2,d#3,f#3]@2 b1@2 [b2,d#3,f#3] ~", // B
N: "a1@2 [a2,c3,e3] ~@3 [a2,c3,e3]@2 a1@2 [a2,c3,e3] ~", // Am
O: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@4 b1@3 ~ [b2,d#3,f#3]@2 ~@2", // B
P: "e2@4 [e3,g3,b3]@3 ~@5 [e3,g3,b3]@4 e2@4 [e3,g3,b3]@2 ~@2", // Em
Q: "d2@3 [d3,a3]@2 ~@7 [d3,a3]@4 d2@4 [d3,f#3,a3]@2 ~@2", // D5 D
R: "a1@4 [a2,c3,e3]@2 ~@6 [a2,c3,e3]@4 a1@3 ~ [a2,c3,e3]@2 ~@2", // Am
S: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@4 b1@3 ~ [b2,d#3]@2 ~@2, ~@19 f#3@2 ~@3", // B
T: "e2@4 [e3,g3,b3]@2 ~@6 [e3,g3]@4 e2@3 ~ g3@2 ~@2, ~@11 b3@3 ~@5 [e3,b3]@3 ~@2", // Em E5
U: "d2@3 [d3,f#3,a3]@2 ~@7 [d3,f#3,a3]@4 d2@4 [d3,f#3,a3]@2 ~@2", // D
V: "c2@3 ~ [c3,e3,g3]@2 ~@6 [c3,e3,g3]@4 c2@4 [c3,e3,g3]@2 ~@2", // C
W: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@3 ~ c2@4 [c3,e3,g3]@2 ~@2", // B C
X: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@3 ~ c2@3 ~ [c3,e3,g3]@2 ~@2", // B C
Y: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@3 c2@4 ~ [c3,e3,g3]@2 ~@2", // B C
Z: "[b1@3 ~ f#3@2 ~@6 [b2,d#3,f#3]@3 ~ b1@3 [b2,d#3,f#3]@2 ~@2 e2@4 [e3,g3,b3]@2 ~@6 [e3,g3,b3]@4 ~ e2@3 [e3,g3,b3]@2 ~@3, ~@3 [b2,d#3]@2 ~@43]/2", // B Em B
AA: "e2@3 [e3,g3,b3]@2 ~@7 [e3,g3]@4 e2@3 [e3,g3,b3]@2 ~@3, ~@11 b3@4 ~@9", // Em
AB: "[f#2@3 [a3,c4]@2 ~@7 [f#3,a3,c4]@4 f#2@3 [f#3,a3,c4]@2 ~@2 f#2@4 [f#3,a3]@2 ~@7 [f#3,a3,c4]@4 f#2@4 [a3,c4]@2 ~@2]/2", // Am F#dim F#m F#dim Am
AC: "d2@2 [d3,f#3,a3] ~@3 [d3,f#3,a3]@2 d2@2 [d3,f#3,a3] ~", AD: "d2@2 [d3,a3] ~@3 [d3,a3]@2 d2@2 [d3,a3] ~",
AE: "b1@4 [b2,d#3]@2 ~@6 [b2,d#3,f#3]@4 b1@3 ~ [b2,d#3,f#3]@2 ~@2", // B
AF: "e2@4 [e3,g3,b3]@2 ~@6 [e3,g3]@4 e2@4 [e3,g3,b3]@3 ~, ~@4 b3 ~@3", // Em
AG: "e2@4 [e3,g3,b3]@2 ~@6 [e3,g3,b3]@4 e2@3 ~ [e3,g3]@2 ~@2, ~@19 b3@2 ~@3", // Em
AH: "f#2@4 [a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@3 ~ [a3,c4]@3 ~", // Am F#dim Am
AI: "f#2@2 [f#3,a3,c4] ~@3 [f#3,a3,c4]@2 f#2@2 [f#3,a3,c4] ~", // F#dim
AJ: "d2@4 [d3,f#3,a3]@2 ~@6 [d3,a3]@4 d2@3 ~ d3@3 ~, ~@19 a3@2 ~@3", // D D5
AK: "d2@2 [d3,a3] ~@3 [d3,a3]@2 d2@2 [d3,f#3,a3] ~", AL: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@3 b1@4 ~ b2@2 ~@2",
AM: "[b1@3 ~ [b2,d#3]@2 ~@6 [b2,d#3,f#3]@4 b1@3 [b2,d#3,f#3]@2 ~@2 e2@4 [e3,g3,b3]@2 ~@7 [e3,g3,b3]@4 e2@3 [e3,g3,b3]@2 ~@3, ~@3 f#3@2 ~@43]/2", // B Em
AN: "d2@3 [d3,a3]@2 ~@7 [d3,a3]@4 d2@4 [d3,a3]@2 ~@2", // D5
AO: "[c2@4 [c3,e3,g3]@2 ~@5 [c3,e3,g3]@4 ~ c2@3 [c3,e3,g3]@2 ~@2 b1@4 [b2,d#3,f#3]@2 ~@7 [b2,d#3,f#3]@3 b1@4 ~ [b2,d#3,f#3]@2 ~@2]/2", // C B
AP: "b1@2 [b2,d#3,f#3] ~@3 [b2,d#3,f#3]@2 b1@2 [b2,d#3] ~", // B
AQ: "a1@4 [a2,c3,e3]@2 ~@7 [a2,c3,e3]@3 a1@3 ~ [a2,c3,e3]@2 ~@2", // Am
AR: "e2@3 ~ g3@2 ~@6 [e3,g3,b3]@3 ~ e2@4 [e3,g3,b3]@2 ~@2, ~@3 [e3,b3]@2 ~@19", // Em E5
AS: "[c2@3 [c3,e3,g3]@2 ~@7 [c3,e3,g3]@3 c2@4 [c3,e3,g3]@2 ~@2 b1@4 [b2,d#3,f#3]@2 ~@7 [b2,d#3,f#3]@4 b1@4 [b2,d#3,f#3]@2 ~ c2@4 ~ e3 ~@7 [c3,e3,g3]@4 c2@4 [c3,e3,g3]@2 ~@2, ~@51 [c3,g3]@2 ~@19]/3", // C B C C5
AT: "b1@3 ~ [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@4 b1@4 b2@2 ~@2", // B
AU: "c2@4 [c3,e3,g3]@2 ~@6 [c3,e3,g3]@4 c2@4 [c3,e3,g3] ~@3", AV: "[b1,b2,d#3,f#3]@5 ~@3 [c2,c3,e3,g3] ~@3",
AW: "[b1,b2,d#3,f#3]@11 ~@5 [c2,c3,e3,g3]@2 ~@6", AX: "[b1,b2,d#3,f#3]@6 ~@2 [c2,c3,e3,g3] ~@3",
AY: "[b1,b2,d#3,f#3]@17 ~@7", AZ: "e2@4 [e3,g3,b3]@2 ~@6 [e3,g3,b3]@4 e2@3 ~ [e3,g3,b3]@2 ~@2",
BA: "e2@2 [e3,g3,b3] ~@3 [e3,g3,b3]@2 e2@2 [e3,g3,b3] ~", BB: "g#2@2 [e3,g#3,b3] ~@3 [e3,g#3,b3]@2 g#2@2 [e3,b3] ~",
BC: "a2@2 [e3,a3,c4] ~@3 [e3,a3,c4]@2 a2@2 [e3,a3,c4] ~", // Am
BD: "f#2@4 [f#3,a3,b3]@2 ~@6 f#3@3 f#2@4 ~ c3@2 ~@2, ~@19 [f#3,a3]@3 ~@2", BE: "b2 ~@7",
BF: "e2@3 ~ g3@2 ~@6 [e3,g3,b3]@3 ~ b1@3 ~ [e3,g3,b3]@2 ~@2, ~@3 [e3,b3]@2 ~@19", BG: "e2 ~@7",
BH: "e2@3 ~ [e3,g3,b3]@2 ~@6 [e3,g3,b3]@4 e2@4 [e3,g3,b3]@2 ~@2", // Em
BI: "f#2@4 [f#3,a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@4 [f#3,a3,c4]@3 ~", // F#dim
BJ: "[f#2@3 ~ [a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@4 [f#3,a3,c4]@2 ~ d2@4 ~ [d3,f#3,a3]@2 ~@6 [d3,f#3,a3]@4 d2@4 [d3,f#3,a3]@2 ~@2, ~@3 f#3@2 ~@43]/2", // Am F#dim D
BK: "d2@2 [d3,f#3,a3] ~@3 [d3,a3]@2 d2@2 [d3,a3] ~", // D D5
BL: "c2@3 ~ g3@2 ~@6 [c3,e3,g3]@4 c2@4 [c3,e3,g3]@2 ~@2, ~@3 [c3,e3]@2 ~@19", // C
BM: "e2@3 ~ [g3,b3]@2 ~@6 [e3,g3,b3]@4 e2@3 ~ [e3,g3,b3]@2 ~@2, ~ e3 ~@6", // G Em
BN: "f#2@4 [f#3,a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@3 [f#3,a3,c4]@2 ~@3", // F#dim
BO: "f#2@3 [f#3,a3,c4]@2 ~@7 c4@4 f#2@3 [f#3,a3,c4]@2 ~@3, ~@11 [f#3,a3]@4 ~@9", // F#dim F#m
BP: "d2@3 [d3,f#3,a3]@2 ~@7 [d3,f#3,a3]@4 d2@3 ~ [d3,a3]@2 ~@2", // D D5
BQ: "[c2@4 [c3,e3,g3]@2 ~@6 [c3,e3,g3]@4 c2@4 [c3,e3,g3]@2 ~ b1@4 ~ [b2,f#3]@2 ~@6 b2@4 b1@3 ~ [b2,f#3]@2 ~@2, ~@27 d#3@2 ~@6 [d#3,f#3]@5 ~@3 d#3@2 ~@3]/2", // C B5 D#m
BR: "e2@4 [e3,g3,b3]@2 ~@6 [e3,g3,b3]@4 e2@3 ~ [g3,b3]@2 ~@2, ~@19 e3@2 ~@3", // Em G
BS: "e2@4 [e3,g3,b3]@2 ~@6 [g3,b3]@4 e2@3 ~ [e3,g3,b3]@2 ~@2", BT: "e2@4 [e3,g3,b3]@3 ~@5 b3@4 e2@4 [e3,g3,b3]@2 ~@2",
BU: "e2@4 [e3,g3,b3]@2 ~@7 g3@3 e2@4 ~@4, ~@3 [e3,b3] ~@2", BV: "e2@3 b3@2 ~@11 e2@4 e3@2 ~@2",
BW: "[e2@3 ~ g3@2 ~@10 e2@4 b3@2 ~ e2@4 ~ g3@2 ~@6 [e3,g3,b3]@4 e2@3 ~ [e3,b3]@2 ~@2, ~@3 [e3,b3]@2 ~@22 b3@3 ~@18]/2", // Em E5
BX: "e2@2 b3 ~@3 [g3,b3]@2 e2@2 e3 ~", BY: "[~ g3@142 ~, [e2,e3,b3]@143 ~]/6",
})).s("gm_acoustic_guitar_steel").gain(0.18)
// chords · acoustic guitar steel · "Guitar" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@2 A ~@2 B C ~@3 D E ~ F G ~@6 H ~@15 I J ~ K ~ L ~@2 M ~ N O ~ P ~@4 Q ~@2 B ~@8 P ~@7 R ~ S ~@8 F ~@6 B H ~@3 T U V
W X Y Z ~@8
>`.pickRestart({
A: "~@21 g3 ~@2, ~@10 b3 ~", B: "~@10 f#3 ~", C: "~@4 f#3@2 ~@6 f#3@4 ~@3 f#3@3 ~@2", D: "~@20 g3 ~@3",
E: "~ f#3 ~@2 f#3 ~@3", F: "~@6 f#3@2 ~@2 f#3 ~", G: "~@2 f#3 ~@7 f#3 ~", H: "~@3 f#3@2 ~@7 f#3@4 ~@8",
I: "~@3 f#3@2 ~@19", J: "~@3 c4@2 ~@15 f#3@2 ~@2", K: "~@2 f#3 ~@3 f#3@2 ~@2 f#3 ~", L: "~@2 f#3 ~@9",
M: "~@4 f#3@2 ~@13 f#3@2 ~@3", N: "~@12 f#3@4 ~@4 f#3@3 ~", O: "~@2 f#3 ~@3 f#3@2 ~@4", P: "~@10 [d#3,f#3] ~",
Q: "~@3 f#3@2 ~@7 f#3@4 ~@4 f#3@2 ~@2", R: "~@10 g#3 ~", S: "~@4 [a3,c4] ~@3", T: "~@3 e3 ~@2", U: "~@3 [e3,g3] ~@2",
V: "~@10 [e3,g3,b3] ~", W: "~@2 g3 ~@3 [e3,g3,b3]@2 ~@2 [g3,b3] ~, ~@3 e3@2 ~@19",
X: "~@6 [e3,g3,b3]@2 ~@2 [e3,g3] ~", Y: "~@3 e3@3 ~@14 g3@2 ~@2", Z: "~@2 [e3,g3] ~@3 e3@2 ~@2 [g3,b3] ~",
})).s("gm_acoustic_guitar_steel").gain(0.11)
// bass · electric bass finger · "Bass"
const bass = note(`<
~ A B C@2 D@2 E F G H I@2 J K L M N O F A D P F M O Q R@2 J S@2 T@2 U@2 G V W J D E M B A X C D@2 E M N Q Y@2 J S@2 M
N Q Z A D AA@4 P AB AC AD@2 AE AF AG AH AI AJ AK AL AM B AN@2 AO D E AP G B V AN J AQ AR F AS@2 AT@2 AU@2 AV@2 AW@8
>`.pickRestart({
A: "e2@7 ~", B: "e2@19 ~@5", C: "f#2@7 ~", D: "d2@5 ~", E: "c2@5 ~", F: "b1@7 ~", G: "e2@5 ~", H: "e2@2 ~",
I: "[f#2@21 ~@2 f#2@20 ~@5]/2", J: "d2@7 ~", K: "d2@11 ~", L: "c2@7 ~", M: "b1@5 ~", N: "a1@7 ~", O: "a1@5 ~",
P: "c2@11 ~", Q: "a1@3 ~", R: "[b1@19 ~@4 e2@21 ~@4]/2", S: "[c2@20 ~@3 b1@21 ~@4]/2", T: "[b1@17 ~@6 b1@19 ~@6]/2",
U: "[b1@21 ~@2 e2@21 ~@4]/2", V: "f#2@5 ~", W: "f#2@3 ~", X: "~ f#2@18 ~@5", Y: "[b1@17 ~@6 e2@20 ~@5]/2",
Z: "b1@19 ~@5", AA: "[c2@20 ~@3 b1@46 ~@2 b1@23 ~@2]/4", AB: "b1@5 ~@3 c2@2 ~@2", AC: "b1@3 ~ c2 ~",
AD: "[b1@12 ~@4 c2@4 ~@3 b1@13 ~@12]/2", AE: "e2@14 ~@2 e2 e2@5 ~@2", AF: "e2@14 ~@2 e2@5 ~@3",
AG: "g#2@12 ~@3 g#2 g#2@5 ~@3", AH: "a2@12 ~@4 a2@5 ~@3", AI: "f#2@13 ~@3 f#2@5 ~@3", AJ: "b2 ~@5", AK: "e2@3 ~ b1 ~",
AL: "e2@5 ~@19", AM: "e2@3 ~ e2 ~", AN: "f#2@19 ~@5", AO: "d2@19 ~@5", AP: "b1@17 ~@7", AQ: "d2@3 ~",
AR: "b1@7 ~ b1@4 ~ c2@11", AS: "[~ e2@39 b1@8, ~ f2 ~@46]/2", AT: "[e2@41 b1@7]/2", AU: "[e2@37 ~@3 b1@5 ~@3]/2",
AV: "[e2@7 ~]/2", AW: "[e2@41 e2@138 ~@13]/8",
})).s("gm_electric_bass_finger").gain(0.18)
// chords · piano
const piano = note("<~@35 A B@7 C@8 D@2 ~@14 E@3 F G H ~@24 I@2 J@2 K@4 L@3 ~@5>".pickRestart({
A: "~@3 e5@2 ~ e5@3 e5@2 e4@3 e5@3 [e4,e5]@2 e5@2 ~ e5@2, e4@2 e4@2 ~ e4@2 ~@14 e4@2 ~, ~ e5@2 ~@8 e5@2 ~@11", // E
B: "[~@2 e4@2 ~ e4@2 [e4,e5]@2 ~@2 e4@2 e4@2 e4@2 e4 ~@6 f#5@2 ~ f#5@2 ~@2 f#4@2 ~ f#4@2 [f#4,f#5]@2 ~ f#5@2 ~@3 f#5@2 ~@2 f#4@2 f#5@2 ~@3 f#5@2 ~@20 d4@2 ~ d4@2 ~ d4@2 ~@2 f#5@2 ~ f#5@2 ~@3 f#5@2 ~@2 [d4,d5]@2 ~ d4@2 ~ d4@2 [d4,f#5]@2 ~ [d4,d5]@2 ~ d4@2 ~@5 [c4,e5]@2 ~@2 [c4,c5]@2 ~ c5@2 [c5,e5]@2 ~@2 c4@2 ~ c4@2 e5@2 ~@5 b3@2 ~ b3@2 ~ b3@2 ~ b3@2 ~@8 b3@4, ~ e5@3 e5@3 ~@2 e4@2 ~@7 [e4,e5]@48 ~@6 d4@2 d5@2 [d5,f#5]@3 [d5,f#5]@3 [d5,f#5]@3 [d5,f#5]@3 ~@5 f#5@2 ~@3 f#5@3 [d5,f#5]@3 f#5@3 ~@2 f#5@3 [d5,f#5]@3 ~@8 e5@3 e5@3 ~@3 e5@3 e5@3 ~@2 e5@28, ~@10 e5@3 e5@5 ~@8 f#4@2 ~ f#4@2 ~@7 f#4@2 ~ f#4@2 f#4@3 f#4@2 ~@4 f#4@2 f#4@3 f#4@3 f#4@4 f#4@48 ~@10 c4@2 ~@3 c4@4 c4@2 ~@5 c4@30, ~@30 f#5@3 f#5@3 ~@6 f#5@2 ~@3 f#5@3 ~@3 f#5@2 ~@3 f#5@4 f#5@11 f#5@2 d4@2 ~@9 d4@3 d4@3 d4@2 d4@3 d4@2 ~@16 [d4,f#5]@44 [b4,d#5]@9, ~@143 b3 d#5@3 [b4,d#5]@3 d#5@3 [b4,d#5]@3 d#5 b3@7 ~@4]/7", // E F# D C E D B
C: "[e4 e5@2 [e4,e5]@3 ~@2 e4@2 e5@2 ~ e5@2 ~@2 e4@2 ~@2 [e5,g5]@2 ~ [e5,g5]@2 ~ [e5,g5]@2 ~@2 e4@2 ~@5 e5@2 ~@8 [f#4,f#5]@2 ~@2 f#4@2 ~ f#4@2 ~@2 f#5@2 ~ f#5@2 ~@2 f#4@2 ~@12 f#5@5 ~@10 d4@2 ~ d4@2 ~@8 [d5,f#5]@4 ~@2 [d5,f#5]@4 ~@29 e5@2 ~@2 c4@2 ~ c4@2 ~@16 b3@2 ~@13 d#5@3 ~ a3, ~@6 e4@2 ~@4 e4@3 e4@2 ~@3 e4@3 e4@3 e4@3 e4@2 ~@3 e4@2 g5@3 ~@2 [e5,g5]@2 [e5,g5]@48 ~@6 [d5,f#5]@3 ~@2 [d5,f#5]@6 ~@10 [d5,f#5]@4 ~@5 d5@4 d5@3 d5@4 d5@26 [c5,e5]@26 ~@2, ~@7 e5@3 ~@6 [e5,g5]@3 [e5,g5]@2 ~@9 [e5,g5]@3 [e5,g5]@2 e5@2 e4@3 e4@2 e4@48 ~@11 d4@3 d4@8 d4@8 d4@4 d4@4 d4@4 d4@3 ~ d4@4 d4@28 [b3,d#5] b4 b3 [b4,d#5]@3 [b4,d#5]@2 b3@4 [b4,d#5]@4 b3@6 ~@2, ~@50 f#4@2 ~@6 f#4@2 ~ f#4@3 f#4@2 ~@3 f#4@3 f#4@13 f#4@3 f#4@48 ~@8 c4 e5 c4@3 c4 e5@3 [c5,e5]@3 [c5,e5] c4 e5 c5 c4@30 ~@2, ~@51 f#5@3 f#5@3 f#5@2 ~@6 f#5@3 f#5@2 f#5@9 ~@7 f#5@11 ~@3 f#5@2 ~@20 f#5@4 f#5@4 f#5@3 f#5@4 f#5@4 f#5@48 ~@3]/8", // E Em F# D Em D C Em …
D: "[~@3 e5@2 ~@3 a3@3 a3@5 a3@4 ~@8 a3@4 ~@12 a3@2 ~@2, ~ e5@2 ~@3 e5@3 ~@13 e5@4 e5@4 ~@4 [a4,e5]@4 [a4,e5]@4 [a4,e5]@4 ~@2, ~@2 a3@3 a3@2 a4@3 ~@10 a3@4 a3@4 ~@4 a3@4 a3@4 a3@4 ~@4]/2", // A5
E: "[~@2 b4@2 ~ b4@2 ~@2 c5@2 ~ c5@2 ~@3 c5@2 ~ c5@2 ~@2 b4@2 ~@2 c5@2 ~@2 b4@2 ~ b4@2 ~@2 c5@2 ~@2 b4@2 ~@4 b4@20 ~@3, b4@2 ~@6 b4@3 b4@3 b4@2 b4@3 b4@2 ~ b4@2 ~@3 b4@3 b4@2 ~@6 b4@3 b4@2 ~@3 b4@3 ~@23, ~ c5@3 c5@3 c5@2 ~@6 c5@2 ~@6 c5@3 c5@2 ~@3 c5@3 c5@3 c5@2 ~@3 c5@3 c5@2 c5@21 ~@4]/3",
F: "~ b4 ~ c5 b4 ~ b4@2 ~@4, b4@2 ~@3 b4@3 ~@2 b4@2 ~@12, ~ c5@3 c5@2 ~@5 c5@5 ~@8",
G: "~ c5@2 ~@3 c5@2 ~@3 c5@2 ~@2 b4@3 ~ c5@2 ~ c5@2, b4@2 ~ b4@2 b4@3 b4@2 b4@3 b4@2 ~@3 b4@3 b4@3, ~@4 c5@2 ~@3 c5@2 ~@3 c5@3 ~@7",
H: "~@2 b4@2 ~@2 c5@2 ~ c5@3 ~ b4@2 ~@2 c5@2 b4@2 b4@3, b4@2 ~@3 b4@3 b4@3 ~@5 b4@3 ~@5, ~ c5@3 c5@2 ~@9 c5@2 ~@7",
I: "[g4 g5@2 ~ g4@2 ~@2 g4@2 ~ g4@2 ~@3 g4@2 ~@2 g5@2 ~@4 g4@2 ~ g4@2 ~ g4@2 ~@2 [g4,g5]@3 ~@3 a4@2 ~@2 a5 ~, ~@6 g5@4 g5@3 g5@2 g5@2 ~ g5@2 ~@3 g5@2 g5@3 g5@3 g5@2 ~@8 a5@3 a5@2 ~@2, ~@14 g4@2 ~@3 g4@3 g4@2 g4@2 ~@14 a4@2 ~@3 a4@2 ~]/2", // G
J: "[~@3 g5@2 ~@4 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 [g4,g5]@2 ~ g4@2 [g4,g5]@3 g5@2 ~@4 a5@2 ~ a5, g4@2 g4@2 ~ g4@2 g4@2 ~@6 g4@2 ~@6 g4@2 ~@16 a4@2 a4@2 ~ a4@2, ~ g5@2 ~@3 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 ~@2 g5@3 ~@7 a5@2 ~@4]/2", // G
K: "[~@5 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 [g4,g5]@2 ~ g4@2 ~@3 g4@2 g5@3 ~@3 a4@2 [a4,a5]@2 a5 g4@2 ~@3 g4@2 ~ g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 ~ g4@2 ~ g4@2 g5@2 g5@3 ~@2 a5@2 ~@3 a5 ~, ~ g4@2 g4@2 ~@6 g4@2 ~@6 g4@2 ~@11 g4@2 ~@6 a4@2 ~@8 g4@2 ~@9 g4@2 ~@6 g4@2 ~@11 g4@5 ~ a4@2 ~ a4@2 a4@2 ~, ~@2 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 ~@2 g5@3 g5@2 g5@2 ~@6 a5@3 ~@5 g5@2 g5@3 g5@3 g5@3 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 g5@3 g5@3 ~@10 a5@2 ~@2]/4", // G A
L: "[~@2 g4@2 g5@2 ~@3 g5@2 g5@3 g5@4 ~@54, ~ g5@3 ~@2 g5@3 ~@63, ~@7 g4@48 ~@17]/3",
})).s("gm_piano").gain(0.07).pan(0)
// chords · piano · soft notes
const piano_soft = note("<~@35 A@2 ~@2 B C@3 ~ D ~@2 E F G H I@2 ~@17 J K L ~@25 M ~ N ~ O ~@2 P@3 ~@5>".pickRestart({
A: "[~@7 e4@2 e4@2 ~@5 e4 ~@2 e4@2 ~@2 e4@3 ~@22]/2", B: "~@16 d5@2 d5@3 d5@3",
C: "[d5@3 ~@5 d5@3 d5@3 ~@11 c5@3 ~@9 c5@2 c5@3 c5@3 ~@3 b4@3 ~@3 b4@3 ~@3 b4@3 ~@9, ~@19 d5@48 ~@5, ~@5 c5@3]/3",
D: "~@15 g5@2 ~@7", E: "~@2 d5 ~@9", F: "~ d5@2 ~@9", G: "~ c5@2 c5@3 c5@3 ~@15", H: "~@10 b4 ~",
I: "[~ a4@3 a4@3 ~@3 [a4,e5]@4 [a4,e5]@4 ~ a4@3 a4@4 a4@4 [a4,e5]@4 ~@14, ~@9 e5@2 ~@13]/2", J: "~@9 c5@2 ~@13",
K: "~@17 c5@2 ~@5", L: "~@12 c5@3 ~@5 c5@4, ~@11 b4@2 ~@11", M: "~@5 g4 ~@6, ~@9 g5@2 ~@13", N: "~@7 g4 ~@4",
O: "~@4 g4 ~@3", P: "[~@5 g4@2 ~@11 g5@48 ~@6]/3",
})).s("gm_piano").gain(0.05).pan(0)
// other · acoustic guitar nylon · "Guitar Melody #2"
const acoustic_guitar_nylon = note("<~@65 A@2 B C D E F G@2 H I J K@2 L@2 ~@24 M@8>".pickRestart({
A: "[~@36 a4@4 b4@2 a4@2 ~ f#4@2 ~, ~@23 c4@17 ~@8, ~@27 e4@10 ~@11, ~@31 f#4@8 ~@9]/2", B: "b4@11 ~",
C: "~@13 a4@3 b4@2 a4@3 f#4@2 ~, c4 f#4 ~, ~@4 e4@7 ~@13", D: "b4@7 ~@7 b4@2 ~ c5@3 b4 ~ a4@2, ~@13 a4@2 ~@9",
E: "b4@11 ~ a4@2 b4@2 c5@3 ~ b4@2 a4 ~", F: "b4@12 a4@2 b4@2 ~ c5@3 b4@2 a4 ~",
G: "[b4@12 a4@4 g4@4 f#4@2 ~ b4@21 g4@4]/2", H: "e4@7 ~", I: "e5@3 ~@2 e5@3 ~ e5@2 ~@3 e5@2 ~ e5@3 d5@3 ~",
J: "e5@3 c5@4 ~ a4@10 ~@6", K: "[f#4@4 g4@4 a4@3 b4@4 d5@4 c5@4 b4@2 ~@7 g5@3 ~@5 f#5@2 ~@6]/2", L: "[e5@3 ~]/2",
M: "[~@19 e4@11 d#4@5 c4@5 b3@136 ~@16, [e2,e3]@59 ~@5]/8", // E
})).s("gm_acoustic_guitar_nylon").gain(0.35)
// chords · piano · "Piano #2"
const piano_2 = note("<~@31 A@7 B@2 C@8 D@2 E ~@55 F@5 ~@2>".pickRestart({
A: "[~@7 f#5@2 ~@5 f#5@2 ~ f#5@2 ~@2 g5@2 ~@2 a5@2 ~ a5@2 ~@3 g5@2 a5@2 ~ a5@2 ~ a5@2 ~ a5@2 a5@2 ~ a5@2 ~ a5@2 ~ a5@2 b5@2 ~ b5@2 ~ b5@2 a5@2 ~@2 b5 b5@2 c6@2 ~ c6@2 ~ c6@2 b5@2 ~ b5@2 ~@2 c6@2 ~@76 f#5@3, ~ f#5@2 f#5@4 ~@3 f#5@4 ~@6 f#5@48 ~@6 b5@3 b5@3 ~@2 c6@3 c6@2 ~@4 c6@48 ~@7 a5@5 a5@6 a5@6 a5@5, ~@2 g5@3 g5@4 g5@3 g5@4 g5@3 g5@2 ~@3 g5@3 g5@3 g5@3 ~@4 g5@3 g5@3 g5@48 ~@5 e5@3 g5@5 e5@3 g5@4 e5@9 e5@8 e5@8 e5@32, ~@31 a5@4 ~@13 b5@3 b5@3 b5@3 ~@2 a5@3 a5@3 ~@2 a5@48 g5@8 ~ g5@7 g5@8 g5@29, ~@86 b5@3 b5@48 ~@7 f#5@4 f#5@6 f#5@6 f#5@5 ~@3]/7",
B: "[~@45 d5@2 f#5, a5@5 a5@6 a5@5 a5@5 a5@27, ~@2 f#5@6 f#5@5 f#5@6 f#5@8 f#5@5 f#5@5 f#5@5 f#5@5 ~, ~@24 d5@5 ~ d5@4 d5@5 ~ d5@5 ~@3]/2",
C: "[~@63 d5, ~@3 d5@5 d5@5 d5@5 d5@30 b4@3 d#5@2 b4@3 d#5@2 b4@3 d#5@3 b4@5 b4@48 ~@5 a5@6 a5@5 a5@5 a5@6 a5@5 a5@5 ~ a5@5 a5@5 a5@27, ~@5 f#5@6 f#5@5 f#5@4 f#5@47 d#5@48 ~@5 f#5@5 f#5@5 f#5@6 f#5@5 f#5@5 f#5@6 f#5@5 f#5@5 ~ f#5@7 f#5@5 ~ f#5@5 f#5@5 f#5@5 ~, ~@24 c5@5 c5@6 c5@5 c5@5 c5@45 g5@5 ~ g5@5 g5@5 g5@5 g5@5 g5@48 ~@28, ~@26 e5@6 e5@5 e5@5 ~ e5@29 e5@2 g5@3 e5@3 g5@2 e5@3 g5@3 e5@5 e5@5 e5@6 e5@5 e5@5 e5@48 ~@11 d5@5 ~ d5@5 d5@5 ~@3]/8",
D: "[~@20 f#5@2 ~@23 c5@2 ~, f#5@5 f#5@5 f#5@5 f#5@5 ~@6 e5@6 e5@5 e5@5 ~ e5@4 ~, ~@2 d5@6 d5@5 d5@5 d5@5 c5@6 c5@5 c5@5 ~ c5@5 ~@3]/2",
E: "~@18 d#5@3 b4@2 ~, b4@5 b4@5 ~ b4@5 b4@5 ~@3, ~@3 d#5@5 d#5@5 d#5@5 ~@6",
F: "[~@20 e4@2 ~ e4@2 e5@2 e5@3 ~@4 e4@2 e5@3 ~ e4@2 ~@2 e5@2 ~@2 e4@2 ~ e4@3 e4@2 ~ e4@2 ~@2 e5@2 ~ e5@3 ~ e4@3 e4@3 e4@3 ~@12 e4@3 ~@3 e4@3 ~@6 e4@3 ~@13, ~@19 [b4,e5]@3 e5@3 ~@8 e5@3 ~@6 e5@2 ~@3 e5@3 e5@3 ~@3 e5@3 e5@2 ~@59, ~@43 e4@3 e4@2 ~@12 e4@3 e4@3 ~@54]/5", // E5
})).s("gm_piano").gain(0.09).pan(1)
// chords · piano · "Piano #2" · soft notes
const piano_soft_2 = note("<~@33 A ~@13 B ~@58 C D@2 E@4>".pickRestart({
A: "~@9 b5 ~@2", B: "d5@5 ~@19", C: "~@9 e4 ~ b4",
D: "[~@4 e4@2 ~ e4@2 b4@3 ~ e4@2 [b4,e5]@3 b4@2 b4@3 b4@3 b4@3 [b4,e5]@3 b4@3 b4@3 b4@2 b4@2 ~ [b4,e5]@3 [b4,e5]@2, ~ b4@2 b4@6 ~@3 b4@3 ~@27 e4@2 ~@4, ~@2 e4@2 ~@2 e5@3 ~@39]/2", // E5
E: "[~ [b4,e5]@2 ~@3 [b4,e5]@2 ~ [b4,e5]@2 ~@3 e4@2 e5@2 ~@2 e4@2 e5@3 ~ e4@2 ~ e4@2 ~ b4@2 ~@2 e4@2 ~ e4@2 ~@2 e4@2 ~ e4@3 ~@9 e4@4 e4@2 ~ e4@28 ~@3, ~@3 e5@2 e4@3 e4@3 e4@2 b4@6 b4@13 ~@3 b4@3 [b4,e5]@3 ~ b4@3 b4@11 b4@37 ~@3, ~@4 b4@2 ~@6 e5@4 ~@2 e5@4 ~@3 e5@3 e5@3 e5@3 e5@4 ~@3 e5@4 e5@4 e5@3 e5@4 e5@8 e5@30 ~@2, ~@25 e4@2 e4@2 ~@19]/4", // E5
})).s("gm_piano").gain(0.05).pan(1)
// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<~@106 A@7>".pickRestart({
A: "[~@9 [e2,e3,b3]@65 ~@10]/7", // E5
})).s("gm_string_ensemble_1").gain(0.1).pan(0.6)
stack(
acoustic_guitar_steel, acoustic_guitar_steel_2, bass, piano, piano_soft, acoustic_guitar_nylon, piano_2, piano_soft_2,
string_ensemble_1
)
More by Sting
If I Ever Lose My Faith in YouD major · 96 bpmIf You Love Somebody Set Them Free1985 · D minor · 126 bpmFragileD♭ major · 86 bpmEnglish Man In New YorkD major · 102 bpmFields of GoldD major · 104 bpmAll This Time1991 · G major · 120 bpmThe Soul CagesA minor · 105 bpmMoon Over Bourbon StreetF minor · 128 bpm
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.