Strudelify
Long Train Running cover art

1973 · The Captain and Me

Long Train Running

The Doobie Brothers

KeyG minorTempo115 bpm
0:00/0:00
// Long Train Running — The Doobie Brothers
// 115 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 111 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
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, A@4 for four bars: edit a riff to change every repeat.

// chords · electric guitar jazz · "El Guitar"
const electric_guitar_jazz = note(`<
  A B C B C B C B D B C B C E F B C G H B C B C B I E F B C G H B C J K@2 L E F B C G H B C B C B I E F B C G H B C J
  K@2 L E F B C G H B C M N O P E F B C Q@5 R S T U V W X@2 Y Z AA AB AC AD AE@2 AF AG AH AI AJ AK AL AM AN AO AP@2 AQ
>`.pickRestart({
  A: "~@14 d3!2",
  B: "[c4,a4] ~ [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6, [d3,f4,d5]@3 ~@13", // F Gm Bb Dm7 Dm
  C: "a4@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6, [d3,f4,d5]@3 ~@13, c4 ~@31", // Gm Bb Dm7 Dm
  D: "[g3,c4,a4,f5]@2 [g3,c4,a4,f5] [g3,c4,a4,f5]@2 [g3,c4,a4,f5] [g3,c4,a4,f5]@2 [g3,c4,a4,f5] [g3,c4,a4,f5]@2 [g3,c4,a4,f5]!4 g3", // F
  E: "~@2 [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@2 c3 [g3,bb3,eb4]@2, c3@25 ~@7", // Eb
  F: "~@4 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@4 c3@2 [g3,bb3,eb4]@4, c3@3 ~", // Eb
  G: "~@9 eb4@2 bb3@2 ~ bb3@2, eb3@10 bb3@5 ~@11 eb4@6, ~@2 g4@4 eb3@9 ~, ~@6 eb4@9 ~ g4@16",
  H: "~@18 d4@4 a3@4 ~@2 a3@3 ~, d3@5 bb3@2 ~@9, ~@4 g4@11 ~ gb4@14 ~@2, ~@6 d4@9 ~@11 d4@4 ~@2, ~@12 d3@19 ~",
  I: "a4@2 d4@3 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6, [d3,f4,d5]@3 ~@13, c4 ~ bb4 ~@29", // Bb Dm7 Dm
  J: "[f3,bb3,d4]@4 ~@24 [e3,a3,db4]@3 ~", K: "[f3,bb3,d4]@3 ~@25 [e3,a3,db4]@3 ~",
  L: "[f3,bb3,d4]@4 ~@2 [f3,bb3,d4]@5 ~ [f3,bb3,d4]@4 ~@2 [f3,bb3,d4]@5 ~ [f3,bb3,d4]@6 ~@2", // Bb
  M: "[f3,bb3]@2 ~@2 d3 ~@3 [d3,f3,bb3]@2 ~@4 d3 ~ [f3,bb3]@2 ~@4 d3 ~ [f3,bb3] ~@3 [e3,a3]@3 ~", // Bb5 Bb Bb5 A5
  N: "[f3,bb3]@2 ~@2 d3 ~ d3 ~ [f3,bb3]@2 ~@2 d3 ~ d3 ~ [f3,bb3]@2 ~@4 d3 ~ [f3,bb3] ~ d3 ~ [e3,a3]@3 ~", // Bb5 A5
  O: "[f3,bb3]@2 ~@4 d3 ~ [f3,bb3]@2 ~@2 d3 ~ d3 ~ [f3,bb3]@2 ~@2 d3 ~ d3 ~ [f3,bb3]@2 d3 ~ [e3,a3] ~ d3 ~", // Bb5 A5
  P: "[f3,bb3]@4 d3 ~ [f3,bb3]@4 d3 ~ [f3,bb3]@2 ~@2 d3 ~ [f3,bb3] ~@3 d3 ~ [f3,c4]@2 bb3@2 f3 ~@3", // Bb5 F5
  Q: "[~@3 g4@26 ~@4 g4@14 ~@2 gb4@11 ~@7 eb4@70 ~@4 g3 ~ g3 ~@2 [d4,bb4]@4 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~ d3, eb3@28 ~@3 [d3,bb3]@14 ~@2 d3@14 ~@2 c3@74 ~@8 [d3,f4,d5]@6 ~@9, ~ bb3@28 ~@19 [a3,d4]@12 ~@4 g3@72 ~@24, ~@2 eb4@27 ~@3 d4@14 ~@19 bb3@70 ~@10 [c4,a4]@2 ~@13]/5", // Gm Bb Gm Dm D5 F
  R: "~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~ d3, ~@17 [d3,f4,d5]@6 ~@9", // Bb Dm7 F Gm Bb Dm
  S: "~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 ~ a4 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~ d3, ~@17 [d3,f4,d5]@6 ~@9, ~@17 c4@2 ~@13", // Bb Dm7 Gm Bb Dm
  T: "~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~, ~@17 [d3,f4,d5]@6 ~@9", // Bb Dm7 F Gm Bb Dm
  U: "d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 ~ [d4,bb4]@4 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~, ~@9 [d3,f4,d5]@3 ~@4, ~@9 [c4,a4] ~@6", // Bb Dm7 Gm Bb Dm F
  V: "d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~, ~@9 [d3,f4,d5]@3 ~@4", // Bb Dm7 F Gm Bb Dm
  W: "d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 ~ a4 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3 ~, ~@9 [d3,f4,d5]@3 ~@4, ~@9 c4 ~@6", // Bb Dm7 Gm Bb Dm
  X: "[d3 ~ d3 ~ d3 ~@2 [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 g3@2 ~@2 d4@3 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3, ~@51 [d3,f4,d5]@6 ~@7, ~@51 [c4,a4]@2 ~@11, ~@13 bb4 ~@2]/2", // Bb Dm7 F Bb Dm F
  Y: "~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3 d3, ~@19 [d3,f4,d5]@6 ~@7", // Bb Dm7 F Gm Bb Dm
  Z: "~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 ~ a4 [d4,bb4]@4 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3, ~@19 [d3,f4,d5]@6 ~@7, ~@19 c4@2 ~@11", // Bb Dm7 Gm Bb Dm
  AA: "d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2", // Bb Dm7 F
  AB: "[g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 g3@2 [c4,a4]@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3, ~@10 [d3,f4,d5]@3 ~@3", // F Gm Bb Dm
  AC: "d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@3, ~@10 [d3,f4,d5]@3 ~@3", // Bb Dm7 F Gm Bb Dm
  AD: "d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 ~ [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 a4 [d4,bb4]@4 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@2, ~@21 [d3,f4,d5]@6 ~@5, ~@21 c4@2 ~@9", // Bb Dm7 Gm Bb Dm
  AE: "[~ d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 g3@2 [c4,a4]@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@2, ~@53 [d3,f4,d5]@6 ~@5]/2", // Bb Dm7 F Gm Bb Dm
  AF: "~ d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~@2, ~@21 [d3,f4,d5]@6 ~@5", // Bb Dm7 F Gm Bb Dm
  AG: "~@2 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 a4 [d4,bb4]@4 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~, ~@11 [d3,f4,d5]@3 ~@2, ~@11 c4 ~@4", // Bb Dm7 Gm Bb Dm
  AH: "~@2 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4", // Bb Dm7 F
  AI: "[g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 g3@2 [c4,a4]@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5] ~, ~@11 [d3,f4,d5]@3 ~@2", // F Gm Bb Dm
  AJ: "~@2 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 ~@2 [d4,bb4]@4 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5], ~@23 [d3,f4,d5]@6 ~@3, ~@23 [c4,a4]@2 ~@7", // Bb Dm7 Gm Bb Dm F
  AK: "~@3 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 a4 [d4,bb4]@4 ~ [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5], ~@23 [d3,f4,d5]@6 ~@3, ~@23 c4@2 ~@7", // Bb Dm7 Gm Bb Dm
  AL: "~@3 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@3", // Bb Dm7 F
  AM: "~ [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 g3@2 [c4,a4]@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2 [d3,d4,f4,bb4,d5], ~@23 [d3,f4,d5]@6 ~@3", // F Gm Bb Dm
  AN: "~@3 d3 ~@2 d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 ~ [d4,bb4]@4 ~ [d3,d4,f4,bb4,d5]@2, ~@12 [d3,f4,d5]@3 ~, ~@12 [c4,a4] ~@3", // Bb Dm7 Gm Bb Dm F
  AO: "[d3,d4,f4,bb4,d5] ~@3 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 c4@2 [d4,bb4]@4 [d3,d4,f4,bb4,d5]@2, ~@12 [d3,f4,d5]@3 ~, ~@24 a4 ~@7", // Bb Dm7 Gm Bb Dm
  AP: "[[d3,d4,f4,bb4,d5] ~@3 d3 ~ d3 ~ d3 ~ d3 ~ [d3,d4,f4,bb4,d5]@4 [d3,d4,f4,bb4,d5]@2 [d3,c4,f4,a4,d5]@6 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@4 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 [g3,c4,a4,f5]@2 g3@2 ~ [c4,f4,bb4]@4 ~@2 [c4,f4,bb4]]/2", // Bb Dm7 F Fsus4
  AQ: "~ [c4,f4,bb4]@2 ~@29", // Fsus4
})).s("gm_electric_guitar_jazz").gain(0.22).pan(0)

