Strudelify

Siamo soli nell'immenso

Raf

KeyE majorTempo115 bpm
0:00/0:00
// Siamo soli nell'immenso — Raf
// 115 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 139 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(115/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 · string ensemble 2
const string_ensemble_2 = note(`<
  A@8 B@4 C@2 D@5 ~@12 E@8 F@5 G@4 H@6 G@4 I@7 J ~@7 E@8 F@5 G@4 H@6 K@8 L@4 M@6 N@8 O@2 L@12 P@3
>`.pickRestart({
  A: "[[e2,g#3,b3,e4]@4 [b2,f#3,b3,d#4]@3 [c#3,e3,g#3,c#4]@4 [a2,a3,c#4,e4]@5]/2", // E B C#m A
  B: "[[e2,g#3,b3,e4]@3 [b2,f#3,b3,d#4]@4 [c#3,e3,g#3,c#4]@4 [a2,a3,c#4,e4]@5]/2", // E B C#m A
  C: "[[e3,b3,g#4,e5]@4 [b2,b3,f#4,d#5]@3 [c#3,e4,g#4,e5]@4 [a3,c#4,a4,e5]@5]/2", // E B C#m A
  D: "[[e3,b3,g#4,e5]@4 [b2,b3,f#4,d#5]@3 [c#3,e4,g#4,e5]@4 [a3,c#4,a4,e5]@17 ~@3 [a2,e3,a3,d4,g4,b4]@9]/5", // E B C#m A Em7
  E: "[~ [e3,g#3,c#4]@4 f#3@2 f3@2 [e3,g#3,c#4]@4 f#3@2 f3, ~@5 [g#3,c#4]@4 ~@4 [g#3,c#4]@3]/8", // C#m C#5
  F: "[~@8 [f#3,a3,e4]@6 [f#3,a3,c#4]@9 ~ [f#3,a3,e4]@6 [f#3,b3,d#4]@9 ~ [e3,b3,g#4,e5]@6 [b2,b3,f#4,d#5]@8 [c#3,e4,g#4,e5]@8 [a3,c#4,a4,e5]@10 [e3,b3,g#4,e5]@8]/5", // F#m7 F#m F#m7 B E B C#m A …
  G: "[[b2,b3,f#4,d#5]@3 [c#3,e4,g#4,e5]@4 [a3,c#4,a4,e5]@5 [e3,b3,g#4,e5]@3 [b2,b3,f#4,d#5]@4 [c#3,e4,g#4,e5]@4 [a3,c#4,a4,e5]@5 [e3,b3,g#4,e5]@4]/4", // B C#m A E B C#m A E
  H: "[[b2,b3,f#4,d#5]@3 [c#3,e4,g#4,e5]@4 [a3,c#4,a4,e5]@5 [e3,b3,g#4,e5]@3 [b2,b3,f#4,d#5]@4 [c#3,e4,g#4,e5]@4 [a3,c#4,a4,e5]@5 [c#3,b3,g#4,e5]@3 [b2,b3,g#4,e5]@4 [a#2,a#3,g#4,e5]@4 [a2,a3,a4,e5]@5 [e3,b3,g#4,e5]@4]/6", // B C#m A E B C#m A C#m7 …
  I: "[[b2,b3,f#4,d#5]@3 [c#3,e4,g#4,e5]@4 [a3,c#4,a4,e5]@5 [b2,b3,d#4,b4]@16 [e3,b3,e4,e5]@7 [d3,b3,e4,e5]@9 [b2,b3,f#4,b4]@7 [e3,b3,e4,e5]@5]/7", // B C#m A B E5 E7 B5 E5
  J: "[a2,a3,e4,c#5]@3 ~ [b2,b3,f#4,d#5]@3 ~@9", // A B
  K: "[[b2,b3,f#4,d#5]@3 [c#3,e4,g#4,e5]@4 [a3,c#4,a4,e5]@4 [c3,e4,g4,c5]@8 [d3,f#4,a4,d5]@8 [e3,e4,g4,c5]@8 [f#3,d4,a4,d5]@9 [g3,d4,b4,g5]@3 [d3,d4,a4,f#5]@4 [e3,g4,b4,g5]@4 [c4,e4,c5,g5]@5 [g3,d4,b4,g5]@4]/8", // B C#m A C D C D G …
  L: "[[d3,d4,a4,f#5]@3 [e3,g4,b4,g5]@4 [c4,e4,c5,g5]@5 [g3,d4,b4,g5]@3 [d3,d4,a4,f#5]@4 [e3,g4,b4,g5]@4 [c4,e4,c5,g5]@5 [g3,d4,b4,g5]@4]/4", // D Em C G D Em C G
  M: "[[d3,d4,a4,f#5]@3 [e3,g4,b4,g5]@4 [c4,e4,c5,g5]@5 [g3,d4,b4,g5]@3 [d3,d4,a4,f#5]@4 [e3,g4,b4,g5]@4 [c4,e4,c5,g5]@5 [e3,d4,b4,g5]@3 [d3,d4,b4,g5]@4 [c#3,c#4,a#4,g5]@4 [c3,c4,g4,g5]@5 [g3,d4,b4,g5]@4]/6", // D Em C G D Em C Em7 …
  N: "[[d3,d4,a4,f#5]@3 [e3,g4,b4,g5]@4 [c4,e4,c5,g5]@5 d3@7 c3@8 b2@8 c3@9 [d4,f#4,d5]@7 [d4,a4,f#5]@9 [g3,d4,b4,g5]@3 [d3,d4,a4,f#5], ~@12 [d4,f#4,d5]@15 [d4,f#4,d5]@17 d3@16 ~@4]/8", // D Em C D G D
  O: "[~@3 [e3,g4,b4,g5]@4 [c4,e4,c5,g5]@5 [g3,d4,b4,g5]@4]/2", // Em C G
  P: "[[d3,d4,a4,f#5]@3 [e3,g4,b4,g5]@4 [c4,e4,c5,g5]@5 [g3,d4,b4,g5]@12]/3", // D Em C G
})).s("gm_string_ensemble_2").gain(0.33)

