Strudelify
The Joker cover art

1973 · The Joker

The Joker

Steve Miller Band

KeyF majorTempo81 bpm
0:00/0:00
// The Joker — Steve Miller Band
// 81 bpm, 4/4, key F major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 92 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(81/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@2 E C F@2 E G H@2 E C E I@3 J@4 K@4 L@4 M N A B C E O E C P@2 E G Q@3 C R S@2 T U@4 V W X@2 Y@2 Z@2 AA AB@3
  AC AD@3 AE@2 A B C H@2 E C P@2 AF@2 AG@4 AH@2
>`.pickRestart({
  A: "f2 ~ f2@2 ~@2 g2 a2 bb2 ~ bb2@2 ~@2 c3 d3", B: "c3 ~ c3@2 ~@2 g2 a2 bb2!4 a2!2 g2!2",
  C: "f2 ~ f2 ~@3 g2 a2 bb2 ~ bb2 ~@3 c3 d3",
  D: "[c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] [g2,f3] g2 f2 ~ f2 ~@3 g2 a2 bb2 ~ bb2@2 ~@2 c3 d3, ~@15 f3@9 ~@8]/2", // Am D5 G7
  E: "c3 ~ c3 ~@3 g2 a2 bb2!4 a2!2 g2!2",
  F: "[c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] [g2,f3] g2 f2 ~ f2 ~@4 a2 bb2 ~ bb2 ~@3 c3 d3, ~@15 f3@13 ~@4, ~@11 g2 ~@4]/2", // Am D5 G7
  G: "f2 ~ f2@2 ~@2 g2 a2 bb2 ~ bb2 ~@3 c3 d3",
  H: "[c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] [g2,f3] g2 f2 ~ f2 ~@3 g2 a2 bb2 ~ bb2@2 ~@2 c3 d3, ~@15 f3@12 ~@5]/2", // Am D5 G7
  I: "[a2@3 ~@8 f3 ~@3 a3 ~@4 [g2,c3] a2 ~@5 f3 c3 d3 [d3,bb3] c3 a2@2 ~ f3 ~@3 f3 d3@2 ~ f3 ~ d3 ~ a3, f2@7 ~@6 d3@2 ~@8 a3@2 ~ d3@2 ~@2 f3@4 ~@3 a2@2 ~ bb2@6 ~@2, ~@3 a3@6 ~@2 bb3@3 f3@4 ~ [f3,a3]@3 f3@5 bb3@3 ~ a3@3 ~ a3@3 ~@5 bb3@3 f3@2, ~@3 f3@2 a2@2 f3@3 d3@2 [c3,f3]@2 ~@4 [c3,f3]@2 ~@2 c3@2 bb2@7 ~@3 [a2,c3]@2 [g2,c3]@2 [c3,f3]@2 ~@2 [d3,f3]@2 c3@2 ~@2, ~@4 g2@2 [c3,f3]@2 bb2@7 ~ f2@6 ~@10 f2@6 ~@10]/3", // C5 Gm F F5 Am C5 F5 Dm …
  J: "[e3@3 g3 [e3,g3,c4]@2 g3 a3 ~@2 f3!2 ~@2 bb3 ~ a2@2 [c3,f3] c3 g2 ~@3 bb2@2 ~@2 [c3,f3]@2 [d3,bb3] ~ a2@2 [f3,a3] ~ g2 ~@2 a3 d3@2 f3!2 ~@2 bb3 ~ a2@2 [c3,f3,a3] ~@3 c3@2 ~@2 [f3,bb3] f3 c3 d3 ~ a3, c3@7 ~ [bb2,d3]@4 [c3,f3]@2 f3@4 ~ f3@3 f3@2 ~@2 [f3,bb3]@2 ~@2 f3@4 ~ [f3,a3]@2 a2@2 ~ bb2@7 ~ f2@6 a3 ~@4 [bb3,d4]@3 ~@2, ~@11 bb3@2 d3@2 a3@3 ~@3 a2@2 a3@2 ~@2 [bb3,d4]@3 ~ a3@3 ~@2 c3@4 ~@4 [c3,f3]@2 f3@4 ~ [f3,a3]@2 a2@2 ~ bb2@6 ~@2, ~@16 f2@6 ~@10 f2@6 [f3,a3]@2 ~@3 bb3@2 d3@2 a3@3 ~@2 g2@2 f3@4 ~@4 f3@2]/4", // C F5 Gm F Bb5 Bb F5 Bb5 …
  K: "[[c3,e3]@3 [g3,c4] [c3,e3,g3,c4]@2 [e3,g3,c4] a3 d3@2 [d3,f3] ~ c3 ~@3 a2@2 [f3,a3] ~ g2 ~ f3 ~@3 f3!2 c3 ~ bb3 d4 ~@2 [c3,f3,a3] f3 ~@2 a3 ~@3 f3!2 [c3,f3] d3 [d3,bb3] ~ a2@2 [f3,a3] ~ g2 a2 ~@2 d3@2 ~@2 c3 d3 ~ a3, ~@7 f3@3 ~ [f3,bb3]@2 d3@2 ~ f2@8 ~@3 bb3@3 f3@4 ~@2 [g2,c3]@2 f3@4 ~@4 f3@4 ~ [f3,a3]@3 ~@4 [f3,bb3]@2 ~@2 f3@2, ~@8 bb2@6 f3@4 c3@6 d3@4 ~ d3@2 a3@3 ~ a3@2 a2@2 a3@2 ~@2 [bb3,d4]@3 ~ a3@3 ~@5 a3@2 ~@2 d4@5, ~@19 [f3,a3]@2 a2@2 ~ bb2@7 ~ f2@6 c3@2 bb2@7 ~ f2@6 ~@5 bb3@3 ~@2, ~@20 d3@2 ~@3 c3@2 [c3,f3,a3] bb2@3 ~]/4", // C C5 C Dm F F5 Gm F …
  L: "[~@2 g3 [g3,c4] [c3,e3,g3,c4]@2 [e3,g3,c4]@2 d3@2 [d3,f3,bb3] f3 c3 d3 a2 ~@4 f3 ~@4 bb2@2 ~ f3 c3 d3 [d3,bb3] a3 [a2,a3]@2 ~@2 [g2,c3] a2 ~@2 d3@2 ~ f3 ~ d3 [d3,bb3] ~@4 f3 [a2,c3]@2 [g2,c3] ~ d3@2 [d3,f3,bb3] f3 ~ d3 [d3,f3,bb3] ~, [c3,e3]@4 ~@4 bb2@6 c3@4 c3@2 [g2,c3]@2 f3@5 ~@3 f3@4 ~ [f3,a3]@3 ~@4 [d3,f3]@2 [c3,f3]@2 f3@4 ~@10 [c3,f3]@2 ~@2, ~@11 bb3@3 ~@2 f2@6 c3@2 ~@2 d3@2 ~@6 [c3,f3]@2 ~@2 [c3,f3,a3]@2 bb2@7 ~@3 [c3,f3]@2 ~@4 bb2@6 ~@2, ~@19 a3@4 a3@2 ~@2 bb3@3 ~@9 a3@2 ~@2 bb3@3 ~ a3@3 ~ a3@7 ~ bb3@3 ~@2, ~@21 a2@2 ~@5 [bb2,f3]@3 ~ f2@6 ~@10 f2@7 ~@9]/4", // C5 C Bb Gm A C5 Gm Am …
  M: "[c3,g3]@3 [c4,e4] [g3,c4,e4]@3 ~ f4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4] [c4,e4] [g3,c4,e4], ~ c3@3, ~@7 [c4,e4]@2 ~@7", // C5 C Csus4 C
  N: "f4 [c4,f4] [g3,c4,f4] [c4,f4] [c4,f4]@3 [c3,c4,f4]@8 ~, c3@3 ~@5, g3 ~ g3@6", // F5 Csus4 F5
  O: "f2 ~ f2 ~@3 g2 a2 bb2 ~ bb2@2 ~@2 c3 d3",
  P: "[c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] [g2,f3] g2 f2 ~ f2 ~@4 a2 bb2 ~ bb2 ~@3 c3 d3, ~@15 f3@12 ~@5, ~@11 g2 ~@4]/2", // Am D5 G7
  Q: "[c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] [g2,f3] g2 f2 ~ f2 ~@3 g2 a2 bb2 ~ bb2@2 ~@2 c3 ~ c3 ~ c3 ~@3 g2 a2 bb2!4 a2!2 g2!2, ~@15 f3@12 ~@4 d3@2 ~@15]/3", // Am D5 G7
  R: "c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] [g2,f3]@2", // Am D5 G7
  S: "[~@2 [a3,f4] ~ g2 ~@2 a3 [bb2,d3,f3]@2 [f3,bb3,d4] [f3,bb3] c3 ~ [f3,bb3,d4] d4 [a2,c3,f3]@2 [c3,f3,a3,f4] [c3,f3] g2 ~ [f3,a3]@2 [bb2,d3,f3]@2 [bb3,d4] [f3,bb3] c3 d3 ~ d4, [f2,a2,c3,f3]@3 [f3,a3,f4]@2 a2@2 ~@5 [bb2,f3]@3 ~ f2@7 ~@9, ~@4 [f2,c3]@2 [c3,f3,a3,f4]@2 ~@3 d4@2 d3@2 a3@3 ~ [a3,f4]@2 a2@2 ~@5 [bb2,f3]@3 ~, ~@10 c3@2 ~@3 [d3,f3,bb3,d4], ~@20 f3@2 f4 ~@4 d4@3 ~@2]/2", // Dm Bb Bb5 Bb F F5 F Bb …
  T: "~@2 a3 [c3,f3,a3] ~ a3 [f3,a3,f4]@2 bb3@2 bb3 [d3,f3] ~ d3 ~ a3, f2@7 ~@9, [a2,f3]@3 f4@3 ~@10, ~@2 [a2,c3]@2 [bb2,d3,f3,d4]@2 [bb2,c3,f3] ~, ~@4 f3@2 ~@5 [bb3,d4]@3 [f3,bb3,d4]@2", // F Dm Am Bb Bbsus2 Bb
  U: "[[e3,g3]@3 [g3,c4] [e3,g3,c4,e4]@2 [g3,c4,e4] [f3,a3,d4] f3@2 [f3,bb3,d4] [d3,f3] c3 d3 [d3,f3,bb3] ~ [c3,f3]@2 [c3,a3] c3 ~ a2 [a2,c3,f3,a3,f4]@2 [bb2,d3,f3]@2 [f3,bb3,d4] [d3,f3] c3 d3 ~@2 [a2,f3]@2 [f3,a3,f4] [c3,f3] ~ a2 [a2,c3,f3,a3]@2 d3@2 [f3,bb3] [d3,f3] ~ d3 [d3,f3,bb3] ~ [a2,c3,f3]@3 f3 [g2,c3] ~ [c3,f3,a3]@2 ~@2 [bb3,d4] f3 ~ d3 [d3,f3] ~, c3@7 ~ [bb2,d3]@3 [bb3,d4]@3 ~ a3@3 ~ [f3,a3,f4]@3 ~@5 [bb3,d4]@3 [d3,f3,bb3,d4]@2 ~@4 [g2,c3,f3]@2 ~@2 bb2@7 ~ f2@7 ~@4 d4@5, ~@12 bb2@3 ~ f2@7 ~ d2@8 f2@7 ~@5 [c3,f3]@2 ~@7 a2@2 ~ bb2@6 ~@2, ~@20 [g2,c3]@2 ~@6 [bb2,f3]@3 a3@3 ~ [a3,f4]@4 ~@4 [bb3,d4]@3 ~ a3@3 ~ [a3,f4]@4 ~ [d3,f3]@3 bb3@3 ~@2, ~@30 [c3,f3] ~]/4", // Em C5 C Dm Bb Dm Bb F5 …
  V: "c4@2 [c4,e4] [e3,g3,c4,e4] [c3,e3,g3,c4,e4]@2 [e3,g3,c4,e4] [a3,d4] ~ bb3 [bb2,d3,f3,bb3] [d3,bb3,d4] [bb3,d4] ~ [f3,bb3,d4] [a3,d4], [c3,e3,g3]@4 ~@4 [bb2,f3,bb3]@2 ~ [bb2,f3]@4 ~, ~@13 [d3,d4]@2 ~", // C D5 Bb Gm Bb D5 C Bb5 …
  W: "[a2,c3,f3,a3]@2 ~ f3 ~ a2 [f2,a2,c3,f3,a3,f4] [a3,d4] [bb2,d3,f3,bb3]@3 f3 c3 d3 [d3,f3,bb3,d4] a3, [f2,f4]@3 [a3,f4]@3 ~@5 [bb3,d4]@3 ~@2, ~@2 [a2,c3,f3,a3]@2 [f2,g2,c3,f3]@2 ~@6 [bb2,f3]@3 ~", // F D5 Bb F Dm Bb F Fsus2 …
  X: "[[a2,c3,f3,a3]@2 [a2,c3,f3,a3] [c3,f3] ~ a2 ~ d4 [bb2,d3,f3,bb3]@2 [d3,f3,bb3,d4] [d3,f3,bb3] ~ d3 [bb2,d3,f3,bb3,d4] d4 [a2,c3,f3]@2 [a2,c3,f3,a3] [c3,f3] g2 ~ [a2,f3,a3]@2 [bb2,d3,f3,bb3]@2 [d3,f3,bb3,d4] [f3,bb3] ~ d3 [bb2,d3,f3,bb3,d4] [a3,d4], f2@6 [f2,a2,c3,f3,a3]@2 ~@8 f2@7 ~@9, ~@3 [a3,f4]@4 ~@4 d4@3 ~ a3@3 ~ [a3,f4]@3 ~@5 d4@3 ~@2, ~@2 [g2,c3,f3] ~@3 [bb2,c3,f3,bb3] ~@3 c3@2 ~@2 [c3,f3,bb3] ~]/2", // F F5 Bb F F5 Dm Bb Bb5 …
  Y: "[[c3,e3,g3,c4]@2 [e3,g3,c4,e4] [g3,c4,e4] [c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4] [f3,a3,d4] [bb2,d3,f3,bb3]@2 [d3,f3,bb3] [bb2,d4] d4 [f3,bb3,d4] [d3,bb3] ~ [c3,a3]@2 a3 [c3,f3] ~@2 [c3,f3,a3,f4]@2 bb3@2 [bb3,d4] [d3,f3] c3 d3 [d3,f3,bb3,d4] a3, ~@11 [d3,f3,bb3]@3 f3@5 [a3,f4]@2 a2@2 ~ [bb2,d3,f3]@4 [bb2,f3]@3 ~, ~@14 d4@2 f2@7 ~@9, ~@16 [a2,f4]@4 [g2,c3,f3]@2 ~@5 [bb3,d4]@3 ~@2]/2", // C Dm Bb Gm F F5 F Bb …
  Z: "[[a2,c3,f3,a3]@2 a3 [c3,f3] ~ a2 [a2,c3,f3,a3]@2 f3@2 [f3,bb3,d4] [f3,bb3] c3 d3 ~@2 [a2,c3,f3]@2 a3 c3 ~@2 [c3,f3,a3]@2 f3@2 [f3,bb3,d4]!2 ~ d4 [d3,f3,bb3,d4]@2, f2@7 ~@7 [d3,f3,bb3,d4]@2 ~@3 [f3,a3,f4]@2 a2@2 ~ [bb2,d3]@4 [bb2,d3,f3,bb3]@2 ~@2, ~@3 [a3,f4]@4 ~@4 d4@3 ~ a3@3 ~@2 [g2,c3]@2 ~@10, ~@4 [g2,c3,f3]@2 ~@2 [bb2,d3]@4 [bb2,f3,bb3]@3 ~ f2@7 ~@9]/2", // F F5 F Bb Bb5 F Bb F …
  AA: "[g3,c4]@2 [g3,c4] [c4,e4] [e3,g3,c4,e4]@2 [e3,g3,c4,e4] [a3,d4] [d3,bb3]@2 [d3,f3,bb3,d4]!2 [f3,bb3,d4] [f3,bb3] [c3,bb3] ~, c3@7 ~ bb2@4 bb2@4, e3@2 ~@4 d3 ~, ~@13 d4@3", // C5 C D5 Gm Bb Bb5 C7
  AB: "[[a2,c3]@3 ~@2 a2 [c3,a3]@2 d3@2 [bb3,d4] f3 ~@2 bb3 ~ [a2,c3]@3 ~@3 [c3,a3]@2 bb3@2 [f3,bb3] f3 c3 d3!2 ~@3 a3 ~@2 a2 [c3,f3,a3]@2 ~@2 d4 f3 ~ d3 [d3,f3,bb3] a3, f2@6 ~@6 [c3,f3]@2 f3@5 [f3,a3,f4]@2 a2@2 ~ [bb2,d3]@4 [bb2,f3]@3 ~ f2@6 ~@5 d4@5, ~@3 [f3,a3,f4]@3 f3@5 [bb3,d4]@2 d3@2 a3@4 ~ [g2,c3]@2 f3@4 ~ [bb3,d4]@4 ~ [a2,c3]@4 [g2,c3]@2 ~@2 bb2@7 ~, ~@4 g2@2 ~@2 bb2@7 ~ f2@7 ~@7 [f3,a3]@5 [f3,a3,f4]@3 ~@2 [d3,f3]@3 bb3@3 ~@2, ~@22 [c3,f3] ~]/3", // Am F Bb Am F Bb5 F Bb …
  AC: "[c3,g3,c4]@4 [c4,e4]@3 [c4,e4] d4 [f3,bb3]@2 ~ [bb3,d4] [d3,f3,bb3,d4] [d3,f3,bb3,d4]@2, ~@4 [c3,g3]@5 ~@2 [d3,f3,bb3,d4]@2 ~@3", // C5 C Bb5 Bb C5 Bb
  AD: "[~@2 a3 ~@2 a2 [c3,f3]@2 [bb2,d3,f3]@3 f3 ~ d3 ~@2 [a2,c3]@2 [f3,a3] c3 ~@2 c3@2 ~@2 [bb3,d4] f3 ~ d3!2 ~@3 [a3,f4] ~@2 a2 [c3,f3,a3]@2 [d3,f3]@2 bb3 f3 ~ d3 f3@2, f2@3 ~@5 f2@3 ~@5 f2@3 ~@3 [c3,f3] ~, [a2,c3,f3]@3 [a3,f4]@5 ~@3 d4@5 ~@5 a2@2 ~ bb2@7 ~ [a2,c3]@4 [g2,c3]@2 ~@5 bb3@3 ~@2, ~@3 f3@3 ~@5 bb3@3 f3@4 ~ [f3,a3,f4]@3 f3@5 [bb3,d4]@3 [f3,a3]@4 ~ [f3,a3,f4]@3 ~@5 d4@5, ~@2 [g2,c3] ~@3 [bb2,c3,f3] ~@3 [g2,c3] ~ d3@2 [c3,f3] ~@5 bb2@3 ~]/3", // F5 Bb Am F Bb Dm F Dm …
  AE: "[[c3,g3,c4,e4]@3 e4 e4@3 e4 ~ [g3,c4,f4]@2 [c4,f4]@2 [c4,f4]!2 [g3,c4,e4] [g3,c4,e4] [c4,e4] [g3,c4,f4]@2 [c4,f4]@3 [c4,f4]@2 [c4,f4] [c4,f4]@2 [c4,f4]!2 ~ f4, ~@2 c3@11 [c3,g3]@2 [c3,g3,c4,f4], ~@4 [g3,c4]@5 ~@2 g3@4 ~@5 g3@6 ~@6]/2", // C Csus4 F5 C Csus4 F5 C5 Csus4 …
  AF: "[c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] g2!2 f2 ~ f2@2 ~@2 g2 a2 bb2 ~ bb2 ~@3 c3 d3, ~@7 f3@6 ~@3]/2", // Am D5
  AG: "[c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] g2!2 f2 ~ f2 ~@3 g2 a2 bb2 ~ bb2@2 ~@2 c3 ~ c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] g2!2 f2 ~ f2 ~@3 g2 a2 bb2 ~ bb2 ~@3 c3 d3, ~@14 f3@12 ~@5 d3@2 ~@13 f3@12 ~@6]/4", // Am D5 Am D5
  AH: "[c3 ~ c3 ~@3 g2 a2 bb2!4 [a2,c3] [a2,d3] g2!2 ~@16, ~@7 f3@5 ~@4]/2", // Am D5
})).s("gm_acoustic_guitar_steel").gain(0.29).pan(0.9)

// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@17 A B C ~ D E F G H@2 I J K L@2 M ~@17 N O P J Q R S T U V W X Y Z AA AB AC AD@2 AE@3 AF ~ AG ~@17
>`.pickRestart({
  A: "~@2 [c3,f3]@2 c3@2 ~@2 d3 ~@7", B: "a2@3 ~@3 a3 ~ d3@2 ~@6", C: "~ f3 ~@4 f3 ~", D: "~@8 f3@3 ~@2 d3 ~@2",
  E: "~@14 d4 ~", F: "~@4 c3@2 ~@2 d3@3 ~@3 c3@2, ~@7 a3@2 ~@7", G: "~@2 g3 ~@7 bb3 ~@4 c3",
  H: "[~@10 bb3 ~@4 c3@2 a2@3 ~@5 bb3@2 ~@4 c3]/2", I: "~@9 bb3 ~@6", J: "~@2 c4 ~@13",
  K: "~@2 f3@2 ~@10 d4 c3, f4@7 ~@9", L: "[f4@3 ~@5 a2@2 ~@6, ~@15 c3@3 ~@14]/2", M: "c4@2 e4 g3 ~@12",
  N: "a3@2 ~@9 bb2 ~@4", O: "f4@2 ~@7 bb3 ~ d3 ~@3 c3", P: "[c3,a3,f4]@3 ~@13", Q: "~@2 a2 ~@5 bb3@2 d3 bb2 ~@4",
  R: "[c3,f4]@3 ~@5 bb3@2 ~@6", S: "~@4 f3 ~@4 bb3 ~@4 a3 ~", T: "~@10 d4 ~ d3 ~@3", U: "~@10 d4 ~@5",
  V: "f4@3 ~@5 e2 ~@2 bb2 ~@3 c3", W: "f4@3 ~@3 f4@2 ~ e2@2 f2 bb2@2 ~@2", X: "~@2 gb2 ~@7 d4 ~ bb2@3 a3",
  Y: "~@2 c3 ~@13", Z: "f4@3 ~@5 bb3@2 ~@5 c3", AA: "f4@3 ~@13", AB: "~@2 e4 ~@12 c3", AC: "f3@3 ~ c3@2 ~@8 d4 c3",
  AD: "[f4@3 ~@7 d4 ~@4 f4@3 f4 ~@5 bb3@3 ~@5]/2",
  AE: "[~@3 e4 ~@4 [f3,a3] [d3,d4]@2 ~@2 bb2 ~@2 f4@2 f4 ~@13 f4@2 f4 ~@11 d4 ~, ~@15 a3@3 ~@12 a3@4 ~@14]/3", // F D
  AF: "~@2 f3 ~@7 d4 ~@3 a3@2", AG: "~@3 f4 ~@12",
})).s("gm_acoustic_guitar_steel").gain(0.14).pan(0.9)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~ A B C B C D E B E F E G E G E G H I J K L M N O P Q R S T U V W X A Y Z AA E Y E Y E Y E Y E Y E Y AB AC AD AE AF AG
  AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ E Y E Y E Y E Y E Y E Y E Y E Y ~
