0:00/0:00
// Fanfare for the Common Man — Emerson, Lake & Palmer
// 154 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 43, 4/4 at bar 44, 2/4 at bar 67, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 12 "FR.HORN" french horn (copy of ch 11 "BRASS 1" brass section)
// note: Full arrangement: all 209 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(154/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 · "SYN BASS 1"
const bass = note(`<
~@20 A B@5 C D E B C D E B@17 F G H@2 I@2 B@12 J@3 K@6 L@2 M N@2 O@2 P@2 Q R S@2 T@2 U V W X@2 Y@2 Z AA AB@2 AC@101
AD@4 AE
>`.pickRestart({
A: "~@16 c2@3 ~ c2@2 c2@2", B: "~@2 c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@2",
C: "~@2 c2@2 c2@3 ~ c2@2 a#1@4 b1@2 c2@3 ~ c2@2 c2@2", D: "~@2 c2@2 c2@3 ~ c2@2 a#1@3 ~ b1@2 c2@5 ~ f1@2",
E: "~@2 f#1@14 c2@3 ~ c2@2 c2@2", F: "~ c2 c2@2 f1@2 f#1@2 g1@2 a#1@2",
G: "b1@4 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@2",
H: "[~@2 c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 a#1@4 b1@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 a#1@2]/2",
I: "[~@2 b1@2 c2@5 ~ f1@3 ~ f#1@14 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@2]/2",
J: "[~@2 c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 g2@12 a2@12 ~ c2@12 d2@12 ~ c2@3 ~ c2@2]/3",
K: "[c2@3 ~ c2@2 c2@3 ~ c2@2 ~ c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 ~ c2@3 ~ c2@2 g2@12 a2@12 ~ c2@12 d2@12 ~ e2@12 f2@4 ~@2 f2@4 ~@3 f1@3 ~@3 f1@19]/6",
L: "[c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~@2 c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 a#1@4 ~]/2",
M: "b1@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 a#1@3 ~",
N: "[~ b1@2 c2@5 ~ f1@3 ~ f#1@15 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@2]/2",
O: "[~@2 c2@2 ~ c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 ~ c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2]/2",
P: "[c2@3 ~ c2@2 c2@3 ~@2 c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~@2 c2@2 c2@3 ~ c2@2 c2@3 ~]/2",
Q: "c2@2 c2@3 ~ c2@2 c2@3 ~@2 c2@2 c2@3 ~ c2@2 c2@3", R: "~ c2@2 c2@3 ~ c2@2 c2@3 ~@2 c2@2 c2@3 ~ c2@2 c2@2",
S: "[~@2 c2@2 c2@3 ~ c2@2 c2@3 ~@2 c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~@2 c2@2 c2@3 ~ c2@2]/2",
T: "[c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 ~ a#1@3 ~ b1@2 c2@3 ~ c2@2 a#1@3 ~ b1@2 c2@3 ~ c2@2 ~ c2@3 ~]/2",
U: "c2@2 c2@3 ~ c2@2 c2@3 ~ a#1@2 a#1@3 ~ a#1@2 ~ a#1@3",
V: "~ a#1@2 a#1@3 ~ a#1@2 a#1@3 ~ a#1@2 a#1@3 ~ a#1@2 a#1@3", W: "~@2 a#1@2 c2@12 a#1@3 ~ a#1@2 a#1@2",
X: "[~@3 a#1@2 a#1@3 ~ a#1@2 a#1@3 ~ a#1@2 a#1@3 ~ a#1@2 a#1@3 ~@2 a#1@2 a#1@3 ~ a#1@2 a#1@3 ~ a#1@2 g2@3 ~@3]/2",
Y: "[~@7 g1@35 ~@2 b1@3 ~]/2", Z: "b1@2 b1@3 ~@2 b1@2 b1@3 ~ b1@2 b1@3 ~ b1@2 b1@3",
AA: "~ b1@2 b1@3 ~ b1@2 ~ g2@12 e2@2", AB: "[~@11 e2@35 ~@2]/2",
AC: "e1@3 ~ e1@2 e1@3 ~ e1@2 e1@3 ~ e1@2 e1@3 ~ e1@2", AD: "c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2 c2@3 ~ c2@2",
AE: "c2@3 ~@3 c2@2 ~@16",
})).s("gm_synth_bass_1").gain(0.45)
// bass · synth bass 2 · "SYN BASS 2"
const bass_2 = note(`<
~@24 A B C D E B C D E B@17 F G H@4 B@12 I@3 J@6 K@2 L M N O P Q R S T U V W@2 X Y Z AA AB AC@2 AD AE AF@2 AG AH AG AH
AG AI AG AJ AG AK AG AL AG AK AG AK AG AK AG AK AG AK AG AM AG AK AG AN AO AP AO AP AO AP AO AP AO AQ AP AR AO AS AO
AT AO AP AO AU AO AR AV@4 AO AW AO@2 AW AO@2 AT AO AW AO AX AW AK@3 AG@5 AY AG AZ AG BA AG BB BC BD BE BF@2 BG@4 BH@6
BI BJ BK@2 BL BM BN@2 BO
>`.pickRestart({
A: "~@16 c2@3 ~ c2@2 ~@2", B: "~@2 c2@2 c2@3 ~ c2@2 ~@4 c2@2 c2@3 ~ c2@2 ~@2",
C: "~@2 c2@2 c2@3 ~ c2@2 a#1@4 b1@2 c2@3 ~ c2@2 ~@2", D: "~@2 c2@2 c2@3 ~ c2@2 a#1@4 b1@2 c2@5 ~ f1@2",
E: "~@2 f#1@12 ~@2 c2@3 ~ c2@2 ~@2", F: "~ c2 c2@2 f1@2 f#1@2 g1@2 a#1@2",
G: "b1@4 c2@3 ~ c2@2 ~@4 c2@2 c2@3 ~ c2@2 ~@2",
H: "[~@2 c2@2 c2@3 ~ c2@2 ~@4 c2@2 c2@3 ~ c2@2 a#1@4 b1@2 c2@3 ~ c2@2 ~@4 c2@2 c2@3 ~ c2@2 a#1@4 b1@2 c2@5 ~ f1@3 ~ f#1@12 ~@2 c2@3 ~ c2@2 ~@4 c2@2 c2@3 ~ c2@2 ~@2]/4",
I: "[~@2 c2@2 c2@3 ~ c2@2 ~@4 c2@2 g2@12 a2@12 ~ c2@12 d2@12 ~ c2@3 ~ c2@2]/3",
J: "[~@4 c2@2 c2@3 ~ c2@2 ~@5 c2@2 c2@3 ~ c2@2 ~@4 c2@2 c2@3 ~ c2@2 ~@5 c2@2 g2@12 a2@12 ~ c2@12 d2@12 ~ e2@12 f2@4 ~@2 f2@4 ~@3 f1@4 ~@2 f1@8 ~@2 f1@2 a#1@4 ~@3]/6",
K: "[c2@3 ~ c2@2 ~@4 c2@2 c2@3 ~ c2@2 ~@5 c2@2 c2@3 ~ c2@2 ~@4 c2@2 c2@3 ~ c2@2 a#1@4 ~]/2",
L: "b1@2 c2@3 ~ c2@2 ~@4 c2@2 c2@3 ~ c2@2 a#1@4", M: "~ b1@2 c2@5 ~ f1@3 ~ f#1@11",
N: "~@4 c2@3 ~ c2 ~@5 c2 ~ c2@3 ~ c2 ~@3", O: "~@2 c2 ~@2 c2@3 ~ c2 ~@5 c2 ~ c2@3 ~ c2 ~@2",
P: "~@3 c2@2 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~",
Q: "c3 ~ c3 ~ c3 ~ c3 ~@2 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3", R: "~ c3 ~ c3 ~ c3 ~ c3 ~@2 c3 ~ c3 ~ c3@6 c2@3 ~",
S: "c2 ~@5 c2 ~ c2@3 ~@2 c2 ~@5 c2 ~ c2@3", T: "~ c2 ~@5 c2 ~ c2@3 ~@2 c2 ~@5 c2@2 c3 ~",
U: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~@2 c3 ~ c3 ~ c3 ~ c3 ~ c3",
V: "~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~@2 c3 ~ c3 ~ c3 ~ c3 ~",
W: "[c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c2@3 ~ c2@2 ~ a#1@3 ~ b1@2 c2@3 ~ c2@2 a#1@3 ~ b1@2 c2@3 ~ c2@2 ~ c2@3 ~]/2",
X: "c2@2 c2@3 ~ c2@2 c2@3 ~ a#1@2 a#1@3 ~ a#1@2 ~@4", Y: "~ a#1@2 a#1@3 ~ a#1@2 ~@4 a#1@2 a#1@3 ~ a#1@2 ~@3",
Z: "~@2 a#1@2 c2@12 a#1@3 ~ a#1@2 ~@2", AA: "~@3 a#1@2 a#1@3 ~ a#1@2 ~@4 a#1@2 a#1@3 ~ a#1@2 ~",
AB: "~@4 a#1@2 a#1@3 ~ a#1@4 ~@2 a#1@2 g2@3 ~@3", AC: "[~@7 g1@37 b1@3 ~]/2",
AD: "b1@2 ~@5 b1@2 b1@3 ~ b1@2 ~@4 b1@2 b1@3", AE: "~ b1@2 ~@4 b1@2 ~ g2@12 e2@2", AF: "[~@11 e2@37]/2",
AG: "e1@3 ~ e1@2 ~@4 e1@2 e1@3 ~ e1@2 ~@4 e1@2", AH: "e1@3 ~ e1@2 e1@3 ~ e1@2 g1@6 e2@4 ~@2",
AI: "e1@3 ~ e1@2 e1@3 ~ e1@2 g1@6 a1@6", AJ: "e1@2 g1@2 a1@2 b1 ~", AK: "e1@3 ~ e1@2 ~@4 e1@2 g1@6 a1@6",
AL: "e1@3 ~ e1@2 e1@6 g1@6 a1@6", AM: "e1 g1 a1 b1", AN: "e1 b1 d2 e2",
AO: "e2@3 ~ e2@2 ~@4 e2@2 e2@3 ~ e2@2 ~@4 e2@2", AP: "e2@3 ~ e2@2 ~@4 e2@2 e2@3 ~ b1@2 d2@3 ~ e2@2",
AQ: "e2@3 ~ e2@2 ~@4 e2@2 b1@3 ~ d2@2 e2@3 ~@3", AR: "e2@3 ~ e2@2 ~@4 e2@2 e2@6 b1@3 ~ d2@2",
AS: "e2@3 ~ e2@2 ~@4 e2@2 b1@3 ~ d2@2 e2@6", AT: "e2@3 ~ e2@2 b1@3 ~ d2@2 e2@3 ~ e2@2 b1@3 ~ d2@2",
AU: "e2@3 ~ e2@2 ~@4 e2@2 b1@6 b1@6", AV: "e2@6 b1@3 ~ d2@2 e2@6 b1@3 ~ d2@2",
AW: "e2@3 ~ e2@2 ~@4 e2@2 e2@3 ~ e2@2 b1@3 ~ d2@2", AX: "b1@3 ~ d2@2 e2@3 ~@3 e2@3 ~ e2@2 e2@3 ~ e2@2",
AY: "e1@3 ~ e1@2 ~@4 e1@2 g1@3 ~@3 a1@3 ~@3", AZ: "e1@3 ~ e1@2 ~@4 e1@2 g1@3 ~@3 a1@6",
BA: "e1@3 ~ e1@2 ~@4 e1@2 e1@6 g1@6", BB: "e1@3 ~ e1@2 ~@4 e1@2 e1@3 ~ e1@2 g1@3 ~ b1@2",
BC: "e2@3 ~ e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2", BD: "e2@3 ~ e2@2 e2@3 ~ e2@2 e2@6 b1@3 ~ d2@2",
BE: "e2@3 ~ e2@2 ~@4 e2@2 g2@6 a2@3 ~@3", BF: "e2@3 ~ e2@2 ~@4 e2@2 e2@3 ~ e2@2 d2@3 ~ b1@2",
BG: "e2@4 e2@2 ~@4 e2@2 e2@3 ~ e2@2 d2@4 b1@2", BH: "e2@3 ~ e2@2 g2@3 ~ g2@2 e2@6 b1@4 d2@2",
BI: "e2@2 e2 ~@2 e2 e2@2 e2 ~@2 e2", BJ: "e2@2 e2 d2@2 b1 e2@2 e2 d2@2 b1", BK: "e1@2 e1 ~@2 e1 e1@2 e1 ~@2 e1",
BL: "c2@3 ~ c2 ~@5 c2 ~ c2@3 ~ c2 ~@5 c2 ~", BM: "c2@3 ~ c2 ~@5 c2 ~ c2@3 ~ c2 ~@5 c2@2",
BN: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~", BO: "c2 ~ c2 ~@5",
})).s("gm_synth_bass_2").gain(0.4)
// chords · drawbar organ · "ORGAN 1"
const drawbar_organ = note(`<
~@24 A B C D@2 B C E@2 ~@18 F@3 G@2 ~@12 H@3 I@6 J@2 K L@6 M@4 N@3 O@2 P@2 Q@2 R@2 S@2 ~@101 T U V W X
>`.pickRestart({
A: "~@8 [c4,g4,a#4,d#5]@2 [c4,g4,a#4,d#5] ~", B: "~@5 [c4,g4,a#4,d#5]@2 [c4,g4,a#4,d#5] ~@4",
C: "~@4 c4 a#3@2 b3 [c4,g4,a#4,d#5]@2 [c4,g4,a#4,d#5] ~", // Cm7
D: "[~@8 c4@2 a#3@3 ~ b3@2 c4@3 ~@3 [f3,g4,a#4,d#5]@4 [f#4,a4,d5]@14 [c4,g4,a#4,d#5]@4 [c4,g4,a#4,d#5]@2 ~@2, ~@13 f#3@6 ~@5]/2", // D# D Cm7
E: "[~@8 c4@2 a#3@3 ~ b3@2 c4@3 ~@3 [f3,g4,a#4,d#5]@4 [f#4,a4,d5]@14 ~@8, ~@13 f#3@6 ~@5]/2", // D# D
F: "[~@2 [c4,g4,a#4,d#5]@2 [c4,g4,a#4,d#5] ~@6 [c4,d#4,g4,a#4]@2 [c4,d#4,g4,a#4] ~@8 c4 a#3@2 b3 [c4,g4,a#4,d#5]@2 [c4,g4,a#4,d#5] ~@5 c4 a#3]/3", // Cm7
G: "[~@2 b3@2 c4@3 ~@3 [f3,g4,a#4,d#5]@4 [f#4,a4,d5]@14 ~@20, ~@7 f#3@6 ~@11]/2", // D# D
H: "[~@16 [d6,f6,a#6]@12 [c6,f6,a6]@12 ~ [a#5,d6,g6]@12 [a5,c6,f6]@12 ~ [c6,e6,g6]@4 ~@2]/3", // A# F Gm F C
I: "[[c6,e6,g6]@42 ~@2 [d6,f6,a#6]@12 [c6,f6,a6]@12 ~ [a#5,d6,g6]@12 [a5,c6,f6]@12 ~ [a5,c6,e6]@12 [a5,c6,f6]@4 ~@2 [a5,c6,f6]@4 ~@3 [f5,a5]@4 f5@2 g5@2 f5@2 d#5@2 [a4,c5]@4 ~ c5 [g4,a#4]@6 ~, ~@119 [f4,c5]@6 [c4,c5]@6 f4@5 a4@2 ~@6, ~@125 d#5@4 ~@2 f5@2 ~@2 f5@2 d#5@4 ~@3, ~@137 c5 ~@6]/6", // C A# F Gm F Am F Am …
J: "[[c4,g4,a#4,d#5]@4 [c4,g4,a#4,d#5]@2 ~@12 [c4,d#4,g4,a#4]@4 ~ [c4,d#4,g4,a#4]@2 ~@16 c4@2 a#3@4 ~]/2", // Cm7
K: "b3@2 [c4,g4,a#4,d#5]@4 [c4,g4,a#4,d#5]@2 ~@10 c4@2 a#3@3 ~", // Cm7
L: "[~ b3@2 c4@3 ~@3 [f3,g4,a#4,d#5]@4 [f#4,a4,d5]@15 [g4,c5,g5]@25 [a4,c5,f5]@25 [c5,f5,a5]@12 [d5,g5,b5]@12 [c5,f5,a5]@12 ~ [c5,e5,g5]@12 [a4,c5,f5]@12 ~ [g4,c5,e5]@2 ~@2, ~@13 f#3@12 ~@119]/6", // D# D C5 F G F C F …
M: "[~@2 [g4,c5,e5]@42 ~@2 [c5,f5,a5]@12 [d5,g5,b5]@12 ~ [c5,f5,a5]@12 [c5,e5,g5]@12 ~]/4", // C F G F C
N: "[[a4,c5,f5]@12 [g4,c5,e5]@2 ~@5 [g4,c5,e5]@42 ~ [a#4,d#5,f5,a#5]@4 [a#4,d#5,f5]@2 ~@4]/3", // F C A#sus4
O: "[~ [a#4,d#5,f5,a#5]@25 ~@2 [c5,e5,g5]@9 ~@3 [a#4,d#5,f5,a#5]@4 [a#4,d#5,f5]@2 ~@2]/2", // A#sus4 C A#sus4
P: "[~@3 [a#4,d#5,f5,a#5]@25 ~@2 [c5,e5,g5]@10 ~@2 [d5,g5,b5]@2 ~@4]/2", Q: "[~@7 [d5,g5,b5]@37 b4@4]/2",
R: "[[b4,d#5]@2 ~@5 [b4,d#5,f#5]@25 ~@2 [g4,b4,d5]@9 ~@3 [e5,g#5,b5]@2]/2", S: "[~@11 [e5,g#5,b5]@37]/2",
T: "[g4,c5,g5]", U: "[a4,c5,f5]", V: "[c5,f5,a5] [d5,g5,b5]", W: "[c5,f5,a5] [c5,e5,g5]",
X: "[g4,c5,g5] ~ [g4,c5,g5] ~@5", // C5
})).s("gm_drawbar_organ").gain(0.4)
// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
~@24 A B C D E B C D F ~@18 G H@3 I@6 J@5 K@5 L@5 ~ M@2 N O P Q@4 R@4 S ~@113 T U V W ~
>`.pickRestart({
A: "~@8 c3 ~ c3!2", B: "~ c3!2 ~ c3!2 ~ c3!2 ~ c3!2", C: "~ c3!2 ~ c3 a#2@2 b2 c3 ~ c3!2",
D: "~ c3!2 ~ c3 a#2@2 b2 c3 ~@2 g2", E: "~ f#2@6 ~ c3 ~ c3!2", F: "~ f#2@6 ~@5", G: "~@2 c3 ~ c3!2 ~ c3!2 ~ c3!2",
H: "[~@2 c3@2 c3@2 ~@2 c3@2 c3@2 ~@2 c3@2 c3@2 ~@2 c3@2 a#2@4 b2@2 c3@2 ~@2 c3@2 c3@2 ~@2 c3@2 c3@2 ~@2 c3@2 a#2@4 b2@2 c3@2 ~@4 g2@3 ~ f#2@10]/3",
I: "[~@14 g4@35 ~@13 g4@36 ~@2 d4@24 c4@10 ~@2 d4@8, ~@4 g3@46 ~@2 g3@45 ~@47, ~@8 c4@41 ~@7 c4@41 ~@47]/6",
J: "[~@4 a3@12 e3@48 a3@11 ~ c4@11 ~ c4@11 ~ b3@11 ~ e4@8]/5",
K: "[~@4 c4@11 ~ e3@48 g3@12 a3@12 ~ c3@12 d3@12 ~@7]/5",
L: "[~@6 a#3@2 b3@2 c4@2 ~ a#3@2 b3@2 c4@2 a#3@2 b3@2 c4@2 a#3@2 b3@2 c4@2 d#4@6 ~ c4@4 ~@2 g3@12 a3@12 ~ c3@12 d3@10 ~@3 e3@12 f3@4 ~@2 f3@4 ~@4]/5",
M: "[c3@2 ~@2 c3@2 c3@2 ~@2 c3@2 c3@2 ~@2 c3@2 c3@2 ~@3 c3@2 c3@2 ~@2 c3@2 c3@2 ~@2 c3@2 c3@2 ~@2 c3@2 a#2@4 ~]/2",
N: "b2 c3 ~ c3!2 ~ c3!2 ~ c3 a#2@2", O: "~ b2@2 c3@2 ~@4 g2@3 ~ f#2@11",
P: "~@4 c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~",
Q: "[c4 ~ c4 ~@2 c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4@2 [a#3,d#4]@2 [b3,e4]@2 [c4,f4]@7 ~@2 [a3,c4,a4]@11 ~ [b3,d4,b4]@11 ~ [a3,c4,a4]@11 ~@2 [g3,c4,g4]@11 ~ [f3,a3,f4]@11 ~@6]/4", // D#5 E5 F5 Am Bm Am C5 F
R: "[~@8 c4@2 ~ a#3@2 b3@2 c4@2 a#3@2 b3@2 c4@2 a#3@2 b3@2 c4@2 a#3@2 b3@2 c4@2 a#3@2 ~ b3@2 c4@6 [a3,c4,a4]@12 [b3,d4,b4]@12 ~ [a3,c4,a4]@12 [g3,c4,g4]@12 ~]/4", // Am Bm Am C5
S: "[f3,c4,f4] ~", T: "c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4 ~",
U: "c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ c4@2 [a#3,d#4]@2 [b3,e4]@2 [c4,f4]@7 ~", V: "[a3,c4,a4]@11 ~ [b3,d4,b4]@11 ~",
W: "[a3,c4,a4]@11 ~ [g3,c4,g4]@11 ~", // Am C5
})).s("gm_overdriven_guitar").gain(0.35)
// chords · lead 8 bass lead · "BASS&LEAD"
const lead_8_bass_lead = note(`<
~@32 A B@8 C@5 D@2 E@3 ~@4 F@3 G H I@6 J@5 K@5 ~@5 L M@4 N@4 O@3 P@2 Q@2 R@2 S@4 ~@101 T U V W X
>`.pickRestart({
A: "~@16 [e4,g4]@4 [e4,g4,c5] ~@3", // Em C
B: "[~@2 [c5,e5,g5]@30 [e4,g4,c5]@4 [c5,e5,g5]@4 [a4,c5,f5]@46 ~@2 [c5,f5,a5]@11 ~ [a4,c5,f5]@11 ~ [f4,a4,c5]@11 ~ [c4,e4,g4]@48 c5@10 ~@2 a4@8]/8", // C F C
C: "[~@4 d5@10 ~@2 g4@10 ~@2 b4@10 ~@2 g4@10 ~@2 g4@48 [c4,f4]@4 [c4,f4,a4] ~@5 [f4,a4,c5]@10]/5", // F5 F
D: "[[f4,a4,c5] ~ [a4,c5,e5] ~ [c5,e5,g5]@22 ~@2 [c4,f4]@4 [c4,f4,a4] ~@5 [f4,a4,c5]@10]/2", // F Am C F5 F
E: "[[f4,a4,c5] ~ [a4,c5,e5] ~ [c5,e5,g5]@10 ~@2 [g4,c5,e5]@4 ~@2 [c4,e4,g4]@4 ~@2 [e3,g3,c4]@24 ~@20]/3", // F Am C
F: "[~@4 g3@3 ~ [g3,c4]@2 ~@4 [g3,c4,g4]@36 ~@2 [g3,c4]@3 ~ [g3,c4,e4]@3 ~ [c4,e4,g4]@3 ~ [e4,g4,c5]@3 ~ [g4,c5,e5]@3 ~]/3", // C5 C
G: "[c5,e5,g5]@20 [e4,g4,c5]@3 ~", H: "[c5,e5,g5]@3 ~ [a4,c5,f5]@20",
I: "[~@4 [c5,f5,a5]@12 [a4,c5,f5]@12 [f4,a4,c5]@12 [c4,e4,g4]@48 [c5,f5,a5]@11 ~ [f5,a5,c6]@11 ~ [f5,a5,c6]@11 ~ [e5,g5,b5]@11 ~ [b4,e5,g5]@8]/6", // F C F Em
J: "[~@4 [g4,c5,e5]@10 ~@2 [g3,c4,g4]@48 [a#4,d5,f5]@12 [a4,c5,f5]@12 ~ [g4,a#4,d5]@12 [f4,a4,c5]@12 ~ [g4,c5,e5]@2 ~@4]/5", // C C5 A# F Gm F C
K: "[[g4,c5,e5]@41 ~@3 [a#4,d5,f5]@12 [a4,c5,f5]@12 ~ [g4,a#4,d5]@12 [f4,a4,c5]@12 ~ [e4,a4,c5]@12 [f4,a4,c5]@4 ~@2 [f4,a4,c5]@4 ~@4]/5", // C A# F Gm F Am F
L: "~@2 g3 c4 g4 ~ g4 c5 g5 ~@3", M: "[c5@2 g5@2 ~ f5@23 ~@2 a5@12 b5@12 a5@12 ~ g5@12 f5@12 ~ e5@2 ~@2]/4",
N: "[~@2 e5@41 ~@3 a5@12 b5@12 ~ a5@12 g5@12 ~]/4", O: "[f5@12 e5@2 ~@5 e5@41 ~@2 a#5@4 f5@2 ~@4]/3",
P: "[~ a#5@27 g5@10 ~@2 a#5@4 f5@2 ~@2]/2", Q: "[~@3 a#5@27 g5@12 b5@4 ~@2]/2", R: "[~@7 b5@37 b4@2 ~@2]/2",
S: "[d#5@2 ~@5 f#5@27 d5@12 b5@4 ~@9 b5@37]/4", T: "g3 c4 g4 ~ g4 c5 g5 ~@3 c5 g5", U: "f5@11 ~", V: "a5 b5",
W: "a5 g5", X: "[c5,c6]@2 ~@4 [c5,c6]@3 ~@15",
})).s("gm_lead_8_bass_lead").gain(0.4)
// chords · lead 8 bass lead · "BASS&LEAD"
const lead_8_bass_lead_2 = note("<~@179 A B C ~ A B C ~@10 A B C ~ A B C ~@6>".pickRestart({
A: "[c4,d5] [d4,e5]", B: "[d#4,f5] [f4,g5]", C: "[d4,e5]@2 [d4,e5] ~@9",
})).s("gm_lead_8_bass_lead").gain(0.4)
// chords · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note("<~@179 A B C ~ D B C ~@10 D B C ~ D B C ~@6>".pickRestart({
A: "[c4,f#4,a4,d5]@11 ~ [d4,g#4,b4,e5]@11 ~", B: "[d#4,a4,c5,f5]@11 ~ [f4,b4,d5,g5]@11 ~",
C: "[d4,g#4,b4,e5]@2 [d4,g#4,b4,e5] ~@9", D: "[c4,f#4,a4,d5]@11 ~ [d4,g#4,b4,e5]@12",
})).s("gm_synth_brass_1").gain(0.4)
// other · timpani
const timpani = note("<~@16 A B C D E ~@35 F G ~@5 H ~@4 H ~@140>".pickRestart({
A: "~@11 c3 ~@3 c3 ~ c3!2 ~ c3 ~ c3 ~", B: "c3 ~ a2!2 ~ a2 ~ a2 ~ c3 ~@2 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 a2",
C: "~ a2 ~ a2 ~ a2 ~ c3!17", D: "c3!11 a2!13", E: "a2!16 c3 ~@7", F: "~@16 c3 ~@3 c3 ~@3", G: "c3 ~@23",
H: "~@4 c3 ~@3 c3 ~@3 c3 ~@11",
})).s("gm_timpani").gain(0.3)
// other · brass section · "BRASS 1"
const brass_section = note(`<
A B@2 C@6 D@3 E@2 F@3 ~@15 G H@8 I@5 J@2 K@3 ~@4 L@3 M N O@6 P@5 Q R@4 ~@5 S T U@3 V@4 W@3 X@2 Y@2 Z@2 AA@4 ~@101 AB
AC AD AE AF
>`.pickRestart({
A: "~@16 g4 ~@4 d5 ~@2", B: "[~ g5@39 ~@3 c5 ~@4]/2", C: "[g5@2 ~@2 f5@38 ~@2 a5@15 f5@15 ~ c5@15 g4@50 ~@3 f4]/6",
D: "[~@4 a4@2 ~@3 c5@22 ~@5 c5@2 ~@2 e5@2 ~@3 g5@26 ~]/3", E: "[~@6 f4@2 ~@3 a4@2 ~@3 c5@26 ~@6]/2",
F: "[~@2 e5@4 ~@6 g4@5 ~@4 c4@34 ~@17]/3", G: "~@8 g4@2 c5 ~",
H: "[~@2 g5@28 ~@2 c5@4 g5@4 f5@44 ~@4 a5@11 ~ f5@11 ~ c5@11 ~ g4@47 ~ a5@11 ~ c6@8]/8",
I: "[~@4 c6@11 ~ b5@11 ~ g5@11 ~ e5@11 ~ g4@46 ~@2 f4@4 a4@2 ~@4 c5@9 ~]/5", J: "[c5 e5 g5@11 ~ f4@2 a4 ~@2 c5@5]/2",
K: "[c5@2 e5@2 g5@11 ~ e5@4 ~@2 g4@4 ~@2 c4@22 ~@22]/3", L: "[~@2 g3@2 c4 ~@2 g4@18 ~ g3@2 c4@2 g4@2 c5@2 e5@2]/3",
M: "g5@5 c5", N: "g5 f5@5", O: "[~@4 a5@11 ~ f5@11 ~ c5@11 ~ g4@46 ~@2 a5@11 ~ c6@11 ~ c6@11 ~ b5@11 ~ g5@8]/6",
P: "[~@4 e5@10 ~@2 g4@46 ~@2 a#5@12 a5@12 ~ g5@12 f5@12 ~ g5@2 ~@4]/5", Q: "g5@19 ~@5",
R: "[~@20 a#5@12 a5@12 ~ g5@12 f5@12 ~ e5@12 f5@4 ~@2 f5@4 ~@4]/4", S: "~@2 g3 c4 g4 ~ g4 c5 g5 ~@2 c5",
T: "g5 f5@11", U: "[~@6 a5@12 b5@12 a5@12 ~ g5@12 f5@12 ~ e5@2 ~@2]/3",
V: "[~@2 e5@40 ~@4 a5@12 b5@12 ~ a5@12 g5@12 ~]/4", W: "[f5@12 e5@2 ~@5 e5@40 ~@3 a#5@4 f5@2 ~@4]/3",
X: "[~ a#5@25 ~@2 g5@10 ~@2 a#5@4 f5@2 ~@2]/2", Y: "[~@3 a#5@25 ~@2 g5@12 b5@4 ~@2]/2", Z: "[~@7 b5@36 ~ b4@2 ~@2]/2",
AA: "[d#5@2 ~@5 f#5@25 ~@2 d5@12 b5@4 ~@9 b5@36 ~]/4", AB: "g3 c4 g4 ~ g4 c5 g5 ~@3 c5 g5", AC: "f5@11 ~",
AD: "a5@11 ~ b5@11 ~", AE: "a5@11 ~ g5@11 ~", AF: "[c5,c6] ~ [c5,c6] ~@5",
})).s("gm_brass_section").gain(0.5)
// other · synth brass 1 · "SYNBRASS 1"
const synth_brass_1_2 = note(`<
~@32 A B@8 C@5 D E F@3 ~@6 G H I J K@5 L@5 M N@4 ~@5 O P Q@3 R@4 S@3 T@2 U@2 V@2 W@4 ~@101 X Y Z AA AB
>`.pickRestart({
A: "~@8 g3@2 c4 ~", B: "[~@2 g4@29 ~ c4@4 g4@4 f4@45 ~@3 a4@11 ~ f4@11 ~ c4@11 ~ g3@47 ~ a4@11 ~ c5@8]/8",
C: "[~@4 c5@11 ~ b4@11 ~ g4@11 ~ e4@11 ~ g3@47 ~ f3@4 a3@2 ~@4 c4@9 ~]/5", D: "c4 e4 g4@10",
E: "~@2 f3@2 a3 ~@2 c4@5", F: "[c4@2 e4@2 g4@11 ~ e4@4 ~@2 c4@4 ~@2 c3@23 ~@21]/3", G: "~@16 c4@3 ~ e4@3 ~",
// … 105 more lines
More by Emerson, Lake & Palmer
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.