Strudelify

You Get What You Give

New Radicals

KeyA majorTempo115 bpm
0:00/0:00
// You Get What You Give — New Radicals
// 115 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 142 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): tk4.
setcpm(115/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 · synth strings 1 · "tk1"
const synth_strings_1 = note("<~@40 A@8 ~ B C D C D ~@16 E@8 F G ~@12 H@8 I@16 J@16 F ~@2 K F ~@5>".pickRestart({
  A: "[f#6@32 e6@64 f#6@15 e6@17 f#6@32 e6@64 f#6@16 e6@15 f#6, a6]/8", B: "e6@3 d6 g6@4, ~@16 d6@11 ~@5", C: "e6",
  D: "d6", E: "[~ f#6@31 e6@64 f#6@16 e6@16 f#6@32 e6@64 f#6@16 e6@16, ~ a6@255]/8", F: "f#6",
  G: "e6@12 d6@4 ~ d6@11 ~@4, ~ g6", H: "[~ f#6@31 e6@64 f#6@16 e6@17 f#6@31 e6@64 f#6@16 e6@16, ~ a6@255]/8",
  I: "[f#6 f#6@31 e6@64 f#6@16 e6@17 f#6@31 e6@64 f#6@17 e6@15, ~ a6@255]/8",
  J: "[f#6 f#6@31 e6@65 f#6@15 e6@17 f#6@31 e6@64 f#6@17 e6@15, ~ a6@255]/8", K: "~@10 a1 ~@5, ~@17 e6@15",
})).s("gm_synth_strings_1").gain(0.13)

// chords · electric guitar jazz · "tk4"
const electric_guitar_jazz = note("<~@5 A ~ A ~ A ~ A ~@130>".pickRestart({
  A: "~@4 a5@3 ~ a5@3 ~@5 a5@3 ~ a5@3 ~@5 a5@3 ~",
})).s("gm_electric_guitar_jazz").gain(0.28)

// chords · sitar · "tk5"
const sitar = note("<A B A B A B A B A B A B ~@130>".pickRestart({
  A: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~", // A
  B: "[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~", // G
})).s("gm_sitar").gain(0.12)

// chords · piano · "tk6"
const piano = note(`<
  ~@12 A B A B A B A B A B@2 C A B A B A B@2 C D E F G D E H I J K A L J K A L M N A B A B A B A B A B@2 C D E F G D O P
  Q R S T U R S T U V W T X T X T X T X T X T Y T Y Z R S T U R S T U R S T U R S T U R S T U R S T U R S T U R S T U R
  S T U R S T U R S T U AA@3
>`.pickRestart({
  A: "[a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~", // A
  B: "[g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~", // G
  C: "[a3,d4,g4]@3 ~ [a3,d4,g4]@3 ~ [a3,d4,g4]@3 ~ [a3,d4,g4]@3 ~ [a3,c#4,g4]@3 ~ [a3,c#4,g4]@3 ~ [a3,c#4,g4]@3 ~ [a3,c#4,g4]@3 ~", // Dsus4 A7
  D: "[a2,c#3,e3,a3,c#4,e4]@3 ~ [a2,c#3,e3,a3,c#4,e4]@3 ~ [a2,c#3,e3,a3,c#4,e4]@3 ~ [a2,c#3,e3,a3,c#4,e4]@3 ~ [a2,c#3,e3,a3,c#4,e4]@3 ~ [a2,c#3,e3,a3,c#4,e4]@3 ~ [a2,c#3,e3,a3,c#4,e4]@3 ~ [a2,c#3,e3,a3,c#4,e4]@3 ~", // A
  E: "[b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~", // Bm
  F: "[b2,d3,g3,b3,d4,f#4]@3 ~ [b2,d3,g3,b3,d4,f#4]@3 ~ [b2,d3,g3,b3,d4,f#4]@3 ~ [b2,d3,g3,b3,d4,f#4]@3 ~ [b2,d3,g3,b3,d4,f#4]@3 ~ [b2,d3,g3,b3,d4,f#4]@3 ~ [b2,d3,g3,b3,d4,f#4]@3 ~ [b2,d3,g3,b3,d4,f#4]@3 ~", // Gmaj7
  G: "[d3,e3,a3,d4,f#4]@3 ~ [d3,e3,a3,d4,f#4]@3 ~ [d3,e3,a3,d4,f#4]@3 ~ [d3,e3,a3,d4,f#4]@3 ~ [c#3,e3,a3,c#4,e4]@3 ~ [c#3,e3,a3,c#4,e4]@3 ~ [c#3,e3,a3,c#4,e4]@3 ~ [c#3,e3,a3,c#4,e4]@3 ~", // D A
  H: "[b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~", // G
  I: "[d3,e3,a3,c#4,e4,a4]@3 ~ [d3,e3,a3,c#4,e4,a4]@3 ~ [d3,e3,a3,c#4,e4,a4]@3 ~ [d3,e3,a3,c#4,e4,a4]@3 ~ [c#3,e3,a3,c#4,e4,a4]@3 ~ [c#3,e3,a3,c#4,e4,a4]@3 ~ [c#3,e3,a3,c#4,e4,a4]@3 ~ [c#3,e3,a3,c#4,e4,a4]@3 ~", // A
  J: "[a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~", // D
  K: "[a3,d4,e4,a4]@3 ~ [a3,d4,e4,a4]@3 ~ [a3,d4,e4,a4]@3 ~ [a3,d4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~", // Asus4 A
  L: "[b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~", // Bm7 A
  M: "[b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~", // Bm7
  N: "[a3,c4,e4,a4]@11 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@15 ~", // Am G
  O: "[b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~ [b2,d3,f#3,b3,d4,f#4]@3 ~@2 [b2,d3,f#3,b3,d4,f#4]@3", // Bm
  P: "~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3 ~ [b2,d3,g3,b3,d4,g4]@3", // G
  Q: "~ [d3,e3,a3,c#4,e4,a4]@3 ~ [d3,e3,a3,c#4,e4,a4]@3 ~ [d3,e3,a3,c#4,e4,a4]@3 ~ [d3,e3,a3,c#4,e4,a4]@3 ~ [c#3,e3,a3,c#4,e4,a4]@3 ~ [c#3,e3,a3,c#4,e4,a4]@3 ~ [c#3,e3,a3,c#4,e4,a4]@3 ~ [c#3,e3,a3,c#4,e4,a4]@3", // A
  R: "~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@3", // D
  S: "~ [a3,d4,e4,a4]@3 ~ [a3,d4,e4,a4]@3 ~ [a3,d4,e4,a4]@3 ~ [a3,d4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3", // Asus4 A
  T: "~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3", // A
  U: "~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3", // Bm7 A
  V: "~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@3", // Bm7
  W: "~ [a3,c4,e4,a4]@11 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@15", // Am G
  X: "~ [a3,c4,e4,g4]@3 ~ [a3,c4,e4,g4]@3 ~ [a3,c4,e4,g4]@3 ~ [a3,c4,e4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3", // Am7 G
  Y: "~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3", // G
  Z: "~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,e4,a4]@3", // A A5
  AA: "[~ [a3,d4,f#4,a4]@64 ~@31]/3", // D
})).s("gm_piano").gain(0.32)

// chords · acoustic guitar steel · "tk7"
const acoustic_guitar_steel = note(`<
  A B A B A B A B A B A B A B A B A B A B A B@2 C A B A B A B@2 C D E F G D E H I B C D J B C D J B K A B A B A B A B A
  B@2 C D E F G D L M N O P Q R O P Q R O S T U T U T U T U T U T V W V W O P Q R O P Q R O P Q R O P Q R O P Q R O P Q
  R O P Q R O P Q R O P Q R O P Q R O P Q R X@3
>`.pickRestart({
  A: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~", // A
  B: "[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~", // G
  C: "[a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~", // D5 A
  D: "[f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~", // F#m
  E: "[f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~", // Bm F#m
  F: "[g3,b3]@3 ~ [g3,b3]@3 ~ [g3,b3]@3 ~ [g3,b3]@3 ~ [g3,b3]@3 ~ [g3,b3]@3 ~ [g3,b3]@3 ~ [g3,b3]@3 ~", // G
  G: "[e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~", // Dsus2 A
  H: "[e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~", // Dsus2
  I: "[e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~", // A
  J: "[f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~", // Bm A
  K: "[e3,a3,c4]@11 ~ [d3,g3,b3]@3 ~ [d3,g3,b3]@15 ~", // Am G
  L: "[f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~@2 [f#3,a3,c#4]@3", // Bm F#m
  M: "~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3 ~ [e3,a3,d4]@3", // Dsus2
  N: "~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3", // A
  O: "~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3", // G
  P: "~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3", // D5 A
  Q: "~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3 ~ [f#3,a3,c#4]@3", // F#m
  R: "~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3", // Bm A
  S: "~ [e3,a3,c4]@11 ~ [d3,g3,b3]@3 ~ [d3,g3,b3]@15", // Am G
  T: "~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3", // A
  U: "~ [a3,c4,e4]@3 ~ [a3,c4,e4]@3 ~ [a3,c4,e4]@3 ~ [a3,c4,e4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3", // Am G
  V: "~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3", // D5
  W: "~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3 ~ [a3,c#4]@3", // A
  X: "[~ [g3,b3,d4]@64 ~@31]/3", // G
})).s("gm_acoustic_guitar_steel").gain(0.17)

// bass · electric bass finger · "tk11"
const bass = note(`<
  ~@11 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE V AF AG AH AI AJ AK AL H C J AM AN AO AP AQ AR
  AS AT AU AV AW AX AY AZ BA BB@3 BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE
  CF CG CH CI CJ CK CL CM CN CO CP CQ BC CR@2 CS BC CT CU CV CW CX CY CZ CW CX DA DB@2 DC@2 DD DE DF DG DH DI DJ CL DK
  ~@2
>`.pickRestart({
  A: "~@3 a1", B: "d2@3 d2!2 d2@3", C: "c2@4 c2!2 a1 c2", D: "d2@3 f#2@2 g2 g#2 a2", E: "c2@3 c2!3 a1 c2",
  F: "d2@4 d2!2 a1 d2", G: "c2@4 e2 f2 f#2 g2", H: "d2@4 d2!3 a1", I: "c2@4 c2 g1 a1 c2",
  J: "d2@12 f#2@5 ~@3 g2@5 ~@3 a2@4", K: "c2@4 c2!2 a1 g1", L: "e1@4 e1!3 g1", M: "a1@4 a1!2 c2 a1",
  N: "d2@16 d2@4 d2@5 ~@3 d2@4", O: "c2@2 c2@2 c2 g2@3", P: "d2@12 f#2@5 ~@3 g2@4 a2@8", Q: "c2@3 c2!2 a1 c2 c#2",
  R: "d2@12 f#2@5 ~@3 g2@5 ~@3 a1@4", S: "c2@3 c2!2 a1 g1 f#1", T: "e1@8 e1@4 e1@5 ~@3 f#1@4 g1@4 g#1@4",
  U: "a1@4 a1!3 g1", V: "f#1@4 f#1!2 a1 a#1", W: "b1@2 b1!2 a1 a1@2 a1", X: "g1@4 g1!2 ~ g1", Y: "a1@3 a1!2 e2 a2 e2",
  Z: "f#2@4 f#2 a2 f#2 a1", AA: "b1@2 b1@2 b1!2 d2@2", AB: "a2@2 a2@2 a2 a2@2 a2",
  AC: "e3@4 a2@3 ~ a2@6 ~@2 a2@6 ~@2 a2@6 ~@2, ~@7 g2@3 ~@5 g2@3 ~@5 g2@3 ~@6", AD: "g1@4 g1 f#1 g1 g#1",
  AE: "a1@4 ~ a1 c#2 e2", AF: "b1@2 d2 e2 a1!4", AG: "g1@4 g1 b1 e2@2", AH: "a1@3 a1 c#2 e2 c#2 e2",
  AI: "f#2@2 f#2@2 f#2 e2 c#2 a1", AJ: "b1@3 b1 a1 a1@3", AK: "g1@4 g1!4", AL: "a1@5 ~ g1@2 g1@8",
  AM: "c2@2 c2@2 c2 a1 c2 c#2", AN: "d2@4 d2 d2@2 a1", AO: "c2@2 c2@2 c2!2 a1 c2", AP: "d2@3 f#2 a1 g2 a1 a2",
  AQ: "c2@2 c2@2 c2 g1 a1 c2", AR: "d2@12 f#1@5 ~@3 g1@4 g#1@4 a1@4", AS: "c2@4 c2 a1 d2 d#2",
  AT: "e2@3 d2 e2 d2 b1 a#1", AU: "a1@3 a1!3 g1!2", AV: "f#1@2 f#1@2 f#1!2 a1 a#1", AW: "b1@3 b1 a1!2 a1@2",
  AX: "g1@2 g1@2 g1!2 d2@2", AY: "a2@7 ~ a2@7 ~ b2@4 b2@4 e3@7 ~, ~@7 g2@2 ~@6 a2@2 ~@15", AZ: "f#1@4 f#1 g#1 a1 a#1",
  BA: "b1@12 b1@4 b1@4 b1@4 a1@4 ~ b1@3",
  BB: "[~ a2@15 ~@5 a2@6 ~@2 a2@6 ~@2 a2@6 ~@2 a2@6 ~@2 a2@4 g2@4 e2@4 g1@16 g1@4 g1@4 f#1@4 g1@3, ~@10 g2 ~@3 g2 ~@3 g2 ~@3 g2 ~@3 g2 ~@21]/3",
  BC: "~ a1@12 a1@4 a1@4 c#2@4 e2@4 f2@3", BD: "~ f#2@12 e2@4 f#2@4 e2@4 c#2@4 a1@3",
  BE: "~ b1@8 b1@4 d2@4 a1@4 a1@4 a1@4 a1@3", BF: "~ g1@16 g1@3 ~ b1@4 d2@4 e2@3, ~@10 a1 ~@5",
  BG: "~ a1@16 a1@4 c#2@4 e2@4 f2@3", BH: "~ f#2@12 e2@2 e2@2 c#2@4 b1@4 a1@4 f#1@3", BI: "~ b1@12 b1@4 a1@4 a1@8 a1@3",
  BJ: "~ g1@12 g1@4 g1@4 e1@4 g1@4 g#1@3", BK: "~ a1@12 g1@4 g1@8 g1@4 a1@3", BL: "~ d2@16 d2@4 f#1@8 g1@3",
  BM: "~ a1@16 g1@4 g1@4 a1@4 b1@3", BN: "~ d2@8 d2@6 a1@2 d2@4 a1@4 f#1@4 g1@3", BO: "~ a1@12 a1@4 g1@4 g1@11",
  BP: "~ d2@16 d2@4 a1@4 f#1@4 g1@3", BQ: "~ a1@12 a1@4 g1@4 g1@4 d2@7", BR: "~ d2@16 f#2@4 f#2@4 g2@4 g#2@3",
  BS: "~ a2@12 a2@4 g2@4 g2@11", BT: "~ d2@16 ~@4 f#1@4 g1@4 g#1@3", BU: "~ a1@12 a1@4 g1@4 g1@8 a1@3",
  BV: "~ d2@16 d2@4 f#1@4 g1@4 g#1@3", BW: "~ a1@16 a1@4 a1@4 ~@4 a1@3", BX: "~ a1@4 a1@5 ~@3 a1@4 a1@4 a1@4 a2@4 a1@3",
  BY: "~ a2@4 a2@4 ~@4 a2@4 ~@4 a2@4 c#3@4 a2@3", BZ: "~ c#3@4 a2@4 c#3@4 e3@4 c#3@4 [a2,c#3]@4 e3@7",
  CA: "~ g2@16 g1@4 g1@8 g1@3", CB: "~ a1@16 a1@4 a1@4 e2@4 f2@3", CC: "~ f#2@20 e2@4 c#2@4 a1@3",
  CD: "~ b1@12 b1@4 a1@4 f#1@4 a1@7", CE: "~ g1@16 g1@4 f#1@4 g1@7", CF: "~ a1@12 a1@4 a1@4 e2@4 c#2@4 e2@3",
  CG: "~ f#2@12 a2@2 f#2@2 c#2@4 e2@4 c#2@4 a1@3", CH: "~ b1@12 b1@4 a1@4 a1@4 f#1@4 a1@3",
  CI: "~ g1@12 ~@2 g2@2 d2@4 g1@4 d2@4 g1@3", CJ: "~ a1@12 f#1@4 a1@4 a1@4 g1@4 e1@3",
  CK: "~ f#1@8 a1@4 a1@4 b1@4 b1@4 c#2@4 a1@3", CL: "~ b1@8 b1@4 b1@4 a1@4 a1@8 a1@3",
  CM: "~ g1@16 g2@4 d2@4 g1@4 g#1@3", CN: "~ a1@12 f#1@4 a1@4 f#1@4 a1@4 g1@3", CO: "~ f#1@20 f#1@4 a1@4 a#1@3",
  CP: "~ b1@8 b1@4 f#1@4 a1@4 a1@4 f#1@4 a1@3", CQ: "~ g1@8 g2@4 f#2@4 g2@4 f#2@4 d2@4 e2@3",
  CR: "[~ f#2@12 e3@8 a3@20 g3@4 f#3@4 g3@4 f#3@4 e3@4 a1@3]/2", CS: "~ g1@12 g1@4 g1@4 g1@4 b1@4 d2@3",
  CT: "~ f#2@8 f#2@8 f#1@4 f#1@4 a1@4 a#1@3", CU: "~ b1@8 d2@4 e2@4 a1@4 a1@4 a1@4 e2@3",
  CV: "~ g2@8 g2@8 g2@4 e2@4 d2@4 b1@3", CW: "~ a1@12 a2@2 e2@2 a1@4 a2@2 e2@2 a1@4 g1@3",
  CX: "~ f#1@8 f#1@8 f#1@2 ~@2 f#1@4 a1@4 a#1@3", CY: "~ b1@4 b1@4 d2@4 e2@4 a1@4 d2@4 e2@4 f#2@3",
  CZ: "~ g2@8 g2@8 g2@4 f#2@4 e2@4 d2@3", DA: "~ b1@12 b1@4 a1@4 d2@4 e2@4 f#2@3",
  DB: "[~ g2@8 b2@12 a2@3 ~ b2@4 a2@8 a2@4 ~@4 a2@7 ~ c#3@4 e3@4 c#3@3, ~@12 a2 ~@13 b2 ~@5]/2",
  DC: "[~ f#3@7 ~ f#3@7 ~ f#3@8 f#3@3 ~ a3@8 f#3@3 ~ a3@8 f#3@3 ~ a3@11, e3 ~@3 e3 ~@3 e3 ~@5 g3 ~@5 g3 ~@5 g3 ~@5]/2",
  DD: "~ g1@8 g1@8 g1@3 ~ b1@4 d2@4 e2@3, ~@10 a1 ~@5", DE: "~ a1@12 a1@4 c#2@4 e2@4 c#2@4 e2@3",
  DF: "~ f#2@8 f#2@8 f#2@4 e2@4 c#2@4 a1@3", DG: "~ b1@12 b2@2 f#2@2 b1@4 b2@2 f#2@2 a1@7",
  DH: "~ g1@16 g1@4 b1@4 d2@4 e2@3", DI: "~ a1@12 a1@4 a1@4 c#2@4 e2@4 f#2@3", DJ: "~ f#2@8 f#2@12 e2@4 c#2@4 a1@3",
  DK: "~ g1@31",
})).s("gm_electric_bass_finger").gain(0.7)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A@9 B A@3 C A@7 C@2 A@3 D@2 A C A@2 C@10 A C@2 A C D C@17 E F G F@9 G F@14 H F@4 I F@8 G F J F@2 I F G@2 I F@4 K
  F@3 G F@5 G F G F@3 H L ~@2
>`.pickRestart({
  A: "x ~@3 x!2 ~@2", B: "~ x ~ x ~ x!3", C: "x ~@3 x!2 ~ x", D: "x ~@2 x!3 ~@2", E: "x ~@15 x ~@3 x ~@8 x ~@2",
  F: "~ x ~@15 x ~@3 x ~@7 x ~@2", G: "~ x ~@11 x ~@3 x ~@3 x ~@7 x ~@2", H: "~@5 x ~@7 x ~@7 x ~@7 x ~@2",
  I: "~ x ~@15 x ~@3 x ~@10", J: "~ x ~@11 x ~@3 x ~@3 x ~@10", K: "~ x ~@3 x ~@7 x ~@3 x ~@11 x ~@2", L: "~ x ~@30",
})).gain(0.43)

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

// drums · low tom
const low_tom = s("lt").struct("<~@39 A B ~@8 A ~@11 A ~@7 C ~@9 C ~@42 D ~@7 E ~@11>".pickRestart({
  A: "~@5 x!3", B: "x", C: "~@21 x ~@3 x ~@3 x ~@2", D: "~@25 x ~@6", E: "~@29 x ~ x",
})).gain(0.5)

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  ~@2 A@9 ~ B A@2 C B A@5 B D A@6 B E B A@5 B A B A@8 F B D A D B A@5 B E B A@3 B G H I H J@6 K H L H J@2 M H J@9 ~ H
  J@3 H J@7 H J@2 N H J@3 O J@5 H ~@20
>`.pickRestart({
  A: "x!8", B: "~@2 x!6", C: "x!6 ~@2", D: "x!7 ~", E: "x!5 ~@3", F: "~ x ~@2",
  G: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@2", H: "~@9 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
  I: "~ x ~@3 x ~@3 x ~@3 x ~@18", J: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
  K: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@6", L: "~@9 x ~@22", M: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@10",
  N: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@14", O: "~@17 x ~@3 x ~@3 x ~@3 x ~@2",
})).gain(0.64)