// other · piano
const piano = note(`<
  ~@31 A@4 B@4 ~@2 C@4 D@6 E@4 F@3 G@2 ~@14 H@3 I@4 ~@2 J@4 D@6 K@5 ~@3 L@8 M@5 N ~@14 O@8 ~@2
>`.pickRestart({
  A: "[~@6 e4@4 d#4 c#4 b3 c#4@2 a3@3 b3 c#4@6 g#3@4 ~@3]/4", B: "[~@6 e4@4 d#4 c#4 b3@2 c#4 a3@3 b3 c#4@13]/4",
  C: "[~ d#4 e4 g#4@12 e4@2 d#4 c#4 e4@9 ~@4]/4",
  D: "[~ g#4 f#4 g#4@6 f#4@2 g#4@4 e4@2 d#4 c#4 e4@2 c#4 b3@11 e4 f#4 b4@10 a4 g#4 a4]/6",
  E: "[~ e4 f#4 g#4@10 f#4 e4@4 c#4 e4@2 c#4 b3@6 ~@4]/4", F: "[~ e4 f#4 g#4@12 e4@2 d#4 c#4 g#4@5]/3",
  G: "[f#4 g#4 f#4 e4@13]/2", H: "[~@2 d#4 c#4 b3 c#4@2 a3@3 b3 c#4@6 g#3@5 ~@2]/3",
  I: "[~@6 e4@4 d#4 c#4 b3@2 c#4 a3@3 b3 c#4@12 ~]/4", J: "[~ d#4 e4 g#4@12 e4@2 d#4 c#4 e4@10 ~@3]/4",
  K: "[~ e4 f#4 g#4@10 f#4 e4@4 c#4 e4@2 c#4 b3@11 e4 f#4 g#4@3 ~@2]/5",
  L: "[~ f#4 g4 b4@12 g4@2 f#4 e4 g4@14 b4 a4 b4@6 a4@2 b4@4 g4@2 f#4 e4 g4@2 e4 d4@10]/8",
  M: "[~ g4 a4 d5@10 c5 b4 c5@2 g4 a4 b4@8 c#5@2 c5 b4@3 g4@7]/5", N: "a4 b4 a4 g4@5",
  O: "[~@3 b4@12 g4@2 f#4 e4 g4@14 b4 a4 b4@6 a4@2 b4@4 g4@2 f#4 e4 g4@2 e4 d4@3 ~@7]/8",
})).s("gm_piano").gain(0.05)

