Strudelify

Bach to Swing

Claude Bolling

KeyE♭ majorTempo85 bpm
0:00/0:00
// Bach to Swing — Claude Bolling
// 85 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 117 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(85/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.

// other · piano · "A.PIANO 2"
const piano = note(`<
  ~@4 A B C D E F G H I J K L M N O P Q ~@2 R S T U V W X Y Z AA AB AC AD AE AF AG AD AH AI AJ AK AL AM AN AO AP AQ AR
  AD AS AT AG AD AU AV AW AX AL AY AN AO AZ BA BB@3 BC BD@3 BC BE BF BG BH BI@3 BJ BK BL BM BN BO BP BQ BR BS BT BU BV
  BW BX BY BZ CA@3 CB CC@3 CB CD CE@2 CF CG CH CI CJ CK CL@2
>`.pickRestart({
  A: "~@3 f3@2 ~ g3@2 ~ a3 ~@2 bb3 ~@2 c4 ~@2 d4 ~@2 eb4 ~@2 f4@2 ~ eb4@2 ~ d4@2 ~ c4@2 ~ b3@2 ~ ab4@2 ~ g4@2 ~ f4@2 ~",
  B: "eb4@2 ~ d4@2 ~ c4@2 ~ bb3@2 ~ a3@2 ~ g4@2 ~ f4@2 ~ eb4@2 ~ d4@2 ~ c4@2 ~ bb3@2 ~ ab3@2 ~ g3@2 ~ f4@2 ~ eb4@2 ~ d4@2 ~",
  C: "c4@2 ~ bb3@2 ~ ab3@2 ~ g3@2 ~ gb3@2 ~ eb4@2 ~ d4@2 ~ c4@2 ~ bb3@2 ~ a3@2 ~ g3@2 ~ f3@2 ~ e3@2 ~ d4@2 ~ c4@2 ~ bb3@2 ~",
  D: "a3@2 ~ f3@2 ~ g3@2 ~ a3@2 ~ bb3@2 ~ g3@2 ~ a3@2 ~ bb3@2 ~ c4@2 ~ b3@2 ~ c4@2 ~ d4@2 ~ eb4@2 ~ c4@2 ~ g3@2 ~ a3@2 ~",
  E: "bb3@2 ~@4 c4@5 ~ bb3@5 ~ a3@5 ~ g3@5 ~ d4@5 ~ eb4@5 ~ g3@5 ~",
  F: "a3@5 ~ c4@5 ~ d4@5 ~ f3@5 ~ g3@5 ~ bb3@5 ~ c4@5 ~ eb3@5 ~",
  G: "f3@5 ~ a3@5 ~ bb3@5 ~ d3@5 ~ eb3@5 ~ g3@5 ~ a3@5 ~ db3@5 ~",
  H: "d3@2 ~ gb3@2 ~ g3@2 ~ a3@2 ~ bb3@2 ~ g3@2 ~ a3@2 ~ bb3@2 ~ c4@2 ~ bb3@2 ~ a3@2 ~ g3@2 ~ gb3@2 ~ e3@2 ~ d3@2 ~ c3@2 ~",
  I: "bb2@2 ~ c3@2 ~ d3@2 ~ c3@2 ~ bb2@2 ~ ab2@2 ~ g2@2 ~ f2@2 ~ eb2@11 ~ db3@11 ~",
  J: "e2@5 ~ g2@2 ~ ab2@2 ~ bb2@2 ~ c3@2 ~ d3@2 ~ e3@2 ~ f3@2 ~ e3@2 ~ eb3@2 ~ d3@2 ~ db3@11 ~",
  K: "c3@2 ~@10 [db3,f3,c4]@11 ~ [c3,g3,bb3]@11 ~ [b2,gb3,a3]@11 ~", // Dbmaj7 C7 B7
  L: "[bb2,f3,ab3]@11 ~ [a2,e3,g3]@11 ~ [ab2,eb3,gb3]@11 ~ [ab2,db3,f3]@11 ~", // Bb7 A7 Ab7 Db
  M: "[g2,d3,f3]@11 ~ [gb2,db3,e3]@11 ~ [f2,c3,eb3]@11 ~ [e2,b2,d3]@11 ~", // G7 Gb7 F7 E7
  N: "[eb2,bb2,d3]@11 ~ [f2,c3,eb3]@11 ~ [g2,f3]@5 ~ ab2@5 ~ bb2@5 ~ eb2@5 ~", // Ebmaj7 F7 G7
  O: "ab2@2 ~@10 [a2,db3,g3]@11 ~ [ab2,c3,eb3,g3]@11 ~ [d3,gb3,c4]@11 ~", // A7 Abmaj7 D7
  P: "[db3,f3,ab3,c4]@23 ~ c4@2 ~ bb3@2 ~ ab3@2 ~ gb3@2 ~ f3@2 ~ eb3@2 ~ db3@2 ~ c3@2 ~", // Dbmaj7
  Q: "~@3 ab3@3 g3@3 gb3@3 g3@3 db4@3 c4@2 ~ b3@2 ~ c4@4 ~@20, b2@11 ~@37",
  R: "~@3 eb4@2 ~ d4@2 ~ eb4@2 ~ db4@2 ~ eb4@2 ~ db4@2 ~ eb4@2 ~ b3@23 ~",
  S: "bb3@11 ~@4 bb3@2 ~ g3@2 ~ bb3@2 ~ gb3@23 ~", T: "f3@17 ~ f3@5 ~ e3@5 ~ c3@5 ~ d3@5 ~ e3@5 ~",
  U: "f3@2 ~ c3@2 ~ d3@2 ~ e3@2 ~ f3@2 ~ g3@2 ~ a3@2 ~ bb3@2 ~ c4@2 ~ bb3@2 ~ a3@2 ~ g3@2 ~ gb3@2 ~ eb4@2 ~ d4@2 ~ c4@2 ~",
  V: "bb3@2 ~ a3@2 ~ g3@2 ~ f3 ~@2 e3 ~@2 db4@2 ~ c4@2 ~ bb3@2 ~ a3 ~@2 g3@2 ~ f3@2 ~ eb3@2 ~ d3 ~@2 c4@2 ~ bb3 ~@2 a3@2 ~",
  W: "g3@2 ~ f3@2 ~ e3@2 ~ d3@2 ~ db3@2 ~ bb3@2 ~ a3@2 ~ g3@2 ~ f3 ~@2 e3@2 ~ d3@2 ~ c3 ~@2 b2@2 ~ a3@2 ~ g3@2 ~ f3@2 ~",
  X: "e3@2 ~ c3 ~@2 d3@2 ~ e3@2 ~ f3 ~@2 d3@2 ~ e3@2 ~ f3 ~@2 g3 ~@2 gb3@2 ~ g3@2 ~ a3@2 ~ bb3 ~@2 g3@2 ~ d3@2 ~ e3@2 ~",
  Y: "f3@2 ~@4 [bb2,ab3]@8 ~ f3@2 ~ e3@2 ~ f3@2 ~ eb3@8 ~ eb3@2 ~ db3@8 ~ db3@2 ~", // Bb7
  Z: "c3@8 ~ c2@4 ~@2 f3@2 ~ e3@2 ~ f3@2 ~ eb3@8 ~ eb3@2 ~ db3@8 ~ db3@2 ~",
  AA: "c3@8 ~ c2@4 ~@2 f3@2 ~ e3@2 ~ f3@2 ~ [eb2,eb3]@8 ~ eb3@2 ~ [db2,db3]@8 ~ [db2,db3]@2 ~, ~@33 eb2 ~@14", // Eb Db
  AB: "[c2,c3]@8 ~ [c2,c3]@2 ~ [bb1,bb2]@8 ~ [bb1,bb2]@2 ~ [ab1,ab2]@8 ~ [ab1,ab2]@2 ~ [gb1,gb2]@8 ~ [gb1,gb2]@2 ~", // C Bb Ab Gb
  AC: "[f1,f2]@8 ~ [e1,e2]@2 ~ [e1,e2]@11 ~ [f1,eb2]@8 ~ [g3,bb3,d4,f4]@8 ~@7", // F E F7 Gm7
  AD: "[g2,f3]@8 ~ [c2,e3]@8 ~@7 [f2,ab3]@8 ~ [ab3,c4,eb4,f4]@8 ~@7", // G7 C Fm Fm7
  AE: "[bb1,bb2]@8 ~ [f3,ab3,b3,eb4]@8 ~@7 eb3@5 ~ d3@5 ~ db3@10 ~@2", AF: "c3@5 ~ b2@17 ~ bb2@11 ~ bb1@8 ~ eb2@2 ~",
  AG: "eb2@5 ~ eb1@17 ~ [eb2,bb2]@8 ~ [g3,bb3,d4,f4]@8 ~@7", // Eb5 Gm7
  AH: "[bb1,bb2]@8 ~ [ab3,bb3,d4,f4]@7 ~@8 eb2@10 ~@2 g2@11 ~", AI: "~@12 [f3,b3]@11 ~ bb2@11 ~ bb1@11 ~, ab2@11 ~@13",
  AJ: "eb2@22 ~@2 [bb2,f3,ab3,db4]@5 ~ [bb2,f3,ab3,db4]@5 ~ [bb2,f3,ab3,db4]@5 ~ [bb2,f3,ab3,db4]@5 ~", // Bbm7
  AK: "[bb2,eb3,g3,db4]@5 ~ [bb2,eb3,g3,db4]@5 ~ [bb2,eb3,g3,db4]@5 ~ [bb2,eb3,g3,db4]@5 ~ [ab2,eb3,c4]@5 ~ [ab2,eb3,c4]@5 ~ [ab2,eb3,c4]@4 ~@2 [ab2,eb3,c4]@5 ~", // Eb7 Ab
  AL: "[ab2,f3,b3]@5 ~ [ab2,f3,b3]@5 ~ [ab2,f3,b3]@5 ~ [ab2,f3,b3]@5 ~ [bb2,eb3,g3,bb3]@11 ~ [g2,f3,b3]@11 ~", // Fdim Eb G7
  AM: "c3@5 ~ eb3@5 ~ g3@5 ~ gb3@5 ~ f3@5 ~ f2@5 ~ g2@5 ~ a2@5 ~", AN: "bb2@23 ~@4 [bb2,g3]@8 ~@4 [ab2,gb3]@8 ~",
  AO: "~@3 [g2,f3]@8 ~@4 [c2,e3]@8 ~ [f2,ab3]@23 ~", AP: "[ab2,b3]@11 ~@4 bb2@8 ~ eb2@11 ~ g2@11 ~",
  AQ: "~@12 [f3,b3]@11 ~ bb2@11 ~ bb1@10 ~@2, ab2@11 ~@13", AR: "eb2@5 ~@19 [f1,eb2]@8 ~ [g3,bb3,d4,f4]@8 ~@7",
  AS: "[bb1,bb2]@8 ~ [f3,ab3,b3,eb4]@8 ~@7 eb3@4 ~@2 d3@4 ~@2 db3@11 ~", // Bb Fm7b5
  AT: "c3@5 ~ b2@17 ~ bb2@10 ~@2 bb1@8 ~ eb2@2 ~", AU: "[bb1,bb2]@8 ~ [ab3,bb3,d4,f4]@8 ~@7 eb2@11 ~ g2@11 ~",
  AV: "~@12 [f3,b3]@11 ~ bb2@10 ~@2 bb1@11 ~, ab2@11 ~@13", // Fdim
  AW: "eb2@23 ~ [bb2,f3,ab3,db4]@5 ~ [bb2,f3,ab3,db4]@5 ~ [bb2,f3,ab3,db4]@5 ~ [bb2,f3,ab3,db4]@5 ~", // Bbm7
  AX: "[bb2,eb3,g3,db4]@5 ~ [bb2,eb3,g3,db4]@5 ~ [bb2,eb3,g3,db4]@5 ~ [bb2,eb3,g3,db4]@5 ~ [ab2,eb3,c4]@5 ~ [ab2,eb3,c4]@5 ~ [ab2,eb3,c4]@5 ~ [ab2,eb3,c4]@5 ~", // Eb7 Ab
  AY: "c3@5 ~ eb3@5 ~ g3@4 ~@2 gb3@5 ~ f3@5 ~ f2@5 ~ g2@4 ~@2 a2@5 ~", AZ: "[ab2,b3]@10 ~@5 bb2@8 ~ eb2@11 ~ g2@11 ~",
  BA: "~@12 [f3,b3]@11 ~ bb2@11 ~ bb1@11 ~, ab2@23 ~@25", // Fdim
  BB: "[eb2@5 ~@19 [db2,db3]@11 ~ [f3,b3,eb4]@8 ~ [e3,bb3,d4]@14 ~ [c2,c3]@8 ~@16 [eb3,a3,db4]@8 ~ [d3,ab3,c4]@10 ~@2 [bb1,bb2]@5 ~ [ab1,ab2]@2 ~ [g1,g2]@2 ~ [f1,f2]@2 ~ [eb1,eb2]@11 ~ db2@11 ~, ~@69 [b1,b2]@26 ~@49]/3", // Db Fm7b5 Em7b5 C Ebm7b5 Dm7b5 Bb Ab …
  BC: "c2@11 ~ b1@11 ~ bb1@11 ~ ab1@10 ~@2",
  BD: "[g1@11 ~ f1@11 ~@13 [f3,b3,eb4]@8 ~ [e3,bb3,d4]@14 ~ [c2,c3]@8 ~ [b1,b2]@2 ~@13 [eb3,a3,db4]@8 ~ [d3,ab3,c4]@11 ~ [bb1,bb2]@5 ~ [ab1,ab2]@2 ~ [g1,g2]@2 ~ [f1,f2]@2 ~ [eb1,eb2]@11 ~ db2@11 ~, ~@24 [db2,db3]@23 ~@25 [b1,b2]@23 ~@49]/3", // Fm7b5 Em7b5 C B Ebm7b5 Dm7b5 Bb Ab …
  BE: "g1@11 ~ f1@11 ~ eb2@11 ~ [bb2,ab3,db4]@11 ~", // Bbm7
  BF: "[eb3,g3,db4]@17 ~ [eb3,g3,db4]@5 ~ [ab2,eb3,c4]@17 ~ [ab2,eb3,c4]@5 ~", // Eb7 Ab
  BG: "[ab2,f3,b3]@17 ~ [ab2,f3,b3]@5 ~ [c3,eb3,g3,bb3]@11 ~ [g2,f3,b3]@11 ~", // Fdim Cm7 G7
  BH: "~@12 [eb3,g3,bb3]@11 ~ [g2,eb3,a3]@23 ~, c3@23 ~@25", // Eb Am7b5
  BI: "[[e2,b2]@23 ~ [db2,db3]@11 ~ [f3,b3,eb4]@8 ~ [e3,bb3,d4]@14 ~ [c2,c3]@8 ~ [b1,b2]@2 ~@13 [eb3,a3,db4]@8 ~ [d3,ab3,c4]@10 ~@2 [bb1,bb2]@5 ~ [ab1,ab2]@2 ~ [g1,g2]@2 ~ [f1,f2]@2 ~ [eb1,eb2]@5 ~ [eb2,eb3]@5 ~ [d2,d3]@5 ~ [db2,db3]@5 ~, ~@72 [b1,b2]@23 ~@49]/3", // E5 Db Fm7b5 Em7b5 C B Ebm7b5 Dm7b5 …
  BJ: "[g3,bb3,db4,eb4]@5 ~ [c2,c3]@5 ~ [b1,b2]@5 ~ [ab3,b3,eb4,f4]@5 ~ [bb1,bb2]@4 ~@2 [a1,a2]@5 ~ [a3,c4,eb4,gb4]@5 ~ [ab1,ab2]@4 ~@2", // Eb7 C B Fm7b5 Bb A Adim Ab
  BK: "[g1,g2]@5 ~ [gb1,gb2]@5 ~ [f1,f2]@5 ~ [bb1,bb2]@5 ~ eb2@5 ~ bb2@5 ~ eb3@5 ~ f3@5 ~", // G Gb F Bb
  BL: "g3@5 ~ bb3@5 ~ b3@5 ~ c4@5 ~ f2@5 ~ c3@5 ~ e3@5 ~ f3@5 ~",
  BM: "g3@5 ~ ab3@5 ~ a3@5 ~ bb3@5 ~ g2@5 ~ eb3@5 ~ bb3@5 ~ db4@5 ~",
  BN: "c4@5 ~ eb3@5 ~ ab3@5 ~ f3@5 ~ g3@11 ~ bb2@11 ~",
  BO: "~@3 eb3@2 ~ d3@2 ~ c3@2 ~ bb2@2 ~ ab2@2 ~ g2@2 ~ f2@2 ~ eb2@2 ~ bb2@2 ~ c3@2 ~ d3@2 ~ eb3@2 ~ f3@2 ~ g3@2 ~ ab3@2 ~",
  BP: "bb3 ~@2 a3@2 ~ bb3@2 ~ c4@2 ~ db4@5 ~ c4 ~@8 ab2@2 ~ bb2@2 ~ c3@2 ~ d3@2 ~ eb3@2 ~ f3@2 ~ g3@2 ~",
  BQ: "ab3@2 ~ g3@2 ~ ab3@2 ~ bb3@2 ~ b3@5 ~ bb3@2 ~@7 g2@2 ~ ab2@2 ~ bb2@2 ~ c3@2 ~ d3@2 ~ eb3@2 ~ f3@2 ~",
  BR: "g3@2 ~ f3@2 ~ g3@2 ~ ab3@2 ~ bb3@4 ~@2 ab3@2 ~@4 g3 ~@2 f3@2 ~ eb3@2 ~ g3@2 ~ f3@2 ~ eb3@2 ~ d3@2 ~ f3@2 ~",
  BS: "eb3@5 ~ d3@2 ~ c3@2 ~ bb2@2 ~ ab2@2 ~ g2@2 ~ f2@2 ~ eb2@4 ~@2 bb2@5 ~ eb3@5 ~ bb3@5 ~",
  BT: "eb3@5 ~ bb2@4 ~@2 eb2@5 ~ eb3@5 ~ ab2@5 ~ eb3@5 ~ c4@5 ~ eb3@5 ~",
  BU: "ab2@5 ~ f3@5 ~ b3@5 ~ ab3@5 ~@7 [eb3,g3,bb3]@5 ~@7 [d3,b3]@5 ~, ~@24 bb2@11 ~ g2@11 ~", // Eb G
  BV: "c3@5 ~ g3@5 ~ c4@5 ~ bb3@5 ~ a3@5 ~ eb3@5 ~ f2@5 ~ a2@5 ~",
  BW: "bb2@11 ~ bb1@11 ~ eb3@2 ~ g3@2 ~ gb3@2 ~ g3 ~@2 eb3@2 ~ g3@2 ~ gb3@2 ~ g3@2 ~",
  BX: "db3@2 ~ g3@2 ~ gb3 ~@3 g3@2 ~ c3 ~@2 g3 ~@2 gb3@2 ~ g3 ~@2 f3@2 ~ c4@2 ~ b3@2 ~ c4@2 ~ ab3@2 ~ c4@2 ~ b3@2 ~ c4@2",
  BY: "~ f3@2 ~ b3@2 ~ bb3@2 ~ b3@2 ~ bb3@2 ~ ab3@2 ~ g3@2 ~ f3@2 ~ eb3@2 ~ f3@2 ~ eb3@2 ~ f3@2 ~ g3@2 ~ f3@2 ~ eb3@2 ~ db3@2",
  BZ: "~ c3@2 ~@4 db3@5 ~ c3@5 ~ b2@5 ~ bb2@11 ~ bb1@11",
  CA: "[~ eb2@23 ~ d4@5 ~ bb3@3 ~ g3@2 d4@5 ~ bb3@3 ~ g3@2 db4@3 ~ bb3@2 g3@2 ~ c4@2 ~@10 b3@2 ~ c4@3 ~ eb4@2 c4@3 ~ ab3@2 eb4@3 ~ c4@2 ab3@3 ~ f3@2 b3@3 ~ ab3@2 f3@2 ~ bb3@2 ~@4 ab3@2 ~ g3@2 ~ f3@2 ~ eb3@2 ~@4 eb3@11 ~ db3@5, ~@25 eb3@23 ~@96]/3",
  CB: "~ c3@8 ~ b2@2 ~ b2@5 ~ b2@5 ~@4 [bb1,bb2]@2 ~ [bb1,bb2]@2 ~ [bb1,bb2]@14", // Bb
  CC: "[~ [b2,gb3]@5 ~ [db3,ab3]@5 ~ [eb3,bb3]@2 ~@10 d4@5 ~ bb3@3 ~ g3@2 d4@5 ~ bb3@3 ~ g3@2 db4@3 ~ bb3@2 g3@2 ~ c4@2 ~@10 b3@2 ~ c4@3 ~ eb4@2 c4@3 ~ ab3@2 eb4@3 ~ c4@2 ab3@3 ~ f3@2 b3@3 ~ ab3@2 f3@2 ~ bb3@2 ~@4 ab3@2 ~ g3@2 ~ f3@2 ~ eb3@2 ~@4 eb3@11 ~ db3@5, ~@25 eb3@23 ~@96]/3", // B5 Db5 Eb5
  CD: "~ [b2,gb3]@5 ~ [db3,ab3]@5 ~ [eb3,bb3]@2 ~@10 [bb2,ab3,db4]@23", // B5 Db5 Eb5 Bbm7
  CE: "[~ [a2,g3]@23 ~ [ab2,g3]@17 ~@4 [db2,f3]@20 ~@4 [eb2,bb2]@2 ~@13 [g2,f3,b3]@11]/2", // A7 Abmaj7 Db Eb5 G7
  CF: "~ [c3,eb3,g3,b3]@11 ~@4 g3@2 ~ ab3@2 ~ a3@2 ~ [c3,bb3]@11 ~ [f2,a3]@11", // Cm C7 F
  CG: "~@4 a3@2 ~ gb3@2 ~ d3@2 ~ [b2,e3,ab3]@11 ~ eb2@5 ~ [g3,bb3,eb4]@5 ~ eb2@5 ~ [g3,bb3,eb4]@5, ~ b2@2 ~@9", // E Eb
  CH: "~ g2@5 ~ [g3,bb3,db4,f4]@5 ~ c2@5 ~ [g3,bb3,c4,e4]@5 ~ f2@5 ~ [ab3,c4,eb4,f4]@5 ~ f2@5 ~ [ab3,c4,eb4,f4]@5", // Gm7b5 C7 Fm7
  CI: "~ ab2@5 ~ [ab3,b3,eb4,f4]@2 ~ [bb2,bb3]@2 ~@4 [ab2,ab3]@2 ~ [g2,g3]@2 ~ [f2,f3]@2 ~ [eb2,eb3]@2 ~@4 [eb2,eb3]@11 ~ [db2,db3]@5", // Fm7b5 Bb Ab G F Eb Db
  CJ: "~ [c2,c3]@8 ~ [b1,b2]@2 ~ [b1,b2]@5 ~ [b1,b2]@5 ~@4 [bb1,bb2]@2 ~ [bb1,bb2]@2 ~ [bb1,bb2]@14", // C B Bb
  CK: "~ [b2,gb3]@6 [db3,ab3]@6 [eb3,bb3]@4 ~@2 [d3,a3]@6 [e3,b3]@6 [gb3,db4]@4 ~@2 [f3,c4]@6 [g3,d4]@5", // B5 Db5 Eb5 D5 E5 Gb5 F5 G5
  CL: "[~ [a3,e4]@4 ~@2 [ab3,eb4]@6 [bb3,f4]@6 [c4,g4]@4 ~@2 [b3,gb4]@6 [db4,ab4]@6 ~@12 [eb2,eb3]@25 ~@22, ~@37 [eb4,bb4]@37 ~@22]/2", // A5 Ab5 Bb5 C5 B5 Db5 Eb Eb5
})).s("gm_piano").gain(0.29).pan(0.4)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~@26 A B C D E F G H I ~@31 J@2 K@4 L@3 M N O P@2 Q@3 ~@3 R S T U V@5 W@3 X@7 Y@5 Z@6 AA
>`.pickRestart({
  A: "~@7 c2@2 ~ d2@2 ~ eb2@2 ~ f2@2 ~ g2@2 ~ a2@2 ~ bb2@2 ~ c3 ~@2 bb2@2 ~ ab2@2 ~ g2@2 ~ gb2@2 ~ eb3@2 ~ d3@2",
  B: "~ c3@2 ~ bb2 ~@2 ab2 ~@2 g2 ~@2 f2 ~@2 eb2 ~@2 db3 ~@2 c3 ~@2 bb2@2 ~ ab2 ~@2 g2 ~@2 f2 ~@2 eb2@2 ~ d2 ~@2 c3 ~@2 bb2 ~",
  C: "~ ab2@2 ~ g2 ~@2 f2@2 ~ eb2 ~@2 d2 ~@2 db2 ~@2 bb2@2 ~ ab2 ~@2 g2 ~@2 f2 ~@2 eb2@2 ~ d2@2 ~ c2 ~@2 b1 ~@2 ab2@2 ~ g2@2",
  D: "~ f2 ~@2 eb2 ~@2 c2 ~@2 d2 ~@2 eb2 ~@2 f2 ~@2 d2 ~@2 eb2 ~@2 f2@2 ~ g2 ~@2 gb2 ~@2 g2 ~@2 ab2@2 ~ bb2 ~@2 g2@2 ~ d2 ~",
  E: "~ eb2@2 ~ f2@4 ~@2 bb1@7 ~@2 f2 ~@2 eb2 ~@2 f2 ~@2 eb3@7 ~@2 eb3 ~@2 db3@7 ~",
  F: "~ db3@2 ~ c3@7 ~@2 c2@13 ~@2 eb3@7 ~@2 eb3 ~@2 db3@7 ~",
  G: "~ db3 ~@2 c3@7 ~@2 c2@13 ~@2 eb3@7 ~@2 eb3 ~@2 db3@7 ~",
  H: "~ db3@2 ~ c3@7 ~@2 c3 ~@2 bb2@7 ~@2 bb2@2 ~ ab2@7 ~@2 ab2 ~@2 gb2@7 ~", I: "~ gb2 ~@2 f2@7 ~@2 e2 ~@2 e2@11 ~@21",
  J: "[~@28 db2@35 ~ c2@8 ~ b1@23]/2",
  K: "[~@4 bb1@4 ~@5 bb2@4 ~@2 ab2@2 ~ g2 ~@2 f2@2 ~ eb2@4 ~@2 eb2@5 ~ db2@5 ~ db2@5 ~ c2@4 ~@2 c2@4 ~@2 b1@5 ~ b1@5 ~ bb1@4 ~@2 b1@4 ~@2 c2@4 ~@2 d2@4 ~@2 eb2@4 ~@2 g2@4 ~@2 ab2@5 ~ bb2@5 ~ db2@34 ~@2 c2@8 ~ b1@23]/4",
  L: "[~@4 bb1@4 ~@5 bb2@5 ~ ab2@2 ~ g2@2 ~ f2@2 ~ eb2@4 ~@2 eb2@5 ~ db2@4 ~@2 db2@4 ~@2 c2@4 ~@2 c2@4 ~@2 b1@4 ~@2 b1@4 ~@2 bb1@5 ~ b1@5 ~ c2@4 ~@2 d2@4 ~@2 eb2@5 ~ g2@4 ~@2 ab2@4 ~@2 bb2@4 ~@2 [ab2,bb2,db3,f3]@20]/3", // Bbm7
  M: "~@4 [g2,bb2,db3,eb3]@23 ~ [ab2,c3,eb3]@20", N: "~@4 [ab2,b2,eb3]@23 ~ [g2,bb2,eb3]@11 ~ [g2,b2,d3,f3]@8",
  O: "~@4 [g2,c3,eb3]@23 ~ [a2,c3,eb3,f3]@20", P: "[~@4 [ab2,bb2,d3,f3]@23 ~ db2@35 ~ c2@8 ~ b1@23]/2",
  Q: "[~@4 bb1@4 ~@5 bb2@5 ~ ab2@2 ~ g2 ~@2 f2 ~@2 eb2@4 ~@2 eb2@5 ~ d2@5 ~ db2@10 ~@2 c2@5 ~ b1@11 ~ bb1@4 ~@2 a1@11 ~ ab1@4 ~@2 g1@5 ~ gb1@5 ~ f1@5 ~ bb1@5 ~ eb2@20]/3",
  R: "~@31 bb2@2 ~ c3 ~@2 d3 ~@2 eb3@2 ~ f3 ~@2 g3@2",
  S: "~ ab3@2 ~ bb3 ~@2 a3@2 ~ bb3@2 ~ c4@2 ~ db4@5 ~ c4@5 ~@4 ab2 ~@2 bb2 ~@2 c3 ~@2 d3@2 ~ eb3 ~@2 f3 ~",
  T: "~ g3 ~@2 ab3 ~@2 g3 ~@2 ab3@2 ~ bb3@2 ~ b3@5 ~ bb3@5 ~@4 g2@2 ~ ab2@2 ~ bb2@2 ~ c3 ~@2 d3@2 ~ eb3@2",
  U: "~ f3@2 ~ g3@2 ~ f3 ~@2 g3@2 ~ ab3@2 ~ bb3@4 ~@2 ab3@5 ~ g3 ~@2 f3 ~@2 eb3 ~@2 g3@2 ~ f3@2 ~ eb3@2 ~ d3@2",
  V: "[~ f3@2 ~ eb3@4 ~@2 d3@2 ~ c3@2 ~ bb2 ~@2 ab2@2 ~ g2@2 ~ f2@2 ~ eb2@5 ~ bb2@5 ~ eb3@5 ~ bb2@4 ~@2 eb2@5 ~ bb2@5 ~ eb3@5 ~ bb2@4 ~@2 ab2@5 ~ bb2@5 ~ c3@5 ~ ab2@4 ~@2 db2@5 ~ f2@5 ~ ab2@5 ~ db2@4 ~@2 eb2@5 ~ eb2@5 ~ g2@5 ~ g2@5 ~ c2@5 ~ d2@5 ~ eb2@5 ~ e2@5 ~ f2@4 ~@2 g2@4 ~@2 a2@4 ~@2 f2@5 ~ bb2@5 ~ c3@4 ~@2 d3@5 ~ bb2@5 ~ eb3@10 ~@2 eb3@8]/5",
  W: "[~@4 db3@10 ~@2 c3@10 ~@2 f2@11 ~@2 ab2@11 f2@11 ~ bb2@2 ~ ab2@2 ~ g2@2 ~ f2@2 ~@2 eb2@11 g2@2 ~@2 f2@2 ~ eb2@2 db2@2 ~ c2@5 ~@2 db2@5 ~ c2@5 ~ b1@5 bb1@11 ~ bb1@8]/3",
  X: "[~@5 eb2@23 ~ eb2@5 ~ g2@5 ~ bb2@5 ~ eb2@5 ~ g2@4 ~@2 g2@5 c2@5 ~ c2@5 ~@2 f2@5 ~ ab2@5 ~ c3@4 ~@2 f2@5 ~ ab2@5 ~ ab2@5 bb2@5 ~@2 bb1@5 ~ eb2@5 eb2@5 ~ db2@5 ~@2 db2@5 ~ c2@5 c2@5 ~@2 b1@5 ~ b1@5 ~@4 bb1@2 ~ bb1@2 ~ bb1@14 ~ b1@5 ~ db2@5 ~ eb2@10 ~@2 eb2@5 g2@5 ~@2 bb2@4 ~ eb2@5 ~@2 g2@4 ~@2 g2@5 c2@5 ~ c2@5 ~@2 f2@5 ~ ab2@5 ~ c3@4 ~@2 f2@5 ~ ab2@4 ~@2 ab2@5 bb2@5 ~@2 bb1@5 ~ eb2@5 ~ eb2@4 ~ db2@5 ~ db2@2]/7",
  Y: "[~@5 c2@5 c2@5 ~@2 b1@5 ~ b1@5 ~@4 bb1@2 ~ bb1@2 ~ bb1@14 ~ b1@5 ~ db2@5 ~ eb2@10 ~@2 bb2@4 ~ bb2@5 ~ f2@5 ~ f2@5 ~@2 a2@4 ~ a2@5 ~@2 e2@5 e2@5 ~@2 ab2@5 g2@5 ~ f2@5 ~ eb2@5 ~ db2@5 ~@2 f2@5 ab2@5 ~ db2@5 ~ eb2@5 ~ bb2@5 ~@2 d2@5 g2@5 ~@2 c2@4 ~ eb2@5 ~ g2@5 ~ gb2@5 ~ f2@5 ~ a2@5 ~@2 c3@4 ~ f2@2]/5",
  Z: "[~@5 e2@5 b2@5 ~@2 ab2@5 e2@5 ~@2 eb2@5 ~ g2@5 ~ bb2@5 ~ eb2@5 ~ g2@5 ~ g2@5 c2@5 ~@2 c2@5 ~ f2@5 ~ ab2@5 ~ c3@5 ~ f2@5 ~ ab2@5 ~ ab2@5 bb2@5 ~@2 bb1@5 ~ eb2@5 ~ eb2@5 ~ db2@5 ~ db2@5 ~ c2@4 ~ c2@5 ~@2 b1@5 ~ b1@5 ~@4 bb1@2 ~ bb1@2 ~ bb1@14 ~ b1@4 ~@2 db2@5 ~ eb2@4 ~@2 d2@5 ~ e2@5 ~ gb2@4 ~@2 f2@5 ~ g2@5 ~ a2@4 ~@2 ab2@4 ~@2 bb2@5 ~ c3@4 ~@2 b2@5 ~ db3@5 ~ eb3@7]/6",
  AA: "~@5 eb2@23 ~@20",
})).s("gm_acoustic_bass").gain(0.06).pan(0.2)

// bass · acoustic bass · "ACOU BASS" · soft notes
const bass_soft = note("<~@34 A B C D E B F G H I J K L M N G O P Q R O P N S T U V W X Y Q R Z ~@50>".pickRestart({
  A: "~@7 [g2,bb2,eb3]@5", B: "~@2 [g2,b2,db3,f3]@5 ~ [g2,b2,c3,e3]@5 ~ [ab2,c3,eb3,f3]@10",
  C: "~@2 [ab2,b2,eb3]@5 ~ [ab2,bb2,d3,f3]@5 ~ [g2,bb2,eb3]@5 ~ [g2,bb2,db3,eb3]@4", // Abm Bb7 Eb Eb7
  D: "~@4 [ab2,c3,eb3]@10 ~@2 [ab2,b2,eb3]@11 ~ [g2,bb2,eb3]@10 ~@2 [g2,bb2,db3,eb3]@8", // Ab Abm Eb Eb7
  E: "~@2 [g2,bb2,eb3]@11 ~ [g2,bb2,eb3]@10", // Eb
  F: "~@4 [ab2,b2,eb3]@10 ~@2 [ab2,bb2,d3,f3]@11 ~ [g2,bb2,eb3]@10 ~@2 [g2,bb2,db3,eb3]@8", // Abm Bb7 Eb Eb7
  G: "~@2 [ab2,c3,eb3]@5 ~ [ab2,b2,eb3]@5 ~ [g2,bb2,eb3]@5 ~ [g2,bb2,db3,eb3]@4", // Ab Abm Eb Eb7
  H: "~@2 [g2,bb2,eb3]@11 ~ [ab2,bb2,db3,f3]@10", I: "~@2 [g2,bb2,db3,eb3]@11 ~ [ab2,c3,eb3]@10",
  J: "~@2 [ab2,b2,eb3]@11 ~ [g2,bb2,eb3]@5 ~ [g2,b2,d3,f3]@4", K: "~@2 [g2,c3,eb3]@11 ~ [a2,c3,eb3,f3]@10",
  L: "~@2 [ab2,bb2,d3,f3]@11 ~ [g2,bb2,eb3]@10", M: "~@2 [g2,bb2,d3,f3]@5 ~ [g2,bb2,c3,e3]@5 ~ [ab2,c3,eb3,f3]@10",
  N: "~@4 [ab2,b2,eb3]@10 ~@2 [ab2,bb2,d3,f3]@11 ~ [g2,bb2,eb3]@11 ~ [g2,bb2,db3,eb3]@8", // Abm Bb7 Eb Eb7
  O: "~@4 [g2,bb2,eb3]@23 ~ [g2,bb2,eb3]@20", P: "~@4 [g2,b2,db3,f3]@11 ~ [g2,b2,c3,e3]@11 ~ [ab2,c3,eb3,f3]@20",
  Q: "~@4 [ab2,b2,eb3]@11 ~ [ab2,bb2,d3,f3]@11 ~ [g2,bb2,eb3]@11 ~ [g2,bb2,db3,eb3]@8", // Abm Bb7 Eb Eb7
  R: "~@4 [ab2,c3,eb3]@11 ~ [ab2,b2,eb3]@11 ~ [g2,bb2,eb3]@11 ~ [g2,bb2,db3,eb3]@8", // Ab Abm Eb Eb7
  S: "~@4 [ab2,c3,eb3]@11 ~ [ab2,b2,eb3]@11 ~ [g2,bb2,eb3]@10 ~@2 [g2,bb2,db3,eb3]@8", // Ab Abm Eb Eb7
  T: "~@4 [g2,bb2,eb3]@23 ~ [ab2,bb2,db3,f3]@20", U: "~@4 [g2,bb2,db3,eb3]@23 ~ [ab2,c3,eb3]@20",
  V: "~@4 [ab2,b2,eb3]@23 ~ [g2,bb2,eb3]@11 ~ [g2,b2,d3,f3]@8", W: "~@4 [g2,c3,eb3]@23 ~ [a2,c3,eb3,f3]@20",
  X: "~@4 [ab2,bb2,d3,f3]@23 ~ [g2,bb2,eb3]@20", Y: "~@4 [g2,bb2,d3,f3]@11 ~ [g2,bb2,c3,e3]@11 ~ [ab2,c3,eb3,f3]@20",
  Z: "~@4 [g2,bb2,eb3]@23 ~@21", // Eb
})).s("gm_acoustic_bass").gain(0.03).pan(0.2)

// chords · electric guitar jazz · "A.GUITAR"
const electric_guitar_jazz = note(`<
  ~@34 A B C D E F G H I J K L M N O P Q R O H Q R G S T U V W X R O H Y ~@7 Z U V W AA ~@38
