Strudelify
Medley: Winter Wonderland cover art

1997 · Simply the Best Christmas

Medley: Winter Wonderland

Kenny Rogers

KeyC majorTempo208 bpm
0:00/0:00
// Medley: Winter Wonderland — Rogers Kenny
// 208 bpm, 4/4, key C 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, 3/4 at bar 66, 2/4 at bar 110) are rendered on a constant 4/4 grid of one bar per cycle
// note: Full arrangement: all 166 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(208/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, A@4 for four bars: edit a riff to change every repeat.

// chords · piano
const piano = note("<~@15 A@5 ~@5 B@2 C@2 D E F@2 ~ G H I H ~@4 J K ~@13 L@2 M@2 N O P ~@102>".pickRestart({
  A: "[[g4,b4]@10 ~@2 [g4,c5] ~@3 [g4,c5]@5 ~ [g4,b4]@18 ~@2 [g4,c5] ~@5 [g4,c5]@3 ~ [g4,b4]@2 ~@2 a4@4 b4@5 ~@15, g3@33 ~@7, ~@56 g4@9 ~@15]/5", // G C5 G C5 G
  B: "[~@2 d6@2 c6@2 ~ d6@25, a5@31 ~]/2", C: "[[e5,c6]@3 ~]/2", D: "f6, a5@7 ~", E: "e6, g5@7 ~",
  F: "[[f5,d6]@19 ~@13]/2", G: "~@5 g4@4 ~@3 [g4,c5,e5]@4, ~ [c5,e5] ~@2", H: "~@4 [g4,c5,e5]@5 ~@7",
  I: "~ [g4,c5,e5] ~ [g4,c5,e5]", J: "~@4 [g4,c5,e5]@4 ~@5 [g4,c5,e5]@3", K: "~@5 [g4,c5]@4 ~@7, ~ e5 ~@2",
  L: "[[d4,a4,d5,f5]@13 ~@3]/2", M: "[[c4,g4,c5,e5]@27 ~@5]/2", N: "[f4,f5], c5@7 ~, a4@3 ~", O: "[e4,c5,e5], g4@3 ~",
  P: "[d4,a4,f5]", // Dm
})).s("gm_piano").gain(0.25).pan(0.8)

// chords · epiano1 · "Piano"
const epiano1 = note(`<
  ~@67 A@4 B C D@8 E@6 ~@2 F@5 G H@2 I@4 J@8 ~@3 K@2 L@6 M@3 N@6 O@8 P Q@8 R S@7 T@7 U@5
>`.pickRestart({
  A: "[~ [f3,a3,c4]@15]/4", B: "~@9 [f3,a3,c4]@7", C: "~@9 c3@7",
  D: "[~@11 c5@12 ~@4 [f3,a3,c4]@66 ~@20 f4@15, ~@8 g5@14 ~@73 [f3,a3,c4]@33, ~@9 e5@13 ~@5 b3 ~@66 c3@2 ~@32]/8", // F
  E: "[~@2 [e3,g3]@17 g4@15 ~@2 [b3,d4]@30 ~@4 [g3,c4,e4]@18 ~@8, ~ c3@17 ~@30, ~@19 c4@12 ~@5 g3@33 ~@27, ~@19 e4@10 ~@67]/6", // Em Bm C
  F: "[~@11 [a3,c4]@65 ~@4, ~@11 f3@68 ~]/5", G: "[f3,a3,c4]", H: "[~@9 c5@6 ~, c3, ~@15 g5@14 ~@3, ~@16 e5@13 ~@3]/2",
  I: "[~ [f3,a3,c4]@31, ~@2 b3 ~@61]/4", // F
  J: "[~@24 f4@16 ~ [e3,g3]@17 g4@15 ~@2 [b3,d4]@30 ~@4 [g3,c4,e4]@19, ~@5 c3@2 ~@34 c3@34 ~@53, ~@6 [f3,a3,c4]@34 ~@18 c4@12 ~@5 g3@33 ~@20, ~@29 e4@5 ~@30]/8", // Em Bm C F
  K: "[~ [c5,e5]@7, ~ g4@15]/2", L: "[~@8 [f4,a4,c5]@12 ~@7 [c5,e5]@32 ~@4 [g4,e5]@30 ~@3, ~@24 g4@35 ~@4 c5@28 ~@5]/6",
  M: "[~@3 [e4,g4,c5]@16 ~@2 [d4,g4,b4]@27]/3", // C G
  N: "[~@9 e5@33 ~@3 [f4,a4,c5]@14 ~@4 [g4,c5,e5]@33, ~@7 g4@34 ~@55, ~@3 c5@10 ~@19]/6", // F C
  O: "[~@4 [g4,e5]@35 ~ [g4,d5]@12 ~@6 [e4,g4,c5]@18 [e4,g4,c5]@15 ~@3 e5@33 ~, ~@2 c5@15 ~@3 b4@5 ~@22 g4@15 ~@2, ~@47 c5@14 ~@3]/8", // C G5 C
  P: "~@2 [f4,a4,c5]@13 ~", // F
  Q: "[~@4 [g4,e5]@14 ~@4 [f4,a4,c5]@14 ~@4 [g4,e5]@16 ~@3 [g4,b4,d5]@13 ~@5 g5@13 ~@5 [g4,e5]@33, ~@4 c5@12 ~@24 c5@13 ~@19 b4@18 ~@5 c5@31 ~@2, ~@74 d5@15 ~@39]/8", // C F C G C
  R: "~@3 [f4,a4,c5]@13", // F
  S: "[~@5 [g4,c5,e5]@17 ~ g4@17 ~ [f4,a4,c5]@16 ~@2 [g4,d5]@32 ~@4 [f4,a4]@15 ~@2, ~@23 e5@15 ~@57 d5@17, ~@23 c5@13 ~@23 b4@29 ~@24]/7", // C F G5 F
  T: "[~@2 [b4,d5]@14 ~@4 e5@13 ~@5 [e4,g4,c5]@15 ~@3 e5@33 ~@3 [f4,a4,c5]@16 ~@4, ~@2 g4@31 ~@23 g4@30 ~@26, ~@20 c5@11 ~@25 c5@28 ~@28]/7", // Bm C F
  U: "[~@3 [g4,c5,e5]@63 ~@14]/5", // C
})).s("gm_epiano1").gain(0.16)