// bass · slap bass 2
const bass = note(`<
  A@2 B@2 A@2 C@2 D@2 E@2 F@2 G@5 H I J K L M J K L M J K N O P Q R O S T U@3 V W V W V W V W V X Y W V W V W V Z@3 AA
  AB AC AD I J K L M J K N O P Q R O S T U@3 V W V W V W V W V X Y W V AE AF AG AH AI AJ AK AJ AK AJ AK AJ AK AJ AL AM
  AK AJ AN@6 AO AJ AK AJ AK AJ AK AJ AK AJ AK AJ AK AJ AK AJ AP@2
>`.pickRestart({
  A: "[e2@4 b1@3 c#2@4 a1@5]/2", B: "[e2@4 b1@2 b1 c#2@4 a1@5]/2", C: "[e2@4 b1@2 b1 c#2@4 a1@3 e2@2]/2",
  D: "[e2@6 b1@8 c#2@8 a1@8 b1 c#2]/2", E: "[e2@3 b1@4 c#2@4 a1@5]/2", F: "[e2@8 b1@6 c#2@8 a1@8 b1 c#2]/2",
  G: "[e2@4 b1@3 c#2@4 a1@17 a1@12]/5", H: "e1!2 ~ g1 ~ e1 e2@2 c#2@6 c#2!2", I: "~ c#2 c#2@3 c#2 b1@6 b1@2 b1!2",
  J: "b1!2 b1@3 b1 b1@2 g#1@4 g#1@2 g#1!2", K: "g#1!2 g#1@3 g#1 c#2@6 c#2@2 c#2!2",
  L: "b1@3 b1 c2@3 c2 c#2@4 c#3@2 c#2!2", M: "c#2!2 c#2@3 c#2 b1@6 b2@2 b1!2", N: "c#2@3 c#2 b1@3 b1 a1@6 a1@2",
  O: "~@3 a1 ~@2 f#1@2 a1@6 a1@2", P: "~@2 a1@2 b1@4 c#2@5 ~ c#2@2", Q: "~@3 c#2 ~@2 c#2@2 c#2@4 c#3@2 c#2 g#2",
  R: "c#2 g#2 c#2@2 e2@2 c#2@2 a1@6 a1@2", S: "~@2 a1@2 b1@3 ~ c#2@5 ~ c#2@2",
  T: "~@3 c#2 ~@2 b1@2 c#2@4 c#3@2 c#2 g#2",
  U: "[c#2 g#2 c#2@2 e2@2 f#2@2 b1@6 a1@8 a1@2 f#1@6 b1@8 b1@2 e2 ~ e2 ~ e2 ~ b1@2]/3",
  V: "b1 ~ b1 ~ b1 ~ c#2@2 c#2 ~ c#2 ~ c#2 ~ a1@2", W: "a1 ~ a1 ~ a1 ~ b1 c#2 e2 ~ e2 ~ e2 ~ b1@2",
  X: "a1 ~ a1 ~ a1 ~ a1 b1 c#2 ~ c#2 ~ c#2 ~ b1@2", Y: "b1 ~ b1 ~ b1 ~ a#1@2 a#1 ~ a#1 ~ a#1 ~ a1@2",
  Z: "[a1 ~ a1 ~ a1 ~ a1 ~ b1@14 b1@14 b1 c#2 e2 f#2 e2@6 e2@2]/3", AA: "~ e2 ~ d2 d2@3 d2", AB: "~ d2 ~ d2 b1@3 b1",
  AC: "~ b1 ~ b1 e2!4", AD: "c#2@2 ~@2 d#2@3 ~ c#2@6 c#2!2", AE: "a1 ~ a1 ~ a1 ~ c2@3 ~ c2 ~ c2 ~ c2 ~",
  AF: "c2 ~ c2 ~ c2 ~ d2@3 ~ d2 ~ d2 ~ d2 ~", AG: "d2 ~ d2 ~ d2 ~ e2@3 ~ e2 ~ e2 ~ e2 ~",
  AH: "e2 ~ e2 ~ e2 ~ f#2@3 ~ f#2 ~ f#2 ~ f#2 ~", AI: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ g2 ~ g2 ~ g2 ~ d2@2",
  AJ: "d2 ~ d2 ~ d2 ~ e2@2 e2 ~ e2 ~ e2 ~ c2@2", AK: "c2 ~ c2 ~ c2 ~ d2 e2 g2 ~ g2 ~ g2 ~ d2@2",
  AL: "c2 ~ c2 ~ c2 ~ c2 d2 e2 ~ e2 ~ e2 ~ d2@2", AM: "d2 ~ d2 ~ d2 ~ c#2@2 c#2 ~ c#2 ~ c#2 ~ c2@2",
  AN: "[c2 ~ c2 ~ c2 ~ c2 ~ d2@14 c2@16 b1@16 c2@16 ~@2 d2@14 d2@8 d2 ~]/6",
  AO: "d2 ~ d2 ~ d2 ~ d2 ~ g2 ~ g2 ~ g2 ~ d2@2", AP: "[c2 ~ c2 ~ c2 ~ a1@2 g1@24]/2",
})).s("gm_slap_bass_2").gain(0.61)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@7 A B@2 C@2 D@2 E@2 F G@2 ~@22 H@7 I@8 J@6 K L M N ~@17 H@7 O@8 P Q R S@7 T@6 U@7 V@2 W@2 X@4 Y@7 Z@3
>`.pickRestart({
  A: "~@3 [e3,a3]", B: "[e3@3 b2@4 c#3@4 a2@5]/2", C: "[e3@3 b2@4 c#3@4 a2@4 b2]/2",
  D: "[[b2,e3,e4] [c#3,f#3,f#4] [e3,g#3,g#4] [f#2,b2,b3] [a2,c#3,c#4] [b2,d#3,d#4]@2 [g#2,c#3,c#4]@2 [b2,d#3,d#4] [c#3,e3,e4] [e2,a2,a3]@5]/2", // E5 F#5 E B5 A B C#5 B …
  E: "[[b2,e3,e4] [c#3,f#3,f#4] [e3,g#3,g#4] [f#2,b2,b3] [a2,c#3,c#4] [b2,d#3,d#4]@2 [g#2,c#3,c#4]@2 [b2,d#3,d#4] [c#3,e3,e4] [e2,a2,a3]@3 a2@2]/2", // E5 F#5 E B5 A B C#5 B …
  F: "a2!4", G: "[a2!2 a2@6]/2",
  H: "[~@4 [b2,e3]!3 [f#2,b2]@2 [f#2,b2]!2 [g#2,c#3]@2 [g#2,c#3]!2 [e2,a2]@2 [e2,a2]!2 [e2,b2] [b2,e3,e4] [b2,e3,f#4] [b2,e3,g#4] b3 c#4 [f#2,b2]!2 [g#2,c#3,c#4]@2 [g#2,c#3,d#4] [g#2,c#3,e4] [e2,a2]@2 [e2,a2]!2 [e2,b2] [b2,e3]!3 [f#2,b2]@2 [f#2,b2]!2 [g#2,c#3]@2 [g#2,c#3]!2 [e2,a2]@2 [e2,a2]!2 [e2,b2] [b2,e3,e4] [b2,e3,f#4] [b2,e3,g#4] [f#2,b2,b3], ~@23 [f#2,b2]@2 d#4@2 ~@4 a3@5 ~@20]/7", // E5 B5 C#5 A5 E5 Bsus4 E B5 …
  I: "[c#4@2 [f#2,b2]@2 [f#2,b2]@2 [g#2,c#3,c#4]@4 [g#2,c#3,d#4]@2 [g#2,c#3,e4]@2 [e2,a2]@4 [e2,a2]@2 [e2,a2]@2 [e2,b2]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [f#2,b2]@4 [f#2,b2]@2 [f#2,b2]@2 [g#2,c#3]@4 [g#2,c#3]@2 [g#2,c#3]@2 [e2,a2]@4 [e2,a2]@2 [e2,a2]@2 [e2,b2]@2 c#3@6 b2@8 a#2@8 a2@8 b2 c#3 [b2,e3,e4]@2 [b2,e3,f#4]@2 [b2,e3,g#4]@2 b3@2 c#4@2 [f#2,b2]@2 [f#2,b2]@2 [g#2,c#3,c#4]@4 [g#2,c#3,d#4]@2 [g#2,c#3,e4]@2 [e2,a2]@4 [e2,a2]@2 [e2,a2]@2 [e2,b2]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [f#2,b2]@2, ~ d#4@2 ~@4 a3@5 ~@35 [f#2,b2]@2 d#4@2 ~@4 a3@5 ~@4]/8", // B5 C#5 G#sus4 C#m A5 E5 B5 C#5 …
  J: "[~@2 [f#2,b2]@2 [f#2,b2]@2 [g#2,c#3]@4 [g#2,c#3]@2 [g#2,c#3]@2 [e2,a2]@4 [e2,a2]@2 [e2,a2]@2 [e2,b2]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 ~@2 d#4@2 [f#2,b2]@2 [f#2,b2,d#4]@2 [g#2,c#3,c#4]@4 [g#2,c#3,d#4]@2 [g#2,c#3,e4]@2 [e2,a2,a3]@4 [e2,a2,b3]@2 e2@2 [e2,b2]@2 ~@4 d#3@2 ~@2 e3@2 ~@2 d#3@2 ~@6 d#3@2 ~@2 e3@2 ~@2 b2 c#3 e3 f#3 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2, ~@12 e4@4 ~ e4@2 ~@7 c#4@2 ~@20, ~@15 [f#2,b2]@2 ~@11 [b2,b3]@7 [b2,b3]@7 ~@6]/6", // B5 C#5 A5 E5 B5 B C#5 G#sus4 …
  K: "[b2,e3] [b2,e3]@2 [b2,e3]@2 [b2,e3]!3", L: "[b2,e3] [b2,e3]@2 [b2,f#3]@2 [b2,f#3]!3",
  M: "[b2,f#3] [b2,f#3]@2 [b2,e3]@2 [b2,e3]!3", N: "[a2,c#3] ~ [b2,d#3] ~@5",
  O: "[c#4@2 [f#2,b2]@2 [f#2,b2]@2 [g#2,c#3,c#4]@4 [g#2,c#3,d#4]@2 [g#2,c#3,e4]@2 [e2,a2]@4 [e2,a2]@2 [e2,a2]@2 [e2,b2]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [f#2,b2]@4 [f#2,b2]@2 [f#2,b2]@2 [g#2,c#3]@4 [g#2,c#3]@2 [g#2,c#3]@2 [e2,a2]@4 [e2,a2]@2 [e2,a2]@2 [e2,b2]@2 c#3@6 b2@8 a#2@8 a2@8 b2 c#3 [b2,e3,e4]@2 [b2,e3,f#4]@2 [b2,e3,g#4]@2 b3@2 c#4@2 [f#2,b2]@2 [f#2,b2]@2 [g#2,c#3,c#4]@4 [g#2,c#3,d#4]@2 [g#2,c#3,e4]@2 [e2,a2]@4 [e2,a2]@2 [e2,a2]@2 [g2,c3]@4 [g2,c3]@2 [g2,c3]@2 [g2,c3]@2, ~ d#4@2 ~@4 a3@5 ~@35 [f#2,b2]@2 d#4@2 ~@4 a3@5 ~@4]/8", // B5 C#5 G#sus4 C#m A5 E5 B5 C#5 …
  P: "[g2,c3]!3 [a2,d3]@2 [a2,d3]!3", Q: "[a2,d3]!3 [c3,e3]@2 [c3,e3]!3", R: "[c3,e3]!3 [d3,f#3]@2 [d3,f#3]!3",
  S: "[[d3,f#3]!4 [d3,g3]!3 [a2,d3]@2 [a2,d3]!2 [b2,e3]@2 [b2,e3]!2 [g2,c3]@2 [g2,c3]!2 [g2,d3] [d3,g3,g4] [d3,g3,a4] [d3,g3,b4] d4 e4 [a2,d3]!2 [b2,e3,e4]@2 [b2,e3,f#4] [b2,e3,g4] [g2,c3]@2 [g2,c3]!2 [g2,d3] [d3,g3]!3 [a2,d3]@2 [a2,d3]!2 [b2,e3]@2 [b2,e3]!2 [g2,c3]@2 [g2,c3]!2 [g2,d3] [d3,g3,g4] [d3,g3,a4] [d3,g3,b4] [a2,d3,d4], ~@23 [a2,d3]@2 f#4@2 ~@4 c4@5 ~@20]/7", // D G5 D5 E5 C5 G5 Dsus4 G …
  T: "[e4@2 [a2,d3]@2 [a2,d3]@2 [b2,e3,e4]@4 [b2,e3,f#4]@2 [b2,e3,g4]@2 [g2,c3]@4 [g2,c3]@2 [g2,c3]@2 [g2,d3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [a2,d3]@4 [a2,d3]@2 [a2,d3]@2 [b2,e3]@4 [b2,e3]@2 [b2,e3]@2 [g2,c3]@4 [g2,c3]@2 [g2,c3]@2 [g2,d3]@2 e3@6 d3@8 c#3@8 c3@8 d3 e3 [d3,g3,g4]@2 [d3,g3,a4]@2 [d3,g3,b4]@2 [a2,d3,d4]@2, ~ f#4@2 ~@4 c4@5 ~@36]/6", // D5 E5 Bsus4 Em C5 G5 D5 E5 …
  U: "[f#4@2 [a2,d3]@2 [a2,d3,f#4]@2 [b2,e3,e4]@4 [b2,e3,f#4]@2 [b2,e3,g4]@2 [g2,c3,c4]@4 [g2,c3,d4]@2 g2@2 [g2,d3]@2 [d3,d4]@14 c3@16 b2@16 c3@18 d3@16 g2 [a2,b2,c3] d3 [e3,f#3,g3] a3 [b3,c4,d4] [e4,f#4] [g4,a4], ~ g4@2 ~@7 e4@2 ~@44]/7", // D5 D E5 Bsus4 Em C5 Gsus4 G5 …
  V: "[[a3,b3] [c4,d4] b3 [c4,d4,e4] [f#4,g4] a4 [b4,c5,d5] [e5,f#5] g5@16 e5@3 d5@3 b4@2]/2", // Asus2 Csus2 C Gmaj7 Bm Esus2
  W: "[g4@2 f#4@2 ~ e4@2 d4@6 ~ c5@4 b4@2 a4@2 g4@5 ~@5]/2",
  X: "[g4 e4 d4 b3 a3 d4 b3 a3 g3@2 d4@2 b3@2 a3@4 d4@2 e4@2 f#4@2 g4@2 f#4@2 e4@8 ~@2 g4@2 b4@4 g4@2 a4@8 g4@2 ~ a4 g4 ~ a4 g4 ~ b3, ~@56 b4@2 ~ d4@2 ~ d4@2]/4",
  Y: "[g4@4 [d3,g3]!3 [a2,d3]@2 [a2,d3]!2 [b2,e3]@2 [b2,e3]!2 [g2,c3]@2 [g2,c3]!2 [g2,d3] [d3,g3,g4] [d3,g3,a4] [d3,g3,b4] d4 e4 [a2,d3]!2 [b2,e3,e4]@2 [b2,e3,f#4] [b2,e3,g4] [g2,c3]@2 [g2,c3]!2 [g2,d3] [d3,g3]!3 [a2,d3]@2 [a2,d3]!2 [b2,e3]@2 [b2,e3]!2 [g2,c3]@2 [g2,c3]!2 [g2,d3] [d3,g3,g4] [d3,g3,a4] [d3,g3,b4] [a2,d3,d4], ~@23 [a2,d3]@2 f#4@2 ~@4 c4@5 ~@20]/7", // G5 D5 E5 C5 G5 Dsus4 G D5 …
  Z: "[e4 [a2,d3]!2 [b2,e3,e4]@2 [b2,e3,f#4] [b2,e3,g4] [g2,c3]@2 [g2,c3]!2 [g2,d3] [g2,d3,g3]@12, ~ f#4@2 ~@4 c4@5 ~@12]/3", // D5 E5 Bsus4 Em C5 G5
})).s("gm_overdriven_guitar").gain(0.33).pan(0.7)

// chords · piano
const piano_2 = note(`<
  A@2 B@2 C@2 D@2 E@4 C@2 F@4 ~ G@2 H I J@2 K I J@2 K L M@4 N@7 O@2 P@4 Q@6 P@4 R@4 S T U V@2 K I J@2 K I W@4 N@7 O@2
  P@4 Q@6 X@8 Y@4 Z@6 AA AB@6 AC@3 Y@12 AD@3
