Strudelify

Viso d'angelo

Camaleonti

KeyD♭ majorTempo79 bpm
0:00/0:00
// Viso d'angelo — Camaleonti
// 79.2 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 53 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(79.2/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("<~@2 A@3 B@6 C D E F G H@4 I J@5 K@6 L@8 M N@2 O P Q R S T U@2 V@2>".pickRestart({
  A: "[~@25 db2@50 ~ ab1@51 bb1@17]/3", B: "[~@8 eb2@25 ab1@51 db2@50 gb1@50 eb1@49 ~ ab1@54]/6", C: "db3@2 c3 bb2",
  D: "~ ab2@24 gb2@23", E: "~ f2@24 g2@23", F: "~ ab2@12 ab2@11 ~ gb2@12 gb2@11", G: "~ f2@12 f2@11 ~ db2@11 ~ f2@11",
  H: "[gb2@11 ~ gb2@11 gb2@11 ~ gb2@11 g2@11 ~ g2@11 ~ g2@11 g2@5 ~ g2@5 ~ ab2@5 ab2@5 ~ ab2@5 ~ ab2@5 ab2@2 eb2@2 ~ ab2@3 eb2@2 ~ ab2@2 ~ eb2@2 ab2@3 eb2@3 db2@5 ~ db2@3 ab1@2 db2@3 eb2@4 ~@2 f2@3 gb2@4 ~ gb2@3 db2@3 gb2@2 ~ gb2@2 f2@3 eb2@2 ~ db2@5 ~ db2@2 ab1@2]/4",
  I: "~ db2@2 ~ eb2@5 f2@2 ~ gb2 ~@2 gb2@5 ~ db2@2 gb2@2 ~ gb2@3 f2@3 eb2@3 db2@5 db2@3 ab1@2 ~ db2@2",
  J: "[eb2@4 ~@2 f2@3 gb2@4 ~ gb2@3 db2@3 gb2@2 ~ gb2@3 f2@2 eb2@2 ~ db2@5 ~ db2@3 ab1@2 db2@2 ~ eb2@6 f2@2 gb2 ~@2 gb2@5 ~ db2@2 ~ gb2@2 gb2@3 f2@3 eb2@3 db2@5 db2@3 ab1@2 ~ db2@3 eb2@4 ~ f2@3 gb2@4 ~@2 gb2@2 db2@3 gb2@2 ~ gb2@3 f2@3 eb2@2 ~ db2@7 ~ db2@2 ~ db2@5 db2@5 ~ db2@21 ~ ab2@19 ~@4 ab2@6 gb2@6 f2@6 eb2@5 ~ db2@14 ~@4 db2@3 ~@3 db2@4]/5",
  K: "[~@2 db3@6 ab2@6 db2@5 ~ e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@12 e2@6 e2@6 a2@11 ~ a2@11 ~ a2@11 a2@8 ~@2 a2@2 ab2@10 ~@2 ab2@11 ~ ab2@5]/6",
  L: "[ab2@4 ~@2 ab2@5 ~ ab2@4 ~@2 a2@10 ~ a2@10 ~@2 a2@5 ~ a2@5 ~ a2@5 a2@6 ab2@5 ~ ab2@6 ab2@6 ab2@6 ab2@6 ~ ab2@6 ~ bb2@7 c3@7 db3@16 ~@2 db3@6 c3@12 bb2@12 ~ ab2@18 ab2@5 gb2@18 gb2@6 f2@12 f2@12 g2@11 ~ g2@11 ab2@11 ~ ab2@11 ~ gb2@11 ~ gb2@11 f2@11 ~ f2@11 ~ db2@11 f2@11 ~ gb2@11 gb2@11 ~ gb2@8]/8",
  M: "~@4 gb2@11 g2@11 ~ g2@11 ~ g2@9",
  N: "[~@2 g2@5 ~ g2@5 ~ ab2@5 ab2@5 ~ ab2@5 ~ ab2@5 ab2@2 eb2@2 ~ ab2@3 eb2@2 ~ ab2@2 ~ eb2@2 ~ ab2@2 eb2@3 db2@5 ~ db2@3 ab1@2 db2@3 eb2@4 ~@2 f2@2 gb2@4 ~@2 gb2@3 db2@3 gb2@2 gb2@2]/2",
  O: "~ f2@3 eb2@2 ~ db2@5 db2@3 ab1@3 db2@2 ~ eb2@5 f2@2 ~ gb2 ~@2 gb2@5 db2@2 ~ gb2@2 ~ gb2@3 f2@2",
  P: "eb2@3 db2@5 ~ db2@2 ab1@2 ~ db2@3 eb2@4 ~ f2@3 gb2@4 ~@2 gb2@3 db2@2 gb2@2 ~ gb2@3 f2@3 eb2@2 ~",
  Q: "db2@5 db2@3 ab1@3 db2@2 eb2@6 f2@2 ~ gb2 ~ gb2@5 ~ db2@2 ~ gb2@2 gb2@3 f2@3 eb2@3 db2@4",
  R: "~ db2@3 ab1@2 ~ db2@3 eb2@4 ~ f2@3 gb2@4 ~@2 gb2@2 db2@3 gb2@2 ~ gb2@3 f2@2 eb2@2 ~ db2@7 ~",
  S: "~ db2@2 db2@5 ~ db2@5 ~ gb2@21 ~ db2@11", T: "~ db3@6 bb2@6 ab2@35",
  U: "[~ db2@5 ~ db2@2 ab1@2 ~ db2@3 eb2@4 ~ f2@3 gb2@4 ~@2 gb2@2 db2@3 gb2@2 ~ gb2@3 f2@3 eb2@2 db2@5 ~ db2@3 ab1@3 db2@2 ~ eb2@6 f2@3 ~ gb2@2 ~ gb2@7 db2@3 ~ gb2@3 ~ gb2@4 f2@4]/2",
  V: "[eb2@4 db2@67 ~@25]/2",
})).s("gm_electric_bass_finger").gain(0.64)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@2 A@5 B@3 C D E F G H I@3 J K L M@2 N@8 O@3 P@2 Q R S T@3 U V W@2 X Y@2 Z AA ~
>`.pickRestart({
  A: "[~@25 db3@46 ~@5 ab2@44 ~@7 bb2@21 ~@4 eb3@20 ~@5 c4@24 ~@2 [gb3,ab3,c4]@3 [gb3,c4]@3 [gb3,c4]@3 [gb3,ab3,c4]@6 [gb3,ab3,c4]@3 ~ [gb3,ab3,c4]@6 [f3,ab3,db4]@6 [f3,ab3,db4]@6, ~@22 f4@32 ~@18 eb4@51 db4@24 ~ eb4@25 ~@67, ~@23 db4@35 ~@15 c4@41 ~@8 f4@26 ~@3 g3@22 ab2@23 ~@44, ~@24 f3@43 ~@8 eb3@47 ~@4 f3@22 ~@2 bb3@23 ~@2 eb3@23 ~@42, ~@24 ab3@38 ~@12 ab3@48 ~@2 bb3@23 ~@2 db4@24 ~@3 ab3@23 ~@7 ab3@6 ~@28]/5", // Ab7 Gbdim Ab7 Db
  B: "[~ [f3,ab3,db4]@6 [f3,ab3,db4]@3 [f3,ab3,db4]@3 [f3,ab3,db4]@3 [f3,ab3,db4]@3 ~ [f3,ab3,db4]@3 [f3,ab3,db4]@3 [f3,ab3,db4]@6 [f3,ab3,db4]@5 ~ [gb3,bb3,db4]@6 ~ [gb3,bb3,db4]@6 [gb3,bb3,db4]@6 [gb3,bb3,db4]@6 [gb3,bb3,db4]@3 ~ [gb3,bb3,db4]@3 [gb3,bb3,db4]@3 [gb3,bb3,db4]@6 [gb3,bb3,db4]@3 [gb3,bb3,db4]@5 ~@2 [g3,bb3,eb4]@6 [g3,bb3,eb4]@6 [g3,bb3,eb4]@6 [g3,bb3,eb4]@3 [g3,bb3,eb4]@3 [g3,bb3,eb4]@3 [g3,bb3,eb4]@6 ~ [g3,bb3,eb4]@3 [g3,bb3,eb4]@6 [g3,bb3,eb4]@5 ~ [eb3,ab3,c4]@6]/3", // Db Gb Eb Ab
  C: "~ [eb3,ab3,c4]@3 [eb3,ab3,c4]@3 [eb3,ab3,c4]@6 ~ [eb3,ab3,c4]@3 ~@3 eb4@11 ~@4 gb4@12 ~, ~@18 eb3@12 ~ eb3@10 ~@7, ~@19 [ab3,c4]@12 ~ ab3@12 ~@4, ~@33 c4@11 ~@4, ~@17 eb4@6 ~", // Ab
  D: "[f3,ab3,db4]@6 [f3,ab3,db4]@6 [f3,ab3,db4]@6 [f3,ab3,db4]@6 [f3,ab3,db4]@6 ~ [f3,ab3,db4]@6 [f3,ab3,db4]@3 [f3,ab3,db4]@3 [f3,ab3,db4]@3 [f3,ab3,db4]@2", // Db
  E: "~ [eb3,ab3,c4]@9 [eb3,ab3,c4]@3 [eb3,ab3,c4]@6 [eb3,ab3,c4]@6 [eb3,ab3,c4]@3 [eb3,ab3,c4]@3 [eb3,ab3,c4]@9 [eb3,ab3,c4]@3 [eb3,ab3,c4]@3 [eb3,ab3,c4]@2", // Ab
  F: "~ [f3,bb3,db4]@6 [f3,bb3,db4]@6 [f3,bb3,db4]@6 [f3,bb3,db4]@6 [g3,bb3,eb4]@6 [g3,bb3,eb4]@6 [g3,db4,eb4]@3 [g3,db4,eb4]@3 [g3,db4,eb4]@3 [db4,eb4]@2", // Bbm Eb Eb7 Dbsus2
  G: "~ [eb3,ab3,c4]@9 [eb3,ab3,c4]@3 [eb3,ab3,c4]@6 [eb3,ab3,c4]@6 [gb3,ab3,c4]@3 [gb3,ab3,c4]@3 [gb3,ab3,c4]@3 [gb3,ab3,c4]@6 [gb3,ab3,c4]@3 [gb3,ab3,c4]@5", // Ab Ab7
  H: "~ [f3,ab3,db4]@5 ~ [f3,ab3,db4]@5 ~ [f3,ab3,db4]@5 ~ [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [f3,ab3,db4]@5 ~ [f3,ab3,db4]@4 ~", // Db
  I: "[[gb3,bb3,db4]@5 ~ [gb3,bb3,db4]@5 ~ [gb3,bb3,db4]@5 ~ [gb3,bb3,db4]@5 ~ [gb3,bb3,db4]@2 [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 [gb3,bb3,db4]@5 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@4 ~@2 [g3,bb3,eb4]@5 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@5 [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@4 ~@2 [ab3,c4,eb4]@5 [ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@5 [ab3,c4,eb4]@5 ~ [ab3,c4,gb4]@2 ~ [ab3,c4]@2 ~ [ab3,c4]@2 [ab3,c4]@2 ~ [ab3,c4]@2 ~ [ab3,c4]@2 ~ [ab3,c4]@2 ~ [ab3,c4]@2 [f4,ab4]@2 ~ [f4,ab4]@2 ~@2, ~@118 gb4@5 ~@3 gb4@5 ~ gb4@5 ~@7]/3", // Gb Eb Ab Ab7 Ab Fm
  J: "~@2 [f4,ab4]@2 ~ [f4,ab4]@2 [f4,ab4]@2 ~@4 [f4,ab4]@2 ~ [gb4,bb4]@2 [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4] ~@4 [gb4,bb4]@2 ~ [f4,ab4]@2 ~ [f4,ab4] ~@4 [f4,ab4] ~", // Fm Gb Fm
  K: "~@4 [f4,ab4]@3 ~@3 [f4,ab4]@2 [gb4,bb4]@2 ~ [gb4,bb4] ~@2 [gb4,bb4]@4 ~ [gb4,bb4] ~@2 [gb4,bb4]@2 ~ [gb4,bb4]@3 ~@3 [f4,ab4]@2 [f4,ab4]@2 ~@4 [f4,ab4]@2 ~ [f4,ab4]@2", // Fm Gb Fm
  L: "~ [f4,ab4]@2 ~@3 [f4,ab4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4] ~@4 [gb4,bb4]@2 ~ [f4,ab4]@2 ~ [f4,ab4] ~@5 [f4,ab4] ~@4 [f4,ab4]@3", // Fm Gb Fm
  M: "[~@3 [f4,ab4]@2 ~ [gb4,bb4]@2 [gb4,bb4] ~@2 [gb4,bb4]@4 ~@2 [gb4,bb4]@4 ~ [gb4,bb4]@3 ~@3 [f4,ab4]@2 ~ [f4,ab4]@2 ~@3 [f4,ab4]@2 ~ [f4,ab4]@2 ~ [f4,ab4]@2 ~@3 [f4,ab4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 [gb4,bb4]@2 ~ [gb4,bb4] ~@5 [gb4,bb4]@2 [f4,ab4]@2 ~ [f4,ab4] ~@5 [f4,ab4] ~@4 [f4,ab4]@3 ~@3 [f4,ab4]@2 ~ [gb4,bb4]]/2", // Fm Gb Fm Gb Fm Gb
  N: "[~@2 [gb4,bb4] ~ [gb4,bb4]@4 ~@2 [gb4,bb4] ~@2 [gb4,bb4]@3 [gb4,bb4]@3 ~@2 [f4,ab4]@6 [db4,f4,ab4]@5 ~ [db4,f4,ab4]@5 ~ [db4,f4,ab4]@3 ~@2 eb4@5 ~ [eb4,ab4]@4 ~@2 [c4,eb4,ab4]@8 ~@46 f4@5 ~ e4@6 [ab3,b3,e4]@6 [ab3,b3,e4]@6 [ab3,b3,e4]@6 [ab3,b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [ab3,b3,e4]@6 [ab3,b3,e4]@3 [ab3,b3,e4]@6 [a3,db4,gb4]@6 [a3,db4,gb4]@6 [a3,db4,gb4]@6 [a3,db4,gb4]@3 [a3,db4,gb4]@3 [a3,db4,gb4]@3 [a3,db4,gb4]@3 [a3,db4,gb4]@3 [a3,db4,gb4]@3 [a3,db4,gb4]@6 [a3,db4,gb4]@4 ~@2 [ab3,b3,e4]@6 [ab3,b3,e4]@6 [ab3,b3,e4]@6 [ab3,b3,e4]@6 [ab3,b3,e4]@3 [ab3,b3,e4]@3 [ab3,b3,e4]@3 [ab3,b3,e4]@6 [ab3,b3,e4]@3 [ab3,b3,e4]@4 ~@2 [a3,db4,gb4]@6 [a3,db4,gb4]@6 [a3,db4,gb4]@6 [a3,db4,gb4]@3 [a3,db4,gb4]@3 [a3,db4,gb4]@3 [a3,db4,gb4]@6 [a3,db4,gb4]@3 [a3,db4,gb4]@6 [a3,db4,gb4]@4 ~@2 [db4,e4,a4]@5 ~ [db4,e4,a4]@5 ~ [db4,e4,a4]@5 ~ [db4,e4,a4]@5 ~ [db4,e4,a4]@2 ~ [e4,a4]@2 ~ [e4,a4]@2 [db4,e4,a4]@6 [db4,e4,a4]@2 ~ [db4,e4,a4]@5 ~ [c4,eb4,ab4]@5 ~ [c4,eb4,ab4]@5 ~ [c4,eb4,ab4]@5 ~ [c4,eb4,ab4]@2 ~ [c4,eb4,ab4]@2 ~ [c4,eb4,ab4]@2 ~ [c4,eb4,ab4]@2, ~@19 ab3@3 ~@20 gb3@6 ~@16 db3@22 ~@12 db3@16 ~@270, ~@20 db4@7 ~@16 c4@12 ~@11 ab3@8 ab3@11 ~ ab3@15 ab3@13 ~ [ab3,b3]@6 ~@22 ab3@6 ~@235, ~@67 db4@8 ~@20 db4@9 db4@11 ~@220 db4@5 ~@44, ~@68 f4@11 ~ f4@29 ~@275]/8", // Gb Fm Db Ab5 Ab E E5 E …
  O: "[[c4,eb4,ab4]@2 ~@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@5 ~ [c4,eb4,ab4]@4 ~@2 [db4,e4,a4]@5 ~ [db4,e4,a4]@5 ~ [db4,e4,a4]@5 [db4,e4,a4]@5 ~ [db4,e4,a4]@2 ~ [e4,a4]@2 ~ [e4,a4]@2 ~ [db4,e4,a4]@5 ~ [db4,e4,a4]@2 ~ [db4,e4,a4]@5 [c4,eb4,ab4]@5 ~ [c4,eb4,ab4]@5 ~ [c4,eb4,ab4]@6 [c4,eb4,ab4]@3 [c4,eb4,ab4]@3 [c4,eb4,ab4]@3 ~ [eb4,gb4,c5]@3 [eb4,gb4,c5]@6 ~ [eb4,gb4,c5]@7 [eb4,gb4,c5]@5 ~@2 [f3,ab3,db4]@6 [f3,ab3,db4]@6 [f3,ab3,db4]@6 [f3,ab3,db4]@6 [f3,ab3,db4]@4, ~@44 db4@5 ~@95]/3", // Ab A A5 A Ab Cdim Db
  P: "[~@3 [f3,ab3,db4]@6 [f3,ab3,db4]@3 [f3,ab3,db4]@3 [f3,ab3,db4]@3 [f3,ab3,db4]@3 [eb3,ab3,c4]@9 [eb3,ab3,c4]@3 [eb3,ab3,c4]@5 ~ [eb3,ab3,c4]@5 [eb3,ab3,c4]@3 [eb3,ab3,c4]@3 [eb3,ab3,c4]@9 ~ [eb3,ab3,c4]@2 ~ [eb3,ab3,c4]@2 ~ [eb3,ab3,c4]@2 [f3,bb3,db4]@5 ~ [f3,bb3,db4]@5 ~ [f3,bb3,db4]@5 ~ [f3,bb3,db4]@6 [g3,bb3,eb4]@4]/2", // Db Ab Bbm Eb
  Q: "~@2 [g3,bb3,eb4]@6 [g3,db4,eb4]@2 ~ [g3,db4,eb4]@2 ~ [g3,db4,eb4]@2 ~ [db4,eb4]@2 [eb3,ab3,c4]@8 ~ [eb3,ab3,c4]@3 [eb3,ab3,c4]@5 ~ [eb3,ab3,c4]@6 [gb3,ab3,c4]@2 ~ [gb3,ab3,c4]@2", // Eb Eb7 Dbsus2 Ab Ab7
  R: "~ [gb3,ab3,c4]@2 ~ [gb3,ab3,c4]@5 ~ [gb3,ab3,c4]@2 ~ [gb3,ab3,c4]@5 [f3,ab3,db4]@5 ~ [f3,ab3,db4]@5 ~ [f3,ab3,db4]@5 ~ [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~", // Ab7 Db
  S: "[f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 [f3,ab3,db4]@5 ~ [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@5 ~ [gb3,bb3,db4]@5 ~ [gb3,bb3,db4]@5 [gb3,bb3,db4]@5 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@2", // Db Gb
  T: "[~ [gb3,bb3,db4]@5 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@4 ~@2 [g3,bb3,eb4]@5 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@5 [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@4 ~ [ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@5 [ab3,c4,eb4]@5 ~ [ab3,c4,gb4]@2 ~ [ab3,c4]@2 ~ [ab3,c4]@2 [ab3,c4]@2 ~ [ab3,c4]@2 ~ [ab3,c4]@2 ~ [ab3,c4]@2 ~ [ab3,c4]@2 [f4,ab4]@2 ~ [f4,ab4]@2 ~@4 [f4,ab4]@2 [f4,ab4]@2 ~ [f4,ab4]@2 ~@4 [f4,ab4]@2 ~ [gb4,bb4]@2 [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 [gb4,bb4] ~, ~@87 gb4@5 ~@3 gb4@5 ~ gb4@5 ~@38]/3", // Gb Eb Ab Ab7 Ab Fm Gb
  U: "~@4 [gb4,bb4]@2 ~ [f4,ab4]@2 ~ [f4,ab4] ~@4 [f4,ab4] ~@5 [f4,ab4]@3 ~@2 [f4,ab4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4] ~@2 [gb4,bb4]@4 ~ [gb4,bb4] ~@2 [gb4,bb4]@2 ~ [gb4,bb4]@2", // Gb Fm Gb
  V: "~@3 [f4,ab4]@2 ~ [f4,ab4]@2 ~@3 [f4,ab4]@2 ~ [f4,ab4]@2 ~ [f4,ab4]@2 ~@4 [f4,ab4]@2 [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 [gb4,bb4]@2 ~ [gb4,bb4] ~@5 [gb4,bb4]@2 ~", // Fm Gb
  W: "[[f4,ab4]@2 [f4,ab4] ~@5 [f4,ab4] ~@4 [f4,ab4]@3 ~@3 [f4,ab4]@2 ~ [gb4,bb4]@2 [gb4,bb4] ~@2 [gb4,bb4]@4 ~@2 [gb4,bb4]@4 ~ [gb4,bb4]@3 ~@3 [f4,ab4]@2 ~ [f4,ab4]@2 ~@3 [f4,ab4]@2 ~ [f4,ab4]@2 ~ [f4,ab4]@2 ~@3 [f4,ab4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4] ~@4 [gb4,bb4]@2 ~ [f4,ab4]@2 ~ [f4,ab4] ~@4]/2", // Fm Gb Fm Gb Fm
  X: "~ [f4,ab4] ~@4 [f4,ab4]@3 ~@3 [f4,ab4]@3 [gb4,bb4]@3 [gb4,bb4] ~ [gb4,bb4]@4 ~@2 [gb4,bb4] ~@2 [gb4,bb4]@3 [gb4,bb4]@3 ~@2 [f4,ab4]@6 [db4,f4,ab4]@5, ~@35 ab3@7 ~@6, ~@36 db4@7 ~@5", // Fm Gb Fm Db
  Y: "[~ [db4,f4,ab4]@6 [db4,f4,ab4]@3 ~@3 ab4@28 ~@8 [db4,ab4]@8 [f4,ab4]@2 ~ [f4,ab4]@2 ~ [f4,ab4]@2 ~@4 [f4,ab4]@2 [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 ~ [gb4,bb4]@2 [gb4,bb4]@2 ~ [gb4,bb4] ~@5 [gb4,bb4]@2 [f4,ab4]@3, ~@10 gb3@21 ~@16 db3@13 ~@36, ~@11 c4@24 ~@13 ab3@10 ~@38, ~@4 eb4@9 ~@19]/2", // Db Db5 Fm Gb Fm
  Z: "[f4,ab4] ~@5 [f4,ab4]@2 ~@4 [f4,ab4]@3 ~@4 [f4,ab4]@3 [gb4,bb4]@3 [gb4,bb4] ~@3 [gb4,bb4]@5 ~@2 [gb4,bb4] ~@3 [gb4,bb4]@4 [gb4,bb4]@4", // Fm Gb
  AA: "~@4 db5@37 ~@7, ~ f4@15 ~@8, ~@3 ab4@34 ~@11",
})).s("gm_electric_guitar_clean").gain(0.35).pan(0.4)

// chords · brass section
const brass_section = note("<~@18 A@3 B C@3 ~@9 D@2 E@7 F G H I J ~ K L M ~>".pickRestart({
  A: "[~@41 [f5,ab5]@4 ~@2 [f5,ab5]@2 ~ [f5,ab5]@4 ~ [f5,ab5]@3 ~@3 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@2 ~ [gb5,bb5]@3 ~@3 [gb5,bb5]@3 ~@2 [gb5,bb5]@3 [f5,ab5]@4 ~@2 [f5,ab5]@2 ~ [f5,ab5]@4 ~ [f5,ab5]@3 ~@3 [f5,ab5]@2 [gb5,bb5]@3 ~@3 [gb5,bb5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@3 ~@3 [gb5,bb5]@3 [f5,ab5]@4 ~ [f5,ab5]@2 ~ [f5,ab5]@4 ~]/3", // Fm Gb Fm Gb Fm
  B: "~ [f5,ab5]@3 ~@2 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@2 ~ [gb5,bb5]@3 ~@3 [gb5,bb5]@3 ~@2 [gb5,bb5]@3 [f5,ab5]@4 ~@2 [f5,ab5]@2 ~ [f5,ab5]@4 ~ [f5,ab5]@3", // Fm Gb Fm
  C: "[~@3 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@3 ~@3 [gb5,bb5]@3 [f5,ab5]@4 ~ [f5,ab5]@2 ~ [f5,ab5]@4 ~@2 [f5,ab5]@3 ~@2 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@3 [gb5,bb5]@2 [gb5,bb5]@3 ~@3 [gb5,bb5]@3 ~@3 [gb5,bb5]@3 [f5,ab5]@4 ~ [f5,ab5]@2 ~ [f5,ab5]@4 ~ [f5,ab5]@3 ~@3 [f5,ab5]@2 ~ [bb4,gb5]@3 ~@2 [bb4,gb5]@2 ~ [bb4,gb5]@3 ~@3 [bb4,gb5]@3 ~@2 [bb4,gb5]@3 ~@27]/3", // Fm Gb Fm Gb Fm Ebm
  D: "[~@32 f5@3 ~ gb5@2 ab5@3 ~ f5@27 eb5@27]/2",
  E: "[~@2 ab5@2 ~ bb5@2 ~ c6@12 db6@11 ~ f5@12 eb5@11 ~ db6@12 c6@23 bb5@23 ab5@23 ~ f5@40 gb5@29 ~ g5@45 ab5@27 ~ bb5@2 ~@4 ab5@3 ~@3 bb5@3 ~@2 [f5,ab5]@4 ~@2 [f5,ab5]@2 ~ [f5,ab5]@3 ~@2 [f5,ab5]@3 ~@3 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@2]/7", // Fm Gb
  F: "~@4 [gb5,bb5]@3 [f5,ab5]@4 ~ [f5,ab5]@2 ~ [f5,ab5]@3 ~@3 [f5,ab5]@3 ~@2 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@2 ~ [gb5,bb5]@3 ~@3 [gb5,bb5]@3 ~@2", // Gb Fm Gb
  G: "[gb5,bb5]@3 [f5,ab5]@4 ~@2 [f5,ab5]@2 ~ [f5,ab5]@3 ~@2 [f5,ab5]@3 ~@2 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@3 [gb5,bb5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@3 ~@3 [gb5,bb5]@3", // Gb Fm Gb
  H: "[f5,ab5]@4 ~ [f5,ab5]@2 ~ [f5,ab5]@3 ~@2 [f5,ab5]@3 ~@3 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@3 ~@3 [gb5,bb5]@3 [f5,ab5]@4", // Fm Gb Fm
  I: "~ [f5,ab5]@2 ~ [f5,ab5]@3 ~@3 [f5,ab5]@3 ~@2 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@2 [gb5,bb5]@2 ~ [gb5,bb5]@3 ~@3 [gb5,bb5]@3 ~@2 [gb5,bb5]@3 [f5,ab5]@4 ~@2 [f5,ab5]@2", // Fm Gb Fm
  J: "~ [f5,ab5]@4 ~ [f5,ab5]@3 ~@3 [f5,ab5]@2 ~ [bb4,gb5]@3 ~@2 [bb4,gb5]@2 ~ [bb4,gb5]@3 ~@3 [bb4,gb5]@3 ~@2 [bb4,gb5]@3 ~@11", // Fm Ebm
  K: "~ [f5,ab5]@4 ~@2 [f5,ab5]@2 ~ [f5,ab5]@3 ~@2 [f5,ab5]@3 ~@2 [f5,ab5]@2 ~ [gb5,bb5]@3 ~@3 [gb5,bb5]@2 [gb5,bb5]@3 ~@3 [gb5,bb5]@3 ~@3 [gb5,bb5]@2 [f5,ab5]@3", // Fm Gb Fm
  L: "~@3 [f5,ab5]@2 ~ [f5,ab5]@4 ~@2 [f5,ab5]@3 ~@4 [f5,ab5]@3 [gb5,bb5]@4 ~@3 [gb5,bb5]@3 [gb5,bb5]@4 ~@4 [gb5,bb5]@4 ~@4", // Fm Gb
  M: "[gb5,bb5]@2 [f5,ab5]@3 ~@19", // Gb Fm
})).s("gm_brass_section").gain(0.38).pan(0.6)

// chords · pad sweep
const pad_sweep = note("<A@3 ~@50>".pickRestart({
  A: "[~@121 f5@7 ~@16, ~@45 db3@79 ~@20, ~@51 eb3@19 bb3@19 f4@19 db5@19 ~@17, ~@58 f3@19 db4@19 ab4@19 eb5@13 ~@16, ~@64 ab3@19 eb4@19 bb4@23 ~@19]/3",
})).s("gm_pad_sweep").gain(0.4)

// chords · string ensemble 2
const string_ensemble_2 = note("<~@6 A@5 B C D E F@8 G@4 H I J K@4 L M@8 N@6 O@4>".pickRestart({
  A: "[~@11 gb3@25 db2@50 [gb2,gb3]@50 g3@50 ~@26 ab2@28, ~@12 f3@13 ~@37 ab3@11 ~@7]/5", B: "f4@24 ~ eb4@11 db4@12",
  C: "~@25 ab4@23, ~ c4@47", D: "~ bb3@23 ~@10 bb4@14, ~ db5@36 ~@11, ~@25 eb4@23", E: "~ ab3@24 gb3@23, ~ c5@47",
  F: "[~ db3@23 ~ b2@23 ~@23 eb4@23 ~ bb4@22 ~@24 ab3@32 ~ gb4@11 [f4,ab5]@22 ~ [gb4,bb5]@22 [f4,ab5]@22 [eb4,gb5]@23 [f4,ab5]@22 [gb4,bb5]@22 [f4,ab5]@22 [gb4,gb5]@22 ~ [f4,ab5]@20, ~ f4@70 ~@47 eb5@67 ~@199, ~ ab4@47 [gb3,bb4]@46 ~ g3@46 ~@243]/8", // Fm Gb Fm Ebm Fm Gb Fm Gb …
  G: "[~@2 [gb4,bb5]@22 [f4,ab5]@22 ~ [eb4,gb5]@22 [db4,f5]@23 [ab3,ab4]@23 ~ [db4,f4]@48 b4@6 a5@6 a5@6 ab5@6 ab5@4]/4", // Gb Fm Ebm Db Ab Db
  H: "~ gb5@3 gb5@3 e5@3 e5@3 eb5@3 eb5@3 db5@3 db5@2", I: "~ b4@3 b4@3 a5@3 a5@3 ab5@3 ab5@3 eb5@3 gb5@2",
  J: "~ e5@3 b4@3 ab4@3 b4@3 db5@3 b4@3 gb5@3 b4@2",
  K: "[~@2 db5@6 b4@6 gb5@6 ~@11 a5@6 db6@3 ~@3 db6@3 ~@3 db6@3 ~@3 db6@4 ~@2 db6@4 ~@14 ab5@5 c6@4 ~@2 c6@4 ~@2 c6@4 ~@2 c6@4 ~@2 c6@4 ~@13 a5@5 db6@3 ~@3 db6@4 ~@2 db6@4 ~@2 db6@4 ~@2 db6@3 ~@3 c5@5 ~ db5@6 eb5@6 f5@6 gb5@6 ab5@2, ~@20 [e5,ab5]@46 ~ [c5,eb5]@45 ~@2 [db5,e5]@45 ~@33]/4", // E Cm Dbm
  L: "~@5 bb5@8 c6@7 f4@24 ~ eb4@3",
  M: "[~@8 db4@12 ~@24 ab4@24 bb3@23 ~@10 bb4@14 ab3@23 ~ gb3@23 db3@22 ~ b2@24 ~@23 eb4@23 ~ bb4@23 ~@22 ab3@32 ~@2 gb4@11 [f4,ab5]@22 [gb4,bb5]@16, ~@21 c4@47 db5@35 ~@12 c5@47 ab4@46 ~ [gb3,bb4]@46 ~ g3@45 ~@83, ~@92 eb4@23 ~@47 f4@70 ~@47 eb5@67 ~@38]/8", // Fm Gb
  N: "[~@7 [f4,ab5]@22 [eb4,gb5]@22 [f4,ab5]@22 [gb4,bb5]@22 [f4,ab5]@22 ~ [gb4,gb5]@22 [f4,ab5]@22 [gb4,bb5]@22 [f4,ab5]@22 ~ [eb4,gb5]@22 [db4,db5]@23 ~ [ab3,ab4]@35]/6", // Fm Ebm Fm Gb Fm Gb Fm Gb …
  O: "[~ [f4,ab5]@22 [gb4,bb5]@22 [f4,ab5]@24 ~ [eb4,gb5]@30 [f4,ab5]@68 ~@24]/4", // Fm Gb Fm Ebm Fm
})).s("gm_string_ensemble_2").gain(0.3)

// other · trumpet
const trumpet = note("<~@11 A B C D E@5 F G H@3 ~@9 I@2 J@7 K L M N O ~ P Q R ~>".pickRestart({
  A: "~@12 f4@3 ~ gb4@2 ab4@3 ~ f4@26", B: "~ eb4@30 ab4@2 ~ bb4@3 c5@11", C: "~ db5@12 f4@12 eb4@12 db5@11",
  D: "~ c5@24 bb4@23",
  E: "[~ ab4@23 ~ f5@40 gb5@29 ~ g5@45 ab5@27 ~ bb5@2 ~@4 ab5@3 ~@3 bb5@3 ~@3 ab5@2 ~@3 ab5@2 ~ ab5@2 ~@3 ab5@2 ~@4 ab5@2 ~ bb5@2 ~@3 bb5@2 ~ bb5@2 ~@4 bb5@2 ~@3 bb5@2 ~ ab5@2 ~@3 ab5 ~@2 ab5@2]/5",
  F: "~@4 ab5@2 ~@3 ab5@2 ~ bb5@2 ~@4 bb5 ~@2 bb5@2 ~@3 bb5@2 ~@4 bb5@2 ~ ab5@2 ~@3 ab5@2 ~ ab5@2 ~@3",
  G: "ab5@2 ~@4 ab5@2 ~ bb5@2 ~@3 bb5@2 ~ bb5@2 ~@4 bb5@2 ~@3 bb5@2 ~ ab5@2 ~@4 ab5 ~@2 ab5@2 ~@3 ab5@2 ~",
  H: "[~@2 ab5@2 ~ bb5@2 ~@4 bb5 ~@2 bb5@2 ~@3 bb5@2 ~@4 bb5@2 ~ ab5@2 ~@3 ab5@2 ~ ab5@2 ~@4 ab5@2 ~@3 ab5@2 ~ bb5@2 ~@4 bb5@2 bb5@2 ~@4 bb5@2 ~@4 bb5@2 ~ ab5@2 ~@3 ab5 ~@2 ab5@2 ~@3 ab5@2 ~@4 ab5@2 ~ gb5@2 ~@3 gb5 ~@2 gb5@2 ~@4 gb5@2 ~@3 gb5@2 ~@28]/3",
  I: "[~@32 f5@3 ~ gb5@2 ab5@3 ~ f5@27 eb5@27]/2",
  J: "[~@2 ab5@2 ~ bb5@2 ~ c6@12 db6@11 ~ f5@12 eb5@11 ~ db6@12 c6@23 bb5@23 ab5@23 ~ f5@40 gb5@29 ~ g5@45 ab5@27 ~ bb5@2 ~@4 ab5@3 ~@3 bb5@3 ~@3 ab5@2 ~@3 ab5@2 ~ ab5@2 ~@3 ab5@2 ~@4 ab5@2 bb5@2 ~@4 bb5@2 ~ bb5@2 ~@3 bb5@2]/7",
  K: "~@4 bb5@2 ~ ab5@2 ~@3 ab5 ~@2 ab5@2 ~@4 ab5@2 ~@3 ab5@2 ~ bb5@2 ~@4 bb5 ~ bb5@2 ~@4 bb5@2 ~@3",
  L: "bb5@2 ~ ab5@2 ~@4 ab5@2 ab5@2 ~@4 ab5@2 ~@3 ab5@2 ~ bb5@2 ~@4 bb5@2 ~ bb5@2 ~@3 bb5@2 ~@4 bb5@2 ~",
  M: "ab5@2 ~@3 ab5 ~@2 ab5@2 ~@3 ab5@2 ~@4 ab5@2 bb5@2 ~@4 bb5 ~@2 bb5@2 ~@3 bb5@2 ~@4 bb5@2 ~ ab5@2 ~@2",
  N: "~ ab5@2 ~ ab5@2 ~@4 ab5@2 ~@3 ab5@2 ~ bb5@2 ~@4 bb5@2 bb5@2 ~@4 bb5@2 ~@4 bb5@2 ab5@2 ~@4 ab5 ~",
  O: "~ ab5@2 ~@3 ab5@2 ~@4 ab5@2 gb5@2 ~@4 gb5 ~@2 gb5@2 ~@4 gb5@2 ~@3 gb5@2 ~@12",
  P: "~ ab5@2 ~@4 ab5@2 ab5@2 ~@4 ab5@2 ~@3 ab5@2 ~ bb5@2 ~@4 bb5@2 bb5@2 ~@4 bb5@2 ~@4 bb5@2 ~ ab5@2",
  Q: "~@3 ab5 ~@2 ab5@2 ~@4 ab5@2 ~@4 ab5@2 ~@2 bb5@3 ~@4 bb5@2 ~@2 bb5@3 ~@4 bb5@2 ~@6", R: "bb5@3 ~@2 ab5@3 ~@40",
})).s("gm_trumpet").gain(0.64).pan(0.4)

// chords · orchestral harp
const orchestral_harp = note(`<
  A@3 ~@3 B C D@2 E ~@4 F G H I J K L M N ~@2 O@7 P Q R S T U V W X@2 Y Z AA AB ~@2 AC AD AE ~
