Strudelify

Blue Jay Way

The Beatles

KeyC majorTempo87 bpm
0:00/0:00
// Blue Jay Way — The Beatles
// 87 bpm, 4/4, key C 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, 5/4 at bar 5, 4/4 at bar 6, 7/4 at bar 14, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 93 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(87/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.

// other · electric guitar jazz · "muted gui"
const electric_guitar_jazz = note(`<
  A@6 B@2 C D@2 E@2 F G H I J K@2 L@2 M@2 N@2 O P@4 Q@8 R@3 S@2 T@4 ~ U V W X Y@2 Z@2 G AA AB AC AD ~@2 U V AE AF AG ~@2
  F G AA AB AH AD ~ F G AA AB AC AD ~@2 U V AE AF AI ~@2
>`.pickRestart({
  A: "[~@14 c5@35 e5@9 g5@43 g5@35 c4@4 d#4@4 ~ f#4@4 d#4@4 c4@4 ~ d#4@4 e4@26 ~@4]/6",
  B: "[~@14 c4@4 d#4@4 f#4@4 ~ d#4@4 c4@4 d#4@4 ~ e4@24]/2", C: "~@19 c4@4 d#4@4 ~ f#4@4",
  D: "[d#4@4 ~ c4@4 d#4@4 f#4@35 ~@9 d#4@4 f#4@3]/2", E: "[~ a4@4 ~ f#4@4 d#4@4 a4@4 ~ g4@35 ~@10]/2", F: "~ a4",
  G: "b4 c5", H: "b4@16 ~@9 a4@7", I: "~ b4@8 c5@8 c5@5 b4@5 ~ c5@4", J: "~ b4@6 a4@2 b4@8 ~@6 g4@5 a4@4",
  K: "[~ c5@5 ~ b4@32 ~@3 a4@8 c5@8 b4@6]/2", L: "[~@2 a4@8 g4@8 f#4@8 e4@24 ~@9 c4@4 ~]/2",
  M: "[d#4@4 f#4@4 d#4@4 ~ c4@4 d#4@4 ~ e4@26 ~@16]/2", N: "[~ c4@4 d#4@4 ~ f#4@4 d#4@4 c4@4 ~ d#4@4 e4@26 ~@11]/2",
  O: "~@7 c4@4 d#4@4 f#4@4 ~ d#4@4 c4@4 d#4@4", P: "[~ f#4@35 ~@8 d#4@4 ~ f#4@4 a4@4 f#4@4 ~ d#4@4 a4@4 g4@35 ~@23]/4",
  Q: "[~@3 a4@16 b4@16 c5@16 b4@16 ~@8 a4@8 b4@8 c5@8 c5@5 ~ b4@5 c5@5 b4@6 a4@2 b4@8 ~@6 g4@5 a4@5 c5@5 ~ b4@31 ~@3 a4@8 c5@8 b4@8 a4@8 g4@8 f#4@8 e4@21]/8",
  R: "[~@12 c4@4 d#4@4 ~ f#4@4 d#4@4 ~ c4@4 d#4@4 e4@35 ~@9 c4@4 ~ d#4@4 f#4@4 ~]/3",
  S: "[d#4@4 c4@4 d#4@4 ~ e4@35 ~@9 c4@4 d#4@3]/2",
  T: "[~@2 f#4@4 d#4@4 ~ c4@4 d#4@4 f#4@35 ~@9 d#4@2 ~ f#4@6 a4@4 ~ f#4@4 d#4@4 a4@4 ~ g4@35 ~@3]/4", U: "a4 b4",
  V: "c5 b4", W: "~ a4 b4 d5", X: "c5@5 b4@5 ~ c5@5 b4@16", Y: "[~ a4 b4 c5 b4@5 ~ a4@2 c5@2 b4@2]/2",
  Z: "[a4 g4 f#4 e4@2 ~ a4@2]/2", AA: "b4@2 ~ a4", AB: "d5@8 d5@8 e5@5 d5@5 ~ e5@5", AC: "d5@4 ~ c5 d5 e5", AD: "d5 ~",
  AE: "~ a4 d5!2", AF: "e5@5 d5@5 ~ e5@5 d5@16", AG: "~ c5 d5 e5 d5@4", AH: "d5@16 ~@3 c5@5 d5@4 e5@4",
  AI: "~@3 c5@5 d5@4 e5@4 d5@16",
})).s("gm_electric_guitar_jazz").gain(0.35).pan(0.6)

