Strudelify

Israel

Evans Bill

KeyD minorTempo182 bpm
0:00/0:00
// Israel — Evans Bill
// 182 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 155 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(182/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 · piano · "A.PIANO 1"
const piano = note(`<
  A@3 B C@4 D E F@2 G@3 H I@3 J K E L@2 M N@2 O@2 P Q R@3 S T U@3 V W@3 X Y Z@2 AA@2 AB@2 AC AD@4 AE AF AG AH@2 AI AJ AK
  AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ@2 BA@2 BB BC BD BE BF BG BH@2 BI BJ BK BL@2 BM BN BO BP BQ BR BS BT@3
  BU@2 BV@2 BW BX@2 BY BZ@2 CA@3 CB CC CD@3 CE CF@3 CG CH@2 CI@2 CJ@3 CK@4 CL CM@2 CN@2 CO@8 ~@3
>`.pickRestart({
  A: "[~@4 g5@2 ~ a5@2 e5@2 d5@2 ~@2 a5@2 ~@2 a5 g5 ~ f5 e5 d5@3 ~ c5@2 ~ [b3,a4]@11 c5@2 ~ eb5 e5@2, [f3,a3,d4]@8 ~@7 [f3,bb3,d4]@12 ~@21]/3", // B7 Dm Bb
  B: "~ [gb3,c4], a4@15 ~", // Gbdim
  C: "[[f3,a3,d4]@11 ~ gb5@2 ~ g5@3 f5@2 ~@2 e5 d5 ~ c5@2 ~ d5@2 ~@15 d5@3 e4@3 ~@11 g5@2, ~@11 f5@2 ~@2 a3@11 ~@5 [g3,a3,a4]@18 ~@2 a3@13, ~@43 e5@6 ~@5 f4@10, ~@7 d4, ~@59 a5@5]/4", // Dm Gsus2
  D: "~@3 [d3,d4]@2 ~@3 [c4,c5]@2 ~@3 [bb3,bb4]@2 ~, ~@5 g4@4 ~@7, ~@6 g3@4 ~ [f3,f4]@5", // D C Bb F
  E: "[a3,db4,eb4,gb4,b4,eb5]@15 ~", // B7
  F: "[~@7 f4@2 g5@2 [a3,eb4,f5]@4 e5@4 ~ e5@2 ~ a4@9, [g3,a3]@9 ~@6 [ab3,d4]@7 ~@10, ~@3 ab4@6 ~@23, ~@6 a4@4 ~@9 f5@3 ~@10]/2", // F7 Gsus2 Abdim
  G: "[~@4 g5@2 ~ a5@2 e5@2 d5@2 ~@2 a5@2 ~ a5 ~ g5 f5 e5 ~ d5@3 ~ c5@3 [f3,a3,a4]@12 c5@2 eb5 e5@2, [f3,a3]@3 ~@2 [f3,d4]@4 ~@7]/3", // F Dm
  H: "~ [gb3,bb3,c4,eb4]", // Cm7b5
  I: "[[f3,a3]@10 ~@2 gb5@2 ~@5 f5@2 ~ e5 d5 c5@2 ~@2 d5@2 ~@15 d5@3, ~@11 f5@2 ~ g5@3 ~@25 e5@5 ~, ~@15 [e3,a3]@8 ~@8 [g3,a3,a4]@17]/3", // F A5 Gsus2
  J: "e4@3 ~@10 g5@2 ~, ~@3 a3@13, ~@5 f4@10 ~, ~ d4, ~@11 a5@5",
  K: "~@3 d4@2 [g3,g4]@3 [c4,c5]@3 ~@2 [bb3,bb4]@2 ~, ~@2 d3@3 ~@6 [f3,f4]@5", // G C Bb F
  L: "[~@5 a4@2 f4 g5@2 ~ [a3,eb4,f5]@3 ~@6 e5@2 ~ [g3,db4]@7 ~@2, [g3,a3,c4]@8 ~@7 [ab3,d4]@8 ~@9, ~@3 ab4@5 ~@6 e5@4 f5@4 a4@7 ~@3]/2", // F7 Gdim Am7 Abdim
  M: "~@3 a3 d4@2 f4 g4!2 ab4 a4 d5 ~ g4@3",
  N: "[~@8 g4@2 ~ f4 g4@2 ~ ab4 a4 ~@2 f4 ~@5 f4@2 g4 ~ f4@2 ~, ~@7 [f3,bb3,d4]@4 ~@4 [f3,a3,b3]@6 ~@11]/2", // Bb Bm7b5
  O: "[~@5 a4@2 bb4@2 gb4@2 ~ ab4 ~ a4 ab4@2 ~@2 f4@2 d4 ~ bb3 ~@8]/2", P: "~@4 gb3@2 ~ g3 a3 ~ bb3 ~ c4 ~ db4 eb4",
  Q: "~@2 e4 g4 ~ gb4 ~@2 f4@2 ~ c4@2 ~@3",
  R: "[~@7 [f3,a3]@2 a4 ~ c5 b4@2 ~ [e3,a3,bb4]@8 ~@4 a5 ~ c6 ~ b5 ~ bb5@2 ~ a5@2 ~ g5@2 ~@3 g5@2 ~ gb5, ~@7 f4 ~@23 [g3,c4,db4,f4]@10 ~@7]/3", // F A Csus4
  S: "f5@2 ~@2 [g3,a3]@3 e5 eb5 e5 eb5 db5 d5@2 ~ a4, ~@3 db5@2 ~@11", T: "f4@2 ~@3 g4@2 ab4@4 ~ f4 g4@2 ~",
  U: "[g4@2 ~ f4 ~ g4@2 ~@8 [f3,bb3,d4]@8 d5 [f4,f5]@2 ~ d5 [f4,f5]@2 ~ [a3,b3,f5]@2 ~ d5@2 [f4,f5]@2 ~ [f3,a3,b3,d4,d5]@5 ~@4, ~@31 f4 ~@16]/3", // Bb F Bm7b5 F Bm7b5
  V: "~@3 a4 ~ d5 f5 g5 ~ ab5 ~ a5 ~ bb5 ~ gb5, ~@8 [gb3,c4,f4]@7 ~", // F
  W: "[~ ab5 a5@2 ~@3 a5 ab5 g5 ~@3 d5 ~ bb4 ~ a4 bb4 a4 g4 c5 ~ bb4 ~@2 a4 ab4 ~ e4 ~ db4@2 ~ c4 bb3 ~@3 ab3 ~ a3@2 f3@3 ~@2, ~@11 [a3,d4]@9 ~@28, ~@11 f5@2 ~@35, ~@12 f3@9 ~@2 [e3,ab3,c4]@8 ~@17]/3", // D5 Eaug
  X: "~@7 [f3,a3,d4] ~@8", Y: "~@3 gb4@3 g4 a4 ~ bb4@2 c5@2 ~@2 eb5, [e3,a3,bb3,d4]@6 ~ db5",
  Z: "[~ e5@2 gb5@2 ~ g5 a5 ~ bb5@2 c6@2 ~ e5 ~ g5@2 ~ [f3,a3,b3,e4,b4]@3 ~@2 [f3,a3,b3,e4,b4]@3 ~@5, f4@12 ~@3 a5@2 ~@15, ~ [g3,c4,db4]@12 ~@19]/2", // Fmaj7 C
  AA: "[~@8 [g3,c4,db4,f4]@7 ~@8 f5 ~@6 f6@2, ~@15 [f3,a3,c4,e4]@17, ~@19 a4@5 ~@5 e6@3, ~@20 d5@4 ~@3 d6@5, ~@22 e5@2 ~ a5@7]/2", // Csus4 Fmaj7
  AB: "[~ ab6@3 [ab5,ab6]@2 ~ [f3,d4,g5,g6] ~@4 [g5,g6]@3 [f3,a3,b3,d4,f5,f6]@10 ~@6 [db6,d6], ab5@4 ~@6 [f5,f6]@5 ~@17, ~ [f3,bb3,d4]@6 bb3@2 ~@23]/2", // Ab G7 G Bm7b5 Dmaj7 F Bb
  AC: "c6 b5@2 ~ bb5@2 ~@3 f5 ~ eb5@2 ~ c5 ~, ~@6 gb5@2 ~@5 d5@2 ~, ~@7 [gb3,c4,f4]@7 ~@2", // F
  AD: "[bb4@2 ~ f5@3 d5 bb4 g4 ab4@2 a4 ~ c5@2 b4@2 bb4@2 d4@2 ~ gb4 a4 g4@2 ~ a4 bb4@2 ~ [g3,a3,c5]@8 [g4,a4] ~ g4@2 ~ f4@3 [g3,ab3,eb4]@12 ~@3 g5@2, ~@3 [f3,a3,d4]@10 ~@46 eb5@5]/4", // Am7 Gsus2 Abmaj7 Dm
  AE: "~ [g3,b3,d4,gb4,gb5]@15", AF: "[g3,db4,f4,f5]@7 [g3,db4,f4,c5,c6]@9",
  AG: "~@13 e5@3, [f3,a3,c4,e4], e5@13 ~@3, ~@11 c5@5", // Fmaj7
  AH: "[~@7 c5 ~@7 eb5 eb5 eb4 [f3,a3,e4,e5]@4 c5 a4 f4 e4@2 g4@2 ~@3, [ab3,c4,db4,f4,eb5]@8 ~ [g3,db4,f4]@9 ~@14, ~@6 db5@2 bb4@2 ~ c5@7 ~@14, ~@13 db5@5 ~@14]/2", // Fmaj7 Dbmaj7 Gm7b5
  AI: "~@9 d4 e4 f4 g4 a4 bb4 c5, ~@8 [f3,a3]@7 ~", AJ: "d5 g5 ~@6 [f3,a3,b3,d4]@5 ~@3, ~@3 e5@10 ~@3",
  AK: "~@4 ab5@2 ~ g5 gb5 ~@3 b4 ~ bb4@2, ~@5 eb5 ~@2, ~@11 [f3,b3,eb4]@5", AL: "~ ab4 a4@4 c5@2 ~ [a3,a4]@5 ~@2",
  AM: "~@7 gb4 g4 ~ a4 bb4 c5 db5 ~ eb5, ~@7 [e3,bb3,d4]@6 ~@3", AN: "~ [g3,a3,c4,e4]@5 c5 ~@2 g4@3 ~@4, e5@5 ~@11",
  AO: "[ab4,ab5]@2 ~@2 [gb4,gb5] [g4,g5] ~ f5 ~ eb5@2 c5 ~ ab4 g4 ~, ~@3 [g3,ab3,c4,eb4]@10 ~@3", // Ab Gb G Abmaj7
  AP: "[g3,b3,gb4]@6 ~@2 gb4@3 [e3,g3,b3,d4] ~@4, ~@7 a4@2 ~@7", AQ: "[g3,db4,f4]@3 ~ a4@2 ~ [g3,db4]@3 ~@6",
  AR: "[f3,a3,b3,e4]@11 ~ f4@2 g4 ~, ~@11 e4@2 ~@3", AS: "g4@2 [ab4,d5] ab4 [f4,g4] g4 ~ g4@2 ~ f4 ~@2 g4@2 ~, d5 ~@15",
  AT: "f4 ~ a3 ~ b3 ~@3", AU: "[f3,a3,b3,e4]@5 ~@2 [a3,b3,e4]@2 ~@2 f4@2 ~ bb4 c5, ~@7 f3 ~@5 ab4@2 ~",
  AV: "eb5 ~@3 bb5@2 c6 eb6 f6 ~ ab6 bb6 [g3,c4,f4,g6]@4, [f3,bb3,eb4]@3 ~@5, ~ f5@2 ~@5, ~@3 ab5@3 ~@10", // Csus4 Ebsus2
  AW: "~@13 ab6@2 f6", AX: "gb6 ~ g6 gb6@2 f6 ~ eb6@2 d6 ~ bb5 ~ [a5,bb5] ~ [g5,a5]",
  AY: "~ eb6 ~ db6 ~ c6 ~ bb5@2 a5@2 e5 ~ eb5@2 db5, ~@7 [e3,bb3,eb4]@5 ~@4", // Eb
  AZ: "[~@3 g5@3 e5 [a4,c5] f5@3 d5 bb4 g4@2 ~@2 [a4,c5] ~ f4 d5@3 [g4,bb4] e4 ~@2 c5 a4 f4 d4 ~, c5@2 ~@13 d4@8 ~@9, ~ [e3,g3,a3,c4]@11 ~@3 e5@2 ~@15, ~ [f3,a3,bb3]]/2", // Am Gm Am7 Bbmaj7
  BA: "[~@2 c4 ~ eb4 e4 ~ gb4 g4 a4 ~ bb4 c5 db5 ~ eb5 e5 gb5 ~ g5 c6 ~ bb5 ~ g5 [ab5,a5] ~ e5 ~ g5 ~ gb5, [e3,bb3]@21 ~@6 [g3,c4,db4,f4]@4 ~, ~@3 db4@2 ~@27]/2", // Amaj7 Edim Csus4
  BB: "~ f5@2 ~ db5@2 ~ e5 eb5 e5 eb5 db5 d5@2 ~ a4, ~@2 [f3,a3,b3,e4]@5 ~", BC: "ab4@2 ~@3 g4 ~ g4 ~@2 f4 ~@2 g4@2 ~",
  BD: "~ f4@2 ~@2 a3@2 ~ b3@2 ~@6",
  BE: "~@7 g5@2 ab5!2 [f5,g5] ~ [g5,d6] ~ g5, ~@7 [f3,bb3,d4]@4 ~@5, ~@7 d6 ~ d6@2 ~@5", // Fsus2 G5 Bb
  BF: "d6 ~ [f5,d6]@2 ~ [g5,d6]@3 [f3,a3,b3,d4] [f5,d6]@2 ~@2 [g5,d6]@2 ~", // Dm G5 Bm7b5 Dm G5
  BG: "~ d6@3 [g5,d6]@2 ~@2 [ab5,d6]@3 a5 [bb5,d6] ~@2 [ab5,c6]", // G5 Abdim Bb Ab
  BH: "[a5 ~ [f5,a5] c5 bb4@2 ~ [ab4,d5]@3 ~ a4 bb4 ~@3 c5@2 ~ f4 bb4@3 ab4 a4@2 f4 ~ c4@2 ~@2, ~ c6@2 ~@12 b4@2 ~@15]/2", // F Abdim
  BI: "[eb3,a3,f4]@5 ~@2 [eb3,a3] ~@8, ~@7 a4@2 ~@7", BJ: "eb4@2 ~@2 d4@2 ~ db4@2 ~@2 bb3@2 ~@2 ab3",
  BK: "a3@2 gb3@4 ~@2 gb3@3 ~@5",
  BL: "[~@4 [g3,c4,db4,f4,c5,f5,c6]@3 bb5 ~@2 c6 a5 ~ [ab5,c6] ~ [f3,a3,b3,e4,g5,c6]@16 f5, ~@5 ab5 ~@10]/2", // Csus4 Ab Fmaj7
  BM: "~ ab3@2 f5 ~ [g5,d6] ~ [g5,d6] ~@2 g3@3 [g5,d6] ~@2, [d4,g4,ab5,d6]@3 ~@6 [db4,f5,d6]@3 ~@4", // G5 G Db
  BN: "[f3,a3,b3,e4,f5,d6]@8 ~@5 f4@2 g4", // Bm7b5
  BO: "~ [ab4,d5]@2 ~@2 ab4@2 [g4,d5] ~@2 [f4,d5]@2 ~ [g4,d5]@2 ~, ~@5 d5 ~@10", BP: "[f4,d5]@3 ~@8 a4 d5 ~ f5 g5",
  BQ: "~ ab5 a5 c6 ~ bb5 ~ gb5 ~ f5 ~ eb5 ~ c5 ~ db5", BR: "~ d5@2 a4@3 ~@2 a4@2 ~@6",
  BS: "~@6 [gb6,g6] f6 e6 db6 ~ c6 ~ ab5 e5 eb5, [e3,bb3,eb4]@6 bb5 ~", // Gmaj7 Eb
  BT: "[~ db5 c5 bb4 ~ g4 [ab4,a4] c5 g4@2 ~ f4 ab4@2 ~@2 gb4 ~@2 eb4 c4 ab3 ~ g3 ab3 g3 f3 ~ ab3 ~ f3 g3@2 ~@6 a3 ~ gb3@3 ~@4, ~@15 g4@2 ~@10 bb3@2 ~@2 gb3 ~@16]/3", // Amaj7
  BU: "[~@6 a3 ~@9 [a3,b3]@6 [f3,a3,b3,e4] ~@9, ~@15 [f3,e4]@6 ~@11]/2", // Asus2 Fmaj7
  BV: "[[ab3,d4,g4,a5,d6]@3 ~ [ab5,d6]@3 ~ [g3,db4,f4,g5,d6]@2 ~@2 [f5,d6]@2 ~ [f3,a3,b3,e4,d5,d6]@3 ~@5 [f3,a3,b3,d4]@2 ~@7, ~@11 [f5,f6] ~@4]/2", // Dsus4 Abdim G7 Dm Bm7b5 F
  BW: "[f3,bb3,d4]@5 ~@2 [f3,bb3,d4] ~@3 d5 ~ f5 ~ g5", // Bb
  BX: "[~ [a3,b3,d4,a5,d6]@2 ~ [ab5,d6]@3 ~ [g5,d6]@2 ~@2 [f5,d6] ~@2 [gb3,c4,f4,d5,d6]@6 ~ [gb3,c4,f4,f5] ~@9, ~ f3 ~@20 f6@2 ~@8]/2", // Bm7 Abdim G5 Dm D7 F
  BY: "[f3,a3,bb3,d4]@5 ~@2 [f3,a3,bb3]@2 ~@2 d5 ~ f5 ~ g5, ~@7 d4 ~@8", // Bbmaj7
  BZ: "[~ [ab5,c6]@2 a5 bb5 d6 ~ [ab5,c6] a5 c6 a5 f5 c5 bb4@2 ab4 [eb3,a3,d4,a4]@5 ~@2 [eb3,a3,d4,f5] ~@8, ~ [e3,bb3,d4]@12 ~@2 d5@6 ~@11]/2", // Ab D Dm Em7b5
  CA: "[[bb1,bb2]@7 ~ [g3,ab3,c4,eb4,bb4,eb5,g5,bb5]@6 [e3,g3,b3,d4,a4,d5,gb5,a5]@12 ~ [g3,b3,d4,a4,d5,gb5,a5] ~@3 [g3,c4,db4,f4,c5,f5,c6]@17]/3", // Bb Cm7 Em7 Gmaj7 Csus4
  CB: "[d3,c4,f4,a4,c5,e5]@15 ~", CC: "[bb2,ab3,d4,g4,ab4,c5]@3 [a2,g3,db4,g4,c5]@5",
  CD: "[~@4 g5@2 ~ a5@2 e5@2 d5@2 ~@2 a5@2 ~@2 a5 g5 f5 e5 ~ d5@3 ~ c5@3 [f3,a3,b3,d4,a4]@10 ~@2 c5@2 eb5 e5@2, [f3,a3,d4]@11 ~@4 [f3,bb3,d4]@13 ~@20]/3", // Bm7b5 Dm Bb
  CE: "~ a4@6 ~ [gb3,bb3,c4,eb4]@8", // Cm7b5
  CF: "[[f3,a3,d4]@10 ~@2 gb5@2 ~ g5@2 ~@2 f5@2 ~ e5 d5 ~ c5@2 ~ d5@2 ~ [g3,a3,c4,a4]@12 ~@2 d5@2 ~, ~@11 f5@2 ~@2 [e3,a3,bb3,d4]@12 ~@16 e5@5]/3", // Dm Am7 Dsus2
  CG: "e4@3 ~@11 g5@2, ~@3 [a3,bb3]@13, ~@6 f4@4 ~ a5@5, ~ d4", // Bbmaj7
  CH: "[~@3 [d3,d4]@2 [g3,g4]@3 [c4,c5]@2 ~@3 [bb3,bb4]@2 ~ [a3,db4,eb4,gb4,b4]@15 ~, ~@11 [f3,f4]@4 eb5@15 ~@2]/2", // D G C Bb B7 F
  CI: "[[g3,a3,c4]@3 ~ a4@2 ~ f4 ~@4 f5@2 ~ e5@4 ~ e5@2 ~ [g3,db4,f4,a4]@9, ~@3 ab4@2 ~@3 g5@5 ~@6 f5@3 ~@10, ~@5 eb4 ~@10, ~@11 [a3,g4]@2 ~@2 [ab3,d4,g4]@7 ~@10]/2", // Am7 Dbaug A7 G
  CJ: "[~@5 g5@2 a5 ~ e5@2 ~ d5 ~@6 a5 g5@2 f5 e5 d5@3 ~ c5@3 [f3,a3,b3,d4,a4]@11 c5@2 eb5 e5@2 ~, [f3,a3,d4]@4 ~ [f3,d4]@4 ~@7, ~@15 a5@2 ~@31, ~@4 bb3@3 ~@5]/3", // Bm7b5 Dm
  CK: "[a4@7 ~ [gb3,bb3,c4,eb4]@7 [f3,a3,d4]@11 f5@2 gb5@2 ~@4 f5@3 e5 d5 ~ c5@2 ~@2 d5@3 ~@14 d5@3, ~@15 d4@6 ~@11, ~@30 g5@3 ~@25 e5@5 ~, ~@31 [e3,a3]@12 ~@4 [g3,a3,c4,a4]@17]/4", // Cm7b5 Dm A5 Am7
  CL: "e4@3 ~@3 f4@2 ~@6 g5@2, ~@3 a3@13, ~ d4, ~@11 a5@5",
  CM: "[~@3 [d3,d4]@3 [g3,g4]@2 [c4,c5]@2 ~@3 [bb3,bb4]@2 ~ [a3,db4,eb4]@16, ~@11 [f3,f4]@4 [gb4,b4,eb5]@16 ~]/2", // D G C Bb Ebm7b5 F B
  CN: "[[g3,a3,c4]@3 ab4@3 a4 f4 g5@2 ~ [a3,eb4,f5]@3 ~ e5@4 ~ e5@2 ~ [g3,db4,f4,a4]@9, ~@15 [ab3,d4]@7 ~@10, ~@19 f5@4 ~@9]/2", // Am7 F7 Dbaug Abdim
  CO: "[~@35 [d3,g3]@32 ~@61, d2@19 [b3,e4]@3 g4@13 c4@93, ~ d1@21 [a3,d4]@3 f4@32 ~@71, ~@3 g5@3 [g4,c5]@3 e5@2 [e4,a4]@3 c5@3 [c4,f4]@2 a4@12 [e3,a3,d4]@32 ~@65, ~@4 [a4,d5]@2 f5@3 [f4,b4]@2 d5@3 [d4,g4]@3 b4@8 [g3,c4]@3 [f3,b3,e4]@32 ~@68]/8", // G5 E5 D5 C5 A5 F5 Dsus2 D5 …
})).s("gm_piano").gain(0.35)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~ A@2 B C@4 ~@2 D E F@3 G H@3 I ~@3 J ~ K@2 L M ~@2 N@2 ~ O ~ P Q@2 ~ R@2 S T ~@8 U V@3 ~@4 W X ~@2 Y ~@3 Z AA ~@17 AB
  ~@7 AC AD ~@5 AE ~@2 AF ~@10 AG ~@7 AH ~@10 AI@3 ~ I ~@15
