Strudelify

Glycerine

Bush

KeyF majorTempo116 bpm
0:00/0:00
// Glycerine — Bush
// 116 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "guitar" distortion guitar (copy of ch 1 "guitar" overdriven guitar)
// note: Full arrangement: all 115 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(116/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 · overdriven guitar · "guitar"
const overdriven_guitar = note(`<
  A@8 B C@3 D E F G H I J K L M N@2 O@2 P Q R S@4 T U V W X Y Z AA AB AC@2 AD AE AF AG@3 AH AI AJ AK AL AM AN AO AP AQ
  AR AS AT AU@4 AV AW@2 AX AY AZ BA BB BC BD BE@2 BF BG BH BI@3 BJ BK@2 BL BM BN BO@2 BP BQ@8 BR@2 BS@2 BT@2 BU@2 BV@4 ~
>`.pickRestart({
  A: "[[f2,c3,f3]@3 b2 ~@8 [f2,c3,f3]@11 ~ [c3,f3]@3 gb2 [g2,c3]@3 ~ [c3,g3]@4 ~@8 c3@7 c3@4 ~ g3@3 db3 [d3,g3]@3 ~ a3@11 [d3,a3]@12 [a2,d3,a3]@4 g3 [bb2,eb3]@3 [bb2,f3]@12 [bb2,f3,bb3]@12 ~ [f3,bb3]@2 ~ a2 [ab2,d3,eb3] ~@3 [c3,f3]@11 [f2,c3,f3]@12 [f2,c3,f3]@5 gb2 g2@2 [a2,d3] g3@11 g3@12 [g3,c4]@5 db3 [d3,gb3,g3] a3 [a2,d3,a3]@12 [d3,a3]@12 ~ [a3,d4]@4 g3 [bb2,eb3,ab3]@2 eb3 f3@11 ~ f3@7 ~ [f3,bb3]@4 [bb2,f3,bb3]@3 e3 [e2,a2]@3 c3, ~@23 f2@4 ~ b2 ~@2 g2@4 ~@9 g2@15 ~@4 a2@23 ~@33 bb2@3 ~@5 f2@11 ~@21 g2@29 ~@15 a2@18 ~@2 bb2@12 bb2@8 bb2@4 ~@9, ~@44 g3@11 c3@4 ~ gb3 ~@2 d3@11 ~@21 e3 ~@26 e3@2 ~@35 c3@12 c3@17 ~@27 d3@6 ~@3 d3 ~@31, ~@64 g3 ~@10 d4@15 ~@70 c4@23 ~@8 d4@24 ~@41, ~@160 b3 ~@63 bb3@20 ~@12]/8", // F5 C5 G5 D5 Eb5 Bb5 Ab F5 …
  B: "[f2,c3,f3]@3 ~@4 e2@4 f2 [f2,c3,f3]@12 [f2,c3,f3]@3 [gb2,b2] ~ [g2,c3]@3", // F5 B5 C5
  C: "[[g2,c3,g3]@3 ~@9 [c3,g3]@7 [c3,g3]@4 ~ [c3,g3,c4]@4 [db3,gb3] [d3,g3]@2 ~ a3@3 ~@8 [d3,a3]@12 [d3,a3,d4]@5 eb3@3 ~ [f3,bb3]@4 ~@3 e2@3 bb2 ~@8 bb2@5 [bb2,f3,bb3]@3 ~ [e2,a2] ~@3, ~@12 c4@12 ~@7 [a2,d3]@4 ~@28 bb2@4 ~@8 bb2@8 ~@13, ~@32 g3 ~@43 [f3,bb3]@12 ~@8]/3", // C5 Gb5 G5 D5 Bb5 A5 D5 Bb5
  D: "[f2,c3,f3]@4 ~@4 e2@3 ~ [c3,f3]@11 [c3,f3]@5 [f2,b2,c3] c3@3, ~@11 f2@17 ~@4, ~@3 a3@4 ~", // F5 F
  E: "[g2,c3,g3]@2 ~@2 e2 ~ [c3,g3,c4]@6 [c3,g3,c4]@2 [db3,gb3] [d3,g3], ~@10 g2@17 ~@5", // C5 Gb5 G5
  F: "[d3,a3,d4]@3 ~@22 [a3,d4]@3 g3@2 [bb2,eb3]@2, ~@6 [d3,a3]@6 d3@3 ~, ~@13 d4@12 ~@7, ~@10 a2@5 ~", // D5 Eb5 D5
  G: "~ [d3,eb3,e3] ~@7 e2@3 ~@8 [bb2,f3]@4 [bb2,f3,bb3]@3 e3 [e2,e3,db4] [g2,ab2,d3,eb3,b3,c4] [c3,db3] ~, bb2 ~@2 [bb2,f3]@2 ~@3, ~ [f3,bb3]@3 ~@8 bb3@12 ~@8, ~@13 d4@15 ~@4", // Bb5 Dbm Abmaj7 Dbmaj7 Bb5
  H: "[b2,c3] [c3,f3]@7 e2 ~@3 [f2,c3,f3,a3]@12 [f2,c3,f3]@3 ~@5, f2 ~@3", // Cmaj7 F5 F F5
  I: "[g2,c3,g3,c4]@4 ~@4 e2@3 g2 [g2,c3,g3,c4]@12 ~ c4@3 [db3,gb3] [d3,g3]@2 a3, e2 ~@23 [g2,c3,g3]@4 ~@4", // C5 Gb5 G5 C5
  J: "~ d4@4 ~@3 e2@3 a2 [d3,a3]@12 ~ d4@3 g3@2 eb3@2, [d3,a3]@5 ~@7 a2@17 ~@3, ~@12 [d3,a3]@3 ~", // D5
  K: "~ bb3@4 ~@4 e2@2 bb2 ~ [bb3,d4]@12 [f3,bb3,d4]@3 e3 [a2,eb3,c4,db4] [g2,ab2,d3] [gb2,c3,db3], [bb2,f3] ~@2 f3@3 ~@2, ~@13 bb2@16 ~@3", // Bb Adim G Gb Bb5
  L: "b2 [f2,c3,f3,a3]@4 b2 ~@3 e2@2 ~@2 f3@8 f3@4 [f3,a3]@4 b2 c3@2, ~ [e2,g3] ~@9 f2@18 ~@3, ~@12 c3@17 ~@3, ~@13 a3@12 ~@7", // F Em
  M: "~ c4@3 ~@8 [c3,g3]@7 ~ [c3,g3]@4 [c3,g3,c4]@5 [db3,gb3] ~ a3, [g2,c3,g3] ~@2 c4@3 ~@2, ~@19 g2@9 ~@2 [d3,g3]@2", // C5 Gb5 C5 G5
  N: "[[a2,d3,a3]@4 ~@4 e2@3 ~@8 d3@4 ~ [d3,a3]@4 g3 bb2@2 ~ [f3,bb3]@4 ~@4 e2@3 bb2 [bb2,f3]@7 ~ f3@4 [f3,bb3,d4]@3 [e3,db4] c4 b3 ~@2, ~@11 a2@17 ~@3 bb2@5 ~@15 bb2@7 ~@2 e2@4, ~@11 a3@12 ~@21 bb3@12 ~@8, ~@11 d3@8 ~@9 [eb3,ab3]@3 ~ [eb3,ab3] ~@31, ~@12 d4@12 d4@3 ~@37]/2", // D5 Bb5 Bb Dbm Ab5
  O: "[[f2,c3,f3]@11 [f2,c3,f3]@12 ~ [c3,f3]@3 [gb2,b2,eb3] c3@3 ~ [c3,g3]@11 [g2,c3,g3]@12 ~ [g2,c3,g3]@4 ab2 [db3,gb3] [a2,d3]@2, ~@23 f2@4 ~ g2@15 ~@21, ~@32 c4@29 ~@3]/2", // F5 B C5 Gb5 D5
  P: "[a2,d3,a3]@12 [a2,d3,a3]@11 ~ [d3,a3]@4 g3 ~ eb3@2, ~@12 d4@15 ~@5, ~@23 a2@6 bb2@2 ~", // D5
  Q: "[bb2,f3,bb3]@12 [bb2,f3,bb3]@12 [bb2,f3,bb3]@3 [a2,e3] [ab2,eb3] [gb2,g2,db3,d3] c3@2, eb3 ~@31", // Bb5 A5 Ab5 Dmaj7
  R: "[f2,c3,f3]@11 ~ [f2,f3]@11 ~ [f2,f3]@7 [e2,a2], ~@11 c3@12 c3@7 ~@2", // F5 F A5
  S: "[b2 ~@3 c3@4 [c3,g3,c4]@3 ~@5 [bb2,f3,bb3]@4 [bb2,f3,bb3]@8 bb2@3 b2 [f2,c3,f3]@3 b2 ~@5 f2@2 ~@8 f2@4 [f2,c3,f3]@5 b2 gb2 g2 ~ f3 ~ [g2,c3] g2@5 [c3,g3,c4]@3 ~ d3 [f3,g3] ~@2 [bb2,f3]@3 ~ [f3,bb3]@8 bb2@4 [f2,c3,f3]@3 b2 ~@8 [f2,c3,f3]@12 [f2,c3,f3]@3 b2 ~@4, ~@3 g2@8 ~@5 f2@16 b2 ~@7 e2@2 ~ f2@7 ~@13 [g2,c3]@2 ~@13 f3@2 ~@3 bb2@8 ~@5 [b2,d3] ~@31, ~@16 [e2,a2] ~@3 b3@16 ~@8 f3@11 ~@10 g3@6 ~@6 b3@22 ~@29, ~@28 f3 ~@14 c3@12 ~@12 c3@4 ~@7 bb3@6 ~@8 f3 ~@35, ~@79 f2@16 ~@33]/4", // C5 Bb5 F5 C5 Fsus2 Bb5 F5 C5 …
  T: "[g2,c3,g3]@4 ~@4 e2@3 g2 [c3,g3]@12 [c3,g3]@4 [db3,ab3] [d3,g3]@3, e2 ~@11 g2@15 ~@5", // C5 Db5 G5
  U: "[a2,d3,a3,d4]@4 ~@4 e2@2 ~@2 d3@11 ~ a3@3 g3 eb3@3 f3, ~@10 a2@13 [a2,d3]@4 ~@5, ~@6 [a3,d4]@7 ~ ab3 ~", // D5
  V: "[bb2,f3,bb3]@3 e3 ~@4 e2@3 bb2 [bb2,f3,bb3]@12 ~ d4@3 [a2,e3,db4] [ab2,eb3] [gb2,g2,db3,d3] c3, ~@24 [bb2,f3,bb3]@3 ~@5", // Bb5 A Ab5 Dmaj7 Bb5
  W: "[e2,b2,c3] [f2,c3,f3]@4 ~@7 [f2,c3,f3]@12 ~ [c3,f3]@3 b2 gb2 c3@2, ~@3 a3@4 ~, ~@6 f2 ~", // Cmaj7 F5
  X: "~ g3@4 ~@15 e2 g2@3 ~ [g2,g3]@3 db3 [d3,g3]@3, [g2,c3] ~@2 c3@2 c3!2 ~, ~@13 c4@15 ~@4, ~@13 g3@12 ~@4 gb3 ~@2", // G G5 C5
  Y: "a3 a3@4 ~@7 a3@4 a3@4 ~ a3@3 ~ d4@3 g3 eb3@3, d3 ~@2 a2@4 ~, ~@12 d3@8 ~ d3@8 ~@3, ~@24 a3@4 ~ ab3 ~@2",
  Z: "[e3,f3] [f3,bb3]@3 e3 ~@3 e2@3 bb2 f3@8 f3@5 ~@2 a2 [ab2,eb3] [g2,db3,d3] c3@2, bb2@4 ~@8 [bb2,bb3,d4]@13 [bb2,f3,bb3]@2 ~@3 gb2 ~, ~@13 [e3,db4] ~@2", // Fmaj7 Bb5 Ab5 G Bb Bb5 Dbm
  AA: "~ [c3,f3]@6 ~ e2@3 ~ [f2,c3,f3]@12 [f2,c3,f3]@4 ~ b2 c3@2, f2@3 ~@3 a3@8 ~@2", // F5
  AB: "e2 ~ g2@2 ~@9 c4@11 ~ c4@4 [db3,gb3] ~ a3, ~ [c3,g3]@3 ~@8 c3@17 ~ [d3,g3]@2, ~@12 g3@12 g3@5 ~@3, ~@12 g2@9 ~@11", // Gb5 C5 G5
  AC: "[[a2,d3,a3,d4]@4 ~@8 [a2,a3]@7 a3@5 [d3,a3]@4 ~@2 ab3 ~ [bb2,f3,bb3]@4 ~@4 e2@3 bb2 [bb2,f3]@8 ~ f3@4 [bb2,f3,bb3]@2 ~ [a2,eb3] [g2,ab2,d3] [gb2,c3,db3] ~, ~@12 b3@25 ~@7 bb3@12 ~@8, ~@12 d4@15 ~@2 eb3@3 eb3 ~@19 bb2@4 ~@8, ~@12 d3@12 ~@4 g3@2 ~@29 e3@2 ~@3]/2", // D5 A D5 Bb5 Adim G Gb
  AD: "~ [c3,f3]@11 [f2,c3,f3]@12 [f2,c3,f3,a3]@4 [gb2,b2,eb3] [g2,c3]@3, f2@3 ~@5", // F5 F B C5
  AE: "g2@7 ~@5 [c3,g3,c4]@12 [c3,g3,c4]@5 [db3,ab3] [d3,g3]@2, [c3,g3]@3 ~@5, e2 ~@7 g2@20 ~@4", // C5 Db5 G5 C5
  AF: "[a2,d3,a3]@11 ~ [d3,a3]@11 ~ [d3,a3]@4 ~@2 eb3@2, g3 ~@10 a2@12 a2@5 g3@2 ~@2, ~@29 bb2@2 ~", // D5
  AG: "[bb2@7 bb2@4 ~ f3@7 [bb2,f3]@4 ~ bb3@2 e3 a2 [g2,ab2,d3,eb3] [gb2,c3,db3] ~ e2 f2@11 [f2,c3,f3]@12 ~ [c3,f3,a3]@4 [gb2,b2] c3@2 ~ [g3,c4]@12 [g3,c4]@12 [c3,g3,c4]@4 ~ gb3 [d3,g3]@2, [f3,bb3]@6 bb3@6 ~@20 c3@12 ~@2 db3 ~, eb3 ~@10 bb2@8 ~@4 [bb2,f3]@4 ~@4 [c3,f3]@12 ~@12 f2@5 ~ g2@31 ~@4]/3", // Bb5 Ebmaj7 Gb F5 F B5 C5 G5 …
  AH: "[a3,d4]@11 ~ d4@11 ~ [d3,a3]@4 ~@2 ab3 ~, d3@24 d4@3 ~ g3@2 ~@2, g3 ~@10 a3@12 a2@5 ~ eb3@2 ~", // D5
  AI: "[d3,eb3] ~@7 f3@4 [bb2,f3]@8 [bb2,f3]@4 [bb2,f3,bb3]@3 e3 [a2,eb3,db4] [g2,ab2,db3,d3] c3@2, [bb2,bb3]@3 bb3@3 ~@2, f3@8 ~@4 d4@15 ~@5", // Ebmaj7 Bb5 Ebm7b5 Bb
  AJ: "[f2,c3,f3]@11 [f2,c3,f3]@12 ~ a3@4 [gb2,b2] [g2,c3]@3, e2 ~@22 [f2,c3,f3]@4 ~@5", // F5 B5 C5 F5
  AK: "[c3,g3]@12 [c3,g3]@8 [c3,g3]@4 e2 g2@3 ~ [db3,ab3] ~ ab3, g2@16 ~@8 [c3,g3]@5 ~ [d3,g3]@2", // C5 Db5 C5 G5
  AL: "e2@3 a2 a2@2 [a2,d3,a3]@6 [a2,d3,a3]@3 [bb2,eb3], [d3,a3]@3 ~@5", // D5 Eb5 D5
  AM: "bb2@8 bb2@4 [bb2,f3]@8 [bb2,f3]@4 ~ bb3@2 e3 [ab2,d3,eb3] db3 c3@2, f3@6 bb3@6 [bb2,f3] ~@3", // Bb5 Ab Bb5
  AN: "[f2,c3,f3]@4 ~@4 e2@4 [f2,c3,f3,a3]@12 [f2,c3,f3,a3]@5 ~@3", // F5 F
  AO: "f3@2 ~ g3 [c3,g3]@4 [c3,g3,c4]@3 ~@2 d3!2 ~@5 [f3,bb3]@7 ~ [d3,eb3] ~@3, ~@2 [g2,c3]@2 g2@8 ~ [e2,a2]@3 f2@16, ~@15 f3@5 ~@12, ~@17 bb2@11 bb2@4", // C5 Bb5 Ebmaj7 C5 A5
  AP: "[f2,c3,f3]@3 b2 ~@8 [f2,c3,f3]@12 [f2,c3,f3,a3]@5 ~@3, b2 ~@31", // F5 F
  AQ: "[g2,f3]@3 [g2,g3]@5 [c3,g3,c4]@3 ~ d3@2 f3@2 [e2,a2] ~@3 f3@4 f3@3 ~ e2 f2@3, c3@8 ~@8 bb2@11 ~ [bb2,d3]@4, ~@2 f2 ~, ~@16 f3@4 bb3@7 ~@5", // G7 G C5 A5 Bb
  AR: "bb3@4 a3 bb3@3 ~@4 [c3,f3]@11 ~ [f3,a3]@3 b2 ~ [c3,f3]@2 g3, [f2,c3,f3]@6 f2@8 [gb2,e3] ~, b2 ~@7 a3@15 c3@4 ~@2 g2 ~@2", // F5 F F5 Gb7
  AS: "[c3,g3]@12 g3@8 g3@4 [c3,g3,c4]@5 [db3,ab3] [d3,g3]@2, c4@3 ~, bb3 ~@11 [g2,c3]@12 ~@8", // C5 Db5 G5 C5
  AT: "[d3,a3]@12 ~@7 a2@4 ~ [a2,d3,a3]@4 [a2,d3,g3]@2 [bb2,eb3]@2, a2@19 ~@13, ~@12 d4@15 ~@5, ~@3 [d3,a3]@3 ~@2", // D5 Dsus4 Eb5 D5
  AU: "[[eb3,ab3] [f3,bb3]@11 [bb2,f3,bb3,d4]@12 [bb2,f3,bb3] e3 db4 [d3,eb3,c4] db3 c3@2 ~ [c3,f3]@11 [c3,f3]@12 ~ f3@4 b2 c3@2 f3 g3@11 ~@9 [c3,g3]@4 [c3,g3,c4]@6 [db3,ab3] g3 g3 ~@7 e2@2 a2@2 d4 d4@7 [a3,d4]@4 [d3,a3,d4]@4 a3 g3@2 eb3, bb2@12 ~@19 f2@12 f2@9 ~@3 [f2,c3]@5 ~@3 g2@17 ~@48, ~@63 c3@12 [c3,g3]@8 ~@12 d3@9 d3@16 ~@4 d3@3 ~, ~@76 c4@12 ~@9 [a3,d4]@11 a3@8 ~@12]/4", // Ab5 Bb5 Bb Bb5 Cm F5 C5 Db5 …
  AV: "eb3 [f3,bb3]@7 [f3,bb3]@4 ~ bb3@3 bb3@4 [bb2,f3,bb3]@4 bb2 [e3,f3]@2 [eb3,a3] [g2,ab2,d3,ab3] db3 c3@2, bb2@2 bb2@3 ~@3, ~ ab3 ~@10 f3@8 ~@12", // Bb5 Fmaj7 Ebdim G
  AW: "[[f2,c3,f3]@11 ~ f3@11 ~ a3@5 b2 ~@2 [c3,g3]@12 c3@7 c3@4 ~ c4@3 ~ db3 gb3 d3@2, e2 ~@10 c3@12 [c3,f3]@6 ~ c3@2 ~@12 g3@11 [c3,g3]@4 f3@2 ~@3, ~@11 f2@5 ~@15 g2@19 ~ g2@9 ~@4]/2", // F5 C5 F5 C5
  AX: "[d3,a3,d4]@11 ~@8 a3@4 ~ a3@2 db4 ab3 g3 ab3 ~ e3, db4 ~@10 [a2,d3,a3]@8 d3@9 eb3@3 ~, ~@6 d4@7 ~@3", // D5
  AY: "bb2@7 bb2@4 ~ f3@8 [bb2,f3]@4 f3 e3@2 [ab2,eb3] [g2,ab2,d3] [c3,db3]@2 ~, [f3,bb3]@3 bb3@3 ~@2, e3 ~@10 bb2@8 ~@5 [a2,bb3]@3 ~@5", // Bb5 Ab5 G Dbmaj7 Bb5 Bbmaj7
  AZ: "[f2,c3,f3]@11 ~ [c3,f3]@12 [c3,f3,a3]@5 ~ b2 ~, ~@11 f2@16 ~@2 gb3@2 ~", // F5 F
  BA: "[c3,db3,d3] d3@2 db3 ~ db3 c3 [e2,b3] c4@3 ~@8 c4@5 [g3,c4]@4 [db3,ab3] g3 a3@2, g2@7 [g2,c3]@20 ~@5, ~ g3@5 ~ gb3@4 g3@12 ~@6 d3@3, ~@4 d3@2 ~@5 c4@8 ~@13, ~@6 eb4@6 eb4 ~@3", // E5 C5 Db5 C5
  BB: "[d3,a3,d4]@12 [d3,a3,d4]@12 [a3,d4]@3 ab3 ~ [eb3,ab3]@3, ~@12 d3@2 g3 ~", // D5 Ab5
  BC: "~ bb3@12 [bb2,f3,bb3]@12 ~@3 [ab2,eb3] [g2,d3] [gb2,c3,db3] ~, [bb2,f3]@12 ~@13 [bb2,f3,bb3,d4]@2 [a2,db4]@2 ~@3, ~@13 e3 ~@2", // Bb5 Ab5 G5 Gb Bb5 Bb A
  BD: "e2 [f2,f3]@11 ~ f3@11 ~ [c3,f3,a3]@4 b2 c3@2, c3@12 [f2,c3]@12 f2@3 ~@5, ~ d3 ~@30", // F F5
  BE: "[~ g3@8 g3@3 ~ [g3,c4]@7 ~ c4@4 [g3,c4]@5 [db3,ab3] g3 a3 ~@23 [d3,a3,d4]@4 g3 [bb2,eb3,ab3]@3, g2@29 ~@11 a2@11 a2@9 ~@4, ~ c3@11 c3@17 ~@2 d3@13 [d3,a3,d4]@12 ~@8, ~@20 g3@4 ~@9 a3@11 ~@20]/2", // C5 Db5 D5 Ebsus4 D5
  BF: "[bb2,f3,bb3]@12 [bb2,f3,bb3]@8 [bb2,f3,bb3]@4 ~ bb3@3 b2 [c3,db3] d3@2, [d3,eb3] ~@23 [bb2,f3]@4 ~@4", // Bb5 Dbmaj7 Ebmaj7 Bb5
  BG: "[d3,a3]@12 [d3,a3,d4]@12 [d3,a3,d4]@4 [c3,db3,g3,ab3] [b2,gb3] [bb2,f3]@2", // D5 Dbmaj7 B5 Bb5
  BH: "[bb2,f3]@11 ~@8 bb2@5 [bb2,f3,bb3]@3 [b2,b3] [c3,e3,f3] ~ d3@2, bb3 ~@10 f3@12 ~@9, ~@11 bb2@8 ~@10 [db3,gb3]@2 ~, ~@3 bb3@3 ~@2", // Bb5 B Fmaj7 Gb5
  BI: "[a2 ab3 a3@9 [d3,a3,d4]@12 ~@4 db3 [c3,g3,c4,db4] [bb2,b2,f3,gb3,b3] ~@2 [f3,bb3]@11 ~ bb3@11 ~ bb3@3 [b2,e3,b3] [c3,db3,f3,gb3,c4,db4] g3 ab3 a3 ~@8 d3@4 [d3,a3,d4]@12 [d3,a3,d4]@4 [db3,g3,ab3] [b2,c3,gb3] [bb2,f3]@2, [d3,d4]@11 ~@12 [d3,a3]@3 ab3@2 ~@3 bb2@12 [bb2,f3]@12 [bb2,f3]@4 ~@2 d3@2 d3@8 ~@25, ~@24 d4@4 ~@33 d4@15 ~@20, ~@16 a3@3 ~@5]/3", // D5 C Gbmaj7 Bb5 E5 Dbmaj7 D5 Db …
  BJ: "bb2@12 bb2@4 [bb2,f3]@4 [bb2,f3]@4 [bb2,f3,bb3]@4 [e2,d3,f3] ~@3, bb3@3 ~, f3 ~", // Bb5 Dm
  BK: "[[f2,c3]@3 b2 ~@8 [c3,f3]@11 ~ f3@3 b2 ~@4 g3@4 ~@8 c4 ~@7 g3@4 [g2,c3,g3]@4 db3 [d3,gb3]@2 ~, [e2,b2] ~@10 f2@12 [f2,c3]@4 ~@17 g3@8 ~@12, ~@12 b2 ~@18 c3@4 ~@9 c3@12 ~@8, ~@45 c4@15 ~@4]/2", // F5 C5 D E5 F5
  BL: "[d3,a3]@4 ~@4 [e2,a2]@2 d3 ~ [d3,a3]@12 [a3,d4]@3 g3 [eb3,ab3]@3 [f3,bb3], ~@11 a2@13 [a2,d3]@5 ~@3", // D5 A5 D5 Ab5 Bb5 D5
  BM: "[bb2,f3,bb3]@3 e3 ~@4 e2@3 bb2 bb2@8 bb2@4 [bb2,f3,bb3]@3 e3 [ab2,a2,eb3] [gb2,g2,db3,d3] c3@2, ~@3 [f3,bb3]@3 ~@2", // Bb5 Ab Dmaj7 Bb5
  BN: "[f2,c3]@4 ~@3 e2@3 f2 ~@9 c3@4 [c3,f3,a3]@4 [gb2,b2,eb3,e3] [g2,c3,f3]@3, ~@11 f3@12 ~@9, ~@11 [f2,c3]@8 ~ f2@8 ~@4, ~@3 a3@3 ~@2", // F5 F B Csus4 F5
  BO: "[[g2,c3,g3]@3 ~@9 g3@7 g3@4 ~ [g3,c4]@5 [db3,ab3] [d3,g3] g3 [a3,d4]@4 g3 ~@3 e2@2 ~@2 [d3,a3]@12 [a2,d3,a3]@5 ~ eb3@2, ~@11 c3@12 c3@5 ~@3 d3@5 ~@6 a2@14 ~@5 bb2@3, ~@12 c4@12 ~@8 g3 ~@29 ab3 ~]/2", // C5 Db5 G5 D5
  BP: "~ f3@7 e2@3 ~ bb2@8 bb2@4 [bb2,f3,bb3]@2 e3 a2 [g2,ab2,d3,eb3] [gb2,db3] c3 ~, bb2@7 ~@25, ~ eb3 ~@10 [f3,bb3]@12 ~@8", // Bb5 Ebmaj7 Gb5 Bb5
  BQ: "[[f3,a3]@11 [f3,a3]@11 ~ [f2,f3,a3]@4 [gb2,b2,eb3] ~ c3@2 [c3,g3,c4]@12 ~@8 g3@4 ~ [g3,c4]@5 [db3,ab3] ~@2 [d3,a3]@11 [a2,d3,a3]@12 [a2,d3,a3]@5 ~ [bb2,eb3,ab3]@2 ~ [f3,bb3]@11 ~@8 bb2@4 ~@3 e3 [a2,db4] [ab2,a2,d3,eb3,e3] [g2,db3] c3 [e2,b2] f2@11 [f2,c3,f3]@12 ~ [c3,f3]@4 gb2 [g2,b2,c3]@2 ~ [g2,c3,g3]@12 [c3,g3,c4]@12 [c3,g3,c4]@6 [db3,gb3] [d3,g3] [e2,g3] a3@11 [d3,a3]@12 [a2,d3,a3]@4 g3 eb3@3 ~ a4@4 ~@3 bb2@4 f3@8 f3@4 [bb2,f3,bb3,d4]@2 e3 [a2,eb3,db4] [g2,ab2,d3] [gb2,db3] ~@2, [f2,c3]@23 ~@5 g2@3 g2@29 ~@3 a2@12 ~@20 bb2@12 bb2@8 ~@4 [bb2,f3]@4 ~@4 [c3,f3]@12 ~@12 f2@5 ~@16 g2@18 ~@3 a2@17 ~@14 bb2@8 ~@4 [bb2,bb3]@12 ~@8, e2 ~@21 c3@5 ~@16 c4@13 ~@8 d4@26 ~@30 [bb3,d4]@4 ~@97 ab3 ~@2 f3@12 ~@20, ~@43 [c3,g3]@8 c3@9 ~@2 [d3,g3]@2 g3 ~@27 g3@2 ~@2 [eb3,ab3] ~@11 [f3,bb3]@12 ~@72 d3@11 ~@53, ~@47 e4@178 bb3@11 ~@20]/8", // F B C5 Db5 D5 Ebsus4 Bb5 A …
  BR: "[[f2,c3,f3]@5 ~@3 e2@2 f2 ~ [c3,f3]@11 ~ f3@5 ~@2 [e2,a2]@2 ~ e2 [e2,a2] g2@4 [c3,g3,c4]@3 ~ [a2,d3]@2 [e2,a2,d3,g3] [f2,bb2] [bb2,f3]@4 b3 d4 ~@5 f3 ~@4, e2 ~@10 f2@12 [f2,c3]@6 ~@4 [a2,d3,g3]@2 ~ c3@3 ~@7 f3@2 f2@16, ~@12 a3@17 ~@6 g3@4 ~@7 bb3@6 bb2@12, ~@52 [f3,bb3]@7 ~@5]/2", // F5 A5 C5 D5 Em7 Bb5 F5 Dsus4 …
  BS: "[[f2,c3,f3]@3 b2 ~@4 e2@2 f2 ~ f3@11 ~ a3@4 ~ gb2 [g2,c3] ~ f3 ~@2 g3@4 ~@2 g3 ~@2 d3 ~@2 [e2,a2] bb3@4 [f3,bb3]@8 [bb2,d3]@4, [bb2,d3] ~@10 [f2,c3]@12 [f2,c3,f3]@5 b2@2 ~ c3@8 [c3,g3]@2 ~@6 f3@4 ~@13, ~@31 g2@2 g3@2 ~@5 c4@3 ~@5 bb2@12 ~@4, ~@17 g2@4 ~@3 f2@8]/2", // F5 C5 A5 Bb5 Bb F5 C5
  BT: "[[f2,c3,f3,a3]@11 ~ f3@7 b2 b2@3 c3 [f2,c3,f3]@4 b2 ~ g2 ~@2 g3 f3 g3@4 ~ c4@3 ~ d3 f3@3 [bb2,f3,bb3]@4 [bb2,f3,bb3]@7 f3 bb2@4, b2 ~@10 f2@12 ~@8 g2@11 ~ [e2,a2]@4 ~ f2@16, ~@11 c3@7 ~ f3@4 ~@9 f3@2 ~@30, ~@12 a3@16 ~@7 b3@7 ~@22, ~@20 c3 ~@8 [c3,e3,f3]@2 ~ c3@7 [c3,g3]@4 ~@5 a2 ~@15]/2", // F F5 Bb5 A5 Fmaj7 C5
  BU: "[[f2,c3,f3]@5 b2 ~ e2@2 f2@2 [c3,f3]@8 [c3,f3]@4 [f2,c3,f3,a3]@4 b2@2 c3@2 f3@3 [g2,g3]@5 [c3,g3,c4]@3 ~ [e2,a2]@4 a2 ~@8 f3@3 ~ bb2@4, b2 ~@10 [f2,a3]@12 ~@8 c3@8 ~@8 f2@16 ~, ~@47 [f3,bb3]@4 f3@4 ~@9, ~@12 bb2@3 ~, ~@52 bb3@7 ~@5]/2", // F5 F G C5 A5 F Bb5
  BV: "[[c3,f3,a3,b3]@55 ~@9, f2@107 ~@21, [b2,bb3] ~@127]/4", // F Bmaj7
})).s("gm_overdriven_guitar").gain(0.36).pan(0.7)

