0:00/0:00
// I Shot the Sheriff — Eric Clapton
// 90 bpm, 4/4, key G minor. Source: 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 111 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/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.
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
A B C D E F G H I J K L I M N O P Q R S@2 T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL@2 AM AN AO@2 AP AQ AR AS
AT AU AV AW AX AY AZ BA BB BC BD BE@3 BF BG BH@2 BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW@2 BX BY BZ CA CB CC BZ
CD CE CF CG CH CI CJ CK CL CM CN CO CP ~@8
>`.pickRestart({
A: "g1@3 ~@5 d2 g1 ~@4 d2 ~@5 d2 ~@2 d2", B: "c2@3 ~@5 c2 c2@2 ~@7 bb1 ~ c2 ~@2 c2",
C: "g1@2 ~@3 g1 ~@2 g1!2 ~@4 d2 ~@5 d2@4", D: "g1@2 ~@3 g1 ~@2 g1!2 ~@4 d2@2 ~@4 d2@4",
E: "g1@2 ~@3 g1 ~@2 g1!2 ~@4 d2 ~@9", F: "c2@3 ~@2 c2 ~@2 c2!2 ~@4 eb2@7 ~@3", G: "g1@2 ~@3 g1 ~@2 g1!2 ~@4 d2@7 ~@3",
H: "g1@2 ~@3 g1 ~@3 g1@3 ~@12", I: "eb2@11 ~ d2@9 ~@3", J: "g1@2 ~ g1 ~@3 d2", K: "eb2@11 ~ d2@6 ~@3 f1@3",
L: "g1@3 ~@2 g1@2 ~@2 g1@2 ~@10 d2@3", M: "g1@2 ~ g1 ~@2 bb1 d2", N: "eb2@6 d2@5 ~", O: "g1@5 ~@4 g1@3 ~@3 g1@3 ~@6",
P: "g1@3 ~ d2@3 ~", Q: "g1@7 ~@5 g1@4 ~@8", R: "g2@4 ~ f2@4 d2@4 ~ c2@4 bb1@3 d2@3",
S: "[c2@4 ~ bb1@4 g1@26 ~ g1@2 ~@6 d2 ~@2 d2]/2", T: "g1@2 ~@6 bb1@4 c2@5 ~@7",
U: "c2 ~@2 c2@9 g1@2 ~@3 g1 ~@3 g1@2 ~", V: "~@12 g1@2 ~@3 g1@2 ~@2 g1@2 ~", W: "~@12 g1@3 ~@2 g1 ~@3 g1 ~@2",
X: "~@8 bb1@4 c2@2 ~@3 c2 ~@3 c2 ~@2", Y: "~@9 bb1@3 g1@3 ~@2 g1 ~@3 g1@2 ~", Z: "~@12 g1 ~ g1 ~@2 g1@3 ~ g1 ~@2",
AA: "~@3 c2 eb2@4", AB: "d2@2 ~ g2@2 ~", AC: "g1@2 gb1 g1@2 ~@4 bb1@3 eb2@11 ~", AD: "d2@12 g1@5 ~@6 g1",
AE: "g1 ~ bb1 d2 eb2@4", AF: "d2@9 f1@3 g1@4 ~@7 f1", AG: "g1 ~ g1!2 ~@5 bb1@3 eb2@11 ~", AH: "d2@12 g1@5 ~@7",
AI: "g1@3 ~@3 bb1@2 c2 ~@3 eb2@12", AJ: "d2@9 ~@3 g1@2 ~@3 g1 ~@3 g1@2 ~", AK: "~@6 g1 ~ g1 ~@3 g2@4 ~ f2@4 d2@3",
AL: "[~@2 c2@4 bb1@3 d2@3 c2@4 ~ bb1@4 g1@25 ~@2]/2", AM: "g1@4 ~@5 g1@2 ~@13", AN: "c2@2 ~@3 c2@2 ~@2 c2@2 ~@13",
AO: "[g1@2 ~@3 g1 ~@3 g1 ~@8 f1@2 g1@6 ~@6 g1!2 ~@8 f1@2 g1@4]/2", AP: "~@5 g1 ~@3 g1@2 ~@12 bb1",
AQ: "c2 ~@2 c2 ~@4 c2 ~@9 bb1@2 c2@4", AR: "g1@3 ~@2 g1 ~@3 g1@2 ~@13", AS: "g1@2 ~@3 g1 ~@3 g1 ~@11 bb1@3",
AT: "eb2@8 bb2 eb3@2 ~ d3@2 a2 d2@8 ~", AU: "g1@5 ~@4 g1@3 ~@3 g1@6 bb1@3", AV: "eb2@11 ~ d2@12",
AW: "g1@3 ~@2 g1@2 ~@2 g1@2 ~@13", AX: "eb2@2 ~ eb2@2 ~ bb2@2 ~ eb3@2 ~ d3@12",
AY: "g1@2 ~@3 g1 ~@3 g1@5 ~@4 bb1@2 c2 ~@3", AZ: "eb2@11 ~ d2@8 ~ f1@2 gb1",
BA: "g1@2 ~@3 g1 ~@3 g1@8 ~ bb1@2 c2 ~@2 bb1", BB: "eb2@9 ~@3 d2@8 ~ f1@2 gb1", BC: "g1@2 ~@3 g1 ~@3 g1@2 ~@10 f2@3",
BD: "g2 ~ g2 ~@6 c2@3 d2@3 c2@3 bb1 ~@2 d2@3", BE: "[c2@3 ~@2 bb1@3 ~ g1@48 ~@3 g1@3 ~@5 g1 g1@3]/3",
BF: "~@3 g1@3 f1 ~ g1@4 c2@2 ~@3 c2 ~@3 c2 ~@2", BG: "~@6 bb1@6 g1@2 ~@3 g1 ~@3 g1 ~@2",
BH: "~@6 f1@2 g1@3 ~ g1@2 ~@3 g1 ~@3 g1@2 ~", BI: "~@6 bb1@5 ~ c2@3 ~@2 c2@2 ~@2 c2 ~@2",
BJ: "~@6 bb1@3 ~@3 g1 ~ g1 ~@2 g1 ~@3 g1@2 ~", BK: "~@12 g1 ~ g1 ~@2 g1 ~@3 g1 ~@2", BL: "~@3 d2 eb2@4",
BM: "d2@4 ~@5 f1@3 g1@5 ~@7", BN: "~@6 bb1 ~ bb1 d2@3 eb2@9 ~@3", BO: "d2@9 e1 ~ gb1 g1@2 ~@3 g1 ~@3 g1@2 ~",
BP: "~@6 bb1 ~ bb1 d2@2 ~ eb2@9 bb2@3", BQ: "d2@9 f1@3 g1@2 ~@3 g1 ~@3 g1 ~@2", BR: "~@3 g1 ~@2 f1@2 g1 ~@3 eb2@12",
BS: "d2@6 ~@3 f1@3 g1@2 ~@3 g1 ~@3 g1@2 ~", BT: "~@2 bb1 d2 eb2@4", BU: "d2@9 f1@3 g1@3 ~@2 g1@2 ~@2 g1@3",
BV: "~@6 d2 ~ d2 f2@3 g2@4 ~ f2@4 d2@3", BW: "[~@2 c2@4 bb1@3 d2@3 c2@5 bb1@4 g1@25 ~@2]/2",
BX: "g1@3 ~@5 f1 g1@3 ~@2 f1 g1 ~@2 f1@2 g1 ~@3", BY: "c2@3 ~@2 c2 ~@2 c2 c2@3 ~@6 bb1@6",
BZ: "g1@2 ~@3 g1 ~@3 g1@2 ~@13", CA: "g1@3 ~@2 g1 ~@3 g1@2 ~@7 f1@2 g1 ~@3",
CB: "g1@2 ~@3 g1 ~@3 g1@2 ~@7 f1@2 g1@3 ~", CC: "c2@2 ~@3 c2 ~@3 c2 ~@8 bb1 ~ c2 ~@3",
CD: "g1@2 ~@3 g1@2 ~@2 g1@2 ~@7 bb1 ~ bb1 d2 ~@2", CE: "eb2@12 d2@7 ~@4 d2",
CF: "g1 ~@2 g1@2 ~@3 g1 g1@2 ~@4 g1 ~@7 d2", CG: "eb2@3 bb2 d2@3 f1", CH: "g1@2 ~@3 g1 ~@3 g1@2 ~@7 bb1@2 d2 ~@3",
CI: "~ eb2@8 ~@3 d2@6 f1 ~ f1 gb1 ~@2", CJ: "g1@3 ~@2 g1 ~@3 g1 ~@5 g1 ~@8", CK: "eb2@12 d2@5 ~ d2@5 ~",
CL: "g1@3 g2 ~@10 f2 d2@3 c2 ~@2 c2@2 d2", CM: "eb2@4 d2@3 f1", CN: "g1@3 ~@2 g1 ~@3 g1 ~@5 g1 ~@2 f1@2 g1 ~@3",
CO: "eb2@12 d2@11 ~", CP: "g1@2 ~@3 g1 ~@3 g1 ~@9 g1 ~@4",
})).s("gm_electric_bass_finger").gain(0.25)
// chords · piano · "A.PIANO 1"
const piano = note(`<
A B C@3 D@3 E F G H@2 I@2 J K L M N@5 O@4 P Q@3 R S@2 T@2 U@4 V@2 W X@6 Y@2 Z AA AB@2 AC AD@2 AE AF@6 AG AH@3 AI@2 AJ
AK@2 AL AM@3 AN@2 AO@2 AP@2 AQ AR@4 AS@2 AT@3 AU AV@2 AW@2 AX@3 ~@8
>`.pickRestart({
A: "[g3,bb3]@17 ~ d4@2 f4@4, f3, ~@9 g3@2 ~", B: "g3@11 ~",
C: "[d4@15 ~@3 [c4,f4]@2 [d4,g4]@21 ~ [g4,c5]@2 ~@4 d4@20 ~@4, d3@20 ~@24 [f4,bb4]@23 ~@5, ~@6 bb3@2 ~]/3", // F5 G5 C5 Bb5
D: "[eb4@15 g4@6 d4@32 ~@4 [g3,g4] ~@5 [g3,g4] ~@2 c3@2 ~ g2@3, g3@53 ~@15 bb2@2 ~@2, bb3@19 ~@53]/3", // G
E: "~ [g3,g4] ~ [f3,a3,c4,f4], [eb3,bb3,d4] ~", // G F Ebmaj7
F: "g2@4 f3@2 [g3,db4] d4 ~ c4 ~ bb3 [c4,g4]@2 ~ [c4,g4] ~ bb3 [c4,g4]@2 ~ c4@2 bb3, ~@6 g4@2 ~@13 g4 ~@2", // Gdim C5
G: "~@6 bb3@4 ~@2 d3@6 f3@5 d3, eb3@11 ~ c4@9 ~@3",
H: "[~@3 [d5,g5] ~@2 db5 ~ bb4 g4@2 ~ bb4@2 ~ g4 ~@2 f4 ~@5 [eb3,bb3]@4 ~@2 [eb3,d4,g4]@6 d3@6 [a3,c4,f4]@6, g2@7 ~@13 g4@9 ~ [g3,bb3]@4 ~@2 c4@4 ~@2 f3@3 ~@3]/2", // G5 Eb5 Ebmaj7 F Gm
I: "[g2@3 ~@3 f4 ~@2 d4@2 f4 ~@2 f4 d4 ~ f4 ~@6 [eb3,bb3,d4]@11 ~ f4@12, ~@3 f3@19 ~@2 g3@9 ~@3 c4@10 ~@2, ~@5 g4@4 a3@2 ~]/2", // Ebmaj7
J: "~@5 g3@4 ~ g3 ~@7 [bb3,d4]@6, g2, ~@3 f3@7 ~@7 f3@2 ~@5, ~@5 [bb3,d4]@10 ~@3 g3@2 ~@4", // Bb
K: "g3@7 ~@2 g3 ~@2 [d3,a3]@8 ~ g3@2 ~, [eb3,bb3]@11 ~ c4@12, ~@3 f3 ~@2", // D5 Eb5
L: "g3@2 ~ g3@3 ~ g3 ~@3 g3 ~@2 g3 ~@5 [g3,bb3,d4] ~@2 g2, [g2,g4]@7 ~", // Gm G
M: "[g3,g4]@4 ~ [f3,f4]@4 [d3,d4]@5 [c3,c4]@4 [bb2,bb3]@3 [d3,d4]@3", // G F D C Bb D
N: "[[c3,c4]@5 [bb2,bb3]@4 [g2,g3]@27 [g3,bb3,d4]@13 ~@7 [bb3,d4,f4]@4 eb3@20 f4 ~@2 [bb3,d4]@28 ~@9, ~@36 f3@15 ~@5 g3@23 ~@4 f3@24 ~@13, ~@83 g3@15 ~@22]/5", // C Bb G Gm Bb
O: "[[g3,g4]@2 ~ db4 d4 ~ c4@3 bb3@2 ~ [g3,bb3]@19 ~@2 db4 d4@2 [bb3,eb4]@23 d3 g2@3 [f3,bb3,d4]@20 g3 ~@3 [g3,g4] ~@5 g3@2 ~, ~@3 g4@2 ~ g4@5 f3@18 ~@3 f3@4 eb3@21 ~@39, ~@12 d4@17 ~@4 g3@26 ~@4 g3@19 ~@14, ~@11 [bb3,f4] ~@20]/4", // G Gm Eb5 Bb G Bb5
P: "~@3 [g3,bb3]@2 ~@4 [bb3,d4,f4]@2 ~ [eb3,d4,g4]@12, ~@3 d4 ~@4 f3@4 bb3@10 ~@2, ~@9 g3@13 ~@2", // Gm Bb Ebmaj7
Q: "[[d3,g3,a3,c4,f4]@11 ~ db4 d4@10 ~@4 f5@3 db5 c5 bb4 g4@2 ~@7 [f3,g3,bb3]@4 ~@2 [a3,c4]@11 ~@4 bb3 ~ f3 [c4,db4]@2 ~ bb3@2 ~, ~@11 g2@19 ~@29 g2@6 ~@7, ~@12 [f3,bb3]@10 ~@4 d3@3 ~@13 d4@6 ~@24, ~@12 g3@8 ~@22 f4@16 ~@8 f4 ~@5]/3", // Dm7 Gm7 Am Dbmaj7 Bb5
R: "c4@2 ~ bb3 ~ f3 g3 ~ bb3 ~@2 f3 [eb3,bb3,d4,g4]@12, ~@9 g3@13 ~@2", // Ebmaj7
S: "[[a3,c4]@10 d3@2 [g3,d4]@16 ~@2 db4 ~@2 f4@2 ~ [eb3,d4]@12, [f3,f4]@12 ~@17 f3@2 d4@4 ~ bb3@10 ~@2, d3@4 ~@11 g4@9, ~@15 g3@8 ~, ~@16 f3 ~@7]/2", // Am G5 Ebmaj7 F
T: "[[d3,a3,c4]@10 ~ d3 [bb3,d4]@14 ~@3 f3 c5@2 f3 bb4@3 ~@6 bb3@4 ~ g3, [f3,f4]@11 ~ [f3,g3]@7 ~@17 [d4,g4]@12]/2", // D7 Bb F Fsus2 G5
U: "[~ a3@6 ~@4 d3 [f3,d4,g4]@22 ~ g2 [g3,g4]@4 ~ [f3,f4]@4 [d3,d4]@5 [c3,c4]@4 [bb2,bb3]@3 [db3,c4,db4] ~@2 [c3,c4]@5 ~@4 g2@27, f4 ~@7, c4@9 ~@60 g3@25 ~@2, d3@6 ~@51 [d3,d4]@3 ~@5 [bb2,bb3]@6 ~@25]/4", // G7 G F D C Bb Dbmaj7 C …
V: "[[f3,g3,bb3,d4]@17 ~@3 [f3,g3,bb3,d4,f4] ~@2 bb3@24 ~, ~@23 eb3@21 ~@4, ~@23 g3@19 ~@6]/2", // Gm7
W: "~@3 [c5,db5,f5] ~@2 bb4@2 ~ g4 ~@10 g3 ~@2 g3, ~@2 g2@3 ~@19", // Dbmaj7
X: "[~@2 f3 [c4,db4,f4]@2 ~@3 bb3 ~@2 f3 g3@2 ~ bb3 ~ f3 c4@2 f3 bb3 ~ [f3,g3]@21 ~ [f3,bb3,f4]@3 [eb3,bb3]@14 ~ [eb3,bb3,eb4]@4 ~ f4@4 bb3@40 ~@2 db4 d4@2 bb3@2 ~ gb4 g4@11 [c4,a4,c5]@12, ~@23 f4@19 ~@3 g3@16 ~@2 g3@49 ~@2 g3@16 ~@2 d3@10 ~@2, ~@23 db4 ~@20 g2@3 ~@25 g2@47 ~@25, ~@45 d4 ~@22 f3@39 ~@6 f3@7 [bb3,bb4,d5]@12 ~@12, ~@72 db4 ~@41 f4@5 ~ d4@10 ~@2 f4@8 ~@4]/6", // Dbmaj7 Fsus2 Bb5 Eb5 F Bb
Y: "[~@5 [f3,bb3,d4] [gb6,g6] ~@2 [f5,f6] ~@2 d6@2 ~ [db5,db6]@2 [bb3,d4] [c5,c6]@2 ~ g5 ~@2 [g4,bb4,d5]@12 ab4 a4@10 d3, ~@6 g5@2 ~@4 d5 ~@10 [bb3,d4]@13 [d3,c4,f4,c5]@12]/2", // Bb Gmaj7 F Db Bb C Gm Bb …
Z: "~@2 g3 f3 ~ [g3,f4] ~@2 [g3,c4,f4] ~@3 f3 ~ g3 [g3,c4,f4] ~@2 [bb3,f4]@2 c4 f3 ~ f3, ~@5 db4@2 ~@4 [g3,bb3,f4]@3 ~@3 f3@3 ~@4, ~@9 g3@2 ~", // G7 Csus4 Bb5 Gm7
AA: "[eb3,g3,bb3,d4,g4]@12 [f3,a3,c4,f4]@11 d3", // Ebmaj7 F
AB: "[~@2 g3 ~@3 [g3,d4]@2 ~ [g3,a3] ~@2 [bb3,d4]@3 g3@2 ~ [c4,db4] d4 ~ bb3@2 ~ [g3,bb3]@11 ~ [f3,a3,c4]@11 ~, g2@5 f3@2 ~@4 f3@3 ~@3 f3@3 c4@2 ~@2 eb3@12 d3@7 ~@5, ~@6 bb3 ~@5 g3 ~@5 f4@18 ~@12]/2", // G5 Gsus2 Bb Dbmaj7 Gm F
AC: "~@2 g3 f3 ~ [g3,g4] ~@2 [g3,g4] ~@2 g3 ~@2 g3 ~@3 [g3,g4] ~ [g3,g4] f3 ~ f3, g2, ~@17 f3@2 ~@5", // G
AD: "[[eb3,bb3,d4]@12 [g3,a3,c4]@10 ~@2 [g3,bb3,d4,g4]@22 ~ g2, g3@10 ~@2 d3@33 ~@3, ~@12 [f3,f4]@12 g2@19 ~@5]/2", // Ebmaj7 Am7 Gm F
AE: "[g3,g4]@4 ~ [f3,f4]@4 [d3,d4]@5 [c3,c4]@4 [bb2,bb3]@3 [d3,d4]@3, ~@21 [c4,db4] ~@2", // G F D C Bb D Dbmaj7
AF: "[[c3,c4]@5 [bb2,bb3]@4 [g2,g3]@49 ~@2 [f3,g3,bb3,d4]@18 ~@2 [f3,g3,bb3,d4,f4]@4 [g3,bb3,eb4]@23 ~ [g3,bb3,d4]@29 ~@7, ~@84 c3@20 ~@3 f3@31 ~@6]/6", // C Bb G Gm7 Eb Gm
AG: "~@11 bb3 ~@3 [d5,f5]@2 ~@7, ~@7 bb3@5, ~@15 db5 ~@8", // Dm
AH: "[~@9 db4 d4@2 [eb3,bb3]@22 ~@2 [f3,g3,bb3,d4,f4]@24 ~@12, ~@4 g2 ~@31, ~@3 g3@8 ~@13, ~@9 f3@2 ~@61]/3", // Eb5 Gm7
AI: "[~@6 [f3,db4] d4@2 [f3,c4] f3 ~ [eb3,g3,bb3]@9 ~@3 ab3 a3@10 d3 g2@2 g3 ~@2 g3 ~@5 f3, ~@5 g2@6 ~@13 d3@7 ~@17, ~@6 g4@6 ~@12 [c4,f4]@11 ~@13, ~@6 g3@4 ~@13 f3@11 ~@14]/2", // Db F5 Eb F5
AJ: "g3 ~@2 g3@2 f3 [c4,f4] d4 f3 c4@2 f3 [eb3,g3,bb3]@12, ~@3 db4 ~@8", // F5 Eb
AK: "[~@6 [g3,ab3] a3 c4@2 ~ [f3,bb3]@10 ~@2 g2@2 ~ g3 ~@2 f3 [c4,db4,eb4] ~ f3 c4 ~ f3 [eb3,g3,bb3]@11 f3, ~@5 d3@2 ~@4 g3@12 ~@7 g4@2 ~ g4@15, ~@31 d4@2 ~@15]/2", // Abmaj7 Bb5 Cm Eb
AL: "[g3,a3,c4,f4]@11 d3 g2@2 g3 ~@2 g3 ~@2 g3 ~@2 f3, d3 ~@3", // F
AM: "[db4 d4 f3 c4@2 f3 f4@2 c4 g3@2 f3 [eb3,bb3]@12 [d3,a3,c4]@12 [g2,bb3]@20 ~@3 g2 ~@6 bb3@4 ~ g3, [g3,f4]@2 ~ f4 ~@2 bb3 ~@5 g3@23 ~@25 [d4,g4]@12, ~@24 f3@31 ~@17]/3", // Eb5 D7 Gm G7 G5
AN: "[~ a3@6 ~@4 d3 [f3,d4,g4]@22 ~ g2 [g3,g4]@4 ~ [f3,f4]@4 [d3,d4]@3, f4@12 ~@24 gb4 ~@11, c4@3 ~@13, d3 ~@7]/2", // G7 G F D
AO: "[~@2 [c3,c4]@4 [bb2,bb3]@3 [d3,d4]@3 [c3,c4]@5 [bb2,bb3]@4 [g2,g3,g4]@25 ~@2, ~@9 [c4,db4] ~@11 gb4 ~@26]/2", // C Bb D C Bb G Dbmaj7
AP: "[[f3,bb3,d4]@13 ~@7 [g4,g5] ~@2 [eb3,bb3]@19 ~@5 g3, g3@10 ~@13 d4@15 ~@10]/2", // Bb G Eb5
AQ: "~@2 g3 ~@8 g3 ~@2 f3 db4 d4 ~ [c4,g4] ~@2 bb3 ~ f3, ~@15 g4@2 ~@7", // C5
AR: "[c4 ~ bb3 g3 ~ f3 g3 ~ g3 ~@5 g3 ~@2 f3 ~@2 f3 [c4,e4]@2 ~ [bb3,d4]@19 ~@2 [bb3,db4,f4] ~@2 c3@20 ~@4 [g4,c5]@3 [f4,bb4]@19 ~@2, ~@21 g3@21 ~@3 [g3,g4]@21 ~@5 g2@5 ~@20, ~@23 f3@19 ~@2 g2@2 d4@21 ~@29, ~@48 eb4@18 ~@6 gb4 ~@23]/4", // C Bb Bbm C5 Bb5 G
AS: "[~@3 g4@11 ~@3 f3 ~ c4 bb3 ~@3 [eb3,bb3]@11 ~ [a3,c4,f4]@11 d3, ~@2 g2@21 ~@13 d3@8 ~@4, ~@3 db4 ~@14 f4@17 ~@13, ~@18 db4@2 ~ g3@14 f3@12 ~]/2", // Eb5 F
AT: "[~@2 g3 ~@8 g3 ~@4 g3 ~@3 f3 ~@3 eb3@11 ~ [d3,gb3,c4,f4]@11 [g2,g3,bb3,d4]@23 ~ f3, g2 ~@2, ~@7 [bb3,d4]@5 ~@12, ~@21 g3@13 ~@13 f3@21 ~@4]/3", // D7 Gm Bb
AU: "[eb3,g3,bb3,d4]@12 ab3 a3@10 d3, ~ c4, ~@6 [d3,f3]@5 ~", // Ebmaj7 Dm
AV: "[bb3@8 g3 ~@2 g3 ~@5 f3 ~@2 f3 c4@2 f3 [g3,bb3,d4]@11 eb3 [gb3,c4,f4]@11 d3, g2 ~, g3@2 ~@7 f4@8 ~@7, ~@18 [g3,db4]@2 ~@4 eb3@9 ~@3 d3@9 ~@3, ~@19 d4@2 ~@15 b3 ~@11]/2", // Gm F Gdim
AW: "[[f3,bb3,d4]@14 g3 ~@2 f3 [c4,db4,eb4] ~ f3 c4@2 f3 ~@6 d4@4 ~@2 [c4,f4]@11 d3, ~@9 g4@8 ~ d3@4 ~@2, ~@19 d4@2 ~@3 [eb3,g3,bb3]@12 g3@10 ~@2]/2", // Bb Cm F5 Eb
AX: "[[g3,bb3,d4]@19 ~@2 [g3,a3,c4]@3 [eb3,d4]@12 [g3,ab3] a3@9 ~@2 [g3,bb3,d4]@20 ~@4, [g2,f3]@17 ~@3 g2@3 ~ [g3,bb3]@11 ~ [d3,f3,c4,f4]@12 ~@24, ~@21 f4@15 ~@11 g2@21 ~@4]/3", // Gm Am7 Ebmaj7 Abmaj7 Gm G7 Gm Dm7
})).s("gm_piano").gain(0.2).pan(0.6)
// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
A B C ~ D E@3 F ~ G H I J K L M N ~@3 O@2 P Q ~@2 R S T U V ~ W@2 X@2 Y@2 ~@2 Z@2 AA AB AC AD AE@2 AF AG AH AI ~ AJ AK
~@10 AL@2 ~@3 AM ~@5 AN AO Y@2 ~@4 AP ~ P AQ ~ AR AS P ~@3 AT ~ AU ~@12
>`.pickRestart({
A: "d4@8 ~ bb3 ~@2", B: "[eb3,bb3]@7 ~, eb4@23 ~", C: "[g3,bb3]@5 ~@3", D: "g3@17 ~@7", E: "[c3@7 [f3,bb3]@11 ~@6]/3",
F: "g3@5 ~@7 d3@6 ~@6", G: "~@6 g3@3 ~@3 a3@6 ~ f4@2 ~@3", H: "~@7 c5 ~@16", I: "~ d4@4 ~@7 [a3,f4]@4 ~@7 d3, g3 ~@5",
J: "~ a3@6 ~", K: "~@12 f3@10 a3 ~, ~@3 d3@2 ~", L: "~@2 g3@2 ~@10 g3 ~@7 g3 f3", M: "~@18 f3@5 d3",
N: "~@16 [bb3,d4] ~@7, ~@15 g3@2 ~@7", O: "[~@2 [bb3,eb4]@3 ~@3]/2", P: "~@23 f3", Q: "~@2 f3 c4 ~@20",
R: "~@19 f3 ~@4", S: "~@2 f3 ~@21", T: "f3@11 ~ c4 ~@11", U: "~@3 db5 ~@8 eb3@12, ~@6 f4 ~@5",
V: "f3@9 ~ d3 ~@3 g3 ~@9, d3@5 ~@19", W: "[~@12 g2@23 ~ f3 ~@11, ~@12 bb3@17 ~@19]/2",
X: "[~@23 f3 ~@2 f3 ~@20 eb3, ~@3 g2@5 ~@4]/2", Y: "[~@7 d3@2 ~@6 bb3@16 ~@17, ~@2 [g2,g3]@3 ~@3]/2",
Z: "[~@23 eb4@23 ~@2]/2", AA: "d3 ~@14 g3 ~ g3 ~@6", AB: "~@6 c4@2 ~@2 g3 ~@13", AC: "d4@3 ~",
AD: "eb4@13 ~@7 d4@2 ~@2", AE: "[~ d4@39 ~@8]/2", AF: "eb3 ~", AG: "~@20 bb5 ~@3", AH: "eb3@11 ~@13, f4 ~@23",
AI: "g2 ~@5", AJ: "~@9 c4 ~@14", AK: "~@21 d3@2 ~, ~ g3", AL: "[~@18 bb4@9 ~@6 f4@2 ~@13, ~@11 [f3,d4]@13 ~@24]/2",
AM: "~@20 g3 ~@3", AN: "~ g3", AO: "~@23 eb3", AP: "~@5 g3 ~@18", AQ: "bb3@3 ~", AR: "~@2 d4@5 ~@5",
AS: "~@12 g3@11 ~", AT: "~@14 g3 ~@9", AU: "g3@10 ~ g3 ~@12, g2@23 ~",
})).s("gm_piano").gain(0.1).pan(0.6)
// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
A B C D E F G H I J K J K J K J L M N O@2 P Q R S T U V W X Y Z Y AA Y AB AC AD AE AF@2 C B AG D AH AI AJ AK AL AM AN
AO AP C AL AQ AR AS AT AU@2 AV AW AX AY AZ BA BB BC BD X Y BE Y X BF BG BH AD AE AF@2 C B AG D AH AI AJ AK AL AM AN AO
AL AM AN AO AL AM AN BI@8 ~
>`.pickRestart({
A: "~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@5 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~@2 [bb3,d4,g4] ~@2", // Gm
B: "~@3 [c4,eb4,g4]@2 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@5 [c4,eb4,g4]@2 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@2", // Cm
C: "~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@5 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@2", // Gm
D: "~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4]", // Gm
E: "~@3 [bb3,d4]@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4]", // Bb Gm
F: "~@3 [c4,eb4]@2 [eb4,g4] ~@2 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@4 [c4,eb4,g4] ~@3 [c4,eb4,g4]@2 [eb4,g4]", // Cm Eb Cm Eb
G: "~@3 [d4,g4]@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4]", // G5 Gm
H: "~@3 [bb3,d4,g4]@2 [bb3,d4] ~@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4]", // Gm Bb Gm
I: "~@6 [bb3,eb4,g4]@5 ~@7 [a3,c4,f4]@2 ~@4", J: "~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@9 [bb3,d4,g4]@2 [bb3,d4,g4] ~@6",
K: "~@6 [bb3,eb4,g4]@2 [bb3,eb4,g4] ~@9 [a3,c4,f4]@2 [a3,c4,f4] ~@3", // Eb F
L: "~@6 [bb3,eb4,g4]@2 [bb3,eb4,g4] ~@9 [a3,c4,f4]@2 [c4,f4] ~@3", // Eb F F5
M: "~@3 [bb3,d4,g4]@2 [bb3,d4] ~@9 [bb3,d4,g4]@2 [bb3,d4,g4] ~@6", // Gm Bb Gm
N: "g4@3 ~@2 f4@2 ~@2 d4@2 ~@3 c4@4 bb3 ~@2 c4@2 ~",
O: "[c4@2 ~@3 bb3 ~@3 g3@22 ~@8 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@2]/2", // Gm
P: "~@3 [d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@5 [c4,eb4,g4]@2 [c4,eb4] ~@2 [c4,eb4,g4] ~@3", // G5 Gm Cm
Q: "[c4,eb4,g4] ~@4 [c4,eb4,g4] ~@3 [c4,eb4,g4]@2 [c4,eb4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4] ~@2 [bb3,d4,g4] ~@3", // Cm Gm Bb Gm
R: "[bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3", // Gm
S: "[bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3", // Gm Bb Gm
T: "[bb3,d4,g4] ~@4 [d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [c4,eb4,g4]@2 [c4,eb4,g4] ~@2 [c4,eb4,g4] ~@3", // Gm G5 Gm Cm
U: "[c4,eb4,g4] ~@4 [c4,eb4,g4] ~@3 [c4,eb4,g4]@2 [eb4,g4] ~@3 [d4,g4]@2 [bb3,d4,g4] ~@2 [d4,g4] ~@3", // Cm Eb G5 Gm G5
V: "[bb3,d4,g4] ~@4 [d4,g4] ~@3 [d4,g4]@2 [d4,g4] ~@3 [d4,g4]@2 [d4,g4] ~@2 [d4,g4] ~@3", // Gm G5
W: "[bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [d4,g4]@2 [d4,g4] ~@6 [bb3,eb4,g4]@2 [bb3,eb4,g4] ~@3", // Gm G5 Eb
X: "~@6 [a3,c4,f4]@2 [a3,c4,f4] ~@6 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@2", // F Gm
Y: "~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@8 [bb3,eb4,g4]@2 [bb3,eb4,g4] ~@3", // Gm Eb
Z: "~@6 [a3,c4,f4]@2 [a3,c4] ~@6 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@2", // F Am Gm
AA: "~@6 [a3,c4,f4]@2 [a3,c4,f4] ~@6 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4]", // F Gm
AB: "~@6 [a3,c4,f4]@2 [c4,f4] ~@6 [bb3,d4,g4]@2 [bb3,d4,g4] ~@6", // F F5 Gm
AC: "~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@12 [bb3,eb4,g4]@2 [bb3,eb4,g4] ~@3", // Gm Eb
AD: "~@6 [c4,f4]@2 [a3,c4] ~@6 [bb3,d4,g4]@2 [bb3,d4] ~@6", // F5 Am Gm Bb
AE: "~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@6 f4@3 ~@2 f4 ~@3 d4@3", // Gm
AF: "[~@2 c4@4 bb3 ~ c4 d4 ~@2 c4 ~@4 bb3 ~@3 g3@22 ~@5]/2",
AG: "~@3 [bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4]", // Gm
AH: "~@3 [bb3,d4,g4]@2 [bb3,d4] ~@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@4 [bb3,d4] ~@3 [bb3,d4]@2 [bb3,d4]", // Gm Bb Gm Bb
AI: "~@3 [c4,g4]@2 [c4,eb4,g4] ~@2 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@4 [c4,eb4,g4] ~@3 [c4,eb4]@2 [c4,eb4,g4]", // C5 Cm
AJ: "~@3 [bb3,d4,g4]@2 [bb3,d4] ~@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4]", // Gm Bb Gm Bb
AK: "~@3 [bb3,d4,g4]@2 ~@7 c4@2 ~@4 c4@3 ~@3", AL: "~@3 [bb3,eb4,g4] ~@5 [a3,c4,f4] ~@2",
AM: "~@3 [bb3,d4,g4] ~@5 [bb3,d4,g4]@3 ~@3 [bb3,d4,g4]@2 ~@4 [bb3,d4,g4]@2 ~", // Gm
AN: "~@6 [bb3,eb4,g4]@4 ~@8 [a3,c4,f4]@3 ~@3", AO: "~@6 c4@2 ~ c4@2 ~ bb3 ~ g3 f3@2 ~ d3 ~ c3 ~@3",
AP: "~@6 [bb3,eb4,g4]@3 ~@9 [a3,c4,f4]@2 ~@4", AQ: "~@6 g4 ~@2 f4@2 ~ g4@2 ~ d4 ~ c4 bb3@2 ~ g3@3",
AR: "~@3 [bb3,g4] ~@5 [a3,c4,f4] ~@2", // Eb F
AS: "~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4]@2 [bb3,d4]", // Gm Bb
AT: "g4@2 ~@3 f4 ~@3 d4@3 ~@2 c4@4 bb3 ~@2 c4 ~@2", AU: "[c4@2 ~@3 bb3 ~@3 g3@26 ~@13]/2",
AV: "~@15 [bb3,d4,g4]@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3", // Gm
AW: "[bb3,d4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [c4,eb4,g4]@2 [c4,eb4,g4] ~@2 [c4,eb4,g4] ~@3", // Bb Gm Cm
AX: "[c4,eb4,g4] ~@4 c4 ~@3 [c4,eb4]@2 [c4,eb4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4] ~@2 [bb3,d4,g4] ~@3", // Cm Gm Bb Gm
AY: "bb3 ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 bb3 ~@3 [bb3,d4]@2 [bb3,d4,g4] ~@2 [d4,g4] ~@3", // Gm Bb Gm G5
AZ: "[bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4] ~@3 [bb3,d4]@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3", // Gm Bb Gm
BA: "[bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4] ~@3 [c4,eb4,g4]@2 [eb4,g4] ~@2 [c4,eb4,g4] ~@3", // Gm Bb Cm Eb Cm
BB: "[c4,eb4,g4] ~@4 [c4,eb4,g4] ~@3 [c4,eb4,g4]@2 [c4,eb4] ~@3 [bb3,d4]@2 [bb3,d4] ~@2 bb3 ~@3", // Cm Bb
BC: "[bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4] ~@3 d4@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3", // Gm Bb Gm
BD: "[bb3,d4,g4] ~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@6 [bb3,eb4,g4]@2 [bb3,eb4,g4] ~@3", // Gm Eb
BE: "~@6 [a3,c4,f4]@2 f4 ~@6 [bb3,d4,g4]@2 [bb3,d4] ~@3 [bb3,d4,g4] ~@2", // F Gm Bb Gm
BF: "~@3 [bb3,d4,g4] ~ [bb3,d4] ~@3 [bb3,d4,g4] ~@8 [bb3,eb4,g4]@3 ~@3", // Gm Bb Gm Eb
BG: "~@6 [a3,c4,f4]@3 ~@6 [bb3,d4,g4]@2 [bb3,d4] ~@3 [bb3,d4,g4] ~@2", // F Gm Bb Gm
BH: "~@3 [bb3,d4,g4]@2 [bb3,d4,g4] ~@3 [bb3,d4] ~@8 [bb3,eb4,g4]@2 [bb3,eb4,g4] ~@3", // Gm Bb Eb
BI: "[~@6 c4@2 ~ c4@2 ~ bb3 ~ g3 f3@2 ~ d3 ~ c3@172]/8",
})).s("gm_electric_guitar_clean").gain(0.16).pan(0.3)
// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
~@4 A B C D ~@8 E D ~@3 F G ~ H I J K L ~@6 M ~ N ~@7 O P D ~@4 Q ~@3 R S T ~@4 U V W X Y Z AA ~@3 AB ~@2 D G AC N ~@7
O P D ~@4 Q ~@3 Q ~@12
>`.pickRestart({
A: "~@3 g4@2 ~@19", B: "~@3 g4@2 c4 ~@18", C: "~@3 bb3@2 ~@19", D: "~@5 g4 ~@18", E: "~@20 a3 ~@3",
F: "~@3 bb3@2 ~@12 g4 ~@6", G: "~@17 g4 ~@6", H: "~@9 g4@2 ~@13", I: "~@5 bb3 ~@18", J: "~@20 bb3 ~@3",
// … 171 more lines
More by Eric Clapton
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.