Strudelify
Come Monday cover art

1974

Come Monday

Jimmy Buffett

KeyA majorTempo110 bpm
0:00/0:00
// Come Monday — Jimmy Buffett
// 110 bpm, 4/4, key A major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 88 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/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 · acoustic bass
const bass = note(`<
  ~@5 A B C D A B C E F G H I G J K C L M N O P Q G R S D T C Q U V I H W X W Y Z AA N AB O AC AD AE AF AG AD W AD@2 AH
  AI AJ AK D G C S Q T R AL AM G I H AN AO AP AQ AR AA N AS AR AT M W AU AV@2 ~
>`.pickRestart({
  A: "a1", B: "d2", C: "e2", D: "a1@23 ~", E: "a1@20 ~ a2@3", F: "b2", G: "d2@23 ~", H: "e2@23 ~", I: "e2@11 ~",
  J: "a1@3 a2", K: "d2@6 ~ d2", L: "a1@8 ~ a1@3 c#2@11 ~", M: "d2@8 ~ d2@3 e2@11 ~", N: "d2@7 ~@2 d2@3 e2@12",
  O: "a2@23 ~", P: "a2", Q: "a1@20 ~ a1@3", R: "e2@20 ~ e2@3", S: "a1@11 ~", T: "d2@19 ~@2 d2@3", U: "b1@20 ~ b1@3",
  V: "d2@20 ~ d2@3", W: "d2@7 ~@2 d2 ~@2 d2@11 ~", X: "a1@5 ~ a1@6", Y: "e2@11 ~ e2@6 f#2@6", Z: "a1@8 ~ a1@3 c#2@12",
  AA: "d2@8 ~ d2@3 e2@12", AB: "a1@7 e2", AC: "b1@7 ~@2 b1 ~@2 b1@11 ~", AD: "e2@7 ~@2 e2 ~@2 e2@11 ~",
  AE: "b1@7 ~@2 b1 ~@2 b1@12", AF: "e2@6 ~@3 e2 ~@2 e2@11 ~", AG: "b1@6 ~@3 b1 ~@2 b1@12", AH: "g1 g2",
  AI: "d2@6 ~@3 d2 ~@2 d2@11 ~", AJ: "a1@7 ~@2 a1 ~@2 a1@9 e2@3", AK: "a2@7 e2", AL: "a1@19 ~@2 a1@3", AM: "b1",
  AN: "d2@7 ~@2 d2 ~@2 d2@12", AO: "a1@7 ~@2 a1 ~@2 a1@12", AP: "d2@6 ~@3 d2 ~@2 d2@12", AQ: "e2@7 ~@2 e2 ~@2 e2@12",
  AR: "a1@7 ~@2 a1@3 c#2@12", AS: "a1 a2", AT: "d2@7 ~@2 d2@3 e2@11 ~", AU: "d2@10 ~@2 d2@3 c#2@3 b1@5 ~",
  AV: "[a1@47 ~]/2",
})).s("gm_acoustic_bass").gain(0.64)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@12 A@4 B C@3 D E F G@3 ~@7 H@5 I@5 J@4 K@4 L@7 M N@2 ~@6 O@5 P Q P D R S@4 T U@5 ~
>`.pickRestart({
  A: "[~@47 f#4@23 e5 e5@25, ~@7 [a4,c#5] d5@16 ~@8, ~@23 b4@24 ~@24 g#4@22 ~@3]/4", // A
  B: "~@12 d4 [g4,a4]@3 ~@6 d6@2, [b4,g#5]@7 ~ [b4,c#5] [e5,f#5] [a5,b5]@2, ~@12 [e4,f#4]@3 ~@2 d5@2 g5@4 ~, ~@7 c#6", // Gsus2 E Bsus2 Esus2 Asus2 Esus2
  C: "[~@13 f#5@10 ~ e5@11 ~@13 f#6@24, f#6@23 e6@12 c#5@12 f#5@24 ~, ~@36 c#6@13 ~@23]/3", D: "[e5,e6] [g#5,g#6]",
  E: "~@12 g#5@11 ~, a5", F: "f#5@12 e5@11 ~", G: "[[f#4,d5]@13 e5@10 a4@43 ~@6]/3",
  H: "[~@21 [a4,c#5]@3 ~ d5@46 g#4@23 ~@14 [f#4,g4,a4]@3 ~@7 e6@2, ~@21 f#4@51 ~@24 g#5@14 ~@2 c#5@2 f#5@3 c#6@2 ~, ~@24 b4@24 ~@23 e5@37 e4@2 ~ b4@2 [d5,e5]@2 [g5,a5]@3 d6 ~, ~@108 d4 ~@7 b5@3 ~]/5", // A F#m Dsus2 Gsus2
  I: "[f#6@23 [e5,e6]@12 [c#5,c#6]@12 ~ f#6@23 ~ e5@11 ~ g#6@11 a5@13 g#5@12, f#5@21 ~@26 f#5@24 ~@12 g#5@11 ~@26, g6@2 ~@69 e6@14 ~@35]/5", // E C#
  J: "[f#5@11 e5@12 ~ d5@11 ~@37 a4@19 ~@5, a4@23 f#4@12 g#4@7 ~@6 a5@42 ~@6, ~@36 e5@25 ~@35]/4",
  K: "[[a#4,c#5,d#5]@23 ~ g#4@23 ~ f#5@23 ~@17 d#5 ~@7, f#4@21 ~@2 b4@22 ~@2 c#5@25 e5@24, ~@24 e5@21 ~@2 [a#4,d#5]@23 ~ [g#4,b4]@23 ~@2]/4", // D#7 D#5 G#m
  L: "[[f#4,c#5]@21 ~@3 [b4,e5]@23 ~@13 a5@7 ~@5 b4@47 ~ b4@5 ~ d6@5 [g5,g6]@18 [f#5,f#6]@9 ~ e6@4 [f#5,f#6]@5, d#5@26 ~@42 g#5@49 ~@51, a#4@23 ~ g#4@20 ~@3 [a4,f#5]@24 b5@55 ~@42, ~@71 e5@48 ~@6 d5@6 ~@27 e5@5 ~@5]/7", // F#5 E5 G F# D
  M: "[e5,e6]@17 [d5,d6]@7", N: "[~@6 c#5@37 ~@5, [e5,e6] ~@5, ~@3 c#6@17 ~@4]/2",
  O: "[~@21 [a4,c#5]@3 b4@24 a4@21 ~@3 g#4@21 ~@14 b5@7 [d4,e4] f#4 ~@2 d5@2, ~@21 f#4@49 ~@2 e5@43 ~@2 [b4,c#5]@3, ~@24 d5@47 b4@43 ~@2 [g4,a4]@2 ~@2, ~@95 g#5@19 ~@6]/5", // A Dsus2 Bsus2 Gsus2
  P: "[f#5,f#6]", Q: "[e5,e6] [c#5,c#6]", R: "a5 g#5",
  S: "[f#5@11 e5@12 d5@13 g#4@9 ~@2 a5@22 ~@3 a6@12 [g#5,g#6]@12, ~@23 f#4@10 ~@3 e5@35 a5@13 ~@12, ~@47 c#5@20 ~@29]/4", // G#
  T: "[f#5,f#6] [e5,e6]", // F# E
  U: "[[d5,d6]@12 e6@11 ~ d5@38 c#5@3 b4@5 ~ a4@36 ~@13, ~@12 e5@9 ~@2 d6@40 ~@57, ~@23 f#5@12 ~@85]/5", // D
})).s("gm_string_ensemble_2").gain(0.3).pan(0.4)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@4 A@4 B@5 C D E@3 F G H I J K L@3 G M N@2 O M P Q G R@3 S T U@2 V W X@3 Y@2 Z@2 AA AB AC@3 AD@4 G M AE@2 G M F C AF
  AG@3 AH@2 AI@2 AJ@2 F AK AL AM@5 ~
>`.pickRestart({
  A: "[~@24 e4@23 ~ [d3,d4]@23 ~ [e3,b3,e4]@24, ~@23 [a2,a3,c#4]@24 [f#3,a3]@24 g#3@25]/4", // D E5 A F#m
  B: "[~@48 d4@22 ~@47 a3@3, a2@18 b3@28 f#3@25 [e3,b3]@26 ~@8 e4@15, ~@3 e3@44 [d3,a3]@24 ~ e4@26 ~@4 c#4@9 c#4@9, ~@6 a3@13 c#4@5 [a2,a3]@24 ~@48 a2@24, ~@9 e4@39 ~@22 g#3@26 ~@3 a3@18 ~@3]/5", // E5 D5 A
  C: "~@7 d4, b2, ~ f#3@7, ~@2 b3@3 d4 b3@2, ~@3 f#4@5",
  D: "~@7 a3, d3, ~@2 f#3@15 ~ f#3@6, ~@5 a3@9 ~ a3@6 ~@3, ~ d4@2",
  E: "[~@39 b3@7 ~@23 f#3@3, e2@21 b3@9 b3@9 ~@7 f#3@8 f#3@15 ~@3, ~@3 e3@21 [e2,e3]@23 ~ d3@15 d4@9, ~@6 g#3@9 b3@3 g#3@9 g#3@20 a3@2 ~@2 a3@15 [d3,a3]@6, ~@9 e4@24 e4@14 ~ d4@9 f#4@15]/3", // E D5
  F: "~@7 a3, a2, ~ a3@5 c#4@2, ~@2 c#4@3 e4@3, ~@3 a4@5", G: "~@7 a3, d3, ~ f#3@5 f#3@2, ~@2 a3@3 a3@2 ~, ~@3 d4@5",
  H: "~@7 e3, e3@7 ~, ~ g#3@5 g#3@2, ~@2 b3@3 b3@3, ~@3 e4@5",
  I: "~@3 c#4 ~@3 c#4, a2 c#3, ~@3 e3@10 ~@2 e3@9, ~@6 a3@7 ~@5 g#3@6",
  J: "~@3 d4 ~@3 e4, d3 e3, ~@3 f#3@10 ~@5 b3@6, ~@6 a3@7 ~@2 g#3@9",
  K: "~@3 d4 ~@3 g#3, d3 e3, ~ f#3@3 ~@2 b3@2, ~@2 a3@2 ~ g#3@2 ~",
  L: "[~@21 e4@2 ~@43 a3@6, a2@19 c#4@4 a2@21 a3@10 a3@9 c#4@9, ~@3 a3@21 ~@6 e3@17 ~ a2@24, ~@2 c#4@4 b3@2 ~@3 c#4@8 e4@5, ~@9 a4@15 ~@15 b3@8 ~@4 e3@21]/3",
  M: "~@7 b3, e3, ~ g#3@5 g#3@2, ~@2 b3@3 b3@2 ~, ~@3 e4@5",
  N: "[~@15 e3, a2 a2, ~ a3@7 ~ a3@4 c#4@3, ~@6 c#4@9 e3@4 c#4@2 e4@12 e4@15, ~@3 e4@3 b3@2 ~@2 e3@4 a3@2]/2",
  O: "~@3 f#3, d3, ~ f#3@5 ~@2, ~@2 a3@3 a3@3, ~@3 d4@5", P: "~@7 a3, a2, ~ a3@5 e3@2, ~@2 c#4@3 c#4@3, ~@3 e4@5",
  Q: "~@7 b3, b2@3 d4, ~ f#3@7, ~@2 b3@3 e4@3, ~@3 f#4@5",
  R: "[~@23 f#3, e3@24 e3@18 b3@4 f#3@8 f#3@15 ~@3, ~@3 g#3@15 g#3@29 a3@2 ~@2 a3@12 d4@9, ~@2 b3@3 b3@2 b3@2 b3@4 e4@3 d3@6 [d3,a3]@2, ~@3 e4@7 e4 g#4@5 d4@3 f#4@5]/3", // D5
  S: "~@5 a3, a2@3 e3, ~@3 a3@14 c#4@7, ~@2 c#4@3 e4@3, ~@3 a4@5",
  T: "~@7 a3, d3@17 d3@7, ~ f#3@5 f#3@2, ~@2 a3@3 a3@2 ~, ~@3 d4@5",
  U: "[~@11 e4 ~@3 e4, e3@24 a2@13 ~@11, ~@3 g#3@15 g#3@8 ~ a3@10 ~@2 g#3@9, ~@6 b3@9 b3@6 b3@5 ~@4 c#4@7 ~@5 [c#4,d4]@6, ~@9 e4@17 ~@10 c#3@12]/2", // Dmaj7
  V: "~@9 d4@3 ~@8 e4@4, d3 e3, ~@3 f#3@10 ~@5 b3@6, ~@6 a3@7 ~@2 g#3@9",
  W: "~@9 d4@3 ~@8 e4@3 ~, d3 e3, ~ f#3@3 ~@2 b3@2, ~@2 a3@2 ~ g#3@3",
  X: "[~@23 a#3, a2@21 e3@18 [c#4,e4]@8 b2@16 d#4@3 f#4@6, ~ a3@5 c#4 a3 a2@7 a#4@9, ~@6 c#4@9 e4@15 c#4@3 a4@13 f#4@11 b3@15, ~@9 a4@18 a3@19 d#4 b3@7 f#3@18]/3", // C#m
  Y: "[~@15 f#3, e2@7 f#4@4 b2@5, ~@3 b3@5 b3@7 b3@7 d#4@26, ~@6 g#3@12 g#3@5 a#3 b2@6 a#3@9 f#4@9, ~@9 e4@14 ~ f#3@18 a#3@6]/2",
  Z: "[~@15 f#3, e2@21 f#4@26 ~, ~@3 b3@12 b3@7 d#4@26, ~@6 g#3@12 g#3@5 a#3 b2@5 a#3@10 f#3@3 a#3@6, ~@9 [e3,e4]@14 ~ f#3@9 b2@15]/2", // E
  AA: "~@7 b3, [e2,e3], ~ g#3@5 g#3@2, ~@2 b3@3 b3@2 ~, ~@3 e4@5", // E
  AB: "~@7 a3, d2, ~ f#3@5 f#3@2, ~@2 a3@3 a3@2 ~, ~@3 [d3,d4]@5", // D
  AC: "[~@23 g3, e2@5 b3 g#3@2 [e2,e3]@5 b3@2 g4 g3@5 d4 b3@2, ~@3 g#3@6 e3@12 b3@6 g#3@19 d4@8 d3@18, ~@6 b2@41 g2@25, ~@6 b3@3 e4@21 b3@3 e4@14 b3@10 g4@15]/3", // E
  AD: "[~@15 a3@5 ~@70 a3@6, d3@21 a3@18 e4@24 e3@3 b3 c#4@14 e4@15, ~@3 f#3@19 c#4@11 a4@18 a3@18 e4@9 e3@18, ~@6 a3@9 ~@5 e3@3 a2@19 c#4@3 a3@3 a2@23 ~ a2@24, ~@9 d4@14 e4@7 e3@24 c#4@3 a4@14 ~ a3@15 c#4@9]/4",
  AE: "[~@15 c#4, a2@18 b3@2 c#4 e4@11 e4@16, ~@3 a3@20 c#4@16 c#4@3 a3@6, ~@2 c#4@3 e3@3 a2@8, ~@3 a4@5 ~@2 e3@6]/2",
  AF: "~@7 f#3, d3, ~ f#3@5 a3@2, ~@2 a3@3 d4@3, ~@3 f#4@5",
  AG: "[~@42 e4@4 ~ d4 ~@21 d4@3, e2@23 e4 g#4@3 e4@3 b3@3 g#4@6 f#4@7 a3@8 a3@18, ~@3 b2@12 b3@3 g#3@29 ~ f#4@7 f#4@2 a4@15, ~@6 e3@15 b2@26 ~@4 d4@15 [d3,e4]@6, ~@9 e4@13 b3 e3@24 ~ d3@15 f#4@9]/3", // Dsus2
  AH: "[~@7 a3 ~@7 a3, a2@8 ~ a3@5 d4@2, ~ a3@5 [e3,c#4]@2 d3@8, ~@2 c#4@3 e4@6 f#4@5, ~@3 a4@5 ~@2 d4@3 e4@3]/2", // C#m
  AI: "[~@11 c#4 ~@3 c#4, e3@24 a2@13 ~@11, ~@3 g#3@15 g#3@8 ~ e3@10 ~@2 e3@9, ~@6 b3@9 b3@6 b3@5 ~@4 a3@7 ~@5 g#3@6, ~@9 e4@17 ~@10 c#3@12]/2",
  AJ: "~@3 d4 ~@3 e4, d3 e3, ~ f#3@3 ~@2 b3@2, ~@2 a3@2 ~ g#3@3",
  AK: "~@3 e4 ~@3 e4, a2 c#3, ~ a3@3 ~ g#3@3, ~ c#4 ~ c#4",
  AL: "~@9 d4@3 ~@8 e4@4, d3 e3, ~ f#3@3 ~@2 b3@2, ~@3 a3@3 ~ g#3@5",
  AM: "[~@9 d4@3 ~@60 [a2,a3]@41 ~@7, d3@12 e3@11 d4@10 a3@6 d4@12 f#3@12 b3@6 a4@2 ~@49, ~@3 f#3@9 ~@6 b3@6 a3@6 f#3@12 a3@12 d4@16 e4@42 ~@8, ~@6 a3@6 ~@3 g#3@9 d3@21 f#3@3 d3@23 ~@49, ~@22 f#4@35 c#4@14 c#4@42 ~@7]/5", // A
})).s("gm_acoustic_guitar_steel").gain(0.56).pan(0.1)

