Strudelify
I'm Your Boogie Man cover art

1990

I'm Your Boogie Man

KC and The Sunshine Band

KeyG minorTempo120 bpm
0:00/0:00
// I'm Your Boogie Man — KC and The Sunshine Band
// 120 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 97 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · slap bass 1 · "SLAP BASS"
const bass = note(`<
  A B C D E F@2 G H@3 I H@3 I J K L M K N@2 K O P Q R S T U V W X Y@2 K Z Y@2 AA@2 AB AC L AD AE AB N K AF P AG AH S AI
  U AJ AK AL AM Y AN@2 Y AO@3 AP@2 AQ M K@2 N K AR P AM K Y@3 AS AT@2 AU@3 AS AV@5 AW AX
>`.pickRestart({
  A: "~ [ab2,gb3] ~ ab2 ~ [ab2,gb3] ~ [ab2,gb3] ~ [ab2,gb3] ~ ab2 ~ [ab2,gb3] ~ [ab2,c4] ~ [ab2,gb3] ~ ab2 ~ [ab2,gb3] ~ [ab2,gb3] ~ [ab2,gb3,d4] ~@6, ~ c4@4 ~@4 d4@2 ~@6 c4@2 ~@13", // Ab7 Ab Ab7 Abm7b5
  B: "~ g3@11 ~ g3 ~ g3 ~@16", C: "~ g3@10 ~@2 g3 ~ g3 ~@5 g3@10 ~", D: "~ g3@11 ~ g3 ~ g3 ~@5 f2@3 ~@3 f2@2 gb2@2 ~",
  E: "~ g2@15 g3 g3@2 ~@13", F: "[~ g3@13 ~ g3 ~ g3 ~@11 f3@2 gb3@2 g3@31]/2",
  G: "~ g2@9 ~ g2 ~ g3 ~ g3@2 ~@8 bb3@4 g3@3", H: "~ g2@8 bb2@8 c3@6 d3 ~@3 c3@2 bb2@3",
  I: "~@2 g2@7 bb2@8 c3@6 d3 ~@3 c3@2 bb2@3", J: "~ g2@8 bb2@8 ~ c3@5 bb2 ~ f2@4 gb2@3",
  K: "~ g2@8 bb2@8 c3@6 bb2 ~ f2@4 gb2@3", L: "~ g2@8 bb2@8 c3@5 ~ bb2 ~ f2@4 gb2@3",
  M: "~ g2@4 g3 ~@3 bb2@8 c3@6 bb2 ~ f2@4 gb2@3", N: "~ g2@8 bb2@7 ~ c3@6 bb2 ~ f2@4 gb2@3",
  O: "~@2 eb3!2 ~@3 eb3 ~ eb3@2 ~@2 eb3 ~ eb3@2 ~@2 eb3 ~ eb3@2 ~@2 eb3@7", P: "~ f2@4 ~@27",
  Q: "~ g2@5 ~@10 g2 g2@4 ~@11", R: "~ g2@4 ~@8 b2@4 c3@5 ~@3 c3@2 bb2@4 ~, ~@6 bb2 ~@9",
  S: "~ g2@5 ~@9 g2 ~ g2@5 ~@10", T: "~ g2@4 ~@6 bb2@2 b2@4 ~ c3@4 ~@3 c3@2 bb2@4 ~", U: "~ g2@4 ~@10 g2 ~ g2@5 ~@10",
  V: "~@2 g2@4 ~@5 bb2 ~ b2@5 c3@4 ~@3 c3@2 bb2@4 ~", W: "~ g2@4 ~@10 g2 ~ g2@3 ~@12",
  X: "~ g2@4 ~@6 bb2@2 b2@4 c3@3 ~@5 c3@2 bb2@4 ~", Y: "~ g2@8 bb2@8 c3@6 bb2@2 f2@4 gb2@3",
  Z: "~ g2@8 bb2@7 ~ c3@6 bb2@2 f2@4 gb2@3",
  AA: "[~ g2@8 bb2@8 c3@6 bb2 ~ f2@4 gb2@4 g2@8 bb2@7 ~ c3@6 bb2@2 f2@4 gb2@3]/2",
  AB: "~@2 g2@7 bb2@8 c3@6 bb2 ~ f2@4 gb2@3", AC: "~ g2@8 bb2@8 c3@6 bb2 ~@2 f2@3 gb2@3",
  AD: "~ g2@4 g3 ~@3 bb2@7 ~ c3@6 bb2 ~ f2@4 gb2@3", AE: "~@2 g2@7 bb2@7 ~ c3@6 bb2 ~ f2@4 gb2@3",
  AF: "~ eb3 ~ eb3 ~@3 eb3 ~ eb3@2 ~@2 eb3 ~ eb3@2 ~@2 eb3 ~ eb3@2 ~@2 eb3@7", AG: "~ g2@5 ~@9 g2 ~ g2@4 ~@11",
  AH: "~ g2@4 ~@6 bb2@2 b2@4 c3@5 ~@3 c3@2 bb2@4 ~", AI: "~ g2@4 ~@6 bb2@2 b2@4 c3@5 ~@3 c3@2 bb2@3 ~@2",
  AJ: "~@2 g2@4 ~@6 bb2 b2@4 ~ c3@4 ~@3 c3@2 bb2@4 ~", AK: "~ g2@4 ~@11 g2 ~ g2@3 ~@11",
  AL: "~ g2@4 ~@7 bb2 b2@4 c3@3 ~@5 c3@2 bb2@4 ~", AM: "~@2 g2@7 bb2@8 c3@6 bb2@2 f2@4 gb2@3",
  AN: "[~ g2@8 bb2@8 c3@6 bb2 ~ f2@4 gb2@4 g2@8 bb2@8 c3@6 bb2@2 f2@4 gb2@3]/2",
  AO: "[~ g2@8 bb2@8 c3@6 bb2@2 f2@4 ~ gb2@3 g2@8 bb2@8 c3@6 bb2 ~ f2@3 ~ gb2@4 g2@9 bb2@7 c3@6 bb2@2 f2@4 ~ gb2@2]/3",
  AP: "[~ g2@8 bb2@8 c3@6 bb2 ~ f2@4 gb2@4 g2@8 bb2@8 c3@6 bb2 ~ f2@4 gb2@3]/2",
  AQ: "~ g2@9 bb2@7 c3@5 ~ bb2 ~ f2@4 gb2@3",
  AR: "~ eb3 ~ eb3@2 ~@2 eb3 ~ eb3@2 ~@2 eb3 ~ eb3@2 ~@2 eb3 ~ eb3@2 ~@2 eb3@7",
  AS: "~ g2@8 bb2@8 c3@4 bb2@4 f2@4 gb2@3",
  AT: "[~ g2@8 bb2@8 c3@4 bb2@4 f2@4 gb2@4 g2@8 bb2@8 c3@2 f2@5 ~ f2@4 gb2@3]/2",
  AU: "[~ g2@8 bb2@7 ~ c3@2 f2@5 ~ f2@4 gb2@5 g2@7 bb2@8 c3@2 f2@5 ~ f2@4 gb2@4 g2@8 bb2@8 c3@4 bb2@4 f2@4 gb2@3]/3",
  AV: "[~ g2@8 bb2@8 c3@2 f2@5 ~ f2@4 gb2@4 g2@8 bb2@7 ~ c3@2 f2@5 ~ f2@4 gb2@4 g2@8 bb2@8 c3@2 f2@4 ~@2 f2@4 gb2@4 g2@8 bb2@8 c3@2 f2@5 ~ f2@4 gb2@4 g2@8 bb2@7 ~ c3@2 f2@4 ~@2 f2@4 gb2@3]/5",
  AW: "~ g2@5 bb2@6 c3@6 db3@4 d3@5 ~ d3@4", AX: "~ g2@5 ~@26",
})).s("gm_slap_bass_1").gain(0.56)