>`.pickRestart({
  A: "[e4 f#4 g#4 b3 c#4 d#4 b1 c#4@2 d#4 e4 c#4@2 b3 [a2,c#3]@2, [e2,e3,g#3]@8 [b2,f#3,b3]@6 ~@8 b3 ~@5 a3@2 ~@2, b3@3 ~ b1@2 ~ [c#2,c#3,e3,g#3]@4 [a1,a2,e3]@3 ~@2]/2", // A E B5 C#m A5
  B: "[e4 f#4 g#4 b3 c#4 d#4 [b1,b2] c#4@2 d#4 e4 [a1,a2,e3,c#4]@3 [a2,e3,a3]@2, [e2,e3,g#3]@4 [b1,b2]@2 ~ [c#2,c#3,e3,g#3]@4 ~@5, b3@6 ~@2 [f#3,b3]@6 ~@8 b3 ~@9]/2", // B A A5 E B C#m B5
  C: "[e4 f#4 g#4 b3 c#4 d#4 [b1,b2] c#4@2 d#4 e4 a3 ~ b3 [a2,c#3,a3]@2, [e2,e3,g#3]@4 [b1,b2]@2 ~ [c#2,c#3,e3,g#3]@4 [a1,a2,e3,c#4]@3 ~@2, b3@3 ~ [f#3,b3]@3 ~@9]/2", // B A E B C#m A B5
  D: "[e4 f#4 g#4 b3 c#4 d#4 [b1,b2] c#4@2 d#4 e4 [e3,a3]@2 e3 [a2,e3,a3,c#4,b4]@2, [e2,e3,g#3]@4 [b1,b2]@2 ~ [c#2,c#3,e3,g#3]@4 [a1,a2,c#4]@3 ~@2, b3@3 ~ [f#3,b3]@3 ~@9]/2", // B A5 A E B C#m A B5
  E: "[[e3,g#3,b3,e4]@3 [b2,f#3,b3,d#4]@4 [c#3,g#3,c#4,e4]@4 [a2,a3,c#4,e4]@5]/2", // E B C#m A
  F: "[e4 f#4 g#4 b3 c#4 d#4 [b1,b2] c#4@2 d#4 e4 [a1,a2,c#3,e3,a3]@17 ~@4, [e2,e3,g#3]@4 [b1,b2]@2 ~ [c#2,c#3,e3,g#3]@4 ~@21, b3@3 ~ [f#3,b3]@3 ~@25]/4", // B A E B C#m B5
  G: "[~@8 [e3,g#3,b3,c#4]@4 [e3,g#3,b3,c#4,g#4]@3 ~@3 [e3,g#3,b3]@2 ~@2 [b2,e3,f#3,b3,f#4]@8 ~@2, ~@4 c#3@7 ~@5, ~@18 [c#4,g#4] ~@13]/2", // C#m7 E Bsus4 C#5
  H: "[b2,f#3,a3,c#4,e4] ~ [b2,f#3,a3,c#4,e4]@3 ~ [g#2,f#3,g#3,b3,d#4]@2 ~@4 [g#2,f#3,g#3,b3,d#4]@3 ~", // F#m7 G#m7
  I: "~ [g#2,f#3,g#3] ~ [c#3,g#3,b3,e4,g#4]@4 ~, ~@2 [b3,d#4] ~@13", // G#7 C#m7 B
  J: "[[b2,f#3,b3,d#4,f#4]@2 ~@2 [c3,f#3,c4,d#4,f#4]@2 ~@2 [e3,g#3,b3,c#4]@4 [e3,g#3,b3,c#4,g#4]@3 ~@3 [e3,g#3,b3]@2 ~@2 [b2,e3,f#3,b3,f#4]@6 [b2,f#3,a3,c#4,e4]@3 ~, ~@4 c#3@7 ~@5, ~@18 [c#4,g#4] ~@13]/2", // B Cdim C#m7 E Bsus4 F#m7 C#5
  K: "~@2 [f#3,a3,c#4,e4]@3 ~ [g#2,f#3,g#3,b3,d#4]@2 ~@4 [g#2,f#3,g#3,b3,d#4]@3 ~", // F#m7 G#m7
  L: "~ [g#2,f#3,g#3] ~ [c#3,g#3,b3,e4,g#4]@4 [c#3,g#3,b3,e4,g#4], ~@2 [b3,d#4] ~@13", // G#7 C#m7 B
  M: "[~@4 [b2,f#3,b3,d#4,f#4]@3 ~ [a3,c#4,e4,g#4]@5 ~ [a3,c#4,e4,g#4]@9 ~ [a3,c#4,e4,g#4]@5 ~ [c#4,e4,g#4]@9 ~ [c#3,g#3,c#4,f#4]@6 [c#3,g#3,c#4,f#4]@9 ~ [c#3,g#3,c#4,f4]@6 [c#3,g#3,c#4,f4]@2, ~@30 a3@7 ~@27]/4", // B Amaj7 C#m C#sus4 C#
  N: "[~@8 [a3,c#4,e4,g#4]@6 [a3,c#4,e4,g#4]@9 ~ [a3,c#4,e4,g#4]@6 [a3,c#4,e4,g#4]@9 ~ [c#3,g#3,c#4,f#4]@6 [c#3,g#3,c#4,f#4]@9 ~ [c#3,g#3,c#4,f4]@6 [c#3,g#3,c#4,f4]@9 ~ [b2,f#3,a3,e4]@5 ~ [a2,f#3,a3,c#4]@9 ~ [f#2,f#3,a3,c#4,e4]@5 ~ [b2,f#3,a3,b3,d#4]@9 ~ [e3,g#3,b3,e4]@6 [b2,f#3,b3,d#4]@2]/7", // Amaj7 C#sus4 C# Bsus4 F#m F#m7 B7 E …
  O: "[~@3 [c#3,g#3,c#4,e4]@4 [a2,a3,c#4,e4]@5 e4 f#4 g#4 b3, ~@3 [e3,g#3], ~@12 b3@3 ~]/2", // C#m A E
  P: "[c#4 d#4 b2 c#4@2 d#4 e4 a3 ~ b3 [a2,c#3,a3]@2 [e3,g#3,b3,e4]@3 [b2,f#3,b3,d#4]@4 [c#3,g#3,c#4,e4]@4 [a2,a3,c#4,e4]@5 e4 f#4 g#4 b3, [f#3,b3]@3 ~@25 [e3,g#3]@4, b2@2 ~ [c#3,e3,g#3]@4 [a2,e3,c#4]@3 ~@18 b3@3 ~]/4", // A E B C#m A B5 E C#m …
  Q: "[c#4 d#4 b2 c#4@2 d#4 e4 a3 ~ b3 [a2,c#3,a3]@2 [e3,g#3,b3,e4]@3 [b2,f#3,b3,d#4]@4 [c#3,g#3,c#4,e4]@4 [a2,a3,c#4,e4]@5 [c#3,c#4,e4,g#4]@3 [b2,b3,e4,g#4]@4 [a#2,a#3,e4,g#4]@4 [a2,a3,c#4,e4]@5 e4 f#4 g#4 b3, [f#3,b3]@3 ~@41 [e3,g#3]@4, b2@2 ~ [c#3,e3,g#3]@4 [a2,e3,c#4]@3 ~@34 b3@3 ~]/6", // A E B C#m A C#m E A#m7b5 …
  R: "[c#4@2 d#4@2 b2@2 c#4@4 d#4@2 e4@2 a3@2 ~@2 b3@2 [a2,c#3,a3]@4 ~@2 b3@2 d#4@2 b3 ~ e4@2 b3@2 d#4@2 b3@3 ~ b3@2 d#4@2 b3@2 e4@2 b3@2 [f#3,b3]@4 [e3,g3,b3]@4 [g3,b3,e4]@4, [f#3,b3]@3 ~@16 [d#3,f#3]@7 ~@6, b2@2 ~ [c#3,e3,g#3]@4 [a2,e3,c#4]@3 ~@2 [b2,d#3,f#3]@7 b2@9 ~@4]/4", // A B5 Em B5 D#m C#m A B
  S: "[g3,b3,e4] ~ [g3,b3,e4]@4 [d3,g3,b3,e4]@6 [g3,b3,e4]@4", // Em Em7 Em
  T: "[g3,b3,e4] ~ [g3,b3,e4]@6 [b2,b3,d4]@4 [f#3,b3,d4]@4", // Em Bm
  U: "[f#3,b3,d4] ~ [f#3,b3,d4]@4 [e3,g3,b3,e4]@6 [g3,b3,e4]@4", // Bm Em
  V: "[[a3,c#4,e4]@3 ~ [b3,d#4,f#4]@3 ~ [e3,g#3,b3,c#4]@4 [e3,g#3,b3,c#4,g#4]@3 ~@3 [e3,g#3,b3]@2 ~@2 [b2,e3,f#3,b3,f#4]@6 [b2,f#3,a3,c#4,e4]@3 ~, ~@4 c#3@7 ~@5, ~@18 [c#4,g#4] ~@13]/2", // A B C#m7 E Bsus4 F#m7 C#5
  W: "[[c#3,g#3,c#4,e4,g#4]@2 ~@2 [b2,f#3,b3,d#4,f#4]@2 ~@2 [a3,c#4,e4,g#4]@5 ~ [a3,c#4,e4,g#4]@9 ~ [a3,c#4,e4,g#4]@5 ~ [c#4,e4,g#4]@9 ~ [c#3,g#3,c#4,f#4]@6 [c#3,g#3,c#4,f#4]@9 ~ [c#3,g#3,c#4,f4]@6 [c#3,g#3,c#4,f4]@2, ~@30 a3@7 ~@27]/4", // C#m B Amaj7 C#m C#sus4 C#
  X: "[c#4@2 d#4@2 b2@2 c#4@4 d#4@2 e4@2 a3@2 ~@2 b3@2 a2@2 [c3,e3,g3,c4]@7 ~ [c3,e3,g3,c4]@5 ~ [c3,e3,g3,c4] ~ [d3,f#3,a3,d4]@7 ~ [d3,f#3,a3,d4]@5 ~ [d3,f#3,a3,d4] ~ [e3,g3,c4,e4]@7 ~ [e3,g3,c4,e4]@5 ~ [e3,g3,c4,e4] ~ [f#3,a3,d4,f#4]@7 ~ [f#3,a3,d4,f#4]@5 ~ [f#3,a3,d4,f#4]@3 ~ [g3,b3,d4,g4]@6 [d3,a3,d4,f#4]@8 [e3,b3,e4,g4]@8 [c3,c4,e4,g4]@10 g4@2 a4@2 b4@2 d4@2, [f#3,b3]@3 ~@57 [g3,b3]@4, b2@2 ~ [c#3,e3,g#3]@4 [a2,e3,c#4]@3 [c#3,a3]@2 ~@48 d4@3 ~]/8", // C D C D G D Em C …
  Y: "[e4 f#4 d3 e4@2 f#4 g4 c4 ~ d4 [c3,e3,c4]@2 [g3,b3,d4,g4]@3 [d3,a3,d4,f#4]@4 [e3,b3,e4,g4]@4 [c3,c4,e4,g4]@5 g4 a4 b4 d4, [a3,d4]@3 ~@25 [g3,b3]@4, d3@2 ~ [e3,g3,b3]@4 [c3,g3,e4]@3 ~@18 d4@3 ~]/4", // C G D Em C D5 G Em …
  Z: "[e4 f#4 d3 e4@2 f#4 g4 c4 ~ d4 [c3,e3,c4]@2 [g3,b3,d4,g4]@3 [d3,a3,d4,f#4]@4 [e3,b3,e4,g4]@4 [c3,c4,e4,g4]@5 [e3,e4,g4,b4]@3 [d3,d4,g4,b4]@4 [c#3,c#4,g4,a#4]@4 [c3,c4,e4,g4]@5 g4 a4 b4 d4, [a3,d4]@3 ~@41 [g3,b3]@4, d3@2 ~ [e3,g3,b3]@4 [c3,g3,e4]@3 ~@34 d4@3 ~]/6", // C G D Em C Em G Gdim …
  AA: "e4 f#4 d3 e4@2 f#4 g4 [c3,g3,c4,e4], [a3,d4]@3 ~@5, d3@2 ~ [e3,g3,b3]@4 ~", // C D5 Em
  AB: "[~@2 d4@2 [c3,e3,c4]@4 ~@2 [d4,d5]@2 [f#4,f#5]@2 [d4,d5] ~ [g4,g5]@2 [d4,d5]@2 [f#4,f#5]@2 [d4,d5]@3 ~ [d4,d5]@2 [f#4,f#5]@2 [d4,d5]@2 [g4,g5]@2 [d4,d5]@2 [f#4,f#5]@2 [d4,d5]@3 ~ [d4,d5]@2 [f#4,f#5]@2 [d4,d5]@2 [g4,g5]@2 [d4,d5]@2 [f#4,f#5]@2 [d4,d5]@3 ~ [d4,d5]@2 [f#4,f#5]@2 [d4,d5]@2 [g4,g5]@2 [d4,d5]@2 [f#4,f#5]@2 ~@4 [d4,d5]@2 [f#4,f#5]@2 [d4,d5] ~ [g4,g5]@2 [d4,d5]@2 [f#4,f#5]@2 [d4,d5]@4 [d4,d5]@2 [f#4,f#5]@2 [d4,d5]@2, ~@4 [d3,f#3,a3]@7 [c3,f#3,a3]@8 [b2,f#3,a3]@8 [c3,f#3,a3]@8 [d4,d5]@2 ~@11, ~@36 [d3,f#3,a3]@7 [d3,f#3,a3]@5]/6", // C D F# D G D F# D …
  AC: "[[g4,g5] [d4,d5] [f#4,f#5] [d4,d5] [g3,b3,d4,g4]@3 [d3,a3,d4,f#4]@4 [e3,b3,e4,g4]@4 [c3,c4,e4,g4]@5 g4 a4 b4 d4, ~@5 [g3,b3], ~@20 d4@3 ~]/3", // G D F# D G D Em C …
  AD: "[e4 f#4 d3 e4@2 f#4 g4 c4 ~ d4 [c3,e3,c4]@2 [g2,g3,b3,g4]@12, [a3,d4] ~@3 d4 ~@3, d3@2 ~ [e3,g3,b3]@4 [c3,g3,e4]@3 ~@14]/3", // C G D5 Em C
})).s("gm_piano").gain(0.5).pan(0.7)

// chords · rock organ
const rock_organ = note(`<
  ~@8 A@4 B@2 C@5 ~@8 D ~@3 E@8 F@3 G@8 H@4 G@4 I@3 J K L@2 M ~@2 N D ~@3 E@8 O@3 G@8 H@4 P@6 Q@8 R@4 S@3 ~@3 T U Q@14
  V@3
