Strudelify

Got To Get You Into My Life (bonus track)

Earth, Wind & Fire

KeyF majorTempo142 bpm
0:00/0:00
// Got To Get You Into My Life (bonus track) — Earth, Wind & Fire
// 142 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 6, 4/4 at bar 7, 2/4 at bar 38, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 140 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(142/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 · electric bass finger
const bass = note(`<
  A@4 ~@15 B C D E F G B F H E F I@5 J@3 K J@3 K J@3 K J@3 L M@3 N O P Q@2 J@3 K J@3 L M@3 N O P R@2 S T U V W X Y Z AA
  AB AC AD AE AF AG@5 AH@2 AI AH@3 AJ AK@3 AL@2 AM AN AO@2 AP AQ@3 AR AS AT AU AV@2 AW AX AP AQ@3 AR AS AT AU AV@2 AW AY
  AZ BA BB@3 BC
>`.pickRestart({
  A: "[~@23 c2@52 gb1@9 ~@12]/4", B: "~ b1@2 bb1 ~@2", C: "~@6 g1 ~@5", D: "c2 ~@5 f2@2 ~@4", E: "~@3 bb1 ~@2",
  F: "~@3 g1 ~@2", G: "~@3 c2 ~@2", H: "c2 ~@2 f2 ~@2", I: "[~@5 c2@38 ~ c2@13 ~@3]/5", J: "f2 ~@4 f2 ~@2 f2 c2@2 d2",
  K: "f2 ~@4 f2 ~@2 f2 c2 db2 d2", L: "f2 ~@4 f2 ~@2 g1 ab1@2 ab1", M: "a1 ~@4 a1 ~@2 a1 g1@2 ab1",
  N: "a1 ~@4 a1 ~@2 ab1 a1@3", O: "bb1 ~@2 bb1 ~@2 a1 ~@2 a1 ~@2", P: "g1 ~@2 g1 ~@2 c2 ~@2 c2 ~@2",
  Q: "[f2@10 ~ ab2@5 ~ c2@7]/2", R: "[f2@10 ~ ab2@6 c2@7]/2", S: "f2 ~@4 f2 ~@2 g1 ab1 ~ ab1",
  T: "bb1 ~@4 bb1 ~@3 bb1@2 ab1", U: "g1 ~@4 g1 ~@2 g1 g1@3", V: "c2 ~@2 c2 ~@4 b1@4",
  W: "bb1 ~@4 bb1 ~@2 ab1 bb1@2 a1", X: "g1 ~@4 c2 ~@2 c2 d2@2 c2", Y: "f2 ~@4 f2 ~@2 g1 ab1@2 a1",
  Z: "bb1 ~ d1@3 eb1@3 e1 f1@2 gb1", AA: "g1 ~@4 g1 ~@2 f2 g2@2 f2", AB: "c2 ~@2 c2@2 ~ c2@2 b1@4",
  AC: "bb1 ~@3 f2 ab2 bb2 ab2 f2 bb1@2 ab1", AD: "g1 ~@4 c2@2 ~ c2 d2@2 c2", AE: "f1 ~@3 g2 ab2 a2 f2 c2 ab1@2 a1",
  AF: "bb1 ~@4 bb1 ~@2 ab1 bb1@2 ab1", AG: "[g1 ~@4 g1 ~@2 g1 bb1@2 c2@33 c2@5 f2 ~@4 f2 ~@2 f2 c2@2]/5",
  AH: "d2 f2 ~@4 f2 ~@2 f2 c2@2", AI: "d2 f2 ~@4 f2 ~@2 f2 c2 db2", AJ: "d2 f2 ~@4 f2 ~@2 g1 ab1@2",
  AK: "ab1 a1 ~@4 a1 ~@2 a1 g1@2", AL: "[ab1 a1 ~@4 a1 ~@2 ab1 a1@3 bb1 ~@2 bb1 ~@2 a1 ~@2 a1 ~]/2",
  AM: "~ g1 ~@2 g1 ~@2 c2 ~@2 c2 ~", AN: "~ f2@10 ~", AO: "[ab2@6 c2@7 f2 ~@4 f2 ~@2 g1 ab1 ~]/2",
  AP: "ab1 bb1 ~@4 bb1 ~@3 bb1@2", AQ: "[ab1 g1 ~@4 g1 ~@2 g1 g1@3 c2 ~@2 c2 ~@4 b1@4 bb1 ~@4 bb1 ~@2 ab1 bb1@2]/3",
  AR: "a1 g1 ~@4 c2 ~@2 c2 d2@2", AS: "c2 f2 ~@4 f2 ~@2 g1 ab1@2", AT: "a1 bb1 ~ d1@3 eb1@3 e1 f1@2",
  AU: "gb1 g1 ~@4 g1 ~@2 f2 g2@2",
  AV: "[f2@2 c2@2 ~@4 c2@4 ~@2 c2@4 b1@7 bb1 bb1@2 ~@6 f2@2 ab2@2 bb2@2 ab2@2 f2@2 bb1@4]/2",
  AW: "ab1 g1 ~@4 c2@2 ~ c2 d2@2", AX: "c2 f2 ~@4 f2 ~@2 g1 ab1 ~", AY: "c2 f1 ~@3 g2 ab2 a2 f2 c2 ab1@2",
  AZ: "a1 bb1 ~@4 bb1 ~@2 ab1 bb1@2", BA: "ab1 g1 ~@4 g1 ~@2 g1 bb1@2", BB: "[c2@11 ~]/3", BC: "~@2 f1 ~@3",
})).s("gm_electric_bass_finger").gain(0.4)