>`.pickRestart({
  A: "f1 ~ f1 ~@5 bb1 ~ bb1 ~@5", B: "c2 ~ c2 ~@3 g1 a1 bb1!4 a1!2 g1 c2", C: "f1 ~ f1 ~@3 g1 a1 bb1 ~ bb1 ~@3 bb1 b1",
  D: "c2 ~ c2@2 ~@2 g1 a1 bb1!4 a1!2 g1!2", E: "f1 ~ f1 ~@3 g1 a1 bb1 ~ bb1 ~@3 c2 d2",
  F: "c2 ~ c2 ~@3 g1 a1 bb1!4 a1!2 c2 g1", G: "c2 ~ c2 ~@3 g1 a1 bb1!4 a1!2 c2 e1",
  H: "f1 ~ f1@2 ~@2 g1 a1 bb1 ~ bb1 ~ c2 d2 f2 c2", I: "f2@3 a1 c2 d2 f2 a1 bb1@2 ~ a1 bb1 d2 f2 ~",
  J: "f2 ~ f2 a1 c2 d2 f2 ~ bb1 ~ bb1!2 c2 d2 f2 bb1", K: "c2@3 c2!3 g1 a1 bb1@2 ~ bb1!3 c2!2",
  L: "f1@2 ~ a1 c2 d2 f2 a1 bb1 ~@3 f2 d2 c2 bb1", M: "f1@2 ~@5 a1 bb1@2 ~ f2 ~ d2 c2 a1",
  N: "f1@2 ~ a1 c2 d2 f2 ~@7 bb1 b1", O: "c2@2 c2!2 c2@2 g1 a1 bb1@2 bb1!2 c2 d2 f2 e1",
  P: "f1@2 ~ f1 c2 d2 c2@2 bb1 ~@2 bb1 c2 d2 c2@2", Q: "f1@2 ~ f1 c2 d2 c2@2 bb1 ~ bb1 ~@2 d2 f2 d2",
  R: "f1@2 ~@5 a1 bb1@2 bb1@2 bb1 bb1@2 bb1", S: "c2@2 c2!2 c2@2 c2@2 bb1!5 d2 f2 ~",
  T: "f1 ~ f1 ~ c2 d2 c2 a1 bb1 ~ bb1 ~ c2 d2 f2 ~", U: "f2@3 ~@3 c2 f2 bb1@2 bb1@2 ~@2 c2 e1",
  V: "f1@2 ~@2 c2 d2 f2 a1 bb1@2 ~@5 bb1", W: "c2@2 c2!2 c2@2 c2!2 c2@2 c2@4 c2!2",
  X: "c4@2 c4!2 c4@2 c4!4 c4@2 f2 d2 c2@2", Y: "c2 ~ c2 ~@3 g1 a1 bb1!4 a1!2 g1!2",
  Z: "f1 ~ f1 ~@3 g1 a1 bb1 ~ bb1 ~@3 d2@2", AA: "c2 ~ c2 ~@3 g1 a1 bb1!4 a1!2 c2@2",
  AB: "f1 ~ f1 ~@3 g1 a1 bb1 ~ bb1 ~@3 f2 c2", AC: "f1 ~ f1 ~ c2 d2 f2 c2 bb1 ~ bb1 ~ f2 d2 c2 bb1",
  AD: "f1 ~ f1 ~ f2 g2 f2@2 bb1 ~ bb1 ~ c2 d2 f2 bb1", AE: "c2 ~ c2 ~ c2 ~ c2@2 bb1 ~ bb1 ~ f2 g2 f2@2",
  AF: "f2 ~ f2@2 g2 a2 g2@2 bb1@2 bb1@2 c2 d2 f2 c2", AG: "f1 ~ f1@2 c2 d2 f2 a1 bb1 ~@2 bb1 ~@2 c2 a1",
  AH: "f1 ~ f1 ~@3 c2 a1 bb1@4 bb1@3 bb1", AI: "c2 ~ c2!3 ~ g1 a1 bb1 ~ bb1!3 ~ a1 g1",
  AJ: "f1 ~ f1 ~@3 f2 c2 bb1 ~ bb1 ~@3 c2 a1", AK: "f1 ~ f1 ~ c2 d2 f2 a1 bb1 ~ bb1 ~ c2 d2 f2 c2",
  AL: "f2 ~ f2 ~ c2 d2 f2 a1 bb1 ~ bb1 ~ c2 d2 f2 bb1", AM: "c2 ~ c2 ~ g1 bb1 c2 a1 bb1 ~ bb1 ~ bb1!2 c2!2",
  AN: "f1@2 f1@2 ~ c2 f2 c2 bb1@2 bb1@2 c2 d2 f2@2", AO: "f2@2 f2!2 c2@2 ~ c2 bb1 ~ bb1 ~ c2 d2 f2!2",
  AP: "f2@2 ~ c2 f2@2 ~ a1 bb1@2 ~@2 c2 d2 f2@2", AQ: "c2@2 ~ c2!3 g1 a1 bb1@2 bb1!4 c2!2",
  AR: "f1 ~ f1 ~ c2 d2 f2 ~ bb1@3 ~ c2 d2 f2 c2", AS: "f2@6 ~ a1 bb1@5 ~ c2@2",
  AT: "f1@3 a1 c2 ~ f2 ~ bb1@3 a1 bb1 c2 f2 bb1", AU: "c2@3 c2 ~ c2 g1 a1 bb1@3 bb1 a1@2 g1@2",
  AV: "f1@4 c2 d2 f2@2 bb1 ~ bb1 ~ c2 d2 f2@2", AW: "f2!2 f2@2 c2 d2 f2 c2 bb1!4 a1!2 g1!2",
  AX: "f1 ~ f1 ~ c2 d2 f2 c2 bb1 ~@3 bb1 c2!2 d2", AY: "c2 ~ c2!3 ~ c2!3 ~ c2!3 ~ c2!2",
  AZ: "c4@2 c4!2 c4@2 c4!2 c4@2 c4 ~ bb2 ~ c2@2",
})).s("gm_fretless_bass").gain(0.44)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_3 = note(`<
  ~ A ~@15 B C@2 D E F G H I@2 J K L@2 M N O ~@15 P@2 Q@2 R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL@2 AM
  ~@16