>`.pickRestart({
  A: "[b5,e6]/2", B: "[[b4,e5]@4 [b4,d#5]@3 [c#5,e5]@4 [c#5,e5]@5]/2",
  C: "[[b4,e5]@8 [b4,d#5]@6 [c#5,e5]@8 [e4,a4]@27 ~ [e6,f#6] [a5,b5,c#6,d6] [e5,f#5,g#5] [b4,c#5,d5] [e4,f#4,g#4,a4] [c#4,d4] ~@7 [e5,b5]@17]/5", // E5 B C#m A5 Esus2 Dmaj7 E Bm …
  D: "[f#5,c#6]!2 c#5!2 [f#5,c#6]!2 c#5!2 ~@8", // F#5
  E: "[~ [c#6,g#6]@4 [c#6,f#6]@2 [c#6,f6]@2 [c#6,g#6]@4 [c#6,f#6]@2 [c#6,f6]]/8", // C#5 F#5 C# C#5 F#5 C#
  F: "[~@8 [a5,e6]@5 ~ [a5,c#6]@9 ~ [f#5,e6]@5 ~ [f#5,d#6]@9 ~ [b4,e5]@8]/3", // A5 A F#7 D#m E5
  G: "[[b4,d#5]@3 [c#5,e5]@4 [c#5,e5]@5 [b4,e5]@4]/2", // B C#m E5
  H: "[[b4,d#5]@3 [c#5,e5]@4 [c#5,e5]@5 [c#5,e5]@3 [b4,e5]@4 [a#4,e5]@4 [a4,e5]@5 [b4,e5]@4]/4", // B C#m E5 A#dim A5 E5
  I: "[[b4,d#5]@6 [c#5,e5]@8 [c#5,e5]@10 [b4,f#5]@14 [b4,f#5]@8 [e4,f#4] [g4,a4,b4,c#5]]/3", // B C#m B5 Esus2 A7
  J: "[d5,e5,f#5,g5,a5] b5@4 [g5,a5] [c#5,d5,e5,f#5] b4 ~@4 b5 [g5,a5] b5 [g5,a5]", // D Gsus2 Dmaj7 Gsus2
  K: "b5 [g5,a5] b5 [g5,a5] b5 [g5,a5] b5 [g5,a5] b5 [g5,a5] b5 [g5,a5] b5 [g5,a5] b5 [g5,a5]", // Gsus2
  L: "[b5 [g5,a5] b5 [g5,a5] b5 [g5,a5] b5 [g5,a5] ~@4 [d5,a5]!2 b4 [d5,a5] [d5,a5] b4 [d5,a5]!2 [b4,a#5] [d5,a5,b5] [d5,a5] b4 [d5,g5]!2 b4 [d5,g5]!2 b4 d5!2, ~@9 e6@11 ~@10 g5@2, ~@18 d6@2 ~@2 d6@2 b5@7 ~]/2", // Gsus2 D5 Bmaj7 Bm7 D5 G5
  M: "[e5,a5,c#6]@3 ~ [f#5,b5,d#6]@3 ~@9", N: "~@15 c#5",
  O: "[~@8 [a5,e6]@5 ~ [a5,c#6]@9 ~ [a5,e6]@5 ~ [b5,d#6]@9 ~ [b4,e5]@8]/3", // A5 A A5 B E5
  P: "[[b4,d#5]@6 [c#5,e5]@8 [c#5,e5]@8 [c6,e6]@15 ~ [a5,d6]@15 ~ [g5,c6]@15 ~ [f#5,d6]@15 ~@3 [d5,g5]@8]/6", // B C#m C D5 C5 D G5
  Q: "[[d5,f#5]@3 [e5,g5]@4 [e5,g5]@5 [d5,g5]@4]/2", // D Em G5
  R: "[[d5,f#5]@3 [e5,g5]@4 [e5,g5]@5 [e5,g5]@3 [d5,g5]@4 [c#5,g5]@4 [c5,g5]@5 [d5,g5]@4]/4", // D Em G5 C#dim C5 G5
  S: "[[d5,f#5]@3 [e5,g5]@4 [e5,g5]@5 [d5,a5]@7 [d5,a5]@4 ~]/3", T: "~@14 [g4,a4] [a#4,c5,d5,e5]",
  U: "[f5,g5,a5,a#5,c6] d6@4 [a#5,c6] [e5,f5,g5,a5] d5 [d5,g5]@8", V: "[[d5,f#5]@3 [e5,g5]@4 [e5,g5]@5 [d5,g5]@12]/3",
})).s("gm_rock_organ").gain(0.4).pan(0.3)

// chords · synth brass 1
const synth_brass_1 = note(`<
  ~@19 A B C D E F G D H I G D J@2 K@2 J@2 K@2 ~@26 A L G M N L G M J@2 K@2 J@2 K@2 ~@58
