Strudelify
It's Too Late cover art

1971 · Tapestry

It's Too Late

Carole King

KeyA minorTempo100 bpm
0:00/0:00
// It's Too Late — Carole King
// 100 bpm, 4/4, key A minor. 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 99 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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 · piano · "A.PIANO 1"
const piano = note(`<
  A@2 B@2 C@2 D@2 E@2 F G H I J K L@2 M N A@2 B@2 C@2 D@2 E@2 F G H I J K L@2 O@4 P Q R S T U V@2 W@2 X@2 Y@2 Z@2 AA AB
  AC AD@3 A@2 B@2 C@2 D@2 E@2 F G H I J K L@2 O@4 P Q R S T AE AF@2 AG@2 AH AI ~
>`.pickRestart({
  A: "[a1@10 a2 ~ a1 ~ [d2,d3,a3]@7 ~ e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, [g3,c4,e4]@6 ~ [b3,d4]@9, a2@8 ~@6 f#4@15 ~@3]/2", // D5 C Bm
  B: "[a2@3 ~ a2@4 a1@2 [a2,g3,c4,e4] ~ a1 ~ [d2,d3,a3]@7 ~ e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, [g3,c4,e4]@9 ~@5 d4@18, a1@3 ~@4 f#4@8 ~, ~@14 b3@13 ~@5]/2", // Am7 D5 C
  C: "[a2@2 ~@2 a2@4 a1@2 [a2,g3,c4,e4] ~ a1 ~ [a3,b3]@8 e3 g3 a3 ~ b3@2 a3 g3 e3 ~, [g3,c4,e4]@9 ~@5 d4@18, a1@7 ~@7 f#4@15 ~@3, ~@14 [d2,d3]@6 ~@6 a3 ~@5]/2", // Am7 Asus2 C D
  D: "[a1@4 a2@4 a1@2 [a2,g3,c4,e4] ~ a1 ~ [d2,d3,a3]@7 ~ e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, [g3,c4,e4]@9 ~@5 [b3,d4]@18, a2 ~@13 f#4@15 ~@3]/2", // Am7 D5 C Bm
  E: "[[a1,a2]@4 a2@4 a1@2 [a2,g3,c4,e4] ~ a1 ~ g1@6 ~@2 g1 ~ g1@2 [f3,a#3,d4] ~ g1@2 g2 ~, [g3,c4,e4]@9 ~@5 [f3,a#3,d4]@11 ~@7, ~@10 g2@2 ~ g2 ~@2]/2", // A Am7 A# C A#
  F: "[f2,c3,a3,e4]@4 ~@2 [f2,c3,a3,e4] ~ [f2,c3,a3,e4]@4 ~@2 [f2,c3,a3,e4] ~", // Fmaj7
  G: "[f2,c3,a3,e4] ~ [f2,c3,a3,e4] ~@3 [f2,c3,a3,e4]@9 ~", // Fmaj7
  H: "~@6 [a3,d4]@4 ~@4 f3 ~, d4@3 f4@3 d4@2, a3@4 f3@9 ~@3, ~ a#2@7, ~@5 a3@2 ~", // D5
  I: "a3@2 ~@2 a3 ~@9 [g3,c4]@2, f2@8 ~@2 f2@5 ~, [c4,e4]@5 ~ [a3,c4]@7 ~@3, ~ c3@3 ~@2 c3@2", // C5 C Am
  J: "a3@2 ~@2 a3 ~ [a3,d4]@4 f3@2 ~@2 a#2 ~, a#2@13 ~@3, d4@5 ~@11, ~ f3@3 ~@2 [a3,d4]@2", // D5
  K: "g3 ~ g3@3 ~ [g3,a3,c4]@4 f3 ~@3 f3@2, [a3,c4]@5 ~@7 [a3,c4]@4", // Am7 Am
  L: "[~@4 a3 ~ a3@4 ~@2 d4@2 ~@6 e4@2 c4@4 ~@4 [f2,f3]@2, a#2@15 ~ f2@12 ~@4, ~@2 f3@6 ~@2 f3@4 [g3,c4]@5 ~ a3@7 ~ [a3,c4]@4, ~@4 d4@7 ~ a3@6 c3@6 ~@2 c3@4 ~@2]/2", // F C5 Am
  M: "~@2 a3 ~@5 f3@2 a3 ~ f3@2 d3 ~, d3@4 c4@7 ~@5, ~ a3 ~ [a3,c4], ~@3 d3@3 ~@2", // Am
  N: "~@2 e3 ~ [a3,b3]@2 [a3,b3,e4]@4 e3 ~ [e3,a3,b3]@2 e2 ~, e2@13 ~@3, ~@4 e3 ~ e3@2 ~@8", // Asus2 Esus4
  O: "[~@2 a3 ~@5 f3@2 a3 ~ [f3,a3]@2 d3 ~ [f3,a3,e4]@3 ~@7 [f3,a3,c4,e4]@2 g2@2 [f3,a3,e4] ~ [g3,e4]@4 ~@6 g3@2 [c2,g3,b3,e4]@2 ~@4 f3@2 [f3,a3]@2 f3@4 f3@2 ~@2 f2@2, d3@4 c4@7 ~ c4@7 ~@5 g1@4 ~@2 g1@2 c2@12 ~@4 f2@14 ~@2, ~@2 a3@2 ~@7 g2@2 ~@5 [b3,e4]@4 ~ a3@3 ~ [a3,c4]@3 [f3,a3,c4]@2, ~@6 d3@6 ~@8 [f3,a3,c4,e4]@5 ~@5 c4@16 e4@8 ~@10, ~@18 g3 c3@4 ~@9]/4", // F Fmaj7 C Cmaj7 F E5 Am F …
  P: "~@5 a#3 ~ a#2, a#2@3 a#2@4 ~, [f3,d4] d4@2 ~, ~ c4@6 ~@9, ~ [f3,a#3] f3 [f3,a#3,d4]", // Dm A#5 A#
  Q: "e3 ~@3 a3@2 ~@4 e3@2 [e3,a3,c4]@2 [e3,a3,c4]@2, [a2,c4]@7 ~ a2@8, a3@2 ~ [a3,c4]@3 ~@2, ~ e3@2 e3@2 ~@3", // Am
  R: "[f3,a#3]@2 f3 [g2,f3] ~ c4 g3 [c3,g3], g2@3 ~ c3@3 ~, ~ d4@3, ~ a#3 g3 c4", // A#5 G7 C5
  S: "~@5 a3!2 [f3,a3], [a3,c4]@3 [a3,c4]@2 e4@3, ~ f3@4 ~@3, ~ f2 f2@2", // F Am
  T: "[f3,a3]@4 ~@2 d3@2 ~@2 a3@2 ~@2 d3 ~, c4@3 ~, d3@3 ~ d3@3 ~, ~ [f3,a3] f3 [f3,a3,c4]", // F
  U: "[a3,b3]@4 [e3,a3]@2 [e2,e3]@2 e3@2 e3@2 [e2,e3]@2 [e2,e3,b3] ~, e2@6 a3@9 ~, ~@4 b3@6 [b3,e4]@5 ~, ~@2 e2 ~", // Asus2 A5 E E5
  V: "[[e3,c4]@4 ~@2 a2@2 ~@4 a2@2 ~@6 f#3@2 ~@4 e3@2 f#3 ~ [f#3,a3,d4]@2, a3@4 ~@3 [a3,d4]@4 ~@5, a2@3 ~ a2@2 ~@10, ~@2 [g3,c4]@3 ~@2 f#3@3 ~ [f#3,a3,d4]@3 ~@2, ~@4 e3@4 ~@2 [e3,g3,c4]@5 ~@3 d3@4 ~@10]/2", // C D D5 C5 D C
  W: "[c4@2 ~ a2 ~@2 a2 ~@7 d4 [a3,d4,a4], [a2,g3]@3 g3@2 [g3,a3,c4]@2 f#3@9, ~@2 c4@3 ~@2 a3@4 d4@3 ~@2, ~@2 a3@2 a2@2 ~@3 d3@3 d3@2 d3@2, ~@11 a3@2 a3@2 ~]/2", // D5 A7 Am7
  X: "[[c4,e4]@4 ~@2 a2@2 ~@2 g3@2 g3@2 ~@6 a3@2 ~@4 a3 ~@3 [d3,d4]@2, a2@3 ~ a2@3 a3@3 ~@4 [a3,e4]@2, ~@4 [g3,c4,e4]@5 ~ c4@12 ~@10, ~@14 f#3@4 f#3@4 [f#3,a3,d4]@5 ~@5, ~@8 d3@3 ~ d3@3 ~]/2", // C D A5 C D
  Y: "[c4@2 ~ a2 ~@2 [a2,a3] ~@3 a3 ~@2 f#3 [f#3,a3,d4] [d3,f#3,a3,d4], g3@8 ~@2 [g3,c4]@5 ~ d3@7 ~ d3@6 ~@2, a2@3 ~ a2@2 ~@10, ~@2 a3@4 ~ a3@3 ~ [a3,d4]@3 ~@2, ~@2 c4@3 ~@2 f#3@2 f#3@2 f#3@2 ~@3]/2", // A D C5 D5
  Z: "[e3 ~ g3 ~@3 a2 ~@2 f#3 [f#3,a3] ~@3 d3!2, [a2,a3,c4]@3 c4@2 [g3,c4]@2 a3@3 ~ [a3,d4]@3 [a3,d4]@2, ~@2 e3@4 [e3,a3]@9 ~ d3@8 d3@4 ~@4, ~@4 a2@2 ~ c4@9, ~@11 f#3@2 f#3@3]/2", // F#m Am C5 D5 A5
  AA: "~@2 a3@2 [g3,c4] ~@5 a3 ~@3 [a2,a3] ~, [a2,e4]@3 ~ a2@3 ~, [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4,e4]@2", // C5 A A5 C5 C
  AB: "[f#3,d4]@2 a3 ~ [f#3,a3] ~ f#3@2 ~@2 f#3@2 ~@2 e3@2, d3@6 ~@2 d3@7 ~, a3 ~@5 [a3,d4]@6 [f#3,a3,d4]@4", // D F#m D5 D
  AC: "[g3,c4]@2 a3 ~ [g3,c4]@2 e3@2 a3@2 [g3,c4] ~ [g3,c4]@2 [a2,a3] ~, a2@7 ~@3 a2@4 ~@2, ~@2 e4@3 ~@3", // C5 A
  AD: "[[f#3,a3,c4]@2 d4 ~ [f#3,a3]@2 ~@6 d3@2 ~@4 g3@2 [g3,c4]@2 ~@6 [a2,c4]@2 ~@6 d4@2 ~@4 a3@2 a3@2 [d3,c4] ~, d3@6 [f#3,c4]@8 c4@6 ~@2 c4@6 ~@2 d4@6 ~@2 e4@9 ~, ~@6 a3@4 [a3,d4]@5 ~ a2@7 ~ a2@4 ~@4 d3@10 [d3,g3,d4]@5 ~, ~@8 d3@4 ~@2 [a3,e4]@8 g3@9 ~@9 c4@6 ~@2, ~@13 a3@2 a3@2 a3@2 a3@2 ~@3]/3", // F#dim F#m C5 Am D7 F#dim D5 G5 …
  AE: "[f3,a3,c4,e4]@3 ~@7 [f3,a3,c4,e4]@2 g2@2 [f3,a3,e4] ~, ~@2 [f3,a3,c4,e4]@2 g1@2 ~ [g1,c4], ~@3 g2@2 ~@3", // Fmaj7 C5
  AF: "[[g3,e4]@2 ~@4 c3 ~@3 [g3,b3,e4] ~ c3@2 [f2,a3,c4,e4]@6 ~@4 f3 ~ a3@2 [c3,f3]@2 f2@2, c2@2 ~@2 c2@2 ~@5 f2@2 ~@3, b3 ~@3 [g3,b3,e4]@5 ~@11 [f3,a3,c4,e4]@4 ~@2 [c4,e4]@4 a3 ~]/2", // C Em Fmaj7 F5 Em Fmaj7 C
  AG: "[[g3,b3,e4] ~@5 c3@2 c2@2 [g3,b3,e4] ~ c2@2 ~@6 [a3,c4]@2 ~@2 a3@2 c4 ~ e4@2 f2@2, c2@4 [g3,b3,e4]@4 ~@2 c3@2 ~@2 f2@7 ~ f2@4 ~@6, ~@14 [a3,c4,e4]@5 ~ e4@6 ~@2 a3 ~ a3 ~, ~@8 c3@3 ~@2 c3@2 ~]/2", // Em Am Em Am
  AH: "[g3,b3,e4]@4 ~@2 [c3,g3,b3,e4] ~ [c2,c3,g3,b3,e4]@5 ~ [c2,g3,b3,e4] ~, c2@3 ~@5", // Em Cmaj7
  AI: "[c2,g3,b3,e4] ~ [c2,g3,b3,e4] ~@3 [c1,c2,g3,b3,e4]@10", // Cmaj7
})).s("gm_piano").gain(0.25)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A@2 B@2 C@2 A@2 D E F G H I J K L M N O A@2 B@2 C@2 A@2 D E F G H I J K L M N P Q@2 R@2 S T U V W@2 X@4 Y@2 X@8 A@2
  B@2 C@2 A@2 D E F G H I J K L M N P Q@2 R@2 S T U Z AA@2 AB@2 AC AD ~