// chords · brass section · "BRASS"
const brass_section = note(`<
  ~@8 A@2 B C D E F G H I J K L M N O P Q R S T U V W X Y A@2 B Z AA@2 AB AC H AD AE AF AG AH AI AJ AK AL AM AN AO U V
  AP AQ AR AS AT AU AV AW AX AY AX AZ AD BA BB BC BD AI BE BF BG ~@5 BH BI BH BI@2 BJ BK H BL BA AG BM BN BO
>`.pickRestart({
  A: "~ [g2,g3]@27 ~@4", B: "~ [g3,bb3]@29 ~@2", C: "~ [g2,bb3]@30 ~", D: "~ [g2,d4]@29 ~@2", E: "~ [bb3,d4]@30 ~",
  F: "~ [bb3,g4]@30 ~", G: "~ g4@30 ~",
  H: "~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,f5]@2 ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5] ~@2", // G5 Dm C Dm
  I: "~ [d5,g5]@2 ~@2 [d5,g5] ~@3 [d5,f5]@2 ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5] ~@2", // G5 Dm C Dm
  J: "~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ f5@2 ~, ~@29 d5 ~@2", // G5 Dm C Dm
  K: "~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ d5@2 ~, ~@29 f5 ~@2", // G5 Dm C Dm
  L: "~ [d5,g5] ~@3 [d5,g5]@2 ~@2 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ d5@2 ~, ~@29 f5 ~@2", // G5 Dm C Dm
  M: "~ d5@2 ~@2 d5@2 ~@3 [d5,f5] ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5] ~@2, ~ g5 ~@3 g5 ~@26", // Dm C Dm
  N: "~ g5@2 ~@2 d5@2 ~@2 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ d5@2 ~, ~ d5 ~@3 g5 ~@23 f5 ~@2", // Dm C Dm
  O: "~ [d5,g5]@2 ~@2 [d5,g5] ~@3 f5@2 ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5] ~@2, ~@9 d5 ~@22", // G5 C Dm
  P: "~ [eb5,g5]@2 [eb5,g5]@2 ~@2 [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5]@2 ~@4 [eb5,g5]@7", // Eb
  Q: "~ [f5,a5]@4 ~@27", // F
  R: "~@9 [bb4,d5,g5]@2 a4 ~ [d4,e4,f4,g4] [b3,c4] a3 ~@9 [bb4,d5,g5]@2 [g4,a4] ~ [d4,e4,f4] ~@2", // Gm Em7 Cmaj7 Gm Gsus2 Dm
  S: "~ [g4,bb4] ~ [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 [g4,bb4] ~ [g4,c5]@7 ~ c5@2 [g4,bb4]@5, ~@25 g4 ~@6", // Gm C5 Gm
  T: "~@9 [bb4,d5,g5]@2 a4 ~ [e4,f4,g4] d4 c4 ~@9 [bb4,d5,g5]@3 a4 [e4,f4,g4] d4 ~", // Gm Em Gm Em
  U: "~ [g4,bb4] ~ [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 [g4,bb4] ~ [g4,c5]@6 ~@2 c5@2 [g4,bb4]@5, ~@25 g4 ~@6", // Gm C5 Gm
  V: "~@9 [bb4,d5,g5]@2 a4 ~ [e4,f4,g4] [c4,d4] [a3,b3] ~@9 [bb4,d5,g5]@2 a4 ~ [d4,e4,f4,g4] ~@2", // Gm Em Csus2 Asus2 Gm Em7
  W: "~ [g4,bb4] ~ [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 [g4,bb4] ~@2 [g4,c5]@6 ~ [g4,c5] ~ [g4,bb4]@5, ~@27 c5 ~@4", // Gm C5 Gm
  X: "~@9 [bb4,d5,g5]@2 a4 ~ [d4,e4,f4,g4] c4 ~@10 [bb4,d5,g5]@2 a4 ~ [d4,e4,f4,g4] ~@2", // Gm Em7 Gm Em7
  Y: "~ [g4,bb4] ~ [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 g4@2 ~@2 [g4,bb4] ~@2 g4@6 ~ [g4,c5] ~ [g4,bb4]@5, ~@11 bb4 ~@5 c5@7 ~@8", // Gm C5 Gm
  Z: "~ [g3,bb3]@30 ~", AA: "~ [bb3,d4]@29 ~@2", AB: "~ [d4,g4]@30 ~", AC: "~ d4@30 ~",
  AD: "~ g5@2 ~@2 [d5,g5] ~@3 [d5,f5]@2 ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5] ~@2, ~ d5 ~@30", // G5 Dm C Dm
  AE: "~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5]@2 ~", // G5 Dm C Dm
  AF: "~ [d5,g5] ~@3 d5@2 ~@2 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5]@2 ~, ~@5 g5 ~@26", // G5 Dm C Dm
  AG: "~ [d5,g5] ~@3 d5@2 ~@2 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ d5@2 ~, ~@5 g5 ~@23 f5 ~@2", // G5 Dm C Dm
  AH: "~ d5@2 ~@2 d5@2 ~@2 [d5,f5] ~@7 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5] ~@2, ~ g5 ~@3 g5 ~@26", // Dm C Dm
  AI: "~ [d5,g5] ~@3 d5@2 ~@2 f5@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ d5@2 ~, ~@5 g5 ~@3 d5 ~@19 f5 ~@2", // G5 C Dm
  AJ: "~ [d5,g5] ~@3 [d5,g5] ~@3 f5@2 ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ d5@2 ~, ~@9 d5 ~@19 f5 ~@2", // G5 C Dm
  AK: "~ [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5] ~ [eb5,g5]@3 ~ [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5]@2 ~@4 [eb5,g5]@7", // Eb
  AL: "~@2 [f5,a5]@3 ~@27", // F
  AM: "~@9 [bb4,d5,g5]@2 a4 ~ [d4,e4,f4,g4] [b3,c4] a3 ~@9 [bb4,d5,g5]@2 a4 g4 [d4,e4,f4] ~@2", // Gm Em7 Cmaj7 Gm Dm
  AN: "~ [g4,bb4] ~ [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@3 g4@2 ~ [g4,bb4] ~ [g4,c5]@7 ~ c5@2 [g4,bb4]@5, ~@11 bb4@2 ~@12 g4 ~@6", // Gm C5 Gm
  AO: "~@9 [bb4,d5,g5]@2 a4 ~ [e4,f4,g4] d4 c4 ~@9 [bb4,d5,g5]@2 a4 ~ [e4,f4,g4] d4 ~", // Gm Em Gm Em
  AP: "~ [g4,bb4] ~ [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 [g4,bb4] ~ [g4,c5]@6 ~@2 [g4,c5] ~ [g4,bb4]@5, ~@27 c5 ~@4", // Gm C5 Gm
  AQ: "~@9 [bb4,d5,g5]@2 a4 ~ [e4,f4,g4] [c4,d4] ~@10 [bb4,d5,g5]@2 a4 ~ [d4,e4,f4,g4] ~@2", // Gm Em Csus2 Gm Em7
  AR: "~ [g4,bb4] ~ [g4,bb4]@2 ~@2 [g4,bb4]@2 ~@2 g4@2 ~@2 [g4,bb4] ~ [g4,c5]@7 ~ [g4,c5] ~ [g4,bb4]@5, ~@11 bb4 ~@20", // Gm C5 Gm
  AS: "~ g4@6 bb4@6 c5@6 d5@6 c5 ~@3 bb4@2 ~", AT: "~ g4@6 bb4@6 c5@6 d5@5 ~ c5@2 ~@2 bb4 ~@2",
  AU: "~ g4@6 bb4@6 c5@7 d5@5 c5@2 ~@2 bb4 ~@2", AV: "~ g4@6 ~ bb4@5 c5@7 d5@5 c5@2 ~@2 bb4 ~@2",
  AW: "~ [g4,g5]@6 [bb4,bb5]@6 [c5,c6]@7 [d5,d6]@5 c6@2 ~@2 [bb4,bb5]@2 ~, ~@25 c5 ~@6", // G Bb C D Bb
  AX: "~ [g4,g5]@6 [bb4,bb5]@6 [c5,c6]@7 [d5,d6]@5 [c5,c6]@2 ~@2 [bb4,bb5] ~@2", // G Bb C D C Bb
  AY: "~ [g4,g5]@6 [bb4,bb5]@6 [c5,c6]@6 ~ d5@5 c6@2 ~@2 [bb4,bb5] ~@2, ~@19 d6@6 c5 ~@6", // G Bb C Bb
  AZ: "~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,f5]@2 ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ d5 ~@2, ~@14 f5 ~", // G5 Dm C Dm
  BA: "~ [d5,g5]@2 ~@2 [d5,g5] ~@3 f5@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5]@2 ~, ~@9 d5 ~@22", // G5 C Dm
  BB: "~ [d5,g5]@2 ~@2 d5@2 ~@2 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5]@2 ~, ~@5 g5 ~@26", // G5 Dm C Dm
  BC: "~ d5@2 ~@2 d5@2 ~@2 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5] ~@2, ~ g5 ~@3 g5 ~@26", // Dm C Dm
  BD: "~ d5@2 ~@2 d5@2 ~@2 [d5,f5]@2 ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5] ~@2, ~ g5 ~@3 g5 ~@26", // Dm C Dm
  BE: "~ [d5,g5]@2 ~@2 [d5,g5] ~@3 f5@2 ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5]@2 ~, ~@9 d5 ~@22", // G5 C Dm
  BF: "~ [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5] ~ [eb5,g5]@3 ~ [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5] [eb5,g5]@2 ~@3 [eb5,g5]@7", // Eb
  BG: "~ [c5,f5,a5]@4 ~@27", BH: "~ g4@8 bb4@8 c5@6 d5@3 ~ c5@2 bb4@2 ~", BI: "~ g4@8 bb4@8 c5@6 d5@4 c5@2 bb4@2 ~",
  BJ: "~ g4@8 bb4@8 c5@7 d5@3 c5@2 bb4 ~@2", BK: "~ g4@8 bb4@8 c5@5 ~ d5@4 c5@2 bb4 ~@2",
  BL: "~ [d5,g5] ~@3 [d5,g5] ~@3 f5@2 ~@6 [c5,e5]@5 ~ [d5,f5]@2 ~@2 [d5,f5] ~ [d5,f5] ~@2, ~@9 d5 ~@22", // G5 C Dm
  BM: "~ [d5,g5]@2 ~@2 d5@2 ~@2 [d5,f5]@2 ~@6 [c5,e5]@6 [d5,f5]@2 ~@2 [d5,f5] ~ d5@2 ~, ~@5 g5 ~@23 f5 ~@2", // G5 Dm C Dm
  BN: "~@2 g5@5 [bb3,bb4,bb5]@4 ~ [c5,c6]@6 [db4,db5,db6]@4 ~ [d5,d6]@4 ~ [d4,gb4,a4,c5,f5]@4, ~ [g3,g4]@6 ~@4 c4@6 ~@5 d4@4 ~ f6@5", // Bb C Db D D7 G
  BO: "~@2 [d4,g4,a4,c5,f5]@3 ~@27, ~ g6@5 ~@26, ~ g5@3 ~@28", // Dm7
})).s("gm_brass_section").gain(0.41)

// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  A B C D E F G H I@3 J I@2 K@2 L M N O P N Q R S T U V W X Y Z AA AB K AC I@6 AD M N O P N AE R AF AG U AH W X Y Z AA
  AI I@2 AC@2 AJ AK I AL AD M N O P N Q R AM T AN AO AP AQ AR AS AO AP AQ AR AT AO AP AQ AR AT AO AU AV
>`.pickRestart({
  A: "~ g4@2 bb4 ~ bb4@2 [bb4,d5]@2 [g4,bb4,d5]@2 [bb4,d5] ~@3 [g4,bb4,d5] ~@9 [c5,e5]@2 [bb4,d5] ~@4, ~ bb4 ~@30", // Bb Gm Bb Gm C Bb
  B: "~ [g4,bb4]@2 bb4@2 [bb4,d5] ~ [bb4,d5]@2 [bb4,d5]@2 [bb4,d5] ~@3 [g4,bb4,d5] ~@3 d5 ~@5 g5 ~@6", // Gm Bb Gm
  C: "~ [g4,bb4]@2 bb4@2 bb4@2 [g4,bb4]@2 bb4@2 [g4,bb4] ~ bb4 ~ [g4,bb4] ~@3 [g4,bb4,d5] ~@5 [g4,c5]@2 ~@5", // Gm C5
  D: "~ [g4,bb4]@2 [g4,bb4]@2 [g4,bb4]@2 [g4,bb4]@2 [g4,bb4]@2 bb4 ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5] ~@5 g5 ~@6", // Gm
  E: "~ [g4,bb4]@2 bb4@2 bb4@2 [g4,bb4]@2 [g4,bb4] ~ bb4 ~ [bb4,d5] ~ [bb4,d5] ~@3 [c5,e5] ~@5 [c5,e5]@4 [bb4,d5] ~@2", // Gm Bb C Bb
  F: "~ [g4,bb4]@2 bb4 ~ [g4,bb4]@2 [g4,bb4]@2 [g4,bb4]@2 bb4 ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5] ~@5 [g4,bb4,d5] ~@6", // Gm
  G: "~@3 [g4,bb4]@2 [g4,bb4]@2 [g4,bb4]@2 [g4,bb4]@2 [g4,bb4]@2 [g4,bb4] ~ [g4,bb4] ~@3 [g4,bb4,d5] ~@5 [g4,bb4,d5] ~ [g4,bb4,d5] ~@4", // Gm
  H: "~ g4 ~ g4 ~ f4 ~ f4 ~ g4 ~ g4 ~ f4 ~ f4 ~ g4 ~ g4 ~ f4 ~ f4 ~ g4 ~ g4 ~ f4 ~ f4",
  I: "~ [d5,g5]@2 [d5,g5] ~ [d5,g5]@2 d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 [d5,g5] ~@3 [d5,g5] ~ [d5,g5] ~@2", // G5
  J: "~ [d5,g5]@2 [d5,g5] ~ [d5,g5]@2 d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 d5@2 [d5,g5] ~ [d5,g5]@2 [d5,g5]@2 [d5,g5] ~@3 [d5,g5] ~ [d5,g5] ~@2", // G5
  K: "~ d5 g5 [d5,g5] ~ [d5,g5]@2 d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 [d5,g5] ~@3 [d5,g5] ~ [d5,g5] ~@2", // G5
  L: "~ [bb4,d5] ~@5 [bb4,d5] ~@2 [bb4,d5] d5 ~ [bb4,d5] ~ [c5,e5] ~@3 [c5,e5] ~@3 d5 ~ e5 ~@6", // Bb C
  M: "~ [bb4,d5] ~ [bb4,d5] ~@5 [bb4,d5] ~@3 [bb4,d5] ~ [c5,e5] ~@3 [c5,e5] ~@3 d5 ~ e5 ~@6", // Bb C
  N: "~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ d5 ~ [bb4,d5] ~ d5 ~ [bb4,d5] ~ [c5,e5] ~@3 [c5,e5] ~@3 d5 ~ e5 ~@6", // Bb C
  O: "~ [bb4,d5] ~ [bb4,d5] ~@3 bb4 ~ [bb4,d5] ~ d5 ~ [bb4,d5] ~ [c5,e5] ~@3 [c5,e5] ~@3 d5 ~ e5 ~@6", // Bb C
  P: "~ [bb4,d5] ~ [bb4,d5] ~ d5 ~ [bb4,d5] ~ [bb4,d5] ~ d5 ~ [bb4,d5] ~ [c5,e5] ~@3 [c5,e5] ~@3 d5 ~ e5 ~@6", // Bb C
  Q: "~ [bb4,d5] ~ [bb4,d5] ~ d5 ~@3 [bb4,d5] ~ d5 ~ [bb4,d5] ~ [c5,e5] ~@3 [c5,e5] ~@3 d5 ~ e5 ~@6", // Bb C
  R: "~ [bb4,d5] ~ d5 ~ d5 ~ [bb4,d5] ~ [bb4,d5] ~ d5 ~ [bb4,d5] ~ [c5,e5] ~@3 [c5,e5] ~@3 d5 ~ e5 ~@6", // Bb C
  S: "~@2 [eb5,g5] [eb5,g5]@2 ~@2 [eb5,g5] ~ [eb5,g5]@3 ~ [eb5,g5] ~ [eb5,g5]@3 ~ [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5]@7", // Eb
  T: "~ [f5,a5]@5 ~@26", // F
  U: "~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ d5 ~ [d5,g5] ~ d5 ~ d5 ~ [d5,g5]", // G5
  V: "~ [d5,g5] ~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~ [e5,g5] ~ e5 ~ [e5,g5] ~ [e5,g5] ~ [e5,g5]@2 e5 ~ e5 ~ e5", // G5 Em
  W: "~ [d5,g5] ~ d5 ~ d5 ~ [d5,g5] ~ [d5,g5] ~ d5 ~ d5 ~ [d5,g5] ~ [d5,g5] ~ d5 ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ d5 ~ d5 ~ d5", // G5
  X: "~ [d5,g5] ~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [d5,e5,g5] ~ e5 ~ [e5,g5] ~ e5", // G5 Em Em7 Em
  Y: "~ [d5,g5] ~ d5 ~ [d5,g5] ~@3 [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ d5 ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ d5 ~ [d5,g5] ~ [d5,g5]", // G5
  Z: "~ [d5,g5] ~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ e5", // G5 Em
  AA: "~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ d5 ~ [d5,g5] ~ g5 ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5]", // G5
  AB: "~ [d5,g5] ~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~ [e5,g5] ~ e5 ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5]", // G5 Em
  AC: "~ [d5,g5]@2 [d5,g5] ~ [d5,g5]@2 d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5] ~ [d5,g5] ~@3 [d5,g5] ~ [d5,g5] ~@2", // G5
  AD: "~ d5 ~@5 [bb4,d5] ~ [bb4,d5] ~ d5 ~ [bb4,d5] ~ [c5,e5] ~@3 [c5,e5] ~@3 d5 ~ e5 ~@6", // Bb C
  AE: "~ [bb4,d5]@2 [bb4,d5] ~ d5 ~@3 [bb4,d5] ~ d5 ~ [bb4,d5] ~ [c5,e5] ~@3 [c5,e5] ~@3 d5 ~ e5 ~@6", // Bb C
  AF: "~ [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5] ~ [eb5,g5]@3 ~ [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5]@7", // Eb
  AG: "~ [f5,a5]@4 ~@27", // F
  AH: "~ [d5,g5] ~ [d5,g5] ~@3 [d5,g5] ~@3 g5 d5 ~@2 [d5,g5] ~ [e5,g5] ~ e5 ~ [e5,g5] ~ [e5,g5] ~ [e5,g5]@2 e5 ~ e5 ~ e5", // G5 Em
  AI: "~ [d5,g5] ~ [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~@3 [d5,g5] ~ [e5,g5] ~ e5 ~ [e5,g5] ~ [e5,g5] ~ [e5,g5]@2 [e5,g5] ~ [e5,g5] ~ [e5,g5]", // G5 Em
  AJ: "~ [d5,g5]@2 [d5,g5] ~ [d5,g5]@2 d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5] ~ d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 [d5,g5] ~@3 [d5,g5] ~ [d5,g5] ~@2", // G5
  AK: "~ d5 g5 [d5,g5] ~ [d5,g5] ~ d5@2 [d5,g5] ~ [d5,g5]@2 [d5,g5]@2 d5 ~ [d5,g5] ~ [d5,g5]@2 [d5,g5]@2 [d5,g5] ~@3 [d5,g5] ~ [d5,g5] ~@2", // G5
  AL: "~ [d5,g5]@2 [d5,g5] ~ [d5,g5]@2 d5 ~ [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 d5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 [d5,g5] ~@3 [d5,g5] ~ [d5,g5] ~@2", // G5
  AM: "~ [eb5,g5] ~ [eb5,g5] ~@3 [eb5,g5] ~ [eb5,g5]@3 ~ [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5] ~ [eb5,g5]@2 ~@2 [eb5,g5]@7", // Eb
  AN: "~ [g4,bb4,d5] ~ bb4 ~ bb4 ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [c5,e5] ~ c5 ~ [c5,e5] ~ c5 ~ [bb4,d5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5]", // Gm Bb C Bb C
  AO: "~ [bb4,d5] ~ d5 ~ d5 ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [bb4,d5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5]", // Bb C Bb C
  AP: "~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ d5 ~ [bb4,d5] ~ [bb4,d5] ~ d5 ~ [c5,e5] ~@3 [c5,e5] ~ c5 ~ [bb4,d5] ~ [c5,e5] ~ c5 ~ [c5,e5] ~ c5", // Bb C Bb C
  AQ: "~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ d5 ~ [bb4,d5] ~ [c5,e5] ~ c5 ~ [c5,e5] ~ c5 ~ [bb4,d5] ~ [c5,e5] ~ c5 ~ [c5,e5] ~ [c5,e5]", // Bb C Bb C
  AR: "~ [bb4,d5] ~ d5 ~ d5 ~ d5 ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [c5,e5] ~ c5 ~ [c5,e5] ~ c5 ~ [bb4,d5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5]", // Bb C Bb C
  AS: "~@2 [g4,bb4,d5] bb4 ~ bb4 ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [c5,e5] ~ c5 ~ [c5,e5] ~ c5 ~ [bb4,d5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5]", // Gm Bb C Bb C
  AT: "~ [bb4,d5] ~ bb4 ~ bb4 ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [c5,e5] ~ c5 ~ [c5,e5] ~ c5 ~ [bb4,d5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5]", // Bb C Bb C
  AU: "~ g5@6 bb5@4 c6@6 db6@5 d6@4 ~ [c6,d6,f6]@5", AV: "~ [bb5,d6,g6]@3 ~@28",
})).s("gm_electric_guitar_muted").gain(0.26)

// chords · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note(`<
  A B C D E F G ~ H@8 I J K L M N O P ~@2 Q R S T U V W X H@8 I J K L M N O P ~@2 Q R S T U V W X H@5 Y H Z I J K L M N
  O P ~@2 AA AB AC AD AE AA AB AC AD AE AA AB AC AD AE AA AB ~@2
