Strudelify

Protagonista

Masini

KeyB♭ majorTempo91 bpm
0:00/0:00
// Protagonista — Masini
// 91 bpm, 4/4, key A# 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: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 123 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(91/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 · electric guitar clean · "GUITAR"
const electric_guitar_clean = note(`<
  A B C D@4 E@8 F@8 G@8 H@4 F@8 I@4 ~@5 J K L M@8 N@8 O@4 ~@13 J P@6 Q@7 R@4 ~@17
>`.pickRestart({
  A: "~@31 [eb3,ab3], ~@15 [eb1,ab2]", // Ab5
  B: "[bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@9 [f3,ab3], ~@2 eb3@3 eb3@3 eb3@3 eb3@4 c3, ~@3 bb3@13, ~@3 [ab3,eb4], ~@29 f2@3", // Eb5 Ab5 Fm Ab5
  C: "[bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~ g3, ~@2 f3@3 f3@3 f3@3 f3@4 [c3,eb3], ~@3 bb3@13", // Eb5 Ab5 Cm
  D: "[[ab3,c4,eb4]@4 ~@2 [c4,eb4]@4 ~@2 [g3,c4,eb4]@4 ~@2 [g3,c4,eb4]@4 ~@2 eb4@6 ~@2 [f3,bb3,eb4]@4 ~@2 [bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@4 ~@2 [bb3,eb4]@6 ~@2 [bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~@2 [bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~ eb3, ~@4 eb3@6 eb3@6 eb3@6 eb3@8 g2@32 c3 eb3 ab3@4 eb3@2 bb3@24 f2@32 c3@2, ~@6 ab3@36 bb2@6 bb2@6 bb2@41 [c3,f3] ab3@4 f3@2 bb3@26, ~@24 [g3,c4]@31 eb3@7 ab2@44 f3@6 f3@6 f3@10, ~@30 bb2 eb3@5 bb2@2 f3@36 eb3@6 eb3@6 eb3@41 ~]/4", // Ab Cm Ebsus2 Eb5 Ab5 Eb5 Ab5 F5 …
  E: "[[ab3,c4,eb4]@5 ~ [c4,eb4]@4 ~@2 [g3,c4,eb4]@4 ~@3 [g3,c4,eb4]@4 ~@15 [bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@6 ~@2 [bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~@8 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@11 ab3@4 ~@14 [g3,c4,eb4]@4 ~@27 [eb3,bb3,eb4]@4 ~@2 eb4@6 ~@8 ab4@4 ~@2 [db4,ab4]@4 ~@2 [db4,ab4]@4 ~@16 ab4@4 ~@2 [db4,ab4]@4 ~@2 [db4,ab4]@4 ~@2 [db4,ab4]@6 ~ c4, g3@12 ~@12 c4@18 bb2@6 bb2@6 bb2@41 [c3,f3] [ab3,bb3] eb4@3 f3@2 bb3@33 [c4,eb4]@3 eb3@2 eb4 [g3,c4]@3 eb3@6 ~ eb3 c4@32 eb3@39 [f3,bb3] [db4,eb4] ab4@3 bb3@2 eb4@26, ~@5 eb3@5 eb3@6 eb3@6 ~ eb3@2 g3@37 ab2@44 f3@6 f3@6 f3@34 eb4 g3@31 bb3@18 ab3@6 ab3@6 ab3@20 bb3@6 bb3@6 bb3@10, ~@6 ab3@25 bb2 [eb3,f3,bb3] eb4@3 bb2@2 f3@36 eb3@6 eb3@6 eb3@34 [ab3,eb4]@6 c3@32 g2@32 db3@64 [f3,ab3]@2, ~@24 eb4@6 g2@32 c3 eb3 ab3@4 eb3@2 bb3@24 f2@33 eb3 [g3,c4,eb4]@5 eb3 ab3@25 bb2 [eb3,f3] [bb3,eb4]@3 bb2@2 [f3,bb3] eb4@3 bb2@2 [eb3,bb3] eb4@3 bb2@6 bb2@8 f3 ab3 [db4,ab4] eb4@3 ab3@2 eb4@18 [db4,ab4]@6 bb2@34]/8", // Ab Cm Eb5 Ab5 Cm Eb5 Db5 F5 …
  F: "[[db4,f4,ab4]@4 ~@2 [f4,ab4]@4 ~@2 [c4,f4,ab4]@4 ~@2 [c4,f4,ab4]@4 ~@10 [f3,bb3,eb4]@4 ~@2 [bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@4 ~@16 [bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~@2 [bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@10 [c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 bb3@6 ~@2 [f3,bb3,eb4]@4 ~@2 [bb3,eb4]@4 ~@8 [eb3,bb3,eb4]@4 ~@10 [bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~@2 [bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~ [eb3,g3], ~@4 ab3@6 ab3@6 ab3@6 ab3@8 bb2 eb3@5 bb2@2 f3@36 eb3@6 eb3@6 eb3@40 bb2@12 f3@6 f3@6 f3@2 f4@32 [eb3,bb3,eb4]@5 ab2@34 [f3,ab3]@5 f3@2 bb3@24 c3@2, ~@6 db4@36 bb2@6 bb2@2 [eb3,bb3,eb4]@3 bb2@42 [f3,ab3]@5 f3@2 bb3@18 eb4@38 g2@32 c3 [eb3,ab3]@5 eb3@2 bb3@24 f2@34, ~@24 [c4,f4,ab4]@32 [eb3,bb3,eb4]@5 ab2@45 f3@6 f3@6 f3@2 ab3@39 bb2 eb3@4 bb2@2 f3@36 eb3@6 eb3@6 eb3@41 ~, ~@30 g2@32 c3 [eb3,ab3]@5 eb3@2 bb3@24 [f2,c3]@32 f3 bb3@5 f3@2 c4@36 bb2@2 [eb3,bb3] eb4@3 bb2@6 bb2@40 c3@12 f3@6 f3@6 f3@10]/8", // Db Fm Ebsus2 Eb5 Ab5 Eb5 Ab5 F5 …
  G: "[[ab3,c4,eb4]@4 ~@2 [c4,eb4]@4 ~@2 [g3,c4,eb4]@4 ~@2 [g3,c4,eb4]@4 ~@2 eb4@6 ~@2 [f3,bb3,eb4]@4 ~@2 [bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@6 ~@2 [bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~@8 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@11 ab3@4 ~@14 [g3,c4,eb4]@4 ~@27 [eb3,bb3,eb4]@4 ~@2 [eb3,bb3,eb4]@6 ~@2 [bb3,eb4]@4 ~@2 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~@8 eb4@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@6 ~ eb3, ~@4 eb3@6 eb3@6 eb3@6 eb3@8 g2@32 c3 eb3 ab3@4 eb3@2 bb3@24 f2@33 eb3 [g3,c4,eb4]@5 eb3 ab3@25 bb2 [eb3,f3] [bb3,eb4]@3 bb2@2 f3@36 eb3@6 eb3@6 eb3@40 c3@2, ~@6 ab3@36 bb2@6 bb2@6 bb2@41 [c3,f3] [ab3,bb3] eb4@3 f3@2 bb3@33 [c4,eb4]@3 eb3@2 eb4 [g3,c4]@3 eb3@6 ~ eb3 c4@14 bb3 eb4@3 bb2@2 [eb3,bb3] eb4@3 bb2@6 bb2@41 [c3,f3] [ab3,bb3] eb4@3 f3@2 bb3@26, ~@24 [g3,c4]@38 ab2@44 f3@6 f3@6 f3@34 eb4 g3@37 ab2@44 f3@6 f3@6 f3@10, ~@30 bb2 eb3@5 bb2@2 f3@36 eb3@6 eb3@6 eb3@34 [ab3,eb4]@6 c3@32 g2@32 c3 eb3 ab3@4 eb3@2 bb3@24 f2@34]/8", // Ab Cm Ebsus2 Eb5 Ab5 Cm Eb5 Ab5 …
  H: "[[ab3,c4,eb4]@4 ~@2 [c4,eb4]@4 ~@2 [g3,c4,eb4]@4 ~@8 eb4@6 ~@20 [eb3,bb3,eb4]@4 ~@2 eb4@6 ~@8 ab4@4 ~@2 [db4,ab4]@4 ~@2 [db4,ab4]@4 ~@16 ab4@4 ~@2 [db4,ab4]@4 ~@2 [db4,ab4]@4 ~@2 [db4,ab4]@6 ~ c4, g3@12 ~@7 [g3,c4,eb4]@5 [g3,c4]@32 bb3@18 ab3@6 ab3@6 ab3@9 bb3 [db4,eb4] ab4@3 bb3@2 eb4@26, ~@2 eb3@3 eb3@3 eb3@3 eb3@4 g2@16 db3@22 bb3@3 bb3@3 bb3@5, ~@6 ab3@50 eb3@39 f3@31 [f3,ab3]@2, ~@31 bb2 eb3 [f3,bb3,eb4]@3 bb2@2 [f3,bb3] eb4@3 bb2@2 [eb3,bb3] eb4@3 bb2@6 bb2@8 f3 ab3 [db4,ab4] eb4@3 ab3@2 eb4@18 [db4,ab4]@6 bb2@34]/4", // Ab Cm Eb5 Db5 Cm C5 Dbsus2 Fm …
  I: "[[ab3,c4,eb4]@2 ~ [c4,eb4]@2 ~ [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 ~ eb4@3 ~ [f3,bb3,eb4]@2 ~ [bb3,eb4]@2 ~ [eb3,bb3,eb4]@2 ~ [eb3,bb3,eb4]@2 ~ [eb3,bb3,eb4]@32 ~@4, ~@2 eb3@3 eb3@3 eb3@3 eb3@4 g2@32 ~@17, ~@3 ab3@18 bb2@3 bb2@3 bb2@32 ~@5, ~@3 [g3,c4]@8 ~@5, ~@31 [bb2,eb3]@5 bb2@2 f3@64 ~@26]/4", // Ab Cm Ebsus2 Eb5 C5 Eb5
  J: "~@31 f3, ~@15 [bb2,d3]", // Bb
  K: "~@6 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@6 ~ [d3,g3], bb3@6 ~@9 g2, f4@2 f3@3 f3@3 f3@3 f3@5, ~ c4@5 c4@26", // Bb5 G5
  L: "~@6 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@6 ~ f3, bb3@6 ~@9 d3, c4@2 g3@3 g3@3 g3@3 g3@5, ~ f4@5 c4@26", // Bb5
  M: "[~ [bb3,d4,f4]@4 ~@2 [d4,f4]@4 ~@8 [a3,d4,f4]@4 ~@33 [f3,c4,f4]@6 ~@8 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@6 ~@3 [c4,f4]@4 ~ f4@4 ~@14 [bb3,f4]@6 ~@3 bb3@4 ~@14 [a3,d4,f4]@4 ~@33 f4@6 ~@9 bb4@4 ~@7 [eb4,bb4]@4 ~@16 bb4@4 ~@2 [eb4,bb4]@4 ~@2 [eb4,bb4]@4 ~@2 [eb4,bb4]@6 ~ [bb3,d4], a3@13 [a3,d4,f4]@6 ~@5 [a3,d4]@38 bb2@33 g3 bb3@5 g3 c4@33 [d4,f4]@3 f3@2 f4 [a3,d4]@3 f3@6 ~ f3 d4@32 f3@39 [g3,c4] eb4 [f4,bb4]@3 c4@2 f4@26, ~@5 f3@6 f3@5 f3@6 ~ f3@7 a2@32 d3 f3 [bb3,f4] c4@3 f3@2 c4@24 g2@33 f3 [a3,d4,f4]@5 f3 bb3@25 c3 f3 [g3,c4,f4]@3 c3@2 g3 [c4,f4]@3 c3@2 f3 [c4,f4]@3 c3@2 f3 [c4,f4]@3 c3@8 eb3@44 c4@6 c4@6 c4@10, ~@7 bb3@32 [c4,f4]@3 c3@2 f3 [c4,f4]@3 c3@2 [f3,c4] f4@3 c3@41 d3@11 g3@2 bb3 f4@3 g3@2 bb3 f4@3 g3@34 f4 a3@31 c4@7 bb3 eb4 [f4,bb4]@3 bb3@2 f4@18 [eb4,bb4]@6 c3@34, ~@24 f4@7 c3 f3 [g3,c4,f4]@3 c3@2 g3@36 f3@6 f3@6 f3@40 d3@32 a2@33 g3@12 bb3 bb4 eb4@3 bb3@6 bb3@40 g3@2]/8", // Bb Dm F5 Bb5 F5 Bb5 Dm Eb5 …
  N: "[[eb4,g4,bb4]@4 ~@2 [g4,bb4]@4 ~@2 [d4,g4,bb4]@4 ~@2 [d4,g4,bb4]@4 ~@10 [g3,c4,f4]@4 ~@2 [c4,f4]@4 ~@14 [f3,c4,f4]@6 ~@2 [c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@6 ~@2 [c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@10 [d4,g4]@4 ~@2 g4@4 ~@2 [c4,g4]@4 ~@2 [c4,g4]@4 ~@2 c4@6 ~@20 [f3,c4,f4]@4 ~@2 [f3,c4,f4]@6 ~@2 [c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@6 ~@2 [c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@6 ~ f3, ~@4 bb3@6 bb3@6 bb3@6 bb3@9 [c3,f3]@5 c3@2 g3@36 f3@6 f3@6 f3@34 f4@38 a2@32 d3 [f3,bb3]@5 f3@2 c4@24 g2@32 d3@2, ~@6 eb4@36 c3@2 [f3,c4] f4@3 c3@2 [f3,c4] f4@3 c3@41 d3@32 [g3,c4]@5 g3@2 d4@32 c4 f4@3 c3@2 f3 [c4,f4]@3 c3@6 c3@41 [d3,g3] bb3@4 g3@2 c4@26, ~@24 [d4,g4,bb4]@38 bb2@33 g3 bb3@4 g3@2 c4@4 g3@6 g3@6 g3@2 bb3@39 c3 [f3,g3] [c4,f4]@3 c3@2 g3@36 f3@6 f3@6 f3@41 ~, ~@30 a2@32 d3 f3 bb3@4 f3@2 c4@24 g2@32 c3@12 g3@6 g3@6 g3@2 g4@38 bb2@44 g3@6 g3@6 g3@10]/8", // Eb Gm Csus4 F5 Bb5 F5 Bb5 G5 …
  O: "[[bb3,d4,f4]@2 ~ [d4,f4]@2 ~ [a3,d4,f4]@2 ~@4 f4@3 ~ [g3,c4,f4]@2 ~ [c4,f4]@2 ~ [f3,c4,f4]@2 ~ [f3,c4,f4]@2 ~ [f3,c4,f4]@32 ~@4, a3@12 ~@7 [a3,d4,f4]@5 [a3,d4]@64 ~@40, ~@2 f3@3 f3@3 f3@3 f3@4 a2@32 ~@17, ~@3 bb3@18 c3@3 c3@3 c3@32 ~@5, ~@31 c3 f3@4 c3@2 g3@64 ~@26]/4", // Bb Dm Csus4 F5 Dm D5
  P: "[[c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@6 ~@2 [c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@6 ~@2 [bb3,d4,f4]@5 ~ [d4,f4]@4 ~@2 [a3,d4,f4]@4 ~@2 [a3,d4,f4]@5 ~@15 [c4,f4]@4 ~@2 [c4,f4]@4 [c4,f4]@14 ~@2 [c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@5 ~@11 f4@4 ~@8 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@6, bb3@12 ~@18 g2@33 f3 a3@5 f3 bb3@36 c3@54 d3@7 f4@4 g3@6 ~ g3@6 g3@8, ~@4 f3@6 f3@6 f3@6 f3@40 d3@33 c3 [f3,g3,c4] f4@3 c3@2 g3@25 [f3,bb3]@5 f3@2 c4@19 [bb3,f4]@6 g2@33, ~@6 c4@25 d3@11 g3@6 g3@6 g3@20 f3@6 f3@6 ~ f3 d4@20 f3@18 bb2@34 g3 [bb3,c4]@5 g3 c4@25, ~@31 g3 bb3@4 g3@2 c4@50 f4 a3@37 d3@12 f3@6 f3@6 ~ f3@41]/6", // F5 Bb5 F5 Bb5 Bb Dm F5 Bb5 …
  Q: "[~@3 [bb3,d4,f4]@4 ~@2 [d4,f4]@4 ~@3 [a3,d4,f4]@4 ~@2 [a3,d4,f4]@4 ~@2 f4@6 ~@9 [c4,f4]@4 ~@2 [f3,c4,f4]@4 ~@2 [c4,f4]@4 ~@11 [c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@24 f4@4 ~@2 [bb3,f4]@4 ~@23 [c4,g4]@4 ~@2 [c4,g4]@4 ~@2 c4@7 ~@36 [c4,f4]@4 ~@2 f4@4 ~@2 [bb3,f4]@4 ~@3 bb3, ~ d3@34 c3 [f3,g3] [c4,f4]@3 c3@2 g3@26 f3 bb3@5 f3@2 c4@19 [bb3,f4]@6 g2@33 c3@9 g4@3 g3@7 g3@6 g3@11 f3 [c4,f4]@30 bb2 d3 [f3,bb3]@5 f3@2 c4@4 f3@6 f3@4, ~ f3@6 f3@6 f3@6 ~ f3@6 f3@8 a2@34 d3@12 f3@6 f3@6 f3@36 f4@33 g4@61 f4@2, ~@2 a3@13 ~@13 [a3,d4]@33 [c4,f4]@6 bb2@35 g3 [bb3,c4] f4@3 g3@2 [c4,f4]@4 g3@2 bb3@5 g3@6 g3@2 bb3@40 a2@56, ~@9 bb3@38 c3@6 c3@2 f3@4 c3@43 d3@33 [g3,c4] d4 g4@3 g3@3 d4@26 c3@55]/7", // Bb Dm F5 Bb5 C5 F5 Bb5 Fsus2 …
  R: "[~@14 [c4,f4]@4 ~@8 [bb3,f4]@4 ~@2 [bb3,f4]@4 ~@2 [bb3,f4]@7 ~@2 [bb3,d4,f4]@4 ~@2 [d4,f4]@4 ~@2 [a3,d4,f4]@4 ~@2 [a3,d4,f4]@5 ~@2 a3@5 ~@2 [f2,c3,f3,a3]@3 ~ [f2,c3,f3,a3]@3 ~ c3@2 ~ f3 [c3,f3]@3 [f2,c3,f3,a3]@4 [f2,c3,f3,a3]@4 [f2,c3,f3,a3]@4 [f2,c3,f3,a3]@6 ~@16, ~@3 f3@21 g3@6 g3@6 g3@21 f3@6 f3@6 ~ f3@7 ~@12 c3@2 ~@37, ~@5 [bb3,f4]@7 d3@33 d3@32 ~@9 [f2,f3,a3]@4 [f2,a3]@4 ~@34, ~@11 g2@34 f3 a3@5 f3@2 bb3@18 [d4,f4]@5 ~@52, ~@12 g3 bb3@5 g3 f4 c4@57 ~@51]/4", // F5 Bb5 Bb Dm F F5 F Bb5 …
})).s("gm_electric_guitar_clean").gain(0.22)