>`.pickRestart({
  A: "[a1@8 ~@2 c2@2 a1 ~ d2@15 ~@3]/2", B: "[a1@8 ~@2 c2@2 a1 ~ d2@14 ~@4]/2", C: "[a1@8 ~@2 c2@2 a1 ~ d2@16 ~@2]/2",
  D: "a1@4 ~@2 a1 ~ a1 ~ a1@2 ~@2 g1@2", E: "g1 ~ g1@2 ~@2 g1 ~ g1@2 a#1@2 c2@2 e2 ~", F: "f2@4 ~@2 f2 ~ f2@4 ~@2 f2 ~",
  G: "f2 ~ f2 ~@3 f2@8 ~@2", H: "a#1 ~ a#1@2 ~@2 a#1 ~ a#1!3 ~ c2@2 e2 ~", I: "f2 ~ f2@2 ~@2 f2@3 ~ f1@2 ~@2 f1@2",
  J: "a#1 ~ a#1@3 ~ a#1@3 a#1!2 ~ c2@2 e2 ~", K: "f2 ~ f2@2 ~@2 f2 ~ f2@2 f1@3 ~ f1 ~",
  L: "a#1 ~ a#1@3 ~ a#1 ~ a#1!3 ~ c2@2 e2 ~", M: "f2@2 f1@3 ~ f1@3 ~ f2 ~ g2@2 f2 ~",
  N: "d2 ~ d2@3 ~ d2@2 f2@3 ~ f2@3 ~", O: "e2@4 ~@2 c0 ~ e2@8", P: "g1 ~ g1@3 ~ g1 ~ g1@7 ~",
  Q: "[c2@4 ~@2 c2 ~ c2@2 d2 ~ e2@2 f2@6 ~@2 a1!2 a#1@2 c2 ~ e2@2 f2 ~]/2",
  R: "[a#2@8 ~@2 f2@2 c3 ~ a2@7 ~ e2 ~ a2@2 e2 ~ a1@3 ~]/2", S: "g1 ~ g1@3 ~ g1@2 a1 ~ a#1@2 c2@2 e2@2",
  T: "f2@4 ~@2 c2@2 a#1 ~ c2 ~ e2@2 f2@2", U: "d2@4 ~@2 d2 ~ d2 ~ d2@3 ~ d2 ~", V: "e2@4 ~@2 e2 ~ e1@5 ~@3",
  W: "[a1@8 ~@2 e2 ~ a2@2 d2@7 ~@3 e2@2 a1 ~ d2@2 e2 ~]/2", X: "[a1@8 ~@2 e2@2 a2 ~ d2@7 ~ e3@4 a2 ~ d2@2 e2 ~]/2",
  Y: "[a1@8 ~@2 e2@2 a2 ~ d2@6 ~@2 e3@4 a2 ~ d2@2 e2 ~]/2", Z: "g1 ~ g1@3 ~ g1 ~ g1 ~ g1 ~ g1@2 b1 ~",
  AA: "[c2@4 ~@2 c2 ~ c2@2 d2 ~ e2 ~ f2@6 ~@2 f1 ~ f1@4 ~@2 f1 ~]/2",
  AB: "[c2@4 ~@2 c2 ~ c2@2 d2 ~ e2 ~ f2@7 ~ f1 ~ f1 ~ f1@3 ~ f1 ~]/2", AC: "c2@4 ~@2 c2 ~ c2@4 ~@2 c2 ~",
  AD: "c2 ~ c2 ~@3 c2@10",
})).s("gm_electric_bass_finger").gain(0.25).pan(0.6)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  A@2 B@2 C@2 D@2 E F G H I@4 J@2 K L A@2 M@2 C@2 D@2 E F G H I@4 J@2 K ~ N@4 O@4 P@2 Q@2 R S T ~ U V W X Y Z AA AB AC
  AD M@2 C@2 D@2 E F G H I@4 J@2 K ~ N@4 AE@3 ~ AF@2 AG@2 AH AI ~
>`.pickRestart({
  A: "[[a4,c5,e5]@9 ~ [e5,g5] ~@3 [d5,f#5]@6 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~]/2", // Am Em D
  B: "[~@4 [a4,c5,e5]@4 ~@2 [a4,c5,e5] ~@3 [a4,d5]@6 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~, ~@7 f#5 ~@8]/2", // Am D5
  C: "[[c5,e5] ~@3 [a4,c5,e5]@5 ~ [a4,c5,e5] ~@3 [a4,d5]@6 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~]/2", // C Am D5
  D: "[[g4,c5] ~@3 [g4,c5]@5 ~ [g4,c5] ~@3 [a4,d5]@6 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~]/2", // C5 D5
  E: "[g4,c5] ~@3 [g4,c5]@5 ~ [g4,c5] ~@3 c5 ~", F: "[f4,a#4]@5 ~ a#4@4 f4@2 a#4@2 d5 ~, ~@3 d5@3 ~@2",
  G: "[a4,e5]@4 ~@2 [a4,e5] ~ [a4,e5]@4 ~@2 [a4,e5] ~", H: "[a4,e5] ~ [a4,e5] ~@3 [a4,e5]@8 ~@2",
  I: "[~@6 f6 ~@4 c5@2 ~ c5 e5 ~@6 f6 a6@2 ~ c5 ~@2 c5@2 a4, a#3@7 a6@8 ~@6 d6@3 ~@3 e5@5, ~@6 f4@25 ~ a#3@15 ~@17, ~@4 a5@13 ~@3 a5@12, ~@10 d6@6 a4@2 e5@8 a4@5 ~@3 f4@13 ~@3 f4@6 ~@8]/4",
  J: "[~ a4 f5 ~@3 f6 ~@8 e5, d5@5 ~ a#3@8 ~@2 f4@15 ~, ~@4 a5@6 c6@3 a5@2 ~, ~@4 f4@3 a6@2 ~@2 e5@3 ~@2, ~@5 d6@4 c5@3 ~@2 c5@2]/2",
  K: "~@2 b4 c5@2 a4 ~ a4, d4, f5@3 ~, ~ a4@3 ~@2 c5@2", L: "b4@4 ~@6 e4@5 ~, e5, e4 ~, ~@2 a4@3 ~@3, ~@3 b4@5",
  M: "[~@4 [a4,c5,e5]@4 ~@2 [a4,c5,e5] ~@3 [a4,d5]@7 ~ e5 g5 a5 ~ a5 ~ a5 g5 e5 ~, ~@7 f#5 ~@8]/2", // Am D5
  N: "[~@5 g4@2 ~@15 d5 ~@8 a4, g4@9 ~@5 a4@11 ~ a4@6 ~@2 a#4@13 ~ c5@6 c5@10, ~@2 c5@13 ~@3 c5@8 ~@2 c5@6 ~@2 d5@8 ~@2 e5@8 ~@10, ~@4 e5@16 ~@2 e4@9 ~ f4@10 f4@5 ~@3 e4@8 e4@6, ~@26 a4@5 ~]/4",
  O: "[d5@6 d5@2 ~@4 c5@2 ~@20 e5@2 ~@8 e5@2 ~@8 e4@9 ~, a#4@4 e5@3 f5@8 a4@3 ~ c5@5 e4@3 ~@5, ~@10 g4@5 ~@3 a4@10 e5@4 f5@4 ~@10 e5@17 ~, ~@10 c5@3 c5@3 ~@2 d5@3 d5@3 ~ a4@6 ~, ~@22 a5@10 ~@20 b4@11 ~]/4",
  P: "[[a3,c4]@5 ~ a3 a3@6 ~@2 e4, g3 ~@9 g3@4 c4@18, ~@13 a3@3, ~@7 d4]/2", // Am
  Q: "[~@6 c4 d4@6 ~@2 g4, c4@6 ~@7 d4@3, ~@2 a3@13 ~@13 e4@4, ~@5 [e4,a4]@2 a4@9]/2", // A5
  R: "~@7 a4, c4, a4@7 ~, ~@3 [e4,c5]@5, ~@3 g4", S: "~@3 e4, [d4,d5], ~@3 f#4@5, ~@5 a4@3", T: "[e4,c5]@15 ~",
  U: "a5 g5 e5 ~ c6@2 ~@10", V: "~@2 [d6,d#6,a6] ~ d6 d#6 c6 d6 b5 c6 a5 ~ a5 b5 c6 d6",
  W: "c6 ~ c6 a5 ~ a5 b5 ~ b5 g5 ~ g5 a5 ~ a5 e5", X: "d#5 d5 c5 a4 g4 e4 g4 a4 ~@8",
  Y: "~@2 d5 e5 f#5 g5 a5 b5 c6 d6 e6 f#6 g6 ~ g6 e6", Z: "~ e6 f#6 ~ f#6 d6@4 ~@4 a5 d5 ~",
  AA: "f#5 g5 a5 b5 c6 ~ c6 b5@7 a5@2", AB: "~@2 [b5,d6] f#6 a6@5 ~ g6 e6 [d6,d#6] d6 c6 a5", AC: "g5@2 a5@11 ~@3",
  AD: "[d5,f#5]@4 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~", // D
  AE: "[d5@3 d5 ~@2 c5 ~@10 e5 ~@4 e5!2, a#4@4 e5@3 f5@8 a4@3 ~ c5@5, ~@10 g4@5 ~@3 a4@10 e5@4 f5@4 ~@12, ~@10 c5@3 c5@3 ~@2 d5@3 d5@3, ~@11 a5@5 ~@8]/3",
  AF: "[g4@9 ~ g4@2 e5@2 a4@10 ~@2 c5@2 d5@2 a4@2]/2", AG: "[e5@8 ~@2 g4@2 e5@2 a4@11 ~ c5@2 e5@2 a4 ~]/2",
  AH: "e5@4 ~@2 e5 ~ e5@4 ~@2 e5 ~", AI: "e5 ~ e5 ~@3 e5@10",
})).s("gm_epiano2").gain(0.22).pan(0.4)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  A@2 B@2 C@2 D@2 E F G H I J K L M N O P Q@2 R S T@2 U@2 V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ
  AR AS AT AU AV AW AX AY AZ BA BB BC BD BE Q@2 R S T@2 U@2 V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AG BF@2
  BG@2 BH BI ~
