Strudelify

Stormy Monday

The Allman Brothers Band

KeyG majorTempo174 bpm
0:00/0:00
// Stormy Monday — The Allman Brothers Band
// 174 bpm, 6/8, key G major. Source: 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 393 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(174/3)

// 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 · fretless bass
const bass = note(`<
  ~@4 A B C D E F G H I J K@2 L@2 M@2 N@2 O P Q R S@2 T@2 U V W@2 X Y Z@2 AA@2 AB@2 AC@2 AD@2 AE@2 AD@2 AF@2 A B C D E F
  G H I J K@2 L@2 AG@2 N@2 O P Q R S@2 T@2 U V W@2 X Y Z@2 AA@2 AB@2 AC@2 AD@2 AE@2 AD@2 AF@2 A B C D E F G H I J K@2
  L@2 AG@2 N@2 O P Q R S@2 T@2 U V W@2 X Y Z@2 AA@2 AB@2 AC@2 AD@2 AE@2 AD@2 AF@2 A B C D E F G H I J K@2 L@2 AG@2 N@2 O
  P Q R S@2 T@2 U V W@2 X Y Z@2 AA@2 AB@2 AC@2 AD@2 AE@2 AD@2 AF@2 A B C D E F G H I J K@2 L@2 AG@2 N@2 O P Q R S@2 T@2
  U V W@2 X Y Z@2 AA@2 AB@2 AC@2 AD@2 AE@2 AD@2 AF@2 A B C D E F G H I J K@2 L@2 AG@2 N@2 O P Q R S@2 T@2 U V W@2 X Y
  Z@2 AA@2 AB@2 AC@2 AD@2 AE@2 AD@2 AF@2 AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AL AM AN AO AX AM AN AY AZ BA
  BB BC BD BE BF BG BH BI BJ BK BL BM BN BO AD@2 AE@2 AD@2 AF@2 A B C D E F G H I J K@2 L@2 AG@2 N@2 O P Q R S@2 T@2 U V
  W@2 BP ~ BQ@2 BR BS BT ~@3 BU BV BW BX BY BZ@4 ~@4
>`.pickRestart({
  A: "g1@8 ~@3 g1@5", B: "e2@8 ~@3 e2@5", C: "d2@5 e2@6 g1@5", D: "g2@10 ~ g1@5", E: "c2@4 ~@7 c2@5",
  F: "a#1@5 ~@6 a#1@5", G: "a1@7 ~@4 a1@5", H: "g1@4 ~ c2@5 ~ e2@5", I: "g1@4 ~@7 g1@5", J: "e2@5 d2@5 ~ e2@4 ~",
  K: "[g#1@10 ~ g#1@9 g#2@6 ~ g#1@5]/2", L: "[g1@5 ~@6 g1@10 g2@5 ~ d2@5]/2", M: "[g1@8 ~@3 g1@9 ~ g1@6 ~@5]/2",
  N: "[c2@19 ~@2 a#1@5 ~ g1@5]/2", O: "c2", P: "~@5 g1@5 ~ a#1@3 ~@2", Q: "c2@15 ~", R: "c2@5 a#1@5 ~ g1@5",
  S: "[c2@18 ~@3 d2@5 ~ c2@3 ~@2]/2", T: "[g1@21 g2@5 ~ g1@4 ~]/2", U: "a1", V: "a2@10 ~ a1@4 ~",
  W: "[b1@19 ~@2 b1@5 ~ b2@5]/2", X: "a#1", Y: "a#2@5 a#1@6 ~@5", Z: "[d2@20 ~ d2@6 a1@5]/2",
  AA: "[d2@19 ~@2 d2@9 ~@2]/2", AB: "[d#2@20 ~ d#2@9 ~@2]/2", AC: "[d#2@23 ~@9]/2", AD: "[g1@5 g2@16 g1@5 ~ g2@4 ~]/2",
  AE: "[c2@21 e2@5 ~ c2@5]/2", AF: "[d2@7 ~]/2", AG: "[~@5 g2 ~@5 g1@9 ~ g1@6 ~@5, g1 ~@3]/2", AH: "g2@5 f2@6 e2@5",
  AI: "d2@5 c2@5 ~ a#1@5", AJ: "a1@5 f1@5 ~ g1@5", AK: "a1@5 a#1@5 ~ c2@4 ~", AL: "c2@4 ~ e2@5 ~ g2@4 ~",
  AM: "a#2@5 a2@5 ~ g2@5", AN: "f2@5 d#2@5 ~ d2@5", AO: "c2@5 a1@5 ~ a#1@4 ~", AP: "g1@5 d2@4 ~@2 e2@4 ~",
  AQ: "~@5 e2@5 ~ g1@5, g2@7 ~@9", AR: "g#1@5 d#2@5 ~ g#2@5", AS: "~@5 g#1@6 g#2@4 ~, d#2@7 ~@9",
  AT: "g1@5 b1@5 ~ c2@5", AU: "d2@5 c2@5 ~ b1@5", AV: "g1@5 a2@6 g1@5", AW: "g2@5 f2@5 ~ e2@3 ~@2",
  AX: "c2@5 e2@6 g2@5", AY: "c2@5 a#1@6 a1@4 ~", AZ: "g1@5 b1@5 ~ d2@5", BA: "g2@5 d2@5 ~ b1@4 ~",
  BB: "a1@5 c2@5 ~ e2@5", BC: "a2@5 e2@5 ~ c2@4 ~", BD: "b1@5 d2@6 f#2@5", BE: "a2@5 f#2@5 ~ d2@4 ~",
  BF: "a#1@4 ~ a#1@5 ~ a1@5, ~@2 a1 ~@5", BG: "g1@5 a1@5 ~ g1@3 ~@2", BH: "d2@5 d1@5 ~ a1@5",
  BI: "b1@5 c2@4 ~@2 d2@4 ~", BJ: "e2@5 f#2@4 ~@2 g2@5", BK: "a2@4 ~ g2@4 ~@2 f#2@3 ~@2", BL: "d#2@5 a#1@6 g1@5",
  BM: "d#1@5 g1@5 ~ a#1@3 ~@2", BN: "c2@5 d2@5 ~ d#2@4 ~", BO: "d#2@5 a#1@5 ~ d#1@4 ~", BP: "a#2@5 f2@5 ~ a#1 ~@4",
  BQ: "d2 ~@3", BR: "d2@3 ~@13", BS: "d2@3 ~", BT: "d#2 ~@3", BU: "g1@3 ~@8 g1@5", BV: "b1@5 d2@5 ~ g2@5",
  BW: "c2@2 ~@3 c2@4 ~@2 c2@5", BX: "e2@5 g2@6 e2@4 ~", BY: "g1@6 ~@5 g1@5", BZ: "[c2@8 ~ g1@52 ~@3]/4",
})).s("gm_fretless_bass").gain(0.36).pan(0.6)

