Strudelify
Band On The Run cover art

Band On The Run

Band On The Run

McCartney

KeyC majorTempo81 bpm
0:00/0:00
// Band On The Run — McCartney
// 81 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 138 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(81/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 · epiano1 · "E.PIANO 1"
const epiano1 = note("<~ A@2 B C D@2 E F G H I J K@2 E C L@2 M@4 N@2 O@8 P@8 Q@2 R@2 S@2 T@4 ~@87>".pickRestart({
  A: "[~@48 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@10 ~@2, [f#3,a3,c#4]@89 ~@7]/2", // F#m
  B: "[g3,b3,d4,e4]@47 ~", C: "g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@11 ~, [g3,b3,d4]@37 ~@11",
  D: "[~@48 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@11 ~, [f#3,a3,c#4]@29 ~@3]/2", // F#m
  E: "[g3,b3,d4,e4]@15 ~", F: "g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@11 ~, [g3,b3,d4]@11 ~",
  G: "[f#3,a3,c#4]@16 ~@2 [f#3,a3,c#4]@27 ~@3", H: "[g3,a#3,d4,e4]@8 ~ [g3,a#3,d4]@13 ~@2, ~@3 e4@5",
  I: "[f#3,a3,c#4]@8 ~ [f#3,a3,c#4]@13 ~@2", J: "[g3,a#3,d4,e4]",
  K: "[~@48 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@2 ~ b4@3 a4@3 b4@3 a4@2 ~ b4@3 a4@11 ~, [f#3,a3,c#4]@85 ~@11]/2", // F#m
  L: "[~@48 a4@3 b4@3 a4@2 ~ b4@3 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@3 b4@3 a4@11 ~, [f#3,a3,c#4]@11 ~]/2", // F#m
  M: "[~@47 g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@3 a4@3 g4@2 ~ a4@3 [a3,c#4,e4]@8 ~@21 c#4@30 a#3@30 ~@6 a#3@10 ~@2 [f#3,a3]@2, [g3,b3,d4]@79 ~@16 [f#3,a3]@45 ~@2 g3@43 ~@4 c#4@3, e4@52 ~@42 c#4@17 ~@31 e4@27 ~@3 e4@19 ~]/4", // A F#m G F#m
  N: "[~@27 f#3@14 ~@4 g3@30 ~@6 g3@6 ~@6 [f#3,a3]@3, ~@15 c#4@29 ~ e4@48 ~@3, ~@45 a#3@24 ~@6 a#3@17 c#4@4]/2", // F#m
  O: "[~@14 c#4@29 ~ [g3,a#3,e4]@42 ~@5 [a3,c4,e4]@47 ~ [a3,d4]@43 ~@4 [a3,c4,e4]@47 ~ [f#3,a3,d4]@46 ~ [a3,c4,e4]@44 ~@3 [a3,c4,e4]@44 ~@4 [f#3,a3,d4]@8, ~@139 f#3@47 ~@198]/8", // Edim Am D5 Am D Am D
  P: "[~@39 [a3,c4,e4]@45 ~@3 [f#3,a3,d4]@45 ~@2 [a3,c4,e4]@47 [a3,c4,e4]@44 ~@4 [a3,d4,f#4]@45 ~@2 [a3,c4,e4]@45 ~@3 [a3,d4,f#4]@44 ~@3 [a3,c4,e4]@13]/8", // Am D Am D Am D Am
  Q: "[~@34 [a3,c4,e4]@45 ~@17]/2", R: "[~@22 [a3,d4,f#4]@14 ~@3 [a3,d4,f#4]@15 ~@3 [g3,c4,e4]@24 ~@15]/2",
  S: "[~@20 [a3,d4,f#4]@14 ~@4 [a3,d4,f#4]@16 ~@2 [g3,c4,e4]@17 ~@23]/2", T: "[~@19 [g3,c4,e4]@137 ~@36]/4",
})).s("gm_epiano1").gain(0.27).pan(0.6)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A B C D E F G H@2 I J K L F M N O P@2 Q@8 R S T U V@3 W X Y Z AA AB AC@5 AD@7 AE AF AG AH AI AJ AK AL AM AN@3 AO AP@2
  AQ AR AS AT@5 AU AV AW AX AY AZ@6 BA@2 BB@3 BC BD BE BF@3 BG BH BI BJ@2 BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY@2
  BZ CA CB CC@7 CD CE CF CG@5 CH@2
