Strudelify

La favola mia

Zero

KeyD majorTempo74 bpm
0:00/0:00
// La favola mia — Zero
// 74 bpm, 4/4, key D 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: Full arrangement: all 80 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(74/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.

// bass · acoustic bass
const bass = note(`<
  ~ A B C@2 D@2 A@10 E F G H I J K L M F G H I J N O A@10 E F G H I J K L M F G H I J N P Q R S T U V W X Y@2 Z AA AB AC
  AD AB AD AB AC AE AF
>`.pickRestart({
  A: "c2@7 ~ c2@8 c2@8 c2@8", B: "c2@8 c2@8 c2@8 c2@7 ~", C: "c2@8 c2@8 c2@7 ~ c2@8", D: "c2!4",
  E: "c2@2 c2@10 c2@7 ~ c2@4 c3@4 c2@4", F: "c2 ~@11 c3@8 c2@4 ~@4 c2@3 ~, ~@2 c2@17 ~@5 c3@7 ~",
  G: "c2 ~ c2@6 c3@7 ~ c2@8 c3@4 c3@4", H: "c2 ~ c2@6 c3@8 c2@6 ~@6 c2@3 ~, ~@11 c3@5",
  I: "d2 ~ d2@6 d3@6 d2 ~ d2@8 ~@4 d2@3 ~, ~@24 d3@7 ~", J: "g1 ~ g1@11 ~ d2@2 g2@2 d2@2 g1@2 d2@3 ~ d2@2 g2@4",
  K: "f1@2 f1@10 f2@2 f#2@2 g2@2 d2@2 g1@2 g1@3 ~ g1@2 g2@2 g1@2", L: "c2 ~ c2@4 c3@8 c2@2 ~@2 c2 ~ c3@4 c2@3 ~ c2@4",
  M: "c2 ~ c2@10 c2@7 ~ c2@4 c3@4 c2@4", N: "f2@5 ~ f2@4 f1@2 f2@2 g2@4 g1@3 ~ a1@4 b1@2 c2@2 d2@2",
  O: "c2@3 ~ c2@6 ~@2 c2@2 c3@4 c2@3 ~ c2@2 ~@2 c2@2 c3@2 c2@2",
  P: "c2@4 ~@2 c2@2 c3@2 c2@2 b1@2 a#1@2 a1@5 ~ a1@2 a2@2 a1@2 ~@2 a1@2", Q: "d2@2 d2@10 d2@7 ~ d2@4 d3@4 d2@4",
  R: "d2 ~@11 d3@8 d2@4 ~@4 d2@3 ~, ~@2 d2@17 ~@5 d3@7 ~", S: "d2 ~ d2@6 d3@7 ~ d2@8 d3@4 d3@4",
  T: "d2 ~ d2@6 d3@8 d2@6 ~@6 d2@3 ~, ~@11 d3@5", U: "g1@6 ~ d2 g2 d2 g1@4 d2 g2",
  V: "a1@2 ~ a1@2 e2 a2 e2 a1@3 a2@2 e2 a1@2", W: "g1 ~ g1@9 ~ g2@4 ~@4 a1@4 a#2@8, ~@16 a2@7 ~@9",
  X: "b2@5 ~ b2@3 b1@3 b2@2 b1@2 a2@6 a1@3 ~ a1@2 a2@2 a1@2", Y: "[g2@16 a2@43 ~@5]/2",
  Z: "d2@8 d3@8 d2@5 ~ d3@6 f#2@4", AA: "d2 ~ d2@4 d3 ~ d3@4 d2@2 d2@4 d3@2 ~@2 d2 ~ d2@4 d3@4",
  AB: "d2 ~ d2@4 d3 ~ d3@3 ~ d2@2 d2@4 d3@3 ~ d2@2 ~@2 d2@2 d3@2 d2@2",
  AC: "d2 ~ d2@5 ~ d3 ~ d3@5 ~ d2 ~ d2@2 ~@2 d3@2 ~@2 d3@3 ~ d2@2",
  AD: "d2 ~ d2@3 ~ d3@2 ~@2 d2@3 ~ d2@4 d3@3 ~ d2 ~ d2@2 d3@4 d2@2",
  AE: "d2 ~ d2@3 ~ d3@2 ~@2 d2@3 ~@3 b2@4 d3@2 b2@3 ~ d3@2 b2@2 ~@2", AF: "d3 a2 d2@14",
})).s("gm_acoustic_bass").gain(0.48)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@5 B C@3 D@2 E@5 F@3 G@2 H I J K L@2 M N H I O P@3 D@2 E@5 F@3 G@2 H I Q K L@2 G@2 H I O R S@2 T@2 U V W X Y@2 Z@2
  AA@2 Z@4 AB@3