// chords · piano
const piano = note(`<
  ~@4 A@4 B@3 C D@2 E@2 F@2 G@2 H@4 I@4 J@2 K@2 L@2 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@2 U@2 A@4 B@3 C D@2 E@2 F@2 V@2 H@4
  I@4 J@2 K@2 L@2 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@2 U@2 A@4 B@3 C D@2 E@2 F@2 V@2 H@4 I@4 J@2 K@2 L@2 M@2 N@2 O@2 P@2 Q@2
  R@2 S@2 T@2 U@2 A@4 B@3 C D@2 E@2 F@2 V@2 H@4 I@4 J@2 K@2 L@2 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@2 U@2 A@4 B@3 C D@2 E@2
  F@2 V@2 H@4 I@4 J@2 K@2 L@2 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@2 U@2 A@4 B@3 C D@2 E@2 F@2 V@2 H@4 I@4 J@2 K@2 L@2 M@2 N@2
  O@2 P@2 Q@2 R@2 S@2 T@2 U@2 W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AA AB AC AD AA AB AC AD AM@2 AN@2 AO@2 AP@2 AQ
  AR AS AT AU@2 AV AW R@2 S@2 T@2 U@2 A@4 B@3 C D@2 E@2 F@2 V@2 H@4 I@4 J@2 K@2 L@2 AX@2 AY@2 AZ BA BB ~@3 BC BD BE@2 BF
  BG@8
>`.pickRestart({
  A: "[[g2,b3,d4]@50 ~@3 f3@10 ~, f3@23 ~@9]/4", B: "[[g3,c4,e4]@23 ~]/3", C: "~@5 [g3,a#3,e4]@5 ~@6",
  D: "[[g3,b3,d4]@21 [g3,b3,d4]@10 ~, g2]/2", E: "[[g#3,c4,d#4]@21 g#3@5 ~ g#3@5, g#2@31 ~, ~@21 [c4,d#4]@10 ~]/2",
  F: "[~@11 b3@5 g3@11 g3@5, g2, ~@5 g3@11 [b3,d4]@16]/2", // Bm
  G: "[~@11 [f3,b3,d4]@5 [f3,b3,d4]@5 [f3,b3,d4]@5 ~ [f3,b3,d4]@2 ~@3, g2@29 ~@3]/2", // Bdim
  H: "[~@48 c3@5 g3@3 ~@3 [g3,a#3]@2 ~@3, [g3,a#3,c4,e4]@52 ~@7 [c4,e4] ~@4]/4", // Gm C7 C
  I: "[c3@46 ~@7 c3@6 [g3,a#3,c4,e4]@2 ~@3, [g3,a#3,c4,e4]@7 ~]/4", // C7
  J: "[[g3,d4]@21 d4@5 ~ [b3,d4]@5, g2, b3@27 ~@5, ~@21 g3@11]/2", // G5 Bm
  K: "[[a3,c4,e4]@11 [a3,c4,e4]@10 [a3,c4,e4]@11, a2]/2", L: "[~@21 [b3,d4,f#4]@10 ~, [b3,d4,f#4]@21 ~@11, ~ b2]/2",
  M: "[~@27 a#3@3 ~@2, a#2@29 ~@3, ~@5 a#3@21 ~@6, ~@11 d4@10 d4@8 ~@3, ~@16 f4@13 ~@3]/2",
  N: "[a3@21 ~@6 c4@5, [e4,g4], c4@27 ~@5, a2@7 ~@14 a3@11]/2", O: "[a3,c4,e4,g4]", P: "[g3,c4,d#4,g4]/2",
  Q: "[g3@21 g3@6 c4@2 ~@3, [c4,d#4,g4]@7 ~]/2", R: "[~@5 g3@16 ~@6 b3@5, g2, ~@5 d4@27, ~@5 b3@21 ~@6, ~@21 g3@11]/2",
  S: "[~ a#3, c3, ~@5 [g3,c4]@26 ~]/2", T: "[~@21 d4@6 ~@5, g2@27 ~@5, ~@5 g3@22 ~@5, ~@16 b3@11 ~@5]/2",
  U: "[~@16 d4@11 ~@5, d3@7 ~, ~@5 f#3@22 ~@5, ~@11 a#3@16 ~@5]/2",
  V: "[~@5 [g4,d5,f5] ~@5 [f3,b3,d4]@5 [f3,b3,d4]@5 [f3,b3,d4]@5 ~ [f3,b3,d4]@2 ~@3, g2@29 ~@3]/2", // G7 Bdim
  W: "[g2,d3]@4 [f3,a3] ~@9 d3 ~, [f3,a3] ~@7", X: "a3 ~ a3 ~@5, f3 ~@3 f3 ~@11",
  Y: "[f3,a3]@2 ~@2 [f3,a3]@2 ~@8 g2 ~, g2 ~@3", Z: "[f3,a3] ~ [f3,a3] ~@5", AA: "[c3,g3]@2 [g3,a#3] ~@5, a#3 ~@7",
  AB: "[g3,a#3]@3 ~ [g3,a#3]@2 ~@8 c3 ~", AC: "[g3,a#3] ~ a#3 ~@5, ~@4 g3 ~@11", AD: "[g3,a#3] ~ g3 ~@5, c3@4 a#3 ~@11",
  AE: "[f3,a3]@2 ~@2 a3@2 ~@3 g2 ~@6, g2@4 f3 ~@11", AF: "[g2,a3] ~ [g2,a3] ~@5, f3 ~@3 f3 ~@11",
  AG: "[f#3,a#3]@2 ~@2 [f#3,a#3]@2 ~@8 g#2 ~, g#2 ~@3", AH: "[f#3,a#3] ~ [f#3,a#3] ~@5",
  AI: "[f3,a3] ~ a3 ~@5, g2@4 f3 ~@11", AJ: "[g2,a3] ~ [f3,a3] ~@5, f3 ~@15", AK: "[g2,f3,a3]@7 ~",
  AL: "[g2,f3,a3]@2 ~@3 [f3,a3]@2 ~@9", AM: "[g2@4 [g3,b3] ~@4 g2@2 [g3,b3,d4]@16 ~@5, ~@2 d4 ~@13]/2",
  AN: "[a2@3 ~ [a3,c4,e4] ~@2 a2 ~@3 [a3,c4,e4]@16 ~@5]/2", // Am
  AO: "[~@4 [b2,a3,d4,f#4] ~@6 [b2,d4,f#4]@14 ~@7, ~@11 a3@12 ~@9]/2", // Bm7 Bm
  AP: "[~@4 a#2 a#3@2 ~@4 [a#2,a#3,d4,f4]@16 ~@5, ~@2 [d4,f4] ~@13]/2", AQ: "~@5 [a3,d4,e4,a4] ~@10",
  AR: "~@5 [a3,d4,e4,a4]@11", AS: "~@5 [a3,d4,e4,a4] ~@8 e3 ~",
  AT: "[a3,d4,e4] ~@3 e3 [a3,d4,e4,a4]@4 ~@2 [a3,d4,e4,a4] ~@4, a4 ~@7", // Asus4
  AU: "[[d#3,g3]@3 ~ [a#3,d#4] ~@16 g3 ~@5 [a#3,g4] ~@4, ~@4 g4@2 ~@3 d#3@14 ~@9, ~@11 [a#3,d#4,g4]@13 ~@3 d4@2 ~@3]/2", // D# D#5 D#
  AV: "[d#3,a#3,d4,g4]@4 g3 ~@4 d#3 ~ [d#4,g4]@2 ~@3, ~@11 a#3 ~@4", AW: "[d#3,a#3,d#4,g4]@5 ~@3",
  AX: "[[c#4,f4]@15 ~@6 [g#3,a#3]@6 f4@2 ~@3, [g#3,a#3]@9 ~@7, ~@16 [c#4,f4]@9 ~@2 c#4 ~@4]/2", AY: "[d3,c4,e4,g4] ~@3",
  AZ: "[d3,c4,e4,g4]@3 ~@13", BA: "[d3,c4,g4]@9 ~@7, e4@7 ~@9", BB: "[d#2,c4,d#4,g4] ~@3",
  BC: "[g2,g3,b3,d4]@2 ~@9 [g3,b3,d4]@3 ~@2, ~@11 g2@5", BD: "~@5 g2@4 ~@2 [g3,b3,d4]@3 ~@2, [g3,c4,e4]@7 ~@9",
  BE: "[c3@5 [g3,a#3,d4]@2 ~@9 c3@4 ~ [g3,a#3,d4]@2 ~@4 [g3,a#3,d4]@3 ~@2, ~@11 [g3,a#3,d4]@8 ~@13]/2", // Gm
  BF: "[g2,g3,b3] ~@3", // G
  BG: "[g#3@9 ~@24 [b3,d4]@4 ~@54 [d6,f6]@23 ~@14, g#2@2 ~@7 g3@28 b3@20 b4@32 ~@39, ~@9 [b3,d4]@11 ~ [f3,b3,d4]@2 [f3,b3,d4]@3 [f3,b3,d4]@2 [b3,d4]@2 g2@16 g4@25 [d4,f5]@32 ~@25, ~@9 g2@9 g2@4 g2@4 ~ g2@2 f3@8 d4@3 g3@3 d4@18 d5@5 [g3,g5]@32 ~@30, ~@16 d3@4 d3@4 d3@4 d3@3 [b3,d4] d3@17 b4@3 g3@2 f4@22 d5@32 ~@20]/8", // Bm Dm Bm Bdim Bm Dm G Bm
})).s("gm_piano").gain(0.31).pan(0.8)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@2 A@2 ~ B@3 ~ C@3 ~ D E@2 F@5 G@4 H@3 I@2 J@2 K@2 L@2 M@3 N ~ O@3 ~ P ~@2 Q R S@2 ~ B@3 ~ C@3 ~ D E@2 T@2 ~@5 U V@2
  W@2 X@2 J@2 K@2 L@2 M@3 N ~ O@3 ~ P ~@2 Q R S@2 ~ B@3 ~ C@3 ~ D E@2 T@2 ~@5 U V@2 W@2 X@2 J@2 K@2 L@2 M@3 N ~ O@3 ~ P
  ~@2 Q R S@2 Y@2 ~@3 C@3 ~ D E@2 T@2 ~@5 U V@2 W@2 X@2 J@2 K@2 L@2 M@3 N ~ O@3 ~ P ~@2 Q R S@2 ~ Z@3 ~ AA AB AC AD AE
  AF AG AF AH AI AJ AK@4 AL AM AN@2 AO AP AQ AR AS@2 AT AU AV@2 AW AX AY@2 AL AZ BA BB BC BD BE BF BG@2 BH BI BJ BK BL@2
  BM@2 BN@2 BO BP BQ BR BS@2 BT BU BV@2 BW BX BY BZ CA CB CC@2 CD CE CF CG CH@2 CI CJ CK@2 CL@2 CM@2 CN CO CP@2 CQ ~@2
  CR ~ CR ~ CS ~ CS CT CU CV CW CR CX@2 CY ~@8 CZ@2 DA@2 DB DC DD@2 DE@3 DF DG DH ~ DG ~ P ~@2 Q R S@2 ~ B@3 ~ C@3 ~ D
  E@2 T@2 ~@5 U V@2 W@2 X@2 J@2 K@2 DI@2 DJ DK@3 DL ~@3 DM DN DO@2 DP@8 ~
