0:00/0:00
// I Believe in Father Christmas — Emerson, Lake & Palmer
// 115 bpm, 4/4, key D 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 11, 4/4 at bar 12, 2/4 at bar 37, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: ch 2 "Guitar-1" named as a guitar, played on electric guitar clean (its vibraphone patch is not one); ch 3 "Guitar-2" named as a guitar, played on electric guitar clean (its glockenspiel patch is not one); ch 4 "Guitar-3" named as a guitar, played on electric guitar clean (its music box patch is not one); ch 5 "Guitar-4" named as a guitar, played on electric guitar clean (its tubular bells patch is not one)
// note: duplicate parts dropped: ch 11 "MiniMoog" lead 2 sawtooth (copy of ch 12 "MiniMoog*" synth bass 1)
// note: Full arrangement: all 95 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Guitar-4.
setcpm(115/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 · church organ · "Lake"
const church_organ = note(`<
~@10 A@2 B@4 C@4 D E@5 ~@10 F G F H F G F H I J K L M N O@2 ~@9 P@7 Q@2 R@2 S@2 T U V@2 ~@17
>`.pickRestart({
A: "[~@21 [g5,b5]@4 [f#5,a5]@11 ~ f#5@2 e5@2 d5@4 [d5,e5]@8 [d4,d5]@4 [d5,e5]@7, ~@21 d5@15 ~ d5@4 ~@23]/2", // G F#m Dsus2 D Dsus2
B: "[~ [d5,f#5]@11 ~@9 [g5,b5]@4 [f#5,a5]@11 ~ f#5@2 e5@2 d5@4 [d5,e5]@8 [d4,d5]@4 [d4,d5]@15 ~@13 [g5,b5]@4 [f#5,a5]@11 ~ f#5@2 e5@2 d5@4 [d5,e5]@8 [d4,d5]@4 [d5,e5]@7, ~@21 d5@15 ~ d5@4 ~@44 d5@15 ~ d5@4 ~@23]/4", // D G F#m Dsus2 D G F#m Dsus2 …
C: "[~ [d5,f#5]@11 ~@9 [g5,b5]@4 [f#5,a5]@11 ~ f#5@2 e5@2 d5@4 [d5,e5]@8 [d4,d5]@4 [d4,d5]@15 ~@13 [a5,c6]@4 [a5,c6]@4 [g5,b5]@6 [f#5,a5]@6 [e5,g5]@4 [f#5,a5]@8 [f#5,a5]@4 [e5,g5]@7, ~@21 d5@15 ~ d5@4 ~@87]/4", // D G F#m Dsus2 D Am G F#m …
D: "~ [d5,a5]@6 ~@6 [a5,c6]@6 [a5,c6]@6 [g5,b5]@7", // D5 Am G
E: "[~ [d5,g5]@6 [g5,a5]@6 [f#5,a5]@4 [e5,g5]@4 [d5,a5]@4 [d5,a5]@16 ~@4 [a5,d6]@7 ~ [a5,d6]@2 [a5,d6]@6 [a5,c#6]@7 ~ [d5,a5]@2 [d5,b5]@6 [g5,b5]@4 [f#5,a5]@4 g5@2 a5@6 [d5,a5]@7 ~@5 [d5,e5]@4 [d5,f#5]@8 f#5@2 f#5@6 [a4,e5]@6 d5@2 [b3,b4]@4 [d4,d5]@19 ~@4, ~@85 e5@7 ~@25 d5@7 ~@36]/5", // G5 Gsus2 F#m Em D5 A D5 G …
F: "~@8 [g5,b5]@4 [f#5,a5]@11 ~ f#5@2 e5@2 d5@4, ~@8 d5@15 ~ d5@4 ~@4", // G F#m
G: "[d5,e5]@8 [d4,d5]@4 [d5,e5]@8 [d5,f#5]@11 ~", H: "[d5,e5]@8 [d4,d5]@4 [d4,d5]@15 ~@5",
I: "~@3 d5 [a5,c6] [a5,c6]@3 [g5,b5]@3 [f#5,a5]@3 [e5,g5]@2", // Am G F#m Em
J: "[f#5,a5]@4 [f#5,a5]@2 [e5,g5]@4 [d5,a5]@4 [d5,a5]!2", // F#m Em D5
K: "[a5,c6]@5 [a5,c6]@5 ~ [a5,c6]@5 [g5,b5]@7 ~ [d5,g5]@2 [g5,a5]@6", // Am G G5 Gsus2
L: "[f#5,a5]@2 [e5,g5]@2 [d5,a5]@2 [d5,a5]@4 ~@4 [d5,a5]!2", // F#m Em D5
M: "[a5,d6]@7 ~ [a5,d6]@2 [a5,d6]@6 [a5,c#6]@7 ~ [d5,a5]@6 a5@2", // D5 A D5
N: "[g5,b5]@4 [f#5,a5]@4 g5@2 a5@6 [d5,a5]@7 ~@5 [d5,e5]@4, ~@8 e5@7 ~@17", // G F#m D5 Dsus2
O: "[[d5,f#5]@8 f#5@2 f#5@6 e5@4 d5@4 [c4,c5]@4 [d4,d5]@19 ~@17, ~@8 d5@7 ~ a4@8 ~@40]/2", // D C D
P: "[~@24 [g5,b5]@4 [f#5,a5]@8 f#5@2 e5@6 d5@4 [d5,e5]@6 [d4,d5]@6 [d5,e5]@8 [a4,f#5]@12 ~@8 [g5,b5]@4 [f#5,a5]@8 f#5@2 e5@6 d5@4 [d5,e5]@8 [d4,d5]@4 [d4,d5]@15 ~@13 [g5,b5]@4 [f#5,a5]@11 ~ f#5@2 e5@2 d5@4 [d5,e5]@8 [d4,d5]@4 [d5,e5]@8 [d5,f#5]@11 ~@5 [g5,b5]@8 [f#5,a5]@4, ~@24 d5@11 ~ d5@8 ~@44 d5@11 ~ d5@8 ~@44 d5@15 ~ d5@4 ~@40 d5@11 ~]/7", // G F#m Dsus2 D Dsus2 D G F#m …
Q: "[a5@4 a5@4 f#5@2 e5@2 d5@4 [d5,e5]@8 [d4,d5]@4 [d4,d5]@15 ~@13 [g5,c6]@6 ~@2, ~@2 d5 ~@13]/2", // Dsus2 D C5
R: "[[g5,b5]@3 [f#5,a5]@3 g5 a5 [f#5,a5]@4 [f#5,a5]@2 [e5,g5]@4 [d5,a5]@4 ~@6 [g5,c6]@3 ~, ~@3 e5 ~@12]/2", // G F#m Em D5 C5
S: "[[g5,b5]@6 [f#5,a5]@6 g5@2 a5@2 [f#5,a5]@8 [e5,g5]@4 [d5,a5]@12 ~@4 d6@2 d6@2 d6@4 ~ d6@5 ~ d6@4 ~, ~@12 e5@4 ~@28 a5@4 a5@13 ~@3]/2", // G F#m Em D5
T: "[a5,c#6]@7 ~ [d5,a5]@7 ~ [g5,b5]@4 [f#5,a5]@4 g5@2 a5@6, ~@24 e5@7 ~", // A D5 G F#m
U: "[d5,a5]@7 ~@5 [d5,e5]@4 f#5@4 ~ f#5@4 ~@2 f#5@4 ~, ~@16 d5@13 ~@3", // D5 Dsus2
V: "[e5@2 d5@2 [c4,c5] [d4,d5]@3 d5@11 ~@13, a4@8 ~@8 d4@19 ~@29]/2", // C D
})).s("gm_church_organ").gain(0.25)
// other · electric guitar clean · "Guitar-2"
const electric_guitar_clean = note(`<
A B C D E D F D G@8 H@8 I@2 J@7 K@3 L M L N L M L N O P O Q R L S T U V L W L W L X Y Z S AA AB AA S AA AB AC AD AE AF
AG AH AI M AJ AK AH S AL S AL S AM AN ~@8
>`.pickRestart({
A: "~@27 d5@5", B: "~@3 e5@2 d5@5 ~ c#5@6 ~@2 d5@2 c#5@5 ~ b4@5", C: "~@3 c#5@2 b4@5 ~ a4@6 ~@2 b4@2 a4@5 ~ g4@5",
D: "~@3 a4@2 g4@5 ~ f#4@6 ~@2 g4@2 f#4@5 ~ e4@5", E: "~@3 e4@6 ~@2 e4@6 ~@2 e4@6 ~@2 g4@5",
F: "~@3 e4@6 ~@2 f#4 ~ e4@9 ~@5 g4@5",
G: "[~@3 e4@6 ~@2 f#4 ~ e4@9 ~@5 f#4@2 e4@9 ~@5 f#4@2 e4@10 ~@4 f#4@2 ~ e4@10 ~@5 g4@6 ~@2 g4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 e4@6 ~@2 e4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 g4@6 ~@2 g4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 e4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 g4@6 ~@2 g4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 e4@6 ~@2 e4@6 ~@2 f#4@3]/8",
H: "[~@5 f#4@6 ~@2 g4@6 ~@2 g4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 e4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 g4@8 g4@8 g4@8 g4@8 f#4@8 f#4@8 e4@8 f#4@8 g4@8 g4@8 g4@8 g4@8 f#4@8 e4@8 f#4@8 f#4@8 a4@6 ~@2 a4@6 ~@2 a4@6 ~@2 a4@6 ~@2 g4@6 ~@2 g4@6 ~@2 f#4@3]/8",
I: "[~@5 f#4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 e4@6 ~@2 e4@6 ~@2 f#4@6 ~@2 f#4@6 ~@5]/2",
J: "[~@13 d5@6 ~@2 d5@6 ~@2 c#5@6 ~@2 c#5@6 ~@2 b4@6 ~@2 b4@6 ~@2 a4@6 ~@2 a4@6 ~@2 g4@6 ~@2 g4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 e4@6 ~@2 e4@6 ~@2 e4@6 ~@2 e4@6 ~@2 g4@6 ~@2 g4@6 ~@2 f#4@6 ~@2 f#4@6 ~@2 e4@6 ~@2 e4@6 ~@2 e4@6 ~@2 e4@6 ~@2 g4@6 ~@2 g4@6 ~@2 f#4@3]/7",
K: "[~@5 f#4@6 ~@2 e4@6 ~@2 e4@6 ~@2 f#4@2 e4@9 ~@5 f#4 ~ e4@9 ~@5 f#4@2 e4@10 ~@5 f#4@2 e4@10 ~@6]/3",
L: "g4@3 ~ g4@3 ~ f#4@3 ~ f#4@3 ~", M: "e4@3 ~ e4@3 ~ f#4@3 ~ f#4@3 ~", N: "e4@3 ~ f#4@3 ~ f#4@3 ~ f#4@3 ~",
O: "g4!4", P: "f#4!2 e4 f#4", Q: "f#4 e4 f#4!2", R: "a4@3 ~ a4@3 ~ a4@3 ~ a4@3 ~", S: "f#4@3 ~ f#4@3 ~ e4@3 ~ e4@3 ~",
T: "f#4@3 ~ f#4@3 ~@9", U: "d5@3 ~ d5@3 ~ c#5@3 ~ c#5@3 ~", V: "b4@3 ~ b4@3 ~ a4@3 ~ a4@3 ~",
W: "e4@3 ~ e4@3 ~ e4@3 ~ e4@3 ~", X: "e4@6 ~@2 e4@6 ~@2 f#4@2 e4@9 ~@5", Y: "f#4@2 e4@9 ~@5 f#4 ~ e4@9 ~@5",
Z: "f#4@2 e4@9 ~@5 g4@6 ~@2 g4@6 ~@2", AA: "f#4@3 ~ f#4@3 ~ g4@3 ~ g4@3 ~", AB: "f#4@3 ~ f#4@3 ~ e4@3 ~ f#4@3 ~",
AC: "f#4@3 ~ f#4@3 ~ g4@4 g4@4", AD: "g4!2 f#4!2", AE: "e4 f#4 g4!2", AF: "g4!2 f#4 e4",
AG: "f#4@4 f#4@4 a4@3 ~ a4@3 ~", AH: "a4@3 ~ a4@3 ~ g4@3 ~ g4@3 ~", AI: "f#4@3 ~ f#4@3 ~ f#4@3 ~ f#4@3 ~",
AJ: "~@8 d5@3 ~ d5@3 ~", AK: "c#5@3 ~ c#5@3 ~ b4@3 ~ b4@3 ~", AL: "e4@3 ~ e4@3 ~ g4@3 ~ g4@3 ~",
AM: "f#4@2 e4@9 ~@5 f#4@2 e4@9 ~@5", AN: "f#4@2 e4@10 ~@5 f#4@2 e4@10 ~@3",
})).s("gm_electric_guitar_clean").gain(0.3)
// other · electric guitar clean · "Guitar-3"
const electric_guitar_clean_2 = note(`<
A@2 B@8 C D E F@12 G@2 D E F@3 H F I J K@2 L@8 M@6 N@6 O@2 P Q R S@8 T@6 U R V@7 W ~@8
>`.pickRestart({
A: "[~@31 d4@6 ~@2 d4@6 ~@2 d4@6 ~@2 d4@7 ~ d4]/2",
B: "[~@7 d4@6 ~@2 d4@6 ~@2 d4@7 ~ d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@4 d3@8 ~@4 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@4 d3@8 ~@4 d4@4 d3@8 ~@4 d4@4 d3@8 ~@5]/8",
C: "d4@4 d3@9 ~@4 d4@6 ~@2 d4@6 ~", D: "~ d4@6 ~@2 d4@7 ~ d4@6 ~@2 d4@6 ~", E: "~ d4@6 ~@2 d4@7 ~ d4@8 d4@7",
F: "~ d4@8 d4@8 d4@8 d4@7", G: "[~ d4@8 d4@8 d4@8 d4@4 d3@16 ~@4 d4@6 ~@2 d4@6 ~]/2", H: "~ d4@4 d3@8 ~@4 d4@8 d4@7",
I: "~ d4@4 d3@8 ~@4 d4@4 d3@8 ~@3", J: "~ d4@4 ~ d3@8 ~@4 d4@4 ~ d3@9",
K: "[~@4 d4@6 ~@2 d4@6 ~@2 d4@6 ~@2 d4@7 ~ d4@6 ~@2 d4@6 ~@2 d4@6 ~@2 d4@4]/2",
L: "[~ d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4]/8",
M: "[~ d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4 d3@4]/6",
N: "[~@4 d4@6 ~@2 d4@6 ~@2 d4@6 ~@2 d4@7 ~ d4@6 ~@2 d4@6 ~@2 d4@6 ~@2 d4@7 ~ d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@4 d3@8]/6",
O: "[~ d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4 d3@2]/2", P: "~ d4 d3@2 ~ d4 d3@2", Q: "~@2 d4@2 d3@4 ~@2 d4@3 ~ d4@2",
R: "~@4 d4@6 ~@2 d4@7 ~ d4@6 ~@2 d4@4",
S: "[~@4 d4@6 ~@2 d4@7 ~ d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@4]/8",
T: "[~ d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4]/6",
U: "d3@8 ~@2 d4@3 ~ d4@2",
V: "[~@4 d4@6 ~@2 d4@7 ~ d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@4 d3@8 ~@4 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@4 d3@8 ~@4 d4@4 d3@8]/7",
W: "~@4 d4@4 d3@8 ~@5 d4@4 d3@7",
})).s("gm_electric_guitar_clean").gain(0.35).pan(0.4)
// other · electric guitar clean · "Guitar-4"
const electric_guitar_clean_3 = note("<~@30 [~@5 a4@6 ~@21] ~@24 [~@12 a4@3 ~] ~@25 [~@4 a4@3 ~@9] ~@13>")
.s("gm_electric_guitar_clean").gain(0.3).pan(0.3)
// other · guitar harmonics · "Gt.Harmonics"
const guitar_harmonics = note("<~@41 A B ~@17 C@2 ~@33>".pickRestart({
A: "~@5 d4 a3 f#4", B: "a4 ~", C: "[~@2 f#4 d4@3 f#4 d4@3 f#4 d4@3 ~@2]/2",
})).s("gm_guitar_harmonics").gain(0.5).pan(0.7)
// other · electric guitar jazz · "Guitar-5"
const electric_guitar_jazz = note("<~@51 A B C D E F G H I ~@17 J@3 K@2 L M N@2 ~@9>".pickRestart({
A: "~@20 f#3@3 ~ g3@3 ~ f#3@3 ~", B: "a3@19 ~ f#3@3 ~ g3@3 ~ f#3@3 ~", C: "a3@19 ~ f#4@3 ~ g4@3 ~ f#4@3 ~",
D: "a4@6 ~@2 g4@3 ~ f#4@3 ~ e4@6 ~@2 d4@3 ~ c#4@3 ~", E: "a3@19 ~@5 g3@3 ~ f#3@3 ~", F: "e3@7 ~ b3@7 ~ a3@7 ~ g3@7 ~",
G: "a3@5 ~ g3@2 f#3@5 ~ g3@2 a3@7 ~ d4@3 ~ b3@3 ~", H: "g3@7 ~ f#3@3 ~ g3@3 ~ a3@7 ~ a3@7 ~", I: "d3@27 ~@5",
J: "[~@4 f#3@3 ~ g3@3 ~ f#3@3 ~ a3@19 ~ f#3@3 ~ g3@3 ~ f#3@3 ~ a3@19 ~ f#4@3 ~ g4@3 ~ f#4@3 ~ a4@6 ~@2 g4@3 ~ f#4@3 ~]/3",
K: "[e4@6 ~@2 d4@3 ~ c#4@3 ~ a3@19 ~@5 g3@3 ~ f#3@3 ~ e3@7 ~ b3@7 ~]/2", L: "a3@7 ~ g3@7 ~ a3@5 ~ g3@2 f#3@5 ~ g3@2",
M: "a3@7 ~ d4@3 ~ b3@3 ~ g3@7 ~ f#3@3 ~ g3@3 ~", N: "[a3@7 ~ a3@7 ~ d3@27 ~@21]/2",
})).s("gm_electric_guitar_jazz").gain(0.45)
// other · pad poly · "GX1"
const pad_poly = note("<~@26 A@4 B@5 ~@16 C D E F G H I J K ~@5 L@5 ~@2 M N O P Q R S T U@2 V W X@2 ~@9>".pickRestart({
A: "[~@9 a4@3 ~ d5@3 ~ c#5@3 ~ b4@3 ~ c#5@3 ~ d5@7 ~ b4@7 ~ a4@7 ~ b4@7 ~ f#4@7 ~ a4@7 ~ b4@3 ~ a4@3 ~ g4@7 ~ d5@7 ~ c#5@2 d5@5 ~ a4@19]/4",
B: "[~@5 g4@3 ~ f#4@3 ~ e4@7 ~ b4@7 ~ a4@7 ~ g4@7 ~ a4@5 ~ g4@2 f#4@5 ~ g4@2 a4@7 ~ d5@3 ~ b4@3 ~ g4@7 ~ f#4@3 ~ g4@3 ~ a4@7 ~ a4@7 ~ d4@27 ~@24]/5",
C: "~@28 a4@3 ~", D: "d5@3 ~ c#5@3 ~ b4@3 ~ c#5@3 ~ d5@7 ~ b4@7 ~", E: "a4@7 ~ b4@7 ~ f#4@7 ~ a4@7 ~",
F: "b4@3 ~ a4@3 ~ g4@7 ~ d5@7 ~ c#5@2 d5@5 ~", G: "a4@20 ~@4 g4@3 ~ f#4@3 ~", H: "e4@7 ~ b4@7 ~ a4@7 ~ g4@7 ~",
I: "a4@5 ~ g4@2 f#4@5 ~ g4@2 a4@7 ~ d5@3 ~ b4@3 ~", J: "g4@7 ~ f#4@3 ~ g4@3 ~ a4@7 ~ a4@7 ~", K: "d4@27 ~@5",
L: "[~@12 d5@2 d5 ~@13 d5@2 ~@2 d5@2 ~@2 d5@2 ~@2 d5@2 ~@2 c#5@2 ~@2 a4@6 ~@2 b4 ~ g4@5 ~ a4@10 ~@2 d5@2 ~@14 d5@2 ~@2 d5@2 ~@2 d5@2 ~@2 d5@2 ~@2 c#5@2 ~@2 a4@6 ~@2 b4 ~ g4@5 ~ a4@10 ~@22, ~ [d4,a4]@2 d4@2 [d4,a4]@2 d4@2 ~]/5", // D5
M: "~@20 a4 ~ a4 ~ g4@5 ~ e5 ~", N: "~@4 a5 ~ b5 ~ a5@8 ~@4 [d5,f#5] ~ [e5,g5] ~ [d5,f#5]@8, d5 ~",
O: "~@4 [c#5,e5] ~ [b4,d5] ~ [c#5,e5]@8 ~@4 [b4,d5] ~ [a4,c#5] ~ [b4,d5]@8", // C#m Bm C#m Bm A Bm
P: "~@4 [a4,c#5] ~ [g4,b4] ~ [a4,c#5]@8 ~@4 [d5,f#5] ~ [e5,g5] ~ [d5,f#5]@8", // A G A D Em D
Q: "~@4 [d5,e5] ~ [e5,g5] ~ [e5,a5]@8 ~@4 [d5,f#5] ~ [e5,g5] ~ [d5,a5]@3 ~ [a4,d5]@3 ~", // Dsus2 Em A5 D Em D5
R: "~@4 a5 ~ g5 ~ a5 ~ b5 ~ a5 ~@3 d6@3 ~ c#6@3 ~ b5@3 ~ c#6@3 ~, [a4,d5] ~", S: "d6@7 ~ b5@7 ~ a5@7 ~ b5@7 ~",
T: "f#5@7 ~ a5@7 ~ b5@3 ~ a5@3 ~ g5@7 ~", U: "[d6@7 ~ c#6@2 d6@5 ~ a5@20 ~@4 g5@3 ~ f#5@3 ~ e5@7 ~ b5@7 ~]/2",
V: "a5@7 ~ g5@7 ~ a5@5 ~ g5@2 f#5@5 ~ g5@2", W: "a5@7 ~ d6@3 ~ b5@3 ~ g5@7 ~ f#5@3 ~ g5@3 ~",
X: "[a5@7 ~ a5@7 ~ d5@27 ~@21]/2",
})).s("gm_pad_poly").gain(0.45).pan(0.4)
// other · lead 4 chiff · "GX1*"
const lead_4_chiff = note(`<
~@26 A@4 B@5 ~@16 C D E F G H I J K ~@5 L@5 ~@2 M N O P Q R S T U@2 V@2 W@2 ~@9
>`.pickRestart({
A: "[~@10 a5@3 ~ d6@3 ~ c#6@3 ~ b5@3 ~ c#6@3 ~ d6@7 ~ b5@7 ~ a5@7 ~ b5@7 ~ f#5@7 ~ a5@7 ~ b5@3 ~ a5@3 ~ g5@7 ~ d6@7 ~ c#6@2 d6@5 ~ a5@18]/4",
B: "[~@6 g5@3 ~ f#5@3 ~ e5@7 ~ b5@7 ~ a5@7 ~ g5@7 ~ a5@5 ~ g5@2 f#5@5 ~ g5@2 a5@7 ~ d6@3 ~ b5@3 ~ g5@7 ~ f#5@3 ~ g5@3 ~ a5@7 ~ a5@7 ~ d5@27 ~@23]/5",
C: "~@29 a5@3", D: "~ d6@3 ~ c#6@3 ~ b5@3 ~ c#6@3 ~ d6@7 ~ b5@7", E: "~ a5@7 ~ b5@7 ~ f#5@7 ~ a5@7",
F: "~ b5@3 ~ a5@3 ~ g5@7 ~ d6@7 ~ c#6@2 d6@5", G: "~ a5@20 ~@4 g5@3 ~ f#5@3", H: "~ e5@7 ~ b5@7 ~ a5@7 ~ g5@7",
I: "~ a5@5 ~ g5@2 f#5@5 ~ g5@2 a5@7 ~ d6@3 ~ b5@3", J: "~ g5@7 ~ f#5@3 ~ g5@3 ~ a5@7 ~ a5@7", K: "~ d5@27 ~@4",
L: "[~@13 d6@2 d6 ~@13 d6@2 ~@2 d6@2 ~@2 d6@2 ~@2 d6@2 ~@2 c#6@2 ~@2 a5@6 ~@2 b5 ~ g5@5 ~ a5@10 ~@2 d6@2 ~@14 d6@2 ~@2 d6@2 ~@2 d6@2 ~@2 d6@2 ~@2 c#6@2 ~@2 a5@6 ~@2 b5 ~ g5@5 ~ a5@10 ~@21, ~@17 [d5,a5]@32 d5@32 [d5,a5]@32 d5@32 ~@15]/5", // D5
M: "~@21 a5 ~ a5 ~ g5@5 ~ e6", N: "~@5 a6 ~ b6 ~ a6@8 ~@4 [d6,f#6] ~ [e6,g6] ~ [d6,f#6]@7, ~ d6@16 ~@15",
O: "~@5 [c#6,e6] ~ [b5,d6] ~ [c#6,e6]@8 ~@4 [b5,d6] ~ [a5,c#6] ~ [b5,d6]@7", // C#m Bm C#m Bm A Bm
P: "~@5 [a5,c#6] ~ [g5,b5] ~ [a5,c#6]@8 ~@4 [d6,f#6] ~ [e6,g6] ~ [d6,f#6]@7", // A G A D Em D
Q: "~@5 [d6,e6] ~ [e6,g6] ~ [e6,a6]@8 ~@4 [d6,f#6] ~ [e6,g6] ~ [d6,a6]@3 ~ [a5,d6]@3", // Dsus2 Em A5 D Em D5
R: "~@5 a6 ~ g6 ~ a6 ~ b6 ~ a6 ~@3 d6@3 ~ c#6@3 ~ b5@3 ~ c#6@3, ~ [a5,d6]@16 ~@15", S: "~ d6@7 ~ b5@7 ~ a5@7 ~ b5@7",
T: "~ f#5@7 ~ a5@7 ~ b5@3 ~ a5@3 ~ g5@7", U: "[~ d6@7 ~ c#6@2 d6@5 ~ a5@20 ~@4 g5@3 ~ f#5@3 ~ e5@7 ~ b5@7]/2",
V: "[~ a5@7 ~ g5@7 ~ a5@5 ~ g5@2 f#5@5 ~ g5@2 a5@7 ~ d6@3 ~ b5@3 ~ g5@7 ~ f#5@3 ~ g5@3]/2",
W: "[~ a5@7 ~ a5@7 ~ d5@27 ~@20]/2",
})).s("gm_lead_4_chiff").gain(0.3).pan(0.6)
// bass · synth bass 1 · "MiniMoog*"
const bass = note("<~@36 A@3 B A@3 B C D E D E D F G H@2 I@5 J@2 K@7 L@5 M N O P Q@8 R@6 ~@4>".pickRestart({
A: "d3@3 d3@2 b2@3", B: "d3@2 a2 d2@5", C: "d3@3 d3@3 a2@2", D: "d2@3 d3@3 a2@2", E: "d2@3 d3@2 d2 a2@2",
F: "d2 d3 c3 g2", G: "d2@8 g2@8 d2@13 ~@3", H: "a2 d2@15", I: "d2@3 a1 d2@3 a1", J: "[d2@2 g2 d2 d2@12]/2",
K: "[~@4 d3@3 d3@2 b2@3 d3@3 d3@2 b2@3 d3@3 d3@2 b2@3 d3@2 a2 d2@5 d3@3 d3@2 b2@3 d3@3 d3@2 b2@3 d3@3 d3]/7",
L: "[~ b2@3 d3@2 a2 d2@5 d2@2 a2@3 d2 a2@2 d2@2 a2@3 d2 a2@2 d3 d2 a2@3 d2 a2@2 d2@2 a2@2]/5",
M: "d3 d2 a2@2 d2@2 a2@2", N: "d2 a2 d2@2 a2@3 d2", O: "a2 d2!3", P: "c2 g2@2 e2 d2 a2 g2@2",
Q: "[d2@3 a2 d2@7 a1 d2@2 a1 d2@4 a1 d2@2 a1 d2@4 a1 d2@2 a1 d2@4 a1 d2@2 a1 d2@4 a1 d2@2 a1 d2@4 a1 d2@2 a1 d2@4 a1 d2 a1 g1 f#1]/8",
R: "[d1@67 d1@36 d1@38 d1@46 ~@5]/6",
})).s("gm_synth_bass_1").gain(0.25).pan(0.4)
// chords · piano · "Emerson L"
const piano = note("<~@86 A@3 B C@3 ~@2>".pickRestart({
A: "[~@25 [d4,g4]@4 ~ f#4@4 ~ [d4,g4]@7 ~@2 [e4,b4]@7 ~@2 [g4,d5]@7 ~@2 [e4,b4]@7 ~@2 [f#4,a4]@4 ~ [g4,b4]@4 ~ [f#4,a4]@4 [g4,b4]@4 ~ [f#4,a4]@6]/3", // G5 E5 G5 E5 F#m G F#m G …
B: "~@3 [d5,d6]@3 ~@2 [b4,b5]@3 ~@2 [g4,g5]@7 ~@4 [f#4,f#5]@3 ~@2 [g4,g5]@3", // D B G F# G
C: "[~@2 [a4,a5]@8 ~@5 [d4,a4,a5]@6 c#4@4 ~@3 [d4,d5]@29 [d6,f#6,a6]@15 ~@24, ~@15 a3@13 ~@68]/3", // A D5 D
})).s("gm_piano").gain(0.45).pan(0.7)
// other · piano · "Unnamed Track"
const piano_2 = note("<~@87 A@3 B@5>".pickRestart({
A: "[~@3 d3@4 e3@4 ~ b3@4 g3@5 c3@5 g3@4 d4@5 g3@4 d3@4 ~ g4@4 ~ f#4@4 c#4@4 ~ d4@4 d3@4 ~ [b2,b3]@4 ~ [g2,g3]@4 ~ [e2,e3]@4 ~ [d2,d3]@4 ~@2 [c#2,c#3]@4 ~ [b1,b2]@3, ~@3 a2@37 ~@56]/3", // B G E D C# B
B: "[~@2 [a1,a2]@12 ~ [a1,a2]@12 ~ [d2,d3]@11 ~@3 [a1,a2]@12 ~@3 [d1,d2]@89 ~@14]/5", // A D A D
})).s("gm_piano").gain(0.5).pan(0.2)
// drums · tambourine
const tambourine = s("tb").struct("<~@26 A B@8 C D@25 E D@24 F ~@8>".pickRestart({
A: "~@13 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2", B: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
C: "~ x ~@4 x ~@3 x ~@21", D: "x!16", E: "~@8 x!8", F: "x ~ x ~ x ~ x ~ x ~ x ~@2 x ~ x ~@16",
})).gain(0.2)
stack(
church_organ, electric_guitar_clean, electric_guitar_clean_2, electric_guitar_clean_3, guitar_harmonics,
electric_guitar_jazz, pad_poly, lead_4_chiff, bass, piano, piano_2, tambourine
)
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.