// chords · acoustic guitar steel · "Gtr.Chord"
const acoustic_guitar_steel = note(`<
  A@2 ~@4 B@4 A@2 C@2 D B E B@2 F@2 B@3 G F@2 C H D I A J ~ K@3 L M F N@4 F@2 D B E B@2 M F B G B O A P C H Q H R S ~@2
  T U@2 V W X Y Z AA@2 AB@3 AC AD@2 AE AF AG AH ~@2 AI AJ AK@4 AL AM AN AO AP U AQ AR AS AT AU AV@4 AW@2 AX@7 AY@2 AZ@2
  BA@3 BB@2 BC@4 BD@4 BE@2 BF@3 BG@4 BH@2 BI@2 BJ@5 BK@4 BL@8
>`.pickRestart({
  A: "~ [a3,d4,f4] ~ [a3,d4,f4]", B: "~ [b3,d4,g4] ~ [b3,d4,g4]", C: "~ [c4,e4,g4] ~ [c4,e4,g4]",
  D: "~ [a3,c4,f4] ~ [a3,c4,f4]", E: "~@4 [b3,d4,g4]@5 ~@3 [b3,e4,g4]@4", F: "~ [a3,c4,d4,f4] ~ [a3,c4,d4,f4]",
  G: "~@4 [b3,d4,g4]@4 ~@4 [b3,d4,g4]@3 ~", H: "~@4 [c4,e4,g4]@4 ~@4 [c4,e4,g4]@3 ~",
  I: "~@4 [a3,c4,e4]@5 ~@3 [a3,c4,e4]@4", J: "[d4,f4] ~@15", K: "~ [e3,g3,c4] ~ [e3,g3,c4]", L: "~@4 [g3,e4]@3 ~@9",
  M: "~@4 [a3,c4,d4,f4]@3 ~@5 [a3,c4,d4,f4]@4", N: "~ [g3,c4,e4] ~ [g3,c4,e4]", O: "~ [b3,d4,g4] ~ [b3,d4,a4]",
  P: "~@4 [a3,d4,f4]@4 ~@4 [a3,d4,f4]@3 ~", Q: "~ [c4,f4,a4] ~ [c4,f4,a4]", R: "~@2 [c4,d4,f4]@2 ~@2 [c4,d4,f4] ~",
  S: "[c4,d4,f4] ~@7", T: "~@3 [a3,c4,f4]@6 ~@7", U: "~@5 [a3,c4,f4]@6 ~@5", V: "~@7 [a3,c4,f4]@5 ~@4",
  W: "~@8 [a3,c4,f4]@5 ~@3", X: "~@9 [g3,c4,e4]@5 ~@2", Y: "~@5 [g3,c4,e4]@3", Z: "~@11 [a3,c4,f4]@4 ~",
  AA: "[~@12 [a3,c4]@6 ~@11 [a3,c4,f4]@3, ~@3 f4 ~@4]/2", AB: "[~@14 [a3,c4,f4]@6 ~@11 [a3,c4,f4]@6 ~@11]/3",
  AC: "[a3,c4,f4] ~@3", AD: "~ [g3,c4,e4]@2 ~@5", AE: "~ [g3,b3,d4] ~@2", AF: "~@5 [g3,b3]@6 ~@5, ~@5 d4@4 ~@7",
  AG: "~@3 [c4,e4]@3 ~@2, ~@3 g3@2 ~@3", AH: "~@7 [g3,c4,e4]@4 ~@5", AI: "~@5 [a3,c4,f4]@3", AJ: "~@11 [a3,c4,f4]@5",
  AK: "[~@12 [a3,c4,f4]@6 ~@12 [a3,c4,f4]@6 ~@11 [a3,c4,f4]@6 ~@11]/4", AL: "[g3,c4,e4]@5 ~@11",
  AM: "~ [g3,c4,e4]@6 ~@9", AN: "~ [a3,c4,f4]@2 ~@5", AO: "~@3 [a3,c4]@6 ~@7, ~@3 f4@4 ~@9", AP: "~ [a3,c4,f4] ~@2",
  AQ: "~@3 [a3,c4,f4]@3 ~@2", AR: "~@7 [a3,c4,f4]@4 ~@5", AS: "~@9 [g3,c4,e4]@4 ~@3", AT: "~@5 [g3,c4,e4]@2 ~",
  AU: "~@11 [g3,b3,d4]@4 ~", AV: "[~@12 [g3,b3]@6 ~@11 [c4,e4]@6 ~@11 [g3,c4,e4]@6 ~@12, ~@12 d4@4 ~@13 g3@4 ~@31]/4",
  AW: "[~@5 [e3,g3,c4]@4 ~@5 [e3,g3,c4]@4 ~@5 [g3,c4,e4]@4 g2@5, c3@9 g2@8 ~ c3@9 ~@5]/2", // C
  AX: "[~ e4@3 ~@6 e4@3 ~@6 e4@3 ~@6 e4@3 g2@5 ~ e4@3 ~@6 c4@4 ~@5 c4@3 ~@6 e4@4 ~@5 e4@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@3, [g3,c4]@4 c3@9 g2@8 ~ c3@9 ~@9 f2@8 ~@2 c2@6 ~@7 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 g3@4 ~@5 g3@4 ~@5 g3@4 ~@5 g3@4, ~@9 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [f3,a3]@4 ~@5 [f3,a3]@4 ~ c3@8 ~ g2@8 ~ c3@9 g2@8 ~ c3@8 ~ g2@8]/7", // C C5 F
  AY: "[~@6 [c4,e4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 g2@4, ~ c3@8 ~ g2@8 ~ c3@8 ~@5, ~@5 g3@4 ~@5 g3@5 ~@4 g3@4 ~@5]/2", // C
  AZ: "[~ [c4,e4]@3 ~@6 [g3,b3,d4]@4 ~@5 [g3,b3,d4]@4 ~@5 [g3,b3,d4]@4, g3@4 ~ g2@8 ~ d2@9 g2@8 ~]/2", // C G
  BA: "[d2@5 [g3,b3,d4]@4 ~@5 [g3,c4,e4]@4 ~@5 [g3,c4,e4]@4 ~@6 e4@3 ~@6 e4@3 f2@3, ~@9 c3@9 g2@8 ~ c3@9 g2@9 ~@3, ~@32 [g3,c4]@4 ~@5 [g3,c4]@4 ~@3]/3", // G C C5
  BB: "[~@3 c4@3 c2@4 ~@2 c4@3 ~@6 e4@3 ~@6 e4@2, ~@2 [f3,a3]@4 ~@5 [f3,a3]@4 c3@8 ~ g2@8, ~@20 [g3,c4]@4 ~@5 [g3,c4]@3]/2", // F C5
  BC: "[~@7 e4@3 ~@6 e4@3 ~@6 e4@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 g2@4 ~ [c4,e4]@4 ~@5 [b3,d4]@3, ~@2 c3@9 g2@8 ~ c3@8 ~ g2@8 ~ c3@9 ~@9 g2@8, ~@6 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 g3@4 ~@5 g3@4 ~@5 g3@4 ~@5 g3@4]/4", // C Bm C5
  BD: "[~ c2@4 ~ [b3,d4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 ~@5 [e4,g4]@4 g2@5 [c4,e4,g4]@3 ~@6 [g3,c4,e4]@3 ~@6 [g3,c4,e4]@3 ~, ~@5 g3@4 ~ c3@8 ~ g2@8 ~ c3@8 ~@10 c3@8 ~ g2@8 ~, ~@14 g3@4 ~@5 g3@4 ~@5 c4@4 ~@28]/4", // Bm C Em C
  BE: "[~@6 e4@3 g2@5 ~ g3@3 ~@6 c4@3 c2@4 ~, c3@4 ~@5 f2@4 ~@3, ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [f3,a3]@5 ~@4]/2", // C5 C F
  BF: "[~ f3@3 ~@6 e4@3 g2@5 ~ g3@3 ~@6 c4@3 c2@5 ~ f3@3 ~@5 [c4,e4]@3, [a3,c4]@4 c3@9 ~@9 f2@9 ~@9 c3@8, ~@9 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [f3,a3]@4 ~@5 [a3,c4]@4 ~@8]/3", // C Am C5 C F Am
  BG: "[~@7 g3@3 ~@6 d4@4 ~@5 [g3,b3]@3 ~@6 [b3,d4]@4 d2@4 ~ [g3,b3]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@3, ~@2 g2@7 ~@2 g2@9 d2@8 ~ g2@8 ~@10 c3@8 ~ g2@8, ~@6 [c4,e4]@4 ~@5 [g3,b3]@5 ~@4 d4@4 ~@5 g3@5 ~@4 d4@5 ~@4 g3@5 ~@4 e4@4]/4", // G Bm G C C5 C G
  BH: "[~@6 [c4,e4]@4 g2@4 ~ [g3,c4]@3 ~@6 [a3,c4]@4 c2@4, ~ c3@8 ~@10 f2@9 ~@4, ~@5 g3@4 ~@5 e4@4 ~@5 f3@4 ~@5]/2", // C C5 Am
  BI: "[~ [f3,a3]@4 ~@5 [g3,c4,e4]@4 ~@5 [g3,c4,e4]@3 ~@6 [g3,c4,e4]@4, c4@4 ~ c3@9 g2@8 ~ c3@8 ~]/2", // F C
  BJ: "[~@6 g3@3 ~@9 c2@4 ~@2 f3@3 ~@6 d4@3 ~@6 g3@3 ~@6 d4@2 ~@7 g3@2 ~@7 a3@3 ~@6 d3@2, g2@7 ~@2 f2@8 ~@10 g2@9 d2@9 g2@8 ~ d2@8 ~ d2@7 ~@2 a2@8, ~@5 [c4,e4]@4 ~@5 [f3,a3]@6 ~@12 [g3,b3]@5 ~@13 [g3,b3]@4 ~@14 [d3,f3]@5 ~@4 [f3,a3]@3, ~@15 c4@5 ~@3 [a3,c4]@4 ~@14 [b3,d4]@4 ~@14 [b3,d4]@2 ~@19]/5", // C F G Dm F Am Bm
  BK: "[~@7 d4@4 ~@5 g3@4 ~@5 [e4,g4]@4 ~@5 [c4,e4]@4 ~@5 [e4,g4]@4 g2@4 ~ [c4,e4]@3 ~@6 [c4,e4]@3, ~@2 g2@6 ~@3 g2@6 ~@3 c3@8 ~ g2@8 ~ c3@8 ~@10 c3@8, ~@6 [g3,b3]@5 ~@4 [b3,d4]@4 ~@5 c4@2 ~@7 g4@4 ~@5 c4@4 ~@5 g4@4 ~@5 g3@4]/4", // Em C Em C G Bm
  BL: "[~@6 [g3,c4]@3 ~@6 [c4,e4]@3 ~ g2@4 ~ [g3,c4]@3 ~@7 [a3,c4]@5 c2@5 ~@2 f3@4 ~ [c3,g3,c4,e4]@63 ~@14, ~ g2@8 ~ c3@8 ~@10 f2@10 ~@90, ~@5 e4@4 ~@5 g3@4 ~@5 e4@4 ~@6 f3@6 ~@6 [a3,c4]@5 ~@78]/8", // C5 C C5 Am C Am
})).s("gm_acoustic_guitar_steel").gain(0.12).pan(0.8)

