Strudelify

Surrender

Elvis Presley

KeyE♭ majorTempo166 bpm
0:00/0:00
// Surrender — Elvis Presley
// 166 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 72 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(166/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 nylon · "NYLON GTR"
const acoustic_guitar_nylon = note(`<
  A B A B A B A B C@2 D@2 C@2 D@2 C@2 E@2 C F ~ G@3 H@5 I@4 J@7 K@2 L M N O@2 P@4 ~ Q R@4 S@7 T@5 ~
>`.pickRestart({
  A: "~ eb4@2 eb4@3 [bb3,eb4]@3 [b3,eb4]@5 ~ [gb3,b3,eb4]@3 [b3,eb4]@3 ~ b3@2, gb3@5 ~ gb3@2, eb3@13 ~@11, bb3@5 ~@16 eb4@3", // Eb5 B
  B: "[c4,eb4]@3 ~ c4@2 [gb3,c4,eb4]@3 ~ b3@5 ~ b3@2 eb4@3 eb4@3, eb3@23 ~, gb3@6 ~@4 gb3@8 [gb3,b3]@5 ~, ~ eb4 ~ eb4@2 eb4 ~@2", // Cm Cdim B5
  C: "~ eb4@2 eb4@3 [bb3,eb4]@3 [bb3,eb4]@5 ~ [gb3,bb3,eb4]@3 [bb3,eb4]@3 ~ bb3@2, gb3@5 ~ gb3@2, eb3@13 ~@11, bb3@5 ~@16 eb4@3", // Eb5 Ebm Eb5
  D: "~ ab4@2 ab4@3 [eb4,ab4]@3 [eb4,ab4]@5 ~ [b3,eb4,ab4]@3 [eb4,ab4]@3 ~ eb4@2, b3@5 ~ b3@2, ab3@13 ~@11, eb4@5 ~@16 ab4@3", // Ab5 Abm Ab5
  E: "~ d4@2 d4@3 [bb3,d4]@3 [bb3,d4]@5 ~ [f3,bb3,d4]@3 [bb3,d4]@3 ~ bb3@2, ab3@5 ~@3, f3@13 ~@5 f3@6, bb3@5 ~@16 d4@3", // Bb
  F: "[eb3,gb3,bb3,eb4] ~@5", // Ebm
  G: "[~@9 f4@2 f4@3 [c4,f4]@3 ~ c4@5 [ab3,c4,f4]@3 [c4,f4]@3 ~ c4@2 [c4,f4]@4 [c4,f4]@2 [ab3,c4,f4]@3 ~ c4@5 ~ c4@2 ~ f4@2 f4@3 ~ f4@3 [d4,f4]@2 ~ f4@2 ~@3 f4@3 f4, ~@8 ab3@15 ~@3 ab3@6 ab3@6 ~@4 ab3@8 [ab3,c4]@5 ~ ab3@6 ab3@10, ~@8 f3@13 ~@11 f3@23 ~@11 d4@6, ~@8 c4@6 ~@3 f4@6 ~@6 f4@3 ~@9 f4@6 f4@3 ~@6 d4@4 ~@2 d4@3 f4@3 ~@4]/3", // F5 Fm F5 Fm Dm Ab
  H: "[d4@2 [d4,f4]@3 ~ [d4,f4]@2 f4@3 f4@3 ~ f4@2 ~ d4@5 ~ d4@2 ~ [d4,f4]@3 ~@3 [eb4,g4]@3 [eb4,g4]@2 ~ [eb4,g4]@3 [bb3,eb4,g4]@6 [eb4,g4]@3 [eb4,g4]@3 [eb4,g4]@2 ~ [bb3,eb4,g4]@3 [eb4,g4]@2 ~ g4@2 ~ [bb3,eb4]@2 ~ g4@2 ~ eb4@2 [bb3,eb4,g4]@3 ~ [bb3,eb4]@2 ~ g4@3 g4@2 ~ g4@2 ~@3 g4@3 ~ bb3@2 [eb4,g4]@3 ~ eb4@2 ~ g4@3 [eb4,g4]@2 ~ g4@3 g4@3 g4@3, ~@2 ab3@6 f3@18 [f3,ab3]@3 ~@3 bb3@6 bb3@4 ~@9 bb3@6 ~@5 [bb3,eb4]@3 ~@15 bb3@9 ~ [bb3,eb4]@6 ~@2 bb3@6 bb3@6 ~@4 [bb3,eb4]@6, ~@8 [ab3,d4]@6 [ab3,d4]@3 f4@6 f4@3 ~@39 g4@3 eb4@3 g4@3 ~@3 g4@3 ~ eb4@5 eb4@3 g4@3 ~@3 [eb4,g4]@3 ~@3 g4@3 eb4@4 ~@2 eb4@3 ~@7, ~@9 ab3@4 ~@3 g3@12 g3@12 g3@20]/5", // Dm Eb Eb5 Eb Eb5 Eb Fm Eb5 …
  I: "[[bb3,eb4,g4]@3 [bb3,eb4,g4]@2 ~@4 f4@3 f4@3 [c4,f4]@3 [ab3,c4,f4]@6 f4@3 f4@3 f4@2 ~ f4@3 f4@2 ~ f4@3 [c4,f4]@6 [c4,f4]@2 ~ f4@3 f4@3 f4@3 f4@2 ~ f4@3 [d4,f4]@5 ~ d4@2 ~ f4@3 [ab3,d4,f4]@2 ~ f4@3 f4@3 [ab3,d4,f4]@3 [ab3,d4,f4]@6, ~@4 f3@17 f3@27, ~@8 ab3@10 ~@6 [ab3,c4]@8 ab3@9 ~ ab3@8 ab3@6 ~ [ab3,d4]@5 [ab3,d4]@4 ab3@8 [ab3,d4]@4 ~@3 ab3@6 ~@9, ~@9 c4@6 ~@17 c4@6 c4@3 ~@10 c4@5 ~@15 f4@3 ~@6 d4@6 ~@10]/4", // Eb F5 Fm F5 Dm Ddim Ab Abdim
  J: "[[d4,f4]@2 ~ [ab3,d4,f4]@2 ~@5 g4@2 [eb4,g4]@3 [eb4,g4]@3 ~ bb3@5 [bb3,eb4,g4]@2 ~ [eb4,g4]@3 ~@3 g4@3 g4@3 [eb4,g4]@3 ~ bb3@5 [bb3,eb4,g4]@3 [eb4,g4]@3 [eb4,g4]@2 ~ [eb4,g4]@3 [eb4,g4]@3 [bb3,eb4,g4]@3 ~@6 [eb4,g4]@3 [eb4,g4]@3 [eb4,g4]@3 [eb4,g4]@3 ~ eb4@2 [eb4,g4]@3 ~ bb3@5 ~ bb3@2 [bb3,eb4,g4]@3 ~@3 f4@3 f4@3 [c4,f4]@3 ~@6 [c4,f4]@3 [c4,f4]@3 [c4,f4]@3 f4@3 f4@3 [c4,f4]@3 ~@3 f4@3 [c4,f4]@3 [c4,f4]@3 ~ c4@2 ~ f4@3 [d4,f4]@2 [ab3,d4,f4]@3 ~@3 f4@3, ~@2 f3@3 ~@3 g3@24 g3@24 g3@10 ~ g3@35 ~@3 f3@23 ~@11 ab3@8 ab3@5 ~ ab3@6 ~@4 ab3@5, ~@9 bb3@10 ~@7 bb3@4 ~ bb3@2 [bb3,eb4]@6 ~@12 bb3@6 bb3@6 ~@3 bb3@8 ~ bb3@6 bb3@10 ~@14 ab3@9 ~ ab3@8 ab3@6 [ab3,c4]@6 ~@3 f4@3 ~@9 f4@3 ~@9 f4@3 ~@3, ~@3 eb4 ~@2 [eb4,g4]@2 ~@2 [eb4,g4] ~@3 [eb4,g4]@2 ~@6 [eb4,g4]@2 ~@4 g4 ~ [eb4,g4]@2 [eb4,g4] ~@2 c4@2 ~ [c4,f4]@2 ~@6 c4@2 ~@3 d4 ~@2 d4@2]/7", // Dm Ddim Eb F5 Dm Ddim Eb5 Ab …
  K: "[~ ab3@2 [ab3,d4,f4]@3 ~ d4@2 [d4,g4]@4 [d4,g4]@2 [d4,g4]@3 ~ d4@5 ~ d4@2 ~ g4@2 g4@3 ~ [c4,eb4,g4]@3 [eb4,g4]@3 [eb4,g4]@2 ~ [c4,eb4]@5, [d4,f4]@3 ~@3 [ab3,f4]@3 b3@9 g4@6 g4@3 ~ d4@5 ~@9 g4@6, ~@19 b3@8 b3@4 ~@17]/2", // Ddim G5 Cm Eb Cm Dm Db
  L: "~ [c4,eb4,g4]@2 ~ g4@2 ~ eb4@3 [eb4,g4]@3 [eb4,g4]@2 ~ g4@3 [c4,eb4,g4]@5, ~@3 c4@6 ~ c4@5 [c4,eb4]@4 ~@5, ~ eb4 g4 ~@5", // Cm Eb Cm
  M: "~ [c4,eb4,g4]@2 ~ [eb4,g4]@3 ~@3 [eb4,ab4]@3 [eb4,ab4]@2 ~ [eb4,ab4]@3 [b3,eb4,ab4]@5, ~@3 c4@3 ~@4 b3@5 b3@4 ~@5", // Cm Eb Ab5 Abm
  N: "~ [eb4,ab4]@2 ~ [eb4,ab4]@3 [eb4,ab4]@3 ab4@3 ab4@3 [b3,eb4,ab4]@3 [b3,eb4,ab4]@5, ~@3 b3@6 ~ [b3,eb4]@6 ~@8", // Ab5 Abm B
  O: "[~ [b3,eb4,ab4]@3 [b3,eb4,ab4]@2 ~ eb4@2 ~ [gb4,bb4]@3 [gb4,bb4]@2 ~ [gb4,bb4]@3 ~@6 [gb4,bb4]@3 [gb4,bb4]@3 [gb4,bb4]@3 bb4@3 bb4@3 [gb4,bb4]@3 [eb4,gb4,bb4]@5, ~@9 eb4@6 eb4@4 [gb4,bb4]@6 ~@23, ~@10 eb4@4 eb4@3 [eb4,gb4]@3 ~@4]/2", // Abm Gb Ebm Gb Ebm
  P: "[~ [eb4,gb4,bb4]@2 ~ [gb4,bb4]@4 ~@2 [f4,bb4]@3 [f4,bb4]@3 [d4,f4,bb4]@3 ~ d4@5 ~ d4@2 [f4,bb4]@3 [f4,bb4]@3 bb4@3 bb4@3 [d4,f4,bb4]@3 ~ d4@5 ~ d4@2 [d4,f4,bb4]@3 [f4,bb4]@3 [eb4,gb4,bb4]@3 ~ [eb4,gb4]@2 [eb4,gb4,bb4]@3 ~ eb4@5 ~ eb4@2 [eb4,gb4,bb4]@3 ~ [eb4,gb4]@2 [eb4,gb4,bb4]@4 ~@10, ~@3 eb4@4 ~@3 d4@6 ~@3 [f4,bb4]@6 [f4,bb4]@3 d4@6 [d4,f4]@6 ~@3 [f4,bb4]@6 [f4,bb4]@3 ~@9 bb4@3 ~@3 [gb4,bb4]@6 [gb4,bb4]@3 ~@3 bb4@3 ~@14]/4", // Ebm Gb Bb5 Bb Bb5 Bb Bb5 Ebm …
  Q: "~@11 f4@2 f4@3 ~ [ab3,f4]@2 ~ [ab3,c4]@4, ~@3 f3@5, ~@10 [ab3,c4]@6 c4@3 f4@5", // Db Ab
  R: "[~@2 [ab3,c4]@2 ~ f4@2 f4@3 ~ f4@3 f4@2 ~ f4@2 ~ c4@6 [c4,f4]@2 ~ f4@2 f4@3 ~ f4@2 f4@3 [d4,f4]@4 ~ ab3@5 [ab3,d4,f4]@2 ~ [d4,f4]@3 [d4,f4]@2 ~ f4@5 ~ f4@3 [d4,f4]@3 [d4,f4]@3 [ab3,d4,f4]@2 ab3 [d4,f4]@2 ~@4 g4@3 g4@3 [eb4,g4]@3 [bb3,eb4,g4]@3 g4, ~ f4@3 [ab3,c4]@6 [ab3,c4]@6 [ab3,c4]@3 f4@6 ~@10 d4@5 ~@4 [d4,f4]@6 ~@33 eb4@6 ~@7, ~ f3@4 f3@12 f3@9 [f3,ab3]@3 f3@10 ~@9, ~@20 ab3@8 [ab3,c4]@6 ab3@6 ~@18 [ab3,d4]@6 [ab3,d4]@4 ab3@6 ~@9 bb3@9 ~@4]/4", // Ab F5 Dm Ddim Dm Ddim Dm Eb …
  S: "[~@2 [eb4,g4]@3 [eb4,g4]@3 [eb4,g4]@2 ~ [eb4,g4]@3 [eb4,g4]@3 [bb3,eb4,g4]@3 [bb3,eb4,g4]@6 [bb3,eb4,g4]@3 [bb3,eb4,g4]@3 ~@3 [b3,eb4,ab4]@5 ~ [eb4,ab4]@3 [b3,eb4,ab4]@6 [b3,eb4,ab4]@2 ~ [eb4,ab4]@3 [eb4,ab4]@2 ~ [eb4,ab4]@3 [eb4,ab4]@3 [b3,eb4,ab4]@3 [b3,eb4,ab4]@6 [b3,eb4,ab4]@3 [b3,eb4,ab4]@3 ~@3 bb4@3 bb4@3 [eb4,gb4,bb4]@3 [eb4,gb4,bb4]@6 [eb4,gb4,bb4]@3 [eb4,gb4,bb4]@3 [gb4,bb4]@3 [eb4,gb4,bb4]@6 [eb4,gb4,bb4]@3 bb4@3 bb4@3 [eb4,gb4,bb4]@2 ~ [gb4,bb4]@3 ~@3 [d4,f4,bb4]@33 ~@4, ~@5 bb3@5 g3@21 ~@3 ab3@18 ab3@27 ~@4 [eb4,gb4]@6 ~@27 [eb4,gb4]@6 ~@2 eb4@4 ~@40, ~@11 bb3@6 ~@23 b3@4 ~@9 b3@5 b3@6 ~@19 bb3@47 bb3@33 ~@5]/7", // Eb Abm Ab5 Abm Ab5 Abm Ebm Gb …
  T: "[~@12 bb4@2 ~ gb4@2 ~ [gb4,bb4]@2 ~ gb4@5 ~ gb4@2 [gb4,bb4]@3 [gb4,bb4]@3 ~ bb4@2 [gb4,bb4]@3 [eb4,gb4,bb4]@3 ~ eb4@5 ~ [eb4,gb4]@2 [gb4,bb4]@3 [gb4,bb4]@3 bb4@3 bb4@3 [eb4,gb4,bb4]@3 ~ eb4@5 ~ [eb4,gb4]@2 ~ [gb4,bb4]@3 [gb4,bb4]@2 ~ bb4@2 ~ bb4@2 [eb4,gb4,bb4]@3 ~ [eb4,gb4]@5 ~ [eb4,gb4]@2 ~ bb4@3 ~@15, ~@11 bb3@24 bb3@18 [bb3,eb4]@6 bb3@18 bb3@6 bb3@17 ~ [bb3,eb4,gb4]@3 ~@16, ~@11 eb4@6 eb4@4 eb4@8 eb4@6 eb4@6 ~@18 [eb4,gb4]@6 ~@3 [gb4,bb4]@6 ~@4 eb4@6 [eb4,gb4]@5 ~@31, ~@11 gb4@3 bb4@3 ~@3 bb4@6 bb4@3 ~@6 gb4@3 ~@6 [gb4,bb4]@6 bb4@3 ~@21 bb4@3 ~@15 bb4@6 bb4@3 ~@19]/5", // Gb Ebm Gb Ebm Gb Ebm Eb5 Ebm …
})).s("gm_acoustic_guitar_nylon").gain(0.15).pan(0.6)

