Strudelify

E Dez E Cem E Mil

Rick

KeyG majorTempo106 bpm
0:00/0:00
// E Dez E Cem E Mil — Rick
// 106 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 125 bars on a 32-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 27.
setcpm(106/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 · electric bass finger
const bass = note(`<
  ~@2 A B C D E F G D ~@8 A ~ H I J K L D M N O P Q R S@5 T@8 U@3 V@8 W@7 X@4 Y@8 T@8 U@3 V@8 Z@5 AA@4 AB@8 AC@6 AD@8
>`.pickRestart({
  A: "g1@31 ~", B: "e1@27 ~ e1@4", C: "f#1@13 ~@3", D: "d2", E: "c2@31 ~", F: "a1@31 ~", G: "a#1@11 ~ d#2@19 ~",
  H: "a2", I: "e3@3 ~", J: "c3", K: "b2@11 ~ e2@20", L: "a2@15 ~", M: "g1@3 a1", N: "b1@11 ~ g1@11 ~ e1@8",
  O: "d2@27 ~@5", P: "a1@10 ~@2 d2@15 ~@5", Q: "g1@26 ~@2 g1@3 ~", R: "e1@13 ~ e1@2",
  S: "[a1@26 ~@5 d2@11 ~ d1@20 g1@22 ~@2 g1@3 ~ a1@3 ~ b1@12 g1@11 ~ e1@7 ~ d1@32 a1]/5",
  T: "[~@11 d2@20 g1@27 ~ g1@4 g2@26 ~@6 e2@27 ~@5 d2@27 ~ d2@3 ~ a2@12 d2@19 ~ c2@11 ~ b1@12 a1@7 ~ g1@15 ~ d2@15 ~ g1]/8",
  U: "[~@11 g1@18 ~@2 g1@9 ~@3 g1@12 d2@4 g1@4 f#1@10 ~@2 f#1@15 ~ f#1@2 ~@2 d2]/3",
  V: "[~@11 d2@20 c2@10 ~@2 c2@15 ~ c2@3 ~ a1@10 ~@2 a1@15 ~ a1@2 ~@2 d2@10 ~@2 d2@19 ~ b1@10 ~@2 d2@14 ~@2 d2@3 ~ g1@10 ~@2 g1@18 ~@2 g1@10 ~@2 g1@12 d2@3 ~ g1@4 f#1@10 ~@2 f#1@15 ~ f#1@3 ~ b1]/8",
  W: "[~@11 b1@19 ~ c2@10 ~@2 c2@15 ~ c2@4 a1@9 ~@3 a1@17 ~@3 d2@10 ~@2 d2@15 ~ d2@3 ~ g1@31 ~ c3@4 e3@3 ~ b3@4 a3@20 b2@4 d3@3 ~ a3@4 g3@20 c3, ~@83 a3 ~@15 g3 ~@12]/7",
  X: "[~@3 b2@4 c3@4 d3@8 e3@4 f#3@4 g3@24 e3@8 d3@16 b2@4 g2@8 e2@7 ~ d2@27 ~@5 a1]/4",
  Y: "[~@11 d2@15 ~@5 g1@26 ~@2 g1@3 ~ e1@26 ~@2 e1@4 a1@26 ~@6 d2@11 ~ d1@20 g1@22 ~@2 g1@3 ~ a1@3 ~ b1@12 g1@11 ~ e1@7 ~ d1@32 a1]/8",
  Z: "[~@11 b1@19 ~ c2@10 ~@2 c2@15 ~ c2@4 a1@9 ~@3 a1@17 ~@3 d2@10 ~@2 d2@15 ~ d2@3 ~ g1@9 ~@3 g1@11 b2@4 g2@3 ~ d2@2]/5",
  AA: "[~@2 f#2@3 ~ a2@3 ~ d3@8 a2@4 f#2@3 ~ d2@4 g1@9 ~@3 g1@18 ~@2 g1@9 ~@3 g1@12 d2@4 g1@4 f#1@10 ~@2 f#1@15 ~ f#1@2 ~@2 d2@2]/4",
  AB: "[~@10 d2@20 c2@10 ~@2 c2@15 ~ c2@3 ~ a1@10 ~@2 a1@15 ~ a1@2 ~@2 d2@10 ~@2 d2@19 ~ b1@10 ~@2 d2@14 ~@2 d2@3 ~ g1@10 ~@2 g1@18 ~@2 g1@10 ~@2 g1@12 d2@3 ~ g1@4 f#1@10 ~@2 f#1@15 ~ f#1@3 ~ b1@2]/8",
  AC: "[~@10 b1@19 ~ c2@10 ~@2 c2@15 ~ c2@4 a1@9 ~@3 a1@17 ~@3 d2@10 ~@2 d2@15 ~ d2@3 ~ g1@9 ~@3 g1@12 b1@3 ~ d2@4 e2@11 ~ e2@14 ~@2 e2@4 a1@2]/6",
  AD: "[~@10 a1@17 ~@3 d2@11 ~ d2@20 a2@11 ~ b2@19 ~ c3@12 b2@18 ~@2 e2@18 ~@2 f#2@11 ~ g2@82 ~@16]/8",
})).s("gm_electric_bass_finger").gain(0.45)

// bass · electric bass finger · soft notes
const bass_soft = note(`<
  ~@4 A ~@14 B ~ C ~@6 D@2 ~@2 E ~@6 F G ~@17 H ~@5 I ~ J@2 ~@2 E ~@6 F G ~@17 H ~@16 K ~@3 K ~@7
>`.pickRestart({
  A: "~@14 f#1 ~", B: "d3@31 ~", C: "~@3 d3", D: "~@28 d2@3 ~", E: "~@27 a1@2 ~@3", F: "~@27 g2@4 ~", G: "~@27 e2@4 ~",
  H: "~@29 a1@2 ~", I: "~@19 d3 ~@12", J: "~@27 d2@3 ~@2", K: "~@14 a1 ~",
})).s("gm_electric_bass_finger").gain(0.25)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@10 A B C D E F G@2 H I J@2 K@2 L M N O P Q R@2 S@5 T@6 U@5 V@4 W@7 X@8 Y@8 T@6 U@5 V@4 W@7 Z@2 AA@8 AB@7 AC@6 AD@4 ~
>`.pickRestart({
  A: "g4@27 ~@5", B: "d4@7 ~", C: "[e4,a4]@7 ~", D: "b3@10 ~@2 [a3,d4,f#4]@3 ~", E: "[g3,c4,e4]@29 ~@3",
  F: "[b3,d4]@11 ~ e4@19 ~, ~@11 [g3,b3]@17 ~@4", G: "[[a3,c4,e4]@28 ~@3 [a3,e4]@30 ~@3, ~@31 c4@27 ~@6]/2",
  H: "[b3,d4]@29 ~@3", I: "[a3,d4]@7 ~", J: "[[c4,e4]@29 ~@2 [b3,e4]@21 ~@4 [a3,d4]@7 ~]/2",
  K: "[c4@29 ~@15 e4@17 ~@3, g3@15 ~, ~@32 b3@27 ~@5]/2", L: "[c4,e4]@7 ~", M: "[a3,e4]@15 ~, c4@13 ~@3",
  N: "[g3,b3,d4]@21 ~@11", O: "[b3,d4]@11 [a3,c4]@11 ~ [g3,b3]@6 ~@3",
  P: "~@8 [a3,d4,f#4]@12 [a3,d4,f#4]@11 ~, [a2,d3,f#3]@21 ~@11", // D
  Q: "[c3,e3,a3] [c4,e4,a4]@2 [a2,d3,f#3]@3 [a3,d4,f#4]@2", // Am D
  R: "[~@8 [b3,d4,g4]@11 ~ [b3,d4,g4]@12 ~@4 [b3,e4,g4]@11 ~ [b3,e4,g4]@16, [b2,g3]@57 ~@7, d3@15 ~ e3@13 ~@3]/2", // G Em
  S: "[~@7 [c4,e4,a4]@11 ~ [c4,e4,a4]@11 ~@9 [a3,d4,f#4]@10 ~@2 [a3,d4,f#4]@12 ~@8 [b3,d4,g4]@15 ~ [b3,d4,g4]@8 ~@4 [b3,d4,g4]@11 ~ [b3,d4,g4]@16 ~@4 [d4,f#4]@10 ~@2 f#4@15 ~ [c3,e3,a3], [c3,e3,a3]@21 ~@10 d3@30 ~@70 a3@26 ~@3, ~@31 [a2,f#3]@27 ~@5 [b2,d3,g3]@29 ~@3 [b2,d3,g3]@24 ~@8 [a2,d3,f#3]@22 ~@11]/5", // Am D G D Am D G D
  T: "[~@3 c4@3 ~ c4@4 [a2,d3,f#3]@12 [a3,d4,f#4]@8 ~@4 [b3,d4,g4]@10 ~@2 [b3,d4,g4]@16 ~@4 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@16 ~@8 [c4,e4,g4]@9 ~@3 [c4,e4,g4]@11 ~@9 [a3,d4,f#4]@9 ~@3 [a3,d4,f#4]@12 [c3,e3]@8 [c4,e4,g4]@8 ~@4 [a3,d4,f#4]@11 ~ c3, ~@3 [e4,a4]@8 ~@20 [b2,d3,g3]@29 ~@3 g3@29 ~@100, ~@63 [b2,d3]@25 ~@7 [c3,e3]@23 ~@9 [a2,d3,f#3]@28 ~@20 [a2,d3]@7 ~@10]/6", // D G C D C D A5 G …
  U: "[~@7 e4@8 ~@8 d4@7 ~@25 g4@7 ~@9 b3@3 ~ b3@4 ~@4 [b3,d4,g4]@7 ~ [b3,d4,g4]@4 ~@8 b3@3 ~ b3@4 ~@4 [b3,d4]@7 ~ b3@4 ~@8 [a3,d4,f#4]@4 [a3,d4]@4 ~@4 [a3,d4,f#4]@7 ~ [a3,d4,f#4]@4 [a2,d3], ~@3 c4@12 ~@4 b3@12 g2@32 [b2,d3,g3]@14 ~@2 [b2,d3,g3]@15 ~ [b2,d3,g3]@14 ~@2 [b2,d3,g3]@9 ~@7 [a2,f#3]@31 ~@2, ~@43 g3@19 ~@65 d3@15 ~ d3@14 ~@3, ~@47 b3@15 ~@98, ~@51 d4@11 ~@9 [d4,g4]@9 ~@23 [d4,g4]@8 ~@4 g4@12 ~@33]/5", // G Bm D D5 D D5 G D …
  V: "[~@7 [a3,d4]@3 ~ [a3,d4]@4 ~@4 [d4,f#4]@7 ~@13 [c4,e4,g4]@3 ~ [c4,e4,g4]@4 ~@4 [c4,e4,g4]@6 ~@2 [c4,e4,g4]@4 ~@8 c4@3 ~ c4@4 [e3,g3]@4 [e4,g4]@12 ~@8 [a3,d4,f#4]@3 ~ [a3,d4,f#4]@4 ~@4 [d4,f#4]@6 ~@2 [d4,f#4]@4 [a2,d3], ~@7 f#4@8 [a2,d3]@8 ~@8 [c3,e3,g3]@15 ~ c3@37 ~@11 [a2,d3,f#3]@14 ~@2 [a2,d3]@14 ~@3, ~@19 a3@12 ~@16 [e3,g3]@14 ~@2 [e3,g3]@14 ~@51, ~@71 [e4,g4]@9 ~@3 c4@7 ~@25 a3@13]/4", // D5 D C Em D D5 C D …
  W: "[~@7 a3@3 ~ a3@4 ~@4 [a3,d4]@7 ~ [a3,d4]@4 ~@8 [b3,d4]@4 [b3,d4]@4 ~@4 [b3,d4,g4]@7 ~ [b3,d4,g4]@4 ~@8 [b3,g4]@8 ~@4 [b3,d4,g4]@7 ~ [b3,d4,g4]@4 ~@8 [d4,f#4]@4 f#4@4 ~@4 [a3,d4,f#4]@7 ~ d4@4 ~@8 a3@3 ~ a3@4 ~@4 [a3,d4,f#4]@7 ~ [a3,d4,f#4]@3 ~@9 [c4,e4]@3 ~ [c4,e4]@4 ~@4 [c4,e4,g4]@6 ~@2 [c4,e4,g4]@4 ~@8 c4@3 ~ c4@4 ~@4 [c4,e4,g4]@7 ~ [c4,e4,g4]@3 ~ [a2,d3,f#3], ~@7 [d4,f#4]@8 [a2,d3]@10 ~@6 [b2,d3,g3]@15 ~ [b2,d3,g3]@15 ~ [b2,d3,g3]@14 ~@2 [b2,d3,g3]@9 ~@7 [a2,d3,f#3]@14 ~@2 [a2,d3]@14 ~@2 [a2,d3,f#3]@14 ~@2 [a2,d3]@7 ~@9 [c3,e3,g3]@14 ~@2 [c3,e3,g3]@14 ~@2 [c3,e3,g3]@15 ~ [c3,e3,g3]@9 ~@8, ~@19 f#4@11 ~@9 g4@8 ~@24 d4@3 ~@29 a3@9 ~@23 [d4,f#4]@8 ~@24 g4@8 ~@24 [e4,g4]@8 ~@17]/7", // D5 Bm G Em G D C D …
  X: "[~@7 a3@2 ~@2 a3@4 ~@4 [a3,d4,f#4]@12 ~@8 [b3,d4,g4]@8 g4@14 ~@3 [c3,e4,a4]@26 ~@5 [b2,d3,b3,d4,g4]@28 ~@4 [c3,e3,a3,c4,e4,a4]@24 ~@5 e3@22 ~ [c3,e3,c4,e4,g4]@7 ~ [b2,d3,b3,d4,g4]@30 ~@14 [a3,d4,f#4]@12 [a3,d4,f#4]@11 ~ [c3,e3,a3], ~@7 [d4,f#4]@8 [a2,d3]@10 ~@6 [b2,d3,g3]@30 ~@2 [e3,a3,c4]@26 ~@66 [c3,g3,c4,e4,g4]@22 ~@2 g3@39 ~@5 [a2,d3,f#3]@21 ~@12]/8", // D G Am G Am C G D …
  Y: "[~@3 [c4,e4,a4]@8 [a2,d3,f#3]@12 [a3,d4,f#4]@8 ~@8 [b3,d4,g4]@11 ~ [b3,d4,g4]@12 ~@4 [b3,e4,g4]@11 ~ [b3,e4,g4]@16 ~@8 [c4,e4,a4]@11 ~ [c4,e4,a4]@11 ~@9 [a3,d4,f#4]@10 ~@2 [a3,d4,f#4]@12 ~@8 [b3,d4,g4]@15 ~ [b3,d4,g4]@8 ~@4 [b3,d4,g4]@11 ~ [b3,d4,g4]@16 ~@4 [d4,f#4]@10 ~@2 f#4@15 ~ [c3,e3,a3], ~@31 [b2,g3]@57 ~@7 [c3,e3,a3]@21 ~@11 d3@30 ~@70 a3@26 ~@3, ~@31 d3@30 ~@2 e3@26 ~@38 [a2,f#3]@27 ~@5 [b2,d3,g3]@29 ~@3 [b2,d3,g3]@24 ~@8 [a2,d3,f#3]@22 ~@11]/8", // Am D G Em Am D G D …
  Z: "[~@7 a3@2 ~@2 a3@4 ~@4 [a3,d4,f#4]@12 ~@8 [b3,d4]@7 ~@4 [b3,d4,g4]@11 ~ [c3,e3,g3]@2, ~@7 [d4,f#4]@8 [a2,d3]@10 ~@6 g3@27 ~@6, ~@31 [b2,d3]@15 d3@10 ~@8, ~@39 g4@3 ~@22]/2", // D Bm G C D D5 Bm
  AA: "[~@2 [c4,e4,g4]@11 ~@5 [a3,d4,f#4]@8 ~@12 b3@3 ~ b3@4 ~@4 [b3,d4,g4]@7 ~ [b3,d4,g4]@4 ~@8 b3@3 ~ b3@4 ~@4 [b3,d4]@7 ~ b3@4 ~@8 [a3,d4,f#4]@4 [a3,d4]@4 ~@4 [a3,d4,f#4]@7 ~ [a3,d4,f#4]@4 ~@8 [a3,d4]@3 ~ [a3,d4]@4 ~@4 [d4,f#4]@7 ~@13 [c4,e4,g4]@3 ~ [c4,e4,g4]@4 ~@4 [c4,e4,g4]@6 ~@2 [c4,e4,g4]@4 ~@8 c4@3 ~ c4@4 [e3,g3]@4 [e4,g4]@12 ~@8 [a3,d4,f#4]@3 ~ [a3,d4,f#4]@4 ~@4 [d4,f#4]@6 ~@2 [d4,f#4]@4 [a2,d3]@2, ~@14 [a2,d3,f#3]@12 ~@4 [b2,d3,g3]@14 ~@2 [b2,d3,g3]@15 ~ [b2,d3,g3]@14 ~@2 [b2,d3,g3]@9 ~@7 [a2,f#3]@31 ~ [a2,d3]@14 ~@2 [a2,d3]@8 ~@8 [c3,e3,g3]@15 ~ c3@37 ~@11 [a2,d3,f#3]@14 ~@2 [a2,d3]@14 ~@4, ~@38 [d4,g4]@9 ~@23 [d4,g4]@8 ~@4 g4@12 d3@15 ~ d3@14 ~@10 f#4@8 ~@4 a3@12 ~@16 [e3,g3]@14 ~@2 [e3,g3]@14 ~@52, ~@198 [e4,g4]@9 ~@3 c4@7 ~@25 a3@13 ~]/8", // C D G Bm D D5 D D5 …
  AB: "[~@6 a3@3 ~ a3@4 ~@4 [a3,d4]@7 ~ [a3,d4]@4 ~@8 [b3,d4]@4 [b3,d4]@4 ~@4 [b3,d4,g4]@7 ~ [b3,d4,g4]@4 ~@8 [b3,g4]@8 ~@4 [b3,d4,g4]@7 ~ [b3,d4,g4]@4 ~@8 [d4,f#4]@4 f#4@4 ~@4 [a3,d4,f#4]@7 ~ d4@4 ~@8 a3@3 ~ a3@4 ~@4 [a3,d4,f#4]@7 ~ [a3,d4,f#4]@3 ~@9 [c4,e4]@3 ~ [c4,e4]@4 ~@4 [c4,e4,g4]@6 ~@2 [c4,e4,g4]@4 ~@8 c4@3 ~ c4@4 ~@4 [c4,e4,g4]@7 ~ [c4,e4,g4]@3 ~ [a2,d3,f#3]@2, ~@6 [d4,f#4]@8 [a2,d3]@10 ~@6 [b2,d3,g3]@15 ~ [b2,d3,g3]@15 ~ [b2,d3,g3]@14 ~@2 [b2,d3,g3]@9 ~@7 [a2,d3,f#3]@14 ~@2 [a2,d3]@14 ~@2 [a2,d3,f#3]@14 ~@2 [a2,d3]@7 ~@9 [c3,e3,g3]@14 ~@2 [c3,e3,g3]@14 ~@2 [c3,e3,g3]@15 ~ [c3,e3,g3]@9 ~@9, ~@18 f#4@11 ~@9 g4@8 ~@24 d4@3 ~@29 a3@9 ~@23 [d4,f#4]@8 ~@24 g4@8 ~@24 [e4,g4]@8 ~@18]/7", // D5 Bm G Em G D C D …
  AC: "[~@6 a3@2 ~@2 a3@4 ~@4 [a3,d4,f#4]@12 ~@4 [b3,d4,g4]@11 ~ [b3,d4,g4]@16 ~@4 [b3,d4,g4]@11 ~ d4@7 ~ d4@6 ~@10 c4@3 ~ c4@4 ~@4 [c4,e4,g4]@7 ~ [c4,e4,g4]@3 ~ [c4,e4,g4]@9 ~@3 [a2,d3,a3,d4,f#4]@17 ~@4 a4@10 ~ [b3,d4,g4]@17 ~@3 [c4,e4,a4]@2, ~@6 [d4,f#4]@8 [a2,d3]@10 ~@6 [b2,d3,g3]@29 ~@3 [b2,d3,g3]@29 ~@3 [c3,e3,g3]@15 ~ [c3,e3,g3]@9 ~@7 [c3,e3,g3]@6 ~@60, ~@78 [b3,g4]@13 ~@11 [e4,g4]@8 ~@48 [c4,e4]@11 ~@23]/6", // D G C D G Am D D5 …
  AD: "[~@10 [b3,d4,f#4]@17 ~@3 [c4,e4,g4]@16 ~@4 [a3,d4,f#4]@9 ~@3 [b3,d4,g4]@59 ~@7]/4", // Bm C D G
})).s("gm_acoustic_guitar_steel").gain(0.35)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@10 A@2 B C D@2 ~@2 E F@3 ~@2 G ~@16 H@2 I ~@2 J K@2 ~ L M@2 ~ N O P ~@2 Q R S@2 ~@16 H@2 I ~@2 J K@2 ~ L M@2 ~ N O P
  ~@2 Q T ~@2 U V@2 ~ W X@2 ~ Y Z AA ~@2 AB ~@3 AC ~@6
>`.pickRestart({
  A: "[[b3,d4]@27 ~@5 f#4@28 ~@4, ~@31 a3@28 ~@5]/2", B: "c4@7 ~", C: "[e4,g4]@5 ~@3", D: "[~@31 g3@11 ~@22]/2",
  E: "g3@29 ~@3", F: "[f#4@26 ~@5 a3@28 ~@4 g3@21 ~@12]/3", G: "a3@29 ~@3", H: "[~@31 g3@10 ~@6 f#3@7 ~@10]/2",
  I: "~@15 b2@7 ~@10", J: "~@27 d4@5", K: "[~@11 f#4@4 ~@16 f#3@24 ~@4 [d4,f#4]@4 ~]/2", L: "~@27 c4@4 ~",
  M: "[~@15 f#3@14 ~@2 f#3@13 ~@3 f#3@10 ~@7]/2", N: "~@11 d4@4 ~@17", O: "~@11 d4@4 f#3@12 [a3,f#4]@4 ~",
  P: "~@15 f#3@7 ~@10", Q: "~@15 f#3@10 ~@7", R: "~@15 [b3,d4]@14 ~@3", S: "[~@31 g3@27 ~@6]/2",
  T: "~@7 b2@5 ~@4, ~@11 g4@5 ~@16", U: "~@26 d4@5 ~", V: "[~@5 f#4@2 ~@8 f#3@12 ~@2 [d4,f#4]@2 ~]/2", W: "~@13 c4@2 ~",
  X: "[~@14 f#3@14 ~@2 f#3@13 ~@3 f#3@10 ~@8]/2", Y: "~@5 d4@2 ~@9", Z: "~@5 d4@2 f#3@6 [a3,f#4]@2 ~",
  AA: "~@14 f#3@7 ~@11", AB: "~@7 f#3@5 ~@4", AC: "~@10 f#3@17 ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.15)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@2 A@3 B C D E F ~@15 G H I@2 J K L M@8 N@3 O@3 P@6 Q@5 R@4 ~@5 S T@8 U@3 N@3 O@3 P@6 Q@5 V@4 W@8 X@5 Y@7 Z@5 ~
>`.pickRestart({
  A: "[~@12 a4@23 ~@9 a4@23 ~@9 a4@20, ~@2 d4@15 ~ d4@15 ~ d4@14, ~@4 g4@14 ~@2 g4@13 ~@15]/3", B: "~@3 a4@5, ~ d4@7",
  C: "~@3 g4@5, ~ c4@7, ~ e4@3", D: "~@3 g4@4 ~, ~ c4@6 ~, ~@2 e4@5 ~", E: "~ f4@2 g4@5, d4",
  F: "~@6 a4@9 ~, ~@2 d4@13 ~, ~@4 f#4@11 ~", G: "~@24 a2@7 ~", H: "g2@21 ~@3 g3@4 a3@4",
  I: "[b3@11 g3@13 e3@7 ~@19 d4@12 ~@2, ~@31 d3@27 ~@6, ~@21 a3@10 ~]/2", J: "~@4 e4@7 ~@9 d4@11 ~, c4@5 ~ a3@9 ~",
  K: "~@6 d4@9 ~, g3@15 ~, ~@2 b3@13 ~", L: "~@12 e4@19 ~, g3@7 ~, ~@4 b3@25 ~@3",
  M: "[~@11 e4@18 ~@14 f#4@17 ~@15 d4@9 ~@3 g3@4 a3@4 b3@12 g3@12 e3@8 ~@12 a3@19 ~ g3@10 ~@2 a3@17 ~@15 d4@17 ~@15 d4@19 ~@2, a3@31 a3@30 ~@2 g3@21 ~@43 d3@12 ~@56 b3@26 ~@6 b3@27 ~@2, ~@4 c4@26 ~@5 d4@25 ~@7 b3@17 ~@51 f#3@7 ~@49 g3@30 ~@2 g3@30 ~@3]/8",
  N: "[~@11 e4@18 ~@14 f#4@18 ~@6 c4@8 ~@4 d4@11 ~@5 c3, ~@7 c4@21 ~@3 a3@31 ~ a3@11 ~ a3@15 ~@6, ~@35 d4@26 ~@35]/3",
  O: "[~@3 e3@4 g3@4 b2@8 d3@4 a2@4 b2@4 g2@29 ~@3 d3@31 ~ f#3]/3",
  P: "[~@11 g3@12 d3@39 ~@13 a3@17 ~@15 g3@16 ~@16 a3@18 ~@14 a3@16 ~@4 c3, ~@63 d3@30 ~@2 c3@30 ~@2 c3@28 ~@4 d3@30 ~@3, ~@71 f#3@21 ~@11 e3@22 ~@10 e3@20 ~@37]/6",
  Q: "[~@3 e3@8 d3@18 ~@14 g3@10 ~@2 b3@8 a3@12 g3@12 d3@8 f#3@31 ~@13 a3@18 ~@3, ~@31 d3@23 ~@73 d3@30 ~@3]/5",
  R: "[~@11 g3@17 ~@15 g3@19 ~@13 a3@19 ~@13 b3@20 ~, ~@3 c3@27 ~ c3@29 ~@3 d3@34 ~@2 d3@27 ~@2]/4",
  S: "~@17 d4@12 ~@2 c4, ~@9 a3@20 ~@3",
  T: "[~@3 e4@7 ~@9 d4@11 ~@13 d4@18 ~@14 e4@19 ~@13 e4@18 ~@14 f#4@17 ~@15 d4@9 ~@3 g3@4 a3@4 b3@12 g3@12 e3@8 ~@12 a3@19 ~ g3, ~@11 a3@18 ~@2 g3@30 ~@2 g3@28 ~@4 a3@31 ~ a3@30 ~@2 g3@21 ~@43 d3@12 ~@21, ~@35 b3@26 ~@6 b3@25 ~@7 c4@26 ~@6 d4@25 ~@7 b3@17 ~@51 f#3@7 ~@18]/8",
  U: "[~@11 a3@17 ~@15 d4@17 ~@15 d4@19 ~@2, ~@31 g3@30 ~@2 g3@30 ~@3, ~@35 b3@26 ~@6 b3@27 ~@2]/3",
  V: "[~@11 g3@17 ~@15 g3@19 ~@13 a3@19 ~@5 g3@8 ~@7 g3@9 ~@3 c3@2, ~@3 c3@27 ~ c3@29 ~@3 d3@32 d3@30 ~@3, ~@107 b3@18 ~@3]/4",
  W: "[~@2 e3@4 g3@3 ~@13 a3@6 ~@2 d3@31 ~ f#3@12 g3@12 d3@39 ~@13 a3@17 ~@15 g3@16 ~@16 a3@18 ~@14 a3@16 ~@4 c3@2, ~@5 d3@9 ~@49 d3@15 ~ c3@15 ~ c3@14 ~@2 d3@15 ~@2, ~@16 f#3@12 ~@106 f#3@21 ~@11 e3@22 ~@10 e3@20 ~@38]/8",
  X: "[~@2 e3@8 d3@18 ~@14 g3@10 ~@2 b3@8 a3@12 g3@12 d3@8 f#3@31 ~@13 a3@18 ~@4, ~@30 d3@23 ~@73 d3@30 ~@4]/5",
  Y: "[~@10 g3@17 ~@15 g3@19 ~@13 a3@19 ~@13 b3@20 ~@12 b3@17 ~@15 g3@19 ~@5 e3@4 g3@4 d3@16 ~@6, ~@2 c3@27 ~ c3@29 ~@3 d3@32 d3@30 ~@2 d3@29 ~@3 c3@29 ~@3 c3@9 ~@25, ~@51 g3@12 ~@4 g3@10 ~@35]/7",
  Z: "[~@30 g3@4 a3@4 b3@4 a3@10 ~@2 d3@7 ~ e3@19 ~@5 a2@8 g2@64 ~@2]/5",
})).s("gm_electric_guitar_clean").gain(0.35)

// other · electric guitar clean
const electric_guitar_clean_2 = note("<~ A B C D E F G H I ~@50 J@3 K@4 ~@58>".pickRestart({
  A: "~@20 b3@4 c4@3 ~ d4@3 ~", B: "~ e4@11 d4@11 ~ b3@7 ~, d4 ~@15", C: "~ d4@18 ~ f#3@3 ~ a3@4 d4@4, c4 ~@15",
  D: "e4@12 d4@11 ~ a4@7 ~", E: "d4@19 ~ d4@4 e4@3 ~ f#4@4", F: "g4@3 e4@3 d4@2", G: "c4@19 ~ g3@4 c4@4 d4@3 ~",
  H: "d4 g3 c4 d4@2 g3 c4@2", I: "d4@29 ~@3", J: "[~@32 [e4,a4]@28 ~@4 g4@27 ~@5, ~@31 c4@29 ~@3 [b3,d4]@28 ~@5]/3",
  K: "[c3@3 b2@4 c3@4 d3@8 e3@4 f#3@4 g3@22 ~@2 e3@8 d3@16 b2@4 g2@8 e2@8 d2@28 ~@5]/4",
})).s("gm_electric_guitar_clean").gain(0.49)

// other · electric guitar clean
const electric_guitar_clean_3 = note("<~@2 [~@13 d3@12 ~@7] [d3@5 ~@3] ~@2 [~@25 d3@7] ~ [~@5 g2@13 ~@14] ~@116>")
  .s("gm_electric_guitar_clean").gain(0.45)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@2 A@2 B C D@2 E ~@12 F G ~@3 H@2 I J K@2 L@5 M@6 N@6 O@3 P@8 ~ Q@4 R@2 S@8 M@6 N@6 O@3 T@7 U@2 V@5 W@3 X@7 Y@5 Z@5 ~
>`.pickRestart({
  A: "[a4@3 g4@13, d4@31 ~@33]/2", B: "a4", C: "f#4@29 ~@3", D: "[[c4,g4]@31 ~]/2", E: "[d4,a#4]@29 ~@3",
  F: "~@6 [a3,d4,f#4] ~", G: "c4@29 ~@3", H: "[b3@55 ~@9]/2", I: "[a3,d4,f#4]@29 ~@3",
  J: "[c4,e4,a4]@11 ~ [a3,d4,f#4]@17 ~@3", K: "[g4@31 ~ e4@32, b3@31 ~, d4@7 ~ g4@6 ~@2]/2",
  L: "[c4@29 ~@2 [d4,f#4]@29 ~@3 [b3,d4,g4]@30 ~@2 [b3,d4,g4]@29 ~@3 [d4,f#4]@30 ~@2 [c4,e4], a3@62 ~@65 a3@32 ~]/5", // D G D C
  M: "[~@9 d4@18 ~@4 d4@31 ~@33 [c4,e4,g4]@29 ~@3 [d4,f#4]@29 ~@3 [c4,e4]@10 ~@2 [a3,d4,f#4]@18 ~@2 [c4,e4,g4], ~@9 f#4@15 ~@5 [b3,g4]@63 ~@35 a3@43 ~@22]/6", // C D C D C Em
  N: "[~@11 [b3,d4,f#4]@10 ~@2 [a3,c4,e4]@6 ~@2 [g3,b3]@28 ~@4 [b3,d4,g4]@31 ~ [b3,d4,g4]@30 ~@2 [a3,d4]@31 ~ [a3,d4]@29 ~@3 c4, ~@127 f#4@62 ~@3]/6", // Bm Am G D5
  O: "[~@31 [c4,e4]@28 ~@4 [a3,d4,f#4]@31 ~ [d4,f#4], ~@31 g4@31 ~@34]/3", // C D
  P: "[~@31 [b3,d4,g4]@31 ~ [d4,g4]@31 ~ [a3,d4,f#4]@30 ~@2 [a3,d4,f#4]@29 ~@3 [c4,e4,g4]@30 ~@2 [c4,e4,g4]@31 ~ [a3,d4,f#4]@29 ~@3 [b3,d4], ~@63 b3@28 ~@165]/8", // G G5 D C D Bm
  Q: "[~@31 g4@29 ~@3 [c4,e4]@51 ~ [c4,e4,g4]@6 ~@7, ~@63 a4@26 ~@39]/4", R: "[~@31 [a3,d4,f#4]@29 ~@3 [c4,e4,a4]]/2",
  S: "[~@11 [a3,d4,f#4]@17 ~@3 g4@31 ~ g4@24 ~@8 c4@29 ~@3 [d4,f#4]@29 ~@3 [b3,d4,g4]@30 ~@2 [b3,d4,g4]@29 ~@3 [d4,f#4]@30 ~@2 [c4,e4], ~@31 b3@62 ~@2 a3@62 ~@66 a3@32 ~, ~@31 d4@28 ~@4 e4@61 ~@132]/8", // D G D C
  T: "[~@31 [b3,d4,g4]@31 ~ [d4,g4]@31 ~ [a3,d4,f#4]@30 ~@2 [a3,d4,f#4]@29 ~@3 [c4,e4,g4]@30 ~@2 [c4,e4,g4]@31 ~ [a3,d4,f#4], ~@9 b3@4 ~@19]/7", // G G5 D C D
  U: "[~@31 [b3,d4,g4]@30 ~ [c4,e4,g4]@2]/2", // G C
  V: "[~@10 [a3,d4,f#4]@17 ~@3 [b3,d4,g4]@31 ~ [b3,d4,g4]@30 ~@2 [a3,d4]@31 ~ [a3,d4]@29 ~@3 c4@2, ~@47 f#4@31 ~@2]/5", // D G D5
  W: "[~@30 [c4,e4]@28 ~@4 [a3,d4,f#4]@31 ~ [d4,f#4]@2, ~@30 g4@31 ~@35]/3", // C D
  X: "[~@30 [b3,d4,g4]@31 ~ [d4,g4]@31 ~ [a3,d4,f#4]@30 ~@2 [a3,d4,f#4]@29 ~@3 [c4,e4,g4]@30 ~@2 [c4,e4,g4]@31 ~ [a3,d4,f#4]@2, ~@31 b3@14 ~@67]/7", // G G5 D C D
  Y: "[~@30 g4@31 ~ g4@30 ~@2 [c4,e4,g4]@31 ~ [c4,e4,g4]@9 ~@3 f#4@15 ~@5 e4@2, ~@30 d4@61 ~@69]/5", // C
  Z: "[~@10 g4@17 ~@3 [c4,a4]@10 ~@2 b3@15 ~@5 g4@20 [a3,d4,f#4]@6 ~@6 b3@56 ~@10]/5", // F D
})).s("gm_string_ensemble_2").gain(0.25)

// chords · string ensemble 2 · soft notes
const string_ensemble_2_soft = note(`<
  ~ A ~ B C@2 ~@3 D E F@3 G@2 H@2 I J K@2 L M N@2 O@2 ~@10 P@2 ~@3 Q@2 ~@3 R@2 ~ S@2 ~@6 T@4 U@3 ~@10 P@2 ~@3 Q@2 ~@3
  R@2 ~ S@2 ~@12 V@2 ~ W@2 ~@6 X@3 ~ Y@6 ~
>`.pickRestart({
  A: "[d4,a4]@31 ~", B: "d4@15 ~", C: "[d4@61 ~@3]/2", D: "[d4,a4]@29 ~@3", E: "[g3,b3,d4]@7 ~",
  F: "[d4@29 ~@3 e4@29 ~@3 [b3,e4]@22 ~@2 [a3,d4]@5 ~@3, a3@60 ~@2 g3@21 ~@13, ~@4 c4@3 ~@5]/3", // E5 D5
  G: "[c4@28 ~@16 e4@17 ~@3, g3@59 ~@5, ~@8 b3@7 ~]/2", H: "[[a3,c4,e4]@61 ~@3]/2", I: "[b3,d4,g4]@15 ~",
  J: "[a3,d4,f#4]@29 ~@3", K: "[[c4,a4]@29 ~@3 [b3,g4]@22 ~@10, e4@13 ~@3]/2", L: "g4@31 ~, e4@13 ~@3",
  M: "[b3,d4,g4]@9 ~ [b3,e4,g4]@18 ~@4", N: "[[c4,e4,a4]@31 ~]/2", O: "[[d4,g4]@55 ~@9]/2", P: "[~@31 d4@29 ~@4]/2",
  Q: "[~@31 d4@28 ~@5]/2", R: "[~@31 [e4,g4]@30 ~@3]/2", S: "[~@31 a3@29 ~@4]/2",
  T: "[~@31 g4@29 ~@3 [c4,e4,a4]@30 ~@2 [b3,d4]@28 ~@5]/4", U: "[~@27 g4@21 ~@11 [b3,d4,g4]@27 ~@10]/3",
  V: "[~@15 [e4,g4]@15 ~@2]/2", W: "[~@30 a3@29 ~@5]/2", X: "[~@15 b3@31 ~@2]/3",
  Y: "[~@10 [a3,d4]@15 ~@5 [c4,a4]@10 ~@2 [b3,d4]@17 ~@3 e4@9 ~@3 [d4,f#4]@15 ~@5 [c4,e4]@20 ~@12 [d4,g4]@56 ~@10]/6", // D5 F Bm D C G5
})).s("gm_string_ensemble_2").gain(0.1)

// chords · piano
const piano = note("<~@10 A B C D E F G H I J K L M N O@2 P@2 ~@32 Q@6 ~@52 R@2 S@3 ~@2>".pickRestart({
  A: "~@7 b3, g2, ~@4 b3@11 ~ b3@11 ~@5, ~@2 d4@3 g4@3, ~@3 d4", B: "~@3 f#4@3 f#4@2, d3, ~ d4@3",
  C: "~@3 e4, a2, ~@2 c4@5 ~ c4@8, ~@8 e4@11 ~ a4@12", D: "~@8 g4@8 g4@7 ~ [d3,a3,d4,f#4]@8, e3@3 ~, ~@4 [b3,e4]@7 ~@5",
  E: "~@3 e4@2 ~ e4@2, c3, ~ c4@3, ~@5 g4@3",
  F: "~@2 [b3,d4,g4] ~@3 [b3,e4,g4]@2, b4@15 ~, b2@13 ~@19, ~@2 d5@13 ~, ~@7 a5@5 [e3,g5]@20", // G Em
  G: "~@5 a4@3, a2@15 ~, ~ c4@3, ~@3 e4@5", H: "~@4 [c4,e4,a4]@6 [c4,e4,a4]@5 ~, d3@31 ~",
  I: "~@20 g4@11 ~, g2, ~@4 b3@27 ~, ~ d4@3", J: "~@12 d4@3 ~@9 f#4@8, d3, ~@4 d4@7 ~@5 d4@16, ~@8 f#4@11 ~ a4@12",
  K: "~@8 c4@7 ~@5 [e4,a4]@12, a2, ~@2 e4@3 ~@3, ~ c4", L: "~@8 [b3,g4]@15 ~ [d3,a3,d4,f#4]@8, e3@23 ~@9, ~@2 e4@3 ~@3",
  M: "~@3 c4@2 ~ c4@2, c3@31 ~, ~@4 c4@7 ~@21, ~@8 e4@10 ~@2 g4@11 ~",
  N: "~@8 a5@3 ~@13 [b3,e4,g4]@8, b4@29 ~@3, b2@11 g5@17 ~@4, ~@4 d5@25 ~@3, ~ [b3,d4,g4]@2 e3@5", // Em G
  O: "[~@32 [d4,f#4]@19 ~@5 d4@7 ~, a2@63 ~, ~ a3, ~@52 f#4@11 ~]/2", // D
  P: "[~@16 g4@8 g4@4 [a4,c5]@3 ~ [b4,d5]@10 ~ [a4,c5]@11 ~@10, g2@55 ~@9, ~@8 [b3,d4]@7 ~ [b3,d4,g4]@11 ~@5, ~@12 b4 ~@19]/2", // Am Bm Am Bm G
  Q: "[~@35 [c4,e4,a4]@16 [c4,e4,a4]@12 ~@8 [b3,d4,g4]@11 ~ [b3,d4,g4]@12 ~@4 [c4,e4,a4]@15 ~ [c4,e4,a4]@8 ~@8 [c4,e4,g4]@11 ~ [c4,e4,g4]@10 ~@18 [b3,g4]@10 ~@11, ~@31 [c3,e3,a3]@28 ~@4 [b2,d3,g3]@28 ~@4 [c3,e3,a3]@22 ~@6 [c3,e3,g3]@23 ~@9 [b2,d3,g3]@26 ~@11]/6", // Am G Am C Em Am G Am …
  R: "[~@30 c5@4 d5@4 e5@4 d5@19 ~ g4@2]/2", S: "[~@2 a4@4 b4@4 a4@12 d4@8 e4@20 ~@2 f#4@10 g4@21 ~@13]/3",
})).s("gm_piano").gain(0.35)

// chords · epiano2
const epiano2 = note("<~@10 A B C D E F G H I J K L M N K O P@2 ~@97>".pickRestart({
  A: "~@12 b4@17 ~@3, ~@2 d4@29 ~, ~@8 g4@21 ~@3", B: "~@6 a4@9 ~, d4@15 ~, ~@4 f#4@11 ~",
  C: "~@12 a4@17 ~@3, c4@29 ~@3, ~@8 e4@23 ~", D: "~@12 g4@11 ~ [a3,d4,f#4]@7 ~, b3@11 ~@5, ~@2 e4@3 ~@3",
  E: "~@12 g4@17 ~@3, c4@7 ~, ~@4 e4@23 ~@5", F: "~@4 d4@4 ~@4 e4@19 ~, b3@15 ~, ~@8 g4@23 ~",
  G: "~@12 a4@17 ~@3, ~ c4@15, ~@2 e4@13 ~", H: "~@6 a4@9 ~, c4@15 ~, ~@4 e4@25 ~@3",
  I: "~@12 b4@17 ~@3, d4@29 ~@3, ~@8 g4@21 ~@3", J: "~@12 a4@17 ~@3, d4@29 ~@3, ~ f#4@6 ~",
  K: "~@12 a4@17 ~@3, c4@15 ~, ~@2 e4@13 ~", L: "~@12 g4@10 ~@2 [d4,f#4]@7 ~, b3@19 ~@13, ~ e4@4 ~@3",
  M: "~@12 g4@15 ~@5, c4@7 ~, ~@4 e4@23 ~@5", N: "~@4 d4@4 ~@4 e4@17 ~@3, b3@27 ~@5, ~@2 g4@5 ~",
  O: "~@6 a4@9 ~, c4@7 ~, ~ e4@6 ~", P: "[~@32 g4@12 a4@11 ~ g4@6 ~@2, d4@43 ~@21, ~@2 g4@13 ~@17, ~@3 b4@8 ~@5]/2",
})).s("gm_epiano2").gain(0.25)

// other · pad new age
const pad_new_age = note("<A B A C D E F@2 G H ~@21 I J ~@20 K@7 L ~@7 M@3 ~@20 N@7 ~@10 O@7 ~@4 P@4 ~@2>".pickRestart({
  A: "~ d5 a5 g5@2 b4 d5 g4", B: "~@2 d5@2 a5@2 g5@3 ~ b4@2 d5@2 g4@2", C: "~@2 d5@2 a5@2 g5@4 d5@3 ~ d5@2",
  D: "~@5 a5@3, d5, ~@3 f#5@5", E: "~@6 d5@9 ~, ~@2 a4@13 ~, ~@4 f#5@11 ~",
  F: "[~@10 c5@8 ~@4 e5@4 g4@2 c5@2 d5 ~, ~@2 g4@15 ~ a4@7 ~@7, ~@2 c5@3 ~@5 c5@3 ~@3, ~@3 e5@6 ~@7]/2",
  G: "d5 g4 c5 d5@2 g4 c5@2", H: "d5@11 ~@5", I: "b3 d4 a4 g4@5", J: "a4@15 ~@17",
  K: "[~@23 b4@8 a4@12 g4@12 d4@8 f#4@24 e5@8 d5@23 ~@9 c5@24 c5@4 b4@4 c5@32 d5@26 ~@7]/7",
  L: "~@11 g4@19 ~@2, d4@15 ~", M: "[~@31 b3@4 d4@4 a4@4 g4@20 a4@15 ~@18]/3",
  N: "[~@23 b4@8 a4@12 g4@12 d4@8 f#4@24 e5@8 d5@23 ~@9 c5@24 c5@3 b4@4 ~ c5@32 d5@26 ~@7]/7",
  O: "[~@22 b4@8 a4@12 g4@12 d4@8 f#4@24 e5@8 d5@23 ~@9 c5@24 c5@4 b4@4 c5@32 d5@26 ~@8]/7",
  P: "[~@30 g4@4 a4@4 b4@4 a4@12 d4@7 ~ e4@17 ~@3 f#4@11 ~ g4@31 ~@3]/4",
})).s("gm_pad_new_age").gain(0.3)

// drums · kick
// … 148 more lines

More by Rick