// chords · acoustic guitar steel · "Gtr.Chord" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@67 A@2 B@2 C D E F G H I J K L M N O@2 P@2 ~@3 Q R S T U V@2 W X Y Z@2 C D AA@2 AB AC AD ~@57
>`.pickRestart({
  A: "[~@9 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~@6 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2]/2", // F
  B: "[[a3,c4,f4]@2 ~@2 [a3,c4,f4] ~@6 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@5 [a3,c4,f4]@2 ~@2]/2", // F
  C: "[a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@5 [a3,c4,f4]@2 ~", // F
  D: "~ [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@5 [g3,c4,e4]@2", E: "~ [g3,c4,e4]!2 ~ [g3,c4,e4] ~@3",
  F: "[g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@5", // C
  G: "~ [a3,c4,f4]@2 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@4", // F
  H: "~@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4] [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@3", // F
  I: "~@3 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~@2", // F
  J: "~@4 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~", // F
  K: "~@5 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]", L: "~@3 [a3,c4,f4] ~ [a3,c4,f4]!2 ~",
  M: "[a3,c4,f4]@2 ~@5 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~", // F C
  N: "~ [g3,c4,e4]@2 ~@5 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 [g3,c4,e4]@2", // C
  O: "[~@2 [g3,c4,e4]@2 ~@5 [g3,b3,d4]@2 ~@2 [g3,b3,d4]@2 [g3,b3,d4]@2 ~@2 [g3,b3,d4]@2 ~@6 [g3,b3,d4]@2 ~ [g3,b3,d4]@2]/2", // C G
  P: "[[g3,b3,d4]@2 ~@2 [g3,b3,d4]@2 ~@6 [g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@9]/2", // G C
  Q: "[a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~@5", // F
  R: "~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4] ~@4", S: "~ [a3,c4,f4] ~ [a3,c4,f4]!2 ~ [a3,c4,f4] ~",
  T: "~@3 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~", // F
  U: "~@2 [a3,c4,f4] ~ [a3,c4,f4]!2 ~ [a3,c4,f4]", // F
  V: "[~@5 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@6 [g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2]/2", // C
  W: "[g3,c4,e4]@2 ~@6 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 ~", // C F
  X: "~ [a3,c4,f4]@2 ~@6 [a3,c4,f4]@2 ~@2 [a3,c4,f4] [a3,c4,f4]@2", Y: "~ [a3,c4,f4] ~@3 [a3,c4,f4] ~ [a3,c4,f4]",
  Z: "[[a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~@6 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@5 [a3,c4,f4]@2 ~@2]/2", // F
  AA: "[~@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@5 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@5]/2", // C
  AB: "[g3,b3,d4] ~ [g3,b3,d4]!2 ~ [g3,b3,d4] ~@2", // G
  AC: "~@2 [g3,b3,d4]@2 ~ [g3,b3,d4]@2 [g3,b3,d4]@2 ~@2 [g3,b3,d4]@2 ~@3", // G
  AD: "~@3 [g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@2", // C
})).s("gm_acoustic_guitar_steel").gain(0.08).pan(0.8)

// chords · percussive organ · "Organ"
const percussive_organ = note("<A@2 B ~@3 C@6 D@2 E@7 F@3 G@8 ~@2 H@4 I@2 H@4 J@3 K@6 L@6 M@5 ~@102>".pickRestart({
  A: "[f5@31 ~]/2", B: "[g4,c5,e5] ~@15", C: "[[e5,g5]@63 ~ [a4,f5]@31 ~, d5, b4@61 ~@35]/6", D: "[g4,c5,e5]/2",
  E: "[[a4,f5]@15 ~ b4@62 ~@2 [a4,c5,f5]@30 ~@2, ~@15 d5@97, ~@15 g4@62 ~@35]/7", F: "[g4,b4]/3",
  G: "[~@15 [a4,d5,f5]@32 ~ e5@32 f5@16 [g4,e5]@15 ~ [a4,d5,f5]@16, ~@15 c5@113, ~@48 g4@30 ~@2 a4@15 ~@33]/8", // Dm C Dm
  H: "[[c5,e5], g4@61 ~@3]/4", I: "[[d5,f5], a4@15 ~]/2", J: "[d5@2 c5, f5, a4@23 ~]/3",
  K: "[b4@63 f5@32 ~, d5@47 ~, g4@61 ~@2 a4@30 ~@3]/6", L: "[[g4,b4]@62 ~@2 [a4,f5]@31 ~, d5@95 ~, ~@63 c5@32 ~]/6",
  M: "[[g4,e5]@31 ~ f5@15 ~ g4@14 ~ [a4,d5,f5]@15 ~ [a4,c5,d5,f5], c5@39 ~, ~@32 a4@14 ~ e5@15 ~@18]/5", // C Dm Dm7
})).s("gm_percussive_organ").gain(0.17).pan(0.3)

// chords · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel_3 = note(`<
  ~@110 A@2 B@7 C@2 D@2 E@3 F@2 G@4 H@4 I J K@3 L@4 M@2 N@2 O@5 P@4 Q@8
