Strudelify

Wild Life

McCartney

KeyF majorTempo132 bpm
0:00/0:00
// Wild Life — McCartney
// 132 bpm, 6/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: metre changes (4/4 at bar 1, 6/4 at bar 7) are rendered on a constant 6/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 13 "HARPSICHRD" harpsichord (copy of ch 12 "STEEL GTR" acoustic guitar steel)
// note: Full arrangement: all 145 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(132/6)

// 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 · clavinet
const clavinet = note(`<
  ~@4 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 D
  B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2
  A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 E
>`.pickRestart({
  A: "~@4 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@3 [c4,eb4,g4]@4, c3", // Cm
  B: "~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@3 [bb3,d4,g4]@4, bb2@23 ~", // Gm
  C: "[~@4 [a3,eb4,g4] ~@3 [a3,eb4,g4] ~@3 [a3,eb4,g4] ~@3 [a3,eb4,g4] ~@3 [a3,eb4] ~@3 [a3,eb4,g4] ~@3 [a3,eb4,g4] ~@3 [a3,eb4,g4] ~@3 [a3,eb4,g4] ~@3 [a3,eb4,g4] ~@3 [a3,eb4,g4] ~@3, f2, ~@10 g4 ~@13]/2", // Am7b5 Adim Am7b5
  D: "~@4 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@11, c3@13 ~@11", E: "[c2,c3]@23 ~",
})).s("gm_clavinet").gain(0.33).pan(0.8)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~@8 A B C D A B C D A B E F A B G H A B I J A B K L A B I M A B N O A B P Q A B P R A B S T A B U V A B E W X Y Z J A
  B AA AB A B AC AD A B AE AF A B U V A B AG AH A B AI V A B U V A B U V A B U V A B U AJ AK AL AM AN A B AO V A AP U V
  A B U V A B U V AQ AR AS AT A B AU V A B U AV A B U V A B AW AN AX
