Strudelify

High Cotton

Alabama

KeyF majorTempo180 bpm
0:00/0:00
// High Cotton — Alabama
// 180 bpm, 4/4, 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 136 bars on a 16-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): guitar program 28.
setcpm(180/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 · "HIGH COTTON                     ;Roger Murrah / Scott Anders"
const acoustic_guitar_steel = note(`<
  A@7 B@2 C@4 D@8 E@7 F D@8 G@4 H@6 I@2 J K L M N O P Q R S T@2 U V W X Y Z@7 AA@8 AB AC J AD I@2 J K L M N O P Q R S AE
  AF AG@2 ~@4 AH AI AJ@2 AK AL AM AN AM@2 AO AP AQ@2 AO AR AS AT AU AJ AK AL AM AN AV AW@6
>`.pickRestart({
  A: "[~@102 g4 ~@5 a3@2 ~@2, f3@7 ~ f3@8 f3@4 a3@6 a4@10 a3@7 ~ a3@7 ~ a3@7 ~ a3@4 a4@8 ~@8 f4@9 ~ f4@10 a3@7 ~@5, ~@4 c4@8 a3@7 ~ f4@20 ~@2 f4@15 ~ f4@10 a3@10 ~@6 a3@7 ~ a3@4 f3@7 ~ [f3,f4]@7 ~, ~@4 a3@6 a4@14 f3@6 c4@39 ~ c4@13 ~@3 c4@25 ~, ~@14 c4@14 a3@4 f3@8 f3@7 ~ f3@7 ~ f3@7 ~ f3@12 ~@4 f3@7 ~ f3@5 ~@3 a4@14 ~@2]/7", // F
  B: "[~@14 f3 ~, bb2@7 ~ bb2@7 ~ bb4@14 ~@2, ~@4 bb3@16 f3@6 f4@5 ~, ~@4 bb4@8 f3@4 bb2@7 ~ bb2@6 ~@2, ~@10 d4@11 ~ d4@8 ~@2]/2",
  C: "[~@12 a3@2 ~@14 e3@3 ~ f4@4 ~@4 d4@2 ~@2 g3@3 ~ g3 a3@14 ~, f4@4 f3@3 ~ [c3,e4]@4 c3@4 ~@16, f3@6 c4@15 ~ c4@17 ~@3 c4@20 ~@2, ~@4 a3@6 f4@4 ~@6 e3@8 ~@4 f3@10 ~@6 f3@15 ~, ~@26 e4@5 ~@7 f4@22 ~@4]/4", // C
  D: "[~@16 f3@4 ~@4 g4@4 a3@3 ~@49 f3@3 ~@9 a3@2 ~@26 a4@2 ~@2 g3@4, f3@7 ~ c3@6 ~@10 c3@6 ~@2 bb2@7 ~ bb2@6 ~@2 bb2@8 bb2@4 bb3@8 a3@6 f4@11 ~@3 c3@2 f4@4 ~@6 g3@7 ~ g3@7 ~ g3@8 ~@4, ~@4 a4@10 ~@2 a4@13 ~@7 bb4@9 ~@3 bb4@14 ~@2 a4@15 ~ a4@15 ~@3 c5@6 ~@18 g4@5 ~, ~@4 a3@6 f4@12 ~@2 c4@12 bb3@7 ~ bb3@7 ~ bb3@6 f4@8 ~@4 c4@16 c4@7 ~ c4@7 ~ c4@7 ~ c4@7 ~ c4@9 ~, ~@12 a3@7 ~ a3@8 f4@10 ~@4 d4@11 ~ d4@8 ~@2 f3@7 ~ c3@4 a3@7 ~ a3@8 ~@4 c3@7 ~ [c3,c5]@8 [c3,bb4]@8 c3@7 ~]/8", // C C7
  E: "[~@16 f3@4 ~@4 g4@3 ~ f4@4 ~@40 g4@2 ~@18 g3@3 ~ f4@4 ~@4 g4@2 ~@2 a3@4, f4@10 f4@11 ~@21 d4@11 ~ d4@6 bb3@6 ~@2 a3@6 f4@5 ~ [c3,e4]@9 ~ e4@4 ~@6 a3@8 ~@4, f3@7 ~ c3@6 ~@10 c3@6 ~@2 bb2@7 ~ bb2@6 ~@2 bb2@7 ~ bb2@5 ~@3 f3@6 ~@2 c3@4 a3@7 ~ g3@8 ~@4 f3@6 ~@4 f4@6, ~@4 a4@10 ~@2 a4@15 ~@5 bb4@10 ~@2 bb4@14 ~@2 a4@15 ~@9 c3@6 ~@10 c3@8, ~@4 a3@8 a3@7 ~ a3@7 ~ a3@7 ~ bb3@8 bb3@7 ~ bb3@6 f4@7 ~@5 c4@13 ~@3 c4@15 ~ c4@10]/7", // C
  F: "~@4 c4@3 ~@5 [g3,e4]@4, e4@11 ~@5, c3@8 [c3,d4]@7 ~", // C Csus2
  G: "[~@16 f3@4 ~@4 g4@3 ~ f4@4 ~@28 bb3@4, f4@10 f4@11 ~@21 d4@11 ~ d4@7 ~@3, f3@7 ~ c3@6 ~@10 c3@6 ~@2 bb2@7 ~ bb2@6 ~@2 bb2@7 ~ bb2@5 ~@3, ~@4 a4@10 ~@2 a4@15 ~@5 bb4@10 ~@2 bb4@14 ~@2, ~@4 a3@8 a3@7 ~ a3@7 ~ a3@7 ~ bb3@8 bb3@7 ~ bb3@6 f4@6]/4",
  H: "[~@8 g4@2 ~@18 g3@3 ~ f4@4 ~@4 d4@2 ~@2 g3@3 ~ g3 a3@14 ~ [c4,f4,a4]@28 ~@4, a4@5 ~@3 c3@2 ~@22, f3@6 c4@13 ~@3 c4@15 ~@5 c4@20 ~@34, ~@4 a3@6 f4@5 ~ [c3,e4]@9 ~ e4@4 ~@8 f4@25 ~@33, ~@8 c3@4 a3@7 ~ g3@8 ~@4 f3@10 ~@6 f3@15 [f3,a3]@31 ~@2]/6", // F C F
  I: "[[d4,f4]@4 f4@6 [f4,bb4]@2 f4@4 [d4,f4]@4 bb4@4 bb4 ~ [bb3,d4,f4,bb4]@2 [d4,f4,bb4] ~@3, bb3@8 bb3@5 ~@3, ~@2 d4@6 ~@2 [d4,f4]@3 ~@3, ~ bb4 ~ bb4@2 ~@3]/2", // Dm Bb5 Dm Bb Dm
  J: "[a3,c4,f4]@2 f4@2 f4 [c4,f4,a4] [c4,f4,a4]@2, ~ a3@3, ~@2 [c4,a4]@3 ~@3", // F
  K: "[a3,c4,f4]@4 [c4,f4,a4]@6 [c4,f4,a4]@2 [c4,f4] ~@3, ~ a3@2 ~", L: "[g3,c4,e4,g4]@5 ~@3 g3@2 ~@2 a3@2 ~@2",
  M: "a3@4 a3 g3 f3 ~", N: "a3@7 ~", O: "a3@4 [a3,c4,f4,a4]@6 [a3,c4,f4,a4]@2 [a3,c4,f4,a4] ~@3",
  P: "[bb3,d4,f4]@3 ~ bb4@4 bb4 ~ [f4,bb4]@2 [bb3,d4,f4,bb4] ~@3, ~ [bb3,d4]@2 ~, ~@2 f4@3 ~@3", // Bb Bb5 Bb
  Q: "[bb3,d4,f4]@4 [d4,f4,bb4]@6 [d4,f4,bb4]@2 [bb3,d4,f4,bb4] ~@3, ~ bb3@2 ~", // Bb
  R: "[a3,c4,f4]@4 [c4,f4,a4]@6 [c4,f4,a4]@2 [a3,c4,f4,a4] ~@3, ~ a3@2 ~", // F
  S: "[c4,e4]@4 [e4,g4]@6 [e4,g4]@2 [c4,e4,g4] ~@3, g3@3 ~, ~ c4@2 ~", // C Em C
  T: "[[a3,c4]@4 f4@6 [f4,a4]@2 [c4,f4]@4 [a3,c4]@4 [c4,a4]@4 a4 ~ [c4,f4,a4]@2 [a3,c4,f4,a4] ~@3, ~ a3@3 ~ a3@2 ~, ~ c4@2 ~@5, ~@2 a4@2 ~@2 a4@4 f4@3 ~@3]/2", // Am F F5 Am F
  U: "[d4,f4]@2 bb4@2 bb4 [d4,f4,bb4] [d4,f4,bb4]@2, bb3, ~@2 [d4,f4]@3 ~@3", // Dm Bb Dm
  V: "[bb3,d4,f4]@4 bb4@4 bb4@2 [d4,f4,bb4]@2 [bb3,d4,f4,bb4] ~@3, ~ bb3@2 ~, ~@2 [d4,f4]@3 ~@3", // Bb Dm
  W: "[a3,c4]@4 a4@4 a4 ~ [c4,f4,a4]@2 [c4,f4,a4] ~@3, ~@4 a3@9 ~@3, ~@2 [c4,f4]@3 ~@3", // Am F F5
  X: "[c4,e4]@4 g4@4 g4@2 [c4,e4,g4]@2 [c4,e4] ~@3, g3@5 ~@3, ~@2 [c4,e4]@3 ~@3", // C
  Y: "[a3,c4]@4 a4@4 a4 ~ [c4,f4,a4]@2 [a3,c4,f4,a4]@2 ~@2, ~ a3@2 ~, ~@2 [c4,f4]@3 ~@3", // Am F F5
  Z: "[[a3,c4,f4,a4]@13 ~@3 [c4,f4,a4]@25 ~@8 bb4@25 ~@7 [f4,a4]@24 ~@7, ~@7 f3@13 ~@4 [d4,f4]@13 ~@3 a3@13 ~@3, ~@15 a3@26 ~@6 bb3@26 ~@6 f3@21 ~@12, ~@10 c4@3 ~]/7", // F Dm
  AA: "[~ [e4,g4]@23 ~@24 [f4,a4]@9 ~@7 [f4,bb4]@15 ~@2 bb4@9 ~@7 [f4,a4]@10 ~@6 g4@10 ~@5, [g3,c4]@24 ~@7 [f3,a3]@15 f3@10 ~@39 f3@11 ~@5 g3@10 ~@7, ~@32 [c4,f4]@15 [a3,c4]@10 ~@6 [bb3,d4]@15 ~ bb3@11 ~@6 [a3,c4]@11 ~@21, ~@33 a4@15 ~@32 [d4,f4]@10 ~@22 [c4,e4]@10 ~@6]/8", // Em F Bb5 F C5 F F5 Am …
  AB: "f4@4 ~@2 d4@2 ~@4 g3@3 ~, f3@5 ~@3, ~ c4", AC: "g3 a3@14 ~, f3@15 ~",
  AD: "[a3,c4,f4]@4 [c4,f4,a4]@6 [c4,f4,a4]@2 [c4,f4]@3 ~, ~ a3@2 ~", // F F5
  AE: "f3@6 ~@2 g3@2 ~@2 c4@3 ~, f4@4 ~@2 f4@9 ~, ~@10 a3@5 ~", AF: "f4@7 ~", AG: "[[d4,g4,b4]@7 ~]/2",
  AH: "[d3,a3,d4]!2 [d3,a3,d4,gb4]!2", AI: "[d3,a3,d4,gb4]@4 [a3,d4,gb4]@4 [a3,d4,gb4]@4 [d3,a3,d4,gb4]@3 ~, ~ d3@2 ~",
  AJ: "b3@4 [b3,d4,g4,b4]@6 [b3,d4,g4,b4]@2 [b3,d4,g4,b4] ~@3", // G
  AK: "[c4,e4,g4]@3 ~ c5@4 c5 ~ [g4,c5]@2 [c4,e4,g4,c5] ~@3, ~ [c4,e4]@2 ~, ~@2 g4@3 ~@3", // C C5 C
  AL: "[c4,e4,g4]@4 [e4,g4,c5]@6 [e4,g4,c5]@2 [c4,e4,g4,c5] ~@3, ~ c4@2 ~", // C
  AM: "[b3,d4,g4]@4 [d4,g4,b4]@6 [d4,g4,b4]@2 [b3,d4,g4,b4] ~@3, ~ b3@2 ~", // G
  AN: "[d4,gb4]@4 [gb4,a4]@6 [gb4,a4]@2 [d4,gb4,a4] ~@3, a3@3 ~, ~ d4@2 ~", // D Gbm D
  AO: "[b3,d4,g4]@2 g4@2 g4 [d4,g4,b4] [d4,g4,b4]@2, ~ b3@3, ~@2 [d4,b4]@3 ~@3", // G
  AP: "[b3,d4,g4]@4 [d4,g4,b4]@6 [d4,g4,b4]@2 [d4,g4]@3 ~, ~ b3@2 ~", // G G5
  AQ: "[[e4,g4]@4 g4@6 [g4,c5]@2 g4@4 [e4,g4]@4 c5@4 c5 ~ [c4,e4,g4,c5]@2 [e4,g4,c5] ~@3, c4@8 c4@5 ~@3, ~@2 e4@6 ~@2 [e4,g4]@3 ~@3, ~ c5 ~ c5@2 ~@3]/2", // Em C5 Em C Em
  AR: "[b3,d4,g4]@4 [d4,g4,b4]@6 [d4,g4,b4]@2 [d4,g4] ~@3, ~ b3@2 ~", AS: "[a3,d4,gb4,a4]@5 ~@3 a3@2 ~@2 b3@2 ~@2",
  AT: "b3@4 b3 a3 g3 ~", AU: "b3@7 ~", AV: "g3@6 d3@2 e3@2 ~@2 e3@3 ~, g4@4 ~@6 g3@5 ~", AW: "[g3@76 ~ g3@8 ~@11]/6",
})).s("gm_acoustic_guitar_steel").gain(0.44).pan(0.7)

// bass · fretless bass
const bass = note(`<
  ~@45 A@2 B C D@2 E F G H B C I J K L M B N F O P A@2 Q@2 R@2 S@2 T U V@2 T W X@2 G H B C D Y E F G H B C I J K Z AA@2
  ~@4 AB AC AD AE AF F AG AH AI@2 AJ AE AF F AJ AK AL AM AD AE AF F AG AH AN AO@6
>`.pickRestart({
  A: "[f1@15 ~]/2", B: "bb1@6 ~@2 f1@7 ~", C: "bb1@3 ~ bb1@3 ~", D: "f2@3 ~ c2@3 ~", E: "c2@3 ~ g1@3 ~",
  F: "c2@3 ~ c2@3 ~", G: "f1@3 ~ c2@3 ~", H: "f1@3 ~ f1@3 ~", I: "f2@6 ~@2 f2@7 ~", J: "c2@5 ~@3 c2@6 ~@2",
  K: "f2@6 ~@2 c2@7 ~", L: "f2@7 ~ c2@6 ~@2", M: "bb1@7 ~ f1@6 ~@2", N: "f2@3 ~ f2@4", O: "f2@6 ~@2 c2@5 ~@3",
  P: "f1@13 ~@3", Q: "[bb1@15 ~]/2", R: "f1/2", S: "c2/2", T: "f1@7 ~", U: "f1@15 ~", V: "bb1@7 ~", W: "c2@7 ~",
  X: "[f1@29 ~@3]/2", Y: "f2@3 ~ f2@3 ~", Z: "f1", AA: "[g1@15 ~]/2", AB: "d2@2 ~@2 d2@3 ~ d2@2 ~@2 d2@2 ~@2",
  AC: "d2@3 ~ d2@2 ~@2 d2@2 ~@2 d2@2 ~@2", AD: "g1@3 ~ d2@3 ~", AE: "g1@3 ~ g1@3 ~", AF: "c2@6 ~@2 g1@7 ~",
  AG: "g2@6 ~@2 g2@7 ~", AH: "d2@5 ~@3 d2@6 ~@2", AI: "g2@6 ~@2 d2@5 ~@3", AJ: "g2@3 ~ d2@3 ~", AK: "g2@3 ~ g2@3 ~",
  AL: "d2@3 ~ a1@3 ~", AM: "d2@3 ~ d2@3 ~", AN: "g2@6 ~@2 d2@7 ~", AO: "[g1@77 g1@8 ~@11]/6",
})).s("gm_fretless_bass").gain(0.44)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  A@5 B@2 C@3 D E F G@2 H I J@2 K L M@2 H I N O P Q R@2 H I S@2 T U V@3 W X Y Z@4 AA AB AC@2 AD AE AF@2 AG AH AI AJ AK@2
  AL AM AN AO AP AQ@8 AR@5 AS AT E F AC@2 AA AB AC@2 AD AE AF@2 AG AH AI AJ E F AU@2 ~@4 AV AW AX@2 AY AZ BA BB AX@2
  BC@2 BD BE BC@2 BF BG AX@2 AY AZ BA BB BH BI@6
>`.pickRestart({
  A: "[f3@5 ~@11 f3@4 ~@12 f3@4 ~@12 f3@4 ~@12 f2@7 ~ c3@2 ~@2 f3@2 ~@2, f2@8 f2@7 ~@9 f2@7 ~ f2@8 f2@7 ~ f2@7 ~@25, ~@6 f3@9 ~@7 f3@9 ~@7 f3@9 ~@7 f3@9 ~@17, ~@12 c3@7 ~ c3@7 ~ c3@8 c3@6 a3@15 ~@23, ~@44 c3@7 ~ c3@7 ~ c3@12 ~@3 d3@2 ~@3]/5",
  B: "[~@2 [f3,a3,c4]@2 ~@2 [f3,a3]@2 ~@2 [f3,a3]@2 ~@2 [f3,a3] ~, f2@8 f2@7 ~, ~@4 f4@7 ~ c4@8 c4@8 ~@4, ~@4 c3@4 ~@4 c3@3 ~]/2", // F
  C: "[~@6 c4@2 ~@2 f3@2 f2@2 [f3,bb3,c4] ~@3 [f3,a3,c4]@2 ~@2 [f3,a3,c4] ~, f3@6 f3 ~@13 c3@3 ~, bb2@7 ~ f2@6 ~@2 bb2@6 ~@10 f2@14 ~@2, ~@2 f4@5 ~@7 f4@4 ~@6, ~ [bb3,c4]@2 bb3@2 [bb3,c4]@2 ~@5]/3", // Fsus4 F Bbsus2
  D: "g3@4 g3@4 ~@3 e4 e4@2 ~ [g3,c4,e4], c3@7 ~ g2@7 ~, ~@4 [c4,e4]@7 [g3,c4]@4 ~", // C C5
  E: "~@4 [f3,a3,c4]@4 a3@2 ~ bb3@3 ~@2, f2@7 ~ f2@6 ~@2, ~@8 d3 ~ d4@5 ~, ~@10 f3@3 ~@3", // F
  F: "[f2,c3,f3,a3,c4,f4]@15 ~", G: "[~@16 f2@5 ~@3 f3@3 ~ eb3@3 ~, f2@8 c3@15 ~ c3@7 ~, ~@4 f3@7 ~@21]/2",
  H: "~@8 f2@7 ~, bb2@15 ~", I: "~@4 f2@3 ~, bb2@7 ~", J: "[f2@8 ~@8 f2@7 ~ c3@7 ~, ~@8 c3@15 ~@9]/2",
  K: "c3@7 ~ g2@6 ~@2", L: "c3@5 ~@3 g2@6 ~@2",
  M: "[~@20 f3@3 ~ f3@3 ~ eb3@2 ~@2, f2@7 ~ c3@15 ~ c3@7 ~, ~@4 f3@6 ~@2 f3@7 ~@13, ~@8 f2@3 ~@5]/2",
  N: "f2@7 ~ c3@7 ~", O: "c3@7 ~ g2@5 ~@3", P: "f2@7 ~@5 f3@3 ~, ~@8 c3@7 ~", Q: "~@4 e3@4 g2@5 ~@3, c3@3 ~@5",
  R: "[~@20 f3@4 ~@4 eb3@3 ~, f2@7 ~ c3@15 ~ c3@7 ~, ~@4 f3@7 ~@5 f2@6 ~@10]/2",
  S: "[f2@7 ~@9 f2@7 ~@5 f3@3 ~, ~@8 c3@15 ~ c3@8, ~@12 f3@7 ~@13]/2", T: "c3@5 ~@3 g2@5 ~@3", U: "c3@6 ~@2 g2@5 ~@3",
  V: "[f2@7 ~@5 f3@8 f3@4 f3@3 ~@5 bb2@8 ~@8, ~@8 c3@15 ~@5 eb3@7 ~@13]/3", W: "bb2@7 ~ f2@5 ~@3",
  X: "~@12 f3@3 ~, f2@7 ~ c3@7 ~, ~@4 f3@7 ~@5", Y: "~@8 g2@4 e3@3 ~, c3@3 ~@5, ~@4 e3@7 ~@5",
  Z: "[~@8 c3@7 ~@2 a3@14 ~ [a3,c4,f4]@27 ~@5, f2@14 ~ f2@15 ~ [f2,c3,f3]@27 ~@6, ~@4 f3@6 ~@6 [c3,f3]@15 ~@33]/4", // F F5
  AA: "~@2 f2 [f3,bb3,d4,f4], bb2@3 ~@5, ~ [f3,bb3]@2 ~", // Bb Bb5
  AB: "~@4 [f3,bb3,d4]@4 ~@4 [f3,bb3,d4] ~@3, bb2@7 ~ bb2@6 ~@2", // Bb
  AC: "[~@4 [a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@4 [a3,c4]@4 ~@4 [f3,a3,c4]@3 ~, f3@4 c3@7 ~ c3@3 ~, ~ f4@3 f3@2 ~@2, ~@5 f4@3]/2", // Am F Am F
  AD: "~ e3 g2 [e3,g3,c4], c3@3 ~@5, ~ [g3,c4]@2 ~", AE: "~@4 [e3,c4]@4 ~@4 [e3,g3,c4]@3 ~, c3@4 c3@3 ~",
  AF: "[c4@2 [c3,f3,a3,c4]@2 ~@2 [f3,a3]@2 ~@2 [c3,f3,a3]@2 f2@2 [c3,f3,a3] ~, f2@6 c4@9 ~, ~ c3 f2 ~]/2", // F
  AG: "~ [f3,bb3,d4] f2 [f3,bb3,d4], bb2 ~", AH: "~@2 [f3,bb3,d4]@2 ~@2 [f3,bb3,d4] ~, bb2@4 bb2@3 ~",
  AI: "~@2 [a3,c4,f4]@2 ~@2 [a3,c4] ~, f3@8 f3@7 ~", AJ: "~@4 [e3,g3,c4]@4 ~@4 [e3,g3,c4]@3 ~, c3@4 c3@3 ~",
  AK: "[~@4 [a3,c4]@4 ~@4 [f3,a3,c4]@4 ~@4 [a3,c4]@4 c3@4 [f3,a3,c4] ~@3, f3 c3@2 ~, ~@16 f3@7 ~@9]/2", // Am F Am F
  AL: "~ [f3,bb3] f2 [f3,bb3], bb2@7 ~@9, ~ d4@2 ~", AM: "~@4 [f3,bb3]@4 f2@4 [f3,bb3,d4]@3 ~, bb2@7 ~@9",
  AN: "~@2 [a3,c4]@2 ~@2 [a3,c4] ~, f3@7 ~ f3@8", AO: "~@2 [e3,g3,c4]@2 ~@2 [e3,g3,c4] ~, c3@4 c3@3 ~",
  AP: "~@6 f3 ~, f3@7 ~ [c3,f3]@4 ~@4, ~@2 f4@5 ~, ~@2 [a3,c4]@3 [a3,c4]@2 ~", // F5 Am
  AQ: "[~ [a3,c4,f4]@12 ~@3 [a3,f4]@27 ~@5 [bb3,d4,f4]@27 ~@5 [a3,c4,f4]@28 ~@4 [c4,e4]@16, [f2,c3,f3]@12 ~@2 f2@29 ~@35 f2@29 ~@21, ~@15 f3@27 ~@70 g3@12 ~@4, ~@15 c3@25 ~@7 [bb2,f3]@28 ~@4 [c3,f3]@29 ~@3 [c3,e3]@17, ~@2 c4@3 ~@11]/8", // F Dm Bb F C F5 Bb5 F5 …
  AR: "[~@16 d5 f4@14 ~ [a3,c4,f4]@12 ~@4 [bb3,d4,f4]@15 ~ [bb3,d4,f4]@12 ~@4, ~@15 f2@13 ~@3 [f2,c3,f3]@13 ~@4 f3@14 ~@18, ~@16 [c3,f3,a3,c4]@15 ~@16 bb2@14 ~@2 [bb2,f3]@12 ~@5]/5", // F Bb F5 F Bb5
  AS: "~ f4@15, [c3,f3,a3,c4]@13 ~@3", AT: "~ [g3,c4,e4]@12 ~@3, [c3,e3]@11 ~@5", AU: "[[b3,d4,g4]@27 ~@5]/2",
  AV: "~@2 [d3,a3] [d3,a3,d4]", AW: "[d3,a3,d4]!2 [d3,a3,d4,gb4] [d3,a3], ~@6 [d4,gb4] ~",
  AX: "[d4@2 [d3,g3,b3,d4]@2 ~@2 [g3,b3]@2 ~@2 [d3,g3,b3]@2 g2@2 [d3,g3,b3] ~, g2@6 d4@9 ~, ~ d3 g2 ~]/2", // G
  AY: "~ [g3,c4,e4] g2 [g3,c4,e4], c3 ~", AZ: "~@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4] ~, c3@4 c3@3 ~",
  BA: "~@2 [b3,d4,g4]@2 ~@2 [b3,d4] ~, g3@8 g3@7 ~", BB: "~@4 [gb3,a3,d4]@4 ~@4 [gb3,a3,d4]@3 ~, d3@4 d3@3 ~",
  BC: "[~@4 [b3,d4]@4 ~@4 [g3,b3,d4]@4 ~@4 [b3,d4]@4 ~@4 [g3,b3,d4]@3 ~, g3@4 d3@7 ~ d3@3 ~, ~ g4@3 g3@2 ~@2, ~@5 g4@3]/2", // Bm G Bm G
  BD: "~@2 g2 [g3,c4,e4,g4], c3@3 ~@5, ~ [g3,c4]@2 ~", BE: "~@4 [g3,c4,e4]@4 ~@4 [g3,c4,e4] ~@3, c3@7 ~ c3@6 ~@2",
  BF: "~ gb3 a2 [gb3,a3,d4], d3@3 ~@5, ~ [a3,d4]@2 ~", BG: "~@4 [gb3,d4]@4 ~@4 [gb3,a3,d4]@3 ~, d3@4 d3@3 ~",
  BH: "~@4 [g3,b3,d4]@4 b3@2 ~ c4@3 ~@2, g2@7 ~ g2@6 ~@2, ~@8 e3 ~ e4@5 ~, ~@10 g3@3 ~@3", // G
  BI: "[[g2,d3,g3,b3,d4,g4]@77 [g2,d3,g3,b3,d4,g4]@9 ~@10]/6", // G
})).s("gm_acoustic_guitar_steel").gain(0.36).pan(0.3)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_3 = note(`<
  A@3 B@2 C@2 D E F G H ~ I@2 J K L M N O ~@2 P@2 Q R S T U@2 V@2 W X Y R S Z AA@2 ~@2 AB ~@8 AC AD@2 AE ~ AE ~ AF AG AH
  AI AJ ~@17 H ~@8 AC AD@2 AE ~ AE ~ H ~@7 AK@2 AL@2 AM ~ AM ~ AL@2 ~@7 AN AL@2 AM ~ AM ~ AO ~@6
>`.pickRestart({
  A: "[~@4 c3@6 ~@6 f2@8 ~@2 a3@15 ~@7, ~@5 a3@7 ~@12]/3", B: "[~@16 f3@7 ~@9, ~@8 f2@7 ~@17, ~@10 a3@13 ~@9]/2",
  C: "[~@8 a3@3 ~@5 f3@4 f4@7 ~ c4@2 ~@2, ~@3 f4@2 ~@3]/2", D: "bb3 ~@3", E: "~@2 f3 ~", F: "~@2 f4@4 f4 ~",
  G: "~@8 g3@3 ~ g4@2 ~@2", H: "~@4 f4@4 ~@6 e3 [e2,b2], c3@7 ~@9", I: "[~@12 f3@7 ~ f3@3 ~@9]/2",
  J: "~@4 d3@5 ~@3 d3@4", K: "~ d3 ~ d3", L: "~ f3 ~ f3", M: "~@4 f3@7 ~ f3@3 ~", N: "~ e3 ~ e3",
  O: "~@4 e3@5 ~@3 e3@2 ~@2", P: "[~@4 d3@7 ~ d3@7 ~ d3@7 ~ d3@4]/2", Q: "~@4 f3@6 ~@2 f3@3 ~", R: "~@2 e3@2 ~@2 e3 ~",
  S: "~@2 f3@3 ~@3", T: "~@6 e3 ~", U: "[~@12 f3@7 ~@5 f3@3 ~@5]/2", V: "[~@4 d3@7 ~ d3@6 ~@2 d3@6 ~@2 d3@4]/2",
  W: "~@4 f3@5 ~@7", X: "~@4 f3@7 ~@5", Y: "~@2 e3@3 ~ e3 ~", Z: "f2@7 ~ c3@7 ~",
  AA: "[~@12 d3@7 ~ d3@7 ~ d3@3 ~, ~@4 d3@7 ~@21, ~ f2@2 ~]/2", AB: "~@12 f3@3 ~", AC: "~@4 g3@4 ~@4 e4@3 ~",
  AD: "[~@4 f4@25 ~@3]/2", AE: "~@6 f4 ~", AF: "~@2 c4 ~, ~@4 f4@11 ~", AG: "~ f4@2 ~", AH: "~@3 d4", AI: "~ d4@2 ~",
  AJ: "~@2 f4@2 ~@2 f4 ~", AK: "[[d3,a3]!2 d4 gb4@2 gb4 ~@2]/2", AL: "[~@4 g4@25 ~@3]/2", AM: "~@6 g4 ~",
  AN: "~@4 a3@4 ~@4 gb4@3 ~", AO: "~@4 g4@4 ~@6 gb3 [gb2,db3], d3@7 ~@9",
})).s("gm_acoustic_guitar_steel").gain(0.2).pan(0.3)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@36 A B C D E ~@4 F G H@2 I J@2 ~ F G K@5 ~@23 F G H@2 I J@2 ~ F G L@5 ~ M@2 N@2 O P@2 ~ Q R S@5 ~ Q R T@2 O P@2 ~ Q
  R S@5 ~ U V@3 ~
>`.pickRestart({
  A: "~@5 [c4,f4]@3", B: "[c4,f4] [c4,f4]@2 [c4,f4]@3 [c4,f4]@2", C: "[d4,g4]@2 [c4,f4]@4 c4@3 bb3@2 a3@5, ~@3 f4@5",
  D: "~ [f3,bb3] [bb3,d4]!2 [bb3,d4]@3 [bb3,d4]", E: "[c4,eb4]@2 [bb3,d4] bb3@2 g3 f3@2, ~@3 d4@5",
  F: "~@4 c4@6 d4@5 [f3,ab3,c4], ~@4 [a3,f4]@11 ~", G: "[d3,g3,bb3] [c3,f3,a3]@7 [c3,f3,a3]@2 [f3,bb3,c4]@6",
  H: "[[f3,bb3,d4]@4 [f3,bb3,d4]@4 [f3,bb3,d4]@4 [f3,bb3,d4]@2 [g3,c4,eb4]@4 [f3,bb3,d4]@7 ~ [f3,a3,c4]@6]/2", // Bb Cm Bb F
  I: "[f3,a3,c4]@2 [f3,a3,c4] [f3,a3,c4]@3 [f3,a3,c4]@2", // F
  J: "[[g3,bb3,d4] [f3,a3,c4]@3 [c3,f3,c4]@2 [c3,f3,c4] [e3,g3,c4]@7 ~@2]/2", // Gm F F5 C
  K: "[[f3,bb3,d4]@4 [f3,bb3,d4]@4 [f3,bb3,d4]@4 [f3,bb3,d4]@2 [g3,c4,eb4]@4 [f3,bb3,d4]@5 ~ [d3,bb3,d4]@4 [d3,f3,bb3,d4]@2 [f3,a3,c4]@6 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,bb3,c4]@4 [f3,a3,c4]@2 [c3,g3,c4]@6 [e3,g3,c4]@4 [d3,f3,bb3]@4 [d3,e3,bb3]@2 [c3,f3,a3]@12 ~@6]/5", // Bb Cm Bb Gm Bb F Fsus4 F …
  L: "[[f3,bb3,d4]@4 [f3,bb3,d4]@4 [f3,bb3,d4]@4 [f3,bb3,d4]@2 [g3,c4,eb4]@4 [f3,bb3,d4]@5 ~ [d3,f3,bb3,d4]@4 [d3,g3,bb3,d4]@2 [f3,a3,c4]@6 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@4 [f3,a3,c4]@2 [c3,g3,c4]@6 [e3,g3,c4]@4 [d3,f3,bb3]@4 [d3,e3,bb3]@2 [c3,f3,a3]@12 ~@6]/5", // Bb Cm Bb Gm F C5 C Bb …
  M: "[~@4 d4@6 e4@5 [bb3,d4] [a3,c4] [d3,g3,b3,d4]@7 [d3,g3,b3]@2 [g3,c4,d4]@6, ~@4 [g3,b3,g4]@11 [e3,e4]@3 ~@14]/2", // Bb Am G Gsus4 G E
  N: "[[g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [a3,d4,f4]@4 [g3,c4,e4]@7 ~ [b3,d4,g4]@6]/2", // C Dm C G
  O: "[g3,b3,d4]@2 [g3,b3,d4] [g3,b3,d4]@3 [g3,b3,d4]@2", // G
  P: "[[a3,c4,e4] [g3,b3,d4]@3 [d3,g3,d4]@2 [d3,g3,d4] [gb3,a3,d4]@7 ~@2]/2", // Am G G5 D
  Q: "~@4 d4@6 e4@5 [g3,bb3,d4], ~@4 [b3,g4]@11 ~", R: "[e3,a3,c4] [d3,g3,b3]@7 [d3,g3,b3]@2 [g3,c4,d4]@6",
  S: "[[g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [a3,d4,f4]@4 [g3,c4,e4]@5 ~ [e3,g3,c4,e4]@4 [e3,a3,c4,e4]@2 [g3,b3,d4]@6 [g3,b3,d4]@2 [g3,b3,d4]@2 [b3,d4,g4]@4 [b3,d4,g4]@2 [gb3,a3,d4]@6 [gb3,a3,d4]@4 [g3,b3,d4]@4 [gb3,a3,d4]@2 [d3,g3,b3]@12 ~@6]/5", // C Dm C Am G D G D …
  T: "[[g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [a3,d4,f4]@4 [g3,c4,e4]@7 ~ [g3,b3,d4]@6]/2", // C Dm C G
  U: "~@4 d4@7 e4@5, ~ [b3,g4]@3", V: "[~ [g3,bb3,d4]@2 [e3,a3,c4]@2 [d3,g3,b3]@36 ~@7]/3",
})).s("gm_electric_guitar_jazz").gain(0.12)