>`.pickRestart({
  A: "~@7 a2", B: "~ d2@47", C: "d3@17 c#3 d3@5 ~ d3@5 ~ d3@5 ~ d3@5 ~ d3@5 ~", D: "g2@13 g2 d2@2", E: "g1@47 ~",
  F: "d2", G: "d3@17 ~ d3@5 ~ d3@5 ~ d3@5 ~ d3@5 ~ d3@5 ~", H: "[g1@57 ~@21 a2@5 ~ a2@5 ~ a2@6]/2",
  I: "d2@17 ~ d2@5 ~ d2@12 f#2@12", J: "g2@13 ~ a2@2", K: "d2@5 ~ f#1@2", L: "g1@13 ~ a1@2",
  M: "d3@11 ~ d3@5 ~ d3@5 ~ d3@5 ~ d3@5 ~ d3@5 ~ d3@6", N: "g2",
  O: "~@6 a2@4 ~@2 a2@4 ~@2 a2@4 ~@2 a2@4 ~@2 a2@4 ~@2 a2@4 ~@2 a2@5 ~",
  P: "[d2@52 ~@2 d3@5 ~ d3@5 ~ d3@5 ~ d3@4 ~@2 d3@4 ~@2 d3@5 ~ d3@6]/2",
  Q: "[g2@47 g1@23 ~ g1@3 ~@9 a1@12 d2@23 ~ d2@11 f#1@11 ~ g1@37 ~@5 a1@5 ~ d2@33 ~@2 f#1@11 ~ g1@39 ~@2 a1@6 ~ d2@35 f#1@11 ~ g1@16 ~@2 g1@4 ~@2 g1@20 ~@3 a1@5]/8",
  R: "~@7 a1@6 ~@9 e1@3 g1@4 ~@2 a1@5 ~ c2@5 ~ d2@5", S: "~@7 d2@5 ~@18 e1@6 g1@6 a1@5 ~",
  T: "~@6 a1@4 ~@11 e1@2 ~ g1@4 ~@2 a1@6 c2@4 ~@2 d2@5 ~", U: "~@5 d2@5 ~@13 e1@3 ~@3 e1@4 ~@2 g1@4 ~@2 a1@5 ~@2",
  V: "[~@5 a1@5 ~@4 g1 ~@2 a1@4 ~@8 e1@5 ~ g1@6 a1@3 ~@2 a1@4 ~@26 a1@5 ~ c2@5 ~ d2@4 ~@2 d2@4 ~@25 e1@6 g1@6 a1@4 ~@2 a1@3]/3",
  W: "~@27 a1@5 ~ c2@6 d2@4 ~@2 d2@3", X: "~@20 d2@6 e1@5 ~ g1@5 ~ a1@5 ~@5",
  Y: "~@2 a1@5 ~@4 g1@2 ~ a1@5 ~@7 e1@5 ~ g1@5 ~ a1@4 ~@6", Z: "~ a1@4 ~@5 g1 ~@2 a1@4 ~@8 a1@4 ~@2 c2@4 ~@2 d2@4 ~@7",
  AA: "~ d2@3 ~@6 c2@2 ~ d2@3 ~@9 e1@4 ~@2 g1@4 ~ a1@4 ~@8", AB: "a1@4 ~@5 g1@2 ~ a1@4 ~@8 a1@4 ~@2 c2@4 ~@2 d2@4 ~@8",
  AC: "[d2@5 ~@4 c2@3 d2@2 ~@3 d2@6 e1@5 ~ g1@5 ~ a1@4 ~@8 a1@3 ~@6 g1@2 ~ a1@4 ~@8 e1@5 ~ g1@4 ~@2 a1@4 ~@8 a1@4 ~@4 g1@2 ~ a1@4 ~@8 e1@4 ~@2 a1@4 ~@2 g1@5 ~ a1@5 ~ c2@6 d2@6 e2@5 g2@5 ~ d2@16 ~@2 d2@16 ~@2 c2@23 ~ g1@6 a1@5 c2@4]/5",
  AD: "[~@2 d2@6 e2@6 g2@5 ~ d2@16 ~@2 d2@15 ~@3 c2@20 ~@3 g1@6 a1@5 ~ c2@9 ~@3 g1@6 a1@4 ~@3 c2@34 ~ c2@23 ~ c2@22 ~ c2@22 ~@2 c2@22 ~ c2@21 ~@3 c2@23 ~ c2@11 ~@2 c2@2 ~@3 c2@6 ~@19]/7",
  AE: "~@5 g1@3 f1@2 ~ f1@3 ~@10", AF: "~@10 e1@5 ~ f1@4 ~@2 f1@6 ~@20", AG: "~@3 f1@6 g1@6 c2@5 ~ c2@6 ~@21",
  AH: "~@8 g1@6 c2@5 ~ c2@6 ~@22", AI: "~@8 g1@6 f1@5 ~ f1@6 ~@22", AJ: "~@7 e1@6 f1@4 ~@2 f1@5 ~@24",
  AK: "~@7 f1@6 e1@3 ~@3 e1@4 ~ e1@5 ~@19", AL: "e1@6 f1@6 ~ g1@4 ~ g1@6 ~@12 g1@4 ~@2 g1@6",
  AM: "~@12 c2@5 ~ c2@6 ~@11 c2@5 ~ c2@6 ~",
  AN: "[~@11 e1@6 e1@6 ~@12 c2@9 ~@3 b1@6 a1@5 a1@4 ~@2 a1@5 ~@13 a1@4 ~@2 a1@5 ~ g1@12 f1@4 ~@2 f1@5 ~@13 f1@4 ~@2 f1@6 ~@2]/3",
  AO: "~@9 c2@4 ~@2 c2@5 ~@13 c2@4 ~@2 c2@6 ~@3", AP: "[~@3 g1@5 ~ f1@8 ~@10 f1@11 ~@6 f1@50 ~@2]/2",
  AQ: "~@8 c2@9 ~@20 c2@8 ~@3", AR: "~@7 c1@8 ~@10 c2@3 ~@3 c2@3 ~@3 c2@6 ~@5",
  AS: "c2@5 ~ c1@8 ~@10 c2@9 ~@3 c2@6 ~@6",
  AT: "[c2@5 ~ c1@8 ~@10 c2@2 ~@4 c2@2 ~@3 c2@6 ~@6 c2@5 ~ c1@8 ~@10 c2@2 ~@4 c2@2 ~@4 c2@6 ~@6 c2@4 ~@2 c1@8 ~@9 c2@2 ~@4 c2@3 ~@3 c2@6 ~@6 c2@4 ~@2 c1@8 ~@10 c2@2 ~@4 c2@2 ~@4 c2@5 ~@7 c2@4 ~ c1@8 ~@10 c2@2 ~@4 c2@2 ~@4 c2@5 ~@7 c2@3]/5",
  AU: "~@3 c1@8 ~@21 c2@5 ~ g1@10", AV: "~@2 f1@5 ~ f1@5 ~@31 e1@4", AW: "~@2 f1@4 ~@2 f1@6 ~@17 e1@6 f1@6 g1@5",
  AX: "~ c2@5 ~ c2@6 ~@18 g1@17", AY: "c2@5 ~ c2@6 ~@18 c2@5 ~ g1@11 ~",
  AZ: "[f1@4 ~@2 f1@5 ~@30 e1@6 f1@5 ~ f1@6 ~@18 f1@18 e1@5 ~ e1@4 ~@2 e1@4 ~@2 e1@26 ~@3 g1@10 ~@8 g1@2 ~@4 g1@9 ~@14 c2@7 ~@23 c2@7 ~@5 c2@5 ~ e1@7 ~@17 e1@5 ~ g1@7 ~@5 a1@7 ~@2]/6",
  BA: "[~@2 a1@6 ~@6 a1 ~@5 a1@7 ~@5 a1@6 ~@6 f1@7 ~@10 f1 ~@5 f1 ~@5 f1@7 ~@5 f1@4 ~@2 c2@5]/2",
  BB: "[~@13 c2@4 ~@8 c2@6 ~@6 g1@4 ~@2 f1@9 ~@8 f1@7 ~@11 f1@51 ~@9 c1@6]/3",
  BC: "~@11 c2@2 ~@4 c2 ~@5 c2@7 ~@5 g1@3 ~@3 c1@7", BD: "~@11 c2 ~@5 c2 ~@5 c2@8 ~@3 g1@2 ~@4 c1@8",
  BE: "~@10 c2@2 ~@4 c2@2 ~@4 c2@7 ~@5 g1@3 ~@3 c1@8",
  BF: "[~@9 c2@2 ~@4 c2@2 ~@4 c2@7 ~@5 g1@3 ~@3 e1@15 ~@3 g1@15 ~@2 c1@35 ~ e1@16 ~@2 c1@16]/3",
  BG: "~@2 a1@35 f1@9 ~@2", BH: "~@7 f1 ~@5 f1 ~@5 f1@9 ~@3 f1@5 ~ c2@9 ~@2", BI: "~@18 c2@7 ~@5 c2@5 ~ f1@12",
  BJ: "[~@6 f1@13 ~@5 f1@53 ~@6 c1@8 ~@5]/2", BK: "~@5 c2@2 ~@4 c2 ~@5 c2@8 ~@4 c2@5 c1@7 ~@7",
  BL: "~@4 c2 ~@5 c2 ~@5 c2@7 ~@5 c2@4 ~@2 c1@8 ~@6", BM: "~@4 c2@2 ~@4 c2@2 ~@4 c2@8 ~@3 c2@4 ~@2 c1@8 ~@7",
  BN: "~@3 c2@2 ~@4 c2@2 ~@4 c2@7 ~@5 c2@3 ~@3 c1@9 ~@6", BO: "~@2 c2@2 ~@4 c2@2 ~@4 c2@7 ~@5 c2@3 ~@3 c1@8 ~@8",
  BP: "~@2 c2@2 ~@4 c2@2 ~@4 c2@7 ~@4 c2@3 ~@4 c1@8 ~@8", BQ: "~ c2@2 ~@4 c2@2 ~@4 c2@7 ~@5 c2@3 ~@3 c1@9 ~@8",
  BR: "c2@2 ~@4 c2@2 ~@5 c2@8 ~@3 c2@4 ~@2 c1@9 ~@9", BS: "~@12 c2@6 g1@11 ~ f1@5 ~ f1@6 ~@6",
  BT: "~@23 e1@6 f1@5 ~ f1@7 ~@6", BU: "~@11 f1@17 ~ c2@5 ~ c2@6 ~@7", BV: "~@10 g1@18 c2@5 ~ c2@7 ~@7",
  BW: "~@10 c2@6 g1@11 f1@4 ~@2 f1@5 ~@10", BX: "~@21 e1@5 ~ f1@5 ~ f1@6 ~@9",
  BY: "[~@8 f1@18 e1@4 ~@2 e1@4 ~@2 e1@4 ~@2 e1@11 ~ e1@4 ~@2 e1@5 ~ f1@5 ~ g1@7 ~@10 g1@2 ~@3]/2",
  BZ: "~ g1@8 ~@10 c2@4 ~@2 c2@5 ~@13 c2 ~@4", CA: "~ c2@2 ~@4 c2@6 ~@6 c2@4 ~@7 e1@2 ~@4 e1@11 ~",
  CB: "c2@11 ~ b1@6 a1@10 ~@2 a1@2 ~@4 a1@12",
  CC: "[~@6 a1@3 ~@2 a1@5 ~ g1@5 ~ f1@46 ~@2 f1@5 ~ f1@29 g1@12 ~ c1@94 f1@18 g1@17 a1@58 ~@2 c1@5 ~ c1@6 ~@16]/7",
  CD: "~ c2@10 ~@8 c1@5 ~ c1@6 ~@17", CE: "~ c2@10 ~@8 c1@5 ~ c1@7 ~@16", CF: "c2@9 ~@3 g1@5 ~ c1@28 ~@2",
  CG: "[g1@6 a1@6 b1@5 c2@5 ~ c1@8 ~@16 c2@7 ~@11 c1@5 ~ c1@7 ~@17 c2@8 ~@9 c1@5 ~ c1@6 ~@18 c2@9 ~@3 g1@5 c1@29 ~ g1@6 a1@5 ~ b1@5 ~ e1@14 ~@4 g1@13 ~@2]/5",
  CH: "[~@3 c1@56 ~@37]/2",
})).s("gm_electric_bass_finger").gain(0.49)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  A B C D E@3 D F G H I@3 ~ J K L M N ~@7 O P Q@3 R S T@3 U V W X Y@6 Z@5 ~@86
>`.pickRestart({
  A: "~@23 a#4 b4@6 g#4 a4@5 a#4 b4@5 g#4 a4@5", B: "~ f#4@47", C: "~@33 [d5,g5]@3 [c#5,f#5]@3 ~@3 [a4,d5]@5 [a#4,d#5]",
  D: "~ b4@47, e5@23 ~",
  E: "[~@42 a4@5 ~ e5@6 d5@5 a#4 b4@6 a4@5 f4 ~ f#4@48 ~@8 [d5,g5]@3 [c#5,f#5]@3 ~@3 [a4,d5]@5 [a#4,d#5], ~@47 d#5@2 ~@95]/3", // G5 F#5 D5 D#5
  F: "~@7 a4", G: "g5@4 ~@2 f#5@2 e5@2 ~@3 d5@22 ~@7 d5@3 ~@2 d5, ~@6 e5 ~@17", H: "e5@6 g5@13 ~@5",
  I: "[g5@4 ~@2 f#5@2 ~ e5@2 ~@2 d5@27 ~@2 d5@3 ~@2 d5@2 e5@11 g5@31 ~@3 g5@2 ~@48, ~@12 e5@2 ~@78 f#5@43 ~@9]/3",
  J: "[e3,e5]@17 ~@7", K: "~@23 f#5, ~@45 e5@2 ~", L: "c#5@25 ~@23", M: "~@23 d5, ~@45 e5@2 ~", N: "b4@11 ~@5",
  O: "~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@3 b3@2 ~ [g3,b3]@3 [g3,b3]@6 [e3,a3] ~@2 [e3,a3]@5 ~ [e3,a3]@5 ~ [e3,a3] ~@2 [e3,a3] ~@7", // C5 G A5
  P: "~ [a3,d4] ~ [a3,d4]@2 ~ [a3,d4]@2 ~@2 a3@2 [a3,d4]@3 [a3,d4]@5 ~ b3@2 ~ b3@5 ~ b3@6 b3 ~@2 b3 ~@8, ~@9 d4@2 ~@37", // D5
  Q: "[[g3,c4]@2 ~ [g3,c4]@3 [g3,c4]@3 b3@2 ~ [g3,b3]@2 ~ [g3,b3]@5 ~ [e3,a3]@2 ~ [e3,a3]@5 ~ [e3,a3]@6 [e3,a3] ~@2 [e3,a3] ~@7 [a3,d4]@3 [a3,d4]@3 [a3,d4]@2 ~ [a3,d4]@3 [a3,d4]@2 ~ [a3,d4]@5 ~ b3@2 ~ b3@4 ~@2 b3@6 [g3,c4] ~@2 [g3,c4]@3 [g3,c4]@3 b3@2 ~ [g3,b3]@2 ~ [g3,b3]@5 ~ a3@2 ~ a3@17 ~@18 [g3,c4]@2]/3", // C5 G A5 D5 C5 G C5
  R: "~ [g3,c4]@3 [g3,c4]@3 b3@3 [g3,b3]@3 [g3,b3]@5 ~ [e3,a3] ~@2 [e3,a3]@4 ~@2 [e3,a3]@5 ~ [e3,a3] ~@2 [e3,a3] ~@8 [a3,d4]@2", // C5 G A5 D5
  S: "~ a3@3 [a3,d4]@2 [a3,d4]@3 [a3,d4]@2 ~ [a3,d4]@5 ~@2 b3@2 b3@4 ~@2 b3@5 ~ b3 ~@2 b3 ~@8 [g3,c4]@2 ~, d4 ~@15", // D5 C5
  T: "[[g3,c4]@3 [g3,c4]@3 [g3,b3]@2 ~ [g3,b3]@3 [g3,b3]@5 ~ [e3,a3] ~@2 [e3,a3]@5 ~ [e3,a3]@6 [e3,a3] ~@2 [e3,a3] ~@8 d4@2 ~ a3@2 [a3,d4]@2 ~ [a3,d4]@3 ~ d4@2 [a3,d4]@6 b3@2 ~ b3@4 ~@2 b3@6 [g3,c4] ~@2 [g3,c4]@3 [g3,c4]@3 b3@2 ~ [g3,b3]@2 ~ [g3,b3]@6 a3@2 ~ a3@18 ~@18 c4 ~ c4@2, ~@44 a3@2 ~ d4@2 ~@7 a3@3 ~@85]/3", // C5 G A5 D5 C5 G
  U: "~ c4@3 b3@2 ~ b3 ~@2 b3@9 a3@4 ~@2 a3@9 ~@9 d4@2 ~ d4@2", V: "~ d4@2 d4@2 ~ d4@2 ~ d4@10 b3@2 ~ b3@11 ~@9 c4@6",
  W: "c4@3 b3@2 ~ b3@2 ~ b3@2 ~ b3@6 a3@2 ~ a3@12 ~@9 d4@2 ~ d4@2 ~",
  X: "d4@2 d4@2 ~ d4@2 ~ d4@9 b3@2 ~ b3@9 c4@2 ~ c4@6 b3@2 ~ b3@2 ~ b3@4",
  Y: "[~@2 a3 ~@2 a3@16 ~@7 [g3,c4] ~@2 [g3,c4]@2 ~@2 c4@4 ~ f#3 b3 ~@2 b3@7 ~ [e3,a3]@2 ~ [e3,a3]@19 ~@8 g2@6 a2@6 c3@6 d3@12 g3@5 ~ d3@14 ~@3 d3@16 ~@2 c3@20 ~@4 g2@6 a2@6 c3@6 d3@11 g3@4 ~@3 d3@15 ~@2 d3@16 ~@2 c3@21 ~@3 g2@6 a2@6 c3@4, ~@34 g3@5 ~@4 f#3@8 ~@237]/6", // C5 A5
  Z: "[~@7 g2@6 a2@6 c3@177 ~@44]/5",
})).s("gm_overdriven_guitar").gain(0.33).pan(0.8)

