Strudelify

La Villa Strangiato

Rush

KeyA minorTempo152 bpm
0:00/0:00
// La Villa Strangiato — Rush
// 152 bpm, 4/4, key A minor. 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, 9/8 at bar 19, 2/4 at bar 20, 4/4 at bar 21, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 11 "Dist. Guitar" distortion guitar (copy of ch 2 "Over. Guitar" overdriven guitar)
// note: Full arrangement: all 359 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(152/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 · acoustic guitar nylon · "Nylon Guitar"
const acoustic_guitar_nylon = note("<A@2 B C@3 D@6 E@4 F@3 ~@340>".pickRestart({
  A: "[~@3 f#4@9 a4@27 ~ d#4@8]/2", B: "~ f#4@23", C: "[~@2 [b3,e4]@23 a4@11, ~@2 b2@47 ~@23, ~@3 e3@47 ~@22]/3",
  D: "[~@5 d#4@9 f#4@18 ~@10 e4@45 [e4,a4]@27 ~ d#4@9 [d#4,f#4]@18 ~@2, ~@40 [b2,e3]@47 ~@57, ~@41 b3@46 ~@27 b3@9 ~@21]/6", // A5 D#m E5
  E: "[~@8 e4@45 e4@3 d4@3 e4@3 f4@4 ~ e4@2 g4@5 ~ d4 c4@2 ~ c4 d4@4 a3@2 ~ a3@2 ~ g#3@2 ~ b3@2 f#3, ~@5 [e2,b2]@48 ~@43, ~@6 e3@47 ~@33 g3@2 ~ a3@2 ~ a3@2 ~@2, ~@7 b3@47 ~@12 d4@2 ~@6 [b3,e4]@2 ~@20]/4", // E5
  F: "[f#3 d3!2 e3@2 ~ g3@2 ~ a2@2 ~ c3!2 b2 ~ a2 b2 c3!2 [c3,d3]@2 b2 g2 ~ f4@47, ~@5 e3@2 ~ g3@2 ~ a2@2 ~@10 [f2,c3]@48 ~, ~ [f3,a3,c4]@2]/3", // Csus2 F5 F
})).s("gm_acoustic_guitar_nylon").gain(0.4)

// other · pad poly · "Synth Fill"
const pad_poly = note("<~@83 A B C@2 A B C@2 ~@12 A B C@2 A B C@2 ~@203 D@6 E@3 ~@11 D@6 E@3 ~@16>".pickRestart({
  A: "a4", B: "d4@3 e4@3 d4@2", C: "a4/2", D: "[~@7 a4@8 d4@3 e4@3 d4@2 a4@16 a4@8 d4]/6",
  E: "[~@2 e4@3 d4@2 a4@16 ~]/3",
})).s("gm_pad_poly").gain(0.64).pan(0.8)

// chords · electric guitar clean · "Chorused Guitar"
const electric_guitar_clean = note("<~@17 A@56 B@2 ~@284>".pickRestart({
  A: "[~@63 g3, c3@3 d3 c3@3 d3 c3@3 d3 c3@3 d3 c3@3 d3 c3@3 d3 c3@3 d3 c3@3 d3, ~ e3@6 g3@6 g4@5 d3 c5@6 e3@6 g3@6 g4@5 d3 c5@6 e3@6 g3@6 g4@3, ~@2 d3@3 g4@5 d3 c5@6 e3@6 g3@6 g4@5 d3 c5@6 e3@6 g3@6 g4@5 d3 c5@5, ~@3 c5@6 e3@6 g3@6 g4@5 d3 c5@6 e3@6 g3@6 g4@5 d3 c5@6 e3@7]/8",
  B: "[~@15 g3, c3@3 d3 c3@3 d3, ~ e3@6 g3@6 g4@3, ~@2 d3@3 g4@5 d3 c5@5, ~@3 c5@6 e3@7]/2",
})).s("gm_electric_guitar_clean").gain(0.19).pan(0.2)