// chords · epiano2
const epiano2 = note(`<
  ~@3 A B C D E F G H I J K L G H M D E N O P Q D E N O P R S@5 T@2 U@2 T@2 V@2 T@2 U@2 T@2 V@2 W@2 X@2 Y Z AA@2 T@2 U@2
  T@2 V@2 W@2 X@2 Y Z AA@2 AB AC AD AE AC AF AB AG AD AH AI AJ AK AL AM@4 AN@2 AO@2 AP@8 AQ AR AS AT AU AV AW AX AY AZ
  BA BB AW BC@2 BD BA AV AW AX AY AZ BA BB AW BC@2 BD BA BE BF BG@3 BH
>`.pickRestart({
  A: "~@12 [f3,a3,d4,f4]@3 ~@3 [f3,a3,d4,f4]@3 ~ f2 ~", // Dm
  B: "[f3,a3,d4,f4]@3 ~@3 [f3,a3,d4,f4]@3 ~ f2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@3 ~ f2 ~", // Dm Fm
  C: "[f3,ab3,c4]@2 ~@4 [f3,ab3,c4]@3 ~@3 [f3,g3,b3]@2 ~@4 [f3,g3,b3]@3 ~ g2 ~", // Fm G7
  D: "[f3,g3,b3]@2 ~@4 [f3,g3,b3]@4 c3 ~ [f3,bb3,d4]@2 ~@4 [f3,bb3,d4]@4 c3 ~", // G7 Bb
  E: "[f3,bb3,d4]@3 ~ [b2,gb3,db4]@8 [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4 bb2 ~, ~@4 a3@5 ~@15", // Bb Bsus2 Fm
  F: "[f3,ab3,c4]@2 ~@4 [f3,ab3,c4]@4 g2 ~ [f3,g3,b3]@2 ~@4 [f3,g3,b3]@4 ~@2", // Fm G7
  G: "[f3,bb3,d4]@2 ~@4 [f3,bb3,d4]@4 f2 ~ [f3,a3,d4,f4]@2 ~@4 [f3,a3,d4,f4]@3 ~ f2 ~", // Bb Dm
  H: "[f3,a3,d4,f4]@2 ~@4 [f3,a3,d4,f4]@3 ~ bb2 ~ [f3,ab3,c4]@2 ~@4 [f3,ab3,c4]@3 ~ bb2 ~", // Dm Fm
  I: "[f3,ab3,c4]@2 ~@2 [f3,ab3,c4]@6 ~@2 [f3,g3,b3]@3 ~@3 [f3,g3,b3]@3 ~ g2 ~", // Fm G7
  J: "[f3,g3,b3]@2 ~@4 [f3,g3,b3]@4 c3 ~ [f3,bb3,d4]@2 ~@4 [f3,bb3,d4]@3 ~ c3 ~", // G7 Bb
  K: "[f3,bb3,d4]@2 ~@4 [f3,bb3,d4]@4 bb2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@3 ~ bb2 ~", // Bb Fm
  L: "[f3,ab3,c4]@2 ~@4 [f3,ab3,c4]@3 ~ g2 ~ [f3,g3,b3]@2 ~@4 [f3,g3,b3]@4 c3 ~", // Fm G7
  M: "[f3,ab3]@2 ~@4 [f3,ab3,c4]@3 ~ g2 ~ [f3,g3,b3]@2 ~@4 [f3,g3,b3]@3 ~ g2 ~, c4 ~@23", // Fm G7
  N: "[f3,ab3,c4]@2 ~@4 [f3,ab3,c4]@4 g2 ~ [f3,g3,b3]@2 ~@4 [f3,g3,b3]@4 c3 ~", // Fm G7
  O: "[f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@4 f2 ~ [f3,a3,d4,f4]@2 ~@4 [f3,a3,d4,f4]@3 ~ f2 ~", // Bb Dm
  P: "[f3,a3,d4,f4]@2 ~@4 [f3,a3,d4,f4]@4 bb2 ~ [f3,ab3,c4]@2 ~@4 [f3,ab3,c4]@4 bb2 ~", // Dm Fm
  Q: "[f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4 g2 ~ [f3,g3,b3]@2 ~@4 [f3,g3,b3]@4 g2 ~", // Fm G7
  R: "[f3,ab3,c4]@2 ~@4 [f3,ab3,c4]@4 g2 ~ [f3,g3,b3]@2 ~@4 [f3,g3,b3]@4 g2 ~", // Fm G7
  S: "[[f3,g3,b3]@3 ~ g2 ~ [f3,g3,b3]@3 ~ [f3,bb3,d4]@75 ~@3 [c3,bb3,d4,f4,a4]@31 ~]/5", T: "[[f2,g3,a3,c4]@47 ~]/2",
  U: "[[f2,g3,bb3,d4]@23 ~]/2", V: "[f2,g3,bb3,d4]/2", W: "[a3 ab3 g3 ab3, [c4,e4]@23 ~]/2",
  X: "[a3@12 ab3@12 g3@12 ab3@11 ~, [c4,e4]@47 ~]/2", // C
  Y: "[bb3,d4,f4]@2 ~@4 [bb3,d4,f4]@3 ~@3 [a3,d4,f4]@3 ~@3 [a3,d4,f4]@3 ~@3", // Bb Dm
  Z: "[g3,d4,f4] ~ [g3,d4,f4] ~ [c3,bb3,d4,f4] ~ [c3,bb3,d4,f4] ~", // G7 Bb
  AA: "[[f2,a3,c4,f4]@20 ~@2 [ab2,bb3,c4,f4]@11 ~ [c3,d4,f4,a4]@13 ~]/2", // F Fm Dm7
  AB: "[f3,a3,f4]@3 ~@3 [f3,a3,f4]@4 f2 ~ [f3,a3,f4]@3 ~@3 [f3,a3,f4]@4 bb2 ~", // F
  AC: "[f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4 bb2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4 g2 ~", // Fm
  AD: "[f3,g3,b3]@3 ~@3 [f3,g3,b3]@4 g2 ~ [f3,g3,b3]@3 ~@3 [f3,g3,b3]@4 ~@2", // G7
  AE: "[f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@4 c3 ~ [f3,bb3,d4]@3 ~ [b2,gb3,db4]@7 ~, ~@16 a3@5 ~@3", // Bb Bsus2
  AF: "[f3,g3,b3]@3 ~@3 [f3,g3,b3]@4 ~@2 [f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@4 f2 ~", // G7 Bb
  AG: "[f3,ab3,c4]@4 ~@2 [f3,ab3,c4]@4 ~@2 [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4 g2 ~", // Fm
  AH: "[f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@4 c3 ~ [f3,bb3,d4]@3 ~ [b2,db4]@8, ~@8 [gb3,a3]@3 ~", // Bb Bsus2 Gbm
  AI: "[f3,ab3,c4]@4 ~@2 [f3,ab3,c4]@4 bb2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4 g2 ~", // Fm
  AJ: "[f3,g3,b3]@3 ~@3 [f3,g3,b3]@4 c3 ~ [f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@4 f2 ~", // G7 Bb
  AK: "[f3,a3,f4]@3 ~@3 [f3,a3,f4]@4 f2 ~ [f3,a3,f4]@3 ~@3 [f3,a3,f4]@4 ~@2", // F
  AL: "[f3,ab3,c4]@4 ~@2 [f3,ab3,c4]@4 bb2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4 ~@2", // Fm
  AM: "[[f3,g3,b3]@3 ~@3 [f3,g3,b3]@4 g2 ~ [f3,g3,b3]@3 ~@3 [f3,g3,b3]@3 ~ [c3,f3,bb3,d4]@63 ~@3 [c3,f3,bb3,d4,f4]@8]/4", // G7 Bb
  AN: "[~ [f2,g3,a3,c4]@23]/2", AO: "[~ [f2,g3,bb3,d4]@23]/2",
  AP: "[~@2 [f2,g3,a3,c4]@47 ~ [f2,g3,bb3,d4]@48 a3@12 ab3@12 g3@12 ab3@12 a3@12 ab3@12 g3@12 ab3@10, ~@49 [c4,e4]@23 ~ [c4,e4]@23]/8", // F Gm7 C
  AQ: "~@2 [bb3,d4,f4]@2 ~@4 [bb3,d4,f4]@3 ~@3 [a3,d4,f4]@3 ~@3 [a3,d4,f4]@3 ~", // Bb Dm
  AR: "~@2 [g3,d4,f4]@3 ~@3 [g3,d4,f4]@3 ~@3 [c3,bb3,d4,f4]@3 ~@3 [c3,bb3,d4,f4]@3 ~", AS: "~ [f2,a3,c4,f4]@10 ~",
  AT: "[ab2,bb3,c4,f4]@11 ~ [c3,d4,f4,a4]@12", // Fm Dm7
  AU: "~@2 [f3,a3,f4]@3 ~@3 [f3,a3,f4]@4 f2 ~ [f3,a3,f4]@3 ~@3 [f3,a3,f4]@4", // F
  AV: "bb2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4 bb2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4", // Fm
  AW: "g2 ~ [f3,g3,b3]@3 ~@3 [f3,g3,b3]@4 g2 ~ [f3,g3,b3]@3 ~@3 [f3,g3,b3]@4", // G7
  AX: "~@2 [f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@4 c3 ~ [f3,bb3,d4]@3 ~ [b2,gb3,a3,db4]@6", // Bb Gbm
  AY: "~@2 [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4 bb2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4", // Fm
  AZ: "g2 ~ [f3,g3,b3]@3 ~@3 [f3,g3,b3]@4 ~@2 [f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@4", // G7 Bb
  BA: "f2 ~ [f3,a3,f4]@3 ~@3 [f3,a3,f4]@4 f2 ~ [f3,a3,f4]@3 ~@3 [f3,a3,f4]@4", // F
  BB: "bb2 ~ [f3,ab3,c4]@4 ~@2 [f3,ab3,c4]@4 ~@2 [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4", // Fm
  BC: "[~@2 [f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@4 c3 ~ [f3,bb3,d4]@3 ~ [b2,db4]@8 [f3,ab3,c4]@4 ~@2 [f3,ab3,c4]@4 bb2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4, ~@3 [gb3,a3] ~@4]/2", // Bb Bsus2 Fm Gbm
  BD: "g2 ~ [f3,g3,b3]@3 ~@3 [f3,g3,b3]@4 c3 ~ [f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@4", // G7 Bb
  BE: "~@2 [f3,ab3,c4]@4 ~@2 [f3,ab3,c4]@4 bb2 ~ [f3,ab3,c4]@3 ~@3 [f3,ab3,c4]@4", // Fm
  BF: "~@2 [f3,g3,b3]@3 ~@3 [f3,g3,b3]@4 g2 ~ [f3,g3,b3]@3 ~@3 [f3,g3,b3]@3 ~", BG: "[[c3,f3,bb3,d4]@7 ~]/3",
  BH: "~@2 [f3,c4,d4,f4,a4] ~@3", // Dm7
})).s("gm_epiano2").gain(0.35)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  ~@35 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C D E D F G H@2 A@2 B@2 A@2 B@2 C D E D F G H@2 I J K L J M I J K N J M I O P@2
  ~@2 Q R S@2 R@2 S@2 T U V U W X Y Z@2 AA AB AC@2 AD AE AA AB AF AG AD AE AA AB AC@2 AD AE AA AB AF AG AD AE AH AI AJ
  ~@3
