0:00/0:00
// The Unforgettable Fire — U2
// 127 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 160 bars on a 32-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.
// chords · distortion guitar
const distortion_guitar = note(`<
A@4 B C D E@4 F@4 ~ G@6 H@2 I@2 ~@2 J@2 ~ K@3 L M@2 N O@2 ~@7 P@5 ~@4 Q@2 ~ R@2 ~@5 S T ~@3 U V@8 W@2 ~ X Y@2 Z AA@2
~@13 AB AC@2 AD@4 ~ AE@3 ~ AF@3 ~@5 AG AH AI@2 AJ AK AL@2 AM AN@2 AO AP@3 ~@13 AQ@4 ~@6
>`.pickRestart({
A: "[~@36 c6@9 ~ d6@2 ~@3 a5@2 ~@3 d5@4 ~@3 g6@2 ~ f6@32 ~ a5@15 ~@14, ~@25 c7@20 ~ c7@54 ~@28, ~@48 d6@5 a5@46 ~@29, ~@61 a4@9 ~@58]/4",
B: "~@10 a5 ab5 a5@3 ~", C: "~@19 e6@11 ~@2", D: "d6@23 ~@2 e6@7",
E: "[~ e6@4 ~ c6@4 d6@30 ~@20 f6@8 ~@26 f6@5 ~@29]/4",
F: "[~@29 [d5,d6]@12 d6@8 ~@13 d5@12 ~@5 d6@12 ~@4 d5@12 ~@21, ~@41 d5@20 ~@13 d5@20 ~@34, ~@50 d6@29 ~@12 d6@24 ~@13]/4", // D
G: "[~@20 bb4@2 ~@6 a4@7 ~ a4@4 bb4@11 ~ bb4@2 ~@6 g5@12 ~@12 g5@32 c6 [d5,f5,c6]@8 [d5,f5,c6]@12 [d5,f5]@8 ~@47, ~@60 g6@18 ~@2 g6@33 ~@4 [g6,c7]@58 ~@17, ~@72 g5@12 d6@29 ~@24 c6@37 ~@18]/6", // Dm7 Dm C5
H: "[~@21 f5@32 ~ [a5,d6]@10, ~@53 d5@11]/2", I: "[f5@2 c6@4 c6@43 ~@15]/2",
J: "[~@3 c5@4 d5@5 c5@5 f5@5 ~ c5@5 d5@26 ~@10]/2",
K: "[~@32 [d5,f5,c6]@7 ~ [d5,f5,c6]@14 ~@42, ~@31 d6@51 ~@14, ~@32 [g6,c7]@51 ~@13]/3", // Dm7 C5
L: "~@3 bb5 a5 [f5,a5] ~ b5, ~@3 a5", M: "[~@4 f5@9 f5@39 ~@9 a6@3, a5@11 ~@53]/2",
N: "~ c7@4 d7@18 ~@9, ~@5 d6@3 ~@24", O: "[~@9 f6@4 bb5@4 d6@4 e5@7 ~ f5@7 ~@2 e5@4 f5@15 ~@7, ~@21 f6@33 ~@10]/2",
P: "[~@28 d6@11 ~ [d5,f5,c6]@4 ~@16 g6@27 ~@5 [g5,c6,f6]@11 ~ [f5,f6]@4 [a4,g5]@4 bb4@4 f5@4 g5@4 bb5@29 ~@7, ~@27 a5@11 ~ d6@20 [d6,c7]@28 ~@25 bb5@7 ~ g4@11 ~@29, ~@40 [g6,c7]@19 ~@101]/5", // Dm7 Csus4 F A7 D7 C5
Q: "[~@10 f5@7 ~ f5@2 ~@44, ~@9 [a4,d5]@47 ~@8]/2", // D5
R: "[~@6 [bb5,bb6]@4 bb6@7 ~ [bb5,bb6]@4 bb6@7 ~ bb6@11 ~ bb6@18 ~@4, ~@10 bb5@4 ~@8 bb5@15 ~@27]/2", S: "~@12 d6!4",
T: "d6!4 ~@12", U: "~@29 d5@3",
V: "[~ [d5,f5]@4 a4@4 c5@4 d5@4 [f4,g5]@4 [g4,a5]@4 d6@2 c6@2 ~ c5@3 ~@2 g5@2 ~ f5@2 d5 ~@4 f5@2 d5@2 ~ d5 d5@2 ~ f5@4 g5@2 f5@2 d5@4 ~@2 g5@2 [g4,f5]@4 [c5,d5]@4 [d5,f5]@4 d5@2 f5@2 [g4,d5]@4 f5@2 g5@2 [c5,f5]@4 d5@2 f5@2 d5@4 g5@2 f5@2 d5@4 f5@4 d5@4 e5@2 f5@2 e5@4 d5@4 f5@2 d5@2 f5@4 d5@4 g5@2 f5@2 d5@2 f5@2 g5@2 f5@2 d5@4 g5@4 f5@2 eb5@2 d5@4 d5@2 eb5@2 ~ eb5 ~@3 d5@2 ~@2 f5@2 ~@2 d5@2 eb5@2 eb5@7 ~ eb5@4 eb5@7 ~ d5@40 ~, ~@21 ab5 ~@3 a4@4 d6@4 f5@2 ~@7 c5@7 ~@33 f4@4 ~@4 a4@4 ~@162, ~@34 d5@4 ~@3 d5@4 ~@4 f5@2 ~@15 f5@4 ~@108 f5@2 eb5@5 eb5@4 eb5@4 ~@2 d5@16 ~@45]/8", // Dm Fsus2 Gsus2 G7 Csus2 Dm G5 F5
W: "[~@19 d5@4 c5@40 ~]/2", X: "~ c5@2 c5 c5@2 c5@2",
Y: "[~@4 c5@7 [db5,d5,eb5,f5,db6,eb6] [e5,gb5,g5,ab5,f6,g6,a6] ~@7 a6@44, c6@11 ~ a5@22 ~@30, ~@12 bb6@7 ~@45]/2",
Z: "~@5 a4@4 g4@4 e4@4 a4@4 g4@4 e4@4 a4@3", AA: "[~ g4@4 e4@4 a4@4 g4@4 e4@4 a4@4 g4@4 e4@7 ~@28]/2",
AB: "~@3 g6 d6 bb5 g6 d6", AC: "[bb5 g6 d6 bb5 g6 d6 bb5 f6@3 a6 g6 e6 a6 g6 e6]/2",
AD: "[a6@3 g6@4 e6@4 a6@4 g6@4 e6@4 a6@4 g6@4 e6@4 a6@4 ~@10 c7@2 c7@50 ~@27]/4",
AE: "[~@36 d3@11 ~ d3@4 d3@15 ~@29, ~@17 c7@50 ~@29]/3",
AF: "[~@5 f5@2 g5@2 a5@2 a5@54 ~@31, ~@3 c6@62 ~@31, ~ a5@2 ~@29, ~@3 d5@2 ~@6 c5@7 ~@78, ~@2 f6@31 ~@15]/3",
AG: "[f5,a5]@11 ~ [f5,g5]@18 ~@2", AH: "[f5,a5]@11 ~ [f5,g5]@11 ~ [f5,a5]@7 ~", AI: "[f5,a5]@11 ~ [e5,g5]@18 ~@2",
AJ: "[eb5,g5]@11 ~@2 [eb5,f5]@18 ~", AK: "~ [eb5,g5]@11 ~ [eb5,f5]@18 ~", AL: "~ [bb4,eb5]@11 ~ [bb4,d5]@18 ~",
AM: "~ [f5,a5]@11 ~@2 [f5,g5]@11 ~ [f5,a5]@6", AN: "~@2 [f5,a5]@11 ~ [eb5,g5]@18",
AO: "~@2 [eb5,g5]@11 ~ [eb5,f5]@18", AP: "[~@11 g6@22 ~@15, ~@3 g4@8 ~@5]/3",
AQ: "[~@7 f5@2 ~@6 c4@37 ~@12, ~@18 f5@7 ~ a4@11 ~@91, ~@22 bb4@7 ~@99]/4",
})).s("gm_distortion_guitar").gain(0.15).pan(0.9)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
~@3 A ~ B ~ C D E F ~ G@2 H@2 I@3 J@2 K@2 L M N@3 O P@3 Q@8 R S T@4 U V@2 W@3 X@8 Y@5 Z AA AB AC AD AE AF AG AH AI AJ
AK AL AM AN AO AP AQ AR AS AT AU@2 AV@2 AW AX AY AZ BA BB BC BD BE BF BG BH BI@2 BJ@2 BK BL BM BN BO BP BQ BR BS BT BU
BV BW BX BY BZ CA CB CC CD CE CF CG CH CI CJ CK CL CM CN CO@2 CP@2 CQ@2 CR@2 CS@2 CT@2 CU@2 CV@2 CW CX CY CZ@2 DA DB ~
>`.pickRestart({
A: "~@5 [c5,e5]@16 ~@11, ~@3 d3@16 ~@13, ~ [a3,f4]@4 ~@3", B: "~ [f4,c5,e5]@2 ~, ~@7 [d3,a3]@16 ~@9",
C: "~@11 [f4,e5]@16 ~@5, ~@5 [d3,a3,c4]@8 ~@3", D: "~@3 [c4,f4]@4 ~, ~@11 bb2@16 ~@5",
E: "~@7 c4@8 ~, ~@13 [bb2,f3]@16 ~@3", F: "~ f4, ~@7 bb2@8 ~, ~@15 c4@16 ~",
G: "[~@19 [f4,c5,e5]@16 ~@29, ~@9 [d3,a3]@8 ~@15]/2", H: "[~@20 [a3,e4]@16 ~@17 a4@11, ~@19 d3@16 ~@17 [d4,e4]@12]/2",
I: "[~@21 e4@15 ~@17 c4@15 ~@17 [c4,f4]@11, ~@5 [d3,a3]@4 ~@4 [bb2,f3]@4 ~@4 bb2@3]/3", // F5 D5 Bb5
J: "[~@21 [a3,e4]@16 ~@17 [e4,a4]@10, ~@20 d3@16 ~@17 d4@11]/2", // A5
K: "[~@22 [c4,f4]@15 ~@17 c4@10, ~@21 bb2@16 ~@16 [bb2,f3]@11]/2", L: "~@23 a4@9, ~@21 d3@11, ~@11 f4@5",
M: "~@23 f4@9, ~@11 [a3,d4]@5", // D5
N: "[~@23 [c4,d4]@15 ~@17 [bb3,c4,d4,f4]@15 ~@18 a4@8, ~@11 [bb2,f3]@8 ~@24 d3@5, ~@29 f4@3]/3", // Csus2 Bb Bb5
O: "~@3 [f4,a4], ~@23 d3@9", // F
P: "[~@24 [c4,d4]@15 ~@17 [c4,d4,f4]@15 ~@17 [a3,f4]@8, ~@23 [f3,bb3]@16 ~@16 bb2@16 ~@16 d3@9]/3", // Csus2 Dm7 Dm Bb5
Q: "[~@25 f4@15 ~@17 [c4,d4]@15 ~@17 [c4,d4,f4]@15 ~@17 [a3,d4,f4]@15 ~@18 [f4,a4]@15 ~@17 [c4,d4]@15 ~@17 [c4,d4,f4]@15 ~@17 [f3,c4,e4,g4,a4,d5]@6, ~@24 [d3,a3]@16 ~@16 [f3,bb3]@16 ~@16 bb2@16 ~@49 d3@16 ~@16 [f3,bb3]@16 ~@16 bb2@16 ~@23]/8", // Csus2 Dm7 Dm F Csus2 Dm7 Fmaj7 D5 …
R: "~@7 c5@9 ~@2 [f3,a3]@4 ~@5 [g4,d5]@5, ~@3 [f3,e4,g4]@5 ~@5 [f3,a3,c4,e4]@3, ~@3 a3@3 ~@10", // F G5 C Fmaj7
S: "~@7 f4@5 ~@7 [c4,a4,d5]@4 ~@4 a4@5, ~@3 [a3,c4,e4,g4]@3 ~@3 [f3,gb4]@2 ~@2 [c3,c4]@3", // D7 Am7 Gbmaj7 C
T: "[~@7 [e4,g4]@9 ~@11 [f4,a4]@6 ~@6 g4@9 ~@12 bb4@5 ~@7 bb4@9 ~@11 bb4@5 ~@7 f4@9 ~@11 f4@4, ~@6 [c3,c4]@10 ~@10 e3@16 ~@16 eb3@6 ~@6 eb3@10 ~@24 eb3@6 ~@13 [bb2,d4,eb4]@5, ~@26 c4@6 ~@6 c4@4 ~@17 g4@15 ~@17 g4@15 ~@22, ~@71 f4@9 ~@11 eb4@6 ~@6 bb3@10 ~@15]/4", // Em F C Ebmaj7
U: "~@4 [d4,f4]@5 ~@5 [f3,d4,eb4]@2, ~@7 bb3@10 ~@10 bb2@5", // Dm
V: "[~@8 d4@10 ~@10 [a3,f4]@16 ~@17 [f4,a4]@3, ~@7 bb3@10 ~@10 d3@16 ~@17 d4@4]/2", // Dm F
W: "[~@29 g4@15 ~@17 [c4,d4,f4,g4]@15 ~@17 [a3,d4,f4]@3, ~@7 [f3,bb3,c4,d4]@4 ~@4 bb2@4 ~@5]/3", // Csus4 Dm Bb
X: "[~@30 [f4,a4]@15 ~@17 g4@15 ~@17 [c4,d4,f4,g4]@15 ~@18 a4@15 ~@17 f4@15 ~@17 g4@15 ~@17 [c4,d4,f4,g4]@15 ~@17 [d4,f4], ~@29 d3@16 ~@16 [f3,bb3,c4,d4]@16 ~@16 bb2@16 ~@16 d3@16 ~@17 [a3,d4]@16 ~@16 [f3,bb3,c4,d4]@16 ~@16 bb2@16 ~@18, ~@126 f4@15 ~@115]/8", // F Csus4 Dm Bb D5 Bb
Y: "[a4@15 ~@17 f4@15 ~@16 [bb3,c4,d4]@16 ~@17 [c4,d4,f4]@15 ~@17 [a3,c4,e4,g4,d5]@6 ~@6 [e4,g4]@10 ~@3 f4@3 ~@4, ~@31 [d3,a3]@16 ~@16 f3@32 bb2@16 ~@16 f3@6 ~@6 f3@10 ~@11, ~@70 [a3,c4]@3 ~@3 [a3,c4]@2 ~@2]/5", // Bb Dm7 Am7 Em D5 Am
Z: "~ [g4,d5]@5 ~@7 [f4,c5]@6 ~@6 d5@3 ~@4, [f3,a3,c4,e4]@3 ~@3 [a3,e4,g4]@3 ~@3 [f3,a3,c4,gb4]@2 ~@2", // G5 F5 Fmaj7 A7 F
AA: "~ [f4,a4]@5 c4@6 ~ e4@9 ~@10, g3@15 ~@17, c4@3 ~@3 c3@5 ~@5, ~ e4@10 ~@21", // F
AB: "c4 [f4,a4]@6 ~@6 [c4,g4]@10 ~@9, e3 ~, ~ g3@15 ~@16, ~ c4@12 ~@19", // F C5
AC: "~@2 bb4@5 ~@7 bb4@9 ~@9, eb3@11 ~ eb3@10 ~@10, ~ g4@15 ~@16, ~@13 f4@9 ~@10",
AD: "~ bb3@10 ~@2 [bb3,f4]@10 ~@9, eb3@11 ~ eb3@10 ~@10, ~ g4@15 ~@16", // Bb5
AE: "~ [bb3,d4]@12 [bb3,d4]@10 ~@9, ~ f3@16 ~@15, ~ eb4@6 ~@25", // Bb
AF: "~ [eb4,f4]@3 ~@3 [d4,f4]@5 ~@4, ~ bb2@6 ~@25, ~@2 d4@11 bb3@10 ~@9", // Ebsus2 Dm
AG: "~@2 [c4,g4,d5]@5 ~@7 [e4,g4]@10 ~@2 [a3,c4]@4 ~@2, ~ [f3,a3,e4]@6 ~@6 f3@12 f3@4 ~@3, ~@7 [a3,c4]@3 ~@6", // Csus2 Em Am Fmaj7 Am
AH: "~@2 [a3,c4,e4,g4,d5]@6 ~@6 [a3,e4,g4,c5]@6 ~@7 [f4,d5]@3 ~@2, ~@13 f3@6 ~@7 [a3,c4,gb4,a4]@4 ~@2", // Am7 Dm Gbdim
AI: "~@2 c4 c4@10 ~@2 g4@9 ~@8, ~ [e3,g3]@8 ~@7, ~ f4@3 ~@3 c4@4 ~@5, ~@3 a4@5 ~@24", // Em
AJ: "~@3 [f4,a4]@6 ~@6 [e4,g4]@9 ~@8, ~@2 g3@15 ~@15, ~ c3@3 ~@3 c3@5 ~@4, ~@3 e4@9 ~@20", // F Em
AK: "~@3 bb4@5 ~@8 bb4@9 ~@7, ~@2 eb3@11 ~ eb3@10 ~@8, ~@3 g4@15 ~@14, ~@15 f4@9 ~@8",
AL: "~@3 [bb3,eb4]@11 ~ [bb3,eb4,f4]@10 ~@7, ~@3 g4@5 ~@24", // Eb5 Bbsus4
AM: "~@3 [f3,bb3,d4]@11 ~@2 f4@9 ~@7, ~@3 eb4@6 ~@6 [bb2,bb3,d4]@10 ~@7", // Bb
AN: "~@4 [d4,f4]@11 ~ [d4,f4]@10 ~@6, ~@3 bb2@6 ~@6 [bb2,bb3]@10 ~@7, ~@2 eb4@3 ~@11", // Dm Bb
AO: "~@4 [c4,g4,d5]@5 ~@7 [a3,c4,f4]@6 ~@6 [a3,c4]@4, ~@3 [f3,a3,e4]@6 ~@7 [e4,g4]@10 ~ f3@4 ~", // Csus2 F Am Fmaj7 Em
AP: "~@4 [a3,c4,e4,g4,d5]@6 ~@7 f4@5 ~@7 d5@3, ~@3 f3@6 ~@7 [a3,e4,g4,c5]@6 ~@6 [f3,a3,c4,gb4]@4", // Am7 F
AQ: "~@5 e4@9 ~@3 g4@9 ~@6, ~@4 g3@15 ~@13, ~@2 [c4,f4]@3 ~@3 [c3,c4,e4]@5 ~@3, ~@5 a4@5 ~@22", // F5 C
AR: "~@5 [f4,a4]@6 ~@5 c3@10 ~@6, ~ e3@4 ~@3, ~@2 c3@5 ~@9, ~@5 g3@15 ~@12", // F
AS: "~@5 [f3,d4,g4]@6 ~@2 bb4@4 ~@4 [d3,f3]@4 ~@4 [d4,bb4]@3, ~@2 [g2,bb3]@3 ~ d4@4 ~@6, ~@3 bb3 ~ g2 ~@2", // G7 Dm Gm
AT: "~@5 [d3,f3]@4 ~@4 d4@4 ~@4 d4@4 ~@4 [d4,bb4]@3, ~@5 g4@15 ~@12, ~@5 bb3@7 bb3@4 ~@4 bb3@4 ~@8", // Dm Gm
AU: "[~@6 g4@31 ~ db4@15 ~@11, ~@5 [a2,db4]@31 ~ [a2,e3]@16 ~@11, ~@5 [e3,a3]@16 ~@43, ~@6 d4@15 ~@43]/2", // A A5
AV: "[~@7 a4@15 ~@16 [a3,d4,f4]@15 ~@11, ~@5 d3@32 ~@27, ~@6 f4@15 ~@43]/2", AW: "~@7 f4@15 ~@10, ~@3 [d3,a3]@8 ~@5",
AX: "~@7 [d4,f4]@15 ~@10, ~@3 a3@8 ~@5", // Dm
AY: "~@7 [eb4,f4]@6 ~@6 f4@9 ~@4, ~@3 bb2@3 ~@3 bb2@5 ~@2, ~@7 d4@11 ~ d4@3 ~@10", AZ: "~@7 [bb3,d4,f4]@15 ~@10",
BA: "~@8 f4@15 ~@9, ~@7 [d3,a3]@16 ~@9", BB: "~@8 [d4,f4]@15 ~@9, ~@7 a3@16 ~@9",
BC: "~@4 [d4,f4]@5 ~ [d4,f4]@5 ~, ~@7 bb3@10 ~@2 bb3@10 ~@3, ~@4 eb4@3 ~@9", BD: "~ [bb3,d4]@2 ~, ~@7 f3@16 ~@9",
BE: "~ [a3,f4]@2 ~, ~@7 d3@16 ~@9", BF: "~@9 f4@15 ~@8, ~ [a3,d4]@2 ~",
BG: "~@9 [d4,f4]@10 ~@2 [d4,f4]@9 ~@2, ~@4 bb2@3 ~@9, ~@9 eb4@6 ~@5 bb3@10 ~@2", BH: "~@9 [d4,f4]@15 ~@8, ~ bb3@2 ~",
BI: "[~@8 bb3 [f3,bb3,d4]@30 ~@2 g4@15 ~@8, ~@8 g2@31 ~ [d3,bb3]@15 ~@9, ~@9 g4@15 ~@40]/2", // Bb Gm
BJ: "[~@9 [g3,e4]@30 ~ [e3,d4]@15 ~@9, ~@8 [a2,d3]@31 a2@15 ~@10]/2", // C E7 D5
BK: "~@7 [c3,d3,g3,a3]@3 ~ [d3,a3]@11 ~@10, ~@7 f4@17 ~@8", BL: "~@7 [a3,d4,f4]@15 ~@10",
BM: "~@6 [f3,bb3]@4 ~ bb3@11 ~@10, ~@6 d4@17 ~@9, ~@6 [a2,e3]@2 ~@2 f3@11 ~@11", BN: "~@6 [bb3,d4,f4]@15 ~@11",
BO: "~@5 d4 ~@10, ~@5 [c3,d3,g3]@2 ~@2 d3@12 ~@11, ~@6 [a3,f4]@15 ~@11", BP: "~@5 [a3,f4]@15 ~@12, ~@4 d3@15 ~@13",
BQ: "~@5 a3@2 ~ bb3@11 ~@13, ~@4 d4@15 ~@13, ~ bb3 ~@6, ~@2 e3 ~ f3 ~@11, ~@5 f4@15 ~@12",
BR: "~@4 [bb3,d4,f4]@15 ~@13", // Bb
BS: "~@4 [c4,g4,d5]@5 ~@6 [f3,e4,g4]@10 ~@2 [f3,a3,c4]@5, ~@3 [f3,a3,e4]@6 ~@6 [a3,c4]@6 ~@11", // Csus2 C F Fmaj7 Am
BT: "~@3 [a3,c4,e4,g4,d5]@5 ~@7 [a3,e4,g4,c5]@6 ~@6 [c4,f4,a4,d5]@4 ~, ~ f3 ~@5 f3@3 ~@3 gb4@2 ~", // Am7 Dm7
BU: "~@3 [g3,e4]@11 ~ g4@9 ~@8, ~ c3@5 ~ c3@5 ~@4, ~@3 [f4,a4]@5 ~@6 e4@4 ~@14", // C F
BV: "~@2 [f4,a4]@5 ~@7 [c4,e4,g4]@9 ~@9, ~ c3@6 ~@25, ~@2 [e3,g3]@15 ~@15", // F C Em
BW: "~@2 bb4@5 ~@7 [eb4,f4]@9 ~@9, ~ eb3@6 ~@6 bb3@9 ~@10, ~@2 g4@15 ~@15", // Ebsus2
BX: "~@2 [g4,bb4]@5 ~@7 [f4,bb4]@9 ~@9, ~ eb3@10 ~@2 eb3@10 ~@9", // Gm Bb5
BY: "~ [bb3,d4,f4]@10 ~@2 [bb3,d4,f4]@9 ~@10, ~ eb4@5 ~@26", // Bb
BZ: "~ [d4,f4]@11 ~ f4@9 ~@10, bb2@3 ~@3 bb2@5 ~@5, ~ eb4@5 ~@7 d4@6 ~@13", // Dm
CA: "~ [c4,g4,a4,d5]@6 ~@6 [g4,c5]@9 ~@3 [c4,f4]@4 ~@3, [f3,e4]@3 ~@3 e4@5 ~@5, ~@6 a3@3 ~@3 a3@2 ~@2, ~@13 f4@5 ~@14", // Csus2 C5 F5 Fmaj7
CB: "~ [c4,g4,d5]@5 ~@7 [f4,g4,c5]@6 ~@6 [c4,f4,d5]@3 ~@4, [f3,a3,e4]@3 ~@3 [a3,e4]@3 ~@3 [a3,gb4]@2 ~@2", // Csus2 Fsus2 Dm7 Fmaj7 A5 D
CC: "~ [f4,a4]@6 ~@6 g4@9 ~@10, e3@7 ~@9, c3@11 ~ c3@10 ~@10, ~ g3@16 ~@15", // F
CD: "~ [c4,e4]@9 ~@3 g4@9 ~@10, ~ [f4,a4]@6 ~@5 c4@4 ~@16, ~@13 e4@4 ~@15", // C F
CE: "~@2 bb4@5 ~@7 bb4@9 ~@9, ~ g4@15 ~@16, ~ eb4@6 ~@6 [eb4,f4]@10 ~@9", // Ebsus2
CF: "~@2 g4@5 ~@7 f4@9 ~@9, ~ [eb3,bb3]@8 ~@4 [bb3,eb4]@10 ~@9", // Eb5
CG: "~@2 f4@5 ~@7 f4@9 ~@9, bb3@12 ~ [bb3,d4]@10 ~@9, ~ eb4@6 ~@25", // Bb
CH: "~ f4@5 ~ [d4,f4]@5 ~@4, ~ bb2@6 ~@25, ~@2 eb4@6 ~@5 bb3@10 ~@9", // Dm
CI: "~ [a3,c4,e4,g4,d5]@3 ~@3 [e4,g4,c5]@5 ~ [a3,c4,f4]@2 ~, ~ f3@6 ~@6 f3@10 ~@9, ~@7 a3@3 ~@6", // Am7 C F
CJ: "~@3 [g4,d5]@5 ~@7 c5@6 ~@6 [f4,d5]@3 ~@2, ~ [f3,a3,c4,e4]@3 ~@3 [f3,a3,e4,g4]@3 ~@3 [a3,c4,gb4]@2 ~", // G5 Dm Fmaj7 Gbdim
CK: "~@3 e4@9 ~@3 g4@9 ~@8, ~ [c3,g3]@6 c3@5 ~@4, ~@2 f4@6 ~@7 e4@5 ~@12, ~@3 a4@5 ~@24", // C5
CL: "~@3 [f4,a4]@5 c4@6 ~ g4@9 ~@8, ~ e3@8 ~@7, ~ c3@3 ~@3 c3@5 ~@4, ~@3 g3@12 ~@17", // F
CM: "~@3 [f3,bb3]@29, ~@3 [d4,g4]@15 ~@14", CN: "~@4 g4@15 ~@13, ~@3 [bb3,d4]@16 ~@13",
CO: "[~@4 [g4,db5]@23 ~@9 [db4,e4]@15 ~@2 db5@7 ~@4, ~@3 a2@39 ~@9 a2@8 ~@5, ~@3 e3@16 ~@45, ~@4 d4@15 ~@33 g4@7 ~@5]/2", // Gdim Dbm
CP: "[~@5 e5@30 ~@2 f4@15 ~@12, ~@4 [a3,c4,f4]@31 ~ [d3,a3]@16 ~@12, ~@4 d4@15 ~@45]/2", // F D5
CQ: "[~@6 e5@30 ~ [d4,f4]@15 ~@12, ~ [d3,a3]@8 ~@7, ~@5 c4@31 a3@16 ~@12, ~@5 f4@15 ~@44]/2", // Dm D5
CR: "[~@6 gb5@30 ~@2 f4@15 ~@11, ~@4 d3@16 ~@17 [d3,a3]@16 ~@11, ~@5 [a3,c4,f4]@31 ~@28]/2", // D5 F
CS: "[~@6 [f4,c5,gb5]@30 ~@2 f4@15 ~@11, ~@5 d3@32 ~@27, ~@5 a3@16 ~@16 [a3,d4]@16 ~@11]/2", // F D5
CT: "[~@7 gb5@30 ~ [a3,d4,f4]@15 ~@11, ~@5 a3@31 ~@28, ~@6 [f4,c5]@31 ~@27, ~@6 d4@15 ~@43]/2", // Dm F5
CU: "[~@7 [f4,gb5]@31 ~ f4@15 ~@10, ~@6 [a3,c4]@31 ~ [d3,a3]@16 ~@10, ~@6 d4@15 ~@43]/2", // Gbmaj7 Am D5
CV: "[~@39 [a3,f4]@16 ~@9, ~@3 a3@16 d3@8 ~@5, ~@7 c5@47 ~@10, ~@7 f4@32 ~@25, ~@7 d4 gb5@47 ~@9]/2", // Dm
CW: "~ f4@2 ~, ~@7 [a3,d4]@17 ~@8", CX: "~@10 f4@17 ~@5, ~@9 [d3,a3]@18 ~@5", CY: "~@7 [d4,f4]@9, ~@13 a3@19",
CZ: "[~@24 f4@19 ~@21, ~@11 d3@10 ~@11, ~@23 a3@20 ~@21]/2", DA: "~ f4@19 ~@12, [a3,d4]@5 ~@3",
DB: "~@10 f4@19 ~@3, ~@2 d3@5 ~, ~@9 a3@20 ~@3",
})).s("gm_acoustic_guitar_nylon").gain(0.09).pan(0.8)
// other · epiano2
const epiano2 = note("<~@3 A B@2 C@3 D@8 E F G H I J K L@4 M@5 N O P Q R S T ~@120>".pickRestart({
A: "~@3 d6@4 ~ c6@4 a5@4 d6@4 c6@4 a5@4 ~ d6@3",
B: "[~ c6@4 a5@4 d6@4 c6@4 ~ a5@4 d6@4 c6@4 a5@4 d6@4 ~ c6@4 a5@4 d6@4 c6@4 a5@4 ~ d6@4, ~@39 d4@12 a4@13]/2",
C: "[c6@4 a5@4 d6@4 c6@4 ~ a5@4 d6@4 c6@4 a5@4 d6@4 ~ c6@4 a5@4 d6@4 c6@4 a5@4 ~ d6@4 c6@4 a5@4 d6@4 f6@4 ~ e6@4 c6@4 f6@4 e6@4, d5@75 bb3@13 f4@8]/3",
D: "[c6@4 ~@5 e6@4 c6@4 f6@4 e6@4 c6@4 ~ f6@4 e6@4 c6@4 f6@4 ~ e6@4 c6@4 f6@4 e6@4 c6@4 ~ f6@4 e6@4 c6@4 d6@4 c6@4 ~ a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 ~ a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 ~ a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 a5@4 d6@4 ~ c6@4 a5@4 d6@4 c6@4 a5@4 d6@4, ~@4 f6@4 ~@72 d4@13 ~@12 d5@74 ~@77, ~@5 bb4@76 ~@12 a4@13 ~@150]/8",
E: "c6 a5 d6 c6 a5 f6 e6 c6", F: "f6 e6 c6 f6 e6 c6 f6 e6", G: "c6 f6 e6 ~ a5 d6 c6 a5, ~@12 c6@7 ~@13",
H: "d6@4 ~ c6@4 a5@4 d6@4 c6@4 a5@4 d6@4 c6@3", I: "~ a5@4 d6@4 c6@4 ~@4 d6@4 f6@4 e6@4 c6@3, ~@13 a5@7 ~@12",
J: "~ f6@4 e6@4 c6@4 f6@4 e6@4 c6@4 f6@4 e6@3", K: "~ c6@4 f6@4 e6@4 ~@4 a5@4 d6@4 c6@4 a5@3, ~@13 c6@7 ~@12",
L: "[~ d6@2 c6@2 a5@2 d6@2 c6@2 a5@2 d6@2 c6@2 a5@2 d6@2 c6@2 ~@2 d6@2 f6@2 e6@2 c6@2 f6@2 e6@2 c6@2 f6@2 e6@2 c6@2 f6@2 e6@2 c6@2 f6@2 e6@2 ~@2 a5@2 d6@2 c6@2 a5, ~@46 a5@7 ~@57 c6@7 ~@11]/4",
M: "[~@3 d6@4 c6@4 a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 ~@4 d6@4 f6@4 e6@4 c6@4 f6@4 e6@4 c6@4 f6@4 e6@4 c6@4 f6@4 e6@4 c6@4 f6@4 e6@4 ~@4 a5@4 d6@4 c6@4 a5@4 d6@4 ~ c6@4 a5@4 d6@4 c6@4 a5@4 d6@4, ~@47 a5@7 ~@57 c6@7 ~@42]/5",
N: "c6 a5 d6 c6 ~ d6 f6 e6, ~@16 a5@7 ~@9", O: "c6 f6 e6 c6 f6 e6 c6 f6", P: "e6 c6 f6 e6 ~ a5 d6 c6, ~@16 c6@7 ~@9",
Q: "~ a5@4 d6@4 c6@4 a5@4 d6@4 c6@4 a5@4 d6@3", R: "~ c6@4 a5@4 d6@4 c6@4 ~@4 d6@4 f6@4 e6@3, ~@17 a5@7 ~@8",
S: "~ c6@4 f6@4 e6@4 c6@4 f6@4 e6@4 c6@4 f6@3", T: "~ e6@4 c6@4 f6@4 e6@4 ~@4 a5@2 ~@9",
})).s("gm_epiano2").gain(0.48).pan(0.3)
// bass · electric bass finger
const bass = note(`<
~@14 A@3 B C D E F G H I J K L M@4 N O P Q R S T U V W X Y Z AA AB AC@2 AD@2 AE AF AG@2 AH AI AJ@2 AK AL@5 AM AN AO AP
AQ AR AS AT AU AV AW AX AY@5 AZ BA BB BC BD BE BF BG BH@3 BI@6 BJ BK BL BM BN BO BP@3 BQ BR BS@2 BT BU@2 BV BW BX BY
BZ CA CB CC AM AN AO AP CD AR CE AT CF AV@2 CG@5 CH CI CJ CK CL CM@4 CN CO@2 CP@2 ~@7
>`.pickRestart({
A: "[~@11 a1@6 ~ [g1,ab1] d1@6 ~@2 a1 ~@3 d1@3 ~@9 [a0,a1]@3 ~ a0@3 ~ d1@6 ~@2 a1 ~@3 d1@3 ~@10 a1@2 ~@2 a0@3 ~ d1@6 ~@2 a1 ~@3]/3", // Abmaj7 A
B: "d1@3 ~@9 a0@3 ~ a0@3 ~ bb0@6 ~@2 bb0 ~@3", C: "bb0@3 ~@9 a0@3 ~ a0@3 ~ bb0@3 ~ bb1@3 ~ bb0@3 ~",
D: "bb1@6 ~@6 g1@6 ~@2 d1@6 ~@2 a1 ~@3", E: "d1@3 ~@10 d1@3 ~ a0@3 ~ bb0@6 ~@5",
F: "~ d1@3 ~@5 d1@3 ~ d1@3 ~ c1@3 ~ bb0@6 ~@2 bb0 ~@2", G: "~ bb0@3 ~@9 a0@3 ~ a0@3 ~ bb0@3 ~ bb0@3 ~ a0@3",
H: "~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ c1@3 ~ c1@3 ~ d1@3 ~ d1@3", I: "~@2 d1@3 ~@17 c1@3 ~ d1@3 ~ d1@2",
J: "~@2 d1@3 ~@5 c1@3 ~ d1@3 ~ c1@3 ~ bb0@6 ~@2 a0@2", K: "~@2 bb0@3 ~@13 a0@3 ~ bb0@3 ~ bb0@3 ~ a0@2",
L: "~@2 bb0@6 ~@2 bb0@3 ~ bb0@3 ~ c1@3 ~ c1@3 ~ d1@3 ~ d1@2",
M: "[~@2 d1@3 ~@14 a0@3 ~ c1@3 ~ d1@3 ~ d1@3 ~ d1@6 ~@2 c1@3 ~ d1@3 ~ c1@3 ~ bb0@6 ~@2 a0@3 ~ bb0@3 ~@13 a0@3 ~ bb0@3 ~ bb0@3 ~ a0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ c1@3 ~ c1@3 ~ d1@3 ~@2]/4",
N: "d1@3 d1@3 ~@14 a0@3 ~ c1@3 ~ d1@3 ~", O: "d1@3 ~ d1@6 ~@2 c1@3 ~ d1@3 ~ c1@3 ~ bb0@6 ~@2",
P: "a0@3 ~ bb0@3 ~@13 a0@3 ~ bb0@3 ~ bb0@3 ~", Q: "a0@3 ~ bb0@6 ~@2 a0@3 ~ a0@3 ~ c1@3 ~ c1@3 ~ d1@3 ~",
R: "d1@3 ~@2 d1@3 ~@13 a0@3 ~ c1@3 ~ d1@3", S: "~ d1@3 ~ d1@6 ~@2 c1@3 ~ d1@3 ~ c1@3 ~ bb0@6 ~",
T: "~ a0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ bb0@3 ~ bb0@3 ~ bb0@3", U: "~ bb0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ f1@3 ~ f1@6 ~",
V: "~ f1@3 ~@2 f1@6 ~@2 f1@3 ~ f1@3 ~ f1@3 ~ f1@6", W: "~@2 f1@3 ~ f1@6 ~@2 f1@3 ~ f1@3 ~ [c1,d1]@3 ~ c1@6",
X: "~@2 c1@3 ~ c1@6 ~@2 c1@3 ~ c1@3 ~ c1@3 ~ c1@6", Y: "~@2 c1@3 ~ c1@6 ~@2 c1@3 ~ c1@3 c1 [c1,eb1]@3 ~ eb1@6",
Z: "~@2 eb1@3 ~ eb1@6 ~@2 eb1@3 ~ eb1@3 ~ eb1@3 ~ eb1@6", AA: "~@3 eb1@3 ~ eb1@6 ~@2 eb1@3 ~ eb1@3 ~ c1@3 ~ bb0@5",
AB: "~@3 [bb0,bb1]@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ bb0@3 ~ bb0@5", // Bb
AC: "[~@3 bb0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ bb0@3 ~ c1@3 ~ d1@3 ~ d1@3 ~ d1@3 ~@22]/2",
AD: "[~@4 [d1,a1]@3 ~ d2@9 ~@3 a1@6 ~@3 bb0@6 ~ g0@3 ~ bb0@3 ~@13 g0@3 ~ bb0@3 ~]/2", // D5
AE: "bb0@3 ~ g0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ c1@3 ~ c1@3 ~", AF: "d1@3 ~ d1@3 ~ d1@3 ~@21",
AG: "[~@5 d2@3 ~ d2@9 ~@3 a1@5 ~@3 bb0@6 ~@2 a0@3 ~ bb0@3 ~@13 a0@3 ~ bb0@3]/2",
AH: "~ bb0@3 ~ a0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ c1@3 ~ c1@3",
AI: "~ d1@3 ~ d1@3 ~ d1@3 ~@5 a0 ~@3 a0@4 a0@3 ~@2 c1@2",
AJ: "[~@2 d1@3 ~ d1@3 ~ d1@6 ~@2 c1@3 ~ d1@3 ~ c1@3 ~ bb0@6 ~@2 a0@3 ~ bb0@3 ~@13 a0@3 ~ bb0@2]/2",
AK: "~@2 bb0@3 ~ a0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ c1@3 ~ c1@2",
AL: "[~@2 d1@3 ~ d1@3 ~ d1@3 ~@14 a0@3 ~ c1@3 ~ d1@3 ~ d1@3 ~ d1@6 ~@2 c1@3 ~ d1@3 ~ c1@3 ~ bb0@6 ~@2 a0@3 ~ bb0@3 ~@9 a0@3 ~ a0@3 ~ bb0@3 ~ bb0@3 ~ bb0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ e1@3 ~ f1@6 ~@2 f1@3 ~ f1@6 ~@2 f1@3 ~@2 f1@3 ~ f1@3 ~]/5",
AM: "f1@6 ~@2 f1@3 ~ f1@6 ~@2 f1@3 ~ f1@3 ~ [e1,f1]@3 ~", AN: "c1@6 ~@2 c1@3 ~ c1@6 ~@2 c1@3 ~ c1@3 ~ c1@3 ~",
AO: "c1@6 ~@2 c1@3 ~ c1@6 ~@2 c1@3 ~ c1@3 c1 [c1,eb1]@3 ~", AP: "eb1@6 ~@2 eb1@3 ~ eb1@6 ~@2 eb1@3 ~ eb1@3 ~ eb1@3 ~",
AQ: "eb1@6 ~@2 eb1@3 ~ eb1@6 ~@2 eb1@3 ~@2 eb1@3 ~ c1@3", AR: "~ bb0@6 ~@2 bb0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ bb0@3",
AS: "~ bb0@6 ~@2 bb0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ e1@3", AT: "~ f1@6 ~@2 f1@3 ~ f1@6 ~@2 f1@3 ~ f1@3 ~ f1@3",
AU: "~ f1@6 ~@2 f1@3 ~ f1@6 ~@2 f1@3 ~ f1@3 ~@2 [e1,f1]@2", AV: "~@2 c1@6 ~@2 c1@3 ~ c1@6 ~@2 c1@3 ~ c1@3 ~ c1@2",
AW: "~@2 c1@6 ~@2 c1@3 ~ c1@6 ~@2 c1@3 ~ c1@3 c1 [c1,eb1]@2", // Cm
AX: "~@2 eb1@6 ~@2 eb1@3 ~ eb1@6 ~@2 eb1@3 ~ eb1@3 ~ eb1@2",
AY: "[~@2 eb1@6 ~@2 eb1@3 ~ eb1@6 ~@3 eb1@3 ~ eb1@3 ~ c1@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ bb0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@6 ~@2 bb0@3 ~ bb0@3 ~ e1@3 ~ f1@6 ~@2 f1@3 ~ f1@6 ~@2 f1@3 ~ f1@3 ~ f1@3 ~ f1@6 ~@2 f1@3 ~ f1@6 ~@3 f1@3 ~ f1@3 ~]/5",
AZ: "bb0@3 ~ c1@6 ~@2 c1@3 ~ c1@6 ~@2 c1@3 ~ c1@3 ~", BA: "c1@3 ~ c1@6 ~@2 c1@3 ~ c1@6 ~@2 c1@3 ~ c1@3 ~",
BB: "a0@3 ~ g0@3 ~ g0@3 ~ g0@3 ~ g0@3 ~ g0@3 ~ g0@3 ~ g0@3 ~",
BC: "g0@3 ~ g0@3 ~ g0@3 ~ g0@3 ~ g0@3 ~@2 g0@3 ~ g0@3 ~ g0@3",
BD: "~ g0@3 ~ a0@3 ~ a0@3 ~ a0@3 ~ a0@3 ~ a0@3 ~ a0@3 ~ a0@3",
// … 240 more lines
More by U2
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.