Strudelify
Sei cover art

Biagio Antonacci

Sei

Biagio Antonacci

KeyF majorTempo72 bpm
0:00/0:00
// Sei — Biagio Antonacci
// 72 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 90 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(72/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(`<
  ~@12 A B C D E F G H I J K L M N O P Q P R S R S R S R T R S R U E F E F G V W X G H I J K L M N P Q P R S R S R S R T
  R S R S R S R T R S R S R S R Y@2 ~@4
>`.pickRestart({
  A: "c2@41 ~ g2@3 a2@3", B: "c3@36 c2@11 ~", C: "g1@39 ~@3 g1@2 ~ a1@3", D: "bb1@8 ~ a1@8 ~ g1@30",
  E: "f1@8 ~ bb1@12 ~@3", F: "f1@17 ~ bb1@18 ~@12", G: "f1@17 ~ bb1@25 ~@5", H: "f1@7 ~@2 f1@14 ~",
  I: "c2@16 ~@2 c2@22 ~@2 g1@3 a1@3", J: "c2@15 ~@3 c2@29 ~", K: "g1@7 d2", L: "g2@11 ~ g2@4", M: "c2@41 ~ g1@3 a1@3",
  N: "c2@17 ~ c2@29 ~", O: "g1@13 ~ g1 a1", P: "bb1@8 ~ a1@7 ~@2 g1@29 ~", Q: "bb1@8 ~ a1@7 ~@2 g1@21 ~@3 g1@3 a1@2 ~",
  R: "bb1@19 ~@2 bb1@2 ~ f1@18 ~@3 f1@3", S: "c2@16 ~@2 g1@2 ~ a1@2 ~ c2@2 ~ a1 ~@2 c2@6 g1@2 ~ a1@2 ~ c2@6",
  T: "c2@16 ~@2 g1@2 ~ a1@2 ~ c2@2 ~ e1@6 f1@6 g1@6 a1@3", U: "c2", V: "f1@7 ~@2 bb1@14 ~", W: "d2@8 ~ bb1@12 ~@3",
  X: "d2@17 ~ bb1@18 ~@12", Y: "c2/2",
})).s("gm_fretless_bass").gain(0.8)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@2 B C D@2 E@2 F@2 G@2 H I J K F@2 G@2 L I J M N I J O P@2 Q R Q R S R S R Q R Q R T@2 U@2 E@2 V@2 W@2 H I J X N I ~
  P K S R Q R Q R Q R S R S R Q R Q R Q R S R S R Q N Y Z ~ AA@2
>`.pickRestart({
  A: "[[f2,c3,f3,a3,c4,f4]@6 f3@3 [f3,c4,f4]@3 [f3,c4,f4]@3 [f3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 f4@3 f4@2 ~ [d3,f4]@3 [d3,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [bb2,d3,a3,c4,f4]@3 f3@3 f3@6 [c4,f4]@3 [c4,f4]@3 [f2,c3,f3,a3,c4,f4]@3 [d3,a3,f4]@3 [d3,a3,f4]@6 d3@2 ~ d3@3 [bb2,d3,a3,c4,f4]@3 [bb2,d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [f2,bb2,d3,a3,c4,f4]@3, ~@9 [f2,c3]@8 ~ bb2@8 ~@13 bb2@5 ~@4 [c3,a3,c4,f4]@9 ~@30 bb2@6 ~@3, ~@9 a3@5 ~ f2@12 [f2,bb2,a3,c4]@6 [f2,bb2]@6 f2@18 [f2,c3,f3,a3]@6 ~@3 [f2,bb2,c4]@9 [f2,bb2,a3,c4,f4]@6 f2@12 ~@3, ~@7 [d3,a3,c4]@2 ~@23]/2", // F F5 F Dm7 Dm Dm7 Bbmaj7 F5 …
  B: "f3@3 f3@6 [c4,f4]@3 [c4,f4]@3 [f2,c3,f3,a3,c4,f4]@3 [d3,a3,f4]@3 [d3,a3,f4]@5 ~ f4@3 f4@2 ~ [f2,bb2,d3,a3,c4,f4]@3 [f2,bb2,d3,a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@3 [f2,bb2,d3,a3,c4,f4]@2 ~, [f2,c3,a3,c4,f4]@3 [f2,c3,f3,a3]@2 ~ [f2,bb2,c4]@3 [f2,bb2,d3,a3,c4]@2 ~@2 [f2,bb2,d3]@2 ~", // F5 F Dm Dm7 F Dm7 F Fsus4 …
  C: "[f3,a3]@3 [f3,a3]@6 [f3,a3,c4,f4]@3 [f3,a3,c4,f4]@3 [c3,f3,a3,c4,f4]@3 [d3,a3,f4]@3 f4@3 f4@2 ~ [f2,bb2,d3,a3,c4,f4]@6 [bb2,d3,a3,c4,f4]@3 [bb2,d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [f2,bb2,d3,a3,c4,f4]@3, [f2,c3,c4,f4]@9 [f2,c3]@6 f2@12 ~@6 f2@6 [f2,bb2]@5 ~@4, ~@6 [bb2,c4]@3 ~@7, ~@7 [d3,a3]@2 ~@7", // F Dm Dm7 Bbmaj7 Dm7 F5 Bb5 Bbsus2 …
  D: "[~@6 f3@3 ~@3 [f3,c4,f4]@2 ~ [f3,a3,c4]@3 [d3,a3,c4,f4]@3 f4@3 f4@2 ~ [d3,f4]@3 [d3,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 ~@3 [d3,a3,c4,f4]@3 [bb2,d3,a3,c4,f4]@2 ~ f3@3 f3@5 ~ c4@3 [c4,f4]@3 [f2,c3,f3,a3,c4,f4]@2 ~ [a3,f4]@2 ~ [d3,a3]@5 ~ d3@2 d3@3 ~ [bb2,d3,a3,c4]@2 ~ c4@2 ~ [d3,a3,c4]@2 ~ [a3,c4,f4]@2 ~ [f2,bb2,d3,a3,c4]@2 ~, [f2,c3,f3,a3]@9 [c3,a3]@8 ~ bb2@8 ~@13 bb2@6 ~@2 c3@9 f4@4 ~@6 [bb2,c4]@9 ~@8 [bb2,d3,a3,f4]@3 ~ bb2@6 ~@3, ~ [c4,f4]@8 [f3,c4,f4]@3 ~@2 f4@3 ~@4 [d3,a3,c4]@6 ~@12 [d3,a3,c4,f4]@3 ~@6 [a3,c4,f4]@9 ~@8 d3@3 f4@6 f4@6 f4@3 ~@3 f4@3 d3@3 f4@3 ~, ~@10 f2@5 f2@12 [f2,bb2,a3,c4]@6 [f2,bb2]@6 ~ f2@17 [f2,c3,f3,a3]@6 ~@2 f2@10 [f2,bb2,a3,c4]@6 f2@12 ~@3]/2", // F5 F Dm7 Dm Dm7 Bbmaj7 F5 F …
  E: "[f3@3 f3@6 [c4,f4]@3 [c4,f4]@3 [f2,c3,f3,a3,c4,f4]@2 ~ [d3,a3,f4]@3 [d3,a3,f4]@5 ~ f4@3 f4@2 ~ [f2,bb2,d3,a3,c4]@2 ~ [d3,a3,c4,f4]@2 ~ [a3,c4]@2 ~ [c4,f4]@3 [f2,bb2,d3,a3,c4,f4]@2 ~ [f3,a3]@3 [f3,a3]@6 [f3,a3,c4,f4]@2 ~ [a3,c4,f4]@3 [c3,f3,a3,c4,f4]@2 ~ [a3,f4]@2 ~@4 f4@2 ~@2 f2@5 ~@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@2 ~ [f2,bb2,d3,a3,c4]@3, [f2,c3,a3,c4,f4]@9 [f2,c3,f3,a3]@6 ~@2 f2@10 [f2,bb2,d3,a3,c4]@6 ~@2 [f2,bb2]@4 [f2,bb2,d3]@6 ~@2 [f2,c3]@10 [f2,c3]@6 f2@12 ~@7 f2@5 [f2,bb2]@5 ~@4, ~@18 [bb2,c4]@9 ~@5 f4@3 ~@3 f4@3 a3@3 ~@4 [c4,f4]@9 ~@2 f3@3 ~@3 bb2@10 [bb2,d3,a3,c4,f4]@6 [bb2,d3,a3,c4,f4]@2 bb2@4 ~@9, ~@65 d3@3 f4 [d3,a3]@6 ~@21, ~@66 c4@9 ~@17 f4@4]/2", // F5 F Dm Dm7 Am F5 Dm7 F …
  F: "[~@6 f3@3 ~@3 [f3,c4,f4]@2 ~ [f3,a3,c4]@3 [d3,a3,c4,f4]@3 f4@3 f4@2 ~ [d3,f4]@3 [d3,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 ~@3 [d3,a3,c4,f4]@3 [bb2,d3,a3,c4,f4]@2 ~ f3@3 f3@5 ~ c4@3 [c4,f4]@3 [f2,c3,f3,a3,c4,f4]@2 ~ [a3,f4]@2 ~ [d3,a3]@5 ~ d3@2 d3@3 ~ [bb2,d3,a3,c4]@2 ~ c4@2 ~ [d3,a3,c4]@2 ~ [a3,c4,f4]@2 ~ [f2,bb2,d3,a3,c4]@2 ~, [f2,c3,f3,a3]@9 c3@8 ~ bb2@8 ~@13 bb2@6 ~@2 c3@9 ~@9 d3@3 ~@21 d3@3 ~@4, ~ [c4,f4]@8 a3@5 f4@4 ~@38 f4@4 ~@8 f4@6 f4@6 f4@3 ~@3 f4@3 ~@3 f4@3 ~, ~@9 [f3,c4,f4]@3 ~@9 [d3,a3,c4]@6 ~@12 [d3,a3,c4,f4]@3 ~@6 [a3,c4,f4]@9 ~@9 [bb2,c4]@9 ~@8 [bb2,d3,a3,f4]@3 ~ bb2@6 ~@3, ~@10 f2@5 f2@12 [f2,bb2,a3,c4]@6 [f2,bb2]@6 ~ f2@17 [f2,c3,f3,a3]@6 ~@2 f2@10 [f2,bb2,a3,c4]@6 f2@12 ~@3]/2", // F5 F Dm7 Dm Dm7 Bbmaj7 F5 F …
  G: "[f3@3 f3@6 [c4,f4]@3 [c4,f4]@3 [f2,c3,f3,a3,c4,f4]@2 ~ [d3,a3,f4]@3 [d3,a3,f4]@5 ~ f4@3 f4@2 ~ [f2,bb2,d3,a3,c4]@2 ~ [d3,a3,c4,f4]@2 ~ [a3,c4]@2 ~ [c4,f4]@3 [f2,bb2,d3,a3,c4,f4]@2 ~ [f3,a3]@3 [f3,a3]@6 [f3,a3,c4,f4]@2 ~ [a3,c4,f4]@3 [c3,f3,a3,c4,f4]@2 ~ [a3,f4]@2 ~@4 f4@2 ~@2 f2@5 ~@3 [f3,a3,c4,f4]@3 [f3,a3,c4,f4]@3 [f3,a3,c4,f4]@3 [f2,c3,f3,a3,c4,f4]@3, [f2,c3,a3,c4,f4]@9 [f2,c3,f3,a3]@6 ~@2 f2@10 [f2,bb2,d3,a3,c4]@6 ~@2 [f2,bb2]@4 [f2,bb2,d3]@6 ~@2 [f2,c3]@10 [f2,c3]@6 f2@12 ~@7 f2@5 [f2,c3]@5 ~@4, ~@18 [bb2,c4]@9 ~@5 f4@3 ~@3 f4@3 a3@3 ~@4 [c4,f4]@9 ~@2 f3@3 ~@3 c3@10 [c3,f3,a3,c4,f4]@6 [c3,f3,a3,c4,f4]@2 c3@4 ~@9, ~@65 f3@3 f4 [f3,a3]@6 ~@21, ~@22 c4@3 ~@7]/2", // F5 F Dm Dm7 Am F5 Dm7 F …
  H: "~ g4@2 [g3,c4,e4,g4]@3 [g3,c4,e4,g4]@3 [c3,g3,c4,e4,g4]@3 [c3,g3,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c3,g3]@3 g3@5 ~ g3@2 ~ g3@3 [c3,g3,c4,d4,g4]@3 [c3,g3,c4,d4]@3 ~ c3@2 [c4,d4,g4]@2 ~ [c4,d4,g4]@3, [c3,g3,c4,f4]@3 c3@5 ~@10 [c4,d4,g4]@8 ~ [c3,c4,d4,g4]@6 ~@3 g4@2 ~ [g3,c4,d4,g4]@3 [c3,g3]@6", // C C5 Csus2 Csus4 Csus2 Gsus4 C5
  I: "[c3,g3,c4,f4,g4]@3 [c3,g3,c4]@3 [c3,g3,c4]@3 ~ c3@2 c3@2 ~ [c3,g3]@3 [c3,g3,c4,d4,g4]@9 ~ [c3,g3]@2 [c3,g3]@3 [c3,g3,c4,d4,g4]@3 ~ g4@2 ~ c3@2 ~ g4@2 [c4,d4,g4]@3, ~@3 [e4,g4]@6 [c4,e4,g4]@9 ~@9 [c4,d4,g4]@6 ~@6 [g3,c4,d4,g4]@3 [c4,d4]@2 ~@4, ~@9 g3@5 ~@22 [c3,g3,c4,d4]@3 ~@3 [c3,g3]@6", // Csus4 C5 Csus2 C5 Csus2 Em C Csus2 …
  J: "~ [d4,g4]@5 ~ [d4,g4]@2 ~ g2@5 ~ [g2,f3,bb3]@2 ~ [bb3,d4,g4]@8 ~ [g2,f3]@5 ~ [g2,f3]@2 ~ [d4,g4]@2 ~ [g2,f3]@2 ~ g4@2 [f3,bb3,g4]@3, [g2,f3,bb3]@2 [g2,f3,bb3] [f3,bb3,d4,g4]@2 [d4,g4] [g2,f3]@3 g4@3 ~ [bb3,d4,g4] [f3,bb3] ~, ~@27 [bb3,d4]@5 ~ [bb3,d4]@3 [g2,f3,bb3]@3 ~@3 g2@5 ~, ~@43 d4@5", // G5 Gm7 Gm G7 G5 G7 Gm7 G5 …
  K: "~ f4@2 [f3,bb3,d4,f4]@3 [f3,bb3,d4,f4]@3 [a2,f3,a3,c4,f4]@3 [a2,f3,a3,c4,f4]@3 [a2,a3,c4,f4]@3 [g2,f3]@3 f3@5 ~ f3@2 ~ f3@3 [g2,f3,bb3,d4,g4]@3 [g2,f3,bb3]@3 ~ g2@2 [bb3,d4,g4]@3 [bb3,d4,g4]@3, [bb2,f3,bb3,d4]@3 bb2@5 ~@10 [bb3,d4,g4]@8 ~ [g2,bb3,d4,g4]@6 ~@3 [d4,g4]@2 ~ [f3,bb3,d4,g4]@3 [g2,f3]@6", // Bb F G7 Gm7 Gm Bb Gm G5 …
  L: "~ g4@2 [g3,c4,e4,g4]@3 [g3,c4,e4,g4]@3 [c3,g3,c4,e4,g4]@3 [c3,g3,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c3,g3]@3 g3@5 ~ g3@2 ~ g3@3 [c3,g3,c4,d4,g4]@3 [c3,g3,c4]@3 ~ c3@2 [c4,d4,g4]@3 [c4,d4,g4]@3, [c3,g3,c4,f4]@3 c3@5 ~@10 [c4,d4,g4]@8 ~ [c3,c4,d4,g4]@6 ~@3 [d4,g4]@2 ~ [g3,c4,d4,g4]@3 [c3,g3]@6", // C C5 Csus2 C5 Csus2 Csus4 Csus2 G5 …
  M: "~ g4@2 [f3,bb3,d4,g4]@3 [f3,bb3,d4,g4]@3 [g2,f3,bb3,d4,g4]@3 [g2,f3,bb3,d4,g4]@3 [g2,bb3,d4,g4]@3 [g2,f3]@3 f3@5 ~ f3@2 ~ f3@3 [g2,f3,bb3,d4,g4]@3 [g2,f3,bb3]@3 ~ g2@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@3, [g2,f3,bb3,d4]@3 g2@5 ~@10 [bb3,d4,g4]@8 ~ [g2,bb3,d4,g4]@6 ~@3 [d4,g4]@2 ~ [f3,bb3,d4,g4]@3 [g2,f3]@6", // Gm7 Gm G7 Gm7 Gm Gm7 Gm G5 …
  N: "~ g4@2 [g3,c4,e4,g4]@3 [g3,c4,e4,g4]@3 [c3,g3,c4,e4,g4]@3 [c3,g3,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c3,g3]@3 g3@5 ~ g3@2 ~ g3@3 [c3,g3,c4,d4,g4]@3 [c3,g3,c4]@3 ~ c3@2 [c4,d4,g4]@2 ~ [c4,d4,g4]@3, [c3,g3,c4,f4]@3 c3@5 ~@10 [c4,d4,g4]@8 ~ [c3,c4,d4,g4]@6 ~@3 [d4,g4]@2 ~ [g3,c4,d4,g4]@3 [c3,g3]@6", // C C5 Csus2 C5 Csus2 Csus4 Csus2 G5 …
  O: "~ f4@2 [f3,bb3,d4,f4]@3 [f3,bb3,d4,f4]@3 [a2,f3,a3,c4,f4]@3 [a2,f3,a3,c4,f4]@3 [a2,a3,c4,f4]@3 [g2,f3]@3 f3@5 ~ f3@2 ~ f3@3 [g2,f3,bb3,d4,g4]@3 [g2,f3,bb3,d4]@3 ~ g2@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@3, [bb2,f3,bb3,d4]@3 bb2@5 ~@10 [bb3,d4,g4]@8 ~ [g2,bb3,d4,g4]@6 ~@3 g4@2 ~ [f3,bb3,d4,g4]@3 [g2,f3]@6", // Bb F G7 Gm7 Gm Bb Gm Gm7 …
  P: "~ f4@2 [f3,bb3,d4,f4]@3 [f3,bb3,d4,f4]@3 [a2,f3,a3,c4,f4]@3 [a2,f3,a3,c4,f4]@3 [a2,a3,c4,f4]@3 [g2,f3]@3 f3@5 ~ f3@2 ~ f3@3 [g2,f3,bb3,d4,g4]@3 [g2,f3,bb3]@3 ~ g2@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@3, [bb2,f3,bb3,d4]@3 bb2@5 ~@10 [bb3,d4,g4]@8 ~ [g2,bb3,d4,g4]@6 ~@3 [d4,g4]@2 ~ [f3,bb3,d4,g4]@3 [g2,f3]@6", // Bb F G7 Gm7 Gm Bb Gm G5 …
  Q: "~ f4@2 ~ [f3,bb3]@2 ~@3 f4@3 ~ [f3,bb3,d4,f4]@6 [f3,bb3,d4]@2 ~ f3@2 ~ [c4,f4]@2 [a3,c4,f4]@3 ~ [c4,f4]@5 [f3,a3,c4,f4]@3 ~ f3@2 ~ f4@2 ~ [f3,a3]@2, [f3,bb3]@3 f4@4 [bb3,d4]@6 ~@8 [bb3,d4,f4]@3 ~@15 [a3,c4,f4]@3 ~@3 [c4,f4]@3, ~ d4@5 f3@6 ~@12 [f3,a3]@3 f3@2 ~ [f3,a3]@6 ~@6 [f3,a3,c4]@3 ~@3", // Bb5 Bb F5 F F5 F Bb5 Bb …
  R: "[c3,g3,c4,e4]@6 ~ [g3,c4,e4]@3 [c3,g3,c4,e4]@2 ~ [c4,e4]@5 ~ [c4,e4]@2 ~ c3@2 ~ e4@2 [c3,g3,c4,e4]@3 [c3,g3,c4,e4]@6 ~ [c4,e4]@2 [c3,g3,c4,e4]@3 [c3,g3,c4,e4]@6, ~@2 c3 ~ [c3,g3]@2 [c3,g3] [g3,c4,e4] [c3,g3,c4] ~@3 [c3,g3] ~@3", // C C5 C C5
  S: "~ f4@2 ~ [f3,bb3]@2 ~@3 f4@3 ~ [f3,bb3,d4,f4]@6 [f3,bb3,d4]@2 ~ f3@2 ~ [c4,f4]@2 [f3,a3,c4,f4]@3 ~ [c4,f4]@5 [f3,a3,c4,f4]@3 ~ f3@2 ~ f4@2 ~ [f3,a3]@2, [f3,bb3]@3 f4@4 [bb3,d4]@6 ~@8 [bb3,d4,f4]@3 ~@15 [a3,c4,f4]@3 ~@3 [c4,f4]@3, ~ d4@5 f3@6 ~@12 [f3,a3]@3 ~@3 [f3,a3]@6 ~@6 [f3,a3,c4]@3 ~@3", // Bb5 Bb F5 F F5 F Bb5 Bb …
  T: "[~@6 f3@3 ~@3 [f3,c4,f4]@2 ~ [f3,a3,c4]@3 [d3,a3,c4,f4]@3 f4@3 f4@2 ~ [d3,f4]@3 [d3,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 ~@3 [d3,a3,c4,f4]@3 [bb2,d3,a3,c4,f4]@2 ~ f3@3 f3@5 ~ c4@3 [c4,f4]@3 [f2,c3,f3,a3,c4,f4]@2 ~ [a3,f4]@2 ~ [d3,a3]@5 ~ d3@2 d3@3 ~ [bb2,d3,a3,c4]@2 ~ c4@2 ~ [d3,a3,c4]@2 ~ [a3,c4,f4]@2 ~ [f2,bb2,d3,a3,c4]@2 ~, [f2,c3,f3,a3]@9 c3@8 ~ bb2@8 ~@13 bb2@6 ~@2 c3@9 ~@9 d3@3 ~@21 d3@3 ~@4, ~ [c4,f4]@8 a3@5 f4@3 ~@39 f4@4 ~@8 f4@6 f4@6 f4@3 ~@3 f4@3 ~@3 f4@3 ~, ~@9 [f3,c4,f4]@3 ~@9 [d3,a3,c4]@6 ~@12 [d3,a3,c4,f4]@3 ~@6 [a3,c4,f4]@9 ~@9 [bb2,c4]@9 ~@8 [bb2,d3,a3,f4]@3 ~ bb2@6 ~@3, ~@10 f2@5 f2@12 [f2,bb2,a3,c4]@6 [f2,bb2]@6 ~ f2@17 [f2,c3,f3,a3]@6 ~@2 f2@10 [f2,bb2,a3,c4]@6 f2@12 ~@3]/2", // F5 F Dm7 Dm Dm7 Bbmaj7 F5 F …
  U: "[c4 ~@5 f3@3 ~@3 [f3,c4,f4]@2 ~ [f3,a3,c4]@3 [d3,a3,c4,f4]@3 f4@3 f4@2 ~ [d3,f4]@3 [d3,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 ~@3 [d3,a3,c4,f4]@3 [bb2,d3,a3,c4,f4]@2 ~ f3@3 f3@5 ~ c4@3 [c4,f4]@3 [f2,c3,f3,a3,c4,f4]@2 ~ [a3,f4]@2 ~ [d3,a3]@5 ~ d3@2 d3@3 ~ [bb2,d3,a3,c4]@2 ~ c4@2 ~ [d3,a3,c4]@2 ~ [a3,c4,f4]@2 ~ [f2,bb2,d3,a3,c4]@2 ~, [f2,c3,f3,a3]@9 [c3,a3]@8 ~ bb2@8 ~@13 bb2@6 ~@2 c3@9 f4@4 ~@6 [bb2,c4]@9 ~@8 [bb2,d3,a3,f4]@3 ~ bb2@6 ~@3, ~ [c4,f4]@8 [f3,c4,f4]@3 ~@2 f4@3 ~@4 [d3,a3,c4]@6 ~@12 [d3,a3,c4,f4]@3 ~@6 [a3,c4,f4]@9 ~@8 d3@3 f4@6 f4@6 f4@3 ~@3 f4@3 d3@3 f4@3 ~, ~@10 f2@5 f2@12 [f2,bb2,a3,c4]@6 [f2,bb2]@6 ~ f2@17 [f2,c3,f3,a3]@6 ~@2 f2@10 [f2,bb2,a3,c4]@6 f2@12 ~@3]/2", // F5 F Dm7 Dm Dm7 Bbmaj7 F5 F …
  V: "[~@6 f3@3 [f3,c4,f4]@3 [f3,c4,f4]@2 ~ [f3,a3,c4]@2 ~ [d3,a3,c4,f4]@3 f4@3 f4@2 ~ [d3,f4]@3 [d3,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@3 [bb2,d3,a3,c4,f4]@2 ~ f3@3 f3@5 ~ c4@3 [c4,f4]@3 [d3,f3,a3,c4,f4]@2 ~ [a3,f4]@2 ~ [d3,a3]@5 ~ d3@2 d3@3 ~ [bb2,d3,a3,c4]@2 ~ c4@2 ~ [d3,a3,c4]@2 ~ [a3,c4,f4]@2 ~ [bb2,d3,a3,c4]@3, [d3,f3,a3]@9 d3@8 ~ bb2@8 ~ [bb2,a3,c4]@6 bb2@6 bb2@6 ~@3 [a3,c4,f4]@9 [d3,f3,a3]@6 ~@2 d3@3 f4@6 f4@6 f4@3 ~@3 f4@3 d3@3 f4@3 ~, ~ [c4,f4]@8 a3@5 f4@4 ~@3 [d3,a3,c4]@6 ~@20 d3@9 f4@4 ~@6 [bb2,c4]@9 [bb2,a3,c4]@6 ~@2 [bb2,d3,a3,f4]@3 ~ bb2@6 ~@3]/2", // F5 F Dm7 Dm Dm7 Bbmaj7 F5 Dm7 …
  W: "[f3@3 f3@6 [c4,f4]@3 [c4,f4]@3 [c3,f3,a3,c4,f4]@3 [d3,a3,f4]@3 [d3,a3,f4]@5 ~ f4@3 f4@2 ~ [bb2,d3,a3,c4]@2 ~ [d3,a3,c4,f4]@2 ~ [a3,c4]@2 ~ [c4,f4]@3 [bb2,d3,a3,c4,f4]@2 ~ [f3,a3]@3 [f3,a3]@6 [f3,a3,c4,f4]@2 ~ [a3,c4,f4]@3 [c3,f3,a3,c4,f4]@2 ~ [a3,f4]@2 ~@4 f4@2 ~ [c3,f3,a3,c4,f4]@6 [c3,f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@3 [f3,a3,c4,f4]@3 [f3,a3,c4,f4]@3 [c3,f3,a3,c4,f4]@3, [c3,a3,c4,f4]@9 [c3,f3,a3]@6 ~@3 [bb2,c4]@9 [bb2,d3,a3,c4]@5 f4@3 bb2@3 f4@3 a3@3 ~@4 [c4,f4]@9 ~@2 f3@3 ~@3 f3@3 f4@4 ~@24, ~@39 [bb2,d3]@6 ~@2 c3@9 ~ c3@6 ~@2 c3@10 ~@8 c3@4 c3@5 ~@4, ~@22 c4@3 ~@7, ~@23 [f3,a3]@2 ~@7]/2", // F5 F Dm Bbmaj7 Dm7 Am F5 Bbmaj7 …
  X: "~ g4@2 [f3,bb3,d4,g4]@3 [f3,bb3,d4,g4]@3 [g2,f3,bb3,d4,g4]@3 [g2,f3,bb3,d4,g4]@3 [g2,bb3,d4,g4]@3 [g2,f3]@3 f3@5 ~ f3@2 ~ f3@3 [g2,f3,bb3,d4,g4]@3 [g2,f3,bb3]@3 ~ g2@2 [bb3,d4,g4]@3 [bb3,d4,g4]@3, [g2,f3,bb3,d4]@3 g2@5 ~@10 [bb3,d4,g4]@8 ~ [g2,bb3,d4,g4]@6 ~@3 [d4,g4]@2 ~ [f3,bb3,d4,g4]@3 [g2,f3]@6", // Gm7 Gm G7 Gm7 Gm Gm7 Gm G5 …
  Y: "[c3,g3,c4,f4]@6 [c3,g3,c4,e4]@5 ~@2 c3@4 ~ [c3,g3,c4]@9 ~ [c3,g3]@2 [c3,g3]@3 [c3,g3,c4]@5 ~ [c3,g3,c4]@9, ~@4 [g3,d4]@2 ~@3 c4@2 ~@5", // Csus4 C C5 G5
  Z: "~ d4@5 ~ d4@2 ~ g2@5 ~ [g2,f3,bb3]@2 ~ [bb3,d4]@29, [g2,f3,bb3]@6 [g2,f3,bb3]@3 [f3,bb3,d4]@6 d4@3 [g2,f3]@29 ~", // Gm7 Bb Gm7 Bb G7
  AA: "[~@13 f4@68 ~@15, ~@2 f2 c4@17 ~@4, ~@9 c3@68 ~@19, ~@5 f3@34 ~@9, ~@11 a3@68 ~@17]/2",
})).s("gm_acoustic_guitar_steel").gain(0.25)