>`.pickRestart({
  A: "[c4@10 g3 ~@3 [a3,d4]@6 ~@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, g3@9 ~@23]/2", // D5
  B: "[[g3,c4]@8 ~@2 [a3,c4] ~@3 [a3,d4]@6 ~@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~]/2", // C5 Am D5
  C: "[e3 ~ g3 ~ [g3,c4] ~@3 g3 ~ [g3,c4] ~@3 [a3,d4]@6 ~@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~]/2", // C5 D5
  D: "[~@2 g3 ~ [g3,c4]@4 a3 ~ [g3,c4] ~@3 [a3,d4]@6 ~@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, ~@4 a3 ~@27]/2", // C5 D5
  E: "~@2 g3 ~ c4@4 g3 ~ [g3,c4] ~@3 g3@2, ~@4 g3 ~@11", F: "~@2 g3 ~ d4@4 g3 ~ g3@2 ~@2 g3 ~, ~@4 g3 ~@11",
  G: "a3@4 ~@2 [a3,e4] ~ [a3,e4]@4 ~@2 a3 ~", H: "[a3,e4] ~ [a3,e4] ~@3 [a3,e4]@3 ~ a3 ~ c4@2 d4 ~",
  I: "[a3,d4] ~ [a3,d4] ~ [a3,d4]@4 ~@2 [a3,d4] ~ [a3,d4]@2 f3 ~, ~@2 a#3 ~@5", // D5
  J: "[g3,a3,c4] ~ [a3,c4] ~ [a3,c4]@4 ~@2 [a3,c4] ~ [g3,a3,c4]@2 g3 ~, ~@4 g3 ~@11", // Am7 Am Am7
  K: "[f3,a3,d4] ~ a3 ~ [a#3,d4]@4 f3 ~ [a3,d4] ~ [a#3,d4]@3 ~, ~@4 a3@2 ~@6 a3 ~@3", // Dm A# D5 A#
  L: "[a3,c4]@2 [a#3,d4] ~@3 e4@4 [a#3,d4] ~ [a3,c4]@2 a3 ~, ~@6 c4 ~@9", // Am A# Am
  M: "[a3,d4] ~ d4 ~ [a3,d4]@2 f3 ~ f3 ~ [f3,a3,d4] ~ [f3,a3,d4]@2 ~@2, ~@4 f3 ~@11", // D5 Dm
  N: "[g3,c4] ~@3 [g3,a3,c4] ~@5 [g3,a3] ~ [g3,a3,c4]@2 g3 ~", // C5 Am7 Gsus2 Am7
  O: "[a3,c4,f4] ~@3 [a3,c4,f4] ~ a3 ~ g3 a3 c4 ~ c4@2 a3 ~", P: "~@2 a4@3 ~ [g4,a4] ~ [d4,d#4] d4 ~@2 a3@2 g3 ~",
  Q: "[a3 ~ a3 ~ g3@2 e3 ~ e3 ~ [a3,c4] ~@7 a3 ~@3 e3 g3 ~@2 a3 ~ a3 g3 e3 ~, ~@2 c4@2 ~@3 d4@3 ~@6, ~@4 e3 ~@27]/2", // Am
  R: "~@2 e4@2 d4@2 c4 ~ g4 ~ f#4@5 ~", S: "a3 ~ a3 ~ [a3,d4]@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~",
  T: "[g3 ~ g3 ~ [g3,c4]@3 ~ [g3,c4]@2 a3 ~@3 [a3,d4]@4 ~@2 a3 ~ e3 ~@3 a3 ~ a3 g3 e3 ~]/2", // C5 D5
  U: "[g3 ~ g3 ~ [g3,c4]@2 a3 ~ [g3,c4]@2 ~@2 c4 ~ d4@6 ~@2 e3 g3 ~@2 a3 ~ a3 g3 ~@2, ~@14 a3@3 ~@15]/2", // C5
  V: "g3 ~ g3 ~ [g3,c4]@2 ~@2 [g3,c4]@2 a3 ~ [g3,c4] ~ g3@2", W: "~@2 g3 ~ [g3,d4]@3 ~ g3 ~ g3 ~ g3@2 ~@2",
  X: "[d4,e4] ~@5 [a3,e4] ~ [a3,e4]@4 ~@2 e4 ~, a3 ~@3", Y: "[a3,e4] ~ [a3,e4] ~@3 [a3,e4]@2 ~@2 a3 ~ c4@2 d4 ~",
  Z: "~@4 [a3,d4] ~ a3 ~ [a3,d4] ~@3 [a3,d4] ~ a3 ~", AA: "~@2 g3 ~ [g3,c4]@2 ~@4 c4 ~ [g3,c4]@2 ~@2",
  AB: "[a3,d4] ~ [a3,d4] ~ [a3,d4]@2 a3 ~ a3 ~ [a3,d4] ~ [a3,d4]@2 a3 ~", // D5
  AC: "[a3,c4] ~ [a3,d4] ~@3 [a3,c4] ~@3 d4 ~ [a3,d4]@2 a3 ~", // Am D5 Am D5
  AD: "[a3,d4] ~ [a3,d4] ~ [a3,d4]@2 ~@2 a3 ~ a3 ~ [a3,d4]@2 ~@2", // D5
  AE: "[g3,c4] ~ g3 ~ [a3,c4]@2 ~@2 g3 ~ g3 ~ c4@2 g3 ~, ~@12 g3 ~@3", // C5 Am
  AF: "[a3,f4] ~ [a3,f4] ~ [a3,f4]@2 a3 ~ g3 ~@3 c4@2 a3 ~", AG: "~@2 g3 ~ g3 ~@3 g3 ~ g3 ~ g3 ~ g3 ~",
  AH: "c4 ~ [g3,c4] ~ [g3,c4]@2 ~@4 [a3,e4] ~ [a3,e4]@2 ~@2", AI: "[a3,c4]@2 ~@4 [a3,c4] ~@3 a3 ~ [a3,c4]@2 f3 ~",
  AJ: "[a3,d4] ~ a3 ~ [a3,d4]@2 f3 ~@3 [a3,d4]@2 f3 ~ [a3,c4]@2", AK: "~@2 a3 ~ [a3,c4]@2 ~@2 [c4,d4] c4 ~@2 c4@2 a3 ~",
  AL: "[g3,a#3] ~ g3 ~ [g3,a#3,d4] ~@3 g3 ~ [g3,c4] ~@3 [g3,c4] ~", // Gm C5
  AM: "[a3,c4] ~ [a3,c4] ~@3 [a3,c4]@2 g3 ~ [a3,c4] ~@3 [a3,c4]@2", // Am
  AN: "a3 ~@3 [a3,d4]@2 a3 ~ a3 ~ d4@2 a3 ~ a3 ~, ~@10 a3 ~@5", // D5
  AO: "[b3,e4] ~ [b3,e4] ~@3 [b3,e4] ~ a4 ~ g4 e4 [d4,d#4] [c4,d4] a3 g3", // E5 D#maj7 Csus2
  AP: "~@2 a3 ~ [g3,c4]@2 ~@2 a3 ~ [g3,c4]@2 ~@2 a3@2", AQ: "~@2 a3 ~ [f#3,d4]@2 ~@2 a3 ~ [f#3,d4]@2 ~@2 a3 ~",
  AR: "[g3,c4]@2 a3 ~ a3 ~ g3 ~ a3@2 ~@2 [g3,c4]@2 a3 ~", AS: "a3 ~ [f#3,d4]@2 a3 ~ a3 ~ a3 ~ [f#3,d4] ~@3 a3 ~",
  AT: "[g3,c4]@2 ~@2 a3 ~ a3@2 ~@4 [g3,c4]@2 ~@2", AU: "a3 ~@3 [f#3,d4]@2 ~@2 a3 ~ a3 ~ [f#3,d4]@2 a3 ~",
  AV: "a3@2 ~@2 [g3,c4]@2 a3 ~ a3 ~ [g3,c4]@2 a3 ~ [f#3,d4]@2", AW: "~@2 a3 ~ [f#3,d4]@2 ~@2 a3 ~ a3@2 [g3,c4]@2 ~@2",
  AX: "a3 ~ g3 ~ [g3,c4]@2 ~@2 g3 ~@3 g3@2 a3 ~", AY: "a3 ~ f#3 ~ [f#3,d4]@2 ~@2 a3 ~ [f#3,d4] ~ a3 ~ a3@2",
  AZ: "[g3,c4] ~ a3 ~ a3@2 ~@2 [g3,c4]@2 ~@2 a3@2 [g3,c4] ~", BA: "a3 ~ a3 ~ [f#3,d4]@2 a3 ~ a3 ~ [f#3,d4]@2 ~@2 a3@2",
  BB: "[g3,c4]@2 ~@2 a3 ~ a3@2 ~@2 a3 ~ [g3,c4]@2 ~@2", BC: "a3 ~ a3@2 ~@4 a3@2 ~@2 a3@2 ~@2",
  BD: "a3@3 ~ [g3,c4]@2 ~@2 a3@2 ~@2 a3@2 c4 ~", BE: "a3 ~ [f#3,d4] ~ a3 ~@3 a3 ~ a3 ~ [f#3,d4]@2 a3 ~",
  BF: "[~@4 [g4,b4,e5]@2 ~ [g4,b4,e5] ~@2 [g4,b4,e5] ~@3 [f4,a4,c5,e5]@6 ~@12]/2", // Em Fmaj7
  BG: "[~@4 [g4,b4,e5]@2 ~ [g4,b4,e5] ~@2 [g4,b4,e5] ~@3 [f4,a4,e5]@6 ~@12]/2", // Em Fmaj7
  BH: "[g4,b4,e5]@4 ~@2 [g4,b4,e5] ~ [g4,b4,e5]@4 ~@2 e5 ~", BI: "[g4,b4,e5] ~ [b4,e5] ~@3 [g4,b4,e5]@10",
})).s("gm_electric_guitar_clean").gain(0.15).pan(0.9)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@8 A@2 ~@3 B C D E F G F H I J ~@2 K L M N ~@3 O P ~@2 Q R S T U V W X A ~ G ~ Y@2 ~ Z AA AB AC AD X AE AF Z AG AH AI
  AJ H I J ~@2 K L M N ~@3 O P ~@2 Q R S T U V W X A ~ G T ~@7
>`.pickRestart({
  A: "~@6 g3 ~@9", B: "~@6 g3 ~ g3 ~@7", C: "~@6 f3 ~@9", D: "~@7 c4@2 ~@7", E: "~@2 f3 ~@13", F: "~@10 c4 ~@5",
  G: "~@2 a3 ~@13", H: "~@7 a3", I: "~@8 a3 ~@7", J: "g3 ~@15", K: "~@7 g3 a3 ~@7", L: "~@10 a3 ~ g3 ~@3",
  M: "~@2 g3 ~@5 a3 ~@5 e3 ~", N: "~@6 a3 ~@9", O: "~@2 [a3,d4] ~@13", P: "a3 ~@5 a3 ~@7 g3 ~", Q: "~@6 a3 ~@7 a3 ~",
  R: "~@2 c4 ~@3 g3 ~@9", S: "~@9 a3 c4 ~@5", T: "~@4 e4 ~@11", U: "g3 ~@5 g3 ~ a3 ~@5 a3 ~", V: "~@2 a3 ~@5 f3 ~@7",
  W: "~@2 d4 ~@5 f3 ~@7", X: "~@6 a3 ~@3 a3 ~@5", Y: "~@6 a3 ~@5 a3 ~@3", Z: "~@12 a3 ~@3", AA: "~@2 a3 ~@7 g3 ~@5",
  AB: "~@2 a3 ~@3 a3 ~@9", AC: "~@2 g3 ~@13", AD: "a3 ~@5 a3 ~@7 a3 ~", AE: "~@2 d4 ~@3 a3 ~@9",
  AF: "~@6 g3 ~@3 a3 ~@5", AG: "~@2 a3 ~@5 g3 ~@5 a3 ~", AH: "~@4 d4 ~ a3 ~@3 d4 ~@3 [f#3,d4] ~",
  AI: "~@6 a3 ~@3 g3 ~@5", AJ: "~@6 d4 ~@9",
})).s("gm_electric_guitar_clean").gain(0.1).pan(0.9)