>`.pickRestart({
  A: "[~@16 d4@15 ~, d3@31 ~, ~@5 f#3@25 ~@2, ~@11 a#3@20 ~]/2", B: "[[a3,d4]@7 ~@3 [a3,d4]@35 ~@3]/3",
  C: "[[d4,g4]@9 ~@2 [d4,g4]@37]/3", D: "[a3,d4]@9 ~ [a3,d4]@4 ~@2", E: "[[a#3,d#4]@20 ~@7 d#4@4 ~, ~@21 f4@9 ~@2]/2",
  F: "[[a3,d4]@15 ~]/5", G: "[[d4,g4]@8 ~@3 [d4,g4]@48 ~@5]/4", H: "[[d4,g4]@7 ~]/3",
  I: "[~@21 b3@10 ~, ~@11 g4@21, ~@16 d4@15 ~]/2", J: "[~@21 g4@11, c4]/2", K: "[~@11 b3@20 ~, ~@5 d4@25 ~@2]/2",
  L: "[~@16 f4@11 ~@5, a#3@27 ~@5]/2", M: "[~@11 g4@32 ~@5, c4@3 ~, ~@5 e4@32 ~@11]/3", N: "[e4,g4]@15 ~",
  O: "[~@8 a#4@11 ~@5, ~@11 d#4@27 ~@10]/3", P: "~@11 b3@5, ~@5 d4@11", Q: "g3@3 ~", R: "~@5 c3@5 ~ c#3@5",
  S: "[d3@27 ~@5]/2", T: "[[a3,d4]@7 ~]/2", U: "~@5 g3@6 a#3@4 ~", V: "[c4@8 ~ c4@17 ~ d#4@5]/2",
  W: "[c4@11 a#3@10 a3@11]/2", X: "[~@21 b3@10 ~, g3@31 ~, ~@11 g4@21, ~@16 d4@15 ~]/2", Y: "[c5@5 ~@3, g#4@9 ~@7]/2",
  Z: "[g#4@3 ~]/3", AA: "~@9 g4@4 ~@3", AB: "d5@5 ~@4 d5@7", AC: "~@4 a#4@5 ~@2 g4@4 ~", AD: "~@11 g4@4 ~",
  AE: "a#4@4 ~@3 a#4@5 ~@4", AF: "~@5 g4@3 ~ g4@4 ~@3", AG: "b4@8 ~ b4@5 ~@2", AH: "d5@10 ~ d5@5", AI: "~@5 d5@10 ~",
  AJ: "a4@11 g4@3 ~@2", AK: "[f4@24 ~ a#4@2 f4@22 ~@10 f4@3 ~@2]/4", AL: "f4", AM: "~@5 a#4@5 ~ f4@4 ~",
  AN: "[f4@5 ~@3]/2", AO: "c4@10 ~ g3@5", AP: "f3@4 ~ g3@10 ~", AQ: "a3", AR: "~@5 e4@4 ~@2 g4@3 ~@2",
  AS: "[a#4@7 ~@4 b4@8 ~@2 g4@4 ~@2 g4@4 ~]/2", AT: "d5@4 ~ d5@3 ~@3 c5@4 ~", AU: "a#4@4 ~ a#4@3 ~@3 a4@3 ~@2",
  AV: "[g4@21 e4@5 ~ g4@3 ~@2]/2", AW: "a#4@4 ~ a#4@4 ~@2 g4@5", AX: "e4@5 g4@6 ~@5",
  AY: "[c5@9 ~@2 a#4@10 g4@5 ~ f4@3 ~@2]/2", AZ: "~@11 a#3@5", BA: "a#4@2 ~@3 a4@9 ~@2", BB: "g4@2 ~@3 f5@5 ~ g5@3 ~@2",
  BC: "a#5@11 g5@5", BD: "f5@5 g5@10 ~", BE: "d4@5 f4@4 ~@2 g4@3 ~@2", BF: "~@5 f4@5 ~ d4@4 ~, g4@7 ~@9",
  BG: "[d4@18 ~@3 e4@3 ~@3 g4@5]/2", BH: "e5@5 b4@3 ~@3 d5@5", BI: "~@5 d5@5 ~ e5@4 ~",
  BJ: "~@5 e5@5 ~ d5@3 ~@2, f5@7 ~@9", BK: "d5@11 a#4@3 ~@2", BL: "[a#4@4 a4@5 g4@11 ~ a#4@5 ~ g4@3 ~@2]/2",
  BM: "[c5@8 ~@3 c5@8 ~@2 c5@4 ~@2 c5@3 ~@2]/2", BN: "[e5@5 b4@4 ~@2 d5@10 e5@4 ~@2 b4@4 ~]/2",
  BO: "d5@4 ~ e5@3 ~@3 e5@4 ~", BP: "e5@3 ~@2 e5@4 ~@2 d5@4 ~", BQ: "b4", BR: "~@5 g5@4 ~@2 g5@3 ~@2",
  BS: "[g5@20 ~ e5@5 ~ d5@3 ~@2]/2", BT: "a4@5 g4@5 ~ e4@5", BU: "g4@5 c4@3 ~@3 e4@3 ~@2",
  BV: "[g4@5 c4@13 ~@9 a4@3 ~@2]/2", BW: "a4@9 ~@2 g4@3 ~@2", BX: "a#4@9 ~@2 g4@4 ~", BY: "g4@5 f4@5 ~ e4@5",
  BZ: "d4@5 c4@5 ~ a3@2 ~@3", CA: "b4@7 ~", CB: "b4@11 g4@4 ~", CC: "[c5@18 ~@3 a4@5 ~ g4@4 ~]/2", CD: "c5@15 ~",
  CE: "c5@4 ~ c5@4 ~@2 c5@3 ~@2", CF: "g4@15 ~", CG: "a#4@5 g4@5 ~ f4@3 ~@2",
  CH: "[a4@9 ~@2 a4@8 ~@2 a4@4 ~@2 a4@3 ~@2]/2", CI: "a4@7 ~", CJ: "a4@13 ~@3",
  CK: "[a#4@7 ~@4 a4@8 ~@2 g4@6 f4@4 ~]/2", CL: "[d#4@8 ~@3 d4@9 ~ a#3@5 ~ g3@3 ~@2]/2",
  CM: "[g4@9 g5@10 ~@2 g5@6 f5@4 ~]/2", CN: "g5", CO: "~@5 a#5@5 ~ a5@5", CP: "[g5@9 ~@2 g5@9 ~ g5@9 ~@2]/2", CQ: "d5",
  CR: "~@5 [g3,d4,g4] ~@10", CS: "~@5 [g3,c4] ~@10", CT: "~@5 [g3,d4,g4,a4] ~@10", CU: "~@5 [g3,d4,g4]@6 ~@5",
  CV: "~@5 [g#3,g#4] ~@10", CW: "~@5 [g#3,g#4] ~@5 [g#3,d#4,g#4] ~@4", CX: "[~@5 [g3,d4,g4]@13 ~@3 [d4,g4]@9 g3@2]/2",
  CY: "d4@2 ~@3 [g3,d4]@2 ~@4 g3 ~@4, ~@5 g4@4 ~@7", CZ: "[~@2 g3@19 b3@6 ~@5, g2@5 ~@3]/2",
  DA: "[~@11 e4@15 ~@6, a3@13 ~@3]/2", DB: "~@5 [b3,d4,f#4] ~@8 [b3,d4,f#4] ~", DC: "~@4 [b3,d4]@9 ~@3",
  DD: "[~@16 f4@11 ~@5, ~@5 a#3@21 ~@6, ~@11 d4@16 ~@5]/2", DE: "[d3,c4,e4]/3", DF: "~@5 [d3,c4,e4,g4] ~@10",
  DG: "~@4 [g4,a#4,d#5] ~@6 [g4,a#4,d#5] ~@4", DH: "[g4,a#4,d#5]@15 ~", DI: "[a#3@11 ~@5]/2", DJ: "[d3,g3,c4,e4] ~@7",
  DK: "[g3,c4,e4] ~@7", DL: "[g3,c4,d#4] ~@7", DM: "~@9 [e4,a#4]@5 ~@2", DN: "[e4,a#4]@10 ~ g4@4 ~",
  DO: "[g4@8 ~@3 a#4@16 g4@3 ~@2]/2",
  DP: "[[b3,d4,g4]@3 ~@11 g4@10 ~ f4@14 ~@3 g5@11 g5@7 g5@19 ~@10 f5@4 d5@17 f5@18, ~@9 b3@25 ~@45 g5@15 ~@34, ~@83 f5@6 ~@39, ~@86 d5@7 ~@35]/8", // G
})).s("gm_overdriven_guitar").gain(0.36)

// chords · overdriven guitar · soft notes
const overdriven_guitar_soft = note(`<
  ~@28 A@2 ~@2 B ~@6 C D@2 ~@2 E@2 F@2 G ~@27 A@2 ~@2 B ~@6 C D@2 ~@2 E@2 F@2 G ~@27 A@2 ~@2 B ~@6 C D@2 ~@2 E@2 F@2 G
  ~@27 A@2 ~@2 B ~@6 C D@2 ~@2 E@2 F@2 G ~@109 H@2 ~@2 I J ~@9 K L@2 ~ M ~@2 N@3 ~@5 E@2 F@2 G ~@27 A@2 ~@2 B ~@24