// chords · piano
const piano = note(`<
  A B A B ~@5 C D ~ E F G@2 ~@4 E F H I J F K@2 L M ~@12 A B ~ N ~ O ~ O ~@2 P Q R S T@2 L@2 M U V W X U V W X U V W X U
  V W X U V W Y U V W J F Z AA ~@2
>`.pickRestart({
  A: "[a4,a5]@5 ~ [bb4,bb5]@5 ~ [c5,c6]@4 ~@2 [f5,f6]@10 ~@2 [e5,e6]@5 ~ [d5,d6]@4 ~@2 [c5,c6]@5 ~", // A Bb C F E D C
  B: "[a4,a5]@7 ~@17", C: "~@12 f5@25 ~@11", D: "c5@17 ~@7", E: "[c3,e4,g4,c5]@15 ~", F: "~ f5@5 e5@6 d5@6 c5@22 ~@8",
  G: "[[f4,bb4,d5]@77 ~@7 d5@6 c5@6, g2@61 ~@23 c5 ~@11]/2", H: "[g2,bb3,d4,f4]@7 ~",
  I: "[f4,g4,bb4,d5]@5 ~ [f4,g4,a4,c5]@2 ~ [f4,g4,a4,c5]@5 ~ [d4,f4,g4,bb4]@5 ~ [c4,d4,f4,a4]@6 [bb3,d4,f4,g4]@5 ~ [a3,bb3,d4,f4]@5 ~ [bb3,d4,f4,g4]@9", // Gm7 F Gm7 Dm7 Gm7 Bbmaj7 Gm7
  J: "[g4,c5]@36 ~@3 g4@3 c5@3 g4@2 ~, [c3,e4]@15 ~, ~@9 g3@2 ~", // C5 C
  K: "[[f4,bb4,d5]@48 [bb3,d4,f4]@8 ~ [a3,c4,f4]@8 ~ [g3,bb3,d4]@21 ~@6 d4@3, g2@61 ~@26 g3@9, ~@15 bb3]/2", // Bb F Gm
  L: "[bb3,d4,f4]@8 ~ [a3,c4,f4]@8 ~ [g3,bb3,d4]@21 ~@6 d4@3, ~@13 g3@3, ~@7 bb3", // Bb F Gm
  M: "[bb4,d5,f5]@8 ~ [a4,c5,f5]@8 ~ [g4,bb4,d5]@21 ~@6 d5@3, ~@13 g4@3, ~@7 bb4", N: "~@4 f5@2 ~ e5@2 ~@7",
  O: "~@30 f5@5 ~@7 d5@3 ~@3", P: "[c3,e4,g4,c5]@6 [e4,g4,c5]@6 ~@2 c4 d4, ~@3 c3@5",
  Q: "~ f5@5 [c4,e4,g4,e5]@6 [c4,e4,g4,d5]@6 [c4,e4,g4,c5]@22 ~@8, [c4,e4,g4] ~@7", // C
  R: "[d4,f4,bb4]@15 ~@3 [f4,bb4]@12 ~@3 f4@6 bb4@2 ~ [f4,g4,bb4,d5]@3 [f4,g4,bb4,d5]@3, [g2,d3,g3]@4 ~ [g2,d3,g3]@9 ~@2, ~@18 d4@7 ~@5 d4@11 ~@7", // Bb Bb5 Gm7 G5
  S: "[f4,g4,bb4,d5]@2 [f4,g4,a4,c5] [f4,g4,a4,c5]@2 [d4,f4,g4,bb4]@2 [c4,d4,f4,a4]@2 [bb3,d4,f4,g4]@2 [a3,bb3,d4,f4]@2 [bb3,d4,f4,g4]@3", // Gm7 F Gm7 Dm7 Gm7 Bbmaj7 Gm7
  T: "[[e4,g4,c5]@16 ~@14 g4@6 a4@5 ~ c5@4 ~@2 f5@5 ~ e5@6 d5@6 c5@4 ~@26, c3@9 [e4,g4,c5]@5 ~@34, ~ c3@2 ~]/2", // C
  U: "[f3,bb3,d4]@9 ~@3 [f3,bb3,d4]@6 bb2@3 [f3,bb3,d4]@3 f2@3 ~@3 f2@6 [f3,a3,c4]@6 f2@2 ~ [f3,a3,c4]@3, bb2@12 ~@15 [f3,a3,c4]@7 ~@14", // Bb F
  V: "~@12 [c4,e4]@6 c3@3 [a3,c4,f4]@3 c3@3 ~@9 [a3,c4,f4]@2 ~ [g3,c4,e4]@6 c3@3, c3@7 ~@8 c3@6 ~@3, ~@6 g3@13 ~@8 [a3,c4,f4]@6 ~@15", // C F C F
  W: "[bb3,d4]@8 ~@4 [f3,bb3,d4]@6 bb2@3 [f3,bb3,d4]@3 f2@3 ~@3 f2@6 [f3,a3,c4]@6 ~@3 [f3,a3,c4] ~@2, bb2@12 ~@30 f2@5 ~, f3@5 ~@22 [f3,a3,c4]@7 ~@14", // Bb F
  X: "[g3,c4] ~@2 [g3,c4,e4]@4 ~@2 [g3,c4,e4]@3 c3@3 ~@3 c3@3 [a3,c4,f4]@3 ~@3 [a3,c4,f4]@3 ~@3 [a3,c4,f4]@5 ~ c3@3 c3@5 ~, c3@10 ~@5 [g3,c4,e4]@5 ~@4 c3@5 ~ c3@6 ~@3 [g3,c4,e4]@5 ~@4, e4 ~@23", // C5 C F C
  Y: "[g3,c4] ~@2 [g3,c4,e4]@4 ~@2 [g3,c4,e4]@3 c3@3 ~@3 c3@3 [a3,c4,f4]@3 c3@3 [a3,c4,f4]@3 ~@3 [a3,c4,f4]@5 ~ c3@3 c3@5 ~, c3@10 ~@5 [g3,c4,e4]@5 ~@10 c3@6 ~@3 [g3,c4,e4]@5 ~@4, e4 ~@23", // C5 C F C
  Z: "[bb3,d4,f4]@9 ~ [bb3,d4,f4]@4 ~@2, g2@7 ~", AA: "~@3 [f4,g4,a4,c5]@2 ~@11",
})).s("gm_piano").gain(0.5).pan(0.3)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@9 A ~ B ~ C ~@7 C D ~@2 C ~@19 E ~ F@4 ~ G C ~@9 H ~@3 H ~@3 H ~@3 H ~@3 H ~@3 H ~ C I J@3
>`.pickRestart({
  A: "~@36 g4@3 a4@8 ~", B: "~@18 [g4,c5]@25 ~@5", C: "e5 ~@47", D: "~@42 [f4,g4,bb4,d5]@2 ~ [f4,g4,bb4,d5]@2 ~",
  E: "~@18 f4@4 ~@5 f4@3 d5@11 ~@7", F: "[~@36 e5@5 ~@4 c5@5 ~@46]/2", G: "e2@3 e2@5", H: "~@2 f3 ~@13",
  I: "~@14 [f4,g4,bb4,d5]!2", // Gm7
  J: "[[f4,g4,bb4,d5]@6 [f4,g4,a4,c5]@3 ~@7 [d4,f4,g4,bb4]@6 [c4,d4,f4,a4]@7 [bb3,d4,f4,g4]@7 [a3,bb3,d4,f4]@8 [bb3,d4,f4,g4]@11 ~@7 a4@64 ~@18, ~@55 f2@71 ~@18, ~@19 f3@23 ~@6, ~@59 c4@67 ~@18, ~@60 [f4,g4]@67 ~@17]/3", // Gm7 F Gm7 Dm7 Gm7 Bbmaj7 Gm7 Fsus2
})).s("gm_piano").gain(0.3).pan(0.3)

// chords · rock organ
const rock_organ = note(`<
  A B A B ~@11 C ~@12 D E F G F G F G F G F G F G A B ~@15 D E F G F G F G F G F G F G F G F G F G F G F G F G ~@5
