0:00/0:00
// Fifty-Mission Cap — The Tragically Hip
// 132 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 129 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(132/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 · "Bass"
const bass = note(`<
A B C@2 D E F E F E F E F E F E F E F E G H@3 I E F E G H@3 I E F E G H J K L M N O P B Q O R B N O S T U T V W X Y F
E F E F E F E F E F E F E F H@3 I E F E G H J K L M N O P B Q O R B N O S T U T V W Z B AA B AB AC AD AE AA B AA B AB
AC AD AE AA B AA B AB AC AF AG@2
>`.pickRestart({
A: "~@7 e3", B: "~ e3!7", C: "e3!8", D: "e3@2 e3@2 e3@2 e3@2 e3@2 e3@3 ~ e2@2", E: "~ e2!7", F: "e2!6 d2 e2",
G: "e2!6 d2 a2", H: "~ a2!3 g2 a2 g2 a2", I: "~ a2!3 g2 a2 d2 e2", J: "~ a2!3 g2 a2 d2 g2", K: "~ g2!6 f#2",
L: "~ f#2!6 f#3", M: "f#3 e3!7", N: "e3!7 b2", O: "~ a2!7", P: "a2!5 f#3 ~ e3",
Q: "e3@2 e3@2 e3@2 e3@2 e3@2 b2@3 ~ a2@2", R: "a2!7 f#3", S: "a2!7 f#2", T: "b2@5 ~ b2@3 ~ b2@2 c#3@2 a2@2",
U: "~@2 a2@2 a2@3 ~ e3@3 ~ e3@2 f#2@2", V: "~ a2!2 e3!4 f#2", W: "b2@5 ~ b2@4 ~@2 a2@2 d3@2, ~@5 b2@2 ~",
X: "~@2 d3@2 d3@3 ~ d3@2 d3@2 d3@2 d2@2", Y: "e2!8", Z: "~ d3!4 f#3 b2 e3", AA: "e3!5 f#3 b2 e3", AB: "e3!6 a2 d3",
AC: "~@2 d3@2 d3@3 ~ d3@2 d3@2 d3@2 d3@2", AD: "d3!5 f#3 b2 e3", AE: "~@2 e2@2 e3@3 ~ e3@2 e3@2 e3@2 e3@2",
AF: "d3@2 d3@2 ~ d3@2 d3@2 d3@2 ~ f#3@2 a2@2", AG: "[e2@2 ~ b2@17 ~@12]/2",
})).s("gm_electric_bass_finger").gain(0.51)
// chords · distortion guitar · "Guitar 1"
const distortion_guitar = note("<A@8 B@8 C@8 ~@105>".pickRestart({
A: "[~@7 [b4,e5,g#5]@3 ~@3 e5 ~ [a4,d5,f#5]@3 ~@3 [a4,d5] ~ [g4,c5,e5]@3 ~@3 [g4,c5] ~ [a4,d5,f#5]@3 ~@3 d5 ~ [b4,e5,g#5]@3 ~@3 e5 ~ [a4,d5,f#5]@3 ~@3 [a4,d5] ~ [g4,c5,e5]@3 ~@3 [g4,c5] ~ [a4,d5,f#5]]/8", // E D D5 C C5 D E D …
B: "[~@5 d5 ~ [b4,e5,g#5]@3 ~@3 e5 ~ [a4,d5,f#5]@3 ~@3 [a4,d5] ~ [g4,c5,e5]@3 ~@3 [g4,c5] ~ [a4,d5,f#5]@3 ~@3 d5 ~ [b4,e5,g#5]@3 ~@3 e5 ~ [a4,d5,f#5]@3 ~@3 [a4,d5] ~ [g4,c5,e5]@3 ~@3 [g4,c5] ~ [a4,d5,f#5]]/8", // E D D5 C C5 D E D …
C: "[~@5 d5 ~ [b4,e5,g#5]@3 ~@3 e5 ~ [a4,d5,f#5]@3 ~@3 [a4,d5] ~ [g4,c5,e5]@3 ~@3 [g4,c5] ~ [a4,d5,f#5]@3 ~@3 [a4,d5] ~ [a4,e5]@3 ~@3 [g4,c5,e5] ~ [a4,d5,f#5]@3 ~@3 d5 ~ [g4,c5]@3 ~@6]/8", // E D D5 C C5 D D5 A5 …
})).s("gm_distortion_guitar").gain(0.51)
// chords · overdriven guitar · "Guitar 2"
const overdriven_guitar = note(`<
~ A@2 B@5 C@3 D@3 E@7 F G F H I J K L F G F M I N O@2 P Q@2 R S@2 T U V W@2 X Y Z AA AB AC@2 AD@2 AE@3 AF AG@2 AH AI@3
AJ@2 AK@6 F M F AL@2 L K AM@2 H K R AN AO AP AQ@2 AR@2 AS AT AU@2 AV AW@2 AX@2 AY@3 AZ@6 BA@3 BB BC BD@4 BE@2 BF BC BG
BH BI ~
>`.pickRestart({
A: "[~@2 [e3,b3] ~ [e3,b3]@2 e2@2 ~@4 e3@2 e3@2 ~@6 d3@4 ~@2 d3@2 ~@2, e2@5 ~@3 [e3,b3]@4 ~@2 d3@6 d2@5 ~ d2@4 ~@2, ~@5 e2@2 ~@2 a3@2 ~@5]/2", // E5
B: "[~@2 [c3,g3,c4] ~@3 c2@2 [c3,g3,c4]@2 c2@4 ~@4 [d3,a3] ~ [d3,a3]@2 d2@2 ~@4 d3@2 f#3@2 ~@6 e3@4 ~@2 e3@2 ~@4 d4 ~ a3@2 d3@2 d4 ~@2 d4 a3 ~ d3 ~@7 c3@4 ~@2 c3@2 ~@2, ~@14 d2@7 ~@3 [d3,a3]@4 ~@2 e3@6 e2@5 ~ e2@4 d2@16 ~@6 c2@5 ~ c2@4 ~@2, ~@26 d2@4 ~@4 b3@4 ~@19 a3@2 ~@7 g3@4 ~@10, ~@29 d3 ~ c3@3 ~@6]/5", // C5 D5
C: "[~@2 [d3,a3,d4] ~@3 d2@2 [d3,a3,d4]@2 d2@4 ~@4 [e3,b3] ~ [e3,b3]@2 e2@2 ~@4 e3@2 ~@4 d4 ~ a3@2 d3@2 d4 ~@2 d4 a3 ~@3, ~@14 e2@7 ~@3 [e3,b3]@4 ~@13 a3@2 ~@5, ~@13 e2@2 d2@8 ~, ~@21 d3 ~@2]/3", // D5 E5
D: "[~@2 [c3,g3,c4] ~ [c3,g3,c4]@2 ~@2 [c3,g3,c4] ~ [c3,g3,c4] ~ [c3,g3,c4] ~@5 d4 ~ a3@2 d3@2 d4 ~@2 d4 a3 ~@7 b3@2 ~@4 e2@2 e3@2 ~@2, ~@6 c2@8 d2@16 e2@11 ~@7, ~@25 a3@2 ~@11 [b3,e4]@7 ~@3, ~@13 d3 ~@3 e3@2 ~@5]/3", // C5 E5
E: "[~@2 [d3,a3,d4] ~ [d3,a3,d4]@2 ~@2 [d3,a3,d4] ~ [d3,a3,d4] ~ [d3,a3,d4] ~@5 c4 ~ g3@2 c3@2 c4 ~@2 c4 g3 ~ e3@2 ~@6 d3@4 ~@2 d3@2 ~@4 [e3,b3] ~ [e3,b3]@2 e2@2 ~@4 e3@2 ~@4 [d3,a3] ~ [d3,a3]@2 d2@2 ~@4 d3@2 d3@2 ~@6 c3@4 ~@2 c3@2 e3@2 ~@6 d3@4 ~@2 d3@2 ~@2, ~@6 d2@8 c2@16 ~@6 d2@5 ~ d2@4 e2@7 ~@5 e2@4 d2@7 ~@5 d2@4 ~@6 c2@5 ~ c2@4 ~@6 d2@5 ~ d2@4 ~@2, ~@25 g3@2 ~@7 a3@4 ~@44 g3@4 ~@12 a3@4 ~@10, ~@13 c3 ~ d3@3 ~@10 [e3,b3]@2 ~@6 [d3,a3]@2 ~ c3@3 ~@5 d3@3 ~@6]/7", // D5 E5 D5 E5 D5
F: "~ e3 ~@2 e3@3 ~, ~@3 a2@4 ~", G: "~ a3 ~@2 a3@3 ~, ~@3 a2@4 ~",
H: "~@2 [a2,a3] ~@3 a2@2 ~@2 a2 ~ a2 ~@3, ~@2 a3 ~", I: "~@2 [e3,b3] ~@3 e2@2 ~@2 e2@2 e3@2 ~@2, ~@2 [e3,b3] ~",
J: "~@2 [d3,a3] ~@3 d2@2 [d3,a3]@6 ~@2", K: "~ [c3,g3] ~@2 [c3,g3]@3 ~, ~@3 c2@4 ~",
L: "~@2 [d3,a3] ~@3 d2@2 ~@2 d2@2 d3@2 ~@2, ~@2 [d3,a3] ~", M: "~@2 [a2,a3] ~@3 a2@2 a3@6 ~@2",
N: "~ [d3,a3] ~@2 [d3,a3]@3 ~, ~@3 d2@4 ~", // D5
O: "[~@2 [c3,g3]@2 ~@4 [c3,g3]@6 ~@4 [d3,a3] ~@5 d3@2 a3@2 d3@2 ~@2, ~@6 c2@8 d2@7 ~ d2@8 ~@2, ~@12 d4@3 ~]/2", // C5 D5
P: "~@2 [a2,e3] ~@3 a2@2 e3@6 ~@2", // A5
Q: "[~@2 a3@2 ~@4 a3@6 ~@4 [c3,g3] ~@5 c3@2 g3@2 c3@2 ~@2, ~@6 a2@8 c2@7 ~ c2@8 ~@2, ~@12 c4@3 ~]/2", // C5
R: "~@2 [f#3,a3] ~@3 f#2@2 [f#3,a3]@6 [f#2,c#3,f#3]@2", // F#m F#5
S: "[~@2 [e3,b3,e4]@5 ~ [e3,b3,e4]@6 [e3,b3,e4]@4 e2@2 [e3,b3,e4]@2 ~@2 [e3,b3,e4]@3 ~ [b2,f#3,b3]@3 ~, ~@7 d#4 ~@8]/2", // E5 B5
T: "~@2 [e3,a3] ~@3 a2@2 [e3,a3]@2 a2 ~@3 [a2,e3,a3]@2", // A5
U: "[a2,e3,a3] ~ a2@2 [e3,a3]@2 [a2,e3,a3] ~ f#3 c#3 f#2 ~ c#3 ~@3, ~@11 f#3@2 ~@3", // A5
V: "~@2 [e3,b3,e4] ~@3 e2@2 [e3,b3,e4]@2 e2@4 [e3,b3,e4]@2", // E5
W: "[~@2 [e3,b3,e4] ~@3 e2@2 [e3,b3,e4]@2 e2@4 ~@6 e3@2 ~@4 a2 ~ a2 ~ e3@2, ~@14 a2@8 [e3,a3]@7 ~@3]/2", // E5 A5
X: "[a2,e3,g#3,a3]@2 ~@2 [a2,e3,a3]@2 ~@2 [a2,e3,a3]@3 ~ [f#2,c#3,f#3]@3 ~", // Amaj7 A5 F#5
Y: "f#3 ~@5 e3@4 ~@2 e3@2 [b3,e4]@2, e3@4 e2@5 ~ e2@4 ~@2, ~ b3@2 ~@5", // E5
Z: "~@2 e4 ~ b3@2 e3@2 e4 ~@2 e4 b3 ~ [b2,f#3,b3]@2, e2@7 ~, ~@9 b3@2 ~@5, ~@5 e3 ~@2", // B5
AA: "~@2 [a2,e3,a3]@5 ~ a3 e3 a2 ~ e3 a2 a3 e3, ~@11 a3@2 ~@3", // A5
AB: "~@2 [e3,a3] ~ [a2,e3,a3]@2 a2 ~ [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3] ~", // A5
AC: "[~@2 [b2,f#3] ~ [b2,f#3]@2 b1@2 ~@4 b2@2 b2@2 ~@2 e3@4 a2@3 ~ a2 ~ a2@2 [e3,a3]@2, b1@5 ~@3 [b2,f#3]@4 ~@2 a2@6 ~@12, ~@5 b1@2 ~@9]/2", // B5 A5 B5
AD: "[~@2 [b2,f#3,b3] ~ [b2,f#3,b3]@2 ~@2 [b2,f#3,b3] ~ [b2,f#3,b3] ~ [b2,f#3,b3] ~ b2 ~@3 e3@4 a2@3 ~ a2 ~ a2@2 [e3,a3]@2, ~@3 b1@4 a2@3 ~@6]/2", // B5 A5
AE: "[~@2 b3 ~ f#3@2 b2@2 b3 ~@2 b3 f#3 ~ [f#3,b3]@5 ~ [d3,a3,d4]@3 ~ [d3,a3,d4]@6 ~@6 b3@2 ~@4 e2@2 e3@2 ~@2, b1@14 ~@16 e2@11 ~@7, ~@9 f#3@2 ~@23 e3@4 [b3,e4]@7 ~@3, ~@10 b2@2 ~@2 b2 ~@33]/3", // B5 D5 E5
AF: "~@2 [d3,a3,d4] ~ [d3,a3,d4]@2 ~@2 [d3,a3,d4] ~ [d3,a3,d4] ~ [d3,a3,d4] ~@3, ~@3 d2@4 ~", // D5
AG: "[~@2 [c3,g3,c4] ~ [c3,g3,c4]@2 ~@2 [c3,g3,c4] ~ [c3,g3,c4] ~ [c3,g3,c4] ~@5 [d3,a3] ~ [d3,a3]@2 d2@2 ~@4 d3@2 ~@2, ~@6 c2@8 d2@7 ~@3 [d3,a3]@4 ~@4, ~@13 d2@2 ~]/2", // C5 D5
AH: "~@2 [e3,b3,e4] ~@3 e2@2 [e3,b3,e4]@2 e2@4 ~@2", // E5
AI: "[~@2 [d3,a3,d4] ~@3 d2@2 [d3,a3,d4]@2 d2@4 ~@4 [c3,g3] ~ [c3,g3]@2 c2@2 ~@4 c3@2 ~@4 [d3,a3] ~ [d3,a3]@2 d2@2 ~@4 d3@2 ~@2, ~@14 c2@7 ~@3 [c3,g3]@4 ~@12 [d3,a3]@4 ~@4, ~@26 c2@4 d2@7 ~@5 d2@4 ~@2]/3", // D5 C5 D5 C5 D5
AJ: "[~@2 [e3,b3,e4] ~@3 e2@2 [e3,b3,e4]@2 e2@4 ~@4 [d3,a3] ~ [d3,a3]@2 d2@2 ~@4 d3@2 ~@2, ~@14 d2@7 ~@3 [d3,a3]@4 ~@4, ~@13 d2@2 ~]/2", // E5 D5
AK: "[~@2 [c3,g3,c4] ~@3 c2@2 [c3,g3,c4]@2 c2@4 ~@6 a3@2 ~@4 d2@2 d3@2 ~@6 b3@2 ~@4 e2@2 e3@2 ~@4 d4 ~ a3@2 d3@2 d4 ~@2 d4 a3 ~ d3 ~@7 c3@4 ~@2 c3@2 ~@6 a3@2 ~@4 d2@2 d3@2 ~@2, ~@14 d2@11 ~@5 e2@11 ~@5 d2@16 ~@6 c2@5 ~ c2@4 d2@11 ~@7, ~@18 d3@4 [a3,d4]@7 ~@5 e3@4 [b3,e4]@7 ~@12 a3@2 ~@7 g3@4 ~@16 [a3,d4]@7 ~@3, ~@29 d3 ~ c3@3 ~@7 d3@2 ~@5]/6", // C5 D5 E5 D5
AL: "[~@2 [a2,a3] ~@3 a2@2 a3@6 ~@4 [e3,b3] ~@5 e3@2 b3@2 e3@2 ~@2, ~@14 e2@7 ~ e2@8 ~@2, ~@12 e4@3 ~]/2", // A E5
AM: "[~@2 [d3,a3] ~@3 d2@2 ~@2 d2@2 d3@2 a2@4 e3 ~@7 e3@2 a2@2 ~@2, ~@8 [d3,a3]@4 ~@10 a2@5 ~@5, ~@12 a3@3 ~]/2", // D5
AN: "~@2 [e3,b3,e4]@5 ~ [e3,b3,e4]@6 e4@2", AO: "~ b3 e3 ~ b3 e3 e4 b3 [e3,b3,e4]@3 ~ [b2,f#3,b3]@3 ~, ~@3 e4@2 ~@11",
AP: "b2 ~ e3@4 a2@3 ~ a2 ~ a2@2 [e3,a3]@2, a2 ~@3", // A5
AQ: "[[a2,e3,a3]@6 ~@2 [f#2,c#3,f3,f#3]@2 ~@2 [f#2,c#3,f#3]@2 ~@4 [e3,b3] ~ [e3,b3]@2 e2@2 ~@4 e3@2 b3 ~, ~@14 e2@7 ~@3 [e3,b3]@4 ~@4, ~@13 e2@2 ~]/2", // A5 F#maj7 F#5 E5
AR: "[~@2 e4 ~ b3@2 e3@2 e4 ~@2 e4 b3 ~ a2@4 e3 ~ e3@2 a2 ~ a2 ~ a2 ~ a2@2 e3 ~, e2@14 ~@6 a2 ~@11, ~@9 b3@2 ~@21, ~@5 e3 ~@6 e3@2 ~@2]/2",
AS: "a3 e3 a2 ~ e3 a2 a3 e3 [a2,e3,a3]@3 ~ [f#2,c#3,f#3]@3 ~, ~@3 a3@2 ~@11", // A5 F#5
AT: "~@2 b3 ~@2 e2 ~ b3, e2@9 ~@3 e3@4, ~@2 e3@4 [b3,e4]@7 ~@3", // E5
AU: "[~@2 [e3,b3,e4] ~@3 e2@2 [e3,b3,e4]@2 e2@4 [b2,f#3]@4 [a2,e3,a3]@5 ~ a3 e3 a2 ~ e3 a2 a3 e3, ~@14 b3 ~@12 a3@2 ~@3]/2", // E5 B5 A5
AV: "a2@2 e3 ~ e3@2 a2 ~ a2 ~ a2 ~ a2@2 e3 ~, ~@4 a2 ~@3 e3@4 ~@4",
AW: "[~@2 b3 ~ f#3@2 b2@2 b3 ~@2 b3 f#3 ~@7 e3@2 ~@4 a2 ~ a2 ~ e3@2, b1@7 ~@9, ~@9 f#3@2 ~@11 [e3,a3]@7 ~@3, ~@5 b2 ~ a2@4 ~@5]/2", // A5
AX: "[~@2 [b2,f#3] ~ [b2,f#3]@2 b1@2 ~@4 b2@2 ~@4 a3 ~ e3@2 ~@2 a3 ~@2 a3 ~ a2 a3 e3, b1@5 ~@3 [b2,f#3]@4 ~@2 a2@11 e3@2 ~ e3@2 ~@2, ~@5 b1@2 ~@6 a2 ~@2]/2", // B5
AY: "[~@4 f#3@2 ~@4 b1@2 b2@2 [b2,b3]@5 ~ [d3,a3,d4]@3 ~ [d3,a3,c#4,d4]@2 d2@2 [d3,a3,d4]@2 ~@6 b3@2 ~@4 e2@2 e3@2 ~@2, b1@9 ~@21 e2@11 ~@7, ~@2 b2@4 [f#3,b3]@7 ~ f#3 ~@19 e3@4 [b3,e4]@7 ~@3]/3", // B D5 Dmaj7 D5 B5 E5
AZ: "[~@2 [e3,b3,e4] ~@3 e2@2 [e3,b3,e4]@2 e2@4 ~@6 b3@2 ~@4 e2@2 e3@2 ~@4 e4 ~ b3@2 e3@2 e4 ~@2 e4 b3 ~@5 [d3,a3] ~ [d3,a3]@2 d2@2 ~@4 d3@2 ~@4 d4 ~ a3@2 d3@2 d4 ~@2 d4 a3 ~@7 b3@2 ~@4 e2@2 e3@2 ~@2, ~@14 e2@11 ~@5 e2@16 d2@7 ~@5 d2@4 d2@16 e2@11 ~@7, ~@18 e3@4 [b3,e4]@7 ~@12 b3@2 ~@30 a3@2 ~@11 [b3,e4]@7 ~@3, ~@21 e3 ~@6 [d3,a3]@2 ~@7 d3 ~@3 e3@2 ~@5]/6", // E5 D5 E5 D5
BA: "[~@2 [e3,b3,e4] ~ [e3,b3,e4]@2 ~@2 [e3,b3,e4] ~ [e3,b3,e4] ~ [e3,b3,e4] ~@7 b3@2 ~@4 e2@2 e3@2 ~@4 e4 ~ b3@2 e3@2 e4 ~@2 e4 b3 ~@3, ~@6 e2@8 e2@11 ~@5 e2@16 ~@2, ~@18 e3@4 [b3,e4]@7 ~@12 b3@2 ~@5, ~@21 e3 ~@2]/3", // E5
BB: "~@2 [e3,b3,e4] ~ [e3,b3,e4]@2 ~@2 [e3,b3,e4] ~ [e3,b3,e4] ~ [e3,b3,e4] ~ [e3,f#3]@2, ~@3 e2@4 ~", // E5 Esus2
BC: "~@3 e3@2 ~ e3 ~, ~ b3@2 ~@5, ~@4 e2@5 ~ e2@4 ~@2",
BD: "[~@2 [d3,a3,d4] ~@3 d2@2 [d3,a3,d4]@2 d2@4 ~@4 d4 ~ a3@2 d3@2 d4 ~@2 d4 a3 ~@5 [e3,b3] ~ [e3,b3]@2 e2@2 ~@4 e3@2 ~@4 [e3,b3] ~ [e3,b3]@2 e2@2 ~@4 e3@2 ~@2, ~@14 d2@16 e2@7 ~@5 e2@4 e2@7 ~@5 e2@4 ~@2, ~@25 a3@2 ~@37, ~@13 d3 ~@6 [e3,b3]@2 ~@6 [e3,b3]@2 ~@2]/4", // D5 E5
BE: "[~@2 [e3,b3,e4] ~ [e3,b3,e4]@2 ~@2 [e3,b3,e4] ~ [e3,b3,e4] ~ [e3,b3,e4] ~@7 b3@2 ~@4 e2@2 e3@2 ~@2, ~@6 e2@8 e2@11 ~@7, ~@18 e3@4 [b3,e4]@7 ~@3]/2", // E5
BF: "~@2 [e3,b3,e4] ~@3 e2@2 [e3,b3,e4]@2 e2@4 [e3,f#3]@2", BG: "~@2 [d3,a3,d4] ~@3 d2@2 [d3,a3,d4]@2 d2@4 ~@2",
BH: "~@2 [d3,a3,d4] ~@2 [d3,a3,d4]@2 ~@2 [d3,a3,d4] ~@2 [d3,a3,d4] ~ [d3,a3,d4] ~, ~@7 d2@9", // D5
BI: "~ [e3,b3,e4]@6 ~@9", // E5
})).s("gm_overdriven_guitar").gain(0.25)
// chords · overdriven guitar · "Guitar 2" · soft notes
const overdriven_guitar_soft = note(`<
~@2 A@2 ~ B ~ C@2 ~ D@2 ~ E@2 ~ F ~@2 G H@4 I J K@2 L@4 M N@3 ~ O@2 ~ P ~@2 Q R@2 S T ~ B ~@2 U ~ V W V ~@2 X@3 Y@3 ~
R@2 Z@2 AA AB ~ G AC@2 AD@2 P AE AF@2 AG AH AI@2 P ~@2 V ~ AJ ~ AK ~ AB S ~ AK ~ T ~@2 AL ~ AM@2 AB ~@3 AN@2 AB AO@2
AP@2 ~@2 AO@2 AM@2 AQ@3 ~@2
>`.pickRestart({
A: "[~@7 a#3 ~@6 c2@5 ~@9 c3 ~@3]/2", B: "~@7 c4 ~@8", C: "[~@7 g#3 ~@6 d2@5 ~@9 d3 ~@3]/2", D: "[~@14 c2@7 ~@11]/2",
E: "[~@6 e3@5 ~@3 d2@7 ~@11]/2", F: "~@7 a#3 ~@8", G: "~@7 g#3 ~@8",
H: "[~@7 a#3 ~@6 a2@6 ~@10 a2@6 ~@10 a2@6 ~@10 a2@2]/4", I: "~@12 a3 ~ e2@2", J: "~@6 b3 ~",
K: "[~@2 g#3 ~@11 c2@7 ~@9 d2@2]/2", L: "[~@6 a3 a2@3 ~@5 a2@3 ~@5 a2@3 ~@6]/4", M: "~@2 g#3 ~@11 e2@2",
N: "[~@12 b3@2 d2@7 ~@9 c2@7 ~@11]/3", O: "[~@2 d#3 ~@11 a2@6 ~@12]/2", P: "~@2 g#3 ~@13", Q: "a2@3 ~@9 a2 ~@3",
R: "[~@14 e2@5 ~@9 e3 ~@3]/2", S: "e2@3 ~@9 e3 ~@3", T: "~@6 a2@3 ~@7", U: "a2@3 ~@13", V: "~@7 f3 ~@8",
W: "b1@5 ~@11", X: "[~@6 e3@5 ~@3 d2@7 ~@9 c2@7 ~@11]/3", Y: "[~@14 e2@5 ~@9 e3 ~ d2@5 ~@9 d3 ~@3]/3",
Z: "[~@14 c2@5 ~@9 c3 ~@3]/2", AA: "~@6 d3@5 ~@5", AB: "~@6 e3@5 ~@5", AC: "[~@6 d3@5 ~@3 a2@6 ~@12]/2",
AD: "[~@2 g#3 ~@11 a2@6 ~@12]/2", AE: "~@7 d2", AF: "[~@12 a3@2 c2@7 ~@9 d2@2]/2", AG: "~@6 a3 ~", AH: "~@7 a2",
AI: "[~@12 a3 ~ c2@7 ~@11]/2", AJ: "~@13 b3 ~@2", AK: "~@13 e3 ~@2", AL: "~@6 b2@5 ~@5",
AM: "[~@6 e3@5 ~@3 e2@5 ~@9 e3 ~@3]/2", AN: "[~@6 e3@5 ~@3 e2@7 ~@11]/2", AO: "[~@14 e2@7 ~@11]/2",
AP: "[~@7 c4 ~@6 d2@5 ~@9 d3 ~@3]/2", AQ: "[~@7 c4 ~@6 d2@5 ~@9 d3 ~ d2@8 ~@10]/3",
})).s("gm_overdriven_guitar").gain(0.13)
// chords · electric guitar muted · "Guitar"
const electric_guitar_muted = note(`<
~ A@8 B@4 C@2 D@8 E@2 F G@5 H@5 I@7 J K@2 L@2 M N O@2 P Q@2 R@2 S T@8 U@3 V@6 W X@4 Y Z@3 Y AA@3 AB AC AD@2 AE@2 AF N
AG@2 AH AI@2 AJ@2 S AK@8 AL@6 AM@5 AN@4 AO ~
>`.pickRestart({
A: "[g#4 ~@5 b5@7 ~ [a4,d5,f#5,a5]@16 g4@3 ~@5 c6@7 ~ [d5,f#5]@12 ~@2 d5 ~ [g#4,b4,e5,g#5]@11 ~ [g#4,b4,e5,g#5] ~ e2 ~ [a4,d5,f#5]@11 ~ [a4,d5,f#5] ~ [a4,d5,f#5,a5] ~ g4@3 ~@5 c6@7 ~ [a4,d5,f#5]@11 ~ [a4,d5,f#5] ~ [a4,d5,f#5,a5] ~ [g#4,e5]@2, e5@13 ~@17 e5@15 ~@14 f#5@2 ~@33 e5@15 ~@19, ~ g#4@6 ~@10 g4@6 a4@8 ~@18 g4@6 ~@9, ~@4 g#5@9 ~@23 g5@9 ~ a5@11 ~ a5@2 ~@18 a5@12 ~@10 g5@9 ~ a5@12 ~@6]/8", // D E D C#m
B: "[~@6 b5@7 ~ [d5,f#5]@12 ~@2 d5 ~ [g4,c5,e5]@11 ~ [g4,c5,e5] ~ [g4,c5,e5,g5] ~ [a4,d5,f#5,a5]@11 ~ [a4,d5,f#5,a5] ~ d3 ~ [g#4,e5]@2, ~ g#4@6 a4@8 ~@17, ~@4 g#5@9 ~ a5@11 ~ a5@2 ~@36, ~@27 f#5@2 ~ g5@12 ~@22]/4", // D C D C#m
C: "[~@6 b5@7 ~ [d5,f#5]@12 ~@2 d5 ~ [g4,c5,e5,g5]@2, ~ g#4@6 a4@8 ~, ~@4 g#5@9 ~ a5@11 ~ a5@2 ~@4, ~@27 f#5@2 ~@3]/2", // D C
D: "[~@10 [g4,c5,e5,g5] ~ c3 ~ [a4,d5,f#5,a5]@16 [g#4,b4,e5,g#5]@16 [a4,d5,f#5]@11 ~ [a4,d5,f#5] ~ [a4,d5,f#5,a5] ~ [c5,e5]@12 ~@2 c5 ~ [a4,d5,f#5,a5]@16 [g4,a4,c5,e5]@12 a2@2 [g4,a4,c5,e5]@2 [a4,d5,f#5,a5]@12 a2@2 [a4,d5,f#5,a5]@2 ~@2, ~@23 a5@6 ~@2 g4@8 ~@25, ~@62 g5@11 ~ g5@2 ~@52, ~@75 e5@2 ~@51]/8", // C D E D C D Am7 D
E: "[~@3 e5@4 [a4,d5,f#5,a5]@8 ~, ~ g4@6 ~@9, ~@2 a4@5 ~@9, ~@5 c5@9 ~@18]/2", // D
F: "~@3 g#5@4 ~, ~ g#4@6 ~, ~@2 b4@5 ~, ~@5 e5@9 ~@2",
G: "[~@6 a5@8 [c5,e5,g5,c6]@4 ~@4 [c5,e5,g5,c6]@8 [a4,d5,f#5,a5]@12 d3@2 [a4,d5,f#5,a5]@2 [a4,c5]@12 ~ c5 a4 ~ [a4,d5,f#5,a5]@12 a2@2 [a4,d5,f#5,a5]@2 ~@2, ~ a4@6 ~@16 g4@8 ~@9, ~@4 d5@10 ~@32 e5@11 ~ e5@2 ~@20, ~@5 f#5@9 ~@66]/5", // C D Am D
H: "[~@6 e5@8 [d5,f#5]@12 ~ f#5 d5 ~ [g#4,b4,e5,g#5]@12 e2@2 [g#4,b4,e5,g#5]@2 [a4,d5,f#5,a5]@16 [g4,c5,e5,g5]@12 c3@2 [g4,c5,e5,g5]@2 ~@2, ~ g4@6 ~@33, ~@2 a4@5 a4@8 ~@25, ~@5 c5@9 a5@11 ~ a5@2 ~@52]/5", // D E D C
I: "[~@6 a5@8 [a4,c5]@12 ~ c5 a4 ~ [d5,f#5]@12 ~ f#5 d5 ~ [c5,e5]@12 ~ e5 c5 ~ [d5,f#5,a5,d6]@4 ~@4 [d5,f#5,a5,d6]@8 [a4,f#5]@4 [g#4,e5]@6 [g#4,e5]@6 [g#4,e5,g#5]@9 ~ [g#4,e5]@4 [f#4,d#5]@4, ~ a4@6 g4@8 a4@8 g4@8 ~@25, ~@4 d5@10 e5@11 ~ e5@2 ~@84, ~@5 f#5@9 ~@16 a5@11 ~ a5@2 ~@2 g5@11 ~ g5@2 ~@52]/7", // Am D C D C#m D#m
J: "[e4,a4,c#5,e5]", K: "[[e4,c#5]@4 [a4,f#5]@3 [g#4,b4,e5,g#5]@9]/2", L: "[[g#4,b4,e5,g#5]@7 [e4,a4,c#5,e5]@9]/2",
M: "~@2 [a4,c#5]@2 ~@2 a3 ~ [e4,c#5]@4 [a4,f#5]@4", N: "g#4 ~@5 b5@7 ~@3, e5@13 ~@3, ~ g#4@6 ~, ~@4 g#5@9 ~@3",
O: "[[g#4,b4,e5,g#5]@9 ~ [g#4,b4,e5,g#5] ~ e2 ~ [f#4,d#5]@4 [e4,c#5]@6 [e4,a4,c#5,e5]@8]/2", // E D#m C#m A
P: "e4 ~@5 a5@7 ~@3, c#5@13 ~@3, ~ e4@6 ~, ~@4 e5@9 ~@3",
Q: "[[f#4,b4,d#5]@9 ~ [f#4,b4,d#5] ~ [f#4,b4,d#5,f#5] ~ e4@3 ~@5 a5@7 ~@3, f#5@10 ~@4 c#5@15 ~@3, ~@9 e4@6 ~, ~@20 e5@9 ~@3]/2", // B
R: "[f#4 ~@5 b5@7 ~ e4@3 ~@5 a5@7 ~@3, d#5@13 ~ c#5@15 ~@3, ~ f#4@6 ~@2 e4@6 ~, ~@4 f#5@9 ~@7 e5@9 ~@3]/2",
S: "f#4 ~@5 b5@7 ~ [f#4,d#5]@2, d#5@13 ~@3, ~ f#4@6 ~, ~@4 f#5@9 ~@3", // D#m
T: "[~@4 [a4,f#5]@4 ~@2 [d5,f#5]@2 ~@2 [g#4,b4,e5]@11 ~ [g#4,b4,e5] ~ [g#4,b4,e5,g#5] ~ [d5,f#5]@12 ~@2 d5 ~ [g4,c5,e5,g5]@11 ~ [g4,c5,e5,g5] ~ c3 ~ [d5,f#5]@12 ~@2 d5 ~ [g#4,b4,e5,g#5]@16 [a4,d5,f#5]@11 ~ [a4,d5,f#5] ~ [a4,d5,f#5,a5] ~ [c5,e5]@12 ~@2 c5 ~ [a4,f#5]@2, ~@7 g#5@6 ~@2 a4@8 ~@8 a4@8 ~@16 g4@8 ~, ~@30 a5@11 ~ a5@2 ~@18 a5@11 ~ a5@2 ~@18 a5@12 ~@17 e5@2 ~@3, ~@43 f#5@2 ~@30 f#5@2 ~@33 g5@11 ~ g5@2 ~@4]/8", // D E D C D E D C …
U: "[~@6 d6@7 ~ [b4,e5]@12 ~@2 b4 ~ [a4,d5,f#5,a5]@11 ~ [a4,d5,f#5,a5] ~ d3 ~ [g4,a4,d5]@2, ~ a4@6 g#4@8 ~@9, ~@4 a5@9 ~ g#5@11 ~ g#5@2 ~@20, ~@27 e5@2 ~@19]/3", // E5 D Gsus2
V: "[~@4 [g4,d5,e5] ~@3 [g4,d5]@3 ~ [g4,d5,e5] ~ [a4,d5,f#5]@11 ~ [a4,d5,f#5] ~ [a4,d5,f#5,a5] ~ [g#4,b4,e5,g#5]@16 [d5,f#5]@12 ~@2 d5 ~ [g4,c5,e5]@11 ~ [g4,c5,e5] ~ [g4,c5,e5,g5] ~ [a4,d5,f#5]@11 ~ [a4,d5,f#5] ~ [a4,d5,f#5,a5] ~@3, ~@7 a5@6 ~@10 a4@8 ~@17, ~@46 a5@11 ~ a5@2 ~@18 a5@12 ~@6, ~@59 f#5@2 ~ g5@12 ~@22]/6", // Em7 G5 Em7 D E D C D
W: "~@3 e5@4 ~, ~ g4@6 ~, ~@2 a4@5 ~, ~@5 c5@9 ~@2",
X: "[~@6 a5@8 [a4,c5,e5,a5]@4 ~@4 [a4,c5,e5,a5]@8 [d5,f#5,a5,d6]@4 ~@4 [d5,f#5,a5,d6]@8 [b4,e5]@12 ~ e5 b4 ~@3, ~ a4@6 ~@16 g#4@8 ~, ~@2 d5@5 ~@25, ~@5 f#5@9 ~@32 g#5@11 ~ g#5@2 ~@4]/4", // Am D E5
Y: "~@3 a5@4 ~, ~ a4@6 ~, ~@2 d5@5 ~, ~@5 f#5@9 ~@2",
Z: "[~@3 g5@4 [a4,d5,f#5,a5]@8 [g4,a4,c5,e5]@8 ~, ~ g4@6 ~@17, ~@2 c5@5 ~@17, ~@5 e5@9 ~@34]/3", // D Am7
AA: "[~@6 g5@8 [d5,f#5]@12 ~ f#5 d5 ~ [a4,f#5]@4 [g#4,e5]@6 [g#4,e5,g#5]@6 ~@2, ~ g4@6 a4@8 ~@9, ~@2 c5@5 ~@17, ~@5 e5@9 a5@11 ~ a5@2 ~@20]/3", // D C#m
AB: "~@2 [b4,e5]@2 ~@2 b3 ~ [g#4,e5]@4 [f#4,d#5]@4", // E5 C#m D#m
AC: "[e4,a4,c#5]@9 ~ [e4,a4,c#5] ~ [e4,a4,c#5,e5] ~ [e4,a4,c#5,e5] ~, e5@5 ~@3", // A
AD: "[[e4,a4,c#5,e5]@8 [a4,f#5,a5]@6 g#4@3 ~@5 b5@7 ~@3, ~@14 e5@15 ~@3, ~@9 g#4@6 ~, ~@20 g#5@9 ~@3]/2", // A D
AE: "[[g#4,b4,e5]@9 ~ [g#4,b4,e5] ~ [g#4,b4,e5,g#5] ~ [e4,a4,c#5]@11 ~ [e4,a4,c#5] ~ [e4,a4,c#5,e5] ~ [e4,a4,c#5,e5] ~, g#5@5 ~@2 e5@6 ~@3]/2", // E A
AF: "[e4,a4,c#5,e5]@2 [e4,c#5] [a4,f#5]", AG: "[[g#4,b4,e5,g#5]@14 [f#4,d#5]@4 [e4,c#5]@6 ~@2 [a4,c#5]@2 ~@2 a3 ~]/2",
AH: "[e4,a4,c#5,e5]@9 ~ [e4,a4,c#5,e5] ~ a2 [e4,a4,c#5,e5] ~@2", // A
AI: "[[b4,d#5]@10 ~@2 b4 ~ [e4,a4,c#5]@11 ~ [e4,a4,c#5] ~ [e4,a4,c#5,e5] ~ [e4,a4,c#5,e5] ~, f#4@7 ~@9, f#5@9 ~ f#5@2 ~@20, ~@11 d#5@2 ~ e5@12 ~@6]/2", // B A
AJ: "[[f#4,b4,d#5,f#5]@9 ~ [f#4,b4,d#5,f#5] ~ b2 ~ [a4,c#5]@12 ~@4 c#5 a4, ~@7 e4@9, ~@14 e5@11 ~ e5@2 a4@2 ~@2, ~@27 c#5@2 e5@2 ~]/2", // B A
AK: "[~@4 [a4,f#5]@4 [a4,f#5]@6 [b4,e5]@12 ~@2 b4 ~ [g#4,b4,e5]@16 [g#4,b4,e5]@11 ~ [g#4,b4,e5] ~ [g#4,b4,e5,g#5] ~ [g#4,b4,e5,g#5]@11 ~ [g#4,b4,e5,g#5] ~ e2 ~ [a4,d5,f#5,a5]@16 [d5,f#5]@12 ~@2 d5 ~ [g#4,b4,e5,g#5]@11 ~ [g#4,b4,e5,g#5] ~ e2 ~ [g#4,e5]@2, ~@7 g#4@8 ~@32 a4@8 ~@9, ~@14 g#5@11 ~ g#5@2 ~@2 g#5 ~@15 g#5@12 ~@36 a5@11 ~ a5@2 ~@20, ~@27 e5@2 ~@78 f#5@2 ~@19]/8", // D E5 E D E C#m
AL: "[~@6 b5@7 ~ [b4,e5]@12 ~@2 b4 ~ [g#4,b4,e5]@11 ~ [g#4,b4,e5,g#5] ~ e2 ~ [g#4,b4,e5]@11 ~ [g#4,b4,e5] ~ [g#4,b4,e5,g#5] ~ [g#4,b4,e5,g#5]@11 ~ [g#4,b4,e5,g#5] ~ e2 ~ [d5,f#5]@12 ~@2 d5 ~ [a4,f#5]@2, ~ g#4@6 g#4@8 ~@24 a4@8 ~, ~@4 g#5@9 ~ g#5@11 ~ g#5@2 ~@2 g#5 ~@15 g#5@12 ~@20 a5@11 ~ a5@2 ~@4, ~@27 e5@2 ~@62 f#5@2 ~@3]/6", // E5 E D
AM: "[~@6 d6@7 ~ [b4,e5]@12 ~@2 b4 ~ [g#4,b4,e5]@16 [g#4,b4,e5,g#5]@16 g#4@3 ~@5 b5@7 ~ [g#4,e5]@2, ~ a4@6 g#4@8 ~@18 g#4@6 ~, ~@4 a5@9 ~ g#5@11 ~ g#5@2 ~@2 g#5 ~@37 g#5@9 ~@3, ~@27 e5@2 ~@33 e5@15 ~@3]/5", // E5 E C#m
AN: "[~@6 b5@7 ~ [g#4,b4,e5]@11 ~ [g#4,b4,e5] ~ [g#4,b4,e5,g#5] ~ [a4,d5,f#5,a5]@11 ~ [a4,d5,f#5,a5] ~ d3 ~ [a4,d5,f#5]@13 ~ [a4,d5,f#5] ~ [a4,d5,f#5,a5] ~, ~ g#4@6 ~@25, ~@4 g#5@9 ~ g#5@12 ~@20 a5@14 ~@4]/4", // E D
AO: "[g#4,e5] ~", // C#m
})).s("gm_electric_guitar_muted").gain(0.24)
// drums · kick
const kick = s("bd").struct(`<
~ A@3 B A@15 B A@7 C A@3 C A@3 C A@3 D A@5 E A@5 D A@4 F A@8 G A@5 E A F A@3 H A@3 I A@3 J A@7 F A@3 F A@5 H A@7 I A@7
C A@5 K L ~
>`.pickRestart({
A: "x!2 ~ x!3 ~ x", B: "x!2 ~ x ~ x ~@2", C: "x!2 ~ x ~@4", D: "~@4 x!2 ~@2", E: "x ~ x ~@3 x!3 ~ x ~@3 x ~",
F: "x ~ x ~@3 x ~@3 x!2 ~@4", G: "x!2 ~ x ~ x ~ x", H: "~@2 x!2 ~@2 x!2 ~@2 x!2 ~@4", I: "~ x!2 ~ x!2 ~@2",
J: "~@2 x!2 ~@4 x!2 ~@4 x ~", K: "x ~ x ~@4 x ~ x ~@2 x ~@3", L: "x",
})).gain(0.45)
// drums · snare
const snare = s("sd").struct(`<
~ A@3 B A@5 C A D A@7 B A@7 E A@3 E A@3 E A@3 F A@7 D A C A F A@4 G D A@7 H A@7 G A@3 I A@3 J A@3 K A@7 G A@3 G A@3 C
A I A@7 J A@7 E A@5 L ~@2
>`.pickRestart({
A: "~ x ~ x", B: "~@4 x ~@3 x ~@3 x ~ x!2", C: "~@4 x ~@2 x ~@4 x ~@3", D: "~@2 x!6", E: "~@4 x ~@3 x!5 ~ x ~",
F: "x!3 ~ x ~ x ~@5 x ~@3", G: "~@4 x ~@3 x!2 ~@2 x ~ x ~", H: "~ x!3", I: "x!2 ~@14", J: "x ~@5 x ~@7 x!2",
K: "x!2 ~@2 x!4 ~@2 x!4 ~ x", L: "~@5 x ~@8 x ~",
})).gain(0.45)
// drums · low tom
const low_tom = s("lt").struct("<~@12 A ~@35 A ~@9 A ~@19 B ~@3 C ~@21 B ~@7 C ~@16>".pickRestart({
A: "~@2 x!6", B: "~@12 x!4", C: "~@3 x",
})).gain(0.4)
// drums · hihat
const hihat = s("hh").struct(`<
~ A B A C A@7 C A B D A D A B C A@3 B A@3 C A@2 B C A@2 B C A@3 E A B@2 A B A B F A@2 D E A@2 B A C@2 A@6 D C A@6 D C
A@2 B E A@3 E A B A E A@5 B A F A@3 F A@5 E A@3 B D A@2 E A@2 B A@3 B C A@2 D A@2 G H ~
>`.pickRestart({
A: "x!8", B: "x!3 ~ x!4", C: "x!2 ~@5 x", D: "x!3 ~ x ~ x ~ x ~ x ~ x ~ x ~", E: "~@7 x", F: "x!2 ~@6",
G: "x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~", H: "x",
})).gain(0.45)
// drums · mid tom
const mid_tom = s("mt").struct("<~@78 A ~@3 B ~@21 A ~@7 B ~@16>".pickRestart({
A: "~@8 x!2 ~@6", B: "~@3 x ~@2 x ~",
})).gain(0.4)
// drums · open hat
const open_hat = s("oh").struct(`<
// … 47 more lines
More by The Tragically Hip
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.