// chords · lead 3 calliope · "CALLIOPE"
const lead_3_calliope = note(`<
  ~@17 A@2 B C@7 ~@14 D E ~@24 F@2 G@2 H ~ I@2 ~@13 J@2 K@2 L@2 ~@9 M N O P Q R ~@16 S T U V W X Y@2 Z@2 ~@3
>`.pickRestart({
  A: "[[c#4,a4,c#5]@2 [c#4,a4,c#5]@2 [c#4,a4,c#5]@2 [c#4,a4,c#5]@2 [e4,c#5,e5]@4 c#4@4 e4@7 ~@9, ~@12 [a4,c#5]@11 ~@9]/2", // F#m C#m A
  B: "[d4,g4,b4,d5]@3 [b3,g4] [d4,d5,g5]@4, ~@3 b4@5", // G Em G5
  C: "[~@35 [f#4,a4]@12 [g4,b4]@6 [f#4,a4]@2 [e4,g4]@3 ~ [d4,f#4]@21 ~@14 [e4,g4]@12 [g4,a#4]@20 ~@16 [g4,b4]@5 [f#4,a4]@3 [e4,g4]@3 [d4,f#4]@23 ~@13 [e4,g4]@11 ~ [g4,a#4]@23 ~@12 [f#4,a4]@3 ~ a#4@3 [f#4,a4]@3 [g4,a#4]@3 [f#4,a4]@26 ~@9 [a#4,e5,g5]@12 [d5,g5,a#5]@25 ~@15, ~@239 g4@3 ~@94]/7", // F#m G F#m Em D Em Gm G …
  D: "~@28 c5@3 c5@3 c5@3 b4@3 b4@3 b4@5", E: "~ a4@3 a4@17 ~@27",
  F: "[~@8 e3@17 [e3,a3]@11 ~ [e3,g3]@6 [e3,c4]@11 ~@42, ~@7 g3@18 ~@71]/2", // A5 Em C
  G: "[~@6 [e3,g3]@18 [e3,a3]@12 [e3,c4]@6 [e3,g3]@11 ~@43]/2", H: "~@5 [e3,g3]@17 ~ [e3,a3]@11 [e3,g3]@6 ~ [e3,c4]@7",
  I: "[~@4 [e3,g3]@17 [e3,a3]@12 [e3,c4]@6 ~ [e3,g3]@12 ~@44]/2", J: "[~@43 a4@12 g4@5 f4@12 e4@6 g4@18]/2",
  K: "[~@42 e4@17 [a3,f4]@11 ~ [g3,e4]@6 [c4,g4]@11 ~@8, ~@41 g3@17 ~@38]/2", // Dm C C5
  L: "[~@40 [g3,e4]@17 ~ [a3,f4]@11 ~ [c4,g4]@6 [g3,e4]@11 ~@9]/2", M: "~@17 [g3,e4]@7",
  N: "~@3 [a3,f4]@11 ~ [c4,g4]@6 [g3,e4]@12 ~@15", O: "~@11 [g3,e4]@5",
  P: "~@3 f4@11 [g3,e4]@6 [c4,g4]@12 ~@16, ~@2 a3@11 ~@35", Q: "~@2 g3, ~@31 e4@17",
  R: "~ [a3,f4]@12 [c4,g4]@6 [g3,e4]@12 ~@17", S: "~@21 a4@11 g4@6 ~ f4@9", T: "~@3 e4@6 g4@14 ~@25",
  U: "~@20 [g3,e4]@17 [a3,f4]@11", V: "~ [g3,e4]@6 ~ g4@11 ~@29, ~@7 c4@11 ~@30",
  W: "~@19 e4@17 [a3,f4]@12, ~@18 g3@17 ~@13", X: "[c4,g4]@6 [g3,e4]@11 ~@31",
  Y: "[~@17 [g3,e4]@17 ~ [a3,f4]@11 ~ [g3,e4]@6 [c4,g4]@11 ~@32]/2", // C Dm C C5
  Z: "[~@16 [g3,e4]@17 ~ [a3,f4]@12 [c4,g4]@6 [g3,e4]@12 ~@32]/2", // C Dm C5 C
})).s("gm_lead_3_calliope").gain(0.2).pan(0.6)