// chords · sitar
const sitar = note(`<
  A@5 B@4 C@2 D@2 E@2 F@5 G@4 H@2 I J@4 K@7 L@4 M@2 N@5 O@5 P@8 Q@2 O@3 R S@8 T@8 Q@2 O@3 R U Q@2
>`.pickRestart({
  A: "[~@14 g4@35 [g4,c5]@9 [c5,e5]@43 [c5,e5]@35 ~@24]/5", // C5 C
  B: "[~@2 c4@35 ~@9 c4@4 d#4@4 f#4@4 ~ d#4@4 c4@4 d#4@4 ~ c4@35 ~@8 c4@4 d#4@4 ~ f#4@4, ~@36 e4@13 ~@15]/4",
  C: "[d#4@4 ~ c4@4 d#4@4 f#4@35 ~@9 d#4@4 f#4@3]/2", D: "[~ a4@4 ~ f#4@4 d#4@4 a4@4 ~ [e4,g4]@35 ~@10]/2",
  E: "[~ a4 b4 [e4,c5], ~ e4@2 ~]/2", F: "[b4@16 ~ [c4,e4]@32 [c4,e4]@32 [c4,e4]@65 e4@14]/5",
  G: "[~@18 f#4@8 e4@24 ~@9 c4@4 ~ d#4@4 f#4@4 d#4@4 ~ c4@4 d#4@4 ~ c4@35 ~@7, ~@18 g3@67 ~@43]/4",
  H: "[~ c4@4 d#4@4 ~ f#4@4 d#4@4 c4@4 ~ d#4@4 c4@35 ~@2, ~@27 e4@26 ~@11]/2",
  I: "~@7 c4@4 d#4@4 f#4@4 ~ d#4@4 c4@4 d#4@4",
  J: "[~ f#4@35 ~@8 d#4@4 ~ f#4@4 a4@4 f#4@4 ~ d#4@4 a4@4 [e4,g4]@35 ~@23]/4", // Em
  K: "[~@3 a4@16 b4@16 c5@16 b4@16 [c4,e4]@32 [c4,e4]@32 [c4,e4]@64 e4@29, ~@3 e4@32 e4@32 ~@157]/7", // C
  L: "[~@3 f#4@8 e4@24 ~@9 c4@4 d#4@4 ~ f#4@4 d#4@4 ~ c4@4 d#4@4 [c4,e4]@35 ~@9 c4@4 ~ d#4@4 f#4@4 ~, ~@3 g3@67 ~@58]/4", // C
  M: "[d#4@4 c4@4 d#4@4 ~ e4@35 ~@9 c4@4 d#4@3]/2",
  N: "[~@2 f#4@4 d#4@4 ~ c4@4 d#4@4 f#4@35 ~@9 d#4@2 ~ f#4@6 a4@4 ~ f#4@4 d#4@4 a4@4 ~ g4@35 e4@35]/5", O: "[c4,e4]",
  P: "[~@16 [c4,e4]@32 f#4@7 e4 e4@24 [c4,e4]@32 [c4,e4]@32 [c4,e4]@32 c5@5 b4@5 ~ c5@5 b4@16 ~@4 a4@4 b4@4 c5@4 b4@16 ~@16, ~@11 e4@2 e4@3]/8", // C
  Q: "[c4,e4]/2", R: "c5@5 b4@5 ~ c5@5 b4@16, e4",
  S: "[~@4 a4@4 b4@4 c5@4 b4@16 ~@16 [c4,e4]@64 [c4,e4]@32 [c4,e4]@32 [c4,e4]@32 c5@5 b4@5 ~ c5@5 b4@16 ~@3 a4@5 b4@4 c5@4, e4@3 ~@10 e4@2 e4]/8", // C
  T: "[b4@16 [c4,e4]@64 [c4,e4]@32 [c4,e4]@32 [c4,e4]@32 c5@5 b4@5 ~ c5@5 b4@16 ~@4 a4@4 b4@4 c5@4 b4@16 ~@16, ~@11 e4@2 e4@3]/8", // C
  U: "~@3 a4@5 b4@4 c5@4 b4@16, e4",
})).s("gm_sitar").gain(0.35).pan(0.6)

// other · electric guitar muted · "muted gui"
const electric_guitar_muted = note(`<
  ~@11 A@5 ~@13 B@5 ~@25 C@3 ~@4 D E F@2 ~@4 G@3 ~@4 C@3 ~@4 D E@2 ~@2
>`.pickRestart({
  A: "[~@19 g3@6 f#3@2 ~ g3@6 f#3@2 g3@7 f#3@11 d3@26 c4@32 c4@32 ~@16]/5",
  B: "[~@6 g3@7 f#3@2 g3@7 f#3@2 g3@6 f#3@11 d3@26 c4@32 c4@32 ~@29]/5", C: "[b4!2 c4@4 c4@6]/3", D: "~@2 b4!2",
  E: "c4", F: "[c4@3 ~]/2", G: "[b4!2 c4@4 c4@4 ~@2]/3",
})).s("gm_electric_guitar_muted").gain(0.35)