// bass · fretless bass · "El Bass"
const bass = note(`<
  ~@3 A B C@3 D C@3 D E@2 F G H I F G C@3 D E@2 F G H I F G J@3 K E@2 F G L I F G C@3 D E@2 F G H I F G J@3 K E@2 F G L
  I F G M@3 N E@2 F G O P Q@3 ~@2 R S T@3 U V@2 W X W@2 Y Z Y AA@2 AB@4 AC@5 AD
>`.pickRestart({
  A: "~@30 g2 ~", B: "bb2@2 ~@2 g2 ~@3 f2@5 ~ c2 ~ d2@2 ~@2 f2@3 ~ d2@2 c2 ~ bb1@2 ~@2",
  C: "g1@13 ~ c2@2 d2@3 ~ f2@6 d2 ~ g2@4", D: "g1@12 ~@2 c2 ~ d2@2 ~@2 f2 ~ d2 ~ gb2@2 ~@2 g2@2 ~@2",
  E: "c2@8 ~@6 f2 ~ g2@3 ~ bb2@5 ~ g2 ~ c3@4", F: "g1@8 ~@6 c2 ~ d2@3 ~ f2@5 ~ d2 ~ g2@4",
  G: "g1@8 ~@6 c2 ~ d2@3 ~ f2 ~ d2 ~ gb2@3 ~ g2@3 ~", H: "eb2@6 ~@2 eb2@6 bb1 ~ eb2@6 ~@2 eb2@7 ~",
  I: "d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@2 ~@2 d2@3 ~ c2@3 ~ d2@3 ~", J: "g1@4 ~@22 g1 ~ f1@3 ~",
  K: "g1@3 ~@11 g1@2 ~@2 g1 ~ a1@3 ~ bb1@3 ~ d2@3 ~", L: "eb2@5 ~@3 eb2@6 bb1 ~ eb2@2 ~@2 eb2@6 bb1 ~ eb2@3 ~",
  M: "g1@4 ~@4 g1@3 ~@5 g1@3 ~@5 g1@2 ~@2 gb1@4", N: "g1@2 ~@2 g1@2 ~@2 a1@5 ~ a1 ~ bb1@2 ~@2 bb1 ~@3 d2@3 ~ g1@2 ~@2",
  O: "eb2@15 ~", P: "d2!2, eb2 ~@31", Q: "[c2@13 ~@3]/3", R: "~@15 g2 ~ bb2@2 ~@3 g2 ~@3 f2@5 ~",
  S: "c2 ~ d2@2 ~@2 f2@4 d2@2 c2 ~ bb1@2 ~@2 g1@13 ~", T: "c2@2 d2@3 ~ f2@6 d2 ~ g2@4 g1@13 ~",
  U: "~ c2 ~ d2@3 ~ f2@2 d2 ~ gb2@3 ~ g2@3 ~ g1@13", V: "~ c2@2 d2@3 ~ f2@6 d2 ~ g2@4 g1@13",
  W: "~@2 c2@2 d2@2 ~@2 f2@6 d2 ~ g2@4 g1@12", X: "~@2 c2 ~ d2@3 ~ f2@2 d2 ~ gb2@3 ~ g2@3 ~ g1@12",
  Y: "~@3 c2@2 d2@2 ~@2 f2@6 d2 ~ g2@4 g1@11", Z: "~@3 c2 ~ d2@3 ~ f2@2 d2 ~ gb2@3 ~ g2@3 ~ g1@11",
  AA: "[~@4 c2 ~ d2@3 ~ f2@6 d2 ~ g2@4 g1@13 ~ c2@2 d2@2 ~@2 f2@6 d2 ~ g2@4 g1@10]/2",
  AB: "[~@4 c2 ~ d2@3 ~ f2@2 d2 ~ gb2@3 ~ g2@3 ~ g1@13 ~ c2 ~ d2@3 ~ f2@6 d2 ~ g2@4 g1@13 ~@2 c2 ~ d2@3 ~ f2@6 d2 ~ g2@4 g1@13 ~ c2@2 d2@2 ~@2 f2@6 d2 ~ g2@4 g1@9]/4",
  AC: "[~@5 c2 ~ d2@3 ~ f2@2 d2 ~ gb2@3 ~ g2@3 ~ g1@13 ~@2 c2@2 d2@3 ~ f2@6 d2 ~ g2@4 g1@13 ~ c2@2 d2@3 ~ f2@6 d2 ~ g2@4 g1@13 ~ c2@2 d2@3 ~ f2@6 d2 ~ g2@4 g1@13 ~ c2 ~ d2@3 ~ f2@2 d2 ~ gb2@3 ~ g2@3 ~@2 g1@5 ~ g1]/5",
  AD: "~ g1@2 ~@29",
})).s("gm_fretless_bass").gain(0.54)

