Strudelify
Io muoio di te cover art

1994 · Equivocando

Io muoio di te

Tozzi

KeyC minorTempo124 bpm
0:00/0:00
// Io muoio di te — Tozzi
// 124 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 126 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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.

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~ A B C D A E F G A B F H A I J K L M F N O P Q R ~@15 L S F N A T U@2 A S F N V W F X Y@2 ~@22 A Z F N AA AB AC AD A
  B F AE AA W AF AG AH AI ~@28
>`.pickRestart({
  A: "db3 ~ gb3 ~ ab3 ~ db3 ~ bb3 ~ gb3 ~@3 db3 ~", B: "ab3 ~ db3 ~ ab3 ~ bb3@4 gb3 ~@3 db3 ~",
  C: "eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4@2 ab3 ~@3 eb3@2", D: "bb3@2 eb3 ~ bb3@2 c4@4 ab3 ~ eb3 ~@3",
  E: "ab3 ~@3 ab3@2 bb3@4 gb3 ~@5", F: "eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4 ~ ab3 ~@3 eb3 ~",
  G: "bb3 ~@3 bb3 ~ c4@4 ab3@2 eb3 ~@3", H: "bb3@2 ~@2 bb3 ~ c4@4 ab3 ~ eb3 ~ eb3 ~",
  I: "ab3 ~@3 ab3 ~ bb3@4 gb3 ~ eb3 ~ db3 ~", J: "eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4@2 bb3 ~@3 eb3 ~",
  K: "[ab3,db4]@3 ~@3 [ab3,db4]@3 ~ [ab3,c4]@3 ~@3", L: "db3 ~@3 ab3 ~ db3 ~ bb3 ~ gb3 ~@3 db3 ~",
  M: "ab3 ~@3 ab3 ~ bb3@4 gb3@2 ~@2 db3 ~", N: "bb3 ~@3 bb3 ~ c4@4 ab3 ~@5",
  O: "~@2 ab3 ~ bb3@2 ~@2 c4 ~ ab3 ~@3 db3 ~", P: "ab3 ~ db3 ~ ab3 ~ bb3@4 gb3@3 ~ eb3 ~",
  Q: "eb3 ~ ab3 ~ bb3@2 ~@2 c4@2 ab3 ~ eb3 ~ [ab3,db4]@2", R: "~@2 [ab3,db4]@3 ~ [ab3,db4] ~ [ab3,c4]@5 ~@3",
  S: "ab3 ~@3 ab3 ~ bb3@4 gb3 ~ db3 ~ db3 ~", T: "ab3 ~@3 ab3 ~ bb3@4 gb3 ~@5",
  U: "[eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4 ~ ab3 ~ eb3 ~ [ab3,db4]@4 ~@4 [ab3,db4]@3 ~ [ab3,c4]@3 ~ ab3 ~]/2", // Db5 Ab
  V: "d3 ~ ab3 ~ [bb3,b3] ~ ab3 ~ c4 ~ ab3 ~@3 db3 ~", W: "ab3 ~@3 ab3 ~ bb3@4 gb3 ~ db3 ~ eb3 ~",
  X: "bb3 ~@5 c4@4 ab3 ~@3 eb3 ~",
  Y: "[eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4 ~ ab3 ~@3 [ab3,db4]@4 ~@2 ab3 ~ [ab3,db4]@3 ~ [ab3,c4]@4 ~@2]/2", // Db5 Ab
  Z: "ab3 ~ db3 ~ ab3 ~ bb3@4 gb3 ~ db3 ~ db3 ~", AA: "db3 ~ gb3 ~ ab3 ~ db3 ~ bb3 ~ gb3 ~@5",
  AB: "ab3 ~ db3 ~ ab3 ~ bb3@4 ~@6", AC: "eb3 ~ ab3 ~ bb3 ~@3 c4 ~ ab3 ~@5", AD: "bb3 ~@3 bb3 ~ c4@4 ab3 ~ eb3 ~@3",
  AE: "bb3 ~ eb3 ~ bb3 ~ c4@4 ab3 ~ eb3 ~ eb3 ~", AF: "eb3 ~ ab3 ~ bb3 ~@3 c4 ~ ab3 ~@3 eb3 ~",
  AG: "bb3 ~ eb3 ~ bb3 ~ c4@4 ab3 ~@3 eb3 ~", AH: "eb3 ~ ab3 ~ bb3 ~@3 c4 ~ ab3 ~ eb3 ~ ab3 ~",
  AI: "ab3 ~ eb3 ~@5 ab3 ~ ab3 ~ ab3 ~ ab3 ~",
})).s("gm_electric_guitar_muted").gain(0.4).pan(0.3)

// other · electric guitar muted · soft notes
const electric_guitar_muted_2 = note(`<
  ~@2 A ~ B A C ~ D ~@3 E ~@4 F G ~ H I A J ~@16 F G ~ H ~ K ~ L ~ G ~ M ~ G N O N E ~@25 D P Q R D A ~@3 P ~@3 J S ~@28