// bass · acoustic bass · "ACOU BASS"
const bass = note("<A@10 B@2 A@2 B@2 A@2 C@2 A D ~ E F G H I J K@4 L@2 M@6 N O@7 P@3 Q ~ R@2 S@7 T@8 ~>".pickRestart({
  A: "eb2@6 ~@3 f2@3 gb2@3 b2@3 bb2@2 ~ gb2@2 ~", B: "ab2@6 ~@3 bb2@3 b2@3 e3@3 eb3@2 ~ b2@2 ~",
  C: "bb1@6 ~@3 db2@3 d2@3 ab2@3 f2@2 ~ d2@2 ~", D: "eb2@7 ~@17", E: "~@8 f2@7 ~@2 g2@3 ab2@4",
  F: "~@2 c3@4 ~@2 f2@7 ~@2 g2@3 ab2@4", G: "~@2 a2@5 ~ bb2@8 ~ ab2@3 f2@4", H: "~@2 d2@4 ~@2 bb1@6 ~@3 ab2@3 f2@4",
  I: "~@2 bb2@5 ~ eb2@7 ~@2 f2@3 g2@4", J: "~@2 bb2@4 ~@2 eb2@7 ~@2 g2@3 bb2@4",
  K: "[~@2 g2@5 ~@2 eb2@7 ~@2 f2@3 g2@5 ~ bb2@4 ~@2 eb2@7 ~@2 f2@3 g2@5 ~ gb2@4 ~@2 f2@7 ~@2 g2@3 ab2@5 ~ c3@4 ~@2 f2@7 ~@2 g2@3 ab2@3]/4",
  L: "[~@3 a2@5 ~ bb2@7 ~@2 d2@3 f2@5 ~ c3@4 ~@2 bb2@7 ~@2 ab2@3 g2@3]/2",
  M: "[~@3 f2@5 ~ eb2@6 ~@3 g2@3 bb2@5 ~ g2@3 ~@3 eb2@6 ~@3 g2@3 bb2@5 ~ g2@2 ~ bb2@3 eb2@6 ~@3 gb2@3 g2@5 ~ bb2@3 ~@3 eb2@6 ~@3 gb2@3 g2@5 ~ gb2@3 ~@3 f2@7 ~@2 g2@3 ab2@5 ~ c3@4 ~@2 f2@7 ~@2 g2@3 ab2@3]/6",
  N: "~@3 a2@5 ~ bb2@8 ~ ab2@3 f2@3",
  O: "[~@3 bb2@4 ~@2 g2@6 ~@3 g2@3 d2@5 ~ g2@5 ~ c2@7 ~@2 d2@3 ~ eb2@4 ~@2 g2@4 ~@2 c3@7 ~@2 g2@3 eb2@5 ~ g2@4 ~@2 ab2@7 ~@2 d2@3 eb2@5 ~ g2@5 ~ ab2@7 ~@2 bb2@3 b2@5 ~ ab2@4 ~@2 eb2@7 ~@2 f2@3 gb2@5 ~ bb2@5 ~ eb2@7 ~@2 f2@3 gb2@2]/7",
  P: "[~@4 bb2@5 ~ bb1@8 ~ ab2@3 f2@5 ~ c3@4 ~@2 bb2@7 ~@2 ab2@3 f2@5 ~ bb2@4 ~@2 eb2@6 ~@3 f2@3 gb2@2]/3",
  Q: "~ b2@2 ~ bb2@2 ~ gb2@2 ~ eb2@6 ~@8", R: "[~@10 f2@7 ~@2 g2@3 ab2@5 ~ c3@4 ~@2 f2@7 ~@2 g2@3 ab2@2]/2",
  S: "[~@4 a2@5 ~ bb2@8 ~ ab2@3 ~ f2@4 ~ d2@4 ~@2 bb1@6 ~@4 ab2@3 f2@5 ~ bb2@5 ~ eb2@7 ~@2 f2@3 g2@5 ~ bb2@4 ~@2 eb2@7 ~@2 f2@3 g2@4 ~@2 bb2@5 ~ ab2@7 ~@2 bb2@3 b2@5 ~ eb2@5 ~ ab2@7 ~@2 bb2@3 b2@5 ~ ab2@5 ~ eb2@7 ~@2 f2@3 gb2]/7",
  T: "[~@5 bb2@4 ~@2 eb2@7 ~@2 f2@3 gb2@5 ~ eb2@4 ~@2 bb1@48 eb2@6 ~@3 f2@3 gb2@2 ~ b2@3 bb2@2 ~ gb2@2 ~ eb2@6 ~@3 f2@3 gb2@2 ~ b2@3 bb2@2 ~ gb2@2 ~ eb2@7 ~@2 f2@3 gb2@2 ~ b2@2 ~ bb2@2 ~ gb2@3 eb2@6 ~@3 f2@3 gb2@2 ~ b2@3 bb2@2 ~ gb2@3 ~@13]/8",
})).s("gm_acoustic_bass").gain(0.38)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  A B A B A B A B C D E@2 C D F@2 C D G@2 C H ~ I@8 J K L@2 M N@2 O P Q R S T U V W X Y Z AA AB AC ~ AD AE AF AG AH AI@2
  AJ AK AL AM@3 AN AO AN AP ~
