Strudelify
Me and Julio Down by the School Yard cover art

Me and Julio Down by the School Yard

Paul Simon

KeyA majorTempo180 bpm
0:00/0:00
// Me and Julio Down by the School Yard — Simon Paul
// 180 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 86, 4/4 at bar 87) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 139 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(180/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, A@4 for four bars: edit a riff to change every repeat.

// chords · acoustic guitar steel · "Guitar 1"
const acoustic_guitar_steel = note(`<
  A B A B A B A B A B A B A B A B C D E F G H I H C J H K C L H K C L C D E F G H I H C J F M N@2 O P Q R F M N@2 S T U
  V S T U V F M N@2 O P Q R F M N@2 S T U V S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AB AM AN AO AI AJ AK AP
  AQ AR AJ AS AQ AR AJ AS AQ AR AJ AS AT AU AV AU AT AU AV AU AW AX AY ~@8
>`.pickRestart({
  A: "[a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,c#4,e4]@2", // A D A
  B: "~@2 [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~", // A E
  C: "[a3,c#4,e4]@6 [a3,c#4,e4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4]@2", // A
  D: "~@2 [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~", // A
  E: "[a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // A
  F: "[a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@2", // D
  G: "~@2 [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~", // D
  H: "[g#3,b3,e4]@5 ~ [g#3,b3,e4] ~ [g#3,b3,e4]@4 [g#3,b3,e4] ~ [g#3,b3,e4]@2", // E
  I: "~@2 [g#3,b3,e4]@4 [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4]@4", J: "[a3,c#4,e4] ~@7",
  K: "~@2 [g#3,b3,e4]@3 ~ [g#3,b3,e4] ~ [g#3,b3,e4]@3 ~ [g#3,b3,e4]@2 ~@2", // E
  L: "~@2 [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@2 ~@2", // A
  M: "~@2 [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~", // D
  N: "[[a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4]@4 [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@2 ~@2]/2", // A
  O: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@2", // D
  P: "~@2 [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@2 ~@2", // D
  Q: "[a3,c#4,e4]@4 [c#4,e4]@2 [a3,e4] ~ [b3,d#4,f#4]@3 ~ [b3,d#4,f#4]@3 ~, ~@4 a3 ~@11", // A C#m A5 B
  R: "[g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4]@3 ~ [g#3,b3,e4]@3 ~", // E
  S: "[a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~", // A G
  T: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [g#3,b3,e4]@3 ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~", // D E
  U: "[a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~", // A D
  V: "[a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~", // A E5 E
  W: "[g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~@7", X: "~@8 [a3,c#4,e4]@6 [a3,c#4,e4] ~",
  Y: "[a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~", // A
  Z: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // A
  AA: "[a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // A D
  AB: "[a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
  AC: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~ [g#3,b3,e4]@5 ~ [g#3,b3,e4] ~", // D E
  AD: "[g#3,b3,e4]@4 [g#3,b3,e4] ~ [g#3,b3,e4]@3 ~ [g#3,b3,e4]@4 [g#3,b3,e4] ~", // E
  AE: "[g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4]@4 [g#3,b3,e4]@5 ~ [g#3,b3,e4] ~", // E
  AF: "[g#3,b3,e4]@4 [g#3,b3,e4] ~ [g#3,b3,e4]@2 [a3,c#4,e4]@6 [a3,c#4,e4] ~", // E A
  AG: "[a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4]@2 [a3,c#4,e4]@2 ~@6", // A
  AH: "~@8 [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
  AI: "[a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~", // D
  AJ: "[a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // D A
  AK: "[a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4]@4 [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~", // A
  AL: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@2 ~@2 [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // A D
  AM: "[a3,d4,f#4]@3 ~ [a3,d4,f#4]@2 ~@2 [a3,c#4,e4]@4 [c#4,e4]@2 [a3,e4] ~, ~@12 a3 ~@3", // D A C#m A5
  AN: "[b3,d#4,f#4]@3 ~ [b3,d#4,f#4]@3 ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~", // B E
  AO: "[g#3,b3,e4]@3 ~ [g#3,b3,e4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // E D
  AP: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@2 ~@2 [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // A
  AQ: "[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // G D
  AR: "[g#3,b3,e4]@3 ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // E A
  AS: "[b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // E5 E A
  AT: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~", // D A
  AU: "[g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // E A
  AV: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [c#4,e4] ~", // D A C#m
  AW: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~@3", // D A
  AX: "[g#3,b3,e4] ~@3 [g#3,b3,e4] ~@3 [a3,c#4,e4] ~@3 [a3,c#4,e4] ~@3", AY: "[a3,d4,f#4] ~@3 [a3,d4,f#4] ~@11",
})).s("gm_acoustic_guitar_steel").gain(0.2).pan(0.3)

// chords · acoustic guitar steel · "Guitar 1" · soft notes
const acoustic_guitar_steel_2 = note("<~@128 A B C D E D F D E D G>".pickRestart({
  A: "~@14 [a3,c#4,e4] ~", B: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@3 [a3,c#4,e4] ~@3 [a3,c#4,e4] ~",
  C: "~@2 [a3,d4,f#4] ~@3 [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [c#4,e4] ~", // D A C#m
  D: "[g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // E A
  E: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~", // D A
  F: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [c#4,e4] ~", // D A C#m
  G: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~@7", // D A
})).s("gm_acoustic_guitar_steel").gain(0.07).pan(0.3)

// chords · acoustic guitar steel · "Guitar 2"
const acoustic_guitar_steel_3 = note(`<
  ~@3 A@8 B@8 C@2 D@2 E F G D@2 F@2 D@2 F@2 H@3 C@2 D@2 E F G I@2 J@2 K@2 L M I@2 J@2 N O P Q N O P Q I@2 J@2 K@2 L M
  I@2 J@2 N O P Q N O P Q R S T@2 U V W X Y Z AA AB I AC J AD I AC AE AF I AC J AG AH AI AC AJ AH AI AC AJ AH AI AC AK
  AL AM AL AM AL AM AL AM AN AO ~@9
>`.pickRestart({
  A: "[~@14 [c#4,e4,a4]@8 [c#4,e4,a4] ~ [d4,f#4,a4]@3 ~ [d4,f#4,a4] ~ [c#4,e4,a4]@7 ~ [c#4,e4,a4] ~ [e4,g#4,b4]@4 [e4,g#4,b4] ~ [c#4,e4,a4]@8 [e4,a4] ~ [d4,f#4,a4]@3 ~ [d4,f#4,a4] ~ [c#4,e4,a4]@7 ~ [c#4,e4,a4] ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4] ~ [c#4,e4,a4]@7 ~ [c#4,e4,a4] ~ [d4,f#4,a4]@3 ~ [d4,f#4,a4] ~ [c#4,e4,a4]@7 ~ [c#4,e4,a4] ~ [e4,g#4,b4]@4 [e4,g#4,b4] ~ [c#4,e4,a4]@8 [e4,a4] ~ [d4,f#4,a4]@3 ~ [d4,f#4,a4] ~ [c#4,e4,a4]@2]/8", // A D A E A A5 D A …
  B: "[~@6 [c#4,e4,a4] ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4] ~ [c#4,e4,a4]@7 ~ [c#4,e4,a4] ~ [d4,f#4,a4]@3 ~ [d4,f#4,a4] ~ [c#4,e4,a4]@4 ~@2 [c#4,e4,a4] ~ [c#4,e4,a4] ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4] ~ [c#4,e4,a4]@7 ~ [c#4,e4,a4] ~ [d4,f#4,a4]@3 ~ [d4,f#4,a4] ~ [c#4,e4,a4]@4 ~@4 [c#4,e4,a4] ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4] ~ [e4,a4]@5 ~ [e4,a4] ~@5 [e4,a4,c#5] ~ [e4,a4,c#5]@7 ~ [e4,a4,c#5]@5 ~ [e4,a4,c#5] ~ [e4,a4,c#5]@7 ~ [e4,a4,c#5]@6 [e4,a4,c#5] ~ [e4,a4,c#5]@3 ~, ~@78 c#4@6 c#5@5 ~@39]/8", // A E A D A E A D …
  C: "[~@4 [d4,f#4,a4]@5 ~ [d4,f#4,a4] ~ [d4,f#4,a4]@7 ~ [d4,f#4,a4]@5 ~ [d4,f#4,a4] ~ [d4,f#4,a4]@4]/2", // D
  D: "[~@4 [e4,g#4,b4]@5 ~ [e4,g#4,b4] ~ [e4,g#4,b4]@7 ~ [e4,g#4,b4]@5 ~ [e4,g#4,b4] ~ [e4,g#4,b4]@4]/2", // E
  E: "~@4 [e4,g#4,b4]@5 ~ [e4,g#4,b4] ~ [e4,g#4,b4]@4", F: "~@4 [e4,a4,c#5]@5 ~ [e4,a4,c#5] ~ [e4,a4,c#5]@4",
  G: "[e4,a4,c#5] ~@7", // A
  H: "[~@4 [e4,a4,c#5]@5 ~ [e4,a4,c#5] ~ [e4,a4,c#5]@7 ~ [e4,a4,c#5]@5 ~ [e4,a4,c#5] ~ [e4,a4,c#5]@7 ~ [e4,a4,c#5]@6 [e4,a4,c#5] ~ [e4,a4,c#5]@3 ~]/3", // A
  I: "~ [d4,f#4,a4] ~ [d4,f#4,a4]", J: "~@4 [e4,a4,c#5]@3 ~@5 [e4,a4,c#5]@4",
  K: "~@4 [d4,f#4,a4]@3 ~@5 [d4,f#4,a4]@3 ~", L: "~@4 [e4,a4,c#5]@3 ~@5 [d#4,f#4,b4]@3 ~",
  M: "~@4 [e4,g#4,b4]@4 ~@4 [e4,g#4,b4]@3 ~", N: "[e4,a4,c#5]@5 ~@3 [d4,g4,b4]@6 ~@2",
  O: "[d4,f#4,a4]@7 ~ [e4,g#4,b4]@5 ~@3", P: "~@4 [e4,a4,c#5]@3 ~@5 [d4,f#4,a4]@4",
  Q: "~@4 [e4,a4,c#5]@3 ~@5 [e4,g#4,b4]@3 ~", R: "[e4,g#4,b4]@5 ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~@7", S: "~@3 [e4,a4,c#5]",
  T: "~@2 [e4,a4,c#5] ~ [e4,a4,c#5]@7 ~ [e4,a4,c#5]@4", U: "~@2 [e4,a4,c#5] ~ [e4,a4,c#5]@3 ~@5 [d4,f#4,a4]@4",
  V: "~@2 [d4,f#4,a4] ~ [d4,f#4,a4]@7 ~ [d4,f#4,a4]@4", W: "~@2 [d4,f#4,a4] ~ [d4,f#4,a4]@4 ~@4 [e4,g#4,b4]@4",
  X: "~@2 [e4,g#4,b4] ~ [e4,g#4,b4]@7 ~ [e4,g#4,b4]@4", Y: "~@2 [e4,g#4,b4] ~ [e4,g#4,b4]@4 ~@4 [e4,g#4,b4]@4",
  Z: "~@2 [e4,g#4,b4] ~ [e4,g#4,b4]@4 ~@4 [e4,a4,c#5]@4", AA: "~@2 [e4,a4,c#5] ~ [e4,a4,c#5]@4 [e4,a4,c#5]@3 ~@5",
  AB: "~@3 [d4,f#4,a4]", AC: "~@4 [d4,f#4,a4]@3 ~@5 [e4,a4,c#5]@3 ~", AD: "~@4 [e4,a4,c#5]@3 ~@5 [d4,f#4,a4]@3 ~",
  AE: "~@4 [d#4,f#4,b4]@3 ~@5 [e4,g#4,b4]@4", AF: "~@4 [e4,g#4,b4]@3 ~@5 [d4,f#4,a4]@4",
  AG: "~@4 [e4,a4,c#5]@3 ~ [e4,a4,c#5]@5 ~@3", AH: "[d4,g4,b4]@6 ~@2 [d4,f#4,a4]@7 ~",
  AI: "[e4,g#4,b4]@5 ~@7 [e4,a4,c#5]@3 ~", AJ: "~@4 [e4,g#4,b4]@3 ~ [e4,a4,c#5]@5 ~@3",
  AK: "~@4 [e4,g#4,b4]@3 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~", // E A
  AL: "[d4,f#4,a4]@3 ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~", // D A
  AM: "[e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~@3 [e4,a4,c#5]@3 ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~", // E A
  AN: "[d4,f#4,a4]@3 ~@3 [d4,f#4,a4] ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5] ~@3", // D A
  AO: "[e4,g#4,b4] ~ [e4,g#4,b4] ~@5 [e4,a4,c#5]@3 ~ [e4,a4,c#5] ~@3", // E A
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(0.7)

// chords · acoustic guitar steel · "Guitar 2" · soft notes
const acoustic_guitar_steel_4 = note("<~@128 A B C D C D C D C D E>".pickRestart({
  A: "~@4 [d4,f#4,a4] ~@9 [e4,a4,c#5] ~", B: "~@4 [e4,g#4,b4] ~@9 [e4,a4,c#5] ~",
  C: "[d4,f#4,a4]@3 ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~", // D A
  D: "[e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~@3 [e4,a4,c#5]@3 ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~", // E A
  E: "[d4,f#4,a4]@3 ~ [d4,f#4,a4] ~@11", // D
})).s("gm_acoustic_guitar_steel").gain(0.05).pan(0.7)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~@8 A@2 B@4 C@2 D@3 E@2 F G F D H F@2 D@2 F@2 D@5 E@2 F G F D H E I D@2 E@2 J K E I D@2 L M N O L M N O E I D@2 E@2 J
  K E I D@2 L M N O L M N O P Q R@2 S T U V W X Y Z T AA R S T AB AC AD T AA R AE AF AG AB AH AF AG AB AH AF AG AB AI AJ
  AK AL AM AJ AK AL AM AJ AN AO ~@8
>`.pickRestart({
  A: "[a1@29 ~@3]/2", B: "[a1@19 ~@13]/2", C: "[a1@3 ~]/2", D: "a1@5 ~ a1 ~ a1@6 ~@2", E: "d2@5 ~ d2 ~ d2@7 ~",
  F: "e2@5 ~ e2 ~ e2@7 ~", G: "e2@5 ~ e2 ~ e2@5 ~@3", H: "a1 ~@7", I: "d2@5 ~ d2 ~ d2@3 ~ d2@4",
  J: "a1@5 ~ a1 ~ b1@3 ~ b1@3 ~", K: "e2@5 ~ e2 ~ e2@3 ~ e2@2 ~@2", L: "a1@5 ~ a1@2 g1@7 ~", M: "d2@5 ~ d2 ~ e2@8",
  N: "a1@3 a1 d2@4", O: "a1@6 a1 ~ e2 ~ e2 ~ e2@2 ~@2", P: "e2@2 ~@2 e2@2 ~@2 e2 ~@7", Q: "~@8 a1@5 ~ a1 ~",
  R: "a1@6 ~@2 a1@5 ~ a1 ~", S: "a1@6 ~@2 d2@5 ~ d2 ~", T: "d2@7 ~ d2@5 ~ d2 ~", U: "d2@7 ~ e2@5 ~ e2 ~",
  V: "e2@7 ~ e2@5 ~ e2 ~", W: "e2@5 ~@3 e2@6 e2 ~", X: "e2@6 ~@2 a1@5 ~ a1 ~", Y: "a1@3 ~ a1 ~@3", Z: "~@8 d2@5 ~ d2 ~",
  AA: "d2@3 ~ d2@4 a1@5 ~ a1 ~", AB: "d2@8 a1@6 a1 ~", AC: "b1@3 ~ b1@3 ~ e2@5 ~ e2 ~",
  AD: "e2@3 ~ e2@2 ~@2 d2@5 ~ d2 ~", AE: "a1@6 ~@2 a1@5 ~ a1@2", AF: "g1@7 ~ d2@5 ~ d2 ~", AG: "e2@4 a1@3 a1",
  AH: "e2 ~ e2 ~ e2@2 ~@2 a1@5 ~ a1@2", AI: "e2 ~ e2 ~ e2@2 ~@2 a1 ~ a1 ~ a1 ~ a1 ~",
  AJ: "d2@3 ~ d2 ~ a1@3 ~ a1@3 ~ a1@2", AK: "e2 ~ e2 ~ e2 ~ e2@2 a1 ~ a1 ~ a1 ~ a1 ~",
  AL: "d2@3 ~ d2 ~ a1@3 ~ a1 ~ a1 ~ a1 ~", AM: "e2@3 ~ e2@2 ~@2 a1 ~ a1 ~ a1 ~ a1 ~", AN: "e2 ~@3 e2 ~@3 a1 ~@7",
  AO: "d2@3 ~ d2 ~@11",
})).s("gm_electric_bass_finger").gain(0.25).pan(0.7)

// bass · electric bass finger · "Bass" · soft notes
const bass_soft = note("<~@129 A B C D E F C D G H>".pickRestart({
  A: "~@2 e2 ~@3 e2@2 ~@2 a1 ~ a1 ~ a1 ~", B: "~@6 a1@3 ~ a1 ~ a1 ~ a1 ~", C: "e2@3 ~ e2@2 ~@2 a1 ~ a1 ~ a1 ~ a1 ~",
  D: "d2@3 ~ d2 ~ a1@3 ~ a1@3 ~ a1@2", E: "e2 ~ e2 ~ e2 ~ e2@2 a1 ~ a1 ~ a1 ~ a1 ~",
  F: "d2@3 ~ d2 ~ a1@3 ~ a1 ~ a1 ~ a1 ~", G: "e2 ~ e2 ~ e2 ~ e2@2 a1 ~@5 a1 ~", H: "d2@3 ~ d2 ~@11",
})).s("gm_electric_bass_finger").gain(0.07).pan(0.7)

// drums · kick
const kick = s("bd").struct("<~@8 A@17 ~ A@17 ~ A@41 B C@8 D B C@24 E@2 F G E@2 F G H I D ~@8>".pickRestart({
  A: "x ~@2 x!2 ~@3", B: "~@4 x ~@2 x", C: "x ~@3 x ~@2 x", D: "x", E: "x ~ x ~ x ~@2 x", F: "x ~ x ~@2 x ~ x",
  G: "~ x!2 ~ x ~@2 x", H: "x!3 ~", I: "x!2",
})).gain(0.22)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@128 A B C D E@2 F D E G H>".pickRestart({
  A: "~@7 x", B: "~@2 x ~@4 x", C: "~@2 x ~@2 x ~ x", D: "~ x!2 ~ x ~@2 x", E: "x ~ x ~ x ~@2 x", F: "x ~ x ~@2 x ~ x",
  G: "x ~@3 x ~@2 x", H: "x",
})).gain(0.09)

// drums · snare
const snare = s("sd").struct("<~@119 A B C B D B C B D B C B D B ~@6>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~ x!2 ~@3 x ~", D: "~ x!3 ~@2 x ~",
})).gain(0.18)

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  ~@133
  [~ x!2 ~@3 x ~]
  [~ x ~ x]
  [~ x!3 ~@2 x ~]
  [~ x ~ x]
  [~ x!2 ~@3 x ~]
  [~ x ~@2]
>`).gain(0.04)

// drums · hihat
const hihat = s("hh").struct("<~@8 A@17 ~ A@17 ~ A@40 B C A@8 D C A@23 E F@11 G ~@7>".pickRestart({
  A: "~ x ~ x", B: "x!3 ~", C: "~@3 x", D: "~ x ~@2", E: "~@2 x ~ x!4", F: "x!8", G: "x!3 ~@5",
})).gain(0.31)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@131 [~@3 x!5] [x!8]!6 [x!6 ~@2]>").gain(0.09)

// drums · bongos
const bongos = s("bongo:18").struct("<~@8 A@17 ~ A@17 ~ A@40 ~@2 B@9 ~ B@25 C D B@2 C D B@2 C D B ~@7>".pickRestart({
  A: "~@5 x!2 ~", B: "~ x!2 ~@5", C: "x ~@6 x", D: "~ x ~ x ~@4",
})).gain(0.7)

// drums · bongos · soft notes
const bongos_soft = s("bongo:18").struct(`<
  ~@132
  [~ x!2 ~@5]
  [x ~@6 x]
  [~ x ~ x ~@4]
  [~ x!2 ~@5]!2
  [x ~@6 x]
  [~ x ~ x ~@4]
>`).gain(0.23)

// drums · congas
const congas = s("conga:13").struct("<~@120 A ~ A B A ~ A B A ~ A B ~@7>".pickRestart({
  A: "~@7 x", B: "x",
// … 39 more lines

More by Paul Simon