>`.pickRestart({
  A: "~@12 db3 ~@3", B: "~@14 eb3 ~", C: "~@2 db3 ~@11 db3 ~", D: "~@2 eb3 ~@11 eb3 ~", E: "~@2 eb3 ~@13",
  F: "~@2 gb3 ~@13", G: "~@2 db3 ~@13", H: "~@2 eb3 ~@9 eb3 ~@3", I: "~@6 c3 ~@9", J: "~@6 eb3 ~@9",
  K: "~@2 db3 ~@9 db3 ~@3", L: "~@2 ab3 ~ ab3 ~@11", M: "~@2 eb3 ~@9 eb3 ~ ab3 ~", N: "~@12 eb3 ~@3",
  O: "~@2 eb3 ~ bb3 ~@7 ab3 ~@3", P: "~@14 db3 ~", Q: "~@10 gb3 ~ db3 ~ eb3 ~", R: "~@6 eb3 ~@7 eb3 ~",
  S: "~@4 eb3 ~ ab3 ~@9",
})).s("gm_electric_guitar_muted").gain(0.2).pan(0.3)

// bass · electric bass pick
const bass = note(`<
  ~ A@2 B@2 A@2 B@2 A@2 B@2 A C B@2 A@2 B@2 D A B@2 E F G@2 E F G H I F@2 J G F@2 A@2 B@2 A C B@2 A@2 B@2 D A B@4 E F
  G@2 E F K L I F@2 J G F@2 M G F M G N O A@2 B@2 A C B@2 A@2 B@2 A C B@4 P Q R@2 P Q R L I F@2 J G S@2 L I F@2 J G N O
  L I F T ~
>`.pickRestart({
  A: "gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~", B: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~",
  C: "eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~", D: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~",
  E: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ c2 ~", F: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  G: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~", H: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ d2 ~",
  I: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", J: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ bb1 ~",
  K: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1@2", L: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ d2 ~",
  M: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", N: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2 a1@2",
  O: "~@2 bb1@3 ~ c2@3 ~ c2 ~ c2 ~ c2 ~", P: "eb1", Q: "c2@15 ~", R: "bb1@15 ~",
  S: "[c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ a1@4 bb1@3 ~ c2@3 ~ c2 ~ c2 ~ c2 ~]/2",
  T: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~@3",
})).s("gm_electric_bass_pick").gain(0.66)

// other · electric guitar muted
const electric_guitar_muted_3 = note(`<
  ~ A@2 B@2 A@2 B@2 A@2 B@2 A C B@2 A@2 B@2 D A B@2 E F G@2 E F G H I F@2 J G F@2 A@2 B@2 A C B@2 A@2 B@2 D A B@4 E F
  G@2 E F K L I F@2 J G F@2 M G F M G N O A@2 B@2 A C B@2 A@2 B@2 A C B@4 P Q R@2 P Q R L I F@2 J G S@2 L I F@2 J G S@2
  L I F@2 ~
