Strudelify

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: edit a riff to change every repeat.

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~ A B C D E F G H E B I J K L M N O P Q R S T U V ~@15 W X I R Y Z AA@2 Y AB I R AC AD I AE AF@2 ~@22 Y AG I R AH AI
  AJ AK Y AL I AM AH AD AN AO AP AQ ~@28
>`.pickRestart({
  A: "db3 ~ gb3 ~ ab3@2 db3 ~ bb3@2 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: "db3 ~ gb3 ~ ab3 ~ db3 ~ bb3@2 gb3 ~@3 db3 ~", F: "ab3 ~@3 ab3@2 bb3@4 gb3 ~@5",
  G: "eb3@2 ab3 ~ bb3 ~ eb3 ~ c4@2 ab3 ~@3 eb3 ~", H: "bb3 ~@3 bb3 ~ c4@4 ab3@2 eb3 ~@3",
  I: "eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4 ~ ab3 ~@3 eb3 ~", J: "bb3@2 ~@2 bb3 ~ c4@4 ab3 ~ eb3 ~ eb3 ~",
  K: "db3@2 gb3 ~ ab3 ~ db3 ~ bb3@2 gb3 ~@3 db3 ~", L: "ab3 ~@3 ab3 ~ bb3@4 gb3 ~ eb3 ~ db3 ~",
  M: "eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4@2 bb3 ~@3 eb3 ~", N: "[ab3,db4]@3 ~@3 [ab3,db4]@3 ~ [ab3,c4]@3 ~@3",
  O: "db3 ~@3 ab3 ~ db3 ~ bb3 ~ gb3 ~@3 db3 ~", P: "ab3 ~@3 ab3 ~ bb3@4 gb3@2 ~@2 db3 ~",
  Q: "eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4@2 ab3 ~@3 eb3 ~", R: "bb3 ~@3 bb3 ~ c4@4 ab3 ~@5",
  S: "~@2 ab3 ~ bb3@2 ~@2 c4 ~ ab3 ~@3 db3 ~", T: "ab3 ~ db3 ~ ab3 ~ bb3@4 gb3@3 ~ eb3 ~",
  U: "eb3 ~ ab3 ~ bb3@2 ~@2 c4@2 ab3 ~ eb3 ~ [ab3,db4]@2", V: "~@2 [ab3,db4]@3 ~ [ab3,db4] ~ [ab3,c4]@5 ~@3",
  W: "db3@2 ~@2 ab3 ~ db3 ~ bb3@2 gb3 ~@3 db3 ~", X: "ab3 ~@3 ab3 ~ bb3@4 gb3 ~ db3 ~ db3 ~",
  Y: "db3 ~ gb3 ~ ab3 ~ db3 ~ bb3 ~ gb3 ~@3 db3 ~", Z: "ab3 ~@3 ab3 ~ bb3@4 gb3 ~@5",
  AA: "[eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4 ~ ab3 ~ eb3 ~ [ab3,db4]@4 ~@4 [ab3,db4]@3 ~ [ab3,c4]@3 ~ ab3 ~]/2", // Db5 Ab
  AB: "ab3 ~@3 ab3 ~ bb3@3 ~ gb3 ~ db3 ~ db3 ~", AC: "d3 ~ ab3 ~ [bb3,b3] ~ ab3 ~ c4 ~ ab3 ~@3 db3 ~",
  AD: "ab3 ~@3 ab3 ~ bb3@4 gb3 ~ db3 ~ eb3 ~", AE: "bb3 ~@5 c4@4 ab3 ~@3 eb3 ~",
  AF: "[eb3 ~ ab3 ~ bb3 ~ eb3 ~ c4 ~ ab3 ~@3 [ab3,db4]@4 ~@2 ab3 ~ [ab3,db4]@3 ~ [ab3,c4]@4 ~@2]/2", // Db5 Ab
  AG: "ab3 ~ db3 ~ ab3 ~ bb3@4 gb3 ~ db3 ~ db3 ~", AH: "db3 ~ gb3 ~ ab3 ~ db3 ~ bb3 ~ gb3 ~@5",
  AI: "ab3 ~ db3 ~ ab3 ~ bb3@4 ~@6", AJ: "eb3 ~ ab3 ~ bb3 ~@3 c4 ~ ab3 ~@5", AK: "bb3 ~@3 bb3 ~ c4@4 ab3 ~ eb3 ~@3",
  AL: "ab3 ~ db3 ~ ab3 ~ bb3@3 ~ gb3 ~@3 db3 ~", AM: "bb3 ~ eb3 ~ bb3 ~ c4@4 ab3 ~ eb3 ~ eb3 ~",
  AN: "eb3 ~ ab3 ~ bb3 ~@3 c4 ~ ab3 ~@3 eb3 ~", AO: "bb3 ~ eb3 ~ bb3 ~ c4@4 ab3 ~@3 eb3 ~",
  AP: "eb3 ~ ab3 ~ bb3 ~@3 c4 ~ ab3 ~ eb3 ~ ab3 ~", AQ: "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 D E A B@2 F G H@2 F G H I J G@2 K H G L A@2 B@2 A M B@2 A@2 B D E A B@3 D F G
  H@2 F G N O J G@2 K H G@2 P H G P H Q R A@2 B@2 S C B@2 A@2 B@2 S C B@4 T U V W T X Y O J G@2 K H Z@2 O J G@2 K H AA R
  O J G AB ~
>`.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: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1@2",
  E: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~", F: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ c2 ~",
  G: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", H: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  I: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ d2 ~", J: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  K: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ bb1 ~", L: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2",
  M: "eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1@2", N: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1@2",
  O: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ d2 ~", P: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~",
  Q: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2 a1@2", R: "~@2 bb1@3 ~ c2@3 ~ c2 ~ c2 ~ c2 ~",
  S: "gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1@2", T: "eb1", U: "c2@15 ~", V: "bb1@15 ~", W: "bb1", X: "c2",
  Y: "bb1@7 ~", Z: "[c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ a1@4 bb1@3 ~ c2@3 ~ c2 ~ c2 ~ c2 ~]/2",
  AA: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ a1@2", AB: "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 D E A B@2 F G H@2 F G H I J G@2 K H G L A@2 B@2 A M B@2 A@2 B D E A B@3 D F G
  H@2 F G N O J G@2 K H G@2 P H G P H Q R A@2 B@2 S C B@2 A@2 B@2 S C B@4 T U V W T X Y O J G@2 K H Z@2 O J G@2 K H AA R
  O J G@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: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2@2",
  E: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~", F: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ c3 ~",
  G: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~", H: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  I: "f3 ~ f3 ~ f3 ~ f3 ~ f3 ~ f3 ~ f3 ~ d3 ~", J: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~",
  K: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ bb2 ~", L: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3@2",
  M: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2@2", N: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2@2",
  O: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ d3 ~", P: "a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~",
  Q: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3@2 a2@2", R: "~@2 bb2@3 ~ c3@3 ~ c3 ~ c3 ~ c3 ~",
  S: "gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2@2", T: "eb2", U: "c3@15 ~", V: "bb2@15 ~", W: "bb2", X: "c3",
  Y: "bb2@7 ~", Z: "[c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ a2@4 bb2@3 ~ c3@3 ~ c3 ~ c3 ~ c3 ~]/2",
  AA: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ a2@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 E F C G ~@34 H ~@3 I ~@3 J ~@3 K L M ~@7 N ~ N ~ O ~ N P ~@5 Q R S T U V S T U W X T U V Y T Z AA AB AC ~@7
  AD ~ N ~ N ~ AE AF AG ~ AG ~ N ~ AH AI AG ~ N ~@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: "[ab4,db5,f5] ~ [ab4,f5] ~ [ab4,db5,eb5]@2 ~@10, ~ db5 ~@6", // Db Absus4
  F: "~@10 [ab4,f5] ~ [ab4,db5,f5] ~ [ab4,db5,f5]@2, ~@5 db5 ~@2", G: "[db5,eb5,ab5] ~@2 [db5,eb5,ab5]@2 ~@3",
  H: "[db5,ab5] ~ db5 ~ [db5,eb5] ~ [db5,eb5,ab5]@4 ~@6, eb5 ~@7", I: "[db5,eb5,ab5] ~ db5 ~ eb5 ~ [db5,eb5,ab5]@3 ~@7",
  J: "[db5,eb5,ab5] ~@3 db5 ~ [db5,eb5,ab5]@4 ~@6", K: "[db5,eb5,ab5] ~ db5 ~ eb5 ~ [db5,eb5,ab5]@4 ~@6",
  L: "~@14 [db5,eb5,ab5] ~", // Dbsus2
  M: "[db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [c5,eb5,ab5] ~@3 [c5,eb5,ab5]@2 ~@2", // Dbsus2 Ab
  N: "~@2 [c5,f5]@2 ~@4 [c5,f5]@3 ~@5", O: "~ c5 ~@2 [c5,f5]@2 ~@2, ~@2 f5 ~@13",
  P: "[c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5]@6 ~@4", Q: "~@7 a3", R: "~@2 bb3@3 ~ c4@5 ~@5",
  S: "[db5,f5] ~ [db5,f5] ~ [db5,eb5] ~@11", T: "~@10 [db5,f5] ~ [db5,f5] ~ [db5,f5]@2",
  U: "~@2 [db5,f5] ~ [db5,eb5] ~@11", V: "[eb5,ab5] ~@2 [eb5,ab5]@2 ~@3", W: "[eb5,ab5] ~@3 eb5 ~ [eb5,ab5]@4 ~@6",
  X: "[db5,f5]@2 [db5,f5] ~ [db5,eb5] ~@11", Y: "db5@2 [db5,f5] ~ db5@2 ~@10, f5 ~@3 eb5 ~@11",
  Z: "~@2 [db5,f5] ~ [db5,eb5]@2 ~@10", AA: "eb5@2 ~@2 eb5 ~ [eb5,ab5]@5 ~@5, ab5 ~@15",
  AB: "[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
  AC: "[db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [db5,eb5,ab5] ~ [c5,eb5,ab5]@6 ~@2", // Dbsus2 Ab
  AD: "~ [c5,f5] ~@2 [c5,f5] ~@3", AE: "~ [c5,f5] ~@2 [c5,f5]@2 ~ [a4,f5]",
  AF: "~@2 [bb4,f5,gb5]@3 ~ d5@6 c5@2 ~@2, ~@3 f5@4 ~", AG: "~@2 [c5,f5]@2 ~@2 c5 ~ [c5,f5]@3 ~@5",
  AH: "~@2 [c5,f5]@2 ~@2 c5 ~ [c5,f5]@2 ~@4 [a4,f5]@2", AI: "~@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@2 Q@6 ~