>`.pickRestart({
  A: "[c4,d4,a4]@3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~", // D7
  B: "[bb3,d4,g4]@3 ~ [bb3,d4,g4] ~ f3 ~ [bb3,d4,g4] ~ f3 ~ [bb3,d4,g4] ~ f3 ~ [bb3,d4,g4] ~ f3 ~ [bb3,d4,g4] ~ f3 ~", // Gm
  C: "[c4,e4,a4]@2 ~@2 [c4,e4,a4] ~ a3 ~ [c4,e4,a4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~", // Am Caug
  D: "[c4,e4,g4]@3 ~ [c4,e4,g4] ~ a3 ~ [c4,e4,g4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~", // C Caug
  E: "[c4,e4,a4]@3 ~ [c4,e4,a4] ~ a3 ~ [c4,e4,a4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~", // Am Caug
  F: "[bb3,d4,f4] ~@2 [bb3,d4,f4] ~@2 [a3,d4,f4] ~@2 [a3,d4,f4] ~@2", // Bb Dm
  G: "[g3,d4,f4]@2 ~@4 [g3,d4,f4]@3 ~@3 [g3,c4,d4,f4]@3 ~@3 [g3,c4,d4,f4]@3 ~@3", // G7 Gsus4
  H: "[[a3,c4,f4]@19 ~@3 [gb3,bb3,c4,f4]@10 ~@2 [bb3,c4,d4,f4]@14, f3@17 ~@31]/2", // F Gbmaj7 Bb
  I: "[a3,c4,eb4]@3 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~", // Adim
  J: "[f3,ab3,c4]@2 ~@2 [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~", // Fm
  K: "[f3,b3,d4]@2 ~@2 [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~", // Bdim
  L: "[f3,bb3,d4]@3 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~@3 [gb3,a3]@8, ~@8 db4@3 ~", // Bb Gbm
  M: "[f3,b3,d4]@2 ~@2 [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~ c3 ~", // Bdim Bb
  N: "[f3,bb3,d4]@2 ~@2 [f3,bb3,d4]@2 c3 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~@3 [gb3,a3]@7 ~, ~@16 db4@5 ~@3", // Bb Gbm
  O: "[f3,ab3,c4]@3 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~", // Fm
  P: "[[f3,b3,d4]@2 ~@2 [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~@3 [bb3,d4,f4]@23 ~@3]/2", // Bdim Bb
  Q: "~@2 [c4,d4,a4]@3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~", // D7
  R: "f3 ~ [c4,d4,a4]@3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~ f3 ~ [c4,d4,a4] ~", // D7
  S: "f3 ~ [bb3,d4,g4]@3 ~ [bb3,d4,g4] ~ f3 ~ [bb3,d4,g4] ~ f3 ~ [bb3,d4,g4] ~ f3 ~ [bb3,d4,g4] ~ f3 ~ [bb3,d4,g4] ~", // Gm
  T: "f3 ~ [c4,e4,a4]@2 ~@2 [c4,e4,a4] ~ a3 ~ [c4,e4,a4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~", // Am Caug
  U: "a3 ~ [c4,e4,g4]@3 ~ [c4,e4,g4] ~ a3 ~ [c4,e4,g4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~", // C Caug
  V: "a3 ~ [c4,e4,a4]@3 ~ [c4,e4,a4] ~ a3 ~ [c4,e4,a4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~ a3 ~ [c4,e4,ab4] ~", // Am Caug
  W: "a3 ~ [bb3,d4,f4]@2 ~@4 [bb3,d4,f4]@2 ~@4 [a3,d4,f4]@2 ~@4 [a3,d4,f4]@2 ~@2", // Bb Dm
  X: "~@2 [g3,d4,f4]@2 ~@4 [g3,d4,f4]@3 ~@3 [g3,c4,d4,f4]@3 ~@3 [g3,c4,d4,f4]@3 ~", // G7 Gsus4
  Y: "~@2 [a3,c4,f4]@19 ~@3, ~@2 f3@17 ~@5", // F
  Z: "[[gb3,bb3,c4,f4]@10 ~@2 [bb3,c4,d4,f4]@14 [a3,c4,eb4]@3 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~]/2", // Gbmaj7 Bb Adim
  AA: "f2 ~ [f3,ab3,c4]@2 ~@2 [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~", // Fm
  AB: "bb2 ~ [f3,b3,d4]@2 ~@2 [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~", // Bdim
  AC: "[g2 ~ [f3,bb3,d4]@3 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~@3 [gb3,a3]@8 [f3,ab3,c4]@2 ~@2 [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~, ~@3 db4 ~@4]/2", // Bb Gbm Fm
  AD: "bb2 ~ [f3,b3,d4]@2 ~@2 [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~", // Bdim Bb
  AE: "c3 ~ [a3,c4,eb4]@3 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~ f2 ~ [a3,c4,eb4] ~", // Adim
  AF: "g2 ~ [f3,bb3,d4]@2 ~@2 [f3,bb3,d4]@2 c3 ~ [f3,bb3,d4] ~ c3 ~ [f3,bb3,d4] ~@3 [gb3,a3,db4]@6", // Bb Gbm
  AG: "~@2 [f3,ab3,c4]@2 ~@2 [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~", // Fm
  AH: "f2 ~ [f3,ab3,c4]@3 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~ bb2 ~ [f3,ab3,c4] ~", // Fm
  AI: "bb2 ~ [f3,b3,d4]@2 ~@2 [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~ [f3,b3,d4] ~ g2 ~@3", // Bdim
  AJ: "[bb3,d4,f4]@23 ~", // Bb
})).s("gm_electric_guitar_muted").gain(0.3).pan(0.2)

// other · overdriven guitar
const overdriven_guitar = note(`<
  A@3 ~ B@3 C@3 ~@3 D E F ~ G H I ~ D E F ~ J K I ~ G L@2 M N ~@17 O@2 P Q ~@12 O@2 P Q ~@19 R S N T U V W X Y Z@2 AA@2
  AB AC ~@32 AD AE AF