>`.pickRestart({
  A: "gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~", B: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~",
  C: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", D: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~",
  E: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ c3 ~", F: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~",
  G: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~", H: "f3 ~ f3 ~ f3 ~ f3 ~ f3 ~ f3 ~ f3 ~ d3 ~",
  I: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~", J: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ bb2 ~",
  K: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2@2", L: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ d3 ~",
  M: "a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~", N: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3@2 a2@2",
  O: "~@2 bb2@3 ~ c3@3 ~ c3 ~ c3 ~ c3 ~", P: "eb2", Q: "c3@15 ~", R: "bb2@15 ~",
  S: "[c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ a2@4 bb2@3 ~ c3@3 ~ c3 ~ c3 ~ c3 ~]/2",
})).s("gm_electric_guitar_muted").gain(0.28).pan(0.9)

// chords · lead 2 sawtooth
const lead_2_sawtooth = note(`<
  ~ A B C D A B C D ~@34 E ~@3 F ~@3 G ~@3 F H I ~@7 J ~ J ~ J ~ J K ~@5 L M N O P Q N O P R N O P Q N O P S T U ~@7 V ~
  J ~ J ~ W X Y ~ Y ~ J ~ Z AA Y ~ J ~@2
>`.pickRestart({
  A: "[ab4,db5,f5] ~ [ab4,db5,f5] ~ [ab4,db5,eb5]@2 ~@10", B: "~@10 [ab4,db5,f5] ~ [ab4,db5,f5] ~ [ab4,db5,f5]@2",
  C: "~@2 [ab4,db5,f5] ~ [ab4,c5,eb5]@2 ~@10", D: "[db5,eb5,ab5]@2 ~@4 [db5,eb5,ab5]@3 ~@7",
  E: "[db5,ab5] ~ db5 ~ [db5,eb5] ~ [db5,eb5,ab5]@4 ~@6, eb5 ~@7", F: "[db5,eb5,ab5] ~ db5 ~ eb5 ~ [db5,eb5,ab5]@3 ~@7",
  G: "[db5,eb5,ab5] ~@3 db5 ~ [db5,eb5,ab5]@4 ~@6", H: "~@14 [db5,eb5,ab5] ~",
  I: "[db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [c5,eb5,ab5] ~@3 [c5,eb5,ab5]@2 ~@2", // Dbsus2 Ab
  J: "~@2 [c5,f5]@2 ~@4 [c5,f5]@3 ~@5", K: "[c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5]@6 ~@4", L: "~@7 a3",
  M: "~@2 bb3@3 ~ c4@5 ~@5", N: "[db5,f5] ~ [db5,f5] ~ [db5,eb5] ~@11", O: "~@10 [db5,f5] ~ [db5,f5] ~ [db5,f5]@2",
  P: "~@2 [db5,f5] ~ [db5,eb5] ~@11", Q: "[eb5,ab5] ~@2 [eb5,ab5]@2 ~@3", R: "[eb5,ab5] ~@3 eb5 ~ [eb5,ab5]@4 ~@6",
  S: "eb5@2 ~@2 eb5 ~ [eb5,ab5]@5 ~@5, ab5 ~@15", // Ab5
  T: "[db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~", // Dbsus2
  U: "[db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [c5,eb5,ab5]@6 ~@2", // Dbsus2 Ab
  V: "~ [c5,f5] ~@2 [c5,f5] ~@3", W: "~ [c5,f5] ~@2 [c5,f5]@2 ~ [a4,f5]",
  X: "~@2 [bb4,f5,gb5]@3 ~ d5@6 c5@2 ~@2, ~@3 f5@4 ~", Y: "~@2 [c5,f5]@2 ~@2 c5 ~ [c5,f5]@3 ~@5",
  Z: "~@2 [c5,f5]@2 ~@2 c5 ~ [c5,f5]@2 ~@4 [a4,f5]@2", AA: "~@2 [bb4,f5]@3 ~ [d5,f5]@5 ~ [c5,f5]@2 ~@2",
})).s("gm_lead_2_sawtooth").gain(0.26)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@25 A@7 B@4 C@4 ~@18 D@4 E@3 F@3 G H@3 G I J K I J L@2 ~@18 M@6 N B@4 O@4 B@4 P@8 ~
>`.pickRestart({
  A: "[bb3@14 c4@17 ~@17 d4@16 ~@14 c4@18 ~@12 d4@4, eb4@49 ~@15 eb4@44 ~@4, ~@32 bb3@46 ~@18 bb3@15 ~]/7",
  B: "[c4@7 d4@9 ~@8 e4@8, f4@3 ~, ~ c4]/4", C: "[d4@7 ~@17 e4@7 ~, f4@3 ~, ~@7 c4@24 ~]/4",
  D: "[bb3@14 c4@17 ~@17 d4@16, eb4@49 ~@15, ~@32 bb3@31 ~]/4", E: "[bb3@7 c4@9 ~@6 d4@2, eb4@11 ~, ~@32 bb3@15 ~]/3",
  F: "[c4@7 d4@9 c4@8, f4]/3", G: "[c4,e4]", H: "[d4@14 c4@33 ~, f4]/3", I: "a2", J: "bb2", K: "c3",
  L: "[c3@14 [a3,c4]@4 [bb3,d4]@4 c4@9 ~, ~@22 f4@5 ~@5]/2", M: "[bb3 c4 ~ d4 ~ c4, eb4@3 ~ eb4@2, ~@32 bb3@47 ~@17]/6",
  N: "~@3 d4, [bb3,eb4]", O: "[f4@14 bb3@16 ~@2 [c4,f4]@14 [a3,c4]@4 [bb3,d4]@4 f4@5 ~ e4@4, d4@33 ~@21 c4@10]/4",
  P: "[f4@14 bb3@16 ~@2 f4@13 ~ a3@4 [bb3,d4]@4 f4@6 e4@4 ~@14 d4@18 ~@16 e4@16, d4@16 c4@9 ~@2 c4@12 ~@9 c4@16, ~@4 f4@3 ~]/8", // Bb
})).s("gm_string_ensemble_2").gain(0.24).pan(0.2)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@25 A@2 B@2 A@2 C D@2 E F G@2 H I ~@18 J@2 K L J@2 C M@2 N@2 O@2 P Q R S T U V W X ~@4 Y Z ~@2 Y AA ~@2 Y Z ~@3 AB
  AC@2 K AD@4 AE@2 AF AG AH@2 AI@2 AJ@2 AK AL AH@2 AI@2 AJ@2 AM@2 ~