>`.pickRestart({
  A: "[~@5 d4@11 ~@16, b3@21 ~@11]/2", B: "f#4@3 ~@5", C: "c4@15 ~", D: "[c4, d#4@27 ~@5]/2",
  E: "[~@5 b3@21 ~@6, g3]/2", F: "[~@5 c4@18 ~@9, g3@7 ~]/2", G: "~@5 b3@6 ~@5", H: "~@5 d#4 ~@10", I: "~@5 g3@6 ~@5",
  J: "g4 ~@7", K: "~@11 d4@3 ~@2", L: "[~@5 c4@20 ~@7]/2", M: "~@4 f#4@9 ~@3", N: "g4/3",
})).s("gm_overdriven_guitar").gain(0.2)

// chords · rock organ
const rock_organ = note(`<
  ~@4 A@4 B@4 C@2 D@2 E@4 F@8 G@2 H@2 I@2 J@2 K@4 L@4 M N O P Q R S@2 A@4 B@4 C@2 D@2 E@4 F@8 G@2 H@2 I@2 J@2 K@4 L@4 M
  N O P Q R S@2 A@4 B@4 C@2 D@2 E@4 F@8 G@2 H@2 I@2 J@2 K@4 L@4 M N O P Q R S@2 A@4 B@4 C@2 D@2 E@4 F@8 G@2 H@2 I@2 J@2
  K@4 L@4 M N O P Q R S@2 A@4 B@4 C@2 D@2 E@4 F@8 G@2 H@2 I@2 J@2 K@4 L@4 M N O P Q R S@2 A@4 B@4 C@2 D@2 E@4 F@8 G@2
  H@2 I@2 J@2 K@4 L@4 M N O P Q R S@2 T@2 U V W X Y Z AA AB AC AD AE@2 AF AG AH AI AJ AK AL@3 AM AN@6 AO@2 AP AQ AR AS
  AT@2 AU AV M N O P Q R S@2 A@4 B@4 C@2 D@2 E@4 F@8 G@2 H@2 I@2 AW@2 AX AY AZ BA ~@4 BB@2 BC@2 ~ BD@8