// other · accordion
const accordion = note("<~@2 A ~ B ~ C ~ D ~@5 E ~ B ~ F G@2 ~@10 H@6 ~@6 I@2 J@2 K@5 ~@86>".pickRestart({
  A: "a5@3 b5@3 a5@3 b5@3 a5@3 b5@3 a5@3 b5@3 a5@3 b5@3 a5@3 b5@3 a5@10 ~@2",
  B: "g5 a5 g5 a5 g5 a5 g5 a5 g5 a5 g5 a5 g5@3 ~",
  C: "a5@3 b5@3 a5@3 b5@3 a5@3 b5@3 a5@3 b5@3 a5@3 b5@3 a5@3 b5@3 a5@8 ~@4",
  D: "g5@3 a5@3 g5@3 a5@3 g5@3 a5@3 g5@3 a5@3 g5@3 a5@3 g5@3 a5@3 g5@8 ~@4",
  E: "a5 b5 a5 b5 a5 b5 a5 b5 a5 b5 a5 b5 a5@3 ~", F: "a5 b5 a5 b5 a5 b5 a5 b5 a5 b5 a5 b5 a5@4",
  G: "[~@47 g5@3 a5@3 g5@3 a5@3 g5@3 a5@3 g5@3 a5@3 g5@3 a5@3 g5@3 a5@3 ~@13]/2",
  H: "[~@40 [e4,e5]@42 [g4,g5]@6 [c#4,c#5]@35 [d4,d5]@3 [e4,e5]@6 [g4,g5]@51 [c#4,c#5]@35 [d4,d5]@3 [e4,e5]@6 [g4,g5]@47 ~@14]/6", // E G C# D E G C# D …
  I: "[~@22 [d5,f#5,a5,d6]@15 ~@2 [d5,f#5,a5,d6]@18 [c5,e5,g5,c6]@20 ~@19]/2", // D C
  J: "[~@20 [d5,f#5,a5,d6]@15 ~@3 [d5,f#5,a5,d6]@18 [c5,e5,g5,c6]@17 ~@6 [g4,g5]@6 [a4,a5]@6 [c5,c6]@5]/2", // D C G A C
  K: "[~@7 [g4,g5]@6 [a4,a5]@6 [c5,e5,g5,c6]@180 ~@41]/5", // G A C
})).s("gm_accordion").gain(0.33).pan(0.3)