// bass · electric bass finger · "BASS"
const bass = note(`<
  ~@24 A B C D E B C D F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR
  AS AT AU AV AO AW AX AY AZ BA AO AV BB BC BD BE BF BG BH BI BJ BK ~@8 BL@5 BM BN BO BP BM BN BO BP BM BN BO BP BM BN
  BO BQ ~
>`.pickRestart({
  A: "~@24 eb2@7 ~", B: "ab1@11 ~ ab1@19 ~", C: "f1@5 ~ f1@2 ~@4 f1@19 ~", D: "c2@11 ~ c2@19 ~",
  E: "eb2@6 eb2@2 ~@4 eb2@11 ~ eb2@8", F: "eb2@3 eb2 ~@2 eb2@9 ~", G: "db2@10 ~@2 db2@11 ~ db2@4 c2@4",
  H: "bb1@11 ~ bb1@20", I: "f1@9 ~@3 f1@14 bb1 ~ eb2 ~ bb2@2", J: "eb3@6 bb2@6 eb2@17 ~@3",
  K: "ab1@10 ~@2 ab1@10 eb1 ~ ab1@3 ~ g1@4", L: "f1@9 ~@3 f1@19 ~", M: "db2@10 ~@2 db2@10 ~@2 db2@3 ~ f2@3 ~",
  N: "eb2@10 ~@2 eb2@11 ~ eb2@7 ~", O: "ab1@10 ~@2 ab1@11 ~ ab1@3 ~ g1@4", P: "f1@9 ~@3 f1@12 bb1 ~ c2@2 eb2@2 bb1@2",
  Q: "c2@10 ~@2 c2@19 ~", R: "eb2@5 ~ eb2@3 ~ eb2@5 ~ eb2@7 ~ eb2@8", S: "f1@5 ~ f1@2 ~@4 f1@7 ~ f1@12",
  T: "c2@5 ~ c2@2 ~@4 c2@7 ~ c2@12", U: "db2@5 ~ db2@3 ~@3 db2@7 ~ db2@11 ~", V: "ab1@5 ~ ab1@3 ~@3 ab1@7 ~ ab1@11 ~",
  W: "gb1@5 ~ gb1@2 ~@4 gb1@6 ~@2 gb1@11 ~", X: "f1@5 ~ f1@2 ~@4 f1@7 ~ f1@4 bb1@2 c2@2 ~ c2@2 ~, ~@14 f2 ~",
  Y: "eb2@5 bb1 eb2 bb1 d2@8", Z: "eb2@13 ~@3", AA: "bb1@5 ~ bb1@2 ~@4 bb1@7 ~ bb1@7 ~ f1@4",
  AB: "g1@5 ~ g1 ~@5 g1@7 ~ g1@11 ~", AC: "d2@5 ~ d2@2 ~@4 d2@6 ~@2 d2@10 ~@2", AD: "f2@5 ~ f2@2 ~@4 f1@7 ~ f1@11 ~",
  AE: "bb1@5 ~ bb1 ~@5 bb1@7 ~ bb1@6 ~@2 f1@3 ~", AF: "g1@4 ~@2 g1 ~@5 g1@5 ~ d2 ~ f2 ~ d2 ~ f2@7 ~",
  AG: "d2@5 ~ d2 ~@5 d2@7 ~ d2@9 ~@3", AH: "f2@3 c2 ~@2 f1@4 f1@5 ~", AI: "eb2@6 bb2@5 ~ eb3@8 bb2@6 eb2@5 ~",
  AJ: "c2@6 g2@2 ~@4 c2@7 ~ c2@11 ~", AK: "g1@5 ~ g1@2 ~@4 g1@7 ~ g1@10 ~@2", AL: "f1@6 c2@5 ~ f2@8 c2@5 ~ f1@6",
  AM: "bb1@5 ~ bb1@3 ~@3 bb1@8 bb1@7 ~ a1@4", AN: "g1@6 g1 ~@5 g1@7 ~ g1@11 ~",
  AO: "eb2@5 ~ eb2@2 ~@4 eb2@7 ~ eb2@11 ~", AP: "f2@5 ~ f2@2 ~@4 f2@8 f2@11 ~",
  AQ: "bb1@5 ~ bb1@2 ~@4 bb1@7 ~ bb1@8 a1@4", AR: "g1@5 ~ g1@2 ~@4 g1@7 ~ g1@12", AS: "d2@5 ~ d2 ~@5 d2@7 ~ d2@11 ~",
  AT: "f2@6 ~ f2@3 f2@5 ~ f2@7 ~ f2@5 ~@3", AU: "g1@6 g1@2 ~@4 g1@7 ~ g1@11 ~", AV: "d2@5 ~ d2@2 ~@4 d2@7 ~ d2@11 ~",
  AW: "bb1@5 ~ bb1@2 ~@4 bb1@6 ~@2 bb1@11 ~", AX: "ab1@5 ~ ab1@2 ~@4 ab1@5 ~@3 ab1@11 ~",
  AY: "g1@5 ~ g1@2 ~@4 g1@6 ~@2 g1@11 ~", AZ: "f2@10 c2@2 f2@2 c2@2 e2@15 ~", BA: "f2@7 ~ f2@7 ~ d2@15 ~",
  BB: "c2@5 ~ c2@2 ~@4 c2@6 ~@2 c2@11 ~", BC: "d2@4 ~@2 d2@2 ~@4 d2@7 ~ d2@10 ~@2",
  BD: "c2@5 ~ c2@2 ~@4 c2@7 ~ c2@10 ~@2", BE: "bb1@6 bb1 ~@5 bb1@7 ~ bb1@11 ~",
  BF: "d2@5 ~ d2@2 ~@4 d2@3 ~ e2@5 ~ e2@4 ~@2 e2@4", BG: "f1@4 ~@2 f1@3 ~@3 c2@4 f2@14 ~@2", BH: "bb1@11 ~ bb1@19 ~",
  BI: "g1@5 ~ g1@2 ~@4 g1@19 ~", BJ: "d2@11 ~ d2@19 ~", BK: "f2@6 f2@2 ~@4 c2@3 ~ f1@6 ~@10",
  BL: "[~@12 bb1@12 bb1@20 ~ g1@5 ~@2 g1@2 ~@4 g1@20 d2@11 ~@2 d2@19 ~ f2@4 f2@4 f2@4 f2@4 f2@4 f2@4 f2@4 f2@4 bb1@5 bb1@2 ~@5 bb1@5]/5",
  BM: "~@3 bb1@7 f1@4 ~ g1@5 ~ g1 ~@5 g1@5", BN: "~@3 g1@11 ~ d2@5 ~ d2@2 ~@4 d2@5",
  BO: "~@3 d2@10 ~@2 f2@5 ~ f2@2 ~@4 f1@5", BP: "~@3 f1@11 ~ bb1@5 bb1@2 ~@5 bb1@5", BQ: "~@3 f1@11 ~ bb1@17",
})).s("gm_electric_bass_finger").gain(0.46)