// chords · acoustic guitar steel · "Ac Guitar"
const acoustic_guitar_steel = note(`<
  A B C B C B C B D B C B C E F B C G H B C B C B C E F B C G H B C I@2 J K E F B C G H B C B C B C E F B C G H B C I@2
  J K E F B C G H B C L@2 M K E F B C N@2 O@3 P Q R S T U V@2 W X Y Z AA AB AC@2 AD AE AF AG AH AI AJ AK AL AM AN@2 AO
>`.pickRestart({
  A: "~@14 d3!2",
  B: "[c4,a4] ~ [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6, [g3,f4,d5]@3 ~@13", // F Gm Gm7 Dm7 G7
  C: "a4@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6, [g3,f4,d5]@3 ~@13, c4 ~@31", // Gm Gm7 Dm7 G7
  D: "[g3,c4,f4]@2 [g3,c4,f4] [g3,c4,f4]@2 [g3,c4,f4]!2 [g3,c4,f4]@2 [g3,c4,f4] [g3,c4,f4]@2 [g3,c4,f4] [g3,c4,f4]@2 g3", // Csus4
  E: "~@2 bb3 g3 c3 d4@2 c3 ~@3 bb3@2 c3 g3 bb3, c3@7 ~@9 eb4@8 ~@8, ~@5 c3 ~@2",
  F: "~@4 c3 g3@2 ~ bb3 g3 ~ eb4@2 c3 bb3@2, c3@6 bb3@4 ~@4 c3@4 ~@2 c3@5 ~@7, ~ eb4@3 ~@4",
  G: "[eb3,bb3] ~@7 [g4,bb4,eb5]@5 ~ [g4,bb4,eb5] ~ [eb3,bb3] ~@7 [g4,bb4,eb5]@8, ~@2 [eb3,bb3]@5 ~@3 [eb3,bb3]@5 ~", // Eb5 Eb Eb5 Eb Eb5
  H: "[d3,g3] ~@7 [d4,g4,bb4]@4 ~@2 [d4,g4,bb4] ~ [d3,a3]@2 ~@6 [c4,gb4,a4]@5 ~@3, ~@4 [d3,g3]@9 ~@7 [d3,a3]@10 ~@2", // G5 Gm D5 Gbdim G5 D5
  I: "[bb3,d4,g4]@4 ~@24 [a3,db4,gb4]@3 ~", J: "[bb3,d4,g4]@3 ~@29",
  K: "[bb3,d4,g4]@4 f3@2 ~@2 f3@3 ~ [bb3,d4,g4]@4 f3@2 ~@2 f3@3 ~ [bb3,d4,g4]@4 f3@2 ~@2, f3@3 ~@3 [bb3,d4,g4]@5 ~ f3@2 ~@4 [bb3,d4,g4]@5 ~ f3@3 ~@5", // Gm
  L: "[bb3,d4,g4]@4 ~@4 [bb3,d4,g4] ~@7 [bb3,d4,g4] ~@7 [bb3,d4,g4] ~@3 [a3,db4,gb4]@3 ~", // Gm Gbm
  M: "[bb3,d4,g4]@3 ~@5 [bb3,d4,g4] ~@7 [bb3,d4,g4] ~@7 [bb3,d4,g4] ~@7", // Gm
  N: "[~@3 eb5@26 ~@4 d5@12 ~@5 d5@13 ~, ~ [bb3,g4]@28 ~@2 [bb3,g4]@15 ~ a3@15 ~@2, ~@2 bb4@27 ~@3 bb4@11 ~@5 gb4@15 ~, ~@49 a4@14 ~]/2", // Eb
  O: "[~@4 bb4@68 ~@5 d3 ~ d3 ~@2 [d4,bb4]@4 ~ [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3 ~ g3, g3@24 ~@3 [g3,f4,d5]@2 ~@3, ~ eb4@71 ~@9 [c4,a4]@2 ~@13, ~ g4@23 ~@8]/3", // Gm Gm7 G7 F
  P: "~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3 ~ g3, ~@17 [g3,f4,d5]@6 ~@9", // Gm7 Dm7 F Gm Gm7 G7
  Q: "~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 ~ a4 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3 ~ g3, ~@17 [g3,f4,d5]@6 ~@9, ~@17 c4@2 ~@13", // Gm7 Dm7 Gm Gm7 G7
  R: "~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 ~ [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3 ~, ~@17 [g3,f4,d5]@6 ~@9", // Gm7 Dm7 F Gm Gm7 G7
  S: "g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 ~ [d4,bb4]@4 ~ [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3 ~, ~@9 [g3,f4,d5]@3 ~@4, ~@9 [c4,a4] ~@6", // Gm7 Dm7 Gm Gm7 G7 F
  T: "g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3 ~, ~@9 [g3,f4,d5]@3 ~@4", // Gm7 Dm7 F Gm Gm7 G7
  U: "g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 ~ a4 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3 ~, ~@9 [g3,f4,d5]@3 ~@4, ~@9 c4 ~@6", // Gm7 Dm7 Gm Gm7 G7
  V: "[g3 ~ g3 ~ g3 ~@2 [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 g3@2 ~@2 d4@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3, ~@51 [g3,f4,d5]@6 ~@7, ~@51 [c4,a4]@2 ~@11, ~@52 bb4@3 ~@9]/2", // Gm7 Dm7 Csus4 Gm7 G7 F
  W: "~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3 g3, ~@19 [g3,f4,d5]@6 ~@7", // Gm7 Dm7 F Gm Gm7 G7
  X: "~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 ~ a4 [d4,bb4]@4 ~ [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3, ~@19 [g3,f4,d5]@6 ~@7, ~@19 c4@2 ~@11", // Gm7 Dm7 Gm Gm7 G7
  Y: "g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2", // Gm7 Dm7 Csus4
  Z: "[g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 g3@2 [c4,a4]@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3, ~@10 [g3,f4,d5]@3 ~@3", // Csus4 F Gm Gm7 G7
  AA: "g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@3, ~@10 [g3,f4,d5]@3 ~@3", // Gm7 Dm7 F Gm Gm7 G7
  AB: "g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 ~ [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 a4 [d4,bb4]@4 ~ [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@2, ~@21 [g3,f4,d5]@6 ~@5, ~@21 c4@2 ~@9", // Gm7 Dm7 Gm Gm7 G7
  AC: "[~ g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 g3@2 [c4,a4]@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@2, ~@53 [g3,f4,d5]@6 ~@5]/2", // Gm7 Dm7 Csus4 F Gm Gm7 G7
  AD: "~ g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [c4,a4]@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~@2, ~@21 [g3,f4,d5]@6 ~@5", // Gm7 Dm7 F Gm Gm7 G7
  AE: "~@2 g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 a4 [d4,bb4]@4 ~ [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~, ~@11 [g3,f4,d5]@3 ~@2, ~@11 c4 ~@4", // Gm7 Dm7 Gm Gm7 G7
  AF: "~@2 g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4", // Gm7 Dm7 Csus4
  AG: "[g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 g3@2 [c4,a4]@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5] ~, ~@11 [g3,f4,d5]@3 ~@2", // Csus4 F Gm Gm7 G7
  AH: "~@2 g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 ~@2 [d4,bb4]@4 ~ [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5], ~@23 [g3,f4,d5]@6 ~@3, ~@23 [c4,a4]@2 ~@7", // Gm7 Dm7 Gm Gm7 G7 F
  AI: "~@3 g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 a4 [d4,bb4]@4 ~ [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5], ~@23 [g3,f4,d5]@6 ~@3, ~@23 c4@2 ~@7", // Gm7 Dm7 Gm Gm7 G7
  AJ: "~@3 g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@3", // Gm7 Dm7 Csus4
  AK: "~ [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 g3@2 [c4,a4]@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2 [g3,d4,f4,bb4,d5], ~@23 [g3,f4,d5]@6 ~@3", // Csus4 F Gm Gm7 G7
  AL: "~@3 g3 ~@2 g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 ~ [d4,bb4]@4 ~ [g3,d4,f4,bb4,d5]@2, ~@12 [g3,f4,d5]@3 ~, ~@12 [c4,a4] ~@3", // Gm7 Dm7 Gm Gm7 G7 F
  AM: "[g3,d4,f4,bb4,d5] ~@3 g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 c4@2 [d4,bb4]@4 [g3,d4,f4,bb4,d5]@2, ~@12 [g3,f4,d5]@3 ~, ~@24 a4 ~@7", // Gm7 Dm7 Gm Gm7 G7
  AN: "[[g3,d4,f4,bb4,d5] ~@3 g3 ~ g3 ~ g3 ~ g3 ~ [g3,d4,f4,bb4,d5]@4 [g3,d4,f4,bb4,d5]@2 [g3,c4,f4,a4,d5]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 g3@2 ~ [d4,f4,bb4,d5]@5 ~ [d4,f4,bb4,d5]]/2", // Gm7 Dm7 Csus4 Bb
  AO: "~ [d4,f4,bb4,d5]@2 ~@29", // Bb
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(1)

// chords · rock organ · "R Organ"
const rock_organ = note("<~@17 A B C ~@9 A B C ~@9 A B C ~@9 A B C ~@9 A B C ~@43>".pickRestart({
  A: "[eb5,g5,bb5]@31 ~", B: "[d5,g5,bb5]@7 ~ [d5,gb5,a5]@7 ~", C: "[d5,g5,bb5]@3 ~@29",
})).s("gm_rock_organ").gain(0.29)

// other · acoustic guitar steel · "Ac Gtr 2"
const acoustic_guitar_steel_2 = note(`<
  ~@5 A B C D A B A E F G H I J K H I A B A E F G H I J K H I ~@4 F G H I J K H I A B A E F G H I J K H I ~@4 F G H I J
  K H I ~@4 F G H I ~@2 L@3 ~@3 M N O P@2 Q@4 R@5 S T U V W X@2 Y Z AA@2 AB
>`.pickRestart({
  A: "~@4 a3@2 bb3@3 ~ g4@5 ~ f4@5 ~ d4@10", B: "~@4 a3@2 bb3@2 ~@2 g4@5 ~ f4@6 d4@10",
  C: "~@4 a3@2 bb3@4 g4@5 ~ f4@5 ~ d4@10", D: "~@2 a3 bb3@2 f4@3 ~@8", E: "~@2 a3 bb3@10 ~@3",
  F: "c3@2 g3@2 c4@4 g3 ~ d4@4 g3 ~ eb4@4 g3 ~ d4@4 g3 ~ c4@3 ~",
  G: "c3@2 g3@2 c4@4 g3 ~ d4@4 g3 ~ eb4@4 g3 ~ d4@4 g3 ~ eb4@3 ~", H: "d3@3 ~ a3@2 bb3@3 ~ g4@5 ~ f4@5 ~ d4@10",
  I: "d3@3 ~ a3 ~ bb3@3 ~ g4@4 ~@2 f4@5 ~ d4@8 ~@2",
  J: "eb3@2 eb4@2 bb3@2 g3 ~ eb4@2 bb3@2 g3 ~ eb4@2 bb3@2 g3 ~ eb4@2 bb3 ~ g3 ~ eb4@2 bb3@2 g3@2",
  K: "d3@2 d4@2 bb3@2 g3 ~ d4@2 bb3@2 g3 ~ d4@2 d3@2 d4@2 a3@2 gb3@2 d4@2 a3@2 gb3@2 d4@2",
  L: "[~@22 f3@4 ~@5 bb3@7 [c4,eb4]@5 ~@2 bb3 c4@5 ~@3 bb3@27 ~@15, ~@26 g3@55 ~@15, ~@38 bb3 ~@7 eb4@35 ~@15]/3", // Cm
  M: "~@22 a3@2 bb3@3 ~ g4@4", N: "~@2 f4@6 d4@13 ~ a3@2 bb3@2 ~@2 g4@4", O: "~@2 f4@6 d4@11 ~@3 a3@2 bb3@4 g4@4",
  P: "[~@2 f4@5 ~@2 d4@10 ~@4 a3@2 bb3@4 f4@6 ~@20 a3@2 bb3@3 ~ g4@3]/2",
  Q: "[~@3 f4@6 d4@13 ~ a3@2 bb3@2 ~@2 g4@6 f4@6 d4@11 ~@3 a3@2 ~ bb3@4 g4@5 ~ f4@5 ~ d4@10 ~@4 a3@2 bb3@4 f4@6 ~@20 a3@2 bb3@3 ~ g4@2]/4",
  R: "[~@4 f4@6 d4@13 ~ a3@2 bb3@2 ~@2 g4@6 f4@6 d4@11 ~@4 a3@2 bb3@4 g4@5 ~ f4@5 ~ d4@10 ~@4 a3@2 bb3@4 f4@6 ~@20 a3@2 bb3@3 ~ g4@5 ~ f4@6 d4@13 ~ a3@2 bb3@2 ~@3]/5",
  S: "g4@6 f4@6 d4@11 ~@3 a3@2 bb3@4", T: "g4@5 ~ f4@5 ~ d4@10 ~@4 a3@2 bb3@4", U: "f4@6 ~@16 g2@4 [f3,bb3]@4 g2 ~",
  V: "[g3,c4]@4 g2 ~ [f3,bb3]@4 g2 ~ [g3,c4]@4 g2 ~@2 [f3,bb3]@4 g2@4 [f3,bb3]@4 g2", // C5 Bb5 C5 Bb5
  W: "~ [g3,c4]@4 g2@2 [f3,bb3]@4 g2@2 [g3,c4]@4 g2 ~ [f3,bb3]@4 g2@3 ~ [f3,bb3]@4 g2", // C5 Bb5 C5 Bb5
  X: "[~ [g3,c4]@4 g2 ~ [f3,bb3]@4 g2 ~ [g3,c4]@4 g2 ~ [f3,bb3]@4 g2@4 ~@4 g2 ~ f4@4 g2@2 f3@4 g2 ~ [f3,f4]@4 g2 ~ [f3,c4]@4 g2@3 ~ [f3,bb3]@4 g2, ~@27 [f3,c4]@11 ~ c4@8 ~@17]/2", // C5 Bb5 C5 Bb5 F F5 Bb5 F5
  Y: "~ [g3,c4]@4 ~ g2 ~ [f3,bb3]@4 g2 ~ [g3,c4]@4 g2 ~ [f3,bb3]@4 g2@3 ~ [f3,bb3]@4", // C5 Bb5 C5 Bb5
  Z: "g2 ~ [g3,c4]@4 g2 ~ [f3,bb3]@4 g2 ~ [g3,c4]@4 g2@2 [f3,bb3]@4 g2@4 [f3,bb3]@4", // C5 Bb5 C5 Bb5
  AA: "[g2 ~ [g3,c4]@4 g2 ~ [f3,bb3]@4 g2 ~ [g3,c4]@4 g2 ~ [f3,bb3]@4 ~@4 f4@2 c4@2 f3@2 f4@2 c4@2 f3@2 f4@2 c4@2 f3 ~ f4@2 c4@2 [f3,g3]@2 f4@2 c4@3 [f3,bb3]@5 ~ [f3,c4], ~@3 g2@4 ~]/2", // C5 Bb5 C5 Bb5 Fsus2 Bb5 F5
  AB: "~ [f3,c4]@2 ~@29", // F5
})).s("gm_acoustic_guitar_steel").gain(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A B C@3 B C@3 B C@3 B C@3 B C@3 B C@3 B C@3 B C@2 D B C@3 B C@3 B C@3 B C@3 B C@3 B C@2 D B C@3 B C@3 E F G H B
  C@3 I J I ~@4 K L M@2 N O N@2 P Q P@2 R S R T@2 U T V@2 W X@3 Y I
>`.pickRestart({
  A: "~@3 x ~@7 x ~@2 x ~", B: "x ~@10 x ~@2 x ~", C: "x ~@2 x ~@7 x ~@2 x ~", D: "x ~@2 x ~@3 x!2 ~@3 x ~@3",
  E: "x ~@4 x ~ x", F: "x ~@9 x ~@2 x ~@2", G: "x ~@6 x", H: "x!4", I: "x", J: "x!2", K: "~@3 x",
  L: "~@4 x ~@2 x ~ x ~@6", M: "~@4 x ~@2 x ~ x ~@2 x ~@3", N: "~@9 x ~@5 x ~@3 x ~@5 x ~@6",
  O: "~@9 x ~@5 x ~@3 x ~@12", P: "~@5 x ~@2 x ~ x ~@2 x ~@2", Q: "~@5 x ~@2 x ~ x ~@5",
  R: "~@11 x ~@5 x ~@3 x ~@5 x ~@4", S: "~@11 x ~@5 x ~@3 x ~@10", T: "~@6 x ~@2 x ~ x ~@2 x ~",
  U: "~@6 x ~@2 x ~ x ~@4", V: "~@13 x ~@5 x ~@3 x ~@5 x ~@2", W: "~@13 x ~@5 x ~@3 x ~@8", X: "~@7 x ~@2 x ~ x ~@2 x",
  Y: "~@14 x ~@5 x ~@4 x ~@6",
})).gain(0.6)

// drums · clap
const clap = s("cp").struct("<~@5 A@72 ~@8 B C@2 D@4 E@3 F@4 G@4 H@3 I J@3 ~>".pickRestart({
  A: "~ x ~ x", B: "~@13 x ~@2", C: "~@5 x ~@7 x ~@2", D: "~@11 x ~@15 x ~@4", E: "~@3 x ~@3 x", F: "~@13 x ~@15 x ~@2",
  G: "~@7 x ~@7 x", H: "~@15 x ~@15 x", I: "~ x", J: "x!2",
})).gain(0.67)

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

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A@3 B C D@3 C D@3 C D@3 C D@3 C D@3 C D@3 C D@3 C D@2 E C D@3 C D@3 C D@3 C D@3 C D@3 C D@2 E C D@3 C D@3 ~ F G ~ C
  D@3 ~@4 H I@2 J K L@2 M N O P Q R S Q T U V W@2 X Y Z@2 AA AB AC@2 AD ~
>`.pickRestart({
  A: "x!4", B: "x!2", C: "~@2 x ~ x!4", D: "x ~ x!6", E: "~@2 x!2 ~@4", F: "~ x!4 ~ x!2", G: "~ x!6 ~",
  H: "~@17 x ~@7 x ~@6", I: "~ x ~@7 x ~@7 x ~@7 x ~@6", J: "~ x ~@7 x ~@7 x ~@14", K: "~ x ~@11 x ~@2",
  L: "~ x ~ x ~ x ~ x ~ x ~@3 x ~ x", M: "~@2 x ~@4 x ~@3 x ~@3 x ~@3 x ~@7 x ~@3 x",
  N: "~@3 x ~@3 x ~@3 x ~@3 x ~@11 x ~@4", O: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@7 x ~@3 x",
  P: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@8 x ~@3", Q: "x!6 ~ x", R: "x!5 ~@2 x", S: "~ x!5 ~ x",
  T: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@7 x ~@2", U: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@11 x ~@2",
// … 51 more lines

More by The Doobie Brothers