>`.pickRestart({
  A: "[bb3@14 g3@17 ~, eb4@31 ~]/2", B: "[[bb3,eb4]@14 [bb3,d4]@17 ~]/2", C: "[bb3,eb4]@12 [bb3,d4]@3 ~",
  D: "[[c4,f4]@7 [c4,a4]@9]/2", E: "[c4,f4]@12 [c4,f4]@3 ~", F: "[c4,e4]", G: "[[a3,f4]@14 [bb3,f4]@17 ~]/2",
  H: "f4@6 f4 c4, c4@5 ~@3", I: "[c4,e4]@3 ~", J: "[[bb3,eb4]@13 ~ [g3,eb4]@17 ~]/2", K: "[bb3,eb4]",
  L: "[bb3,d4]@15 ~", M: "[f4@8 a4@5 ~ [d4,a4]@17 ~, c4@13 ~@19]/2", N: "[[c4,f4]@14 [c4,e4]@17 ~]/2",
  O: "[f4@14 [bb3,f4]@17 ~, a3@3 ~@5]/2", P: "c4@5 ~@3 c4@7 ~, f4@15 ~", Q: "[c4,e4]@7 ~",
  R: "[e3,a3] ~ e3 ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~", // A5
  S: "~@2 [f3,bb3] ~ [f3,bb3] ~@3 bb3 ~ [f3,bb3] ~ [f3,bb3] ~@3", // Bb5
  T: "[f3,c4] ~ [f3,c4] ~@3 [f3,c4] ~ c4 ~ [f3,c4] ~@3 [f3,c4] ~", // F5
  U: "[e3,a3] ~ a3 ~ a3 ~ [e3,a3] ~ a3 ~ [e3,a3] ~ a3 ~ [e3,a3] ~", // A5
  V: "[f3,bb3] ~ bb3 ~ [f3,bb3] ~ [f3,bb3] ~ bb3 ~ [f3,bb3] ~ bb3 ~@3", // Bb5
  W: "f3 ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ a2@2", X: "~@2 bb2@3 ~ c3@5 ~@5",
  Y: "~@10 gb3 ~@5", Z: "gb3 ~@15", AA: "gb3 ~@5 gb3 ~@9", AB: "~@10 ab2 ~ ab2 ~ ab2 ~", AC: "[bb3 c4, eb4@31 ~]/2",
  AD: "[[bb3,d4]@10 ~@2 d4@2 ~@18 c4@16 bb3@11 ~ [bb3,d4]@3 ~, ~@5 f3@2 bb3@9 ~@16, ~@16 eb4@43 ~@5]/4", // Bb
  AE: "[f4@7 a3@9, c4]/2", AF: "[c4,f4]@15 ~", AG: "c4@2 e4@2 c4 ~ e4@4 e4@5 ~, e4 ~@5 c4@9 ~",
  AH: "[[d4,a4]@13 ~ [bb3,f4]@17 ~]/2", AI: "[[c4,f4]@12 ~@2 a2@4 bb2@3 ~ c3@5 ~@5]/2",
  AJ: "[c4@14 a3@17 ~, f4@31 ~]/2", AK: "f4, c4@13 ~@3", AL: "~@2 e4@2 c4 ~ c4@2 [c4,e4]@3 ~@3 c4 ~, ~@2 c4 ~@13",
  AM: "[[c4,f4]@14 e4@5 ~ e4@2 c4@2 e4@2 g4@4 ~@2, ~@14 c4@3 ~@15]/2", // F5
})).s("gm_overdriven_guitar").gain(0.12).pan(0.7)

// chords · overdriven guitar · soft notes
const overdriven_guitar_soft = note(`<
  ~@38 A ~@32 B ~ C D E F G H ~@6 I ~@2 J ~@3 K ~@4 L ~@7 M@2 ~@8 N O P ~@6 Q ~