// other · piano · "A.PIANO 2"
const piano_2 = note("<~@40 A@4 B@2 C@2 D ~@35 A@4 B@2 C@2 ~@7>".pickRestart({
  A: "[g4@9 ~ f4@2 e4 ~ f4@4 e4@2 d4@2 c4@4 d4@2 e4 ~ e4@4 d4@2 c4 ~ d4@4 e4@4 c4@4 a3@10 ~@4]/4",
  B: "[c4@2 d4@2 e4@2 f4@2 e4@2 f4@2 g4 ~ a4@4 e4@2 c4 ~ e4@4 c4@4 ~@2]/2",
  C: "[f4@2 e4@2 d4 ~ c4@4 d4@2 e4 ~ e4@9 ~ a4 ~ g4 e4 [d4,d#4] c4 a3 g3]/2", D: "a3 ~@3",
})).s("gm_piano").gain(0.24).pan(0.2)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@39 A@5 B@2 C@2 D E F@2 G H I@3 ~@27 J@4 B@2 C@2 ~ K L M N O ~>".pickRestart({
  A: "[~@10 a4@2 e4 ~ g4@10 ~@2 f4@2 e4 ~ f4@4 e4@2 d4 ~ c4@4 d4@2 e4 ~ e4@4 d4@2 c4 ~ d4@4 e4@3 ~ c4@4 a3@12 ~@2]/5",
  B: "[c4@2 d4@2 e4@2 f4 ~ e4@2 f4@2 g4 ~ a4@4 e4@2 c4 ~ e4@4 c4@4 ~@2]/2",
  C: "[f4@2 e4 ~ d4@2 c4@4 d4@2 e4 ~ e4@8 ~@2 a4 ~ g4 e4 [d4,d#4] c4 a3 ~]/2", D: "a3@8 a3 ~ b3@2 ~ c4@3",
  E: "~@2 b3 ~ e4 ~ d4@10, ~ a3@2 ~@13", F: "[~@5 d4 e4 ~ f#4 ~ f#4@10 ~ g4@3 ~ e4@2 ~ d4 e4 ~@2]/2",
  G: "c4 ~ d4@2 ~ e4@11", H: "~@5 a3 ~ b3 ~ d4 ~ b3 ~ c4 ~ b3",
  I: "[d4@2 ~ b3 ~ c4 b3 ~ d4 ~ b3@2 ~@3 f#4@5 e4@2 ~ d4@2 c4 b3@2 a3@2 ~ a3@16 ~, ~@15 g3 ~@8]/3",
  J: "[g4@8 ~@2 f4@2 e4 ~ f4@4 e4@2 d4 ~ c4@4 d4@2 e4 ~ e4@4 d4@2 c4 ~ d4@4 e4@3 ~ c4@4 a3@12 ~@2]/4",
  K: "~@8 a3@2 ~@2 e4@2 a3 ~", L: "c4@7 ~@9", M: "~@4 a3 ~ e4 ~", N: "[b3,e4] ~ [b3,e4] ~",
  O: "[b3,e4] ~ e4 ~@3 [b3,e4]@10", // E5
})).s("gm_electric_guitar_jazz").gain(0.26).pan(0.8)