// chords · overdriven guitar · "Over. Guitar"
const overdriven_guitar = note(`<
  ~@75 A@4 B@4 C D B@2 C D B@2 E F G H E F I@2 B@4 C D B@2 C D B@2 E F G H E F I@2 B@4 J@7 K@8 ~@6 L@4 M@3 N@2 O@5 P@3 Q
  R@3 S@3 T@2 U@4 V@3 W X@8 Y Z@2 AA AB AC@2 AD AE@2 ~@18 AF AG AH@2 AI AJ@3 AK AL AM AN AO AP@2 AQ AR ~ AS AT@2 AU@6 AV
  AW@2 AX@2 AY@2 ~ AZ@2 BA ~ BB BC@2 BD@5 BE@3 BF@5 BG@4 BH BI BJ@4 BK BL BM BN BO@2 BP BQ@2 BR@5 BS BT BU BV@2 BW@5 BX
  BY BZ CA CB CC CD CE CF CG CH CI@3 CH CI@3 CH CJ@8 CK CH@3 CI@3 CH CI@3 CH CL@7 CM CN CO@2 CP@2 CQ@2 CR@2
>`.pickRestart({
  A: "[c3,g3,c4,e4]!2 [c3,g3,c4,e4]@4", B: "[a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@7 c#4@3 a3@3 e3@3",
  C: "[a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@2 [a2,e3,a3,c#4]!2", D: "[d3,a3,d4,f#4]@3 [e3,b3,e4,g#4]@3 [d3,a3,d4,f#4]@2",
  E: "f3@2 f3 g3@2 g3 b3 a3", F: "c4@2 b3 d4@2 c4 b3 a3", G: "f#3@5 c#4 f#4 c#4", H: "f#3@2 c#3 f#3@2 c#4 f#4@2",
  I: "[f#3@3 c#3@3 f#2@3 c#3@3 f#3@2 c#3@2]/2",
  J: "[[f2,c3,f3,a3,c4,f4]@44 [f2,c3,f3,a3,c4,f4]@43 [a2,e3,a3,c#4,a4]@44 [a2,e3,a3,c#4,a4]@37]/7", // F A
  K: "[~@7 [f2,c3,f3,a3,c4,f4]@44 [f2,c3,f3,a3,c4,f4]@43 [a2,e3,a3,c#4,a4]@87 ~@11]/8", // F A
  L: "[~@21 f4@6 g4@6 e4@4 d4@4 ~ c4@4 e4@6 d4@6 b3@37 ~]/4",
  M: "[d4@6 c4@6 a3@19 ~@3 a4@3 ~@3 g4@3 d5@3 ~ c5@3 b4@6 a4@6 c5@6 b4@3 ~]/3",
  N: "[a4@3 ~@3 g4@3 ~@3 a4@16 ~@4 a3@2 c4@2 d4@4 d4@6 d4@2]/2",
  O: "[~ a3@2 c4@2 d4@4 e4@4 d4@4 c4@44 ~@9 b4@13 ~ b4@2 a4@2 g4@2 a4@2 g4@3 e4@3 d4@3 c4@3 ~ g4@2 e4@2 d4@2 c4@2 g4@3 e4@2 d4@2]/5",
  P: "[~ c4@2 b3@3 c4@3 ~ b3@4 a3@21 ~@4 e4@2 a4@3 a4@3 b4@3 b4@2 b4 b4@2 b4@2 ~@3 g4@3 g4@3 a4@3 e4@3]/3", Q: "e4",
  R: "[~@4 f5@3 f5@3 e5@3 g5@3 ~@2 e5@2 d5@3 e5@3 d5@2 ~ c5@2 b4@2 ~ d5@2 c5@15 ~@6 e5@2 e5@2 e5@2 e5@4 ~ d5@2 b4@2, ~@17 f5@2 ~@53]/3",
  S: "[c5@2 g4@39 d5@22 d5@6 ~ d5@2]/3", T: "[~ c5@3 b4@3 c5@3 a4@2 ~ a4@25 ~@10, ~@6 c5 ~@17]/2",
  U: "[~@6 a5@15 a5@12 ~@7 e5@2 f5@2 g5@2 e5@5 d5@2 ~ d5@20 d5@6 ~ [d5,a5]@3 ~@2 b4@2 c5@2 b4@2 a4@2 b4@2, ~@53 e5@2 ~@41]/4", // D5
  V: "[a4@2 g4@2 a4@8 ~ a4@9 a4@12 ~ a4@22 ~@15]/3", W: "~ a3@2 c4@2 d4@2 d4@8 ~ d4@4 c4@2 b3@2",
  X: "[~ c4@3 b3@19 g3@2 ~ c4@2 ~ a3@3 b3@3 ~ d4@4 c4@2 b3@3 c4@3 ~@2 [a4,c5] g3@2 g3 g3@2 [a4,c5] ~@3 [f4,a4]@2 [g4,b4]@2 ~@4 b3@2 ~ b3@2 a3@3 b3@3 g4@12 ~ g4@6 g4@3 g4@3 g4@6 g4@3 ~ g4@9 g4@3 f4@3 e4@3 d4@2 ~ d4@14 ~ e4 e4@2 ~ g4@2 g4!5 ~ a4 a4@3 e4 g4@2 f4@2 ~ d4 ~ d4@3 ~@2 c4 d4 e4@3 f4 e4@2 f#4@2 a4 a#4@2, ~@25 b3@2 ~ b3@2 ~@6 a3@9 a3@5 ~@9 g3@2 ~@3 g4@15 ~@55 e4@2 ~@17 e4@2 ~@18 e4@2 ~@17, ~@48 b3@19 g3@2 ~ c4@2 ~@106 a3@2 ~@12]/8", // Am F G
  Y: "b4@2 c5!2 b4 a4 ~ c5@2 g4@2 ~ f4 a4 b4!2 c5 b4!2 c5!2 ~ d5!2, ~@6 g4@2 ~@3 e4@2 ~@11",
  Z: "[c5 d5 e5!2 ~ e5 d5 e5 f5 ~ f5!2 e5 f5 g5 ~ g5!2 f5 g5 a5!2 ~ a5@7 a5@8 a5@9 ~]/2",
  AA: "a5@9 a5@3 e5@3 d5@2 e5@2 d5@2 c5@2 a4", AB: "b4 ~ a4@11 ~@3 e4@3 e4!3 f4@2",
  AC: "[~ g4@3 ~ f4@3 ~ e4@2 d4@3 c4@3 b3@3 c4@6 b3@3 ~@2 d4@2 ~ f4@3 d4@2 e4@2 [f#4,g4] g4 a4 b4@2 b4@2, ~@8 d4@2 ~@20 c#4@2 ~ e4@2 ~@13]/2", // Gmaj7
  AD: "c5 c5@2 g4@2 a4@2 g4!2 e4 f4@2 e4!3 f4 g4@3 d4@3 d4@2",
  AE: "[c4 c4@3 a3 d4 a3 ~ a3 g3 f3 ~ f3!2 f3@2 c3!2 b2!2 a2@2 ~ c3@2 ~ f3@3 c3@2 f3@2 e3@3 f3 e3 c3 e2@6 ~@3, ~@22 b2@2 ~ g3@2 ~@21]/2",
  AF: "~@2 a2@3 c3@3 ~ e3@3 a2@3 c3@3 e3@3 d3@3", AG: "a2@3 c3@3 e3@3 ~ a2@3 c3@3 e3@3 d3@3 a2@2",
  AH: "[~ c3@3 e3@3 a2@3 ~ c3@3 e3@3 d3@3 a2@3 c3@3 e3@3 a2@3 c3@3 ~ e3@3 d3@3 a2@3 e3@3]/2",
  AI: "d#3@3 ~ e2@3 d3@3 ~@2 c3@2 ~@3 a2@3 ~ e3@3, ~@11 a2@2 ~@11",
  AJ: "[d#3@3 ~@4 d3@3 a2@2 c3@2 ~@3 a2@3 e3@3 d#3@3 ~@4 d3@3 a2@2 c3@2 ~@3 a2@3 ~ e3@3 d#3@3 ~@4 d3@3 a2@2 c3@2 ~@3 a2@3 e3@3 d#3@2]/3",
  AK: "~@2 e2@3 d3@3 a2@2 c3@2 ~ b2@5 a2@3 ~ e3@2", AL: "~ d#3@3 ~ e2@3 d3@3 a2@2 c3@2 ~ b2@5 a2@3",
  AM: "~ e3@3 d#3@3 e2@3 ~ d3@3 a2@2 c3@2 ~ b2@5", AN: "~@3 d#3@7 a2@3 ~ c3@5 a2@5",
  AO: "~@3 a3@3 e4@3 ~ d#4@3 ~@3 d4@3 ~@2 c4@2 ~, ~@10 a3 ~",
  AP: "[~ d4@5 a3@3 e4@3 d#4@3 ~@4 d4@3 ~@2 c4@2 ~@2 b3@5 a3@3 e4@3 d#4@3 ~@4 d4@2, ~@23 a3@2 ~@23]/2",
  AQ: "~ a3@2 c4@2 ~ d4@5 ~@4 d#4@6 a3@3", AR: "~ b3@5 a3@8 ~@10", AS: "~@5 [a3,e4,a4,c#5]",
  AT: "[~ [g#3,d#4,g#4,c5]@5 [g3,d4,g4,b4]@7 [f#3,c#4,f#4,a#4]@3 [f3,c4,f4,a4]@3 [e3,b3,e4,g#4]@3 ~ [d#3,a#3,d#4,g4]@5 [d3,a3,d4,f#4]@5 [c#3,g#3,c#4,f4]@6 [c3,g3,c4,e4]@3 ~ [b2,f#3,b3,d#4]@3 [a#2,f3,a#3,d4]@2]/2", // G# G F# F E D# D C# …
  AU: "[~@2 [a2,e3,a3,c#4]@3 ~@7 [g2,d3,g3,b3,d4,g4]@43 [g2,c3,g3,c4,e4]@3 ~@7 [g2,c3,g3,c4,e4]@44 [a3,e4,a4,c#5]@5 [g#3,d#4,g#4,c5]@5 [g3,d4,g4,b4]@7 [f#3,c#4,f#4,a#4]@3 [f3,c4,f4,a4]@3 [e3,b3,e4,g#4]@3 ~ [d3,a3,d4,f#4]@3 ~@5]/6", // A G C A G# G F# F …
  AV: "~@5 [a2,e3,a3,c#4] [g2,d3,g3,b3]@2", AW: "[~@21 g2@7 a2@7 c3@6 d3@7]/2",
  AX: "[e3@7 g3@7 a3@6 c4@7 [d3,a3]@3 ~@18]/2", AY: "[~@19 [g2,c3,g3,c4,e4]@27 [a2,e3,a3,c#4]@2]/2",
  AZ: "[~ [g2,d3,g3,b3,d4,g4] [g2,d3,g3,b3,d4,g4]@2 ~@7 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@2 ~@6 [c3,g3,c4,e4]@5 [c3,g3,c4,e4]@5 [c3,g3,c4,e4]@3 ~@4 [e3,b3,e4,g4]@3 [e3,b3,e4,g4]@2 [e3,b3,e4,g4]@5]/2", // G C Em
  BA: "[a2,e3,a3,c#4] ~@7", BB: "~@5 f#4@19",
  BC: "[~@9 d#4@2 d#4@2 ~ d#4@2 d#4@2 d#4@12 ~@6 f#3@3 ~@2 f#3@2 f#4 ~ f#4 f#4@2]/2",
  BD: "[~ c#4@9 f#3@2 f#3@3 f#3@2 f#4@3 f#4@3 c#4@6 ~ c#4 ~@5 [c#4,f4] ~@3 c5@2 ~ c5@2 c5@23 c5@13 a4@3 f#3@8 f#3@2 f#2@6 f#2@6 ~ [f#2,c3] ~@2 [d4,a4,c5] ~@2 a3 ~ a#3@2 ~ a#3@2]/5", // C# F#dim D7
  BE: "[a#3 a#3@2 ~ a#3@2 a#3@6 ~@10 d4 d#4@2 d#4@3 ~ g4@4 f4@2 g4@2 b4 b4@16 b4@3 [d4,b4] ~@3 [d3,g3] ~@2 [c5,e5] ~@5 e4@2, ~@3 d4@2 ~@20 d3 ~@46]/3", // G G5 C
  BF: "[e4@11 f#3@3 f#3@2 f#3@2 ~ f#3@2 f#3 f#3@21 a#4@3 g#4@13 g#4@3 ~ g#4 g#4@11 d#4@10 d4 ~ a#4 a4@2 g4@2 ~ f4@2 ~ f4@2 e4 e4@2 c4@2 f#3@11 f#4@3 f#4@2 f#4, ~@18 f#4@2 ~@75 g4@2 ~@23]/5",
  BG: "[f#4@2 c#4@3 f#4@2 f#4@3 c#4@3 f#4@3 a#4@10 [d#3,g3] ~@5 f#3@3 ~ f3@3 ~@3 a3@3 g3@6 ~ d4@3 b3@3 ~@3 c4@3 ~ b3@3 b3 d4@2 d4@3 c4@2 ~ a3@2 f#3@17, ~@38 b3 ~@9]/4", // D#
  BH: "~ e2@3 c#4@3 f4@3 c#4@3 ~ e4@6 c#4@2 e4@2", BI: "a4@2 ~@12 g3 g3@3 f3@3 ~ a3@2",
  BJ: "[~@2 a3@2 g3@3 a3@2 b3 b3@3 ~ a3@3 c4@3 b3@2 ~ d4@2 ~@3 c4@2 b3@2 a3@2 f#3@2 a3@2 b3@2 a3@2 ~ f#3@12 c#3 ~@2 c#3@4 f#2 f#2@3 ~@5 f#3@3 ~ c#3@3 a#3@3 c#4@13 a3@2, ~ g#3@2 ~@19 c4@2 ~@72]/4",
  BK: "~@4 a3@3 ~ e3@3 ~@3 e3@3 a2@3 ~@4", BL: "a2@3 g3@3 ~@3 g3@3 ~ d3@3 ~@3 d3@3 g2@2",
  BM: "~@5 g2@3 c#4@3 ~@3 c#4@3 a3@3 ~@4", BN: "a3@3 e3@3 ~@3 e3@3 ~ a3@3 e3@3 a2@3 g3@2",
  BO: "[~@2 d3@3 a2@3 c#4@3 ~ a3@3 e3@3 ~ [d3,a3,d4,f#4]@10 [e2,b2,e3,g#3,b3,e4]@10 [b2,f#3,b3,d#4]@9]/2", // D E B
  BP: "~ a3@3 e3@3 ~ a2@3 g3@3 d3@3 ~ a2@3 c#4@3",
  BQ: "[~ a3@3 e3@3 [d3,a3,d4,f#4]@10 ~ [e2,b2,e3,g#3,b3,e4]@10 [g2,b2,d3,g3,b3]@10 a3@3 e3@3 ~ a2@3]/2", // D E G
  BR: "[g3@3 d3@3 ~ a2@3 c#4@3 a3@3 ~ e3@3 [d3,a3,d4,f#4]@10 [e2,b2,e3,g#3,b3,e4]@10 [b2,f#3,b3,d#4]@10 ~ a3@3 e3@3 a2@3 ~ g3@3 d3@3 a2@3 ~ c#4@3 a3@3 ~ e3@3 [d3,a3,d4,f#4]@10 [e2,b2,e3,g#3,b3,e4]@10 [g2,b2,d3,g3,b3]@10 [g2,b2,d3,g3,b3]@9]/5", // D E B D E G
  BS: "~ [g2,b2,d3,g3,b3]@5 [g2,b2,d3,g3,b3]@5 [a2,e3,a3,c#4,e4]", // G A
  BT: "~@5 [a2,e3,a3,c#4,e4]@3 [a2,e3,a3,c#4,e4]@3 ~@4 [a2,e3,a3,c#4,e4]@3 [a2,e3,a3,c#4,e4]@3 ~@3", // A
  BU: "~ [a2,e3,a3,c#4,e4]@3 [a2,e3,a3,c#4,e4]@3 ~@4 [a2,e3,a3,c#4,e4]@3 a2@7 e3@3", // A
  BV: "[d#3@7 a2@3 ~ d3@6 c3@3 ~ a2@6 b2@3 ~ a2@7 e3@3 d#3@7]/2",
  BW: "[a2@3 d3@7 c3@3 a2@7 b2@3 a2@7 e3@3 ~ d#3@6 a2@3 ~ d3@6 c3@3 ~ a2@7 b2@3 ~@3 d#3@7 a2@3 ~ c3@5 a2@5 ~@3 a2@3 ~ e3@3 d#3@3 ~@4 d3@3 a2@2 c3@2 ~ b2@5 a2@2]/5",
  BX: "~@2 e3@3 d#3@3 ~@4 d3@3 a2@2 c3@2 ~ b2@4", BY: "~@2 a2@3 e3@3 d#3@3 ~@4 d3@3 ~@2 c3@2 ~@2, ~@19 a2@2 ~@3",
  BZ: "b2@5 ~@3 d#3@7 a2@3 c3@5 ~", CA: "a2@5 ~@3 a3@3 e4@3 ~ d#4@3 ~@4 d4@2",
  CB: "~ a3@2 c4@2 ~ d4@5 a3@3 ~ e4@3 d#4@3 ~@3", CC: "~ d4@3 a3@2 c4@2 ~ d4@5 a3@3 ~ e4@3 d#4@3",
  CD: "~@4 d4@3 a3@2 c4@2 ~@2 d4@5 ~@3 d#4@3", CE: "~ d4@3 a3@3 c4@5 a3@9 [c3,g3,c4,e4]@3",
  CF: "~ [c3,g3,c4,e4]@4 [c3,g3,c4,e4]@7 e4@3 c4@3 g3@3 [c3,g3,c4,e4]@3", // C
  CG: "~ [c3,g3,c4,e4]@4 [c3,g3,c4,e4]@7 e4@3 c4@3 g3@3 [a2,e3,a3,c#4]@3", // C A
  CH: "~ [a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@7 c#4@3 a3@3 e3@3 [a2,e3,a3,c#4]@3", // A
  CI: "[~ [a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@7 c#4@3 a3@3 e3@3 [a2,e3,a3,c#4]@12 [a2,e3,a3,c#4]@6 [a2,e3,a3,c#4]@3 [a2,e3,a3,c#4]@3 [d3,a3,d4,f#4]@9 [e3,b3,e4,g#4]@9 [d3,a3,d4,f#4]@6 [a2,e3,a3,c#4]@3]/3", // A D E D A
  CJ: "[~ [a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@7 c#4@3 a3@3 e3@3 f3@6 f3@3 g3@6 g3@3 b3@3 a3@3 c4@6 b3@3 d4@6 c4@3 b3@3 a3@3 f#3@15 c#4@3 f#4@3 c#4@3 f#3@6 c#3@3 f#3@6 c#4@3 f#4@6 f3@6 f3@3 g3@6 g3@3 b3@3 a3@3 c4@6 b3@3 d4@6 c4@3 b3@3 a3@3 f#3@9 c#3@9 f#2@9]/8", // A
  CK: "c#3@3 f#3@2 c#3@2 [a2,e3,a3,c#4]", // A
  CL: "[~ [a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@7 c#4@3 a3@3 e3@3 f3@6 f3@3 g3@6 g3@3 b3@3 a3@3 c4@6 b3@3 d4@6 c4@3 b3@3 a3@3 f#3@15 c#4@3 f#4@3 c#4@3 f#3@6 c#3@3 f#3@6 c#4@3 f#4@6 f3@6 f3@3 g3@6 g3@3 b3@3 a3@3 c4@6 b3@3 d4@6 c4@3 b3@3 a3@3 [f#2,c#3,f#3,a#3,c#4]@3]/7", // A F#
  CM: "~ [f#2,c#3,f#3,a#3,c#4]@4 [f#2,c#3,f#3,a#3,c#4]@7 b3@3 f#3@3 c#3@3 [f#2,c#3,f#3,a#3,c#4]@3", // F#
  CN: "~ [f#2,c#3,f#3,a#3,c#4]@4 [f#2,c#3,f#3,a#3,c#4]@7 b3@3 f#3@3 c#3@3 [a2,e3,a3]@3", // F# A5
  CO: "[e3@3 d#3@3 ~@4 d3@3 a2@2 c3@2 ~@2 a2@3 ~ e3@3 d#3@3 ~@3 d3@3 a2@2 c3@2 ~@3 a2@3 e3@3]/2",
  CP: "[d#3@3 ~@4 d3@3 a2@2 c3@2 ~@2 a2@3 ~ e3@3 d#3@3 ~@3 d3@3 a2@2 c3@5 [a3,e4,a4,c#5]@5 [g#3,d#4,g#4,c5]@4]/2", // A G#
  CQ: "[[g3,d4,g4,b4]@6 ~ [f#3,c#4,f#4,a#4]@3 [f3,c4,f4,a4]@3 [e3,b3,e4,g#4]@3 ~ [d#3,a#3,d#4,g4]@4 [d3,a3,d4,f#4]@5 [c#3,g#3,c#4,f4]@6 ~ [c3,g3,c4,e4]@3 [b2,f#3,b3,d#4]@3 [a#2,f3,a#3,d4]@3 [a2,e3,a3,c#4]@3 ~@3]/2", // G F# F E D# D C# C …
  CR: "[~@10 [g3,c4,e4]@3 ~@11, ~@20 [g2,c3]@3 ~@25]/2", // C C5
})).s("gm_overdriven_guitar").gain(0.4)