>`.pickRestart({
  A: "~@10 c4@3 ~@3", B: "~@6 c4 ~@9", C: "~@2 a3 ~@13", D: "[f3,bb3] ~@5 [f3,bb3] ~ f3 ~@5 [f3,bb3] ~",
  E: "~@4 [f3,c4] ~@3 f3 ~@3 [f3,c4] ~@3", F: "~@2 e3 ~ e3 ~@7 e3 ~@3", G: "~@2 f3 ~@5 f3 ~@3 f3 ~ [f3,bb3] ~",
  H: "[c3,g3] ~@15", I: "~@2 gb3 ~@13", J: "~@12 gb3 ~ gb3 ~", K: "~@14 gb3 ~", L: "~@6 ab2 ~ ab2 ~@7",
  M: "[~@7 f4@9]/2", N: "~@14 c4 ~", O: "c4 ~@11 e4@3 ~, ~@12 c4 ~@3", P: "~@4 eb4 ~@11",
  Q: "~@2 c4@4 ~@2 c4@2 ~@2 c4@2 e4 ~",
})).s("gm_overdriven_guitar").gain(0.08).pan(0.7)

// chords · electric guitar clean
const electric_guitar_clean = note("<~@16 A ~@6 B@2 ~@101>".pickRestart({
  A: "ab3 ~ ab3@2 eb3@2 [ab3,db4]@2 eb3 ~ [ab3,c4]@5 ~, db4@5 ~@11", // Db5 Ab
  B: "[~@14 ab3 ~ ab3@2 eb3@2 [ab3,db4]@2 eb3 ~ [ab3,c4]@5 ~@3, ~@14 db4@5 ~@13]/2", // Db5 Ab
})).s("gm_electric_guitar_clean").gain(0.28)

// other · overdriven guitar
const overdriven_guitar_2 = note("<~@80 A@4 B@3 C D E F G H I J K L@2 ~@28>".pickRestart({
  A: "[~@10 bb4@2 c5@2 db5@6 c5@2 bb4@2 db5@2 c5@2 bb4@2 ab4@16 db5@6 ~ ab4 ~ eb4 db4@2 c4 ab3 eb3 db3 ~ c3, ~@26 c5 ~@5]/4",
  B: "[db3@5 gb3 ab3@2 bb3 ~ gb4@2 ab4@6 gb3 ~ gb4@2 ~ gb4 ~ db4@2 ~@2 db4@2 ~ db5@4 c5@8 ~ ab5 ~ bb5, ~@9 db4@2 ~@8 db4@2 ~ db4@2 ab4@2 ~ gb4@2 ~@2 gb4@2 ~@15, ~@14 bb4 ~@7 gb5 ~]/3",
  C: "ab5@6 bb5 ~", D: "~@3 c6@2 ~ c6 ~ c6@2 ~ c6 ~ c6@2 ~", E: "c6@2 ~ c6@2 c6@2 ~ c6@2 c6@4 f5@2",
  F: "bb5@4 ab5@3 ~ ab5@3 ~ c6@2 ~@2", G: "c5@4 f5 eb5 c5 b4 bb4 ab4 c5 bb4 ab4 f4 eb4 [eb4,ab4]",
  H: "ab4@4 c5 ~@5 bb4@3 eb5@2 ~", I: "f5@6 ~ eb5@5 db5@3 [c5,db5]", J: "c5@6 db5 [bb4,c5] ab4@8",
  K: "~@2 c5@3 db5 c5 bb4 ab4 [eb4,g4] c4 bb3 ab3 eb3 db3 c3", // Eb
  L: "[db3@4 db3@3 c3@3 eb3@2 f3@2 ab3@13 ~@5, ~@14 gb3 ~@17]/2",
})).s("gm_overdriven_guitar").gain(0.53)

// drums · kick
const kick = s("bd").struct("<~ [x ~@2 x!2 ~@3]!124 [x ~@2 x ~@4]>").gain(0.71)

// drums · snare
const snare = s("sd").struct("<A B@23 C B@6 D B@15 E B@13 F B@2 F B@32 E B@6 G B@11 F B@8 H>".pickRestart({
  A: "~@2 x ~ x ~ x!2 ~ x ~@4 x!2", B: "~ x ~ x", C: "~@4 x ~@5 x ~ x ~ x!2", D: "~@4 x ~@5 x ~ x!2 ~@2",
  E: "~@4 x ~@7 x ~ x!2", F: "~@2 x ~@2 x!2 ~", G: "~@4 x ~@5 x!3 ~@3", H: "~ x ~@2",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct("<~ [x!4]!124 [x!2 ~@2]>").gain(0.43)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~ [~ x ~ x ~ x ~ x]!124 [~ x ~ x ~@4]>").gain(0.29)

// drums · low tom
const low_tom = s("lt").struct(`<
  A ~@7 B ~@19 B ~@2 C ~@3 C ~@3 D ~@17 B ~@3 E ~@2 F ~@3 B ~@3 B ~@2 B ~@3 B ~@7 B ~@16 C ~@3 C ~@3 C ~@3 C ~@2 G B ~@3
  B ~
>`.pickRestart({
  A: "~@5 x!2 ~", B: "~@6 x!2", C: "~@7 x", D: "~@12 x!2 ~@2", E: "~@15 x", F: "~@14 x!2", G: "~@3 x",
})).gain(0.57)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  A ~@7 B ~@19 C ~@6 D ~@3 E ~@17 E ~@3 F ~@2 G ~@3 E ~@3 E ~@2 D ~@3 H ~@7 I ~@9 J ~@6 G ~@3 G ~@3 B ~@6 K L ~@3 K ~
>`.pickRestart({
  A: "~ x", B: "~@10 x ~ x!2 ~@2", C: "~@8 x ~@2 x ~@4", D: "~@5 x!2 ~", E: "~@3 x!3 ~@2", F: "~@7 x", G: "~@3 x",
  H: "~@10 x ~@2 x ~@2", I: "~@4 x!2 ~@2", J: "~@3 x!4 ~", K: "~@5 x ~@2", L: "~@8 x!4 ~@4",
})).gain(0.57)

// drums · mid tom · soft notes
// … 32 more lines

More by Tozzi