// other · shanai · "shannai"
const shanai = note(`<
  ~@3 A@2 B C@8 D E@3 F G@8 H@8 I@3 J@2 K L@8 M@5 N O P@6 Q@2 R@4 S@8 T@8 Q@2 R@5 Q@2
>`.pickRestart({
  A: "[~@20 f#3@3 e3@17 g3@24]/2", B: "~ g3@15", C: "[~@5 g3@35 a3@34 a3@35 a3@35 g3@35 g3@61 c3@8 c3@8]/8",
  D: "~ c3!3", E: "[~@8 c3@8 ~ c3@8 c3@16 c3@16 c3@16 c3@8 c3@8 c3@7]/3", F: "~@5 c3@8 c3@3",
  G: "[~@10 c3@8 e3@32 c3@67 ~ g3@34 g3@35 a3@35 a3@34]/8",
  H: "[~ a3@35 g3@34 g3@61 c3@8 c3@16 c3@8 c3@8 c3@16 c3@8 c3@8 c3@16 c3@16 c3@16 c3@5]/8",
  I: "[~@3 c3@8 c3@16 c3@16 c3@16 c3@8 e3@29]/3", J: "[~@3 c3@61]/2", K: "~@3 g3@13",
  L: "[~@10 g3@35 g3@35 g3@35 g3@35 ~ g3@35 g3@35 g3@35]/8", M: "g3", N: "~ a3 c4 b3", O: "a3@2 g3@2 f#3!2 e3!2",
  P: "[d3!2 c3!2 c3@8 c3@8 c3@8 c3@8 g3@12]/6", Q: "c3/2", R: "c3", S: "[g3@3 c3@4 c3@2 c3@2 c3@2 c3@2 c3]/8",
  T: "[~ c3@4 c3@2 c3@2 c3@2 c3@2 g3@3]/8",
})).s("gm_shanai").gain(0.35).pan(0.4)

// bass · electric bass finger · "fingered"
const bass = note(`<
  ~ A@2 B@2 C@3 D@3 E@7 F G H I J@2 K@3 L@8 M@6 N O@2 P Q@2 R@2 S@7 T@4 U@2 V W X Y Z AA AB AC AD AE@4 AF AG AD AH@4 U@2
  V W X Y AI AA ~ V AJ
>`.pickRestart({
  A: "[~@17 a3@9 b3@17 b3@9 a3@4 b3@4 d4@4]/2", B: "[~ e4 d4 ~ c4 b3@3 c4@3 b3@3 a3@3 b3@3 a3@3 g3@17 d#3@24]/2",
  C: "[~@2 c3@9 c3@8 c3@9 c3@9 c3@9 c3@8 c3@9 c3@9 c3@8 c3@9 c3@7]/3",
  D: "[~@2 c3@8 c3@9 c3@9 c3@9 c3@8 c3@9 c3@9 c3@8 c3@9 c3@9 c3@7]/3",
  E: "[~ c3@9 c3@9 c3@61 c3@8 c3@16 c3@8 g3@4 e3@4 c3@4 f#3@8 g3@4 f#3@2 g3@2 f#3@2 ~ e3@2 g3@32 g3@4 e3@4 c3@4 f#3@8 g3@4 f#3@2 g3@2 f#3@2 f3@2 a3@8 g3@7]/7",
  F: "~ f#3@8 ~ e3@8 f#3@4 g3@4 f#3@6", G: "~ e3@8 c3@4 c3@3", H: "~ c3@4 c3@4 c4@4 b3@3", I: "~@3 a3@8 g3@8 ~@13",
  J: "[~@22 c3@8 c3@9 c3@9 c3@8 c3@8]/2", K: "[~ c3@9 c3@8 c3@9 c3@9 c3@9 c3@8 c3@9 c3@9 c3@8 c3@9 c3@8]/3",
  L: "[~ c3@8 c3@9 c3@9 c3@9 c3@8 c3@9 c3@9 c3@8 c3@61 c3@8 c3@16 c3@8 g3@4 e3@4 c3@4 f#3@8 g3@4 f#3@2 g3@2 f#3@2 e3@2 g3@32 g3@4 e3@4 c3@4 f#3@8 g3@4 f#3@2 g3@2 f#3]/8",
  M: "[~ f3@2 a3@8 g3@8 f#3@8 e3@8 f#3@4 g3@4 f#3@8 e3@16 c3@8 c3@8 c3@8 c3@8 c4@8 b3@8 a3@8 g3@8 f#3@9 e3@26 c3@4 ~ c3@4 c3@4 ~ c3@2 c3@2 c3@4 c3@4]/6",
  N: "~ c3@4 c3@4 ~ c3@4 c3@4 c3@4 ~ c3@2 c3@2 c3@4 ~",
  O: "[c3@4 c3@4 c3@4 ~ c3@4 c3@4 ~ c3@4 c3@2 c3@2 c3@4 ~ c3@4 c3@4 ~ c3@4 c3@4 ~ c3@4 c3@4 c3@3]/2",
  P: "~@2 c3@2 c3@2 c3@4 ~ c3@4 c3@4 c3@4 ~ c3@4 c3@4",
  Q: "[~ c3@2 c3@2 c3@4 c3@4 ~ c3@4 c3@4 ~ c3@4 c3@4 c3@4 ~ c3@4 c3@4 ~ c3@4 c3@4 c3@4 ~ c3@4 c3@2]/2",
  R: "[c3@2 ~ c3@2 c3@2 c3@2 c3@2 c3@4 ~ c3@4 c3@4 ~ c3@4 c3@35]/2", S: "c3!4",
  T: "[c3@2 c3@2 e3@8 g3 e3 c3 f#3@5 g3@8 g3 f#3 g3@2]/4", U: "[g3@8 c3@16 c3@2 c3!2 c3@2 ~@2]/2",
  V: "c4!2 b3!2 a3!2 g3!2", W: "f#3!2 f#3@2 e3!2 e3@2 d3!5 c3 c3@2", X: "e3", Y: "g3 e3 c3 f#3@5", Z: "g3",
  AA: "g3 f#3 g3@2 g3@4", AB: "c3", AC: "c3@2 c3!2 c3@2 ~@2 c4@2 c4@2 b3@2 b3@2",
  AD: "a3@2 a3@2 g3@2 g3@2 f#3!2 f#3@2 e3!2 e3@2",
  AE: "[d3!5 c3 c3@2 e3@16 g3@2 e3@2 c3@2 f#3@10 f#3@16 g3@2 f#3@2 g3@4]/4", AF: "g3 ~", AG: "~@4 c4!2 b3!2",
  AH: "[d3!5 c3 c3@2 e3@16 g3@2 e3@2 c3@2 f#3@10 g3@16 g3@2 f#3@2 g3@4]/4", AI: "f#3",
  AJ: "f#3!2 f#3@2 e3!2 e3@2 d3!5 c3 ~@2",
})).s("gm_electric_bass_finger").gain(0.35).pan(0.3)