>`.pickRestart({
  A: "[a4,a5] [bb4,bb5] [c5,c6] [f5,f6]@2 [e5,e6] [d5,d6] [c5,c6]", B: "a5 ~",
  C: "[bb5,d6,f6]@9 [a5,c6,f6]@9 [f5,bb5,d6]@18 c6@2 [a5,b5] [f5,g5] [c5,d5,e5] [a4,b4] [eb4,f4,g4] [c4,db4] [ab3,bb3] ~@3", // Bb F Bb Asus2 Fsus2 C Asus2 Eb …
  D: "~@14 [bb5,d6] [c6,e6]", E: "[bb5,d6,f6]@3 [a5,c6,e6]@3 [g5,bb5,d6]@10", F: "[bb5,d6,f6]@23 ~ [a5,c6,f6]@24",
  G: "[g5,c6,e6]@47 ~", // C
})).s("gm_rock_organ").gain(0.41).pan(0.7)

// chords · rock organ · soft notes
const rock_organ_soft = note("<~ A ~ A ~@39 A B@8 ~@38>".pickRestart({
  A: "a4 ~", B: "[a5,c6,f6]/2",
})).s("gm_rock_organ").gain(0.21).pan(0.7)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@26 A B C D E F E F G F G H G F G I ~@2 J K J L J K J ~@7 B C D E F E F G F G H G F E F G F G M N@2 O P G F G Q@2 ~@4
>`.pickRestart({
  A: "~@36 g3@5 ~ g2@2 ~ a2@2 ~", B: "[bb2,bb3]@3 [a2,a3]@3 [g2,g3]@8 ~@2",
  C: "[bb2,bb3,d4]@8 ~ [a2,a3,c4]@7 ~@2 [g2,g3,bb3]@21 ~@3 g2@3 a2@3", // Bb Am Gm
  D: "[bb2,bb3,d4,f4]@8 ~ [a2,a3,c4,e4]@7 ~@2 [g2,g3,bb3,d4]@24 ~@6", E: "[bb2,d3,f3] [f2,c3,f3]",
  F: "[c3,e3,g3]@6 g2 a2 c3 a2 c3@2 g2 a2 c3@2", G: "[bb2,d3,f3] [bb3,d4,f4] [f2,c3,f3]@2",
  H: "c3@16 ~@2 g2@2 ~ a2@2 ~ c3@2 ~ e2@5 ~ f2@5 ~ g2@5 ~ a2@3", I: "c3", J: "~@9 [c4,f4]@2 ~@37",
  K: "~@9 [c4,f4]@2 ~@7 [bb3,f4]@18 ~@12", // F5 Bb5
  L: "~@9 c4@3 c3@4 ~@2 [f3,bb3]@17 ~@13, f3@5 ~@19, ~ c4@2 ~@13, ~@6 f4@7 ~@35", // Bb5
  M: "c3@16 ~@2 g2@2 ~ a2@2 ~ c3@2 ~ e2@5 ~ f2@5 ~ g2@3 d5@3 e5@3",
  N: "[f5@6 e5@3 f5@6 e5@3 f5@12 f5@3 e5@3 f5@3 f5@3 g5@21 d4@6 c4@3 d4@3 ab3@2 ~ g3@4 ~@2 g3@3 c3@8 ~]/2",
  O: "~@3 d5@11 ~ a4@18 d4@5 ~ c4@2 ~ f4@4 ~@2", P: "g4@3 ~", Q: "[c3@3 ~]/2",
})).s("gm_distortion_guitar").gain(0.49)

