Strudelify
Un giorno cosi cover art

La dura legge del gol

Un giorno cosi

883

KeyA majorTempo119 bpm
0:00/0:00
// Un giorno cosi — 883
// 119 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 117 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 28.
setcpm(119/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 · fretless bass
const bass = note("<~@8 A@8 B@8 C@8 D@8 E@8 F@8 G@8 H@4 ~@8 I@8 F@8 G@8 J@8 K@8 L>".pickRestart({
  A: "[~ a1@2 a1@2 ~@2 a1 ~ a1@2 ~@2 a1@2 a1@3 ~ g#1@2 g#1@3 ~ g#1@2 ~@2 g#1@2 g#1@2 f#1@2 f#1@2 ~@2 f#1@2 f#1@2 ~@2 f#1 ~ f#1@2 ~@2 e2@2 e2@3 ~ e2 ~@3 e2@2 e2@2 d2@2 d2@2 ~@2 d2@2 d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2@2 d2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 a1@2 a1@2 ~@2 a1@2 a1@2 ~@2 a1@2 a1@3 ~ g#1@2 g#1@3 ~ g#1@2 ~@2 g#1@2 g#1@2 f#1@2 f#1@2 ~@2 f#1@2 f#1@2 ~@2 f#1 ~ f#1@2 ~@2 e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 d2@2 d2@2 ~@2 d2@2 d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2@2 d2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2 ~ e2]/8",
  B: "[~ a1@2 a1@2 ~@2 a1 ~ a1@2 ~@2 a1@2 a1@3 ~ a1 ~ a1@3 ~ a1@2 ~@2 a1 ~ a1@2 d2 ~ d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2@2 d2@2 a1 ~ a1@2 ~@2 a1 ~ a1@2 ~@2 a1 ~ a1@3 ~ a1@2 a1@3 ~ a1 ~@3 a1 ~ a1@2 d2 ~ d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2 ~ d2@2 a1 ~ a1@2 ~@2 a1 ~ a1@2 ~@2 a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~@3 a1 ~ a1@2 d2 ~ d2@2 ~@2 d2@2 d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2 ~ d2@2 a1@2 a1@2 ~@2 a1 ~ a1@2 ~@2 a1@2 a1@3 ~ a1 ~ a1@3 ~ a1@2 ~@2 a1 ~ a1@2 d2 ~ d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2@2 d2]/8",
  C: "[~ e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ f#2@2 f#2@3 ~ f#2@2 ~@2 f#2 ~ f#2@2 e2@2 e2@2 ~@2 e2 ~ e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ f#2@2 f#2@3 ~ f#2@2 ~@2 f#2 ~ f#2@2 g2@2 g2@2 ~@2 g2 ~ g2@2 ~@2 g2@2 g2@3 ~ g2@2 g2@3 ~ g2@2 ~@2 g2@2 g2@2 d2@2 d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2 ~ d2@3 ~ d2@2 ~@2 d2@2 d2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2 ~ e2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2 ~ e2@3 ~ e2@2 ~@2 e2 ~ e2]/8",
  D: "[~ a1 ~ a1@2 ~@2 a1 ~ a1@2 ~@2 a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~@3 a1 ~ a1@2 d2 ~ d2@2 ~@2 d2@2 d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2 ~ d2@2 a1@2 a1@2 ~@2 a1 ~ a1@2 ~@2 a1@2 a1@3 ~ a1 ~ a1@3 ~ a1@2 ~@2 a1 ~ a1@2 d2 ~ d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2@2 d2@2 a1 ~ a1@2 ~@2 a1 ~ a1@2 ~@2 a1 ~ a1@3 ~ a1@2 a1@3 ~ a1 ~@3 a1 ~ a1@2 d2@2 d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2 ~ d2@2 a1 ~ a1@2 ~@2 a1 ~ a1@2 ~@2 a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~@3 a1 ~ a1@2 d2 ~ d2@2 ~@2 d2@2 d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2 ~ d2]/8",
  E: "[~ e2@2 e2@2 ~@2 e2 ~ e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ f#2@2 f#2@3 ~ f#2@2 ~@2 f#2@2 f#2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ f#2@2 f#2@3 ~ f#2@2 ~@2 f#2 ~ f#2@2 g2@2 g2@2 ~@2 g2 ~ g2@2 ~@2 g2@2 g2@3 ~ g2@2 g2@3 ~ g2@2 ~@2 g2@2 g2@2 d2@2 d2@2 ~@2 d2@2 d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2 ~ d2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2 ~ e2@2 e2 ~ e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2 ~ e2@3 ~ e2@2 ~@2 e2 ~ e2]/8",
  F: "[~ a1@2 a1@2 ~@2 a1@2 a1@2 ~@2 a1@2 a1@2 ~@2 g#1@2 g#1@3 ~ g#1@2 ~@2 g#1 ~ g#1@2 f#1@2 f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1@2 f#1@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2 ~ e2@2 d2@2 d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2@2 d2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2 ~ e2@2 a1@2 a1@2 ~@2 a1@2 a1@2 ~@2 a1@2 a1@3 ~ g#1@2 g#1@3 ~ g#1@2 ~@2 g#1 ~ g#1@2 f#1@2 f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1@2 f#1@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 d2@2 d2@2 ~@2 d2@2 d2@2 ~@2 d2 ~ d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2 ~ d2@2 e2@2 e2@2 ~@2 e2 ~ e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2 ~ e2]/8",
  G: "[~ d2 ~ d2@2 ~@2 d2@2 d2@2 ~@2 d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2@2 ~@2 d2@2 d2@2 f#2 ~ f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 d2@2 d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2 ~ d2@3 ~ d2@2 ~@2 d2@2 d2@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 d2 ~ d2@2 ~@2 d2@2 d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2@2 d2@2 f#2@2 f#2@2 ~@2 f#2 ~ f#2@2 ~@2 f#2@2 f#2@3 ~ f#2@2 f#2@3 ~ f#2@2 ~@2 f#2 ~ f#2@2 e2@2 e2@2 ~@2 e2 ~ e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 b1@2 b1@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@2 d2@3 ~ d2@3 ~ d2@3 ~ e2@3]/8",
  H: "[~ a1@119 ~@8]/4",
  I: "[~ e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ f#2@2 f#2@3 ~ f#2@2 ~@2 f#2@2 f#2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ f#2@2 f#2@3 ~ f#2@2 ~@2 f#2@2 f#2@2 g2@2 g2@2 ~@2 g2 ~ g2@2 ~@2 g2@2 g2@3 ~ g2@2 g2@3 ~ g2@2 ~@2 g2@2 g2@2 d2@2 d2@2 ~@2 d2@2 d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2@2 d2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2 ~ e2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2]/8",
  J: "[~ a1@2 a1@2 ~@2 a1@2 a1@2 ~@2 a1@2 a1@2 ~@2 g#1@2 g#1@3 ~ g#1@2 ~@2 g#1@2 g#1@2 f#1 ~ f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1@2 f#1@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 d2 ~ d2@2 ~@2 d2@2 d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2 ~ d2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 a1 ~ a1@2 ~@2 a1@2 a1@2 ~@2 a1@2 a1@2 ~@2 g#1@2 g#1@3 ~ g#1@2 ~@2 g#1@2 g#1@2 f#1 ~ f#1@2 ~@2 f#1@2 f#1@2 ~@2 f#1@2 f#1@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2 ~ e2@2 d2@2 d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2@2 d2@3 ~ d2@2 ~@2 d2 ~ d2@2 e2 ~ e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2]/8",
  K: "[~ d2 ~ d2@2 ~@2 d2@2 d2@2 ~@2 d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2@2 ~@2 d2@2 d2@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 d2 ~ d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2 ~ d2@3 ~ d2@2 ~@2 d2@2 d2@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 e2@2 e2@2 d2@2 d2@2 ~@2 d2 ~ d2@2 ~@2 d2@2 d2@3 ~ d2 ~ d2@3 ~ d2@2 ~@2 d2@2 d2@2 f#2 ~ f#2@2 ~@2 f#2@2 f#2@2 ~@2 f#2@2 f#2@3 ~ f#2@2 f#2@3 ~ f#2@2 ~@2 f#2@2 f#2@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 ~@2 b1@2 b1@2 e2@2 e2@2 ~@2 e2@2 e2@2 ~@2 e2@2 e2@2 d2@3 ~ d2@3 ~ d2@3 ~ e2@3]/8",
  L: "~ a2@3 ~@28",
})).s("gm_fretless_bass").gain(0.29)

// other · distortion guitar
const distortion_guitar = note(`<
  A@8 ~@17 B ~ C ~ D E F ~@9 B ~ C ~ D G H ~@8 I J@2 K@3 L M N ~@27 I J@2 K@3 L M O P Q R@2 P Q S@2 T@2 K@3 L U N
>`.pickRestart({
  A: "[~ [a2,a3]@124 ~@3]/8", B: "~ f#3@2 ~@4 f#3@2 ~@4 f#3@2 ~@4 f#3@2 ~@4 f#3@2 ~@5",
  C: "~ f#3@2 ~@4 f#3@2 ~@4 f#3@3 ~@3 f#3@2 ~@4 f#3@2 ~@5", D: "~ d3@3 ~@3 d3@2 ~@4 d3@2 ~@4 d3@2 ~@4 d3@2 ~@5",
  E: "~ e3@2 ~@4 e3@2 ~@4 e3@2 ~@4 e3@2 ~@4 e3@2 ~@5", F: "~ e3@2 ~@4 e3@2 ~@4 e3@2 ~@4 e3 ~@5 e3 ~@6",
  G: "~ e3@2 ~@4 e3@2 ~@4 e3@2 ~@4 e3@2 ~@4 e3@2 ~@2 d3 ~ d3", H: "~ e3 ~@5 e3@2 ~@4 e3@2 ~@4 e3 ~@5 e3 ~@6",
  I: "~ d3@4 ~@2 e3@4 ~@2 f#3@4 ~@2 a3@4 ~@9",
  J: "[~ f#3@4 ~@2 f#3@4 ~@2 f#3@3 ~ e3@4 ~@2 e3@3 ~@3 f#3@2 e3@2 d3@4 ~@2 e3@4 ~@2 f#3@4 ~@2 a3@3 ~@10]/2",
  K: "[~ f#3@4 ~@2 f#3@4 ~@2 f#3@3 ~ e3@3 ~@3 e3@3 ~@3 f#3@2 e3@2 d3@4 ~@2 e3@4 ~@2 f#3@4 ~@2 a3@3 ~@7 d3@2 e3@2 f#3@4 ~@2 f#3@4 ~@2 f#3@3 ~@3 f#3@3 ~@3 f#3@2 ~@2 f#3@2 ~]/3",
  L: "~ e3@3 ~@3 e3@3 ~@3 e3@3 ~@3 e3@3 ~@3 e3@2 ~@2 d3@2 ~",
  M: "~ e3@4 ~@2 e3@3 ~@3 e3@2 ~@2 d3@3 ~@3 d3@3 ~@3 e3@2 ~", N: "~ a2@4 ~@27",
  O: "~ a2@3 ~@3 a2@3 ~@3 a2@3 ~@3 a2@3 ~@3 a2@3 ~ e3@3", P: "~ f#3@3 ~@3 f#3@3 ~@3 f#3@3 ~@3 f#3@3 ~@3 f#3@3 ~ e3@3",
  Q: "~ d3@3 ~@3 d3@3 ~@3 d3@2 ~@4 d3@3 ~@3 d3@2 ~@2 d3@3",
  R: "[~ e3@4 ~@2 e3@4 ~@2 e3@3 ~@3 e3@4 ~@2 e3@3 ~@3 e3@2 a2@3 ~@3 a2@3 ~@3 a2@3 ~@3 a2@3 ~@3 a2@3 ~ e3@3]/2",
  S: "[~ e3@4 ~@2 e3@4 ~@2 e3@3 ~@3 e3@4 ~@2 e3@3 ~@3 e3@2 d3@4 ~@2 e3@4 ~@2 f#3@4 ~@2 a3@4 ~@9]/2",
  T: "[~ f#3@4 ~@2 f#3@4 ~@2 f#3@3 ~ e3@4 ~@2 e3@3 ~@3 f#3@2 e3@2 d3@4 ~@2 e3@4 ~@2 f#3@5 ~ a3@3 ~@10]/2",
  U: "~ e3@4 ~@2 e3@3 ~@3 e3@3 ~ d3@3 ~@3 d3@4 ~@2 e3@3",
})).s("gm_distortion_guitar").gain(0.25).pan(0.7)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@7 A B C D E B F D G ~@32 H I J K I@2 J L ~@8 M@3 N ~@16 H I J K I@2 J L ~@25
>`.pickRestart({
  A: "~@25 [c#4,e4,a4,c#5] ~ [c#4,e4,a4,c#5] ~ [c#4,e4,a4,c#5] ~ [c#4,e4,a4,c#5]", // A
  B: "~ [a3,e4,a4,c#5]@5 ~ [a3,e4,a4,c#5]@5 ~ [a3,e4,a4,c#5]@2 [a3,e4,a4,c#5]@2 [b3,e4,a4,c#5]@5 ~ [b3,e4,a4,c#5]@5 ~ [b3,e4,a4,c#5]@2 [b3,e4,a4,c#5]", // A
  C: "~ [c#4,e4,f#4,a4,c#5]@5 ~ [c#4,e4,f#4,a4,c#5]@5 ~ [c#4,e4,f#4,a4,c#5] ~ [c#4,e4,f#4,a4,c#5]@2 [b3,e4,g#4,b4]@5 ~ [b3,e4,g#4,b4]@3 ~ [b3,e4,g#4,b4]@2 [b3,e4,g#4,b4]@3", // F#m7 E
  D: "~ [d4,e4,a4,c#5]@5 ~ [d4,e4,a4,c#5]@3 ~ [d4,e4,a4,c#5] ~ [d4,e4,a4,c#5]@5 ~ [d4,e4,a4,c#5]@4 [d4,e4,a4,c#5] ~ [d4,e4,a4,c#5]@3 ~ [d4,e4,a4,c#5]@3", // A
  E: "~ [b3,e4,a4,c#5]@5 ~ [b3,e4,a4,c#5]@5 ~ [b3,e4,a4,c#5]@4 [b3,e4,g#4,b4]@5 ~ [b3,e4,g#4,b4]@5 ~ [b3,g#4,b4]@2 c#4", // A E
  F: "~ [c#4,e4,f#4,a4,c#5]@5 ~ [c#4,e4,f#4,a4,c#5]@5 ~ [c#4,e4,f#4,a4,c#5]@2 [c#4,e4,f#4,a4,c#5]@2 [b3,e4,g#4,b4]@5 ~ [b3,e4,g#4,b4]@3 ~ [b3,e4,g#4,b4]@2 [b3,e4,g#4,b4]@3", // F#m7 E
  G: "~ [b3,e4,a4,c#5]@5 ~ [b3,e4,a4,c#5]@5 ~ [b3,e4,a4,c#5]@4 [b3,e4,g#4,b4]@5 ~ [b3,e4,g#4,b4]@5 ~ [b3,e4,g#4,b4]@2 ~", // A E
  H: "~ [a4,c#5]@5 ~ [a4,c#5]@7 ~@3 [a4,c#5]@4 ~@2 [a4,c#5]@7 ~@2", // A
  I: "~ [a4,c#5]@5 ~ [a4,c#5]@7 ~@3 [a4,c#5]@5 ~ [a4,c#5]@7 ~@2", // A
  J: "~ [a4,d5]@5 ~ [a4,d5]@7 ~@3 [a4,d5]@5 ~ [a4,d5]@7 ~@2", // D5
  K: "~ [b4,e5]@4 ~@2 [b4,e5]@7 ~@3 [b4,e5]@5 ~ [b4,e5]@7 ~@2", // E5
  L: "~ [b4,e5]@5 ~ [b4,e5]@7 ~@3 [b4,e5]@5 ~ [b4,e5]@7 ~@2", // E5
  M: "[~ [a4,c#5]@3 ~ [a4,c#5]@2 [a4,c#5]@5 ~ [a4,c#5]@5 ~ [a4,c#5]@4 [a4,c#5] ~ [a4,c#5]@4 [a4,c#5]@2 [a4,c#5]@2 [a4,d5]@3 ~ [a4,d5]@2 [a4,d5]@5 ~ [a4,d5]@5 ~ [a4,d5]@4 [a4,d5] ~ [a4,d5]@4 [a4,d5]@2 [a4,d5]@2 [a4,c#5]@3 ~ [a4,c#5] ~ [a4,c#5]@5 ~ [a4,c#5]@5 ~ [a4,c#5]@4 [a4,c#5]@2 [a4,c#5]@3 ~ [a4,c#5] ~ [a4,c#5]]/3", // A D5 A
  N: "~ [a4,d5]@3 ~ [a4,d5] ~ [a4,d5]@6 [a4,d5]@5 ~ [a4,d5]@3 ~ [a4,d5] ~ [a4,d5]@4 [a4,d5] ~ [a4,d5]", // D5
})).s("gm_electric_guitar_clean").gain(0.1).pan(0.2)

// chords · distortion guitar
const distortion_guitar_2 = note(`<
  ~@48 A B C D A B C D C E C E C F D G H@3 I ~@16 A B C D A B C D C E C E C F D G A B C J A B C J C E C E C F D G ~
>`.pickRestart({
  A: "~ [a2,e3,a3]@15 ~ [g#2,c#3,g#3]@15", B: "~ [f#2,c#3,f#3]@15 ~ [e2,b2,e3]@15", C: "~ [d3,a3,d4]@30 ~",
  D: "~ [e3,b3,e4]@30 ~", E: "~ [f#2,f#3,c#4]@15 ~ [e2,e3,b3]@15", F: "~ [f#3,c#4,f#4]@30 ~",
  G: "~ [e3,b3,e4]@15 ~ [d3,a3,d4]@13 ~@2", H: "[~ [a2,e3,a3]@90 ~@5]/3", I: "~ [e3,a3,a4]@16 ~@15",
  J: "~ [e3,b3,e4]@29 ~@2", // E5
})).s("gm_distortion_guitar").gain(0.22).pan(0.8)

// chords · pad warm
const pad_warm = note("<~@67 A@4 B@8 C@5 ~@33>".pickRestart({
  A: "[~@31 [a4,e5]@24 ~@8 [a4,d5]@25 ~@7 [a4,e5]@24 ~@8 [d5,a5]]/4", // A5 D5 A5 D5
  B: "[~@31 [a4,e5]@24 ~@8 [d5,f#5]@24 ~@8 [a4,e5]@24 ~@8 [a4,d5]@24 ~@8 [e5,b5]@26 ~@6 c#6@29 ~@3 [e5,b5]@24 ~@8 [f#5,c#6], ~@191 f#5@26 ~@39]/8", // A5 D A5 D5 E5 F#5
  C: "[~@31 [a5,d6]@25 ~@7 a5@27 ~@5 [e5,b5]@24 ~@8 [e5,b5]@28 ~@5, ~@63 d5@23 ~@74]/5", // D5 E5
})).s("gm_pad_warm").gain(0.06)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~@108
  [~@19 a3@2 ~@2 a3 ~ a3@2 ~@5]
  ~
  [~@19 a3@2 ~@2 a3 ~ a3@2 ~@5]
  ~
  [~@19 a3 ~@3 a3 ~ a3@2 ~@5]
  ~@4
>`).s("gm_electric_guitar_muted").gain(0.11).pan(0.3)