// drums · open hat
const open_hat = s("oh").struct("<~@23 [~@7 x] ~@7 [~@5 x!3] ~@19 [~@7 x] ~@90>").gain(0.5)

// drums · crash
const crash = s("cr").struct(`<
  ~@12 A ~@2 B A ~@5 A ~@7 A ~ A ~@5 A ~ A ~@8 C A ~@3 A ~@5 A ~ A ~@3 A ~ D E D ~@7 D F D ~@2 G D ~@6 H@3 ~ D ~@3 D ~@7
  D ~@3 D ~@3 I ~ H J@3 D K L M@3 L M@2 N L M L M@3 L M D ~@2
>`.pickRestart({
  A: "x", B: "x!2 ~@6", C: "x ~@2 x!2 ~@3", D: "~ x ~@30", E: "~@17 x ~@14", F: "~ x ~@11 x ~@3 x ~@14",
  G: "~@25 x ~@6", H: "~ x ~@7 x ~@7 x ~@7 x ~@6", I: "~ x ~@7 x ~@22", J: "~ x ~@7 x ~@7 x ~@7 x ~@3 x ~@2",
  K: "~ x ~@3 x ~@3 x ~@22", L: "~ x ~@7 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
  M: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2", N: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@6",
})).gain(0.14)
// … 11 more lines