>`.pickRestart({
  A: "~@5 g4@2 g4@2 ~@2 g4 ~@20", B: "~@3 g4@2 g4 ~ g4@2 g4@2 g4 ~@20", C: "~@3 g4@2 g4@2 ~@2 g4@2 ~@2 g4 ~@18",
  D: "~@11 g4 ~@20", E: "~@3 g4@2 g4@2 ~@4 g4 ~@20", F: "~@4 g4 ~@6 g4 ~@20", G: "~ [g4,bb4]@2 ~@29",
  H: "~@7 g5@2 ~@6 g5@2 ~@15", I: "~@3 [bb4,d5] ~ [bb4,d5] ~@5 bb4 ~@20", J: "~@5 d5 ~ [bb4,d5] ~@3 d5 ~@20",
  K: "~@7 bb4 ~@3 bb4 ~@20", L: "~@5 d5 ~ d5 ~@3 bb4 ~@20", M: "~@5 bb4 ~@5 bb4 ~@20", N: "~@7 bb4 ~@24",
  O: "~@5 bb4 ~ [bb4,d5] ~@24", P: "~@3 bb4 ~@7 bb4 ~@20", Q: "~@23 g5 ~@3 g5 ~ g5 ~@2", R: "~@19 g5 ~@7 g5 ~ g5 ~ g5",
  S: "~@5 g5 ~@5 g5 ~ g5 ~@5 g5 ~@7 g5 ~ g5 ~ g5", T: "~@27 g5 ~@3 g5", U: "~@3 g5 ~@3 [d5,g5] ~@11 g5 ~@7 g5 ~@4",
  V: "~@31 g5", W: "~@19 g5 ~@3 d5 ~@8", X: "~@19 g5 ~@12", Y: "~@7 g5@2 ~@6 g5 ~@16", Z: "~@7 g5 ~@7 g5@2 ~@15",
  AA: "~@3 d5 ~ d5 ~@11 e5 ~@14", AB: "~@3 bb4 ~@28", AC: "~@7 bb4 ~@9 [c5,e5] ~@9 e5 ~@4", AD: "~@17 e5 ~@9 e5 ~@4",
  AE: "~@3 bb4 ~@17 e5 ~@10",
})).s("gm_electric_guitar_muted").gain(0.13)

// chords · piano · "A.PIANO"
const piano = note(`<
  ~@2 A B C@2 D@2 E@3 F E@2 G F H I J K L M N O P Q R S T U T V W X Y Z AA AB AC AD AE AF AG AH AI K L M N AJ P Q W AK T
  AL T AM T X AN AO AP AQ AR AS AT AU AV I AI AW L M N AX AY Q AZ BA BB BC BD BE BF BG BH BG BI BF BJ AH AI AW L BK BL