>`.pickRestart({
  A: "[gb3,bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2 [gb3,b3,eb4,gb4] ~@2 [b3,eb4,gb4] ~@2 [b3,eb4,gb4] ~@2 [gb3,b3,eb4,gb4] ~@2 [b3,eb4,gb4] ~@2", // Ebm B
  B: "[gb3,c4,eb4,gb4] ~@2 [c4,eb4,gb4] ~@2 [c4,eb4,gb4] ~@2 [gb3,b3,eb4,gb4] ~@2 gb4 ~@2 [b3,eb4,gb4] ~@2 [gb3,b3,eb4,gb4] ~@2 [b3,eb4,gb4] ~@2", // Cdim B
  C: "[gb3,bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2 [gb3,bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2 [gb3,bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2", // Ebm
  D: "[gb3,bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2 [gb3,bb3,eb4,gb4] ~@2 gb4 ~@2 [bb3,eb4,gb4] ~@2 [gb3,bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@2", // Ebm
  E: "[ab3,b3,eb4,ab4] ~@2 [b3,eb4,ab4] ~@2 [b3,eb4,ab4] ~@2 [ab3,b3,eb4,ab4] ~@2 ab4 ~@2 [b3,eb4,ab4] ~@2 [ab3,b3,eb4,ab4] ~@2 [b3,eb4,ab4] ~@2", // Abm
  F: "[ab3,b3,eb4] ~@2 [b3,eb4] ~@2 [b3,eb4] ~@2 [ab3,b3,eb4] ~@5 [b3,eb4] ~@2 [ab3,b3,eb4] ~@2 [b3,eb4] ~@2", // Abm B Abm B Abm B
  G: "[ab3,bb3,d4,f4] ~@2 [bb3,d4,f4] ~@2 [bb3,d4,f4] ~@2 [ab3,bb3,d4,f4] ~@2 f4 ~@2 [bb3,d4,f4] ~@2 [ab3,bb3,d4,f4] ~@2 [bb3,d4,f4] ~@2", // Bb7 Bb Bb7 Bb Bb7 Bb
  H: "[gb3,bb3,eb4,gb4] ~@7", // Ebm
  I: "[~@8 [ab3,c4,eb4]@4 ~@2 [ab3,c4,eb4]@7 ~@2 [ab3,c4,eb4]@4 ~@5 [ab3,c4,eb4]@4 ~@2 [ab3,c4,eb4]@6 ~@3 [ab3,c4,eb4]@4 ~@5 [ab3,bb3,d4]@4 ~@2 [ab3,bb3,d4]@7 ~@2 [ab3,bb3,d4]@4 ~@5 [ab3,bb3,d4]@4 ~@2 [ab3,bb3,d4]@6 ~@3 [ab3,bb3,d4]@4 ~@5 [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@7 ~@2 [g3,bb3,eb4]@4 ~@5 [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@6 ~@3 [g3,bb3,eb4]@4 ~@5 [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@7 ~@2 [g3,bb3,eb4]@4 ~@5 [g3,bb3,eb4]@4 ~@3 [g3,bb3,eb4]@6 ~@3]/8", // Ab Bb7 Eb
  J: "[g3,bb3,eb4]@4 ~@5 [ab3,c4,eb4]@4 ~@2 [ab3,c4,eb4]@7 ~@2", // Eb Ab
  K: "[ab3,c4,eb4]@4 ~@5 [ab3,c4,eb4]@4 ~@2 [ab3,c4,eb4]@6 ~@3", // Ab
  L: "[[ab3,c4,eb4]@4 ~@11 d4@3 c4@13 ~@2 [ab3,bb3,d4]@4 ~@2 d4@3 c4@3 ~@3, ~@15 [ab3,bb3]@16 ~@8 [ab3,bb3]@6 ~@3]/2", // Ab Bb7 Absus2
  M: "d4@3 c4@3 d4@3 ~@6 c4@3 bb3@4 ~@2, [ab3,bb3]@7 ~@8 eb4@7 ~@2", // Absus2
  N: "[~@3 bb3@2 ~ g3@2 ~ [c4,eb4]@3 ~@3 [c4,eb4]@3 g3@2 ~ bb3@3 c4@3 ~@3 [bb3,eb4]@3 ~@9 g3@3 [bb3,eb4]@2 ~, [c4,eb4]@7 ~@14 eb4@6 ~@12 [c4,eb4]@6 ~@3]/2", // Cm Eb5 Cm
  O: "[c4,eb4]@6 g3 ~@2 [c4,eb4]@3 ~@3 [c4,eb4]@2 ~ g3 ~@2 eb4@2 ~, ~@21 bb3 ~@2", // Cm
  P: "[c4,eb4]@6 bb3@2 ~ [ab3,c4,eb4]@2 ~ [ab3,c4] ~@2 c4 ~@2 [ab3,c4,eb4]@4 ~@2", // Cm Ab
  Q: "[ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@3 ~@3 c4 ~@2 [ab3,c4,eb4] ~@2 [ab3,c4,eb4]@5 ~", // Ab
  R: "[ab3,c4,eb4]@4 ~@2 [f3,bb3,d4]@3 ~@3 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@4 ~@2", // Ab Bb Bb5 Bb
  S: "[f3,bb3,d4]@5 ~ [f3,bb3,d4]@3 ~@3 b3 ~@2 [g3,b3,d4,f4] ~@2 [g3,b3,d4,f4]@5 ~", // Bb G7
  T: "[g3,b3,d4,f4]@4 ~@2 [g3,c4,eb4]@3 ~@3 c4 ~@2 [g3,c4,eb4] ~@2 [g3,c4,eb4]@5 ~", // G7 Cm
  U: "~ [g3,c4]@3 ~@2 [g3,c4,eb4]@3 ~@3 c4 ~@3 [g3,c4,eb4] ~@2 [g3,c4,eb4]@5, eb4 ~@5", // C5 Cm
  V: "~ [g3,c4,eb4]@4 ~ [ab3,b3,eb4]@3 ~@4 b3 ~@2 [ab3,b3,eb4] ~@2 [ab3,b3,eb4]@5", // Cm Abm
  W: "~ [ab3,b3,eb4]@4 ~@2 [ab3,b3,eb4]@3 ~@3 b3 ~@2 [ab3,b3,eb4] ~@2 [ab3,b3,eb4]@5", // Abm
  X: "~ [ab3,b3,eb4]@4 ~@2 [gb3,bb3,eb4]@3 ~@3 bb3 ~@2 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4]@5", // Abm Ebm
  Y: "~ [gb3,bb3,eb4]@4 ~@2 [gb3,bb3,eb4]@3 ~@3 bb3 ~@2 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4]@5", // Ebm
  Z: "~ [gb3,bb3,eb4]@4 ~@2 [f3,ab3,bb3,d4]@3 ~@3 bb3 ~@2 [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4]@5", // Ebm Bb7
  AA: "~ [f3,ab3,bb3,d4]@4 ~@2 [f3,ab3,bb3,d4]@3 ~@3 bb3 ~@2 [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4]@5", // Bb7
  AB: "~ [f3,ab3,bb3,d4]@4 ~@2 [gb3,bb3,eb4]@3 ~@3 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3,eb4]@4 ~", // Bb7 Ebm Gb Ebm
  AC: "~ [gb3,bb3,eb4]@7 ~@2 [gb3,bb3,eb4]@3 ~@11", AD: "~@10 [ab3,c4,eb4]@4 ~@2 [ab3,c4,eb4]@7 ~",
  AE: "~ [ab3,c4,eb4]@4 ~@5 [ab3,c4,eb4]@4 ~@2 [ab3,c4,eb4]@6 ~@2", // Ab
  AF: "~ [ab3,c4,eb4]@4 ~@5 [ab3,bb3,d4]@4 ~@2 [ab3,bb3,d4]@7 ~", // Ab Bb7
  AG: "~ [ab3,bb3,d4]@4 ~@5 [ab3,bb3,d4]@4 ~@2 [ab3,bb3,d4]@6 ~@2", // Bb7
  AH: "~ [ab3,bb3,d4]@7 ~@3 [bb3,c4,eb4]@4 ~@2 c4@3 bb3@4, ~@16 eb4@7 ~", // Bb7 Cm7
  AI: "[~@5 bb3@2 g3@2 ~@2 [c4,eb4]@3 ~@3 [c4,eb4]@3 g3@2 ~ bb3@3 c4@3 ~@3 [bb3,eb4]@3 ~@3 b3 ~@2 [ab3,b3,eb4] ~@2 [ab3,b3,eb4]@4, ~ eb4@7 ~@15 eb4@6 ~@19, ~@2 c4@7 ~@39]/2", // Cm Eb5 Abm
  AJ: "~@2 [ab3,b3,eb4]@4 ~@2 [ab3,b3,eb4]@3 ~@3 b3 ~@2 [ab3,b3,eb4] ~@2 [ab3,b3,eb4]@4", // Abm
  AK: "~@2 [ab3,b3,eb4]@4 ~@2 [gb3,bb3,eb4]@3 ~@3 bb3 ~@2 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4]@4", // Abm Ebm
  AL: "~@2 [gb3,bb3,eb4]@4 ~@2 [gb3,bb3,eb4]@3 ~@3 bb3 ~@2 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4]@4", // Ebm
  AM: "[~@2 [gb3,bb3,eb4]@7 ~@2 [f3,ab3,bb3,d4]@48 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4] ~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4]]/3", // Ebm Bb7 Ebm B
  AN: "~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4] ~@2 [gb3,c4,eb4] ~@2 [gb3,c4,eb4] ~@2 [gb3,c4,eb4] ~@2 [gb3,b3,eb4] ~@2 gb3", // B Cdim B
  AO: "~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4] ~@2 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4] ~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4]", // B Ebm B
  AP: "~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4] ~@15", // B
})).s("gm_piano").gain(0.22).pan(0.6)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~ A ~ A ~ A ~ A ~ B A@2 ~ B A@2 ~ B C@2 ~@19 D E F G H@2 I@2 J@2 K@2 L ~@8 M@2 N@2 ~@3 O ~ O ~@2
>`.pickRestart({
  A: "~@12 [b3,eb4] ~@11", B: "~@12 [bb3,eb4] ~@11", C: "~@12 [bb3,d4] ~@11", D: "~@12 eb4 ~@2 eb4 ~@8",
  E: "~@6 [ab3,eb4] ~@5", F: "~@12 d4 ~@2 d4 ~@8", G: "~@6 [g3,d4,f4] ~@5", H: "~@6 [g3,eb4] ~@5",
  I: "~@13 [ab3,eb4]@2 ~@9", J: "~@13 [gb3,eb4]@2 ~@9", K: "~@13 [f3,ab3,d4]@2 ~@9", L: "~@13 eb4 ~@2 eb4 ~@7",
  M: "~@7 [ab3,eb4] ~@4", N: "~@7 [gb3,eb4] ~@4", O: "~@23 [b3,eb4]",
})).s("gm_piano").gain(0.11).pan(0.6)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@23 A B C@2 ~ D E F G H I@2 J K L M N O@3 P@2 Q@8 ~@19>".pickRestart({
  A: "~@14 [ab4,c5]@5 ~ c5 [ab4,c5] ~ c5, ~@19 ab4@2 ~ [ab4,c5]@2", // Ab
  B: "~ [ab4,c5]!3 ~ ab4 ~ ab4!2 ~ ab4 ~ ab4@9 ~@3, ~@4 [ab4,c5]@2 c5@2 ~ [ab4,c5]@2 c5@9 ~@4", // Ab
  C: "[~@5 bb4 ~ d5 ~@2 d5 [bb4,d5] [bb4,d5]@2 d5 ~@2 bb4 [bb4,d5] [bb4,d5]@2 [bb4,d5] ~@2 d5 ~@3 bb4!2 ~ bb4 [bb4,d5] d5@15, ~@6 bb4@2 [bb4,d5]@2 ~@5 [bb4,d5]@2 ~@5 [bb4,d5]@2 ~ [bb4,d5]@2 d5@2 ~ d5@2 ~@16, ~@9 bb4@2 ~@5 d5@2 ~@5 bb4@2 ~ bb4@2 ~@5 bb4@12 ~@3]/2", // Bb
  D: "~@2 eb4@5 ~ g4@3 ~@3 g4@6 bb4@4", E: "~@3 d5@5 c5!2 ~ c5!2 ~ c5!2 ~ c5!2 ~ c5!3 ~",
  F: "c5!2 ~ c5!2 ~ c5!2 ~ bb4!2 ~ bb4!3 ~ bb4 ~@3 g4 g4@2 g4, ~@17 bb4@5 ~@2", G: "g4!2 ~ g4 g4@4 f4@9 ~@4 f4@3",
  H: "~@2 ab4@4 c5 ~@2 f5!4 ~ f5!3 ~ f5 f5@2 eb5!3",
  I: "[~ eb5 eb5@4 c5@3 ~@3 d5 ~@2 d5 ~@2 d5 [bb4,d5] ~@2 bb4 ~@2 bb4 ~@2 bb4 [bb4,d5] ~ bb4 ~@2 ab4 ~@2 ab4 [ab4,c5] ~@2 c5 [ab4,c5]@2 [ab4,c5]!2 [ab4,c5]@2, ~@9 [bb4,d5]@2 bb4@2 [bb4,d5]@2 ~ [bb4,d5]@2 ~@2 [bb4,d5]@2 ~ [bb4,d5]@2 ~ [bb4,d5]@2 ~@4 ab4@2 ~ [ab4,c5]@2 ~@2 [ab4,c5]@2 ~@7, ~@10 d5@2 ~@2 bb4@2 ~ bb4@2 ~@2 d5@2 ~ d5@2 ~ d5@2 ~ d5@3 c5@2 ~ c5@2 ~@2 ab4@2 ~@6]/2", // Bb Ab Bb Ab
  J: "[ab4,c5] ~@2 ab4 c5 c5@6 ~@4 g4@5 bb4 ~ bb4!2, ~ [ab4,c5]@2 ~ ab4@5 ~@15, ~ c5 ~@10", // Ab
  K: "~ bb4!2 ~ g4!2 ~ g4 ~ bb4 ~ bb4!2 ~ bb4 bb4@5 ~ c5!3, ~@3 bb4@5 g4@2 ~@10 d5@2 ~@2",
  L: "c5 ~ c5!2 ~ c5!2 ~ c5 c5@6 bb4@6 d5@3", M: "~ bb4@3 eb4@13 ~@7", N: "~@12 f4@3 ab4@4 c5@5",
  O: "[ab4@3 f4@5 ~ [ab4,c5] [ab4,c5]@2 ~@2 ab4 ~@2 ab4 [ab4,c5] c5@2 ab4 ~@2 c5 [ab4,c5] ~@2 ab4 [ab4,c5]!2 db5 [a4,d5] [bb4,d5]@2 [bb4,d5] ~@3 bb4 ~@2 bb4 ~@2 bb4@2 [bb4,d5]@2 [bb4,d5] ~@2 d5 ~@3 bb4 ~@2 b4 ~@2 b4 [b4,d5] [b4,d5]@2 [b4,d5]!2 ~ [b4,d5]!3, ~@12 [ab4,c5]@2 ~ [ab4,c5]@2 ~@2 ab4 ~@2 [ab4,c5]@2 ~@2 [ab4,c5]@2 ~@8 [bb4,d5]@2 d5@2 ~ d5@2 ~ d5@3 ~@4 bb4@2 [bb4,d5]@2 d5@2 ~ d5@2 ~ d5@2 ~@9, ~@13 c5@2 ~ c5@2 ~@5 ab4@2 ~@2 c5@2 ~@8 bb4@2 ~ [bb4,d5]@2 ~ [bb4,d5]@2 ~@5 [bb4,d5]@2 ~@2 bb4@2 ~ b4@2 ~ [b4,d5]@2 ~@10]/3", // Ab D5 Bb Bm Ab Bb Bm
  P: "[~ b4 [b4,d5] [b4,d5]@2 [b4,d5] [b4,d5]@2 [c5,eb5] [c5,eb5]@2 [c5,eb5]!2 [c5,eb5]@2 ~ c5 ~ c5 [c5,eb5] [c5,eb5]@2 [c5,eb5] ~@2 eb5 [c5,eb5]!2 eb5 c5 [c5,eb5] ~@2 eb5 ~@2 eb5 ~@2 eb5@2 ~@2 c5 [c5,eb5] ~ c5 [c5,eb5], d5@2 ~@13 [c5,eb5]@2 eb5@2 ~@4 [c5,eb5]@2 ~@6 [c5,eb5]@2 ~ [c5,eb5]@2 ~ [c5,eb5]@2 ~@2 [c5,eb5]@2 ~@5, ~@24 c5@2 ~@6 c5@2 ~ c5@2 ~ c5@2 ~@2 eb5@2 ~ eb5@2 ~]/2", // Bm Cm
  Q: "[[c5,eb5]@2 [c5,eb5] ~@2 eb5 [c5,eb5]@2 [c5,eb5] [b4,eb5]@2 [b4,eb5] [b4,eb5]@2 ~@3 eb5 ~@2 eb5 ~ b4 ~ b4 ~@2 b4 [b4,eb5]@2 [b4,eb5] [b4,eb5]@2 ~@2 eb5@22 ~ gb4@6 bb4@6 ~ ab4@5 gb4@5 ~ gb4@6 bb4@5 ~ ab4@5 ~ gb4@5 gb4@2 ab4@2 gb4@2 ~ f4@22 ~@2 bb4 ~ db5 b4 ~ ab4 bb4@6 f4@5 ~ eb4@24 ~@14, ~@3 [c5,eb5]@2 ~@9 [b4,eb5]@2 b4@2 [b4,eb5]@2 ~ [b4,eb5]@2 eb5@2 ~ eb5@2 ~@6 b4@23 ~@135, ~@4 c5@2 ~@9 eb5@2 ~@2 b4@2 ~@4 [b4,eb5]@2 ~@6 [b4,eb5]@2 ~@157]/8", // Cm B Cm B
})).s("gm_electric_guitar_jazz").gain(0.16).pan(0.7)