// other · electric guitar muted · "RITM GUITA"
const electric_guitar_muted = note("<~@25 A@8 ~@4 A@7 ~@9 B@8 ~@4 B@7 ~@51>".pickRestart({
  A: "~@18 eb4 ~ eb3 ~ eb3 ~ eb4 ~ eb3 ~ eb4 ~ eb4 ~", B: "~@18 f4 ~ f3 ~ f3 ~ f4 ~ f3 ~ f4 ~ f4 ~",
})).s("gm_electric_guitar_muted").gain(0.28)

// bass · electric bass finger · "BASS intro"
const bass_2 = note("<~ A B C D A B C E A B C E F G B E A B F E A B C H ~@98>".pickRestart({
  A: "ab1", B: "f2", C: "c2", D: "eb2@31 ~", E: "eb2", F: "db2", G: "bb1", H: "eb2@7 ~",
})).s("gm_electric_bass_finger").gain(0.31)

// chords · whistle · "FISCHIO"
const whistle = note("<~@21 A@2 B C ~@16 A@2 B D ~@24 E F G H ~@16 E@2 G H ~@8 I@4 ~@18>".pickRestart({
  A: "ab6@23 a6 bb6@8", B: "c7@3 db7", C: "bb6", D: "bb6@15 ~", E: "bb6@23 b6 c7@8", F: "bb6@23 ~ c7@8, ~@24 b6 ~@7",
  G: "d7@3 eb7", H: "c7@17 ~@15", I: "[~@12 bb6@24 c7@9 bb6@24 ~ c7@8 d7@24 ~ eb7@8 c7@17, ~@36 b6 ~@33 b6 ~@57]/4",
})).s("gm_whistle").gain(0.35)