>`.pickRestart({
  A: "~@25 bb5@6 ~, ~@25 g5 ~@6", B: "~@23 [g6,bb6] ~ [g6,c7]@3 ~ [g6,bb6]@3",
  C: "[~@25 [g5,bb5]@11 ~@19 [g6,bb6] ~ [g6,c7]@3 ~ [g6,bb6]@3]/2", D: "[~@25 [g5,bb5]@38 ~]/2",
  E: "~ [g2,g3,g4]@7 ~ [bb2,bb3,bb4]@7 ~ [c3,c4,c5]@5 ~@7 [bb2,bb3,bb4]@3, ~@23 [d3,d4,d5]@9, ~@27 [c3,c4,c5]@5", // G Bb C Bb D C
  F: "~ [g2,g3,g4]@7 ~ [bb2,bb3,bb4]@7 ~ [c3,c4,c5]@5 ~@7 [bb2,bb3,bb4]@2 ~, ~@23 [d3,d4,d5]@8 ~, ~@27 [c3,c4,c5]@5", // G Bb C Bb D C
  G: "~ [g2,g3,g4]@7 ~ [bb2,bb3,bb4]@7 ~ [c3,c4,c5]@5 ~@7 [bb2,bb3,bb4]@3, ~@23 [d3,d5]@9, ~@3 d4, ~@27 [c3,c4,c5]@5", // G Bb C Bb D C
  H: "~ [g1,g3,d4,g4]@7 ~ [bb2,g3,d4,g4]@7 ~ [c2,g3,c4,g4]@7 ~ f1@4 [gb1,gb2]@2 ~, ~ g2@4 ~@4 bb1@4 ~@4 c3@4 ~@4 [a3,d4,f4]@7, ~@25 f2 ~@6", // G5 Gm C5 Gb Dm
  I: "~ [g1,g2,g3,d4,g4]@6 ~@2 [bb2,g3,d4,g4]@7 ~ [c2,g3,c4,g4]@7 ~ f1@4 [gb1,gb2]@2 ~, ~@9 bb1@4 ~@4 c3@3 ~@5 [a3,d4,f4]@7, ~@25 f2@2 ~@5", // G5 Gm C5 Gb Dm
  J: "~ [g1,g3,d4,g4]@7 ~ [bb2,g3,d4,g4]@7 ~ [c2,c3,g3,c4,g4]@6 f2@2 ~@3 gb2@2 ~@2, ~ g2@4 ~@4 bb1@3 ~@13 [a3,d4,f4]@7, ~@25 f1@4 ~@3, ~@27 gb1@3 ~@2", // G5 Gm C5 Dm
  K: "~ [g1,g3,d4,g4]@7 ~ [bb1,bb2,g3,d4,g4]@7 ~ [c2,c3,g3,c4,g4]@6 ~@2 f1@4 [gb1,gb2]@3, ~ g2@4 ~@20 [a3,d4,f4]@7, ~@25 f2@2 ~@5", // G5 Gm C5 Gb Dm
  L: "~ [g1,g3,d4,g4]@8 [bb1,bb2,g3,d4,g4]@7 ~ [c2,g3,c4,g4]@7 ~ f1@4 [gb1,gb2]@3, ~ g2@4 ~@12 c3@4 ~@4 [a3,d4,f4]@7, ~@25 f2@2 ~@5", // G5 Gm C5 Gb Dm
  M: "~ [g1,g2,g3,d4,g4]@7 ~ [bb1,bb2,g3,d4,g4]@7 ~ [c2,c3,g3,c4,g4]@6 f2@2 ~@4 [gb1,gb2]@3, ~@25 [f1,a3,d4,f4]@7", // G5 Gm C5 Gb Dm
  N: "~ [g1,g2,g3,d4,g4]@7 ~ [bb2,g3,d4,g4]@7 ~ [c2,c3,g3,c4,g4]@6 [a3,d4,f4]@6 [gb1,gb2]@3, ~@9 bb1@4 ~@10 f1@4 ~@5, ~@23 f2@2 ~@7", // G5 Gm C5 Dm Gb
  O: "~ [g1,g2,g3,d4,g4]@7 ~ [bb2,g3,d4,g4]@8 [c2,g3,c4,g4]@6 f2@2 f1@3 ~ [gb1,gb2]@3, ~@9 bb1@4 ~@4 c3@4 ~@4 [a3,d4,f4]@7", // G5 Gm C5 Gb Dm
  P: "~ [eb2,eb3,eb4,g4,bb4,c5] ~ [eb2,eb3,eb4,g4,bb4,c5]@7 ~ [eb2,eb3,eb4,g4,bb4,c5]@5 ~ [eb2,eb3,eb4,g4,bb4,c5]@6 ~@2 [eb2,eb3,eb4,g4,bb4,c5]@6 ~", // Cm7
  Q: "~ [f2,f3,c4,f4,a4,c5]@4 ~@27", R: "~@2 g2@4 ~@11 [g1,g2,bb3,d4,g4]@5 ~@10, ~ [g1,bb3,d4,g4]@4 ~@27",
  S: "~ [g1,g2,bb3,d4,g4]@4 ~@6 [bb1,bb2] ~ [b1,b2]@2 ~@3 c4@5 ~@2 [c2,c3,c4,e4] ~ [bb1,bb2,bb3,d4]@4 ~, ~@17 [c2,c3,e4,g4]@6 ~@2 g4@6 ~", // Gm Bb B C Bb C
  T: "~ [g1,g2,bb3,d4,g4]@4 ~@12 [g1,g2,bb3,d4,g4]@4 ~@11", // Gm
// … 122 more lines

More by KC and The Sunshine Band