Strudelify

Monkberry Moon Delight

Paul McCartney

KeyE♭ majorTempo98 bpm
0:00/0:00
// Monkberry Moon Delight — Paul McCartney
// 98 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 7 muted trumpet (copy of ch 6 trumpet)
// note: Full arrangement: all 117 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 25.
setcpm(98/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
const piano = note(`<
  A@6 B C A@3 B C A D@2 E A F D G H I J A B C A@2 B C A@4 B K L M N O P Q R S T U V G H I J A@3 B C A@3 B C A D@2 E A F
  D G H I J N O P Q R S T U W O P Q R S T U W O P Q R S X U W O P Q R S T Y Z AA AB AC ~ AD ~@6
>`.pickRestart({
  A: "[c4,eb4,g4] ~ [c4,eb4,g4] ~ [c4,eb4,g4] ~ [c4,eb4,g4] ~ [c4,eb4,g4] ~ [c4,eb4,g4] ~ [c4,eb4,g4] ~ [c4,eb4,g4] ~", // Cm
  B: "[bb3,d4,f4] ~ [bb3,d4,f4] ~ [bb3,d4,f4] ~ [bb3,d4,f4] ~ [bb3,d4,f4] ~ [bb3,d4,f4] ~ [bb3,d4,f4] ~ [bb3,d4,f4] ~", // Bb
  C: "[b3,d4,f4] ~ [b3,d4,f4] ~ [b3,d4,f4] ~ [b3,d4,f4] ~ [b3,d4,f4] ~ [b3,d4,f4] ~ [b3,d4,f4] ~ [b3,d4,f4] ~", // Bdim
  D: "[ab3,c4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,f4] ~", // Fm
  E: "[g3,c4,eb4] ~ [g3,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~", // Cm
  F: "[ab3,c4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,eb4,f4] ~ [ab3,c4,eb4,f4] ~ [ab3,c4,eb4,f4] ~ [ab3,c4,eb4,f4] ~", // Fm Fm7
  G: "[g3,c4,eb4] [c4,eb4,g4]@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 [c4,eb4,g4]", // Cm
  H: "~@2 [c4,eb4,g4]@3 ~ [c4,eb4,g4]@3 ~ [c4,eb4,g4]@4 [c4,eb4,g4]@2, bb3", // Cm
  I: "~@2 [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@3 ~ [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@2, a3@7 ~", // Cm
  J: "~ [c4,eb4,g4] ~ [c4,eb4,g4] ~ [c4,eb4,g4] ~ [c4,eb4,g4], ab3@7 ~", // Cm
  K: "[g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~ [g3,c4,eb4] ~", // Cm
  L: "[c4,f4,ab4] ~ [c4,f4,ab4] ~ [c4,f4,ab4] ~ [c4,f4,ab4] ~ [c4,f4,ab4] ~ [c4,f4,ab4] ~ [c4,f4,ab4] ~ [c4,f4,ab4] ~", // Fm
  M: "[gb3,c4,eb4] ~ [gb3,c4,eb4] ~ [gb3,c4,eb4] ~ [gb3,c4,eb4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~", // Cdim G
  N: "[eb3,g3,c4] ~ [eb3,g3,c4] ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g2,eb3,g3,c4] ~ [gb2,eb3,g3,c4] ~", // Cm
  O: "[f3,ab3,c4] ~ [f3,ab3,c4] ~ [f3,ab3,c4] ~ [f3,ab3,c4] ~ [f2,f3,ab3,c4] ~ f3 ~ [c2,f3,ab3,c4] ~ f3 ~, f2 ~ c2 ~@5", // Fm
  P: "[f2,f3,ab3,c4] ~ [f3,ab3,c4] ~ [f3,ab3,c4] ~ f3 ~ [f2,f3,ab3,c4] ~ f3 ~ [c2,f3,ab3,c4] ~ [f3,ab3,c4] ~", // Fm
  Q: "[g2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g2,eb3,g3,c4] ~ [eb3,g3,c4] ~", // Cm
  R: "[c2,eb3,g3,c4] ~ [eb3,c4] ~ [g2,eb3,g3,c4] ~ eb3 ~ [c2,eb3,g3,c4] ~ eb3 ~ [g2,eb3,g3,c4] ~ [eb2,eb3,g3,c4] e2", // Cm
  S: "f2@2 f3 ~ [c2,f3,ab3,c4] ~ [f3,ab3,c4] ~ [f2,f3,ab3,c4] ~ [f3,ab3,c4] ~ [c2,f3,ab3,c4] ~ f3 ~", // Fm
  T: "[f2,f3,ab3,c4] ~ [f3,ab3,c4] ~ [f3,ab3,c4] ~ f3 ~ [f2,f3,ab3,c4] ~ f3 ~ [c2,f3,ab3,c4] ~ [d2,f3,ab3,c4] db2, ~@2 c2 ~@5", // Fm Dm7b5
  U: "[c2,eb3,g3,c4] ~ eb3 ~ [g1,eb3,g3,c4] ~ eb3 ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g1,eb3,g3,c4] ~ [eb3,g3] ~", // Cm Eb
  V: "[eb3,g3,c4]@2 [eb3,g3,c4] ~ [g1,eb3,g3,c4] ~ [eb3,g3,c4] ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g1,eb3,g3,c4] ~ [eb3,g3,c4] ~, c2 ~@15", // Cm
  W: "[c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g2,eb3,g3,c4] ~ [gb2,eb3,g3,c4] ~", // Cm
  X: "[f2,f3,ab3,c4] ~ [f3,ab3,c4] ~ [f3,ab3,c4] ~ f3 ~ [f3,ab3,c4] ~ f3 ~ [c2,f3,ab3,c4] ~ [d2,f3,ab3,c4] db2, ~@2 c2 ~@5", // Fm Dm7b5
  Y: "[c2,eb3,g3,c4] ~ eb3 ~ [g1,eb3,g3,c4] ~ eb3 ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g1,eb3,g3,c4] ~ g3 ~", // Cm
  Z: "[c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g2,eb3,g3,c4] ~ [eb3,g3] ~ [g2,eb3,g3,c4] ~ [eb3,c4] ~", // Cm Eb Cm
  AA: "[f3,ab3,c4] ~ [f3,ab3] ~ [f3,ab3,c4] ~ f3 ~ [f2,f3,ab3,c4] ~@3 [c2,f3,ab3,c4] ~ f3 ~, f2 ~@7", // Fm
  AB: "[f2,f3,ab3] ~@3 [f3,ab3,c4] ~ f3 ~ [f3,ab3,c4] ~@3 [f3,ab3,c4] ~@3", // Fm
  AC: "eb3 ~@3 [c2,eb3,g3] ~@3 [eb3,g3,c4] ~@3 eb3 ~@3", AD: "f2@2 ~@6 ab3 ~@7",
})).s("gm_piano").gain(0.33).pan(0.9)

// chords · piano · soft notes
const piano_soft = note("<~@16 A ~@48 A ~@38 B C D E F G H I J K L M N>".pickRestart({
  A: "~@2 c4 ~@13", B: "~@14 eb3 ~", C: "~@10 c4 ~@3 [gb2,g3] ~", D: "~@2 c4 ~ c2@2 [ab3,c4] ~@3 f3 ~@5",
  E: "c4 ~ [f3,ab3,c4] ~@5 f2 ~ f3 ~ c2 ~ [f3,ab3,c4] ~", // Fm
  F: "[g2,g3,c4] ~ [eb3,g3,c4] ~ c4 ~ [eb3,g3,c4] ~ c2 ~ [eb3,g3,c4] ~ [g2,g3,c4] ~ [eb3,g3,c4] ~", // C5 Cm C5 Cm
  G: "[c2,eb3,g3,c4] ~ [eb3,c4] ~ [g3,c4] ~ eb3 ~ [c2,eb3,g3,c4] ~ eb3 ~ [g2,eb3,g3,c4] ~ [eb2,eb3,g3,c4] e2", // Cm C5 Cm
  H: "~@2 f3 ~ [c2,f3,ab3,c4] ~ [f3,ab3,c4] ~ [f2,f3,c4] ~ [f3,ab3,c4] ~ [c2,f3,ab3,c4] ~ f3 ~", // Fm F5 Fm
  I: "[f2,f3,ab3,c4] ~ [f3,ab3,c4] ~ [f3,ab3,c4] ~ f3 ~ [f2,f3,ab3,c4] ~ f3 ~ [c2,f3,ab3,c4] ~ [d2,f3,ab3,c4] db2, ~@2 c2 ~@5", // Fm Dm7b5
  J: "[c2,eb3,g3,c4] ~ eb3 ~ [g1,eb3,g3,c4] ~ eb3 ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g1,eb3,g3,c4] ~ [eb3,g3] ~", // Cm Eb
  K: "[c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [c2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g2,eb3,g3,c4] ~ [eb3,g3,c4] ~ [g2,eb3,g3,c4] ~ [gb2,eb3,g3,c4] ~", // Cm
  L: "[f3,ab3,c4] ~ [f3,ab3,c4] ~ [f3,ab3,c4] ~ [f3,ab3,c4] ~ [f2,f3,ab3,c4] ~ f3 ~ [c2,f3,ab3,c4] ~ f3 ~, f2 ~ c2 ~@5", // Fm
  M: "[f2,f3,ab3,c4] ~ [f3,ab3,c4] ~ [f3,ab3,c4] ~ f3 ~ [f2,f3,ab3,c4] ~ f3 ~ [c2,f3,ab3,c4] ~ [f3,ab3,c4] ~", // Fm
  N: "[g2,d3,g3,c4]@3 ~", // Gsus4
})).s("gm_piano").gain(0.11).pan(0.9)

// bass · fretless bass
const bass = note(`<
  A B C D E F G H D F@2 I J K L M N O P Q R S T U V W X D Y Z AA E AB AC AD AE AF AG AH AI AJ AK AL AM AN AK AL AO R S T
  U D E F G H D F@2 I J K L M N O P Q R S T AP AQ AR AS AT AQ AU AK AV AW AX AY AZ BA BB BC BD BE BF BG B AQ BH BC AT BI
  BJ BK BL BM BJ BN BO BP BQ BR BS BT ~@7
>`.pickRestart({
  A: "c2@2 ~@2 g1@3 ~ c2@2 ~@2 g1@2 ~@2", B: "c2 ~ g1 ~ c2 ~ g1 ~", C: "c2@2 ~@2 g1 ~@3 c2@2 ~@2 g1@2 ~@2",
  D: "c2@2 ~@2 g1 ~@3 c2 ~@3 g1 ~@3", E: "c2@2 ~@2 g1 ~@3 c2 ~@3 g1@2 ~@2", F: "c2 ~@3 g1 ~@3 c2 ~@3 g1 ~@3",
  G: "g1 ~@3 d2 ~@3 g2 ~@3 d2 ~@3", H: "g2 ~@3 d2 ~@3 g2 ~@3 d2 ~ db2@2", I: "g1 ~@3 d2 ~@3 g2 ~@3 d2 ~ gb2@2",
  J: "g2@2 ~@2 g2 ~@2 d2 g2 ~ f2 ~ eb2 ~ d2 ~", K: "c2@2 ~@2 g2@2 ~@2 c3@2 ~ c2 g2@2 gb2@2", L: "f2 ~ c2 ~ f2 ~ c2 ~",
  M: "f2@2 ~@2 c2@2 ~@2 f2@2 ~@2 c2 ~@3", N: "c2@2 ~@2 g2@3 ~ c2@2 ~@2 g2@2 ~@2",
  O: "c2 ~@3 g2@2 ~@2 c3@3 c2 g2@2 gb2@2", P: "f2@2 ~@2 c2@2 ~@2 f2 ~@3 c2 ~@3", Q: "f2@2 ~@2 c2 ~@3 f2 ~@3 c2@2 ~@2",
  R: "c2@5 ~ c3@2", S: "bb2@5 ~ bb2@2", T: "a2@5 ~ a2@2", U: "ab2@3 g2", V: "c2@2 ~@2 g1@2 ~@2 c2@2 ~@2 g1 ~@3",
  W: "g1@2 ~@2 d2 ~@3 g1 ~@3 d2 ~@3", X: "g1@2 ~@2 d2@2 ~@2 g1@2 ~@2 d2 ~ db2@2", Y: "c2 ~@3 g1 ~@3 c2@2 ~@2 g1@2 ~@2",
  Z: "g1@2 ~@2 d2@2 ~@2 g1@2 ~@2 d2 ~@3", AA: "g1@2 ~@2 d2 ~@3 g1@2 ~@2 d2 ~ db2@2", AB: "c2 bb1", AC: "a1 ab1",
  AD: "c2", AE: "g1 ~ g1@2 ~@2 g1@2 ~@2 g1@2 bb1@4", AF: "c2@3 ~ g1@2 ~@2 c2@2 ~@2 g1@2 gb1@2",
  AG: "f1@3 ~ c2@3 ~ f1@2 ~@2 f1@2 g1@2", AH: "ab1@4 eb2@2 ~@2 g1@4 d2@2 ~ d2", AI: "c2 ~ g1 ~ c2 ~ g1 gb1",
  AJ: "f1@2 ~@2 c2@2 ~@2 f1@2 ~@2 c2 ~@3", AK: "f1@3 ~ c2@2 ~ c2 f1@2 g1@2 ab1@2 bb1@2",
  AL: "c2@2 ~@2 g1@2 ~@2 c2 ~@3 g1@2 ~@2", AM: "c2 ~@3 g1@2 ~@2 c2@2 ~@2 g1 ~ gb1@2", AN: "f1 ~ c2 ~ f1 ~ c2 ~",
  AO: "c2@2 ~@2 g1@2 ~@2 c2@2 ~@2 g1@3 ~", AP: "ab2 ~ ab2 ~@3 ab2@2 g2 ~ g2@2 bb2 ~ bb2@2",
  AQ: "c2@2 ~@2 g1@2 ~@2 c2@2 ~@2 g1 ~ gb1@2", AR: "f1@2 ~@2 c2 ~@3 f2 ~@3 c2@2 ~ c2",
  AS: "f1@2 ~@2 c2@2 ~ c2 f1@2 g1 ~ ab1 ~ bb1@2", AT: "c2@2 ~@2 g1@2 ~@2 c2@2 ~@2 g2@2 ~ g2",
  AU: "f1@2 ~@2 c2@2 ~@2 f2 ~@3 c2 ~ f2@2", AV: "c2@2 ~@2 g1@2 ~@2 c2@2 ~@2 g1 ~@2 g1",
  AW: "c2@2 ~@2 g1@2 ~@2 c2@3 g1 c2@2 g1 gb1", AX: "f1@2 ~@2 c2@2 ~ f1 f2@2 ~@2 c2 ~ f2@2",
  AY: "f1@3 ~ c2@3 ~ f1!2 g1!2 ab1!2 bb1!2", AZ: "c2@2 ~@2 g1@2 ~@2 c2@2 ~ c2 g1@2 c2@2",
  BA: "~@4 c2 ~@3 c2 ~@3 g1 ~ gb1@2", BB: "f1@2 ~@2 c2 ~@3 f2@2 ~ f1 c2@2 f2@2", BC: "f1 ~ c2@2 f1 g1 ab1 bb1",
  BD: "c2@2 ~@2 g1 ~@3 c2@2 ~ g1 g2@4", BE: "c2@2 ~@2 g1 ~@3 c2@2 ~@2 g1@2 gb1@2",
  BF: "f1@2 ~@2 c2@2 ~@2 f2@2 ~ f1 c2@2 f2@2", BG: "f1@2 ~@2 c2@2 ~@2 f1!2 g1!2 ab1!2 bb1!2",
  BH: "f1@2 ~@2 c2@2 ~@2 f2@2 ~ f2 c2@2 f2@2", BI: "c2@2 ~@2 g1@3 ~ c2@2 ~@2 g1 ~ gb1 ~",
  BJ: "f1@3 ~ c2@2 ~@2 f2@2 ~ f2 c2@2 f2@2", BK: "f1@2 ~@2 c2@4 f1@2 g1 ~ ab1@2 bb1@2",
  BL: "c2@2 ~@2 g1@2 ~@2 c2@2 ~ c2 g1 ~ g1@2", BM: "c2@2 ~@2 c2@2 ~@2 c2 ~ bb1@2 ab1@2 g1@2",
  BN: "f1@3 ~ c2@4 f1@2 g1@2 ab1@2 bb1@2", BO: "c2@2 ~@2 g1@2 ~@2 c2 ~@3 g2@2 ~ g2",
  BP: "c2@3 ~ g1@4 c2@2 ~@2 g1@2 gb1@2", BQ: "f1 ~ c2 ~@5", BR: "f1@2 c2 ~ f1 ~@3", BS: "~@2 g1 ~@5", BT: "~ g1 ~@2",
})).s("gm_fretless_bass").gain(0.38)

// bass · fretless bass · soft notes
const bass_soft = note("<~@106 A B C D E F G H E I J>".pickRestart({
  A: "~@8 f2@2 ~ f2 c2@2 f2@2", B: "~@7 c2 ~@2 g1@2 ab1@2 bb1@2", C: "c2@2 ~@6 c2@2 ~@2 g2@2 ~ g2",
  D: "c2@4 ~@4 c2 ~ bb1@2 ab1@2 g1@2", E: "f1@3 ~ c2@2 ~@2 f2@2 ~ f2 c2@2 f2@2", F: "f1@2 c2@2 f2@2 c2 f2",
  G: "c2@2 ~@2 g2@2 ~@2 c2@2 ~@2 g1@2 ~ g1", H: "c2@2 ~@2 g2@2 ~@2 c2@2 ~ c2 g1@2 gb1@2",
  I: "f1@4 c2@2 ~ c2 f1 ~ g1 ~ ab1@2 bb1@2", J: "c2@3 ~",
})).s("gm_fretless_bass").gain(0.16)

// other · rock organ
const rock_organ = note(`<
  A@2 B@4 C D E F@2 G@2 A H@2 A@2 H@2 I@4 J C D K J C D L ~@4 M@3 N@6 O@3 I@4 P@3 C D E F@2 G@2 A H@2 A@2 H@2 I@4 ~@44
>`.pickRestart({
  A: "c5@2 d5 eb5 g5@2 eb5 d5 c5@2 d5 eb5 g5@2 eb5 d5", B: "[c5@2 d5 eb5 g5@2 eb5 d5 ~@8 eb5@46 ~@2, ~@4 c5@27 ~]/4",
  C: "d5, f5@7 ~", D: "[b4,f5]", E: "[eb5,g5]@15 ~", F: "[[eb5,g5]@15 ~]/2", G: "[~ b4, [d5,f5]]/2",
  H: "c5@2 eb5 f5 ab5@2 f5 eb5 c5@2 eb5 f5 ab5@2 f5 eb5", I: "[~ c6@7, c5]/4", J: "[eb5,g5]", K: "c5, eb5@7 ~",
  L: "[c5,eb5]", M: "[g5@13 ~@3 ab5@24 g5@8, eb5@5 ~, c6@19 ~ b5@3 ~]/3", N: "[g5 ab5@2 g5@2 ab5, c6]/6",
  O: "[~@16 g5@31 ~, ~@8 c6@39 ~]/3", P: "[eb5@23 ~]/3",
})).s("gm_rock_organ").gain(0.27).pan(0.2)

// other · french horn
const french_horn = note("<~@6 A B ~@3 A B ~@42 A B ~@3 A B ~@55>".pickRestart({
  A: "~@14 c4 ~", B: "d4 ~ f4@14",
})).s("gm_french_horn").gain(0.4).pan(1)

// other · trumpet
const trumpet = note(`<
  ~@6 A@2 ~@3 A@2 B C ~ D B C ~ E@3 F ~@15 G ~ H ~ G ~ H ~ I ~@7 A@2 ~@3 A@2 B C ~ D B C ~ E@2 J F G ~ H ~ G ~ H ~ G ~ H
  ~ G ~ H ~ G ~ H ~ G ~ H ~ G ~ H ~ G ~ K ~ L ~ M ~@9
>`.pickRestart({
  A: "[~@6 c5 ~ d5 ~ f5@18 ~@4]/2", B: "~@4 g5@2 g5@3 ~@7, ~@6 f5 ~@9", C: "~@4 f5 ~ c5 ~ eb5 ~ f5@6",
  D: "~@2 c5 ~ g5@2 f5@4 eb5@2 c5@3 ~", E: "~@2 c5 ~ g5@2 f5@4 eb5@2 c5@4", F: "c6",
  G: "~@2 c5 ~ eb5@4 g4 ~ bb4@4 f4@2", H: "~@2 ab4 ~ c5@4 f4 ~ ab4@4 c4@2", I: "~@2 c5 ~ eb5@4 g4 ~ bb4@4 c5@2",
  J: "~@2 c5 ~ g5@2 f5@4 eb5@2 c5@3 [f5,g5]", K: "~@2 ab4 ~ c5@4 f4 ~ ab4@4 ~@2", L: "~@2 c5 ~ eb5@4 ~@2 bb4@4 ~@2",
  M: "~@2 ab4 ~ c5@4 ~@8",
})).s("gm_trumpet").gain(0.3).pan(1)

// other · trumpet · soft notes
const trumpet_soft = note("<~@103 A ~ B ~ C ~ D ~ E ~ D ~ E ~>".pickRestart({
  A: "~@7 c4", B: "~@8 g4 ~@5 f4@2", C: "~@8 f4 ~ ab4@4 c4@2", D: "~@2 c5 ~ eb5@4 g4 ~ bb4@4 f4@2",
  E: "~@2 ab4 ~ c5@4 f4 ~ ab4@4 c4@2",
})).s("gm_trumpet").gain(0.1).pan(1)

// other · french horn
const french_horn_2 = note(`<
  ~@6 A B ~@3 A B ~ C ~ D E C ~ F D G H ~@15 I ~ J ~ K ~ L ~ M ~@7 A B ~@3 A B ~ C ~ D E C ~ F D G H I ~@43
>`.pickRestart({
  A: "~@14 c4 ~", B: "d4 ~ f4@14", C: "~@4 f4 ~ c4 ~ eb4 ~ f4@6", D: "~@2 c4 ~ g4@2 f4@4 eb4@2 c4@3 ~",
  E: "~@4 g4@2 g4@3 ~@7, ~@6 f4 ~@9", F: "~@2 c4 ~ g4@2 f4@4 eb4@2 c4@4", G: "~@2 c4 ~ g4@2 f4@4 eb4@2 c4@3 g4",
  H: "c5", I: "~@2 c5 ~@11 f4@2", J: "~@2 ab4 ~ c5@4 ~@2 ab4@4 ~@2", K: "~@2 c5 ~ eb5@4 ~@6 f4@2", L: "~@5 ab4@2 c4",
  M: "~@2 c5 ~@5 g4 ~ bb4@4 c5@2",
})).s("gm_french_horn").gain(0.35).pan(0.1)

// other · french horn · soft notes
const french_horn_soft = note("<~@22 A ~@16 B ~ C ~ D ~ E ~ F ~@23 A ~ B ~@43>".pickRestart({
  A: "~@15 f4", B: "~@4 eb5@4 g4 ~ bb4@4 ~@2", C: "~@8 f4 ~@5 c4@2", D: "~@8 g4 ~ bb4@4 ~@2",
  E: "~@2 ab4 ~ c5@4 f4 ~@7", F: "~ eb5 ~@2",
})).s("gm_french_horn").gain(0.2).pan(0.1)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@3 B C D E F C@2 D E F C G H C@2 I J K@2 L K M@2 N C O E P O Q@3 R S T U C V@2 C@2 W X C Y K@2 L K Z C D E F C@2 D E
  F C G H C@2 I J K@2 L K C V@2 C@2 W X C@2 V@2 C@2 W X C@2 V@2 C@2 W X C@2 V@2 C@2 W AA AB AC AD ~@10
>`.pickRestart({
  A: "[~@2 g3 ~ c4 ~ g3 ~ c4 ~ g3 ~@2 eb4 g3 ~@6 [eb4,g4] ~ [eb4,g4], c4@3 ~@9 c4@2 ~ [eb4,g4]@2 [eb4,g4]@2 [eb4,g4]@2 ~@3, ~ [eb4,g4]@2 [eb4,g4]@2 [eb4,g4]@2 [eb4,g4]@2 [eb4,g4]@2 [eb4,g4]@2 g4@2 ~ c4@2 g3@2 c4@2 g3@2]/3", // Eb
  B: "~ [eb4,g4] c4 [eb4,g4] ~ [eb4,g4] ~ [eb4,g4], ~@2 c4 g3", // Eb
  C: "~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4], c4 g3 c4 g3", // Eb
  D: "~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] g3 [eb4,g4], c4 g3 c4 ~", // Eb
  E: "g3 [bb3,d4,f4] g3 [bb3,d4,f4] g3 [bb3,d4,f4] g3 [bb3,d4,f4]", // Bb
  F: "g3 [b3,d4,g4] g3 [b3,d4,g4] g3 [b3,d4,g4] g3 [b3,d4,g4]", // G
  G: "~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4], c4 f3 c4 f3", // Ab5
  H: "~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4], c4@2 f3@2 c4@3 ~, ~@3 f3", // Ab5
  I: "~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4], c4@3 ~ c4@2 ~@2, ~@4 f3@5 ~@3 f3@4", // Ab5
  J: "~@2 [eb4,ab4]@2 ~@2 [eb4,ab4]@2 ~@2 [eb4,ab4]@2 f3@2 [eb4,ab4] ~, c4 f3 c4 ~", K: "c3@2 d3@2 f3 g3 [c4,c5]@8 ~@2",
  L: "c3@2 d3@2 f3 g3 [c4,c5]@9 ~", // C
  M: "[~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [bb3,d4,f4] g3 ~ g3 [bb3,d4,f4] g3 [bb3,d4,f4], c4@2 g3@2 c4@2 g3@3 ~@2 [bb3,d4,f4]@2 ~@3]/2", // Eb Bb
  N: "g3 [d4,f4] g3 [b3,d4,f4] g3 [b3,d4,f4] ~ [d4,f4], ~@3 g3, ~@14 b3 ~", // Dm Bdim Dm
  O: "~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] g3 [eb4,g4], c4@4 g3@4 c4@5 ~@3", // Eb
  P: "g3 [b3,d4,f4] g3 [b3,d4,f4] g3 [b3,d4,f4] g3 [b3,d4,f4]", Q: "c5!16", R: "d5!4 eb5!4 f5!4 g5!4",
  S: "[eb4,g4]!2 ~ [eb4,g4] ~ [eb4,g4] c4 [eb4,g4], ~ c4 g3 ~", // Eb
  T: "~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ab3 [f4,ab4], c4@2 ab3@2 c4@3 ~", // Fm
  U: "ab3 [c4,eb4] ~ [c4,eb4] g3 [b3,d4] g3 [b3,d4], ~ ab3 ~@2", // Cm Bm
  V: "~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4], c4 ab3 c4 ab3", // Fm
  W: "~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4], c4@3 ~ c4@2 ~@2, ~ ab3 ~ ab3", // Fm
  X: "~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4], c4@6 ~@2 c4@5 ~@3, ~@2 ab3@3 ~ ab3@2", // Fm
  Y: "~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4], c4@2 g3@2 c4@3 ~, ~@3 g3", // Eb
  Z: "[eb4,g4]!2 c4 [eb4,g4] ~ [eb4,g4] ~ [eb4,g4], ~@2 c4 g3", // Eb
  AA: "~ [f4,ab4] ~ [f4,ab4] ~ f4 ~ [f4,ab4], c4@6 ~@2 c4@5 ~@3, ~@2 ab3@3 ~ ab3@2", // Fm
  AB: "~ g4 ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4], c4 g3 c4 g3", AC: "~@2 eb4@3 ~ eb4@3 ~ eb4@3 ~ eb4@2, c4 ~@3",
  AD: "~@2 [f4,ab4]@3 ~@9 f4@2", // Fm
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note("<~@103 A B C D E F@2 G H F@2 E@2 I>".pickRestart({
  A: "~@10 ab4@3 ~@3", B: "~ eb4 ~@6", C: "~ g4 ~ g4 ~ g4 ~ g4, ~ g3 c4 g3",
  D: "c4@2 ~ [f4,ab4] ~ [f4,ab4] ~ ab4, ~ ab3 c4 ab3", E: "~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4], c4 ab3 c4 ab3",
  F: "~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4], c4 g3 c4 g3", // Eb
  G: "~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4], c4@3 ~ c4@2 ~@2, ~ ab3 ~ ab3", // Fm
  H: "~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4], c4@6 ~@2 c4@5 ~@3, ~@2 ab3@3 ~ ab3@2", I: "[c4,eb4,g4]@3 ~",
})).s("gm_acoustic_guitar_steel").gain(0.05).pan(0)

// other · overdriven guitar
// … 171 more lines

More by Paul McCartney