Strudelify
Time cover art

1994 · Cracked Rear View

Time

Hootie & the Blowfish

KeyD majorTempo109 bpm
0:00/0:00
// Time — Hootie & the Blowfish
// 109 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: pitch bends are ignored
// note: Full arrangement: all 131 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): El. Guitar R.
setcpm(109/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.

// bass · electric bass pick · "Bass"
const bass = note(`<
  ~@21 A@8 B@8 C@8 D@4 E@5 F G F G H I G F J K F L M N M O P Q R F G F G H I G F G F@2 G F S F G F S F G F S F G F S H I
  G F J T F G F G F G F G H I G U@2 V ~@12
>`.pickRestart({
  A: "[~@31 a2@29 ~@3 g2@26 ~@6 d2@50 ~@14 e1@30 ~@2 a1@28 ~@4 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2]/8",
  B: "[~@11 e2@6 e2 ~ e2@6 ~@2 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2@11 ~ e2@6 e2 ~@9 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2, ~@211 e3@11 ~@34]/8",
  C: "[~@11 e2@6 e2 ~ e2@6 ~@2 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2@11 ~ e2@6 e2 ~@9 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2@11 ~ e2@6 e2 ~@9 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2, ~@83 e3@11 ~@117 e3@11 ~@34]/8",
  D: "[~@11 e2@6 e2 ~ e2@6 ~@2 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 d2@11 ~ e2@6 e2 ~@9 a1@2 b1@2 a1@6 e2@6 a2@8 a2@12 g1, ~@83 e3@11 ~@34]/4",
  E: "[~@5 d2@6 g2@8 g2@8 g2@2 a2@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 a1@2 b1@2 d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2 e2@10 ~@2 e2@6 b1@2 ~@8 e1@4 a1@14 ~@2 a1@5 ~ a1@5 ~ a1@4 ~, ~@115 e2@11 ~@34]/5",
  F: "d2@11 ~ e2@6 e2 ~ e2@6 ~@2 g2@2 a2@2", G: "d2@11 ~ e2@6 e2 ~ e2@6 ~@2 a1@2 b1@2", H: "a1@3 e2@3 a2@4 a2@6",
  I: "g1@3 d2@3 g2@4 g2@4 g2 a2", J: "e2@5 ~ e2@3 b1 ~@4 e1@2, ~@20 e2@11 ~", K: "a1@12 a2@8 g2@3 ~ g2@4 f#2@2 e2@2",
  L: "d2@11 ~ e2@6 e2 ~ e2@8 e2@4", M: "b1@6 a2@2 b2@4 a1@7 ~ a1@7 ~ a2@4, ~@27 g2@2 ~@3",
  N: "g1@7 a1 a#1 b1@3 d2@8 ~ d2@5 e2@2 g2@4", O: "d2@6 e2@2 f#2@4 g2@6 d2@2 g1@4 g1@7 ~",
  P: "a1@12 g1@7 ~ g1@6 ~@2 g1@4", Q: "a1@6 g1@3 ~ g1@3 ~ g1@2",
  R: "a1@3 ~ a1@3 ~ a1@2 ~@2 a1@4 g1@3 ~ g1@3 ~ g1@2 ~@2 g1@3 ~", S: "d2@11 ~ e2@6 e2 ~@9 a1@2 b1@2, ~@20 e3@11 ~",
  T: "a1@7 ~ a1@2 ~ a1@2 ~ a1@2", U: "[d2@11 ~ e2@6 e2 ~ e2@7 ~ g2@2 ~@2 e2@32, ~@31 a2@2 ~@31]/2",
  V: "~ a1@12 ~ a1@18",
})).s("gm_electric_bass_pick").gain(0.64)

// chords · acoustic guitar steel · "El. Guitar L"
const acoustic_guitar_steel = note(`<
  ~ A@7 B@8 C@8 D@8 B@8 E@6 F@8 G@4 H I J@2 K L J@2 M N M O P@2 Q G@4 H I J@20 R I J@2 K S G@7 T R I J@2 U V W@3 X Y@8
>`.pickRestart({
  A: "[~@43 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 d3, ~@31 d3@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~, ~@35 a3@10 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 ~, ~@47 g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~, ~@55 g4@9 ~@55 g4@9 ~@55 g4@9 ~@32]/7",
  B: "[~@11 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 d3, ~@3 a3@10 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 ~, ~@7 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~, ~@15 g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~, ~@23 g4@9 ~@55 g4@9 ~@55 g4@9 ~@55 g4@9 ~@32]/8",
  C: "[~@11 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [d3,g3]@4 [g3,d4]@4 g3@4 [d3,g3]@4 [g3,d4]@4 g3@4 g3@4 [g3,d4,g4]@4 d3, ~@3 a3@10 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 ~@32 g2@12 g2@12 ~@9, ~@7 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 [c#4,e4]@12 e4@20 ~@8 d4@8 ~@4 [d4,g4]@8 ~@5, ~@15 g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~@12 c#4@12 c#4@8 ~@4 d3@8 ~@4 d3@8 [b2,d3]@8 ~, ~@23 g4@9 ~@55 g4@9 ~@55 g4@9 ~@71 g4@12 ~@13]/8", // A5 G5 C#m G5 Bm
  D: "[~@11 d3@2 ~@30 d3@2 ~@10 g4@8 e3@4 ~@24 e3@3 ~ g3@4 ~@8 [a2,c#4]@19 ~@13 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 d3, ~@3 a3@10 e3@18 d3@9 ~@5 e3@18 [e2,b2]@32 [a2,d4]@12 ~@44 g4@9 ~@55 g4@9 ~@32, ~@7 d4@12 d4@8 d4@11 ~ d4@12 d4@12 b3@12 d4@4 g4@15 ~@41 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~, ~@15 g3@17 ~@3 a3@11 ~ g3@16 g3@8 g3@12 d4@12 ~@4 g3@27 ~@5 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~, ~@23 g4@9 ~@35 e3@20 g3@7 ~ e3@8 e3@23 ~ d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 ~]/8", // A E5 D5
  E: "[~@11 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 d3, ~@3 a3@10 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 ~, ~@7 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12 ~, ~@15 g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~@4 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 ~, ~@23 g4@9 ~@55 g4@9 ~@55 g4@9 ~@32]/6",
  F: "[~@11 d3@2 ~@30 d3@2 ~@10 g4@8 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [a2,e3,a3]@4 [d3,g3]@4 [g3,d4]@4 g3@4 [d3,g3]@4 [g3,d4]@4 g3@4 g3@4 [g3,d4,g4]@4 ~@12 d3@2 ~@30 d3@2 ~@10 g4@8 e3@4 ~@24 e3@3 ~ g3@4 ~@8 a2@4 [a2,e3]@4 ~@2 [a2,e3,g3,c#4]@4 ~@2 [a2,e3,g3,c#4]@4 ~, ~@3 a3@10 e3@18 d3@9 ~@5 e3@18 ~@32 g2@12 g2@12 ~@32 g4@9 ~@35 e3@20 g3@7 ~ e3@8 e3@7 ~@18, ~@7 d4@12 d4@8 d4@11 ~ d4@12 d4@12 [c#4,e4]@12 e4@20 ~@8 d4@8 ~@4 [d4,g4]@8 ~@8 a3@11 ~ g3@17 ~@3 a3@11 ~ g3@16 g3@8 g3@12 d4@12 ~@4 g3@16 ~@13, ~@15 g3@17 ~@3 a3@11 ~ g3@16 ~@12 c#4@12 c#4@8 ~@4 d3@8 ~@4 d3@8 [b2,d3]@8 d3@9 ~@5 e3@18 d3@9 ~@5 e3@18 [e2,b2]@32 [a2,d4]@12 ~@21, ~@23 g4@9 ~@71 g4@12 ~@20 d4@12 d4@8 d4@11 ~ d4@12 d4@12 b3@12 d4@4 g4@15 ~@13 c#4@8 ~@13]/8", // A5 G5 A5 A7 C#m G5 Bm E5 …
  G: "[d3,a3,d4,f#4]@3 ~ [d3,a3]@2 [e3,g3]@4 [e3,g3]@3 ~ [e3,g3]@2, ~@3 [d4,f#4]@3 [d4,g4]@7 [d4,g4]@3", // D D5 Em D G5
  H: "[a2,e3,a3,c#4,e4]@3 ~ [a2,e3,a3]@2 [a2,e3,a3]@4 [a2,e3,a3]@3 ~ [a2,e3,a3]@2, ~@3 [c#4,e4]@3 [c#4,e4]@7 [c#4,e4]@3", // A A5 C#m
  I: "[d3,g3] [g3,d4] g3 [d3,g3] [g3,d4] g3!2 [g3,d4,g4], g2@3 g2@3 ~@2, ~ d3@2 ~ d3@2 [b2,d3]@2, ~@2 g4@3 ~@3, ~@2 d4@2 ~ [d4,g4]@2 ~", // G5 Bm G5
  J: "[~@6 d3 ~@15 d3 ~@5 g4@4, d3@8 d4@12 d4@8 d4@11 ~ d4@12 d4@12, ~@4 a3@10 e3@18 d3@9 ~@5 e3@18, ~@16 g3@17 ~@3 a3@11 ~ g3@16, ~@24 g4@9 ~@31]/2",
  K: "e3@4 ~@24 e3@3 ~, [e2,b2], b3@12 d4@4 g4@15 ~, g3@2 g3@3 d4@3, ~@4 e3@20 g3@7 ~", // E5
  L: "[a2,e3,g3,d4,e4]@3 ~ [a2,e3,g3]@2 [a2,e3,g3]@4 [a2,e3,g3]@3 ~ [a2,e3,g3]@2, ~@3 [d4,e4]@3 [c#4,e4]@7 [c#4,e4]@3", // Asus4 A7 Dsus2 C#m
  M: "f#3@2 ~ [b3,d4] [b2,f#3,b3,d4,f#4]@2 [a2,e3,a3,c#4,e4]@3 [a3,c#4] e3@2 ~ [a3,c#4] [a2,e3,a3,c#4,e4]@2, [b2,b3,d4,f#4]@2 ~@3 [a2,a3,c#4,e4]@2 ~, ~ f#3 ~@4 e3 ~", // Bm A Bm A
  N: "[g2,d3,g3,b3,g4]@6 [g3,b3]@2 [g2,d3,g3,b3,g4]@4 d3@4 ~@2 [g3,b3]@2 [g2,d3,g3,b3,g4]@6 [g3,b3]@2 [g2,d3,g3,b3,g4]@3 ~, ~@3 [g2,g3,b3,g4]@2 ~@3, ~@4 d3 ~@3", // G
  O: "[d2,d3,a3,d4,f#4]@3 [a3,d4] [d2,d3,a3,d4,f#4]@2 d3@2 ~ [g3,b3] [g2,d3,g3,b3,g4]@3 [g3,b3] [g2,d3,g3,b3,g4]@2, ~@3 [g2,g3,b3,g4]@2 ~@3, ~@4 d3 ~@3", // D D5 D G
  P: "[a2,e3,a3,c#4,e4]@3 [a3,c#4] [a2,e3,a3,c#4,e4]@2 d3@2 ~ [g3,b3] [g2,d3,g3,b3,g4]@3 [g3,b3] [g2,d3,g3,b3,g4]@2, ~@3 [g2,g3,b3,g4]@2 ~@3, ~@4 d3 ~@3", // A G
  Q: "[a2,e3,a3,c#4]!4 [g2,d3,g3,b3]!4", R: "[a2,e3,a3]!8, [c#4,e4]@3 e4@5, ~@3 c#4@3 c#4@2",
  S: "g3@4 ~@8 a2@4 [a2,e3]@4 ~@2 [a2,e3,g3,c#4]@4 ~ [a2,e3,g3,c#4]@4 ~, [a2,d4]@3 c#4@2 ~@3, e3@8 e3@7 ~@17, ~ g3@4 ~@3", // A5 A7 D5
  T: "[d3,a3,d4,f#4]@3 ~ [d3,a3]@2 [e3,g3]@4 [e3,g3]@3 [d4,g4]@3, ~@3 [d4,f#4]@3 [d4,g4]@7 ~@3", // D D5 Em G5 D G5
  U: "~ [e3,g3]@31, [e2,b2,b3]", V: "~ [a2,e3,g3,d4]@12 ~ [a2,g3,c#4]@18, ~@13 e3@19",
  W: "[~@15 d3@2 ~@30 d3@3 ~@10 g4@8 ~@12 d3@2 ~@11 g4@3, ~@2 d3@8 d4@12 ~ d4@8 d4@12 d4@12 ~ d4@12 ~@8 d4@12 ~ d4@7, ~@6 a3@11 e3@18 d3@10 ~@5 e3@18 d3@10 ~@4 e3@14, ~@19 g3@17 ~@3 a3@12 ~ g3@16 ~@4 a3@12 g3@12, ~@9 g4@3 ~@20]/3",
  X: "~@17 d3@2 ~@7 d4@4 g4@2, ~ d4@12 d4@12 ~@7, ~@5 d3@10 ~@4 e3@13, ~@9 a3@12 g3@11",
  Y: "[~@18 d3@2 ~@31 d3@2 ~@10 g4@8 ~@13 d3@2 ~@22 f#4@148, ~@6 d3@8 d4@12 d4@8 ~ d4@12 d4@12 d4@12 ~@9 d4@12 ~ d4@9 d4@4 a3@149 ~, ~@10 a3@10 e3@18 ~ d3@10 ~@4 e3@18 ~ d3@10 ~@4 e3@19 d3@150 ~, ~@22 g3@17 ~@4 a3@12 g3@16 ~@5 a3@12 g3@19 ~@149, ~@31 g4@9 ~@57 g4@10 d4@149]/8",
})).s("gm_acoustic_guitar_steel").gain(0.26).pan(0.7)

// chords · acoustic guitar steel · "Ac. Guitar (R)"
const acoustic_guitar_steel_2 = note(`<
  ~@27 A@7 B@8 C@6 D@6 E F E F G H E F I J F K L M L N O@2 P E F E F G H E F E F E F E F E F E F E F E F E F E F G H E F
  I Q E F E F E F E F G H E F R S T@2 U V@3 W@6
>`.pickRestart({
  A: "[~@31 a2@4 ~@2 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 a2@4 ~@2 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 a2@4 ~@2 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4], ~@31 [d2,d3,a3,d4]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@12 [d2,d3,a3,d4]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@12 [d2,d3,a3,d4]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@13, ~@35 a2@4 ~@16 b2@4 ~@20 b2@4 ~@16 a2@4 ~@16 b2@4 ~@20 b2@4 ~@16 a2@4 ~@16 b2@4 ~@20 b2@4 ~@13]/7", // D5 Em D5 Em D5 Em D5 Em …
  B: "[~@5 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 a2@4 ~@2 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 a2@4 ~@2 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 a2@4 ~@2 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4], ~@3 a2@4 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@12 [d2,d3,a3,d4]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@12 [d2,d3,a3,d4]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@12 [d2,d3,a3,d4]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@13, ~@23 b2@4 ~@20 b2@4 ~@16 a2@4 ~@16 b2@4 ~@20 b2@4 ~@16 a2@4 ~@16 b2@4 ~@20 b2@4 ~@16 a2@4 ~@16 b2@4 ~@20 b2@4 ~@13]/8", // D5 Em D5 Em D5 Em D5 Em …
  C: "[~@5 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 a2@4 ~@2 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 a2@4 ~@2 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [a2,e3,a3,c#4], ~@3 a2@4 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@12 [d2,d3,a3,d4]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@12 [d2,d3,a3,d4]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@13, ~@23 b2@4 ~@20 b2@4 ~@16 a2@4 ~@16 b2@4 ~@20 b2@4 ~@16 a2@4 ~@16 b2@4 ~@20 b2@4 ~@13]/6", // D5 Em D5 Em D5 Em D5 Em …
  D: "[~@5 [e3,a3]@2 [a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@6 [e3,a3]@2 a2@4 ~@2 [e3,a3]@2 [a2,e3,a3,c#4]@4 [g2,b2,d3,g3,d4]@6 [d3,g3]@2 [g2,b2,d3,g3,d4]@4 b2@4 ~@2 [d3,g3]@2 [g2,b2,d3,g3,d4]@6 [d3,g3]@2 [g2,b2,d3,g3,d4]@4 a2@4 ~@2 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [d2,a2,d3,a3,d4]@6 [d3,a3]@2 [d2,a2,d3,a3,d4]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 b2@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [e2,b2,e3,g3,b3]@6 [e3,g3]@2 [e2,b2]@4 ~@2 [e3,g3]@2 [e2,b2,e3,g3,b3]@4 [a2,e3,g3,d4]@6 [e3,g3]@2 [a2,e3,g3,d4]@4 [a2,e3,g3,c#4]@4 [a2,e3,g3,c#4]@4 ~@2 [a2,e3,g3,c#4]@4 ~@2 [a2,e3,g3,c#4]@4 ~, ~@3 a2@4 ~@12 [e3,a3,c#4]@8 ~@20 b2@4 ~@16 a2@4 ~@16 b2@4 ~@20 b2@4 ~@16 b2@4 ~@12 [e3,g3,b3]@8 ~@37, ~@23 a2@4 ~@16 [g2,d3,g3,d4]@8 ~@12 [d2,d3,a3,d4]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,e3,g3,b3]@8 ~@12 [e2,e3,g3,b3]@8 ~@16 [e2,b2]@4 ~@37]/6", // A5 A A5 A G G5 G G5 …
  E: "a2@2 ~ [d3,a3] [d2,a2,d3,a3,d4]@2 [e2,b2,e3,g3,b3]@3 [e3,g3] b2@2 ~ [e3,g3] [e2,b2,e3,g3,b3]@2, [d2,d3,a3,d4]@2 ~@3 [e2,e3,g3,b3]@2 ~, ~ a2 ~@4 b2 ~", // D5 Em D5 Em
  F: "[d2,a2,d3,a3,d4]@3 [d3,a3] [d2,a2,d3,a3,d4]@2 b2@2 ~ [e3,g3] [e2,b2,e3,g3,b3]@3 [e3,g3] [e2,b2,e3,g3,b3]@2, ~@3 [e2,e3,g3,b3]@2 ~@3, ~@4 b2 ~@3", // D5 Em
  G: "a2@2 ~ [e3,a3] [a2,e3,a3,c#4]@2 [a2,e3,a3,c#4]@3 [e3,a3] a2@2 ~ [e3,a3] [a2,e3,a3,c#4]@2, [e3,a3,c#4]@2 ~@3 [e3,a3,c#4]@2 ~, ~ a2 ~@4 a2 ~", // A5 A A5 A
  H: "[g2,b2,d3,g3,d4]@3 [d3,g3] [g2,b2,d3,g3,d4]@2 b2@2 ~ [d3,g3] [g2,b2,d3,g3,d4]@3 [d3,g3] [g2,b2,d3,g3,d4]@2, ~@3 [g2,d3,g3,d4]@2 ~@3, ~@4 b2 ~@3", // G G5 G G5 G G5 G G5
  I: "b2@2 ~ [e3,g3] [e2,b2,e3,g3,b3]@2 [e2,b2,e3,g3,b3]@3 [e3,g3] [e2,b2]@2 ~ [e3,g3] [e2,b2,e3,g3,b3]@2, [e2,e3,g3,b3]@2 ~@4 [e2,b2] ~, ~ b2 ~@3 [e3,g3,b3]@2 ~", // Em E5 Em E5 Em
  J: "a2@2 ~ [e3,a3] [a2,e3,a3,d4]@2 [a2,e3,a3,c#4]@3 [e3,a3] a2@2 ~ [e3,a3] [a2,e3,a3,c#4]@2, [e3,a3,d4]@2 ~@3 [e3,a3,c#4]@2 ~, ~ a2 ~@4 a2 ~", // A5 Asus4 A A5 A Dsus2 A
  K: "[d2,a2,d3,a3,d4]!3 [e2,b2,e3,g3,b3]!5", // D5 Em
  L: "f#3@2 ~ [b3,d4] [b2,f#3,b3,d4,f#4]@2 [a2,e3,a3,c#4,e4]@3 [a3,c#4] e3@2 ~ [a3,c#4] [a2,e3,a3,c#4,e4]@2, [b2,b3,d4,f#4]@2 ~@3 [a2,a3,c#4,e4]@2 ~, ~ f#3 ~@4 e3 ~", // Bm A Bm A
  M: "[g2,d3,g3,b3,g4]@3 [g3,b3] [g2,d3,g3,b3,g4]@2 d3@2 ~ [g3,b3] [g2,d3,g3,b3,g4]@3 [g3,b3] [g2,d3,g3,b3,g4]@2, ~@3 [g2,g3,b3,g4]@2 ~@3, ~@4 d3 ~@3", // G
  N: "[d2,d3,a3,d4,f#4]@3 [a3,d4] [d2,d3,a3,d4,f#4]@2 d3@2 ~ [g3,b3] [g2,d3,g3,b3,g4]@3 [g3,b3] [g2,d3,g3,b3,g4]@2, ~@3 [g2,g3,b3,g4]@2 ~@3, ~@4 d3 ~@3", // D D5 D G
  O: "[a2,e3,a3,c#4,e4]@3 [a3,c#4] [a2,e3,a3,c#4,e4]@2 d3@2 ~ [g3,b3] [g2,d3,g3,b3,g4]@3 [g3,b3] [g2,d3,g3,b3,g4]@2, ~@3 [g2,g3,b3,g4]@2 ~@3, ~@4 d3 ~@3", // A G
  P: "[a2,e3,a3,c#4]!4 [g2,d3,g3,b3]!4", // A G
  Q: "[a2,e3,g3,d4]@6 [e3,g3]@2 [a2,e3,g3,d4]@4 [a2,e3,g3,c#4]@4 [a2,e3,g3,c#4]@3 ~@3 [a2,e3,g3,c#4]@3 ~@3 [a2,e3,g3]@3 ~, ~@27 c#4@3 ~@2", // Asus4 Em Asus4 A7
  R: "[e2,b2,e3,g3,b3]", S: "~ [a2,e3,g3,d4]@12 ~ [a2,e3,g3,c#4]@18",
  T: "[~@15 d3@2 ~@31 d3@2 ~@10 g4@4, ~@2 d3@9 d4@12 d4@8 d4@12 ~ d4@12 d4@8, ~@6 a3@11 e3@18 d3@10 ~@5 e3@14, ~@19 g3@17 ~@3 a3@12 ~ g3@12, ~@27 g4@9 ~@28]/2",
  U: "~@16 d3@3 ~@10 g4@3, ~@4 d3@8 d4@12 ~ d4@7, ~@8 a3@11 e3@13, ~@21 g3@11",
  V: "[~@17 d3@2 ~@11 g4@8 ~@12 d3@2 ~@31 d3@2 ~@6 d4@5, ~ d4@12 d4@12 ~ d4@12 ~@8 d4@12 ~ d4@8 d4@12 d4@12 ~@5, ~@5 d3@10 ~@4 e3@18 ~ d3@10 ~@4 e3@18 ~ d3@10 ~@4 e3@11, ~@9 a3@12 ~ g3@16 ~@4 a3@12 g3@17 ~@4 a3@12 g3@9, ~@21 g4@3 ~@8]/3",
  W: "[g4@4 ~@6 d3 ~@11 f#4@74, ~@8 d3@8 d4@12 ~ d4@9 d4@4 a3@149 ~, ~@12 a3@10 e3@19 d3@150 ~, ~@24 g3@19 ~@149, ~@33 g4@10 d4@149]/6",
})).s("gm_acoustic_guitar_steel").gain(0.37).pan(0.3)

// chords · distortion guitar · "Dist Rhy Guitar"
const distortion_guitar = note(`<
  ~@27 A@5 ~@7 B@5 ~@3 C@7 D@3 E@6 F@4 G@2 H I J K L D@2 M@2 N@8 ~@4 O@5 ~@3 P@7 D@7 Q@5 R@2 ~@12
>`.pickRestart({
  A: "[~@31 [a3,d4]@129, ~@30 d3@129 ~]/5", // D5
  B: "[~@27 [d3,a3,d4]@2 ~@2 [a3,d4]@127 ~@2, ~@29 [d3,a3,d4]@2 ~@129, ~@30 d3@127 ~@3]/5", // D5
  C: "[~@28 c#4 ~@2 [a2,c#4]@29 ~ d3 ~ [g2,d4]@28 ~ d4 ~@2 [a3,d4]@59 ~@2 d4 ~@2 [g3,d4]@28 ~ d4 ~@2 [a2,d4]@16 [a2,e3,c#4]@4 ~@2 [a2,e3,c#4]@4 ~ [a2,e3,c#4]@3 ~@2 [c3,c#3], ~@27 [a2,e3]@2 [a2,e3,c#4]@2 ~@29 [g2,d4]@3 ~@30 [a3,d4]@2 ~@63 e2@28 ~ [a2,e3]@2 [a2,e3,d4]@2 ~@30 a#2@2 ~, ~@30 e3@30 ~@2 d3@28 ~ [d3,a3]@3 d3@59 ~@2 [e2,g3]@2 [e2,g3,d4]@2 ~@31 e3@16 ~@16 b2@2]/7", // A G5 D5 G5 D5 A C#maj7 A5 …
  D: "[d3,a3,f#4]@10 ~ e3 [e3,b3,g4]@18 ~ d3, ~@5 [b3,g4] ~@9 [a3,f#4]", // D Em D
  E: "[[d3,a3,f#4]@10 ~ e3 [e3,b3,g4]@16 ~ c#4 ~@2 [a2,c#4]@29 ~ d3 ~@2 d4@27 ~ [a3,d4] ~@2 [a3,d4]@60 ~ d4 ~@2 [g3,d4]@28 ~ d4 ~ e3, ~@10 [b3,g4]@2 ~@16 [a2,e3]@2 [a2,c#4]@2 ~@29 [g2,d4]@3 g2@28 ~@2 [a3,d4]@2 ~@62 [g3,d4]@2 ~@32, ~@31 e3@30 ~@2 d3@28 ~ d3@3 d3@60 ~ [e2,g3]@2 ~ e2@28 ~ [a2,e3]@2 [a2,d4]@2]/6", // D Em A D5 G5 Em A5 A …
  F: "[[a2,d4]@11 ~ [a2,c#4]@16 ~ [a3,d4] ~@2 [a3,d4]@60 ~ d4 ~@2 [b2,d4]@10 ~ a2 [a2,e3,c#4]@18 ~ g2, ~@11 e3@17 d3@2 [a3,d4]@2 ~@63 f#3@11 [e3,c#4]@2 ~@18 [d3,b3]@2, ~@31 d3@60 ~ [b2,f#3]@2 [b2,d4]@2 ~@32]/4", // D5 A D5 Bm A D5 C#m G …
  G: "[[g2,d3,b3]@10 ~ g2 [g2,d3,b3]@16 ~ d4 ~@2 [b2,d4]@10 ~ a2 [a2,e3,c#4]@18 ~ a2, ~@5 [d3,b3] ~@8 [b2,f#3] [b2,d4] ~@16, ~@31 f#3@11 [e3,c#4]@2 ~@18 [f#3,d4]@2]/2", // G Bm A G B5 Bm C#m D
  H: "[a2,f#3,d4]@10 ~ g2 [g2,d3,b3]@18 ~ a2, ~@5 [d3,b3] ~@9 [e3,c#4]", // D G C#m
  I: "e5@6 e5@2 ~@3 g2 [g2,d3,b3]@18 ~ a2, [a2,e3,c#4]@5 [d3,b3] ~@9 [e3,c#4], ~@2 e5 ~@5", // G A G C#m
  J: "[a2,e3,c#4]@10 ~ g2 [g2,d3,b3]@18 ~ a2, ~@5 [d3,b3] ~@9 [e3,c#4]", // A G C#m
  K: "[a2,e3,c#4]@14 ~ g2 [g2,d3,b3]@15 ~, ~@7 [d3,b3] ~@8", // A G
  L: "[a3,f#4]@10 ~ e3 [e3,b3,g4]@18 ~ d3, ~@5 [b3,g4] ~@9 [a3,f#4]", // D Em D
  M: "[[d3,a3,f#4]@10 ~ e3 [e3,b3,g4]@16 ~ c#4 ~@2 [a2,c#4]@29 ~ d3!2, ~@10 [b3,g4]@2 ~@16 [a2,e3]@2 [a2,c#4]@2 ~@29 [g2,d4]@3, ~@31 e3@30 ~@3]/2", // D Em A Em A5 A G5
  N: "[~ d4@27 ~ [a3,d4] ~@2 [a3,d4]@125 ~@3 [a3,d4]@96, g2@14 d3 [a3,d4] ~@63 a3 ~@48, ~@31 d3@125 ~@3 d3@97]/8", // D5
  O: "[~@28 [d3,a3,d4]@2 ~@2 [a3,d4]@127 ~, ~@15 [d3,a3,d4] ~@64, ~@31 d3@127 ~@2]/5", // D5
  P: "[~@29 c#4 ~@2 [a2,c#4]@29 ~ d3 ~@2 d4@27 ~ [a3,d4] ~@2 [a3,d4]@59 ~@2 d4 ~@2 [g3,d4]@28 ~ d4 ~@2 [a2,d4]@16 [a2,e3,c#4]@4 ~ [a2,e3,c#4]@4 ~@2 [a2,e3,c#4]@2 ~ b2 [c3,c#3], ~@28 [a2,e3]@2 [a2,c#4]@2 ~@29 [g2,d4]@3 g2@28 ~@2 [a3,d4]@2 ~@62 [g3,d4]@2 ~@31 e3@16 ~@17, ~@31 e3@30 ~@2 d3@28 ~ d3@3 d3@59 ~@2 [e2,g3]@2 ~ e2@28 ~ [a2,e3]@2 [a2,d4]@2 ~@29 a#2@2 ~]/7", // A D5 G5 D5 A C#maj7 A5 A …
  Q: "[[d3,a3,f#4]@10 ~ e3 [e3,b3,g4]@16 ~ c#4 ~@2 [a2,c#4]@29 ~ d3 ~@2 d4@27 ~ [a3,d4] ~@2 [a3,d4]@60 ~@3 [e2,g3], ~@10 [b3,g4]@2 ~@16 [a2,e3]@2 [a2,c#4]@2 ~@29 [g2,d4]@3 g2@28 ~@2 [a3,d4]@2 ~@61 [g3,d4]@2 ~, ~@31 e3@30 ~@2 d3@28 ~ d3@3 d3@59 ~@2 e2@2 d4@2]/5", // D Em A D5 Em A5 A G5 …
  R: "[~ d4@28 ~ [a2,d4] ~ e3 ~ d4@11 ~ c#4@18, [e2,g3]@29 e3@2 [a2,d4]@2 [a2,e3]@12 [a2,e3]@19]/2", // D5 Em D5 A5
})).s("gm_distortion_guitar").gain(0.29).pan(0.3)

// drums · kick
const kick = s("bd").struct(`<
  ~@27 A B C B C B C B C B C B C B C B C B C B C B C B C@2 D E F E F E F E F@2 E F G E F E F E F G E F E F E F E F E F E
  F E F E F E F E F E F E F E F E F E F@2 H E F E F E F E F E F E I J K ~@12
>`.pickRestart({
  A: "~@31 x", B: "~@5 x ~@5 x ~@7 x ~@7 x ~@3 x", C: "~@5 x ~@5 x ~@7 x ~@11 x", D: "~@5 x ~@5 x ~@20",
  E: "x ~@2 x ~@2 x ~@3 x ~@3 x ~", F: "x ~@2 x ~@2 x ~@3 x ~@5", G: "x!8", H: "x ~@2 x ~@2 x ~@9",
  I: "x ~@2 x ~@2 x ~@3 x!2 ~@2 x ~", J: "x", K: "~ x ~@12 x ~@17",
})).gain(0.51)

// drums · snare
const snare = s("sd").struct("<~@28 A@25 B C@9 D C E C@6 E C@31 F C@12 ~@14>".pickRestart({
  A: "~@7 x ~@9 x ~@5 x ~@8", B: "~@7 x ~@7 x ~@16", C: "~@4 x ~@4 x ~@2 x ~@3", D: "~ x!3", E: "x!8", F: "~ x!2 ~",
})).gain(0.41)

// drums · low tom
const low_tom = s("lt").struct("<~@53 A ~@11 B ~@6 B ~@31 C ~@26>".pickRestart({
  A: "~@27 x ~@4", B: "x!8", C: "~@7 x",
})).gain(0.36)

// drums · hihat
const hihat = s("hh").struct("<A B ~@26 C D@24 E F G@8 H@2 ~ G@6 ~ F G@30 H F G@10 I ~@14>".pickRestart({
  A: "~@31 x", B: "~@7 x ~@7 x ~@7 x ~@8", C: "~@13 x ~@7 x ~@7 x ~@2", D: "~@5 x ~@7 x ~@7 x ~@7 x ~@2",
  E: "~@5 x ~@7 x ~@18", F: "~@7 x ~@3 x ~@3 x", G: "~@3 x ~@3 x ~@3 x ~@3 x", H: "~@3 x ~@3 x ~@8",
  I: "~@6 x ~@7 x ~@7 x ~@8 x",
})).gain(0.2)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@28 A@19 B@6 C D E@3 D@5 F D G D@6 G D E@3 D@6 E@16 D@5 F D E@7 D@4 ~ H ~@12
>`.pickRestart({
  A: "~@7 x ~@7 x ~@7 x ~@7 x", B: "~@7 x ~@7 x ~@7 x ~@8", C: "~@7 x ~@24", D: "~ x!3", E: "x!4", F: "~ x ~@2", G: "x",
  H: "~@20 x ~ x ~ x!4 ~ x!3",
})).gain(0.41)

// drums · mid tom
const mid_tom = s("mt").struct("<~@53 [~@21 x ~@10] ~@50 [~@11 x ~@4] ~@26>").gain(0.36)

// drums · high tom
const high_tom = s("ht").struct("<~@53 [~@21 x ~@10] ~@50 [~@11 x ~@4] ~@26>").gain(0.41)

// drums · crash
const crash = s("cr").struct(`<
  ~@27 A ~@19 A@3 ~ A@2 ~ B ~@3 B@3 ~ B@2 C B@2 ~ B ~ B ~ B@2 ~@3 B@3 ~ B ~@17 B@3 ~ B@3 ~@7 B@3 ~ B D ~@12
>`.pickRestart({
  A: "~@31 x", B: "x", C: "x ~@27 x ~@2 x", D: "~ x ~@12 x ~@17",
})).gain(0.36)

// drums · crash · soft notes
const crash_soft = s("cr").struct("<~@64 [~@25 x!3 ~@2 x ~] ~@66>").gain(0.15)

// drums · tambourine
const tambourine = s("tb").struct("<~@27 A B@25 C D@50 E D@12 F G ~@12>".pickRestart({
  A: "~@31 x", B: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x",
  C: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@5 x ~@6 x ~@3", D: "x!16", E: "x!9 ~@2 x ~@2 x ~", F: "x", G: "~ x ~@12 x ~@17",
})).gain(0.2)

stack(
  bass, acoustic_guitar_steel, acoustic_guitar_steel_2, distortion_guitar, kick, snare, low_tom, hihat, open_hat,
  mid_tom, high_tom, crash, crash_soft, tambourine
)

More by Hootie & the Blowfish