>`.pickRestart({
  A: "c2", B: "bb1", C: "f1@23 f2", D: "f2@2 ~@2 f2@7 ~ f2@8 bb1@4", E: "f1@11 ~ f1@2 ~@2 f1@7 ~",
  F: "f1 ~ f1@6 g1@2 bb1@2", G: "f1@23 ~", H: "f1 ~ f1@4 g1@4 bb1@2", I: "f1@19 f2 f2@2 ~@2", J: "f2@11 ~ f2@12",
  K: "f1@19 ~ f1@2 ~@2", L: "f1@3 a1@17 bb1@4", M: "f2", N: "f1@16 f2@3 ~ f2@3 ~", O: "f2@6 f1 ~ f1@4",
  P: "f1@8 f2 ~ f2 ~", Q: "f2 g1!2 bb1@2 b1", R: "f2@7 ~ f2@2 ~@2 f2@8 ~@4", S: "f1@15 ~ f1@3 ~ f1@2 ~@2",
  T: "f1@4 ~@4 f1@3 ~ f1@5 ~@3 g1@3 ~", U: "f1 a1", V: "c2 d2", W: "f1@2 ~@2 f1@7 ~ f1@2 ~@6 f1@4", X: "c2@4 c2 ~@3",
  Y: "bb1@11 ~ bb1@12", Z: "f1@12 f2@3 ~ f2@3 ~ f2@2 ~@2", AA: "f1@2 ~@2 f1@3 ~ f1@2 ~@2 f1@3 ~ f1@3 ~ f1@2 ~@2",
  AB: "f1@3 ~ f1@2 ~@2 f1@2 ~@2 f1@4 f1@3 ~ f1@4", AC: "f1@11 ~ f1@2 ~@2 f1@8", AD: "f2@4 a1@3 ~ c2@11 ~ f2@2 e2 d2",
  AE: "f1@11 ~ f1@2 ~@2 f1@6 ~@2", AF: "f1@3 ~ f1@3 ~ f1@4", AG: "f1@19 ~ f1@3 ~", AH: "f1@3 ~ f1@3 ~ f1@2 ~@2 f1@12",
  AI: "f1@3 f2@2 a1", AJ: "c2@3 c2@2 ~@2 c2 c2@3 ~ d2@2 ~ d2@2 ~@2 d2 d2@3 ~", AK: "eb2@3 c2@2 ~@2 eb2 c2@14 ~@2",
  AL: "d2@3 bb1@2 ~@2 bb1 d2@4 bb1@11 ~", AM: "f1@7 ~ f1@4 a1@6 ~@2 a1@4", AN: "c2@3 ~ c2@2 d2@6",
  AO: "f1@6 a1@2 g1 ~@3", AP: "bb1@23 ~", AQ: "c2@11 ~ c2@3 ~@9", AR: "bb1@11 ~",
  AS: "f1@2 ~ f1@3 ~ f1 f1@4 a1@2 ~ a1@2 ~@2 f1 a1@4", AT: "c2@2 ~ c2@4 ~ a1@3 c2 d2@2 ~ eb2@3 ~ eb2 d2@3 ~",
  AU: "f2@12 a1@7 ~ a1@4", AV: "c2@7 f1 a1@3 c2 d2@3 ~ f2@5 ~@3", AW: "f1@7 ~ f1@4 a1@7 ~ a1@4", AX: "c2@23 ~",
})).s("gm_fretless_bass").gain(0.55)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@7 A@2 B C@2 D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL@2 AM AN AO AP AQ AR AS
  AT AU@2 AV AW AX AY AZ BA@3 BB@2 BC BD BE@2 BF BG BH BI BJ@2 BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC
  CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CX CY CZ DA DB DC@2 DD DE DF DG DH DI DJ DK DL DM DN DO DP
  DQ DR DS DT DU DV DW DX
>`.pickRestart({
  A: "[~@6 [g3,c4,eb4,g4,c5]@5 ~, ~@23 c3@21 ~@4]/2", B: "[bb2,f3,bb3,d4,f4,bb4]@7 ~",
  C: "[[f2,c3,f3]@40 [f2,c3,f3]@4 [f2,c3] ~@3, a3@37 ~@11, [c4,f4]@35 ~@13]/2", // F5
  D: "[c3,g3]@8 [c3,g3]@2 ~ c3 [c3,c4,eb4,g4,c5] ~@11, [c4,g4,c5] ~, eb4@5 ~@7", // C5 Cm C5
  E: "[bb2,f3,bb3,d4,f4,bb4]@12 [bb2,f3,bb3,d4,f4,bb4] ~@11", F: "[f2,c3,f3,a3,c4]@12 [f2,c3,f3,a3,c4,f4] ~@11",
  G: "[f2,c3,f3,a3,c4,f4]@12 [f2,c3,f3,a3,c4,f4] ~@11", H: "[c3,g3,c4,eb4]@12 [eb4,g4,c5] ~@11",
  I: "bb2@8 bb2@4 [bb3,d4,f4,bb4] ~@11, f3@13 ~@11", J: "[f2,c3]@12 [f3,a3,c4,f4] ~@7 c3@3 ~",
  K: "[c3,a3]@12 [c3,f3,a3,c4,f4] ~@11, f2@7 ~@5", L: "c3@12 [g3,c4,eb4,g4,c5] ~@11, g3 ~@2",
  M: "[bb2,f3,d4]@12 [f3,bb3,d4,f4,bb4] ~@11", N: "[f2,c3]@11 ~ [c3,f3,a3,c4,f4] ~@7 f2@4",
  O: "[f2,c3]@12 [f2,c3]@4 [f2,c3,f3]@5 ~@3", // F5
  P: "[c3,g3]@8 [c3,g3]@4 [c3,g3,c4,eb4,g4,c5] ~@7 [c3,g3,c4,eb4,g4] ~@3, [c4,g4,c5] ~, eb4@5 ~@7", // C5 Cm C5
  Q: "[bb2,f3,d4]@8 [bb2,d4]@4 [bb2,f3,bb3,d4,f4,bb4] ~@11, [bb3,f4,bb4] ~", // Bb Bb5
  R: "[f2,f3,c4,f4]@12 [f2,c3,f3,a3,c4,f4] ~@6 [f3,a3,c4,f4] ~@3 [f3,c4], [c3,a3]@4 ~@7 f4", // F5 F F5 F
  S: "[f3,c4,f4]@8 [f3,c4,f4]@4 [c3,f3,a3,c4,f4]@8 [c3,f3,a3,c4,f4] ~@3, [c3,a3] ~", // F5 F
  T: "[c3,g3,c4,eb4,g4,c5]@12 [c3,g3,eb4,g4,c5] ~@11", // Cm
  U: "[f3,d4]@8 f3@4 [bb2,f3,bb3,d4,f4,bb4] ~@11, [bb2,bb3,f4,bb4] ~", // Dm Bb Bb5
  V: "[c3,f3,a3,c4,f4]@12 [c3,f3,a3,c4,f4] ~@3 [a3,c4,f4]@2 ~ [c3,f3,a3,c4,f4] ~@3 [f3,c4,f4]", // F F5
  W: "f4@3 ~ f4@4 [c4,f4]@4 [c3,f3,a3,c4,f4] ~@3 [c3,a3]@3 [c4,f4] [c3,f3,a3,c4,f4] ~@3, [c3,f3,a3] ~, c4@4 ~@4 [c4,f4] ~@3", // F5 F F5 F F5
  X: "c3@8 c3@4 [g3,c4,eb4,g4] ~@11, g3@11 ~@13", Y: "[bb2,f3]@8 bb2@4 [f3,bb3,d4,f4,bb4] ~@11",
  Z: "[f2,c3]@12 [f3,a3,c4,f4] ~@11", AA: "[f2,c3]@8 [f2,c3]@4 [f3,a3,c4,f4] ~@11",
  AB: "[c3,g3,c4,eb4]@12 [c4,g4,c5] ~@5 c5 [c4,eb4,g4] ~@4", // Cm C5 Cm
  AC: "~@8 bb2@4 [bb2,f3,bb3,d4,f4,bb4] ~@11, bb3@11 ~@13, bb2 ~@2, ~ d4@11 ~@12", // Bb
  AD: "[f2,f3,a3]@12 [f3,a3,c4,f4] ~@5 f4 a3 c4 ~@2 a3, c3 ~@2", // F
  AE: "[c3,a3]@3 ~@5 [f2,c3,f3]@4 [f2,c3,f3,a3,f4]@8 ~@4, f4 ~, [f2,f3] ~@2, c4 ~@2 c4@6 ~@3 c4@6 ~@6, ~ a3@2 ~@3", // F F5 F
  AF: "g3@8 g3@4 [g3,c4,eb4,g4,c5] ~@7 g3 ~@3, [c3,c4,eb4]@13 ~@6 [c3,g3,c4,eb4]@2 ~@3", // Cm
  AG: "[bb2,f3,bb3,d4,f4]@12 [bb2,f3,bb3,d4,f4,bb4] ~@11", AH: "[f2,c3,f3,a3]@12 [f2,c3,f3,a3,c4,f4] ~@11, c4@3 ~@5",
  AI: "c3@8 c3@4 [f2,b2,f3,a3,c4,f4] ~@6 [f2,c3,f3,a3] ~@4, [f2,f3,a3,c4,f4]@6 ~@3 [c4,f4] ~@2", // F F5
  AJ: "~@8 c3@3 ~ [c3,g3,c4,eb4,g4,c5]@2 ~@6 [c3,g3,c4,eb4,g4,c5] ~@3, g4@11 ~@13, eb4@3 ~@5, g3@7 ~@17, ~ c5@11 ~@12", // Cm
  AK: "[bb2,f3,bb3,f4]@12 [bb2,f3,bb3,d4,f4,bb4] ~@11, d4 ~@11", // Bb5 Bb
  AL: "[[c3,f3,a3,c4]@12 [a3,c4,f4]@6 ~@6 [f2,c3]@8 c3@3 ~ [f2,f3,c4,f4]@8 ~@4, f2 ~, f4@7 ~@5 f3@24 ~@12, ~@3 c3@3 ~@3 [c3,a3] ~@2, ~@19 [a3,c4,f4]@17 ~@12]/2", // F F5 F
  AM: "c3@8 c3@4 [g3,c4,eb4,g4,c5] ~@11, [c4,g4] ~, g3 ~@5", // Cm C5
  AN: "f3@8 f3@4 [bb2,f3,bb3,d4,f4,bb4] ~@11, [bb2,bb3,d4,f4] ~", // Bb
  AO: "~@8 f2@4 [a3,c4,f4] ~@3 [c4,f4] ~@2 [f3,a3,c4,f4] ~@4, [c3,f3,a3] ~, f2 ~@2, ~ c4@2 ~@3", // F F5 F
  AP: "f3@4 f3@3 ~ c4 ~@2 [f2,f3] [f2,f3,c4,f4]@4 [f2,f3,c4,f4]@3 c3@2 ~@3, [f2,c3,a3]@7 ~@3 a3@2 a3@7 ~@5, ~@11 c3@5 ~@8", // F F5 F
  AQ: "[c3,g3]@8 [c3,g3]@4 [g3,eb4,g4,c5] ~@7 [bb2,f3]@4, c4@13 ~@11, [eb4,g4]@11 ~@13", // C5 Cm Bb5 Eb
  AR: "bb2@8 bb2@3 ~ [bb2,f3,bb3,d4,f4,bb4] ~@11, [f3,f4] ~", // Bb F
  AS: "c3@12 [f2,c3,f3,a3,c4,f4] ~@6 [f3,a3,c4,f4] ~@4, f2 ~@2", // F
  AT: "[f2,c3,a3]@8 [f2,c3]@4 [f2,c4]@2 ~ [f2,c3,f3,a3,c4] f2@2 ~@2 [c3,f3,a3,f4] ~@3, f4@4 ~ f4 ~@2", // F F5 F
  AU: "[[c3,g3]@8 g3@4 [c3,g3,c4,eb4,g4,c5] ~@7 [bb2,f3]@4 [bb2,f3]@8 bb2@4 [bb2,f3,bb3,d4,f4,bb4] ~@7 [bb2,f3] ~@3, [c4,eb4,g4,c5]@3 ~@2 bb3@4 ~@3]/2", // C5 Cm Bb5 Bb Bb5 Cm
  AV: "f2@8 f2@4 [c3,f3,f4] ~@6 [f2,f4]@3 ~@2, [c3,f3]@12 ~@7 [a3,c4] ~@4", // F5 F F5 Am
  AW: "f2@7 ~ [f2,c3]@4 [f2,c3,f3,a3,f4]@8 [f2,c3,f3,a3,c4] ~@3, [f3,a3,c4]@11 ~ c4@4 ~@8, c3 ~@5", // F5 F
  AX: "[c3,g3,c4,eb4,g4]@12 [eb4,g4,c5] ~@11", AY: "[bb2,f3]@19 ~@5",
  AZ: "[f2,c3,c4]@12 c4 ~@6 [c3,f3,a3] f2 ~@3, [f3,a3]@3 ~@5", // F5 F
  BA: "[[f2,c3,f3,c4,f4]@12 [f2,c3,f3,a3,c4,f4] ~@7 c3@4 c3@12 [c3,g3,c4,eb4,g4,c5] ~@7 bb2@4 ~@8 bb2@4 [bb2,f3,bb3,d4,f4,bb4] ~@11, a3 ~@4 [g3,c4]@4 ~@2 f3@2 f3@2 ~@3, ~@6 bb2 ~@2]/3", // F5 F Cm Bb C5
  BB: "[[f2,c3]@8 c3@4 [c3,c4]@4 f2@4 [f2,c3]@4 [f2,c3,f3]@4 [f2,c3,f3]@8 [f2,c3,f3,a3]@4 [f2,c3,f3,a3]@4 [f2,c3,f3] ~@3, f3 f4@2 ~, ~ f2 ~@4, ~@12 a3@16 ~@8 c4 ~@3 c4 ~@7, ~ f3 ~@2]/2", // F5 C F5 F F5
  BC: "c3@3 ~ c3@4 [c3,g3]@4 [c3,g3,c4,eb4,g4,c5]@2 ~@6 bb2@4, [c4,eb4] ~, g3 ~@2", // C5 Cm
  BD: "[bb2,f3,bb3,f4]@6 [bb2,f3,bb3,d4,f4,bb4] ~@5", // Bb5 Bb
  BE: "[c3@4 ~@3 [f3,a3,c4,f4]@2 ~@3 f3 ~@7 f2@4 ~@4 [f3,f4]@2 ~ [f2,c3,f3,a3,c4] f2@3 c3 [f2,c3,f3,c4,f4]@7 ~ [f2,c3,f3,a3,f4] ~@3, f2@3 ~ [c3,a3]@6 ~@6, ~@12 f2@7 ~@5 f2@6 ~@18, ~@13 c4@15 ~@2 f4@2 ~@4 a3@2 ~@10]/2", // F F5 F
  BF: "c3@8 c3@4 [c3,g3,c4,eb4,g4,c5] ~@7 [bb2,f3]@4, [c4,eb4,c5] ~, g3 ~@5", // Cm Bb5 Cm
  BG: "[bb2,f3,bb3]@12 [bb2,f3,bb3,d4,f4,bb4] ~@11", // Bb5 Bb
  BH: "[f2,c3]@4 f2@4 [f2,c3]@4 [f2,c3,f3,a3,f4] f2@3 ~@3 [c3,f3,a3,c4] f2@3 c3, f3 ~", // F5 F
  BI: "[f2,c3,f3]@4 [f2,c3,f3]@4 [f2,c3,f3]@4 [f2,c3,f3]@4 [f2,c3,f3,a3]@4 [c3,f3,a3,c4] ~@3, ~@16 c4 ~@7", // F5 F
  BJ: "[[c3,g3]@8 [c3,g3]@4 [c3,g3,c4,eb4,g4,c5] ~@6 f2 [bb2,f3]@4 f3@4 f3@8 [bb2,f3,bb3,d4,f4,bb4] ~@7 [f2,c3]@4, c4@11 ~@9 bb3@16 ~@12, ~@3 bb2 ~@2]/2", // C5 Cm Bb5 Bb F5
  BK: "c3@8 c3@4 ~@3 f4 ~@7 f2, [f2,f3] ~", BL: "[c3,f3]@8 c3@4 ~@3 [a3,f4] ~@4 [f2,c3,f3,a3,c4] ~@3, [f2,a3] ~",
  BM: "[c3,c4,eb4,g4,c5]@12 [c3,c4,g4,c5] ~@7 [c3,g3,c4] ~@3, g3 ~@5", // Cm C5
  BN: "bb2@8 bb2@4 [bb2,bb3,d4,f4,bb4] ~@7 [bb2,f3,bb3,d4] ~@3, f4 ~", // Bb
  BO: "[f2,c3,f3,a3]@10 ~ [c3,f3,a3,c4,f4] ~@7 [f2,f3,a3,c4,f4] f2@2 ~ [f2,c3]", // F F5
  BP: "[f2,c3]@2 [f2,c3] [f2,c3,f3,a3,f4]@2 ~, [f3,a3]@6 c4 ~@5", BQ: "c3@8 c3@4 [g3,eb4,g4,c5] ~@7 c4 ~@3, g3@11 ~@13",
  BR: "[bb2,bb3]@12 [bb2,f3,bb3,d4,f4,bb4] ~@11", BS: "[f2,c3]@8 ~@4 [a3,f4]@2 ~@5 [f3,a3,c4] f2@3 ~",
  BT: "[f2,f3]@12 [a3,c4,f4] ~@7 f2 ~@3, c3 ~@2", BU: "[c3,g3]@4 c3@8 [c4,g4,c5] ~@5 c5 [g3,c4,eb4,g4] ~@4, c4 ~",
  BV: "[bb2,bb3,f4]@12 [bb2,f3,bb3,d4,f4,bb4] ~@7 [bb3,d4] ~@3", // Bb5 Bb
  BW: "~@3 ab3 ~@8 [f3,a3,f4] ~@6 [c4,f4] ~@4, c3@11 ~@13, f2 ~@3", // F F5
  BX: "[f2,c3,f3,a3,c4]@12 ~ [c4,f4]@7 [f3,a3,b3,f4] ~@3, ~@3 [f2,c3,f3,a3]@2 ~", // F F5 Bm7b5 F
  BY: "c3@8 c3@4 ~@3 [c4,c5] ~@3 g3 [c3,c4,eb4] ~@3, [g3,c4,eb4,c5] ~", // C Cm
  BZ: "bb2@8 bb2@4 [f3,bb3,d4,f4,bb4] ~@7 bb2 ~@3, [bb3,d4] ~, f3 ~@5", // Bb
  CA: "[f2,f3]@12 ~@3 f2@3 ~ [f3,a3,c4] f2 ~@3, c3 ~@2", // F
  CB: "[f2,c3,f3]@8 ~@7 [f3,a3,c4,f4] ~@3 [f2,c3,f3,a3] [f2,c3,f3,a3,c4,f4] ~@3, [a3,c4] ~@3, f4 ~@5", // F5 F Am
  CC: "c3@7 ~ c3@4 [g3,c4,eb4,g4,c5] ~@6 [g3,c4,eb4,g4,c5] ~@4, [c4,g4] ~, eb4 ~@5", // Cm C5
  CD: "[bb2,f3,bb3,d4,f4,bb4]@12 [bb3,d4,bb4] ~@6 [f4,bb4] ~@4", CE: "f3@11 ~ [a3,c4,f4] ~@6 [a3,f4] ~@4, c3 ~@3",
  CF: "[f2,c3,f3,a3]@11 ~ [f2,c3,f3,a3,f4]@8 [f2,c3,f3,a3] ~@3, ~@6 c4 ~@5", // F
  CG: "[c3,g3]@8 c3@4 ~@8 [c3,g3,c4] ~@3, [eb4,g4] ~", // C5 Eb
  CH: "bb2@8 bb2@4 [f3,bb3,d4,f4,bb4] ~@7 [bb2,bb3,d4] ~@3, [f3,bb3,d4,f4] ~", // Bb
  CI: "[c3,a3]@4 ~@4 f2@4 [a3,c4] ~@2 f2@4 [f3,a3] ~@4, f3 ~, f2 ~@2", // F Am F
  CJ: "f2@4 f2@4 [f2,c3]@4 ~@3 [c3,f3,a3,c4] ~@3 [f2,c3,f3] [f2,c3,f3,a3,f4] ~@3, a3@11 ~@13, [c3,f3] ~@2", // F5 F F5 F F5
  CK: "[g3,c4,eb4,g4]@12 [c3,g3,c4,eb4,g4,c5] ~@7 [bb2,f3]@4, c3 ~@2", // Cm Bb5
  CL: "~ f4@11 [bb2,f3,bb3,d4,f4,bb4] ~@7 [bb2,bb3] ~@3, [bb2,f3,bb3]@11 ~@13", // Bb Bb5
  CM: "[f2,f3]@11 ~ c4 ~@2 [a3,c4,f4] ~@4 [f3,a3,c4,f4]@4, c3@7 ~@17", // F
  CN: "[c3,f3,a3,c4]@7 f4@2 ~@3 [f2,c3,f3,a3,c4,f4]@4 c4 ~@2 [c3,f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4]@2 ~@2, f4 ~@3", // F
  CO: "[c3,g3]@8 g3@4 [c4,eb4,g4,c5] ~@7 [c3,g3,c4,eb4,g4,c5] ~@3, [c4,g4] ~, eb4 ~@5", // C5 Cm C5
  CP: "[bb2,f3,bb3,d4,f4,bb4]@12 [bb2,f3,bb3,d4,f4,bb4] ~@7 [f3,bb3] ~@3", // Bb Bb5
  CQ: "c3@8 c3@4 [c3,f3,a3,c4,f4] ~@6 [f2,c3,f3,a3] ~@4, [f2,f3,a3]@13 ~@11, c4 ~@23", // F
  CR: "f2@7 ~ f2@4 [f2,c3]@4 [f2,c3,f3,a3,f4]@4 [c3,f3,a3] ~@3, [f3,a3]@5 ~@3, c3 ~@5, c4 ~@15 c4 ~@7", // F5 F
  CS: "[c3,g3]@8 [c3,g3]@4 [g3,c4,eb4,g4,c5] ~@7 [c3,g3,c4,eb4,g4,c5] ~@3, [c4,g4]@11 ~@13, eb4 ~@5", // C5 Cm C5
  CT: "[bb2,f3]@8 bb2@4 [f3,bb3,d4,f4,bb4] ~@7 bb3 ~@3, [bb3,f4] ~, d4 ~@5", // Bb5 Bb Bb5
  CU: "[f2,f3,a3]@12 f2 [a3,e4] ~@5 [c3,f3,a3,c4] f2 ~@2 c3, c3 ~@2", // F A5 F
  CV: "~ f4@11 c4 ~@2 [c3,f3,a3,c4] ~@3 c3 [f2,c3,f3,a3,c4,f4] ~@3, [c3,f3,a3,c4]@11 ~@13, f2 ~@2", // F
  CW: "[g3,c4,g4]@12 [c3,g3,c4,eb4,g4,c5]@8 c3 ~@3, c3@7 ~@17, eb4 ~@7", // C5 Cm
  CX: "[bb2,f3]@8 [bb2,f3]@4 [bb3,d4,f4,bb4] ~@7 [bb2,f3,bb3,d4,f4] ~@3, bb3 ~", // Bb5 Bb
  CY: "[c3,c4]@8 c3@4 c4 ~@2 [a3,c4] ~@4 [f2,c3,f3,a3,c4,f4] ~@3, [f2,f3,a3] ~", // C Am F
  CZ: "[f2,c3]@7 ~ f2@5 ~@2 [f2,c3,f3,a3] ~@3 f2 [f2,c3,f3,a3,c4,f4] ~@3, [f3,a3,f4]@11 ~@13, c4@5 ~@3 c3@3 ~@13", // F5 F
  DA: "[c3,c4,eb4,g4,c5]@12 [c3,g3,c4,eb4,g4,c5] ~@7 [g3,c4,eb4,g4] ~@3, g3 ~@2", // Cm
  DB: "[bb2,bb3]@12 [d4,f4,bb4] ~@7 [bb2,f3,bb3,d4,f4,bb4] ~@3, f3 ~@2, d4 ~@5", // Bb
  DC: "[[f2,c3,f3,c4]@12 [f3,a3,c4,f4] ~@3 c3@4 [f2,c3]@4 [f2,c3]@8 [f2,c3]@4 [f2,c3,f3,a3,c4] ~@7 [f2,c3,f3,a3] ~@3, ~@16 a3@19 ~ f4@3 ~@9, ~@4 f3@2 f3@3 ~@3]/2", // F5 F F5 F
  DD: "[c3,g3]@8 g3@4 [g3,c4,eb4,g4,c5] ~@7 [c3,g3,c4] ~@3, [c4,eb4] ~", // C5 Cm C5 Cm
  DE: "bb2@8 bb2@4 [bb3,d4,f4,bb4] ~@7 bb3 ~@3, bb3 ~, f3 ~@5", // Bb
  DF: "[f2,c3,f3]@12 [c3,f3,a3,c4,f4] ~@6 [c3,f3,a3] f2 ~@3, a3 ~@5", // F5 F
  DG: "[c3,a3,c4]@4 ~@3 [f3,a3] ~@3 [f2,c3] [f2,c3,a3]@5 ~@2 [c3,f3,a3] ~@4, [f2,f3]@6 ~@6 f3@7 ~@5", // F F5 F
  DH: "[c4,g4]@11 ~ [c3,g3,c4,eb4,g4,c5] ~@7 [c3,g3,c4,g4,c5] ~@3, c3 ~@2, g3 ~@7", // C5 Cm C5
  DI: "[f3,d4]@4 f3@4 f3@4 [bb2,f3,bb3,d4,f4,bb4] ~@7 [f3,bb3] ~@3, bb3 ~, bb2 ~@2", // Dm Bb Bb5
  DJ: "[f2,c3]@3 ~ f2@8 [f2,f3,a3] f4 ~@5 [e3,a3] ~@4, [f3,a3] ~", // F5 F A5 F
  DK: "[f2,c3]@8 f2@3 ~ [f2,f3,a3] ~@6 [f2,c3,f3,a3] ~@4, [f3,a3] ~", // F5 F
  DL: "[c3,g3]@7 ~ c3@4 [c3,g3,c4,eb4,g4,c5] ~@7 [g3,c4] ~@3, [c4,g4] ~, eb4 ~@5", // C5 Cm C5
  DM: "bb2@8 bb2@4 [bb2,f3,bb3,d4,f4,bb4] ~@7 [bb2,e3,bb3] ~@3, [f3,bb3,d4] ~", // Bb Bbdim Bb
  DN: "f2@7 ~ f2@4 [f2,c3,f3,a3,c4,f4] ~@6 [f2,b2,f3,a3] ~@4, [c3,f3,a3] ~, d2 ~@23", // F Bm7b5 F
  DO: "f2@7 ~ f2@3 ~ c4 ~@2 [a3,c4,f4] ~ f4 ~ [a3,c4,f4]!2 ~@3, [c3,f3,a3]@11 ~@8 [c3,f3]@3 ~@2, c4 ~@23", // F F5
  DP: "[g3,eb4,g4,c5]@8 ~@4 [gb3,c4,c5] ~@6 bb4 [bb2,f3,d4]@4", // Cm Gbdim Bb
  DQ: "[bb2,f3,bb3,d4]@12 [f3,bb3,d4,f4,bb4] ~@7 [f3,bb3] ~@3", // Bb Bb5
  DR: "[f3,a3,c4]@12 [a3,c4] ~@6 [f3,a3,c4,f4] ~@4, c3@4 ~@2 f4 ~@5", // F Am F
  DS: "[c3,f3,a3,c4,f4]@11 ~@4 [f3,a3,c4,f4] ~@3 [a3,c4] [c3,f3,a3,c4,f4] ~@3", // F Am F
  DT: "[g3,c4,eb4,g4,c5]@12 [c4,eb4,g4,c5] ~@11", DU: "[bb2,bb3,d4,f4]@12 [bb2,f3,bb3,d4,f4,bb4] ~@11, f3 ~@2",
  DV: "[f2,f3,a3]@12 [a3,c4] ~@11, c3 ~@2", DW: "[f2,c3]@8 f2@4 [c3,f3,a3,c4,f4]@2 ~@6 g2@3 ~, f3 ~",
  DX: "~ c5@11, [c3,g3]@23 ~, ~ [c4,g4]@23", // C5
})).s("gm_electric_guitar_clean").gain(0.33).pan(0.3)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@11 A ~@2 B ~ C D E F G H I J K ~@5 L M N O P@2 Q ~ R ~ S ~ B ~ T U ~@4 V W ~ X Y Z AA@2 AB AC AD AE AF AG@3 AH AI AJ
  AK AL@2 AM@2 AN AO AP AQ AR@2 ~ AS ~ AT AU AV AW AX AY AK AZ BA BB BC BD BE BF ~ BG ~ BH ~ BI BJ BK@2 BL BM BN ~ B ~
  BO BP BQ BR BS BT BU BV ~ BW BX BY Q BZ CA ~ BV CB CC CD AD AC CE ~ CF@2 CG CH ~ CI CJ CK CL