>`.pickRestart({
  A: "~@8 [g#3,b3,c#4]@4 [b3,c#4,g#4]@3 ~", B: "~ [b3,c#4,g#4] ~ [f#3,b3,f#4]@4 ~",
  C: "[a3,c#4,e4] ~ [a3,c#4,e4]@3 ~ [g#3,b3,d#4]@2 ~@4 [g#3,b3,d#4]@3 ~", D: "~ [g#3,b3,d#4] ~ [b3,e4,g#4]@4 ~",
  E: "[f#4,c#5,c#6]@2 ~@2 [f#4,c#5,c#6]@2 ~@2 [g#3,b3,c#4]@4 [g#3,b3,c#4,g#4]@3 ~", // F#5 C#7
  F: "~@2 [g#3,b3,c#4,g#4]@2 ~@2 [f#3,b3,f#4]@6 [a3,c#4,e4]@3 ~", // C#7 B5 A
  G: "~@2 [a3,c#4,e4]@3 ~ [g#3,b3,d#4]@2 ~@4 [g#3,b3,d#4]@3 ~", // A G#m
  H: "[f#4,c#5,c#6]@2 ~@2 [f#4,c#5,c#6]@2 ~@2 [g#3,b3,c#4]@4 [b3,c#4,g#4]@3 ~", // F#5 C#7
  I: "~@2 [b3,c#4,g#4]@2 ~@2 [f#3,b3,f#4]@6 [a3,c#4,e4]@3 ~", J: "[c#4 ~ d#4 ~ e4 ~ b4@2 g#4@24]/2",
  K: "[c#4 d#4 e4 b4 f#4@7 f4@5]/2", L: "~@2 [c#4,g#4] ~@3 [f#3,b3,f#4]@6 [a3,c#4,e4]@3 ~, ~ b3 ~@6",
  M: "~@2 [b3,d#4] ~@3 [b3,e4,g#4]@8 ~@2, ~ g#3 ~@6", // B E
  N: "[b3,d#4,f#4,c#5,c#6]@2 ~@2 [c4,d#4,f#4,c#5,c#6]@2 ~@2 [g#3,b3,c#4]@4 [b3,c#4,g#4]@3 ~", // B Cdim C#7
})).s("gm_synth_brass_1").gain(0.38).pan(0.3)

// drums · kick
const kick = s("bd").struct(`<
  ~@7 A B@7 C ~ D E@2 F@3 G F@3 G F@3 G E@9 H I J I J I J I J I J I J I J I J I K L F@4 K F@3 G F@3 G E@9 H I J I J I J
  I J I J I J I M@4 N I J I J I J I J I J I J I K L@3 E O@2 I J I J I J I J I J I J I J I P ~
