0:00/0:00
// In the Court of Crimson King — King Crimson
// 72 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 159 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(72/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 · drawbar organ · "Organ 1"
const drawbar_organ = note(`<
~ A B C D E F G H ~@7 I@2 J@7 ~@7 K@2 L M N@2 O P@2 Q R Q S T U Q V W X@2 L M N@2 O Y@2 ~@7 Z@4 AA@5 ~@15 AB@3 ~@11 A
B C D E F G AC@2 AD@2 ~@19 AE AF AG AH AE AF AG AH AE AF AG AH AE AF AG AH AI@2 AJ AK AL AM AN@2 ~
>`.pickRestart({
A: "f#5", B: "f#5 ~@11 g5@4 e5@16", C: "e5@12 f#5@4 d#5@15 ~", D: "b4@6 c#5@6 d#5@4 d#5@6 e5@5 ~ f5@4", E: "f#5@31 ~",
F: "f#5@12 g5@4 e5@15 ~", G: "e5@3 f#5 d#5@4", H: "b4", I: "[~@3 f#5@4 f#5]/2",
J: "[~@4 g5@4 e5@16 e5@12 f#5@4 d#5@15 ~ b4@6 c#5@6 d#5@4 d#5@6 e5@5 ~ f5@4 f#5@31 ~ f#5@12 g5@4 e5@15 ~ e5@12 f#5@4 d#5@16 b4@35 ~@5]/7",
K: "[~@4 f#5@8 f#5@3 g5]/2", L: "e5@4 e5@3 f#5", M: "d#5@15 ~ b4@6 c#5@6 d#5@4",
N: "[d#5@6 e5@5 ~ f5@4 f#5@31 ~ f#5@12 g5@4]/2", O: "e5@15 ~ e5@12 f#5@4",
P: "[d#5@16 ~@32 [f#5,a5]@2 ~@2 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3, ~@16 b4@35 ~@13, ~@48 d5 ~@15]/2", // F#m D
Q: "[d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3", // D C
R: "[e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3", // A7 D
S: "[e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3, ~@8 d5 ~@7", // A7 F#m D
T: "[d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5] ~@3 [c5,e5]@4", // D C
U: "e5 ~@3 [e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3", // A7 D
V: "[e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [e5,g5,a5] ~@3 [b4,f#5] ~@3 [b4,d#5,f#5]@2 ~@2 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3, ~@8 d#5 ~@7", // A7 B5 B
W: "[b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3", // B
X: "[[b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 f#5@32 f#5@12 g5@4]/2", // B
Y: "[d#5@16 b4@35 ~@13]/2",
Z: "[~@8 f#5@32 f#5 ~@11 g5@4 e5@16 e5@12 f#5@4 d#5@15 ~ b4@6 c#5@6 d#5@4 d#5@6 e5@2, ~@8 f#3@13 ~@107]/4",
AA: "[~@4 f5@4 f#5@31 ~ f#5@12 g5@4 e5@15 ~ e5@12 f#5@4 d#5@16 b4@28 ~@28]/5",
AB: "[~@4 b3@4 ~@33 e3@31 ~@24, ~ [e4,g4,b4]@8 ~@3]/3", AC: "[b4@7 ~]/2", AD: "[[e4,g#4,b4]@15 ~]/2", AE: "g#5",
AF: "g#5@3 a5 f#5@4", AG: "f#5@12 g#5@4 f5@15 ~", AH: "c#5@6 d#5@6 f5@4 f5@6 f#5@5 ~ g5@4",
AI: "[g#5@4 e4@4 [g#4,b4,e5]@11 ~ b4 [g#4,b4] e5 ~ e4 e5@3 ~@3 [d4,a4]@8 ~ a4@4 a4@4 f#4@4 [d4,f#4] ~ [f#4,d5] ~ [d4,f#4,a4] ~ [d4,f#4,a4]@6, ~@19 [g#4,e5]@2 ~@2 g#4@7 ~ g#4@14 ~@19, ~@24 b4@5 ~@11 d4@12 ~@12, ~@40 g4 ~@23]/2", // E G#m D5 D C#m
AJ: "[c#4,f#4]@8 [c#4,f#4]@4 g#4@3 ~@2 g#4@2 ~ c#5@2 ~ [f4,c#5] ~ [f4,g#4,c#5] ~ [f4,c#5,g#5]@5, g#4@11 ~ f#4 ~@4 f4@6 ~@9", // F#5 C#
AK: "c#5 ~@5 d#5@6 f5@4 f5@6 f#5@5 ~ g5@4",
AL: "~ g#4@8 ~ g#4@11 ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ b4@3 ~, ~ [b3,e4]@20 ~@6 [e4,g#4]@5", // E E5 E
AM: "~@2 a4@11 a4@4 f#4@4 [d4,f#4] ~ [f#4,d5] ~ [f#4,d5] ~ [f#4,a4,d5]@4 ~, ~ d4@19 ~@12, ~ g#4@12 ~@8 a4@2 ~@2 a4@2 ~@5", // D
AN: "[~ [f#4,c#5]@8 ~@9 f4@8 [g#4,c#5]@2 [f4,g#4,c#5]@7 g#4@4 c#5@6 [a#3,b3] c#4 ~@3 d5 [e5,f5,g5] ~ c6 ~ a6@3 [a6,b6]@3 ~@3, ~ g#4@13 g#4@5 ~@7 f4 ~@19 [c4,d4]@2 [g4,a4]@2 c5@2 [a5,b5]@2 [f6,g6]@4 ~@6, ~@10 [c#4,f#4]@7 c#5@9 ~@9 c#5 ~@11 [e4,f4]@2 b4@2 ~@2 d6@2 ~@9, ~@27 e6 ~@4]/2", // F#5 C#5 C# Bmaj7 Em Asus2 Csus2 Gsus2 …
})).s("gm_drawbar_organ").gain(0.56).pan(0.2)
// bass · electric bass finger · "Bass1"
const bass = note("<~ A B C D E F G H ~@7 I J@8 ~@4 K@4 L@8 ~@118>".pickRestart({
A: "[a1,d2,f#2]@8 [a1,f#2]@6 a1 ~ d2@3 ~ d2@4 a1@2 d2@5 ~, ~@8 d2 ~@7 f#2@7 ~ f#2@7 ~", // D
B: "[g1,c2,f#2]@7 ~ [g1,c2,f#2]@6 g1 ~ c2@2 ~@2 c2@4 g1@2 c2@3 ~@3, ~@16 e2@7 ~ e2@7 ~", // C
C: "[f#1,b1,e2]@8 [f#1,b1,e2]@6 f1 ~ b1@3 ~@9 f1@4, ~@16 d#2@7 ~ d#2@7 ~, ~@20 b1@9 ~@3", D: "b1@11 ~@5",
E: "[d2,f#2]@8 [d2,f#2]@6 a1@2 d2@3 ~ d2@4 a1@2 d2@5 ~, ~@16 f#2@7 ~ f#2@7 ~", // D
F: "[c2,f#2]@7 ~ [c2,f#2]@6 g1@2 c2@2 ~@2 c2@4 g1@2 c2@3 ~@3, ~@16 e2@7 ~ e2@7 ~", // Cdim
G: "[b1,e2]@8 [b1,e2]@6 f1 ~ b1@3 ~@9 f1@4, ~@16 d#2@7 ~ d#2@7 ~, ~@20 b1@9 ~@3", H: "b1@31 ~", I: "~@3 d2",
J: "[d2@3 ~ d2@2 d2@2 ~@4 c2@4 c2@3 ~ c2@2 c2@2 ~@4 b1@4 b1@3 ~ b1@2 ~@22 d2@4 d2@3 ~@9 c2@4 c2@3 ~ c2@2 c2@2 ~@4 b1@4 b1@3 ~ b1@2 ~@6 b1@20, ~@3 a1@5 a1@27 f1@7 f1@32 ~@9 g1@5 g1@32 ~@8, ~@9 d2@29 b1@6 b1@32 ~@13 c2@32 ~@7, ~@19 g1@5 g1@32 ~@11 a1@2 a1@30 f1@7 f1@22, ~@25 c2@32 ~@11 d2@2 d2@32 b1@6 ~@20]/8",
K: "[a1@6 ~@2 b1@6 ~@2 c2@6 ~@2 b1@6 ~@26 d2@4 d2@3 a1, ~@3 a1@16 ~@13, ~@7 b1@5 ~@3 b1@16 ~, ~@11 c2@16 ~@5, ~ e1]/4",
L: "[d2@2 d2@2 ~@4 c2@4 c2@3 ~ c2@2 c2@2 ~@4 b1@4 b1@3 ~ b1@2 ~@22 d2@4 d2@3 ~@9 c2@4 c2@3 ~ c2@2 c2@2 ~@4 b1@4 b1@3 ~ b1@2 ~@4 f1@26, ~@4 a1@27 f1@7 f1@32 ~@9 g1@5 g1@32 ~@12, ~@5 d2@29 b1@6 b1@32 ~@13 c2@32 ~@11, ~@15 g1@5 g1@32 ~@11 a1@2 a1@30 f1@7 ~@26, ~@21 c2@32 ~@11 d2@2 d2@32 b1@30]/8",
})).s("gm_electric_bass_finger").gain(0.35).pan(0.3)
// bass · electric bass pick · "Bass1"
const bass_2 = note("<~@40 A B@6 C@8 D@5 ~@6 E F@8 G H I@8 J@5 K L M L N@8 O@6 P@5 ~@46>".pickRestart({
A: "~@15 a1, ~@4 d2!4, ~@9 a1@2 a1@2 a1@2 ~",
B: "[~@95 a1, d2!3 d2@9 d2!4 d2!3 d2@9 d2!4 d2!3 d2@9 d2!4, ~ a1@2 a1@2 a1@2 a1@18 a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 a1@18 a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 a1@18 a1@2 a1@2 a1@2 ~, ~@4 c2!4 c2!3 c2@9 c2!4 c2!3 c2@9 c2!4 c2!3 c2@5, ~@9 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@18 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@18 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@9]/6",
C: "[~@40 f#1 ~ g1 ~ g#1 ~ a1 ~ b1 ~ c2 ~ d2 ~ e2 ~ d2@4 d2@3 ~ d2@2 d2@2 ~@4 c2@4 c2@3 ~ c2@2 c2@2 ~@4 b1@4 b1@3 ~ b1@2 ~@22 d2@4 d2@3 a1, d2@2 d2@2 d2@2 d2@18 b1 f1 b1 f1 b1 f1 b1 f1 b1 f1 b1 f1 b1 f1@2 f1@8 a1@2 b1@30 g1@5 g1@32 ~@12, ~ a1@2 a1@2 a1@2 a1@31 b1@5 g1@20 a1@5 a1@27 f1@7 f1@26, ~@8 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@23 g#1@24 d2@29 b1@6 b1@24, ~@9 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@18 f#1@10 c2@2 d2@2 e2@30 c2@32 ~@11]/8",
D: "[~@8 c2@4 c2@3 ~ c2@2 c2@2 ~@4 b1@4 b1@3 ~ b1@2 ~@6 b1@32 ~@8, d2 d2@16 b1@3 ~@20, ~ a1@30 f1@7 f1@32 ~@10, ~@15 g1@5 g1@32 ~@28, ~@21 c2@32 ~@27]/5",
E: "~@4 d2@4 d2@3 ~ d2@2 d2@2, ~@11 a1@5",
F: "[~@4 c2@4 c2@3 ~ c2@2 c2@2 ~@4 b1@4 b1@3 ~ b1@2 ~@22 d2@4 d2@3 ~@9 c2@4 c2@3 ~ c2@2 c2@2 ~@4 b1@4 b1@3 ~ b1@2 ~@22 d2@12, a1@27 f1@7 f1@32 ~@9 g1@5 g1@32 ~@16, ~ d2@29 b1@6 b1@32 ~@13 c2@32 ~@15, ~@11 g1@5 g1@32 ~@11 a1@2 a1@30 f1@7 f1@30, ~@17 c2@32 ~@11 d2@2 d2@32 b1@6 b1@28]/8",
G: "~ c2@3", H: "~ d2@3",
I: "[~@29 d2@3, ~@4 c2@9 g2@23 c2@32 c2@10 c2@9 a1@32 ~@9, ~@12 c3@12 d2@28 d2@32 d2 a1 b1@32 ~@10, ~@14 c2@9 a1@32 ~@22 g2@23 c2@28, ~@20 d2 a1 b1@32 ~@22 c3@12 d2@28 ~@12]/8",
J: "[~@68 b1!12, ~@4 c2@9 g2@23 c2@2 g1@2 c2@2 g1@2 c2@4 a1@32, ~@6 c3@11 d2@9 b1 f1 b1 f1 b1 f1 b1 f1@7, ~@7 c2@9 b1@9 c2@15, ~@10 d2 a1 d2 a1 d2 a1@8 g1@16 ~]/5",
K: "b1!3 b1@5 b1@6 b1@2", L: "c2@3 ~ c#2@3 c#2, ~@3 c2@5", M: "c2@3 ~ b1@3 b1, ~@3 c2@5",
N: "[c2@3 ~ b1@3 ~ c2@3 ~ c#2@3 ~ c2@3 ~ b1@3 ~ c2@3 ~ c#2@3 ~ c2@3 ~ b1@3 ~ c2@3 ~ c#2@3 ~ c2@3 ~ a1@3 ~ b1@3 ~ c2@3 c2, ~@3 c2@5 ~@3 c2@5 ~@3 c2@5 ~@3 c2@5 ~@3 c2@5 ~@3 c2@5 ~@3 c2@9 ~@4, ~@7 b1@13 ~@3 b1@13 ~@3 b1@16 a1@9, ~@15 c#2@13 ~@3 c#2@13 ~@3 c#2@16 ~, ~@59 b1@5]/8",
O: "[~@16 b1@12 ~@4 c2@12 ~@4 c#2@12 ~@4 d2@8 d2@6 ~@2 d2@4 d2@4 ~@8 c2@8 c2@7 ~ c2@4 c2@4 ~@8 b1@8 b1@6 ~@2 b1@4 ~@12 b1@32, b1@8 ~@6 b1@31 d2@29 b1@6 ~@16, ~@12 c2@20 ~@12 c2@52 ~@15 g1@9 g1@64 ~@8, ~@30 c#2@31 c2@32 ~@3, ~@39 a1@5 a1@27 f1@7 f1@18]/6",
P: "[d2@4 d2@3 ~@9 c2@4 c2@3 ~ c2@2 c2@2 ~@4 b1@4 b1@3 ~ b1@2 b1@32 ~@6, ~@7 a1@2 a1@30 f1@32 ~@9, ~@4 d2 d2@16 ~@19, ~@23 g1@5 g1@32 ~@20, ~@29 c2@32 ~@19]/5",
})).s("gm_electric_bass_pick").gain(0.35).pan(0.3)
// chords · violin · "Bass1"
const violin = note("<~@113 A@4 ~@42>".pickRestart({
A: "[e2,g#2,b2]/4", // E
})).s("gm_violin").gain(0.35).pan(0.3)
// bass · acoustic bass · "Bass1"
const bass_3 = note("<~@134 A@24 ~>".pickRestart({
A: "[e2@8 e2@6 ~@2 e2@4 e2@4 ~@8 d2@8 d2@7 ~ d2@4 d2@4 ~@8 c#2@8 c#2@6 ~@2 c#2@4 ~@44 e2@8 e2@6 ~@2 e2@4 e2@4 ~@8 d2@8 d2@7 ~ d2@4 d2@4 ~@8 c#2@8 c#2@6 ~@2 c#2@4 ~@12 c#2@32, ~@14 b1@10 b1@54 g1@14 g1@64 ~@19 a1@9 a1@64 ~@8, ~@13 e2@29 c#2@6 c#2@32 ~@13 d2@32 ~@3, ~@47 a1@9 a1@64 ~@22 b1@10 b1@54 g1@14 g1@36, ~@29 d2@32 ~@16 e2@29 c#2@6 ~@16]/8",
})).s("gm_acoustic_bass").gain(0.35).pan(0.3)
// chords · clavinet · "Clav/Voic"
const clavinet = note("<~ A B C ~ A B C D@2 ~@124 E F G ~ E F G ~ E F G ~ E F G ~ E F G ~ E F G ~@2>".pickRestart({
A: "[d4,f#4,a4]@7 ~ [d4,f#4,a4]@7 ~ [d4,f#4,a4]@7 ~ [d4,f#4,a4]@7 ~", // D
B: "[c4,f#4,g4]@7 ~ [f#4,g4]@4 g4@2 ~@2 [e4,g4]@7 ~ [c4,e4,g4]@7 ~, ~ c4@2 ~", // C Gmaj7 Em C
C: "[b3,e4,f#4]@8 f#4@4 f#4@3 ~ [d#4,f#4]@7 ~ [b3,d#4,f#4]@7 ~, ~@8 b3@15 ~@9, ~@8 e4@2 ~@6 c#4 ~@15", // Bsus4 D#m B
D: "[b4@5 ~@3]/2", E: "[e4,g#4,b4]@7 ~ [e4,g#4,b4]@7 ~ [e4,g#4,b4]@8 [e4,g#4,b4]@7 ~",
F: "[d4,g#4,a4]@7 ~ [g#4,a4]@4 a4@2 ~@2 [f#4,a4]@7 ~ [d4,f#4,a4]@7 ~, ~ d4@2 ~", // D Amaj7 F#m D
G: "[c#4,f#4,g#4]@8 g#4@4 g#4@3 ~ [f4,g#4]@7 ~ [c#4,f4,g#4]@7 ~, ~@8 c#4@15 ~@9, ~@8 f#4@2 ~@6 d#4 ~@15", // C#sus4 Fm C#
})).s("gm_clavinet").gain(0.35)
// chords · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note(`<
~ A B C D A B C ~ E@6 F@3 G H I J G ~@2 K L@2 M N@2 O P@2 Q R S T Q R ~@10 U T Q R S T Q ~ V W X@2 Y Z AA AB AC@2 AD
AE AF AG AD ~@31 A B C D A B C ~@23 AH AI AJ AK AH AI AJ AK AH AI AJ AK AH AI AJ AK AH AI AJ AK AH AI AJ@2 ~
>`.pickRestart({
A: "[a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~", // D5
B: "[g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [e3,c4]@2 [e3,c4] ~", // C5 C C5 C C5 C C5 C
C: "[f#2,b2]@3 ~ [f#2,b2]@3 ~@25", // B5
D: "[f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2]@2 [f#2,b2]@2 [f#2,b2]@2", // B5
E: "[~@8 b2@4 b3@4 a3@4 g3@4 f#3@12 ~@4 b2@4 b3@4 a3@4 g3@4 f#3@16 b2@4 b3@4 a3@4 g3@4 f#3@16 b2@4 b3@4 a3@4 g3@4 f#3@16 e2@4 e3@4 d3@4 c3@4 b2@13 ~@3 e2@4 e3@4 d3@4 c3@4 b2@8]/6",
F: "[~@8 b2@4 b3@4 a3@4 g3@4 f#3@11 ~@5 b2@4 b3@4 a3@4 ~@4 [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~, ~@13 g3@2 ~@9, ~@7 f#5@4 ~]/3", // D5 C5
G: "[e3,c4]@2 [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [e3,c4]@2 [e3,c4] ~ [f#2,b2]@3 ~ [f#2,b2]@3 ~", // C C5 C C5 C C5 C B5
H: "~@24 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~", // B5
I: "[f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2]@2 [f#2,b2]@2 [f#2,b2]@2 [a2,d3]@3 ~ [a2,d3]@2 ~@2", // B5 D5
J: "[a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~", // D5 C5
K: "b2 b3 a3 g3 f#3@3 ~", L: "b2 b3 a3 g3 f#3@4", M: "b2 b3 a3 ~ f#3@4, ~@3 g3@5", N: "e2 e3 d3 c3 b2@4",
O: "b2@4 b3@4 a3@4 g3@4 f#3@11 ~@5",
P: "[b2@4 b3@4 a3@4 ~@4 [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~ [g2,c3] ~, ~@12 g3@7 ~@45, ~ f#5@2 ~]/2", // D5 C5 C C5
Q: "[g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [e3,c4]@2 [e3,c4] ~ [f#2,b2]@3 ~ [f#2,b2]@3 ~@9", // C5 C C5 C C5 C B5
R: "~@16 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~", // B5
S: "[f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2]@2 [f#2,b2]@2 [f#2,b2]@2 [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~", // B5 D5
T: "[a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~ [g2,c3] ~", // D5 C5 C C5
U: "[d#3,f#3,b3] ~@3 [d#3,f#3,b3] ~@11 [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~", // B D5
V: "~@6 b2 b3", W: "a3 g3 f#3@3 ~ b2 b3", X: "a3 g3 f#3@4 b2 b3", Y: "a3 ~ f#3@4 e2 e3, ~ g3@5 ~@2",
Z: "d3 c3 b2@4 e2 e3", AA: "d3 c3 b2@4 b2 b3", AB: "a3@4 g3@4 f#3@11 ~@5 b2@4 b3@4",
AC: "[a3@4 ~@4 [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~, ~@4 g3@7 ~@53, ~ f#5@4 ~@3, ~@8 f#3@13 ~@43]/2", // D5 C5 C C5 C C5
AD: "[e3,c4]@2 [g2,c3] ~ [e3,c4]@2 [e3,c4] ~ [f#2,b2]@3 ~ [f#2,b2]@3 ~@17", // C C5 C B5
AE: "~@8 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2", // B5
AF: "[f#2,b2] ~ [f#2,b2]@2 [f#2,b2]@2 [f#2,b2]@2 [a2,d3]@3 ~ [a2,d3]@2 ~@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3]@3 ~ [a2,d3]@2 ~@2", // B5 D5
AG: "[a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [g2,c3] ~ [e3,c4]@2 [g2,c3] ~ [g2,c3] ~", // D5 C5 C C5 C C5
AH: "[b2,e3]@3 ~ [b2,e3]@2 ~@2 [b2,e3] ~ [b2,e3] ~ [b2,e3] ~ [b2,e3] ~ [b2,e3]@3 ~ [b2,e3]@2 ~@2 [b2,e3] ~ [b2,e3] ~ [b2,e3] ~ [b2,e3] ~", // E5
AI: "[a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [d3,f#3]@2 [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [a2,d3] ~ [d3,f#3]@2 [a2,d3] ~ [a2,d3] ~ [d3,f#3]@2 [a2,d3] ~ [d3,f#3]@2 [d3,f#3] ~", // D5 D D5 D D5 D D5 D
AJ: "[g#2,c#3]@3 ~ [g#2,c#3]@3 ~@25", // C#5
AK: "[g#2,c#3] ~ [g#2,c#3] ~ [g#2,c#3]@2 [g#2,c#3] ~ [g#2,c#3] ~ [g#2,c#3]@2 [g#2,c#3] ~ [g#2,c#3] ~ [g#2,c#3]@2 [g#2,c#3] ~ [g#2,c#3] ~ [g#2,c#3]@2 [g#2,c#3] ~ [g#2,c#3]@2 [g#2,c#3]@2 [g#2,c#3]@2", // C#5
})).s("gm_acoustic_guitar_steel").gain(0.48).pan(0.9)
// chords · epiano1 · "Guitar"
const epiano1 = note("<~@40 A B C B C B C B ~ D ~@109>".pickRestart({
A: "[f#2,b2]@2 [f#2,b2] ~ [f#2,b2] ~ [f#2,b2]@2 [f#2,b2] ~ [f#2,b2]@2 [f#2,b2]@2 [f#2,b2]@2 [f#3,a3,d4] ~ [f#3,a3,d4] ~@3 [f#3,a3,d4] ~ [f#3,a3,d4] ~@3 [f#3,a3,d4] ~@3", // B5 D
B: "~@16 [e3,g3,c4] ~ [e3,g3,c4] ~@3 [e3,g3,c4] ~ [e3,g3,c4] ~@3 [e3,g3,c4] ~@3", // C
C: "~@16 [f#3,a3,d4] ~ [f#3,a3,d4] ~@3 [f#3,a3,d4] ~ [f#3,a3,d4] ~@3 [f#3,a3,d4] ~@3", // D
D: "~@4 b4@4 ~@4 b4@3 ~ [d#3,f#3,b3] ~ [d#3,f#3,b3] ~@3 [d#3,f#3,b3] ~ [d#3,f#3,b3] ~@3 [d#3,f#3,b3] ~@3", // B
})).s("gm_epiano1").gain(0.4).pan(0.9)
// chords · epiano1 · "Guitar" · soft notes
const epiano1_soft = note("<~@40 A B C B C B C B D E ~@109>".pickRestart({
A: "~@30 [f#3,a3,d4] ~", B: "[f#3,a3,d4] ~@3 [f#3,a3,d4] ~@25 [e3,g3,c4] ~",
C: "[e3,g3,c4] ~@3 [e3,g3,c4] ~@25 [f#3,a3,d4] ~", D: "[e3,g3,c4] ~@3 [e3,g3,c4] ~@27", E: "~@30 [d#3,f#3,b3] ~",
})).s("gm_epiano1").gain(0.16).pan(0.9)
// chords · church organ · "Organ2"
const church_organ = note(`<
~ A B C D A B C ~@8 E F G H E F G ~@9 I J K L I J K L ~@10 I M@2 L I M@2 ~@9 N O@2 P N O@2 ~@31 A Q C D A Q C ~@23 R S
T U R S T U R S T U R S T U R S T U R S T V ~
>`.pickRestart({
A: "[a4,d5,f#5]@3 ~ [a4,d5,f#5]@2 ~@10 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@2 ~@10", B: "[c3,g4,c5,e5]!4",
C: "[f#4,b4,d#5]@3 ~ [f#4,b4,d#5]@3 ~@25", D: "[b3,d#4,f#4]@3 ~@29", E: "~@24 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@2 ~@2",
F: "~@8 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@2 ~@10 [c3,g4,c5,e5]@8", // D C
G: "[c3,g4,c5,e5]@8 [c3,g4,c5,e5]@8 [c3,g4,c5,e5]@8 [f#4,b4,d#5]@3 ~ [f#4,b4,d#5]@3 ~", H: "~@24 [b3,d#4,f#4]@3 ~@5",
I: "~@16 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@2 ~@10", J: "[a4,d5,f#5]@3 ~ [a4,d5,f#5]@2 ~@10 [c3,g4,c5,e5]@8 [c3,g4,c5,e5]@8",
K: "[c3,g4,c5,e5]@8 [c3,g4,c5,e5]@8 [f#4,b4,d#5]@3 ~ [f#4,b4,d#5]@3 ~@9", L: "~@16 [b3,d#4,f#4]@3 ~@13",
M: "[[a4,d5,f#5]@3 ~ [a4,d5,f#5]@2 ~@10 [c3,g4,c5,e5]@32 [f#4,b4,d#5]@3 ~ [f#4,b4,d#5]@3 ~@9]/2", // D C B
N: "~@8 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@2 ~@10 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@2 ~@2", // D
O: "[~@8 [c3,g4,c5,e5]@32 [f#4,b4,d#5]@3 ~ [f#4,b4,d#5]@3 ~@17]/2", P: "~@8 [b3,d#4,f#4]@3 ~@21", Q: "[c3,g4,c5,e5]",
R: "[g#4,b4,e5]@3 ~ [g#4,b4,e5]@2 ~@10 [g#4,b4,e5]@3 ~ [g#4,b4,e5]@2 ~@10", S: "[d3,a4,d5,f#5]",
T: "[g#4,c#5,f5]@3 ~ [g#4,c#5,f5]@3 ~@25", U: "[c#4,f4,g#4]@3 ~@29", V: "[c#4,f4,g#4]@3 ~ [c#4,f4,g#4]@3 ~@25",
})).s("gm_church_organ").gain(0.48).pan(0.8)
// other · synth strings 2 · "Organ2"
const synth_strings_2 = note("<~@40 A@8 B@3 ~@108>".pickRestart({
A: "[~@2 d6@4 c6@3 g5 d6@4 c6@3 g5 d6@4 c6@3 g5 d6@4 c6@2]/8", B: "[~@8 g5@8 [f#5,b5]@24 [f#5,d#6]@7 ~ b5@32 ~@16]/3",
})).s("gm_synth_strings_2").gain(0.24).pan(0.8)
// bass · slap bass 2 · "Bass2"
const bass_4 = note(`<
~ A B C D A B C ~@8 E F G H I F G J ~@8 K L M N O L M N P Q R Q R Q R Q S T U L M N O L M V ~@8 W X Y Z AA X Y AB ~@30
A B C D A B C ~@23 AC AD AE AF AC AD AE AF AC AD AE AF AC AD AE AF AC AD AE AF AC AD AE AG ~
>`.pickRestart({
A: "d2@3 ~ d2 ~@9 a1@2 d2@3 ~ d2 ~@7 d2@2 a1@2",
B: "c2@4 c2 ~ c2@2 c2@2 c2 ~ c2@2 c2@2 c2@4 c2 ~ c2@2 c2@2 c2 ~ g1@2 g1@2", C: "b1@3 ~ b1 ~@23 b1@2 f#1@2",
D: "b1@3 ~@25 b1@2 f#1@2", E: "~@24 d2@3 ~ d2 ~@3", F: "~@6 a1@2 d2@3 ~ d2 ~@7 d2@2 a1@2 c2@4 c2 ~ c2@2",
G: "c2@2 c2 ~ c2@2 c2@2 c2@4 c2 ~ c2@2 c2@2 c2 ~ g1@2 g1@2 b1@3 ~ b1 ~@3", H: "~@20 b1@2 f#1@2 b1@3 ~@5",
I: "~@20 b1@2 f#1@2 d2@3 ~ d2 ~@3", J: "~@10 b1 f#1 ~@4", K: "~@16 d2@3 ~ d2 ~@9 a1@2",
L: "d2@3 ~ d2 ~@7 d2@2 a1@2 c2@4 c2 ~ c2@2 c2@2 c2 ~ c2@2 c2@2",
M: "c2@4 c2 ~ c2@2 c2@2 c2 ~ g1@2 g1@2 b1@3 ~ b1 ~@11", N: "~@12 b1@2 f#1@2 b1@3 ~@13",
O: "~@12 b1@2 f#1@2 d2@3 ~ d2 ~@9 a1@2", P: "~@12 b1@2 f#1@2 d2@4 ~@4 a1@5 ~@3",
Q: "d2@4 ~@2 d2@4 ~@2 a1@4 c2 ~@3 c2@3 ~ g1@5 ~@3", R: "c2@5 ~ e1@5 ~ g1@3 ~ d2@3 ~@5 a1@5 ~@3",
S: "c2@5 ~ e1@5 ~ g1@3 ~@5 b1@3 ~ f#1@5 ~@3", T: "b1@5 ~ d#2@5 ~ f#1@3 ~ b1@4 ~@4 f#1@5 ~@3",
U: "b1@4 ~@2 b1@4 ~@2 f#1@4 d2@3 ~ d2 ~@9 a1@2", V: "~@6 b1 f#1 ~@8", W: "~@8 d2@3 ~ d2 ~@9 a1@2 d2@3 ~ d2 ~@3",
X: "~@4 d2@2 a1@2 c2@4 c2 ~ c2@2 c2@2 c2 ~ c2@2 c2@2 c2@4 c2 ~ c2@2", Y: "c2@2 c2 ~ g1@2 g1@2 b1@3 ~ b1 ~@19",
Z: "~@4 b1@2 f#1@2 b1@3 ~@21", AA: "~@4 b1@2 f#1@2 d2@3 ~ d2 ~@9 a1@2 d2@3 ~ d2 ~@3", AB: "~@2 b1 f#1 ~@12",
AC: "e2@3 ~ e2 ~@9 b1@2 e2@3 ~ e2 ~@7 e2@2 b1@2",
AD: "d2@4 d2 ~ d2@2 d2@2 d2 ~ d2@2 d2@2 d2@4 d2 ~ d2@2 d2@2 d2 ~ a1@2 a1@2", AE: "c#2@3 ~ c#2 ~@23 c#2@2 g#1@2",
AF: "c#2@3 ~@25 c#2@2 g#1@2", AG: "c#2@3 ~ c#2 ~@27",
})).s("gm_slap_bass_2").gain(0.45).pan(0.6)
// drums · kick
const kick = s("bd").struct(`<
A B C D E B C D ~@8 F G H I J G H K ~@8 L M N O P M N O Q R@7 S Q T M N O P M N U ~@8 V W X Y Z W X ~@31 B C D E B C D
~@23 B C D E B C D E B C D E B C D E B C D E B C D AA ~
>`.pickRestart({
A: "~@13 x!2 ~", B: "x!2 ~@2 x!2 ~@2", C: "x ~@2 x ~@6 x!2 ~@3 x", D: "x!2 ~ x!2 ~@3", E: "x ~@14 x", F: "~@6 x!2",
G: "~@4 x ~ x ~@5 x ~@2 x", H: "~@6 x!2 ~@3 x!2 ~ x ~", I: "~ x!2 ~@3 x ~", J: "~@11 x!2 ~ x ~", K: "~ x!2 ~@5",
L: "~@4 x!2 ~@2", M: "x ~ x ~@5 x ~@2 x ~@4", N: "~@2 x!2 ~@3 x!2 ~ x ~@3 x ~", O: "x!2", P: "~@7 x!2 ~ x ~@5",
Q: "~@7 x!2 ~@3 x ~@3", R: "x!4", S: "x!2 ~ x", T: "x ~ x ~ x!2 ~@2", U: "x", V: "~@2 x!2 ~@2 x!2",
W: "~@4 x ~@2 x ~@6 x!2", X: "~@3 x!2 ~ x ~@3 x ~ x ~@3", Y: "~ x ~@2", Z: "~@3 x!2 ~ x ~@5 x ~ x ~",
AA: "x ~@2 x!2 ~@27",
})).gain(0.5)
// … 111 more lines
More by King Crimson
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.