// chords · harmonica
const harmonica = note(`<
  ~@47 A B C D E F G H I J K L ~@7 M@2 ~ N@2 O@2 ~@3 P@2 ~@3 Q R ~@6 S@2 ~@6 T U ~@6 V W X ~@5 Y Z ~@6 AA AB@2 ~@5 Y AC
  ~@3 AD@2
>`.pickRestart({
  A: "bb3@4 [d4,f4]@3 ~ bb3 ~ [d4,f4]@2 ~@2 bb3 ~", B: "[d4,f4]@2 ~@2 bb3 ~ [d4,f4]@2 ~@2 bb3@2 [d4,f4]@3 ~",
  C: "~@4 [f4,a4]@5 ~ [f4,a4]@2 ~@2 c4 ~", D: "[f4,a4]@3 ~ c4 ~ [f4,a4]@3 ~ c4@2 [f4,a4]@3 ~", E: "~@4 c4 d4 f4 ~",
  F: "a4@7 g4", G: "f4@3 ~ [f4,a4]@2 ~@4 [f4,a4]@2 ~@4", H: "[f4,a4]@3 ~@3 [f4,a4]@6 [f4,a4] ~@3",
  I: "~@4 [d4,f4]@2 ~@4 [d4,f4]@3 ~@3", J: "[d4,f4]@3 ~@3 [d4,f4]@5 ~ f4@2 ~@2, ~@12 d4 ~@3",
  K: "~@4 [f4,a4]@3 ~@3 [f4,a4]@3 ~@3", L: "[e4,g4]@3 ~@3 [e4,g4]@6 g4@2 ~@2, ~@12 e4 ~@3", M: "[[f4,a4]@29 ~@3]/2",
  N: "[~@4 f5@10 d5 ~]/2", O: "[c5@4 f4@19 ~@9]/2", P: "[~ a4@2 f4]/2", Q: "~ a4", R: "f4@13 ~@3",
  S: "[~@2 a4@2 c5@2 a4 c5@8 ~]/2", T: "~ a4@3", U: "f4@7 ~", V: "~@4 d5@8 c5@2 b4 ~", W: "d5@3 ~ d5@8 c5@2 g4 ~",
  X: "b4@15 ~", Y: "~@4 b4@8 a4@2 g4 ~", Z: "b4@3 ~ b4@10 ~@2", AA: "~ b4 c5 db5",
  AB: "[d5@15 ~ g4@5 ~@11, ~@15 b4@2 ~@15]/2", AC: "b4", AD: "[~@13 [g4,b4]@5 ~@14]/2",
})).s("gm_harmonica").gain(0.38)