// other · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@16 A@2 B@2 C@2 ~@2 D@4 E@3 F@6 G@4 H@4 I@8 ~@2 J@4 K@6 ~ L@5 ~>".pickRestart({
  A: "[~@11 eb5@12 bb4@13 gb4@12]/2", B: "[ab4@47 ~]/2", C: "[gb4@9 ~@7]/2", D: "[~@2 f5@6 ab5@3 ~@3 ab5@66 ~@16]/4",
  E: "[~@2 eb5@6 g5@3 ~@3 g5@58]/3", F: "[~@9 c5@48 d5@47 eb5@40]/6", G: "[~@3 eb5@16 f5@13]/4",
  H: "[~@3 ab5@7 f5@46 ~ g5@39]/4", I: "[~@9 gb5@48 ~ eb5@48 d5@48 eb5@27 ~@11]/8",
  J: "[~@4 f5@6 ab5@3 ~@3 ab5@66 ~@14]/4", K: "[~@4 eb5@6 g5@3 ~@3 g5@19 gb5@48 gb5@48 f5@5 ~@8]/6",
  L: "[~@11 eb5@18 f5@6 gb5@6 ab5@6 bb5@6 gb5@6 bb5@48 ~@13]/5",
})).s("gm_string_ensemble_2").gain(0.28).pan(0.8)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2_2 = note("<~@17 A@3 B@2 ~@2 C@4 D@3 E@6 F@4 G@8 H@4 ~@2 I@4 J@5 K@7 ~>".pickRestart({
  A: "[~@23 f4@49]/3", B: "[eb4@7 ~@5]/2", C: "[~@2 [c5,eb5]@6 [eb5,f5]@3 ~@3 [eb5,f5]@18 [d5,f5]@48 ~@16]/4",
  D: "[~ [bb4,c5]@3 [c5,eb5]@2 ~ [c5,eb5]@29]/3", E: "[~@9 [f4,ab4]@47 ~ ab4@47 [g4,bb4]@40, ~@7 bb4@6 ~@5]/6",
  F: "[~@3 [g4,bb4]@16 [ab4,c5]@13]/4", // Gm Ab
  G: "[~@3 [c5,f5]@6 bb4@24 b4@24 ~ c5@47 [b4,eb5]@48 ~ bb4@38, ~@3 d5@16 eb5@16 ~@16 gb4@13]/8", // F5 B
  H: "[~@10 bb4@47 ~ gb4@28 ~@10, ~@9 f4@48 bb4@28 ~@11]/4",
  I: "[~@4 [c5,eb5]@6 [eb5,f5]@3 ~@3 [eb5,f5]@18 [d5,f5]@48 ~@14]/4", // Cm Ebsus2 Dm
  J: "[~@5 [bb4,c5]@5 ~ eb5@4 ~@2 eb5@18 [b4,eb5]@48 [bb4,eb5]@37, ~@5 c5@2 ~ c5@9 ~@43]/5", // Bbsus2 B Eb5
  K: "[~@11 [bb1,bb2]@48 [bb4,eb5]@48 [eb5,gb5]@48 ~@13, ~@11 [ab4,d5]@4 ~@153]/7", // Bb Eb5 Ebm Abdim
})).s("gm_string_ensemble_2").gain(0.24)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2_3 = note("<~@18 A@2 B@2 ~@2 C@4 D@3 E@6 F@4 G@8 H@4 ~@2 I@4 J@6 ~ K@5 ~>".pickRestart({
  A: "d4/2", B: "[bb3@7 ~@5]/2", C: "[~ ab4@3 c5 ~@2 c5@9 bb4@24 ~@8]/4", D: "[~ g4@3 bb4 ~@2 bb4@29]/3",
  E: "[~@9 eb4@48 f4@47 eb4@40]/6", F: "[~@3 eb4@16 [c4,f4]@13]/4",
  G: "[~@3 [f4,ab4]@6 ~ d4@47 [eb4,g4]@48 ~ eb4@48 [bb3,eb4]@38, ~@9 f4@49 ~@47 gb4@48 ~@39]/8", // Fm Eb Eb5
  H: "[~@9 [bb3,d4]@48 [bb3,eb4]@29 ~@10]/4", I: "[~@2 ab4@3 c5 ~@2 c5@9 bb4@24 ~@7]/4",
  J: "[~@5 [g3,c4]@6 [bb3,eb4]@5 ~ [bb3,eb4]@17 ~ [b3,eb4,ab4]@48 [bb3,eb4,gb4]@47 ~ bb3@4 ~@9, ~@4 g4@6 ~ bb4@2 ~@3 bb4@18 ~@96 [d4,f4]@4 ~@10]/6", // C5 Eb5 Abm Ebm Dm
  K: "[~@11 eb4@18 f4@6 gb4@6 ab4@6 bb4@6 [eb4,gb4]@6 [gb4,bb4]@48 ~@13]/5", // Ebm Gb
})).s("gm_string_ensemble_2").gain(0.28).pan(0.2)