// bass · fretless bass · "bass"
const bass = note(`<
  ~@4 A B C D E F@2 G A H@2 I J K L M N O P@2 J Q R S T U V W J X Y Z AA AB Y AC AD AE AF@2 AG AH@4 AI AJ Z AK AL AM AN
  A AO AP AQ AR AS AT AU AK AV AW AX AY AZ BA@2 J BB@2 BC AY AZ BA@2 BD BE@3 BF Z BG@2 BH BI@2 BJ@2 BK BL@2 BM@3 AL BN Z
  AD BO BP BQ BR BS BR BT BU@4 ~
>`.pickRestart({
  A: "f2@31 ~", B: "c3@31 d3", C: "d3@23 d3@6 ~@3", D: "bb2@24 bb2@4 a2 ab2 ~@2", E: "~ f2@4 ~@7 f2@20",
  F: "[c3@5 ~@7 c3@18 d3@28 ~ d3@3 ~@2]/2", G: "bb2@24 bb2@6 a2 ~", H: "[c3@24 c3@7 d3@2 d3@23 d3@4 ~@4]/2",
  I: "~ bb2@23 bb2@6 ~@2", J: "f2@3 f2", K: "~ c3@23 c3@8", L: "d3 d3@22 d3@5 ~@4", M: "bb2@24 ~ bb2@4 ~@3",
  N: "~ f2@24 f2@7", O: "~ c3@22 ~ c3@8", P: "[d3@23 d3@5 ~@3 bb2@24 bb2@3 ~@6]/2", Q: "c3@24 ~ c3@7",
  R: "[db3,d3] d3@23 d3@4 ~@4", S: "bb2@25 ~@7", T: "f2@13 f2@11 f2@7 ~", U: "~@4 c3@4 c3@7 bb2 bb2@13 ~@3",
  V: "f2@13 f2@12 f2@7", W: "~@4 c3@4 c3@7 bb2 bb2@4 bb2@9 ~@3", X: "c3@3 c3", Y: "d3 d3@23 d3@4 ~@4", Z: "bb2@6 bb2 ~",
  AA: "f2", AB: "~ c3@23 c3@7 ~", AC: "bb2@23 ~ bb2@4 ~@4", AD: "f2@25 f2@7", AE: "~ c3@28 ~@3",
  AF: "[~ d3@22 d3@8 bb2@2 b2 bb2@21 bb2@5 ~@4]/2", AG: "f2@24 f2@7 ~",
  AH: "[~ c3@22 c3@8 d3@23 ~ d3@5 ~@3 bb2@24 bb2@3 ~@5 f2@24 f2@7 ~@2]/4", AI: "c3@21 c3@10 c3", AJ: "d3@6 d3 ~",
  AK: "f2@23 f2@8 ~", AL: "c3@24 c3@7 d3", AM: "d3@12 d3@3 ~", AN: "~ bb2@24 bb2@3 ~@4",
  AO: "~@4 c3@4 c3@7 ~@2 a2@3 bb2 bb2@10 ~", AP: "e2 f2@8 ~@4 f2@19", AQ: "~@8 c3@7 bb2 ~ bb2@3 bb2@8 bb2@3 ~",
  AR: "f2@11 ~ f2@19 ~, e2 ~@31", AS: "c3@13 ~@3", AT: "d3 d3@27 ~@4", AU: "bb2@25 bb2@4 ~@3", AV: "c3@23 c3@8 ~",
  AW: "d3@6 d3 ~, c3 ~@31", AX: "bb2@24 bb2@5 ~@3", AY: "f2@15 ~", AZ: "c3@23 ~ c3@5 ~@3",
  BA: "[d3@23 d3@8 bb2@25 bb2@4 a2 ab2 g2 f2]/2", BB: "[c3@30 db3 d3@24 ~ d3@8]/2", BC: "bb2@25 bb2@5 b2 c3",
  BD: "~ d3@22 d3@8 bb2", BE: "[bb2@24 bb2@7 d3@24 d3@8 bb2@25 ~ bb2@7]/3", BF: "d3@23 d3@9",
  BG: "[f2@4 ~@27 c3@4 ~ b2 ~@7 c3@19 d3, e2 ~@22 f2@11 ~@30]/2", BH: "d3@19 d3@10 ~@3",
  BI: "[bb2@5 ~@7 bb2@15 a2@2 ab2 ~ f2@5 ~@8 f2@19 ~]/2", BJ: "[~@12 c3@18 d3 d3@5 ~@7 d3@13 d3@4 ~@4]/2",
  BK: "bb2@12 bb2@12 bb2@3 ~@5", BL: "[f2@30 ~ c3@32 d3]/2", BM: "[d3@12 d3@16 ~@3 bb2@20 bb2@7 ~@5 f2@24 f2@9]/3",
  BN: "d3@7 ~", BO: "~@5 c3@3 c3@6 ~ b2 ~@4 bb2@9 ~@3", BP: "f2@6 ~@5 f2@20 ~",
  BQ: "~@3 c3@4 c3@7 ~@2 bb2@4 bb2@10 ~@2", BR: "f2@5 ~@7 f2@19 ~", BS: "~@3 c3@4 c3@6 ~@2 bb2@4 bb2@9 ~@4",
  BT: "~@3 c3@4 c3@4 ~@4 bb2@4 bb2@6 ~@7", BU: "[f2@29 ~@3]/4",
})).s("gm_fretless_bass").gain(0.26)