// other · fiddle
const fiddle = note(`<
  ~@59 A B C D E ~ F G ~@39 H I J K L M N O P Q R S T M U V W I J K L M N O X ~@3 Y ~
>`.pickRestart({
  A: "f5@3 f5 f5@3 f5", B: "c5@2 a4 ~ a4 d4!2 ~", C: "d4@7 ~ bb4@4 bb4@2 ~@2", D: "bb4@2 ~@2 bb4@3 ~ f5@3 ~ f5 ~ f5 ~",
  E: "f5@4 f5@5 ~@7", F: "a4@9 ~@7", G: "f4", H: "~@4 d4 e4 g4 ~", I: "b4@3 ~ b4@8 b4 ~ b4 ~",
  J: "b4@4 b4 ~ b4 ~ b4@4 b4 ~ b4 ~", K: "c5@2 ~@2 c5@7 ~ c5 ~ c5 ~", L: "c5@4 c5 ~ c5 ~ c5@4 c5 ~ c5 ~",
  M: "b4@2 ~@2 b4@7 ~ b4 ~ b4 ~", N: "a4@3 ~ a4@7 ~ a4 ~ a4 ~", O: "g4 ~ g4@3 d4 e4 ~", P: "g4@3 ~",
  Q: "b4@3 ~ b4@7 ~ b4 ~ b4 ~", R: "b4@3 ~ b4 ~ b4 ~ b4@3 ~ b4@3 ~", S: "c5@2 ~@2 c5@8 c5 ~ c5 ~",
  T: "c5@3 ~ c5 ~ c5 ~ c5@3 ~ c5 ~ c5 ~", U: "b4@3 ~ b4 ~ b4 ~ b4@3 ~ b4 ~ b4 ~", V: "a4@2 ~@2 a4@7 ~ a4 ~ a4 ~",
  W: "a4@3 ~ a4 ~ a4 ~ a4@3 ~ a4@3 ~", X: "g4", Y: "~@13 g5@3",
})).s("gm_fiddle").gain(0.33)