// other · timpani · Bbmaj7
const timpani = note(`<
  ~@64
  [~@11 bb2 [a2,bb2] a2 bb2 a2 [a2,bb2] bb2 a2 [a2,bb2] bb2 a2 bb2 [a2,bb2]]
  [a2 bb2 a2 [a2,bb2] bb2 a2 [a2,bb2] bb2 a2 [a2,bb2] bb2 [a2,bb2]!2 a2 bb2 a2 [a2,bb2] bb2 a2 [a2,bb2] bb2 a2 bb2 a2]
  [[a2,bb2] bb2 a2 [a2,bb2] bb2 a2 [a2,bb2] bb2 a2 bb2 [a2,bb2] a2 ~@12]
  ~@5
>`).s("gm_timpani").gain(0.16)

// other · alto sax
const alto_sax = note("<~@8 A B C D A B C D A B E F A G ~@29 H I ~ J@2 ~@10 K@5 ~>".pickRestart({
  A: "eb3@4 ~@5 f3@3 gb3@2 ~ b3@3 bb3@2 ~ gb3@2 ~", B: "eb3@3 ~@6 f3@3 gb3@2 ~ b3@3 bb3@2 ~ gb3@2 ~",
  C: "ab3@4 ~@5 bb3@3 b3@2 ~ e4@3 eb4@2 ~ b3@2 ~", D: "ab3@3 ~@6 bb3@3 b3@2 ~ e4@3 eb4@2 ~ b3@2 ~",
  E: "bb2@4 ~@5 db3@3 d3@2 ~ ab3@3 f3@2 ~ d3@2 ~", F: "bb2@3 ~@6 db3@3 d3@2 ~ ab3@3 f3@2 ~ d3@2 ~", G: "eb3 ~@5",
  H: "~@10 eb3@4 ~@5 f3@3 gb3@2", I: "~ b3@3 bb3@2 ~ gb3@2 ~ eb3@4 ~@10", J: "[~@10 ab3@9 ~@5]/2",
  K: "[~@11 eb3@4 ~@5 f3@3 gb3@2 ~ b3@3 bb3@2 ~ gb3@2 ~ eb3@3 ~@6 f3@3 gb3@2 ~ b3@3 bb3@2 ~ gb3@2 ~ eb3@4 ~@5 f3@3 gb3@2 ~ b3@3 bb3@2 ~ gb3@2 ~ eb3@3 ~@6 f3@3 gb3@2 ~ b3@3 bb3@2 ~ gb3@2 ~@14]/5",
})).s("gm_alto_sax").gain(0.22).pan(0.4)

