0:00/0:00
// Exiles — King Crimson
// 77 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: pitch bends are ignored
// note: duplicate parts dropped: ch 2 violin (copy of ch 12 violin)
// note: Full arrangement: all 121 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(77/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.
// other · alto sax
const alto_sax = note("<~@22 A@2 B C@3 ~@22 D@2 E F G ~ D@2 E F G H I J K L M@4 N O@4 P@5 Q R@3 ~@37>".pickRestart({
A: "[f#4@26 ~ f#4@4 g4@4 ~ f#4@20 ~ e4@5 ~ d4@2 ~ e4@29 ~]/2", B: "f#4@26 ~ f#4@4 g4@4 ~ f#4@5 ~ e4@2 ~ d4@2 ~",
C: "[e4@5 ~ e4@17 ~@7 e4@2 ~ f#4@2 ~ e4@5 ~ d4@2 ~ c4@5 ~ d4@5 ~ d4@5 ~ b3@2 ~ b3@35 ~ a3@41 ~]/3",
D: "[f#4@26 ~ f#4@5 ~ g4@2 ~ f#4@17 ~ e4@2 ~ d4@2 ~ e4@35 ~]/2",
E: "f#4@2 ~ f#4@5 ~ f#4@17 ~ f#4@2 ~ g4@2 ~ f#4@8 ~ e4@2 ~ d4@2 ~", F: "e4@29 ~ e4@2 ~ f#4@2 ~ e4@5 ~ d4@3 c4@2 ~",
G: "d4@8 ~ d4@5 ~ b3@2 ~ b3@29 ~", H: "a3@47 ~", I: "f#3@11 ~ g#3@6 a3@6 b3@6 a3@6 ~ g#3@11",
J: "~ f#3@11 ~ g#3@6 a3@6 b3@6 a3@6 g#3@6 e3@5", K: "~@2 e4@11 ~ c#4@34",
L: "~@2 b3@11 ~ c#4@6 ~ d4@6 e4@6 d4@6 c#4@9",
M: "[~@3 b3@11 ~ c#4@6 d4@6 e4@6 ~ d4@6 c#4@6 b3@6 f#4@11 ~ f#4@36 ~ e4@11 ~ f#4@6 g4@6 a4@6 g4@6 f#4@11 ~ e4@11 ~@2 f#4@6 g4@6 a4@6 g4@6 f#4@6]/4",
N: "e4@6 d4@18 ~ d4@12 ~@11",
O: "[~@8 c#4@12 d#4@6 f4@6 f#4@6 ~ f4@6 d#4@12 c#4@12 ~ d#4@6 f4@6 f#4@6 f4@6 d#4@6 ~ c#4@6 c4@49 b3@12 ~ c#4@6 d4@6 e4@6 d4@5]/4",
P: "[~ c#4@12 ~ b3@12 c#4@6 d4@6 ~ e4@6 d4@6 c#4@6 b3@6 a#3@24 ~ d4@24 ~ f#4@30 f#4@3 g4@3 ~ f#4@6 e4@3 d4@3 e4@48 f#4@30]/5",
Q: "~ f#4@3 g4@3 f#4@6 e4@3 d4@3 e4@9 e4@20",
R: "[~@2 e4@3 f#4@3 e4@6 d4@3 c4@3 d4@9 d4@6 b3@3 b3@29 ~@2 b3@3 c4@3 b3@3 c4@3 b3@3 c4@3 b3@3 c4@3 b3@6 ~@45]/3",
})).s("gm_alto_sax").gain(0.43)
// other · flute
const flute = note("<~@16 A B A C D ~@26 E@2 ~@6 F G H I J ~@23 K@2 L@7 M@5 ~@24>".pickRestart({
A: "~@24 a4@3 g4@3 f#4@3 g4@3 a4@11 ~", B: "~@12 f#4@8 ~ g4@8 ~ f#4@5 ~ e4@11 ~", C: "f#4@8 ~ g4@8 ~ c5@29 ~",
D: "b4@23 ~ f#4@23 ~",
E: "[~@12 d4@2 ~ e4@2 ~ f#4 ~@2 f#4@2 ~ f#4@2 ~ g4@2 ~ a4 ~@2 a4@5 ~ g4@2 ~ f#4@2 ~ g4@20 ~ f#4@5 ~ d4@23 ~]/2",
F: "a4@2 ~ b4@2 ~ a4@2 ~ b4@2 ~ a4@2 ~ b4@2 ~ a4@2 ~ b4@2 ~ a4@2 ~ b4@2 ~ a4@2 ~ b4@2 ~ a4@2 ~ b4@2 ~ a4@5 ~",
G: "~@12 d4@11 ~ f#4@2 ~ f#4@2 ~ f#4 ~@2 f#4@2 ~ f#4@2 ~ g4@2 ~ a4@5 ~", H: "a4@11 ~ g4@35 ~",
I: "~@18 f#4@2 ~ f#4@2 ~ f#4@3 ~ g4@3 ~ a4@3 ~ a4@5 ~ g4@2 ~ f#4@2 ~", J: "g4@23 ~@25",
K: "[~@46 f#4@9 a4@3 a4@3 g4@3 f#4@3 g4@3 f#4@9 g4@3 g4@11 ~@3]/2",
L: "[~@44 a4@3 a4@3 a4@3 ~ a4@3 a4@3 g4@4 f#4@4 g4@4 f#4@9 g4@3 g4@17 ~ g4@3 g4@3 g4@3 f#4@3 e4@6 ~ d4@39 d4@3 d4@6 b3@9 c4@3 ~ b3@9 c4@14 ~ a3@6 g3@6 ~@12 f#4@3 g4@3 a4@3 g4@3 a4@3 ~ g4@3 a4@3 g4@3 f#4@3 e4@3 d4@3 c4@3 b3@3 d4@3 e4@36 ~@13 f#4@3 g4@3 a4@3 g4@3 a4@2]/7",
M: "[~ g4@3 a4@3 g4@3 f#4@3 e4@3 d4@3 c4@3 b3@3 a3@3 b3@9 ~ c4@14 ~ c4@3 b3@3 a3@3 b3@3 a3@3 b3@3 b3@3 c4@3 b3@3 a3@3 g3@3 f#3@3 g3@3 f#3@3 g3@3 f#3@3 g3@3 ~ f#3@3 e3@12 g3@3 a3@3 b3@23 ~@13 c4@3 b3@3 ~ a3@3 g3@3 f#3@23 ~@42]/5",
})).s("gm_flute").gain(0.29).pan(0.2)
// other · flute · soft notes
const flute_soft = note("<~@119 A@2>".pickRestart({
A: "[~@10 c5@12 ~ b4@3 g4@3 ~@2 g4@2 ~ g4@2 f#4@2 ~ f#4@2 g4@2 ~ g4@2 f#4@15 ~@35, ~@30 f#4@2 ~ f#4@2 ~@3 g4@2 ~@3 f#4@2 ~@51]/2",
})).s("gm_flute").gain(0.17).pan(0.2)
// other · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@13 A B C D E F G H I J K L M N O ~@13 P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH ~@2 AI ~ AJ ~@2 AK ~@8 AL AM@2
AN@2 AO AP AQ AR@3 AS AT@3 AU AV@3 AW@4 AX AY@3 AZ@4 BA ~@3 BB BC BD@2 BE BF BG BH BI BJ
>`.pickRestart({
A: "~@2 g4@15 ~ e5@2 ~ c5@2 ~ g4@2 ~ e4@2 ~ c4@17 ~, g3@17 ~@31, ~ [c4,e4]@17 ~@30", // C
B: "~@2 d5@15 ~ e5@2 ~ d5@2 ~ b4@2 ~ f#4@2 ~ b3@17 ~, e4@17 ~@31, ~ [f#4,b4]@17 ~@30", // B5
C: "~@12 b5@2 ~ e5@2 ~ c5@2 ~ a5@2 ~ e5@2 ~ a4@2 ~ g5@2 ~ e5@2 ~ a4@2 ~ e5@2 ~ c5@2 ~ a4@2 ~",
D: "f#5@2 ~ d5@2 ~ a3@2 ~ a5@2 ~ d5@2 ~ a3@2 ~ a2@5 ~@25",
E: "~@12 f#5@2 ~ e5@2 ~ c5@3 f#5 g5@2 e5@2 ~ c5@2 ~ a5@2 ~ e5@2 ~ c5@2 ~ g5@2 ~ e5@2 ~ c5@2 ~",
F: "~@12 f#5@2 ~ d5@2 ~ a4@2 ~ a3@2 ~@25",
G: "f#5@2 ~ e5@2 ~ c5@2 ~ g5@2 ~ e5@2 ~ c5@2 ~ a5@2 ~ e5@2 ~ c5@2 ~ b5@2 ~ e5@2 ~ c5@2 ~ a5@2 ~ e5@2 ~ b5@2 ~@4",
H: "d6@2 ~ f#4@2 ~ b4@2 ~ f#4@2 ~ d4@5 ~ b5@2 ~ f#5@2 ~ f#5@2 ~ d5@2 ~ b4@5 ~ a5@2 ~ d5@2 ~ b4@5 ~",
I: "a4@5 ~ b5@2 ~ e5@2 ~ c5@2 ~ a5@2 ~ e5@2 ~ c5@2 ~ g5@2 ~ e5@2 ~ c5@2 ~ e5@2 ~ c5@2 ~ a4@2 ~ c5@5 ~",
J: "a4@5 ~ d5@2 ~ f#5@2 ~ a5@8 ~ f#5@2 ~ d5@2 ~ a4@2 ~ f#4@17 ~",
K: "e4@5 ~ f#4@2 ~ e5@2 ~ f#4@5 ~ e5@2 ~ f#4@2 ~ e4@5 ~ f#4@2 ~ e5@2 ~ c5@11 ~",
L: "a3@5 ~ d4@2 ~ f#4@2 ~ a4@11 ~@7 f#5@2 ~ g5@2 ~ f#5@2 ~ a4@2 ~ d4@5 ~",
M: "g4@5 ~ e5@2 ~ c5@2 ~ f#4@5 ~ e5@2 ~ c5@2 ~ e4@5 ~ e4@2 ~ f#4@2 ~ e4@5 ~ d4@2 ~ c4@2 ~",
N: "~@18 e5@2 ~ d5@2 ~ b4@2 ~ f#4@2 ~ e3@5 ~ e5@2 ~ d5@2 ~ b4@2 ~ f#4@2 ~",
O: "e5@2 ~ c5@2 ~ a4@2 ~ e4@2 ~ a3@5 ~ e5@2 ~ c5@2 ~ a4@2 ~ e4@2 ~ a3@5 ~ e5@2 ~ c5@2 ~ a4@5 ~",
P: "~@6 e5@2 ~ c5@2 ~ g4@2 ~ e5@2 ~ c5@2 ~ g4@2 ~ e5@2 ~ c5@2 ~ g4@2 ~ e5@2 ~ c5@2 ~ g4@2 ~ e5@2 ~ b4@2 ~",
Q: "d5@2 ~ b4@2 ~ f#4@2 ~ b4@2 ~ f#4@2 ~ d4@2 ~ f#4@3 d4@2 ~ b3@2 ~ a4@2 ~ b3@2 ~ e4@2 ~ d4@2 ~ b3@2 ~ e4@2 ~ b3@2 ~",
R: "b4@2 ~ e4@2 ~ a4@3 e4@2 ~ g4@2 ~ b3@2 ~ e4@2 ~ b3@2 ~ e3@2 ~ g3@2 ~ b3@2 ~ c4@2 ~ e4@2 ~ c4@2 ~ b3@2 ~ e3@2 ~",
S: "f#3@2 ~ a3@2 ~ d4@2 ~ f#4@2 ~ a4@11 ~ e5@2 ~ d5@2 ~ g4@2 ~ f#4@2 ~ a3@11 ~",
T: "~@6 b4@2 ~ e4@2 ~ c4@2 ~ a4@2 ~ e4@3 a3@2 ~ g4@2 ~ e4@2 ~ a3@2 ~ f#4@2 ~ e4@2 ~ a3@2 ~ e4@2 ~ a3@2 ~",
U: "f#4@2 ~ d4@2 ~ a3@3 e3@2 ~ f#4@2 ~ d4@2 ~ a4@17 ~@13",
V: "f#4@2 ~ e4@2 ~ c4@2 ~@10 a4@2 ~ e4@2 ~ c4@2 ~ g4@2 ~ e4@2 ~ c4@2 ~ a4@2 ~ e4@2 ~ g4@2 ~ e4@2 ~",
W: "b3@2 ~ d4@2 ~ a4@2 ~ d4@2 ~ b4@2 ~ d4@2 ~ d5@2 ~ d4@2 ~ f#4@2 ~ d4@2 ~ b3@2 ~ a4@2 ~ d4@2 ~ f#4@2 ~ d4@2 ~ b3@2 ~",
X: "a3@5 ~ e4@5 ~ b4@2 ~ e4@2 ~ c4@2 ~ a4@2 ~ e4@2 ~ a3@2 ~ g4@2 ~ a3@2 ~ e4@2 ~ c4@2 ~ a3@5 ~",
Y: "d3@8 ~ f#3@2 ~ d3@5 ~ a4@5 ~ e5@2 ~ d5@2 ~@19",
Z: "g3@2 ~ c4@2 ~ e4@2 ~ a4@2 ~ e4@2 ~ c4@2 ~ g3@2 ~ e4@2 ~ c4@2 ~ g3@2 ~ a4@5 ~ e4@2 ~ c4@2 ~ g3@5 ~",
AA: "d3@5 ~ a3@5 ~ d4@2 ~ f#4@2 ~ a4@5 ~ a4@2 ~ f#4@2 ~ d4@2 ~ f#4@2 ~ a4@2 ~ f#4@2 ~ e4@2 ~ d4@2 ~",
AB: "~@6 f#4@2 ~ g4@2 ~ e5@2 ~ g4@2 ~ g4@2 ~ c5@2 ~ e5@2 ~ f#4@2 ~ g4@2 ~ e5@2 ~ g4@2 ~ c5@2 ~ e5@3 c5@2 ~",
AC: "~@6 e5@2 ~ d5@2 ~ b4@2 ~ f#4@2 ~ e5@2 ~ d5@2 ~ b4@2 ~ f#4@2 ~@7 e5@2 ~ d5@2 ~ b4@2 ~ f#4@2 ~",
AD: "~@24 e4@3 ~ b4@3 ~ c5@3 ~ e5@3 ~ c5@3 ~ b4@3 ~",
AE: "d3@5 ~ f#3@2 ~ a3@2 ~ d4@2 ~ a4@8 ~ d4@2 ~ a3@2 ~ f#3@2 ~ a3@2 ~ d4@2 ~ f#4@2 ~ d4@3 a3@2 ~",
AF: "~@6 g4@2 ~ e4@2 ~ g4@2 ~ e4@2 ~ c4@5 ~ g4@2 ~ e4@2 ~ g4@2 ~ e4@2 ~ e4@5 ~ g4@2 ~ e4@2 ~",
AG: "~@12 a4@5 ~ d4@2 ~ f#4@2 ~ d4@2 ~ f#4@2 ~ a4@2 ~ d4@2 ~ f#4@5 ~ d4@2 ~ c4@2 ~",
AH: "c4@2 ~ e4@2 ~ f#4@2 ~ e4@18 ~ b3@3 ~ c4@3 ~ e4@3 ~ c4@3 ~ g3@3 ~",
AI: "~@23 a4@25, ~@18 a3@29 ~, ~@5 d4@7, ~@21 f#4@26 ~", AJ: "~@2 b4, ~@13 a3@11, ~@9 c#4@7, ~@29 e4@19, ~@5 g#4@3",
AK: "~@11 a4@9 ~@4, ~@2 f#3@3 ~, ~@9 b3@11 ~@4, ~@19 d4@21 ~@8, ~@21 f#4@19 ~@8",
AL: "~@18 f#3@3 ~ a#3@3 c#4@3 f#4@3 c#4@3 a#3@6 ~@3 a#3@3 d4@2",
AM: "[~ f4@3 ~ a#4@3 f4@3 d4@6 ~@6 f#5@3 d5@3 a4@3 f#4@3 a3@29 ~@8 e4@3 g4@3 c5@3 e5@3 f#4@3 g4@3 c5@3 g4@3]/2",
AN: "[f#4@3 e4@3 f#4@11 ~@29 d4@6 g3@6 e4@9 ~@9 c4@3 f#4@11 ~@6]/2", AO: "~@23 d5@3 b4@3 f#4@3 b4@3 b4@3 d4@6 ~@4",
AP: "~@7 e4 g4 c5 g5 c5 g4 e4 c4 g3", AQ: "e3@3 c4@17 ~@5 f#5@3 d5@3 a4@3 d4@6 f#5@3 d5@3 a5@2",
AR: "[~ f#5@6 f#5@3 f#5@3 g5@6 c4@3 e4@3 f#4@3 g4@6 g5@3 ~ e5@3 c5@3 f#5@3 e5@3 g5@3 e5@3 c5@3 e5@3 f#5@3 e5@6 f#4@3 a4@3 e4@3 a4@3 e5@3 a4@3 e4@3 a4@3 f#4@3 g4@21 ~@19 g3@6]/3",
AS: "e4@3 g4@3 b4@6 g4@11 ~@17 e5@3 d5@3 b4@2",
AT: "[~ f#4@3 e5@3 d5@3 b4@3 f#4@3 e5@3 d5@3 b4@3 e4@3 f#4@3 g4@3 f#4@3 ~ g4@3 f#4@3 g4@3 f#4@3 g4@3 a4@9 g4@6 b4@3 e4@3 e4@6 b4@3 g4@3 c5@3 g4@3 b4@3 g4@3 b4@3 ~ g4@3 c5@3 g4@3 b4@3 g4@3 c5@3 g4@3 b4@6 f#5@3 e4@3 g5@3 e4@3 f#5@3]/3",
AU: "e4@3 g5@3 e4@3 f#5@3 e4@3 g5@3 e4@3 ~ f#5@3 e4@3 g5@3 e4@3 f#5@14",
AV: "[~@16 f#5@11 ~ g5@9 ~ g5@15 ~@6 e5@3 f#5@3 e5@6 c5@3 g4@3 b4@3 f#4@3 d5@3 f#4@3 b4@3 f#4@3 d4@6 ~@7 b3@6 g3@6 f#3@6 e3@9 c4@3 b3@3 e4@3]/3",
AW: "[c4@3 b3@26 ~@5 [a3,d4,f#4]@9 ~@4 [f#4,a4]@8 a3@6 d4@6 a4@11 ~@14 [b3,c4,e4,g4,b4]@9 ~@4 b4@5 f#4@11 ~ e4@6 e3@9 ~@3 e4@36 ~@4 b4@3 e5@3 f#5@3 e5@3, ~@46 e4@9 ~@46 b3@9 ~@27 a3@39 ~@16, ~@51 c4@4 ~@14 d4@19 ~@8, ~@103 e4@7 ~@82, ~@104 g4@6 ~@29 f#4@37 ~@16]/4", // D F#m Cmaj7
AX: "f#5@3 e5@3 g5@6 e5@3 f#5@6 e5@3 ~ g5@6 e5@3 d5@3 b4@3 e5@3 b4@3 d5@2",
AY: "[~ b4@3 f#4@3 e5@3 b4@3 f#4@3 d5@3 b4@3 f#4@3 e5@3 b4@3 f#4@3 e5@3 b4@3 ~@4 c5@3 b4@3 f#4@3 a4@3 b3@3 c4@3 g4@3 b3@3 g4@3 a4@6 b4@6 ~@12 [f#3,a3,d4]@11 ~@38]/3", // D
AZ: "[[e3,g3,c4]@11 ~@14 [e3,g3,c4]@11 ~ a3@33 ~@3 e5@12 c4@3 ~ e4@6 b3@3 e4@6 c4@3 e4@6 e4@6 ~@15 f#3@3 b3@3 d4@3 e4@3 d4@3 e4@3 ~ d4@3 b3@3 e4@3 d4@3 e4@3 d4@3 b3@3 f#3@9 g3@9, ~@70 a4@15 ~@107, ~@71 d5@14 ~@107, ~@72 f#5@13 ~@107]/4", // C
BA: "b3@3 c4@6 d4@6 e4@23 ~@10", BB: "~@43 b3@5",
BC: "~ a4@3 ~@12 b3@3 f#4@3 a4@3 b3 ~ f#4 ~ a4 ~ b4@6 b3 ~ f#4 ~ a4 f#4 ~ b3 f#4 ~ a4, ~@2 b4@9 ~@13",
BD: "[f#4 ~@10 a4 a4@3 a4 ~ d#4 b3 ~ a4 d#4 ~ b3 ~ c5 d#4 ~ b3 b4 ~ d#4 b3 ~ d#5 d#4 ~ b3 c5 ~ d#4 b3 ~ b4 d#4 ~ b3 d5@6 c5@6 ~ b4 a4 ~ f#4 b4 ~ a4 f#4 ~ b4 a4 ~ f#4 b3 ~@22]/2",
BE: "~@3 c4@6 b3@3 c4@3 d#4@3 c4@3 b3@6 ~@19 f#3@2",
BF: "~@2 b4@2 ~@3 g3@2 ~@2 b4@2 ~@2 f#3@2 ~@3 b4@2 ~@2 g3@2 ~@2 b4@2 ~@3 c4@2 ~@2 b4@2 ~@2 b3@2 ~@3 b4@2",
BG: "~@2 f#3@2 ~@2 b4@2 ~@3 g3@2 ~@2 b4@2 ~@2 f#3@2 ~@3 b4@2 ~@2 g3@2 ~@2 b4@2 ~@3 c4@2 ~@2 b4@2 ~@2 b3@2 ~",
BH: "~@2 b4@2 ~@2 f#3@2 ~@2 b4@2 ~@3 g3@2 ~@2 b4@2 ~@2 f#3@2 ~@3 b4@2 ~@2 g3@2 ~@2 b4@2 ~@3 c4@2 ~@2 b4@2 ~",
BI: "~ b3@2 ~@3 b4@2 ~@2 f#3@2 ~@2 b4@2 ~@3 g3@2 ~@2 b4@2 ~@2 f#3@2 ~@3 b4@2 ~@2 g3@2 ~@2 b4@2 ~@3 c4@2 ~",
BJ: "~ b4@2 ~@2 b3@2 ~@3 b4@2 ~@2 f#3@2 ~@2 b4@21 ~@9",
})).s("gm_acoustic_guitar_steel").gain(0.36).pan(0.8)
// other · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note("<~@116 A B C@3>".pickRestart({
A: "g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3",
B: "g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@3",
C: "[g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@3 g4@2 ~@2 g4@2 ~@2 g4@2 ~@30]/3",
})).s("gm_acoustic_guitar_steel").gain(0.14).pan(0.8)
// chords · synth strings 1
const synth_strings_1 = note(`<
~@13 A B C D E D E B C D E D E B C ~@13 A B C D E D E B C D E D E B C D E D E B C ~@15 F G@2 H I J K@2 L M N@2 O@7
~@15 P@8 ~@2
>`.pickRestart({
A: "[c4,e4,g4]@47 ~", B: "[b3,d4,f#4]@47 ~", C: "[a3,c4,e4]@47 ~", D: "[a3,d4,f#4]@47 ~", E: "[g3,c4,e4]@47 ~",
F: "~@17 [a3,d4,f#4]@31", G: "[~@3 [g3,c4,e4]@8 [a3,d4,f#4]@5]/2", H: "~@19 [g3,c4,e4]@29", I: "~@5 [b3,d4,f#4]@7",
J: "~@7 [a3,c4,e4]@9", K: "[~@11 [a3,d4,f#4]@24 [g3,c4,e4]@13]/2", L: "~@23 [a3,d4,f#4]@25", M: "~ [g3,c4,e4]",
N: "[~@25 [b3,d4,f#4]@48 [a3,c4,e4]@23]/2", // Bm Am
O: "[~@26 [a3,d4,f#4]@48 ~ [g3,c4,e4]@48 ~ [a3,d4,f#4]@48 [g3,c4,e4]@48 ~ [b3,d4,f#4]@48 ~ [a3,c4,e4]@48 ~@18]/7", // D C D C Bm Am
P: "[~@189 f#5@48 ~ [g4,b4,e5,f#5]@104 ~@42, ~@43 a4@195 ~@146, ~@46 c5@73 ~@73, ~@140 e5@97 ~@147]/8", // Em
})).s("gm_synth_strings_1").gain(0.36).pan(0.1)
// chords · synth strings 1 · soft notes
const synth_strings_1_soft = note("<~@107 A@5 ~@9>".pickRestart({
A: "[~@40 f#5@30 f#5@3 g5@3 f#5@6 e5@3 ~@4 [g4,c5,e5]@48 f#5@30 ~ f#5@3 g5@3 f#5@6 e5@3 ~@3 [g4,c5,e5]@48 ~@6, ~@40 [a4,d5]@48 ~@49 [a4,d5]@48 ~@55]/5", // C D5
})).s("gm_synth_strings_1").gain(0.21).pan(0.1)
// bass · fretless bass
const bass = note(`<
A B A B C@2 D B A B A B E F G H I J K L M N O L K L M P B ~@3 A B D B A B A B E Q R S T U K L M N V W X Y Z AA AB L K
L M P AC AD AE AF AG@4 AH AI AJ@3 AK@4 AL AM@2 AN@8 AO AP AQ AR AS@4 AT@2 AU@3 AV@8 AW AX AY AZ@5 ~@2
>`.pickRestart({
A: "~@24 f#2@11 ~ d2@5 ~ e2@5 ~", B: "b1@47 ~", C: "[~@24 f#2@11 ~ d2@5 ~ e2@53 ~]/2",
D: "~@12 d2@5 ~ e2@5 ~ f#2@11 ~ e2@5 ~ d2@5 ~", E: "~@24 f#2@11 ~ e2@5 ~ d2@5 ~",
F: "c2@23 ~ e1@2 ~@4 e1@11 ~ f#1@2 ~ g1@2 ~", G: "b1@23 ~ b2@2 ~ c#3@2 ~ d3@8 ~ c#3@2 ~ b2@5 ~",
H: "a2@2 ~ e2@2 ~ c2@2 ~ e2@2 ~ a1@17 ~ b1@5 ~ c2@5 ~ a1@5 ~", I: "d2@23 ~@4 d2@2 ~ g1@2 ~ g#1@2 ~ a1@8 ~ d2@2 ~",
J: "c2@5 ~ c2@17 ~@4 c3@2 ~ c2@2 ~ c2@2 ~ c3@11 ~", K: "d2@5 ~ d2@17 ~ d2@23 ~", L: "c2@5 ~ c2@17 ~ c2@23 ~",
M: "b1@5 ~ b1@17 ~ b1@23 ~", N: "a1@5 ~ a2@17 ~ a2@23 ~", O: "d2@47 ~", P: "a1@5 ~ a1@17 ~ a1@23 ~",
Q: "d1@23 ~ d1@2 ~@4 e1@8 ~ f#1@2 ~ f#1@2 ~ g1@2 ~", R: "b1@23 ~ b2@2 ~ b2@2 ~ b1@11 ~ b1@5 ~",
S: "a1@11 ~ a2@11 ~@4 c1@2 ~ e1@2 ~ g1@2 ~ b1@2 ~ c2@2 ~ b1@2 ~ g1@2 ~",
T: "e1@2 ~ d1@2 ~ d1@5 ~ d1@17 ~ a1@8 ~ a1@2 ~ d2@2 ~ d2@2 ~",
U: "c2@5 ~ c2@5 ~ g2@11 ~@4 b2@2 ~ g2@2 ~ g2@2 ~ c2@11 ~",
V: "d2@8 ~ d2@2 ~ d3@14 ~ a2@2 ~ a2@2 ~ a2@2 ~ d2@8 ~ d2@2 ~",
W: "c2@5 ~ c2@5 ~ c2@14 ~ c2@2 ~ c2@2 ~ e1@5 ~ g1@5 ~ a1@2 ~",
X: "d2@5 ~ d2@5 ~ d3@14 ~ a2@2 ~ a2@2 ~ a2@2 ~ d2@8 ~ d2@2 ~", Y: "c2@5 ~ c2@20 ~ g2@2 ~ c3@2 ~ c3@2 ~ g2@8 ~ d2@2 ~",
Z: "b1@5 ~ b1@20 ~ f#2@2 ~ g2@2 ~ b2@5 ~ b2@2 ~ a2@2 ~ g2@2 ~",
AA: "a1@5 ~ a1@17 ~ a1@2 ~ d2@2 ~ f#1@2 ~ g1@5 ~ a1@5 ~ b1@2 ~", AB: "d2@26 ~ a2@5 ~ a2@2 ~ d2@8 ~ d2@2 ~", AC: "d1",
AD: "~ d1@42 d1@5", AE: "~ c#1@21 c#1@2", AF: "~@2 g1@36 ~@4 d2@3 g2@3",
AG: "[d2@3 g1@17 ~ g1@6 f#1@17 ~@2 f#1@6 b1@42 b1@6 ~ a1@36 ~@3 d1@3 c#1@3 b0@3 a1@42 ~]/4",
AH: "a1@6 g1@18 ~ d1@6 g1@17", AI: "~ g1@6 ~ f#1@40", AJ: "[~@3 c#1@6 f#1@49 ~ f#1@24 ~ a1@18 a1@6 g1@36]/3",
AK: "[~@4 a1@2 b1@2 a1@2 g1@2 f#1@2 g1@30 ~ d1@6 g0@12 f#1@24 ~ a#1@12 ~@4 b1@3 c2@3 c#2@3 d2@23 ~@4 f#2@3 d2@3 d2@3 ~ a1@6 d2@3 e2@3 c2@5 ~ c2@17 ~@4 g2@3]/4",
AL: "f#2@3 g2@3 c3@9 g2@3 d2@6 ~ d2@17 ~@4 d3@2",
AM: "[~ a2@3 a2@3 d2@9 c#2@3 c2@9 c2@3 c3@9 ~ b2@3 a2@9 g2@3 f#2@3 e2@3 d2@3 c2@3 b1@6 b1@6 b2@11 ~@4 f#2]/2",
AN: "[~@2 e2@3 ~ d2@3 e2@3 d2@3 b1@6 a1@6 a1@6 e2@3 d2@3 c2@3 b1@3 a1@9 b1@3 c2@11 ~@2 d2@17 ~ d3@3 e3@3 f#3@11 ~ d3@9 c3@3 c2@6 c2@42 ~ d2@6 d2@42 ~ c2@6 c2@42 ~ b1@6 b1@42 a1@6 a1@42 ~ e2@11 ~ e2@9 c2]/8",
AO: "~@2 e2@3 ~ g2@3 e2@6 e2@3 d#2@3 d2@3 c#2@3 c2@6 c2@6 c3@9", AP: "~@6 g2@3 g2@3 g2@3 c2@9 ~ c2@3 d2@6 d2@14",
AQ: "~@7 d2@3 d3@3 d3@3 d3@11 ~ d3@3 d3@3 c3@6 ~ c3@7",
AR: "~@2 g2@3 c3@9 b2@3 a2@3 g2@3 f#2@3 e2@3 d2@3 c2@3 b1@11 ~@2",
AS: "[~@2 f#2@3 b2@3 ~ b2@9 d2@11 ~ a1@11 ~ a2@11 ~ c3@3 b2@3 a2@3 g2@3 f#2@3 ~@2 e2@3 ~ d2@3 ~ d2@27 d2@3 f#1@3 g1@3 a1@9 d2@3 c2@6 c2@17 ~@2 e2@3 c2@3 d2@6 c2@9 c2@3 d2@16]/4",
AT: "[~@2 c2@3 a1@9 ~ g1@3 f#1@9 e1@3 d1@3 c2@6 c2@17 ~@4 d2@3 c2@6 b1@9 ~ b1@3 b1@6 b1@6 f#2@2]/2",
AU: "[~ f#2@3 ~@3 a#2@3 ~@3 b2@3 f#2@3 b2@3 b1@9 b1@3 a1@11 ~@2 a2@3 e2@3 c2@3 e2@3 a1@6 b1@6 c2@11 ~ d2@6 d2@19 ~@3 d2@3 f#1@3 g1@3 a1@6 d2@3 c#2@3 c2@6 c2@6]/3",
AV: "[~@3 e2@3 g2@3 b2@3 c3@11 ~@2 g2@3 e2@3 d2@3 c2@3 a1@15 a2@9 a1@11 ~ a2@6 d2@6 c2@6 ~ c2@17 ~ c3@3 b2@9 a2@6 g2@6 b1@6 b1@17 ~@5 f#2@3 b1@3 b1@3 f#2@9 b1@3 a1@23 ~ e2@3 c2@3 c2@6 ~ a1@11 ~ d2@23 ~ f#1@3 ~@3 f#1@11 ~ a1@3 b1@3 ~ c2@23 ~ e1@3 ~@3 e1@11 ~ b1@3 c2@3 d2@23 ~@2 f#1@3 ~@3 f#1@6 a1@11 ~ c2@3 ~@3]/8",
AW: "c2@17 ~ g2@9 ~ g2@3 c2@6 d2@3 c2@3 b1@5", AX: "~ b2@6 b1@6 b2@6 b1@6 b2@6 b1@6 b2@6 ~ b1@4",
AY: "~ b2@3 b1@3 b2@3 b1@3 b2@3 b1@3 b2@3 b1@2",
AZ: "[~@2 b2@6 ~ b1@6 b2@6 b1@6 b2@6 b1@6 b2@6 b1@6 b2@6 b1@6 b2@6 b1@6 ~ b2@6 b1@6 b2@6 e2@104 ~@42]/5",
})).s("gm_fretless_bass").gain(0.43)
// chords · piano
const piano = note("<~@62 A B C D E@8 F G H I ~@43>".pickRestart({
A: "[d4,g#4,a4]", B: "~ [d4,g#4,a4]@47", C: "~ [c#4,e4,g#4,b4]@23", D: "~@11 b5@2 g6@3, ~ [d4,g4,b4]@23",
E: "[~@3 g3@18 g3@6 f#3@18 ~ f#3@6 ~@30 b4@3 c#5@3 d5@11 ~@2 [a3,c4,e4]@48 [a3,c4,e4]@48 ~ [g3,a#3,d4]@18 ~ g4@6 d5@6 a#4@6 g5@12 ~ [f#3,a#3,c#4]@12 [a#3,d#4]@6 [c#4,f4]@6 [c#4,f#4]@12 ~ [c#4,g#4]@6 [c#4,a#4]@6 [g#3,c#4]@6 [g#3,c#4]@6 ~ d#4@6 f4@6 f4@6 f#4@6 d#4@6 ~ f#2@6 f#2@3 c#3@3 f#3@3 a3@3 f#3@3 c4@3 a3@3 d#4@3 ~ c4@3 f#4@3 a3@3 d#4@3, ~@3 [d4,g4,b4]@23 ~ [c#4,f#4,a4]@23 ~@2 [b3,d4,f#4]@48 ~@210 a#3@12 c#4@12 ~@50]/8", // Am Gm F# D#5 C# F#5 C#5 F# …
F: "f#4@3 c4@3 a4@3 c4@3 b3@6 d4@6 ~ g4@23", G: "~ d4@3 ~ b4@3 g4@3 d5@3 ~@34",
H: "~@15 f#3@3 f#4@3 ~ c#4@3 f#4@3 f#4@3 c#4@3 f#3@6 a#3@3 a#4@3 f4@2", I: "~ a#4@3 ~ a#4@3 f4@3 a#3@6 ~@31",
})).s("gm_piano").gain(0.43).pan(0.3)
// other · distortion guitar
const distortion_guitar = note("<~@94 A@6 B@3 C@2 D E@2 ~@7 F@4 ~@2>".pickRestart({
A: "[~@30 g4@60 ~ a3@30 f#4@3 g4@3 a4@11 ~@2 b4@11 ~ b4@3 c5@3 b4@3 c5@3 b4@3 a4@3 g4@3 f#4@3 g4@3 a4@3 g4@3 f#4@3 a3@30 ~ b3@6 c4@3 e4@3 b4@3 c5@3 b4@23 ~@5 b4@3 d5@3 f#5@3 b5@14, ~@140 a#4 ~@147]/6",
B: "[~@4 a5@3 g5@3 f#5@3 d5@3 b4@17 ~ b4@6 ~ c5@6 b4@6 a4@11 ~ b4@3 c5@3 a5@11 ~ g5@3 f#5@3 a4@3 e5@3 d5@3 a4@3 g4@3 ~ f#4@3 a3@17 ~ b3@3 c4@12 e4@3]/3",
C: "[g4@3 b4@6 b4@3 c5@3 e5@3 b5@6 ~ a5@3 g5@3 f#5@3 d5@3 a4@30 a4@3 b4@3 c5@6 d5@6 d5@11]/2",
D: "~@2 e5@11 ~ d5@11 ~ c5@11 ~ b4@10",
E: "[~@2 a4@11 ~@2 f#4@3 e4@3 f#4@3 e4@3 d4@11 ~ c4@17 ~ b3@6 a3@11 ~@2 b3@6 c4@6 ~@8]/2", F: "[~@23 f#5@52 ~@21]/4",
})).s("gm_distortion_guitar").gain(0.36).pan(0.8)
// other · distortion guitar · soft notes
const distortion_guitar_soft = note("<~@107 A@5 ~@9>".pickRestart({
A: "[~@40 f#4@42 a3@3 b3@3 ~ c4@17 ~ e4@3 g4@3 b4@3 c5@3 b4@11 ~ a4@3 g4@3 f#4@42 ~ a3@3 b3@3 c4@17 ~ e4@6 b4@3 c5@3 ~ b4@17 ~@6]/5",
})).s("gm_distortion_guitar").gain(0.21).pan(0.8)
// drums · kick
const kick = s("bd").struct(`<
// … 120 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.