// chords · synth strings 2 · "STRINGS"
const synth_strings_2 = note("<~@12 A@3 B@6 C@3 D ~@54 E@2 F G@7 ~@34>".pickRestart({
  A: "[~@31 eb4@13 db4@19 eb4@13 db4@19 ~, ~@31 ab3@32 bb3@32 ~]/3",
  B: "[db4@11 c4@19 ~ ab3@12 g3@18 ~@2 bb3@12 ~ ab3@19 bb3@12 ab3@19 ~ c4@12 bb3@20 ~ c4@11 bb3@20 ~, f3@31 eb3@30 ~@2 eb3@32 f3@31 ~ [db3,ab3]@31 ~ [eb3,g3]@31 ~@2]/6", // Db5 Eb
  C: "[[ab3,c4]@31 f3@32 [g3,c4]@32 ~, ~@31 ab3@35 ~@30]/3", D: "[eb3,bb3]@15 ~",
  E: "[~@31 [c4,f4]@15 ~ [d4,gb4]@16 ~, ~@31 a4@31 ~@2]/2", F: "[eb3,eb4,g4]",
  G: "[[a3,d4,f4]@31 [g3,c4,eb4]@32 [a3,d4,f4]@32 [ab3,c4,eb4]@31 ~ [g3,bb3,d4]@32 a3@16 b3@16 ~ [f3,c4]@23 ~@9, ~@159 d4@32 f4@23 ~@10]/7", // Dm Cm Dm Ab Gm F5
})).s("gm_synth_strings_2").gain(0.4)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~@21 A@4 B@2 C D E@2 C F G@2 H I J K L M J N O P@5 Q@3 R S@2 T U V@2 T W X@2 Y Z AA AB AC AD AA AE AF AG AH AI AJ@3 AK
  AL AM AN AO@3 AP@3 AQ AR@2 T AS ~@8 AT@3 AU AV@6 AW@7 AX@5