>`.pickRestart({
  A: "[~@32 e4@4 [g3,c4,e4]@4 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 ~@2 c3@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@3 ~ [c4,e4]@4 g3@2 [c3,g3]@2 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 g3@2 [c3,g3]@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@4 g3@2 [e3,g3]@2 [g3,c4,d4]@2 [c3,g3,c4,e4]@4 g3@2 [c3,g3]@2 ~@2 c3@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@3 ~ [c4,e4]@4 g3@2 [c3,g3]@2 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 g3@2 [c3,g3]@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]!2, ~@31 c3@11 c3@7 ~@14 [c3,g3]@7 ~@4 c3@7 ~@14 c3@11 ~@21 [c3,g3]@7 ~@4 c3@7 ~@15, ~@31 [g3,c4]@4 ~@15 [g3,c4,e4]@4 [g3,c4,d4]@4 ~@10 [c4,e4]@4 ~@10 [c4,e4]@4 [g3,c4,d4]@4 ~@5 e3@4 ~ [c4,e4]@4 ~@6 [c4,f4]@4 [g3,c4,e4]@4 [g3,c4,d4]@4 ~@10 [c4,e4]@4 ~@10 [c4,e4]@4 [g3,c4,d4]@4 ~@6]/5", // C Gsus4 C Csus4 C C5 Gsus4 C …
  B: "[g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 ~@2 c3@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]!2, e3@10 c3@7 ~ [g3,c4,e4]@4 [g3,c4,d4]@4 ~@6", // C Gsus4 C Csus4 C Gsus4
  C: "[[c3,g3,c4,e4]@4 g3@2 [c3,g3]@2 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 g3@2 [c3,g3]@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@3 ~ [c4,e4]@4 [g3,c4,e4]@4 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 ~@2 c3@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@3 ~ [c4,e4]@4 [g3,c4,e4]@2 [c3,g3,c4,e4]@2 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 g3@2 [c3,g3]@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@4, ~@4 [c4,e4]@4 ~@2 c3@7 ~ [c4,e4]@4 [g3,c4,d4]@4 ~@5 c3@10 ~ c3@7 ~@14 [c3,g3]@7 ~@4 c3@7 ~@15, ~@31 g3@4 ~@15 [g3,c4,e4]@4 [g3,c4,d4]@4 ~@24 [c4,e4]@4 [g3,c4,d4]@4 ~@6]/3", // C C5 Gsus4 C Csus4 C5 C Gsus4 …
  D: "[[c3,g3,d4]@4 [c3,g3,d4]@4 [c3,g3,d4]@2 [c3,g3,d4]@2 [c3,g3,d4]@2 [c3,g3,d4]@4 ~@8 [c3,g3,d4]@2 [c3,g3,d4]@3 ~ [g3,d4]@4 g3@2 [g2,g3]@2 [c3,g3,d4]@2 [c3,g3,d4]@2 [c3,g3,d4]@2 [c3,g3,d4]@4 c3@2 [g2,c3]@2 ~@2 g2@2 [c3,g3,d4]@2 [c3,g3,d4]@2 [c3,g3,d4]!2, g2@10 g2@7 ~ [c3,g3,d4]@4 [c3,g3,d4]@4 ~@10 d4@4 ~@10 [g3,d4]@4 ~@10, ~@20 g2@4 g2@6 ~ [g2,c3]@7 ~@4 g2@7 ~@5 [c3,g3,d4]@4 ~@6]/2", // Csus2 G5 G Csus2 C5 Csus2 G5 C5 …
  E: "[[g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 ~@2 c3@2 ~@4 [g3,c4,e4]@2 [g3,c4,e4]@3 ~ [c4,e4]@4 [g3,c4,e4]@4 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 ~@2 c3@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@3 ~ [c4,e4]@4 [g3,c4,e4]@2 [c3,g3,c4,e4]@2 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 g3@2 [c3,g3]@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@3 ~ [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 ~@8 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [c4,f4]@4 c4@2 [c3,c4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 a3@2 [c3,a3]@2 ~@2 c3@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]!2, c3@9 ~ c3@7 ~ [g3,c4,e4]@4 [g3,c4,d4]@4 ~@5 g3@5 ~@14 [g3,c4,e4]@4 [g3,c4,d4]@4 ~@24 [c4,e4]@4 [g3,c4,d4]@4 ~@24 [a3,c4,f4]@4 [a3,c4,f4]@4 ~@10 f4@4 ~@10 [c4,f4]@4 [a3,c4,f4]@4 ~@6, ~@24 c3@6 ~ c3@9 ~@2 c3@7 ~@14 [c3,g3]@7 ~@4 c3@7 ~@14 c3@10 ~ c3@7 ~@3 c3@4 c3@6 ~ [c3,a3]@6 ~@5 c3@7 ~@15]/5", // C Gsus4 C Csus4 C Gsus4 C Csus4 …
  F: "[[c3,g3,c4,e4]@4 ~@2 c3@2 [g3,c4,d4]@2 [c3,g3,c4,e4]@2 [c3,g3]@2 [g3,c4,f4]@2 [c3,g3]@2 [g3,c4,e4]@2 c3@2 [g3,c4,d4]@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@3 g3 [g3,c4]@4 [g3,c4]@5 ~ [g3,c4] ~@3 [g3,c4]@6 g3 ~@5 [g3,c4]@3 ~@3 c4@13 ~@9 [a3,c4]@10, ~@4 [g3,c4,e4]@4 ~@23 c3@7 ~@25 [f3,a3]@13 ~@8 f3@7 ~@5]/3", // C Gsus4 C C5 Csus4 C5 C Gsus4 …
  G: "[[e3,g3,c4] ~ [e3,g3,c4]@11 ~ g3@2 [d3,e3] ~ [e3,g3]@2 ~@2 [g3,c4] ~@3 [g3,c4]@4 ~@2 [f3,a3]@7 ~ [f3,a3]@10 [a3,c4]@2 ~@2 [a3,c4] ~@3 [a3,c4]@2 f3@2 [a3,c4]@2, ~@7 c4@3 c3@5 [g3,c4] ~@10 f3@2 ~@4, ~@31 c3@8 ~ c3@7 ~@17]/2", // C Dsus2 Em C5 F Am C5
  H: "[a3,d4]@2 ~@2 f3@6 ~@4 d4@7 ~@3 a3@2 ~@2 f3@3 ~, ~@2 d4@10 a3@8 ~@4 d4@7 ~, ~@2 a3@8 f3@11 ~ f3@4 a3@5 ~", // D5
  I: "[d3,b3] ~ [d3,b3]@2 ~@2 [d3,b3]@4 d3@2 [d3,b3] ~@5 d3 ~ [d3,b3]@2 d3@2 ~@2 d3 ~ [d3,b3]@2 [d3,b3]@2, ~@4 g2@5 ~@5 [d3,b3]@5 ~@3 b3@5 ~@5, ~@16 g2@5 ~@3 g2@4 ~@4", // G
  J: "~@4 [a3,f4] ~@3 a3@4 a3@5 ~ [f3,d4] ~ [f3,d4]@4 f3 ~ [f3,d4]@5 ~, ~@8 f4@9 ~@15", // Dm
  K: "[e3,c4] ~@3 [e3,c4]@3 ~ [e3,g3]@2 ~@4 c4@2 ~@2 e3@2 e3 ~ e3@2 ~@2 e3@2 e3@2 e3@2, ~@8 c4@4 e3@5 ~ c4@10 c4@4, ~@10 c3@5 ~ c3@6 ~@2 c3@6 ~@2", // C Em
  L: "[g3@3 ~ [g3,c4]@5 ~ [g3,c4] ~@3 [g3,c4]@6 g3 ~@5 [g3,c4]@3 ~@3 c4@13 ~@9 [a3,c4]@6 ~@2 [c3,g3,c4]!2, c4 ~@30 [f3,a3]@13 ~@8 f3@7 ~@5]/2", // C5 Am C5 F
  M: "[e3,g3,c4] ~ [e3,g3,c4]@11 ~ g3@2 [d3,e3] ~ [e3,g3]@2 ~@2 [g3,c4] ~@3 [g3,c4]@4 [g3,c4]@2, ~@7 c4@3 ~@6", // C Dsus2 Em C5
  N: "[f3,a3]@7 ~ [f3,a3]@10 [a3,c4]@2 ~@2 [a3,c4] ~@3 [a3,c4]@2 f3@2 [a3,c4]@2, ~@5 f3 ~@2", // F Am
  O: "~@4 [a3,f4] ~@3 a3@4 ~@6 [f3,d4] ~ [f3,d4]@4 f3 ~ [f3,d4]@5 ~, d3@12 a3@5 ~@15, ~@8 f4@9 ~@15, ~@14 g2@13 ~@5", // Dm
  P: "[[e3,c4] ~@3 [e3,c4]@3 ~ [e3,g3]@2 ~@4 c4@2 ~@2 e3@2 e3 ~ e3@2 ~@2 e3@2 e3@2 e3 ~ [c4,e4]@4 [g3,c4,e4]@4 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 ~@2 c3@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@3 ~ [c4,e4]@4 [g3,c4,e4]@2 [c3,g3,c4,e4]@2 [g3,c4,d4]@2 [g3,c4,e4]@4 [g3,c4,f4]@4 g3@2 [c3,g3]@2 ~@2 c3@2 [g3,c4,e4]@2 [g3,c4,e4]@4, ~@8 c4@4 e3@5 ~ c4@10 c4@4 ~@18 [g3,c4,e4]@4 [g3,c4,d4]@4 ~@24 [c4,e4]@4 [g3,c4,d4]@4 ~@6, ~@10 c3@5 ~ c3@6 ~@2 c3@6 ~ g3@4 ~@7 c3@7 ~@14 [c3,g3]@7 ~@4 c3@7 ~@15]/3", // C Em C Gsus4 C Csus4 C Gsus4 …
  Q: "~@4 [a3,f4] ~@3 a3@4 ~@6 [f3,d4] ~ [f3,d4]@4 f3 ~ [f3,d4]@5 ~, f2@12 a3@5 ~@15, ~@8 f4@9 ~@15, ~@14 g2@13 ~@5", // Dm
  R: "[e3,c4] ~@3 [e3,c4]@3 ~ [e3,g3]@2 ~@4 c4@3 ~ e3@2 e3 ~ e3@2 ~@2 e3@2 e3@2 e3@2, ~@8 c4@4 e3@5 ~ a3@10 a3@4, ~@10 c3@5 ~@9 c#3@6 ~@2", // C Em
  S: "[d4@3 ~ [a3,d4]@5 ~ [a3,d4] ~@3 [a3,d4]@6 a3 ~@5 [a3,d4]@3 ~@3 d4@13 ~@9 [b3,d4]@6 ~@2 [d3,a3,d4]!2, a3 ~@30 [d3,g3,b3]@13 ~@4 g2@4 g3@7 ~@5, ~@25 d3@5 ~@2]/2", // D5 Bm D5 G
  T: "[[f#3,a3,d4] ~ [f#3,a3,d4]@11 ~ a3@2 f#3 ~ [f#3,a3]@2 ~@2 [a3,d4] ~@3 [a3,d4]@4 ~@2 b3@7 ~ [g3,b3]@8 ~@2 [b3,d4]@2 ~@2 [b3,d4] ~@3 [b3,d4]@2 g3@2 [b3,d4]@2, ~@7 d4@3 d3@5 [a3,d4] ~@10 g3@2 ~@4, ~@31 [d3,g3]@8 ~ d3@7 ~ d3@15 ~]/2", // D F#m D5 G Bm D5 G5
  U: "[b3,d4]@2 ~@12 d4@6 ~@4 b3@2 ~@2 g3@3 ~, ~@2 d4@12 ~@10 d4@7 ~, ~@2 b3@9 ~ b3@8 ~@6 b3@5 ~, ~@4 g3@6 g3@11 ~ g3@5 ~@5, ~@6 d3@10 ~@4 d3@7 ~@5", // Bm
  V: "[e3,c#4] ~ [e3,c#4]@2 ~@2 [e3,c#4]@4 e3@2 [e3,c#4] ~@5 e3 ~ [e3,c#4]@2 e3@2 ~@2 e3 ~ [e3,c#4]@2 [e3,c#4]@2, ~@4 a2@5 ~@5 [e3,c#4]@5 ~@3 c#4@5 ~@5, ~@16 a2@5 ~@3 a2@4 ~@4", // C#m
  W: "~@4 [b3,g4] ~@3 b3@4 ~@6 [g3,e4] ~ [g3,e4]@4 g3 ~ [a#3,e4]@5 ~, g3@7 ~ g4@9 ~@15, ~@12 b3@5 ~@15, ~@14 a2@13 ~@5", // Em C A#dim
  X: "[f#3,d4] ~@3 [f#3,d4]@3 ~ [f#3,a3]@2 ~@4 d4@2 ~@2 f#3@2 f#3 ~ f#3@2 ~@2 f#3@2 f#3@2 f#3@2, ~@8 d4@4 f#3@5 ~ b3@10 b3@4, ~@10 d3@5 ~ b2@6 ~@2 d3@6 ~@2", // D F#m
  Y: "[[g3,b3]@4 [e3,c#4]@11 ~]/2", // G C#m
  Z: "[[a3,d4]@3 ~ [a3,d4]@5 ~ [a3,d4] ~@3 [a3,d4]@6 a3 ~@5 [a3,d4]@3 ~@3 d4@13 ~@9 [b3,d4]@10, ~@31 [g3,b3]@13 ~@8 g3@7 ~@5]/2", // D5 Bm G
  AA: "[[f#3,a3,d4] ~ [f#3,a3,d4]@11 ~ a3@2 f#3 ~ [f#3,a3]@2 ~@2 [a3,d4] ~@3 [a3,d4]@4 ~@2 [g3,b3]@7 ~ [g3,b3]@8 ~@2 [b3,d4]@2 ~@2 [b3,d4] ~@3 [b3,d4]@2 g3@2 [b3,d4]@2, ~@7 d4@3 d3@5 [a3,d4] ~@10 g3@2 ~@4, ~@31 d3@8 ~ d3@7 ~ d3@15 ~]/2", // D F#m D5 G Bm D5
  AB: "[[f#3,a3,d4] ~ [f#3,a3,d4]@11 ~ a3@2 f#3 ~ [f#3,a3]@2 ~@2 [a3,d4] ~@3 [a3,d4]@4 ~@2 [g3,b3]@7 ~ [g3,b3]@8 ~@2 [b3,d4]@2 ~@2 [b3,d4] ~@3 [b3,d4]@2 g3@2 ~@3 d4@25 ~@6, ~@14 d4@6 d3@10 [a3,d4]@2 ~@20 g3@4 ~@6 [b3,d4]@2 a3@25 ~@7, ~@31 d3@8 ~ d3@7 ~ d3@15 f#3@26 ~@7]/3", // D F#m D5 G Bm D5 Bm
})).s("gm_acoustic_guitar_steel").gain(0.29).pan(0.4)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~@17 A B C D E F@2 G A B H D I J@2 K@2 ~@4 L ~ M N ~ O P Q R@2 S T U V W X Y@2 S Z AA@2 AB AC AD@6 ~ AE AF AG AH AE AF
  AE AF AG AI@2
>`.pickRestart({
  A: "~@6 e4@5 ~@3 d4@2, ~@4 c4@17 ~ c4@10, ~@6 g4@17 ~@3 e4@6",
  B: "~@3 g4@3 f4@5 ~@2 c4@3, ~@2 a3@19 ~ a3@10, ~@2 c4@9 ~@5",
  C: "~@6 c4@7 ~ d4 ~, ~@3 g3@4 ~@9, ~@7 c4@3 d4@4 ~@18, ~@8 e4@16 ~@2 e4@5 ~",
  D: "~@3 g4@3 f4@4 ~@4 c4@2, ~@2 c4@7 ~ c4@3 f4@3, ~@11 g4@5",
  E: "~@6 c4@2 ~@3 d4@2 ~@2 c4, ~ a3@5 ~@3 f3@3 ~ f3@3, ~@2 c4@3 e4@3 ~@2 a3@3 ~ a3@2, ~@6 f4@11 ~@15",
  F: "[[g3,b3]@6 [a3,c4]@5 ~ [b3,d4]@6 [c4,e4]@5 ~@3 e4@2 d4@2 ~ f3@5 [f3,a3,c4]@4 [f3,c4] ~ [a3,c4]@9 ~@7 b3@6, ~@24 f4@6 [a3,c4]@5 ~@7 f3@6 ~@4 g3@11 ~, ~@27 d4@5]/2", // G Am Bm C F F5 Am
  G: "~@12 c4@9 ~@9 c4@2, ~@2 c4@3 e4@6 c4@3 e4@2, ~@3 g4@7 ~@2 g4@4",
  H: "~@6 c4@7 ~ d4 ~, ~@7 c4@3 d4@4 ~@18, ~@8 e4@16 ~@2 e4@5 ~",
  I: "~@7 a3 ~@3 d4@2 ~@2 c4, ~@2 c4@3 e4@3 ~@2 a3@3 ~ a3@2, ~@6 f4@11 ~@15, ~@6 c4@2 ~ f3@3 ~ f3@3",
  J: "[[g3,b3]@6 [a3,c4]@5 ~ [b3,d4]@6 [c4,e4]@5 ~@3 e4@2 d4@2 [a3,c4]@5 ~ [a3,c4]@4 c4 ~ [a3,d4]@9 ~@7 b3@6, ~@24 f4@7 ~@21 g3@11 ~, ~@27 d4@5]/2", // G Am Bm C Am D5
  K: "[~@12 c4@9 ~@7 e4@3 ~ [e4,g4]@28 ~@4, ~@4 c4@6 e4@12 c4@6 ~@3 c4@28 ~@5, ~@3 g4@7 ~@2 g4@4 ~@16]/2", // Em
  L: "c3@6 ~@2 g4@21 ~@3, ~@3 c4@12 ~", M: "~@3 d3@3 ~@8 d4@2, g2@12 g3@19 ~", N: "~@6 b3 a3",
  O: "~@2 g4@2 ~@4 g5@9 ~@7 g5@2 e5@6, ~@4 c5@13 ~@3 c5@11 ~",
  P: "~@8 f5@7 ~@13 c5@4, ~@4 c5@10 ~@2 c5@11 ~@5, ~@5 f5@3", Q: "~@8 g5@6 ~@6 g5@5 ~ e5@6, ~@2 c5@5 ~ c5@5 ~@3",
  R: "[~@8 f5@6 ~@6 f5@9 ~@3 f5@4 ~@8 c4@4 ~@6 d4@6 ~@2 c4@2, ~@4 c5@11 ~ c5@13 ~@2 d5@4 ~ c4@6 e4@5 ~@5 a3@6 ~@2 a3@4, ~@38 f4@9 ~@17]/2",
  S: "b4 [g4,b4] g4 [g4,b4] ~@3 [a4,c5] c5 [a4,c5] a4 ~ d5 [b4,d5] b4 [b4,d5] d5 ~ e5 [c5,e5] c5 [c5,e5] e5 ~ [d5,f5] ~ [c5,e5] ~ [b4,d5] ~@3", // G Am Bm C Dm C Bm
  T: "~@4 [a3,c4]@4 c4 ~@5 g2@6 ~@4 g2@2 b3@6, ~@10 [a3,c4]@9 ~ g3@11 ~, ~@11 d4@5", // Am
  U: "~ g4 ~@2 g5@3 ~@3 g5@4 ~@2, ~@2 c5@5 g4@2 ~@7, ~@4 c5@3 ~", V: "~ g4 ~@2 g5@3 ~@3 g5@4 ~@2, ~@2 c5@5 ~ c5@6 ~@2",
  W: "~ a4 ~@2 f5@4 ~@2 f5@4 ~@2, ~@2 c5@5 ~ c5@6 ~@2", X: "~@2 g5@2 ~ g5@2 ~, ~@2 c5@5 ~ c5@6 ~@2",
  Y: "[~@4 f5@4 ~@2 f5@4 ~@9 a3 ~@7 c4, ~@4 c5@10 ~@2 c5@12 ~@3 d5@7 f4@9 ~@5 a3@6 f3@6, ~@32 f5@9 ~ e4@5 ~@3 f3@4 d4@6 a3@4, ~@44 c4@4 a2@7 ~ a2@6 ~@2]/2",
  Z: "~@4 [a3,c4]@4 c4 ~ [a3,c4]@9 ~@7 b3@6, ~@11 d4@5", // Am
  AA: "[~@12 c4@6 ~@10 e4@3 ~@5 d5@3 ~@7 d4@4 ~@4 a3@2 [f#4,d5]@3 ~ [f#4,d5]@2 a3@2, ~@4 c4@6 e4@8 ~@4 c#4@6 ~@3 d4@14 ~@7 d4@7 ~@5, ~@6 g4@11 ~@7 g4@8 f#4@15 ~@3 f#4@5 ~@9, ~@40 d5@9 ~@15, ~@42 a3@11 ~@11]/2", // D
  AB: "[g4,d5]@3 ~ [g4,d5]@3 ~ [g4,d5]@3 ~@3 a3@3 ~ d4@2 g4@2 a3@2 [g4,d5]@3 ~ [g4,d5]@4, ~@12 d5@11 ~@9, ~@12 g4@7 ~@13", // G5
  AC: "~@2 [f#4,d5]@3 ~ [f#4,d5] ~ [f#4,d5]@3 ~ [f#4,d5]@3 ~ [f#4,d5]@3 ~ [f#4,d5]@3 ~@3 d4@2 ~@2 [f#4,d5]@2, ~@24 [f#4,d5]@5 ~@3", // D
  AD: "[~@2 a3 ~ [g4,d5]@3 ~ [g4,d5]@3 ~@3 a3@3 ~ [g4,d5]@2 [g4,d5]@2 a3@2 [g4,d5]@3 ~ [g4,d5]@2 ~@6 b4@5 ~ [g3,d4]@3 ~ [g3,d4]@4 ~@2 [g3,d4]@6 [g3,d4]@4 ~@2 a5@7 ~ a5@4 d5@4 c#5@8 b4@4 a4@3 ~ g5@8 ~@8 d5@4 ~@4 e5@4 c#4@3 ~@5 f#5@4 d5@4 b4@4 a4@4 d5@4 ~@4 a4@3 ~ [d5,g5]@16 ~@16, ~@12 [g4,d5]@4 ~@14 b4@5 ~@27 a4@9 ~@24 [b4,d5]@10 ~@3 d4@8 b3@8 ~@68, ~@31 d5@10 ~@22 [d5,e5]@9 ~@39 [g4,b4]@5 ~@3 [a#4,c#5]@6 ~@2 f#4@5 ~@27 b4@17 ~@16, ~@32 g5@9 ~@87 [b4,d5]@7 ~@17 f#5@7 ~@33]/6", // G5 Bm Dsus2 G A#m Bm
  AE: "~@3 f#5@12 ~, f#4@4 d5@17 ~@11, ~ a4@8 ~@7", AF: "~@3 g5@11 ~@2, g4@7 ~@25, ~@2 b4@19 ~@11, ~ d5@6 ~",
  AG: "~@3 f#5@11 ~@2, f#4 d5@5 ~@2, ~ a4@8 ~@7", AH: "~@6 g5@23 ~@3, g4@4 d5@23 ~@5, ~@2 b4@19 ~@11",
  AI: "[~@6 g5@23 ~@3 f#5@30 ~@2, g4@4 d5@23 ~@4 a4@31 ~@2, ~@2 b4@19 ~@9 d4@32 ~@2]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.38).pan(0.7)

// chords · orchestral harp
const orchestral_harp = note(`<
  ~@3 A ~@2 B ~@5 C ~@2 D E ~@8 F G H ~ I J ~@9 K D E ~@5 L M N O P Q R I L M S T U V U W X Y Z ~@2 AA AB AC AD AA AB AA
  AB AC AD ~
>`.pickRestart({
  A: "g6 c6 ~@2 g6 c6 ~ g6 c6 ~ g6 c6 ~ g6 c6 ~ g6 c6 ~ g6 c6 g6 ~ c6 g6 c6 g6 ~ c6 ~@3",
  B: "~@4 g6 d6 b5 g6 d6 b5 g6 ~ d6 b5 g6 d6 b5 g6 d6 b5 g6 d6 ~ b5 g6 d6 b5 ~@5",
  C: "~@4 g6 e6 c6 g6 e6 c6 g6 ~ e6 c6 g6 e6 c6 g6 e6 c6 g6 ~ e6 c6 g6 e6 c6 ~@5",
  D: "~@4 g6 d6 b5 g6 d6 b5 g6 ~ d6 b5 g6 d6 b5 g6 d6 b5 g6 d6 ~ b5 g6 d6 b5 g6 d6 b5 g6 d6", E: "~ b5 ~@30",
  F: "~@14 e5 ~", G: "f5@4 ~@8 [a5,c6] [g5,b5] [a5,c6]@2", H: "[e5,g5]@11 ~@21", I: "~@8 f5 e5@2 d5@2 c5@3",
  J: "b4@3 c5@3 d5@3 e5@3 f5 e5 d5@2", K: "d6 ~ a6 ~ d6 ~ a6 ~ d6@2 a6 ~ d6 ~ a6 ~ d6 ~ a6 ~@13",
  L: "b4 [b4,d5] d5 b4 ~ c5 e5 c5 e5 c5 ~@2 d5 [d5,f5] f5 d5 f5 ~ e5 g5 e5 g5 ~@2 f5 a5 [e5,g5] ~ f5 d5 f5 d5", // Bm Dm Em
  M: "[d5,f5] f5 d5 f5 d5 f5 d5 ~@25", N: "~@2 g6@2 ~@12 g5@2 g6@2 ~@2 g6@3 ~ g6@2 ~@2 g6 ~, g5@7 ~@25",
  O: "~@2 g6@2 ~@2 g6@2 ~@2 g6@2 ~ g6@2 ~ g6@2 ~@2 g6@2 ~ g6 ~@8, g5@3 ~@13",
  P: "~@2 g6@2 ~ g6@2 ~ g6@2 ~ g6@2 ~ g6@2 ~ g6@2 g6 ~@2 g6 ~@9, g5 ~@7",
  Q: "~@9 g5@2 g6@2 ~ g6@2 ~ g6@2 ~ g6@2 ~ g6@2 ~ g6@2 ~ g6 ~@2", R: "~@12 g5@2 g6@2 ~ g6@2 g6@2 ~ g6@2 ~ g6 ~ g6 ~@4",
  S: "~@16 [a4,c#5] ~ [b4,d5] ~ [c#5,e5] ~ [d5,f#5] ~ [e5,g5] ~ [f#5,a5] ~ [g5,b5] ~ [e5,g5] ~", // A Bm C#m D Em F#m G Em
  T: "[f#5,a5] f#5 d5 a4 a5 ~ d5 a4 a5 d5 a4 a5 d5 a5 ~ a4, ~@8 d5 ~ f#5@4 ~@14 d5@4", // F#m
  U: "b5@2 d5@2 g5@2 b5@2 d5 ~ g5 ~ b5@2 d5@2 g5@2 b5@2 d5@2 g5 ~ b5@2 d5@2 g5@2 d5 ~",
  V: "a5 f#5 d5 a4 a5 ~ d5 a4 a5 d5 a4 a5 d5 a5 ~ a4, ~@5 f#5@2 ~@7 d5@2",
  W: "d5 ~@2 d6@2 ~ d6@2 b5 d6@2 b5 d6@2 b5 d6, ~ g5@2 ~@13, ~@4 b5@4 ~@2 b5@5 ~@17",
  X: "~@2 c#6 ~ e6 ~ c#6 ~ a6 ~ c#6 ~ e6 ~ c#6 ~@3 c#6 ~ e6 ~ c#6 ~ a6 ~ c#6 ~ e6 ~ c#6 ~",
  Y: "~@2 b4 ~ d5 ~ b4 ~ g5 ~ b4 ~ d5 ~@5 b4 ~@5 a#4 ~ c#5 ~ e5 ~@3",
  Z: "~@2 d5 ~ f#5 ~ d5 ~ b5 ~ d5 ~ f#5 ~@5 d5 ~ f#5 ~ d5 ~ b5 ~ d5 ~ f#5 ~@3",
  AA: "~@2 [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~", // D
  AB: "~@6 [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ g5@2, ~@30 d5 ~", // G5
  AC: "~@6 [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ [d5,f#5] ~ f#5@2, ~@30 d5 ~", // D
  AD: "~@10 [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~ [d5,g5] ~", // G5
})).s("gm_orchestral_harp").gain(0.29)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~ A@8 B@2 C@2 D E@2 F G@7 H I J K L@2 ~@5 B@2 C@2 D E@2 M N@7 H I J K L@2 O P Q R@4 S T U V ~@2 W X W X Y Z Y Z Y AA
  AB
>`.pickRestart({
  A: "[c1@125 ~@3]/8", B: "[~@20 g2@43 ~, d3@63 ~]/2", C: "[g3,c4]/2", D: "c3@3 [g4,e5]", E: "[a4,f5]/2", F: "[g4,e5]",
  G: "[e3@31 f3@32 e3@32 ~@33 d2@31 [g2,b3]@32 [f2,a3]@16 ~ g2@16, c2 ~@94 f3@65 ~@47 b3@17]/7", H: "[c2,c4]@15 ~",
  I: "~ c6, g5", J: "[f5,a5,f6]", K: "g5 c6, e5", L: "[c5 d5, [a5,f6]]/2", M: "[c3,e5]",
  N: "[[c2,e3]@31 f3@32 e3@32 ~@33 d2@31 [g2,b3]@32 [f2,a3]@16 ~ g2@16, ~@95 f3@65 ~@47 b3@17]/7", O: "g5", P: "f5",
  Q: "e5 ~", R: "d5/4", S: "b4@31 ~", T: "d5 c#5, a4", U: "b4 c#5", V: "d5", W: "a4", X: "b4", Y: "[a4,a6]",
  Z: "[b4,b6]", AA: "[g6,b6]", AB: "[f#6,a6]",
})).s("gm_string_ensemble_2").gain(0.38).pan(0.4)

// chords · trumpet
const trumpet = note("<~@71 A B C D C D E F G>".pickRestart({
  A: "a5@3 ~ f#5 ~ d5@12 ~@4 a4 ~ d5 ~ f#5 ~ a5@2 f#5 ~", B: "b5@4 g5 ~ d5@10 ~@6 b4 ~ d5 ~ g5 ~ b5@2 g5 ~",
  C: "[f#4,a5]@3 ~ [d4,f#5] ~ a3@15 ~ a4 ~ d5 ~ f#5 ~ a5 ~ f#5 ~, ~@3 d5@5 ~@8", // F#m D
  D: "[g4,b5]@3 ~ [d4,g5] ~ [b3,d5]@10 ~@2 b3@2 ~@2 b4 ~ d5 ~ g5 ~ b5@2 g5 ~", // G G5 Bm
  E: "[f#4,a5]@4 [d4,f#5] ~ [a3,d5]@10 ~@6 a4 ~ d5 ~ f#5 ~ a5@2 f#5 ~", // F#m D D5
  F: "[g4,b5]@4 [d4,g5] ~ [b3,d5]@12 ~@4 b4 ~ d5 ~ g5 ~ b5 ~ g5 ~", G: "[f#4,a5]",
})).s("gm_trumpet").gain(0.57).pan(0.2)

// chords · epiano1
const epiano1 = note(`<
  ~@17 A@2 B@2 C D E@2 A@2 F G C D H@2 ~@4 I ~@5 A@2 B@2 C D E@2 A@2 F G C D J K L@2 M@2 N O P Q R@2 S@2 T@2 U V U V W X
  Y
>`.pickRestart({
  A: "[~@16 c4@2 ~@8 g3@5 ~ d5@14 ~@4 [a5,c6] ~@3 b5@2 [f5,a5] ~ [f5,a5]@5 ~, [c3,g3]@18 c5@13 [f4,a4]@15 ~@8 g5 ~@9, ~@9 g4@22 c2@32 ~]/2", // Am F C5 F
  B: "[~@22 [d5,f5]@2 [e5,g5]@7 ~ [f5,a5]@20 ~@4 [d5,f5]@2 [d5,f5] ~@3 [c5,e5]@2, c3@25 ~@7 c3@30 ~@2, [c5,e5]@18 g4@7 ~@27 [f5,a5]@6 ~@6, ~@8 c4@4 ~@15 [e5,g5]@2 ~@3, ~@20 [c5,e5]@5 ~@6 c5@26 ~@7]/2", // Dm Em F Dm C F Em C
  C: "~@7 [c5,a5]@3 ~@3 c5@3, [d3,f4,d5]@5 [f5,c6]@3", // F Dm F5
  D: "~@6 [e4,c5]@6 ~@12 [a4,f5] ~ [g4,e5] ~ [a4,f5]@3 ~, [g2,d4,b4]@6 [f4,d5]@5 g2@5, ~@18 [g4,e5]@7 ~@7", // C Dm C Dm G Dm C
  E: "[~@12 a5@12 [b4,g5]@7 ~@27 d5@2 c5@4, [f3,a4,f5]@25 ~@6 c5@23 e5@10, ~@32 c6@27 ~@5, ~@8 e5@5 g4@3, ~@50 c3@13 ~]/2", // Em F
  F: "[c5,e5,g5]@11 ~ [c5,e5,g5]@3 ~, c3@29 ~@3", // C
  G: "[c5,f5,a5]@16 ~@4 [f5,a5]@2 [e5,g5]@2 [d5,f5] ~ [d5,f5] ~@3 [c5,e5]@2", // F Em Dm C
  H: "[~@12 a5@12 [b4,g5]@7 ~@11 g3@8 c4@4 d4@4 e4@6, [f3,a4,f5]@25 ~@6 c5@16 ~@17, ~@32 e5@15 ~@17, ~@40 c2@17 ~@7]/2", // Em F
  I: "~@8 c6@7 ~, ~ c7@2 c7@2 c7@2 c7@8 ~, ~@3 g6@4 g6@4 g6@4 g6@15 ~@2, ~ c6!3 ~@4",
  J: "~@12 a5@12 [b4,g5]@7 c5, [f3,a4,f5]@25 ~@7", K: "[c3,c5,e5]@16 ~@12 a4@3 ~, ~ [a2,e4], ~@22 e5@9 ~",
  L: "[d2@8 d3@5 ~ a3@10 ~@2 a3@5 ~@7 g4@6 ~@4 g4@4 f#4@4 e4@4 d4@4, ~@6 d3@5 d2@4 ~, ~@2 b3 ~]/2",
  M: "[f#4@7 ~@4 d2@3 ~@2 g4@7 ~ g4@2 f#4@2 e4@2 d4@2, ~@7 d3@5 ~@2 a4@2 ~@16, ~@18 a3@11 ~ d3@11 ~@5 d3@7 ~@11]/2",
  N: "g2@4 ~@8 b4@8 a4@4 ~@4 d4@3 ~, ~@4 d4@9 ~@19, ~@8 g4@9 ~@7 g4@8", O: "~@12 d5@2 ~@2 c#5@2 ~@10 c#5 ~@3",
  P: "b3@6 b4@6 g4@7 ~ d4@3 ~@5 a4@4, g2@2 ~ [a#2,c#4]", Q: "b2@4 f#3@4 a3@4 b3@4 ~@4 d5@4 c#5@4 a4@3 ~, ~ f#4",
  R: "[[g2,g3,b3]@15 ~ a2@44 ~@4, ~@15 [a3,c#4]@44 ~@5]/2", // G A
  S: "[[a3,f#4]@11 ~@15 f#4@6 b3@17 ~@5 g4@4 ~@2 d4@3 ~, d3@36 ~@14 b3@7 ~ b3@5 ~, ~@9 a3@6 ~ g4@11 ~@5, ~@3 d2 ~@4]/2", // D
  T: "[~@6 d2@4 ~@12 d3@6 a3@2 ~@2 b3@20 ~@6 g4@5 ~, f#4@27 ~ f#4@4 g4@25 ~@7, ~@2 a3@11 ~ a3@13 ~@27 b3@9 ~, ~@4 d3@11 ~@15 d3@14 ~@8 d3@11 ~]/2",
  U: "~@9 f#4@2 e4@2 d4@2 ~", V: "~@18 b4@2 a4@2 d5@2 b4@7 ~", W: "~@10 f#4@2 g4@2 a4@4 d4@5 ~@9",
  X: "~@4 b4@2 a4@4 d5@4 b4@8 ~@6 a4@3 ~", Y: "d2@29 ~@3, f#4@13 ~@3",
})).s("gm_epiano1").gain(0.35).pan(0.7)

// chords · acoustic bass
const acoustic_bass = note("<A@8 B ~@3 C@6 ~@14 A@8 D@3 ~@37>".pickRestart({
  A: "[~@32 c3@28 ~@4 c3@28 ~@4 c3@28 ~@4 c3@28 ~@4 c3@28 ~@4 c3@28 ~@4 c3@28 ~@3 g3, ~@15 c4@15 ~ c4@15 ~ c4@15 ~ c4@15 ~ c4@15 ~ c4@15 ~ c4@15 ~ c4, ~@31 g3@29 ~@3 g3@29 ~@3 g3@29 ~@3 g3@29 ~@3 g3@29 ~@3 g3@29 ~@3 g3@29 ~@4]/8",
  B: "c3@7 ~",
  C: "[~@8 c3@7 ~ c3@7 ~ c3@7 ~ c3@7 ~ c3@7 ~, ~@15 c4@15 ~ c4@15 ~ c4@15 ~ c4@15 ~ c4@15 ~@2, ~@31 g3@29 ~@3 g3@29 ~@3 g3@29 ~@3 g3@29 ~@3 g3@29 ~@4]/6",
  D: "[c3@7 ~ c3@7 ~ c3@7 ~, ~@15 c4@15 ~ c4@15 ~@2, ~@31 g3@29 ~@3 g3@29 ~@4]/3",
})).s("gm_acoustic_bass").gain(0.36).pan(0.6)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@17 A B A B C D E B A B A B C D E B ~@10 A B A B C D E B A B A B C D E F ~@21
>`.pickRestart({
  A: "~@8 [g4,c5] ~ [g4,c5] ~@2 [g4,c5] ~ [g4,c5] ~@2 [g4,c5] ~@2 [g4,c5] ~@2 [g4,c5] ~@7", // C5
  B: "~@8 [g4,c5] ~ [g4,c5] ~@2 [g4,c5] ~@2 [g4,c5] ~@2 [g4,c5] ~ [g4,c5] ~@2 [g4,c5] ~@7", // C5
  C: "~@8 [a4,c5] ~ [a4,c5] ~@2 [a4,c5] ~ [a4,c5] ~@2 [a4,c5] ~@2 [a4,c5] ~@2 [a4,c5] ~@7", // Am
  D: "[g4,b4] ~@2 [g4,b4] ~@2 [a4,c5] ~@2 [a4,c5] ~@2 [b4,d5] ~@2 [b4,d5] ~@2 [c5,e5] ~@2 [c5,e5] ~@2 [d5,f5] ~ [d5,f5] ~ [c5,e5] ~@2 [c5,e5]", // G Am Bm C Dm C
  E: "~@8 [f4,a4] ~ [f4,a4] ~@2 [f4,a4] ~ [f4,a4] ~ [f4,a4] ~@6 [g4,b4] ~ [g4,b4] ~@2 [g4,b4] ~ [g4,b4]", // F G
// … 108 more lines

More by Zero