Strudelify

Cose della vita (Can't Stop Thinking of You)

Eros Ramazzotti

KeyE majorTempo89 bpm
0:00/0:00
// Cose della vita (Can't Stop Thinking of You) — Eros Ramazzotti
// 89 bpm, 4/4, key E 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 103 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(89/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.

// chords · pad poly · "POLYSYNTH"
const pad_poly = note("<~@8 A@2 B@4 C@6 D@8 E@2 C@6 F@5 ~@7 G@6 H@8 I@2 J@3 K@7 L@4 M@6 N@5 ~@7 O@7>".pickRestart({
  A: "[~@47 [f#3,a3,c#4]@18 [f#3,a3,d4]@29 ~ [f#3,a3,c#4], ~@47 f#2@48 ~]/2", // F#m D F#m
  B: "[~@17 [f#3,a3,d4]@28 ~@2 [f#3,c#4]@17 ~ [f#3,d4]@28 ~@2 [f#3,c#4]@17 ~ [f#3,d4]@29 ~ [f#3,a3,c#4]@16 ~@2 [f#3,a3,d4]@29 ~ [a2,e3,a3,c#4], ~@47 f#2@65 ~@31 f#2@48 ~, ~@47 a3@46 ~@2 a3@47 ~@50]/4", // D F#5 D F#5 D F#m D A
  C: "[~@17 [e2,e3,g#3,b3]@29 ~ [f#3,a3,c#4]@17 ~ [f#3,a3,d4]@29 ~ [a2,e3,a3,c#4]@18 [e2,g#3,b3,e4]@30 [f#3,a3,c#4]@16 ~@2 [f#3,a3,d4]@29 ~ [a2,c#4]@18 [e2,g#3,b3]@30 [f#3,a3,c#4]@16 ~@2 [f#3,a3,d4]@29 ~ [a2,e3,a3,c#4], ~@47 f#2@49 ~@47 f#2@47 ~ e3@46 ~@2 f#2@47 ~@2, ~@191 a3@15 ~@82]/6", // E F#m D A E F#m D A …
  D: "[~@17 [e2,e3,g#3,b3]@28 ~@2 [b2,f#3,b3,d4]@24 [a2,f#3,a3,d4]@24 [e2,g#3,b3]@47 ~ [b2,f#3,b3,d4]@22 ~@2 [a2,f#3,a3]@23 ~ [e2,g#3,b3,e4]@44 ~@4 [f#3,a3,c#4]@17 ~ [f#3,a3,d4]@28 ~@2 [a2,e3,a3,c#4]@18 [e2,e3,g#3,b3]@29 ~ [f#3,a3,c#4]@17 ~ [f#3,a3,d4]@29 ~ [a2,e3,a3,c#4], ~@95 e4@41 ~@31 d4@19 ~@53 f#2@48 ~@48 f#2@48 ~]/8", // E Bm D E Bm D E F#m …
  E: "[~@17 [e2,g#3,b3,e4]@29 ~ [f#3,a3,c#4]@16 ~@2 [f#3,a3,d4]@29 ~ [a2,e3,a3,c#4], ~@47 f#2@48 ~]/2", // E F#m D A
  F: "[~@17 [e2,e3,g#3,b3]@28 ~@2 [b2,f#3,b3,d4]@24 [a2,f#3,a3,d4]@24 [e2,g#3,b3]@47 ~ [b2,f#3,b3,d4]@22 ~@2 [a2,f#3,a3]@23 ~ [e2,g#3,b3,e4]@44 ~@5, ~@95 e4@41 ~@31 d4@19 ~@54]/5", // E Bm D E Bm D E
  G: "[~@47 [f#3,a3,c#4]@17 ~ [f#3,a3,d4]@28 ~@2 [a2,e3,a3,c#4]@18 [e2,e3,g#3,b3]@29 ~ [f#3,a3,c#4]@17 ~ [f#3,a3,d4]@29 ~ [a2,e3,a3,c#4]@18 [e2,g#3,b3,e4]@29 ~ [g#3,b3,d#4]@16 ~@2 [g#3,b3,e4]@29 ~ [b2,f#3,b3,d#4], ~@47 f#2@48 ~@48 f#2@48 ~@48 g#2@48 ~]/6", // F#m D A E F#m D A E …
  H: "[~@17 [f#2,f#3,a#3,c#4]@29 ~ [g#3,b3,d#4]@17 ~ [g#3,b3,e4]@29 ~ [b2,f#3,b3,d#4]@18 [f#2,a#3,c#4,f#4]@30 [g#3,b3,d#4]@16 ~@2 [g#3,b3,e4]@29 ~ [b2,d#4]@18 [f#2,a#3,c#4]@30 [g#3,b3,d#4]@16 ~@2 [g#3,b3,e4]@29 ~ [b2,f#3,b3,d#4]@18 [f#2,f#3,a#3,c#4]@28 ~@2 [g#3,b3,d#4]@16 ~@2 [g#3,b3,e4]@29 ~ [b2,f#3,b3,d#4], ~@47 g#2@49 ~@47 g#2@47 ~ f#3@46 ~@2 g#2@47 ~@49 g#2@48 ~, ~@191 b3@15 ~@178]/8", // F# G#m E B F# G#m E B …
  I: "[~@17 [f#2,f#3,a#3,c#4]@29 ~ [g#3,b3,d#4]@17 ~ [g#3,b3,e4]@29 ~ [b2,f#3,b3,d#4], ~@47 g#2@49]/2", // F# G#m E B
  J: "[~@17 [f#2,a#3,c#4,f#4]@30 [c#3,g#3,c#4,e4]@24 [b2,g#3,b3,e4]@24 [f#2,a#3,c#4]@47 ~ [c#3,g#3,c#4,e4], ~@95 f#4@41 ~@8]/3", // F# C#m E F# C#m
  K: "[~@23 [b2,g#3,b3]@23 ~ [f#2,a#3,c#4,f#4]@44 ~@4 d#5@48 e5@48 [f#4,b4,d#5]@47 ~ [f#4,a#4,c#5]@48 [g#4,b4,d#5]@48 e5, ~@23 e4@19 ~@53 [g#4,b4]@95 ~@146]/7", // E F# B F# G#m
  L: "[~@47 d#5@48 [a#4,c#5]@36 ~@2 d#2 f#2 ~ [g#2,a#2] ~ c#3 d#3 f#3 g#3 a#3 [a3,c4,e4]@16 ~@2 [a3,c4,f4]@29 ~ [c3,g3,c4,e4], ~@47 f#4@87 b2@4 ~@5 a2@48 ~, ~@47 b4@45 ~@39 f2@4 c3@3 [f3,g3]@3 d4@2 f4 ~@48, ~@132 [e2,g2]@4 d3@3 a3@3 ~@50, ~@132 d2 a2@4 e3@3 b3@3 ~@49]/4", // A#m G#sus2 Am F C Fsus2 Em
  M: "[~@17 [g2,g3,b3,d4]@29 ~ [a3,c4,e4]@17 ~ [a3,c4,f4]@29 ~ [c3,g3,c4,e4]@18 [g2,b3,d4,g4]@30 [a3,c4,e4]@16 ~@2 [a3,c4,f4]@29 ~ [c3,e4]@18 [g2,b3,d4]@30 [a3,c4,e4]@16 ~@2 [a3,c4,f4]@29 ~ [c3,g3,c4,e4], ~@47 a2@49 ~@47 a2@47 ~ g3@46 ~@2 a2@47 ~@2, ~@191 c4@15 ~@82]/6", // G Am F C G Am F C …
  N: "[~@17 [g2,g3,b3,d4]@28 ~@2 [d3,a3,d4,f4]@24 [c3,a3,c4,f4]@24 [g2,b3,d4]@47 ~ [d3,a3,d4,f4]@22 ~@2 [c3,a3,c4]@23 ~ [g2,b3,d4,g4]@44 ~@5, ~@95 g4@41 ~@31 f4@19 ~@54]/5", // G Dm F G Dm F G
  O: "[~@47 [a3,c4,e4]@17 ~ [a3,c4,f4]@28 ~@2 [c3,g3,c4,e4]@18 [g2,g3,b3,d4]@29 ~ [a3,c4,e4]@17 ~ [a3,c4,f4]@29 ~ [c3,g3,c4,e4]@18 [g2,b3,d4,g4]@29 ~ [a3,c4,e4,a4]@51 ~@46, ~@47 a2@48 ~@48 a2@48 ~@145]/7", // Am F C G Am F C G …
})).s("gm_pad_poly").gain(0.32)

// bass · electric bass finger · "FINGERDBAS"
const bass = note("<~@8 A@8 B@8 C@8 D@8 E@6 F@8 G@8 H@6 I@6 J@8 K@6 L@6 M@8 ~>".pickRestart({
  A: "[~@47 f#1@18 d1@30 f#1@18 d1@30 f#1@18 d1@30 f#1@18 d1@30 f#1@18 d1@30 a1@18 e1@30 f#1@18 d1@30 a1]/8",
  B: "[~@17 e1@30 f#1@18 d1@30 a1@18 e1@30 f#1@18 d1@30 a1@18 e1@18 f#1@3 ~@3 a1@3 f#1@3 b1@15 ~@3 b1@6 a1@24 e1@9 ~@3 c#2@6 e2@15 ~@3 e2@6 ~@6 b1@15 ~@3 b1@6 a1@24 e1]/8",
  C: "[~@11 f#2@6 e2@12 f#2@6 e2@9 ~@3 f#1@18 d1@30 a1@18 e1@30 f#1@18 d1@30 a1@18 e1@30 f#1@18 d1@30 a1@18 e1@30 f#1@18 d1@30 a1]/8",
  D: "[~@17 e1@30 f#1@18 d1@30 a1@18 e1@30 f#1@18 d1@30 a1@18 e1@18 f#1@3 ~@3 a1@3 f#1@3 b1@15 ~@3 b1@6 a1@24 e1@9 ~@3 c#2@6 e2@12 ~@6 e2@6 ~@6 b1@15 ~@3 b1@6 a1@24 e1]/8",
  E: "[~@11 f#2@6 e2@12 f#2@6 e2@9 ~@3 a1@18 c#2@15 ~@3 c#2@12 b1@39 ~@9 f#1@18 ~@24 c#2@6 f#1@27 ~@3 f#1@3 ~@3 e1@12 a1@18 c#2@30 b1]/6",
  F: "[~@17 b1@18 f#1@9 ~@3 f#1@18 c#2@30 b1@42 ~@6 f#1@18 d1@30 a1@18 e1@30 f#1@18 d1@30 a1@18 e1@30 g#1@18 e1@30 b1]/8",
  G: "[~@17 f#1@30 g#1@18 e1@30 b1@18 f#1@30 g#1@18 e1@30 b1@18 f#1@30 g#1@18 e1@30 b1@18 f#1@18 g#1@3 ~@3 b1@3 g#1@21 e1@30 b1]/8",
  H: "[~@17 f#1@30 g#1@18 e1@30 b1@18 f#1@30 c#2@15 ~@3 c#2@6 b1@24 f#1@9 ~@3 d#2@6 f#2@15 ~@3 f#2@6 ~@6 c#2@15 ~@3 c#2@6 b1@24 f#1]/6",
  I: "[~@11 g#2@6 f#2@12 g#2@6 f#2@9 ~@3 g#1@21 ~@3 g#1@3 ~@3 g#1@18 e1@21 b1@3 e1@3 ~@3 e1@9 ~@3 e1@3 f#1@3 b1@21 ~@3 b1@3 ~@3 b1@18 f#1@21 ~@3 f#1@3 ~@3 f#1@12 d#1@3 f#1@3 g#1@21 ~@3 g#1@3 ~@3 g#1@18 e1]/6",
  J: "[~@17 b1@3 e1@3 ~@6 e1@9 ~@3 e1@3 f#1@3 b1@21 ~@3 b1@3 ~@3 b1@15 ~@3 f#1@21 ~@3 f#1@3 ~@3 f#1@15 ~@3 a1@18 f1@30 c2@18 g1@30 a1@18 f1@30 c2@18 g1@30 a1@18 f1@30 c2]/8",
  K: "[~@17 g1@30 a1@18 f1@30 c2@18 g1@18 a1@6 c2@3 a1@3 d2@15 ~@3 d2@6 c2@24 g1@9 ~@3 e2@6 g2@15 ~@3 g2@6 ~@6 d2@15 ~@3 d2@6 c2@24 g1]/6",
  L: "[~@11 a2@6 g2@12 a2@6 g2@9 ~@3 c1@18 e1@15 ~@3 e1@12 d1@39 ~@9 a1@18 ~@24 e1@6 a1@30 ~@6 g1@12 c1@18 e1@30 d1, ~@221 a1@30 ~@37]/6",
  M: "[~@17 d2@18 a1@9 ~@3 a1@18 e1@30 d1@42 ~@6 a1@18 f1@30 c2@18 g1@30 a1@18 f1@30 c2@18 g1@30 a1@48 ~]/8",
})).s("gm_electric_bass_finger").gain(0.55)

// chords · rock organ · "ORGAN 3"
const rock_organ = note("<~@22 A@2 B@5 ~@7 C@5 D@8 E@8 F G@2 H@4 I@5 J K L@2 M@4 ~@7 N@5 O@8 P@6>".pickRestart({
  A: "[~@18 b4 c#6@10 ~@2 c#6@4 b5@3 a5@3 f#5@35 ~@20, ~@13 a3@2 [c4,d4]@2 [g4,a4]@2 ~@77, ~@14 b3@2 [e4,f4]@2 e6@21 ~@57, ~@9 b5 ~@5 b5 ~@32]/2", // Csus2 Gsus2 Fmaj7
  B: "[~@9 g5 ~ f#6@6 e6@12 f#6@6 ~@8 d#4 f#4 [a#4,c#5] ~ g5 f#6@47 ~@96 b5@2 ~@16 b5@22 ~@9, ~@8 e5@2 e6@2 ~@23 e6@9 [b4,c5]@2 f5@2 ~@192, ~@9 f5@2 ~@32 [g4,a4]@2 [d5,e5]@2 e6@2 ~@46 e6@117 ~@28]/5", // A#m Cmaj7 Gsus2 Dsus2
  C: "[~@47 [f#4,d5]@46 ~@2 [g#4,e5]@47 ~ [f#4,d5]@47 ~ [g#4,e5]@44 ~@4 [a4,c#5,e5], ~@47 b4@95 ~ b4@91 ~@6]/5", // D C#m D C#m A
  D: "[~@17 [g#4,b4,c#5,e5]@30 [a4,b4,d5,f#5]@48 [f#4,a4,c#5]@96 [a4,c#5,e5]@18 ~@3 c#5@27 [a4,b4,d5,f#5]@48 [f#4,a4,c#5]@18 [e4,g#4,b4,c#5]@30 [a4,b4,d5,f#5]@48 f#5, ~@209 [g#4,b4,e5]@30 ~@145]/8", // C#m7 Bm7 F#m A Bm7 F#m C#m7 Bm7 …
  E: "[~@47 e5@48 f#5@48 e5@47 ~ d#5@18 e5@30 d#5@18 [a#4,c#5]@28 ~@2 d#5@18 e5@30 d#5@18 [a#4,c#5]@18 ~ f2 ~@10 c5, ~@191 b4@64 ~@32 b4@64 ~@21 [b2,c3]@4 g3@3 [c#4,d4,d#4,e4]@3 [a4,a#4,b4]@2, ~@191 g#5@47 ~ f#5@47 ~ g#5@48 f#5@36 ~ [g2,a2]@2 [d3,e3]@3 [a3,b3]@3 [f4,f#4]@3 ~, ~@373 a#2@2 f3@3 c4@3 [g4,g#4]@3]/8", // A#m Cmaj7 Gsus2 Dsus2 Asus2 F#maj7 G#maj7
  F: "[g#5,b5,d#6]@17 ~ [g#5,b5,e6]@29 ~", // G#m E
  G: "[[b5,d#6]@18 c#6@29 ~ g#5@16 ~ [g#5,e6]@31, f#5@46 ~@2 b5@47 ~, ~@18 a#5@26 ~@3 d#6@16 ~@33]/2", // B C#m
  H: "[[b5,d#6]@17 [a#5,c#6]@29 ~ d#6@18 ~ e6@29 ~ d#6@18 [a#5,c#6]@29 ~@18 e6@28 ~@2 [f#5,b5,d#6], f#5@45 ~@2 [g#5,b5]@47 ~ f#5@46 ~@2 d#6@18 ~@31, ~@95 b5@16 ~@32 b5@47 ~@2, ~@72 g#5@23 ~]/4", // B A#m B G#m
  I: "[~@17 [f#5,a#5,c#6]@29 ~ [g#4,e5]@46 ~@2 [a#4,f#5]@47 ~ [g#4,e5]@47 ~ [a#4,f#5]@36 ~@11 b3@2, ~@47 c#5@95 ~ c#5@84 ~@3 f2@2 [a2,b2]@2 d3@2 g3@3 ~, ~@231 g2@2 c3@2 [e3,f3]@2 a3@3]/5", // F# C#m D#m C#m D#m Asus2 Fmaj7
  J: "[g#4,b4,d#5]@47 ~", K: "[g#4,b4,e5]", L: "[[f#4,b4,d#5]@47 ~ [a#4,f#5]@47 ~, ~@47 c#5@41 ~@8]/2",
  M: "[~ [b4,g#5]@46 [e5,g#5]@48 d#5@48 [a#4,c#5]@38 c#2 ~@7 e4@2 ~, d#5@46 ~ b4@94 ~@40 f2@2 b2@2 [e3,f3]@2 [a3,b3]@2 ~@3, ~@95 f#5@87 [g2,a2]@2 [c3,d3]@2 g3@2 [c4,d4]@2 ~@2]/4", // E A#m Fmaj7 Asus2 Gsus2 Csus2
  N: "[~@47 [a4,f5]@46 ~@2 [b4,g5]@47 ~ [a4,f5]@47 ~ [b4,g5]@44 ~@4 [c5,e5,g5], ~@47 d5@95 ~ d5@91 ~@6]/5", // Dm Em Dm Em C
  O: "[~@17 [b4,d5,e5,g5]@30 [c5,d5,f5,a5]@48 [a4,c5,e5]@96 [c5,e5,g5]@18 ~@3 e5@27 [c5,d5,f5,a5]@48 [a4,c5,e5]@18 [g4,b4,d5,e5]@30 [c5,d5,f5,a5]@48 a5, ~@209 [b4,d5,g5]@30 ~@145]/8", // Em7 Dm7 Am C Dm7 Am Em7 Dm7 …
  P: "[~@47 g5@48 a5@48 g5@36 ~@7 g3@3 ~ e4 [c5,e5,a5]@52 ~@45, ~@184 e3@3 ~@101, ~@185 f3@3 ~ [c4,d4]@2 f4 ~@96]/6", // Am Csus2
})).s("gm_rock_organ").gain(0.24).pan(0.4)

// chords · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft = note("<~@22 A ~ B ~@3 C ~@27 D ~@11 E ~@7 F ~@23 G ~@2>".pickRestart({
  A: "~@12 d#3 f#3 g#3 [a#3,c#4] [d#4,f#4] ~@31, ~@11 d3@2 [f3,g3]@3 ~@32, ~@6 e3 ~@17", // A#m D#m Fsus2
  B: "~@3 b3 ~ f#4 g#4 a#4 c#5 d#5 ~@32 c4 ~ g#4 ~ d#5 f#5, ~@3 c4@3 [g4,a4]@2 d5@3 ~@32 [e4,f4]@2 ~@3, ~@4 [d4,d#4,e4,f4]@3 [b4,c5]@3 ~@32 d4@2 ~@4", // Gsus2 Fmaj7 Cmaj7
  C: "c#6@3 ~@5", D: "~@36 g#2@2 ~@3 [g#3,a#3]@2 ~@4 c#5, ~@36 f#2 ~ c#3@2 f#3@2 ~@6, ~@39 d#3@2 ~@7",
  E: "~@36 a#1 c#2@2 d#2 f#2 g#2 a#2 c#3 d#3 f#3 g#3 ~, ~@9 [c2,d2] ~@2, ~@18 b1 ~@5, ~@37 e2@4 ~@7", // Csus2
  F: "~@36 b1 [d2,e2]@2 f#2 ~@3 f#3 [g#3,a#3] c#4 f4 ~, ~@18 c2 ~@5, ~@37 d#2 ~@10", // Dsus2 G#sus2
  G: "~@37 g2@2 ~ d3@3 ~ b3@2 ~@2, ~@36 [e2,f2]@2 ~ c3@3 ~ a3@2 ~@3, ~@37 [a2,b2]@4 ~@7", // Fmaj7 Asus2
})).s("gm_rock_organ").gain(0.05).pan(0.4)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@8 A@6 ~@2 B@2 ~@8 C@4 ~@2 B@2 ~@2 D@6 E F@3 G@2 ~@8 H@2 I@2 J@2 K@2 L@5 ~@11 M@3 ~ N@6 O P@3 Q@2 ~@7
>`.pickRestart({
  A: "[~@29 e2@6 f2@6 f#2@80 ~@4 e2@6 f2@6 f#2@80 ~@4 e2@6 a2@6 f#2@51 ~@4]/6", B: "[~@29 e2@6 a2@6 f#2@49 ~@6]/2",
  C: "[~@29 e2@6 f2@6 f#2@80 ~@4 e2@6 a2@6 f#2@51 ~@4]/4",
  D: "[~@53 f#3@6 b3@12 ~@6 f#3@6 b3@12 ~@18 e4@9 e4@6 ~@3 e4@3 e4@9 ~@12 b3@12 ~@12 b3@12 e2@15 ~@3 e4@25 ~@5 [c#4,e4]@44 ~@5, ~@47 b2@23 ~ a2@24 e2@33 e2@15 b2@25 ~@69 a3@47 ~@4, ~@101 g#3@42 ~@6 f#3@19 ~@5 f#3@19 ~@44 e3@48 ~@4, ~@107 b3@36 ~@24 a2@25 ~@42 a2@50 ~@4, ~@238 b3@45 ~@5]/6", // C#m
  E: "~@17 a4@30 ~, ~@5 b3@42 ~, ~@11 d4@36 ~",
  F: "[~@65 c#4@25 ~@6 [a2,e3]@17 [c#3,b3,c#4,e4]@27 ~@4, ~@17 [f#3,a3,b3]@74 c#4@22 ~@31, ~@17 e4@72 ~ e4@23 ~@31, ~@53 g#4@40 b3@20 ~@31, ~@59 f#4@35 a3@20 ~@30]/3", // A5 C#m7 B7
  G: "[~@17 a4@23 ~@7 f#2@17 ~ c#3@30 ~, ~@5 b3@35 ~@56, ~@11 d4@29 ~@56]/2", H: "[~@29 f#2@6 b2@6 g#2@49 ~@6]/2",
  I: "[~@29 f#2@6 b2@6 g#2@33 ~@22]/2", J: "[~@29 f#2@6 b2@6 g#2@26 ~@29]/2", K: "[~@29 f#2@6 b2@6 g#2@27 ~@28]/2",
  L: "[~@53 g#3@6 c#4@12 ~@6 g#3@6 c#4@12 ~@18 f#4@9 f#4@6 ~@3 f#4@3 f#4@9 ~@12 c#4@12 ~@12 c#4@12 f#2@15 ~@3 f#4@26 ~@5, ~@47 c#3@23 ~ b2@24 f#2@33 f#2@15 c#3@25 ~@72, ~@101 a#3@42 ~@6 g#3@19 ~@5 g#3@19 ~@48, ~@107 c#4@36 ~@24 b2@25 ~@48]/5",
  M: "[~@41 a2@96 ~@7, ~@29 g2@96 ~@19, ~@35 c3@96 ~@13]/3",
  N: "[~@113 g4@9 g4@6 ~@3 g4@3 g4@9 ~@12 d4@12 ~@12 d4@12 g2@15 ~@3 g4@25 ~@5 [e4,g4]@44 ~@5, ~@47 d3@60 d4@21 g2@15 ~@24 c3@25 ~@42 c3@50 ~@4, ~@53 a3@24 a3@66 ~@6 a3@19 ~@5 a3@19 ~@44 g3@48 ~@4, ~@59 d4@24 d4@12 g2@6 b3@42 ~@94 c4@47 ~@4, ~@71 c3@72 d3@25 ~@70 d4@45 ~@5]/6", // Em
  O: "~@17 c5@30 ~, ~@5 d4@42 ~, ~@11 f4@36 ~",
  P: "[~@65 e4@25 ~@6 [c3,g3]@17 [e3,d4,e4,g4]@27 ~@4, ~@17 [a3,c4,d4]@74 e4@22 ~@31, ~@17 g4@72 ~ g4@23 ~@31, ~@53 b4@40 d4@20 ~@31, ~@59 a4@35 c4@20 ~@30]/3", // C5 Em7 D7
  Q: "[~@17 c5@23 ~@7 a2@17 ~ e3@30 ~, ~@5 d4@35 ~@56, ~@11 f4@29 ~@56]/2",
})).s("gm_electric_guitar_clean").gain(0.26).pan(0.6)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@40
  [~@8 e4@6 e2@29 ~@5, ~@5 b3@38 ~@5]
  ~@27
  [~@8 f#4@6 f#2@29 ~@5, ~@5 c#4@38 ~@5]
  ~@19
  [~@8 g4@6 g2@29 ~@5, ~@5 d4@38 ~@5]
  ~@14
>`).s("gm_electric_guitar_clean").gain(0.13).pan(0.6)