// other · synth bass 2 · "Synth 1"
const synth_bass_2 = note("<~@28 A B@4 C@4 B@4 D@8 ~@2 A E@7 ~@300>".pickRestart({
  A: "~@3 a3", B: "[g3@15 d3]/4", C: "[c3@15 a3]/4", D: "c3/8", E: "[g3@53 ~@3]/7",
})).s("gm_synth_bass_2").gain(0.64).pan(0.2)

// other · music box · "Glockenspiel"
const music_box = note("<~@29 A B@2 C@2 ~@2 D C@2 ~@320>".pickRestart({
  A: "~@3 d7", B: "[c7@7 d6]/2", C: "c6/2", D: "c6@3 c7@2 f6 g6@2",
})).s("gm_music_box").gain(0.4).pan(0.8)

// bass · synth bass 1 · "Synth 2"
const bass = note("<~@30 A B@3 A C@8 ~ A D@7 E@2 F@2 G@2 F@2 ~@299>".pickRestart({
  A: "c2@3 c3@2 f2 g2@2", B: "c2/3", C: "c2/8", D: "c2/7", E: "[g2@7 e2]/2", F: "c2/2", G: "g2/2",
})).s("gm_synth_bass_1").gain(0.52).pan(0.9)

// other · drawbar organ · "Hammond"
const drawbar_organ = note("<~@34 A@5 ~@2 B@5 C@4 ~@309>".pickRestart({
  A: "[~@21 c6@2 ~ c6@3 e6@3 d6@3 c6@6 g5@81, ~@23 b5@2 ~@95]/5",
  B: "[~@21 c6@2 ~ c6@3 e6@3 d6@3 c6@6 g5@78 c6@2 b5, ~@23 b5@2 ~@95]/5", C: "[c6 e6 d6 c6@29]/4",
})).s("gm_drawbar_organ").gain(0.52)