>`.pickRestart({
  A: "[~@21 c4@2 ab4@2 ~@2 ab4 ~ f4 ~ eb4 ~ c4 ~ c5@2 bb4@2 ab4 ~ f4 ~ eb4 ~ c4 ~ c5@2 bb4@2 ab4@2 f4 ~ eb4@2 c4@2 bb4@2 a4@2 ab4 ~ g4@2 gb4@2 f4@2 ~]/3",
  B: "[~@5 f4@4 ~@3 ab4@3 ~ f4@42 ~@7 bb3@3 ~ bb3@2 ~]/3", C: "[~ bb3@3 ~ bb3@3 ~@2 ab3@44 ~@18]/3",
  D: "~@4 eb4@2 f4@3 ~ ab4@12 f4 ~", E: "ab4@4 f4 ~ ab4@4 f4@7 ~ f4@4 eb4 ~", F: "f4@3 ~ ab4@6 ~@14",
  G: "~@4 eb4 ~ f4@3 ~ ab4@12 f4 ~", H: "ab4@4 f4 ~ ab4@4 f4@6 ~@2 f4@2 ~@2 f4 ~", I: "c5@3 ~ ab4@6 ~@14",
  J: "~@12 ab4@10 f4 ~", K: "ab4@4 f4 ~ ab4@4 f4@7 ~ f4@3 ~ f4 ~",
  L: "[ab4@4 f4 ~ ab4@4 f4@22 ~@2 c4 ~ ab4@2 ~@2 ab4 ~ f4 ~ eb4 ~ c4 ~]/2",
  M: "c5@2 bb4@2 ab4 ~ f4 ~ eb4 ~ c4 ~ c5@2 bb4@2 ab4 ~ f4 ~ eb4 ~ c4 ~", N: "bb4@2 a4@2 ab4 ~ g4@2 gb4@2 f4@2 ~@12",
  O: "[~@6 g3 ~ a3 ~ c4 ~ d4@6 c4@12 ~@18]/2", P: "~@6 g3 ~ a3 ~ c4 ~ d4@5 ~ d4@5 ~", Q: "c4@13 ~@11", R: "~@22 c4 ~",
  S: "ab4@2 ~@2 ab4@2 f4@2 eb4 ~ c4 ~ c5@2 bb4@2 ab4 ~ f4 ~ eb4@2 c4 ~", T: "~@2 d5@11 ~ d5@10",
  U: "~@2 d5@5 ~ d5@11 ~ d5@4", V: "~ d5@3 c5@6 a4 c5", W: "a4@2 g4@2 f4@2 d4 ~ f4@4 d4 ~ f4@4 g4@5 ~",
  X: "~@2 c4 ~ d4 ~ f4 ~ g4@4 ~@2 c4 ~ d4 ~ f4 ~ g4@4", Y: "~@2 c4 ~ d4 ~ f4 ~ g4@3 ~ g4@8 f4@2 d4@2",
  Z: "[c4 ~ f4@5 ~ d5@3 ~ a4 ~ d5@5 ~ c5@2 a4 a4@2 ~ d5@2 e5@2 f5@2 gb5@2 g5@2 g5@2 a5@10]/2",
  AA: "[~@8 g3 ~ a3 ~ c4 ~ d4@6 c4@12 ~@16]/2", AB: "~@8 g3 ~ a3 ~ c4 ~ d4@5 ~ d4@4", AC: "~@2 c4@13 ~@9",
  AD: "c4 ~ ab4@2 ~@2 ab4 ~ f4 ~ eb4 ~ c4 ~ c5@2 bb4@2 ab4 ~ f4 ~ eb4 ~",
  AE: "c4 ~ c5@2 bb4@2 ab4 ~ f4 ~ eb4 ~ c4 ~ bb4@2 a4@2 ab4 ~ g4@2 gb4@2", AF: "f4@2 ~@6 f3@3 ~@13",
})).s("gm_overdriven_guitar").gain(0.4)

// other · overdriven guitar
const overdriven_guitar_2 = note("<~@93 A@4 B C@2 D E@2 F@2 ~@35>".pickRestart({
  A: "[~@3 d5@11 ~ d5@11 ~ d5@5 ~ d5@11 ~ d5@5 ~ d5@6 c5@12 a4@2 c5@2 a4@2 g4@2 f4@2 d4 ~ f4@4 d4 ~ f4@4 g4@5]/4",
  B: "~@3 c4 ~ d4 ~ f4 ~ g4@4 ~@2 c4 ~ d4 ~ f4 ~ g4@3",
  C: "[~@3 c4 ~ d4 ~ f4 ~ g4@3 ~ g4@8 f4@2 d4@2 c4 ~ f4@5 ~ d5@3 ~ a4 ~ d5@5 ~ c5@2 a4]/2",
  D: "a4@2 ~@2 e5@2 ~ f5@2 gb5@2 g5@2 g5@2 a5@9, ~@3 d5@2 ~@19", E: "[~@9 g3 ~ a3 ~ c4 ~ d4@6 c4@12 ~@15]/2",
  F: "[~@9 g3 ~ a3 ~ c4 ~ d4@5 ~ d4@5 ~ c4@13 ~@8]/2",
})).s("gm_overdriven_guitar").gain(0.35).pan(1)

// other · overdriven guitar
const overdriven_guitar_3 = note("<~@35 A B C ~ D B C ~@98>".pickRestart({
  A: "~ d3 f3 g3 a3 c4 d4@2 f4 ~ g4 ~", B: "g4@2 f4 ~ d4 ~ c4@2 d4 ~ a3 ~", C: "g3@3 ~",
  D: "~@2 f3 g3 a3 c4 d4@2 f4 ~ g4 ~, ~@3 d3@2 ~@19",
})).s("gm_overdriven_guitar").gain(0.46).pan(0.3)

// other · trumpet
const trumpet = note(`<
  A B C D ~@3 E ~@3 E ~@7 E ~@5 E ~@4 F@2 G H@2 ~@3 I ~@3 I ~@8 J K J K L M N@2 ~@3 I ~@4 J K J K L M N@2 ~@3 O ~@3 P ~
  O ~@4 Q@2 R S ~@8 T@4 U V W X ~@3 Y ~@3 Z AA Y ~@5 Y ~@3 AB AA Y ~@5 AC@2 AD AE