>`.pickRestart({
  A: "[ab3@63 ~@32 bb3@30 ~@3, c4@49 ~@15, ~@63 eb4@63 ~@2]/4", B: "[c4@29 ~@3 f3@32, ab3]/2", C: "[g3,c4]",
  D: "bb3, eb4@29 ~@3", E: "[c4 f3, ab3]/2", F: "[bb3,eb4]@31 ~",
  G: "[~@8 f4@8 ab4@8 c5@7 ~@3 eb5@10 ~ db5@17 ~@2, [db3,ab3,db4]@31 c5@13 bb4@17 ~@3, ~@8 [bb2,f3,bb3]@7 ~]/2", // Db5 Bb5
  H: "~@8 f4@8 ab4@8 c5@7 ~, [f2,c3,f3]@31 ~", I: "[eb4,c5]@11 ~ [eb4,g4,bb4]@14 ~@6, [eb2,bb2,eb3]@15 ~",
  J: "[ab3,c4]", K: "~ f3@30 ~, ab3@15 ~", L: "[ab3,c4,db4]", M: "[bb3,eb4]", N: "[f3,ab3]", O: "[c4,eb4]@31 ~",
  P: "[eb4@15 ~@7 f4 gb4 ab4 bb4 c5 [db5,eb5] [f5,gb5] [ab5,bb5] [c6,db6] eb6 [f3,ab3,c4,f4,ab4,f5]@31 ~ [g3,c4,g4,g5,g6]@31 ~ [ab3,db4,ab5,ab6]@31 c4 ~@16 bb4@8 ab4 ab4@6 [db4,gb4], bb3@31 ~@32 eb4@32 f4@31 ~ eb4@31 ~@2, ~@15 eb4@16 f6@32 ~@32 ab4@48 ~@17, ~@4 [ab3,c4,eb5,eb6]]/5", // Dbsus2 Gbmaj7 Absus2 Dbmaj7 Fm C5 Db5 Gb5 …
  Q: "[[gb3,bb3,db4,gb4,db5,db6]@31 ~@16 g4 g4@7 ab4@8 ~ [g3,c4,eb5,eb6]@16 f4@2 f4@13 ~, ~@31 f4@16 ~@16 eb4@16 ~@17, ~@2 [f3,ab3,c5,c6]@2 ~ [a3,c4,f5,f6]]/3", // Gb Cm Fm F
  R: "bb3@8 [bb3,g4]@7 ~, [eb4,ab4,eb5,eb6]@15 ~", S: "[d4@29 ~@3 g3@32, bb3]/2", T: "[a3,d4]", U: "c4, f4@29 ~@3",
  V: "[d4 g3, bb3]/2", W: "[c4,f4]@31 ~",
  X: "[~@8 g4@8 bb4@8 d5@7 ~@3 f5@10 ~ eb5@17 ~@2, [eb3,bb3,eb4]@31 d5@13 c5@17 ~@3, ~@8 [c3,g3,c4]@7 ~]/2", // Eb5 C5
  Y: "~@8 g4@8 bb4@8 d5@7 ~, [g2,d3,g3]@31 ~", Z: "[f4,d5]@11 ~ [f4,a4,c5]@14 ~@6, [f2,c3,f3]@15 ~", AA: "[bb3,d4]",
  AB: "~ g3@30 ~, bb3@15 ~", AC: "[bb3,d4,eb4]", AD: "[c4,f4]", AE: "[g3,bb3]", AF: "[d4,f4]@31 ~",
  AG: "f4@15 f4@17, c4", AH: "[g3,bb3,d4,g4,bb4,g5,g6]", AI: "[a3,d4,f4,a4,a5,a6]",
  AJ: "[eb4 eb4@30 ~@17 c5 c5@7 bb4 bb4@7 ~ c4@31, bb4 ~, [bb3,g4,bb5,bb6]@31 f4@31 ~@34, ~@31 d4@2 d4@34 ~@29, ~ [bb3,f5,f6] [ab3,eb4,ab4,eb5,eb6]]/3", // Eb Bb5 Ab5
  AK: "g4@2 a4 bb4, [g3,bb3,d5,d6]", AL: "[a3,d4,f4,f5,f6]@16 g4@3 g4@13, ~ [b3,d4,g5,g6]",
  AM: "f4 f4@15 [a3,d4,gb4,a4]@16, [c4,bb4,f6] ~", AN: "[eb4,g4]",
  AO: "[[d4,f4]@31 ~ eb4@31 [d4,f4]@32 ~, ~@31 c4@32 ~@33]/3", // Dm
  AP: "[[c4,eb4]@31 g4@31 ~ a3@16 ~ b3@16, ~@31 d4@64 ~]/3", AQ: "[c4,f4]@7 ~", AR: "[d4@31 ~ g3@32, bb3]/2",
  AS: "[c4,f4]@3 ~", AT: "[~@4 d4@11 g3@11 [a3,d4]@6, ~@2 bb3@11 ~@3]/3", AU: "~@15 [c4,f4]@17",
  AV: "[~@15 bb4@23 c5@8 bb4@24 ~ c5@7 d5@25 eb5@7 [f3,c4,f4,c5]@32 bb4@24 c5@8 [g3,bb3,d4,g4,bb4]@18, ~@14 [f3,bb3,d4]@32 d4@63 ~@83, ~@15 f4@31 [g3,bb3,g4]@32 a3@64 ~@50, ~@39 [f3,a4]@16 ~@16 [f3,bb3,d4,f4]@16 ~@9]/6", // F5 Gm Bb Gm F Bb
  AW: "[~@6 c5@8 d5@24 eb5@8 ~ [f3,c4]@31 ~@12 bb4@12 c5@8 bb4@24 ~ c5@7 ~ d5@24 eb5@7 ~ [f3,c4]@31 [f3,bb3,d4,f4,bb4]@18, ~@7 [f3,a3,d4,a4]@16 [a3,f4,c5]@16 bb3@32 a3@32 ~@9, ~@39 [f3,d4]@16 [g3,d4,g4]@16 [f3,d4,a4]@16 ~@25, ~@39 bb4@6 ~@67, ~@79 f4@31 ~@64 [f4,c5]@32 ~@18]/7", // F5 Bb Dm F Dm G5 Dm F5
  AX: "[~@6 c5@8 bb4@24 c5@8 d5@25 eb5@7 ~@33 f3@28 ~@21, ~@14 [g3,bb3,d4,g4]@32 a3@64 bb3@29 ~@21, ~@46 [f3,d4,a4]@32 [f3,c4,f4,c5]@35 ~@47, ~@110 bb4@9 ~@41]/5", // Gm Dm F5
})).s("gm_string_ensemble_1").gain(0.36)

// chords · piano
const piano = note(`<
  ~@20 A@2 ~@3 B C@2 D E F G H I@3 J K@2 L M N@3 O ~ P@2 Q R S T U ~@8 V@6 W X@3 Y Z@3 AA@2 AB AC AD@2 AE@2 AF@2 AG AH
  AI AJ ~@15 AK AL AM@6 AN@7 AO@4
