Strudelify

Un'altra vita

Tozzi

KeyG majorTempo132 bpm
0:00/0:00
// Un'altra vita — Tozzi
// 132 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 131 bars on a 16-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 26.
setcpm(132/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(`<
  A@4 B@2 C@2 D@2 E@2 D@2 F@2 G@2 H@2 I J K L M N O@2 P Q R S T U V W P Q R S T U X Y@2 Z AA AB AC AD N AB AE AF I J K L
  M N AG AH P Q R S T U V W P Q R S T U V W AI AJ AK AL AM AN AO@2 AP AQ AR AS AT AU AV AW AP AQ AR AS AT AU AV AW AP AQ
  AR AS AT AU AV AW AP AQ AR AS AT AU AX AY AZ BA BB BC BD BA BE BF BG BH@3 ~
>`.pickRestart({
  A: "[g1@61 ~@3]/4", B: "[f1@28 ~@2 g1 ~]/2", C: "[g1@29 ~@3]/2", D: "[f1@29 ~ g1 ~]/2", E: "[g1@27 ~ g1@4]/2",
  F: "[g1@31 ~]/2", G: "[f1@15 ~]/2", H: "[g1@7 ~]/2", I: "c1@11 ~@3 c1 ~", J: "c1@5 ~ c1 c#1", K: "d1@9 ~@5 d1 ~",
  L: "~@2 d1 ~ d1@9 ~ d1@2", M: "e1@6 ~ e1", N: "f1@6 ~ f1", O: "[g1@14 g1@9 ~ g1@7 ~]/2", P: "c2@12 ~@2 c2 ~",
  Q: "a1@6 ~ e1", R: "d1@11 ~ f1@2 f#1@2", S: "g1 f1", T: "e1@12 ~@2 e1 ~", U: "f1@13 ~ e1@2", V: "d1@13 ~ f1 ~",
  W: "g1@11 ~ g1@2 a1@2", X: "d1 a1", Y: "[g1@27 ~ c2@2 d2@2]/2", Z: "g2@2 a1 g1", AA: "f1@12 ~@2 f1 ~",
  AB: "f1@2 c1 ~ f1@7 ~ f1@2 c1@2", AC: "g1@12 ~@2 g1 ~", AD: "g1@2 d1 ~ g1@7 ~ a1@2 g1@2", AE: "g1@6 ~ g1",
  AF: "g1@2 d1 ~ g1@8 ~@2 a1 ~, ~@3 g1", AG: "g1@7 g1", AH: "a2 a#2 b2 ~ g2 d2 g1@2", AI: "c1@9 ~@5 c1@2",
  AJ: "c1@2 e1 g1", AK: "d1@12 ~@2 d1 ~", AL: "~@2 c1@2 d1@9 ~ d1@2", AM: "c1@13 ~ c1@2", AN: "c1@3 c1 e1@2 g1@2",
  AO: "[a1@13 ~ a1@8 e1@2 a1@7 ~]/2", AP: "d1@12 ~@2 d2 ~", AQ: "b1@6 ~ f#1", AR: "e1@11 ~ g1@2 g#1@2", AS: "a1 g1",
  AT: "f#1@12 ~@2 f#1 ~", AU: "g1@13 ~ f#1@2", AV: "e1@13 ~ g1 ~", AW: "a1@11 ~ a1@2 b1@2", AX: "e1 b1", AY: "a1",
  AZ: "a2@2 b1 a1", BA: "d1@4 ~@3 d1", BB: "d1 ~", BC: "e1@8 ~@6 e1 ~", BD: "~ e1 e1@4 ~ d1", BE: "d1 ~, e1 ~@15",
  BF: "e1@11 ~@3 e1 ~", BG: "~ e1 e1@6", BH: "[~ d1@44 ~@3]/3",
})).s("gm_electric_bass_finger").gain(0.64)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 D@2 C@2 E@2 F@2 G H I J G H I J G H I J G H I K@2 L C@2 B@2 C@2 B@2 D@2 C@2
  E@2 F@2 G H I J G H I J G H I J G H I J D@2 C@2 D@2 M@2 N O P Q N R P Q N S P Q N S P Q N S P Q N R P Q N S P Q N S P
  T U V@2 B@2 V@2 W@5 ~
>`.pickRestart({
  A: "[~ [d4,g4]@7 [g3,d4,g4]@6 [g3,b3,g4]@4 [g3,b3]@4 [g3,b3,d4]@2 [g3,d4]@2 g3@4 g3@2, b3@13 ~ d4@8 ~@4 [b3,d4,g4]@6, g3@4 ~@5 g4@4 ~@3]/2", // G5 G G5 G
  B: "[[g3,d4,g4]@4 [g3,d4,g4]@3 [g3,b3,g4]@2 [g3,b3]@2 [g3,b3,d4] [g3,d4] g3@2 g3, b3@7 d4@4 ~@2 [b3,d4,g4]@3, ~@9 g4@4 ~@3]/2", // G5 G G5 G
  C: "[[f3,c4,f4]@4 [f3,c4,f4]@3 [f3,a3,f4]@2 [f3,a3]@2 [f3,a3,c4] [f3,c4] f3@2 f3, a3@7 c4@4 ~@2 [a3,c4,f4]@3, ~@9 f4@4 ~@3]/2", // F5 F F5 F
  D: "[[e3,b3,e4]@4 [e3,b3,e4]@3 [e3,g3,e4]@2 [e3,g3]@2 [e3,g3,b3] [e3,b3] e3@2 e3, g3@7 b3@4 ~@2 [g3,b3,e4]@3, ~@9 e4@4 ~@3]/2", // E5 Em E5 Em
  E: "[[b3,e4,g4]@8 [b3,e4,g4]@5 ~ [f3,a3,e4]@4 [f3,a3]@4 [f3,a3,c4]@2 [f3,c4]@2 f3@4 f3@2, g3@7 c4@4 ~@2 [a3,c4,e4]@3, ~@9 e4@4 ~@3]/2", // Em Fmaj7 F F5 Am
  F: "[[g3,d4,g4]@4 [g3,d4,g4]@3 [g3,b3,g4]@2 [g3,b3]@2 [g3,b3,d4] [g3,d4] g3@2 g3, c4@7 d4@4 ~@2 [b3,d4,g4]@3, ~@9 g4@4 ~@3]/2", // G5 G G5 G
  G: "[g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4]@3 g3, ~ e4", // C C5
  H: "[g3,e4] [a3,c4,f4] a3@2 a3@2 a3 c4, ~@4 c4 ~@3 f4@8, ~@4 c4@3 ~", // C F
  I: "[c4,f4]@2 [a3,c4,f4]@2 a3@2 ~ [c4,f4], ~@4 [c4,f4]@3 ~, ~@3 a3", // F5 F F5
  J: "~@3 c4 ~@3 b3, c4@3 ~ b3@2 d4@2, ~ g4@4 g4@3", K: "~@3 c4 ~@3 c4, c4@3 ~ c4@2 d4@2, ~ g4@4 g4@3", L: "[b3,d4,g4]",
  M: "[[a3,e4,a4]@4 [a3,e4,a4]@3 [a3,c#4,a4]@2 [a3,c#4]@2 [a3,c#4,e4] [a3,e4] a3@2 a3, d4@7 e4@4 ~@2 [c#4,e4,a4]@3, ~@9 a4@4 ~@3]/2", // A5 A A5 A
  N: "[a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4]@3 a3, ~ f#4", // D D5
  O: "[a3,f#4]@2 [b3,d4,g4]@2 d4 ~ d4@2 b3@4 b3@2 d4@2, ~ [b3,g4] g4@2, ~@4 d4@3 ~", // D G Em
  P: "[d4,g4]@2 [b3,d4,g4]@2 b3@2 ~ [d4,g4], ~@4 [d4,g4]@3 ~, ~@3 b3", // G5 G G5
  Q: "~@3 d4 ~@3 c#4, d4@3 ~ c#4@2 e4@2, ~ a4@4 a4@3",
  R: "[a3,f#4] [b3,d4,g4] [b3,g4]@2 b3@2 b3 d4, ~@4 d4 ~@3 g4@8, ~@4 d4@3 ~", // D G Em
  S: "[a3,f#4]@2 [b3,d4,g4]@2 d4 ~ d4@2 b3@4 b3@2 [b3,d4]@2, ~ [b3,g4] g4@2, ~@4 d4@3 ~", // D G Bm Em
  T: "~@3 d4 ~@3 d4, d4@3 ~ d4@2 e4@2, ~ a4@4 a4@3", U: "[e4,a4]",
  V: "[[f#3,c#4,f#4]@4 [f#3,c#4,f#4]@3 [f#3,a3,f#4]@2 [f#3,a3]@2 [f#3,a3,c#4] [f#3,c#4] f#3@2 f#3, a3@7 c#4@4 ~@2 [a3,c#4,f#4]@3, ~@9 f#4@4 ~@3]/2", // F#5 F#m F#5 F#m
  W: "[[g3,d4,g4]@8 [g3,d4,g4]@6 [g3,b3,g4]@4 [g3,b3]@4 [g3,b3,d4]@2 [g3,d4]@7 ~@2 [c#4,f#4]@41 ~@6, b3@14 d4@8 ~@9 f#3@41 ~@8, ~@18 g4@13 ~ a3@40 ~@8]/5", // G5 G G5 F#5
})).s("gm_acoustic_guitar_steel").gain(0.35).pan(0.6)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~ A ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ C ~ B ~ B ~ A D@2 E ~ D@2 E ~ D@2 E ~ D@2 E ~@4 B ~ A ~ B ~ A ~ C ~ B ~ B ~
  A D@2 E ~ D@2 E ~ D@2 E ~ D@2 E ~@2 C ~ B ~ C ~ F G@2 H ~ I@2 H ~ J@2 H ~ J@2 H ~ J@2 H ~ I@2 H ~ J@2 H ~ J@2 H ~@3 B
  ~ A ~ B ~ K ~@4
>`.pickRestart({
  A: "~@4 b3 ~@3", B: "~@4 a3 ~@3", C: "~@4 g3 ~@3", D: "[~@7 c4@2 ~@2 c4 ~@3 a3, ~@5 f4 ~@2]/2", E: "a3 ~@3",
  F: "~@4 c#4 ~@3", G: "[~@7 d4@2 ~@6 b3]/2", H: "b3 ~@3", I: "[~@7 d4@2 ~@2 d4 ~@3 b3]/2", J: "[~@7 d4@2 ~@7]/2",
  K: "~@8 b3@7 ~",
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(0.6)

// other · soprano sax
const soprano_sax = note("<~@78 A@2 B@2 C@2 D E@2 ~@31 F G H I J K@2 L M@4 ~>".pickRestart({
  A: "[e5@2 g5@24 e5 ~ g5@2 e5 ~]/2", B: "[a5@2 ~ a5@18 g5 ~ e5 d5@2 c5@3 ~ e5 ~, ~@29 d5@2 ~]/2",
  C: "[b4@9 g4 ~ a4 e4 g4@7 ~@8 d5 e5 g5 [a5,b5,c6]]/2", D: "b5@13 ~ a5 f#5", E: "[~@2 b5 a5@29, ~ a5@2 ~@29]/2",
  F: "a4@14 g4 f#4", G: "e4@7 ~", H: "e5@13 d5 c#5 ~", I: "f#5@2 ~ d5@2 ~ b4@7 g4 ~@2", J: "~@12 d5 ~ b5@2",
  K: "[~@2 a5@8 f#5 a5 ~ f#5@5 c#5 f#5 c#5@9 b4 a4 ~]/2", L: "b4", M: "[~@2 a4@3 ~ g4@3 f#4@4 a4@5 ~ f#4@45]/4",
})).s("gm_soprano_sax").gain(0.64)

// other · soprano sax · soft notes
const soprano_sax_soft = note("<~@119 [~@14 d5 d#5] ~ [~@7 f#4] [e4@4 ~ b4 ~@2] ~@4 [~@2 f4 ~@13] ~@3>")
  .s("gm_soprano_sax").gain(0.4)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  A@4 ~@16 B@4 C D@3 E@4 F@2 G H E@4 F@2 G I@3 J@8 B@4 C D@3 E@4 F@2 G H E@4 F@2 G H K@2 L@4 M@2 N@4 O@2 P Q N@4 O@2 P Q
  N@4 O@2 P Q R@4 S@2 T U@2 V@2 W@2 V@2 X@5 ~
>`.pickRestart({
  A: "[~ a5, [a3,b3,d4]]/4", B: "[[e4,e5]@3 [g4,g5] [a3,f4,f5]@4, c4@63 ~, g3 ~]/4", C: "[b3,d4,g4,g5]",
  D: "[[a3,f4,e5] ~ b3, c4@2 ~, ~ [d4,g4,d5]@2]/3", // Fmaj7 G5
  E: "[c4@2 ~@2 f5@2 [c4,c5] [b3,g4,d5], [e4,g5]@4 f4@3 ~, ~ a3@2 ~]/4", F: "[[g3,e4] [a3,f4], g5]/2", G: "[c4,d4,f5]",
  H: "[c4,c5] [b3,b4], g4", I: "[[c4,c5]@2 [b3,b4], [g4,g5]]/3",
  J: "[[g3,g4] ~@2 [b3,b4], [c4,f4] [d4,g4], ~ [a3,a4]@2 ~]/4", K: "[g3,b3,e4,b4]/2",
  L: "[[a3,c4,f4,c5]@31 ~ [b3,d4,g4]@32, ~@31 d5@32 ~]/4", M: "[[b3,d4] [a3,c#4], [a4,e5]]/2",
  N: "[d4@2 ~@2 g5@2 [d4,d5] [c#4,a4,e5], [f#4,a5]@4 g4@3 ~, ~ b3@2 ~]/4", O: "[[a3,f#4] [b3,g4], a5]/2",
  P: "[d4,e4,g5]", Q: "[d4,d5] [c#4,c#5], a4",
  R: "[d4@2 ~@2 [g5,b5]@2 [d4,d5] [c#4,a4,e5], [f#4,a5,d6]@4 g4@3 ~, ~ b3@2 d6]/4", // G D A D
  S: "[d6 f#6 [b3,g4,g6]@2, a5, [a3,f#4] ~]/2", T: "e6 g6, [d4,e4,g5]", U: "[[d4,d5]@16 [c#4,c#5]@15 ~, [a4,a6]]/2",
  V: "[c#4,f#4,a4,c#5]/2", W: "[d4,g4,b4,d5]/2", X: "[[d4,g4,b4,d5]@31 [d3,f#4,a4,c#5]@49]/5",
})).s("gm_string_ensemble_2").gain(0.52)

// other · french horn
const french_horn = note(`<
  ~@28 A B@2 C A B@2 C A B@2 C A B@2 D@2 E ~@8 F@2 G@2 H I J@2 A B@2 C A B@2 C K L@2 M K L@2 M ~@8 N O@2 P N O@2 P Q R@2
  S Q R@2 S N O@2 P N O@2 P N O@2 P N O@2 T U V@2 W@2 X@2 Y@6
>`.pickRestart({
  A: "g3", B: "a3/2", C: "c4 b3", D: "c4/2", E: "b3@15 ~", F: "[e4@3 g4]/2", G: "[f4@3 a4]/2", H: "g4", I: "e4",
  J: "g4/2", K: "c5 g4, g3", L: "[a4@3 f4, a3]/2", M: "c4 b3, g4", N: "a3", O: "b3/2", P: "d4 c#4", Q: "d5 a4, a3",
  R: "[b4@3 g4, b3]/2", S: "d4 c#4, a4", T: "d4", U: "c#4 ~", V: "[c#4@3 e4]/2", W: "[d4@24 f#4@7 ~]/2",
  X: "[e4@3 c#4]/2", Y: "[d4@32 c#4@51 ~@13]/6",
})).s("gm_french_horn").gain(0.48).pan(0.6)

// other · flute
const flute = note(`<
  ~@36 A@2 B C D B E F@2 G ~@16 H I@2 J H I@2 K H I@2 J H I@2 K ~@8 L M@2 N L M@2 D L M@2 N L M@2 D ~@29
>`.pickRestart({
  A: "[c6@8 g5@7 a5@17]/2", B: "f5", C: "c5 d5", D: "e5", E: "d5@15 ~", F: "c5/2", G: "b4@15 ~", H: "c6 g5",
  I: "[a5@3 f5]/2", J: "g5", K: "d5", L: "d6 a5", M: "[b5@3 g5]/2", N: "a5",
})).s("gm_flute").gain(0.37).pan(0.3)

// chords · piano
const piano = note("<A@4 B@2 C@2 D@2 E@2 F@2 E@2 F@2 G@2 ~@111>".pickRestart({
  A: "[~@22 b3@2 ~@4 g4@12 ~@14 b3@2 ~@4 g4@3 ~, ~@10 a3@13 ~ a3@16 ~@2 a3@12 ~@2 a3@7 ~, ~@12 b3@9 ~@5 b3@14 ~@4 b3@9 ~@5 b3@5 ~, ~@7 g4@5 ~@11 g4@5 ~@4, ~@9 d4@3 ~@13 d4@3 ~@4]/4",
  B: "[~ [g3,a3,c4]@30 ~]/2", C: "[[g3,b3,d4]@29 ~@3, f3 ~@31]/2", D: "[[g3,a3,c4]@7 ~]/2", E: "[[g3,b3,d4]@29 ~@3]/2",
  F: "[[g3,a3,c4]@29 ~@3]/2", G: "[[g3,b3,d4]@31 ~]/2",
})).s("gm_piano").gain(0.35).pan(0.2)

// chords · electric guitar jazz
const electric_guitar_jazz = note("<A@4 ~@127>".pickRestart({
  A: "[a3@31 [a3,b3]@32 ~]/4", // Asus2
})).s("gm_electric_guitar_jazz").gain(0.15).pan(0.4)

// other · soprano sax
const soprano_sax_2 = note("<~@78 A@2 B@2 C D E@3 ~@31 F@5 G H@4 ~@3>".pickRestart({
  A: "[~@3 e5 g5@12]/2", B: "[e5 ~ g5@2 e5 ~ a5@2 ~ a5@18 g5 ~ e5 d5@2]/2", C: "c5@3 ~ e5 ~ b4@9 g4, ~@3 d5@2 ~@11",
  D: "~ a4 e4 g4@7 ~@6", E: "[~@2 d5 e5 g5 [a5,b5,c6] b5@13 ~ a5 f#5 ~@2 b5 a5@13 ~@10, ~@23 a5@2 ~@23]/3",
  F: "[~@6 a4@14 g4 f#4 e4@14 ~@2 e5@13 d5 c#5 ~ f#5@2 ~ d5@2 ~ b4@7 ~@13]/5", G: "~@2 d5 ~ b5@2 ~@2 a5@8",
  H: "[f#5 a5 ~ f#5@5 c#5 f#5 c#5@9 b4 a4 ~ b4@17 ~ a4@3 ~ g4@3 f#4@4 a4@5 ~@8]/4",
})).s("gm_soprano_sax").gain(0.29).pan(0.2)

// other · soprano sax · soft notes
const soprano_sax_soft_2 = note("<~@120 [~@4 d5 d#5 ~@10] ~ [~@3 g4 f#4@2 e4@8 ~@2] [b4 ~@7] ~@7>")
  .s("gm_soprano_sax").gain(0.16).pan(0.2)

// other · distortion guitar
const distortion_guitar = note("<~@86 A B C D E F C G A B C D E F H@8 ~@2 A B I@5 J@2 ~@12>".pickRestart({
  A: "d3", B: "b2", C: "e2", D: "a2 g2", E: "f#2", F: "g2", G: "a2", H: "e2/8",
  I: "[~@16 a2@8 g2@8 f#2@15 ~ g2@16 ~@16, e2]/5", J: "a2/2",
})).s("gm_distortion_guitar").gain(0.8)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@20 A@2 B@2 C@2 D@2 E F G@2 H I J@2 E F G@2 H I K L@3 M@2 N@2 O@2 P@2 A@2 B@2 C@2 D@2 E F G@2 H I J@2 E F G@2 H I J@2
  Q@2 R@2 S@2 T U V W X@2 Y Z AA@2 V W X@2 Y Z AA@2 V W X@2 Y Z AA@2 V W X@2 Y Z AB AC AD AE@2 AF@2 AG@2 AH@2 AI@4
>`.pickRestart({
  A: "[~ e4@21 ~@4 b3@6, b3@25 ~@7, g3@18 ~@4 e4@9 ~]/2", B: "[c4@13 ~@9 f4@8 ~@2, f4@21 ~@11, ~@7 c4@9]/2",
  C: "[~ g4@14 ~@2 e4@15, d4@15 a3@17, ~@16 c4@15 ~]/2",
  D: "[~@8 d4@8 ~@12 b3@3 ~, c4@9 ~@7 b3@12 ~@4, ~@4 g4@15 ~ g4@11 ~, ~@24 d4@7 ~]/2", E: "~ c4, e3@15 ~, ~@4 g3@11 ~",
  F: "~ c4, f3, ~ g3@3", G: "[~@2 c4@2 ~ c4 ~ g3, d3, ~@2 f3@6 g3@5 ~@3, ~@3 b3]/2", H: "~@8 c4@7 ~, e3, ~@4 g3@11 ~",
  I: "~@8 c4@7 ~, f3, ~ g3@3", J: "[~@8 c4@8 ~@4 c4@3 ~@5 g3@4, d3, ~@2 f3@6 g3@5 ~@3, ~@3 b3]/2",
  K: "~ c4, d3, ~ f3@3",
  L: "[~@8 d4@3 ~@9 d4@4 ~@17 d4@7, c4@11 ~ c4@11 ~ c4@8 b3@15 ~, ~@4 g4@8 ~@4 g4@9 ~@3 g4@20]/3",
  M: "[[a3,c4,g4]@13 ~@3]/2", N: "[[d5,g5]@3 ~]/2", O: "[[a3,c4,g4]@25 ~@7]/2", P: "[[d5,g5]@5 ~@3]/2",
  Q: "[~@8 e4@11 ~@9 g3@4, g3@15 ~@11 b3@6, ~ b3@3 ~ e4@3]/2",
  R: "[~@11 f4@2 c4@3, a3@17 ~@3 a3@12, ~@4 c4@9 ~ c4@8 ~@10, ~@8 f4@13 ~@11]/2",
  S: "[~@14 b3@4 ~@2 e4@6 b3@5 ~, g3@17 ~ g3@13 ~, ~@4 b3@9 ~@19, ~@4 e4@5 ~@7]/2", T: "~@2 e4!2, b3",
  U: "~@3 a3, a3@11 ~@5, ~ e4@3, ~ c#4", V: "~ d4, f#3@15 ~, ~@4 a3@11 ~", W: "~ d4, g3, ~ a3@3",
  X: "[~@2 d4@2 ~ d4 ~ a3, e3, ~@2 g3@6 a3@5 ~@3, ~@3 c#4]/2", Y: "~@8 d4@7 ~, f#3, ~@4 a3@11 ~",
  Z: "~@8 d4@7 ~, g3, ~ a3@3", AA: "[~@8 d4@8 ~@4 d4@3 ~@5 a3@4, e3, ~@2 g3@6 a3@5 ~@3, ~@3 c#4]/2",
  AB: "~ d4, e3, ~ g3@3", AC: "~@8 e4@3 ~ d4@4, d4@11 ~@5, ~ a4@2 ~", AD: "~@9 e4@7, c#4@15 ~",
  AE: "[~ f#4@7 f#4@15 ~@3 f#4@6, ~ a3@17 ~@14, ~ c#4@14 ~@17]/2",
  AF: "[b3@4 ~@4 d4@10 ~@8 g4@5 ~, g4@13 ~@7 d4@12, ~@4 b3@7 ~@7 b3@6 b3@7 ~]/2",
  AG: "[f#4@13 ~@7 c#4@6 ~@4 a3 ~, a3@5 ~@11, c#4@7 ~@7 f#4@12 f#4@6]/2",
  AH: "[d4@7 ~@13 d4@6 g4@6, g4@13 ~ g4@12 ~@6, b3@5 ~@4 b3@3 ~@4, ~@8 d4@11 ~@13]/2",
  AI: "[~ f#4@25 ~@6, a3@13 ~@3, ~ c#4@51 ~@12]/4",
})).s("gm_electric_guitar_clean").gain(0.3).pan(0.4)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note("<~@21 A@4 ~ B ~@28 A@4 ~ B ~@18 C ~ D ~ E ~@36 F G@2 H@2 I J ~@4>".pickRestart({
  A: "[~@4 g3@10 ~ a3@20 ~@2 a3@10 b3@15 ~@2]/4", B: "~@3 c4", C: "b3@7 ~@9, g3 ~@7", D: "~@3 f4",
  E: "~@3 b3 ~@10 e4@2", F: "~@12 a3 ~ a3 ~, ~@2 a3@9 ~@5, ~@2 c#4@5 ~", G: "[d4@7 ~@7 g4@11 ~@7, ~@6 b3@3 ~@7]/2",
  H: "[~@12 a3@5 ~ a3@6 a3 ~ c#4@5 ~, ~@8 c#4@11 ~@7 a3@3 ~@3]/2", I: "~@3 b3", J: "~@10 d4 ~@2 b3@2 ~",
})).s("gm_electric_guitar_clean").gain(0.17).pan(0.4)

// other · overdriven guitar
const overdriven_guitar = note("<~@101 A B@2 C@2 D E F G ~@21>".pickRestart({
  A: "~@6 e5 d5 c#5@2 ~ d5@2 e5@3", B: "[f#5@3 f#5@3 f#5@2 f#5@3 ~ a5@3 f#5@15 ~@2]/2",
  C: "[b5@12 a5 ~ g5 f#5@2 ~ g5 ~ f#5 e5 g5 ~@2 e5 d5 ~ c#5 b4@2 a#4, ~@17 a5@2 ~@5 f#5@2 ~@6]/2", D: "a4@6 ~ a4",
  E: "b4@2 d5 b4@5", F: "~@2 b4@2 e5@2 b4@2 f#5@2 b4@2 g5@2 b4 ~", G: "b5@6 ~ g#5 b5@8",
})).s("gm_overdriven_guitar").gain(0.8)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A@2 B C A@3 ~ B A B D B E A F B A B D B E A B A G A@3 E A D B A@3 B C A@3 B@2 A B
  D B E A F B A B D B E A F B A B H B E A I B A B D B E A F B A B D B E A F B A B D B E A J B A B D B E B@2 G A@2 B C
  A@2 B C ~@4
>`.pickRestart({
  A: "x", B: "x ~@6 x", C: "~ x ~@2", D: "x ~@4 x!2 ~", E: "x ~@2 x", F: "x ~@2 x ~@4", G: "x ~@2 x ~@2 x ~",
  H: "~ x!2 ~@2 x!2 ~", I: "~@3 x ~@4", J: "x ~@2 x ~@3 x",
})).gain(0.8)

// … 100 more lines

More by Tozzi