Strudelify

In the Court of Crimson King

King Crimson

KeyB minorTempo72 bpm
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