>`.pickRestart({
  A: "[~@4 b3@7 ~@5]/2", B: "[eb4,ab4]@31 ~, ab3@27 ~@5",
  C: "[~@12 ab4@15 ~@5 g4 ab4@11 [eb4,g4]@18 ~@2, [f3,c4,f4,bb4]@29 ~@2 c4@32 ~, ~@31 eb4@12 ~@21]/2", // Eb Fsus4
  D: "[eb4,f4]@6 eb4@5 ~ g4@4, bb3@24 bb4@5 ~@3", E: "[ab3,eb4]", F: "[f3,ab3,c4,eb4]@31 ~",
  G: "[c4,eb4]@12 [c4,eb4,g4]@19 ~, ab4@31 ~", H: "[eb4,f4]@12 eb4@12 [eb4,ab4]@2 ~@2 eb4@3 ~, bb3@26 bb4@5 ~",
  I: "[[db4,f4]@30 ~@2 f4@31 ~ f4@30 ~@2, ~@31 [bb3,db4]@32 c4@32 ~]/3", // Db Bbm
  J: "eb4@3 g4@3 [g4,bb4]@2, [bb3,ab4], ~@3 eb4@5", // Gm Bb7
  K: "[[ab3,eb4]@21 ~@12 eb4@19 ab3@6 ab3@5 ~, ~@15 f3@17, ~@31 ab3@21 eb4@11 ~, ~@32 c4@31 ~]/2", // Ab5
  L: "[db3,ab3,c4,db4,f4]@13 ~@3", M: "~@12 bb3@8 ~@6 eb3@5 ~, eb4@20 [bb3,eb4]@11 ~, eb3 ~, bb3@12 f4@19 ~, ~ g4@30 ~",
  N: "[[ab3,c4,eb4]@29 ~@3 eb4@29 ~@3 eb4@29 ~@3, ~@30 f3@31 ~@35, ~@31 [ab3,c4]@31 ~ c4@30 ~@3]/3", // Ab
  O: "[bb3,eb4]@3 [bb3,eb4]@2 [bb3,eb4]@3 [bb3,eb4]@4 [bb3,eb4]@4, eb3", // Eb5
  P: "[~@2 bb4@4 ~@26 [f4,db5]@20 f4@4 ~@2 [f4,ab4]@5 ~, [eb5,g5]@6 [eb5,g5]@4 g4@4 bb4@4 [eb5,g5]@4 g4@34 db4@7 ~, ~@8 bb4@4 [eb5,g5]@4 g4@4 bb4@43 ~, ~@24 [eb5,g5]@39 ~, ~@32 [db4,ab4]@20 db5@11 ~]/2", // Db Fm Eb Db5
  Q: "[ab3,eb4,ab4,c5]@31 ~", R: "db4@20 db4@4 ~@2 [db4,gb4]@5 ~, bb4@31 ~, [gb3,gb4]@3 gb3, ~@5 ab4@3",
  S: "f4@12 f4@4 f4@4 [f4,ab4]@11 ~, [f3,c5]@31 ~, ab4@5 ~@3, ~@12 bb4@19 ~", T: "[eb3,eb4]@16 [f3,f4]@15 ~",
  U: "[eb4,ab4] ~@2 [eb4,g4], ~@8 ab4@23 ~, ~ eb4 [eb4,g4] ~, ~@3 bb3@2 bb3@2 ~", // Ab5 Eb
  V: "[~@56 eb4@11 ~@41 c4@8 [c4,f4]@10 ~@2 f4@29 ~@3 f4@16 ~@4 [bb3,eb4]@5 ~ d4@6, ~@18 g4@4 g4@14 g4@6 g4@4 g4@2 eb4@2 g4@2 eb4@2 bb3@12 ~@29 f3@17 ~@14 bb3@31 ~ g2@22 ~@12, ~@10 bb4@2 eb5@7 eb5@14 ~@15 a4@15 ~@33, ~@26 bb4@4 bb4@4 bb4@6 bb4@4 bb4@22 ~@29 f4@21 ~@11 d4@30 ~ bb3@18 ~@10 bb3 ~@5, ~@28 f5@4 f5@35 ~@41 g4@18 ~@33 d4@18 ~@15]/6", // F5 Eb5
  W: "[c4,eb4]@15 ~", // Cm
  X: "[[f3,c4,f4]@30 ~@2 f4@20 bb3@4 ~@2 d4@5 ~ bb3@12 bb3@8 [bb3,d4]@12, ~@31 [bb2,d4]@25 bb2@7 [g2,g4]@32 ~, ~@52 f4@11 d4@20 ~@13, ~@19 f4@5]/3", // F5 Bb G
  Y: "[d3,d4,f4]@7 ~", // Dm
  Z: "[[c3,f3,c4,f4]@5 ~ [c3,f3,c4,f4]@2 ~@2 [c3,f3,c4,f4]@5 ~ [c3,f3,c4,f4]@7 ~ [c3,f3,f4]@7 ~ [bb3,d4]@12 [g3,bb3,d4]@19 ~@5 d4@2 d4@6 ~@8 [d4,f4]@11 ~, ~@24 c4@39 f4@13 a4@19 ~, ~@32 g2@31 a4@7 bb4@6 d4@4 a3@15 ~, ~@32 g3@7 ~@24 d3@31 ~@2, ~@63 d4 c5@30 ~@2]/3", // F5 Bb Gm Dm
  AA: "[[eb3,bb3,eb4,g4]@6 [bb3,eb4,g4] ~@5 [bb3,eb4,g4]@2 ~@13 bb3@3 ~@2 bb3@6 bb3@4 ~@2 [bb3,d4]@12 [bb3,d4]@7 ~, ~@12 eb3@19 bb2@20 ~@13, ~@24 eb4@7 ~ d4@10 f4@21 ~, ~@38 eb4@25 ~]/2", // Eb Bb
  AB: "eb4@12 ab3@4 ~@4 ab3@6 [ab3,c4]@5 ~, ab2@31 ~, c4@13 ~@3, ab3@6 ~@6 eb4@19 ~, ~@20 d4@11 ~", // Ab
  AC: "g3@3 ~@7 [g3,bb3]@5 ~, g2@15 ~, bb3@5 ~@3, ~@3 c4@12 ~, ~@6 d4@9 ~", // Gm
  AD: "[f4@10 [d4,f4]@5 ~ f4@10 [b3,f4]@5 ~ c4@4 c4@4 ~@4 f3@3 ~ d4@4 d4@4 d4@4 d4@3 ~, d3@15 ~ b2@15 ~ f3@12 ~@4 [d3,gb4]@15 ~, d4@6 ~@9 b3@7 ~@9 f4@8 ~ [c4,f4]@7 ~@5 g4@11 ~, ~@56 a4@7 ~]/2", // Dm Bdim D F5
  AE: "[[eb3,bb3,eb4]@6 [bb3,f4] ~@5 [eb3,bb3,eb4,g4]@18 ~@2 a4@6 [d4,g4] ~@5 [d3,d4,f4]@18 ~@2, ~@15 d4@4 ~@13, ~@31 [d3,f4]@8 ~@25]/2", // Eb5 Bb5 Eb G5 Dm
  AF: "[[c3,c4,eb4]@6 [c4,f4] ~@3 [c4,g4] ~ [c3,c4,eb4]@18 ~@8 d4@5 ~ [d4,f4]@19 ~, ~@15 d4@4 g4@12 ~, ~@31 d3@31 ~@2, ~@31 f4@13 ~@20, ~@32 a4@31 ~]/2", // Cm F5 C5 Cm Dm
  AG: "[ab2,ab3,c4,eb4]@6 [ab3,c4,eb4] ~@5 [ab2,ab3,c4,eb4]@19 ~", // Ab
  AH: "[g2,g3,bb3,d4,f4]@6 [g3,bb3,d4,f4] ~@5 [g2,g3,bb3,d4,f4]@18 ~@2", // Gm7
  AI: "[d3,d4,f4]@15 ~ [b2,f4]@15 ~, ~@16 b3@7 ~@9", // Dm Bdim
  AJ: "f4@5 ~@3 f5@7 ~, [f3,c4]@15 ~, ~@5 f4@10 ~, ~@6 a4@9 ~, ~@7 c5@8 ~", // F5
  AK: "~@16 f2@2 f2@4 ~ [f2,c4]@3 [f2,f3,a3,c4,f4]@4 [f2,f3,a3,c4,f4]@2, ~@15 [f3,a3,c4,f4]@4 ~@3 [f3,a3,f4]@4 ~@6", // F5 F
  AL: "~@2 [f2,f3,a3,c4,f4]@4 [f2,f3,a3,c4]@4 [f2,f3,a3,c4]@4 ~ [f3,bb3,d4]@4 ~ [f3,c4] ~@5 [f3,bb3,d4]@6, ~@7 bb2@3 ~@6", // F Bb F5 Bb
  AM: "[~@2 bb2@5 ~@4 bb2@3 ~ g3@6 ~@5 g3@9 g3@5 ~ [g3,bb3]@5 ~ f3@3 f3@2 ~ f3@6 f3@8 f3@4 ~@2 [f3,c4]@5 f3@4 ~@3 f3@4 f3@3 f3@2 [f3,a3,f4]@5 ~@2 [a3,f4]@4 [a3,f4]@5 bb2@7 ~@5 f3@8 f3@5 ~@2 [f3,bb3,d4]@4 ~ g3@4 g3@2 ~@6 g3@8 ~@7 [g3,d4]@4 ~ [f3,a3,d4]@12 [f3,d4]@6, ~@7 [f3,bb3,d4]@7 ab2@31 ~@8 c4@18 f2@7 f2@31 ~@9 bb2@16 ~ bb2@7 g2@7 g3@2 g2@8 ~@4 g3@6 ~@23, ~@14 bb3@8 g2@4 bb3@14 g2@5 ~@2 f2@20 bb3@10 ~@8 bb3@25 [bb3,d4]@12 [bb3,d4]@15 ~@5 bb3@12 bb3@19 ~@19, ~@14 g2@7 c4@14 c4@11 ~ a3@12 a3@19 a3@16 ~@5 f3@4 ~@7 f3@4 ~@3 f3@5 ~@27 c4@14 c4@10 ~@19, ~@21 g3@5 d4@19 ~ d4@31 ~@12 c4@21 ~@7 c4@24 ~ d4@24 g2@7 ~ f2@16 ~@2]/6", // Gm F5 F Dm Bb G5 Dm Bb
  AN: "[~@3 f3@4 ~@2 a3@6 f3@4 f3@2 f3@4 f3@3 ~@2 [a3,f4]@5 ~@8 f3@3 ~ f3@3 f3@2 ~@6 f3@8 ~@6 [f3,d4]@6 [g2,g3]@6 ~@6 g3@8 ~@7 [g3,bb3]@5 [f3,a3]@6 ~ f3@6 f3@7 f3@4 ~@3 f3@4 ~ [f2,f3]@6 ~@4 f3@4 ~@3 f3@4 ~@2 f3@6 [f3,a3]@3 ~ [bb2,f3]@5 ~@6 f3@8 ~@7 f3@5 bb3@12 ~ [g3,bb3]@5, ~@3 c4@12 a3@13 f3@7 f3@3 f2@7 ~ bb2@8 ~ bb2@8 ~@4 f3@3 bb2@7 ~@7 g3@2 g2@8 ~@5 g3@6 ~@11 a3@6 ~ a3@18 ~ a3@28 ~@10 a3@20 d4@5 ~@19, ~@7 f2@8 f2@22 [a3,f4]@4 [a3,f4]@5 ~@7 a3@25 ~@6 c4@14 ~ c4@10 ~@21 bb3@6 c4@4 ~@8 f3@4 c4@11 f2@2 c4@9 ~@6 f3@6 ~@8 f3@4 bb2@7 ~ g2@16 ~@2, ~@8 f3@6 ~@7 bb3@25 ~ bb3@11 bb3@19 ~ bb3@24 g2@7 ~ f2@16 ~@8 f2@7 ~@9 f2@6 f2@2 d4@15 ~@9 bb2@8 ~@5 c4@11 ~@18, ~@25 c4@21 ~@7 f3@5 ~@9 c4@11 d4@12 d4@19 ~ d4@31 ~@8 bb3@25 ~ bb3@11 bb3@19 ~ g3@8 ~@10]/7", // Dm G Gm F Bb5 Gm Dm
  AO: "[~@2 g3@4 ~@3 g3@5 [f2,f3]@6 f3@6 f3@8 ~@6 [f3,a3]@5 ~ [f2,f3]@6 f3@4 f3@6 f3@6 ~@5 [f3,c4]@5 [bb2,f3,bb3]@35 ~@15, ~@2 c4@11 ~ a3@26 ~@6 a3@16 a3@15 ~@51, ~@6 g2@7 ~@13 c4@19 ~@11 c4@15 f2@7 ~@50, ~@8 d4@5 ~@7 bb3@14 f3@6 ~@29 f3@4 ~@55, ~@35 bb3@11 ~@6 bb3@16 ~ bb3@9 ~@50]/4", // F F5 Bb5
})).s("gm_piano").gain(0.23)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@34 A@2 ~@4 B ~ C@2 ~@2 D ~@5 E ~@10 F@3 G ~ H@2 ~@3 I J K L M N O ~@7 P ~@16 Q R ~ S T U V@3 W@4 X@5 ~
>`.pickRestart({
  A: "[~@31 ab3@32 ~]/2", B: "~@16 eb3@9 ~@7", C: "[~@31 g3@31 ~@2]/2", D: "~@2 g4@3 ~@11", E: "~@28 bb3@3 ~",
  F: "[~@30 c4@14 ~@4 f3@14 ~ bb2@30 ~@3]/3", G: "~@12 g2 ~@3", H: "[~@30 bb3@21 ~@7 bb3@4 ~@2]/2", I: "~@7 g3@4 ~@21",
  J: "~ a3 ~@2", K: "~@10 bb3@3 ~@3", L: "~@20 bb2@11 ~", M: "~@3 ab3@3 ~@2 ab3@2 ~@6", N: "~@2 g3@3 ~@3",
  O: "~@6 d4@4 ~@12 b3@3 ~@7", P: "~@23 b3@8 ~", Q: "~@19 [f3,a3,c4,f4]@4 ~@9", R: "~@6 f4@4 f4@5 ~@7 bb2@4 ~@6",
  S: "g2 ~@3", T: "~@9 f3 ~@6", U: "~@7 f3@7 ~@4 f3@2 ~@12", V: "[~@31 g2@7 ~@25 f2@8 ~@22 a3 ~@2, ~@59 a3@14 ~@23]/3",
  W: "[~@7 f3@4 ~@20 bb2@7 ~@25 g2@7 ~@25 f2@7 ~@26]/4",
  X: "[~@8 f2@6 ~@17 bb2@7 ~@16 g3@4 ~@4 g2@8 ~@16 f2@9 f2@9 f2@5 ~@9 f2@13 f2@4 ~@25]/5",
})).s("gm_piano").gain(0.14)