// other · string ensemble 1 · "strings"
const string_ensemble_1 = note(`<
  ~@24 A B C D@6 ~@11 E F G H A I J K L@3 M N@2 O@3 P@2 Q R S@2 T U@2 V W X Y@2 Z AA@3 AB@6 AC AD ~@7 AE@2 AF@2 AG@2
  AH@8 AI@2 AJ@5
>`.pickRestart({
  A: "f3", B: "~ c4@22 c4@5 db4@2 d4@2", C: "~ d4@26 ~ ab3@4",
  D: "[bb3@19 ~ c4@40 b3 bb3 a3 f3@2 f3@96 ~@31, ~@63 ab3 ~@128]/6", E: "~@13 f3@19", F: "~ c4@31", G: "d4 d4@26 ~@5",
  H: "bb3@19 b3 c4@9 b3 [a3,bb3] ab3", I: "c4@14 db4 d4", J: "d4", K: "bb3@20 b3 c4@9 b3 bb3",
  L: "[f3 f3@38 c4@15 ~ c4@5 db4@3 d4@28 ~ ab3@4]/3", M: "bb3@19 c4@8 b3 bb3 a3 ab3 f3", N: "[~ f3@37 ~@26]/2",
  O: "[f3@21 f3@11]/3", P: "[~ c4@28 db4 d4@27 ~@3 ab3@4]/2", Q: "bb3@19 c4@9 b3 bb3 a3 ab3", R: "f3 f3@31",
  S: "[c4@30 ~ d4@26 ~@3 ab3@4, ~@15 db4 ~@16]/2", T: "~ bb3@19 c4@11 b3", U: "[[f3,bb3] f3@35 ~@6 c4@21 ~]/2",
  V: "db4 d4@27 ab3@4", W: "bb3@23 c4@8 b3", X: "bb3 f3 f3@22 f3 f3@7", Y: "[~@9 c4@22 d4@28 ~ ab3@4]/2",
  Z: "bb3@25 bb3@7", AA: "[c4 c4@95]/3",
  AB: "[~@4 bb3@12 ab3@8 bb3@21 ~@4 eb4@4 f4@32 e4 db4 db4@7 ~ f4@60 bb3@4 c4@31 ~@2, ~@45 ab3@7 ~ e4 ~@138]/6",
  AC: "ab3@15 ~@2 e3 f3 ~@8 a3 ~ g3@3, ~@15 bb3@11 ~@2 ab3@2 ~@2", AD: "f3 ~@3", AE: "[~@31 c4@30 db4 d4@2, f3@63 ~]/2",
  AF: "[d4@26 ~ ab3@4 bb3@19 ~ c4@11 [bb3,b3] [ab3,a3]]/2", AG: "[f3 f3@27 c4@35 d4]/2",
  AH: "[~ d4@25 ~ ab3@4 bb3@25 c4@128 b3 bb3 a3 ab3@3 f3 f3@61 ~ e3 eb3 ~]/8", AI: "[f2@55 ~@9]/2",
  AJ: "[~ f2@130 ~@29]/5",
})).s("gm_string_ensemble_1").gain(0.46).pan(0.3)

