Strudelify
Halloween cover art

1980 · Before These Crowded Streets

Halloween

Dave Matthews Band

KeyF majorTempo116 bpm
0:00/0:00
// Halloween — Dave Matthews Band
// 116 bpm, 8/8, key F major. 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 126 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(116/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 · "Track01"
const acoustic_guitar_steel = note(`<
  ~ A@2 B@3 C D B A B C B E B@3 A C B C A F A F G H I J K L M N F C B C B A B O F@4 P Q R S T U V W X Y Z AA AB AC AD AE
  D A@2 D A@4 G AF I J K L M AG G H AH J AI L M AG G H I J K L M AJ AK AL AM AN AO AP AQ AR AS ~@2 AT ~@3 AU ~@3 AV ~@3
  AW ~@3 AX@2 AY AZ BA BB
>`.pickRestart({
  A: "f2@2 ~ [f2,f3]!2 ~ b2 ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", // F B C
  B: "f2@2 ~ [f2,f3]!2 ~ b2 ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@2 ~@2", // F B C
  C: "f2@3 [f2,f3]!2 ~ b2 ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@2 ~@2", // F B C
  D: "f2@2 ~ [f2,f3]!2 ~ [b2,b3] ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", // F B C
  E: "f2@3 [f2,f3]!2 ~ [b2,b3] ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", // F B C
  F: "f2@3 [f2,f3]!2 ~ b2 ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", // F B C
  G: "[a2,e3,a3] ~ [a2,e3,a3]!3 ~ [a2,e3,a3]!3 [a3,e4] a3 e3 [a2,e3,a3,e4] a3 [a2,e3]!2", // A5
  H: "[g2,d3,g3,d4]@2 [g2,d3,g3] [d3,g3] [g2,d3,g3] ~ [g2,d3,g3]!2 ~ g3 [g2,d3,g3,d4] g3 [g2,d3] [g2,d3,g3,d4] g3 [g2,d3], ~@4 [g2,d3,g3] ~@3", // G5
  I: "[f2,c3,f3]@2 [f2,c3,f3] [c3,f3] [f2,c3,f3,c4] ~ [c3,f3] [f2,c3,f3] [f2,c3,c4] f3 [f2,c3] [f2,c3,f3,c4] [c3,f3] [f2,c3] [f2,c3,f3,c4] ~", // F5
  J: "[e2,b2,e3] ~ [e2,b2,e3]!3 ~@2 b2 ~@2 [e2,b2]!2 [e3,b3] [e2,b2] [e3,b3] ~, ~@6 [e3,b3]@2 ~ [e3,b3]@2 ~@5", // E5
  K: "[a2,e3] ~ [a2,e3,a3] [e3,a3] [a2,e3,a3]@2 [e3,a3] [a2,e3,a3] [a2,e3,a3]@2 [a2,e3,a3] [e3,a3] [a2,e3,a3] ~ [e3,a3]!2", // A5
  L: "[g2,d3,g3] [d3,g3] [g2,d3,g3] [d3,g3] [g2,d3,g3] ~ [d3,g3]!2 [g2,d3,g3,d4] g3 d3 [g2,d3,g3,d4] g3 d3 [g2,d3,g3,d4] ~", // G5
  M: "[f2,c3,f3] ~ [f2,c3] [c3,f3] [f2,c3,c4] f3 [c3,f3] c3 [f2,c3,f3,c4] f3 c3 [f3,c4] [f2,c3] [f3,c4] [f2,ab2,c3] e3", // F5 Fm
  N: "[e2,b2,e3,b3] ~ [e2,b2,e3] [b2,e3,b3] [e2,b2,e3,b3]@2 [e2,b2,e3,b3] [b2,e3] [e2,b2,e3,b3]@2 [b2,e3] [e2,b2,e3,b3] [e2,b2,e3,b3]@2 ~@2", // E5
  O: "f2@3 [f2,f3] [f2,f3]@2 b2 ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", // F B C
  P: "[a2,e3,a3]@2 [e3,a3]!2 [a2,e3,a3]@2 [a2,e3,a3]!2 [a2,e3,a3,e4] a3 [a2,e3,a3] [a2,e3,a3,e4] a3 [a2,e3] [a2,e3,a3,e4] [a2,e3,a3]", // A5
  Q: "[g2,d3,g3]@2 [g2,d3,g3]!2 [g2,d3,g3,d4]@2 [g2,d3,g3] g3 [g2,d3,g3,d4] g3 [g2,d3,g3] [g2,d3] [g2,d3,g3,d4] g3 [g2,d3] [g2,d3,g3]", // G5
  R: "[f2,c3,f3,c4]@2 [f2,c3,f3]!3 ~ [c3,f3]!2 [f2,c3,f3] [c3,f3]!3 [f2,c3,f3] ~ [f2,c3,f3] [c3,f3]", // F5
  S: "[e2,b2,e3]!3 [b2,e3] [e2,b2,e3] ~ [b2,e3] [e2,b2,e3] b2 [b2,e3] [e2,b2,e3] [b2,e3] [e2,b2,e3] ~ [b2,e3] ~", // E5
  T: "[a2,e3,b3]@2 [a2,e3,a3] [e3,a3] [a2,e3,a3] ~ [a2,e3,a3]!3 [a2,e3,b3] [e3,a3]!2 [a2,e3,a3] ~ [a2,e3,a3]!2", // Asus2 A5 Asus2 A5
  U: "[g2,d3,g3] ~ [g2,d3,g3] [d3,g3] [g2,d3,a3] g3 [d3,g3] [g2,d3,g3] ~ [g2,d3,g3] [d3,g3]!2 [g2,d3,g3] ~ [d3,g3] [g2,d3,g3]", // G5 Gsus2 G5
  V: "[f2,c3,f3]@2 [c3,f3]!2 [f2,c3,f3] ~ [c3,f3]!2 [f2,bb2,c3,f3,g3] f3 [c3,f3] [f2,c3,f3] ~ [f2,c3,f3]!2 ~", // F5 Fsus4 F5
  W: "[e2,b2,e3] ~ [b2,e3] ~ [e2,b2,e3] ~ [b2,e3]!2 [e2,b2,e3] ~ [e2,b2,e3] [b2,e3] [e2,b2,e3]@2 ~@2", // E5
  X: "[a2,e3,a3,b3,e4] ~ [a2,e3,a3,b3,e4]!3 ~ [b3,e4]@2 a3 b3 [a3,e4] [a2,e3] [a2,e3,a3,b3,e4]@2 [a2,e3,a3,b3,e4] [a2,e3], ~@3 [a2,e3]@2 ~@3, ~@6 a3 ~@9", // Asus2 E5 A5 Asus2 A5
  Y: "[b2,gb3,d4,gb4] ~ [b2,gb3,d4,gb4]!2 [b2,gb3,b3,d4,gb4] ~ [b2,gb3,b3,d4,gb4]@2 ~@2 d4 [gb3,b3] [b2,gb3,b3,d4,gb4] b3 [b2,gb3,b3,d4,gb4] b3, ~@8 [b2,gb3]@3 ~@5, ~@9 [b3,gb4]@2 ~@5", // Bm B5 Bm B5
  Z: "[a2,e3,a3,e4]@2 [a2,e3,a3,e4] [a2,e3,e4] [a2,e3,a3,b3,e4] ~ [a2,e3,a3,b3,e4] ~ [a2,e3,a3,b3,e4] ~ a3 [a2,e3] [a2,e3,b3,e4] [a3,e4] [a2,e3]!2, ~@9 [b3,e4]@2 ~@5", // A5 Asus2 A5 Asus2 A5 E5
  AA: "[b2,gb3,b3,d4,gb4] ~ [b2,gb3,d4,gb4]!2 [b2,gb3,a3,d4,gb4] ~ [b2,gb3,b3,d4,gb4] ~ [b2,gb3,b3,d4,gb4]!5 [b3,d4] [b2,gb3] ~", // Bm Bm7 Bm B5
  AB: "[a2,e3,a3,e4]@2 [a2,e3,a3,e4]!2 [a2,e3,b3,e4] ~ [a2,e3,a3,e4] ~ [a2,e3,b3,e4] [a2,e3,a3,e4] [a2,e3,a3,b3,e4] [a2,e3,a3,e4] ~ b3 a3 [a2,e3], ~@6 [a2,e3,a3,e4] ~", // A5 Asus2 A5 Asus2 A5 Asus2 A5
  AC: "[b2,gb3,b3,d4,gb4] ~ [b2,gb3,b3,d4,gb4]!2 [b2,gb3,b3,gb4] ~ [b2,gb3,b3,d4,gb4] ~ [b2,gb3,b3,d4,gb4] [b3,d4] [b2,gb3] [b2,gb3,b3,gb4] [b2,gb3,b3,d4,gb4] [b3,d4] [b2,gb3] a3", // Bm B5 Bm B5 Bm B5
  AD: "[a2,e3,a3,e4]@2 [a2,e3,a3,e4] [a2,e3,a3,b3,e4]!2 ~ [a2,e3,a3,b3,e4] ~ [a2,e3,a3,b3,e4]!2 [b3,e4] [a3,e4] ~ [a3,e4] [a3,b3,e4] [a2,e3], ~@6 [a2,e3,b3,e4] ~", // A5 Asus2 E5 A5 Asus2 A5 Asus2
  AE: "[b2,gb3,b3,d4,gb4] ~ [b2,gb3,b3,d4,gb4]!3 ~ [b2,gb3,b3,d4,gb4] ~ [b2,gb3,b3,d4,gb4]!5 ~ [b2,gb3,b3,d4,gb4] ~", // Bm
  AF: "[g2,d3,g3,d4] ~ [g2,d3,g3] [d3,g3] [g2,d3,g3] ~ [g2,d3,g3]!2 ~ g3 [g2,d3,g3,d4] g3 [g2,d3] [g2,d3,g3,d4] g3 [g2,d3], ~@4 [g2,d3,g3] ~@3", // G5
  AG: "[e2,b2,e3,b3] ~ [e2,b2,e3]!3 ~@2 b2 ~@2 [e2,b2]!2 [e3,b3] [e2,b2] [e3,b3] ~, ~@6 [e3,b3]@2 ~ [e3,b3]@2 ~@5", // E5
  AH: "[f2,c3,f3] ~ [f2,c3,f3] [c3,f3] [f2,c3,f3,c4] ~ [c3,f3] [f2,c3,f3] [f2,c3,c4] f3 [f2,c3] [f2,c3,f3,c4] [c3,f3] [f2,c3] [f2,c3,f3,c4] ~", // F5
  AI: "[a2,e3]@2 [a2,e3,a3] [e3,a3] [a2,e3,a3]@2 [e3,a3] [a2,e3,a3] [a2,e3,a3]@2 [a2,e3,a3] [e3,a3] [a2,e3,a3] ~ [e3,a3]!2", // A5
  AJ: "[e2,b2,e3,b3,e4]@2 ~ [e2,b2,e3,b3,e4]@2 [e2,b2,e3,b3,e4] ~@2 [e2,b2,e3,b3,e4]@2 ~ [e2,b2,e3,b3,e4]@2 [e2,b2,e3,b3,e4]@2 ~", // E5
  AK: "[a3,e4]@2 [a2,e3] e3 [a2,e3] ~ [a2,e3]!3 [a3,b3,e4] [a2,e3]!2 [a2,a3,b3,e4]@2 [a2,e3]!2, [a2,e3] ~@3 a3@4 ~@8, ~@2 e4 ~@5", // A5 Asus2 A5 Asus2 A5
  AL: "[g2,d3,g3,d4]@2 d3!2 [g2,d3] ~ [g2,d3]!2 [g2,d3,db4] ~ [g2,d3]!2 [g3,d4]@2 [g2,d3]!2, ~@4 [g3,d4]@4 [g3,d4]@2 ~@2 [g2,d3] ~@3", // G5 G G5
  AM: "[f2,c3,f3,c4]@2 [f2,c3,f3,c4]!3 ~ [f2,c3,f3,c4] [c3,f3,c4] [f2,c3,f3,c4]@2 [f2,c3,f3,c4]!2 [f2,c3,f3,c4]@2 [f2,c3,f3,c4] [f2,c3]", // F5
  AN: "[e2,b2,e3,b3]@2 ~ [e2,b2,e3,b3]@2 [e2,b2,e3,b3]@2 ~ [e2,b2,e3,b3]@2 ~ [e2,b2,e3,b3]@2 [e2,b2,e3,b3] ~@2", // E5
  AO: "[a2,e3,a3,e4] ~ [a2,e3,a3,e4]!3 ~ [a2,e3,a3,e4]!2 [a2,e3] [a3,e4] [a2,e3]!2 [a3,e4]@2 [a2,e3]!2", // A5
  AP: "[f2,g2,d3,g3,d4] ~ d3!2 [g2,d3,g3,c4,d4] ~ [g2,d3] d3 ~ [g2,d3,g3,d4] d3!2 [g2,d3,g3,d4]@2 [g2,d3]!2", // G7 Gsus4 G5
  AQ: "[f2,c3,f3,c4]@2 [f2,c3] c3 [f2,c3,f3,c4] ~ [f2,c3,f3] c3 [f2,c3,f3,c4] [f2,c3]!2 [f2,c3,f3,c4] ~ [f2,c3] [f2,c3,f3,c4] ~", // F5
  AR: "[e2,b2,e3,b3] ~@2 [e2,b2,e3,b3]@2 [e2,b2,e3,b3]@2 ~ [e2,b2,e3,b3]@2 ~ [e2,b2,e3,b3]@2 [e2,b2,e3,b3]@2 ~", // E5
  AS: "[f2,c3,f3,c4]@3 ~@13", AT: "~@13 [f2,c3,e3,a3,d4,e4]@3", AU: "~@12 d4@3 ~, ~@11 [f2,c3,e3,a3,e4]@4 ~",
  AV: "~@9 [f2,c3,e3,a3,d4,e4]@3 ~@4, ~@9 f3 ~@6", AW: "~@8 d4@3 ~@5, ~@7 [f2,c3,e3,a3,e4]@3 ~@6",
  AX: "[~@4 [f2,c3,e3,a3,d4,e4]@3 ~@3 [f2,c3,e3,a3,d4,e4]@10 [e3,a3,d4,e4] [f2,c3,a3,e4] [f2,c3,e3,d4] [c3,e3,a3,d4,e4] [f2,e3,a3,d4,e4] [f2,c3] [f2,c3,e3,a3,d4,e4] [e3,a3,d4,e4] [f2,c3] [e3,a3,d4,e4] [f2,c3] [f2,c3,e3,a3,d4,e4], ~@4 [b2,db4] ~@27]/2", // Fmaj7 Dsus2 Fmaj7 Am Dm F5 Fmaj7 Dsus2 …
  AY: "[e3,a3,d4,e4] [f2,c3,e3] [f2,c3,a3,d4,e4] [f2,e3,a3,d4,e4] [c3,e3,a3,d4,e4] [f2,c3] [f2,c3,e3,a3,d4,e4] [e3,a3,d4,e4] [f2,c3] [f2,c3,e3,a3,d4,e4] [e3,a3,d4,e4] [f2,c3] [f2,c3,e3,a3,d4,e4] [e3,a3,d4,e4] [f2,c3] [e3,a3,d4,e4]", // Dsus2 Fmaj7 Dm Am F5 Fmaj7 Dsus2 F5 …
  AZ: "[f2,c3] [e3,a3,d4,e4] [f2,c3] [e3,a3,d4,e4] [f2,c3] [e3,a3,d4,e4] [f2,c3,e3,a3,d4,e4] [f2,c3] [e3,a3,d4,e4] [f2,c3,e3,a3,d4,e4] [f2,c3] [e3,a3,d4,e4] [f2,c3] [f2,c3,e3,a3,d4,e4] [e3,a3,d4,e4] [f2,c3,d4,e4]", // F5 Dsus2 F5 Dsus2 F5 Dsus2 Fmaj7 F5 …
  BA: "[f2,c3,e3,a3] [e3,a3,d4,e4] [f2,c3] [f2,c3,e3,a3,e4] [e3,a3,d4,e4] [f2,c3,e3,d4,e4] [f2,c3,a3] [e3,a3,d4,e4] [f2,c3,e3,a3,d4,e4] [f2,c3] [f2,c3,e3,a3,d4,e4] e3 [f2,c3] [e3,a3,d4,e4] ~@2", // Fmaj7 Dsus2 F5 Fmaj7 Dsus2 Fmaj7 F Dsus2 …
  BB: "~@2 [f2,c3,e3,a3,d4,e4]@3 ~@11", // Fmaj7
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(0.2)

// chords · overdriven guitar · "Track02"
const overdriven_guitar = note(`<
  ~ A B@2 C B@2 D C ~@52 E@2 F@2 G H G I ~@32 J ~@2 K ~@3 L ~@3 M ~@3 N ~@3 O@2 P@3 Q
>`.pickRestart({
  A: "[f2,c3,f3]@2 ~ [c3,f3]!2 ~ [b2,f3] ~ [b2,f3]@2 [c3,f3] ~ [c3,f3]@2 ~@2", // F5 Bdim F5
  B: "[f2,c3,f3]@2 ~ [f2,c3,f3]!2 ~ [b2,f3] ~ [b2,f3]@2 c3 ~ [c3,f3]@3 ~", // F5 Bdim F5
  C: "[f2,c3,f3]@3 [f2,c3,f3]!2 ~ [b2,f3] ~ [b2,f3]@2 c3 ~ [c3,f3]@3 ~", // F5 Bdim F5
  D: "[f2,c3,f3]@2 ~ [f2,c3,f3] [c3,f3] ~ [b2,f3] ~ [b2,f3]@2 c3 ~ [c3,f3]@3 ~", // F5 Bdim F5
  E: "[f2,f3]@4 ~@2 [b2,b3] ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", // F B C
  F: "[f2,f3]@2 ~ [f2,f3]!2 ~ [b2,b3] ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", // F B C
  G: "[f2,f3]@3 [f2,f3]!2 ~ [b2,b3] ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", // F B C
  H: "[f2,f3]@3 ~@3 [b2,b3] ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", // F B C
  I: "[f2,f3]@5 ~ [b2,b3] ~ [b2,b3]@2 [c3,c4] ~ [c3,c4]@3 ~", J: "[f2,c3,f3]@3 ~@13", K: "~@7 [f2,c3], ~@13 f3@3",
  L: "~@11 [f2,c3,f3]@3 ~@2", M: "~@9 [f2,c3,f3]@3 ~@4", N: "~@7 [f2,c3,f3]@3 ~@6",
  O: "[~@4 [f2,c3,f3]@3 ~@3 [f2,c3,f3]@18 c3 [c3,f3] [f2,c3,f3] [c3,f3]]/2", // F5
  P: "[[c3,f3] c3 [c3,f3] f3 [f2,c3,f3]@17 [f2,c3,f3] f2 ~ f2 f2@21 ~@2, ~@11 c3@12 ~, ~@23 f3@23 ~@2]/3", // F5
  Q: "~@2 [f2,c3,f3]@3 ~@11", // F5
})).s("gm_overdriven_guitar").gain(0.3).pan(0.7)

// chords · acoustic guitar steel · "Track03"
const acoustic_guitar_steel_2 = note("<~@9 A@7 B C D E F G H I J ~@101>".pickRestart({
  A: "f2@2 ~ [f2,f3]!2 ~ [c4,f4,a4]!3 ~ [c4,f4,a4]!3 ~@3", // F
  B: "f2@2 ~ f3!2 ~ [b3,f4]!2 [b3,f4,g4,a4] ~ [b3,c4,f4,a4] [c4,f4,a4]!2 ~@3", // Bdim Bm7b5 F
  C: "f2@2 ~ f3 [f2,f3] ~ [b3,f4,a4] [b3,f4] [b3,f4,a4] ~ [c4,f4,a4]!3 ~@3", // F Bm7b5 Bdim Bm7b5 F
  D: "[f2,f3]@2 ~ [f2,f3]!2 ~ [b3,f4,a4]!3 ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4]", // F Bm7b5 F
  E: "~@6 [b3,f4,a4]!3 ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~@2", F: "~@6 [b3,f4,a4]!2 [f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4]!2 ~",
  G: "~@6 [b3,f4,a4]!2 [f4,a4] ~ [c4,f4,a4]!3 ~@3", H: "[f2,f3]@3 ~@3 [b3,f4,a4]!3 ~ [c4,f4,a4]!3 ~@3",
  I: "[f2,f3]@2 ~@4 [b3,f4,a4]!3 ~ [c4,f4,a4]!3 ~@3", // F Bm7b5 F
  J: "[f2,f3]@3 ~ [b3,f4,a4] ~ [b3,f4,a4]!2 ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~@3", // F Bm7b5 F
})).s("gm_acoustic_guitar_steel").gain(0.3).pan(0.8)

// chords · string ensemble 1 · "Track04"
const string_ensemble_1 = note(`<
  A B C@3 D E F@2 G H I@2 H@2 I H J@3 K H@2 L M N O P Q N O P R S T U V W X Y Z AA@3 X N O AB AC AD O AE AF AG AH AG AH
  AI@2 AJ AK AL@4 AM AN ~ AO AP AQ AR AS AT AQ AR AU AP AV AR AW AX AQ AR AU AY AZ AR BA AY BB AR BC AP BD AR BE BF BG
  AR BH BI ~@2 BJ ~@3 BK ~@3 BL ~@3 BM ~@3 BN@5 BO
>`.pickRestart({
  A: "~@15 c6", B: "b5@3 ~ a5 ~ a5 ~ g5@3 ~ f5 ~ f5 ~",
  C: "[e5@5 ~ a4 ~@15 b4@22 ~@3 [c5,c6], ~@2 f4@9 ~, ~@4 a4@7 ~]/3", // C
  D: "[b4,b5]@3 ~ [a4,a5] ~ [a4,a5] ~ [g4,g5]@3 ~ [f4,f5] ~ [f4,f5] ~", // B A G F
  E: "[e4,e5]@3 ~ [d4,d5] ~ [d4,d5] ~ [c4,c5]@3 ~ [b3,b4] ~ [b3,b4] ~", // E D C B
  F: "[[a3,a4]@2 ~ [f3,f4]!2 ~ [f3,f4] ~ [f3,f4]@23 ~]/2", // A F
  G: "[f2,f3]@3 ~@3 [b4,b5] ~ [b4,b5]@2 [c5,c6] ~ [c5,c6]@2 ~@2", // F B C
  H: "[f2,f3]@4 ~@2 [b4,b5] ~ [b4,b5]@2 [c5,c6] ~ [c5,c6]@2 ~@2", // F B C
  I: "[f2,f3]@5 ~ [b4,b5] ~ [b4,b5]@2 [c5,c6] ~ [c5,c6]@2 ~@2", // F B C
  J: "[f2,c3,f3]@4 ~@2 [b4,b5] ~ [b4,b5]@2 [c5,c6] ~ [c5,c6]@2 ~@2", // F5 B C
  K: "[f2,c3,f3]@3 ~@3 [b4,b5] ~ [b4,b5]@2 [c5,c6] ~ [c5,c6]@2 ~@2, e3 ~@15", // F5 B C
  L: "[f2,f3]@4 ~@2 [b4,b5] ~ [b4,b5]@2 [c5,c6] ~ c6@2 ~@2, ~@12 c5 ~@3", // F B C
  M: "[f2,f3]@4 ~@2 [b4,b5] ~ [b4,b5]@2 [c5,c6] ~ [c5,c6]@3 ~", // F B C
  N: "[a3,a4,e5]!2 ~@2 [a3,a4,e5]!2 ~@2 [a3,a4,e5]!2 ~@2 [a3,a4,e5]!2 ~@2", // A5
  O: "[g3,g4,d5]!2 ~@2 [g3,g4,d5]!2 ~@2 [g3,g4,d5]!2 ~@2 [g3,g4,d5]!2 ~@2", // G5
  P: "[f3,f4,c5]!2 ~@2 [f3,f4,c5]!2 ~@2 [f3,f4,c5]!2 ~@2 [f3,f4,c5]!2 ~@2", // F5
  Q: "[e3,e4,b4]!2 ~@2 [e3,e4,b4]!2 ~@2 [e3,e4,b4]!2 ~@2 [e3,e4,b4]!2 ~@2", // E5
  R: "[e3,e4,b4]!2 ~@2 [e3,e4,b4]!2 ~@2 [e3,e4,b4]!2 ~@2 [e3,e4,b4]!2 ~ [c5,c6]", // E5 C
  S: "[b4,b5]@3 ~ [a4,a5] ~ [a4,a5] ~ [g4,g5]@4 [f4,f5]@4", T: "[e4,e5] [d4,d5] [c4,c5] [b3,f4,b4,f5], ~ [f4,f5]@2 ~",
  U: "[b3,e4,b4,e5]@3 [e3,b3,e4,b4]!2 ~ [e3,b3,e4,b4] ~ [e3,b3,e4,b4]@8", V: "[f3,c4] [g3,d4] [a3,d4] [b3,e4]",
  W: "[f2,f3]@3 ~@3 [b4,b5] ~ [b4,b5] ~ [c5,c6] ~ [c5,c6] ~@3, e3 ~@15", // F B C
  X: "[f2,f3]@3 ~@3 [b4,b5] ~ [b4,b5] ~ [c5,c6] ~ [c5,c6] ~@3", // F B C
  Y: "[f2,f3]@4 ~@2 [b4,b5] ~ [b4,b5] ~ [c5,c6] ~ [c5,c6] ~@3, g2 ~@15", // F B C
  Z: "[f2,f3]@3 b4 ~@2 [b4,b5] ~ [b4,b5] ~ [c5,c6] ~ [c5,c6] ~@3", // F B C
  AA: "[f2,f3]@4 ~@2 [b4,b5] ~ [b4,b5] ~ [c5,c6] ~ [c5,c6] ~@3", // F B C
  AB: "[f3,f4,c5] [f3,c5] ~@2 [f3,f4,c5] [f4,c5] ~@2 [f3,f4,c5]!2 ~@2 [f3,f4,c5] [f4,c5] ~@2", // F5
  AC: "[e3,e4,b4] [e3,b4] ~@2 [e3,e4,b4]!2 ~@2 [e3,e4,b4]!2 ~@2 [ab3,e4,b4]!2 ~@2", // E5 E
  AD: "[g3,a3,a4,e5] [a3,a4,e5] ~@2 [a3,a4,e5]!2 ~@2 [a3,a4,e5]!2 ~@2 [a3,a4,e5]!2 ~@2", // A7 A5
  AE: "[f3,f4,c5]!2 ~@2 [f3,f4,c5]!2 ~@2 [f3,f4] [f3,f4,c5] ~@2 [f3,f4,c5]!2 ~@2", // F5 F F5
  AF: "[e3,e4,b4]!2 ~@2 [e3,e4,b4]!2 ~@2 [e3,e4,b4]!2 ~@2 [ab3,e4,b4]!2 ~@2", AG: "[a2,a3]", AH: "[b2,b3]",
  AI: "[[a2,a3]@15 [b2,b3]@16 ~]/2", AJ: "[a2,a3,a4]", AK: "[b2,b3,b4]@15 ~",
  AL: "[[f3,c4,c5,b5]@3 ~@4 [c5,c6] [b4,b5] ~ [c5,c6] ~@13 b3@2 a3 ~ a3@33 ~@3, a5 ~@11 [c5,c6]@49 ~@3]/4", // F C B C
  AM: "[f2,f3,c5,b5,c6]@3 ~@13", // F
  AN: "[f4,b4,c5,e5]@2 ~@2 [f2,f3]@2 ~@2 [f4,b4,c5,d5,e5] [f4,b4,c5,e5]!3 [f4,b4,c5,e5]@2 ~@2, d5 ~@11 d5 ~@3", // Fmaj7 F Bdim Fmaj7
  AO: "~@8 [f4,b4,c5,e5]!4 [f4,b4,c5,e5]@2 ~@2, ~@12 bb4 ~@3", // Fmaj7
  AP: "[a2,a3,a4,e5]!2 ~@2 [a2,a3,a4,e5]!2 ~@2 [a2,a3,a4,e5]!2 ~@2 [a2,a3,a4,e5]!2 ~@2", // A5
  AQ: "[g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2", // C
  AR: "[f2,f3,f4,e5]!2 ~@2 [f2,f3,f4,e5]!2 ~@2 [f2,f3,f4,e5]!2 ~@2 [f2,f3,f4,e5]!2 ~@2", // Fmaj7
  AS: "[e2,e3,e4,e5]!2 ~@2 [e2,e3,e4,e5]!2 ~@2 [e2,e3,e4,e5]!2 ~@2 [e4,e5]!2 ~@2, ~@6 [ab2,ab3] ~", // E Ab
  AT: "[a2,a3,a4,e5,f5] [a2,a3,a4,e5] ~@2 [a2,a3,a4,e5]!2 ~@2 [a2,a3,a4,e5]!2 ~@2 [a2,a3,a4,e5]!2 ~@2", // Fmaj7 A5
  AU: "[e2,d3,e3,e4,e5] [e2,e3,e4,e5] ~@2 [e2,e3,e4,e5]!2 ~@2 [e2,e3,e4,e5]!2 ~@2 [e4,e5]!2 ~@2, ~@6 [ab2,ab3] ~", // E7 E Ab
  AV: "[g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5] [g2,a2,g3,g4,e5] ~@2 [g2,g3,g4,eb5,e5] [g2,g3,g4,e5] ~@2 [g2,g3,g4,e5]!2 ~@2", // C A7 C
  AW: "[e2,e3,e4,e5]!2 ~@2 [e2,e3,e4,e5]!2 ~@2 [e2,e3,e4,e5]!2 ~@2 [e4,e5]!2 e5 ~, ~@6 [ab2,ab3] ~", // E Ab
  AX: "[a2,g3,a3,a4,e5] [a2,a3,a4,e5] ~@2 [a2,a3,a4,e5]!2 ~@2 [a2,a3,a4,eb5,e5] [a2,a3,a4,e5] ~@2 [a2,a3,a4,e5]!2 ~@2", // A7 A5 A A5
  AY: "[a2,g3,a3,a4,e5] [a2,a3,a4,e5] ~@2 [a2,a3,a4,e5]!2 ~@2 [a2,a3,a4,e5]!2 ~@2 [a2,a3,a4,e5]!2 ~@2", // A7 A5
  AZ: "[g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2 [g2,f3,g3,g4,e5] [g2,g3,g4,e5] ~@2 [g2,g3,g4,e5]!2 ~@2", // C
  BA: "[e2,e3,e4,f4,e5] [e2,e3,e4,e5] ~@2 [e2,e3,e4,e5]!2 ~@2 [e2,e3,e4,e5]!2 ~@2 [e4,e5]!2 ~@2, ~@6 [ab2,ab3] ~", // Fmaj7 E Ab
  BB: "[g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,eb5,e5] [g2,g3,g4,e5] ~@2", // C
  BC: "[e3,e4,e5]@2 ~ [g3,g5]@2 [a3,a4,a5]@2 ~ [a3,a4] ~@2 [c4,c5,c6]@2 [d4,d5,d6]@2 ~, ~@3 g4 ~@4 a5@2 ~@6", // E G A C D
  BD: "[g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2 [g2,f3,g3,g4,e5] [g2,g3,g4,e5] ~@2", // C
  BE: "[e2,e3,e4,e5]@15 ~", // E
  BF: "[a2,a3,g4,a4,eb5,e5] [a2,a3,a4,e5] ~@2 [a2,a3,a4,e5]!2 ~@2 [a2,a3,a4,eb5,e5] [a2,a3,a4,e5] ~@2 [a2,a3,a4,eb5,e5] [a2,a3,a4,e5] ~@2", // A7 A5 A A5 A A5
  BG: "[g2,a2,g3,g4,e5] [g2,g3,g4,e5] ~@2 [g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2 [g2,g3,g4,e5]!2 ~@2", // A7 C
  BH: "[e2,e3,e4,b4,e5]@15 [a2,b2]", BI: "[f2,f3,f5] ~@7", BJ: "~@7 c3, ~@13 [f2,f3,f5]@3", BK: "~@11 [f2,f3,f5]@3 ~@2",
  BL: "~@9 [f2,f3,f5]@3 ~@4", BM: "~@7 [f2,f3,f5]@3 ~@6", BN: "[~@4 [f2,f3,f5]@3 ~@3 [f2,f3,f5]@68 ~@2]/5",
  BO: "~@2 [f2,f3,f5]@3 ~@11", // F
})).s("gm_string_ensemble_1").gain(0.56)

// bass · electric bass finger · "Track07"
const bass = note(`<
  ~ A B C@3 D@2 E F@2 G F H I H F@6 G J F K L M N O P Q R E D@2 S T U V F W F X H O P Q Y O P Z AA AB AC AD AE AF AG AH
  AI AJ D AK F AL D AM AN AO AP AQ AR AS P Q AT O AU AQ AV AW AX AY AV AW AX AY AZ BA BB BC BD O BE BF BG AW AX AY BH BI
  ~@2 BJ ~@3 BK ~@3 BL ~@3 BM ~@3 BN@2 BO BP BQ BR
>`.pickRestart({
  A: "f1@3 f1 f2 ~ b1 ~ b1@2 c2 ~ c2@4", B: "f1@2 ~@2 f2 ~ b1 ~ b1@2 c2 ~ c2@3 ~, ~@3 f1@2 ~@11",
  C: "f1@2 ~ f1 f2 ~ b1 ~ b1@2 c2 ~ c2@4", D: "f1@4 f2@2 b1 ~ b1@2 c2 ~ c2@4",
  E: "f1@4 f2 ~ b1 ~ b1@2 c2 ~ c2@3 ~, ~@12 b1 ~@3", F: "f1@4 ~@2 b1 ~ b1@2 c2 ~ c2@3 ~",
  G: "f1@4 ~@2 b1 ~ b1@2 c2 ~ c2@4", H: "f1@3 ~@3 b1 ~ b1@2 c2 ~ c2@3 ~", I: "f1@4 ~@2 b1@2 b1 ~ b1 f2 c2@4",
  J: "~ f1@4 ~ b1 ~ b1@2 c2 ~ c2@3 ~", K: "a1@3 ~ a1@3 ~ a1@6 a1@2", L: "g1@3 ~ g1@3 ~ g1@3 d2 g1@3 ~",
  M: "f1@3 ~ f1@3 ~ f1@2 ~@2 f1@2 ~@2", N: "e1@3 ~ e1@2 ~@2 e1 ~ b1@2 e2@2 ab1@2", O: "a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~",
  P: "g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~", Q: "f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~", R: "e1@3 ~ e1@3 ~ e1@3 ~ e1@3 ~",
  S: "f1@4 f2@2 b1@2 c2 ~ c2@2 c2@2 b1@2", T: "f1@4 ~@2 b1 ~ b1@2 c2@2 c2@3 ~", U: "f1@5 ~ b1 ~ b1@2 c2 ~ c2@3 ~",
  V: "f1@5 ~ b1 ~ b1@2 c2@2 c2@4", W: "f1@4 ~@2 b1 ~ b1@2 b1@2 c2@3 ~", X: "f1@4 ~@2 b1@2 b1@2 c2 ~ c2@3 ~",
  Y: "e1@3 ~ e1@3 ~ e1@2 ~@2 ab1@3 ~", Z: "f1@3 ~ f1@3 ~ f1@4 f1@3 ~", AA: "e1@3 ~ e1@3 ~ e1@3 ~ e1@2 ~@2",
  AB: "~@2 e2 a2@2 e2@3, a1@3 ~@5", AC: "~@3 gb2@2 b2 gb2 e2, b1@15 ~", AD: "~@2 e2 a2@2 ~@2 b1, a1@7 ~, ~@5 e2@3",
  AE: "~@2 gb2 b2@2 gb2@2 e2, b1", AF: "~@2 e2 a2@2 ~@2 a1, a1@13 ~@3, ~@5 e2@3", AG: "~@4 gb2@5 b2@3 gb2@4, b1",
  AH: "a1@5 a1@4 ~ a1@2 a1@2 a1@2", AI: "b1@2 b1!3 ~ b1 ~ b1 ~ b1!2 b1@2 b1@2", AJ: "f1@4 f2@2 b1 ~ b1@2 c2@2 c2@4",
  AK: "f1@3 ~ f2 ~ b1 ~ b1@2 c2 ~ c2@3 ~", AL: "f1@6 b1 ~ b1@2 c2 ~ c2@4", AM: "f1@3 ~ f2@2 b1 ~ b1@2 c2 ~ c2@4",
  AN: "f1@6 b1 ~ b1@2 c2 ~ c2@3 ~", AO: "a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@3 ~", AP: "g1@3 ~ g1@3 ~ g1@2 ~@2 g1@3 ~",
  AQ: "f1@2 ~@2 f1@3 ~ f1@3 ~ f1@2 ~@2", AR: "e1@3 ~ e1@2 ~@2 e1@2 ~@3 g1 ~@2, ~@12 ab1@3 ~",
  AS: "~ a1@3 a1@3 ~ a1@2 ~@2 a1@2 ~@2", AT: "e1@3 ~ e1@3 ~ e1@3 ~ ab1@3 ~", AU: "g1@3 ~ g1@3 ~ g1 ~ g1@3 ~ g1 ~",
  AV: "e1@2 ~@2 e1@3 ~ e1@3 ~ e1@2 ab1@2", AW: "a1@3 ~ a1@3 ~ a1@2 ~@2 a1@2 ~@2", AX: "g1 ~ g1 ~ g1 ~ g1 ~",
  AY: "f1 ~ f1 ~ f1 ~ f1 ~", AZ: "e1@2 ~@2 e1@2 ~@2 e1@3 ~ ab1@3 ~", BA: "a1@3 ~ a1@2 ~@2 a1@2 ~@2 a1@2 ~@2",
  BB: "g1@2 ~@2 g1@3 ~ g1@2 ~@2 g1@2 ~@2", BC: "f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@3 ~",
  BD: "e2@2 ~ d2@2 c2@3 b1@3 a1@2 ab1@2 ~", BE: "g1@3 ~ g1@3 ~ g1@2 ~@2 g1@2 ~@2",
  BF: "f1@2 ~@2 f1@2 ~@2 f1@3 ~ f1@2 ~@2", BG: "e2@3 d2@2 c2@3 b1@3 a1@2 ab1@2 ~",
  BH: "e2@3 d2@2 c2@3 b1@3 a1@2 ab1@2 f1, ~@5 b1 ~@10", BI: "f1@3 ~@13", BJ: "~@7 f1", BK: "~@11 f1@3 ~@2",
  BL: "~@9 f1@3 ~@4", BM: "~@7 f1@3 ~@6", BN: "[~@4 f1@4 ~@2 f1@12 f1 ~ f1!2 ~ f1@2 [g1,a1,b1] ~ [c2,d2,e2]]/2",
  BO: "~ f2@2 f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2", BP: "~ f2 ~ f1@5 f1@2 ~ f1@2 f1@2 ~", BQ: "f1@3 ~ f1@11 ~",
  BR: "~ f1 ~@6",
})).s("gm_electric_bass_finger").gain(0.56)

// drums · kick
const kick = s("bd").struct(`<
// … 142 more lines

More by Dave Matthews Band