// bass · fretless bass · "fretless"
const bass_2 = note(`<
  A B C D@2 E F G@4 H I@2 J K L M N O P Q R S@4 T@2 U@3 V W@6 X Y@4 Z AA@4 AB AC AD AE AF AG AH AI AJ AD AK AL AM AN AO
  AD AE AD AE AF AP AC AQ AR AJ AE AJ AL AQ AR AJ AE AJ AL AS AT AN AO AD AE AD AE AT AU
>`.pickRestart({
  A: "~@14 c2@12 ~ c2 ~@4", B: "c2@11 ~@2 c2 ~@3 c2@11 ~@2 c2 ~", C: "~@2 c2@12 ~ c2 ~@4 c2@11 ~",
  D: "[~ c2@3 ~ c2@9 c2@11 ~@2 c2@3 ~ c2@12 ~ c2@2 ~@3 c2@2 ~@2 c2@7 ~@2 c2@2]/2", E: "~@2 c2@12 ~ c2@2 ~@2 c2@12 ~",
  F: "c2@3 ~@2 c2@12 ~ c2@2 ~@2 c2@10",
  G: "[~@3 c2@3 ~@2 c2@11 ~@2 c2@2 ~@2 c2@12 ~ c2@3 ~ c2@12 ~ c2 ~@4 c2@11 ~@2 c2@2 ~@2 c2@12 ~ c2 ~@4 c2@12 ~ c2 ~@3 c2@12 ~ c2@2 ~]/4",
  H: "~ c2@2 ~@3 c2@7 ~ c2@3 ~@2 c2@12 ~", I: "[c2@2 ~@2 c2@13 c2@3 ~@2 c2@7 ~ c2@6 ~@3 c2@9 c2@11 ~ c2@2 ~@2]/2",
  J: "c2@11 ~ c2@2 ~@2 c2@10 ~@2 c2@2 ~@2", K: "c2@11 ~ c2 ~@4 c2@11 ~ c2 ~@2",
  L: "~ c2@10 ~@2 c2@2 ~@2 c2@11 ~ c2 ~@2", M: "~ c2@11 ~ c2 ~@3 c2@11 ~ c2 ~@2",
  N: "~ c2@10 ~@3 c2@2 ~@2 c2@11 ~ c2 ~", O: "~@2 c2@11 ~ c2 ~@3 c2@11 ~ c2@2",
  P: "~@2 c2@2 ~@2 c2@6 ~@2 c2@2 ~@2 c2@10 ~@3 c2", Q: "~@3 c2@11 ~ c2@2 ~@2 c2@12 ~",
  R: "c2@2 ~@2 c2@12 ~ c2@3 ~@2 c2@10",
  S: "[~@3 c2@2 ~@2 c2@12 ~ c2@3 ~ c2@11 ~@2 c2@2 ~@3 c2@12 ~ c2@3 ~ c2@12 ~ c2@2 ~@3 c2@12 ~ c2@3 ~ c2@12 ~ c2@3 ~ c2@2 ~@3 c2@6 ~@2 c2@2 ~@2]/4",
  T: "[~ c2@12 ~ c2@2 ~@2 c2@12 ~ c2@2 ~@3 c2@12 ~ c2@2 ~@2 c2@11]/2",
  U: "[~@2 c2@3 ~ c2@12 ~ c2@2 ~@3 c2@2 ~@2 c2@7 ~@2 c2@3 ~ c2@7 ~@2 c2@6 ~@3 c2@8 c2@11 ~ c2 ~@3 c2@10 ~@2 c2]/3",
  V: "~@3 c2@10 ~@2 c2 ~@3 c2@11 ~ c2", W: "[~@3 c2@11 ~ c2 ~@3 c2@10 ~@2 c2@2 ~@2 c2@11 ~ c2 ~@3 c2@11 ~ c2]/2",
  X: "~@3 c2@12 ~ c2@2 ~@3 c2@11",
  Y: "[~@2 c2@3 ~ c2@12 ~@2 c2@2 ~@2 c2@12 ~ c2@3 ~@2 c2@12 ~ c2@2 ~@2 c2@12 ~ c2@3 ~@2 c2@12 ~ c2@2 ~@2 c2@13 ~ c2@3 ~ c2@12 ~ c2@2 ~]/4",
  Z: "~@2 c2@11 ~@2 c2@2 ~@2 c2@12 ~",
  AA: "[~ c2 ~@3 c2@12 ~ c2 ~@4 c2@12 ~ c2@2 ~@2 c2@12 ~ c2@3 ~@2 c2@12 ~ c2@2 ~@2 c2@13 ~ c2@3 ~ c2@12 ~ c2@2 ~@3 c2@12 ~ c2@3 ~]/4",
  AB: "c2@11 ~ c2@3 ~ c2@2 ~@2 c2@6 ~@2 c2@2 ~@2", AC: "c2@11 ~ c2@2 ~@2 c2@11 ~ c2@2 ~@2",
  AD: "c2@11 ~ c2 ~@3 c2@10 ~@2 c2@2 ~@2", AE: "c2@11 ~ c2 ~@3 c2@11 ~ c2 ~@3", AF: "c2@11 ~ c2@2 ~@2 c2@11 ~ c2@3 ~",
  AG: "c2@6 ~@2 c2@5 ~@3 c2@11 ~ c2@2 ~@2", AH: "c2@11 ~ c2@3 ~ c2@11 ~ c2@2 ~@2", AI: "c2@11 ~ c2@3 ~ c2@11 ~ c2 ~@3",
  AJ: "c2@10 ~@2 c2@2 ~@2 c2@11 ~ c2 ~@3", AK: "c2@10 ~@2 c2@2 ~@2 c2@10 ~@2 c2 ~@3",
  AL: "c2@11 ~ c2 ~@3 c2@11 ~ c2@2 ~@2", AM: "c2@11 ~ c2@3 ~ c2@10 ~@2 c2@3 ~",
  AN: "c2@11 ~ c2@2 ~@2 c2@2 ~@2 c2@5 ~@3 c2@2 ~@2", AO: "c2@10 ~@2 c2 ~@3 c2@11 ~ c2@2 ~@2",
  AP: "c2@5 ~ c2 ~ c2@5 ~ c2 ~", AQ: "c2@2 ~@2 c2@5 ~@3 c2@2 ~@2 c2@10 ~@2 c2 ~@3",
  AR: "c2@11 ~ c2@2 ~@2 c2@11 ~ c2 ~@3", AS: "c2@11 ~ c2@3 ~ c2@10 ~@2 c2@2 ~@2",
  AT: "c2@10 ~@2 c2@2 ~@2 c2@11 ~ c2@2 ~@2", AU: "c2@11 ~ c2@2 ~@2 c2@2 ~@2 c2@5 ~@7",
})).s("gm_fretless_bass").gain(0.35).pan(0.8)