// other · accordion · soft notes
const accordion_soft = note("<~@42 A@2 B@2 ~@92>".pickRestart({
  A: "[~@34 g4@6 a4@6 c5@6 d5@5 ~ e5@6 g5@5 ~@27]/2", B: "[~@33 g4@6 a4@6 c5@6 d5@5 e5@6 g5@6 ~@28]/2",
})).s("gm_accordion").gain(0.16).pan(0.3)

// chords · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
  A B C D ~ E@2 D ~ F G H I@2 ~@13 J K L@3 M N O P@8 Q@2 R@7 ~@25 S@3 ~@12 T@2 U ~@3 V@2 W@2 X Y@2 Z@2 AA@4 ~@7 AB AC AD
  AE@2 AF AG AH@2 AI@2 AJ AK AL@3 AM@2 AN ~
>`.pickRestart({
  A: "~@24 e5@5 ~ d5@4 e4 f4 ~ f#4@5 d#4 e4@5, ~@24 d#5 ~@5 c#5 ~@17", B: "~ c#4@47",
  C: "~@33 g4@3 f#4@3 ~@3 d4@4 ~ d#4", D: "e4@43 ~@5",
  E: "[[b4,e5]@6 [a4,d5]@5 [e4,a4,a#4] [f#4,b4]@6 [e4,a4]@5 [b3,c4,f4] ~ [c#4,f#4]@48 ~@8 g4@3 f#4@3 ~@3 d4@4 ~ d#4, ~@12 f4 ~@83]/2", // E5 D5 A B5 A5 F F#5
  F: "d5@6 c#5@3 b4@2 ~@2 a4@24 ~@11, ~@6 b4 ~@17", G: "a#4 d5@2 ~", H: "d5@5 ~ c#5@3 b4@2 b4 a4@23 ~@6 a4@4 ~@3",
  I: "[a#4@5 ~ d5@35 ~@7]/2",
  J: "~ [e3,a3]@2 ~ [e3,a3]@2 ~ [e3,a3]@3 e3@2 ~ [e3,a3]@2 ~ [e3,a3]@3 ~@3 [e3,a3] ~@2 [e3,a3]@5 ~ [e3,a3]@5 ~ [e3,a3] ~@2 [e3,a3] ~@7", // A5
  K: "~ [d3,f#3]@2 [d3,f#3]@3 ~ [d3,f#3]@2 [d3,f#3]@3 [d3,f#3]@2 ~ [d3,f#3]@4 ~@2 f#3@3 d3@5 ~ d3@5 ~ d3 ~@2 d3 ~@8", // D
  L: "[[e3,a3] ~@2 [e3,a3]@2 ~ [e3,a3]@2 ~ [e3,a3]@2 ~ [e3,a3]@3 [e3,a3]@5 ~ [e3,a3] ~@2 [e3,a3]@5 ~ [e3,a3]@5 ~ [e3,a3] ~@2 [e3,a3] ~@7 [d3,f#3]@2 ~ [d3,f#3]@3 [d3,f#3]@2 ~ f#3@2 ~ [d3,f#3]@2 ~ [d3,f#3]@5 ~ [d3,f#3] ~@2 d3@5 ~ d3@5 ~ [e3,a3] ~@2 [e3,a3]@2 ~ [e3,a3]@3 [e3,a3]@2 ~ [e3,a3]@2 ~ [e3,a3]@5 ~ [e3,a3]@2 ~ [e3,a3]@18 ~@17 [e3,a3]@2]/3", // A5 D A5
  M: "~ [e3,a3]@3 [e3,a3]@2 ~ e3 ~@2 [e3,a3]@3 [e3,a3]@5 ~ [e3,a3]@2 ~ [e3,a3]@5 ~ [e3,a3]@5 ~ [e3,a3] ~@2 [e3,a3] ~@8 [d3,f#3]@2", // A5 D
  N: "~ [d3,f#3]@3 f#3 ~ f#3@3 [d3,f#3]@2 ~ [d3,f#3]@5 ~ [d3,f#3]@2 ~ d3@5 ~ d3@9 ~@9 [e3,a3] ~@2, ~ d3 ~@10", // D A5
  O: "[e3,a3]@2 ~ [e3,a3]@2 ~ e3@3 [e3,a3]@3 [e3,a3]@5 ~ [e3,a3] ~@2 [e3,a3]@5 ~ [e3,a3]@5 ~ [e3,a3] ~@2 [e3,a3] ~@8 [d3,f#3] ~ [d3,f#3]", // A5 D
  P: "[~@2 d3@3 f#3@2 ~ [d3,f#3]@2 ~ [d3,f#3]@6 f#3@2 ~ d3@4 ~@2 d3@5 ~ [e3,a3] ~@2 [e3,a3]@3 [e3,a3]@2 ~ e3@2 ~ [e3,a3]@2 ~ [e3,a3]@5 ~ [e3,a3]@2 ~ [e3,a3]@24 ~@5 [a2,e3]@47 ~@31 a4@12 ~@2 f#4@3 b3@4 ~@2 g4@2 ~@10 c4@2 ~ c4 ~@8 c4@2 ~ c4 ~@2 c4@2 ~ [c4,d4]@2 ~ e4@2 ~ g3@2 ~ a3@2 ~@4 a3 ~@2 [d4,f#4] ~@2 [d4,f#4]@2 a3@2 ~@5 a3 ~@4 a3 ~@2 [d4,f#4]@2 ~ a3 ~@5 a3 ~@2 [d4,f#4]@2 ~ a3 ~@5 a3 ~@2 [c4,e4]@2 ~ a3 ~@5 a3@2 ~ [c4,e4] ~@2 [c4,e4]@6 a3@3 [c4,e4]@2 ~ a3 ~@5 a3 ~@2 [c4,e4]@2 a3@2 ~@4 a3@2 ~ [a3,c4,e4] ~@2 [c4,e4]@6 a3 ~@2 [a3,c4,e4] ~@2 [a3,c4,e4]@15 ~@12 g2@6 a2@6 c3@2, ~@2 f#3@2 ~@129 [d2,a2]@47 [a2,e3]@47 [d2,a2]@47 ~ [a2,e3]@42 [a2,e3]@5 [a2,e3]@44 ~@18, ~@331 a3@2 ~@51]/8", // D A5 Csus2 D C Am C Am …
  Q: "[~@4 d3@11 ~ g3@6 d3@13 ~@4 d3@15 ~@3 c3@21 ~@3 g2@6 a2@6 c3@3]/2",
  R: "[~@3 d3@11 ~ g3@4 ~@2 d3@33 ~@25 g2@6 a2@6 c3@12 g2@6 a2@6 c3@184 ~@37, ~@56 c3@27 ~@253]/7",
  S: "[~@43 d5@9 f5@9 ~@2 f5@38 ~@43]/3",
  T: "[~@4 c5@2 ~ c5@4 ~@2 c5@2 ~ c5@5 ~ a4@6 g4@6 ~ e4@7 ~@4 g4@15 ~@35, ~@21 g#4@2 ~@73]/2",
  U: "~@3 c5@2 ~ c5@4 ~@2 c5@2 ~ c5@5 ~ a4@6 g4@6 ~@15, ~@21 g#4@2 ~@25",
  V: "[c5@18 ~@7 a4@11 ~@7 d4@11 ~ g4@2 ~@4 g4 ~@4 g4@3 ~@3 a4@6 g4@3 ~@3 g4@4 ~@8]/2",
  W: "[a4@6 ~@24 e4@5 f4@41 ~@20]/2", X: "~@10 a#4@29 ~@7 c5@2",
  Y: "[~ c5@4 ~@2 c5@2 ~ c5@6 a4@6 g4@6 e4@6 g4@22 ~@37 c5@2 ~]/2",
  Z: "[c5@3 ~@3 c5@2 ~ c5@6 a4@6 g4@6 e4@6 [c4,e4]@29 ~@18 c5@5 ~@7 c5@2 ~@2]/2", // C
  AA: "[~@2 c5@2 ~@4 c5@2 ~ a4@3 ~@3 a4@2 ~ g4@3 ~@3 e4@3 ~@3 g4@22 ~@31 c5@2 ~@4 c5@3 c5@4 ~ c5@2 ~@2 c5@3 ~@2 a4@5 ~ g4@5 ~ e4@5 ~ [e4,g4]@24 ~@42]/4", // Em
  AB: "~@43 d#4@5", AC: "~ e4@6 g4@2 ~@3 g4@6 a4@7 g4@6 e4@14 ~@3", AD: "~@35 c5@6 b4@7",
  AE: "[~@6 b4@5 a4@53 ~@19 c5@3 ~@3 b4@3 ~@2 a4@2]/2", AF: "~@2 b4 ~@2 g4 ~@2 a4 ~@15",
  AG: "~@23 g4@3 ~@2 g4@10 ~ g4@9", AH: "[~@3 g4@10 ~@2 d4@10 d4@41 ~@30]/2",
  AI: "[~@37 c5@19 ~@23 c5 ~@2 c5@2 ~@4 c5 ~@2 c5@5]/2", AJ: "~ a4@6 g4@6 e4@6 ~@29",
  AK: "~@24 a#4@6 c5@2 ~ c5@3 ~@3 c5 ~@2 c5@6",
  AL: "[a4@6 g4@5 e4@6 ~ g4@16 ~@13 f4@19 ~@10 c5@2 ~ c5@3 ~@4 c5@2 ~ c5@6 a4@5 g4@6 e4@6 g4@15 ~@17]/3",
  AM: "[~@27 c5@2 ~ c5@3 ~@3 c5 ~@2 c5@6 a4@6 g4@6 e4@5 ~ g4@6 g4@17 ~ e4@9]/2", AN: "~@2 e4@8 ~ c4@37",
})).s("gm_distortion_guitar").gain(0.33).pan(0.2)

// chords · distortion guitar · "DISTORTION" · soft notes
const distortion_guitar_soft = note(`<
  ~@9 A B C D E ~@13 F ~@2 G ~ H ~ I J ~@58 K@3 ~@3 L ~@22 M@2 ~@4 N ~@8
