Strudelify

Don't Drink the Water

Dave Matthews Band

KeyD majorTempo84 bpm
0:00/0:00
// Don't Drink the Water — Dave Matthews Band
// 84 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 5/8 at bar 141) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 148 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Banjo.
setcpm(84/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 · "Guitar-1"
const acoustic_guitar_steel = note(`<
  A B@19 C D E F C D E F B@8 C D E F C D E F G H I J A B@3 G H I J A B@11 C D E F C D E F G H K L A B@3 G H I J A B@3 C
  M C M C M G H I J A B@2 N O P@7 Q ~@3 R P@19 Q ~ S@4 T U V W
>`.pickRestart({
  A: "~ d3@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]!2 d3@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]", // D5
  B: "[d4,a4,d5] d3@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]!2 d3@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]", // D5
  C: "[d4,a4,d5] g3@2 g3@2 [g3,g4,b4,d5]@2 [g3,g4,b4,d5]!2 g3@2 g3@2 [g3,g4,b4,d5]@2 [g3,g4,b4,d5]", // D5 G
  D: "[g3,g4,b4,d5] g3@2 g3@2 [g3,g4,b4,d5]@2 [g3,g4,b4,d5]!2 g3@2 g3@2 [g3,g4,b4,d5]@2 [g3,g4,b4,d5]", // G
  E: "[g3,g4,b4,d5] d3@2 d3@2 [d4,a4,d5]!4 d3@2 d3@2 [d4,a4,d5]!3", // G D5
  F: "[d4,a4,d5] d3@2 d3@2 [d4,a4,d5]!4 d3@2 d3@2 [d4,a4,d5]!3", // D5
  G: "[d4,a4,d5] [b3,c#4,f#4,b4,d5]@5 ~ [b3,c#4,f#4,b4,d5]@5 ~ [b3,c#4,f#4,b4,d5]@3", // D5 Bm
  H: "~ [b3,c#4,f#4,b4,d5]@3 ~ [b3,c#4,f#4,b4,d5]@2 [b3,c#4,f#4,b4,d5]!2 [b3,c#4,f#4,b4,d5]@2 [b3,c#4,f#4,b4,d5]!2 [b3,c#4,f#4,b4,d5]@2 ~", // Bm
  I: "~ [g3,g4,b4,d5]@3 [g3,g4,b4,d5] [g3,g4,b4,d5]@2 [g3,g4,b4,d5]@2 [g3,g4,b4,d5]@2 [g3,g4,b4,d5]!2 [g3,g4,b4,d5]@2 [g3,g4,b4,d5]", // G
  J: "[g3,g4,b4,d5] [g3,g4,b4,d5]@2 [g3,g4,b4,d5]!2 [g3,g4,b4,d5]@2 [g3,g4,b4,d5]!2 [g3,g4,b4,d5]@2 [g3,g4,b4,d5]!2 [g3,g4,b4,d5]@2 ~", // G
  K: "~ [a3,g4,b4,d5]@3 [a3,g4,b4,d5] [a3,g4,b4,d5]@2 [a3,g4,b4,d5]@2 [a3,g4,b4,d5]@2 [a3,g4,b4,d5]!2 [a3,g4,b4,d5]@2 [a3,g4,b4,d5]", // G
  L: "[a3,g4,b4,d5] [a3,g4,b4,d5]@2 [a3,g4,b4,d5]!2 [a3,g4,b4,d5]@2 [a3,g4,b4,d5]!2 [a3,g4,b4,d5]@2 [a3,g4,b4,d5]!2 [a3,g4,b4,d5]@2 ~", // G
  M: "[g3,g4,b4,d5] d3@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]!2 d3@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]", // G D5
  N: "[d4,a4,d5] d3@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]!2 ~ [d4,a#4,d5] ~ [d4,a#4,d5]!4", // D5 Gm
  O: "[d4,a#4,d5] [d4,a#4,d5]@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]!2 ~ [d4,a4,d5]!6", // Gm D5
  P: "[d4,a4,d5] [d4,a#4,d5]@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]!2 ~ [d4,a4,d5]!6", Q: "[d4,a4,d5] ~@15",
  R: "~ [d4,a#4,d5]@2 d3@2 [d4,a4,d5]@2 [d4,a4,d5]!2 ~ [d4,a4,d5]!6", // Gm D5
  S: "[~@12 [f#5,b5]@2 e5 ~@11 [f#5,b5]@2 e5 ~@11 [d#5,g#5]@2 c#5 ~@11 [d#5,g#5]@2 c#5 e4 b4 ~ e5 [f#5,b5] ~ e5, ~ e4@7 e4@7 e4@7 e4@7 c#4@7 c#4@7 c#4@7 c#4@7 ~@7, ~@2 b4@7 b4@6 ~ b4@7 b4@6 ~ g#4@7 g#4@6 ~ g#4@7 g#4@6 ~@7, ~@4 e5@3 e5@4 e5@3 ~@4 e5@3 e5@4 e5@3 ~@4 c#5@3 c#5@4 c#5@3 ~@4 c#5@3 c#5@4 c#5@3 ~@8, ~@5 [f#5,b5]@7 ~@7 [f#5,b5]@7 ~@7 [d#5,g#5]@7 ~@7 [d#5,g#5]@7 ~@10]/4", // B5 G#5 B5 G#5
  T: "e4 b4 ~ e5 [f#5,b5] ~ e5 e4 b4 ~ e5 [f#5,b5] ~ e5 e4 b4", U: "~ e5 d4 ~ a4 a3 e4 ~ a4 b4 ~ c#5@2 a3 ~ e4",
  V: "a4 ~ b4 c#5@2 ~ a3 e4 ~ a4 b4 c#5@2 ~ a3 ~", W: "e4 a4@5 ~@10",
})).s("gm_acoustic_guitar_steel").gain(0.45)

// chords · violin · "Guitar-1" · Gm
const violin = note("<~@117 [~@10 [d4,a#4,d5]!6] [[d4,a#4,d5] ~@15] ~@29>").s("gm_violin").gain(0.45)

// other · banjo
const banjo = note(`<
  ~@2 A@8 B@3 C@2 D E F G H I J@6 K L F M@3 F N@2 O@2 P Q R S T U V W X Y E F Z@2 AA AB AC AD AE AF AG AH AI ~@19 AJ AK
  AL AM AN AB AC AD AE AF AG AH AI ~@9 AO AP AQ AP AR ~@41
>`.pickRestart({
  A: "[~@16 a4 ~@7 a4 c5 b4 a4 g4 f4@2 d4@2 d5@3 ~@7 d4@2 c5@2 a4@2 d5@5 ~@6 d4 c5@2 a4@2 d5@5 ~@6 d4 c5@2 a4@2 d5@5 ~@6 d4 c5@2 a4@2 d5@5 ~@6 d4 c5@2 a4@2 d5@5 ~@6 d4 c5@2 a4, ~ d5@2 d4@2 a4@2 d5@2 d4@2 a4@2 d5@4 d5@3 d5@3 d5@2 ~@12 d5@3 d5@5 ~@10 d5@3 d5@3 ~@10 d5@3 d5@3 ~@10 d5@3 d5@3 ~@10 d5@3 d5@3 ~@10 d5@3 d5@3 ~@3, ~@2 a4@2 d5@2 d4@2 a4@2 d5@2 d4@2 a4@2 ~@2 a4@3 a4@3 ~@14 a4@7 ~@9 a4@2 a4@3 a4@2 ~@9 a4@2 a4@3 a4@2 ~@9 a4@2 a4@3 a4@2 ~@9 a4@2 a4@3 a4@2 ~@9 a4@2 a4@3 a4@2 ~@3, ~@15 d4@2 ~@2 d4@3 d4@3 ~@14 d4@4 ~@14 d4@3 ~@13 d4@3 ~@13 d4@3 ~@13 d4@3 ~@13 d4@3 ~@4]/8",
  B: "[~ d5@5 ~@6 d4 c5@2 a4@2 d5@5 ~@6 d4 c5@2 a4@2 d7 a4 d4@2 d5 a4 d4 d5 a4 d4 a4 d4 d5 a4 d4, ~@6 a4@2 a4@2 d5@3 ~@10 d5@2 d4@2 a4@2 ~@19, ~@7 d5@2 d4@2 a4@2 ~@9 a4@2 a4@2 d5@3 ~@19]/3",
  C: "[d5 a4 d4 a4 d4 d5 a4 d4 d5 a4 d4 a4 d4 d5 a4 d4@2 [d4,a4,c5]@2 c5 e5@2 c5 e5 c5 d4 e5 c5 d4 [c#5,f5] [c5,e5] d4]/2", // D7 C# C
  D: "[a4,c5]@2 [c5,d5] a4!2 c5 a4 a4@2 c5 a4 d4@2 b4 a4 g4", E: "a4 d4@2 d4@2 d5 a4 d4 d5 a4 d4 a4 d4 d5 a4 d4",
  F: "d5 a4 d4 a4 d4 d5 a4 d4 d5 a4 d4 a4 d4 d5 a4 d4", G: "d5 d5@3 ~ d4@2 a4 d4 a4 d4 a4 d4 a4 d4 a4",
  H: "d4 a4 d4 a4 d4 a4 d4 a4 d4 a4 d4 a4 d4 a4 d4 a4", I: "d4 ~ a4 b4 d5 a4 b4 d5 a4 b4 d5 a4 b4 d5 a4 b4",
  J: "a4 d5 a4 b4 d5 a4 b4 d5 a4 b4 d5 a4 b4 d5 a4 b4", K: "a4 d5 a4 b4 d5 a4 b4 d5 a4 b4 d5 a4!2 g#4 a4 g#4",
  L: "g4 f#4@3 ~ d4@2 a4 d5@2 d4 a4 d4 d5 a4 d4",
  M: "[d5 a4 d4 a4 d4 d5 a4 d4 d5 a4 d4 a4 d4 c5@2 a4@2 d5@5 a4 d4@2 a4 d4 a4 d4 a4 d4 a4@2 d4@2 d4@2 d5 a4 d4 d5@3 a4 d4 d5 a4 d4]/3",
  N: "[d5 a4 d4 a4 d4 d5 a4 d4 d5 a4 d4 a4 d4 c5@2 a4@2 d5@5 g5 f#5 d#5 d5 c#5 a#4 a4 g4 f#4 e4]/2",
  O: "[d4 d4@3 ~@11 g4@2 ~@7 b4@2 ~ b4@5, ~@17 g4@15, ~@23 d5@3 d5@6]/2", P: "~ [d4,a4]@5 ~ c5 a4@2 c5 a4@2 c5 a4 ~",
  Q: "~ d5@7 [d4,a4] [d4,a4]@2 [d4,a4]@2 d5 a4@2", R: "~ b4@7 b4 g4 d5 b4 g4 b4@2 g4", S: "d5 e5@3 ~@3 d5 b4 g4@3 ~@4",
  T: "~@7 [a4,c5]@3 c5 a4@2 c5 a4@2", U: "~ [a4,c5]@3 ~@3 d5 ~ [c5,f5]@2 e5 d5@2 a4 g4",
  V: "f4 d5 a4 b4 d5 a4 b4 d5 a4 b4 d5 a4 b4 d5 a4 d5", W: "a4 ~ a4 b4 d5@3 d5 a4 b4 a4 b4 d5@3 d5",
  X: "b4 ~ b4 g4 d5 b4 a4 g4 b4@2 b4 g4 d5 b4 a4 g4", Y: "b4@2 b4 g4 d5 b4 a4 g4 a4@2 a4@2 a4@2 a4@2",
  Z: "[d5 d4@2 a4 d4 d5 a4 d4 d5 a4 d4 a4 d4 c5@2 a4@2 d5@5 a4 d4 d5 a4 d4 a4 d4 d5 a4 d4]/2",
  AA: "d5 ~@2 a4 d4 d5 a4 d4 d5 b4 d4 b4 d4 d5 b4 d4", AB: "d5 b4 d4 b4 d4 d5 b4 d4 d5 b4 d4 d5 b4 d4 d5 b4",
  AC: "a4@2 b4 a4 g4 b4 a4 d5 b4@2 d5 b4 g4@2 b4 d5", AD: "b4@2 b4 g4 d5@2 b4 g4 c5@2 b4@2 a4 b4 c5 a4",
  AE: "c5 b4 c5 a4 c5 b4 c5 a4 c5 b4 c5 b4 c5 a4 c5 b4", AF: "c5 a4 c5 b4 c5 b4 c5 a4 c5 b4 c5 a4 b4@2 a4 b4",
  AG: "c5 a4 c5 b4 c5 b4 c5 a4 c5 b4 c5 a4 b4@2 c5 a4", AH: "b4@2 b4 c5 a4 b4 a4 c5 a4 d5 a4 c5 b4 a4 g4 f4",
  AI: "d4 ~@15", AJ: "~ d4 a4!2 [a4,d5] ~@2 [a4,d5]!2 ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~",
  AK: "[a4,c5] ~ [d4,a4]@2 d4!3 a4 d5 [c5,f5]!2 [d5,g5] ~ [c5,f5] [a4,d5] ~", // Am D5 F5 G5 F5 D5
  AL: "[a4,c5] ~ a4!2 c5 a4 c5 a4 c5 a4!2 c5 ~ c5 a4@2", AM: "c5 ~ c5 a4@2 c5 a4 c5 a4@2 c5 ~ c5 a4@2 c5",
  AN: "~@3 a4 d4 d5 a4 d4 d5 b4 d4 b4 d4 d5 b4 d4", AO: "~ d4@2 d4@2 d5 a4 d4 d5@2 a4@2 c5 ~@3",
  AP: "~ d4@2 d4@2 d5 a4 d4 d5@2 a4 a4@2 d5 a4 d4", AQ: "d5 d4@2 d4@2 d5 a4 d4 d5@2 a4@2 c5 ~@3", AR: "d5 ~@15",
})).s("gm_banjo").gain(0.57)

// other · whistle · "Banjo"
const whistle = note("<~@73 A@3 ~@72>".pickRestart({
  A: "[~@5 a6@43]/3",
})).s("gm_whistle").gain(0.57)

// chords · acoustic guitar steel · "Banjo"
const acoustic_guitar_steel_2 = note("<~@141 A@3 ~@4>".pickRestart({
  A: "[~@23 g#4@4 ~@10 g#4@4 ~@7, ~@13 g#3@7 g#3@7 g#3@7 g#3@7 ~@7, ~@14 c#4@4 ~@3 c#4@4 ~@3 c#4@4 ~@3 c#4@4 ~@9, ~@16 g#4@7 ~@7 g#4@7 ~@11]/3",
})).s("gm_acoustic_guitar_steel").gain(0.3)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A B C B D E@2 B D E@2 B D E@2 B D E@2 F G H@2 I J K@2 B D E@2 B D E@2 L@2 M D N O@2 P Q R S T U A V W X@2 Y Z U A AA
  AB AC@2 AD AE B D E@2 AF AG AH AI AJ@2 AK AL AM AN AO@2 AP@2 AQ AR AS AT AU@2 AV AW AX E AY AZ BA BB BC@2 BD@2 BE@4 BF
  C BF BG@6 BH BI BJ ~@2 BK BL BM BL BN BO BP BG BQ@2 BR BO BS@2 BT BU BV@6 ~ BW@3 BX BY BZ CA CB
>`.pickRestart({
  A: "~ d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3", B: "d2!2 ~ d2@2 ~@2 d3 a2 b2 f#3 a2 c3 f2@2 ~",
  C: "e2 d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3", D: "b1 d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3", E: "d2!2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3",
  F: "d2 d2@2 d2@2 f#2@2 b2!6 a2!3", G: "a2 g2@2 g2@2 g2@2 g2!4 g2@2 g2@2 g2",
  H: "[g2 g2@3 g2 g2@2 g2@2 e3!2 e3@2 d3@2 b2@2 d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@2 c2]/2",
  I: "d2 f2 d2 c2 ~ d2 ~ c2 d2 f2 d2 f2 ~ f2 ~ f#2", J: "~ g2@3 g3@3 g2@3 g2!6",
  K: "[g2 g2@2 g2!2 g2@2 g2!2 g2@2 b2@2 e3!2 e3@2 d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3]/2",
  L: "[d2!2 ~ d2@2 ~@4 d2!2 d2@2 [a2,b2] ~ a2@2 g2@3 g2 g2@2 g2@2 g2!2 g2@2 g2@2 g2]/2", // Asus2
  M: "g2 g2@2 g2!2 g2@2 b2@2 [b2,c3] b2@3 e3@2 d3", N: "d2!2 ~ d2@3 ~ a2!3 g2 f#2 g2 e2 ~ f#2",
  O: "[~ g2@3 g3@3 g2!4 g2@2 g2@2 g2@2 g2@2 b2@2 d3 e3 d3@2 b2 a2 g2@2 f#2@2 g2]/2",
  P: "g2 d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3", Q: "d2!2 ~ d2@2 ~@2 e2 d2 f2 e2 c#2 ~ d2!2 c#2", R: "c2 b1@5 ~ b1@2 b2 b2@6",
  S: "~ d3@3 ~ [b2,b3]@6 [a2,a#2,a3,a#3] ~ f#2@3", T: "~ g2@5 ~ g2@3 g2@3 g3@3",
  U: "~ g2@2 g3@2 g2@2 g2!2 e3@3 ~ e3@2 ~", V: "d2!2 ~ d2@2 d3@2 a2!2 b2 f#3 a2 c3 d2@3",
  W: "d#2 d2 ~ d2@2 ~@3 d2 d2@2 c2 d2 f2 d2!2", X: "[~ d2 ~ d2@2 ~@3 d2!2 ~ d2@2 d2 ~ c#2@2 b1@5 ~ b1@2 b2 b2@6]/2",
  Y: "~ d3@3 ~ [c3,c#3] b2@5 [a#2,b2] a2 a2@3", Z: "~ g2@5 ~ g2@3 g2@3 g3@3, ~ g#2 ~@14",
  AA: "d2!2 ~ d2@2 d3@2 a2!2 b2 f#3 a2 c3 f2@3", AB: "f#2 d2 ~ d2@2 ~@3 d2!2 ~ c2 d2 f2 d2!2",
  AC: "[~ d2 ~ d2@2 ~@3 d2!2 ~ d2 ~ d2@2 c#2@2 d3 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3]/2",
  AD: "d2!2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@2 d2", AE: "c2 d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3",
  AF: "d2!2 ~ d2@2 ~@2 a2!2 b2 f#3 a2 c3 g3@2 ~", AG: "~ g2@2 g2 g3@3 g2@3 g2 g2@2 g2@2 e3",
  AH: "e3!3 e3@2 e3@4 d3@3 ~ d3@2 [a2,c3,c#3], ~@9 d#3 ~@6", AI: "[a#2,b2] d2 ~ d2@2 ~@3 d2!2 b1 d2@2 ~@3",
  AJ: "[d2!2 ~ d2@2 ~ d2!4 [d#2,e2] b2!2 b2@2 a2@2 g2@2 g2!8 g2@2 g2@2 g2]/2", // Emaj7
  AK: "g2 g2@2 e3!2 e3@2 d3@2 e3 d3 e3 d3 [d3,e3] ~ e3", AL: "a2 d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3",
  AM: "d2!2 ~ d2@2 ~@2 d3 a2 b2 f#3 a2 c3 f2@3", AN: "f#2 b1@5 ~ b1!2 b2 b3 b3@2 b2@2 b1",
  AO: "[b1 b1@2 c#2!2 d2@2 d2 d#2 e2@2 [f2,f#2] ~ a2@2 a2@2 g2@5 ~ e3@2 e3 ~@5 a3]/2", // F#maj7
  AP: "[b3 d4@3 ~ b3@2 a3@2 d4@2 e3@4 b2@2 d2 ~ d2@2 ~@3 d2 d2@2 c2 d2 f2 d2 c2]/2",
  AQ: "c#2 d2 ~ f2 d2 c2 ~ d2 ~ f2 d2 ~ c2 f2 ~ d2", AR: "~ d2 ~ d2 f2 d2 ~ d2 ~ f2 d2 f2@2 d2 ~ c2",
  AS: "c#2 d2@2 c2 d2 f2@2 d2 c2 d2 c2 f2@2 d2@2 c#2", AT: "c2 b1@3 ~ b3@2 b2@3 b3 b2@2 b3@3",
  AU: "[~ c#3@2 d3@2 d3@2 ~@2 e3@2 f#3!2 a3@2 a3@2 g3@3 g4 g4@2 g3@2 g3!2 g3@2 g3@2 g3]/2", AV: "g3 g3@2 g3!13",
  AW: "g3 d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3", AX: "~ d2 ~ d2@2 c2 d2 f2 d2 c2 ~ d2 ~ d2 ~ d2",
  AY: "d2!2 ~ d2!2 d2@3 ~ d2@3 ~ f#2@3", AZ: "~ g2@3 ~ g3@2 g2!4 g2@2 g2@2 f#2",
  BA: "f#2 d2 ~ d2!2 d2@2 d2 ~ d2@2 d2@2 f#2@2 f#2", BB: "f#2 g2@2 g2!2 g2@2 g2@2 g2@2 g2@2 g2@2 e2",
  BC: "[e2 d2@2 d2!2 d2@2 d2@2 d2@2 d2@2 f#2@2 f#2@2 g2@2 g2@2 g2@2 g2@2 g2@2 g2!4 f#2]/2",
  BD: "[f#2 d2@2 d2!2 d2@2 d2!2 d2@2 d2@2 c2 c#2 d2@2 b1@2 b1@2 b1@2 c#3 d3 e3@2 d3@2 c#3 d3 c#3]/2",
  BE: "[b2 b2@2 b2!2 b2@2 b2!4 d3 c#3 b2 a#2 a2@2 g2@3 g2 g2@2 g2@2 g2 g3!3 g2@2 g2@2 g2@2 g2@2 g2@2 g2@2 f#2@2 f#2@2 e2@2 e2@2 d2 ~ d2@2 ~@3 d2!2 ~ d2@2 ~@3]/4",
  BF: "d2!2 ~ d2@2 ~@2 a2!2 b2 f#3 a2 c3 f2@3", BG: "e2 d2@2 d2@2 a2!3 c3@2 a#2!3 a2 g2 f2",
  BH: "e2 d2@2 d2@2 a2!3 c3 ~ a#2!3 a#3@2 a2", BI: "a#2 d2@2 d2@2 a2@2 a2 c3@2 a#2!3 a#3!2 a2", BJ: "a#2 ~@15",
  BK: "~ d2@2 d2@2 a2@2 a2 c3@2 a#2!3 a#3 a#2 a2", BL: "a#2 d2@2 d2@2 a2!3 c3@2 a#2!3 a2 g2 f2",
  BM: "e2 d2@2 d2@2 a2@2 a2 c3@2 a#2!3 a#3 a#2 a2", BN: "e2 d2@2 d2@2 a2@2 a2 c3 f3!3 g3 f3 e3@2",
  BO: "~ d2@2 d2@2 a2!3 c3@2 a#2!3 a2 g2 f2", BP: "e2 d2@2 d3!2 a2 c3!2 c3@2 a#2!3 a2 g2 f2",
  BQ: "[e2 d2@2 d2@2 a2 a#2 d3 e3 f3 e3 f3 g3@2 g3 g3@2 d2@2 d2@2 a2!3 c3@2 a#2!3 a2 g2 f2]/2",
  BR: "e2 d2@2 d2@2 a2!3 c3@2 e3 f3 g3 f3 e3@2",
  BS: "[e2 d2@2 d2@2 a2!3 c3@2 g3!2 f3!2 e3 f3@2 d2@2 d2@2 ~@5 a2 a#2!4 a2]/2",
  BT: "a#2 d3@2 d3@2 a2 a2@2 a2@2 g2!5 f2", BU: "g2 d3@2 d3@2 a2!3 c3@2 a#2!4 a2 g2",
  BV: "[c2 f2@2 f2@2 a2!3 c3@2 e3 f3 g3 f3 e3 e3@2 f2@2 f2@2 ~@3 a#2@4 ~ f2@2 e2@2 d2@2 d2@2 d3!3 a#2@3 a2@2 g2@2 f2@2 d2@2 d2@2 d3!3 a#2@3 a2@2 g2@2 f2@2 d2@2 d2@2 d3!3 a#2@3 a2@2 g2@2 f2@2 ~@15]/6",
  BW: "[~ e2@5 ~ e2!2 ~@5 e2 e2@2 ~ e2@2 ~ e2!2 ~@6 c#2@5 ~ c#2!2 ~@6 c#2@2 ~ c#2@2]/3",
  BX: "~ c#2!2 ~@6 e2@2 ~ e2@2 ~ e2", BY: "e2 ~@5 e2 e2@2 ~ e2@2 ~ e2!2 ~", BZ: "~@5 a3 [a2,e3] ~@2 b3 ~ c#4@2 a3 ~ e3",
  CA: "a3 ~ b3 c#4@2 ~ a3 e3 ~ a3 b3 c#4@2 ~ a3 ~", CB: "e3 a3@5 ~@10",
})).s("gm_electric_bass_finger").gain(0.54)

// other · distortion guitar · "Guitar 3"
const distortion_guitar = note(`<
  ~@58 A B C D E F C D E F G H I J@2 H I K@2 L M H N D E F O L M H N D E F G P Q P Q P R L M H N D E F S T@31 U ~@9
>`.pickRestart({
  A: "~@10 d2!2 d2@2 d2!2", B: "d2@4 d2!2 a4!5 d2!2 a4!3", C: "a4 d2 a4 d2!6 a4!6 d2",
  D: "d2 a4!2 c5 e5@2 d5!2 c5 a4!5 d4 a4", E: "a4!3 d5!2 d2!6 d4!2 a4!2 d4", F: "d2!5 a4!5 d4!2 a4 ~ a4!2",
  G: "a4 g2!15", H: "g2!16", I: "g2 d2!7 a4 d5 e5!2 a4!3 d2", J: "[d2!3 f#4 a4@2 a4!4 a4@2 d4 a4!2 d2@2 g2!15]/2",
  K: "[d2!3 f#4 a4@2 a4!4 a4@2 d4 a4!2 d2@2 b2!15]/2", L: "b2!16", M: "b2 g2!15", N: "g2 d2 a4 d2!6 a4!6 d2",
  O: "a4 b2!15", P: "g2 d2!15", Q: "d2 g2!15", R: "d2 b2!15", S: "a4 d2!15", T: "d2!16", U: "d2 ~@15",
})).s("gm_distortion_guitar").gain(0.54).pan(0.4)

// chords · violin · D5
const violin_2 = note(`<
  [~@5 [d4,a4]!4 ~@4 [d4,a4]!3]
  [[d4,a4] ~@4 [d4,a4]!4 ~@4 [d4,a4]!3]!3
  [[d4,a4] ~@4 [a4,d5]!4 ~@4 [a4,d5]!3]
  [[a4,d5] ~@4 [a4,d5]!4 ~@4 [a4,d5]!3]!6
  [[a4,d5] ~@15]
  ~@136
>`).s("gm_violin").gain(0.42)

// drums · kick
const kick = s("bd").struct("<[x!2 ~ x ~@4 x!2 ~ x ~@4] [~ x ~ x ~@4 x!2 ~ x ~@4]!137 ~@10>").gain(0.72)

// drums · snare
const snare = s("sd").struct("<[~@5 x ~@7 x ~@2] [x ~@4 x ~@7 x ~@2]!137 x ~@9>").gain(0.72)

// drums · hihat
const hihat = s("hh").struct("<[~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x]!138 ~@10>").gain(0.72)

// drums · crash
const crash = s("cr").struct("<[~ x ~@14] ~@147>").gain(0.72)

stack(
  acoustic_guitar_steel, violin, banjo, whistle, acoustic_guitar_steel_2, bass, distortion_guitar, violin_2, kick,
  snare, hihat, crash
)

More by Dave Matthews Band