>`.pickRestart({
  A: "~@4 a3 ~", B: "f4 ~", C: "[g4,c5]@13 ~@11", D: "bb3 ~, d4@7 ~@17", E: "f3@12 ~@8 f2@3 ~", F: "f3 ~, c4 ~@23",
  G: "[c4,eb4,g4] ~", H: "bb3 ~", I: "f3@11 ~@9 c3@4, a3 ~@5", J: "f3@12 f3 a3@8 ~@3, a3 ~@7", K: "~@20 c5 ~@3",
  L: "~@8 f3 ~@3", M: "~@4 f3 ~", N: "~ g4@11 ~@12, c4 ~, eb4@7 ~@17", O: "~@8 f3@5 ~@11, [bb3,d4,f4] ~",
  P: "f3@11 ~@13", Q: "g4 ~", R: "~@8 c3@4 ~@11 [c3,f3,f4]", S: "g4@12 ~@7 g4@2 ~@3", T: "c4@5 ~@7", U: "~@2 d4 ~@3",
  V: "f4@12 ~@11 [f2,c3,f3,a3]", W: "f4@7 ~@3 f4@2 ~@12", X: "[bb3,d4]@11 ~@13", Y: "c4@7 ~ f2@4 ~@4 c4 ~@7, [f3,a3] ~",
  Z: "[f3,c4]@12 ~@7 [c3,f3,a3] ~@4", AA: "[~@20 d4@16 ~@8 bb3 ~@3]/2", AB: "c4@11 ~@12 [f2,c3,f3,a3]",
  AC: "f4@11 ~@13", AD: "c5 ~", AE: "[bb3,d4]@19 ~@5", AF: "f4@12 f4 ~@10 [c3,a3]",
  AG: "[~@5 eb4@2 ~@4 bb3 bb3@3 ~@3, ~@44 d4@15 ~@13]/3", AH: "a3@11 ~@13, c4 ~@23", AI: "~@12 f4@3 ~ f4@5 ~@3",
  AJ: "g4@11 ~@9 f3@4", AK: "d4 ~", AL: "[[f3,a3]@6 ~@7 f4@15 c4@2 ~@5 [f3,a3] ~@12]/2",
  AM: "[~@2 g3 ~@3 f4@3 ~@3, g4@3 ~@2 d4@4 ~@3]/2", AN: "~@16 bb3 ~@6 f2", AO: "~@4 f4 ~", AP: "eb4 ~@11", AQ: "~@7 f3",
  AR: "[a3@11 ~@5 c4 ~@2 [c3,f3] f2 ~@2 [c3,f3,a3] ~@19 f2 ~@4, ~@18 f4@2 ~@2 f4@14 ~@6 f4@3 ~@3]/2", // F5 F
  AS: "bb3@12 ~@8 bb4 ~@3", AT: "c4 ~@23", AU: "~ eb4@11 ~@12, c4@13 ~@11", AV: "[f3,d4] ~",
  AW: "~@4 f2@2 f2 ~@5, f3 ~", AX: "a3@12 ~ f2@5 ~@6", AY: "eb4@7 ~@17", AZ: "~@3 b3 ~@4 f2@2 ~@14, f3 ~",
  BA: "~ f4@5 ~@5 f4 ~@12", BB: "~@19 c4 g4 ~@3", BC: "~@20 bb3 ~@3", BD: "c4@12 ~@11 a3",
  BE: "~@12 f2@2 ~@2 f2 ~ f4@2 ~@4", BF: "~@8 g3@5 ~@11, c5@11 ~@13", BG: "~ c4@7 c3@4 ~ f2@4 ~@7, f2 ~",
  BH: "~@2 g3 ~@3, c4 ~", BI: "f4 ~, c4@3 ~@5", BJ: "~ c4 ~@14 f2 ~@7", BK: "[~@20 d4@15 ~@13, ~@5 bb3 ~@6]/2",
  BL: "a3@4 ~@4 c3@3 ~@13", BM: "~@11 a3 ~@12", BN: "~@19 g3 ~@4", BO: "~@2 eb4 ~@3", BP: "bb4@5 ~@7", BQ: "c4 ~",
  BR: "~@16 f2 ~@2 f3 ~@4", BS: "c5@11 ~@13", BT: "d4@12 ~@8 bb4 ~@3", BU: "f4@12 ~@7 a3 ~@4", BV: "~@19 c3 ~@4",
  BW: "bb4 ~, f4 ~@11", BX: "~ f4@11 ~@12", BY: "~@20 c4 ~@3", BZ: "[d4,f4] ~", CA: "c4@3 ~@10 f2@2 ~@9",
  CB: "f4@12 ~@8 f4 ~@3", CC: "c4 ~@19 f2 ~@3", CD: "~@12 f4 ~@11", CE: "~@20 f2 ~@3",
  CF: "[~@8 [c3,g3]@5 ~@7 bb4@16 ~@8 bb4 ~@3, c4@3 ~@2 bb3 ~@6]/2", CG: "[f2,f4]@12 f2@5 ~@2 f2 ~@4", CH: "~@19 f3 ~@4",
  CI: "bb4@11 ~@13", CJ: "c4@11 ~ f2@6 ~ c4 ~@4", CK: "~ a3@3 ~@4", CL: "~ eb4@23",
})).s("gm_electric_guitar_clean").gain(0.16).pan(0.3)

// chords · lead 5 charang · "CHARANG"
const lead_5_charang = note("<~@4 A B C@2 A B C@2 A B C@2 ~@129>".pickRestart({
  A: "~@4 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~@3 [c4,eb4,g4]@4, c3", // Cm
  B: "~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@3 [bb3,d4,g4] ~@3 [bb3,d4,g4]@4, bb2@23 ~", // Gm
// … 160 more lines

More by McCartney