// drums · kick
const kick = s("bd").struct("<[~ x ~@5 x ~@5 x ~@7 x ~ x ~@5 x ~@2]!8 [~ x ~@7 x ~@7 x ~@7 x ~@6]!108 [~ x ~@30]>")
  .gain(0.56)

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

// drums · clap
const clap = s("cp").struct("<~@32 [~@9 x ~@15 x ~@6]!35 [~@9 x ~@5 x ~@16] ~@8 [~@9 x ~@15 x ~@6]!40 ~>").gain(0.37)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@10 A@2 ~@2 A@2 ~@7 B ~@7 C D@7 E D@7 F D@7 A D@7 G D@3 H ~@7 I D@7 J D@7 A D@7 G D@16 ~
>`.pickRestart({
  A: "~@25 x ~@6", B: "~@17 x ~@7 x ~ x ~ x ~ x", C: "~@17 x ~@11 x ~ x", D: "~ x ~@3 x ~ x ~@9 x ~@3 x ~ x ~@7 x",
  E: "~ x ~@5 x ~@9 x ~@3 x ~ x ~ x ~ x ~ x ~ x", F: "~@7 x ~@9 x ~@3 x ~ x ~@8", G: "~@21 x ~@10",
  H: "~ x ~ x ~@5 x ~@5 x ~@16", I: "~@17 x ~@5 x ~@3 x ~ x ~@2", J: "~ x ~@3 x ~ x ~@9 x ~@3 x ~ x ~@8",
})).gain(0.31)

// drums · hihat
const hihat = s("hh").struct(`<
  [~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2]!8
  [~ x ~@3 x ~ x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x ~ x ~@4]!59
  [~ x ~@30]
  ~@8
  [~ x ~@3 x ~ x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x ~ x ~@4]!40
  ~