// other · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@45 A ~ B ~@3 C ~@37 A ~ B ~ D ~ E F G ~>".pickRestart({
  A: "~@14 a3 ~", B: "~@15 g3", C: "~@15 c4", D: "~@10 c4 ~@5", E: "~@5 a3 ~@4 c4 ~@3 a3 ~",
  F: "~@6 [b3,e4] ~@7 [b3,e4] ~", G: "~@2 b3 ~@13",
})).s("gm_electric_guitar_jazz").gain(0.15).pan(0.8)

// other · soprano sax · "SOPRAN SAX"
const soprano_sax = note("<~@56 A@2 B C D E F@2 G@2 H@3 ~@30>".pickRestart({
  A: "[b4@14 ~ a4@2 ~ d5@9 ~ e5 f5 e5 d5]/2", B: "~ g5@2 e5@2 ~ e5 d5@2 ~ c5@2 b4@2 c5@2",
  C: "~ a4@2 ~ e5@3 c5@2 a4@2 g4 e4@2 g4 a4", D: "~ a4@7", E: "~@3 e5@2 ~ g5@2 e5@2 a4@2 ~ d5 ~ c5",
  F: "[a4@2 g4 ~ a4@2 g4 e4@2 d4 ~ e4@14 ~ g4@2 a4@2 b4@2]/2", G: "[~@3 b4@2 ~ b4@22 d5@2 c5@2]/2",
// … 143 more lines

More by Carole King