>`.pickRestart({
  A: "~@3 x", B: "x!4", C: "x ~ x!2 ~@4", D: "~@4 x ~@2 x", E: "~@3 x ~@2 x ~ x ~@5 x ~", F: "~ x ~ x!2 ~@2 x",
  G: "x ~@2 x ~@2 x ~ x ~@5 x ~", H: "~@3 x ~@4 x ~ x ~@3 x ~", I: "x ~@2 x ~@2 x ~ x ~ x ~@3 x ~", J: "x!2 ~ x!3 ~ x",
  K: "x!2 ~ x!2 ~@2 x", L: "~@3 x ~@2 x ~@3 x ~@3 x ~", M: "x!2 ~ x ~ x ~ x", N: "x!2 ~@2 x!2 ~ x",
  O: "~@3 x ~@2 x ~ x ~ x ~@3 x ~", P: "x!2 ~ x!2 ~@3",
})).gain(0.63)

// drums · snare
const snare = s("sd").struct(`<
  ~@17 A B C B@3 D B@3 D B@3 E B@3 E B@3 E B F B@11 G B@5 H B C B D B C B@3 D B@3 D B@3 E B@3 E B F B@11 G B@5 I B@11 G
  B H B@4 J K B@15 L ~
>`.pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@4 x ~ x!2 ~@4 x ~@3", D: "~ x ~@2 x ~@7 x ~@3", E: "~ x ~@2 x ~ x!2 ~@4 x ~@3",
  F: "~ x ~@2 x!4 ~@4 x ~@3", G: "~@4 x!4 ~@4 x ~@3", H: "x!5 ~ x!2 ~@4 x ~@3", I: "~ x ~ x!5 ~@4 x ~@3",
  J: "~@4 x ~@5 x!3 ~@3", K: "~@4 x!2 ~@6 x ~@3", L: "~ x ~@2 x!4 ~@8",
})).gain(0.63)

// drums · low tom
// … 43 more lines

More by Raf