// drums · kick
const kick = s("bd").struct(`<
  ~@16 A@14 B C B C B C@3 B C@2 D A@19 B C B C B C@2 E B C B C B C@2 E B C B C B C@2 D ~@5
>`.pickRestart({
  A: "x ~@2 x ~@2 x ~@9", B: "x ~@2 x ~@4 x ~@7", C: "x ~@6 x!2 ~ x ~@3 x ~", D: "x", E: "x ~@7 x!2 ~ x ~ x ~ x",
})).gain(0.59)

// drums · rim
const rim = s("rim").struct("<~@16 [~ x ~ x]!10 [~ x ~@2] ~@14 [~ x ~ x]!16 [~ x ~@2] ~@32>").gain(0.59)

// drums · snare
const snare = s("sd").struct("<~@26 A B C@2 D@11 ~@16 A B C@2 D@7 E D@7 E D@7 ~@6>".pickRestart({
  A: "~@3 x", B: "~@4 x ~@6 x!2 ~@3", C: "~@4 x ~@4 x ~@6", D: "~ x ~ x", E: "~@4 x ~@2 x ~@4 x ~@3",
})).gain(0.59)

// drums · low tom
const low_tom = s("lt").struct("<~@27 A B C ~@28 A B C ~@29>".pickRestart({
  A: "~@14 x!2", B: "~@13 x!2 ~", C: "~@10 x!2",
})).gain(0.74)