// chords · rock organ · "ORGAN"
const rock_organ = note("<~@52 A B C D@2 E F G H ~@62>".pickRestart({
  A: "~@31 b5", B: "c6@12 bb5@19 b5", C: "c6@12 bb5@19 a5", D: "bb5@3 a5@5", E: "c6@3 bb5@5, b5 ~@31",
  F: "c6@12 bb5@19 a5, b5 ~@15", G: "bb5@11 ~ a5@20", H: "bb5@6 a5@9 ~",
})).s("gm_rock_organ").gain(0.31)

// chords · rock organ · "ORGAN" · soft notes
const rock_organ_soft = note("<~@53 A B C A@2 B C D ~@62>".pickRestart({
  A: "f5", B: "g5", C: "d5", D: "f5@15 ~",
})).s("gm_rock_organ").gain(0.16)

// other · distortion guitar · "EL GUITAR"
const distortion_guitar = note("<~@76 A@3 ~@29 B@8 C@2 D@5>".pickRestart({
  A: "[~@21 f4 ~@2 bb4@41 ~@31]/3",
  B: "[~@14 eb4@33 bb4@22 ~ bb4@32 c5@7 ~ c5@22 ~@2 d5@8 c5@31 ~ bb4@23 ~ bb4@32 c5@7 ~ c5@18]/8",
  C: "[~@6 d5@8 ~ c5@23 f4@4 ~ bb4@2 a4@2 bb4@4 f4@2 bb4@3 f4@2 bb4@4 f4@2]/2",
  D: "[bb4@4 f4@2 bb4@2 f4@2 c5@2 f4@2 bb4@4 f4@2 bb4@4 ~ f4@3 f4@15 d4@2 ~ f4@97 ~@17]/5",
})).s("gm_distortion_guitar").gain(0.47)

// other · brass section · "BRASS"
const brass_section = note("<~@80 A B@2 C D@3 E F ~@34>".pickRestart({
  A: "f4@16 d4@15 ~", B: "[bb3@15 eb4@8 ~ f4@18 ~@2 f4 ~@3 bb4@11 a4@4 ~]/2", C: "g4@3 ~",
// … 73 more lines

More by Masini