>`.pickRestart({
  A: "[~@5 [e3,g3,c4]@4 ~@5 [e3,g3,c4]@4 ~@5 [g3,c4,e4]@4 g2@5, c3@9 g2@8 ~ c3@9 ~@5]/2", // C
  B: "[~ g3@3 ~@6 e4@3 ~@6 g3@3 ~@6 e4@3 g2@5 ~ g3@3 ~@6 c4@4 ~@5 f3@4 ~@5 e4@4 ~@5 g3@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@3, [c4,e4]@4 c3@9 g2@8 ~ c3@9 ~@9 f2@8 ~@2 c2@6 ~@7 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 g3@4 ~@5 e4@4 ~@5 g3@4 ~@5 e4@4, ~@9 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [f3,a3]@4 ~@5 [a3,c4]@4 ~ c3@8 ~ g2@8 ~ c3@9 g2@8 ~ c3@8 ~ g2@8]/7", // C C5 C C5 C C5 C C5 …
  C: "[~@6 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 g2@4, ~ c3@8 ~ g2@8 ~ c3@8 ~@5, ~@5 g3@4 ~@5 e4@4 ~@5 g3@4 ~@5]/2", // C C5 C
  D: "[~ [g3,c4]@3 ~@6 [g3,b3,d4]@4 ~@5 [g3,b3,d4]@4 ~@5 [g3,b3,d4]@4, e4@4 ~ g2@8 ~ d2@9 g2@8 ~]/2", // C5 G
  E: "[d2@5 [g3,b3,d4]@4 ~@5 [g3,c4,e4]@4 ~@5 [g3,c4,e4]@4 ~@6 e4@3 ~@6 g3@3 f2@3, ~@9 c3@9 g2@8 ~ c3@9 g2@9 ~@3, ~@32 [g3,c4]@4 ~@5 [c4,e4]@4 ~@3]/3", // G C C5 C
  F: "[~@3 c4@3 c2@4 ~@2 f3@3 ~@6 e4@3 ~@6 g3@2, ~@2 [f3,a3]@4 ~@5 [a3,c4]@4 c3@8 ~ g2@8, ~@20 [g3,c4]@4 ~@5 [c4,e4]@3]/2", // F Am C5 C
  G: "[~@7 e4@3 ~@6 g3@4 ~@5 e4@4 ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 g2@4 ~ [g3,c4]@4 ~@5 [b3,d4]@3, ~@2 c3@9 g2@8 ~ c3@8 ~ g2@8 ~ c3@9 ~@9 g2@8, ~@6 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 e4@4 ~@5 g3@4 ~@5 e4@4 ~@5 g3@4]/4", // C5 C C5 Bm C5 C C5
  H: "[~ c2@4 ~ [g3,b3]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 [e4,g4]@4 g2@5 [c4,e4,g4]@3 ~@6 [g3,c4,e4]@3 ~@6 [g3,c4,e4]@3 ~, ~@5 d4@4 ~ c3@8 ~ g2@8 ~ c3@8 ~@10 c3@8 ~ g2@8 ~, ~@14 g3@4 ~@5 e4@4 ~@5 c4@4 ~@28]/4", // G C C5 Em C
  I: "~@5 [g3,c4,e4]@3 ~ g2@5 [g3,c4,e4]@2, c3 ~", J: "~@7 [f3,a3,c4]@4 c2@4 ~, ~ f2@4 ~@3",
  K: "[~ c4@3 ~@6 e4@3 g2@5 ~ e4@3 ~@6 c4@3 c2@5 ~ c4@3 ~@5 [c4,e4]@3, [f3,a3]@4 c3@9 ~@9 f2@9 ~@17, ~@9 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [f3,a3]@4 ~@5 [f3,a3]@4 c3@8]/3", // C F C5 F
  L: "[~@7 e4@3 ~@6 d4@4 ~@5 d4@3 ~@6 [b3,d4]@4 d2@4 ~ [b3,d4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@3, ~@2 g2@7 ~@2 g2@9 d2@8 ~ g2@8 ~@10 c3@8 ~ g2@8, ~@6 [g3,c4]@4 ~@5 [g3,b3]@5 ~@4 [g3,b3]@4 ~@5 g3@5 ~@4 g3@5 ~@4 g3@5 ~@4 g3@4]/4", // Bm C C5 G
  M: "[~@6 [c4,e4]@4 g2@4 ~ [c4,e4]@3 ~@6 [a3,c4]@4 c2@4, ~ c3@8 ~@10 f2@9 ~@4, ~@5 g3@4 ~@5 g3@4 ~@5 f3@4 ~@5]/2", // C Am
  N: "[~ [a3,c4]@4 ~@5 [g3,c4,e4]@4 ~@5 [g3,c4,e4]@3 ~@6 [g3,c4,e4]@4, f3@4 ~ c3@9 g2@8 ~ c3@8 ~]/2", // Am C
  O: "[~@5 [g3,c4,e4]@4 ~@5 [f3,a3,c4]@4 c2@4 ~ [f3,a3,c4]@4 ~@6 d4@3 ~@6 d4@3 ~@6 d4@2 ~@7 d4@2 ~@7 a3@3 ~@6 a3@2, g2@7 ~@2 f2@8 ~@10 g2@9 d2@9 g2@8 ~ d2@8 ~ d2@7 ~@2 a2@8, ~@32 [g3,b3]@5 ~@4 [g3,b3]@4 ~@5 [g3,b3]@4 ~@5 [g3,b3]@3 ~@6 [d3,f3]@5 ~@4 [d3,f3]@3]/5", // C F G Dm
  P: "[~@7 d4@4 ~@5 d4@4 ~@5 g4@3 ~@6 [e4,g4]@4 ~@5 [e4,g4]@4 g2@4 ~ [e4,g4]@3 ~@6 [c4,e4]@3, ~@2 g2@6 ~@3 g2@6 ~@3 c3@8 ~ g2@8 ~ c3@8 ~@10 c3@8, ~@6 [g3,b3]@5 ~@4 [g3,b3]@4 ~@5 e4@4 ~@36, ~@24 c4@2 ~@7 c4@5 ~@4 c4@4 ~@5 c4@4 ~@5 g3@4]/4", // Em C G
  Q: "[~@6 [c4,e4]@3 ~@6 [c4,e4]@3 ~ g2@4 ~ [c4,e4]@3 ~@7 [a3,c4]@5 c2@5 ~@2 c4@4 ~ [c3,g3,c4,e4]@63 ~@14, ~ g2@8 ~ c3@8 ~@10 f2@10 ~@90, ~@5 g3@4 ~@5 g3@4 ~@5 g3@4 ~@6 f3@6 ~@6 [f3,a3]@5 ~@78]/8", // C Am C F
})).s("gm_acoustic_guitar_steel").gain(0.06).pan(0.8)

// chords · electric guitar muted · "mute guitar"
const electric_guitar_muted = note(`<
  ~@71 A B ~ C@3 ~ D@2 ~@2 E F@4 ~@6 G@2 ~ H I@2 J K L@2 ~ M@6 ~@24 N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI
  AJ AK ~@8