// chords · bandoneon
const bandoneon = note("<~@67 A@4 B@4 C D E@2 F G H@2 ~@53>".pickRestart({
  A: "[[a2,a3,c4,f4]@31 ~ [bb2,bb3,d4,f4]@31 ~, f3@63 ~]/4", // F Bb
  B: "[[a2,a3,c4,f4]@31 ~ [c4,e4]@8 [d4,f4]@8 [e4,g4]@8 [c4,e4]@8, f3@30 ~ c3@31 ~@2, ~@32 g3@31 ~]/4", // F C Dm Em C
  C: "[f3,a3,c4,f4]", D: "[eb3,a3,c4,f4]@15 ~", E: "[[bb3,d4,f4,bb4]@15 ~ d4@8 c4@4 d4@4, d3@31 ~, ~ [f3,bb3,f4]]/2",
  F: "a4 f4, [f3,a3,c4]@15 ~", G: "g4 e4, [g3,bb3,c4]", H: "[[a3,c4,f4]@8 [bb3,d4]@8 [a3,c4]@15 ~, f3@31 ~]/2",
})).s("gm_bandoneon").gain(0.25)

// chords · banjo
const banjo = note("<~@113 A B C D E F G H I J K@2 L M N O P Q ~@3 R ~>".pickRestart({
  A: "f4@4 g4@4 g4@2 d4 ~ e4@2 g4@2", B: "~ g4 gb4 g4!2 f4 d4 bb3",
  C: "g3@3 ~@7 d4@2 b3@2 ~@2, ~@4 b3@7 ~@5, ~@4 g3@3 ~", D: "~@6 b3 ~, d4@9 ~ d4@4 ~@2, g3@7 ~ g3@6 ~@2, ~@4 b3@7 ~@5",
// … 65 more lines

More by Alabama