// other · rock organ · "ORGAN 3"
const rock_organ_2 = note("<~@29 A B C D E F G@2 ~@33 H ~@3 I ~@2 J K L M N O P@2 ~@18>".pickRestart({
  A: "~@5 e4@2 ~ f#4@2 ~@4 e4 ~@11 e4@2 ~ b3@2 ~ c#4@2 ~ e4 ~@2 e4 ~@9, ~@5 b3 ~@42",
  B: "~@2 b3 ~@2 a4 ~@2 a4 ~@5 [b3,a4] ~@5 a3 ~@2 b4 ~@2 b4@2 ~ a3 ~@5 b4@2 ~ a3 ~@2 a4@2 ~ b4 ~@3", // B7
  C: "~@2 b3 ~@2 e4 ~@2 f#4@2 ~ b3 ~@2 e4 ~@2 b3 ~@5 e4 ~@2 e4 ~@8 e4 ~@2 e4@2 ~@8",
  D: "~@5 e4 ~@2 f#4@2 ~@4 e4 ~@2 b3 ~@5 [e4,b4] ~@2 [e4,b4] ~@2 b3 ~@2 b3 ~@2 [e4,b4] ~@2 [e4,b4] ~@9", // E5
  E: "~@2 b3 ~@2 e4 ~@2 f#4@2 ~ b3 ~@2 e4 ~@2 b3 ~@2 b3 ~@2 e4 ~@2 e4 ~@5 b3 ~@2 e4 ~@2 e4 ~@9",
  F: "~@8 [e4,a4] ~@5 a4@2 ~@7 [e4,b4] ~@2 e4@2 ~@4 b3 ~@2 [e4,b4] ~@2 b4@2 ~@4 [e4,b4] ~@3, ~@14 e4 ~@11 b4 ~@11 e4 ~@9", // A5 E5
  G: "[~@2 b3 ~@2 e4 ~@2 f#4@2 ~ b3 ~@2 e4 ~@2 b3 ~@2 b3 ~@2 e4 ~@2 e4 ~@5 b3 ~@2 e4 ~@2 e4 ~@8 [b4,e5]@2 ~ e4 ~@2 [b4,e5] ~@2 [b4,e5]@2 ~ e4 ~@2 e5@2 ~@7 e5@2 ~ e5@2 ~@4 e4 ~@2 [b4,e5] ~@2 e5@2 ~@8, ~@62 b4 ~@8 b4 ~@2 b4 ~@11 b4 ~@9]/2", // E5
  H: "~@12 b4@2 ~ b4@2 ~@7 b4@2 ~ b4@2 ~@4 e4 ~@2 b4@2 ~ b4@2 ~@7",
  I: "~@9 b3@2 ~ b4@2 b4@2 ~@4 b3 ~@2 b4 ~@2 b4 ~@4 b3 ~@3 b4 ~ b4@2 ~@9",
  J: "~@5 g4@2 ~ a4@2 ~@4 g4 ~@11 g4@2 ~ d4@2 ~ e4@2 ~ g4 ~@2 g4 ~@9, ~@5 d4 ~@42",
  K: "~@2 d4 ~@2 c5 ~@2 c5 ~@5 [d4,c5] ~@5 c4 ~@2 d5 ~@2 d5@2 ~ c4 ~@5 d5@2 ~ c4 ~@2 c5@2 ~ d5 ~@3", // D7
  L: "~@2 d4 ~@2 g4 ~@2 a4@2 ~ d4 ~@2 g4 ~@2 d4 ~@5 g4 ~@2 g4 ~@8 g4 ~@2 g4@2 ~@8",
  M: "~@5 g4 ~@2 a4@2 ~@4 g4 ~@2 d4 ~@5 [g4,d5] ~@2 [g4,d5] ~@2 d4 ~@2 d4 ~@2 [g4,d5] ~@2 [g4,d5] ~@9", // G5
  N: "~@2 d4 ~@2 g4 ~@2 a4@2 ~ d4 ~@2 g4 ~@2 d4 ~@2 d4 ~@2 g4 ~@2 g4 ~@5 d4 ~@2 g4 ~@2 g4 ~@9",
  O: "~@8 [g4,c5] ~@5 c5@2 ~@7 [g4,d5] ~@2 g4@2 ~@4 d4 ~@2 [g4,d5] ~@2 d5@2 ~@4 [g4,d5] ~@3, ~@14 g4 ~@11 d5 ~@11 g4 ~@9", // C5 G5
  P: "[~@2 d4 ~@2 g4 ~@2 a4@2 ~ d4 ~@2 g4 ~@2 d4 ~@2 d4 ~@2 g4 ~@2 g4 ~@5 d4 ~@2 g4 ~@2 g4 ~@8 [d5,g5]@2 ~ g4 ~@2 [d5,g5] ~@2 [d5,g5]@2 ~ g4 ~@2 g5@2 ~@7 g5@2 ~ g5@2 ~@4 g4 ~@2 [d5,g5] ~@2 g5@2 ~@8, ~@62 d5 ~@8 d5 ~@2 d5 ~@11 d5 ~@9]/2", // G5
})).s("gm_rock_organ").gain(0.25).pan(0.7)