>`.pickRestart({
  A: "~@8 [a4,c5]@3 ~@2 [g4,b4]@3", B: "~@3 [f4,a4]@3 ~@10",
  C: "[[g4,e5]@3 ~@2 [f4,d5]@3 ~@3 [f4,c5]@23 [f4,a4]@3 ~@2 [g4,b4]@3 ~@3 [a4,c5]@3]/3", // C Dm F5 F G Am
  D: "[~@4 [f4,a4]@3 ~@3 [g4,b4]@3 ~@2 [f4,a4]@17]/2", E: "~@3 [g4,e5]@3 ~@2 [f4,d5]@3 ~@3 [e4,c5]@2",
  F: "[~@2 [d4,b4]@17 c5@10 ~@3, ~@38 e4@17 ~@9]/4", G: "[~@15 [a4,c5]@3 ~@2 [g4,b4]@3 ~@3 [f4,a4]@3 ~@3]/2",
  H: "~@7 [g4,e5]@3 ~@2 [f4,d5]@3 ~", I: "[~@2 [f4,c5]@23 [f4,a4]@3 ~@2 [g4,b4]@2]/2", J: "~@4 [a4,c5]@3 ~@9",
  K: "~@11 [f4,a4]@3 ~@2", L: "[~ [g4,b4]@3 ~@2 [f4,a4]@17 ~@9]/2",
  M: "[~@10 [g4,e5]@3 ~@2 [f4,d5]@3 ~@3 [e4,c5]@3 ~@3 [d4,b4]@34 c5@22 ~@13, ~@61 e4@17 ~@18]/6", // C Dm C G
  N: "c4 ~@4 g3 ~@4 c4 ~@5", O: "~@3 c4 ~ c4 ~ g3 ~@4 c4 ~@3", P: "~@5 c4 ~ c4 ~ g3 ~@4 c4 ~",
  Q: "~@7 f3 ~ f3 ~ f3 ~@4", R: "f3 ~@8 c4 ~ c4 ~ g3 ~@2", S: "~@2 c4 ~@8 f3 ~ f3 ~@2", T: "~@4 f3 ~@8 c4 ~ c4",
  U: "~@2 g3 ~@3 c4 ~@8 g3", V: "~ g3 ~@2 d3 ~@3 g3 ~@7", W: "~ g2 ~ g2 ~@2 a2 ~@3 b2 ~@5",
  X: "~@3 c4 ~@2 c4 ~ g3 ~@3 c4 ~@3", Y: "~@5 c4 ~@2 c4 ~ g3 ~@3 c4 ~", Z: "~@7 f3 ~@2 f3 ~ c3 ~@3",
  AA: "f3 ~@9 c4 ~ c4 ~ g3 ~", AB: "~@3 c4 ~@8 c4 ~ c4 ~", AC: "g3 ~@4 c4 ~@8 f3 ~", AD: "f3 ~ c3 ~@4 f3 ~@8",
  AE: "g3 ~ g3 ~ g3 ~@4 g3 ~@6", AF: "~@2 g3 ~ g3 ~ d3 ~@4 g3 ~@4", AG: "~@4 d3 ~ d3 ~ d3 ~@4 d3 ~@2",
  AH: "~@6 g3 ~ g3 ~@6 g3", AI: "~@8 c4 ~ c4 ~@2 g3 ~@2", AJ: "~ g3 ~@8 c4 ~@4 g3", AK: "~@3 c4 ~@12",
})).s("gm_electric_guitar_muted").gain(0.17)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A B C ~@3 D E@2 F A B G H I J E J K A L J E M F A N G O P Q R S ~ G@2 T U V A G@3 W A L P J@3 F A L J@3 F A N G O P Q
  R X ~@101
>`.pickRestart({
  A: "d2@5 ~@3 a1@5 ~@3", B: "d2@5 ~ d2 ~ a1@4 ~@4", C: "c2 ~@7", D: "g2@4 ~@4 d2@5 ~@3", E: "g2@5 ~@3 d2@5 ~@3",
  F: "g2@4 ~@2 g2 ~ f2@3 ~ e2@3 ~", G: "c2@4 ~@4 g1@5 ~@3", H: "c2@4 b1@4 c2@4 e2 ~@3", I: "f2 ~ c2 ~",
  J: "g2@5 ~@3 d2@6 ~@2", K: "g2@2 ~ g2 f2@2 e2@2", L: "d2@6 ~@2 d2@5 ~@3", M: "g2@5 ~@3 d2@8", N: "d2@5 ~@3 d2@7 ~",
  O: "c2@5 ~@3 c2@4 d2@4", P: "f2@5 ~@3 f2@6 ~@2", Q: "e2@5 ~@3 e2@4 ~@4", R: "d2@5 ~@3 a1@8", S: "d2 ~@7",
  T: "c2@4 ~@2 c2 ~ g1@5 ~@3", U: "c2@4 ~@4 c2@4 c#2@3 ~", V: "d2@4 ~@4 a1@5 ~@3", W: "c2@5 ~@3 c2@5 ~@3",
  X: "d2@3 ~@13",
})).s("gm_electric_bass_finger").gain(0.25)

