Strudelify

From the Beginning

Emerson, Lake & Palmer

KeyA minorTempo131 bpm
0:00/0:00
// From the Beginning — Emerson, Lake & Palmer
// 131 bpm, 4/4, key A minor. 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 12, 4/4 at bar 13, 2/4 at bar 40, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 8 fretless bass (copy of ch 7 acoustic bass)
// note: Full arrangement: all 136 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 25.
setcpm(131/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 · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@8 B@4 C D E D F G H@5 I J@6 C K@3 L@6 M@7 N@4 O@3 N@4 P@5 Q R S@7 T@3 U@7 V@6 W X Y@8 Z AA AB AA AC AD AC AD AC AD
  AC AD AC AD AC AD AC AD AC AA AC AD AC AD AC AD AC AD AC AE AF AG AH AI AJ AK AL@2
>`.pickRestart({
  A: "[~@19 e5@11 ~ d5@4 e5@5 b4@10 ~@2 a4@6 b4@2 ~ b4@2 e4@20 e4@2 ~ f#4@4 g4@3 ~@6 g3@5 g4@5 c5@5 c5@20 ~@2 c4@2 g4@5 b3@5 e4@24 ~@3 f#4@2 a4@2 f#4@2 a4@2 f#4@2 ~@4 a4@2 ~, ~@7 e2@86 ~ a2@38 ~@2 a2@38 ~ d3@11 ~ d3@7, ~@17 g4@14 ~@157 f#4@2 ~@2, ~@9 b4@6 ~@15 c5 ~@65]/8",
  B: "[f#4@2 a4@2 f#4@2 ~@2 f4@2 a#4@2 e4@2 a#4@2 f4@2 ~@2 f4@2 a#4@2 e4@2 ~ a#4@2 f4@2 ~@2 c4@2 f4@2 e4@2 f4@2 c4@2 ~@3 c4@2 f4@3 e4@2 f4@3 c4@2 ~@5 e4@26 f#2 g2@2 d3@3 f#2, ~@6 d3@11 ~ d3@11 ~@2 d3@12 d3@15 ~ d3@30 ~@7, ~@61 [c4,f4]@29 ~@6]/4", // F5
  C: "g2@2 ~@9 [b3,c4,e4,g4]@6 ~@3 [b3,c4,e4,g4]@3 ~, ~@2 a2@21 ~", // Cmaj7
  D: "~@11 [f#3,g3,d4]@6 ~@3 [f#3,g3,d4]@3 ~, ~@5 a2@18 ~", // Gmaj7
  E: "~@11 [b3,c4,e4,g4]@6 ~@3 [b3,c4,e4,g4]@3 ~, ~@5 a2@18 ~", // Cmaj7
  F: "~@11 [b3,c4,e4,g4]@6 b3 ~@2 [b3,c4,e4,g4]@3 ~, ~@5 a2@18 ~", // Cmaj7
  G: "~@11 [f#3,g3,d4]@6 g3 ~@2 [f#3,g3,d4]@3 ~, ~@5 a2@18 ~", // Gmaj7
  H: "[~@8 g3@3 e4@3 c3@3 ~@3 g3@3 d4@3 b2@3 ~@3 a3@3 c4@3 g4@3 c4@3 a3@3 f3@3 a3@3 ~@3 b3@3 d4@3 g4@3 d4@3 b3@3 g3@3 b3@3 ~@3 c4@3 f4@3 a4@3 f4@3 c4@3 d3@3 c4@3 d3@3 c4@3 f4@3 b3@3 f#2 g2@2 g3@3 f#2, ~@5 c3@9 ~@3 b2@9 ~@3 f3@17 ~@7 g3@18 ~@6 d3@18 ~@25]/5",
  I: "g2@2 ~@9 [b3,c4,e4,g4]@6 b3 ~@2 [b3,c4,e4,g4]@3 ~, ~@2 a2@21 ~", // Cmaj7
  J: "[~@11 [f#3,g3,d4]@6 g3 ~@2 [f#3,g3,d4]@3 [g3,b3]@3 g3@3 ~@3 g3@3 e4@3 c3@3 ~@3 g3@3 d4@3 b2@3 ~@3 a3@3 c4@3 g4@3 c4@3 a3@3 ~@3 a3@3 ~@3 b3@3 d4@3 g4@3 d4@3 b3@3 ~@3 b3@3 ~@3 c4@3 f4@3 a4@3 f4@3 c4@3 ~@3 c4@3 ~@3 c4@3 f4@3 b3@3 f#2 g2@2 g3@3 f#2, ~@5 a2@18 ~@6 c3@9 ~@3 b2@9 ~@3 f3@18 f3@6 g3@18 g3@6 d3@18 d3@6 d3@12 ~@7]/6", // Gmaj7 G
  K: "[~@5 [a2,f#3,g3,d4]@6 [f#3,g3,d4] ~@2 [f#3,g3,d4]@3 ~@3 [f#3,g3,d4]@3 [e3,g3,b3]@3 [g3,b3]@3 a2@6 [b3,c4,e4,g4]@6 [e3,g3]@3 [b3,c4,e4,g4]@3 [e3,g3]@3 [e3,g3]@3 ~@6 [f#3,g3,d4]@6 [e3,b3]@3 [f#3,g3,d4]@3 ~, ~@26 e3 ~@14 b3 ~@5 b3 ~@2 b3 ~@2 a2@18 ~, ~@65 g3 ~@6]/3", // D Gmaj7 Em G Cmaj7 Em Cmaj7 Em …
  L: "[~@8 a4@21 ~@3 a4@21 ~@3 a4@21 ~@5 b2@4 f3@4 a3@4 d4@4 e4@45 ~, ~@5 d3@24 d3@23 ~ d3@24 e2@66 ~, ~@6 c4@23 ~ b3@23 ~ c4@23 ~@67, ~@7 f4@22 ~@2 d4@22 ~@2 f4@22 ~@67]/6",
  M: "[[f#2,g2]@2 ~ d3@3 [f#2,g2]@2 ~@10 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@12 [f#3,g3,c4]@6 [e3,g3,b3]@3 [f#3,g3,c4]@3 ~@12 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@12 [f#3,g3,d4]@6 [e3,g3,b3]@3 [f#3,g3,c4]@3 ~@12 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@12 [f#3,g3,d4]@6 [e3,g3,b3]@3 [f#3,g3,d4]@3 ~@9 g3@3 e4@3 c3@3, ~@3 a2@7 ~@2 a2@6 ~@2 a2@6 ~@2 a2@6 ~@2 a2@6 ~@2 a2@6 ~@2 c3@3 ~]/7", // Gmaj7 Cmaj7 Em Cmaj7 C Em C Cmaj7 …
  N: "[~ g3 d4 b2 ~ a3 c4 g4 c4 a3 ~ a3 ~ b3 d4 g4 d4 b3 ~ b3 ~ c4 f4 a4 f4 c4 ~ c4 ~ c4 f4 b3, b2@3 ~ f3@6 f3@2 g3@6 g3@2 d3@6 d3@2 d3@4]/4",
  O: "[[f#2,g2]@2 ~ g3@3 [f#2,g2]@2 ~@10 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@12 [f#3,g3,d4]@6 [e3,g3,b3]@3 [f#3,g3,d4]@3 [g3,b3]@3 g3@2 ~@4 g3@3 e4@3 c3@3, ~@3 a2@7 ~@2 a2@6 ~@2 c3@3 ~]/3", // Gmaj7 Cmaj7 Em Cmaj7 Gmaj7 Em Gmaj7 G
  P: "[[f#2,g2]@2 ~ g3@3 [f#2,g2]@2 ~@10 [b3,c4,e4,g4]@6 b3 ~@2 [b3,c4,e4,g4]@3 ~@12 [f#3,g3,d4]@6 g3 ~@2 [f#3,g3,d4]@3 ~@12 [b3,c4,e4,g4]@6 ~@3 [b3,c4,e4,g4]@3 ~@12 [f#3,g3,d4]@6 [e3,g3,b3]@3 [f#3,g3,c4]@3 ~@12 [c4,f4,a4]@6, ~@3 a2@7 ~@2 a2@6 ~@2 a2@6 ~@2 a2@6 ~@2 d3@4]/5", // Gmaj7 Cmaj7 Gmaj7 Cmaj7 Gmaj7 Em C F
  Q: "[g3,b3,d4] [c4,f4,a4] ~@4 [b3,d4,a4]@2, ~ d3", R: "[g3,b3,d4] [b3,d4,a4] ~@4 [c4,f4,a4]@2, ~@3 d3@5",
  S: "[[g3,b3,d4]@3 [c4,f4,a4]@3 ~@10 b2@4 f3@4 a3@4 d4@4 e4@45 ~ f#2 g2@2 d3@3 f#2 g2@2 ~@9 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@12 [f#3,g3,c4]@6 [e3,g3,b3]@3 [f#3,g3,c4]@3 ~@12 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@9 e2@2 f#2, ~@4 e2@22 ~@3 a2@7 ~@2 a2@6 ~@2 a2@6 ~@2 a2@2]/7", // G F Cmaj7 Em Cmaj7 C Em C …
  T: "[~ g#2 ~ a2 b2@2 c3 c#3@2 ~ e3@2 f3 f#3@2 g3@2 ~@7 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@12 [f#3,g3,d4]@6 [e3,g3,b3]@3 [f#3,g3,d4]@3 ~@9 g3@3, g2@2 ~@7 d3@2 ~@7 a2@18 ~@6 a2@18 ~@6 c3@6]/3", // Cmaj7 Em Cmaj7 Gmaj7 Em Gmaj7
  U: "[e4@3 c3@3 ~@3 g3@3 d4@3 b2@3 ~@3 a3@3 c4@3 g4@3 c4@3 a3@3 ~@3 a3@3 ~@3 b3@3 d4@3 g4@3 d4@3 b3@3 ~@3 b3@3 ~@3 c4@3 f4@3 a4@3 f4@3 c4@3 ~@3 c4@3 ~@3 c4@3 f4@3 b3@3 f#2 g2@2 g3@3 f#2 g2@2 ~@9 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@12 [f#3,g3,d4]@6 [e3,g3,b3]@3 [f#3,g3,d4]@3 [g3,b3]@3 g3@3 ~@3 g3@3, ~@6 b2@9 ~@3 f3@18 f3@6 g3@18 g3@6 d3@18 d3@6 d3@12 ~@9 a2@21 ~@6 a2@17 ~@7 c3@6]/7", // Cmaj7 Em Cmaj7 Gmaj7 Em Gmaj7 G
  V: "[e4@3 c3@3 ~@3 g3@3 d4@3 b2@3 ~@3 a3@3 c4@3 g4@3 c4@3 a3@3 ~@3 a3@3 ~@3 b3@3 d4@3 g4@3 d4@3 b3@3 ~@3 b3@3 ~@3 c4@3 f4@3 a4@3 f4@3 c4@3 ~@3 c4@3 ~@3 c4@3 f4@3 b3@3 f#2 g2@2 g3@3 f#2 g2@2 ~@9 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@6 [a2,f#3,g3,d4]@6, ~@2 b2@3 ~ f3@6 f3@2 g3@6 g3@2 d3@6 d3@2 d3@4 ~@3 a2@7 ~@4]/6", // Cmaj7 Em Cmaj7 D
  W: "[f#3,g3,d4]!2 ~ [f#3,g3,d4] [e3,g3,b3]!2 a2@2", X: "[b3,c4,e4,g4]@2 [e3,g3,b3] [b3,c4,e4,g4] [e3,g3,b3]!2 a2@2",
  Y: "[[f#3,g3,d4]@6 [e3,g3,b3]@3 [f#3,g3,d4]@3 ~@8 a4@22 ~@2 a4@22 ~@2 a4@21 ~@5 b2@4 f3@4 a3@4 d4@4 e4@45 ~ f#2 g2@2 d3@3 f#2 g2@2 ~@9 [b3,c4,e4,g4]@6 [e3,g3,b3]@3 [b3,c4,e4,g4]@3 ~@6, ~@18 d3@24 d3@24 d3@23 ~ e2@66 ~@9 a2@21 ~@6, ~@19 [c4,f4]@23 ~ [b3,d4]@23 ~ [c4,f4]@23 ~@102]/8", // Gmaj7 Em Gmaj7 Cmaj7 Em Cmaj7 F5 Bm …
  Z: "~@2 [f#3,g3,c4]@2 [e3,g3,b3] [f#3,g3,c4] ~@2, a2@3 ~", // C Em C
  AA: "~@2 [b3,c4,e4,g4]@2 [e3,g3,b3] [b3,c4,e4,g4] ~@2, a2@3 ~", // Cmaj7 Em Cmaj7
  AB: "~@2 [f#3,g3,d4]@2 [e3,g3,b3] [f#3,g3,c4] ~@2, a2@3 ~", // Gmaj7 Em C
  AC: "~@2 [f#3,g3,d4]@2 [e3,g3,b3] [f#3,g3,d4] ~@2, a2@7 ~", // Gmaj7 Em Gmaj7
  AD: "~@2 [b3,c4,e4,g4]@2 [e3,g3,b3] [b3,c4,e4,g4] ~@2, a2@7 ~", AE: "~ g4@7, a2@7 ~, ~ [b3,c4]@23, ~ e4@11",
  AF: "~@2 d4@13 [f#3,g3,d4]@3 ~@3 a2@3, a2@7 ~, ~ [f#3,g3]@14 ~@9", AG: "c4 g4 b3 g4@2 b3 a2 b3, a2@3 ~",
  AH: "~ f#3 g3 d4@5, a2@7 ~", AI: "~ c4 [b3,g4] b3 [e3,g3] [b3,c4,e4,g4] c4@2, a2@7 ~, ~@6 [c4,e4]@6 b3 ~@11",
  AJ: "~ f#3 [f#3,d4]@2 [f#3,g3,d4]@2 [f#3,g3,d4]@2, a2@7 ~, ~@2 g3 ~@5", // D Gmaj7
  AK: "~@4 c4@4 g4@4 b3@4 e4@4 b3 b3@3, a2@3 ~, ~ b3@11 ~@12, ~ c4@2 ~@21, ~ g4@3 ~@8",
  AL: "[g4@4 c4@4 ~@8 g4@31 ~, e5@15 e4@32 ~, a2@7 ~ a2@5 c4@34 ~, ~@4 b4@43 ~, ~@8 g4@4 b3@35 ~]/2",
})).s("gm_acoustic_guitar_steel").gain(0.26).pan(0.1)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note("<~@41 A B ~ B ~@14 C D E F@4 ~@4 G ~ H ~@25 I ~ J ~@35>".pickRestart({
  A: "~@3 d4", B: "~ d4 ~@6", C: "~@4 [f#3,g3,d4]@2 ~ [f#3,g3,d4]", D: "~@2 [e3,g3,b3] [g3,b3] ~@4, ~@9 e3 ~@14",
  E: "[e3,g3] ~ [e3,g3]!2 ~@4, b3 ~@5 b3 ~@2 b3 ~@14", // Em
  F: "[~@3 d4@3 ~@8 a4@22 ~@2 a4@22 ~@2 a4@21 ~@13, ~@12 c4@24 b3@23 ~ [d3,c4]@24 ~@12, ~@13 f4@22 ~@2 d4@22 ~@2 f4@22 ~@13]/4", // D7
  G: "d4@2 ~ d4 ~@4", H: "[f#3,d4]@2 ~ [f#3,g3] ~@4", I: "~@2 d4@2 ~ d4 ~@2", J: "~@5 d4 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.31).pan(0.9)

// other · accordion
const accordion = note("<~@100 A B C D E F G H I J K L M N O P@4 Q R S T U@2 V@5 W X@2 Y@3>".pickRestart({
  A: "~@15 f6 e6@2 f6@3 g6@3", B: "e6@2 a5 ~@5", C: "g6 a6@2 a6@3 g6@3 a6@3 b6@3 b6@3 g6@3 g6@3", D: "e6!2 g6 ~@5",
  E: "f#6@3 ~ f#6@2 e6@3 e6 f#6@2 ~ f#6@2 e6@3 f#6@3 e6@3, ~@3 g6@2 ~@7 g6@2 ~@10", F: "a6!2 e6 ~@5",
  G: "~@3 e6@3 a6@3 b6@3 c7@3 d7@3 e7@2 ~@2 g7@2", H: "f#7@21 ~ f#7@2, ~@21 d7@2 ~",
  I: "~ c7@2 e7@3 d7@3 ~ d7@2 c7@3 a6 c7@2 b6@3 ~ b6@2, e7@2 ~@7 b6@2 ~@10 g6@2 ~", J: "g6!2 ~ e6@3 ~@15 b5@3",
  K: "~ e6@2 ~ b5@2 c6@3 g#5@3 b5@3 g#5@3 a5@3 b5@3, d6@2 ~ d6@2 ~@19", L: "c6 d6 e6 f#6 ~@4",
  M: "f#6@3 g6@3 d6@3 e6@6 a6@3 a6@3 f#6 ~@2", N: "f#6@2 ~ f#6@2 ~ f#6@2 ~ f#6@2 ~ f#6@2 ~ d6@2 ~ d6 ~@2 b5@2 ~",
  O: "b5@2 ~ g5@2 ~ g5@2 ~ g5@2 ~ g5@2 ~ b5 ~@2 b5@2 ~ g5@2 ~", P: "[g5@2 ~ a5@2 ~ a5@30 ~@3 e6@24 a5@33]/4",
  Q: "~@3 a5@3 e6@3 a6@2 ~ a6@2 ~ a6@2 ~ b6 ~@2 b6@2 ~", R: "b6@2 ~ b6@2 ~ c7@2 ~ c7 d7 ~ e7@2 ~ c7 ~@2 a6 e6 ~@4",
  S: "~@3 e6@3 ~ e6@2 c6@3 a5@3 g5@3 g5@3 g5@3, ~@3 g6 ~@8", T: "a5 a5@22 ~", U: "a5/2",
  V: "[a5@20 ~ a5@35 ~ a5@30 a5@6 a5@12 a5@15]/5", W: "a6", X: "[a5@9 a5@7]/2", Y: "[a5 a5]/3",
})).s("gm_accordion").gain(0.36)

// other · electric guitar jazz
const electric_guitar_jazz = note("<~@72 A B@2 C@4 D E@2 F@2 G@2 ~ H@2 I@2 J@2 K@2 ~@41>".pickRestart({
  A: "~@22 g3 ~, ~@21 e3@2 ~", B: "[~ e4@2 f#4@3 f#4 g4@5 f#4@6 a3@24 ~@3 a3@3, c4 ~@23]/2",
  C: "[c4@3 d4@3 d4 e4@2 d4@3 c4@3 g4 a4@26 g4 a4@3 g4@4 e4@4 g4 a4@5 g4@3 e4@3 g4 a4@23 ~@6]/4",
  D: "~@18 d4 e4@2 d4@3", E: "[c4@18 a3 g3@2 a3@15 g3@3 a3@3 ~@3 a3@3]/2",
  F: "[c4@3 d4@3 d4 e4@2 d4@3 c4@3 g4 a4@26 ~@6]/2", G: "[a4@3 c5@3 d5 e5@2 d5@3 c5@3 c5 d5@26 ~@6]/2",
  H: "[a4@3 c5@3 d5 e5@2 d5@3 c5@3 b4 d5@26 ~@4 g3@2, ~@12 c#5 ~@32 e3@2 ~]/2", I: "[c4 b3 g3 a3@7 ~@6]/2",
  J: "[a3@3 c4@3 d4 e4@2 d4@3 c4@3 ~@3 g4 a4@2 g4 a4@5 g4@15 d4 e4@2 d4@3]/2", K: "[c4@3 ~@31 e4@14, ~@6 f4@7 ~@3]/2",
})).s("gm_electric_guitar_jazz").gain(0.41).pan(0.8)

// bass · acoustic bass
const bass = note(`<
  ~@15 A@8 B@8 C@8 D E F G H@2 I@2 J K@4 L@2 M@5 N@2 O P Q@2 R@2 S@2 T@4 U V@3 W@3 U X@2 Y@4 Z@2 AA@8 ~@2 AB AC AD@7
  AE@2 AF AG AF AH@8 AI@8 AJ@2 AK AL@2 AM@2
>`.pickRestart({
  A: "[~@23 b2@2 ~ g2@3 a1@6 a1@3 e2@3 a2@3 e2@3 d#2@3 d2@9 d2@18 c2@12 b1@12 f2@6 a2@6 c3@6 f3@6 g3@6 d3@6 b2@6 g2@6 d2@15 a2@3 d3@3 a2@3 d3@18 b2, ~@25 a2@2 ~@165]/8",
  B: "[~@2 g2@3 a1@6 a1@3 e2@3 a2@3 e2@3 d#2@3 d2@26 ~ c2@12 b1@12 f2@6 a2@6 c3@6 f3@6 g3@6 d3@6 b2@6 g2@6 d2@15 a2@3 d3@3 a2@3 d3@12 e3@3 d3@3 c3@3 ~@3 a1@9 e2@3 a2@3 e2@3 d#2, ~ a2@2 ~@167 a2@12 ~@10]/8",
  C: "[~@2 d2@16 ~@2 e2@3 g2@3 g#2@3 a2@6 a1@9 a2@3 d#2@3 d2@15 d2@9 ~@3 d2@9 a2@3 d3@3 a2@3 d2@3 ~@3 g1@9 d2@3 g2@12 d2@9 a2@3 d3@3 a2@3 d3@3 ~@3 e2@33 ~ e3 f3 e3 f3 e3 f3 e3 f3 e3, ~@19 d#2@2 ~@171]/8",
  D: "f3 e3 f3 e3 f3 e3 f3 e3@16 ~", E: "~@3 a1@3 a1 e2", F: "a2@3 e2@3 d#2@3 d2@2 ~ d2@9 a2@3", G: "d3 a2 d3 a1@4 e2",
  H: "[a2 e2 d#2 d2@6 d#2 e2 a1@4 e2]/2", I: "[a2 e2 d#2 d2@9 c2@4]/2", J: "b1@2 f2 a2",
  K: "[c3@2 a2@2 g3@2 d3@6 d2@5 a1 d2 a1 d2@6 e2!2 a1@2 a1 e2]/4", L: "[a2 e2 d#2 d2@3 d2@6 c2@4]/2",
  M: "[b1@12 f3@3 c3@3 a2@3 f2@15 g2@3 b2@3 d3@3 g3@13 d3@2 d2@15 a2@3 d3@3 a2@3 d3@18 ~@6 a1@9 e2@3]/5",
  N: "[a2 e2 d#2 d2@3 d2@3 d#2 e2 a1@4 e2]/2", O: "a2 e2 d#2 d2@5", P: "d3@4 d2@3 a2",
  Q: "[d3 a2 g#2 g2@6 g#2 a2 d2@4 a2]/2", R: "[d3@3 a2@3 d3@3 e2@2 ~ e2@33 e3 f3 e3]/2",
  S: "[f3 e3 f3 e3 f3 e3 f3 e3 f3 e3 f3 e3 f3 e3@16 ~@19]/2",
  T: "[a2@15 e3@3 a3@42 ~@3 a3 b3@6 a3@4 g3@4 f#3@6 d3@6 a1@6]/4", U: "a1 e2 a2 e2 d#2 d2@3",
  V: "[d2@18 c2@12 b1@12 e3@4 d3@4 c3@4 f2@12 g2@3 b2@3]/3", W: "[d3 g3@5 d2@5 a2 d3 a2 d3@8 a1@2]/3",
  X: "[d2@6 c2@4 b1@4 e3 d3]/2", Y: "[c3 f2@5 g2@8 d2@3 a2 d3 a2 d3@10 a1@2]/4",
  Z: "[a1 e2 a2 e2 d#2 d2@5 d2 d#2 e2 a1@3]/2",
  AA: "[a1@3 e2@3 a2@3 e2@3 d#2@3 d2@12 a2@3 d3@3 a2@3 d3@3 a2@3 d3@15 a2@3 g#2@3 g2@18 g#2@3 a2@3 d2@26 ~ e2@33 e3 f3 e3 f3 e3 f3 e3 f3 e3 f3 e3 f3 e3 f3 e3 f3 e3@16 ~@13]/8",
  AB: "~@12 a3 a3@2 ~ a3@2 ~ a3@2 a3@2 ~", AC: "a3!2 ~@2 a3@2 ~ a3@2 a3@2 ~ a3 a3@2 ~ a3@2 ~ a3@2 a3@3",
  AD: "[a1@2 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1@3 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1@3 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1@3 a1 e2 a2 e2 d#2 d2]/7",
  AE: "[~@2 d2@2 d2 d#2 e2 a1@4 e2@2 a2 e2 d#2]/2", AF: "d2@2 d2@2 d2 d#2 e2 a1", AG: "a1@2 a1@2 e2 a2 e2 d#2",
  AH: "[a1@2 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1@3 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1@3 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1@3 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1]/8",
  AI: "[~@2 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1@3 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1@3 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1@3 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a1]/8",
  AJ: "[~@2 a1 e2 a2 e2 d#2 d2@3 d2@2 d2 d#2 e2 a2]/2", AK: "a2@6 e2 d2",
  AL: "[d2@12 d2@3 d#2@3 e2@3 a2@15 e3@4 d#3@4 d3@4]/2", AM: "[c3@4 a2@4 g2@4 e2@35 ~]/2",
})).s("gm_acoustic_bass").gain(0.26)

// other · guitar harmonics
const guitar_harmonics = note("<~@97 [~ b3@3] [e4@3 ~] ~@37>").s("gm_guitar_harmonics").gain(0.26).pan(0.8)

// drums · congas
const congas = s("conga:13").struct("<~@12 A@9 ~ A@15 ~@3 B@3 ~@2 B@20 ~@4 C@9 ~ C@15 ~@3 D@36 ~@3>".pickRestart({
  A: "~@11 x ~@12", B: "~@3 x", C: "x", D: "~ x ~@2",
})).gain(1.15)

// drums · congas · soft notes
const congas_soft = s("conga:13").struct("<~@21 [~@11 x ~@12] ~@21 [~@3 x]!2 ~@33 x ~@57>").gain(0.77)

// drums · congas
const congas_2 = s("conga:18").struct(`<
  ~@12 A B@5 C@3 ~ C A@2 B@12 C ~@3 D@25 ~@3 E@6 F@2 ~ F ~ G E@13 ~@3 H@36 ~@3
>`.pickRestart({
  A: "~@23 x", B: "~@2 x ~@20 x", C: "~ x ~@10", D: "~@2 x!2 ~@4", E: "~@4 x!2 ~@2", F: "~@5 x ~@2", G: "~ x",
  H: "~@6 x!2",
})).gain(1.15)

// drums · congas · soft notes
const congas_soft_2 = s("conga:18").struct("<~@18 A@3 B A C@2 ~@50 D@2 E D E F ~@55>".pickRestart({
  A: "~@23 x", B: "~@2 x ~@20 x", C: "~ x ~@10", D: "~ x", E: "~@4 x!2 ~@2", F: "~@5 x ~@2",
})).gain(0.77)

stack(
  acoustic_guitar_steel, acoustic_guitar_steel_2, accordion, electric_guitar_jazz, bass, guitar_harmonics, congas,
  congas_soft, congas_2, congas_soft_2
)

More by Emerson, Lake & Palmer