>`.pickRestart({
  A: "[~@49 f6@2 ~@15 ab5@2 ~@38 db4@2 ~@13 bb6@2 ~@21, ~@44 eb6@2 f6@2 db6@2 ~@2 db6@2 eb6@2 bb5@2 db6@2 ab5@2 bb5@2 f5@2 ~@26 f4@2 db4@2 eb4@2 bb3@2 db4@2 ab3@2 ab3@2 ~@3 f4@2 bb4@2 eb5@2 ab5@2 db6@2 f6@2 ~@23, ~@45 ab6@2 eb6@2 ~@2 eb6@2 bb5@2 db6@2 ab5@2 bb5@2 f5@2 ab5@2 eb5@2 ~@24 db4@2 eb4@2 bb3@2 db4@2 ab3@2 bb3@2 f3@2 bb3@2 ~ eb4@2 ab4@2 db5@2 f5@2 bb5@2 eb6@2 ab6@2 ~@22]/3",
  B: "~@42 [f4,bb4] ~@5", C: "~ [eb4,ab4] ~@5 [f4,bb4] ~@37 [f4,bb4] ~@2",
  D: "[~@3 [eb4,ab4] ~@5 [db4,gb4] ~@37 db5@2 ~@4 [ab4,c5] ~@5 [g4,bb4] ~@30 [ab4,c5]@5 ~, ~@47 bb4 ~@48]/2", // Ab5 Gb5 Ab Gm Ab
  E: "~@7 [gb4,bb4]@2 ~@39", F: "~@7 [f4,bb4] ~@5 [eb4,ab4] ~@5 [f4,bb4] ~@28",
  G: "db5@2 ~@4 [gb4,bb4] ~@5 [f4,ab4] ~@5 [db4,gb4] ~@29, bb4 ~@47", // Gb Fm Gb5
  H: "~@4 db5@2 ~@4 [ab4,c5] ~@5 [g4,bb4] ~@10 g4 ~@5 eb4 ~@10 [ab4,c5]@4, ~@4 bb4 ~@43", // Ab Gm Ab
  I: "~@8 gb4 ~@32 [ab4,db5] ~@6", J: "~@15 bb4@2 ~@10 [f4,ab4] ~@4 [eb4,gb4] ~@5 [db4,f4] ~@9, ~@15 gb4 ~@32",
  K: "~@18 [gb4,bb4]@2 ~@4 [f4,ab4]@2 ~@3 [eb4,gb4] ~@5 [db4,f4] ~@10 [bb4,db5]@2", // Gb Fm Ebm Db Bbm
  L: "~@9 [db4,gb4]@2 ~@9 [ab4,c5] ~@5 [bb4,db5] ~@15 db5@2 ~@4, ~@42 ab4 ~@5", // Gb5 Ab Bbm
  M: "[ab4,db5] ~@10 db5@2 ~@4 [ab4,c5] ~@4 bb4@2 ~@4 [ab4,db5] ~@19, ~@11 bb4 ~@10 gb4 ~@25", // Db5 Ab Db5
  N: "~@2 bb4@2 ~@9 [f4,ab4] ~@5 [eb4,gb4] ~@4 [db4,f4] ~@23, ~@2 gb4 ~@45", // Fm Ebm Db
  O: "[~@37 e4 ~@5 b5@2 e4 ~@3 e5@2 ~@24 b4@2 ~@9 db5@2 ~@8 db5@2 ~@16 a5@2 ~@17 e4 ~@5 b5@2 e4 ~@3 e5@2 ~@24 b4@2 ~@10 a4@2 ~@7 db5@2 ~@16 a5@2 ~@17 e4 ~@5 a5@2 e4 ~@3 e5@2 ~@23 a4@2 ~@9 c5@2 ~@8 c5@2 ~@15 a5@2 ~@2 db5@2 ~@12 e4 ~@5 a5@2 e4 ~@3 e5@2, ~@36 db4@2 ab4@2 db5@2 ab5@2 ~@3 b4@2 ~@8 b3@2 e4@2 b4@2 e5@2 b5@2 e6@2 e6@2 b5@2 e5@2 ~@5 gb6@2 db6@2 gb5@2 ~@7 db6@2 e5@2 ~@14 db5@2 gb5@2 ~@20 b4@2 e5@2 ~@3 ab4@2 db5@2 ~@8 db4@2 ab4@2 db5@2 ab5@2 db6@2 ab6@2 db6@2 ab5@2 db5@2 ~@6 db6@2 gb5@2 db5@2 ~@6 a5@2 ~@16 e5@2 ~@18 db4@2 gb4@2 db5@2 gb5@2 ~@3 a4@2 ~@7 a3@2 e4@2 a4@2 e5@2 a5@2 e6@2 eb6@2 a5@2 eb5@2 ~@5 gb6@2 c6@2 gb5@2 ~@7 c6@2 eb5@2 ~@13 c5@2 gb5@2 ~ gb5@2 ~@16 a4@2 e5@2 ~@3 gb4@2 db5@2 ~, ~@39 b4@2 e5@2 ~@3 ab4@2 db5@2 ~@8 db4@2 ab4@2 db5@2 ab5@2 db6@2 ab6@2 db6@2 ab5@2 db5@2 ~@5 e6@2 a5@2 e5@2 ~@7 a5@2 ~@16 e5@2 ~@18 db4@2 ab4@2 db5@2 ab5@2 ~@3 b4@2 ~@8 b3@2 e4@2 b4@2 e5@2 b5@2 e6@2 e6@2 b5@2 e5@2 ~@6 e6@2 a5@2 e5@2 ~@6 db6@2 e5@2 ~@14 db5@2 gb5@2 ~@20 a4@2 e5@2 ~@3 gb4@2 db5@2 ~@7 db4@2 gb4@2 db5@2 gb5@2 db6@2 ab6@2 c6@2 gb5@2 c5@2 ~@5 eb6@2 a5@2 eb5@2 ~@7 a5@2 ~@15 eb5@2 ~@3 e5@2 ~@12 db4@2 gb4@2 db5@2 gb5@2 ~@3 a4@2 ~@2]/7",
  P: "~@23 a4@2 ~@9 c5@2 ~@6 a5@2 ~ c5@2 ~, ~@6 a3@2 e4@2 a4@2 gb5@2 db6@2 ab6@2 c6@2 gb5@2 c5@2 ~@5 eb6@2 a5@2 eb5@2 ~@9 eb5@2 ~@2, ~@7 db4@2 gb4@2 [db5,e5]@2 a5@2 e6@2 eb6@2 a5@2 eb5@2 ~@5 gb6@2 c6@2 gb5@2 ~@7 c6@2 ~@5", // Dbm
  Q: "~@18 a5@2 [db5,f5] ~@5 [db5,f5] ~@5 [db5,f5] ~@5 [db5,f5] ~@6 [db5,f5] ~@2, ~@15 c5@2 gb5@2 ~@29, ~@8 eb5 ~@15", // Db
  R: "~@3 [db5,f5] ~@5 [db5,f5] ~@5 [db5,f5] ~@5 [c5,eb5] ~@5 [c5,eb5] ~@5 [c5,eb5] ~@4 [c5,eb5] ~@5 [c5,eb5] ~@3", // Db Cm
  S: "~@3 [c5,eb5] ~@4 [c5,eb5] ~@5 [c5,eb5] ~@5 [db5,f5] ~@5 [db5,f5] ~@5 [db5,f5] ~@5 [db5,f5] ~@5 g5@2 ~@2, ~@44 eb5 ~@3", // Cm Db
  T: "~@2 [eb5,g5] ~@5 [eb5,g5] ~@5 [eb5,g5] ~@4 [eb5,ab5] ~@5 [eb5,ab5] ~@5 [eb5,ab5] ~@5 [eb5,ab5] ~@5 [eb5,ab5] ~@4", // Eb Ab5
  U: "~ [eb5,ab5] ~@5 [eb5,ab5] ~@4 [eb5,ab5] ~@5 [db5,f5] ~@5 [db5,f5] ~@5 [db5,f5] ~@5 [db5,f5] ~@5 [db5,f5] ~@4 [db5,f5]", // Ab5 Db
  V: "~@5 [db5,f5] ~@5 [db5,f5] ~@5 [db5,gb5] ~@5 [db5,gb5] ~@4 [db5,gb5] ~@5 [db5,gb5] ~@5 [db5,gb5] ~@5 [db5,gb5] ~", // Db Gb5
  W: "~@4 [db5,gb5] ~@5 [db5,gb5] ~@5 [eb5,g5] ~@4 [eb5,g5] ~@5 [eb5,g5] ~@5 [eb5,g5] ~@5 [eb5,g5] ~@4 [eb5,g5] ~@3", // Gb5 Eb
  X: "[~@2 [eb5,g5] ~@5 [eb5,g5] ~@4 [c5,ab5] ~@5 [c5,ab5] ~@5 c5@2 ~@3 c5@2 ~@4 [c5,ab5] ~@5 c5@2 ~@3 c5@2 ~@4 [c5,ab5] ~@4 [ab4,db5] ~@21 bb4@2 ~@10 [f4,ab4] ~@3, ~@25 ab5 ~@4 ab5 ~@11 ab5 ~@4 ab5 ~@32 gb4 ~@15]/2", // Eb Fm Db5 Fm
  Y: "~ [eb4,gb4] ~@5 [db4,f4] ~@26 [gb4,bb4]@2 ~@4 [f4,ab4]@2 ~@4 [eb4,gb4] ~", // Ebm Db Gb Fm Ebm
  Z: "~@3 [db4,f4] ~@10 [bb4,db5]@2 ~@9 [db4,gb4]@2 ~@9 [ab4,c5] ~@5 [bb4,db5] ~@5", // Db Bbm Gb5 Ab Bbm
  AA: "~@11 db5@2 ~@3 [ab4,db5] ~@10 db5@2 ~@4 [ab4,c5] ~@4 bb4@2 ~@4 [ab4,db5] ~@3, ~@11 ab4 ~@15 bb4 ~@10 gb4 ~@9", // Db5 Ab Db5
  AB: "~@18 bb4@2 ~@9 [f4,ab4] ~@5 [eb4,gb4] ~@4 [db4,f4] ~@7, ~@18 gb4 ~@29", // Fm Ebm Db
  AC: "~@4 [ab5,db6] ~@2 [ab5,db6] ~@4 [ab5,db6] ~@2 [ab5,db6] ~@5 [ab5,db6] ~@4 [bb5,db6] ~@2 [bb5,db6] ~@4 [bb5,db6] ~@2 [bb5,db6] ~@5 [bb5,db6] ~@4", // Db5 Bbm
  AD: "[ab5,db6] ~@2 [ab5,db6] ~@5 [ab5,db6] ~@2 [ab5,db6] ~@5 [ab5,db6] ~@6 [bb5,db6] ~@3 [bb5,db6] ~@6 [bb5,db6] ~@3 [bb5,db6] ~@7", // Db5 Bbm
  AE: "[bb5,db6] ~@3 [ab5,db6] ~@43", // Bbm Db5
})).s("gm_orchestral_harp").gain(0.32)

// chords · orchestral harp · soft notes
const orchestral_harp_soft = note("<A B ~@16 C ~@7 D E F G H I J@3 ~@18>".pickRestart({
  A: "~@43 f6@2 ~@3, ~@37 db7@2 ab6@2 bb6@2 ~@5, ~@19 bb6 f6 ab6 ~@2",
  B: "~@20 eb5@2 ~@17 ab4@2 ~ eb4@2 ~@4, ~@19 f5@2 ~ db5@2 eb5@2 bb4@2 db5@2 ab4@2 bb4@2 f4@2 ab4@2 eb4@2 ~@8, ~@23 f5@2 db5@2 eb5@2 bb4@2 db5@2 ab4@2 bb4@2 f4@2 ~@2 f4@2 ~@5",
  C: "~@4 bb4 ~@19", D: "~@35 b3@2 ~@7 db6@2 ~@2",
  E: "~@3 b5@2 ~@3 ab3@2 ~@20 db4@2 ~@10 db4@2 ~@4, ~@2 ab5@2 ~ b2@2 e3@2 ~@19 ab4@2 ~@9 a4@2 e4@2 ~@5, ~@6 db3@2 ~@21 e4@2 ~@9 gb4@2 ~@6",
  F: "~@6 a3@2 ~@6 a4@2 ~@19 b3@2 ~@7 db6@2 ~@2, ~ a4@2 e4@2 b3@2 ~ gb3@2 b3@2 e4@2 ~@34, ~@2 gb4@2 db4@2 ~@3 a3@2 db4@2 gb4@2 ~@33",
  G: "~@3 b5@2 ~@3 ab3@2 ~@22 gb6@2 ~@8 db4@2 ~@4, ~@2 ab5@2 ~ b2@2 e3@2 ~@19 ab4@2 db4@2 ~@8 gb4@2 ~@6, ~@6 db3@2 ~@21 e4@2 b3@2 ~@8 e4@2 ~@5",
  H: "~@6 a3@2 ~@6 a4@2 ~@19 a3@2 ~@7 db6@2 ~@2, ~ a4@2 e4@2 b3@2 ~ gb3@2 b3@2 e4@2 ~@34, ~@2 gb4@2 db4@2 ~@3 a3@2 db4@2 gb4@2 ~@33",
  I: "~@2 [gb5,a5]@2 ~@3 gb3@2 ~@20 eb4@2 ~@10 c4@2 ~@5, ~@4 b2@2 e3@2 ~@19 ab4@2 ~@9 a4@2 eb4@2 ~@6, ~@5 db3@2 ~@21 gb4@2 ~@9 gb4@2 ~@7", // Gbm
  J: "[~@4 ab3@2 ~@6 a4@2 ~@11 a3@2 ~@5 a3@2 ~@7 db6@2 ~@5 a5@2 ~@3 gb3@2 ~@19 eb4@2 ~@10 c4@2 ~@11 ab3@2 ~@4 c4@2 ~@2 a4@3 ~@32, [gb4,a4]@2 c4@2 ~@3 ab3@2 c4@2 gb4@2 ~@8 a4@2 e4@2 ~@22 gb5@2 ~@2 db3@2 ~@20 gb4@2 ~@9 gb4@2 ~@8 a4@2 eb4@2 bb3@2 ~@2 gb3@2 bb3@2 ~ eb4@3 ~@34, ~ eb4@2 bb3@2 ~ gb3@2 bb3@2 eb4@2 ~@10 gb4@2 db4@2 ~@24 b2@2 e3@2 ~@18 ab4@2 ~@9 a4@2 eb4@2 ~@8 gb4@2 c4@2 ~@4 ab3@2 ~@3 gb4@3 ~@33]/3", // Gbm
})).s("gm_orchestral_harp").gain(0.16)

// chords · rock organ
const rock_organ = note("<~@2 A@3 B@6 C D E F G H@7 I@8 J K L M@8 N@2 O@5 P@4>".pickRestart({
  A: "[~@25 [db4,db6,f6]@50 ~ [ab3,c6,eb6]@50 ~ [bb3,bb5,db6,f6]@17, ~@25 ab5@101 ~@18]/3", // Db Ab Bbm
  B: "[~@8 [eb3,g5,eb6]@25 ab5@25 ~ gb5@25 [db4,f5,db6]@50 [gb3,gb5,bb5]@50 ~ [eb3,g5,bb5]@49 ab5@25 gb5@29, ~@33 [ab3,c6]@50 ~@151 [ab3,c6]@54]/6", // Eb Db Gb Eb Ab
  C: "[db5,f5]", D: "~ [c5,eb5]@47", E: "~ [db5,f5]@24 [eb5,g5]@23", F: "~ ab5@24 gb5@23, ~ c6@47",
  G: "~ [db4,f5,db6]@47", // Db
  H: "[[gb3,gb5]@46 ~ [eb3,g5]@45 ~ ab5@21 gb5@23 [f5,ab5]@22 ~ [gb5,bb5]@22 [f5,ab5]@22 [gb5,bb5]@22 ~ [f5,ab5]@22 [gb5,bb5]@22 [f5,ab5]@22 [gb5,bb5]@22 ~ [f5,ab5]@20, bb5@92 [ab3,c6]@45 ~@199]/7", // Gb Eb Fm Gb Fm Gb Fm Gb …
  I: "[~@2 [gb5,bb5]@22 [f5,ab5]@22 ~ [gb5,bb5]@22 [ab5,db6]@23 [gb5,bb5]@23 ~ [f5,ab5]@48 [e5,ab5]@47 ~ [gb5,a5]@47 ~ [e5,ab5]@47 ~ [gb5,a5]@46 ~@13 a5@7 db6 ~@5 db6@2 ~@2, ~@89 a4@7]/8", // Gb Fm Gb Db5 Gb Fm E Gbm …
  J: "~@2 db6@2 ~@4 db6@2 ~@3 db6@2 ~@15 ab5@6 ~ c6@2 ~@4 c6@2 ~@3, ~@19 ab4@29",
  K: "~ c6@2 ~@3 c6@2 ~@4 c6@5 ~@12 a5@6 db6 ~@5 db6 ~@5 db6, ~@3 a4@5",
  L: "~@5 db6@2 ~@3 db6@2 ~@16 c6@19 bb5, ~ ab4@2",
  M: "[~@13 gb5@6 ~ [db5,f5]@48 ~ [c5,eb5]@47 [db5,f5]@24 [eb5,g5]@23 ab5@24 gb5@23 [db4,f5,db6]@46 ~ [gb3,gb5]@46 ~ [eb3,g5]@45 ab5@22 gb5@13, ~@6 ab5@11 ~@146 c6@47 ~@47 bb5@92 [ab3,c6]@35]/8", // Db Cm Db Eb Db Gb Eb Ab
  N: "[~@10 [f5,ab5]@22 ~ bb5@22 [f5,ab5]@22 [gb5,bb5]@19, ~@32 gb5@21 ~@43]/2", // Fm Gb
  O: "[~@3 [f5,ab5]@22 [gb5,bb5]@22 ~ ab5@22 [gb5,bb5]@22 [f5,ab5]@22 [gb5,bb5]@22 [f5,ab5]@22 ~ [gb5,bb5]@22 [ab5,db6]@23 ~ [gb5,bb5]@35, ~@47 f5@22 ~@171]/5", // Fm Gb Fm Gb Fm Gb Db5 Gb
  P: "[~ [f5,ab5]@22 [gb5,bb5]@22 [f5,ab5]@24 ~ [gb5,bb5]@30 [f5,ab5]@68 ~@24]/4", // Fm Gb Fm Gb Fm
})).s("gm_rock_organ").gain(0.25).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  ~@11 A B@4 C D E F G H I J K L M L@3 M N O P Q R M S T U V W X Y Z AA AB AC AD AE AF AG ~
>`.pickRestart({
  A: "x ~@2 x!2 ~@3", B: "~ x ~@17 x ~@5 x ~@22", C: "x ~@17 x ~@4 x ~@23 x", D: "~@16 x ~@4 x ~@23 x ~@2",
  E: "~@8 x ~@10 x ~@10 x ~@5 x ~@4 x ~@6", F: "~@2 x ~@4 x ~@5 x ~@2 x ~@4 x ~@2 x ~@5 x ~@4 x ~@2 x ~@7 x ~",
  G: "~@4 x ~@5 x ~ x ~@5 x ~@2 x ~@4 x ~@5 x ~@2 x ~@7 x ~@4",
  H: "x ~@5 x ~@2 x ~@5 x ~ x ~@5 x ~@5 x ~ x ~@7 x ~@5 x ~@2",
  I: "~@3 x ~@2 x ~@4 x ~@2 x ~@5 x ~@4 x ~@2 x ~@7 x ~@5 x ~@4 x",
  J: "~@2 x ~@5 x ~@2 x ~@4 x ~@5 x ~@2 x ~@7 x ~@4 x ~@8 x", K: "~@16 x ~@4 x ~@22 x ~@3", L: "~@10 x ~@8 x ~@2 x ~",
  M: "~@7 x ~@2 x ~@8 x ~@2 x ~", N: "~@2 x ~@13 x ~@2 x ~@17 x ~@5 x ~@4",
  O: "x ~@11 x ~@5 x ~@5 x ~@10 x ~@5 x ~@5 x", P: "~@11 x ~@4 x ~@5 x ~@11 x ~@12 x",
  Q: "~@6 x ~@6 x ~@6 x ~@17 x ~@5 x ~@3", R: "~@21 x ~@16 x ~@5 x ~@3", S: "~@2 x ~@11 x ~@4 x ~@17 x ~@5 x ~@4",
  T: "~@13 x ~@4 x ~@17 x ~@4 x ~@6", U: "~@11 x ~@5 x ~@16 x ~@5 x ~@7", V: "~@16 x ~@4 x ~@11 x ~@4 x ~@9",
  W: "~@13 x ~@11 x ~@10 x ~@10 x", X: "~@5 x ~@4 x ~@8 x ~@4 x ~@5 x ~@2 x ~@4 x ~@2 x ~@5 x",
  Y: "~@4 x ~@2 x ~@7 x ~@4 x ~@5 x ~@2 x ~@5 x ~ x ~@5 x ~@4",
  Z: "x ~@2 x ~@7 x ~@5 x ~@5 x ~ x ~@5 x ~@2 x ~@4 x ~@5 x ~@2",
// … 111 more lines

More by Camaleonti