// drums · hihat
const hihat = s("hh").struct("<A@3 B A@11 B C@10 D ~@14 E C@15 D ~@32>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "x!8", D: "x!6 ~ x", E: "~@2 x ~ x ~ x ~ x ~ x ~ x!2 ~@2",
})).gain(0.59)

// drums · mid tom
const mid_tom = s("mt").struct("<~@27 A B C ~@28 A B C ~@29>".pickRestart({
  A: "~@9 x ~@6", B: "~@11 x!2 ~@3", C: "~@8 x!2 ~@2",
})).gain(0.74)

// drums · open hat
const open_hat = s("oh").struct("<~@3 [~@3 x] ~@11 [~@3 x] ~@25 [~@7 x] ~@48>").gain(0.3)

// drums · high tom
const high_tom = s("ht").struct("<~@27 [~@9 x ~@6] ~@30 [~@9 x ~@6] ~@31>").gain(0.74)

// drums · crash
const crash = s("cr").struct(`<
  ~@3 A ~@11 A ~@10 B C@3 D ~@3 D ~ D ~ D ~@2 D ~@15 B C@3 D ~@3 D ~ D E D ~@3 D ~ D E D ~@3 D ~ D@2 ~@5
>`.pickRestart({
  A: "~@7 x", B: "~@3 x", C: "x ~@2 x ~@12", D: "x", E: "~@9 x ~ x ~ x ~ x",
})).gain(0.59)

// drums · ride
const ride = s("rd").struct("<~@30 A B@3 A B A B A B@2 ~@20 A B@3 A B A B A B@3 A B A B A B@3 A B A ~@6>".pickRestart({
  A: "~@2 x!3 ~ x!3 ~ x!3 ~ x!2", B: "x ~ x!3 ~ x!3 ~ x!3 ~ x!2",
})).gain(0.44)

// drums · tambourine
const tambourine = s("tb").struct("<~@16 [~ x ~ x]!11 ~@14 [~ x ~ x]!17 ~@32>").gain(0.52)

stack(
  bass, acoustic_guitar_steel, piano, piano_soft, rock_organ, rock_organ_soft, distortion_guitar, kick, rim, snare,
  low_tom, hihat, mid_tom, open_hat, high_tom, crash, ride, tambourine
)

More by Biagio Antonacci