0:00/0:00
// Discipline — King Crimson
// 105 bpm, 5/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (5/4 at bar 1, 4/4 at bar 18, 5/4 at bar 24, 4/4 at bar 32, ...) are rendered on a constant 5/4 grid of one bar per cycle
// note: Full arrangement: all 108 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(105/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.
// other · electric guitar clean · "Belew"
const electric_guitar_clean = note(`<
A B@15 C D@5 E F@7 G H@6 I J K I J K I J K I J K L@4 M@8 N O P N O P N O P N O P Q R S Q R S Q R S Q R S Q R S Q T U V
W U V W U V X Y Z AA Y Z AA Y Z AB
>`.pickRestart({
A: "~@10 c4@4 d3@4 ~ a3@4 ~ c3@4 ~ a2@4 ~ c4@4 d3@4 ~ a3@4 ~",
B: "c3@4 ~ a2@4 ~ c4@4 d3@4 ~ a3@4 ~ c3@4 ~ a2@4 ~ c4@4 d3@4 ~ a3@4 ~",
C: "c3@4 ~ a2@4 ~ b3@4 c#3@4 ~ g#3@4 ~ b2@4 ~ g#2@4 ~ b3@4 c#3@4 ~ g#3@4 ~",
D: "b2@4 ~ g#2@4 ~ b3@4 c#3@4 ~ g#3@4 ~ b2@4 ~ g#2@4 ~ b3@4 c#3@4 ~ g#3@4 ~",
E: "b2@4 ~ g#2@4 ~ b3@4 c#3@4 ~ g#3@4 ~ b2@4 ~ a3@4 ~ c3@4 a2@4 ~ c4@4 ~",
F: "d3@4 ~ a3@4 ~ c3@4 a2@4 ~ c4@4 ~ d3@4 ~ a3@4 ~ c3@4 a2@4 ~ c4@4 ~",
G: "d3@4 ~ a3@4 ~ c3@4 a2@4 ~ c4@4 ~ d3@4 ~ b3@5 c#3@4 g#3@5 b2@5",
H: "g#2@5 b3@5 c#3@4 g#3@5 b2@5 g#2@5 b3@5 c#3@4 g#3@5 b2@5",
I: "f#4@2 c#4@2 ~ f#3@2 e4@2 ~ b3@2 f#4@2 c#4@2 ~ f#3@2 e4@2 ~ b3@2 f#4@2 c#4@2 ~ f#3@2 a4@2 ~ b3@2 f#4@2 c#4@2 ~ f#3@2 e4@2 ~ b3@2",
J: "f#4@2 c#4@2 ~ f#3@2 e4@2 ~ b3@2 f#4@2 c#4@2 ~ f#3@2 a4@2 ~ b3@2 f#4@2 c#4@2 ~ f#3@2 e4@2 ~ b3@2 f#4@2 c#4@2 ~ f#3@2 e4@2 ~ b3@2",
K: "f#4@2 c#4@2 ~ f#3@2 a4@2 ~ b3@2 f#4@2 c#4@2 ~ f#3@2 e4@2 ~ b3@2 f#4@2 c#4@2 ~ f#3@2 e4@2 ~ b3@2 f#4@2 c#4@2 ~ f#3@2 a4@2 ~ b3@2",
L: "a4@4 ~ e4@4 ~ c4@4 g4@4 ~ d4@4 ~ e4@4 ~ c4@4 ~ g3@4 d4@4 ~ a3@4 ~",
M: "c5@4 ~ g4@4 ~ d#4@4 a#4@4 ~ f4@4 ~ g4@4 ~ d#4@4 ~ a#3@4 f4@4 ~ c4@4 ~",
N: "c5@2 g4@2 ~ c4@2 a#4@2 ~ f4@2 c5@2 g4@2 ~ c4@2 a#4@2 ~ f4@2 c5@2 g4@2 ~ c4@2 d#5@2 ~ f4@2 c5@2 g4@2 ~ c4@2 a#4@2 ~ f4@2",
O: "c5@2 g4@2 ~ c4@2 a#4@2 ~ f4@2 c5@2 g4@2 ~ c4@2 d#5@2 ~ f4@2 c5@2 g4@2 ~ c4@2 a#4@2 ~ f4@2 c5@2 g4@2 ~ c4@2 a#4@2 ~ f4@2",
P: "c5@2 g4@2 ~ c4@2 d#5@2 ~ f4@2 c5@2 g4@2 ~ c4@2 a#4@2 ~ f4@2 c5@2 g4@2 ~ c4@2 a#4@2 ~ f4@2 c5@2 g4@2 ~ c4@2 d#5@2 ~ f4@2",
Q: "c#5@2 g#4@2 ~ c#4@2 b4@2 ~ f#4@2 c#5@2 g#4@2 ~ c#4@2 f#5@2 ~ g#4@2 e5@2 g#4@2 ~ c#5@2 g#4@2 ~ c#4@2 b4@2 f#4@2 ~ c#5@2 g#4@2 ~ c#4@2",
R: "f#5@2 g#4@2 ~ e5@2 g#4@2 ~ c#5@2 g#4@2 c#4@2 ~ b4@2 f#4@2 ~ c#5@2 g#4@2 c#4@2 ~ f#5@2 g#4@2 ~ e5@2 g#4@2 c#5@2 ~ g#4@2 c#4@2 ~ b4@2",
S: "f#4@2 c#5@2 ~ g#4@2 c#4@2 ~ f#5@2 g#4@2 e5@2 ~ g#4@2 c#5@2 ~ g#4@2 c#4@2 b4@2 ~ f#4@2 c#5@2 ~ g#4@2 c#4@2 f#5@2 ~ g#4@2 e5@2 ~ g#4@2",
T: "f#5@2 g#4@2 ~ e5@2 g#4@2 ~ e5@2 b4@2 e4@2 ~ d5@2 a4@2 ~ e5@2 b4@2 e4@2 ~ a5@2 b4@2 ~ g5@2 b4@2 e5@2 ~ b4@2 e4@2 ~ d5@2",
U: "a4@2 e5@2 ~ b4@2 e4@2 ~ a5@2 b4@2 g5@2 ~ b4@2 e5@2 ~ b4@2 e4@2 d5@2 ~ a4@2 e5@2 ~ b4@2 e4@2 a5@2 ~ b4@2 g5@2 ~ b4@2",
V: "e5@2 b4@2 ~ e4@2 d5@2 ~ a4@2 e5@2 b4@2 ~ e4@2 a5@2 ~ b4@2 g5@2 b4@2 ~ e5@2 b4@2 ~ e4@2 d5@2 a4@2 ~ e5@2 b4@2 ~ e4@2",
W: "a5@2 b4@2 ~ g5@2 b4@2 ~ e5@2 b4@2 e4@2 ~ d5@2 a4@2 ~ e5@2 b4@2 e4@2 ~ a5@2 b4@2 ~ g5@2 b4@2 e5@2 ~ b4@2 e4@2 ~ d5@2",
X: "a5@2 b4@2 ~ g5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ a5@2 b4@2 ~ f#5@2",
Y: "c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ a5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2",
Z: "c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ a5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2",
AA: "c#5@2 f#4@2 ~ a5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ e5@2 b4@2 ~ f#5@2 c#5@2 f#4@2 ~ a5@2 b4@2 ~ f#5@2",
AB: "c#5@2 f#4@2 ~ a5@2 b4@2 ~@39",
})).s("gm_electric_guitar_clean").gain(0.31).pan(0.1)
// bass · fretless bass · "Levin"
const bass = note(`<
~@4 A B C D E F G H I J K L M N O P Q R S E F G H I J K T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM@4 AN AO
AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH@3 BI@3 BJ@3 BK@3 BL@3 BM@3 BN@3 BO@2 BP BQ BR ~@9
>`.pickRestart({
A: "~@10 g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 ~@2 e2@2 ~ g2@2 a2@2 ~@3 e2@2 a2@2 ~ a1@2 ~@3 a1@2",
B: "~@2 d2@2 ~ d#2@2 e2@2 ~ g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 ~@2 e2@2 ~ g2@2 a2@2 ~ a1@2 ~@2 a1@2 ~@3 g2@2 ~ a2@2",
C: "~@2 e2@2 ~ g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 ~@3 e2@2 a2@2 a1@2 ~@3 a1@2 ~@3 d2@2 d#2@2 ~ e2@2 g2@2 ~ a2@2",
D: "~@2 e2@2 ~ g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 a1@2 ~@3 a1@2 ~@3 g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 ~@3 e2@2",
E: "g2@2 a2@2 ~@3 e2@2 ~ a2@2 a1@2 ~@3 a1@2 ~@3 d2@2 d#2@2 e2@2 ~ g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 ~@3 e2@2",
F: "g2@2 a2@2 ~ a1@2 ~@3 a1@2 ~@2 g2@2 ~ a2@2 ~@3 e2@2 g2@2 a2@2 ~@3 e2@2 ~ g2@2 a2@2 ~@3 e2@2 a2@2 ~ a1@2",
G: "~@2 a1@2 ~@3 d2@2 ~ d#2@2 e2@2 g2@2 ~ a2@2 ~@3 e2@2 g2@2 a2@2 ~@3 e2@2 ~ g2@2 a2@2 a1@2 ~@3 a1@2 ~@3",
H: "g2@2 a2@2 ~@3 e2@2 ~ g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 ~@2 e2@2 ~ a2@2 a1@2 ~@3 a1@2 ~@3 d2@2 d#2@2 ~ e2@2",
I: "g2@2 a2@2 ~@3 e2@2 ~ g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 a1@2 ~@3 a1@2 ~@3 g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2",
J: "~@2 e2@2 ~ g2@2 a2@2 ~@3 e2@2 a2@2 ~ a1@2 ~@3 a1@2 ~@2 d2@2 ~ d#2@2 e2@2 ~ g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2",
K: "~@2 e2@2 ~ g2@2 a2@2 ~ a1@2 ~@2 a1@2 ~@3 g2@2 ~ a2@2 ~@2 e2@2 ~ g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 ~@3 e2@2",
L: "a2@2 a1@2 ~@3 a1@2 ~@3 d2@2 d#2@2 ~ e2@2 g2@2 ~ a2@2 ~@2 e2@2 ~ g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 a1@2 ~@3",
M: "a1@2 ~@3 g2@2 a2@2 ~ e2@9 f#2 g#2@9 e2@9 c#2@10", N: "e2@10 f#2 g#2@8 c#3 ~@2 b2@7 e2@9 g#2@10",
O: "e2@10 b1@9 e2@10 g#2@9 e2@10", P: "c#3 ~ b2 ~@2 e3@2 f#3@2 ~ e3 ~ c#3 ~ b2@5 e2@10 f#2 g#2@8 e2@10",
Q: "c#2@10 e2@9 f#2 g#2@9 c#3 ~ b2@7 e2@10", R: "g#2@10 e2@9 b1@10 e2@9 g#2@10",
S: "e2@10 c#3 ~ b2@5 ~@2 e2@8 ~@2 g2@2 a2@2 ~@3 e2@2 g2@2 ~ a2@2 ~@3 e2@2",
T: "a2@2 a1@2 ~@3 a1@2 ~@3 d2@2 d#2@2 ~ e2@2 g2@2 ~ a2@2 ~@2 e2@2 ~ e2@9 f#2 g#2@9",
U: "e2@10 c#2@9 e2@10 f#2 g#2@8 c#3 ~@2 b2@7", V: "e2@10 g#2@9 e2@10 b1@9 e2@10",
W: "g#2@10 e2@9 c#3 ~@2 b2 ~ e3@2 f#3@2 ~ e3 ~ c#3 ~@2 b2@4 e2@10", X: "f#2 g#2@9 e2@9 c#2@10 e2@9 f#2 g#2@9",
Y: "c#3 ~ b2@7 ~ e2@9 g#2@10 e2@9 b1@10", Z: "e2@10 g#2@9 e2@10 c#3 ~ b2@5 ~@2 e2@8 ~@2",
AA: "e2@2 f#2@2 ~@3 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2 ~@2 c#2@2 ~ f#2@2 f#1@2 ~@3 f#1@2 ~@3 b1@2 c2@2 ~ c#2@2",
AB: "e2@2 f#2@2 ~@3 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2 f#1@2 ~@3 f#1@2 ~@3 e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2",
AC: "~@2 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 f#2@2 ~ f#1@2 ~@3 f#1@2 ~@2 b1@2 ~ c2@2 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2",
AD: "~@2 c#2@2 ~ e2@2 f#2@2 ~ f#1@2 ~@2 f#1@2 ~@3 e2@2 ~ f#2@2 ~@2 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2 ~@3 c#2@2",
AE: "f#2@2 f#1@2 ~@3 f#1@2 ~@3 b1@2 c2@2 ~ c#2@2 e2@2 ~ f#2@2 ~@2 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2 f#1@2 ~@3",
AF: "f#1@2 ~@3 e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2 ~@3 c#2@2 e2@2 f#2@2 ~@3 c#2@2 ~ f#2@2 f#1@2 ~@3 f#1@2 ~@3 b1@2",
AG: "c2@2 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2 ~@3 c#2@2 e2@2 f#2@2 ~ f#1@2 ~@3 f#1@2 ~@2 e2@2 ~ f#2@2 ~@3 c#2@2",
AH: "e2@2 f#2@2 ~@3 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 f#2@2 ~ f#1@2 ~@2 f#1@2 ~@3 b1@2 ~ c2@2 c#2@2 e2@2 ~ f#2@2 ~@3 c#2@2",
AI: "e2@2 f#2@2 ~@3 c#2@2 ~ e2@2 f#2@2 f#1@2 ~@3 f#1@2 ~@3 e2@2 f#2@2 ~@3 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2",
AJ: "~@2 c#2@2 ~ f#2@2 f#1@2 ~@3 f#1@2 ~@3 b1@2 c2@2 ~ c#2@2 e2@2 f#2@2 ~@3 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2",
AK: "f#1@2 ~@3 f#1@2 ~@3 e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2 ~@2 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 f#2@2 ~ f#1@2 ~@3 f#1@2",
AL: "~@2 b1@2 ~ c2@2 c#2@2 ~ e2@2 f#2@2 ~@3 c#2@2 e2@2 ~ f#2@2 ~@2 c#2@2 ~ e2@2 f#2@2 ~ f#1@2 ~@2 f#1@2 ~@3 e2@2 ~ f#2@2",
AM: "g2 a2@14 a2 g2 f2 e2 d#2 d2 c#2 c2 b1 a#1 a1 ~ g#1 g1 f#1 f1 e1 d1 c#1 ~@14",
AN: "a#2@2 c3@2 ~@3 g2@2 ~ a#2@2 c3@2 ~@3 g2@2 a#2@2 ~ c3@2 ~@2 g2@2 ~ c3@2 c2@2 ~@3 c2@2 ~@3 f2@2 f#2@2 ~ g2@2",
AO: "a#2@2 c3@2 ~@3 g2@2 ~ a#2@2 c3@2 ~@3 g2@2 a#2@2 ~ c3@2 c2@2 ~@3 c2@2 ~@3 a#2@2 c3@2 ~@3 g2@2 a#2@2 ~ c3@2",
AP: "~@2 g2@2 ~ a#2@2 c3@2 ~@3 g2@2 c3@2 ~ c2@2 ~@3 c2@2 ~@2 f2@2 ~ f#2@2 g2@2 ~ a#2@2 c3@2 ~@3 g2@2 a#2@2 ~ c3@2",
AQ: "~@2 g2@2 ~ a#2@2 c3@2 ~ c2@2 ~@2 c2@2 ~@3 a#2@2 ~ c3@2 ~@2 g2@2 ~ a#2@2 c3@2 ~@3 g2@2 a#2@2 ~ c3@2 ~@3 g2@2",
AR: "c3@2 c2@2 ~@3 c2@2 ~@3 f2@2 f#2@2 ~ g2@2 a#2@2 ~ c3@2 ~@2 g2@2 ~ a#2@2 c3@2 ~@3 g2@2 a#2@2 ~ c3@2 c2@2 ~@3",
AS: "c2@2 ~@3 a#2@2 c3@2 ~@3 g2@2 a#2@2 ~ c3@2 ~@3 g2@2 a#2@2 c3@2 ~@3 g2@2 ~ c3@2 c2@2 ~@3 c2@2 ~@3 f2@2",
AT: "f#2@2 g2@2 ~ a#2@2 c3@2 ~@3 g2@2 a#2@2 ~ c3@2 ~@3 g2@2 a#2@2 c3@2 ~ c2@2 ~@3 c2@2 ~@2 a#2@2 ~ c3@2 ~@3 g2@2",
AU: "a#2@2 c3@2 ~@3 g2@2 ~ a#2@2 c3@2 ~@3 g2@2 c3@2 ~ c2@2 ~@2 c2@2 ~@3 f2@2 ~ f#2@2 g2@2 a#2@2 ~ c3@2 ~@3 g2@2",
AV: "a#2@2 c3@2 ~@3 g2@2 ~ a#2@2 c3@2 c2@2 ~@3 c2@2 ~@3 [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 [g2,c3]@2 [a#2,f3]@2 ~ c3@2, ~@45 g3@2 ~", // A#5 C5 A#5 C5 A#5
AW: "~@2 g2@2 ~ [c3,g3]@2 c2@2 ~@3 c2@2 ~@3 f2@2 f#2@2 ~ g2@2 [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 ~ [c3,g3]@2", // C5 A#5 C5 A#5 C5 A#5 C5
AX: "c2@2 ~@3 c2@2 ~@3 [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 ~ [c3,g3]@2 ~@2 [g2,c3]@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [c3,g3]@2 ~ c2@2 ~@3 c2@2", // A#5 C5 A#5 C5 A#5 C5
AY: "~@2 f2@2 ~ f#2@2 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 ~ [c3,g3]@2 ~@2 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~ c2@2 ~@2 c2@2 ~@3 [a#2,f3]@2 ~ [c3,g3]@2", // A#5 C5 A#5 C5 A#5 C5 A#5 C5
AZ: "~@2 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 [g2,c3]@2 [a#2,f3]@2 ~ [c3,g3]@2 ~@3 g2@2 [c3,g3]@2 c2@2 ~@3 c2@2 ~@3 f2@2 f#2@2 ~ g2@2 [a#2,f3]@2 ~ [c3,g3]@2", // A#5 C5 A#5 C5 A#5 C5
BA: "~@2 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 ~ [c3,g3]@2 c2@2 ~@3 c2@2 ~@3 [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 ~ [c3,g3]@2 ~@3 [g2,c3]@2", // A#5 C5 A#5 C5 A#5 C5 A#5 C5
BB: "[a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 ~ [c3,g3]@2 c2@2 ~@3 c2@2 ~@3 f2@2 f#2@2 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 ~ [c3,g3]@2 ~@3 g2@2", // A#5 C5 A#5 C5 A#5 C5
BC: "[a#2,f3]@2 [c3,g3]@2 ~ c2@2 ~@3 c2@2 ~@2 [a#2,f3]@2 ~ [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 [c3,g3]@2 ~@3 [g2,c3]@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [c3,g3]@2 ~ c2@2", // A#5 C5 A#5 C5 A#5 C5 A#5 C5
BD: "~@2 c2@2 ~@3 f2@2 ~ f#2@2 g2@2 [a#2,f3]@2 ~ [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 c2@2 ~@3 c2@2 ~@3", // A#5 C5 A#5 C5 A#5 C5
BE: "[a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 [g2,c3]@2 [a#2,f3]@2 ~ c3@2 ~@2 g2@2 ~ [c3,g3]@2 c2@2 ~@3 c2@2 ~@3 f2@2 f#2@2 ~ g2@2, ~@21 g3@2 ~@25", // A#5 C5 A#5 C5 A#5 C5
BF: "[a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 ~ [c3,g3]@2 c2@2 ~@3 c2@2 ~@3 [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 ~ [c3,g3]@2", // A#5 C5 A#5 C5 A#5 C5 A#5 C5 …
BG: "~@2 [g2,c3]@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [c3,g3]@2 ~ c2@2 ~@3 c2@2 ~@2 f2@2 ~ f#2@2 g2@2 ~ [a#2,f3]@2 [c3,g3]@2 ~@3 g2@2 [a#2,f3]@2 ~ [c3,g3]@2", // C5 A#5 C5 A#5 C5 A#5 C5
BH: "[c#2@17 g#1@12 c#2@17 g#1@12 c#2@16 g#1@12 c#2@17 f#1@7 e1@5 c#1@17 g#1@12]/3",
BI: "[c#2@17 g#1@12 c#2@17 g#1@12 c#2@16 f#1@7 ~ e1@4 c#1@17 g#1@12 c#2@17 d#2@12]/3",
BJ: "[c#2@17 g#1@12 c#2@17 f#1@7 e1@5 c#1@16 g#1@12 c#2@17 d#2@12 c#2@17 g#1@12]/3",
BK: "[c#2@17 f#1@7 e1@5 c#2@17 g#1@12 c#2@16 g#1@12 c#2@17 g#1@12 c#2@17 f#1@7 e1@5]/3",
BL: "[c#1@17 g#1@12 c#2@17 g#1@12 c#2@16 g#1@12 c#2@17 f#1@7 e1@5 c#2@17 g#1@12]/3",
BM: "[c#2@17 g#1@12 c#2@17 g1@12 e1@16 c2 d2@11 e1@17 b1 c#2@11 e1@17 c2@12]/3",
BN: "[e1@5 ~@2 d1@2 ~@3 e1@5 ~@2 a1@3 ~@2 g1@3 ~@2 e1@16 c2 d2@12 e1@16 b1 c#2@11 e1@17 c2@12 e1@5 ~@2 d1@2 ~@3 e1@5 ~@2 a1@3 ~@2 g1@3 ~@2]/3",
BO: "[e1@17 c2 d2@11 e1@17 c#2@12 e1@17 c2@11 e1@5 ~@3 d1@2, ~@46 b1 ~@49]/2",
BP: "~@2 e1@5 ~@3 a1@3 ~ g1@3 ~@2 e1@17 c2 d2@11", BQ: "e1@17 c#2@11 ~ e1@5 ~@2 d1@2 ~@3 e1@5 ~@2, ~@17 b1 ~@30",
BR: "a1@3 ~@2 g1@3 ~@40",
})).s("gm_fretless_bass").gain(0.2)
// chords · overdriven guitar · "overdrive guitar"
const overdriven_guitar = note("<~@73 A B C D B C D B C D B C D B C D E F G H F G H F G I ~@9>".pickRestart({
A: "~@29 [g#4,c#5]@5 ~@2 [f#4,b4]@2 ~@3 [g#4,c#5]@5 ~@2", // C#5 B5 C#5
B: "[c#5,f#5]@2 ~@3 [b4,e5]@2 ~@3 [g#4,c#5]@5 ~@2 [f#4,b4]@2 ~@3 [g#4,c#5]@5 ~@2 [c#5,f#5]@2 ~@3 [b4,e5]@2 ~@2 [g#4,c#5]@5 ~@3 [f#4,b4]@2", // F#5 E5 C#5 B5 C#5 F#5 E5 C#5 …
C: "~@2 [g#4,c#5]@5 ~@3 [c#5,f#5]@2 ~@2 [b4,e5]@2 ~@3 [g#4,c#5]@5 ~@2 [f#4,b4]@2 ~@3 [g#4,c#5]@5 ~@2 [c#5,f#5]@2 ~@3 [b4,e5]@2 ~@3", // C#5 F#5 E5 C#5 B5 C#5 F#5 E5
D: "[g#4,c#5]@5 ~@2 [f#4,b4]@2 ~@3 [g#4,c#5]@5 ~@2 [c#5,f#5]@2 ~@3 [b4,e5]@2 ~@3 [g#4,c#5]@5 ~@2 [f#4,b4]@2 ~@3 [g#4,c#5]@5 ~@2", // C#5 B5 C#5 F#5 E5 C#5 B5 C#5
E: "[c#5,f#5]@2 ~@3 [b4,e5]@2 ~@3 [b4,e5]@5 ~@2 [a4,d5]@2 ~@3 [b4,e5]@5 ~@2 [e5,a5]@2 ~@3 [d5,g5]@2 ~@2 [b4,e5]@5 ~@3 [a4,d5]@2", // F#5 E5 D5 E5 A5 G5 E5 D5
F: "~@2 [b4,e5]@5 ~@3 [e5,a5]@2 ~@2 [d5,g5]@2 ~@3 [b4,e5]@5 ~@2 [a4,d5]@2 ~@3 [b4,e5]@5 ~@2 [e5,a5]@2 ~@3 [d5,g5]@2 ~@3", // E5 A5 G5 E5 D5 E5 A5 G5
G: "[b4,e5]@5 ~@2 [a4,d5]@2 ~@3 [b4,e5]@5 ~@2 [e5,a5]@2 ~@3 [d5,g5]@2 ~@3 [b4,e5]@5 ~@2 [a4,d5]@2 ~@3 [b4,e5]@5 ~@2", // E5 D5 E5 A5 G5 E5 D5 E5
H: "[e5,a5]@2 ~@3 [d5,g5]@2 ~@3 [b4,e5]@5 ~@2 [a4,d5]@2 ~@3 [b4,e5]@5 ~@2 [e5,a5]@2 ~@3 [d5,g5]@2 ~@2 [b4,e5]@5 ~@3 [a4,d5]@2", // A5 G5 E5 D5 E5 A5 G5 E5 …
I: "[e5,a5]@2 ~@3 [d5,g5]@2 ~@41", // A5 G5
})).s("gm_overdriven_guitar").gain(0.15)
// drums · kick
const kick = s("bd").struct(`<
~@4
[~@10 x ~@8 x ~@9 x ~@8 x ~@9]
[x ~@9 x ~@8 x ~@9 x ~@8 x ~@9]!44
x!4
[x ~@9 x ~@8 x ~@9 x ~@8 x ~@9]!45
~@10
>`).gain(0.4)
// drums · snare
const snare = s("sd").struct(`<
~@52 A B C D E F G B H B I J K L M B H N O D P Q R Q R Q R Q R Q R Q R Q R Q R Q R Q R Q R Q R Q S ~@9
>`.pickRestart({
A: "~@43 x!2 ~ x!2", B: "~@10 x ~@18 x ~@11 x ~@6", C: "~@10 x ~@11 x ~@11 x ~@6 x ~@6",
D: "~@10 x ~@13 x ~@11 x!2 ~@3 x ~@6", E: "~@5 x ~@4 x ~@18 x ~@13 x ~@4", F: "~@10 x ~@6 x ~@11 x ~@11 x ~@6",
G: "~@10 x ~@6 x!2 ~@3 x ~@11 x ~@3 x ~@9", H: "~@5 x ~@6 x ~@6 x ~@4", I: "~@10 x ~@18 x ~@6 x ~@11",
J: "~@10 x ~@18 x ~@11 x!2 ~@3 x ~", K: "~@5 x ~@4 x ~@18 x ~@16 x!2", L: "~@2 x ~@7 x ~@18 x ~@11 x ~@4 x ~",
M: "~@10 x ~@6 x!2 ~@3 x ~@8 x ~@6 x ~@9", N: "~@10 x ~@18 x ~@18", O: "x ~@18 x ~@18 x ~@7 x ~",
P: "~@10 x ~@18 x ~@13 x ~@4", Q: "~@2 x ~@7 x ~@6 x ~@4 x ~@6 x ~@6 x ~@4 x ~@6",
R: "x ~@6 x ~@4 x ~@6 x ~@6 x ~@4 x ~@6 x ~@7 x ~", S: "x ~@4 x ~@42",
})).gain(0.23)
// drums · low tom
const low_tom = s("lt").struct("<~@98 [x ~@4 x ~@42] ~@9>").gain(0.35)
// drums · pedal hat
const pedal_hat = s("hh").struct(`<
~@53 A B A B A B A B A B A B A C A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A ~@10
>`.pickRestart({
A: "~@10 x ~@18 x ~@18", B: "x ~@18 x ~@18 x ~@9", C: "x ~@18 x ~@28",
})).gain(0.35)
// drums · crash
const crash = s("cr").struct("<~@49 x!4 ~@5 [~@17 x ~ x ~@4] ~@7 [~@17 x ~@6] ~@41>").gain(0.52)
// drums · congas
const congas = s("conga:13").struct(`<
~@53 A B A C D E A B A B A F D G A B A B A C H I J K H I J K H I J K H I J K H I J K H I J K L ~@10
>`.pickRestart({
A: "x ~@4 x ~ x ~@4 x ~ x ~@4 x ~@2 x ~@3 x ~@4 x ~@2 x ~@3 x ~@4 x ~@4",
B: "x ~@4 x ~ x ~@4 x ~ x ~@4 x ~@4 x ~@4 x ~ x ~@4 x ~ x ~@4 x ~@4",
C: "x ~@4 x ~@6 x ~ x ~@4 x ~@4 x ~@2 x ~@3 x ~@2 x ~@3 x ~@4 x ~@4",
D: "~@2 x ~@2 x ~@4 x ~ x ~@4 x ~@4 x ~ x ~@6 x ~@2 x ~@3 x ~@4 x ~@4",
E: "x ~@4 x ~ x ~@4 x ~ x ~@4 x ~@4 x ~@4 x ~ x ~@16",
F: "x ~@4 x ~@6 x ~ x ~@4 x ~@4 x ~ x ~@4 x ~@2 x ~@3 x ~@4 x ~@4",
G: "x ~@4 x ~ x ~@4 x ~ x ~@4 x ~@4 x ~@6 x ~@4 x ~@6 x ~@4",
H: "x ~@4 x ~ x ~@4 x ~ x ~@4 x ~@2 x ~@3 x ~@4 x ~@2 x ~@3 x ~@4 x ~@2 x ~",
I: "~@2 x ~@2 x ~@4 x ~ x ~@4 x ~@4 x ~ x ~@4 x ~@4 x ~ x ~@4 x ~ x ~@4",
J: "x ~ x ~@4 x ~@4 x ~ x ~@4 x ~@4 x ~ x ~@4 x ~@2 x ~@3 x ~@2 x ~@4 x ~",
K: "~@2 x ~@2 x ~@4 x ~@3 x ~@2 x ~@4 x ~ x ~@4 x ~ x ~@4 x ~@4 x ~ x ~@4",
L: "x ~ x ~@4 x ~@4 x ~ x ~@4 x ~@4 x ~ x ~@4 x ~@2 x ~@3 x ~@2 x ~@6",
})).gain(1.11)
// drums · ht
const ht = s("ht").struct(`<
~@4 A B C D E F G H I J K L M B C D E F G H I J K L M B C D E F G H I H I J K L N O P Q R S B ~@46 T U V ~@10
>`.pickRestart({
A: "~@17 x ~@11 x ~@11 x ~@4 x ~", B: "~@5 x ~@5 x ~@5 x ~ x ~@4", C: "~@2 x ~@11 x ~@11 x ~@4 x ~@11 x ~@4",
D: "~@7 x ~@11 x ~@4 x ~@11 x ~@11", E: "x ~@11 x ~@4 x ~@11 x ~@11 x ~@6", F: "~@5 x ~@4 x ~@11 x ~@11 x ~@11 x ~",
G: "~@2 x ~@11 x ~@11 x ~@11 x ~@4 x ~@4", H: "~@7 x ~@11 x ~@11 x ~@4 x ~@11", I: "x ~@11 x ~@11 x ~@4 x ~@11 x ~@6",
J: "~@5 x ~@11 x ~@4 x ~@11 x ~@11 x ~", K: "~@5 x ~ x ~@5 x ~@5 x ~@4", L: "~@2 x ~@4 x ~@11 x ~@11 x ~@11 x ~@4",
M: "x ~@16 x ~@11 x ~@11 x ~@4 x ~", N: "x ~@11 x ~@11 x ~@11 x ~@4 x ~@6", O: "~@5 x ~@11 x ~@11 x ~@4 x ~@11 x ~",
P: "~@5 x ~@5 x ~ x ~@5 x ~@4", Q: "~@2 x ~@11 x ~@4 x ~@11 x ~@11 x ~@4", R: "~@7 x ~@4 x ~@11 x ~@11 x ~@11",
S: "x ~@4 x ~@11 x ~@11 x ~@11 x ~@4 x ~", T: "~@12 x ~@6 x ~@6 x ~@7 x ~@3 x ~@4 x ~@2 x ~",
U: "~@2 x ~@7 x ~@3 x ~@2 x ~@4 x ~ x ~@4 x ~@4 x ~@6 x ~@6",
V: "x ~@4 x ~@6 x ~ x ~@4 x ~@6 x ~@4 x ~@6 x ~@4 x ~@4",
})).gain(0.29)
// drums · claves
const claves = s("clave:2").struct(`<
~@53 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A C ~@9
// … 15 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.