>`.pickRestart({
  A: "f2 f2@3 bb2@4", B: "~@3 f3@2 ~ c3 ~ [bb2,f3]@2 ~ f3@2 f3 [bb2,f3] ~, f2, c3@5 f3@2 ~@3 bb2@4 ~@2, ~@11 bb3@4 ~",
  C: "[[f2,f3]@2 ~ f3@2 f3 [c3,f3] ~ bb2@2 bb2 [bb2,f3]@2 ~ [bb2,f3] ~ f3@2 ~@3 a3@2 ~ [bb2,f3]@2 bb2 [bb2,f3,bb3]@2 bb3 ~@2, c3@3 ~@5 c3@3 ~@5, ~ f2@8 f2@4 ~@3, ~@3 a3@4 ~@6 bb3@2 ~@4 f3@4 ~@9]/2", // F F5 Bb5
  D: "[c3,g3]@3 [c3,g3]@2 ~ [c3,g3] ~ [bb2,f3]@2 ~@4 bb2 c3, ~@5 c4@2 ~@3 [bb2,bb3]@3 bb3@2 ~, ~@11 f3@4 ~", // C5 Bb5 Bb
  E: "~@6 c3@2 bb2@2 ~@4 bb2 ~, f2@3 f2@5, [c3,f3] c3@2 ~@2 bb2@2 ~, ~ [a3,c4]@2 f4@8 bb3@4 ~, ~@3 [f3,a3,c4]@5 f3@5 f3@2 ~", // F5 Am F
  F: "~@2 f3 f3@2 ~ c3 ~ bb2@2 ~@4 bb2 ~, f2@5 f3@2 ~@3 [bb2,f3]@3 f3@2 ~, ~@3 f2@5, ~@11 bb3@4 ~", // Bb5
  G: "c3@2 ~@4 c3 ~@4 bb3@3 [bb2,f3] ~, f2@4 [bb2,f3]@3 ~, ~@2 [c3,f3]@3 f3@2 ~@9, ~@3 a3@4 ~@9", // Bb5 F5
  H: "c3@5 ~ c3 ~@6 f3 [bb2,f3] ~, g3@3 ~@2 c4@2 ~ bb2@5 ~@3, ~@9 f3@4 ~@3, ~@11 bb3@4 ~", // Bb5
  I: "[~@2 c4 c4@2 a3 [c3,f3,a3] c4 ~ d4 [f3,bb3,d4] [f3,bb3,d4]@2 ~ [bb2,f3,bb3] ~ [f3,a3]@2 ~@3 a3@2 ~ [bb2,f3]@2 ~@3 f3 [bb2,f3] ~, [f2,f3]@7 ~@12 f3@4 ~@9, c3@5 ~@3 [bb2,f3]@2 bb2@4 ~@2 c3 ~ c3@5 ~@3 [bb2,f3]@4 ~@2, ~ a3@4 ~@8 d4@2 c4@9 ~@3 bb3@4 ~, ~@3 f4@8 f4@5 ~@16]/2", // F Bb Bb5 F Bb5 F Bb5
  J: "~@3 a3@3 [c3,f3]@2 ~@5 f3@2 ~, f2@8 f3@5 ~@3, [c3,f3]@5 ~@3 bb2@7 ~, ~@11 bb3@4 ~", // F5
  K: "g3@2 ~@3 g3 [c3,g3] ~ [bb2,f3]@2 ~ bb3@2 f3 ~@2, c3@3 ~@2 [bb2,f3]@2 ~, ~@2 g3@3 ~@11, ~@3 [c4,e4]@4 ~@9", // C5 Bb5 C
  L: "[[f3,a3,c4,f4]@2 [c4,f4] [f3,a3,c4,f4]@2 [f3,c4,f4] [f3,a3,c4] c4 [f3,bb3,d4]@2 bb3 [bb3,d4,f4]@2 [f3,bb3,d4,f4] [bb3,d4,f4] ~ a3@2 [c4,f4] [c4,f4]@2 [a3,c4,f4]!2 f4 [bb3,f4]@2 [bb3,d4,f4] [bb3,d4,f4]@2 [bb3,d4,f4] [f3,bb3,d4,f4] f4, c3@7 f4@4 ~@4 [c4,f4]@3 a3@3 ~@11, ~@8 bb2@7 ~ [c3,f3]@7 ~ [bb2,f3]@7 ~]/2", // F F5 F F5 F Bb F5 F …
  M: "[a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 [c4,f4] [f3,a3,c4,f4] [c4,f4] [d4,f4]@2 [d4,f4] [d4,f4]@2 [bb3,d4,f4] ~@2, f2@15 ~, [c3,f3]@7 ~ [bb2,f3,bb3]@6 ~@2", // F F5 F F5 Dm Bb F5 Bb5
  N: "[e4,g4] f4@2 [c4,f4] [c4,f4,g4]@3 [c4,f4,g4]@2 f4 [c4,f4]@3 [c4,f4]@2 [c4,f4], c3, [g3,c4]@2 g3@3 [g3,g4]@3", // Em F5 Csus4 F5 C5 G
  O: "[g3,c4,f4,g4]@3 [c4,f4,g4] [g3,c4,f4,g4]@3 [g3,c4,f4,g4]@2 f4 [c3,g3,c4,f4,g4]@6, c3@5 ~@3", // Csus4
  P: "[~@15 [c3,a3,c4,f4]@3 [c3,a3,c4,f4]@2 [f3,a3,c4,f4] [a3,c4,f4] [c3,f3,a3,c4,f4] [c4,f4] [bb2,bb3,d4]@2 ~ [d4,f4] [bb3,d4] bb3@2 [c4,f4], ~@15 f2@16 ~, ~@15 f3@5 ~@4 [f3,f4]@4 [bb2,f3,f4]@3 ~, ~@13 bb3 ~@2]/2", // F F5 Bb Dm Bb F5 F Bb5
  Q: "[[f3,a3,c4,f4]@2 ~ [c4,f4] [f3,a3,c4,f4] ~ c4 [c4,f4] [f3,d4,f4]@3 [bb3,d4,f4]!2 [bb3,d4,f4]@2 ~ [c3,a3,c4,f4]@3 [c4,f4] ~ f4 [a3,c4,f4] f4 [bb2,f3,bb3,d4,f4]@3 [d4,f4] [bb2,f3,bb3,d4,f4]@2 [bb2,f3,bb3,d4] ~, f2@31 ~, c3@4 c3@3 ~ [bb2,bb3]@2 ~@2 [bb2,f3]@3 ~@4 a3@3 ~@10, ~@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@2 ~@9 f3@7 ~@9, ~@10 [c4,f4] ~@5]/2", // F F5 F F5 Dm Bb F F5 …
  R: "[c3,g3,c4,e4]@3 [e4,g4] [c3,g3,c4,e4,g4]@3 d4 [bb2,d4]@2 d4 [d4,f4]!2 [bb3,d4,f4] [bb2,f3,bb3,d4,f4] ~, g2 ~@3 [f3,bb3]@3 ~", // C Em C Bb Dm Bb Bb5
  S: "[c3,a3,c4,f4]@2 [a3,c4,f4]!3 [f3,a3,c4,f4]@2 c4 [bb3,d4]@2 [bb3,d4,f4]!2 [d4,f4]!2 [bb2,bb3,d4,f4] [c4,f4], f3@5 ~@2 f4@3 ~@6, ~ f2, ~@8 [bb2,f3]@4 [bb2,f3]@3 ~", // F Bb Dm Bb F5 Bb5
  T: "[c3,f3,a3,c4,f4]@3 [a3,c4,f4] [c3,f3,a3,c4,f4]@2 c4!2 d4@2 f4 [d4,f4] [bb3,d4,f4] ~ [bb3,d4] [c4,f4], f2@7 f4@3 ~@6, ~@8 [f2,bb2]@7 ~, ~@8 [f3,bb3]@5 [f3,bb3,d4,f4]@2 ~", // F Dm Bb F5 Bb5 Bb
  U: "[c3,f3,a3,c4,f4]@3 [a3,c4,f4] [c3,f3,a3,c4,f4]@2 [a3,c4,f4] [c4,f4] f4@2 f4 [d4,f4] [bb2,f3,bb3,d4,f4]@2 [bb3,d4] ~, ~@2 [bb2,f3,bb3,d4] ~", // F F5 Dm Bb
  V: "g4@2 g4 [e4,g4] ~ g2 [c4,e4,g4] ~ [bb3,d4,f4] [d4,f4]@2 [bb3,d4,f4] [f3,bb3,d4,f4] ~ [d4,f4] ~, [c3,g3,c4,e4]@4 [c3,g3,c4,e4,g4]@2 ~@2 f3@4 ~ [f3,bb3,d4,f4]@2 ~", // Em C Bb Dm Bb Dm C Bb
  W: "[f3,c4,f4]@3 [a3,c4,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4] [c4,f4] [bb2,f3,bb3,d4,f4]@3 [bb3,d4,f4] f4!2 [bb3,f4] [c4,f4], a3@2 ~@10 [bb2,f3,bb3,d4]@3 ~", // F5 F F5 Bb Bb5 F5 Bb
  X: "[c3,a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [c3,f3,a3,c4,f4] f4 [f3,bb3,d4]@3 [bb3,d4,f4] [bb3,f4] f4 [bb3,d4,f4] ~, [f2,f3]@7 ~ [bb2,f4]@2 ~@2 [bb2,f3,d4]@3 ~", // F Bb Bb5 Bb F Bb5 Bb
  Y: "[f3,a3,c4]@2 [a3,c4] [a3,c4,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4] ~ [bb3,d4]@2 d4 [bb3,d4,f4] ~ [d4,f4] [f3,bb3,d4] ~, f2@7 ~ [f3,f4]@4 [f3,bb3,d4,f4]@2 ~@2, [c3,f4]@2 ~@2 bb2@3 ~", // F Am F Bb Dm Bb F Bb …
  Z: "[c3,g3,c4,e4,g4]@3 [e4,g4] [c4,e4,g4]@2 [c4,e4,g4]!2 f4 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4] [bb2,bb3,d4] ~, ~@4 [c3,g3]@4 ~ [bb2,f3]@4 ~@3", // C Em C Bb C5 Bb5
  AA: "[c3,f3,a3,c4,f4]@3 [a3,c4,f4] [c4,f4]!2 [f3,a3,c4,f4] c4 bb3@2 bb3 ~ f3 [f3,bb3,d4,f4] [f3,d4,f4] [c4,f4], f2!2, ~@4 [c3,f3,a3]@3 f4@4 [bb3,d4,f4]@2 ~@3, ~@8 [bb2,f3,d4]@4 bb2@3 ~", // F F5 F Bb Dm F5 F Bb
  AB: "[f3,a3,c4,f4]@3 [a3,c4,f4] [f3,a3,c4,f4]@2 [c4,f4] ~ [bb3,d4] [bb3,d4,f4] [d4,f4] [bb3,d4,f4] [d4,f4]!2 [f3,bb3,d4,f4] [c4,f4], [f2,c3]@7 [c4,f4]@2 ~@7, ~@8 [bb2,f3]@4 [bb2,f3,bb3]@3 ~", // F F5 Bb Dm Bb Dm Bb F5 …
  AC: "[f3,a3,c4,f4]@3 [a3,c4,f4] [f3,a3,c4,f4]@2 [f3,a3,c4,f4] [c4,f4] d4@2 [d4,f4] [bb3,d4,f4] [f3,bb3,d4,f4]@2 [f3,bb3,d4,f4] ~, c3@7 ~ bb2@6 ~@2, ~@2 [f3,bb3] ~", // F F5 Dm Bb Bb5
  AD: "[e4,g4]@2 [e4,g4] [c4,e4,g4] [c3,g3,c4,e4,g4]@2 [c3,c4,e4,g4] ~@2 [bb3,d4,f4] [f3,bb3,d4,f4] [bb3,d4,f4] ~ [d4,f4] [bb2,f3,bb3,d4,f4] ~, [c3,g3,c4]@2 ~@4 [bb2,f3,bb3,d4,f4] ~", // Em C Bb Dm Bb C5 Bb
  AE: "[f3,c4,f4]@3 [a3,c4,f4] [f3,a3,c4,f4]@2 [a3,c4,f4] [c4,f4] [bb2,f3,f4]@3 [d4,f4] [bb2,f3,bb3,d4,f4]@2 [d4,f4] [c4,f4], f2 ~, c3@3 ~@5, a3 ~@3 [bb3,d4] ~@3", // F5 F F5 Bb5 Dm Bb Dm F5 …
  AF: "[c3,f3,a3,c4,f4]@3 [c4,f4] [a3,c4,f4] [c4,f4] [a3,c4,f4] [c4,f4] [bb3,f4] f4@2 [f3,bb3,d4,f4] f4!2 [f3,bb3,f4] ~, f2!2, ~@4 [c3,f3]@3 ~ [bb2,f3,d4]@4 [bb2,f3,bb3,d4]@3 ~", // F F5 F F5 F F5 Bb5 Bb …
  AG: "a3@2 ~ [c4,f4] [c3,f3,a3,c4,f4]@2 [c4,f4]!2 [f3,d4,f4]@2 [f3,d4,f4] [d4,f4] [bb2,f3,bb3,d4,f4]@2 [f3,bb3,f4] ~, f2@8 f2@7 ~, [c3,f3,c4,f4] ~ [bb2,bb3] ~, ~ a3 ~@6", // F5 F F5 Dm Bb Bb5 F5 Bb
  AH: "[c3,g3,c4,e4,g4]@3 [c4,e4,g4] [c4,e4,g4]@2 [c4,e4,g4] [e4,g4] [c4,g4] bb3 ~ [d4,f4] [bb2,f3,bb3,d4,f4] [bb3,d4,f4] [bb2,f3,bb3,d4] ~, ~@2 [c3,g3]@2 ~ [bb2,f3,bb3,d4] ~@2", // C Em C5 Dm Bb C5 Bb
  AI: "a3@2 ~ [c4,f4] ~ f4 [f3,a3,c4,f4] [c4,f4] [bb3,d4]@2 ~ [d4,f4] f4!2 [bb3,d4,f4] [c4,f4], [f2,c3]@8 [bb2,f3,f4]@4 [bb2,f3,bb3,d4]@3 ~, [f3,c4,f4]@2 [f3,a3,c4,f4] ~@5, ~ a3 ~@3 [bb3,d4] ~@2", // F5 F F5 Bb Dm Bb F5 Bb5 …
  AJ: "[f3,a3,c4,f4]@3 [c4,f4] [f3,a3,c4,f4]@2 [a3,c4,f4] [c4,f4] f4!2 [d4,f4] [bb3,d4,f4] [d4,f4]!2 [f3,bb3,d4,f4] [c4,f4], c3@7 ~ [bb2,f3]@4 [bb2,f3,bb3]@3 ~, ~@4 [bb3,d4] ~@3", // F F5 F F5 Dm Bb Dm Bb …
  AK: "[a3,c4]@2 [a3,c4] [f3,a3,c4,f4] [c3,f3,a3,c4,f4]@2 [a3,c4,f4] [c4,f4] [d4,f4]@2 ~ f4 [bb2,f3,bb3,d4,f4]@2 [f3,bb3] ~, f2@4 ~ [d4,f4] ~@2, [c3,f3,f4] ~ [bb2,f3,bb3] ~", // Am F F5 Dm Bb Bb5 Dm F5 …
  AL: "[e4 f4 [f4,g4]!2 [c3,g3,c4,f4,g4]@2 [c4,f4] [c3,c4,f4]@2 [c3,c4,f4,g4]@2 g4!2 [c4,f4,g4] [f4,g4] [c4,f4,g4] [c4,f4,g4]@2 [f4,g4] [c4,f4,g4] [f4,g4] [c4,f4,g4] [c3,g3,c4,f4,g4] [c3,c4,f4,g4]@2 bb3 c4 eb4 bb3 ab3 f3 eb3, [c3,g3,c4]@4 ~@3 g3@4 g3@7 g3@4 ~@10, g4@2 ~@9 c3@5 c3@6 ~@10, ~@11 [c4,f4]@2 ~@19]/2", // Fsus2 Csus4 F5 Csus4 Fsus2 Csus4 Fsus2 Csus4 …
  AM: "f2 ~@15",
})).s("gm_acoustic_guitar_steel").gain(0.25).pan(0.2)

// other · harmonica
const harmonica = note(`<
  ~@16 A B C D@2 E F G@2 H C I@2 B J K@4 ~@14 A H C L@2 M N O@2 B C I@2 M N P@2 ~@7 Q@2 ~@17