>`).gain(0.37)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@10 A@2 ~@2 A@2 ~@7 B ~@8 C@7 D C@7 E C@7 F C@7 G C@3 H ~@8 C@7 I C@7 F C@7 G C@16 ~
>`.pickRestart({
  A: "~@5 x ~@5 x ~ x ~@5 x ~ x ~ x ~@8", B: "~@11 x ~@20", C: "~@13 x ~ x ~@13 x ~@2", D: "~@11 x ~ x ~ x ~@16",
  E: "~@5 x ~@7 x ~ x ~@11 x ~ x ~@2", F: "~@5 x ~ x ~@3 x ~ x ~@3 x ~ x ~ x ~ x ~@8", G: "~@15 x ~ x ~@9 x ~ x ~@2",
  H: "~@5 x ~ x ~@3 x ~ x ~@5 x ~ x ~ x ~@8", I: "~@13 x ~ x ~@11 x ~ x ~@2",
})).gain(0.37)

// drums · open hat
const open_hat = s("oh").struct("<~@8 [~@29 x ~@2]!59 ~@9 [~@29 x ~@2]!40 ~>").gain(0.37)

// drums · high tom
const high_tom = s("ht").struct("<~@10 A@2 ~@2 A@2 ~@7 B ~@7 B ~@7 B ~@15 C ~@11 D ~@7 B ~@15 C ~@25>".pickRestart({
  A: "~@7 x ~@24", B: "~@5 x ~@26", C: "~@9 x ~@22", D: "~@17 x ~@7 x ~ x ~ x ~ x",
})).gain(0.44)

// drums · crash
const crash = s("cr").struct(`<
  ~@8 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@3 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A
>`.pickRestart({
  A: "~ x ~@30",
})).gain(0.37)

// drums · tambourine
const tambourine = s("tb").struct("<~@68 [~@5 x ~@26]!8 ~@41>").gain(0.25)

// drums · jingle bells
const jingle_bells = s("sleighbells:4").struct("<~@115 [~@19 x ~@12] ~>").gain(1.61)

stack(
  bass, distortion_guitar, electric_guitar_clean, distortion_guitar_2, pad_warm, electric_guitar_muted, kick, snare,
  clap, low_tom, hihat, mid_tom, open_hat, high_tom, crash, tambourine, jingle_bells
)

More by 883