0:00/0:00
// Behind the Lines — Genesis
// 164 bpm, 4/4, key C 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: Full arrangement: all 228 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(164/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 · piano
const piano = note(`<
A@4 B@6 C@2 D@8 E@2 F@3 G@7 H I J K@2 L M@2 N O@2 P Q R@2 S@2 T@4 U@2 V@2 W@2 X@4 Y@2 Z AA@2 AB AC@8 AD@8 AE AF AG@4
AH@2 AI AJ AK@2 AL AM AN@4 AO@2 AP@2 AQ@3 AR AS@3 AT AU@2 AV@5 AW@5 AX@2 AJ AY@2 AZ@2 BA@2 BB@2 BC@2 BD@2 BE@2 BF@2 BG
BH@2 BI BJ@2 BK@8 BL@7 BM@5 BN@8 BO@4 BP@2 BQ@2 BR@2 BS@2 BT@2 BU@2 BV@4 BW@2 BX@2 BR@2 BS@2 BT@2 BU@2 BV@4 BW@2 BY@6
~@4
>`.pickRestart({
A: "[~@10 [g3,c4,e4,g4]@5 ~ [g3,c4,f4] ~@25 [a#3,d4,f4,a4]@5 ~ [a#3,d4,f4,g4]@2 ~@2 [a#3,d4,f4,a4]@12, c2@30 ~@2 c2@31 ~, ~@16 e4@2 ~@2 [g3,c4,e4,g4]@21 ~@23]/4", // C Csus4 A#maj7 Gm7 A#maj7 C
B: "[~@10 [a3,c4,f4,a4]@5 ~ [a3,c4,g4] ~@3 c4@12 ~@10 [g3,c4,e4,g4]@5 ~ [g3,e4,f4]@2 ~@24 [g3,c4,e4,g4]@5 ~ [g3,c4,e4,f4]@2 ~@2 [g3,c4,e4,g4]@12, c2@29 ~@3 c2@30 ~@2 c2@31 ~, ~@16 f4@2 ~@2 [a3,f4,a4]@22 ~@6 c4 ~@3 [g3,c4,e4,g4]@22 ~@22]/6", // F Am7 C Dm C
C: "[~@5 [a#3,d4,f4,a4]@3 [a#3,d4,f4,g4] ~ [a#3,d4,f4,a4]@6, c2@31 ~]/2", // A#maj7 Gm7 A#maj7
D: "[~@10 [a3,c4,f4,a4]@5 ~ [a3,c4,f4,g4]@2 ~@2 [a3,c4,a4]@12 ~@10 [a3,c4,f4,a4]@5 ~ [a3,c4,g4]@2 ~@2 d4@12 [b3,d4,g4]@10 [g3,c4,e4,g4]@5 ~ [g3,c4,e4,f4]@2 ~@24 [a#3,d4,f4,a4]@5 ~ [a#3,d4,f4,g4]@3 ~ [a#3,d4,f4,a4]@12, c2@31 ~ c2@30 ~@2 c2@29 ~@3 c2@31 ~, ~@10 f4@11 ~@5 [a3,f4]@11 ~@5 [g3,c4,e4,g4]@11 ~@11]/8", // F Am F Am7 G C A#maj7 Gm7 …
E: "[~@10 [a3,c4,f4,a4]@5 ~ [a3,c4,f4,g4]@2 ~@2 [a3,c4,f4,a4]@12, c2@31 ~]/2", // F
F: "[~@10 [g3,c4,e4,g4]@5 ~ [g3,c4,e4,f4]@2 ~@24 [g3,c4,e4,g4]@6, c2@31 ~ c2@16, ~@20 [g3,c4,e4,g4]@21 ~@7]/3", // C
G: "[[g3,c4,e4,f4]@2 ~@24 [a#3,d4,f4,a4]@5 ~ [a#3,f4,g4]@2 ~@2 a4@12 ~@10 [a3,c4,f4,a4]@4 ~@2 [a3,c4,f4]@2 ~@24 [a3,c4,f4,a4]@4 ~@2 [a3,c4,g4]@2 ~@2 [a3,d4,f4]@12, ~@4 [g3,c4,e4,g4]@22 ~@6 d4 ~@3 [a#3,d4,f4]@22 ~@6 g4 ~@3 [a3,c4,f4,a4]@21 ~@23, ~@16 c2@31 ~ c2@31 ~ c2@30 ~@2]/7", // C A#maj7 Gm7 F Am7 Dm C A# …
H: "[a3,d4,f#4,a4]@3 ~ [a3,d4,g4] ~ [a3,d4,f#4,a4]@9 ~", // D Dsus4 D
I: "[g3,b3,d4]@3 ~ [a3,c#4,e4]@3 ~ [a3,d4,f#4]@3 ~ [b3,d4,g4]@2 ~@2", J: "[a3,c#4,e4]@15 ~",
K: "[[a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,g4] ~ [a3,d4,f#4,a4]@25 ~]/2", // D
L: "[a3,d4,f#4]@3 ~ [a3,c#4,e4]@3 ~ [g3,b3,d4]@6 ~@2", // D A G
M: "[[a3,c#4,e4]@3 ~ [a3,c#4,e4]@2 ~@2 [a3,d4,f#4]@5 ~ [a3,d4,f#4]@5 ~ [b3,d4,f#4]@5 ~ [b3,d4,f#4]@5 ~]/2", // A D Bm
N: "[a3,c#4,f#4]@5 ~ [a3,c#4,f#4]@5 ~ [b3,d4,g4]@4", // F#m G
O: "[~@2 [b3,d4,g4]@5 ~ [a3,d4,f#4,a4]@4 [a3,d4,f#4,g4] ~ [a3,d4,f#4,a4]@9 ~ [a3,d4,f#4]@3 ~ [a3,c#4,e4]@3 ~]/2", // G D A
P: "[g3,b3,d4]@7 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~", Q: "[a3,d4,f#4]@5 ~ [a3,d4,f#4]@5 ~ [b3,d4,f#4]@4",
R: "[~@2 [b3,d4,f#4]@5 ~ [a3,c#4,f#4]@4 ~@2 [a3,c#4,f#4]@5 ~ [b3,d4,g4]@5 ~ [b3,d4,g4]@6]/2", // Bm F#m G
S: "[~@10 b3@6 [b3,c#4,e4]@2 ~@2 [b3,d#4,f#4]@11 ~, b1@29 ~@3, ~@5 [d#4,f#4]@4 ~@7]/2", // C#m7 B D#m
T: "[~@10 [b3,e4,g4]@6 [b3,d#4,f#4]@2 ~@24 [b3,d4,f#4]@5 ~ [b3,e4]@2 ~@2 [b3,d4]@12, b1@31 ~ b1@30 ~@2, ~@20 [b3,e4,g4]@21 ~@7 d4 ~@15]/4", // Em B Bm E5 Bm Em
U: "[~@10 [b3,e4,g4]@5 ~ [d4,g4] ~@3 [b3,c#4,g4]@10 ~@2, b1@15 ~, ~@8 b3 ~@7]/2", // Em G5 C#m7b5
V: "[[b4,d#5]@8 [b4,d#5]@8 [b4,d#5,f#5]@15 ~, b5@29 ~@3, ~@8 a#5@21 ~@3]/2", // B
W: "[[b4,d#5,b5]@8 b4@8 [b4,e5]@8 [b4,e5,g5]@7 ~, ~@8 [d#5,a#5,b5]@23 ~, ~@16 g#5@15 ~]/2", // B E5 Em Bmaj7
X: "[a3,d4,f#4]@9 ~ [g3,c4,e4]@5 ~", Y: "[a3,d4,f#4]@10 [f#3,a3,d4]@5 ~", Z: "[a3,d4,f#4]@9 ~ [f#3,a3,d4]@3 ~@3",
AA: "[g#3,b3,e4]@10 [f#3,b3,d4]@5 ~", AB: "[a3,c4,f4]@10 [g3,c4,e4]@5 ~",
AC: "[[a3,c4,f4]@6 [a3,c4,f4]@5 ~ [b3,d4,g4]@10 [g3,c4,e4,g4]@5 ~ [g3,c4,e4,f4]@2 ~@2 [g3,c4,e4,g4]@12 ~@10 [a#3,d4,f4,a4]@5 ~ [a#3,f4,g4]@2 ~@2 [a#3,d4,f4,a4]@12 ~@10 [a3,c4,f4,a4]@5 ~ [a3,c4,f4,g4]@2 ~@2 a3@12 ~@10 [g3,c4,e4,g4]@5 ~ [g3,e4,f4]@2 ~@2, ~@12 c2@31 ~ c2@30 ~@2 c2@31 ~ c2@20, ~@60 d4 ~@35 [c4,f4,a4]@22 ~@6 c4 ~@3]/8", // F G C A#maj7 Gm7 A#maj7 F C …
AD: "[~@22 [g3,c4,e4,g4]@5 ~ [g3,e4,f4]@2 ~@2 [g3,c4,e4,g4]@12 ~@10 [a#3,d4,f4,a4]@5 ~ [a#3,f4,g4]@2 ~@2 [a#3,d4,f4,a4]@12 ~@10 [a3,c4,f4,a4]@5 ~ [a3,f4]@2 ~@24 [a3,c4,f4,a4]@5 ~ [a3,d4,f4,g4]@2 ~@2, [g3,c4,e4,g4]@21 ~@7 c4 ~@31 d4 ~@31 [c4,g4] ~@3 [a3,c4,f4,a4]@22 ~@6 c4 ~@3, ~@12 c2@30 ~@2 c2@31 ~ c2@31 ~ c2@20]/8", // C A#maj7 Gm7 A#maj7 F Dm F Dm …
AE: "[f3,a#3,d4]@3 ~ [c2,g3,b3,d4]@5 ~ [c4,e4,g4]@6", // A# G C
AF: "[a3,c4,f4]@2 ~@2 [e4,g4]@4 [g4,c5]@4 [g4,c5,e5]@3 ~, ~@4 c4@11 ~, ~@8 e4@7 ~", // F Em C5 C
AG: "[[c4,e4,g4]@9 ~ c4@6 [c4,e4,g4]@3 ~ [a3,d4,f4]@4 [a3,d4,f4]@2 ~@2 d4@4 [b3,d4,g4]@8 ~@2 b3@6 [b3,d4,f4]@3 ~ [c4,e4]@4 [e4,a4]@4 [e4,a4,c5]@3 ~, ~@10 [f4,a4]@9 ~@9 [a3,f4]@6 ~@8 [e4,g4]@9 ~ a3@11 ~, ~@56 c4@7 ~]/4", // C Dm G Bdim C A5 Am F …
AH: "[[a3,d4,f4]@8 ~@2 [a3,c4]@6 [a3,c4,e4]@3 ~@5 c4@2 ~@2 [f3,a#3,d4]@4, ~@5 f4@4 ~ [a3,d4]@3 ~@3]/2", // Dm Am A# D5
AI: "[g3,b3,d4]@8 ~@2 [c4,e4,g4]@5 ~", // G C
AJ: "[a3,c4,f4]@3 ~ [e4,g4]@4 [g4,c5]@4 [g4,c5,e5]@3 ~, ~@4 c4@11 ~, ~@8 e4@7 ~", // F Em C5 C
AK: "[[c4,e4,g4]@8 ~@2 c4@6 [c4,e4,g4]@2 ~@2 [a3,d4,f4]@4 [a3,d4,f4]@4 [a3,d4,f4]@3 ~, ~@5 [f4,a4]@4 ~@7]/2", // C Dm F
AL: "[b3,d4,g4]@4 ~ [b3,e4,g4]@3", AM: "[b3,d4,f4] ~@3 [c4,e4]@4 [e4,a4]@4 [e4,a4,c5]@2 ~@2, ~@2 a3@5 ~, ~@4 c4@3 ~",
AN: "[[a3,d4,f4]@8 ~@2 [a3,c4]@6 [a3,c4,e4]@3 ~@5 c4@3 ~ d4@4 [g3,b3,d4]@9 ~ c4@6 [a3,c4,f4]@3 ~ [e4,g4]@4 [g4,c5]@4 [g4,c5,e5]@2 ~@2, ~@10 f4@9 ~ [a3,d4]@7 ~ [f3,a#3]@6 ~@8 [e4,g4]@9 ~ c4@10 ~@2, ~@28 e4@3 ~]/4", // Dm Am G F Em C5 C D5 …
AO: "[[c4,e4,g4]@9 ~ c4@6 [c4,e4,g4]@2 ~@2 [a3,d4,f4]@4 [a3,d4,f4]@4 [a3,d4,f4]@2 ~@2, ~@5 [f4,a4]@4 ~@7]/2", // C Dm F
AP: "[[b3,d4,g4]@8 ~@2 b3@6 [b3,d4,f4]@2 ~@2 [c4,e4]@4 [e4,a4]@4 [e4,a4,c5]@3 ~, ~@10 [e4,g4]@8 ~@2 a3@11 ~, ~@24 c4@7 ~]/2", // G Bdim C A5 Am Em
AQ: "[[a3,d4,f4]@9 ~ [a3,c4]@6 [a3,c4,e4]@3 ~@5 c4@2 ~@2 d4@4 [b3,d4]@9 ~ [a#3,d#4,g4]@6, ~@10 f4@9 ~ [a3,d4]@6 ~@2 [f3,a#3]@7 ~@13, ~@32 g3@5 ~@11]/3", // Dm Am Bm D# D5 A#5
AR: "[a#3,d4,f4] ~@3 [a#3,d#4,g4]@10 ~@2", // A# D#
AS: "[[d4,f4,a#4]@9 ~ d#4@6 [a#3,d#4,g4]@2 ~@2 [a#3,d4]@4 [a#3,d4,d#4]@3 ~ a#3@4 [a#3,d#4,g4]@7 ~@3 [a#3,d#4,g4]@5 ~, ~@10 [c4,g#4]@8 ~@2 f4@7 ~ [d4,f4]@10 ~@10]/3", // A# D# A# D#maj7 D# Fm Dm
AT: "~@4 [c4,d#4,g4]@4 [c4,d#4,g4]@3 ~ [c4,d#4,g4]@3 ~, [a#3,d4,f4]@11 ~@5", // Cm A#
AU: "[[d4,f4,a#4]@4 ~ d#4@3 [a#3,d#4,g4] ~ [a#3,d4]@2 [a#3,d4,d#4] ~ [a#3,d4,f4] ~, ~@5 [c4,g#4]@4 ~ f4@3 ~@3]/2", // A# D# A# D#maj7 A# Fm
AV: "[[a#3,d#4,g4]@10 ~@2 [d#4,g4,c5]@7 ~ [g4,c5]@8 [d4,g4]@8 [d4,g4,a#4]@6 ~@2 [d4,f4,a#4]@8 ~@4 d#4@8 ~@4 g#4@4 c5@2 ~@2 [d#4,g4,a#4]@4, ~@20 d#4@22 ~@10 [d4,f4,a#4]@8 ~@4 d#4@9 ~@7, ~@28 c5@14 ~@14 c4@17 ~@7, ~@14 g#4@3 ~@3]/5", // D# Cm C5 G5 Gm A# D# A#
AW: "[~@4 a#4@8 [d4,f4,a#4]@8 [d4,f4,a#4]@4 ~@4 [c4,d#4,g#4]@8 [c4,d#4,g#4]@8 [a#3,d4,f4]@8 [a#3,d4,f4]@6 ~@2 [g3,c4,e4]@8 ~@2 [a3,c4,f4]@5 ~ [c4,f4,a4]@3 ~, ~ [d#4,g4]@5 ~@14]/5", // A# G# A# C F D#
AX: "[[d4,g4,b4]@23 ~@3 [c4,e4,g4]@6]/2", // G C
AY: "[[c4,e4,g4]@9 ~ c4@6 [c4,e4,g4]@3 ~ [a3,d4,f4]@4 [a3,d4,f4]@4 [a3,d4,f4]@3 ~, ~@10 [f4,a4]@9 ~@13]/2", // C Dm F
AZ: "[[b3,d4,g4]@9 ~ b3@6 [b3,d4,f4]@3 ~ [c4,e4]@4 [e4,a4]@4 [e4,a4,c5]@2 ~@2, ~@10 [e4,g4]@9 ~ a3@10 ~@2, ~@12 c4@3 ~]/2", // G Bdim C A5 Am Em
BA: "[[a3,d4,f4]@9 ~ [a3,c4]@6 [a3,c4,e4]@3 ~@5 c4@3 ~ [f3,a#3,d4]@4, ~@10 f4@9 ~ [a3,d4]@7 ~@5]/2", // Dm Am A# D5
BB: "[[g3,b3,d4]@9 ~ c4@6 [a3,c4,f4]@3 ~ [e4,g4]@4 [g4,c5]@4 [g4,c5,e5]@3 ~, ~@10 [e4,g4]@8 ~@2 c4@11 ~, ~@24 e4@7 ~]/2", // G F Em C5 C Em
BC: "[[c4,e4,g4]@9 ~ c4@6 [c4,e4,g4]@2 ~@2 [a3,d4,f4]@4 [a3,d4,f4]@4 [a3,d4,f4]@3 ~, ~@5 [f4,a4]@4 ~@7]/2", // C Dm F
BD: "[[b3,d4,g4]@9 ~ b3@6 [b3,d4,f4]@3 ~ [c4,e4]@3 ~ [c4,e4,a4] ~@3 [e4,a4,c5] ~@3, ~@10 [e4,g4]@9 ~ a3 ~@11]/2", // G Bdim C Am Em
BE: "[[a3,d4,f4]@8 ~@2 [a3,c4]@6 [a3,c4,e4]@2 ~@2 [a3,d4]@4 c4@2 ~@2 [f3,a#3,d4]@3 ~, ~@5 f4@4 ~@7]/2", // Dm Am D5 A#
BF: "[[g3,b3,d4]@7 ~@3 a#3@6 [a#3,d4,f4]@2 ~@2 [d#4,g4]@10 ~@2, ~@10 [d#4,g4]@8 ~@2 a#3@5 ~@7]/2", // G A# D#
BG: "[d4,f4,a#4]@4 ~ [c4,d#4,g#4]@3", // A# G#
BH: "[[d#4,g4]@2 ~@2 [a#3,d4]@4 [a#3,d4,d#4]@3 ~ a#3@4 [a#3,d#4,g4]@10 [a#3,d#4,g4]@5 ~, a#3 ~@3 f4@7 ~ [d4,f4]@8 ~@12]/2", // D# A# D#maj7 D# Dm
BI: "[a#3,d4,f4]@2 ~@2 [c4,d#4,g4]@4 [c4,d#4,g4]@4 [c4,d#4,g4]@3 ~", // A# Cm
BJ: "[[d4,f4,a#4]@9 ~ d#4@6 [a#3,d#4,g4]@2 ~@2 [a#3,d4]@4 [a#3,d4,d#4]@2 ~@2 [a#3,d4,f4]@4, ~@5 [c4,g#4]@4 ~ f4@3 ~@3]/2", // A# D# A# D#maj7 A# Fm
BK: "[[a#3,d#4,g4]@10 ~@2 [d#4,g4,c5]@8 [d#4,g4,c5]@7 ~ [d4,g4]@8 [d4,g4,a#4]@6 ~@2 [d4,f4,a#4]@8 [d4,f4,a#4]@3 ~ d#4@8 ~@8 c5@3 ~ [d#4,g4,a#4]@8 [d#4,g4,a#4]@6 ~@2 [d4,f4,a#4]@8 [d4,f4,a#4]@4 ~@4 [d#4,g#4,c5]@8 [d#4,g#4,c5]@6 ~@2 [f4,a#4,d5]@4, ~@28 c5@14 ~@14 c4@19 ~@53, ~@56 g#4@12 g#4@7 ~@53, ~@64 d#4@11 ~@53]/8", // D# Cm G5 Gm A# D# A# G# …
BL: "[~@4 [f4,a#4,d5]@6 ~@2 [g4,c5,e5]@9 ~ [f4,c5,d5]@6 [g4,c5,e5]@10 [f4,c5,d5]@5 ~ [g4,c5,e5]@9 ~ [f4,c5,d5]@4 ~@2 [g4,c5,e5]@9 ~ [f4,c5,d5]@5 ~ [g4,c5,e5]@9 ~ [f4,c5,d5]@5 ~ [a4,c5,f5]@10 [a4,c5,e5]@5 ~ [g4,b4,d5]@4]/7", // A# C Dm7 C Dm7 C Dm7 C …
BM: "[~@6 [g4,b4,c5]@5 ~ [a4,c5,e5]@14 ~@2 [g4,c5,e5]@10 [f4,c5,d5]@5 ~ [a4,c5,f5]@9 ~ [a4,c5,e5]@4 ~@2 [g4,b4,d5]@9 ~ [g4,b4,c5]@4 ~@2 [a4,c5,e5]@4]/5", // Cmaj7 Am C Dm7 F Am G Cmaj7 …
BN: "[~@4 [a4,c5,f5]@6 ~@2 [a3,d4,f#4]@9 ~ [g3,c4,e4]@5 ~ [a3,d4,f#4]@9 ~ [g3,c4,e4]@5 ~ [a3,d4,f#4]@9 ~ [g3,c4,e4]@6 [a3,d4,f#4]@9 ~ [g3,c4,e4]@5 ~ [a3,d4]@10 [f#3,a3,d4]@5 ~ [a3,d4]@10 [f#3,a3,d4]@4 ~@2 [a3,d4]@10 [f#3,a3,d4]@4 ~@2 [g#3,b3,e4]@4, ~@76 f#4@15 ~ f#4@14 ~@2 f#4@14 ~@6]/8", // F D C D C D C D …
BO: "[~@6 [f#3,b3,d4]@4 ~@2 [g#3,b3,e4]@9 ~ [f#3,b3,d4]@3 ~@3 [a3,c4,f4]@10 ~@6 [a3,c4,f4]@6 [a3,c4,f4]@4 ~@2 [b3,d4,g4]@3 ~ [a3,c4,f4]@2 ~@2]/4", // Bm E Bm F G F
BP: "[[c4,e4,g4]@19 ~@3 [a#3,d4,f4,a4]@6 [a#3,d4,f4,g4]@2 ~@2]/2", // C A#maj7 Gm7
BQ: "[[a3,d4,f4]@7 ~ [a3,d4] ~@3 [b3,d4,g4]@8 ~@2 [c4,e4,g4]@5 ~ [a3,c4,f4]@3 ~, ~@8 f4@7 ~@17]/2", // Dm D5 G C F
BR: "[[e4,g4]@4 [g4,c5]@4 [g4,c5,e5]@3 ~ [c4,e4,g4]@9 ~ [c4,f4,a4]@6 [c4,e4,g4] ~@3, c4@11 ~@21, ~@4 e4@7 ~@21]/2", // Em C5 C F C
BS: "[[a3,d4,f4]@4 [a3,d4,f4]@4 [a3,d4,f4]@3 ~ [b3,d4,g4]@9 ~ b3@6 [b3,d4,f4]@4, ~@11 [e4,g4]@5]/2", // Dm G Bdim Em
BT: "[[a3,c4,e4] ~@3 [e4,a4]@4 [e4,a4,c5]@3 ~ [a3,d4,f4]@9 ~ [a3,c4]@6 [a3,c4,e4]@3 ~, ~@4 c4@7 ~@11 f4@9 ~]/2", // Am A5 Am Dm Am
BU: "[~@4 c4@3 ~ [f3,a#3,d4]@3 ~ [g3,b3,d4]@9 ~ c4@6 [a3,c4,f4]@3 ~, [a3,d4]@7 ~@15 [e4,g4]@9 ~]/2", // A# G F D5 Em
BV: "[[e4,g4]@4 [g4,c5]@4 [g4,c5,e5]@3 ~ [c4,e4,g4]@9 ~ c4@6 ~@4 [a3,d4,f4]@4 [a3,d4,f4]@4 [a3,d4,f4]@3 ~ [b3,d4,g4]@9 ~ b3@6 [b3,d4,f4]@3 ~, c4@11 ~@11 f4@10 ~@22 [e4,g4]@9 ~, ~@4 e4@7 ~@11 a4@21 ~@21, ~@28 [c4,e4,g4]@15 ~@21]/4", // Em C5 C Dm G Bdim Em C
BW: "[[a3,c4,e4] ~@3 [e4,a4]@4 [e4,a4,c5]@4 [a3,d4,f4]@9 ~ [a3,c4]@6 [a3,c4,e4]@3 ~, ~@4 c4@8 ~@10 f4@9 ~]/2", // Am A5 Am Dm Am
BX: "[[a3,d4]@4 c4@2 ~@2 [f3,a#3,d4]@3 ~ [g3,b3,d4]@9 ~ c4@6 [a3,c4,f4]@3 ~, ~@22 [e4,g4]@9 ~]/2", // D5 A# G F Em
BY: "[[a3,d4]@4 c4@2 ~@2 [f3,a#3,d4]@3 ~ [b3,d4]@12 [d4,g4]@16 [g4,b4]@16 [g4,b4,d5]@32 ~@8, ~@3 g3@8 ~@13, ~@3 b3@4 ~@5, ~@5 d4@4 ~@3]/6", // D5 A# Bm G5 G
})).s("gm_piano").gain(0.66)
// chords · synth bass 1
const synth_bass_1 = note(`<
A B C D E F G H G B C D E F I J K B C D E L A B G M C D I F E N O ~@2 O ~@5 P@2 ~@4 Q R S T U V W X ~@15 Y Z AA AB AC
AD AE Z AF AG AH AB AI AJ AK AL ~@142
>`.pickRestart({
A: "~@5 [g4,c5,e5]@2 ~", B: "[f4,c5,d5] ~ [g4,c5,e5]@6", C: "~@10 [a#4,d5,f5]@5 ~", D: "[a4,d5,f5] ~ [a#4,d5,f5]@6",
E: "~@10 [a4,c5,f5]@5 ~", F: "[g4,c5,e5] ~ [a4,c5,f5]@6", G: "~@10 [g4,c5,e5]@5 ~", H: "[f4,c5,d5]@3 ~ [g4,c5,e5]@12",
I: "~@5 [a4,c5,f5]@2 ~", J: "[c5,e5] ~ [a4,d5,f5]@6, a4 ~@15", K: "[b4,d5]@10 [g4,c5,e5]@5 ~, g4 ~",
L: "[g4,c5,e5] ~ [a4,c5,f5]@6, c#5 ~@15", M: "[c5,d5] ~ [g4,c5,e5]@6, f4 ~@15", N: "[a4,c5,e5]@2 ~@2 [a4,d5,f5]@11 ~",
O: "[f#5,a5]@4 e5@2 [f#5,a5]@9 ~, d5@15 ~, ~@4 g5 ~@11", // F#m
P: "[~@8 [f#5,a5]@4 e5@2 [f#5,a5]@9 ~@9, ~ d5@2 ~, ~@12 g5 ~@19]/2", Q: "~@10 [b4,d#5,f#5]@5 ~",
R: "[b4,c#5,e5] ~ [b4,d#5,f#5]@6", S: "~@10 [b4,e5,g5]@5 ~", T: "[b4,d#5,f#5] ~ [b4,e5,g5]@6",
U: "~@10 [b4,d5,f#5]@5 ~", V: "[b4,d5,e5] ~ [b4,d5]@6", W: "~@10 [b4,e5]@5 ~", X: "[b4,d5] ~ [b4,c#5]@6",
Y: "~@6 [g4,c5,e5]@5 ~ [f4,c5,d5]@2 ~@2", Z: "[g4,c5,e5]@3 ~", AA: "~@6 [a#4,d5,f5]@5 ~ [a4,d5,f5]@2 ~@2",
AB: "[a#4,d5,f5]@3 ~", AC: "~@6 [a4,c5,f5]@5 ~ [g4,c5,e5]@2 ~@2", AD: "[a4,c5,f5]@3 ~, b4 ~@15",
AE: "~@3 [g4,c5,e5]@2 ~ [f4,c5,d5] ~", AF: "~@6 [g4,e5]@5 ~ [f4,d5]@3 ~, ~@6 c5@9 ~", AG: "[g4,c5,e5]@13 ~@3",
AH: "~@6 [a#4,d5,f5]@5 ~ [a4,d5,f5]@3 ~", AI: "~@6 [a4,c5,f5]@5 ~ [c5,e5]@2 ~@2, ~@12 g4 ~@3",
AJ: "[a4,c5,f5]@13 ~@3", AK: "~@6 [a4,c5,f5]@5 ~ [c5,e5]@2 ~@2, ~@12 a4 ~@3",
AL: "[a#4,d5]@3 ~ [g4,b4,d5]@4 ~@8, f4 ~@15", // A# G
})).s("gm_synth_bass_1").gain(0.31)
// chords · pad warm
const pad_warm = note("<~@126 A B@2 ~@35 C@5 D@7 E@8 ~@19 F G@2 H@2 I@2 J@2 K@2 L@2 M@2 N@6 ~@4>".pickRestart({
A: "~@3 [a4,c5,f5]@2 ~ [c5,f5,a5] ~", B: "[[d5,g5,b5]@13 ~@3]/2",
C: "[~@12 [c5,e5,g5]@8 ~@2 [c5,f5,g5]@4 ~@2 [c5,f5,a5]@9 ~ [c5,e5,g5]@4 ~@2 [b4,d5,g5]@8 ~@2 [b4,d5,g5]@4 ~@2 [c5,e5,a5]@13 ~@3 [c5,e5,g5]@4]/5", // C Csus4 F C G Am C
D: "[~@6 [c5,f5,g5]@4 ~@2 [c5,f5,a5]@9 ~ [c5,e5,g5]@4 ~@2 [b4,d5,g5]@9 ~ [b4,d5,g5]@3 ~@3 [c5,e5,a5]@12 ~@4 [d5,f#5,a5]@8 ~@2 [c5,e5,g5]@4 ~@2 [d5,f#5,a5]@9 ~ [c5,e5,g5]@4 ~@2 [d5,f#5,a5]@8 ~@2 [c5,e5,g5]@5 ~ [d5,f#5,a5]@4]/7", // Csus4 F C G Am D C D …
E: "[~@6 [c5,e5,g5]@4 ~@2 [d5,f#5,a5]@45 ~@3 [b4,e5,g#5]@29 ~@3 [c5,f5,a5]@28 ~@8]/8", // C D E F
F: "~@6 [c5,e5,g5]@5 ~ [a4,c5,f5]@3 ~", G: "[[c5,e5,g5]@20 ~@2 [c5,f5,a5]@5 ~ [c5,e5,g5]@2 ~@2]/2",
H: "[[a4,d5,f5]@11 ~ [b4,d5,g5]@9 ~ [b4,e5,g5]@5 ~ [b4,d5,f5]@3 ~, ~@28 e5 ~@3]/2", // Dm G Em Bdim
I: "[[a4,c5,e5]@11 ~ [a4,d5,f5]@9 ~ [a4,c5,f5]@5 ~ [a4,e5]@3 ~, ~@28 c5 ~@3]/2", // Am Dm F A5
J: "[d5@4 c5@3 ~ [f4,a#4,d5]@3 ~ [g4,b4,d5]@9 ~ [c5,e5,g5]@4 ~@2 [a4,c5,f5]@3 ~, a4@3 ~@13]/2", // A# G C F
K: "[[c5,e5,g5]@20 ~@2 [c5,f5,a5]@5 ~ [c5,e5,g5]@2 ~@2, f5 ~@31]/2", // C F C
L: "[[a4,d5,f5]@11 ~ [b4,d5,g5]@9 ~ [b4,e5,g5]@5 ~ [b4,d5,f5]@2 ~@2]/2", // Dm G Em Bdim
M: "[[a4,c5,e5]@11 ~ [a4,d5,f5]@9 ~ [a4,c5,f5]@4 ~@2 [a4,e5]@3 ~]/2", // Am Dm F A5
N: "[d5@4 c5@2 ~@2 [f4,a#4,d5]@3 ~ [g4,b4,d5]@77 ~@7, a4 ~@15]/6", // A# G
})).s("gm_pad_warm").gain(0.64)
// bass · electric bass finger
const bass = note(`<
A@2 B@2 C@2 D@2 E F G H G F G I E J G H K L E M G J G N G J G O P Q R S T U V@2 W X@2 Y Z AA@2 AB AC AD AC AE AF AD AG
AH AI AH AJ AK@4 AL AM AN AO AP AQ AR@2 AS@2 AT AU AV AU AW AX AY AU AZ AU BA BB BC BD BE BF BG BH BI BJ BK BL BM BN
BO BP BQ BR BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG CH CI@2 CJ@2 BL BM BN BO BP BQ BR BK
BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG CH CK CL CM CN CO CN CP CQ CR CS CT@2 CU CV CW@2 CX
CY CZ DA DB DC DD DE DF@2 DG DH DI DJ DK DL DM DN DO DP DI DJ DK DL DM DN DO DQ DR DS DT DU DV DS DW DX DV DS DY DZ
EA@2 EB EC ED@6 ~@2
>`.pickRestart({
A: "[c3@5 c4@11]/2", B: "[c3@9 ~ c4@21 a#2]/2", C: "[c3@9 ~ c4@22]/2", D: "[c3@10 c4@12 ~@2 c4 ~ c4 c4@2 a#3 g3@2]/2",
E: "c3@2 c4@2 c3 c4@3", F: "c3@4 c4@3 f3 g3@2 a#3@2 c4 a#3 g3@2", G: "c3@2 ~ c3 c4@4 c3@2 c4@6",
H: "c3@4 c4@3 f3 g3 ~ g4 ~ f4 e4@3", I: "c3 c4@3", J: "c3@4 c4@3 f3 g3@2 a#3 ~ c4 a#3 g3 ~",
K: "c3@3 ~ c4@4 c3@2 c4@6", L: "c3@4 ~@3 f3 g3@2 a#3 ~ c4 ~ g3@2, ~@4 c4@5 ~@4 a#3@2 ~",
M: "c3@4 c4@3 ~ c4 ~ c4 c4@2 a#3 g3@2", N: "c3@4 c4@3 f3 g3@2 g4 ~@2 e4@2 ~, ~@6 f4 ~", O: "c3 ~@3 c4@10 ~@2",
P: "a2@2 a2!2 a2@2 a3@4 a2@2 ~ a2@2 ~, ~@6 a3 ~", Q: "a2@2 ~ a2 b2@2 a2 b2 c#3@2 d3 e3 f#3 ~ f#3 g3",
R: "a3@4 a2@3 ~ a2 ~ a2 ~ a2@2 a2 ~", S: "g2@2 g2!2 g2@2 g3@4 g2@2 ~ g2 ~@2, ~@6 g3 ~",
T: "g2@2 ~@2 g2@3 ~ g2@2 ~ g2 g2@3 ~", U: "g2@2 ~ g2@4 ~ g2@2 ~ g2 g2@3 ~",
V: "[a2@3 ~ a2@2 ~@2 b2@4 ~@2 b2@4 ~@2 e2@4 ~@2 e2@4 ~@2]/2", W: "f#2@2 ~ f#2@2 ~ g2@2",
X: "[~@2 g2@4 ~@2 a2@2 ~ a2!2 ~ a3@4 a2@2 a3 a2@2 ~ a2@3 ~ a2@2 ~@2]/2", Y: "a2@4 a2@3 ~ a2@2 ~@2 a2@3 ~",
Z: "b2@3 ~@3 b2@4 ~@2 e2@4", AA: "[~ e2@2 ~ f#2@2 ~ f#2@2 ~ g2@2 ~ g2@2 ~]/2", AB: "b2@9 ~ b3@6",
AC: "b2@4 b3@3 e3 f#3@2 a3 ~ b3 a3 f#3@2", AD: "b2@2 ~ b2 b3@4 b2@2 b3@6", AE: "b2@3 b2 b3@4 b2@2 b3@6",
AF: "b2@4 b3@3 e3 f#3@2 a3@2 b3 a3 f#3@2", AG: "b2@4 b3@11 ~", AH: "b2 ~ b2 ~@5 b3@8", AI: "b2 ~ b2@2 ~@4 b2@4 ~@4",
AJ: "b2@7 ~ b2@6 ~@2", AK: "c3 ~ c3!3 ~ c3!3 ~ f3 g3 a#3 c4@2 ~", AL: "b3@2 b2!2 b2@2 b2!2 b2@2 b2!2 b2@2 b2!2",
AM: "a3@2 a2!2 a2@2 a2!2 a2@2 a2!2 a2@2 a2!2", AN: "g3@2 g2!3 ~ g2!2 g2@2 g2!2 g2@2 g2!2",
AO: "f#3@2 f#2!2 f#2@2 f#2!2 f#2@2 f#2!2 f#2@2 f#2!2", AP: "f#2@2 f#2!2 f#2@2 f#2!2 f#2@2 f#2!2 f#2@2 f#2!2",
AQ: "~@2 g2@3 ~ g2@3 ~ g2@3 ~ g2 ~", AR: "[g3@3 ~ g2@2 g3@4 g2@2 c3@10 c4@6 c3@3 ~]/2",
AS: "[c4@12 c3@9 ~ c4@6 c3@4]/2", AT: "c4@3 f3 g3 ~ g4 ~ f4 e4@3 c3@4", AU: "c4@2 c3 c4@3 c3@2",
AV: "c4@3 f3 g3@2 a#3 ~ c4 a#3 g3@2 c3@4", AW: "c4@3 ~ c4 ~ c4@2 ~@2 g3@2 c3@2 ~ c3, ~@9 a#3@2 ~@5",
AX: "c4@4 c3@2 c4@6 c3@3 ~", AY: "c4@3 f3 g3@2 a#3 ~ c4 a#3 g3 ~ c3@2 ~ c3",
AZ: "c4@3 f3 g3 ~ g4 ~ f4 e4@3 c3@2 ~ c3", BA: "c4@3 ~ g3@2 a#3 ~ c4 a#3 g3 ~ c3@4", BB: "c4@4 c3@2 c4@6 c4 ~@3",
BC: "c3@2 ~@3 c3@4 ~ c3@4 ~@2, ~ c4 ~@2", BD: "f2@3 ~ g2@2 ~@2 a#2@3 ~ c3 ~@3", BE: "c4 ~@5 c3 ~@3 f2@6",
BF: "g2@2 ~@2 a#2@3 ~ c3 ~@3 c4@2 ~@2", BG: "c3@2 ~@4 a2 ~@3 e2@4 ~@2", BH: "e2@4 a2 ~@3 a2@2 ~@2 a2@2 ~@2",
BI: "d3@2 ~@4 c3 ~ d3 ~ f3@3 ~@3", BJ: "f2 ~@3 f3@3 ~@3 f2 ~ f2@3 ~", BK: "g2@3 ~@7 c3@3 ~@3",
BL: "f2@3 ~ g2@2 ~@2 c3@2 ~@2 c4@2 ~@2", BM: "c3 ~@2 a2 ~ f2@3", BN: "g2@2 ~@2 a#2@3 ~ c3 ~@3 c4 ~@3",
BO: "c3@2 ~@4 a2 ~@3 e2@5 ~", BP: "e2@2 a2 ~ a2 ~ a2 ~", BQ: "d3@3 ~@3 c3@2 d3@2 f3@3 ~@3",
BR: "f2@2 ~@2 f3@3 ~@3 f2 ~ f2@3 ~", BS: "g2@3 ~@7 d#3@2 ~@2 d#3@2", BT: "f3 ~ f3 ~ g3 ~ g3@2 g#3@2 ~@2 a#3@2 ~@2",
BU: "a#2@3 ~@3 d#3@2 f3@2 a#3@2 ~@2 a#3@2", BV: "g#3@2 g#3@2 g3 ~ g3@2 d#3@3 ~ f3@2 ~@2",
BW: "d#3@3 ~@3 a#2@2 c3@2 d#3@2 ~@2 d#3@2", BX: "d3@2 d3@2 c3@2 ~@2 c3 ~ c3 ~ c3@2 ~@2",
BY: "f3@3 ~@3 d#3@2 f3@2 g#3@2 ~@2 g#3@2", BZ: "a#3@2 ~@2 a#2@2 ~@2 a#2@3 ~ a#2 ~ c3@2",
CA: "d#3@2 ~@2 d#3@7 ~ c3 ~ c3@2", CB: "~@2 c3 ~ c3 d3 g2!2", CC: "~@2 g2@2 g3@4 g2@2 g3@2 a#2 ~ a#2@2",
CD: "~@2 a#2@2 a#3@3 ~ g#2@8", CE: "~@2 g#2@2 g#3@2 g#2@3 ~ g#3@2 g2@2 g2@2", CF: "~@2 g2@2 g3@4 g2@2 g3@2 f2 ~ f2 ~",
CG: "~@2 f2@2 f3@4 f2@2 f3@2 f2 ~ f2@2", CH: "~ f2 f3@2 f2 f3 a#2@2",
CI: "[c3@4 d3@4 a#2@3 ~ c3@10 a#3 c4@4 ~ c4@2 ~@2, ~@28 a#3 ~@3]/2", CJ: "[c4@26 c3@3 ~@3, a#3 ~@31]/2",
CK: "c3@4 d3@4 a#2@3 ~ c4@2 c4@2", CL: "c4@2 c4 ~ c4@2 g3@2 c3@2 g3@2 c4@2 c4 ~",
CM: "c4 ~ c4 ~ c4@2 g3@2 c3@2 g3@2 c4@2 c4 ~", CN: "c4 ~ c4 ~ c4@2 g3@2 c3@2 g3@2 c4 ~ c4 ~",
CO: "c4@2 g3@2 c4@2 g3@2 c4@2 g3@2 c4 ~ c4 ~", CP: "c4 g3 c4 g3 ~ b3 a3 e3, ~@2 c4 ~",
CQ: "a2 ~ a2 ~ a2@2 e3@2 a2@2 e3@2 a3 ~ a3 ~", CR: "a3 g3 a3 g3 ~ b3 c4 g3, ~@2 a3 ~",
CS: "c3 ~ c3 ~ c3@2 g3@2 c3@2 g3@2 c4@2 c4@2",
CT: "[c4@2 g3@2 c4@2 g3@2 c4@2 b3@2 a3@2 ~@2 a2 ~ a2 ~ a2@2 e3@2 a2@2 e3@2 a3@2 a3 ~, ~@14 e3@5 ~@13]/2",
CU: "a3@2 g3@2 a3@2 ~@2 a3@2 b3@2 c3 ~ c3@2, ~@6 g3@5 ~@5", CV: "c3@2 c3 ~ c3 ~ c3 ~ c4@4 c3 ~ c3 ~",
CW: "c3 ~ c3 ~ c3 ~ c3@2 c4@4 c3 ~ c3 ~", CX: "c3 ~ c3 ~ c3 ~ c3@2 c4@4 b3@2 b2 ~",
CY: "b2 ~ b2 ~ b2@2 b3@2 ~@2 b3@2 ~@2 a2@2, ~@2 b2 a3", CZ: "a2 ~ a2 ~ a2@2 a3@2 ~@2 a3@2 g3@2 g2@2, ~@2 a2 ~",
DA: "g2 ~ g2 ~ g2@2 g3@2 ~@2 g3 ~ f#3@2 c#3@2, ~@2 g2 ~", DB: "f#2 ~ f#2 ~ f#2@2 f#3@2 f#2@2 f#3@2 f#2 ~ f#2 ~",
DC: "f#2 ~ f#2 ~ f#2@2 f#3@2 f#2@2 f#3@2 f#2 ~ g2@2", DD: "~@2 g2@2 ~@2 g2@3 ~ g2@2 g3@4",
DE: "g2@2 g3@4 g2 ~ c3@2 ~@2 c3 ~@3", DF: "[c4@18 ~@4 g2@6 g2 ~@3]/2", DG: "c3@2 ~@2 c3@3 ~ g4@2 f4@2 ~@2 e4@2",
DH: "~@2 c4@2 ~@2 c3@3 ~@3 f2@3 ~", DI: "g2 ~ c3 ~ c4 ~ c3 ~", DJ: "~ a2 ~ f2@3 g2 ~",
DK: "a#2@3 ~ c3 ~@3 c4 ~@3 c3@2 ~@2", DL: "~@2 a2 ~@3 e2@5 ~ e2@4", DM: "a2@2 ~@2 a2@2 ~@2 a2@2 ~@2 d3@3 ~",
DN: "~@2 c3@2 d3@2 f3@3 ~@3 f2@2 ~@2", DO: "f3@3 ~@3 f2 ~ f2@3 ~ g2@3 ~", DP: "~@6 c3@3 ~@3 f2@3 ~",
DQ: "~@6 c3@5 ~ c3@4", DR: "c4@4 c3@3 c3", DS: "f3@2 e3@3 ~ c3@6 c3@4", DT: "c4@4 c3@3 ~ c3@8",
DU: "~@2 g2@2 a#2@2 c3@6 c3@3 ~", DV: "c4@4 c3@3 ~ c3@5 ~ c3@2", DW: "c4@7 ~ c3@2 d3@2 e3@2 f3@2",
DX: "g3 c4 ~ c3@3 c3@2", DY: "c4 c3", DZ: "~@2 g2@2 a#2 ~ c3@6 c3 ~@3, ~@3 b2 ~@4",
EA: "[c4@4 c3@3 ~ c3@10 g2@2 a#2@2 c3@6 c3@4]/2", EB: "c4@4 ~ d3 e3 f3, ~@2 c3 ~", EC: "g3@2 c4@13 ~", ED: "c3/6",
})).s("gm_electric_bass_finger").gain(0.64)
// other · lead 1 square
const lead_1_square = note("<~@59 [~@2 a5 g5] [f#5 d5 e5@2] [f#5@2 a5 g5] [f#5 d5 e5 g5] [f#5 d5 a4@2] ~@164>")
.s("gm_lead_1_square").gain(0.5)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@85 A B C D E F G H@2 I C D E J G H@2 I C D E J G K@2 ~@18 L I C D E J G H@2 I C D E J G K@2 ~@83
>`.pickRestart({
// … 114 more lines
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.