// chords · piano
const piano = note(`<
  ~ A@7 B@2 C@3 D@2 E@2 F@3 G@2 H I@5 J@6 K@2 L@2 M@2 N O@2 P Q@3 R@4 S@2 T U@2 V@7 W@3 X@2 Y@2 Z@2 AA@2 AB AC AD@2 AE@2
  AF@2 AG AH@2 AI@2 ~
>`.pickRestart({
  A: "[~@21 e4@27 ~@9 b4@6 ~@6 e4@24 ~@3 [a3,a4]@21 ~@3 f#4@23 ~ g#4@24, a2@15 a4@35 ~@4 a3@40 ~ e4@24 d4@20 ~@29, ~@3 e3@45 a2@47 ~ a2@22 ~@50, ~@6 a3@42 ~@3 e3@42 ~ e3@2 ~@23 d3@24 [e3,b3,e4]@25, ~@9 b4@41 ~@13 c#5@29 ~@3 c#4@20 ~@3 a3@22 ~@28]/7", // A E5
  B: "[~@3 e3@3 ~@9 b4@5 ~@4 [a3,e4]@23 ~, a2@47 ~, ~@3 a3@8 ~@13, ~@9 c#5@34 ~@5, ~@9 e4@11 a4@25 ~@3]/2", // A5
  C: "[[d3,f#4,a4]@23 ~ [e3,g#4]@24 [a2,c#4,a4]@21 ~@3, d4@20 ~@3 e4@47 ~@2, ~@23 b3@22 ~@27]/3", // D E A
  D: "[d4@15 ~@9 a4@22 ~@2, b4@23 ~@25, ~@15 f#4@31 ~@2, ~@9 d4@14 ~]/2",
  E: "[~@9 e4 ~@2 e5@2 ~@2, b4@43 ~@5, e3@23 ~ e3@18 ~@6, f#4@2 ~@31 e4@10 ~@5, ~ g#4@27 ~@2 g#4@12 ~@6]/2",
  F: "[d3@7 ~@11 d4@5 ~@19 c#4@3 ~@18 f#4@3 d4@3 f#4@3, a4@31 ~@2 a4@22 ~@2 a4@13 ~@2, d4@16 ~@11 e3@19 ~@2 d3@24, f#4@12 ~@3 f#4@9 ~@6 a3@9 e4@9 d4@17 ~@7, ~@9 d3@15 a2@23 ~ f#4@12 ~@12]/3",
  G: "[b3@3 ~@6 f#4@6 ~@6 b3@2 ~ [a2,a3,a4]@11 ~@4 e4@3 ~@3 e4@3, [e3,g#4]@2 ~ [c#3,g#4], ~@3 e4@6 ~@6 e4@20 ~@13, ~@3 b3@6 ~@3 c#4@7 ~@2 c#4@3]/2", // A E C#5
  H: "~@3 f#4@3 ~@3 f#4@3 ~@3 e4@3 ~@3 e4@2 ~, [d3,a4] [e3,g#4], ~ d4 ~ b3", // D5 E
  I: "[~@8 a3@4 ~@27 e3@3 ~@3 e3@3 ~@9 c#4@6 ~@30 c#4@3 ~@9 a3@13 ~@2, [d3,f#4]@13 ~@3 f#4@8 c#4@27 e3@3 a3@16 ~@2 a2@23 ~@10 a4 ~@14, ~@4 d4@7 ~ [e3,g#4]@12 a2@18 a3@6 a2@21 c#4@12 a4@18 ~@3 d4@16 ~@2, ~@20 e4@41 ~@2 e4@15 a3@9 e4@10 ~@2 f#4@21, ~@8 a4 e3 a3 a4@14 e3@7 d3@8]/5", // D E
  J: "[~@45 a3@3 ~@33 a3@14 ~@34 a4@11 ~ a4@3, e3@24 a2@18 e3@6 a2@21 c#4@6 ~@3 d4@17 ~@4 b3@27 a3@16 ~@2, ~@3 b3@15 e4@15 a4@18 e3@21 d3@24 e3@25 ~@2 e3@5 ~ c#4@14 ~, ~@6 e4@9 f#4@6 b3@8 ~ a3@9 e4@15 a3@9 e4@10 ~@2 f#4@24 ~@3 e4@9 f#4@8 ~ a2@19 ~@5, ~@9 g#4@11 ~@7 e3@6 c#4@24 a4@18 ~@30 g#4@12 e4@13 ~@14]/6",
  K: "[~@7 d4 ~@2 f#4 ~@2 f#4 ~ f#4, b2@5 f#4@4 ~@7, d4@9 b4@17 ~@7 a4@15, b4@6 b3@18 ~@2 d4@13 ~@3 d4@6, ~ f#3@7 d3@8]/2",
  L: "[~@21 b2@3 ~@21 b3 ~@2, e3@23 ~, ~@3 e4@6 g#4@21 e4@3 b4@9 e4@5 ~, ~@2 b3@4 e4@2 e2@7 ~, ~@15 f#4@5 ~ b3@18 g#4@6 ~@3]/2",
  M: "[[d4,f#4,a4]@7 ~@2 e4@2 ~@4 e4@3 d4@3 ~@6 e3@3 ~@3 c#4@6 e4@3 ~@3 e4@3, d3@10 ~@2 a2@11 ~, ~@9 a4@20 ~@4 a4@15, ~@9 f#4@14 ~@7 a3@14 ~@4, ~@9 d4 ~@11 e4@10 ~@11 c#4@5 ~]/2", // D
  N: "~@5 f#4 d4 f#4, d3@23 ~, ~@3 d4@13 ~@8, ~@6 f#4@5 ~@13, ~@3 a4@4 ~",
  O: "[~@4 e4@4 ~@16 [a2,a4]@11 ~@4 e4@3 ~@3 e4@3, e3@2 ~ [c#3,g#4], g#4@11 ~ g#4@12 ~@24, ~@8 b3@13 e4@15 ~@12, ~@17 f#4@6 ~ c#4@12 ~@6 c#4@6]/2", // A C#5
  P: "~ d4 ~ d4 ~ e4 ~ e4, [d3,f#4] [e3,g#4], ~@6 a3@5 ~@7 b3@6", // D E
  Q: "[~@9 a3@2 ~@13 a3@6 ~@3 a3@7 ~@23 [e3,e4]@3 c#4 ~@5, [d3,f#4]@12 [b3,g#4]@10 ~@2 c#4@27 e3@3 a3@12 ~@6, ~@5 d4@7 e3@12 a2@6 e3@14 a3@4 a2@18 ~@6, ~@16 f#4@7 ~ a4@42 ~@6, ~@20 e4@37 c#4@8 ~@7]/3", // E D E
  R: "[~@15 b3@3 d#4@3 ~@3 e3@7 ~@11 e4@3 ~@21 d#4@3 ~@3 e3@6 ~@3 e3@6 ~@3 e4@3 b3 ~@2, f#4@24 g#4@19 ~@5 a#4@22 ~@2 g#4@20 ~@4, a#4@21 ~@3 e4@15 f#4@7 ~ f#4@15 ~ f#4@9 e4@16 ~@8, d#4@9 f#3@11 ~ b3@25 ~ d#4@10 f#3@12 b3@22 ~@5, b3@6 b2@14 ~@13 e3@8 ~@7 b3@6 b2@14 ~@19 f#4@7 ~@2]/4",
  S: "[a#4@6 ~@12 d#4@3 ~@3 e3@6 ~@12 e4@3 b3@2 ~, b3@19 ~@2 b3@22 ~@5, d#4@15 f#4@8 ~ g#4@20 ~@4, f#4@9 a#4@10 ~@5 e4@15 f#4@7 ~@2, b2@6 f#3@16 ~@11 e3@9 ~@6]/2",
  T: "d3@6 ~@11 a3 ~@6, [f#4,a4]@19 ~@5, a3@5 ~@3, d4@13 ~@2 d4@4 ~@5, ~@9 d3@11 ~@4", // F#m
  U: "[~@21 e4@3 ~@3 e4@3 ~@12 g#4@3 e4@2 ~, e3@21 ~@3 e3@20 ~@4, b4@9 e5@21 ~@3 e4@10 ~@5, f#4@2 ~@4 e4@12 g#4@10 ~@2 g#4@7 ~@2 b4@7 ~@2, ~ g#4@12 ~@2 b4@21 e5@9 ~@3]/2",
  V: "[~@9 g4@3 ~@3 g4@3 b4@3 g4@2 ~ [d3,f#4]@6 ~@3 d5@6 ~@6 d4@2 ~@10 c#4@6 ~@6 e3@3 ~@9 c#4@3 ~@3 b3@5 ~@13 e3@12 ~@9 d3@15 ~@24 b3@3, b4@16 ~@8 a4@12 ~@3 a4@16 ~@2 a4@27 ~@12 a3@18 ~@4 a3@21 ~@3 b3@22 ~@4, d4@10 ~@2 d4@31 ~@8 e3@12 e4@22 ~ e4@32 ~@2 f#4@22 ~ e4@16 f#4@5 ~@4, g4@8 ~@22 f#4@7 ~@5 f#4@5 ~@7 a3@18 a2@15 ~@9 a2@21 ~@26 e3@19 e4@6, ~@6 g3@17 ~@25 a2@18 c#4@9 e3@3 a3@8 ~@6 c#4@23 ~@4 d4@20 ~@5 g#4@22 ~@2]/7", // D
  W: "[~@3 e3@3 ~@3 b4@6 ~@9 a3@20 ~@3 e4 d3@22 ~@2, a2@23 ~@13, ~@6 a3@14 ~ e4@25 d4@20 ~@6, ~@15 c#5@27 ~@6 a4@19 ~@5, ~@18 a4@25 ~@4 f#4@24 ~]/3",
  X: "[b3@2 ~@31 c#4@6 ~@3 e3@3 c#4@2 ~, [e3,g#4]@23 ~@2 a2@20 ~@3, ~@2 e4@7 f#4@17 ~ e3@9 ~@3 e4@9, ~@6 b3@12 ~@3 b3@7 ~@2 a3@17 ~, ~@15 e4@15 ~@3 a4@14 ~]/2", // E
  Y: "[~@3 d4@2 ~@6 d4@2 ~@2 f#4, b2@18 d4@7 ~@2 f#3@12 f#4@5 ~@4, ~@3 f#3@11 ~ f#4@5 ~ f#4@6 ~@3 a3@16 ~@2, ~@6 b3@16 ~@2 d3@17 ~ d4@6, ~@9 b4@16 ~@8 a4@15]/2",
  Z: "[~@9 f#4 ~@8 b3 ~@2 b3@3 ~@9 b3@6 e4@3 g#4@3 e4 ~@2, e3@22 ~@2 e3@17 ~@7, ~@3 b3@12 e4@5 ~ e4@9 g#4@10 ~@8, ~@3 b4@5 e5@3 ~@5, ~@10 g#4@15 ~@2 b4@18 ~@3]/2",
  AA: "[[d4,f#4]@6 ~@3 d4@6 e4@3 ~@15 c#4@6 e4@3 c#4@3 e4@2 ~, a4@29 ~ a3@13 ~@5, ~@6 d3@12 d4@5 ~ a2@22 ~@2, ~@9 f#4@15 ~@3 e3@19 ~@2, ~@21 e4@11 ~ a4@13 ~@2]/2", // D
  AB: "~@2 e4 d4@2 f#4 d4 f#4, d3, a4@11 ~, e4 ~@11, ~ f#4@12 ~@11",
  AC: "b3@5 ~@15 e4@4, [e3,g#4]@11 ~ e3@12, ~@5 e4@6 ~ g#4@10 ~@2, ~@9 b3@13 ~@2, ~@16 f#4@7 ~", // E
  AD: "[c#4@4 ~@16 e4@3 ~@4 d4@3 ~@3 d4@3 ~@3 e4@3 ~@3 e4@2 ~, [a2,a3,a4]@11 ~ c#3@12 [d3,f#4]@12 [e3,g#4]@12, ~@2 e4@4 g#4@7 ~@11, ~@8 c#4@7 e4@5 ~@28, ~@18 c#4@6 ~@6 a3@5 ~@7 b3@6]/2", // A D E
  AE: "[~@8 d4@4 ~@12 a3@6 ~@3 a3@13 ~@2, [d3,f#4]@12 e3@12 [a2,c#4,a4]@23 ~, ~ e4@2 g#4@2 e4@7, ~@16 f#4@7 ~@7 e3@17 ~]/2", // D A
  AF: "[c#4 e4 ~ e4 ~ e4 ~ e4 ~ d4 ~ d4 ~ e4 b3 e4, [a2,a4]@11 ~ g#4@15 ~@21, a3@6 c#4@8 ~@4 c#4@6 ~@6 a3@5 ~ [e3,g#4]@12, ~@12 c#3@12 [d3,f#4]@13 ~@11]/2", // A E D
  AG: "~@8 a3@2 ~@6 f#4@4 e4 ~@3, [d3,f#4]@12 e3@11 ~, ~@4 d4@6 ~@2 [b3,g#4]@9 ~@3", // D E
  AH: "[e4@2 ~@4 e4@3 d4@18 ~@6 e4@6 d4@6 ~@3, d3@15 ~, a4@25 ~@2 a3@19 ~@2, ~ f#4@13 [d4,e4] ~@9, ~@29 f#4@11 ~@8]/2", // Dsus2
  AI: "[~ c#4@38 ~@9, [a2,e4]@13 ~@3, b3 ~@23]/2", // A5
})).s("gm_piano").gain(0.56).pan(0.1)

