Strudelify

Going to the Country

Steve Miller Band

KeyD majorTempo96 bpm
0:00/0:00
// Going to the Country — Steve Miller Band
// 96 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 55 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(96/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 · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A B C D E F G H I J K L M@2 N O P Q R S T U@2 V@3 W X Y@6 Z@4 AA AB AC AD@2 AE AF AG AH AI AJ AK AL AM AN AO@2
>`.pickRestart({
  A: "[a4,d5]@2 [b4,d5] ~ f#4 a4 d4 e4@2 [e4,g4] ~ e4!2 f#4@2 [e4,a4], ~@3 [e4,a4]@2 ~ g4@3 ~ [d4,g4]@2 a4@3 ~", // D5 Bm Em A5 G5
  B: "[e4,a4] ~ a4 [f#4,a4]!2 e4 ~ e4 [e4,g4] ~ [c4,d4] ~ [d3,a3,d4,f#4]@4, ~ f#4@2 ~@3 [d4,g4]@2 ~ [d4,g4]@2 ~@5", // A5 F#m Em Csus2 D G5
  C: "~ b4 d5 ~ f#4 a4 ~ e4 g4 ~ e4 g4 ~ f#4@2 [e4,a4], [a4,d5]@2 ~ [e4,a4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~ [e4,a4]@2 ~@2", // A5 D5 A5 G5 A5
  D: "[e4,a4]@2 [f#4,a4] ~ f#4 [e4,a4] ~ e4 [e4,g4] ~ [c4,d4] ~ [d3,a3,d4,f#4]@4, ~@3 [f#4,a4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@5", // A5 F#m A5 Em Csus2 D F#m G5
  E: "[a3,d4,f#4]!2 [d3,a3,d4,f#4] ~ [g3,c4] [g3,c4,e4] [c3,e3,g3,c4,e4] b3 ~ [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 [a3,d4,f#4], a2@2 ~@2 [b2,d3,g3,b3,g4] ~@3, d3 ~@7", // D C5 C G D G
  F: "[a2,d3,a3,d4,f#4] [a3,d4,f#4] [a2,d3,a3,d4,f#4] ~ [c3,e3,g3,c4,e4] [g3,c4,e4] [c3,e3,g3,c4,e4] ~ [g2,b2,d3,g3,b3] [d3,g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 [d4,f#4]", // D C G D
  G: "[d4,f#4]!2 [d3,a3,d4,f#4] ~ [c3,e3,g3,c4,e4] [g3,c4,e4] [c3,e3,g3,c4,e4] ~@2 [b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 [a3,d4,f#4], a2@2 ~@2 [b2,d3,g3,b3,g4] ~@3, [d3,a3] ~@7", // D C Em G D G D5
  H: "~ [d4,f#4] [a2,d3,a3,d4,f#4] ~ [c3,e3,g3,c4,e4] [g3,c4,e4] [c3,e3,g3,c4,e4] ~@2 [b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 [a3,d4,f#4], [a2,d3,a3,d4,f#4] ~@3 [g2,b2,d3,g3,b3,g4] ~@3", // D C Em G D G
  I: "~ f#4 [a2,d3,a3,d4,f#4] ~@2 [g3,c4,e4] [c3,e3,g3,c4,e4] ~ [b3,g4]!2 [b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 [a3,d4,f#4], [a2,d3,a3,d4,f#4] ~ [c3,e3,g3,c4] ~ [b2,d3,g3] ~@3", // D C Em G D C G
  J: "~ [d4,f#4] [a2,d3,a3,d4,f#4] [b3,e4] ~ [c4,e4] [c3,e3,g3,c4,e4] b3 [g2,b2,g3,b3] [b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 [a3,d4,f#4], [a2,d3,a3,d4,f#4] ~ [c3,e3,g3,c4] ~@5", // D E5 C G Em G D C
  K: "[a2,d3,a3,d4,f#4] [a3,d4,f#4] [a2,d3,a3,d4,f#4] ~ c4 [g3,c4,e4] [c3,e3,g3,c4,e4] e4 [g2,g3,b3] [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4]@3 [a3,d4,f#4], ~@6 f#4 ~", // D C G D5 D
  L: "~ [d4,f#4] [a2,d3,a3,d4,f#4] e4 [c3,e3,g3,c4] [g3,c4,e4] [c3,e3,c4,e4] b3 ~ [d3,g3,b3,g4] ~ e4 [a2,d3,a3,d4,f#4]@3 [d4,f#4], [a2,d3,a3,d4,f#4] ~@2 g3 b2 [b2,d3,g3,b3,g4] ~@2", // D C G D G
  M: "[[a2,d3,a3,d4,f#4]@3 ~ [c3,e3,g3,c4,e4]@3 [b2,d3,g3,b3,g4]@2 [g2,b2,d3,g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 ~@2 [d4,f#4] [a2,d3,a3,d4,f#4] ~@2 [c4,e4] [c3,e3,g3,c4,e4] ~@2 [b3,g4] [g2,b2,d3,g3,b3,g4]@2 [d3,a3,d4,f#4]@4, ~@15 [a2,a3,d4,f#4]@3 ~@6 [g2,b2,d3,g3,b3,g4]@2 ~@6, ~@8 d3 ~ [c3,e3,g3,c4,e4] ~@5]/2", // D C G D C Em G D …
  N: "[a3,d4,f#4]@2 ~@2 [c3,e3,g3,c4,e4]@2 ~ [g2,b2,d3,g3,b3,g4]@2 [b3,g4] [g2,b2,d3,g3,b3,g4]@2 [d3,a3,d4,f#4]@3 [a3,d4,f#4], [a2,d3] ~@3", // D C G Em G D D5
  O: "f#4!2 [d3,a3,d4,f#4] ~@2 [c4,e4] [c3,e3,g3,c4,e4] ~ [g2,b2,g3,b3] [d3,g3,b3,g4] [g2,b2,d3,g3,g4] b3 [a2,d3,a3,d4,f#4]@4, a2 ~@3, [d3,a3,d4] ~ [c3,e3,g3,c4] ~@5", // D C G D D5 C
  P: "[d4,f#4]!2 [d3,a3,d4,f#4] [b3,e4] ~ [c4,e4] [c3,e3,g3,c4,e4] ~@2 [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 [a3,d4,f#4], a2@2 ~@2 [g2,b2,d3,g3,b3] ~@3, [d3,a3] ~ [c3,e3,g3,c4,e4] ~@5", // D E5 C G D G D5 C
  Q: "[d4,f#4]!2 [d3,a3,d4,f#4] ~ [e3,g3,c4] [g3,c4,e4] [c3,e3,g3,c4,e4] ~ [g2,b2,d3] [g2,b2,d3,g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 [a3,d4,f#4], a2 ~@3, [d3,a3]@2 ~@5 [b3,e4]@2 ~@7", // D C G D D5 E5
  R: "[d4,f#4]!2 [d3,a3,d4,f#4] ~@2 [c4,e4] [c3,e3,g3,c4,e4] ~@2 [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [d3,a3,d4]@2 ~ [d4,f#4], a2@2 ~@2 [g2,b2] ~ [a2,f#4]@2, [d3,a3]@2 ~@2 [c3,e3,g3,c4]@2 ~ [b3,e4]@2 ~@5 [d3,a3,d4]@2", // D C G D5 D G D D5 …
  S: "[a2,d3,a3,d4,f#4]@2 [a2,d3,a3,d4,f#4] b3 ~ [g3,c4,e4] [c3,e3,c4,e4] [b3,e4]@2 [d3,g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,d4,f#4]@3 [a3,d4,f#4], ~@4 c3@2 g3@3 ~@3 a3@2 ~@2", // D C E5 G D
  T: "f#4!2 [d3,a3,d4,f#4] ~@2 [g3,c4,e4] [c3,e3,g3,c4,e4] ~ b2 [d3,g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a3,d4,f#4]@2 d4 [d4,f#4], a2 ~@2 [a2,d3], [d3,a3,d4]@2 ~@2 [c3,e3,g3,c4]@2 ~ [b3,e4]@2 ~@7", // D C G D D5 C E5
  U: "[~ [d4,f#4] [a2,d3,a3,d4,f#4] ~@2 [g3,c4,e4] [c3,e3,c4,e4] [b3,e4]@2 [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [d4,f#4]@2 f#4 ~ a3 [a3,d4,f#4]!2 ~@2 [c4,e4] [c3,e3,g3,c4,e4] [b3,e4] [g2,b2,g3,b3] [b2,g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@2 ~ [d4,f#4], [a2,d3,a3,d4,f#4]@2 ~@2 [c3,g3]@2 g3@3 ~@3 [d3,a3]@3 f#4@2 ~@15, ~@7 d4 [a2,d3]@2 [c3,e3,g3,c4] ~@5]/2", // D C E5 G D C E5 G …
  V: "[~ [d4,f#4] [a2,d3,a3,d4,f#4] ~@2 [g3,c4,e4] [c3,e3,g3,c4,e4]@2 ~ [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@3 ~ [c3,e3,g3,c4,e4]@3 [g2,b2,d3,g3,b3,g4]@2 [d3,g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,a3,d4,f#4]@3 a3 ~ [d4,f#4] [a2,d3,a3,d4,f#4] b3 ~ [g3,c4,e4] [c3,e3,c4,e4] [b3,e4] [g2,b2,d3,b3] [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [a2,d3,a3,d4,f#4]@3 [a2,a3,d4,f#4], [a2,d3,a3,d4,f#4] ~ [c3,g3] ~ [g2,b2,d3,g3,b3] ~ a2@4 ~@4 d3@3 ~@7, ~@31 [a2,d4,f#4]@3 ~@14, ~@32 a3@2 ~@4 g3@3 ~@7]/3", // D C G D C G D C …
  W: "d4@2 d4 [a2,a3,d4,f#4] [c3,e3,g3,c4]@3 [g3,b3,g4]@2 [g3,b3,g4] [b2,d3,g3,b3,g4]@2 [d3,a3,d4,f#4]@3 [d3,a3,d4,f#4], [a2,d3,a3,f#4]@4 ~@3 [g2,b2,d3]@4 ~@5", // D C G D G
  X: "[d3,a3,d4] [d3,a3,d4,f#4]@2 [d4,f#4] [c3,e3,g3,c4] [e3,g3,c4,e4] [c3,e3,g3,c4,e4] [b3,e4] [g2,b2,g3,b3] [b2,g3,b3,g4] [g2,b2,d3,g3,b3,g4] b3 [a2,d3,a3,d4,f#4]@4, a2 ~@3", // D5 D C E5 G Em G D
  Y: "[[d4,f#4]@2 ~ [e4,g4]@2 ~ [f#4,a4]@2 ~@6 [e4,g4] ~ [d4,f#4]@2 ~ [e4,g4]@2 ~ [f#4,a4]@2 ~@2 [e4,g4] ~ [d4,f#4] ~ [e4,g4] ~ [d4,f#4]@2 ~ [e4,g4] ~@2 [f#4,a4]@2 ~@2 [e4,g4] ~ [d4,f#4] ~ [e4,g4] ~ [d4,f#4]@2 ~ [e4,g4] ~@2 [f#4,a4]@2 ~@2 [e4,g4] ~@3 [e4,g4] ~ [d4,f#4]@2 ~ [e4,g4]@2 ~ [f#4,a4]@2 ~@2 [e4,g4] ~ [d4,f#4] ~ [e4,g4] ~ [d4,f#4]@2 ~ [e4,g4]@2 ~ [f#4,a4]@3 ~@3 [d4,f#4]@4, ~@2 d3@3 d3@4 d3@2 d3@2 d3@2 d3@3 d3@3 d3@4 d3@2 ~@4 d3@3 d3@3 d3@4 d3@2 ~@2 d3@2 d3@3 d3@3 d3@4 d3@2 d3@2 d3@2 d3@3 ~@3 d3@4 d3@2 d3@2 d3@2 d3@3 d3@3 d3@4 d3@2 d3@5, ~@5 [e4,g4] [d4,f#4] ~@23 [d4,f#4] ~@14 [e4,g4] ~@2]/6", // D Em F#m Em D Em F#m Em …
  Z: "[[d4,f#4,a4]@2 ~ [c#4,e4,a4] ~@2 [b3,d4,g4]@3 ~ [b3,d4,g4]@2 [b3,d4,g4]@3 ~ [b3,d4,g4]@2 ~ [c#4,e4,a4] ~@2 [a3,d4,f#4]@3 ~ [a3,d4,f#4]@2 [a3,d4,f#4]@2 ~@2 [d4,f#4,a4]@2 ~ [c#4,e4,a4] ~@2 [b3,d4,g4]@3 ~ [b3,d4,g4]@2 ~@4 [b3,d4,g4]@2 ~ [c#4,e4,a4] ~@3 f#4@2 ~ [a3,d4]@2 [a3,d4]@2 ~@2, ~@5 d3@4 d3@6 d3@3 d3@3 d3@4 d3@5 d3@4 d3@3 d3@4 d3@3 [d4,g4]@4 ~@6 [a3,d4]@3 ~ f#4@4 ~@2, ~@46 d3@4 d3@3 d3@3 ~ d3@7]/4", // D A G A D A G A …
  AA: "[d3,a3,d4,f#4]@4 [d4,f#4]@3 [d4,f#4]@2 [d4,f#4]!2 ~ [a3,d4,f#4]!2 [d3,a3,d4,f#4] ~, ~@2 [d3,a3]@3 [a2,d3]@2 ~, ~@5 a3 ~@2", // D D5
  AB: "[c4,e4]@2 c4 [g3,c4] [c3,e3,g3,c4,e4]@2 [g3,c4,e4] [c3,e3,g3,c4,e4]@2 [g3,c4,e4] [c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4] [g3,c4,e4] [c3,e3,g3,c4,e4] [b3,e4], [e3,g3] ~@3", // C C5 C E5 Em
  AC: "[g3,b3]@2 [g3,b3] [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [d3,g3,b3,g4] [d3,g3,b3,g4]@2 [d3,g3,b3,g4]@2 [b3,g4] [d3,g3,b3] [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2, [g2,b2,d3,g4]@2 ~ g2@4 ~, ~@7 b2@7 ~@2", // G Em G
  AD: "[[a3,d4]@2 [a3,d4] [a3,d4,f#4] [a3,d4,f#4]@2 [d4,f#4] [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4] [d3,a3,d4,f#4] [a3,d4,f#4] [d4,f#4]!2 [a3,d4,f#4]@2 [a3,d4] [d4,f#4] [a3,d4,f#4]@2 d4 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4] [d3,a3,d4,f#4] [d4,f#4] [a2,d3,a3,d4,f#4] ~, a2@7 a2@3 [a2,d3]@4 ~@2, [d3,f#4]@2 d3@4 ~ [d3,a3] d3@2 ~@6]/2", // D5 D D5 D D5 D D5
  AE: "c4@2 c4 [g3,c4,e4] [e3,g3,c4,e4]@3 [c4,e4]@2 [c4,e4]@2 [g3,c4,e4] ~ [c4,e4] [c3,e3,g3,c4,e4] [b3,e4], [c3,e3,g3,e4]@2 c3@3 ~ [c3,e3,g3,c4,e4] ~, ~@7 [e3,g3]@4 ~@5", // C E5 C Em
  AF: "[g3,b3]@2 ~ [b3,g4] g4 ~ [b2,d3] [b3,g4]@2 [b3,g4]@2 [d3,g3,b3,g4] [b3,g4]!2 [g2,d3,g3,b3,g4]@2, [g2,b2,d3,g4]@4 g2@8 [g2,b2,d3,g3]@3 ~, ~@2 [g3,b3]@2 [b2,d3,g3,b3]@3 [b2,d3,g3]@5 ~@4, ~@5 g4@2 ~@9", // G Em Bm Em G Em G
  AG: "[a3,d4]@2 [a3,d4] [a3,d4,f#4] [a3,d4,f#4]@2 [a3,d4] [d4,f#4]@2 [d4,f#4]@2 [a3,d4,f#4]!3 ~ [d4,f#4], [a2,d3,f#4]@2 [a2,d3]@4 d3 [d3,a3,d4,f#4], ~@7 a3@4 ~@5", // D5 D D5 D D5 D
  AH: "[a3,d4,f#4]@2 [a3,d4,f#4]!2 [d3,a3,d4,f#4]@2 [a3,d4,f#4] [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4] [a3,d4] [a3,d4,f#4] [a2,d3,a3,d4,f#4] [g3,b3,e4], a2@7 ~, d3@4 ~@3 d3@7 ~@2", // D D5 D Em
  AI: "[e3,g3,c4,e4]@3 [g3,c4,e4] [c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4] [c3,e3,g3,c4,e4]@2 [c3,g3,c4,e4]@2 [g3,c4,e4] [c3,e3,g3,c4,e4] [g3,c4,e4] [c3,e3,g3,c4,e4] [b3,e4], c3@2 ~@7 e3 ~@6", // C E5
  AJ: "[b2,d3,g3,b3,g4]@3 [g3,b3,g4] ~ g4 [d3,g3,b3,g4] [d3,g3,b3,g4]@2 [b2,d3,g3,b3,g4]@2 [g3,b3,g4] [b2,d3,b3,g4] [b2,g3,b3,g4] [b2,d3,g3,b3,g4] [b3,e4], g2@15 ~, ~@4 [b2,d3,g3,b3,g4]@2 b2@3 ~@7", // G Em G E5 G
  AK: "[a3,d4]@2 [a3,d4] [a3,d4,f#4] [a3,d4,f#4]@2 [a3,d4,f#4] [a3,d4,f#4]@2 [d3,a3,d4,f#4]@2 [a3,d4,f#4] ~ [d4,f#4] ~ [d4,f#4], a2, [d3,f#4]@4 d3@5 ~@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4]@2", // D5 D
  AL: "[a3,d4,f#4]@2 ~ [d4,f#4] [d3,a3,d4,f#4]@2 [a3,d4,f#4] [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4] [a2,d3,a3,d4,f#4] [a3,d4,f#4] [a2,d3,a3,d4,f#4] [g3,b3,e4], a2@3 ~, d3@2 ~ d3@3 ~@2, ~ [a3,d4] ~@6", // D Em D5
  AM: "[c3,e3,g3,c4,e4]@3 [g3,c4,e4] [c3,e3,g3,c4,e4]@2 [g3,c4] [g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4] [c3,e3,g3,c4,e4] [g3,c4,e4] [c3,e3,g3,c4,e4] [g3,b3,e4], ~@6 [c3,e3]@3 ~@7", // C C5 C Em C
  AN: "[d3,g3,b3,g4]@2 ~ [b3,g4]!2 ~ [b2,b3] [d3,g3,b3,g4]@2 [d3,g3,b3,g4]@2 [g3,b3,g4]!3 [b2,d3,g3,b3,g4] b3, g2@3 ~@5, b2@4 [b2,d3,g3]@3 b2@5 b2@2 ~@2, ~@2 [d3,g3,b3,g4]@2 ~ [b3,g4]@2 ~@9", // G Em B G Em
  AO: "[[a3,d4,f#4]@2 [a3,d4,f#4] [d4,f#4] [d3,a3,d4,f#4]@2 [a3,d4,f#4] [a3,d4,f#4]@2 ~ d4 [a3,d4,f#4]!2 [d4,f#4]!3 ~@16, [a2,d3]@5 ~ d3@3 [a3,d4,f#4]@2 ~@3 [a2,a3]@2 ~@16, ~@10 d3@4 d3@17 ~]/2", // D D5 D A
})).s("gm_acoustic_guitar_steel").gain(0.29).pan(0.4)

// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  A ~@2 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 ~ AB ~@3 AC AD AE ~ AF AG ~ AH ~ AI ~@3 AJ AK AL ~
>`.pickRestart({
  A: "~ b4 ~@14", B: "~ f#4 ~@14", C: "~@4 [e3,e4] e3 ~@2 g2@2 ~@6", D: "~@7 b3 g4 ~@7", E: "~@5 c3 ~@2 g2@2 ~@6",
  F: "~@3 e4 ~@12", G: "~@7 b3 g2@3 ~@5", H: "~@4 e4@2 ~@2 [d3,g4] d3 ~@5 d3", I: "~@3 e4 [e3,e4] ~@2 b3 [b2,g4] ~@7",
  J: "~@4 e4 ~@3 d3@2 ~@6", K: "~@6 b3 g2@2 ~@7", L: "~@7 [b3,e4] ~@4 a2@4", M: "~@8 d3 ~@7", N: "~@4 g4 ~@3",
  O: "~ f2 ~@2 e4 ~@3 g3 ~@6 f2", P: "f2 ~@2 b3 ~@5 d3 ~@6, ~@4 d3 ~@3", Q: "~@3 e4 e3@2 ~@2 [g2,b2]@2 ~@6",
  R: "~@3 [b3,e4] ~@4 [g2,d3] b2 ~@4 f#4 a3", S: "~@3 e4 e3@2 ~@3 d3 ~@6, ~@4 [g2,b2] ~@3", T: "~@4 e4@2 ~@2 d3 ~@7",
  U: "~@4 [e3,c4]@2 ~@5 e4 ~@4", V: "~@6 b3 ~@9", W: "~@3 e4 e3@2 ~@2 g4 d3 ~ e4 ~@4", X: "~@6 e4 ~@5 a2@3 ~",
  Y: "f#4 ~@7 d3!2 ~@6", Z: "~@11 d3@4 ~", AA: "~@11 d3@2 ~@3", AB: "~@2 d3@3 ~@11", AC: "~@11 [d4,f#4] ~@2 a2 e4",
  AD: "~@3 e4 ~@7 e4 ~ e3 ~ g3", AE: "~@12 g4 ~@2 e4", AF: "~@2 f#4 ~@7 f#4 ~ a2!2 ~@2", AG: "~@5 [c3,e3] ~@2",
  AH: "~@3 a2", AI: "~@10 e3@2 ~ c3 ~@2", AJ: "~@3 e3 ~@11 d3", AK: "~@6 g2@6 [g2,d3]@3 e4", AL: "~@5 d4 a2@8 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.16).pan(0.4)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~@3 A B@3 C B@3 C B@2 C B@3 C B@3 C B D E 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 ~
>`.pickRestart({
  A: "~@5 c2 d2 ~", B: "d2@4 c2@3 g1@2 ~ g1@2 d2@3 ~", C: "d2@4 c2@3 g1@2 ~ g1@2 d2@2 ~@2",
  D: "d2@2 ~ d2 d2@2 ~ d2 ~ d2 ~ d2 d2@3 ~", E: "d2@3 d2 d2@5 d2!2 ~ d2@3 ~", F: "d2@2 ~ d2@2 ~ d2@4 d2@2 d2@2 d2@2",
  G: "d1@3 d1@2 d1 d1@3 d1 d1@2 d1@2 d1@2", H: "d2@3 d2@2 d2 d2@3 d2 d2@2 d2@2 a1@2",
  I: "d1@3 d1@2 d1 d1@4 d1@2 f#1 g1 a1@2", J: "a1@3 a1@3 a1@4 a1@2 a1 b1 a1@2", K: "d1@3 d1@2 d1 d1@3 d1!3 f#1 a1 a1@2",
  L: "d1@3 a1@3 g1@10", M: "g1@3 a1@3 d1@8 ~@2", N: "d1@2 d1 a1@3 g1@9 ~", O: "g1@3 a1@3 d1@9 ~",
  P: "d2@3 d2 d3@5 d2 d2@2 d2@2 d2@2", Q: "c2@2 c2!2 c3@3 c2 ~ c2 c2@2 c3@2 c2@2",
  R: "g1@2 g1!3 g1@3 ~ g1 b1 g1 c2 c#2 d2@2", S: "~ d2 d2@2 d2@2 d2@2 ~ a1!3 c2 c#2 d2@2",
  T: "d2@2 d2@2 d3@3 d2@2 d2 ~@4 d2@2, ~@11 d2@2 ~@3, ~@3 d3", U: "c2@2 c2!2 c3@2 ~ c3 c2 e2 f2!2 f#2!2 g2!2",
  V: "g1@3 ~ g1 b1@2 g1 b1!2 c2!2 c#2!2 d2!2", W: "d2@3 ~ d2@3 d2 ~ a2 b2!2 c3!2 c#3!2",
  X: "d2@3 d2 a2@2 d2 a2@2 d2 d2@2 a2@2 d2@2", Y: "c2@2 c2@2 g2@2 c2 g2@2 c2!3 c3@2 c2@2",
  Z: "g1@3 ~ g1@2 ~ g1@2 g1 ~ g1 g2 g1!2 ~", AA: "d2@2 d2@3 d2 f2!2 d2!2 b1!2 c2!2 c#2@2",
  AB: "d2!3 d3@2 d2 c3 c3@2 d2 b2 a2 g2 f#2 d2@2", AC: "c2 c2@2 c2 e1@2 e1 f1 ~ f1 f#1@2 g1@2 f1 f#1",
  AD: "b1 a1 g1@2 g1@2 ~ g1@2 g1 b1 c2 d2 f2 c2@2", AE: "d2@3 ~ d2@2 ~ d2 ~ d2 a2 a1 g2 f2 d2@2",
})).s("gm_fretless_bass").gain(0.49)

// other · lead 3 calliope · "CALLIOPE"
const lead_3_calliope = note("<~@8 A@2 B C D E D F ~@4 G H I J D C D C ~@6 K L M L ~@17>".pickRestart({
  A: "[f#4!4 e4 d4!2 b3 d4 b3 d4@2 f#4@3 f#4@2 f#4!3 e4 d4!2 b3 d4 e4 d4@2 d4@4]/2",
  B: "f#4!4 e4 d4!2 b3 d4@2 d4@2 f#4@4", C: "f#4!4 e4 d4!2 b3 d4 e4 d4@2 d4@4", D: "f#4@4 f#4@3 d4@2 d4@2 b3 f#4@4",
  E: "f#4!4 e4 d4!2 e4@2 d4@2 d4 d4@4", F: "f#4!4 e4 d4!2 b3 d4!2 d4@2 d4@4", G: "f#4!4 e4 d4@2 d4@2 b3 d4!2 f#4@4",
  H: "f#4 f#4@2 e4!2 b3 d4 b3 d4 b3 d4!2 b3 a3@3", I: "f#4!4 e4 d4!2 b3 d4!3 f#4@5",
  J: "f#4!4 e4 d4!2 d4@2 ~ d4@2 d4@4", K: "f#4@3 e4@3 d4@10", L: "d4@3 e4@3 f#4@10", M: "f#4@3 ~@3 d4@10",
})).s("gm_lead_3_calliope").gain(0.16).pan(0.6)

// other · lead 3 calliope · "CALLIOPE" · soft notes · Em
const lead_3_calliope_soft = note(`<
  ~@23
  [~@9 d4 ~@6]
  ~@10
  [a4@3 g4@3 g4@10]
  [g4@3 a4@3 a4@10]
  [a4@3 [e4,g4]@3 g4@10]
  [g4@3 a4@3 a4@10]
  ~@17
>`).s("gm_lead_3_calliope").gain(0.1).pan(0.6)

// other · harmonica
const harmonica = note("<~@4 A B C D ~@7 E F G H I ~ J K L ~@6 M@2 ~@2 N O ~@19>".pickRestart({
  A: "f#5@3 f#5 e5 d5 ~ d5@2 b4 d5@2 f#5@2 ~@2", B: "f#5@3 a5 e5 d5 ~ d5@2 b4 f5@2 d5@2 ~@2",
  C: "f#5@3 a5 e5 d5 ~ d5@2 b4 d5@2 f#5@3 f#5", D: "[a5,d6] f#5 b5 f#5 a5 f#5 d5 e5@2 d5 f5@2 d5@3 ~",
  E: "~@12 a4 b4 d5 b4", F: "f#5@4 e5 d5 ~ d5@2 b4 d5@2 f#5@2 ~@2",
  G: "[f#5,a5,d6] f#5 [f#5,a5,b5] f#5 [f#5,a5] f#5 e5 d5 e5 d5 f5@2 d5@2 ~ d5", // D B7 F#m
  H: "f#5@3 a5 e5 d5 ~ d5@2 b4 d5@2 f#5@2 ~ f#5",
  I: "d6 [a5,b5] f#5 [b4,d5] a4 [b4,d5] f#5 [a5,b5] f#5 d5 f5@2 d5@2 ~@2", J: "~@14 a4 b4",
  K: "d5@2 ~@10 d5@2 [e5,f#5,g#5] [b4,d5]", L: "d5@3 ~@13", M: "[g5 a5@30 [d5,e5,f#5]]/2", N: "[d5,f#5]@3 [g4,b4]@5",
  O: "[g4,b4]@3 [d5,f#5]@5", // G D
})).s("gm_harmonica").gain(0.38).pan(0.9)

// other · fiddle
const fiddle = note(`<
  ~@12 A@2 B C D E F G ~@4 H I J@2 ~@2 K L M N O P O ~@2 Q R S T U V@2 W X Y Z@2 AA AB AC ~
>`.pickRestart({
  A: "[~@2 [d4,a4] ~@3 [d4,g4] ~@7 g4 a4 a4 ~ a4 ~@2 f#4 g4 ~ g4 f#4 g4 f#4 a4@3 ~, ~@14 d4@5 ~ d4@4 d4@7 ~, ~@17 g4@2 ~ g4@2 ~@10]/2", // D5 G5
  B: "~@2 [d4,a4] ~@3 [d4,g4] ~@5 a4 a4@3", // D5 G5
  C: "d5 a4 ~@2 a5 f#5 a5!2 [e5,f5] d5!2 c#5 d5@3 ~, ~ f#5 ~@6, ~@3 a4@2 ~@11", // Fmaj7
  D: "~@3 a5 g5 f#5 g5 f#5 [d5,a5]@3 ~ a4 d5 e5 f#5, ~ a4 ~@6", // D5
  E: "a5 ~ a5 g5 [e5,f#5] d5 b4 a4 e4 [e4,f#4] d4@2 ~ a4 f#5@2, ~ f#5@2 ~@9 d4@2 ~@2", // Esus2
  F: "g5 f#5 ~ d5 g5 a5@2 g5 a5 g5 a5@2 e5 f#5@2 ~, a4@2 e5@2 a4@3 ~@5 a4@4",
  G: "[f#5,g5] f#5@2 e5 d5 b4 a4 g4 f#4 e4 d4@2 [a3,d4]@4, ~@2 a3 ~", // Gmaj7 D5
  H: "~@2 [d4,a4] ~@3 [d4,g4] ~@5 [d4,a4]@4, ~@12 g4 ~@3", // D5 G5 D5
  I: "a4@3 [a4,b4] g4@3 g4@2 f#4 g4@2 a4@3 ~, d4@7 d4@8 ~, g4 ~@6 f#4 ~@8", // Asus2
  J: "[~@2 [d4,a4] ~@3 [d4,g4] ~@5 a4@3 b4 a4@3 ~@3 f#4 g4@2 f#4 g4@2 [a4,d5]@4, ~@12 d4@7 ~@2 d4@6 ~ d4@2 ~@2, ~@12 g4 ~@8 g4@2 ~@9]/2", // D5 G5 D5
  K: "e5 f#5@3 f#5 a5@2 g5 ~ e5 d5 b4 a4 g4 f#4 g4, a4@7 ~ f#5@2 ~@6",
  L: "a4@3 b4 ~ b4 d5@2 [a4,f#5]@2 a5@2 [a4,a5]@2 [a4,f#5]@2, d4@7 ~@9, g4 ~@3 a4@2 ~@2 e5 ~@7", // D A D
  M: "f#5 a5@3 a5@3 b5 ~ g5 f#5 e5 d5 b4 a4 ~, ~@4 a5 ~@3",
  N: "f#5 ~@2 e5 d5 b4 a4 g4 f#4 e4 d4@2 d4@4, ~ g5@2 ~@13, ~ f#5 ~@6", O: "~@10 [d4,b4] ~ [d4,b4]@4",
  P: "~@10 [f#4,d5] ~ [f#4,d5]@4", Q: "g4@4 g4@7 ~@2 f#4 g4@2, c4@15 ~, ~@6 g4 ~",
  R: "a4@4 g4@4 a4 b4@2 b4 ~ b4 g4 ~, d4@8 d4@7 ~, g4 ~@11 d5@2 ~@2",
  S: "b4 d5@3 [d4,d5]@3 ~ e5 f#5@3 g5 f#5 e5 d5, d4 ~ a4!2", // D
  T: "~@2 a4 ~ d5 e5 f#5 g5 [a4,f#5] [a4,a5]@2 b5 [a4,a5]@3 b5, d4@2 d4 ~@5, f#4@2 ~@3 a4@2 ~@9, ~ g4@2 c#5@2 ~@11", // D A
  U: "a5 g5@3 g5@3 f#5 g5 f#5 a5@2 g5@3 [d4,d5], ~@10 g5 ~@5", // D
  V: "[[d4,d5]@2 [d4,d5]@3 b4 a4 [d4,g4]@3 ~ b4@2 ~ g4 ~ e5 f#5@2 ~ b5 a5 f#5 b5 a5 f#5 e5 d5 e5 f#5 e5 d5, ~@10 [d4,a4]@3 [d4,a4]@2 a4@3 ~@14]/2", // D G5 D5
  W: "e5 f#5@3 [d4,f#5]@3 f#5 a5 f#5 ~ a5 f#5 d5 b4 a4, d4@4 e5 ~@5 b5@2 ~@4", // D
  X: "[c4,e5]@3 ~ [c4,e5]@3 g5 a5 g5 a5 g5 ~ d5 c5 a4, d5 ~@3 d5 ~@7 e5@2 ~@2", // C
  Y: "[d4,d5]@3 ~ [d4,d5]@3 d5 e5 d5 e5 d5 b4 a4 g4 ~, c5 ~@15", // D
  Z: "[[d4,a4]@4 a4 d5 f#5 d5 g5 f#5 g5 f#5 g5 f#5 g5 a5@2 g5 a5 f#5 g5 f#5 e5 d5 a4 d5 f#5 g5 [e5,f#5] d5 b4 a4, g4 ~@31]/2", // D5 Esus2
  AA: "b4 d5@2 c5@3 ~ c5 e5 d5 c5 b4 a4 g4 b4 a4", AB: "c5 d5@4 b4 a4 g4!2 ~ g4 b4 a4 g4 e4 d4",
  AC: "a4@2 a4 b4 d5 e5 f#5 g5 f#5 d5 f#5 g5 f#5 d5 f#5 c5",
})).s("gm_fiddle").gain(0.28).pan(0.2)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@45 A B C D E F G H I ~>".pickRestart({
  A: "~@10 d3@2 d3 ~ d3@2", B: "g3 f#3 d3@2 d3@6 d3@2 g3 f#3 g3 f#3", C: "g3 f#3 d3 ~ d3@5 ~ d3 ~ g3 f#3 g3 f#3",
  D: "g3 f#3 d3@2 ~@5 b3@3 g3 f#3 g3 f#3, ~ d3@2 ~, ~@6 d4@5 ~@5", E: "d3@4 d3@6 f#3 g3 f#3 g3 f#3 g3",
  F: "a3@10 a3 b3 a3 b3 a3 b3", G: "c4@10 c4!2 ~ c4 c4@2", H: "d4@4 d4@4 ~ d4 f4 e4 ~ c4 a3 g#3, ~@6 d4 ~",
  I: "g3 f3 d3@2 d4@7 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.29).pan(0.6)

// drums · kick
const kick = s("bd").struct("<~@4 A@6 B A C D A D A@3 D A C E F A C A D ~@10 G@16 ~>".pickRestart({
  A: "x ~@2 x ~@2 x ~@3 x ~@3 x ~", B: "~@3 x ~@2 x ~@3 x ~@3 x ~", C: "x ~@2 x ~@2 x ~@3 x ~ x ~@3",
  D: "x ~@2 x ~@2 x ~@3 x ~@5", E: "~ x ~ x ~ x!2 ~", F: "x ~@2 x ~@2 x ~@2 x!2 ~ x ~@3", G: "x!4",
})).gain(0.44)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B@2 C D C@4 B E B F C@3 G C@3 H C@3 I ~@9 J K L M N O L O P O Q R S T U R@2 ~
>`.pickRestart({
  A: "~@7 x!2 ~ x ~ x ~ x ~", B: "~ x ~ x", C: "~@4 x ~@4 x!2 ~ x ~@3", D: "~@4 x ~@4 x!7",
  E: "~@4 x ~@2 x ~ x ~ x!2 ~@3", F: "~@4 x ~@2 x ~ x!2 ~ x!4", G: "~@4 x ~ x!2 ~ x ~ x!5", H: "~@4 x ~@2 x ~@8",
  I: "~@4 x ~@3 x!3 ~ x ~@3", J: "~@7 x!2 ~@7", K: "~@3 x!2 ~@7 x ~@3", L: "~@3 x!2 ~@2 x ~ x ~ x!2 ~ x!2",
  M: "~@4 x ~@2 x ~ x ~ x!2 ~@2 x", N: "x!2 ~@2 x ~@2 x ~ x ~ x!5", O: "~@3 x!2 ~@2 x ~ x ~ x!2 ~ x ~",
  P: "~@3 x!2 ~@2 x ~ x ~ x!5", Q: "~@3 x!2 ~@2 x ~ x ~ x!2 ~@3", R: "x ~@2 x!2 ~@2 x ~ x ~ x!2 ~ x ~",
  S: "x!2 ~ x!3 ~ x!3 ~ x!5", T: "~@3 x!2 ~@2 x ~@3 x!2 ~ x ~", U: "x ~@2 x!2 ~@2 x ~ x ~ x!2 ~ x!2",
})).gain(0.33)

// drums · low tom
const low_tom = s("lt").struct("<~@3 [~@11 x ~ x ~ x] ~@19 [~@10 x ~@2 x ~@2] ~@13 [~@12 x ~ x!2] ~@17>").gain(0.44)

// drums · hihat
const hihat = s("hh").struct("<~@4 A B C D E C@3 ~@4 F C B G A B@2 G ~@14 H@2 ~@15>".pickRestart({
  A: "~@2 x!6", B: "x!8", C: "x!5 ~ x!2", D: "x!5 ~@3", E: "~@2 x ~ x ~ x!2", F: "~@2 x!3 ~ x!2", G: "x!4 ~@4",
  H: "~ x!7",
})).gain(0.27)

// drums · mid tom
const mid_tom = s("mt").struct("<~@3 [~@9 x ~@6] ~@19 [~@5 x ~@2] ~@13 [~@9 x ~ x ~ x ~@2] [~@7 x] ~@16>").gain(0.44)

// drums · open hat
const open_hat = s("oh").struct("<~@4 A ~ B ~ C B@3 ~@4 D B ~@2 A ~@34>".pickRestart({
  A: "x!2 ~@6", B: "~@5 x ~@2", C: "x ~@2 x ~ x ~@2", D: "x!2 ~@3 x ~@2",
})).gain(0.33)

// drums · crash
// … 12 more lines

More by Steve Miller Band