>`.pickRestart({
  A: "~@24 [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@4 ~@2", // Eb
  B: "[g3,bb3,d4,f4]@5 ~ [g3,bb3,d4,f4]@5 ~ [g3,bb3,c4,e4]@5 ~ [g3,bb3,c4,e4]@5 ~ [ab3,c4,eb4,f4]@5 ~ [ab3,c4,eb4,f4]@4 ~@2 [ab3,c4,eb4,f4]@4 ~@2 [ab3,c4,eb4,f4]@4 ~@2", // Gm7 C7 Fm7
  C: "[ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [ab3,bb3,d4]@5 ~ [ab3,bb3,d4]@4 ~@2 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,db4,eb4]@4 ~@2 [g3,db4,eb4]@5 ~", // Abm Bb7 Eb Eb7
  D: "[ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@4 ~@2 [ab3,b3,eb4]@4 ~@2 [ab3,b3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [ab3,bb3,d4]@5 ~ [ab3,bb3,d4]@5 ~", // Ab Abm Eb Bb7
  E: "[g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@4 ~@2", // Eb
  F: "[g3,bb3,d4,f4]@5 ~ [g3,bb3,d4,f4]@5 ~ [g3,bb3,c4,e4]@5 ~ [g3,bb3,c4,e4]@5 ~ [ab3,c4,eb4,f4]@5 ~ [ab3,c4,eb4,f4]@4 ~@2 [ab3,c4,eb4,f4]@5 ~ [ab3,c4,eb4,f4]@4 ~@2", // Gm7 C7 Fm7
  G: "[ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [ab3,bb3,d4]@5 ~ [ab3,bb3,d4]@4 ~@2 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,db4,eb4]@5 ~ [g3,db4,eb4]@5 ~", // Abm Bb7 Eb Eb7
  H: "[ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [ab3,bb3,d4]@5 ~ [ab3,bb3,d4]@5 ~", // Ab Abm Eb Bb7
  I: "[g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@5 ~ [ab3,bb3,db4,f4]@5 ~ [ab3,bb3,db4,f4]@4 ~@2 [ab3,bb3,db4,f4]@4 ~@2 [ab3,bb3,db4,f4]@5 ~", // Eb Bbm7
  J: "[g3,db4,eb4]@5 ~ [g3,db4,eb4]@4 ~@2 [g3,db4,eb4]@4 ~@2 [g3,db4,eb4]@5 ~ [ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@4 ~@2 [ab3,c4,eb4]@4 ~@2 [ab3,c4,eb4]@4 ~@2", // Eb7 Ab
  K: "[ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@4 ~@2 [ab3,b3,eb4]@4 ~@2 [ab3,b3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,b3,d4,f4]@5 ~ [g3,b3,d4,f4]@5 ~", // Abm Eb G7
  L: "[g3,c4,eb4]@5 ~ [g3,c4,eb4]@4 ~@2 [g3,c4,eb4]@4 ~@2 [g3,c4,eb4]@5 ~ [a3,c4,eb4,f4]@5 ~ [a3,c4,eb4,f4]@4 ~@2 [a3,c4,eb4,f4]@4 ~@2 [a3,c4,eb4,f4]@5 ~", // Cm F7
  M: "[ab3,bb3,d4,f4]@5 ~ [ab3,bb3,d4,f4]@4 ~@2 [ab3,bb3,d4,f4]@4 ~@2 [ab3,bb3,d4,f4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@5 ~", // Bb7 Eb
  N: "[g3,bb3,d4,f4]@5 ~ [g3,bb3,d4,f4]@4 ~@2 [g3,bb3,c4,e4]@5 ~ [g3,bb3,c4,e4]@5 ~ [ab3,c4,eb4,f4]@5 ~ [ab3,c4,eb4,f4]@4 ~@2 [ab3,c4,eb4,f4]@4 ~@2 [ab3,c4,eb4,f4]@5 ~", // Gm7 C7 Fm7
  O: "[ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [ab3,bb3,d4]@5 ~ [ab3,bb3,d4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,db4,eb4]@5 ~ [g3,db4,eb4]@5 ~", // Abm Bb7 Eb Eb7
  P: "[ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [ab3,bb3,d4]@5 ~ [ab3,bb3,d4]@4 ~@2", // Ab Abm Eb Bb7
  Q: "[g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~", // Eb
  R: "[g3,bb3,d4,f4]@5 ~ [g3,bb3,d4,f4]@5 ~ [g3,bb3,c4,e4]@5 ~ [g3,bb3,c4,e4]@5 ~ [ab3,c4,eb4,f4]@5 ~ [ab3,c4,eb4,f4]@5 ~ [ab3,c4,eb4,f4]@5 ~ [ab3,c4,eb4,f4]@5 ~", // Gm7 C7 Fm7
  S: "~ [ab3,eb4]@5 [ab3,c4,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [ab3,bb3,d4]@5 ~ [ab3,bb3,d4]@5 ~, c4@5 ~@43", // Ab5 Ab Abm Eb Bb7
  T: "[g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [ab3,bb3,db4,f4]@5 ~ [ab3,bb3,db4,f4]@5 ~ [ab3,bb3,db4,f4]@5 ~ [ab3,bb3,db4,f4]@5 ~", // Eb Bbm7
  U: "[g3,db4,eb4]@5 ~ [g3,db4,eb4]@5 ~ [g3,db4,eb4]@5 ~ [g3,db4,eb4]@5 ~ [ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@5 ~", // Eb7 Ab
  V: "[ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [ab3,b3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,b3,d4,f4]@5 ~ [g3,b3,d4,f4]@5 ~", // Abm Eb G7
  W: "[g3,c4,eb4]@5 ~ [g3,c4,eb4]@5 ~ [g3,c4,eb4]@5 ~ [g3,c4,eb4]@5 ~ [a3,c4,eb4,f4]@5 ~ [a3,c4,eb4,f4]@5 ~ [a3,c4,eb4,f4]@5 ~ [a3,c4,eb4,f4]@5 ~", // Cm F7
  X: "[ab3,bb3,d4,f4]@5 ~ [ab3,bb3,d4,f4]@5 ~ [ab3,bb3,d4,f4]@5 ~ [ab3,bb3,d4,f4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~", // Bb7 Eb
  Y: "[g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~@25", // Eb
  Z: "~@24 [ab3,bb3,db4,f4]@5 ~ [ab3,bb3,db4,f4]@5 ~ [ab3,bb3,db4,f4]@5 ~ [ab3,bb3,db4,f4]@5 ~", // Bbm7
  AA: "[ab3,bb3,d4,f4]@5 ~ [ab3,bb3,d4,f4]@5 ~ [ab3,bb3,d4,f4]@5 ~ [ab3,bb3,d4,f4]@5 ~@25", // Bb7
})).s("gm_electric_guitar_jazz").gain(0.06).pan(0.1)

// drums · kick
const kick = s("bd").struct(`<
  ~@101
  [~@28 x ~@2 x ~@2 x ~@13]
  ~@3
  [~@28 x ~@2 x ~@2 x ~@13]
  ~@7
  [~@28 x ~@2 x ~@2 x ~@13]
  ~@3
>`).gain(0.11).pan(0.1)

// drums · snare
const snare = s("sd").struct("<~@98 A B@2 C D B@2 C E ~@3 A B@2 C F G H>".pickRestart({
  A: "~@31 x ~@11 x ~@4", B: "~@7 x ~@11 x ~@11 x ~@11 x ~@4", C: "~@7 x ~@11 x ~@28",
  D: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@17 x ~@11 x ~@4", E: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@34",
  F: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@5 x ~@2 x ~@2 x ~ x ~@2",
// … 46 more lines

More by Claude Bolling