>`.pickRestart({
  A: "g5@6 f#5@3 e5@2 ~@2 d5@24 ~@11, ~@6 e5 ~@17", B: "e5 g5@2 ~", C: "g5@5 ~ f#5@3 e5@2 e5 d5@23 ~@7 d5@5 ~",
  D: "e5@5 ~ g5@18", E: "f#5@35 ~@13", F: "~@5 a3 ~@18", G: "~@4 d3 ~@19", H: "~@7 a3 ~@40", I: "~@2 a3 ~@13",
  J: "~@41 a3@2 ~@5", K: "[~@33 e4@6 g4@89 ~@16]/3", L: "~@6 g4@4 ~@2 g4@2 ~@4 e4@5 ~@25", M: "[~@11 e4@22 ~@15]/2",
  N: "~@19 g4@17 ~@12",
})).s("gm_distortion_guitar").gain(0.16).pan(0.2)

// other · distortion guitar · "DISTORTION"
const distortion_guitar_2 = note(`<
  ~@7 A@2 B@2 C D E ~ D F G@2 H@8 I@2 J@3 K@3 L@8 M@2 N@2 ~@31 O ~@12 P@3 Q@5 R S@2 T U V W@2 X Y Z ~@8 AA AB AC AD@2
  AE@4 AF AG AH AI AJ@3 AK@4
>`.pickRestart({
  A: "[g3@91 ~@5]/2", B: "[f#3@47 g3@49]/2", C: "f#3", D: "g3", E: "f#3@43 ~@5", F: "b3", G: "[f#3@14 g3 a3]/2",
  H: "[g3@83 a3@12 f#3@47 g3@35 ~ a3@11 f#3@47 ~ g3@35 ~ a3@11 f#3@47 ~ a#3@35 a3@17]/8",
// … 302 more lines

More by McCartney