0:00/0:00
// Turn It On Again — Genesis
// 62 bpm, 13/8, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (8/8 at bar 1, 7/8 at bar 5, 13/8 at bar 5, 8/8 at bar 8, ...) are rendered on a constant 13/8 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 36 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(62/6.5)
// 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 · "Synth Bass"
const bass = note("<~ A B@2 C B@2 D E@2 F G H I@3 B@3 J E K L M N O@2 B@6 P Q ~>".pickRestart({
A: "~@20 b1!4 ~ b1!4 ~ b1!2", B: "b1!3 ~ b1!4 ~ b1!4 ~ b1!5 ~ b1!4 ~ b1!4 ~ b1!2",
C: "b1!3 ~ b1!4 ~ b1!4 ~ b1!5 ~ b1!4 ~ b1!2 ~@3 b1!2",
D: "b1!3 ~ b1!4 ~ b1!4 ~ b1!5 ~ b1!4 ~ b1!2 ~ c2 ~ c2!2, ~@27 b1@2 ~@3",
E: "c2!3 ~ c2!4 ~ c2!4 ~ c2!5 ~ c2!4 ~ c2!4 ~ c2!2", F: "c2!3 ~ c2!4 ~ c2!3 b1 ~ b1!5 ~ b1!4 ~ b1!4 ~ b1!2",
G: "f#1!3 ~ f#1!4 ~ b1!4 ~ b1!5 ~ b1!4 ~ b1!4 e1@2 ~",
H: "~@4 e1@2 ~@5 e1@2 ~@4 c2!2 ~ c2!2 [c2,c#2] c2 ~ c2!4 ~ c2!2", // C#maj7
I: "[c2!3 ~ c2 e1@2 ~@4 e1@2 ~@6 e1@2 ~@5 e1@2 ~@3 a1@2 ~@4 b1@19 ~ b1@2 f#1@16 ~@4 b1!4 ~ b1!4 ~ b1!4 ~ b1!2]/3",
J: "b1!3 ~ b1!4 ~ b1!4 ~ c2!5 ~ c2!4 ~ c2!4 ~ c2!2", K: "c2!3 ~ c2!4 ~ c2!4 ~ c2!5 ~ c2!4 ~ c2!4 ~ b1!2",
L: "b1!3 ~ b1!4 ~ b1!4 ~ b1!3 f#1!2 ~ f#1!4 ~@2 b1!3 ~ b1!2, ~@25 f#1@2 ~@5",
M: "b1!3 ~ b1!4 ~ b1!4 ~ b1 e1@2 ~@4 e1@2 ~@6 e1@2 ~", N: "~@2 c2 ~ c2!4 ~ c2!4 ~ c2!5 ~ c2!2 e1@2 ~@4 e1@2 ~@2",
O: "[~@4 e1@2 ~@5 e1@2 ~@3 a1@2 ~@3 b1@21 b1 ~ f#1@17 ~@3]/2", P: "b1!3 ~ b1!4 ~ b1!5 ~ b1!4 ~ b1!5 ~ b1!3 ~ b1!2",
Q: "b1!3 ~ b1!4 ~ b1!4 ~ b1!5 ~ b1!3 ~@9",
})).s("gm_synth_bass_1").gain(0.4).pan(0.2)
// chords · electric guitar muted · "Muted Guitar"
const electric_guitar_muted = note("<A B@3 C D B E F@2 G H I J ~ K B@3 L F M B N O ~@2 P@2 B@6 Q>".pickRestart({
A: "~@12 [b2,f#3] ~ [b2,f#3]!5 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!2", // B5
B: "[b2,f#3]!3 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!5 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!2", // B5
C: "[b2,f#3]!3 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!5 ~ [b2,f#3]!4 ~ [b2,f#3]!2 ~@3 [b2,f#3]!2", // B5
D: "[b2,f#3]!3 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!4 [a#2,b2,f#3] ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!2", // B5 Bmaj7 B5
E: "[b2,f#3] ~ [b2,f#3] ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!5 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [c3,g3]!2", // B5 C5
F: "[c3,g3]!3 ~ [c3,g3]!4 ~ [c3,g3]!4 ~ [c3,g3]!5 ~ [c3,g3]!4 ~ [c3,g3]!4 ~ [c3,g3]!2", // C5
G: "[c3,g3]!3 ~ [c3,g3]!4 ~ [c3,g3]!3 [b2,f#3] ~ [a#2,b2,f#3] [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!2", // C5 B5 Bmaj7 B5
H: "[b2,f#3]!3 ~ [a#2,b2,f#3] [b2,f#3]!3 ~ [b2,f#3]!4 ~ [b2,f#3]!5 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~@3", // B5 Bmaj7 B5
I: "~@17 [c3,g3]!2 ~ [c3,g3]!4 ~ [c3,g3]!4 ~ [c3,g3]!2", J: "[c3,g3]!3 ~ [c3,g3] ~@27",
K: "~@15 [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!2", // B5
L: "[b2,f#3]!3 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3] [c#3,g3] [c3,g3]!3 ~ [c3,g3]!4 ~ [c3,g3]!4 ~ [c3,g3]!2", // B5 C#dim C5
M: "[c3,g3]!3 ~ [c3,g3]!4 ~ [c3,g3]!4 ~ [c3,g3]!5 ~ [c3,g3]!4 ~ [c3,g3]!4 ~ [b2,c#3,f#3] [b2,e3,f#3]", // C5 Bsus2 Bsus4
N: "[b2,f#3]!3 ~ [b2,f#3]!4 ~@24", O: "~@2 [c3,g3] ~ [c3,g3]!4 ~ [c3,g3]!4 ~ [c3,g3]!5 ~ [c3,g3]!2 ~@10",
P: "[b2,f#3]!3 ~ [b2,f#3]!4 ~ [b2,f#3]!4 ~ [b2,f#3]!5 ~ [b2,f#3] [a#2,b2,f#3] [b2,f#3]!2 ~ [b2,f#3]!4 ~ [b2,f#3]!2", // B5 Bmaj7 B5
Q: "[b2,f#3]!3 ~@29", // B5
})).s("gm_electric_guitar_muted").gain(0.4).pan(0.8)
// chords · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note("<~@11 A B C ~@9 D E F ~@10>".pickRestart({
A: "~@29 [b3,e4]@3", // E5
B: "[a3,d4] ~ [a3,d4]@3 [b3,e4]@2 [a3,d4] [b3,e4]@2 [a3,d4]@2 [b3,e4]@3 [a3,d4] ~ [a3,d4]@2 ~ a3@2 ~ [g3,c4]@3 [a3,d4]@3 ~ [a3,d4]@2, ~ [b3,e4]@2 ~@13 [b3,e4]@2 ~ d4@2 ~ [a3,d4]@2 ~@8", // D5 E5 D5 E5 D5 E5 D5 C5 …
C: "[a3,d4] [g3,c4]@4 [b3,e4]@2 [a3,d4] [b3,e4]@2 [a3,d4]@3 [b3,e4]@2 [a3,d4] [b3,e4] [a3,d4]@3 [b3,e4]@2 [a3,d4] [b3,e4]@2 [a3,d4]@2 [b3,e4]@2 [b3,e4]@2 ~", // D5 C5 E5 D5 E5 D5 E5 D5 …
D: "~@15 [b3,e4]@2 [a3,d4] ~@2 d4@2 [b3,e4]@2 a3 d4 ~ [a3,d4]@2 [b3,e4]@3, ~@9 [b3,e4] ~@3 [b3,e4] ~@2, ~@19 a3@3 ~@10", // E5 D5 E5 D5 E5
E: "[a3,d4] [b3,e4] [a3,d4]@2 ~ [a3,d4]@2 [a3,d4] ~ [g3,c4]@2 [a3,d4]@3 ~ [a3,d4]@2 [a3,d4] [g3,c4]@4 [b3,e4]@2 a3 d4 [b3,e4] [a3,d4]@3 [b3,e4]@2", // D5 E5 D5 C5 D5 C5 E5 D5 …
F: "[a3,d4] [b3,e4] [a3,d4]@3 [b3,e4]@2 [a3,d4] [b3,e4]@2 [a3,d4]@2 [b3,e4]@2 ~ [b3,e4]@2 ~@15", // D5 E5 D5 E5 D5 E5 D5 E5
})).s("gm_acoustic_guitar_steel").gain(0.4)
// other · lead 4 chiff · "Chiff"
const lead_4_chiff = note("<~@4 [~@27 b5 ~@4] ~@10 [~@12 b5!2 ~@18] ~@10 [~@29 b5!2 ~] ~@9>")
.s("gm_lead_4_chiff").gain(0.8)
// chords · ocarina · "Synth lead"
const ocarina = note("<~@14 A@2 ~@9 B@2 ~@9>".pickRestart({
A: "[~@5 f#4@7 e5@7 ~@8 c#4@10 ~@27, ~@5 b4@22 ~@37, ~@19 f#4@18 ~@27]/2",
B: "[~@22 f#4@7 e5@8 ~@7 c#4@11 ~@9, ~@22 b4@22 e4 ~@19, ~@37 f#4@19 ~@8]/2",
})).s("gm_ocarina").gain(0.57).pan(0.3)
// chords · pad poly · "Pad"
const pad_poly = note("<~@14 A@2 ~@9 B@2 ~@9>".pickRestart({
A: "[~@5 [b3,f#4]@2 [a3,e4] [b3,f#4] ~ [a3,e4]@2 [d4,a4]@8 [a3,e4]@2 [b3,f#4] [a3,e4] [b3,f#4]@3 [f#3,c#4]@10 ~@27]/2", // B5 A5 B5 A5 D5 A5 B5 A5 …
B: "[~@22 [b3,f#4]@2 [a3,e4] ~ [b3,f#4] [a3,e4]@2 [d4,a4]@7 ~ [a3,e4]@2 [b3,f#4] [a3,e4] ~ [b3,f#4]@2 [f#3,c#4]@13 ~@7]/2", // B5 A5 B5 A5 D5 A5 B5 A5 …
})).s("gm_pad_poly").gain(0.64).pan(0.7)
// chords · epiano2 · "Piano"
const epiano2 = note("<~@2 A@6 B C@2 D E F G H@7 I J K L@2 M@2 N O P Q R S T>".pickRestart({
A: "[~@17 [g#3,c#4,f4,g#4]@20 [a3,d4,f#4,a4]@19 ~ [e3,g#3,b3] [f#3,c#4] [e3,g#3,b3] [f#3,b3,d#4,f#4]@2 ~ [f#3,b3,d#4,f#4]@2 [f#3,a#3,c#4,f#4]@11 [b3,d4]@2 [g3,c#4,e4] [g3,b3,d4] [a3,d4,f#4,a4]@2 [a3,d4,f#4,a4]@2 ~ [a3,c#4,e4,a4]@2 [g3,b3,d4,g4]@4 ~@3 [e3,g#3,b3] ~ [e3,g#3,b3] [f#3,b3,d#4,f#4]@2 ~ [f#3,b3,d#4,f#4]@2 [f#3,a#3,c#4,f#4]@6 [b3,d4]@2 [g3,c#4,e4] [g3,b3,d4] [a3,d4,f#4,a4]@2 [a3,d4,f#4,a4]@3 [a3,c#4,e4,a4]@2 [g3,b3,d4,g4]@6 ~ [e3,g#3,b3] [f#3,c#4] [e3,g#3,b3] [f#3,b3,d#4,f#4]@2 ~ [f#3,b3,d#4,f#4]@2 [f#3,a#3,c#4,f#4]@5 ~ [b3,d4]@2 [g3,c#4,e4] [g3,b3,d4] [a3,d4,f#4,a4]@2 [a3,d4,f#4,a4]@2 ~ [a3,c#4,e4,a4]@2 [g3,b3,d4,g4]@6 ~ [e3,g#3,b3] [f#3,c#4] [e3,g#3,b3] [f#3,b3,d#4,f#4]@2 ~ [f#3,b3,d#4,f#4]@2 [f#3,a#3,c#4,f#4]@5 ~ [b3,d4]@2 [g3,c#4,e4] [g3,b3,d4] [a3,d4,f#4,a4]@2 [a3,d4,f#4,a4]@2 ~ [a3,c#4,e4,a4]@2 [g3,b3,d4,g4]@5 [a3,d4,f#4]@4, ~@58 a#3@2 ~@16 g3 ~@18 [f#3,a#3,c#4]@2 ~@11 g3 ~@18 a#3@2 ~@11 g3 ~@18 a#3@2 ~@11 g3 ~@19]/6", // C# D E F#5 E B F# Bm …
B: "[a3,d4,f#4]@2 [a3,d4,f#4] ~ [g3,c4,e4]@2 [a3,d4,f#4]@4 [a3,d4,f#4]@2 [a3,d4,f#4] ~ [g3,c4,e4]@3 [c4,f4,a4]@2 ~ [c4,f4,a4]@2 [c4,f4,a4] [d#4,g4]@2 ~ [f3,a#3,d4]@4 c4@2, ~@23 a#3 ~@8", // D C D C F D# A#
C: "[~@2 f4 ~ [a3,d4,f#4]@3 [a3,d4,f#4]@2 ~ [a3,d4,f#4] [g3,c4,e4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]@2 ~ [a3,d4,f#4] [g3,c4,e4]@4 [c4,f4,a4]@2 [c4,f4,a4]@2 ~ [c4,f4,a4] [a#3,d#4]@2 ~@4 c4@2 ~@4 [f#3,b3,d#4,f#4]@4 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4] [e3,a3,c#4,e4]@2 ~ [f#3,b3,d#4,f#4]@4 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4] [e3,a3,c#4,e4]@4, [f3,a#3,d4]@4 ~@29 [f3,a#3,d4]@6 [f3,a#3,d4]@5 ~@20, ~ e4@2 ~@28 g4 ~@9 d#4@2 ~@21, ~@42 e4@3 ~@19]/2", // D C D C F D#5 B A …
D: "[e3,a3]@2 g#3@3 [e3,a3] b3 c4 ~ [f#3,b3,d#4,f#4]@3 [f#3,b3,d#4,f#4]@2 ~ [f#3,b3,d#4,f#4] [e3,a3,c#4,e4]@2 [f#3,b3,d#4,f#4]@4 b3!2 ~ d#4 ~ f#4!2 ~ [b3,d4,g4]@2, ~@13 d#4@2 ~", // A5 B A B G
E: "d4!2 d4@2 ~ d4@2 [a3,f#4]@2 [b3,d4,g4] d4@2 [b3,g4]@3 d4 [b3,d4,g4] [a3,d4,f#4]@2 ~ [a3,d4,f#4]@2 [a3,d4,f#4] [g3,c4,e4]@3 [a3,d4,f#4]@4 [a3,d4,f#4]@2, [a3,f#4]@2 [a3,f#4]@5 d4 ~@4 d4@2 ~@18, ~ [b3,g4]@2 ~@2 [b3,g4]@4 ~ [a3,f#4]@5 [a3,f#4]@2 ~@15", // D G Em G D C D Em …
F: "[a3,d4,f#4] [g3,c4,e4]@4 d4@2 [a3,f#4]@2 d4 d4@2 [b3,g4]@3 d4!2 d4@2 ~ [b3,d4,g4]@2 d4 [b3,d4,g4] ~ d4@2 [b3,d4,g4]@2 ~ [b3,d4,g4]@2, ~@5 [b3,g4]@4 [b3,g4]@2 ~ d4@2 ~@2 [b3,g4]@2 ~@14, ~@7 d4 ~@2 [a3,f#4]@5 [a3,f#4]@2 [a3,f#4]@5 [a3,f#4]@2 ~ [a3,f#4]@7", // D C D Em G Em D
G: "[a3,c#4,f#4]@2 [a3,c#4,f#4]@2 ~ [f#3,d#4,f#4]@17 ~@10, ~@5 b3@15 ~@12", // F#m D#m
H: "[~@15 [e3,g#3,b3] [f#3,c#4] [e3,g#3,b3] [f#3,b3,d#4,f#4]@2 ~ [f#3,b3,d#4,f#4]@2 [f#3,a#3,c#4,f#4]@6 ~ [g3,b3,d4] ~ [b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@3 [g3,b3,d4,g4]@6 [e3,b3] [f#3,c#4] [e3,g#3,b3] [f#3,b3,d#4,f#4]@2 ~ [f#3,b3,d#4,f#4]@2 [f#3,a#3,c#4,f#4]@6 ~ [b3,d4] c#4 [b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@3 [g3,b3,d4,g4]@6 [e3,g#3,b3] [f#3,c#4] [e3,g#3,b3] [f#3,b3,d#4,f#4]@2 ~ [f#3,b3,d#4,f#4]@2 [f#3,a#3,c#4,f#4]@6 ~ [g3,d4] ~ [b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@3 [g3,b3,d4,g4]@6 [e3,g#3,b3] [f#3,c#4] [e3,g#3,b3] [f#3,b3,d#4,f#4]@2 ~ [f#3,b3,d#4,f#4]@2 [f#3,a#3,c#4,f#4]@6 ~ [g3,d4] g3 [g3,b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@3 [g3,b3,d4,g4]@6 [a3,d4,f#4]@2 [a3,d4,f#4]@2 ~ [a3,d4,f#4] [c4,e4]@2 [a3,d4,f#4]@4 [a3,d4,f#4]@2 ~ [a3,d4,f#4] [g3,c4,e4]@3 [c4,f4,a4]@2 ~ [c4,f4,a4]@2 [c4,f4,a4] ~ [d#4,g4]@2 [f3,a#3,d4]@4 [f3,a#3,c4]@2 ~ e4@2 f4 [a3,d4,f#4]@3 ~ [a3,d4,f#4]@2 [a3,d4,f#4] [g3,c4,e4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]@2 ~ [a3,d4,f#4] [g3,c4,e4]@4 [c4,f4,a4]@2 [c4,f4,a4]@2 ~ [c4,f4,a4] [a#3,d#4,g4]@2 [f3,a#3,d4]@4 [f3,a#3,c4]@2 ~@3 f4 [f#3,b3,d#4,f#4]@4, ~@16 a#3@2 ~@13 [g3,c#4,e4]@2 ~@14 g#3@2 ~@13 g3@3 ~@15 a#3@2 ~@12 b3@2 ~@16 a#3@2 ~@12 b3@2 ~@21 g3 ~@19 a#3 ~@7 [f3,a#3,d4]@4 ~@36 [f3,a#3,d4]@4 ~@3, ~@48 a#3@2 ~@13 e4@2 ~@17 g#4 ~@12 [g3,c#4,e4]@2 ~@30 [c#4,e4]@2 ~@89 e4@2 ~@4]/7", // E F#5 E B F# G Bm D …
I: "[f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 [e3,a3,c#4,e4]@2 [f#3,b3,d#4,f#4]@4 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 [e3,a3,c#4,e4]@3 ~@6 b3@2 c#4 [f#3,b3,d#4,f#4]@4 [f#3,b3,d#4,f#4]@2, ~@17 [e3,a3]@5 [e3,a3]@3 ~@7, ~@10 g#3@3 ~@3", // B A B A B A5
J: "[f#3,b3,d#4,f#4] [e3,a3,c#4,e4]@2 ~ b3@3 b3 ~@2 d#4 ~ f#4 ~ f#4 [b3,d4,g4]@2 d4 [b3,g4]@2 [a3,d4,f#4] ~ [b3,g4]@3 d4 [b3,d4,g4] d4@2 ~ [b3,d4,g4]@2, ~@4 f#3@11 ~@17, ~@4 f#4@7 d#4@4 ~@3 d4 ~@3 d4@2 ~@3 f#4 ~@4, ~@4 d#4@5 b3@6 ~@2 [a3,f#4]@2 ~@6 [a3,f#4]@2 a3@5", // B A G Em D Em G D
K: "d4 [b3,d4,g4] [a3,d4,f#4]@2 ~ [a3,d4,f#4]@2 [a3,d4,f#4] ~ [g3,c4,e4]@2 [a3,d4,f#4]@4 [a3,d4,f#4]@2 [a3,d4,f#4] [g3,c4,e4]@4 [b3,g4]@3 d4!2 [a3,d4,f#4] ~@2 [b3,d4,g4]@2, [a3,f#4]@2 ~@20 d4@2 ~ [a3,f#4]@2 ~@5, ~@13 [b3,g4] ~@2", // G D C D C Em D G …
L: "[d4!2 d4@2 ~ d4@2 [a3,f#4]@2 d4 [a3,d4,f#4] ~ [b3,d4,g4]@2 ~ [b3,d4,g4]@2 [c#4,f#4] ~@2 [a3,c#4,f#4] ~ [f#3,b3,d#4,f#4]@15 ~@27, [a3,f#4]@2 [a3,f#4]@5 d4 ~@56, ~ [b3,g4]@2 ~@2 [b3,g4]@4 [b3,g4]@2 ~@6 a3@2 ~@45]/2", // D G F#5 F#m B D Em
M: "[e3,g#3,b3] ~ [e3,g#3,b3] ~ [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 ~ [f#3,a#3,c#4,f#4]@6 g3 [g3,c#4,e4] [g3,b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@3 [g3,b3,d4,g4]@6, ~ [f#3,a#3,c#4]@2 ~@12 [b3,d4]@2 ~@15", // E B F# C#dim G D A G …
N: "[e3,g#3,b3] [f#3,a#3,c#4] [e3,b3] ~ [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 ~ [f#3,a#3,c#4,f#4]@6 ~@2 [g3,b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@3 [g3,b3,d4,g4]@6, ~@15 [g3,b3,d4]@2 ~@15, ~@8 [c#4,e4] ~@7", // E F# E5 B F# G D A …
O: "~@2 [e3,g#3,b3] ~ [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 ~ [f#3,a#3,c#4,f#4]@6 g3!2 [g3,b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@3 [g3,b3,d4,g4]@6, [e3,g#3,b3] ~@7 [c#4,e4] ~@7, ~ [f#3,a#3,c#4]@2 ~@12 [b3,d4]@2 ~@15", // E B F# G D A G E …
P: "[e3,g#3,b3] ~ [e3,g#3,b3] ~ [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 ~ [f#3,a#3,c#4,f#4]@6 ~@2 [g3,b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@3 [g3,b3,d4,g4]@5 ~, ~ [f#3,a#3,c#4]@2 ~@12 [g3,b3,d4]@2 ~@15, ~@8 [c#4,e4] ~@7", // E B F# G D A G F# …
Q: "[e3,g#3,b3] [f#3,c#4] [e3,g#3,b3] ~ [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 ~ [f#3,a#3,c#4,f#4]@5 ~@3 [b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@2 ~ [g3,b3,d4,g4]@5 ~, ~ a#3@2 ~@12 [g3,b3,d4]@3 ~@14, ~@8 [c#4,e4] ~@7", // E F#5 E B F# Bm D A …
R: "[e3,g#3,b3] [f#3,a#3,c#4] [e3,g#3,b3] ~ [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 ~ [f#3,a#3,c#4,f#4]@6 ~@2 [g3,b3,d4] [a3,d4,f#4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@3 [g3,b3,d4,g4]@6, ~@15 [g3,b3,d4]@2 ~@15, ~@16 [c#4,e4]@2 a4 ~@13", // E F# E B F# G D A …
S: "~@2 [e3,g#3,b3] ~ [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 ~ [f#3,a#3,c#4,f#4]@6 ~@2 [b3,d4] [a3,d4,f#4,a4]@2 ~ [a3,d4,f#4,a4]@2 [a3,c#4,e4,a4]@2 ~ [g3,b3,d4,g4]@5 ~, [e3,g#3,b3]@2 ~@13 [b3,d4]@2 ~@15, ~ [f#3,a#3,c#4]@2 ~@12 g3@4 ~@13, ~@8 [c#4,e4] ~@7", // E B F# Bm D A G E …
T: "~@2 [e3,g#3,b3] ~ [f#3,b3,d#4,f#4]@2 ~@26, [e3,g#3,b3] ~@15, ~ [f#3,a#3,c#4]@2 ~@29", // E B E F#
})).s("gm_epiano2").gain(0.45)
// drums · kick
const kick = s("bd").struct("<~@4 A B@3 C D E F ~@2 G H I@3 J E K C L ~ M N O@8 P>".pickRestart({
A: "~@15 x", B: "x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x!2 ~ x ~",
C: "x ~ x ~@2 x!3 ~@2 x ~ x ~@2 x!3 ~@2 x ~ x ~@2 x!3 ~@2 x ~",
D: "x ~ x ~ x!2 ~ x ~@2 x ~ x ~ x!2 ~ x ~@2 x ~ x!2 ~ x ~ x ~@2 x ~",
E: "x!3 ~@2 x ~ x ~@2 x!3 ~@2 x ~ x ~@2 x!3 ~@2 x ~ x ~@2 x!2",
F: "x ~ x ~@2 x ~ x ~ x!2 ~ x ~@2 x ~ x!2 ~ x ~ x ~@2 x ~ x ~@4", G: "~@5 x ~@4 x ~@4 x ~@4 x ~@4 x!3 ~@4",
H: "x ~@14 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~", I: "x ~ x ~@2 x ~ x ~@2 x ~ x ~ x!2 ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~",
J: "x ~ x ~@2 x ~ x ~@2 x ~ x ~ x!2 ~ x ~@2 x ~ x!2 ~ x ~ x ~@2 x ~",
K: "x ~ x ~@2 x ~ x ~ x!2 ~ x ~@2 x ~ x!2 ~ x ~ x ~@2 x ~ x!2 ~ x ~", L: "x ~ x ~ x!2 ~@26", M: "~@22 x ~@4 x ~@4",
N: "x ~@4 x ~@4 x ~ x ~@4 x ~@14", O: "x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x!2",
P: "x!2 ~@14",
})).gain(0.6)
// drums · snare
const snare = s("sd").struct("<~@4 A B@3 C D E F G H ~ I J@4 C D C K L M N O@8 P>".pickRestart({
A: "~@27 x ~@4", B: "x ~@4 x ~@4 x ~@4 x ~@4 x ~@4 x ~ x ~@4", C: "x ~@4 x ~@4 x ~@4 x ~@4 x ~@4 x ~@4 x ~",
D: "~@2 x ~@4 x ~@4 x ~@4 x ~@4 x ~@4 x ~@4", E: "x ~@4 x ~@3 x!3 ~@3 x ~@4 x ~@4 x ~@4 x ~",
F: "~@2 x ~@4 x ~@4 x ~@4 x ~@14", G: "x ~@6 x ~@7 x ~@4 x ~@4 x ~@4 x ~", H: "~@2 x ~@4 x ~@7 x ~@6 x ~@9",
I: "~@12 x!2 ~@3 x ~@4 x ~@4 x ~@4", J: "x ~@4 x ~@4 x ~ x ~@4 x ~@4 x ~@4 x ~@4", K: "~@2 x ~@14 x ~@7 x ~@6",
L: "x ~@4 x ~@4 x ~@4 x ~@4 x ~@4 x ~@6", M: "x ~@6 x ~@24", N: "~@29 x!2 ~",
O: "~@2 x ~@4 x ~@4 x ~@4 x ~@4 x ~@4 x ~@2 x ~", P: "~ x ~@14",
})).gain(0.6)
// drums · low tom
const low_tom = s("lt").struct("<~@14 [~@27 x!2 ~@3] [~@7 x!2 ~@23] ~@10 [~@12 x!2 ~@10 x ~ x ~@5] ~@9>").gain(0.6)
// drums · hihat
const hihat = s("hh").struct("<A B@3 C D@3 E F G H I J K L M@3 N O P Q R S T U H@8 V>".pickRestart({
A: "~@2 x ~@2 x ~ x ~@2 x ~ x ~ x!5 ~ x!4 ~ x!4 ~ x!2", B: "x!3 ~ x!4 ~ x!4 ~ x!5 ~ x!4 ~ x!4 ~ x!2",
C: "x!3 ~ x!4 ~ x!4 ~ x!5 ~ x!4 ~ x!2 ~@3 x!2", D: "x!3 ~ x!4 ~ x!4 ~ x!5 ~ x!4 ~ x!3 ~@2 x!2",
E: "x!3 ~ x!4 ~ x!4 ~ x!2 ~ x!2 ~ x!4 ~ x!4 ~ x!2", F: "x!3 ~@2 x!3 ~ x!4 ~ x!5 ~ x!3 ~@2 x!4 ~ x!2",
G: "x!3 ~ x!4 ~ x!2 ~ x ~ x!5 ~ x!4 ~ x!4 ~ x!2", H: "x!3 ~ x!4 ~ x!4 ~ x!5 ~ x!4 ~ x!4 ~ x ~",
I: "x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x!2 ~ x!4 ~ x ~ x!2 ~ x!2",
J: "x!3 ~ x!2 ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~", K: "x ~ x ~@2 x!3 ~ x!4 ~ x!5 ~ x!4 ~ x!4 ~ x!2",
L: "x!3 ~ x!4 ~ x ~@5 x!4 ~ x!4 ~ x!4 ~ x!2", M: "x!3 ~ x!4 ~ x!4 ~@2 x!4 ~ x!4 ~ x!4 ~ x!2",
N: "x!3 ~ x!4 ~ x!4 ~@2 x!4 ~ x!3 ~@2 x!4 ~ x!2", O: "x ~ x ~ x!4 ~ x!2 ~ x ~ x!5 ~ x ~ x!2 ~ x!4 ~ x!2",
P: "x!3 ~ x!4 ~@2 x!3 ~ x!5 ~ x!4 ~ x!3 ~@2 x!2", Q: "x!3 ~ x!4 ~ x!4 ~ x!2 ~ x!2 ~ x!4 ~ x ~ x!2 ~ x!2",
R: "x!3 ~ x!4 ~ x!3 ~@2 x!2 ~ x ~@14", S: "~@2 x ~ x!4 ~ x!2 ~ x ~ x!5 ~ x!3 ~@2 x ~ x ~ x ~@2",
T: "x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~",
U: "x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~@11", V: "x!3 ~ x!2 ~@26",
})).gain(0.48)
// drums · mid tom
const mid_tom = s("mt").struct("<~@14 A B ~@5 C ~@3 D E ~@9>".pickRestart({
A: "~@5 x ~@4 x ~@4 x ~@4 x ~@4 x!2 ~@5", B: "x ~@4 x!2 ~@25", C: "~@17 x ~@14", D: "~@22 x!2 ~@3 x ~@4",
E: "x ~@4 x ~@4 x!2 ~@5 x!2 ~@3 x!2 ~@8",
})).gain(0.6)
// drums · open hat
const open_hat = s("oh").struct("<~@5 A@3 B C D ~ E F ~@2 G@3 H I J K ~ L M ~ N@8 ~>".pickRestart({
A: "~@7 x", B: "~ x", C: "~@4 x ~@18 x ~@8", D: "~@11 x ~@20", E: "~@4 x ~@6 x ~@14 x ~@5", F: "~@11 x ~@6 x ~@13",
G: "~@7 x ~@8", H: "~@14 x ~@8 x ~@8", I: "~ x ~@9 x ~@9 x ~@10", J: "~@9 x ~@18 x ~@3", K: "~@8 x ~@4 x ~@2",
L: "~@11 x ~@16 x ~@3", M: "~ x ~@6", N: "~@31 x",
})).gain(0.48)
// drums · crash
const crash = s("cr").struct("<~@11 A B C D ~@8 E F G ~@10>".pickRestart({
A: "~@29 x ~@2", B: "~@3 x ~@7 x ~@5 x ~@14", C: "~@5 x ~@5 x ~@6 x ~@7 x ~@4 x", D: "~@5 x ~@26",
E: "~@15 x ~@5 x ~@6 x ~@3", F: "~ x ~@9 x ~@2 x ~", G: "~@4 x ~@6 x ~@4 x ~@4 x ~@10",
})).gain(0.6)
stack(
bass, electric_guitar_muted, acoustic_guitar_steel, lead_4_chiff, ocarina, pad_poly, epiano2, kick, snare, low_tom,
hihat, mid_tom, open_hat, crash
)
More by Genesis
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.