// bass · acoustic bass · "Bass"
const bass_2 = note(`<
  ~@67 A B C D E@3 F@6 G H@2 I@4 ~@2 J@6 K L M@8 N@5 O P@4 Q@4 R@4 S T@4 U@4 V@2 W@2 X@2 Y Z@2 AA@2 AB@2 AC AD@3 AE AF
  AG@3 AH AI@3 AJ@3 AK@5
>`.pickRestart({
  A: "~@3 f2@13", B: "~ c2@3", C: "~@5 f2@11", D: "~@7 c2@9", E: "[~@8 f2@16 ~ c2@16 ~ c2@6]/3",
  F: "[~@11 f2@16 ~ c2@17 f2@17 c2@17 f2@16 ~]/6", G: "f2", H: "[~@2 c2@16 ~ c2@3 ~@2 b1@3 ~@3 a1@2]/2",
  I: "[~@4 g2@16 ~ g2@17 c3@17 c2@2 ~@7]/4", J: "[~@10 f2@16 ~@2 c2@17 f2@17 c2@17 f2@16 ~]/6", K: "c2", L: "~ c2@14 ~",
  M: "[~@2 f2@16 ~ c2@17 f2@17 c2@17 f2@16 ~@2 f2@16 ~ c2@16 ~ c2@3 ~@2 b1]/8",
  N: "[~@5 a1@3 ~@3 g2@16 ~ g2@17 c3@17 c2@4 ~@14]/5", O: "c2@9 g1@7",
  P: "[~@2 c2@8 ~ g1@8 ~ c2@8 ~ g1@8 ~ c2@8 ~ c2@8 ~ f2@8]/4",
  Q: "[~@2 f2@8 ~ c2@8 ~ g1@8 ~ c2@8 ~ g1@8 ~ c2@8 ~ g1@8]/4",
  R: "[~ c2@8 ~ g1@8 ~ c2@8 ~ g1@8 ~ g1@8 ~ d2@8 ~ g1@8 ~]/4", S: "g1@8 ~ c2@7",
  T: "[~@2 g1@8 ~ c2@8 ~ c2@8 ~ f2@8 ~ f2@8 ~ c2@8 ~ g1@8]/4",
  U: "[~@2 c2@8 ~ g1@8 ~ c2@8 ~ g1@8 ~ c2@8 ~ g1@8 ~ g1@8]/4", V: "[~ g1@8 ~ c2@8 ~ g1@8 ~ c2@2 ~@2]/2",
  W: "[g1@3 ~@2 a1@2 ~@3 b1@2 ~@2 c2@6 ~@3 g1@6 ~@3]/2", X: "[c2@8 ~ d2@2 ~@3 e2@4 f2@7 ~@2 f2@5]/2",
  Y: "~@4 c2@8 ~ d2@2 ~", Z: "[~@2 e2@3 ~ f2@8 ~ f2@7 ~@2 c2@8]/2", AA: "[~@2 c2@8 ~ g1@8 ~ d2@9 g1@3]/2",
  AB: "[~ g1@3 ~@2 a1@2 ~@2 b1@2 ~@3 c2@6 ~@3 g1@6 ~@2]/2", AC: "~ c2@7 ~@2 d2@3 ~ e2@2",
  AD: "[~@3 f2@5 ~@4 f2@6 ~@3 c2@6 ~@3 g1@6 ~@3 c2@5 ~@4]/3", AE: "c2@6 ~@3 f2@6 ~", AF: "~@2 f2@4 ~@5 g2@5",
  AG: "[~@4 d2@4 ~@5 g1@5 ~@4 f2@2 ~@3 e2@3 ~ d2@5 ~@4 d2@5 ~@3]/3", AH: "~@2 g1@4 ~@5 g1@5",
// … 101 more lines

More by Kenny Rogers