0:00/0:00
// Tom Sawyer — Rush
// 175 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 201 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(175/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 · "DISTORTION"
const distortion_guitar = note(`<
~@8 A@2 B@2 C@2 D@2 E@2 F@2 G@2 H@2 I@2 J@2 K@2 L@2 M N O@8 P@8 Q@2 R@2 S T@2 U V W X@8 ~@7 Y@2 Z@5 AA@2 AB AC ~ AD@4
AE AF@3 AG AH AI AJ AK AL@2 AM@2 AN AO AP AQ AR@2 AS@2 AT@2 AU@2 AV@2 AW@2 AX@2 AY@2 AZ@3 BA BB@2 BC@2 BD@3 BE BF@8
BG@7 BH@7 BI@3 BJ@8 ~@2 BK@7 BL@5 BM BN@6 BO@6 BP@5
>`.pickRestart({
A: "[e2@2 e2@3 ~@3 [e3,b3,e4]@24, ~@3 e2@13]/2", B: "[e2@2 e2@3 ~@3 [a3,d4]@24, ~@3 e2@13, ~@7 d3@25]/2",
C: "[e2@2 e2@3 ~@3 [a2,e3,a3]@24, ~@5 e2@26 ~]/2", D: "[e2 e2@2 ~ [c3,g3,c4]@12, ~@3 e2@13]/2",
E: "[e2@2 e2@3 e2@2 ~ [e3,b3,e4]@24, ~@7 e2@25]/2", F: "[e2 e2@2 ~ [d3,a3,d4]@12, ~@3 e2@13]/2",
G: "[e2@2 e2@3 ~@3 [a2,e3,a3]@24, ~@3 e2@13]/2", H: "[e2@2 e2@3 ~@3 [c3,g3,c4]@23 ~, ~@6 e2@25 ~]/2",
I: "[c3@6 b2@6 a2@6 c3@5 ~ b2@4 a2@4]/2",
J: "[e2 e2@2 ~@6 e3@2 ~@3 [e3,b3,e4]@2, ~@3 e2@5 e2@3 e2@2 e2@3, ~@4 [e3,b3,e4]@5 [b3,e4]@3 [e3,b3,e4]@2 ~@2]/2", // E5
K: "[e2@2 e2@3 ~@3 d3@8 ~@2 d3@4 d3 ~ d3@2 ~@2 [d3,a3,d4]@4, ~@3 e2@5 e2@3 e2@2 e2@3, ~@4 [a3,d4]@5 [a3,d4]@3 [a3,d4]@2 ~@2]/2", // D5
L: "[e2@2 e2@3 ~@13 [e3,a3]@6 [e3,a3]@4 [e3,a3]@2 ~@2, ~@3 e2@5 e2@8, ~@8 [a2,e3,a3]@10 a2@4 ~@2 a2@7 ~]/2", // A5
M: "[c3,c4]@3 [b2,b3]@3 [a2,a3]@2", N: "~@2 [g2,g3]@6 [f#2,f#3]@4 [e2,e3]@3 ~",
O: "[e2@2 ~@4 b3 ~@7 b3 ~@7 b3 ~@15 b3 ~@7 b3 ~@7 b3 ~@4 a2@2 ~@2 b3, ~@2 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@2 b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@2 ~, ~@3 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 a2@3 g2@2 e2@3 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 ~@3 g2@2]/8",
P: "[~@12 b3@2 ~@14 b3@2 ~@14 b3@2 ~@18 e2@4 ~@2 f#2@6 [e2,b3]@2 f#2@2 g2@4 ~@2 a2@6 [g2,b3]@2 a2@2 ~@6 c3@6 [g2,b3]@2 c3@2 b2@2 g2@2 b2@2 a2@3 ~ a2 ~ [a2,e3,a3]@2 a#2 [b2,f3,a#3], e2@6 f#2@9 ~ g2@6 a2@10 e3@6 c3@10 b2@6 a2@6 g2@4 ~@32 e3@6 ~@26, ~@2 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@2 b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@3]/8", // E5 G A5 A#
Q: "[[b2,f#3,b3]@27 ~ b3 ~ f#3@2, ~@7 b2, ~@14 f#3 ~, ~@29 b3@2 ~]/2", // B5
R: "[[b2,f#3,b3]@27 ~ [f#3,b3]@2 [a#2,e3,f3,a3,a#3] a2, ~@27 b2@3 ~@2]/2", S: "[a2,e3,a3]@14 [d3,g#3] [g2,g#2,d3,g3]",
T: "[[g2,d3,g3]@9 ~@3 [b2,f#3,b3]@8 [b2,f#3,b3]@4 [b2,f#3,b3]@4 [b2,f#3,b3]@3 [a3,a#3]]/2", // G5 B5 A#maj7
U: "e3@4 e3@4 [a2,e3,a3]@4 [a2,e3,a3]@3 [g2,g#2,d#3], [a2,a3] ~", // A5 G#maj7 A
V: "[d3,g3]@4 d3@4 d3@4 [g2,d3,g3]@2 [g#2,g#3] [a2,c3,d#3,e3,a3], g2@3 ~, ~ g3@2 ~", W: "[a2,e3,a3]!4",
X: "[e3@7 ~ [e3,b3,e4]@120, [e2,b2]]/8", Y: "[e2@13 f#2@14 ~ e2@3 ~]/2",
Z: "[e2@10 f#2@13 e2@4 ~ e2@10 f#2@13 e2@4 ~ e2@10 f#2@13 ~]/5",
AA: "[a3 f#3 g#3 e3 f#3 d3@2 a3@2 f#3 g#3 e3 d3 b2 a3 f#3]/2", AB: "g#3 e3 f#3 d3@2 a3@2 f#3", AC: "g#3 e3 d3 b2 ~@4",
AD: "[~@4 g#3@8 a#3@6 d4@18 ~@2 g#4@3 ~ g#4@2 a4@2 ~ g#4@2 ~@2 f#4@2 d4@7 ~@2 a4@2, ~@41 f#4@2 ~@6 f#4@2 ~@13, ~@25 g#4 ~@6]/4",
AE: "~@2 a4 b4@7 ~@6, ~ g#4@2 ~@13", AF: "[~@6 e4@8 d4 ~ c#4@4 e6@14 ~@4 e6@6 d6 ~ e6 ~, ~@15 b3@2 ~@31]/3",
AG: "d6 ~ c#6 ~ d6 c#6 b5@2 c#6 ~ e6 ~ [e5,e6]@3 d5", AH: "b4 e5@2 ~@5 d5@3 c#5 b4 ~ e5 ~",
AI: "c#5@4 c#5 ~ d5@2 ~ b4 a4 ~ c#5 ~ e5 ~, ~@4 c#5 ~@3", AJ: "c#5@5 ~@2 a4@5 b4@4, ~@5 c#5@2 ~@9, ~@3 b4 ~@4",
AK: "d6@13 ~ e5@2", AL: "[e5@2 ~ g#5@17 ~@4 g#5 a5 b5 a5 g#5 a5 b5 a5]/2",
AM: "[g#5 a5 b5 a5 g#5 a5 b5@19 ~ c#6@4 c#6@2]/2", AN: "c#6!4 c#6@2 c#6@2", AO: "c#6@3 c#6@2 c#6!3",
AP: "c#6@2 a4 f#4 g#4 e4 d4 b3", AQ: "~ a4@2 f#4 g#4 e4 d4 b3",
AR: "[a4 f#4 g#4 e4 d4 b3!2 a3@2 b3@2 d4@2 e4@2 e2]/2", AS: "[e2@3 ~@3 [e3,b3,e4]@24 e2@2, ~@2 e2@13 ~]/2",
AT: "[e2@3 ~@3 [a3,d4]@24 e2@2, ~@2 e2@13 ~, ~@5 d3@25 ~@2]/2", AU: "[e2@3 ~@3 [a2,e3,a3]@24 e2@2, ~@3 e2@26 ~@3]/2",
AV: "[e2@2 ~ [c3,g3,c4]@12 e2, ~@2 e2@13 ~]/2", AW: "[e2@3 e2@2 ~ [e3,b3,e4]@24 e2@2, ~@5 e2@25 ~@2]/2",
AX: "[e2@2 ~ [d3,a3,d4]@12 e2, ~@2 e2@13 ~]/2", AY: "[e2@3 ~@3 [a2,e3,a3]@24 e2@2, ~@2 e2@13 ~]/2",
AZ: "[e2@3 ~@3 [c3,g3,c4]@23 ~ c3@6 b2@6 a2@6, ~@4 e2@25 ~@19]/3", BA: "c3@5 ~ b2@4 a2@4 e2@2",
BB: "[e2@2 ~@6 e3@2 ~@3 [e3,b3,e4]@2 e2, ~@2 e2@5 e2@3 e2@2 e2@3 ~, ~@3 [e3,b3,e4]@5 [b3,e4]@3 [e3,b3,e4]@2 ~@3]/2", // E5
BC: "[e2@3 ~@3 d3@8 ~@2 d3@4 d3 ~ d3@2 ~@2 [d3,a3,d4]@4 e2@2, ~@2 e2@5 e2@3 e2@2 e2@3 ~, ~@3 [a3,d4]@5 [a3,d4]@3 [a3,d4]@2 ~@3]/2", // D5
BD: "[e2@3 ~@13 [e3,a3]@6 [e3,a3]@4 [e3,a3]@2 ~@2 [c3,c4]@6 [b2,b3]@6 [a2,a3]@5 ~, ~@2 e2@5 e2@8 ~@9, ~@6 [a2,e3,a3]@10 a2@4 ~@2 a2@7 ~@19]/3", // A5 C B A A5
BE: "[g2,g3]@6 [f#2,f#3]@4 [e2,e3]@3 ~ e2@2", // G F# E
BF: "[~@5 b3 ~@7 b3 ~@7 b3 ~@15 b3 ~@7 b3 ~@7 b3 ~@4 a2@2 ~@3 e2, ~ b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@2 b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@2 b3@2, ~@2 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 a2@3 g2@2 e2@3 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 ~@3 g2@2 ~]/8",
BG: "[~@5 b3 ~@7 b3 ~@7 b3 ~@9 e2@2 ~ f#2@3 [e2,b3] f#2 g2@2 ~ a2@3 [g2,b3] a2 ~@3 c3@3 [g2,b3] c3 b2, ~ b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@2 b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@2, ~@4 f#2@9 ~ g2@6 a2@10 e3@6 c3@10 b2@6 a2@6 g2@4 ~@32 e3@6 ~@12]/7", // E5 G
BH: "[g2@2 b2@2 a2@3 ~@2 [a2,e3,a3]@2 [a2,e3,a3] a#2 [b2,f3] [b2,f#3,b3]@28 b3 ~ f#3@2 [b2,f#3,b3]@27 ~ f#3@2 [a#2,e3,f3,a3,a#3] a2 [a2,e3,a3]@14 [d3,g#3] [g2,g#2,d3,g3] [g2,d3,g3]@9 ~@3 [b2,f#3,b3]@6, ~@2 b3@6 b3@6 a#3 ~@27 b2@4 ~@27 [b2,b3]@3 ~@36, ~@21 f#3 ~@34, ~@43 b3@2 ~@67]/7", // A5 Bdim B5 A#maj7 A5 Ddim G G5 …
BI: "[~@2 [b2,f#3,b3]@4 [b2,f#3,b3]@4 [b2,f#3,b3]@3 [a3,a#3] e3@4 e3@4 [a2,e3,a3]@4 [a2,e3,a3]@2 d#3 [g2,g#2] [d3,g3]@4 d3@4 d3@4 [g2,d3,g3]@2 [g#2,g#3] [a2,c3,d#3,e3,a3] [a2,e3,a3]@2, ~@7 [a2,a3]@4 ~@4 g2@6 ~@3, ~@17 g3@4 ~@3]/3", // B5 A#maj7 A5 G#maj7 G5 G# Am A5 …
BJ: "[~@2 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 e3@7 ~ [e3,b3,e4]@106, ~@7 [e2,b2]@57]/8", // A5 E5
BK: "[~@11 e3@2 e2 ~@3 c#3@2 f#3@2 ~@2 b2@2 e3@2 e2 ~@3 c#3@2 f#3@2 ~@2 b2@2 e3@2 e2 ~@3 c#3@2 f#3@2 ~@2 b2@2 e3@2 e2, ~@7 e2@6 ~ f#2@7 e2@6 ~ f#2@7 e2@6 ~ f#2@7 e2@6 ~, ~@9 b2@3 ~@44]/7",
BL: "[~@4 c#3@4 f#3@3 ~@5 b2@4 e3@4 e2@2 ~@6 c#3@4 f#3@4 ~@4 b2@4 e3@4 e2@2 ~@6 c#3@4 f#3@4 ~@4 b2@4 e3@4, f#2@6 e2@6 ~ f#2@7 e2@6 ~ f#2@7 e2@6]/5",
BM: "e2@2 ~@6 c#3@4 f#3@3 ~, ~ f#2@7",
BN: "[~@4 b2@4 e3@4 e2@2 ~@6 c#3@4 f#3@4 ~@4 b2@4 e3@4 e2@2 ~@4 c#3@2 c#3 ~ f#3@4 ~@4 b2@4 e3@4 e2@2 ~@6 c#3@4 f#3@4 ~@4 b2@4 e3@4 e2@2, e2@6 ~ f#2@7 e2@6 ~ f#2@6 e2@6 ~ f#2@7 e2@6 ~]/6",
BO: "[~@6 c#3@4 f#3@3 ~@5 b2@4 e3@4 e2@2 ~@6 c#3@4 f#3@4 ~@4 b2@4 e3@4 e2@2 ~@6 c#3@4 f#3@4 ~@4 b2@4 e3@4 ~@2 f#2@12, f#2@7 e2@6 ~ f#2@7 e2@6 ~ f#2@7 e2@7 ~@6]/6",
BP: "[~ [e2,e3]@32 ~@7]/5", // E
})).s("gm_distortion_guitar").gain(0.32).pan(0.4)
// bass · electric bass pick · "PICK BASS"
const bass = note(`<
~@8 A@2 B@2 C@2 D@2 E@2 B@2 C@2 F@2 G@2 H I J K L M N@2 O P Q R S T U V W T X R O P Y Z AA@2 AB@2 AC AD@2 AC AE AC
AF@8 AG@7 AH@7 AI@4 AJ AK@2 AL@2 AM@2 AN AO AP AQ AR AS AT AU AV@2 AW AX AY AZ@2 BA@2 BB@2 BC@2 BD@2 BE@2 BF@2 BC@2
BG@2 BH@3 BI BJ BK BL BM BN BO@2 BP@8 BQ@8 BR@6 BS@4 BT@8 ~@9 BU@5 BV BW@4 BX@2 BY@6 BZ@5
>`.pickRestart({
A: "[e1 ~ e1@3 ~ e1@2 e1@23 ~]/2", B: "[e1 ~ e1@3 ~ e1@2 d2@24]/2", C: "[e1 ~ e1@3 ~ e1@2 a1@24]/2",
D: "[e1@2 e1@3 ~ e1@2 c2@24]/2", E: "[e1 ~ e1@3 ~ e1@2 e2@24]/2", F: "[e1@2 e1@3 ~ e1@2 c2@23 ~]/2",
G: "[c2@6 b1@6 a1@6 c2@6 b1@4 a1@3 ~]/2", H: "e1@2 e1@2 ~@2 e1 ~ e2@7 ~", I: "e1@2 e1@3 ~ e1@2 f#2@2 g2@2 f#2@4",
J: "e1 ~ e1@3 ~ e1!2 d2@8", K: "e1@2 e1@3 ~ e1@2 d2@2 e1@2 d2@3 ~", L: "e1 ~ e1@2 ~@2 e1!2 a1@8",
M: "e1@2 a1@4 e1@2 a1@2 e1@2 a1@3 ~", N: "[c2@3 b1@3 a1@3 g1@3 f#1@2 e1@2]/2", O: "e1@3 f#1@3 e1 f#1",
P: "g1@3 a1 ~ a1 g1 a1", Q: "e2@3 c2@3 b1 c2", R: "b1@3 a1@3 g1@2", S: "e1@3 f#1@5", T: "g1@6 a1@9 ~", U: "e2@3 c2@5",
V: "b1@6 a1@5 ~ g1@4", W: "e1@6 f#1@9 ~", X: "e2@6 c2@9 ~", Y: "e2@5 ~ c2@6 g1@2 c2@2",
Z: "b1@2 g1@2 b1@2 a1@2 ~@4 a1@3 ~", AA: "[b1@29 ~ b1 ~]/2", AB: "[b1@31 ~]/2", AC: "a1", AD: "[g1@11 ~ b1@20]/2",
AE: "g1", AF: "[e1@63 ~]/8", AG: "e1/7", AH: "[e1@14 f#1@14 e1@14 f#1@14 e1@14 f#1@14 e1@14 f#1@13 ~]/7",
AI: "[e1@55 ~ a2@2 f#2@2 g#2@2 e2@2]/4", AJ: "d2 b1@2 a2@2 f#2 g#2 e2",
AK: "[d2 b1 a2 f#2 g#2 e2 d2 b1@2 a2@2 f#2 g#2 e2 d2 b1]/2",
AL: "[a2 f#2 g#2 e2 d2 b1@2 a2@2 f#2 g#2 e2 d2 b1 a2 f#2]/2",
AM: "[g#2 e2 d2!2 b1 a1@2 b1@2 d2@2 a2 f#2 g#2 e2 d2]/2", AN: "b1!2 a2@2 f#2 g#2 e2 d2",
AO: "b1 a2 f#2 g#2 e2 d2 b1!2", AP: "a2@2 f#2 g#2 e2 d2 b1 a2", AQ: "f#2 g#2 e2 d2 b1!2 a2@2",
AR: "f#2 g#2 e2 d2 b1 a2 f#2 g#2", AS: "e2 d2 c#2 b1 a1@2 b1@2", AT: "d2@2 a2 f#2 g#2 e2 d2 b1",
AU: "b1 a2@2 f#2 g#2 e2 d2 b1", AV: "[a2 f#2 g#2 e2 d2 b1!2 a2@2 f#2 g#2 e2 d2 b1 d3 b2]/2",
AW: "c#3 a2 g#2 e2 f#2 d3@2 b2", AX: "c#3 a2 g#2 e2 d3 b2 c#3 a2", AY: "g#2 e2 f#2 d3@2 b2 c#3 a2",
AZ: "[g#2 e2 a2 f#2 g#2 e2 d2 b1@2 a2@2 f#2 g#2 e2 d2 b1]/2",
BA: "[a2@2 f#2@2 g#2@2 e2@2 d2@2 b1@2 b1@2 a1@4 b1@4 d2@4 e2@4 e1 ~]/2", BB: "[e1@3 ~ e1@2 e2@24 e1 ~]/2",
BC: "[e1 ~ e1 d2@12 e1]/2", BD: "[e1@2 ~@2 e1@2 a1@7 ~ a1@4 a1@2 a1@4 a1 ~ a1@3 ~ e1 ~]/2",
BE: "[e1@2 ~@2 e1@2 c2@7 ~ c2@6 b1@6 a1@3 ~ e1 ~]/2", BF: "[e1 ~ e1 e2@12 e1]/2", BG: "[e1@2 ~@2 e1@2 a1@24 e1 ~]/2",
BH: "[e1 ~ e1 c2@7 e1 c2!3 e1 c2@3 b1@3 a1@3]/3", BI: "c2!3 b1!2 a1!2 e1", BJ: "e1@2 ~@2 e1 ~ e2@7 ~ e1@2",
BK: "e1@3 ~ e1@2 f#2@2 g2@2 f#2@4 e1 ~", BL: "e1@3 ~ e1!2 d2@8 e1@2", BM: "e1@3 ~ e1@2 d2@2 e1@2 d2@3 ~ e1 ~",
BN: "e1@2 ~@2 e1!2 a1@8 e1@2", BO: "[a1@4 e1@2 a1@2 e1@2 a1@3 ~ c2@6 b1@6 a1@6]/2",
BP: "[g1@6 f#1@4 e1@4 e1@6 f#1@6 e1@2 f#1@2 g1@6 a1@2 ~@2 a1@2 g1@2 a1@2 e2@6 c2@6 b1@2 c2@2 b1@6 a1@6 g1@4 e1@6 f#1@10 g1@6 a1@9 ~ e2@6 c2@10 b1@2]/8",
BQ: "[~@4 a1@5 ~ g1@4 e1@6 f#1@9 ~ g1@6 a1@9 ~ e2@6 c2@9 ~ b1@6 a1@6 g1@4 e1@6 f#1@6 e1@2 f#1@2 g1@6 a1@2 ~@2 a1@2 g1@2 a1@2 e2@5 ~ c2@6 g1@2 c2@2 b1@2]/8",
BR: "[g1@2 b1@2 a1@2 ~@4 a1@3 ~ b1@29 ~ b1 ~ b1@31 ~ a1@16 g1@2]/6", BS: "[~@5 b1@10 a1@8 g1@8 a1]/4",
BT: "[~@7 e1@57]/8", BU: "[~@4 c#2@4 f#2@4 e1@12 e1@2 f#1@14 e1@12 e1@2 f#1@13 ~ e1@11 ~]/5", BV: "e1 f#1@7",
BW: "[e1@6 e1 f#1@7 e1@6 e1 f#1@2 c#2@2 f#2@2 e1@5]/4", BX: "[~ e1 f#1@3 c#2@2 f#2@2 e1@6 e1]/2",
BY: "[f#1@3 c#2@2 f#2@2 e1@6 e1 f#1@3 c#2@2 f#2@2 e1@6 e1 f#1@3 c#2@2 f#2@2 e1@6 e1 f#1@3 c#2@2 f#2]/6",
BZ: "[~ e1@32 ~@7]/5",
})).s("gm_electric_bass_pick").gain(0.4)
// chords · lead 5 charang · "CHARANG"
const lead_5_charang = note(`<
~@8 A@4 B@2 C@2 D@2 E@2 B@2 F@2 G@2 H@2 I@2 J@2 K@2 L@8 M@8 N@2 O P Q R@2 S T U V@8 ~@14 W X Y Z ~ AA@3 AB AC AD AE@2
AF AG AH AI@2 AJ@2 AK@2 AL@2 AM AN AO AP AQ@2 AR@2 AS@2 AT@2 AU@2 AR@2 AS@2 AV@3 AW AX@2 AY@2 AZ@3 BA BB@8 BC@7 BD@5
BE@5 BF@8 ~@2 BG@7 BH BI BJ BK BL BM BN@6 BO@6 BP@5
>`.pickRestart({
A: "[~@8 [b3,e4,g#4]@25 ~@7 [a3,d4,f#4]@24]/4", B: "[~ [a3,d4,g4]@3]/2", C: "[~ [c4,e4,g4]@3]/2",
D: "[~ [b3,e4,g#4]@3]/2", E: "[~ [a3,d4,f#4]@3]/2", F: "[~@2 [c4,e4,g4]@5 ~]/2",
G: "[c4@3 b3@3 a3@3 c4@3 b3@2 a3@2]/2",
H: "[~@6 [e4,g#4] ~ [e4,g#4]@9 ~ [e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4]@4 [b3,e4,g#4]@4, ~@3 b3 b3@7 ~@5]/2", // E
I: "[~@6 [a3,d4,f#4] f#4 f#4@7 ~ f#4@2 f#4@4 [d4,f#4]@2 d#3 e3 ~@2 [a3,d4,f#4]@4, ~@7 d4@15 ~@10, ~@7 a3@11 a3@6 [a3,d4,f#4]@4 d3 ~@3]/2", // D
J: "[~@6 a5 [a3,d4,g4] ~ d#3@2 e3 ~@6 [d4,g4]@4 [d4,g4]@2 ~ d#3 ~@3 d#3@2 ~, ~@7 d#3@2 g4@9 ~@14, ~@8 a3@15 ~ [a3,d4,g4]@4 [a3,d4,g4]@4, ~@4 d4@5 ~@7]/2", // Dsus4 G5 Dsus4
K: "[g4@2 g4@4 [d4,g4]@4 ~ d#3 ~ d#3 e3@2 [d4,g4]@2 ~@2 d#3@2 [d4,g4]@2 [a3,d4,g4]@4 [a3,d4,g4]@4, a3@11 e3@2 ~@19, d4@3 ~@2 [d4,g4] a3@3 a3@3 ~@4, ~@6 [d4,g4]@2 ~ [d4,g4]@2 ~@5]/2", // G5 Dsus4 G5
L: "[~@6 b3 ~@7 b3 ~@7 b3 ~@7 g2@2 ~@2 b3 b3@3 b3 ~@7 b3 ~@7 b3 ~@7 g2@2, e2@3 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 a2@3 ~@2 e2@3 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 a2@3 ~@2, ~@2 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@5 ~@5 b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@3]/8",
M: "[~@6 b3 ~@7 b3 ~@7 b3 ~@12 f#2@3 [e2,b3] f#2 ~@3 a2@3 [g2,b3] a2 ~@3 c3@3 [g2,b3] c3 b2 g2 b2 a2@2 [a2,b3] a2@2, e2@3 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 a2@3 g2@2 e2@3 ~@5 g2@3 ~@5 e3@3 ~@13, ~@2 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@2 b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 ~@3]/8", // E5 G Asus2
N: "[b3 b3@5 ~@22 [b2,f#3]@2 [b2,f#3,b3]@2, [b2,f#3]@27 ~ b3 ~@3]/2", // B5
O: "[b2,f#3,b3]@6 [b2,f#3] [b2,f#3,b3], ~@12 b3 ~@3", P: "[b2,f#3,b3]@12 [b2,f#3,b3]@2 a#2 [a2,a3,a#3]",
Q: "[a2,e3,a3]@3 ~ [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@3 ~", // A5
R: "[[g2,d3,g3]@9 ~@3 [b2,f#3,b3]@8 [b2,f#3,b3]@4 [b2,f#3,b3]@4 [b2,f#3,b3]@3 [a#2,e3,f3,a3,a#3]]/2", // G5 B5 A#maj7
S: "[e3,a3]@4 [e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@2 d#3 [g2,g#2,d3,g3,g#3], a2 ~", // A5 G
T: "[d3,g3]@4 [d3,g3]@4 [d3,g3]@4 [d3,g3]@2 g#2 [a2,d#3], g2@7 ~ g2@7 ~, ~@8 e5 ~@7", // G5 Adim
U: "[a2,e3,a3]@4 [e3,a3]@4 [e3,a3]@4 [a2,e3,a3]@3 ~, ~ a2@2 ~", V: "[~@8 [b3,e4]@119 ~, e2@65 ~@63]/8",
W: "~ a3 f#3 g#3 e3 f#3 d3@2", X: "a3@2 f#3 g#3 e3 d3 b2 a3", Y: "f#3 g#3 e3 f#3 d3@2 a3@2",
Z: "f#3 g#3 e3 d3 b2 ~@3", AA: "[~@6 g#3@8 a#3@6 d4@18 ~@2 g#4@3 ~ g#4@2 a4@2, ~@43 f#4@2 ~@3]/3",
AB: "~ g#4@2 ~@2 f#4@2 d4@7 ~@2, ~@3 f#4@2 ~@11, ~@2 g#4 ~@5", AC: "a4@3 ~ a4 b4@6 ~@5, ~@3 g#4@2 ~@11", AD: "~ e4",
AE: "[d4 ~ c#4@4 e6@14 ~@4 e6@6 d6 ~, ~ b3@2 ~@29]/2", AF: "e6 ~ d6 ~ c#6 ~ d6 c#6 b5@2 c#6 ~ e6 ~ [e5,e6]@2",
AG: "~ d5 b4 e5@2 ~@5 d5@3 c#5 b4 ~", AH: "e5 ~ c#5@4 c#5 ~ d5@2 ~ b4 a4 ~ c#5 ~, ~@5 c#5 ~@2",
AI: "[e5 ~ c#5@5 ~@2 a4@5 b4@4 d6@13 ~, ~@7 c#5@2 ~@23, ~@4 b4 ~@11]/2",
AJ: "[e5@2 e5@2 ~ g#5@17 ~@4 g#5 a5 b5 a5 g#5 a5]/2", AK: "[b5 a5 g#5 a5 b5 a5 g#5 a5 b5@19 ~ c#6@4]/2",
AL: "[c#6!5 c#6@2 c#6@2 c#6@3 c#6@2 c#6!2]/2", AM: "c#6 c#6@2 a4 f#4 g#4 e4 d4",
AN: "b3@3 ~ a4@4 f#4@2 g#4@2 e4@2 d4@2", AO: "b3 a4 f#4 g#4 e4 d4 b3!2", AP: "a3 b3 d4 e4",
AQ: "[~@6 [b3,e4,g#4]@25 ~]/2", AR: "[~@3 [a3,d4,f#4]@12 ~]/2", AS: "[~@3 [a3,d4,g4]@12 ~]/2",
AT: "[~@3 [c4,e4,g4]@12 ~]/2", AU: "[~@3 [b3,e4,g#4]@12 ~]/2", AV: "[~@3 [c4,e4,g4]@10 ~@2 c4@3 b3@3 a3@3]/3",
AW: "c4@3 b3@2 a3@2 ~",
AX: "[~@4 [e4,g#4] ~ [e4,g#4]@9 ~ [e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4]@4 [b3,e4,g#4]@4 ~@2, ~@2 b3 b3@7 ~@6]/2", // E
AY: "[~@4 [a3,d4,f#4] f#4 f#4@7 f#4@2 ~ f#4@4 [d4,f#4]@2 d#3 e3 ~@2 [a3,d4,f#4]@4 ~@2, ~@5 d4@15 ~@12, ~@5 a3@11 a3@6 [a3,d4,f#4]@4 d3 ~@5]/2", // D
AZ: "[~@4 a5 [a3,d4,g4] ~ d#3@2 e3 ~@6 [d4,g4]@4 [d4,g4]@2 ~ d#3 ~@3 d#3@2 ~ g4@2 g4@4 [d4,g4]@4 ~ d#3 ~ d#3 e3@2 [d4,g4]@2, ~@5 d#3@2 ~@34 e3@2 ~@5, ~@6 a3@15 ~ [a3,d4,g4]@4 [a3,d4,g4]@4 a3@12 a3@6, ~@3 [d4,g4]@5 ~@7 d4@3 ~@2 [d4,g4] [d4,g4]@2 ~]/3", // Dsus4 G5 Dsus4 G5
BA: "~ d#3@2 ~ [d4,g4]@2 [a3,d4,g4]@4 [a3,d4,g4]@4 e2@2, a3@3 ~@5, [d4,g4] ~@3", // G5 Dsus4 G5
BB: "[~@5 b3 ~@7 b3 ~@7 b3 ~@7 g2@2 ~@2 b3 b3@3 b3 ~@7 b3 ~@7 b3 ~@7 g2@2 e2, ~ b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@5 ~@5 b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@4, ~@2 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 a2@3 ~@2 e2@3 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 a2@3 ~@3]/8",
BC: "[~@5 b3 ~@7 b3 ~@7 b3 ~@12 f#2@3 [e2,b3] f#2 ~@3 a2@3 [g2,b3] a2 ~@3 c3@3 [g2,b3] c3 b2, ~ b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@3 b3@2 b3@3 b3@4 ~ b3@3 b3@4 ~ b3@3 b3@4 ~ b3@2, ~@2 f#2@5 g2@3 a2@5 e3@3 c3@5 b2@3 a2@3 g2@2 e2@3 ~@5 g2@3 ~@5 e3@3 ~@6]/7", // E5 G
BD: "[g2@2 b2@2 a2@4 ~ a2@2 a2@3 [b2,f#3]@27 ~ [b2,f#3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@12 [b2,f#3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@11 ~ b3@2 a#2 [a2,a3,a#3] [a2,e3,a3]@2, ~@2 b3@6 b3@3 ~@3 b3@5 ~@23 b3 ~@15 b3 ~@14 [b2,f#3]@3 ~@4]/5", // B5 A#maj7 A5 B5
BE: "[~@2 a3@4 [a2,e3,a3]@4 [a2,e3,a3]@3 ~ [g2,d3,g3]@9 ~@3 [b2,f#3,b3]@8 [b2,f#3,b3]@4 [b2,f#3,b3]@4 [b2,f#3,b3]@3 [a#2,e3,f3,a3,a#3] [e3,a3]@4 [e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@2 d#3 [g2,g#2,d3,g3,g#3] [d3,g3]@4 [d3,g3]@4 [d3,g3]@4 [d3,g3]@2 g#2 [a2,d#3] [a2,e3,a3]@2, ~ [a2,e3]@4 ~@41 a2@8 ~@8 g2@7 ~ g2@7 ~@3, ~@70 e5 ~@9]/5", // A5 G5 B5 A#maj7 A5 G G5 Adim …
BF: "[~@2 [e3,a3]@4 [e3,a3]@4 [a2,e3,a3]@3 ~@9 [b3,e4]@106, ~@2 a2@8 ~@4 e2@65 ~@49]/8", // A5 E5
BG: "[~@9 b2@2 e3@2 e2 ~@3 c#3@2 f#3@2 e2@2 b2@2 e3@2 e2 ~@3 c#3@2 f#3@2 e2@2 b2@2 e3@2 e2 f#2@3 c#3@2 f#3@2 e2@2 b2@2 e3@2 e2, ~@14 e2@7 ~@7 f#2@8 ~@20 f#2@8 ~@48]/7",
BH: "f#2@3 ~ f#3@2 e2@2, ~@3 c#3@2 ~@3", BI: "b2@2 e3@2 e2 f#2@3", BJ: "c#3 f#3 ~ b2, ~@8 e2@7 ~",
BK: "e3@2 e2 f#2@3 c#3@2", BL: "f#3@3 ~@5 b2@4 e3@4, ~@2 e2@3 ~@3", BM: "e2 f#2@3 c#3@2 f#3@2",
BN: "[e2@2 b2@2 e3@2 e2 f#2@3 c#3@2 f#3@2 ~@2 b2@2 e3@2 e2 f#2@2 c#3@2 f#3@2 ~@2 b2@2 e3@2 e2 f#2@3 c#3@2 f#3@2 e2@2 b2@2 e3@2 e2, ~@14 e2@3 ~@10 e2@3 ~@18]/6",
BO: "[f#2@3 c#3@2 f#3@2 e2@2 b2@2 e3@2 e2 f#2@3 c#3@2 f#3@2 e2@2 b2@2 e3@2 e2 f#2@3 c#3@2 f#3@2 e2@2 b2@2 e3@2 e2 f#2@3 c#3@2 f#3]/6",
BP: "[~ [e2,b2]@32 ~@7]/5", // E5
})).s("gm_lead_5_charang").gain(0.1).pan(0.8)
// other · lead 2 sawtooth · "SAW WAVE"
const lead_2_sawtooth = note(`<
A@8 ~@42 B@2 C@2 D E@2 D F D G@8 H@7 I@7 J@4 ~@65 K@6 L@4 M@8 ~@2 N@7 O@8 ~ P@8 ~@6
>`.pickRestart({
A: "[e1,e2]/8", B: "b1/2", C: "[b1@31 ~]/2", D: "a1", E: "[g1@3 b1@5]/2", F: "g1", G: "[e1@63 ~]/8", H: "[e1,e5]/7",
I: "[e1 f#1 e1 f#1 e1 f#1 e1 f#1, b5]/7", J: "[e1@7 ~]/4", K: "[~@14 b1@32 b1@31 ~ a1@16 g1@2]/6",
L: "[~@5 b1@10 a1@8 g1@8 a1]/4", M: "[~@7 e1@57]/8", N: "[~ e5@7]/7", O: "[~@3 e5@29]/8", P: "[~@3 e5@61]/8",
})).s("gm_lead_2_sawtooth").gain(0.32)
// chords · pad poly · "POLYSYNTH"
const pad_poly = note(`<
~@8 A@2 B@2 C@2 D@2 A@2 E@2 C@2 F@2 G@2 H@2 I@2 J@2 K L M@3 ~@13 N@4 ~@56 O@2 P@2 Q@2 R@2 O@2 S@2 Q@2 T@3 U@7 V@5 ~@12
W@5 ~@40 X@5
>`.pickRestart({
A: "[~@4 [b3,e4,g#4]@11 ~]/2", B: "[~@4 [a3,d4,f#4]@11 ~]/2", C: "[~@4 [a3,d4,g4]@11 ~]/2",
D: "[~@8 [e4,g4,c5]@23 ~]/2", E: "[~@8 [a3,d4,f#4]@23 ~]/2", F: "[~@4 [e4,g4,c5]@11 ~]/2",
G: "[[c4,c5]@6 [b3,b4]@6 [a3,a4]@6 [c4,c5]@6 [b3,b4]@4 [a3,a4]@3 ~]/2", H: "e5/2", I: "f#5/2", J: "[a5@31 ~]/2",
K: "c5@6 ~@5 a4@5, ~@6 b4@7 ~@3", L: "~ g4@7 f#4@4 e4@4, ~ c6", M: "b5/3", N: "[c#4@61 ~@3]/4",
O: "[~@3 [b3,e4,g#4]@11 ~@2]/2", P: "[~@3 [a3,d4,f#4]@11 ~@2]/2", Q: "[~@3 [a3,d4,g4]@11 ~@2]/2",
R: "[~@6 [e4,g4,c5]@23 ~@3]/2", S: "[~@6 [a3,d4,f#4]@23 ~@3]/2",
T: "[~@3 [e4,g4,c5]@11 ~ [c4,c5]@3 [b3,b4]@3 [a3,a4]@3]/3", // C B A
U: "[[c4,c5]@6 [b3,b4]@4 [a3,a4]@3 ~ e5@32 f#5@32 a5@31 ~ c5@2]/7", // C B A
V: "[~@3 b4@6 a4@6 g4@7 f#4@4 e4@4 b5@48 ~@2, ~@22 c6@9 ~@49]/5", W: "[~@14 c#4@61 ~@5]/5", X: "[~ [e2,e3]@32 ~@7]/5",
})).s("gm_pad_poly").gain(0.17).pan(0.4)
// other · lead 2 sawtooth · "SAW WAVE"
const lead_2_sawtooth_2 = note("<A@7 ~ B@4 ~@38 C@4 D@3 E F E G@8 H@14 ~@69 I@4 J@2 K@4 L@6 M@5 ~@24 N@5>".pickRestart({
A: "[e4@103 ~@9]/7", B: "e4/4", C: "[b4@7 ~]/4", D: "[a4@7 b4@5]/3", E: "a4", F: "g4", G: "[e4@127 ~]/8",
H: "[e4@55 ~]/7", I: "[~@7 b4@25]/4", J: "[~@7 a4@9]/2", K: "[~@5 b4@10 a4@8 g4@8 a4]/4", L: "[~@7 e4@41]/6",
M: "[~@7 e4@32 ~]/5", N: "[~ e4@32 ~@7]/5",
})).s("gm_lead_2_sawtooth").gain(0.08).pan(1)
// other · lead 2 sawtooth · "SAW WAVE"
const lead_2_sawtooth_3 = note("<A@8 B@4 ~@38 C@4 D@3 E F E G@8 H@14 ~@69 I@4 J@2 K@4 L@6 M@5 ~@24 N@5>".pickRestart({
A: "[e3@119 ~@9]/8", B: "e3/4", C: "[b4@7 ~]/4", D: "[a4@7 b4@5]/3", E: "a4", F: "g4", G: "[e4@127 ~]/8",
H: "[e3@55 ~]/7", I: "[~@7 b4@25]/4", J: "[~@7 a4@9]/2", K: "[~@5 b4@10 a4@8 g4@8 a4]/4", L: "[~@7 e4@41]/6",
M: "[~@7 e3@32 ~]/5", N: "[~ e3@32 ~@7]/5",
})).s("gm_lead_2_sawtooth").gain(0.08).pan(0)
// bass · fretless bass · "FRETLESS"
const bass_2 = note("<~@85 A B C@2 D@2 E@2 F G H I J K L M N@2 O P Q R@2 S@2 ~@91>".pickRestart({
A: "~@4 a2 f#2 g#2 e2", B: "d2 b1@2 a2@2 f#2 g#2 e2", C: "[d2 b1 a2 f#2 g#2 e2 d2 b1@2 a2@2 f#2 g#2 e2 d2 b1]/2",
D: "[a2 f#2 g#2 e2 d2 b1@2 a2@2 f#2 g#2 e2 d2 b1 a2 f#2]/2", E: "[g#2 e2 d2!2 b1 a1@2 b1@2 d2@2 a2 f#2 g#2 e2 d2]/2",
F: "b1!2 a2@2 f#2 g#2 e2 d2", G: "b1 a2 f#2 g#2 e2 d2 b1!2", H: "a2@2 f#2 g#2 e2 d2 b1 a2",
I: "f#2 g#2 e2 d2 b1!2 a2@2", J: "f#2 g#2 e2 d2 b1 a2 f#2 g#2", K: "e2 d2 c#2 b1 a1@2 b1@2",
L: "d2@2 a2 f#2 g#2 e2 d2 b1", M: "b1 a2@2 f#2 g#2 e2 d2 b1",
// … 131 more lines
More by Rush
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.