// other · harmonica
const harmonica = note("<~ A@2 B@2 ~@3 C D ~@14 E@4 ~ F G@2 H@2 ~@29 I J@2 K@2 ~@20>".pickRestart({
  A: "[~@6 c#5@41 ~]/2", B: "[a4@23 ~]/2", C: "~@7 c#5@3 e5@2", D: "a4",
  E: "[~@9 c#5@20 e5@3 ~ c#5@14 a4@29 ~@20, ~@9 d5 ~@86]/4", F: "~@15 c#5@5 e5@4", G: "[a4@38 ~ f#4@5 a4@4]/2",
  H: "[e4@41 ~@7]/2", I: "~@5 c#5@2 e5", J: "[a4@33 ~@6 f#4@5 a4@4]/2", K: "[e4@7 ~]/2",
})).s("gm_harmonica").gain(0.56).pan(0.8)

// drums · kick
const kick = s("bd").struct("<~ x!12 [x ~@6 x]!34 [x ~@2 x ~ x ~ x]!13 [x ~@6 x]!25 x ~@2>").gain(0.55).pan(0.6)

// drums · rim
const rim = s("rim").struct("<~@24 A@14 ~@7 A@2 ~@12 B A@12 ~@11 A@2 ~@3>".pickRestart({
  A: "~ x ~ x", B: "~@3 x",
})).gain(0.71).pan(0.6)