>`.pickRestart({
  A: "[~@15 [f3,a3,d4]@11 ~@6]/2", B: "~ [bb3,eb4]", C: "[bb3@11 ~@4 [e3,bb3,d4]@12 ~@4 c4@18 ~@2 bb3@13]/4",
  D: "c4@9 ~@7", E: "~@7 [g3,db4,f4]@9", F: "[d4@9 ~@6 bb3@12 ~@4 [b3,d4]@12 ~@5]/3", G: "a4@15 ~",
  H: "[[bb3,d4]@10 ~@5 [bb3,d4]@8 ~@8 c4@17]/3", I: "~@3 bb3@13", J: "~@7 f4@7 ~@2", K: "[~@15 d4@6 ~@11]/2",
  L: "~@4 [gb3,bb3,c4]@5 ~@7", M: "~ g4 ~@6 a3@2 ~@6", N: "[~@7 [bb3,d4]@2 ~@6 [bb3,d4]@8 ~@9]/2", O: "~@4 c4@3 ~@9",
  P: "~@4 f4 ~@3", Q: "[~@6 db5 ~@8 [f3,d4]@3 ~@14]/2", R: "[~@11 bb3@9 ~@3 bb3@7 ~@2]/2", S: "~@6 g3 ~@9",
  T: "~@7 bb3 ~@8", U: "~@3 bb3@10 ~@3", V: "[~@5 f4 ~@9 c4@8 ~@8 c4@11 ~@6]/3", W: "~@2 c4@3 ~@11", X: "~@8 bb3@7 ~",
  Y: "~@9 [f3,bb3,d4]@4 ~@3", Z: "~ e3@5 ~@10, d4@3 ~@5", AA: "~@7 f4@3 ~@6", AB: "~ f5@2 ~@13", AC: "~@10 f4@3 ~@3",
  AD: "~@12 d4 ~@3", AE: "~@14 f4 ~", AF: "~@4 f3 ~@3", AG: "~@11 e3 ~@4", AH: "bb3@5 ~@3",
  AI: "[~@5 bb3@4 ~ bb3@4 ~@2]/3",
})).s("gm_piano").gain(0.2)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  A B C D E F G H I J K L M B N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU
  AV Y Z AW AX AY AZ BA BB BC BD@2 BE BF BG AA BH BI BJ BK BL BM BN BO BP@2 BQ BR BS BT BU BV BL BW@2 BX BY BZ CA CB CC
  CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ AQ CR@2 CS CT CU BF CV CW CX CY CZ DA DB DC DD DE A DF DG DH DI DJ DK DL DM
  J DN DO A DP DQ DR DS DT DU DV DM J DW DX DY@2 ~@9
>`.pickRestart({
  A: "d2@8 a2@7 d2", B: "bb2@8 d2@4 bb2@3 d2", C: "b2@2 d2@5 ~ f2@7 d2", D: "a2@8 d2@7 ~", E: "g2@7 ~ a2@7 ~",
  F: "bb2@2 c2@5 ~ e2@7 ~", G: "f2@7 ~ a2@6 ~ f2", H: "bb2@2 ~ bb1@5 f2@7 ~", I: "~@3 d2@2 g2@3 c3@2 ~ f2@3 bb2@2",
  J: "eb3@8 db3@7 ~", K: "d3@7 ~ c3@7 ~", L: "bb2@7 ~ a2@6 ~@2", M: "d2@8 a2@6 ~ d2", N: "b2@2 d2@9 ~ f2@3 d2",
  O: "a2@8 d2@4 a2@2 d2 ~", P: "g2@4 a2@3 ~ bb2@3 ~ g2@3 ~", Q: "c2@4 c3@3 c2 bb2@3 ~ e2@3 ~",
  R: "f2@4 g2@3 ~ a2@3 ~ f2@3 ~", S: "bb1@4 bb2@3 bb1 a2@3 ~ f2@4", T: "~@2 d2@3 g2@3 c3@3 f2@2 bb2@2 ~", U: "eb3 db3",
  V: "d3@7 f2 c3@8", W: "bb2@8 a2@7 a1", X: "d2@3 ~ e2@3 d2 f2@3 ~ d2@4", Y: "bb2@3 d2 bb2@4 d2@4 bb2@3 d2",
  Z: "b2@3 ~ b2@3 ~ d2@4 b2@3 d2", AA: "a2@4 eb2@4 d2@4 ab2@3 d2", AB: "g2@3 ~ a2@3 ~ bb2@4 g2@3 d2",
  AC: "c3@3 ~ g2@3 ~ c2@4 e2@3 c2", AD: "f2@3 ~ g2@3 ~ a2@4 f2@3 c2", AE: "bb2@3 ~ f2@3 ~ bb1@4 d2@3 bb1",
  AF: "e2@3 ~ gb2@3 ~ g2@4 ab2@4", AG: "a2@3 ~ e2@3 ~ a1@4 e2@3 a1", AH: "d2@7 ~ c2@4 f2@3 c2",
  AI: "bb1@4 f2@3 ~ a1@4 e2@3 ~", AJ: "d2@3 ~ e2@3 ~ f2@3 ~ d2@2 ~ f2", AK: "bb2@3 ~ bb2@4 d2@4 bb2@3 d2",
  AL: "b2@3 ~ b2@3 ~ d2@4 c3@3 d2", AM: "a2@4 eb3@3 a2 d3@3 ~ ab2@4", AN: "g2@4 a2@3 ~ bb2@3 g2 d3@2 ~ g2, ~@8 g2 ~@7",
  AO: "c3@3 ~ g2@3 ~ c2@4 g2@3 c2", AP: "f2@3 ~ g2@3 f2 a2@3 f2 c3@3 ~", AQ: "bb2@3 ~ f2@3 ~ bb1@4 f2@3 bb1",
  AR: "e2@4 gb2@3 ~ g2@3 ~ a2@3 e2", AS: "bb2@4 c3@3 e2 db3@3 ~ eb3@3 ~", AT: "d3@3 d2@4 ~ c3@4 d2@4",
  AU: "bb2@4 d2@3 ~ a2@3 d2 db2@4", AV: "d2@4 e2@3 d2 f2@3 ~ d2@3 ~", AW: "c3 a2 e2 ~ a1@4 d2@4 gb2@4",
  AX: "g2@3 c2 f2@3 ~ e2@4 d2@4", AY: "c2@3 ~ d2@3 c2 e2@3 ~ c2@3 ~", AZ: "f2@3 c2 e2@4 d2@4 c2@4",
  BA: "bb1@4 c2@3 bb1 d2@3 ~ eb2@4", BB: "e2@3 ~ f2@3 ~ g2@3 ~ ab2@3 ~", BC: "a2@3 e2 g2@4 f2@4 e2@4",
  BD: "[d2@4 e2@3 d2 f2@3 ~ d2@3 bb2@3 ~@2 bb2@3 f2 a2@4 e2@4]/2", BE: "e3@2 d2 ~ d3@3 ~ c3@3 b2@3 d2 ~",
  BF: "bb2@3 ~ f2@3 ~ d2@4 bb2@3 d2", BG: "b2@3 ~ f2@4 d2@4 b2@3 d2", BH: "g2@3 ~ a2@3 ~ bb2@3 ~ b2@3 ~",
  BI: "c3@3 ~ g2@3 ~ c2@4 g2@2 c2 ~", BJ: "f2@3 ~ f2@3 ~ c3@3 f2 b2@3 ~", BK: "bb2@3 ~ bb1@4 f2@3 ~ eb2@3 ~",
  BL: "e2@3 ~ gb2@3 ~ g2@3 ~ ab2@3 ~", BM: "a2@4 db3@4 e3@3 a2 eb3@3 ~", BN: "d3@3 ~ d2@4 f2@3 ~ c3@3 f2",
  BO: "f2@4 bb2@3 f2 a2@4 e2@4", BP: "d3@3 d2 db3@3 ~ d3@3 ~ d2@4", BQ: "d3@3 d2 db3@3 ~ d3@4 d2@4",
  BR: "d3@2 ~ d2@5 gb2@3 d2 gb2@3 ~", BS: "g2@3 ~ a2@3 ~ bb2@3 g2 b2@3 g2", BT: "c3@4 c2@4 g2@3 ~@2 g2@3",
  BU: "f2@3 ~ g2@3 f2 ~ a2@2 f2 ~ c3@2 f2", BV: "bb2@2 bb1@5 ~ d2@3 ~ eb2@4",
  BW: "[a2@3 ~ db3@3 a2 e3@3 a2 eb3@2 a2 d3@3 ~@2 d2@4 f2@4 c3@3 f2]/2", BX: "bb2@4 f2@3 ~ e2@4 a2@3 ~",
  BY: "d2@4 g2@3 d2 a2@3 ~ d2@4", BZ: "bb2@2 d2@5 ~ e2@3 d2 f2@3 ~", CA: "d2@4 c3@3 d2 b2@3 ~ d2@4",
  CB: "bb2@3 d2 a2@3 ~ ab2@3 ~ gb2@3 ~", CC: "g2@3 ~ f2@4 e2@3 ~ d2@3 ~", CD: "c2@3 ~ db2@4 eb2@4 e2@3 ~",
  CE: "f2@4 g2@4 a2@2 ~ f2 c3@2 ~ f2", CF: "bb2@4 f2@4 d3@2 ~ f2 bb2@4", CG: "e2@4 bb2@3 e2 a2@4 ab2@4",
  CH: "a2@4 db3@2 ~ a2 e3@3 ~ eb3@3 ~", CI: "d3@4 c3@3 ~ bb2@4 a2@4", CJ: "bb2@4 bb2@3 f2 a2@3 ~ e3@3 ~",
  CK: "a2 g3@3 a2 f3@3 e3@3 ~ d3@3 ~", CL: "c3@3 ~ bb2@4 a2@3 ~ g2@4", CM: "f2@4 d3@3 f2 db3@3 ~ e3@3 ~",
  CN: "d3@4 a2@3 ~ d2@3 ~ gb2@3 d2", CO: "g2@3 ~ a2@4 bb2@4 g2@3 ~", CP: "c3@3 ~ g2@4 c2@4 g2@3 c2",
  CQ: "f2@3 ~ g2@4 a2@3 ~ f2@3 ~", CR: "[e2@3 ~ gb2@3 ~ g2@3 ~ ab2@3 a2@4 ~ bb2@4 c3@3 ~ db3@4]/2",
  CS: "d3@3 a2 c3@3 bb2@4 ~ a2@4", CT: "bb2@4 f2@4 e2@3 ~ a2@4", CU: "g2@4 f2@4 d2@3 ~ a2@3 d2",
  CV: "b2@3 ~ f2@4 d2@3 ~ b2@2 d2 ~", CW: "c3@2 d2@5 ~ gb2@7 d2", CX: "g2@4 a2@4 bb2@3 g2 d3@3 g2",
  CY: "c3@4 bb2@4 a2@4 g2@3 ~", CZ: "f2@4 g2@3 f2 a2@2 ~ f2 c3@2 f2 ~", DA: "bb2@3 ~ a2@4 g2@4 f2@3 ~",
  DB: "e2@4 gb2@3 ~ g2@4 ab2@4", DC: "a2@3 ~ bb2@4 c3@3 ~ db3@4", DD: "d3@3 a2 c3@4 bb2@4 a2@3 ~",
  DE: "f2@4 bb2@4 a2@3 ~ e2@4", DF: "bb2@2 d2@10 bb2@3 d2", DG: "b2@2 d2@9 ~ b2@3 d2", DH: "a2 d2", DI: "g2 d2",
  DJ: "c2@8 g2@7 c2", DK: "f2 c2", DL: "bb1@8 f2@7 ~", DM: "~@3 d2@2 g2@3 c3@2 ~ f2@2 bb2@2 ~", DN: "d3@8 c3@7 ~",
  DO: "bb2@7 ~ a2@8", DP: "bb2@3 d2@9 bb2@3 d2", DQ: "b2@3 d2@9 b2@3 d2", DR: "a2@7 ~ d2@8", DS: "g2@7 ~ d3@7 g2",
  DT: "c3 c2", DU: "f2@8 c3@7 f2", DV: "bb2@8 bb1@7 ~", DW: "d3 c3", DX: "bb2@7 ~ a2@7 ~", DY: "[d2@31 ~]/2",
})).s("gm_acoustic_bass").gain(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@23 A B ~@14 A B ~@6 C ~@12 D ~@7 B ~@2 A B ~@3 B ~@3 B ~@3 E ~@11 D ~@17 D F G ~@2 A ~@35
>`.pickRestart({
  A: "~ x", B: "x", C: "~@15 x", D: "x ~@2 x ~@4", E: "x ~@7 x!2 ~@2 x ~@2 x", F: "x ~@3 x ~@2 x", G: "~@7 x",
})).gain(0.33)

// drums · rim
const rim = s("rim").struct("<~@54 A@2 ~@5 B@3 A@2 B C ~ A@2 D ~@4 A@4 ~@75>".pickRestart({
  A: "~ x ~ x", B: "~@3 x ~@7 x ~@4", C: "~@4 x ~@6 x ~@4", D: "~ x ~@2",
})).gain(0.26)

// drums · snare
const snare = s("sd").struct(`<
  A@4 B A@8 C@2 B D E B C F C G H ~@96 A B@2 A@3 B I C F J A@2 B@3 K L J A J A@3 ~@11
>`.pickRestart({
  A: "x ~@3 x ~@2 x!2 ~@3 x ~@2 x", B: "x ~@3 x ~@2 x!2 ~@3 x ~ x ~", C: "x ~ x!3 ~ x!2",
  D: "x ~@3 x ~@2 x!2 ~@3 x ~ x!2", E: "~@4 x ~ x ~ x ~@3 x ~@2 x", F: "x ~@3 x ~ x!2 ~@4 x ~ x ~",
  G: "x ~@2 x ~@2 x!2 ~@4 x ~ x ~", H: "x ~@3 x ~@2 x!2 ~@3 x ~@3", I: "x ~@3 x ~ x!2 ~@3 x ~@2 x ~",
  J: "x ~@3 x ~ x ~ x ~@3 x ~@2 x", K: "x ~@3 x ~ x ~ x ~@3 x ~ x!2", L: "~@2 x!3 ~ x!2",
})).gain(0.26)

// drums · clap
const clap = s("cp").struct("<~@23 A ~@15 B ~@31 A ~@47 A ~@35>".pickRestart({
  A: "~@9 x ~@2 x ~@2 x", B: "~@9 x ~@3 x ~ x",
})).gain(0.3)

// drums · low tom
const low_tom = s("lt").struct("<~@59 [~ x!8 ~ x!3 ~ x!2] ~@15 [~@12 x ~@2 x] ~@38 [~@13 x!2 ~] ~@40>").gain(0.26)

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  A@14 B C A C A C D A@11 D A@3 E A@7 D@2 C A@6 D C A@4 B C D@3 A@2 D B A@13 B C A@3 C A@7 C A@7 C A@3 B A@4 B A@5 C A@4
  B A@5 D@2 B A@3 B A@2 D A@2 D A@3 ~@11
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@6 x ~@4", C: "~@3 x ~@8 x ~@3", D: "~@3 x ~@7 x ~@4", E: "~@5 x ~@6 x ~@3",
})).gain(0.26)

// drums · mid tom
const mid_tom = s("mt").struct("<~@75 [~@8 x!2 ~@6] ~@38 [~@3 x] ~@40>").gain(0.3)

// … 22 more lines

More by Evans Bill