// chords · epiano1 · "rhodes pi"
const epiano1 = note(`<
  A@5 B@2 C@2 D@2 E@7 F@5 G@4 H I@2 J@3 K@3 L M@2 N O P@4 Q@2 R S T U V W X Y@5 Z@2 AA V W T U AB AC AD AE@2 AF@4 AG@3
  AH@3 AI@2 AJ AK AL AM AN AO AL AM AK AL
>`.pickRestart({
  A: "[~@14 [g3,c4,e4]@55 ~@6 e4@4 g4@4 ~ [g3,c4,e4]@16 ~ [g3,c4,e4]@9 [g3,c4,e4]@16 ~ [a3,c4,d#4,f#4]@33, ~@71 c4@12 ~@77]/5", // C Adim
  B: "[~@2 [g3,c4,e4]@33 ~@2 [a3,c4,d#4,f#4]@3 ~ [a3,c4,d#4,f#4]@2 ~@7 [a3,c4,d#4,f#4]@14]/2", // C Adim
  C: "[~@8 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@7 [g3,c4,e4]@14 ~@7 [a3,c4,d#4,f#4]@22]/2", // C Adim
  D: "[c3@4 ~ [a3,c4,d#4,f#4]@5 ~@3 c4@22 c4@4 d#4@5 ~@4 [a3,c4,d#4,f#4]@13 c3@3, ~@13 [a3,d#4,f#4]@25 ~@26]/2", // Adim D#dim
  E: "[~ [a3,c4,d#4,f#4]@6 ~@3 [a3,c4,d#4,f#4]@3 ~@6 [g3,c4,e4]@33 ~@2 [g3,c4,e4]@16 ~ [g3,c4,e4]@9 [g3,c4,e4]@20 c3@4 [g3,c4,e4]@4 ~@4 c4@20 c4@4 e4@4 ~@5 c4@16 ~@8 g4@4 c5@4 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@3 ~@5 [g3,c4,e4]@16 ~@4 [g3,c4,e4]@15, ~@112 [g3,e4]@23 ~@10 g3@29 ~@50, ~@145 e4@20 e4@8 ~@51, ~@161 c4@12 ~@51]/7", // Adim C
  F: "[~@6 c3@4 [g3,c4,e4]@6 ~@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~@5 [g3,c4,e4]@16 ~@4 [g3,c4,e4]@20 c3@4 [g3,c4,e4]@6 ~@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~@6 [g3,c4,e4]@16 ~@4 c4@17 c4@4 d#4@4 ~ f#4@4 c5 ~@4 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@4, ~@115 [a3,d#4,f#4]@22 ~@23]/5", // C D#dim
  G: "[~@3 [g3,c4,e4]@14 ~@7 c4@17 ~ c4@4 d#4@4 f#4@4 ~ c5 ~@3 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@7 [g3,c4,e4]@14 ~@8 [a3,c4,d#4,f#4]@22 c3@4 [a3,c4,d#4,f#4]@6 ~@2, ~@12 [a3,d#4,f#4]@11 ~@41]/4", // C Adim D#dim
  H: "~ [a3,c4,d#4,f#4]@3 ~ [a3,c4,d#4,f#4]@3 ~@6 [a3,c4,d#4,f#4]@17 ~", // Adim
  I: "[~@4 c4@17 c4@4 d#4@4 ~ f#4@4 c5 ~@3 [g3,c4,e4]@3 ~@2 [g3,c4,e4]@2 ~@6 [g3,c4,e4]@13, ~@2 [a3,d#4,f#4]@11 ~@19]/2", // C D#dim
  J: "[~@9 [g3,c4,e4]@16 ~@2 [g3,c4,e4]@8 c4@16 ~@8 g4@4 c5@4 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@3 ~@5 [g3,c4,e4]@16 ~, ~@35 g3@28 ~@33, ~@35 e4@20 e4@8 ~@33, ~@17 c4@4 ~@11]/3", // C
  K: "[~@3 [g3,c4,e4]@51 ~@5 e4@4 g4@3 ~ [g3,c4,e4]@20 c3@4 [g3,c4,e4]@5, ~@55 c4@11 ~@30]/3", // C
  L: "~@3 [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~@5 [g3,c4,e4]@16 ~", // C
  M: "[~@35 [c4,e4,g4]@2 ~@2 [c4,e4,g4]@2 ~@6 [c4,e4,g4]@3 ~@5 c3@4 [c4,e4,g4]@3 ~@2, ~@3 [c4,e4,g4]@31 ~@30, ~@31 c3@18 ~@15]/2", // C
  N: "~@3 [a3,c4,d#4,f#4]@3 ~@2 [a3,c4,d#4,f#4]@2 ~@6 [a3,c4,d#4,f#4]@14 ~@2", // Adim
  O: "~@3 [g3,c4,e4]@7 c3@2 [g3,c4,e4]@3 ~", // C
  P: "[~ [g3,c4,e4]@3 ~@6 [a3,c4,d#4,f#4]@3 ~ [a3,c4,d#4,f#4]@2 ~@7 [a3,c4,d#4,f#4]@14 ~@8 [g3,c4,e4]@13 c3@4 [g3,c4,e4]@6 ~@3 [g3,c4,e4]@3 ~@41 [a3,c4,d#4,f#4]@3 ~@2 [a3,c4,d#4,f#4]@3 ~@5, ~@40 [a3,c4,d#4,f#4]@17 ~@7, ~@111 c3@17]/4", // C Adim C Adim
  Q: "[~ [a3,c4,d#4,f#4]@4 ~@4 c3@5 [a3,c4,d#4,f#4]@4 ~@5 c4@17 c4@5 d#4@4 f#4@4 c5@2 ~@3 [g3,c4,e4]@3 ~ [g3,c4,e4]@2, ~@23 [a3,d#4,f#4]@23 ~@18]/2", // Adim C D#dim
  R: "~@7 [g3,c4,e4]@14 ~@8 [g3,c4,e4]@3", S: "~ [g3,c4,e4]@2 ~@7 [g3,c4,e4]@14 ~@8",
  T: "[g3,c4,e4]@10 c3@2 [g3,c4,e4]@3 ~", U: "[g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~@5 [g3,c4,e4]@16 ~@4",
  V: "[g3,c4,e4]@21 ~@3 [g3,c4,e4]@6 ~@2", W: "~@4 [g3,c4,e4]@3 ~@9 [g3,c4,e4]@13 ~@3",
  X: "c4@16 c4@4 e4@4 g4@4 c5 ~@3, [g3,e4]@5 ~@3", // C
  Y: "[[g3,c4,e4]@14 ~@2 [g3,c4,e4]@31 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@6 [g3,c4,e4]@13 ~@7 [g3,c4,e4]@51 ~@5 e4@4 g4@3 ~@5 [g3,c4,e4]@11 ~, ~@132 c4@11 ~@17]/5", // C
  Z: "[[g3,c4,e4]@16 [g3,c4,e4]@4 [g3,c4,e4]@5 ~@3 [g3,c4,e4]@18 ~@2 [g3,c4,e4]@12 c3@4]/2", // C
  AA: "[g3,c4,e4]@5 ~@3 [g3,c4,e4]@3 ~@5 [g3,c4,e4]@14 ~@2", AB: "[g3,c4,e4]@17 ~@3 [g3,c4,e4]@9 ~@3",
  AC: "[g3,c4,e4]@21 ~@3 [g3,c4,e4]@3 ~@5", AD: "~@4 [g3,c4,e4]@3 ~@5 c3@4 [g3,c4,e4]@5 ~@3 [g3,c4,e4]@2 ~@6",
  AE: "[~@4 [g3,c4,e4]@9 ~@3 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@6 [g3,c4,e4]@13 ~@11 [g3,c4,e4]@11 ~]/2", // C
  AF: "[[g3,c4,e4]@16 [g3,c4,e4]@4 [g3,c4,e4]@5 ~@3 [g3,c4,e4]@18 ~@2 [g3,c4,e4]@20 c3@4 [g3,c4,e4]@4 ~@4 c4@20 c4@4 e4@4 ~@8 [g3,c4,e4]@11 ~, ~@80 [g3,e4]@23 ~@25]/4", // C
  AG: "[[g3,c4,e4]@16 [g3,c4,e4]@4 [g3,c4,e4]@5 ~@3 [g3,c4,e4]@18 ~@2 [g3,c4,e4]@21 ~@3 [g3,c4,e4]@6 ~@6 [g3,c4,e4]@3 ~@9]/3", // C
  AH: "[[g3,c4,e4]@13 ~@3 [g3,c4,e4]@20 c3@4 [g3,c4,e4]@6 ~@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~@5 [g3,c4,e4]@16 ~@4 [g3,c4,e4]@16]/3", // C
  AI: "[~@4 [g3,c4,e4]@9 ~@3 [g3,c4,e4]@21 ~@3 [g3,c4,e4]@3 ~@9 [g3,c4,e4]@3 ~@5 c3@4]/2", // C
  AJ: "[g3,c4,e4]@5 ~@3 [g3,c4,e4]@2 ~@10 [g3,c4,e4]@9 ~@3", AK: "[g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@6 [g3,c4,e4]@13 ~@7",
  AL: "~@4 [g3,c4,e4]@11 ~ [g3,c4,e4]@16", AM: "[g3,c4,e4]@4 [g3,c4,e4]@5 ~@3 [g3,c4,e4]@18 ~@2",
  AN: "[g3,c4,e4]@5 c3 [g3,c4,e4] ~", AO: "c4@5 c4 e4 ~, [g3,e4]@23 ~@9",
})).s("gm_epiano1").gain(0.3).pan(0.8)