>`.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@13 ~ c4@18 ~@16 d4@16, eb4@3 ~, ~@32 bb3@31 ~]/4", E: "[bb3@7 c4@9 ~@6 d4@2, eb4@11 ~, ~@32 bb3@15 ~]/3",
  F: "[c4@14 d4@18 c4@15 ~, 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@17 ~, d4]/2",
  Q: "[f4@13 ~ a3@4 [bb3,d4]@4 f4@6 e4@4 ~@14 d4@18 ~@16 e4@16, c4@9 ~@2 c4@12 ~@9 c4@16, ~@2 f4@3 ~]/6", // Bb
})).s("gm_string_ensemble_2").gain(0.24).pan(0.2)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@25 A@2 B@2 C@2 D E@2 F G H@2 I J ~@18 K@2 L M K@2 D N@2 O@2 P@2 Q R S T U V W X Y ~@4 Z AA ~@2 Z AB ~@2 Z AA ~@3 AC
  AD@2 L AE@4 AF@2 AG AH AI@2 AJ@2 AK@2 AL AM AI@2 AN@2 AK@2 AO@2 ~
>`.pickRestart({
  A: "[bb3@14 g3@17 ~, eb4@31 ~]/2", B: "[[bb3,eb4]@14 [bb3,d4]@17 ~]/2", C: "[bb3@13 ~ g3@17 ~, eb4@31 ~]/2",
  D: "[bb3,eb4]@12 [bb3,d4]@3 ~", E: "[[c4,f4]@7 [c4,a4]@9]/2", F: "[c4,f4]@12 [c4,f4]@3 ~", G: "[c4,e4]",
  H: "[[a3,f4]@14 [bb3,f4]@17 ~]/2", I: "f4@6 f4 c4, c4@5 ~@3", J: "[c4,e4]@3 ~", K: "[[bb3,eb4]@13 ~ [g3,eb4]@17 ~]/2",
  L: "[bb3,eb4]", M: "[bb3,d4]@15 ~", N: "[f4@8 a4@5 ~ [d4,a4]@17 ~, c4@13 ~@19]/2", O: "[[c4,f4]@14 [c4,e4]@17 ~]/2",
  P: "[f4@14 [bb3,f4]@17 ~, a3@3 ~@5]/2", Q: "c4@5 ~@3 c4@7 ~, f4@15 ~", R: "[c4,e4]@7 ~",
  S: "[e3,a3] ~ e3 ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~", // A5
  T: "~@2 [f3,bb3] ~ [f3,bb3] ~@3 bb3 ~ [f3,bb3] ~ [f3,bb3] ~@3", // Bb5
  U: "[f3,c4] ~ [f3,c4] ~@3 [f3,c4] ~ c4 ~ [f3,c4] ~@3 [f3,c4] ~", // F5
  V: "[e3,a3] ~ a3 ~ a3 ~ [e3,a3] ~ a3 ~ [e3,a3] ~ a3 ~ [e3,a3] ~", // A5
  W: "[f3,bb3] ~ bb3 ~ [f3,bb3] ~ [f3,bb3] ~ bb3 ~ [f3,bb3] ~ bb3 ~@3", // Bb5
  X: "f3 ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ [c3,f3] ~ a2@2", Y: "~@2 bb2@3 ~ c3@5 ~@5",
  Z: "~@10 gb3 ~@5", AA: "gb3 ~@15", AB: "gb3 ~@5 gb3 ~@9", AC: "~@10 ab2 ~ ab2 ~ ab2 ~", AD: "[bb3 c4, eb4@31 ~]/2",
  AE: "[[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
  AF: "[f4@7 a3@9, c4]/2", AG: "[c4,f4]@15 ~", AH: "c4@2 e4@2 c4 ~ e4@4 e4@5 ~, e4 ~@5 c4@9 ~",
  AI: "[[d4,a4]@13 ~ [bb3,f4]@17 ~]/2", AJ: "[[c4,f4]@12 ~@2 a2@4 bb2@3 ~ c3@5 ~@5]/2",
  AK: "[c4@14 a3@17 ~, f4@31 ~]/2", AL: "f4, c4@13 ~@3", AM: "~@2 e4@2 c4 ~ c4@2 [c4,e4]@3 ~@3 c4 ~, ~@2 c4 ~@13",
  AN: "[[c4,f4]@11 ~@3 a2@4 bb2@3 ~ c3@5 ~@5]/2", AO: "[[c4,f4]@14 e4@5 ~ e4@2 c4@2 e4@2 g4@4 ~@2, ~@14 c4@3 ~@15]/2",
})).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 gb5@2 ab5 bb5, ~@9 db4@2 ~@8 db4@2 ~ db4@2 ab4@2 ~ gb4@2 ~@2 gb4@2 ~@15, ~@14 bb4 ~@9]/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
// … 46 more lines

More by Tozzi