0:00/0:00
// The Who Triple Tracker, Part 1 — The Who
// 82 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 1 synth bass 1 (copy of ch 2 synth bass 1, 0.25 beats late); ch 11 lead 4 chiff (copy of ch 10 piano)
// note: Full arrangement: all 98 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/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 · synth bass 1
const bass = note("<A B C B@3 D E D@39 ~ F@2 G H I J K L M@3 N@13 O P N@19 Q R S T ~>".pickRestart({
A: "~@2 e3 ~@3 d3 ~@3 g2 ~@3 e2 ~@3 a2 ~@3 a2 ~@7 d2 ~", B: "~@2 e3 ~@3 d3 ~@3 g2 ~@3 e2 ~@3 a2 ~@3 a2 ~@9",
C: "~@2 e3 ~@3 d3 ~@3 g2 ~@3 e2 ~@3 a2 ~@3 a2 ~@3 a2 ~@3 a2 ~",
D: "~@2 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~", E: "~@26 e2 ~@3 e2 ~",
F: "[~@25 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 ~@2 [e4,b4] ~@3 [e4,a4]]/2", // E5 A5
G: "~@3 [e4,b4] ~@3 [e4,a4] ~@24", H: "~@11 b4 ~@3 a4 ~@3 b4 ~@3 a4 ~ [e3,b3,e4,g#4]@7", I: "~@25 b3 ~@3 b3 ~@2",
J: "~ b3 ~@3 b3 ~@3 b3 ~@3 b3 ~@3 b3 e3 ~ e3 ~ e3 ~@2 e3 ~ b2 ~ e3 ~ b2",
K: "~ e3 ~ b2 ~ e3 ~ b2 ~ e3 ~@15 [e3,b3,e4,g#4]@7", L: "~@7 [d3,a3,d4,f#4]@6 [d3,a3,d4,e4]@8 ~@11",
M: "[~@9 e3!16 e3@2 e3@2 e3@2 e3@2 e3@2 e3@2 e3@2 e3@2 e3@3 e3@3 e3@2 e3@4 e3@4 ~@2 e2 ~ d2 ~ d3@2 ~@2 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2, ~@9 [d3,a3,d4,a4]@8 [b3,e4,g#4]@8 ~@24 [f#3,a3,d4,a4]@8 [d3,g3,c#4,g4]@6 a1 ~ [e3,b3,e4,g#4]@31]/3", // D5 E D G E
N: "~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2", O: "~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@8",
P: "~@27 e2 ~@3 e2", Q: "~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 e2 ~@3 [d2,d3] ~@3 [d2,d3]",
R: "~@3 [d2,d3] ~@3 [d2,d3] ~@3 [d2,d3] ~@3 [d2,d3] ~@3 [d2,d3] ~@3 [d2,d3] ~@3 [a1,a2] ~@3 [a1,a2]", // D A
S: "~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2]", // A
T: "~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2] ~@3 [a1,a2] ~ [e1,e2,e3]@2 ~@5", // A E
})).s("gm_synth_bass_1").gain(0.56).pan(0)
// chords · electric guitar clean
const electric_guitar_clean = note("<A@2 B C D E ~@92>".pickRestart({
A: "[~@24 c#5@13 ~@3 d5@4 c5@3 ~@9 d5@2 b4@2 b4@2 a4@2]/2",
B: "g4@2 ~ d4@8 ~@15 [d4,b4,d5]@2 ~ [d4,b4,d5]@2 ~, ~@3 e4@5 ~@24", // G
C: "[d4,b4,d5]@2 ~ [d4,b4,d5]@2 [d4,b4,d5]@2 ~ [d4,b4,d5]@16 e5@2 a#4 b4 d5@2 e5@2", // G
D: "g4 ~ [d4,e4]@8 ~@10 e3@3 ~ g3@3 ~ a3@3 ~", // Dsus2
E: "a#3@8 [d#2,d#3]@2 ~@10 [d4,e4,a4,d5]@5 ~ [c#4,e4,a4,c#5]@5 ~, ~@10 a3 ~@2 a3 ~@2", // D# Dsus2 A
})).s("gm_electric_guitar_clean").gain(0.64)
// other · distortion guitar
const distortion_guitar = note(`<
~@13 A B C D C D C D C ~@8 D C D C D C D C ~@5 E F ~@13 G@3 H ~@12 G@3 I@2 ~@5 J K@2 L ~@4 M@5 ~
>`.pickRestart({
A: "~@24 d3@5 [b2,c3,c#3] [a2,a#2] [f#2,g2,g#2]", B: "e2@4 e2 ~@2 e2 d2@4 d2 d3@3, f2 ~@9 e3@7 ~@15",
C: "c#2@4 c#2 ~@2 c2!4 d2!4 e2, ~@10 c#3@7 ~@15", D: "e2@4 e2 ~@2 e2 d2@4 d2 d3@3, ~@10 e3@7 ~@15",
E: "~@8 b2 a2 b2 a2 b2 d3 a2 g2", F: "e2 ~", G: "~@9 e3@6 [e2,b2]@2 [d2,a2]@14 ~",
H: "~@9 e3@6 [e2,b2]@2 [d2,a2]@8 ~@7", I: "[~@9 e3@6 [e2,b2]@2 [d2,a2]@6 e2!2 e2@24 ~@15]/2",
J: "~@17 e5@2 e5@2 e5@2 e5@2 e5@7", K: "[~@17 d5@2 b4@2 a4@2 g4@2 d4@4 d#4@28 ~@7]/2", L: "~@9 d#2@8 d#2 ~@14",
M: "[~ e5@3 e5@2 e5@2 ~ e5@41 ~@7 d3@32 a2@64 e3@7]/5",
})).s("gm_distortion_guitar").gain(0.72)
// other · distortion guitar · soft notes
const distortion_guitar_soft = note("<~@39 A ~ B ~@3 C D@3 ~@28 E ~@20>".pickRestart({
A: "~@18 [g5,b5]@2 [f#5,a5]@2 [e5,g#5] ~ [g5,b5]@2 [f#5,a5]@2 [e5,g#5] ~@3", // G F#m E G F#m E
B: "[e5,a5]@2 ~@2 [e5,g#5]@4 ~@2 [e5,a5]@3 ~ [e5,g#5]@4 ~@14", C: "~@24 [g5,b5]@2 [f#5,a5]@2 [e5,g#5] ~ [b4,e5]@2",
D: "[[b3,e4]@15 ~ b3@20 [b4,f#5]@52 ~@8, ~@2 a3@9 ~, ~@8 d4@9 ~@31]/3", E: "~@22 e2 ~@9",
})).s("gm_distortion_guitar").gain(0.4)
// other · synth bass 1 · Amaj7 Emaj7 Bmaj7 Amaj7
const synth_bass_1 = note(`<
~@4
[~@24 b4 ~@7]
[~@24 a4 [g#4,a4] [f4,f#4,g4] [d#4,e4] [c4,c#4,d4] [a#3,b3] [g#3,a3] ~]
[e3@9 ~@23]
~@6
[~@24 e2@4 e2 [b3,c4,c#4] [g#3,a3,a#3] [f3,f#3,g3]]
~@84
>`).s("gm_synth_bass_1").gain(0.16)
// bass · slap bass 2
const bass_2 = note("<~@14 A B A C D E F G H ~@7 A B A C D E F G ~@49 I ~@10>".pickRestart({
A: "e2@4 ~@2 e3 e2 d2 ~@5 d3 d2",
B: "c#2 ~@3 c#3!3 ~ [a2,c3] [g2,b2] [f#2,a2] [e2,g2] [d2,e2] [c#2,a2] [b1,e2] [a1,d2]", // Am G F#m Em Dsus2 F#m E5 D5
C: "c#2 ~@3 [c#2,c#3] c#3 [c#2,c#3] ~ [a2,c3] [g2,b2] [f#2,a2] [e2,g2] [d2,e2] [c#2,a2] [b1,e2] [a1,d2]", // C# Am G F#m Em Dsus2 F#m E5 …
D: "e2@8 ~@4 e2@2 e1@2 d2@2 ~@9 d3@2 d2@2 ~",
E: "c#2 ~@2 c#1 [c#1,c#2,c#3] [c#1,c#3] [d1,c#2,c#3] ~ [a2,c3] [g2,b2] [f#2,a2] [e2,g2] [d2,e2] [c#2,a2] [b1,e2] [a1,d2]", // C# Dmaj7 Am G F#m Em Dsus2 F#m …
F: "e2@4 ~@2 e1 b0 d2 ~@5 d3 d2", G: "c#2 ~@3 c#2 ~@3 c2 d2 ~ d1 c#1 ~@2 d2", H: "e2 ~@15",
I: "~@19 b2 ~ d3 ~ e3@8 ~",
})).s("gm_slap_bass_2").gain(0.8)
// other · guitar harmonics
const guitar_harmonics = note("<~@13 A B C D C D C D C ~@8 B C D C D C D C ~@57 E F ~>".pickRestart({
A: "~@3 e4", B: "g4 ~ f#4 ~", C: "e4 ~ e4 d4", D: "g#4 ~ f#4 ~", E: "~@25 c#3@7", F: "~ c#3@8 c#3@8 ~@15",
})).s("gm_guitar_harmonics").gain(0.4)
// chords · clavinet
const clavinet = note("<~@50 A@3 B C D@3 E ~@6 F@7 G@2 ~@24>".pickRestart({
A: "[~@10 e3!15 e3@2 d3@2 b2@2 a2@2 g#2 ~@9 e5 ~@7 e5 ~@9 a4 b4 a4 g4 e4@2 a4 b4 a4 g4 e4 d4 b3@2 a3@2 g3@2 d#4@2 ~@4 g3@2 d3@2 e3!6 [d3,e3], ~@9 d3@16 ~@10 e3@35 ~@13 a3@4 ~@9, ~@57 b3@8 ~@16 b3@4 ~@11, ~@59 d4@8 ~@29, ~@60 e4@5 ~@31]/3", // Dsus2
B: "e3!8 ~@2 e3!6 [d3,e3] e3!5 ~ e3!2 ~@4 a3@2 ~, ~ g#3@2 ~@6 f#3@2 ~@21", // Dsus2
C: "~ g#3 ~@3 a3 ~@3 g#3 ~@3 e3 d3 b2 g3 e3 a3 d3 e3 d3 g3 f#3 b2!2 e3 d3 e3 d3 f#3 a3",
D: "[g3 a3 b3 e3 d3 e3 b2 a2 b2 d3 e3 g2@2 ~@4 b4 ~ a4 ~ g4 e4 ~@18 d5 ~ c#5 b4 ~ a4 g4 d4 ~@4 g#4@4 ~@10 [c#4,e4,a4]@2 ~@4 a2 [e3,a3,c#4,e4,a4] [e2,b2,e3,g#3,b3] [a2,e4] [e3,a3,c#4,e4] a4 ~@2 e5 d5 b4 ~ [e2,d5] a4 [e2,g4] ~ a4 g4 d4 ~ c4 d4 b3, ~@13 e2@12 d4@6 d3@4 c#4@4 a2@8 ~@3 b2@4 ~@3 a2@2 ~@3 [b2,e3]@2 ~ a2@2 ~@3 [b2,e3]@2 ~@24, ~@27 b3@5 b2@4 a3@4 e2@8 ~ e2@4 ~@8 e2@2 ~@6 e2@2 ~@25, ~@29 g3@4 a4@4 e3@8 ~@6 e3@4 ~@3 [e3,a3]@2 a4@2 ~@2 e4@2 ~@6 e4@2 ~@22, ~@30 e3@4 e4@4 c#3@8 ~@6 b3@4 ~@3 [c#4,e4]@2 ~@2 [g#3,b3]@2 ~ [e3,a3]@2 ~@3 [g#3,b3]@2 ~@23]/3", // A E A5 A E7 Em E5 A5 …
E: "a3 e3@31",
F: "[~@31 f#4@2 f#4@6 g#4@2 g#4@6 c#4@2 c#4@6 b3@2 ~@2 c#4@24 ~@12 f#4@2 f#4@6 g#4@2 g#4@6 c#4@2 c#4@6 d#4@2 ~@8 e4@24 ~@6 f#4@2 f#4@6 g#4@2 g#4@6 b4@2 b4@6 b4@2 ~@8 c#5@24 ~@7, ~@57 b3@8 ~@56 d#4@5 d#4@8 ~@53 c#5@6 ~@31, ~@123 e4@6 ~@56 b4@5 b4@8 ~@26]/7",
G: "[~@27 f#3@4 ~, ~@25 c#5@5 c#5@8 ~@3 c#4@6 c#4@8 ~@9, ~@7 b4@2 e4@2 b3@2 e3@2 ~, ~@33 f#4@5 f#4@8 ~@3 f#3@5 ~@10]/2",
})).s("gm_clavinet").gain(0.64)
// chords · piano
const piano = note("<~@74 A@4 ~@20>".pickRestart({
A: "[~@49 [e2,g#2]@4 ~@28 [g#3,b3]@4 ~@28 [g#3,b3]@4 ~@11, ~@25 b4@3 [b2,e3]@3 [g#3,b3]@3 [e4,g#4]@3 [e2,g#2,b4]@3 [b2,e3]@3 [g#3,b3]@3 [e4,g#4]@4 ~@7 e6@3 [e4,g#4]@3 [b4,e5]@3 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@3 [b4,e5]@3 [g#5,b5]@4 ~@7 e6@3 [e4,g#4]@3 [b4,e5]@3 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@3 [b4,e5]@3 [g#5,b5]@4 ~@14, ~@26 [e4,g#4]@3 [e2,g#2,b4]@3 [b2,e3]@3 [g#3,b3]@3 [e4,g#4]@3 [e2,g#2,b4]@3 [b2,e3]@3 [g#3,b3]@4 ~@7 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@3 [b4,e5]@3 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@3 [b4,e5]@4 ~@7 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@3 [b4,e5]@3 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@3 [b4,e5]@4 ~@13, ~@27 [g#3,b3]@3 [e4,g#4]@3 [e2,g#2,b4]@3 [b2,e3]@3 [g#3,b3]@3 [e4,g#4]@3 [e2,g#2,b4]@3 [b2,e3]@4 ~@7 [b4,e5]@3 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@3 [b4,e5]@3 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@4 ~@7 [b4,e5]@3 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@3 [b4,e5]@3 [g#5,b5]@3 [g#3,b3,e6]@3 [e4,g#4]@4 ~@12]/4", // E G#m E5 G#m E E5 G#m E …
})).s("gm_piano").gain(0.64).pan(0.9)
// chords · piano
const piano_2 = note("<~@72 A B C@4 ~ D@8 E@3 ~ F@5 ~@2>".pickRestart({
A: "~@25 [e3,g#3,c#4]@4 ~ [e3,g#3,c#4]@2", // C#m
B: "~ [c#3,f#3]@4 ~@4 [g#2,c#3,g#3,c#4]@4 ~@2 [g#2,c#3,g#3,c#4]@2 [d2,b2]@4 ~@2 [d2,b2]@2 [e2,b2]@7", // F#5 C#5 G E5
C: "~@15 [b2,e4,g#4,b4] ~ [d3,d4,f#4,a4,d5]@8 ~@7", // E D
D: "[~@15 a4@2 ~ a4@3 ~@4 e5@20 [e4,e5]@4 e5@24 ~@12 b3@4 e4@48 e4@2 e4@2 e4@2 e4@2 [d4,e4]@2 e4@2 [a3,e4]@2 e4@2 ~@32 e5@64 ~@7, ~ d4@2 e4@4 e4@2 e4@2 e4 g4 a4 g4@3 g4@4 g4@52 e5@12 d4@60 ~@2 d4@32 g5@64 ~@13, ~@2 b3@20 a4 b4@54 d5@12 [e3,b3,g#4]@64 ~ e5@2 e5@2 e5@2 e5@2 e5@2 e5@2 e5@2 e5@9 a5@64 ~@15, ~@4 d4@2 d4@2 d4@2 d4@39 e2@36 a2@64 ~@2 [g3,a3]@30 e5@2 d5@64 ~@9, ~@5 g#4@19 a4@25 [e3,e4]@32 a4@64 ~@8 e4@2 e4@2 e4@2 e4@2 e4@2 e4@2 e4@2 e4@64 ~@25]/8", // E Dsus2 A5 E Gsus2 E
E: "[~@23 e3@64 ~@9]/3",
F: "[~@71 [e3,g#3,b3,e4]@64 ~@25, ~@17 e5@6 g4@64 ~@73, ~@9 d5@3 d4@32 ~@36, ~@19 b4@2 b4@4 e2@64 ~@71, ~@20 a4@2 a4@3 [e3,e4]@40 e5@64 ~@31]/5", // E
})).s("gm_piano").gain(0.8)
// chords · piano
const piano_3 = note(`<
A B@3 C B D E F E F E F G H I J K L M N O P@2 Q R S P@2 T U V J H@3 J H W X W Y Z AA W AB AC ~@11 AD@3 AE ~@10 AF@2
AG@3 AH AI AJ AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX@2 ~
>`.pickRestart({
A: "[b1,e3,g3,b3] ~@7 e2 ~@15 e2 ~@7", B: "~ e2 ~ e2", C: "~@8 e2 ~@15 e2 ~@7",
D: "a#2 ~ a#2!7 ~ a#2!11 ~ a#2!10, ~ e2 ~ e2", E: "a#2!5 ~ a#2!11 ~ a#2!7 ~ a#2!6, ~ e2 ~ e2",
F: "a#2 ~ a#2!6 [e2,a#2] ~ a#2!11 ~ a#2!2 [e2,a#2] a#2!7", G: "a#2!5 ~ a#2!11 ~ a#2!7 ~ a#2!6, ~ e2 ~ e2, ~@14 e3 ~",
H: "~ b1@2 ~@5 [b1,d2,e3,b3]@2 ~@7 b1@2 ~@5 [b1,d2,e3,b3]@2 ~@6, [c2,e3,b3] ~@3 e2@4 [c2,e3,b3] ~@3 e2@4", // E7 Cmaj7
I: "~ b1@2 ~@5 [b1,d2,e3,b3]@2 ~@8 a2@2 a2@2 a2@2 [b1,d2,a2,e3,b3]@2 a2@2 a2@2 a2@2, [c2,e3,b3] ~@3 e2@4 [c2,a2,e3,b3] ~@3 e2@4, ~@17 b1@2 ~@13", // E7 Bm7 Cmaj7 Am
J: "~ b1@2 ~@5 [b1,d2,e2,e3,b3]@2 ~@7 b1@2 ~@5 [b1,d2,e2,e3,b3]@2 ~@6, [c2,e3,b3] ~@7 [c2,e3,b3] ~@7", // E7 Cmaj7
K: "~ b1@2 ~@5 [b1,d2,e3,b3]@2 ~@7 b1@2 d2!2 ~ d2 ~ [b1,d2,e3,b3]@2 d2 ~ d2 ~ d2 b3, [c2,e3,b3] ~@3 e2@4 [c2,d2,e3,b3] ~@3 e2@4", // E7 Cmaj7
L: "~ b1@2 ~@5 [b1,d2,e3,b3]@2 ~@7 b1@2 ~@5 [b1,e2,e3]@2 [b1,d2,e2,b3]@2 ~ [b1,d2,e2,b3]@2 ~, [c2,e3,b3] ~@3 e2@4 [c2,e3,b3] ~@7", // E7 E5 E7 Cmaj7
M: "~ b1@2 ~ [b1,d2,e3,b3]@2 ~@2 e2@8 b1!2 ~ b1!3 ~ b1!3 ~ b1!3 ~ b1, c2 ~@3 b1 ~@3 [c2,e3,b3] ~@3 e2@4, ~@12 [c2,d2,e3,b3] ~@3", // E7 Cmaj7
N: "b1 b1@2 ~@5 b1 b1@2 ~@5 b1 b1@2 ~@5 [b1,d2,e2,e3,b3]@2 ~@6, [c2,d2,e2,e3,b3] ~@3 [c2,d2,e2,e3,b3] ~@3 [c2,d2,e2,e3,b3] ~@7", // E7 Cmaj7
O: "b1 b1@2 ~@5 b1 b1@2 ~@5 b1 b1@2 ~@5 [b1,d2,e3,b3]@2 ~@6, [c2,d2,e2,e3,b3] ~@3 e2@4 ~@4 e2@4, ~@4 [c2,d2,e3,b3] ~@3 [c2,d2,e2,e3,b3] ~@7", // E7 Cmaj7
P: "[b1,e3,a3] ~ d2 ~ b1!2 d2 ~ b1 ~ d2 ~ [b1,c2,e3,a3] b1 d2 ~", // Esus4 Am
Q: "[b1,e3,a3]@2 ~@2 d2@2 ~ [e3,a3]!2 ~ b1@2 d2@2 ~@2 b1@2 ~@2 d2@2 ~@2 [b1,c2,e3,a3]@2 b1@2 d2@2 ~@2, ~@4 b1 ~@11", // Esus4 A5 Am
R: "b1 ~ d2 ~ [b1,e3,g3] b1 [d2,e3,g3] ~ b1 ~ d2 ~ [b1,c2] b1 d2 e3", // Em Em7 Cmaj7
S: "[b1,e3,a3] ~ d2 ~ b1!2 d2 ~ b1 ~ d2 ~ [b1,c2,e3] b1 d2 ~, ~@26 e3 ~@5", // Esus4 Cmaj7
T: "[b1,e3,a3]@2 ~@2 [e3,a3] ~@3 b1@2 b1@2 d2@2 ~@2 b1@2 ~@2 d2@2 ~@2 [b1,c2,e3,a3]@2 d2!2 [d2,e2] d2 [d2,a#2,e3,f#3,g3] d2, ~@4 d2@2 ~@14 e2 ~@5 b1@2 ~@2 e2@2", // Esus4 A5 Am Dsus2 Em7b5
U: "[b1,d2,e2,d#3,e3,f3,g3,a3,b3] ~@3 [b1,d2] ~@3 [b1,d2,e2,a2,b2,c3,d#3,e3,f3,g3,a3,b3] [a2,b2,c3] ~ [g2,a2,b2] [b1,d2,g2,a2,b2] ~ [f2,g2,a2,b2,c3]!2, ~ e2 ~ e2", // Bm7b5 Bm Am G F
V: "[b1,d2,e2,d#3,e3,f3,g3,a3,b3]@2 ~@6 [b1,d2]@2 ~@6 d2!2 ~ d2!2 ~ d2!2 ~ d2!2 ~ [b1,d2] ~ [d2,b3] ~, ~@4 e2@4 [b1,e2,d#3,e3,f3,g3,a3,b3] ~@3 e2@4, ~@12 b1 ~@3", // Bm7b5 Bm G
W: "[b1,a#2,e3,a3]@2 a#2!6 [b1,a#2]@2 a#2!10 d2@2 a#2!10, ~@4 d2@2 ~@4 b1@2 d2@2 ~@2 b1@2 ~@2 a#2 ~@3 [b1,c2,e3,a3]@2 b1@2 d2@2 ~@2", // Esus4 Bmaj7 Am
X: "a#2!4 [d2,a#2]@2 a#2!10 [b1,a#2]@2 a#2!6 [b1,c2,a#2,e3,a3]@2 a#2!6, [b1,e3,a3]@2 ~@2 a3 ~@3 b1@2 b1@2 d2@2 ~@6 d2@2 ~@4 b1@2 d2@2 ~@2", // Gm Bmaj7 Am Esus4
Y: "a#2!4 [d2,a#2]@2 a#2!10 [b1,a#2]@2 a#2!6 [b1,c2,a#2]@2 a#2!6, b1@2 ~@6 [b1,e3]@2 b1@2 [d2,e3]@2 ~@6 d2@2 ~@2 a3 ~ b1@2 d2@2 ~@2", // Gm Bmaj7 E5 Dsus2
Z: "[b1,a#2,e3,a3]@2 a#2!6 [b1,a#2]@2 a#2!10 d2@2 a#2!7 [a#2,a3]!2 a#2, ~@4 d2@2 ~@4 b1@2 d2@2 ~@2 b1@2 ~@2 a#2 ~@3 [b1,c2,e3]@2 b1@2 d2@2 ~@2", // Esus4 Bmaj7 A#maj7 Cmaj7
AA: "a#2!4 [d2,a#2]@2 a#2!10 [b1,a#2]@2 a#2!6 [b1,c2,a#2,e3,a3]@2 a#2!6, [b1,e3,a3] ~@3 b1!2 d2 ~@3 d2 ~@2 b1 d2 ~", // Gm Bmaj7 Am Esus4
AB: "a#2!4 [d2,a#2]@2 a#2!4 [a#2,e3,a3] a#2!3 [a#2,e3,a3] a#2 [b1,a#2]@2 a#2!2 [e2,a#2] a#2!3 [b1,c2,a#2,e3,a3]@2 a#2 [d2,a#2] [e2,a#2] [d2,a#2] [a#2,e3,f#3,g3] [d2,a#2], [b1,e3,a3]@2 ~@2 [e3,a3] ~@3 b1@2 b1@2 d2@2 ~@6 d2@2 ~@4 b1@2 ~@4", // Gm A Bmaj7 Edim Am Gm Edim Gm …
AC: "[b1,d2,e2,e3,g3,b3] ~@15", // Em7
AD: "~@2 b1@2 ~@5 [b1,d2,e2,e3,b3]@2 ~@7 b1@2 ~@5 [b1,d2,e2,e3,b3]@2 ~@5, ~ [c2,e3,b3]@2 ~@14 [c2,e3,b3]@2 ~@13", // E7 Cmaj7
AE: "~@2 b1@2 ~@5 [b1,d2,e2,e3,b3]@2 ~@6 [c2,b3]@2 ~@6 [b1,d2,e2,e3,b3]@2 ~@5, ~ [c2,e3,b3]@2 ~@22 [f3,g3]@4 ~@3", // E7 Cmaj7 E7 Cmaj7 Fsus2
AF: "[~@25 a2@2 ~ a2@2 ~ a2@2 a2@2 ~ a2@2 ~ a2@2 a2@2 ~ a2@2 ~ a2@2 a2@2 ~ a2@2 ~ a2@2 b1 b1@3 ~@3, ~@57 c2@4 ~@3, ~@57 [e3,b3]@2 ~@5]/2", // E5
AG: "~ [b1,d2,e2,e3,b3]@2 ~@7 b1@2 ~@5 [b1,d2,e2,e3,b3]@2 ~@7 b1@2 ~@4, ~@9 [c2,e3,b3]@2 ~@14 [c2,e3,b3]@2 ~@5", // E7 Cmaj7
AH: "~ [b1,d2,e2,e3,b3]@2 ~@6 [c2,b3]@2 ~@6 [b1,d2,e2,e3,b3]@2 ~@6 [b1,a#2,e3,a3]@2 a#2!5, ~@25 [e2,f3,g3]@4 ~@3", // E7 Cmaj7 E7 Esus4 Em
AI: "a#2!2 ~ a#2!11 ~ a#2!15 ~ a#2", AJ: "a#2!10 ~ a#2!7 ~ a#2!7 ~ a#2!5",
AK: "a#2 [e2,a#2] ~ a#2!11 ~ a#2!2 [e2,a#2] a#2!12 ~ a#2, ~ e2@4 ~@4 e2@4 ~@3", // Edim
AL: "a#2 [e2,a#2] a#2!8 ~ a#2!6 [e2,a#2] ~ a#2!7 ~ a#2!5, ~ e2@4 ~@4 e2@4 ~@3", // Edim
AM: "a#2 [e2,a#2] e2 a#2!11 ~ a#2!2 [e2,a#2]!2 a#2!11 ~ a#2", // Edim
AN: "a#2 [e2,a#2] a#2!8 ~ a#2!6 [e2,a#2] ~ a#2!4 [a#2,f#3,g3] a#2 ~@7, ~ e2@4 ~@4 e2@4 ~@3", // Edim D#
AO: "~ e2 ~ [b1,d2]@2 [e2,e3,a3]@2 ~@2 b1@2 ~@2 d2@2 ~@2 e2 ~ b1@2 d2@2 ~@2 [b1,e3,a3]@2 ~@2 d2@2 ~, ~ b1@2 ~@14 [b1,c2,e3,a3]@2 ~@13, ~@2 e2@3 ~@13 e2@5 ~@6 a3 ~@2", // Bm A5 Esus4 Am
AP: "~ e2 ~ b1@2 [e3,a3]@4 b1@2 ~@2 a3@4 e2 ~ b1@2 d2@2 ~@2 [b1,e3,a3]@2 ~@2 d2@2 ~, ~ a3@4 ~@22 a3@4 ~, ~ b1@2 ~@2 d2@2 ~@6 d2@2 ~@2 [b1,c2,e3,a3]@2 ~@13, ~@2 e2@8 ~@8 e2@5 ~@9", // A5 Esus4 Am
AQ: "~ e2!2 b1@2 [e3,a3]@4 a3@4 a3@4 e2!2 b1@2 d2@2 ~@2 b1@2 ~@2 [d2,a3]@3, ~ b1@2 ~@2 d2@2 ~@2 b1@2 ~@2 d2@2 ~@2 [b1,c2,e3,a3]@2 ~@2 a3@4 ~@7, ~@23 e3@4 ~@5", // A5 D5 Am
AR: "~ e2 ~ b1@2 [d2,e3]@2 ~@2 a3@4 a3@4 [e2,a3] ~ b1@2 d2@2 ~@2 [b1,e3,a3]@2 d2!2 [b1,d2,e3,a3]@2 ~, ~ a3@4 ~@27, ~ [b1,e3]@2 ~@6 b1@2 ~@6 [b1,c2]@2 ~@8 b1@2 ~@3, ~@2 e2@8 ~@3 d2@2 ~@3 e2@5 ~@9", // Dsus2 A5 Esus4 Bm7 E5 Cmaj7
AS: "~ e2 ~ b1@2 d2@2 ~@2 b1@2 ~@2 d2@2 ~@2 e2 ~ b1@2 ~ a3!2 ~ [b1,e3,a3]@2 ~@2 d2@2 ~, ~ b1@2 ~@14 [b1,c2,e3]@2 ~@2 d2@2 ~@9, ~@2 e2@8 ~@8 e2@5 ~@9", // Esus4 Cmaj7
AT: "~ e2 ~ b1@2 d2@2 ~@2 b1@2 ~@2 d2@2 ~@2 e2 ~ b1@2 d2@2 ~@2 [b1,e3,a3]@2 ~@2 d2@2 ~, ~ b1@2 ~@14 [b1,c2,e3,a3]@2 ~@13, ~@2 e2@8 ~@8 e2@5 ~@9", // Esus4 Am
AU: "~ e2 ~ b1@2 d2@2 ~@2 b1@2 ~@2 d2@2 ~@2 e2 ~ b1@2 d2@2 ~@2 [b1,e3,a3]@2 ~@2 [e3,a3] ~@2, ~ b1@2 ~@14 [b1,c2,e3,a3]@2 ~@13, ~@2 e2@8 ~@8 e2@5 ~@6 d2@2 ~", // Esus4 A5 Am
AV: "~ e2 ~ [e3,a3] ~ d2@2 [e3,a3] ~ b1@2 ~@2 d2@2 ~@2 e2 ~@2 d2 e2 d2 [a#2,e3,f#3,g3] d2 [b1,e3,a3]@2 d2!2 [b1,d2,e3,a3]@2 ~, ~ b1@2 b1@2 ~@12 [b1,c2,e3,a3]@2 b1@2 ~@6 b1@2 ~@3, ~@2 e2@8 ~@3 e2 ~@4 e2@3 ~@11", // A5 Edim Esus4 Bm7 Am
AW: "~ b1@2 b1@2 d2@2 ~@2 b1@2 ~@2 d2@2 ~@2 [b1,c2,e3]@2 b1@2 ~ a3!2 ~ [b1,e3,a3]@2 ~@2 d2@2 ~, ~@21 d2@2 ~@9", // Cmaj7 Esus4
AX: "[~ b1@2 b1@2 d2@2 ~@2 b1@2 ~@2 d2@2 ~@2 [b1,c2,e3,a3]@2 b1@2 d2@2 ~@2 [b1,d2,e3,a3]@2 b1@2 e2@2 b1@2 [b1,d2,e3,a3]@2 b1@2 e2@2 b1@2 [b1,d2,e3,a3]@2 b1@2 e2@2 b1@2 [b1,d2,e3,a3]@2 b1@2 [b1,d2]@2 ~@2 [b1,d2,e2,e3,a3]@2 ~@5]/2", // Am Bm7 Bm Bm7
})).s("gm_piano").gain(0.72)
// chords · piano · soft notes
const piano_soft = note(`<
~@13 A B@3 C B@2 ~@2 D@7 E ~@2 B@6 F G F@2 H F@2 I ~@12 J K L M ~@11 N@2 O@2 ~@8 P Q R@2 S T R@2 U T V W ~
>`.pickRestart({
A: "~@14 b1 ~", B: "d2 ~@7 d2 ~@7", C: "d2 ~@15",
D: "a#2@2 ~@2 a#2@2 ~@2 a#2@2 a#2@2 a#2@2 ~@2 a#2@2 ~ a#2@2 ~@3 a#2@2 a#2@2 a#2@2 e2@2",
E: "a#2@2 ~@2 a#2@2 ~@2 a#2@2 a#2@2 a#2@2 ~@2 a#2@2 ~@2 b1 ~@3 a#2@2 a#2@2 a#2@2 b1 ~, ~@19 a#2@2 ~@7 b1 ~@3",
F: "~@15 e2", G: "~@3 a3 ~@26 e2@2", H: "~@28 a3 ~ e2@2", I: "~@20 b1 ~@7 b1 ~ b1 ~",
J: "~ d2@2 ~@14 d2@2 ~@4 d2@2 ~@7, ~ a1@4 ~@3", K: "~ d2@2 ~@14 d2@2 ~@4 d2@2 ~@7",
L: "~ d2@2 ~@14 d2@2 ~@4 d2!2 ~@7", M: "~ d2@2 ~@18 d2!3 ~@8",
N: "[~@25 d2@2 ~@14 d2@2 ~@14 d2@2 ~@5, ~@7 a1@4 ~@5]/2", O: "~@9 d2@2 ~@14 d2@2 ~@5", P: "~@23 e3 ~@8",
Q: "~ a#2@2 a#2@2 a#2@2 b1@2 a#2@2 ~ a#2@2 ~@3 a#2@2 a#2@2 a#2@2 e2@2 a#2@2 ~ a3 a#2@2 ~",
R: "~ a#2@2 a#2@2 a#2@2 ~@2 a#2@2 ~ a#2@2 ~@3 a#2@2 a#2@2 a#2@2 e2@2 a#2@2 ~@2 a#2@2 ~",
S: "~ [d2,a#2]@2 [d2,a#2]@2 a#2@2 ~@2 [d2,a#2]@2 ~ a#2@2 ~@3 a#2@2 a#2@2 a#2@2 e2@2 a#2@2 ~@2 a#2@2 ~, ~@11 d2@2 ~@19", // Gm
T: "~ a#2@2 a#2@2 a#2@2 ~@2 a#2@2 ~ a#2@2 ~@3 a#2@2 a#2@2 a#2@2 e2@2 a#2@2 ~@2 a#2@2 ~, ~@21 a3 ~@10",
U: "~ a#2@2 a#2@2 a#2@2 ~@2 a#2@2 ~@2 b1 ~@3 a#2@2 a#2@2 a#2@2 b1 ~ a#2@2 ~@2 a#2@2 ~, ~@12 a#2@2 ~@7 b1 ~@10",
V: "~ a#2@2 a#2@2 a#2@2 ~@2 a#2@2 ~ a#2@2 ~@3 a#2@2 a#2@2 a#2@2 e2@2 ~@7", W: "~@23 e2@2 ~@7",
})).s("gm_piano").gain(0.4)
// drums · china
const china = s("cr").struct("<~@33 [~ x] ~@61 [~@25 x ~@6] [~ x ~@7 x ~@7 x ~@14] ~>").gain(0.8).pan(1)
// drums · bongos
const bongos = s("bongo:18").struct("<~@15 A ~ B ~ A ~@11 B ~ B ~ A ~@62>".pickRestart({
A: "x", B: "x ~@2 x ~@12",
})).gain(2.1).pan(1)
// drums · congas
const congas = s("conga:13").struct("<~@21 [~ x ~@6] ~@15 [~ x ~@6] ~@41 [~@19 x ~@12] ~@18>").gain(2.56).pan(1)
// drums · congas
const congas_2 = s("conga:33").struct(`<
~@14 A B C D E F G H ~ I J K ~ L J ~ M N O P Q R S T ~ U J K ~ V J ~@16 W ~@17 X ~ Y ~ Z ~ AA ~ Z ~ AA ~ Z ~@2 AB Z AC
~
>`.pickRestart({
A: "~@7 x ~@4 x ~ x!2", B: "~@2 x ~@3 x ~@3 x ~@2 x ~@10 x ~ x ~@5", C: "~@7 x ~ x!3 ~ x!3", D: "~ x ~@2 x ~ x!2 ~@8",
E: "~@14 x ~ x ~ x ~@7 x ~@2 x ~@2", F: "~ x ~ x!5 ~@8", G: "x ~@6 x ~ x ~@4 x ~", H: "~@4 x ~ x ~ x ~@4 x ~ x",
I: "~@9 x ~@3 x ~ x", J: "x", K: "~@13 x ~ x", L: "~@13 x!3", M: "~@6 x ~@2 x!2 ~@5", N: "~ x ~@2 x!3 ~@9",
// … 55 more lines
More by The Who
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.