// drums · snare
const snare = s("sd").struct("<~@17 A@7 ~@14 A@7 ~@2 A@12 B ~@12 A@11 ~@5>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.71).pan(0.6)

// drums · low tom
const low_tom = s("lt").struct("<~@37 A ~@8 B ~@8 A ~@15 A ~@16>".pickRestart({
  A: "~@7 x", B: "~@6 x!2",
})).gain(0.63).pan(0.6)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@16 A ~@20 A ~@8 B ~@8 A ~@15 A ~@16>".pickRestart({
  A: "~@3 x", B: "~@15 x ~ x ~@6",
})).gain(0.63).pan(0.6)

// drums · open hat
const open_hat = s("oh").struct(`<
  A ~@11 B ~@5 B@6 ~@5 B ~@3 B ~@3 B ~ B@6 ~@14 C ~@3 B ~@3 B ~@3 B ~ B@7 ~ B@2 ~@5
>`.pickRestart({
  A: "~@3 x", B: "~@7 x", C: "~@5 x ~@2",
})).gain(0.39).pan(0.6)

// drums · high tom
const high_tom = s("ht").struct("<~@16 A ~@20 A ~@17 A ~@15 A ~@16>".pickRestart({
  A: "~@12 x ~@4 x ~@6",
})).gain(0.71).pan(0.6)

// drums · crash
const crash = s("cr").struct("<~@47 x ~@8 x ~@28 x ~@2>").gain(0.71).pan(0.6)

// drums · ride
const ride = s("rd").struct("<~@17 A ~@20 A ~@6 B C ~@25 A ~@7 A ~@2 B@2 ~@3>".pickRestart({
  A: "x", B: "~@3 x ~ x ~ x", C: "x ~@2 x ~@4",
})).gain(0.55).pan(0.6)

// drums · tambourine
const tambourine = s("tb").struct("<~@17 A@7 B@14 A@7 B@2 ~@13 B@12 A@11 B@2 ~@3>".pickRestart({
  A: "x!4", B: "~ x ~@2",
})).gain(0.71).pan(0.6)

// drums · tambourine · soft notes
const tambourine_soft = s("tb").struct(`<
  ~
// … 31 more lines

More by Jimmy Buffett