>`.pickRestart({
  A: "~@13 a3!3", B: "c4 c4@3 ~@2 c4!2 d4 d4@2 ~@3 f4!2", C: "f4 g4@3 ~ c4!3 d4 d4@3 ~@4",
  D: "[~@3 a3 c4@2 c4 d4@3 c4 c4@2 c4@2 c4@8 [c4,d4] bb3@5 ~ a3!2]/2", E: "c4 c4@2 ~@3 c4!2 d4 d4@3 ~@2 f4!2",
  F: "f4@3 f4@3 eb4@3 d4@6 ~", G: "[~@3 c4!2 c4@2 d4@2 c4@2 c4@2 c4@2 c4@8 [c4,d4] bb3@5 bb3!3]/2",
  H: "c4 c4@2 ~@3 c4!2 d4 d4@2 ~@3 f4!2", I: "[~@3 c4 c4@2 c4 d4@2 c4@2 c4@2 c4@2 c4@8 [c4,d4] bb3@5 ~ a3!2]/2",
  J: "f4@3 g4@3 eb4@3 d4@5 ~@2",
  K: "[~@3 c4 c4@2 c4 d4@3 c4 c4@2 c4@2 c4@10 a4@2 g4@2 f4 d4 c4@9 ~ c5@2 bb4@2 a4 g4 f4@8 ~@9]/4",
  L: "[~@4 c4@2 c4 d4@3 c4 c4@2 c4@2 c4@8 [c4,d4] bb3@5 ~ a3!2]/2", M: "c4 c4@3 ~@2 c4!2 d4 d4@3 ~@2 f4!2",
  N: "f4@3 f4@3 eb4@3 d4@5 ~@2", O: "[~@3 c4!2 c4@2 d4@2 c4@2 c4@2 c4@2 c4@8 [c4,d4] bb3@5 ~ a3!2]/2",
  P: "[~@3 c4 c4@2 c4 d4@3 c4 c4@2 c4@2 c4@8 [c4,d4] bb3@6 ~@2]/2", // Csus2
  Q: "[~@10 a4@2 g4 f4 d4 c4@3 c5@2 bb4 a4 g4 f4@9]/2",
})).s("gm_harmonica").gain(0.25)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@6 A ~@27 B@2 C D E F@2 G H ~@4 I J ~@17 K@3 L M@5 ~@13 I J ~@2>".pickRestart({
  A: "~@3 [db5,eb5] [gb5,ab5,bb5] ~@2 [a4,b4,c5,d5] [eb5,e5,f5,gb5] ~@7", B: "[f5@24 f5@2 ~ c5@2 ~ a4 ~]/2",
  C: "a4@2 f4 g4@2 c5@4 ~@7", D: "f4 ~@2 f4 ~ c4 f4 ~@2 f4 ~ c4 f4 ~ f4 ~", E: "g4@2 c5@4 a4@2 f4@2 f4 ~@5",
  F: "[g4@2 c5 ~ c5@2 ~ [bb4,d5]@2 ~ c5@2 a4@2 f4 a4@2 ~ c5@6 ~@2 f5@2 ~ c5 ~@2]/2", // Bb
  G: "[g4,ab4]@2 f4 ~ f4@2 c4 f4@2 c4 f4@2 c4 f4@2 c4", H: "f4@11 ~@5", I: "~@11 bb4 [c5,eb5,f5,g5] ~@2 a4",
  J: "[b4,c5,d5,eb5,e5,f5,gb5] ~@15", K: "[f5@11 ~ f5 eb5 c5 f5@12 ~ f5 eb5 c5 f5@12 ~ f5 eb5 c5 ~]/3",
  L: "a4@2 c5!2 a4@3 c5 a4@2 c5!2 a4@2 f4@2", M: "[f5@12 f5 eb5 c5 f5@12 ~ f5 eb5 c5 f5@12 ~ f5 eb5 c5 c5@24 ~@9]/5",
})).s("gm_electric_guitar_jazz").gain(0.32)

// other · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@6 A ~@30 B ~ C ~@8 D ~@40 D ~@2>".pickRestart({
  A: "~@9 eb5 [a4,c5] ~@5", B: "~ eb4 c4 ~ eb4 ~@2 eb4 c4 ~ eb4 ~@5", C: "~@6 a4 ~@9", D: "~ eb5 c5 a4 ~@12",
})).s("gm_electric_guitar_jazz").gain(0.12)

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

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

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

// … 23 more lines

More by Steve Miller Band