>`.pickRestart({
  A: "[[g3,d5]@63 ~, [f4,a4]@61 ~@3]/4", B: "[~@16 a#4@16 a4@16 g4@11 ~@5, [c5,e5]@59 ~@5, g4@45 ~@19]/4",
  C: "[[g4,b4,d5]@31 ~]/2", D: "[[g#4,c5,d#5]@31 ~]/2", E: "[g4@32 f4@18 ~@3 g4@3 ~@3 f4@3 ~@2, [b4,d5]@61 ~@3]/4",
  F: "[[g4,a#4,c5,e5]@125 ~@3]/8", G: "[b4,d5,g5]/2", H: "[[c5,e5,g5]@31 ~]/2", I: "[b4,d5,f#5]/2",
  J: "[[a#4,d5,f5]@29 ~@3]/2", K: "[[c5,e5,g5]@29 ~@3]/4", L: "[[c5,d#5]@59 ~@5, g5@61 ~@3]/4",
  M: "~@5 g5@2 ~@9, ~@5 d5 ~@10", N: "~@5 c5@5 ~ b4@3 ~@2, [d5,g5]@11 ~@5", O: "~@5 [d5,g5]@2 ~@9",
  P: "~@5 a#4@5 ~ a4@4 ~, [d5,g5]@11 ~@5", Q: "~@5 [d5,g5] ~@10", R: "[d5,g5]@2 ~@3 a#4@5 ~ a4@2 ~@3",
  S: "[[a#4,d5]@15 ~]/2", T: "[g6@2 ~@3 g6@21 ~@6]/2", U: "~@12 f6 ~ d6 ~, ~@11 g6@2 ~@3", V: "f6@5 d6@5 ~ f6@2 ~@3",
  W: "c6@2 b5@2 g5 a#5@6 g5@4 ~", X: "g5@3 ~ a#5 g5@3 ~ a#5 ~ c6@3 ~@2", Y: "d6@3 ~@2 d#6@3 ~@3 d6@3 c6@2",
  Z: "a#5@3 ~@2 a#5@5 ~ g5@2 ~@3, ~@4 c6@3 ~@9", AA: "~@6 [g5,d6,g6]@4 [b5,c6,e6] [f5,g5,a5] [d5,e5] ~@3",
  AB: "~@5 [g5,d6,g6]@5 [b5,c6] [e5,f5,g5,a5] d5 ~@3", AC: "~@6 g6@4 [c6,e6] [a5,b5] [e5,f5,g5] ~@3, ~@3 [g5,d6]@3 ~@2",
  AD: "~@5 [g5,d6,g6]@5 [a5,b5,c6] [f5,g5] e5 ~@3", AE: "[[c6,g6]@31 ~]/2",
  AF: "[d6,g6]@2 c6@2 ~ g5@5 ~ a5@2 ~@3, ~@2 a#5 ~@5", AG: "a5@2 g5 ~@2 f4@3 ~@3 g4@3 a4 ~",
  AH: "a#5@2 a5@2 ~ a5@6 g5@5, ~@2 a#5 ~@5", AI: "f5@3 ~@2 f5@4 e5@2 d5@3 g4@2, ~@2 g5 ~@5",
  AJ: "a#4@3 ~ c5 a#5 ~ a5 ~ a#5@2 a5@3 ~@2", AK: "g5@2 f5 ~@5", AL: "[e6@3 ~ g6@41 ~ g6@2]/3",
  AM: "a#6@3 ~@2 a6@4 g6@5 ~@2, ~@2 g6 ~@5",
  AN: "[~@30 a5@2 b5@3 ~@2 b5@3 ~ g5@28 d5@10 ~ e5@5 g5@6 a5@3 ~@2, d6@47 ~, ~@18 a5 ~@29]/6",
  AO: "[a#5@2 g5@19 a5@6 ~@5, d6@15 ~]/2", AP: "~@5 [d6,g6] ~@10", AQ: "d6@9 ~@2 c#6@3 c6@2, g6@15 ~",
  AR: "~@11 a#5@3 a5@2", AS: "a#5@4 ~ a5@5 ~ g5@2 ~@3", AT: "[g5@27 a#5@3 g5@2]/2", AU: "a#5 ~ g5@6",
  AV: "d5@5 g5@5 ~ d5@3 ~@2", AW: "[[g#4,a#4,c#5,f5]@29 ~@3]/2",
  AX: "[d4,g5]@6 d5@2 [a4,b4] [f4,g4] [d4,e4] ~@5, [c5,e5]@9 ~@7, ~@6 f5 ~@9", // G5 Asus2 Fsus2 Dsus2 C
  AY: "g5@6 f5 d5 [a4,b4] [f4,g4] [d4,e4] c4 ~@4, [c5,e5]@9 ~@7", // Asus2 Fsus2 Dsus2 C
  AZ: "g5@6 f5 ~ [a4,b4] [f4,g4] [d4,e4] ~@5, [c5,e5]@9 ~@7, ~@7 d5@2 ~@7", // Asus2 Fsus2 Dsus2 C
  BA: "~@5 f5 ~ a4 [f4,g4] [d4,e4] [a3,b3,c4] g3 ~@4, c5@3 d5 ~@4, ~ [e5,g5]@6 b4@2 ~@7", // Fsus2 Dsus2 Am Em
  BB: "[[g5,d6,g6]@29 ~@3, g3]/2", BC: "[~@5 d#5@6 a#4@7 ~@3 a4@4 ~@2 g4@2 ~@3, ~@5 g5@23 ~@4, ~@5 c5@4 ~@23]/2",
  BD: "[[c5,e5,g5]@6 ~@56 g6@9 ~@12 d6@28 ~@3 c5 ~@13, ~@9 [b4,d5,g5]@105 ~@14, ~@15 f5@99 ~@14, ~@71 f6@40 ~@17]/8", // C G
})).s("gm_rock_organ").gain(0.31).pan(0.2)

// drums · kick
const kick = s("bd").struct(`<
  ~@3 A B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D E C E D E C B D B C B D B C B D
  B C B D B C F D B C B D B C B D B C B D B C B D B C B D B C B D E C E D E C B D B C B D B C B D B C B D B C F D B C B
  D B C B D B C B D B C B D B C B D B C B D E C E D E C B D B C B D B C B D B C B D B C F D B C B D B C B D B C B D B C
  B D B C B D B C B D E C E D E C B D B C B D B C B D B C B D B C F D B C B D B C B D B C B D B C B D B C B D B C B D E
  C E D E C E D G C H D G C G D G C G D G C G D G C H D G D G D G C H D G C G D G C G D G C G D E C E D E C E D H@3 I
  H@3 I H@3 I H@3 I H@3 I H@3 I H@3 I H@3 I H@3 I H@3 I E C E D E C E D B C B D B C B D B C B D B C F D B C B D B C B D
  B C B D B@2 D B@5 ~@4 G C D@2 G J ~ B@2 ~@2 K ~
>`.pickRestart({
  A: "~@5 x ~@7 x ~@2", B: "x", C: "~@11 x ~@4", D: "~@5 x ~@5 x ~@4", E: "x ~@4 x ~@10", F: "x ~@2 x ~ x ~@10",
  G: "x ~@10 x ~@4", H: "x ~@4 x ~@5 x ~@4", I: "x ~@4 x ~@3 x ~ x ~@4", J: "x ~@8 x ~@6", K: "~@15 x",
})).gain(0.51)

// drums · rim
const rim = s("rim").struct(`<
  ~@2 A ~@2 B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~@3 B ~@17 B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~
  B ~ B ~ B ~ B ~ B ~@17 B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~@9 B ~ B ~ B ~ B
// … 94 more lines

More by The Allman Brothers Band