0:00/0:00
// I Who Have Nothing — Tom Jones
// 137 bpm, 4/4, key E 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 100 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(137/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
const piano = note("<A@3 B@2 ~@8 C@8 D@7 ~@4 E@8 F@8 ~@14 G@2 H@8 I@7 J ~@10 K@5 ~@5>".pickRestart({
A: "[~@21 b1@5 ~@7 g3@3 ~@3 g3@5 ~@12 g3@4 ~@2 [g3,e4]@5 e2@5, ~@27 e2@19 ~@4 e2@13 ~@9, ~@39 e4@19 ~@14, ~@44 b3@11 ~@17, ~@44 g3@9 ~@19]/3", // C
B: "[~@7 d3@4 ~@19 f#3@4 ~@8 d2@5 ~, ~ d2@12 [d3,f#3]@11 d3@10 ~@2 [d3,f#3,a3]@8 ~@4, ~ a3@10 ~@2 a3@18 ~@17, ~@6 d2@7 ~@3]/2", // D
C: "[[e2,g3,b3]@44 ~@3 [d2,f#3,a3]@43 ~@5 [e2,b3]@44 ~@3 [d2,f#3,a3]@43 ~@4 [g2,b3,g4]@3, ~@95 g3@42 ~@55]/8", // Em D E5 D G
D: "[~@3 b3@5 ~ [b3,d4,g4]@6 g2@2 ~@10 b3@4 ~@2 b3@3 ~@3 b3@5 ~ [b3,d#4,f#4]@11 [b3,d#4,f#4]@9 b1@2 ~@7 b2@6 ~@6 [b3,d#4]@5 ~ b3@4 ~@2 b3@5 ~ b3@6 ~@3 b3@2 ~ a3@5 a3@4 ~@2 a3@3 ~@3 a3@5 ~ g3@4 ~@2 g3@3 c2@3 g3@3 ~@3 g3@3 c4@2 ~ [c2,g3,c4,e4]@3 ~@2, ~@18 [d4,g4]@14 ~ g4@10 ~@37 f#4@11 ~ [e4,g4]@10 ~@2 [e4,g4]@10 ~@2 f#4@10 ~@42, ~@18 b3@6 ~@9 d4@8 ~@27 [b3,d#4,f#4]@11 ~ [b3,d#4]@5 ~@42 [d4,f#4]@10 ~@2 [c4,e4]@10 ~@2 [c4,e4]@7 ~@10, ~@21 g2@13 ~@2 g2@8 ~ b2@20 ~@3 b1@13 ~@2 [b1,b2]@9 e2@13 ~@5 e2@5 ~ [d2,d4]@12 ~@2 d2@8 ~ c2@8 ~@7 c2@7 ~@7]/7", // G B C G5 Em B D C …
E: "[~@17 [e2,g3,b3]@45 ~@3 [d2,f#3,a3]@43 ~@5 [g3,b3]@43 ~@4 [d2,f#3,a3]@32, ~@113 e2@45 ~@34]/8", // Em D G D
F: "[~@16 b3@4 ~@2 b3@5 ~ [b3,d4,g4]@6 g2@2 ~@10 b3@4 ~@7 b3@5 ~ [b3,d#4,f#4]@11 ~ [b3,d#4,f#4]@9 b1@2 ~@7 b2@6 ~@6 [b3,d#4]@5 ~ b3@4 ~@2 b3@5 b3@6 ~@3 b3@2 ~ a3@5 ~ a3@4 ~@2 a3@3 ~@3 a3@5 ~ g3@4 ~@2 g3@3 c2@3 g3@3 ~@3 g3@3 c4@2 ~ [c2,g3,c4,e4]@3 ~@7, ~@16 g2@13 ~@8 b3@6 ~@9 d4@8 ~@51 [e4,g4]@10 ~ [e4,g4]@10 ~@14 [d4,f#4]@10 ~@36, ~@16 g4@9 ~@12 [d4,g4]@14 ~ g4@10 ~@37 f#4@11 ~@24 f#4@10 ~@48, ~@40 g2@12 b3@4 ~@31 [b3,d#4,f#4]@11 ~ [b3,d#4]@5 ~@54 [c4,e4]@10 ~@2 [c4,e4]@7 ~@15, ~@54 g2@8 ~ b2@20 ~@4 b1@13 ~@2 [b1,b2]@8 ~ e2@13 ~@4 e2@5 ~ [d2,d4]@12 ~@3 d2@8 ~ c2@8 ~@7 c2@7 ~@12]/8", // G B C Em D G5 B C …
G: "[~@8 [a2,g3,c4]@9 a2@3 [g3,c4]@3 a2@3 [g3,c4]@3 a2@3 [b2,f#3,b3]@5 ~@11]/2", // Am7 C5 B5
H: "[~@8 [e2,b3]@44 ~@3 [d2,f#3,a3]@43 ~@4 [e2,b3]@44 ~@4 [d2,f#3,a3]@42, ~@4 g3@21 ~@26 g3@21 ~@24]/8", // E5 D E5 D
I: "[~@5 b3@4 ~@2 b3@5 ~ [b3,d4,g4]@6 g2@2 ~@10 b3@4 ~ b3@3 ~@3 b3@5 ~ [b3,d#4,f#4]@11 ~ [b3,d#4,f#4]@9 b1@2 ~@7 b2@6 ~@6 [b3,d#4]@5 ~ b3@4 ~@2 b3@5 b3@6 ~@3 b3@2 ~ a3@5 ~ a3@4 ~@2 a3@3 ~@3 a3@5 ~ g3@4 ~@2 g3@3 c2@3 g3@3 ~@3 g3@3, ~@5 g2@13 ~@8 b3@6 ~@8 d4@8 ~@28 [b3,d#4,f#4]@11 ~ [b3,d#4]@5 ~@42 [d4,f#4]@10 ~@2 [c4,e4]@10 ~@2 [c4,e4]@7 ~@2, ~@5 g4@9 ~@12 [d4,g4]@14 g4@10 ~@38 f#4@11 ~ [e4,g4]@10 ~ [e4,g4]@10 ~@2 f#4@10 ~@35, ~@29 g2@13 ~ g2@8 ~ b2@20 ~@4 b1@13 ~@2 [b1,b2]@9 e2@13 ~@4 e2@5 ~ [d2,d4]@12 ~@3 d2@8 ~ c2@8 ~@7 c2@6]/7", // G B D C G5 Em B D
J: "c4@2 ~ [c2,g3,c4,e4]@3 ~@18", // C
K: "[~@27 g3@3 ~@3 g3@5 ~@13 g3@5 [g3,e4]@6 e2@5 ~@7 d3@4 ~@14 d3@7 ~@21, ~@21 e2@18 b3@12 ~@17 a3@10 ~@2 a3@18 ~@22, ~@33 e4@19 ~@68, ~@39 g3@9 ~@32 [d3,f#3]@11 ~@29, ~@45 e2@13 ~@10 d2@13 ~@5 d2@13 ~@21]/5", // C D
})).s("gm_piano").gain(0.4).pan(0.4)
// chords · piano
const piano_2 = note("<~@20 A@8 ~@12 B@8 ~@8 C@8 ~@8 D@8 E@2 F@3 ~@5 G@6 ~@4>".pickRestart({
A: "[~@21 [g4,b4]@47 ~ [f#4,b4]@47 [b4,e5]@24 [a4,d5]@23 [g4,c5]@29]/8", // G B5 E5 D5 C5
B: "[~@16 [g4,b4]@47 [f#4,b4]@47 ~ [e4,g4]@23 [d4,f#4,a4]@23 ~ [c4,e4,g4]@24 ~@10]/8", // G B5 Em D C
C: "[~@11 [d4,f#4]@47 [e4,g4]@47 [f#4,b4]@47 [e4,g4]@24 [d#4,f#4]@6 ~@10]/8", // D Em B5 Em D#m
D: "[~@5 [g4,b4]@47 [f#4,b4]@47 ~ [e4,g4]@23 [d4,f#4,a4]@24 [c4,e4,g4]@28 ~@17]/8", // G B5 Em D C
E: "[~@2 g3@11 ~ [g3,b3]@34, ~ e4@23]/2", F: "[~@2 [g3,c4,e4]@47 ~@23]/3",
G: "[~@21 [g4,b4,e5]@47 [f#4,a4,d5]@74 ~@2]/6", // Em D
})).s("gm_piano").gain(0.05)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@5 A@2 B@2 C@2 D@4 E@2 F@2 G@2 ~@8 H@2 I@2 J@2 K@2 J@2 L@2 ~@23 M@4 N@2 O@2 ~@28
>`.pickRestart({
A: "[~@3 [b3,e4,f#4,g4]@8 ~]/2", B: "[~@2 [a3,d4,f#4]@5 ~]/2", C: "[~@4 [b3,e4,f#4,g4]@11 ~]/2",
D: "[~@2 [b3,e4,f#4,g4]@5 ~]/2", E: "[~@11 [d4,e4,f#4,a4]@27 ~@10]/2",
F: "[~@11 [f#4,g4]@30 ~@7, ~@5 [b3,e4]@15 ~@4]/2", G: "[~@10 [d4,e4,f#4,a4]@27 ~@11]/2",
H: "[~@3 [b3,e4,f#4,g4]@16 ~@5]/2", I: "[~@3 [a3,d4,e4,f#4]@14 ~@7]/2", J: "[~@5 [b3,e4,f#4,g4]@30 ~@13]/2",
K: "[~@5 [d4,e4,f#4,a4]@28 ~@15]/2", L: "[~ [d4,e4,f#4,a4]@7 ~@4]/2",
M: "[~@20 [b3,e4,f#4,g4]@30 ~@17 [d4,e4,f#4,a4]@27 ~@2]/4", N: "[~@3 [b3,e4,f#4,g4]@5]/2",
O: "[~@6 [f#4,a4]@9 ~, ~@17 [d4,e4]@28 ~@3]/2", // F#m Dsus2
})).s("gm_acoustic_guitar_steel").gain(0.19).pan(0.6)
// bass · acoustic bass
const bass = note(`<
A@2 B C D E@2 F G H@4 I@8 J K L@2 M N O P@4 Q@8 R@2 S@2 T@4 U@4 V@4 W@2 X Y Z AA@2 AB AC@2 AD@2 AE@2 AF@4 AG AH AI
AJ@2 AK AL@3 AM AN AO AP@4 AQ@5 AR@3 ~@2
>`.pickRestart({
A: "[~@21 b1@6 e2@13 ~@4 e2@2 ~@2]/2", B: "~@2 e2@17 b1@5", C: "~ d2@12 ~@5 d2@2 ~@4", D: "d2@8 ~ d2@8 ~ d2@4 ~@2",
E: "[e2@30 e3@6 b2@5 ~ e2@6]/2", F: "d2@17 ~ a2@6", G: "d3@9 a2@8 ~ d2@4 ~@2", H: "[e2@7 b1]/2",
I: "[e2@35 b2@6 e2@5 ~ d2@29 ~ d3@5 ~ a2@6 d2@4 ~@2 e2@35 b2@6 e2@5 ~ d2@29 d3@5 ~ a2@6 d2@4 ~@2 g1@3]/8",
J: "~@3 g1@15 d2@2 ~ g2@3", K: "d2@2 ~ g2@3 d2@2 ~ g1@5 ~ g1@3 a1@3 b1@3",
L: "[~@2 b1@15 f#2@2 ~ b2@3 a2@2 ~ b2@3 a2@2 ~ b2@3 f#2@3 e2@3 b1@3 e2@4]/2", M: "~@2 e2@9 a1@2 ~ e2@3 a1@2 ~ d2@4",
N: "~ d2@9 b1 ~@2 d2@6 c2@4 ~", O: "~ c2@9 a1@2 ~ g1@2 ~ a1@2 ~ c2@4 ~", P: "[~@18 e2@41 ~ b1@6 d2@29 c#3]/4",
Q: "[~@2 d3@3 g#2@3 a2@3 d2@3 d#2@3 e2@36 b2@6 e2@6 d2@30 d3@5 ~ a2@6 d2@4 ~@2 e2@35 b2@6 e2@5 ~ d2@30 d3@2]/8",
R: "[~@4 a2@6 d2@4 ~@2 g1@4 ~@2 g1@15 d2@2 ~ g2@3 d2@2 ~ g2@2]/2",
S: "[~ d2@2 ~ g1@5 g1@3 a1@3 b1@4 ~@2 b1@15 f#2@2 ~ b2@3 a2@2 ~ b2@3]/2",
T: "[a2@2 ~ b2@3 f#2@3 e2@3 b1@3 e2@4 ~@2 e2@8 a1@2 ~ e2@3 a1@2 ~ d2@4 ~@2 d2@9 b1 ~@2 d2@6 c2@4 ~@2 c2@9 a1@2 ~ g1@2 ~ a1@2 ~ c2@4 ~@6]/4",
U: "[~@13 e2@17 ~ b1@6 e2@3 ~@3 e2@12 b1@6 e2@17 b1@6 e2@2 ~@4 e2@6]/4",
V: "[b1@3 e1@3 e2@6 d2@20 ~ a1@3 d2@4 ~ d2@9 g#2@3 a2@3 d2@3 c2@15 f#2@3 g2@3 c3@5 ~ g2@2 ~ c2@7]/4",
W: "[~@2 g2@2 ~ f2@2 ~ c2@3 d2@20 a1@3 d2@4 ~@2 d2@8]/2", X: "~ g#2@3 a2@3 d2@3 c2@14",
Y: "~ f#2@3 g2@3 c3@5 g2@2 ~ c2@8 ~", Z: "g2@2 ~ f2@2 ~ c2@3 b1@13 ~@2",
AA: "[~@3 f#2@5 ~ b2@4 ~@2 f#2@6 b1@5 ~ b1@4 ~ a1@14 ~@2]/2", AB: "~@2 a1@2 ~ a#1@2 ~ b1@4 ~@12",
AC: "[~@2 b1@4 ~@2 e2@35 b2@5]/2", AD: "[~ e2@5 ~ d2@29 ~ d3@5 ~ a2@5]/2", AE: "[d2@4 ~@2 e2@35 ~ b2@6]/2",
AF: "[e2@5 ~ d2@29 d3@5 ~ a2@6 d2@4 ~@2 g1@4 ~@2 g1@15 d2@2 ~ g2@3 d2@2 ~ g2@3 d2@2 g1@5 ~ g1@2]/4",
AG: "~ a1@3 b1@4 ~@2 b1@14", AH: "~ f#2@2 ~ b2@3 a2@2 ~ b2@3 a2@2 ~ b2@3 f#2@3 e2@2",
AI: "~ b1@3 e2@4 ~@2 e2@8 a1@2 ~ e2@3", AJ: "[a1@2 ~ d2@4 ~@2 d2@9 b1 ~@2 d2@6 c2@4 ~@2 c2@9 a1@2 ~ g1@2 ~]/2",
AK: "a1@2 ~ c2@4 ~@17",
AL: "[~@2 e2@8 ~ b1 ~@2 b1@6 e1 ~@2 e1@6 b1@2 ~ e2@3 b2@5 ~ e2@3 b1 ~@2 d2@3 c2@17 g2@2 ~ c3@2]/3",
AM: "~ c3@6 g2@3 c2 ~@2 c2@4 ~@2 c2@4 ~", AN: "~ a1@15 ~@3 a1@5", AO: "a1@5 ~ a1 ~@3 a1@2 ~ a1@5 ~@2 a1@4",
AP: "[~@3 b1@86 ~@7]/4", AQ: "[~@21 e2@13 ~@5 e2@2 ~@4 e2@17 b1@6 d2@12 ~@6 d2@2 ~@4 d2@6 d2@9 ~@3 d2@10]/5",
AR: "[~ d2@9 ~@8 e2@35 ~@19, ~@13 e1@40 ~@19]/3",
})).s("gm_acoustic_bass").gain(0.5)
// other · string ensemble 2
const string_ensemble_2 = note("<~@5 A@2 B@2 C@4 ~@20 D@8 ~@9 E F G@8 H@3 ~ I@4 J@5 ~@7 K@5 ~@10 L@5>".pickRestart({
A: "b6/2", B: "[a6@47 ~]/2", C: "[b6@31 ~]/4",
D: "[~@5 b5@24 d6@12 a6@36 f#6@6 d6@6 e6@41 b5@6 a5@23 ~ f#5@12 d5@10 ~@10]/8", E: "~@3 b4", F: "e5 f#5 a5 g5",
G: "[b5@6 e6@6 f#6@35 d6@11 ~ e6@35 ~ g6@6 e6@6 f#6@35 d6@11 ~ e6@35 g6@3]/8",
H: "[~@3 e6@6 d#6@23 ~ f#6@6 f#5@6 b5@6 d#6@5 ~@16]/3", I: "[~@20 b5@35 a5@29 ~ d5@6 f#5@5]/4",
J: "[a5@6 b5@47 ~ a5@17 f#5@6 d5@12 a4@10 ~@21]/5", K: "[~@2 [g3,e4]@95 ~@23]/5", L: "[~@13 [b3,e4]@90 ~@17]/5",
})).s("gm_string_ensemble_2").gain(0.37).pan(0.6)
// chords · string ensemble 1
const string_ensemble_1 = note(`<
~ A@2 B C ~@4 D E@2 F G H I@2 J@2 K@2 L@6 M ~ N@2 O@2 P@2 Q@2 R@2 S@2 T@7 ~@14 U@2 V@8 W@8 X@2 Y Z AA@2 AB@5 AC@3 AD
AE@5
>`.pickRestart({
A: "[~@20 e5@6 g5@6 b5@6 e6@5 g6@5]/2", B: "~ [f#6,a6]@23", C: "~ a5@23, a6@23 ~",
D: "~@4 [f#3,f#4]@2 [e3,e4] ~, ~@3 [g4,b4]@2 ~", // F# E G
E: "[[f#3,f#4]@6 [e3,e4]@3 ~@3 [e3,e4,g4,b4]@20 ~@4 [f#3,f#4]@6 [e3,e4]@3 ~@3, [g4,b4]@3 ~@9 [g4,b4]@3 ~]/2", // F# E Em F# E G
F: "[f#3,f#4]@2 [e3,e4] ~ [e3,e4,g4,b4]@3 ~, [g4,b4]@5 ~@7", G: "~@4 [f#3,f#4]@2 [e3,e4] ~, ~@4 [g4,b4]@3 ~",
H: "[f#3,f#4]@6 [e3,e4]@3 ~@2 [e3,e4,g4,b4]@9 ~@4, [g4,b4]@5 ~@7", // F# E Em G
I: "[~@11 [e3,e4]@6 [d3,d4]@2 ~@4 [e3,e4,f#4]@6 [d3,d4]@4 ~@2 [d3,d4,a4]@10 ~@3, ~@11 [f#4,a4]@8 ~@4 a4@9 ~@16]/2", // E D Esus2 D D5 F#m
J: "[~@10 [f#3,f#4]@6 [e3,e4]@3 ~@3 [f#3,f#4]@6 [e3,e4]@3 ~@3 [e3,e4,g4,b4]@9 ~@5, ~@10 [g4,b4]@9 ~@3 [g4,b4]@10 ~@16]/2", // F# E F# E Em G
K: "[~@10 [e3,e4]@6 [d3,d4]@2 ~@4 [e3,f#4]@5 [d3,d4]@4 ~@2 [d3,d4,a4]@10 ~@5, ~@10 [f#4,a4]@8 ~@4 a4@9 ~@17, ~@22 e4@7 ~@19]/2", // E D Esus2 D D5 F#m
L: "[~@6 [d3,d5]@3 [b3,b5]@3 [a3,a5]@3 [g3,g5]@3 [a3,a5]@3 [b3,b5]@12 [d4,d6]@11 ~ [d#4,d#6]@17 [f#4,f#6]@6 [b4,b6]@12 [a4,a6]@11 ~ [g4,g6]@18 [e4,e6]@6 f#4@23 [c4,e4]@5, ~@29 f#6@5 ~@2]/6", // D B A G A B D D# …
M: "~@3 e5 ~ g5@2 c6@2 g5@2 c6@2 e6@2 c6@2 e6@2 g6@3 ~@2",
N: "[~ e3@2 ~@4 f#4@5 ~ e3@2 ~@3 [f#3,f#4]@6 [e3,e4]@2 ~@4 [e3,e4,g4,b4]@11 ~@7, e4@2 ~@4 [f#3,g4,b4]@6 e4@2 ~@4 [g4,b4]@9 ~@21]/2", // F# E Em Gmaj7 G
O: "[[e3,e4,a4] ~@5 [e3,e4,f#4]@6 [d3,d4]@2 ~@3 [e3,e4]@6 [d3,d4]@2 ~@4 [d3,d4,f#4,a4]@9 ~@10, ~@6 a4@8 ~@3 [f#4,a4]@9 ~@22]/2", // A5 Esus2 D E D F#m
P: "[~@5 [f#3,f#4]@6 [e3,e4]@3 ~@3 [f#3,f#4]@6 [e3,e4]@3 ~@3 [e3,e4,g4,b4]@9 ~@10, ~@5 [g4,b4]@9 ~@3 [g4,b4]@10 ~@21]/2", // F# E F# E Em G
Q: "[~@5 [e3,e4]@6 [d3,d4]@2 ~@4 [e3,e4]@6 [d3,d4]@4 ~@2 [d3,d4,a4]@10 ~@9, ~@5 [f#4,a4]@8 ~@4 [f#4,a4]@9 ~@22]/2", // E D E D D5 F#m
R: "[~@5 [f#3,f#4]@6 [e3,e4]@3 ~@3 [f#3,f#4]@6 [e3,e4]@3 ~@2 [e3,e4,g4,b4]@9 ~@11, ~@5 [g4,b4]@9 ~@3 [g4,b4]@10 ~@21]/2", // F# E F# E Em G
S: "[~@2 [e3,e4]@3 [d3,d4] ~@2 [e3,e4,f#4]@3 [d3,d4]@2 ~ [d3,d4,a4]@5 ~@5, ~@4 [f#4,a4]@8 ~@4 a4@9 ~@23]/2", // E D Esus2 D D5 F#m
T: "[~ [d3,d5]@3 [b3,b5]@3 [a3,a5]@3 [g3,g5]@3 [a3,a5]@3 [b3,b5]@12 [d4,d6]@11 [d#4,d#6]@18 [f#4,f#6]@6 [b4,b6]@12 [a4,a6]@11 ~ [g4,g6]@17 [e4,e6]@6 [f#4,f#6]@23 ~@9 e5 ~ g5 ~ c6@2 g5@2 c6@2 e6@2 c6@2 e6@2 g6@3 ~@7, ~@67 [c4,e4]@14 ~@3]/7", // D B A G A B D D# …
U: "[~@8 e6@6 a5@3 b5@3 c6@3 d6@3 e6@3 g6@3 f#6@3 ~@13]/2",
V: "[~@8 e2@2 ~@4 b2 ~@5 [e3,f#3,g3,b3]@32 ~@3 d2@2 ~@4 a2 ~@5 [d3,e3,f#3,a3]@32 ~@3 e2@2 ~@4 b2@2 ~@4 [e3,f#3,g3,b3]@34 ~@2 d2@2 ~@4 a2@2 ~@3 [d3,e3,f#3,a3]@31]/8", // Em D Em D
W: "[~@14 [d3,d5]@3 [b3,b5]@3 [a3,a5]@3 [g3,g5]@3 [a3,a5]@3 [b3,b5]@11 [d4,d6]@11 ~ [d#4,d#6]@18 [f#4,f#6]@6 [b4,b6]@12 [a4,a6]@11 ~ [g4,g6]@17 [e4,e6]@6 [f#4,f#6]@23 ~@9 e5 ~ g5 ~ c6@2 g5@2 c6@2 e6@2 c6@2 e6@2 g6@3 ~@18, ~@147 [c4,e4]@28 ~@17]/8", // D B A G A B D D# …
X: "[~@8 e5@3 g5@3 b5@3 g5@3 b5@3 e6@3 [b5,g6]@21 ~]/2", Y: "~@7 e5@3 g5@3 c6@3 g5@3 c6@3 e6@2", Z: "~ [c6,g6]@22 ~",
AA: "[~ [e4,e6]@32 ~@4 [e4,e6]@4 ~@3 [g4,g6]@3 ~]/2", // E G
AB: "[~@3 b6@2 a#6 a6@2 g#6 g6@2 ~ f6 ~@2 d#6@2 ~ c#6@2 c6@2 b5 ~ a5 ~ g#5@2 ~ f#5 ~@2 e5 d#5 ~@2 c#5@2 c5@2 b4 a#4 ~@2 g#4 ~@2 f#4@2 f4@2 e4 d#4@2 ~ c#4@2 c4@2 ~ b3@57 ~@3, ~@11 f#6@2 ~ e6@2 ~ d6@2 ~@4 a#5@2 ~@3 g5@2 ~ f5@2 ~@2 d5@2 ~@6 a4@2 ~ g4@2 ~@6 d4@2 ~@64]/5",
AC: "[~@15 e5@6 g5@6 b5@6 e6@5 g6@6 [f#6,a6]@24 ~@4]/3", AD: "~@2 [f#4,f#6]@9 ~@3 [f#4,f#6]@10",
AE: "[~ [a4,a6]@8 ~@4 [b4,b6]@88 ~@19]/5", // A B
})).s("gm_string_ensemble_1").gain(0.35).pan(0.3)
// other · electric guitar muted
const electric_guitar_muted = note("<~@21 A@2 B@2 ~@16 C D E F@3 ~@25 G H@2 I@2 J@2 ~@21>".pickRestart({
A: "[d3 ~@2 d4 ~@2 d3 ~@2 d4@2 ~ c#4@2 ~ c4@5 ~ b3@19 ~@8]/2",
B: "[[a3,c#4]@5 ~ [a3,c#4]@2 ~ c#4@5 c#4@3 b3@2 ~ b3@3 a3@4 ~@21, ~@4 a3@3 ~@17]/2", // A
C: "~@4 b3@4 ~ b3@2 ~@2 a3@2 ~ b3@5 ~ b3@2", D: "~ a3@2 ~ b3@9 ~@11",
E: "~@3 b3@5 ~ a3@2 ~ b3 ~@2 [a3,c#4]@5 ~ [a3,c#4]@3", // A
F: "[b3@2 ~ b3@10 ~@2 g3@14 b2@3 e3@2 ~ g3@3 d3@16 ~@2 d3@5 ~@11]/3", G: "~@17 b3@4 ~ b3@2",
H: "[~@2 a3@2 ~ b3@5 ~ b3@3 a3@2 ~ b3@9 ~@14 b3@5 ~ a3@2]/2",
I: "[~ b3 ~@2 [a3,c#4]@5 ~ [a3,c#4]@3 b3@2 ~ b3@10 ~@2 g3@14 b2@3 e3@2 ~]/2", J: "[g3@3 d3@16 ~@2 d3@5 ~@22]/2",
})).s("gm_electric_guitar_muted").gain(0.32).pan(0.3)
// other · flute
const flute = note("<~@35 A@2 B@2 C@2 ~@9 D E F@8 G@4 ~@36>".pickRestart({
A: "[~@11 d6@2 ~@4 f#6 ~@2 g6@2 ~ a6@16 ~@9]/2", B: "[~@5 b5 ~ a5 ~ b5@30 ~@9]/2",
C: "[~@10 a5 ~@5 a5@12 d5@10 ~@10]/2", D: "~@3 b4", E: "e5 f#5 a5 g5",
F: "[b5@6 e6@6 f#6@35 d6@12 e6@35 ~ g6@6 e6@6 f#6@35 d6@12 e6@35 g6@3]/8",
G: "[~@3 e6@6 d#6@23 ~ f#6@6 f#5@6 b5@6 d#6@5 e6@6 a5@2 ~ b5@2 ~ c6@2 ~ d6@2 ~ e6@2 ~ g6@2 ~ f#6@3 ~@13]/4",
})).s("gm_flute").gain(0.29).pan(0.3)
// chords · brass section
const brass_section = note(`<
~ A@2 B C D@2 ~@13 E@8 ~@7 F@2 G@2 H I@8 ~ J@4 ~@7 K@4 ~@8 L@8 M N O P Q@2 R ~@4 S@2 T U V@5
>`.pickRestart({
A: "[~@12 [e5,g5,b5] [d#5,a#5] ~ [e5,g5,b5]@22 ~ [e5,g5,b5]@3 ~@3 g5@2 ~@2, ~@43 [e5,b5]@2 ~@3]/2", // Em D#5 Em E5
B: "~ [d5,a5]@2 [c#5,e5] ~ [d5,f#5,a5]@19, ~ f#5 ~@22", C: "a5@3 f#5@3 d5@2", D: "[[b4,e5]@7 ~]/2",
E: "[~@21 [d4,b4]@47 ~ [d#4,b4]@47 [g4,e5]@23 ~ [f#4,d5]@23 [e4,c5]@27 ~@2]/8", // G G#m C D C
F: "[~@11 d4@2 ~@4 f#4@2 ~ g4@2 ~ a4@17 ~@8]/2", G: "[~@5 b4 a4 ~@2 b4@32 ~@7]/2", H: "~@5 a4 ~@2 a4@4",
I: "[~@5 d4@9 ~@2 [d4,b4]@47 [d#4,b4]@47 ~ [g4,e5]@23 [f#4,d5]@23 ~ [e4,c5]@27 ~@7]/8", // G G#m C D C
J: "[~@7 e4@6 b4@5 ~ a4@11 ~ f#4@3 d4@3 e4@41 ~@18]/4",
K: "[~@18 [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ b4@18 ~@11 d#5@5 e5@6 a4@3 b4@2 ~ c5@2 ~ d5@2 ~ e5@2 ~ g5@3 f#5@3 ~@13, ~@9 b2@46 ~@41, ~@22 d#5@23 b4@10 ~@41, ~@22 f#4@17 ~ f#4@16 ~@40]/4", // B
L: "[~@5 [d4,b4]@47 [d#4,b4]@47 ~ [g4,e5]@23 [f#4,d5]@23 ~ [e4,c5]@27 ~@18]/8", M: "~ e3@5 ~ [e3,b4,e5]@5",
N: "~ [e3,e5,g5]@11", O: "~@2 c3@17 g3@5", P: "~ [g3,e5,g5]@21 ~@2",
Q: "[~ [g4,e5]@27 ~@2 [g4,c5,e5] ~@3 [g4,c5,e5] ~@2 [g4,c5,e5]@3 ~@4 [g4,c5,e5,g5]@4]/2", R: "~ [f#4,b4,d#5] ~@6",
S: "[~@6 [e5,g5,b5] ~ [d#5,a#5] [e5,g5,b5]@23 ~ [e5,g5,b5]@3 ~@3 [e5,g5]@2 ~@5 [c#5,e5] ~, ~@38 b5@2 ~@5 [d5,f#5,a5]@2 ~]/2", // Em D#5 Em C#m D
T: "[d5,f#5,a5]@19 ~@5", U: "~ [f#4,d5,f#5]@5 ~ [f#4,d5,f#5]@5", V: "[~ [a4,f#5,a5]@9 ~@3 [b4,b5]@89 ~@18]/5",
})).s("gm_brass_section").gain(0.55).pan(0.7)
// chords · trombone
const trombone = note(`<
A B@4 C@2 D E F@2 ~@17 G@3 ~@21 H@8 I@4 J K L M N O P Q@2 ~@7 R@2 S T U@2 V ~@3 W@5 X@5
>`.pickRestart({
A: "~@21 b1@2 ~", B: "[~@3 [e2,b2]@46 [d2,a2]@38 ~@9]/4",
C: "[~@21 [e4,b4] [d4,a4] ~ [e4,b4]@17 ~ [b3,g4]@4 ~@2, [e2,b2]@23 ~]/2", D: "d4@2 [c4,g4] ~ [d4,a4]@17 ~@3, a4 ~@23",
E: "~@9 [a3,d4,f#4]@8 ~ [f#3,a3,d4]@5 ~", F: "[[e3,g3,b3]@7 ~]/2", G: "[~@18 [e3,g3,b3]@41 ~@13]/3",
H: "[~@12 [f#3,a3]@47 [e3,g3]@47 ~ [f#3,a3]@47 [e3,g3]@38]/8", I: "[~@9 [f#3,b3]@45 ~@2 [e2,a2]@23 ~ b2@4 ~@12]/4",
J: "~@14 [g3,b3] ~@5 [e3,g3] ~@3, ~@7 e3 ~@2 b3 ~", // G Em
K: "~ [e3,b3]@2 ~@4 [e3,g3,b3]@2 ~@4 [e3,b3]@2 ~@4 [e3,g3,b3]@2 ~@3, ~ g3 ~@11 g3 ~@10", // E5 Em E5 Em
L: "~ [e3,g3] ~@11 [d3,e3]@2 ~@4 [d3,a3]@2 ~@3, ~ b3@2 ~@10 [f#3,a3] ~@5 [e3,f#3] ~@4", // Em Dsus2 D5 F#m Esus2
M: "~ [d3,e3,a3]@2 ~@4 [d3,e3,f#3,a3] ~@5 [d3,e3,f#3] ~@5 [d3,e3,f#3,a3] ~@4, ~ f#3 ~@11 a3@2 ~@9", // Dsus2 D
N: "[d3,e3,f#3] ~@11 [e3,g3,b3]@2 ~@4 [e3,g3] ~@5, a3 ~@8 b3 ~@2", // D Em
O: "[e3,g3,b3] ~@5 [e3,g3,b3] ~@5 [e3,g3,b3] ~@5 [e3,g3,b3] ~@5", // Em
P: "[e3,g3,b3] ~@11 [d3,e3,f#3,a3] ~@4 [d3,e3,f#3,a3] ~@5 [d3,e3,f#3,a3]", // Em D
Q: "[~@5 [d3,e3,f#3,a3] ~@5 [d3,e3,f#3,a3] ~@5 [e3,a3]@2 ~@4 [d3,e3,f#3] ~@24, ~@17 [d3,f#3] ~@5 a3@2 ~@23]/2", // D A5 D
R: "[~@23 e3@3 [e2,e3,g3]@21 ~, ~@2 e2@23 ~@23]/2", S: "~@19 c3@3 e3@2, ~ c2@11", T: "~ [c2,e3,g3]@22 ~",
U: "[~@30 [g3,a3,c4] ~@3 [g3,a3,c4] ~@2 [g3,a3,c4]@2 ~@5 [g3,a3,c4]@3 ~, ~ a1@47]/2", V: "~ [b1,a3,d#4,f#4] ~@6",
W: "[~@21 [e2,b2]@47 [d2,a2]@30 [d2,d3,f#3]@10 ~@2 [d2,d3,f#3]@10]/5", X: "[~ [d2,d3,f#3]@11 ~ [e2,e3,g3]@90 ~@17]/5",
})).s("gm_trombone").gain(0.55).pan(0.2)
// chords · french horn
const french_horn = note("<~@20 A@8 ~@12 B@8 ~@4 C@8 ~@2 D@2 ~@8 E@8 ~@4 F@3 ~@8 G@5>".pickRestart({
A: "[~@21 [d4,g4]@47 ~ [d#4,f#4]@47 [e4,g4]@23 ~ [d4,f#4]@23 [c4,e4]@25 ~@4]/8", // G5 D#m Em D C
B: "[~@16 [d4,g4]@47 [d#4,f#4]@47 ~ [e4,g4]@23 [d4,f#4]@23 ~ [c4,e4]@25 ~@9]/8", // G5 D#m Em D C
C: "[~@12 [d4,f#4]@47 [e4,g4]@47 ~ [d4,f#4]@47 [e4,g4]@38]/8", D: "[~@8 [a2,g3,c4]@23 ~ [a3,d#4]@4 ~@12]/2",
E: "[~@5 [d4,g4]@47 [d#4,f#4]@47 ~ [e4,g4]@23 [d4,f#4]@23 ~ [c4,e4]@25 ~@20]/8", F: "[~ [c4,g4]@48 ~@23]/3",
G: "[~@13 [b3,e4]@89 ~@18]/5", // E5
})).s("gm_french_horn").gain(0.21)
// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note("<~@48 A B@3 C D@8 E@2 ~@17 F@4 G@2 ~@14>".pickRestart({
A: "~@19 b3 ~@4, ~@13 [e2,b2,e3]@11", // E5
B: "[~ [b3,e4,g4]@2 ~@4 [e2,b2,e3] ~@2 [b3,e4,g4]@3 [e2,b2,e3]@2 ~ b3@3 ~@6 [b3,e4,g4]@3 [e2,b2,e3]@2 ~@4 [b3,e4,g4] ~@7 b3 ~@5 [e4,g4]@5 ~ b3 ~@2 [b3,e4,g4]@3 [e2,b2,e3] ~@8 b3 ~@2, ~@16 [e4,g4]@6 ~@15 [b2,e3]@17 ~@18, ~@19 [e2,b2,e3]@8 ~@9 e2@18 ~@12 [e2,b2,e3]@6, ~@48 b3@3 ~@12 [b3,e4,g4]@5 ~@4]/3", // Em E5 Em E5 Em E5 Em E5 …
C: "b3@3 ~@3 b3 ~@2 [b3,e4,g4] ~@2 d3@3 f#4 ~@5 f#4@2 ~, [e4,g4]@7 ~@5 a3@2 ~ [a4,d5]@7 ~@2, ~ [e2,b2,e3]@2 ~@3 [d3,a3]@2", // Em D5 E5 D5
D: "[f#4@3 ~@12 d5@5 [d3,a3]@3 f#4@3 ~@3 f#4@4 ~@5 [g4,c5,e5]@6 [c3,g3]@3 ~@15 g4@3 ~@3 g4@2 ~@7 c5@2 g3 ~@2 d3@3 f#4 ~@5 f#4@2 ~ f#4@3 ~@3 f#4@6 ~@3 [f#4,a4,d5]@5 ~ [d3,a3]@3 f#4@3 ~@3 f#4@4 ~@5 [g4,c5,e5]@6 [c3,g3]@3 ~@14 g4@3 ~@3 g4@2 ~@7 [g4,c5]@3 g3 ~@2 b3@4 ~@2 b3@3 ~@3 [b3,d#4,f#4]@3, [a4,d5]@14 ~@9 [a4,d5]@13 ~@11 e5@14 ~@10 e5@9 ~@62 e5@14 ~@9 e5@9 ~@18, ~@3 [d3,a3]@6 ~@2 [d3,a3]@5 ~@10 [d3,a3]@5 ~@4 [c3,g3]@5 ~@10 [c3,g3]@6 c5@5 ~ [c5,e5]@6 ~@3 [g4,c5]@5 g4@3 ~@6 [a4,d5]@7 ~@2 [a4,d5]@14 ~@10 [a4,d5]@13 ~@11 [g4,c5]@5 g4@7 ~@11 [g4,c5]@5 ~@22, ~@6 f#4@7 ~ [f#4,a4]@5 ~@28 [g4,c5]@5 ~ g4@6 [c3,g3]@5 ~ [c3,g3]@6 ~@3 c3@7 ~@7 [d3,a3]@7 ~@2 [d3,a3]@6 ~@3 [d3,a3]@5 ~@10 [d3,a3]@5 ~@4 [c3,g3]@5 ~@9 c3@6 c5@5 ~ [c5,e5]@6 ~@6 g3@5 ~@19, ~@74 g3@5 ~@3 a3@2 ~@61 g3@7 ~ [c3,g3]@5 ~ [c3,g3]@6 ~@3 c3@7 ~@2 [b2,f#4]@9 ~@6]/8", // D5 C C5 D D5 C C5 B …
E: "[~@3 b2@3 ~@3 b2@3 ~@14 b2@3 ~@19, ~@6 f#4@11 ~@4 [d#4,f#4]@7 ~@20, ~@6 b3@5 ~ [b3,d#4]@6 ~@2 b3@7 ~@21, ~@15 b2@7 ~@26]/2", // D#m B
F: "[~@8 g3 ~@2 g3@2 ~ [g3,e4]@5 ~@4 g3@6 ~@3 g3@4 ~@2 g3@3 ~@5 e4@9 g3@3 c4@2 ~ [c4,e4]@6 g3 ~@2 g3@6 ~@3 g3@4 ~@2 [g3,c4]@6 ~@3 c4@2, ~@2 e2@13 ~@5 e2@7 ~@2 e2@9 ~@3 e2@5 ~@50, ~@23 e4@12 ~@3 e4@7 ~@25 e4@13 ~@2 e4@11, ~@43 g3@8 ~@10 g3@4 ~@11 c4@8 ~@7 g3@5]/4", // C C5
G: "[~ g3@5 ~ g3@5 ~ [g3,e4]@5 a2@3 ~@3 a2@4 ~@2 [a2,g3,e4]@2 ~@2 [g3,e4]@2 ~ [a2,g3,e4]@5 ~@2 [a2,g3,e4]@4, ~ a2@13 ~@7 g3@5 ~@7 a2@3 ~@12, ~ e4@9 ~@11 e4@7 ~@20]/2", // C A7 C A7
})).s("gm_acoustic_guitar_steel").gain(0.31).pan(0.6)
// other · timpani
// … 109 more lines
More by Tom Jones
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.