// other · violin · "high str"
const violin = note(`<
  ~@25 A B C@3 D@3 ~@12 E F@4 G@4 H I@7 J@2 K@2 H L@7 B M@3 N O P Q R@4 S@3 ~@6 T@5 H U@3 V@3 ~@8
>`.pickRestart({
  A: "~@17 d5@7 c5@8", B: "a4@31 ~", C: "[bb4@25 c5@69 ~@2]/3", D: "[f4@17 ~@7]/3", E: "~@17 d5@8 c5@7",
  F: "[~@2 a4@29 bb4@20 c5@58 db5 d5@9 c5@8 b4]/4", G: "[a4@31 bb4@24 c5@16 f4@41 d5@8 c5@8]/4", H: "a4@31 bb4",
  I: "[bb4@25 c5@74 ~@2 f4@108 d5@7 ~ c5@7]/7", J: "[~ a4@29 bb4 bb4@28 ~ c5@4]/2", K: "[~ f4@48 ~@7 c5@7 a4]/2",
  L: "[~ bb4@22 c5@55 ~ d5@7 ~ c5@8 a4@29 bb4@3 bb4@32 c5@45 c5@4 db5 d5@6 db5 c5@8, ~@79 db5 ~@7 db5 ~@136]/7",
  M: "[bb4 bb4@28 c5@47 c5@4 db5 d5@6 c5@9]/3", N: "a4@30 ~ bb4", O: "bb4@22 c5 c5@8 db5",
  P: "d5@17 d5@3 c5@4 ~ bb4@4 a4@3, ~@20 db5 ~@11", Q: "~ bb4@14 bb4@16 d5",
  R: "[d5@16 d5@4 c5@4 b4@3 bb4@4 a4@5 bb4@19 bb4@7 d5@17 d5@4 c5@4 bb4@4 a4@4 bb4@17 bb4@3 ~ a4@12]/4",
  S: "[f4@23 ~@9]/3",
  T: "[~@11 c5@3 db5 d5@6 ~ c5@9 a4@30 ~ bb4 bb4@23 c5@54 c5@4 db5 d5@7 c5@8, ~@22 db5 ~@129 db5 ~@7]/5",
  U: "[bb4@39 ~ c5@55 ~]/3", V: "[f4@11 ~@5]/3",
})).s("gm_violin").gain(0.31).pan(0.7)

stack(overdriven_guitar, bass, string_ensemble_1, violin)

More by Bush