// chords · acoustic guitar nylon · "nylon gui"
const acoustic_guitar_nylon = note(`<
  A@5 B C@3 D@3 E@2 F@8 G@5 H I J K@2 L M N O L P Q R S T@8 U V W@2 X Y Z@3 AA@4 AB AC AD AE AF AG X AH AI@8 AJ AK@5 AL
  AM V AN AO AN AO AL AM
>`.pickRestart({
  A: "[~@15 [c4,e4]@55 ~@5 e4@4 g4@4 ~@2 e4@15 ~@2 [c4,e4]@8 ~ e4@15 ~@3 f#4@2 ~@2 f#4 ~@8 f#4@12 ~@6, ~@14 g3@55 ~@2 c4@12 ~ [g3,c4]@16 ~ g3@9 [g3,c4]@16 ~ a3@3 ~@2 [a3,c4,d#4]@2 ~@6 a3@14 ~@6, ~@128 [c4,d#4]@3 ~@10 [c4,d#4]@13 ~@6]/5", // C C5 Adim Cm
  B: "~@3 e4@12 c3@4 ~ [c4,e4]@5 ~@4 [c4,e4]@2 ~, ~@2 [g3,c4]@14 ~@3 g3@6 ~@3 g3@3 ~", // C C5
  C: "[~@6 [d#4,f#4]@32 ~@3 e4@32 ~@3 f#4@20, ~@5 [a3,c4]@33 ~@2 [g3,c4]@33 ~ a3@22, ~@25 [c4,d#4]@7]/3", // D#m Am C5 Cm
  D: "[c3@4 ~@2 [d#4,f#4]@4 ~@25 c4@4 d#4@5 ~@5 [d#4,f#4]@32 ~@3 e4@12, ~@5 [a3,c4]@5 ~@3 a3@25 ~@10 [a3,c4]@33 ~@2 [g3,c4]@13, ~@7 d#4@12 ~@29, ~@14 c4@21 ~@61, ~@5 f#4@8 ~@19]/3", // D#m Am C5
  E: "[c3@4 ~ [c4,e4]@5 ~@4 e4@2 ~@7 e4@15 ~@2 e4@8 ~ e4@15, ~@4 g3@6 ~@3 [g3,c4]@3 ~@6 [g3,c4]@16 ~ [g3,c4]@9 [g3,c4]@16]/2", // C C5
  F: "[~@4 c3@4 ~ e4@5 ~@3 [c4,e4]@3 ~ [c4,e4]@2 ~@6 [c4,e4]@15 ~@5 [g3,c4,e4]@20 c3@4 ~ e4@3 ~@24 c4@4 e4@4 ~@5 [c4,e4]@20 c3@4 ~ e4@3 ~@4 c4@20 c4@4 e4@4 ~@5 e4@19 c3@4 ~ [c4,e4]@6 ~@2 [c4,e4]@3 ~ [c4,e4]@2 ~@6 [g3,c4,e4]@15 ~@6 [d#4,f#4]@2 ~@2 [c4,d#4,f#4]@2 ~@6, ~@8 [g3,c4]@6 ~@2 g3@3 ~ g3@3 ~@5 g3@16 ~@29 [g3,c4]@4 ~@4 g3@23 ~@9 g3@22 ~@3 [g3,c4]@4 ~@4 [g3,e4]@23 ~@9 [g3,c4]@20 ~@4 g3@6 ~@2 g3@3 ~ g3@3 ~@26 [a3,c4]@3 ~ a3@2 ~@7, ~@81 c4@20 ~@155, ~@41 e4@11 ~@76]/8", // C D#m Cdim C5 C C5 Am
  G: "[~ [d#4,f#4]@13 ~@8 [g3,c4,e4]@33 ~@19 c4@4 d#4@4 f#4@4 ~ c5 ~@4 c4@17 c4@4 e4@4 g4@4 ~ c5 ~@4 [d#4,f#4]@21 c3@4 ~@2 f#4@3 ~@3, [a3,c4]@14 ~@42 a3@22 ~@13 g3@22 ~@13 [a3,c4]@23 ~@3 a3@5 ~@3, ~@57 d#4@21 ~@14 e4@21 ~@47, ~@57 c4@17 ~@79 [c4,d#4]@4 ~@3, ~@58 f#4@21 ~@81]/5", // D#m C D#m Am Cm
  H: "~@22 c4@5 d#4@5, ~ a3@25 ~@6, ~ c4@21 ~@10, ~ [d#4,f#4]@12 ~@3", // D#m
  I: "~@5 f#4@2 ~@2 [d#4,f#4]@2 ~@7 f#4@12 ~@2, ~@4 [a3,c4,d#4]@3 ~ [a3,c4]@2 ~@7 [a3,c4,d#4]@13 ~@2", // D#m Adim Am Adim
  J: "~@12 e4@2 ~@5 c3@5 ~ e4@4 ~@3, ~@11 [g3,c4]@3 ~@10 [g3,c4]@5 ~@3", // C5
  K: "[~ [c4,e4]@2 ~@11 [c4,e4]@9 ~@4 [g3,c4,e4]@8 ~ [c4,e4]@19 c3@4 ~ [c4,e4]@4, g3@3 ~@10 g3@9 ~@13 g3@20 ~@4 g3@5]/2", // C
  L: "~@4 [c4,e4]@3 ~ [c4,e4]@2 ~@6 [c4,e4]@15 ~, ~@3 g3@3 ~ g3@3 ~@5 g3@16 ~", // C
  M: "~@4 [c4,e4]@19 c3@4 ~ [c4,e4]@4, ~@3 g3@21 ~@3 g3@4 ~", N: "~@4 c4@19 c4@4 e4@4 ~, ~@3 g3@23 ~@6, ~@2 e4@11 ~@3",
  O: "~@4 [c4,e4]@19 c3@4 ~ [c4,e4]@4, ~@3 g3@20 ~@4 g3@5", P: "~@4 [c4,e4]@21 ~@3 [c4,e4]@4, ~@3 g3@21 ~@3 g3@5",
// … 199 more lines

More by The Beatles