>`.pickRestart({
  A: "~@21 c4 ~ ab4", B: "~@3 ab4 ~ f4 ~ eb4 ~ c4 ~ c5 ~ bb4 ~ ab4 ~ f4 ~ eb4 ~ c4 ~ c5",
  C: "~ bb4 ~ ab4 ~ f4 ~ eb4 ~ c4 ~ bb5 ~ a5 ~ ab5 ~ g5 ~ gb5 ~ f5 ~@2", D: "~@3 ab5@10 ~@11", E: "~@2 ab5@3 ~@7",
  F: "[~@34 c4 ~ ab4@2 ~@2 ab4 ~ f4 ~ eb4 ~ c4 ~, ~@5 bb5@13 ~@6]/2",
  G: "c5 ~ bb4 ~ ab4 ~ f4 ~ eb4 ~ c4 ~ c5 ~ bb4 ~ ab4 ~ f4 ~ eb4 ~ c4 ~",
  H: "[bb5 ~ a5 ~ ab5 ~ g5 ~ gb5 ~ f5 ~@5 bb5@25 ~@7]/2", I: "~@4 f5 ~ f5 ~ d5 ~ f5 ~@5 f5 ~ g5 ~ ab5 ~ a5@2",
  J: "a4 ab4", K: "g4@4 ab4 ~@3", L: "d4 ~@2 d4 ~@2 d4 ~@2 d4 ~@2", M: "d4@2 ~@4 d4@2 ~@4 f4@3 ~@3 f4@2 ~@4",
  N: "[f4@19 ~@3 f4@10 ~@2 c5@13 ~]/2", O: "~@8 ab5@3 ~", P: "~@4 ab5 ~ ab5@2 f5 ~ ab5 ~@5 ab5 ~ bb5@2 b5 ~ c6 ~",
  Q: "[~@46 c4 ~, ~@11 bb5@13]/2", R: "ab4@2 ~@2 ab4 ~ f4 ~ eb4 ~ c4 ~ c5 ~ bb4 ~ ab4 ~ f4 ~ eb4 ~ c4 ~",
  S: "bb5 ~ a5 ~ ab5 ~ g5 ~ gb5 ~ f5 ~@5 bb5@8", T: "[~@2 a4@12 ab4@12 g4@12 ab4@3 ~@7]/2",
  U: "~ d4 ~@2 d4 ~@2 d4 ~@2 d4 ~", V: "~@2 d4@2 ~@4 d4@2 ~@4 f4@3 ~@3 f4@2 ~@2", W: "~@2 f4@19 ~@3", X: "f4@5 ~ c5@6",
  Y: "~@3 ab5", Z: "~@6 ab5 ~ ab5@2 f5 ~ ab5 ~@3 ab5 ~ ab5 ~ bb5@2 b5 ~", AA: "c6 ~@23",
  AB: "~@6 ab5 ~ ab5@2 f5 ~ ab5 ~@5 ab5 ~ bb5@2 b5 ~",
  AC: "[~@24 c4 ~ ab4@2 ~@2 ab4 ~ f4 ~ eb4 ~ c4 ~ c5 ~ bb4 ~ ab4 ~ f4 ~ eb4 ~, bb5@13 ~@11]/2",
  AD: "c4 ~ c5 ~ bb4 ~ ab4 ~ f4 ~ eb4 ~ c4 ~ bb5 ~ a5 ~ ab5 ~ g5 ~ gb5 ~", AE: "f5 ~@7 [f5,f6]@4 ~@12",
// … 106 more lines

More by Earth, Wind & Fire