// bass · electric bass pick · "Bass"
const bass_2 = note(`<
  ~@47 A@13 B@2 C D E C E@2 C E@6 A@4 F G@3 H I G@2 H I G J K L M N O@2 M P G@4 H I G@2 H I G Q K L M R S@2 M T G@3 U V
  W@2 X@2 Y@2 Z@2 AA AB@8 AC@3 AD@8 AE@7 AF@4 AG@7 AH@7 AI@3 AJ AK@2 AL AM@4 AN@2 AO AP@2 AQ AR@6 AS@2 AT AU@2 AV AW@4
  AX@3 AY@2 AZ BA@2 BB@2 BC BD BE BF BG BH@4 BI BJ@2 BK BL@2 BM BN@5 BO BP@2 BQ@2 BR BS BT@2 BU BV ~ BW BX@4 BY@2 BZ CA
  CB CC CD CE CF@3 CG@4 CH CI CJ CK CL@3 CM@2 CN CO CP CQ CR CS CT CU@3 CV CW CX CY CZ@2 DA@5 DB DC DD DE DF DG DH DI DJ
  DK DL DM@3 DN DM@3 DN DO@2 DP@4 DQ@2 DR DN@3 DM@3 DN DM@3 DN DS@2 DQ@2 DT@2 DU DV DW@2 DX DY DZ EA@3 ~
>`.pickRestart({
  A: "c2!2 c2@4", B: "c2@2 c2@2 c2@5 c3@3", C: "c2@4 c2@4 c2@7 a#2@2 ~ c3@6, ~@17 b2@2 ~@5",
  D: "c2@4 c2@4 c2@7 f2@2 ~ g2@6, ~@17 f#2@2 ~@5", E: "c2@4 c2@4 c2@7 a#2@2 ~ c3@3 f2@3, ~@17 b2@2 ~@5",
  F: "a1@4 a1@4 a1@7 a2@3 g2@3 a2@3", G: "a1@4 a1@4 a1@7 g2@3 g2@3 a2@3", H: "a1@3 a1@2 g2!2 e2", I: "d2@3 e2@3 d2@2",
  J: "a1@3 ~@2 a2@2 ~ a2@2 ~@2 g2@3 g2@3 e2@3 d2@3, ~@11 a2@2 ~@11", K: "c2@2 ~ c2@2 b1 c2 g1",
  L: "c2@3 c2@2 ~ b1@3 c2@6 c2@3 b1@3 a1@3, ~@5 c2@2 ~@17",
  M: "f#1@6 ~@3 f#2@3 ~@2 f#2 f#2@2 ~ f#2@3 c#2@3, ~@17 c#2@2 ~@5",
  N: "f#1@6 f#1@3 f#2@3 ~@2 f#2 f#2@2 ~ f#2@3 c#2@3, ~@17 c#2@2 ~@5",
  O: "[c2@6 ~@3 c2@6 b1@3 b1@3 c2@2 ~ c2@3 c2@2 ~ b1@3 c2@6 c2@3 b1@3 a1@3, ~@23 g1@2 ~@4 c2@2 ~@17]/2",
  P: "f#1@3 f#2@2 f#2@2 ~ f#2@2 ~@2 f2@2 f#2 f#2@2 ~ c#2@3 e2@3, ~@11 f#2@2 ~@4 f2@2 ~@5",
  Q: "a1@3 ~@2 a2@2 ~ a2@2 ~@2 g2@2 ~ g2@3 e2@3 d2@3, ~@11 a2@2 ~ a2@2 ~@8",
  R: "f#1@5 f#1 f#1@3 f#2@2 f#2@2 ~ f#2 f#2@2 ~ f#2@3 c#2@3, ~@17 c#2@2 ~@5",
  S: "[c2@6 ~@3 c2@6 b1@3 b1@3 c2@2 ~ c2@3 b1@3 c2@3 d2@6 c2@3 b1@3 a1@3, ~@23 g1@2 ~@23]/2",
  T: "f#1@6 f#1@3 f#2@2 f#2@2 ~ f#2 f#2@2 ~ f#2@3 e2@3, ~@17 f2@2 ~@5", U: "a1@4 a1@4 a1@4 g2@3 g2@3 e2@3 d2@3",
  V: "f1@11 f1", W: "[~@4 f1@3 ~@13 f1@22 f1@3 ~@3]/2", X: "[f1@3 ~@12 a1@22 a1@3 ~@4 a1@3 ~]/2",
  Y: "[~@11 a1@22 a1@3 ~@3 a1@3 ~@6]/2", Z: "[~@7 f1@22 f1@3 ~@3 f1@3 ~@10]/2", AA: "~ f1@7",
  AB: "[f1@3 ~@4 f1@3 ~@12 a1@87 ~ f1@81 ~]/8", AC: "[~@5 a1@67]/3", AD: "[~@7 f1@29 a1@27 ~]/8",
  AE: "[~@4 f1@87 a1@77]/7", AF: "[~@11 f1@43 f1@42]/4", AG: "[~@2 a1@87 [f1,f2]@44 f1@35]/7",
  AH: "[~@9 [a1,a2]@44 a1@43 f1@6 ~ f1@6 f1@6 f1@3 f1@6 f1@6 ~ f1@6 f1@3 f1@6 f1@6 ~ f1@3 f1@2 ~ f1@3 f1@3 ~@3]/7", // A
  AI: "[f1@3 ~@3 f1@3 ~ f1@3 f1@3 a1@6 a1@6 a1@3 a1@3 ~ a1@3 a1@3 ~@3 a1@6 a1@3 a1@3 a1@3 ~ a1@6 a1@6]/3",
  AJ: "a1@3 a1@2 ~ a1@3 a1@3 ~@4 a1@3 ~@3 a1@2",
  AK: "[~@4 a1@3 f1@3 f1@6 ~ f1@3 f1@6 f1@3 f1@3 f1@6 f1@3 ~ f1@3 ~@3]/2", AL: "f1@3 f1@6 f1@3 f1@3 f1@6 ~ e1@2",
  AM: "[~ f1@3 ~@3 f1@6 f1@3 f1@3 ~ f1@3 a1@6 a1@6 a1@3 a1@3 g1@3 ~ a1@6 a1@6 a1@3 a1@3 g1@3 a1@3 ~ a1@6 a1@3 a1@3 a1@3 g1@3 a1@8]/4",
  AN: "[~@2 a1@3 a1@3 a1@3 g1@3 f1@6 f1@6 ~ f1@3 f1@3 e1@3 f1@6 f1@6]/2", AO: "f1@3 ~ f1@3 e1@3 f1@3 f1@3 f1@6 f1@2",
  AP: "[~ f1@3 ~ e1@3 f1@6 f1@3 f1@3 f1@3 f1@3 f1@3 ~ a1@3 a1@3 a1@6 a1@3 a1@3]/2", AQ: "g1@3 a1@12 ~ a1@3 a1@3 a1@2",
  AR: "[~ a1@6 ~ a1@3 a1@3 a1@3 a1@3 g1@3 a1@12 ~ a1@3 a1@3 g1@3 f1@6 f1@6 ~ f1@6 f1@3 f1@3 f1@9 f1@3 ~ f1@3 f1@3 f1@6 f1@6 f1@3 f1@3 ~ e1@3 f1@3 f1@9 f1@3 f1@3 f1@3 a1@3 ~ a1@6 a1@2]/6",
  AS: "[~ a1@3 a1@3 g1@3 a1@3 a1@9 ~ a1@3 a1@3 g1@3 a1@3 a1@6 ~ a1@3 a1@3]/2", AT: "a1@3 g1@3 a1@3 a1@9 ~ a1@3 a1@2",
  AU: "[~ g1@3 f1@6 f1@6 f1@3 ~ f1@3 e1@3 f1@3 f1@9 f1@3 f1@3 ~ f1@3]/2", AV: "f1@3 f1@6 f1@3 f1@9 ~ f1@2",
  AW: "[~ f1@9 f1@3 f1@3 f1@3 a1@12 ~ a1@3 a1@3 g1@3 a1@3 a1@9 ~ a1@3 a1@3 g1@3 a1@3 a1@9 ~ a1@3 a1@3 g1@3 a1@3 a1@8]/4",
  AX: "[~ a1@3 ~ a1@3 g1@3 f1@12 f1@3 f1@6 ~ f1@3 f1@9 f1@6 f1@3 ~ f1@3 f1@14]/3",
  AY: "[~ f1@3 f1@3 ~ f1@9 f1@3 f1@3 f1@3 a1@3 a1@6 ~ a1@3 a1@3 a1@3 g1@3]/2", AZ: "a1@3 a1@9 ~ a1@3 a1@3 g1@3 a1@2",
  BA: "[~ a1@6 a1@3 ~ a1@3 a1@3 g1@3 a1@3 a1@9 a1@3 ~ a1@3 g1@3 a1@6]/2", BB: "~@17 a1@7", BC: "~@16 a1@7 ~",
  BD: "~@16 a1@3 e2@3 d#2@2", BE: "~@2 a1@3 d2@3 c2@3 ~ a1@3 b1@3 a1@3 ~ e2@2",
  BF: "~ d#2@3 ~ a1@3 d2@3 c2@3 ~ a1@3 b1@3 a1@3", BG: "~ e2@3 d#2@3 a1@3 ~ d2@3 c2@3 a1@3 ~ b1@3",
  BH: "[~@3 d#2@3 ~@2 c2@2 c2@3 ~ c2@5 a1@8 a1@3 e2@3 ~ d#2@3 a1@3 d2@3 ~ c2@3 a1@3 b1@3 ~ a1@3 e2@3 d#2@3 ~ a1@3 d2@3 ~ c2@3 a1@3 b1@3 ~ a1@3 e2@3 d#2@3 ~ a1@3 d2@2, ~@7 d2@2 ~@87]/4",
  BI: "~ c2@3 ~ a1@3 b1@3 ~@4 d#2@3 d2@2 c2 c2@3",
  BJ: "[~ c2@5 a1@2 ~ g1@2 ~@3 a1@2 d#2@2 ~ d#2@2 a2@2 ~ e2@2 d3@2 ~ a2@2 d#3@2 ~ a2@2 d3@2 ~ a2@2 c3@3 d2@2 c3@2, ~@13 g1@2 ~@3 d2@2 ~@3 g2@2 ~@3 c3@2 ~@3 c3@2 ~@3 c3@2 ~@8]/2",
  BK: "~ g#2@2 g2@2 ~ g2@2 g2@2 ~ g2@3 ~ c2@2 ~ g#2@2 a2@4, a2@2 ~@3 e2@2 ~@10 g2@2 ~@5",
  BL: "[~ g#2@5 g2@7 f#2@3 f2@3 e2@3 ~ d#2@5 d2@5 c#2@6 c2@3 ~ b1@3 a#1@2]/2", BM: "~@2 a1@3 ~@7 g1@6 f1@2 f#1@2 g1@2",
  BN: "[~ f1@2 ~ g1@3 ~@2 f#1@2 g1@3 f1@2 f#1@2 g1@3 g2@2 g2@2 ~ g1@2 g1@3 c2@3 ~@7 c2@18 ~@2 d2@2 b1@2 g2 g2@3 ~@2 d2@2 b1@2 g2 g2@3 ~@2 g2@2 g#2@2 a2@5 g#2@5 g2@7 f#2@3 f2@3 e2@3 ~ d2@3 ~@5, ~@3 f#1@2 ~@3 f1@2 ~@50 e2@2 ~@8 e2@2 ~@8 e2@2 ~@38]/5",
  BO: "~@5 a1 g1 ~", BP: "[~@21 g1@7 a1@7 c2@6 d2@7]/2", BQ: "[e2@7 g2@7 a2@6 e2@7 d2@3 ~@18]/2",
  BR: "~@4 d2@2 a1@3 b1@2 ~ d2@2 f2@2 ~ d2@2 c2@3 ~@2, ~@11 c#2@2 ~@3 e2@2 ~@6",
  BS: "~@17 a2@2 ~ e2@2 a2@2, ~@19 a2@2 ~@3",
  BT: "[~@21 d2@2 b1@2 g2 g2@3 ~ e2@2 ~ b1@2 g2@2 g2@3 e2@2 ~ e2@2 c2@2 ~, ~@10 e2 ~@5 d2 ~@4 d2 ~@2]/2",
  BU: "~@2 c2@2 ~@3 c2@3 ~@4 e2@3 e2@2 e2@5", BV: "a1 ~@7", BW: "~@3 c2",
  BX: "[~ c2@4 g1@2 b1@3 c2@6 ~ b1@3 c2@6 c2@3 ~@2 g1@2 f#1@3 f#1@3 ~@7 f#2@6 f#2@3 e1@2 ~ f#1@3 ~ f#1@3 ~@6 f#2@3 ~ f2@3 f#2@3 a1@2 ~ b1@3 c2@3 ~@4 g1@2, ~@57 f1@2 ~@24 a#1@2 ~@11]/4",
  BY: "[~ c2@6 c2@5 g1@2 b1@3 c2@6 g1@3 ~ c2@3 c2@3 b1@3 c2@3 ~ f#1@3 f#1@3 ~@2]/2",
  BZ: "~ d2@3 f#2@3 ~ f2@3 f#2@3 a1@2 ~ f#1@3 f#1@3 ~, ~@8 a#1 ~@3", CA: "~@6 f#2@3 c#2@3 ~ f#2@3 b1@3 b1@3 c2@2",
  CB: "~@5 g1@3 c2@6 c2@5 g1@2 b1@3", CC: "c2@6 g1@3 c2@3 ~ d2@3 c2@3 a1@3 f#1@2",
  CD: "~@2 f#1@3 ~@3 f#2@3 f#2@6 ~ f#2@3 a1 a1@2", CE: "f#1@3 f#1@3 ~@4 f#1@3 f#2@3 f2@3 f#2@3 c2 ~",
  CF: "[c2 ~ b1@3 c2@3 ~@3 g1@3 ~ c2@6 c2@5 ~ b1@3 ~ c2@6 g1@3 c2@3 c2@3 ~ b1@3 c2@3 f#1@3 f#1@3 ~@4 f#2 ~@2 f#2@6, ~@13 g1 ~@22]/3",
  CG: "[f#2@5 a1@2 f#1@3 f#2@3 ~@7 f#2@3 f2@3 f#2@3 a1@2 ~ c2@3 ~ b1@3 ~@3 d2@3 c2@6 ~ d2@3 d2@3 ~@3 c2@3 ~@4 b1@3 c2@3 d2@3 b1@3 ~ a1@3 f#1@3 f#1@3 ~@6, ~@31 b1@2 ~@63]/4",
  CH: "~ f#2@6 f#2@5 a1@2 f#1@3 f#1@3 ~@4", CI: "~@2 f#2@3 ~ f2@3 f#2@6 c2@3 b1@3 ~@3",
  CJ: "~ d2@3 c2@6 d2@3 ~ d2@3 ~@3 c2@3 ~", CK: "~@3 b1@3 c2@3 d2@3 c2@3 a1@3 ~ f#1@3 f#1@2",
  CL: "[~@7 f#2@6 ~ f#2@5 ~ f#1@3 f#2@3 ~@7 f#2@3 f2@3 ~ f#2@3 c#2@3 a2@6 ~@4 e2@6 ~@3 a1@6 ~, ~@19 a1@2 ~@51]/3",
  CM: "[~@3 g2@6 ~@4 d2@6 ~@3 g1@6 ~@4 c#3@6 ~@3 a2@6 ~]/2", CN: "~@3 e2@3 ~@7 a2@3 e2@3 a1@3 g2@2",
  CO: "~@2 d2@3 a1@3 c#3@3 ~ a2@3 e2@3 ~ d2@3 c#2@2", CP: "~ d2@3 ~ e2@3 d2@3 c#2@3 ~ b1@3 a#1@3 ~ b1@2",
// … 339 more lines

More by Rush