// other · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft_2 = note("<~@29 A B C A ~ D ~ E ~@33 F ~@6 G H I G ~ J ~ K ~@18>".pickRestart({
  A: "~@11 b3 ~@36", B: "~@32 a3 ~@15", C: "~@20 c#4 ~@23 c#4 ~@3", D: "~@5 b3 ~@5 b3 ~@8 b3 ~@27", E: "~@20 e4 ~@27",
  F: "~@9 e4 ~@10 e4 ~@27", G: "~@11 d4 ~@36", H: "~@32 c4 ~@15", I: "~@20 e4 ~@23 e4 ~@3",
  J: "~@5 d4 ~@5 d4 ~@8 d4 ~@27", K: "~@20 g4 ~@27",
})).s("gm_rock_organ").gain(0.15).pan(0.7)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  A@7 B@2 ~@16 C@2 D@3 ~@22 E@2 F@4 ~@8 G@2 H@2 ~@6 I@2 ~@8 J@2 K@2 ~@7 L@2 M@2 ~@2
>`.pickRestart({
  A: "[~@29 [e2,b2,e3]@6 [e2,b2,e3]@6 [e2,b2,e3]@84 e3@6 [g2,e3]@6 [e2,b2,e3]@84 e3@6 [g2,e3]@6 [e2,b2,e3]@12 e2@3 ~@3 [e2,b2,e3]@3 ~@3 [b3,e4]@60 e3@6 [g2,e3]@6 [e2,b2,e3]@7, ~@125 [e2,b2]@12 ~@84 [e2,b2]@12 ~@21 [e2,b2]@63 [e2,b2]@12 ~@7]/7", // E5 C E5 C E5 C E5
  B: "[~@8 e2@3 [e2,b2,e3]@3 ~@3 [b3,e4]@76 ~@3, ~@14 [e2,e3]@79 ~@3]/2", // E5 E
  C: "[~@17 f#4@3 a4@2 ~ b4@10 a4@3 b4@2 ~ b4@3 a4@3 f#4@2 a4@2 ~ a4@2 ~ e4@3 c#4@3 e4@3 f#4@3 a4@3 f#4@19 ~@9]/2",
  D: "[~@17 f#4@2 ~ a4@2 ~ b4@9 a4@3 b4@2 ~ b4@3 a4@3 f#4 ~@2 c#5@7 e5@2 ~@3 f#5@6 e5@12 ~@6 c#5@6 f#5@6 a5@49]/3",
  E: "[~@41 d#4@5 ~ d#5@18 c#5@12 b4@3 ~@16]/2",
  F: "[~@11 b4@3 c#5@2 ~ a#4@18 b4@3 c#5@2 ~ g#4@12 f#4@3 d#4@2 ~ g#4@12 f#4@18 c#4@3 b3@3 a#3@3 b3@3 a#3@3 f#3@3 ~ b3@3 c#4@3 d#4@3 ~@5 b4@3 a#4@4 ~@2 d#5@6 f#5@4 g#5@45 ~@6, ~@117 f#4@5 ~@7 f#4@4 ~@59, ~@30 a#4 ~@17]/4",
  G: "[~@5 g#4@2 ~@4 d#5@33 b4@3 c#5@41 ~@8]/2", H: "[~@23 d#5@6 f#5@3 ~@3 g#5@3 ~@3 b5@49 ~@6]/2", I: "[~@47 c6@49]/2",
  J: "[~@4 a4@2 ~@5 e5@9 d5@2 c5@2 d5@17 c5@3 b4@3 a4@44 ~@5]/2", K: "[~@6 a4@5 ~@7 c5@5 b4@6 c5@7 d5@5 g5@43 ~@12]/2",
  L: "[~@17 a4@3 c5@2 ~ d5@10 c5@3 d5@2 ~ d5@3 c5@3 a4@2 c5@2 ~ c5@2 ~ g4@3 e4@3 g4@3 a4@3 c5@3 a4@19 ~@9]/2",
  M: "[~@17 a4@2 ~ c5@2 ~ d5@9 c5@3 d5@2 ~ d5@3 c5@3 a4 ~@2 e5@7 g5@2 ~@3 a5@6 g5@12 ~@19]/2",
})).s("gm_overdriven_guitar").gain(0.29).pan(0.3)

// other · overdriven guitar · "OVERDRIVE" · soft notes
const overdriven_guitar_soft = note("<~@5 A@2 B@2 ~@94>".pickRestart({
  A: "[~@5 [b2,e3]@3 [e2,b2,e3]@3 ~@3 e3@63 ~@19]/2", B: "[~@5 [e2,b2,e3]@3 [b2,e3]@3 ~@3 b2@79 ~@3]/2",
})).s("gm_overdriven_guitar").gain(0.16).pan(0.3)

// other · marimba
const marimba = note(`<
  ~@59
  [~@5 f#4 ~@2 g#4 ~@2 b4 ~@2 b4@2 ~ b3 ~@2 b3@2 ~ b4 ~@2 b4@2 ~@4 b4@2 ~@4 b4@2 ~ b3 ~@2 b3 ~@3]
  ~
  [~@5 f#4 ~@2 g#4@2 ~ b4 ~@2 b4@2 ~ b3 ~@2 b3@2 ~ b4@2 ~ b4@2 ~@4 b3@2 ~ b4 ~@2 b4@2 ~ b3 ~@2 b3@2 ~@2]
  ~
  [~@5 f#4 ~@2 g#4 ~@2 b4 ~@2 b4@2 ~ b3@2 ~ b3@2 ~ b4 ~@2 b4@2 ~@4 b3@2 ~ b4@2 ~ b4@2 ~ b3@2 ~ b3@2 ~@2]
  [~@8 f#4 ~@2 f#4 ~@2 f#4 ~@8 f#4 ~@8 f#4@2 ~@4 f#4 ~@2 f#4 ~@2 f#4 ~@3]
  ~@38
>`).s("gm_marimba").gain(0.28).pan(0.6)

// drums · kick
const kick = s("bd").struct("<A B@20 C B C B@13 C B C B@18 D B E B@4 C B C B F@7 G B@8 C B C B@12 H I ~>".pickRestart({
  A: "~@47 x", B: "~@17 x ~@11 x ~@17 x", C: "~@17 x ~@5 x ~@23 x", D: "~@17 x ~@12 x ~@16 x",
  E: "~@17 x ~@11 x ~@5 x ~@11 x", F: "~@23 x ~@5 x ~@17 x", G: "~@17 x ~@5 x ~@5 x ~@17 x", H: "~@17 x ~@11 x ~@18",
  I: "x",
})).gain(0.6)

// drums · snare
const snare = s("sd").struct(`<
  ~@2 A ~ A ~ A ~ A B@3 C B@7 D B@7 D B@7 E B@11 E B@3 D B@3 F B G B G B G B H B@3 I B@3 D B@3 J B@7 E B@11 E B@3 D ~@2
>`.pickRestart({
  A: "~@35 x ~@12", B: "~@11 x ~@23 x ~@12", C: "~@11 x ~@23 x ~@5 x ~@6", D: "~@11 x ~@23 x ~@5 x ~@2 x ~@3",
  E: "~@11 x ~@11 x ~@8 x ~@2 x ~@12", F: "~@5 x ~@5 x ~@11 x ~@8 x ~@2 x ~@12", G: "~@11 x ~@14 x ~@8 x ~@12",
  H: "~@11 x ~@14 x ~@8 x ~@5 x ~@2 x ~@3", I: "~@11 x ~@23 x ~@6 x ~ x ~@3", J: "~@11 x ~@11 x ~@11 x ~@5 x ~@2 x ~@3",
})).gain(0.6)

// drums · hihat
const hihat = s("hh").struct(`<
  A B C B D B C B C B E B F G@2 B H I B@2 J C@3 K B E B F G@2 B H I B@2 J C@3 L G C@2 D C@3 M B E B F G@2 B H I B@2 E
  G@2 B N C@3 L G B I J I C B O G@2 B H I B@2 J C@3 L G C@2 D C@3 M B E B P ~@2
>`.pickRestart({
  A: "~@47 x", B: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x", C: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@11 x",
  D: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@12", E: "~@5 x ~@5 x ~@5 x ~@5 x ~@11 x ~@11 x",
  F: "~@5 x ~@5 x ~@5 x ~@5 x ~@11 x ~@5 x ~@5 x", G: "~@11 x ~@5 x ~@5 x ~@5 x ~@5 x ~@11 x",
  H: "~@11 x ~@5 x ~@11 x ~@5 x ~@11 x", I: "~@11 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x",
  J: "~@5 x ~@5 x ~@5 x ~@5 x ~@11 x ~@12", K: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@17 x",
  L: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@18", M: "~@5 x ~@5 x ~@5 x ~@5 x ~@23 x", N: "~@11 x ~@5 x ~@11 x ~@5 x ~@12",
  O: "~@11 x ~@5 x ~@5 x ~@23 x", P: "~@5 x ~@5 x ~@5 x ~@5 x ~@11 x ~@5 x ~@6",
})).gain(0.3)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@10 A ~@2 B C ~ D C ~@8 A ~@2 B C ~ D C ~@16 A ~@2 B C ~ D C ~@3 B C ~ D ~@6 C A ~@3 E B C ~ D C ~@16 A ~@4
>`.pickRestart({
  A: "~@41 x ~@6", B: "~@5 x ~@35 x ~@6", C: "~@5 x ~@42", D: "~@5 x ~@17 x ~@24", E: "~@5 x ~@23 x ~@18",
// … 80 more lines

More by Eros Ramazzotti