// drums · snare
const snare = s("sd").struct("<~@23 A B@6 C D@13 E F@6 G H ~ I F@3 J K@5 L ~ M K@3 N ~>".pickRestart({
  A: "~@8 x ~@8 x ~@6", B: "~@2 x ~@5 x ~@8 x ~@6", C: "~ x ~@2 x ~@4 x ~@2", D: "~ x ~ x ~@2 x ~",
  E: "~@3 x ~@5 x ~@9 x ~@4", F: "~@4 x ~@5 x ~@8 x ~@4", G: "~@4 x ~@5 x ~@8 x ~@2 x ~",
  H: "~ x ~@2 x ~@2 x ~@2 x ~@13", I: "~@10 x ~@8 x ~@4", J: "~@4 x ~@6 x ~@8 x ~@3", K: "~@5 x ~@5 x ~@8 x ~@3",
  L: "~@5 x ~@5 x ~@12", M: "~@11 x ~@8 x ~@3", N: "~@5 x ~@18",
})).gain(0.33)

// drums · hihat
const hihat = s("hh").struct("<~@23 A B@5 C D@13 E F@8 G ~ H F@2 I B@6 J ~ K B@3 J ~>".pickRestart({
  A: "~@8 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x", B: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
  C: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@2", D: "x!8", E: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~",
  F: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~", G: "~ x ~@2 x ~@2 x ~@2 x ~@13",
  H: "~@10 x ~@2 x ~@2 x ~@2 x ~@2 x ~", I: "~ x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x",
  J: "~@2 x ~@2 x ~@2 x ~@15", K: "~@14 x ~@2 x ~@2 x ~@2 x",
})).gain(0.27)

// drums · crash
const crash = s("cr").struct("<~@64 [~@11 x ~@12] ~ [~@11 x ~@12] ~@5>").gain(0.44)

// drums · tambourine
const tambourine = s("tb").struct("<[x ~@2 x ~ x!3]!21 x ~@50>").gain(0.27)

// … 69 more lines

More by Elvis Presley