Strudelify

Cervo a primavera

Cocciante

KeyB♭ minorTempo125 bpm
0:00/0:00
// Cervo a primavera — Cocciante
// 125 bpm, 4/4, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 136 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(125/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 · acoustic guitar steel · "STEEL GT"
const acoustic_guitar_steel = note(`<
  ~@4 A@7 B@2 C@2 D@2 E@2 F@2 G@2 H I@2 B@2 C@2 D@2 E@2 J@2 K@2 L M N O@2 P@2 Q R S T U@2 Q V W X Y Z AA AB@2 AC AD AE
  AF AG@2 AH AI AJ AK AL Z AA AM AN AO AD AP AQ AR AG AH AD AS AK AT AU AV@2 AW AX@2 AY AZ BA@2 BB BC BD@2 BE BC BF BG
  BD@2 BH BI@2 BJ BA BI@2 BD BK BI BC BG@2 BD BL BM BI@2 BN BA BO BP BD BQ BR BS BT@2 ~@2
>`.pickRestart({
  A: "[~@16 [eb4,gb4]@29 ~@3 [eb4,gb4]@29 ~@3 [eb4,gb4]@29 ~@3, ~@15 [eb3,bb3]@30 ~@2 [eb3,bb3]@30 ~@2 [eb3,bb3]@30 ~@3]/7", // Ebm Eb5
  B: "[~@7 [gb3,bb3,eb4], eb3!2 eb3!2, ~ [gb3,bb3,eb4]@2 [gb3,bb3,eb4]@2 [gb3,bb3,eb4]@2 ~]/2", // Ebm
  C: "[~@4 [f3,bb3]@7 ~@13 bb2@4 ab2@4, bb2@8 ~@4 bb3@7 ~ [db3,bb3]@11 ~, ~@2 bb2 ~, ~@20 f3@9 ~@3]/2", // Bb5 Gb
  D: "[~ [db3,gb3]@2 ~@4 [db3,gb3,bb3], gb2@8 ~@4 [db3,gb3]@7 ~ [db3,gb3]@7 ~@5, ~@2 gb2!2]/2", // Gb5 Gb Gb5
  E: "[~@7 [f3,bb3,d4], bb2 f2 bb2!2, ~@4 [f3,bb3]@8 [f3,bb3]@8 [f3,bb3]@7 ~@5]/2", // Bb Bb5
  F: "[~@7 [gb3,b3], b2 gb2 b2!2, ~@4 [gb3,b3]@7 ~ [gb3,b3]@8 [gb3,b3]@7 ~@5]/2", // B5
  G: "[~@4 [gb3,db4]@7 ~@17 gb3@4, gb2@8 ~@4 [gb3,db4]@8 [gb3,db4]@7 ~@5, ~@2 gb2!2]/2", // Gb5
  H: "~@3 [ab3,db4], db3 ab2, ~@4 [ab3,db4]@7 ~@5", // Db5
  I: "[~@20 [bb3,d4,f4]@4 bb3@3 ~ gb3@4, bb2 f2 bb2 ~, ~@4 [bb3,d4]@7 ~ [bb3,d4,f4]@7 ~@13]/2", // Bb
  J: "[~@4 [gb4,b4,eb5] ~ [gb4,b4,eb5] ~@5 [gb4,b4,eb5]@8 [gb4,b4,eb5] ~ [gb4,b4,eb5] ~@5 [b4,eb5]@4, ~@27 [b3,gb4]@5]/2", // B B5
  K: "[~@2 [gb4,bb4,db5] ~@3 [gb4,bb4,db5] ~@5 [gb4,bb4,db5]@6 [gb4,bb4,db5] ~@3 [gb4,bb4,db5] ~@5 [gb4,bb4]@4, ~@27 [gb3,db4]@5]/2", // Gb Gb5
  L: "~@2 [f4,ab4,db5] ~@3 [f4,ab4,db5] ~@5 [f4,db5]@2 [f4,db5] ~, ~@3 ab4", // Db
  M: "~@2 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~@5 [d4,bb4]@2 [d4,bb4] ~, ~@3 f4", // Bb Gm
  N: "~@2 [bb3,f4,bb4] ~@5 [d4,f4,bb4]@7 ~, ~@7 bb3@7 ~@2", // Bb5 Bb
  O: "~@2 [gb4,bb4,eb5] ~@3 [gb4,bb4,eb5] ~@5 [gb4,bb4,eb5]@4", // Ebm
  P: "~@2 [f4,bb4,db5] ~@3 [f4,bb4,db5] ~@5 [f4,bb4,db5]@4", // Bbm
  Q: "~@2 [db4,gb4,bb4] ~@3 [db4,gb4,bb4] ~@5 [db4,gb4,bb4]@4", // Gb
  R: "~@2 [db4,gb4,bb4] ~@3 [db4,gb4,bb4] ~@3 [db4,gb4,bb4] ~ [db4,gb4,bb4]@4", // Gb
  S: "~@2 [eb4,f4,bb4] ~@3 [eb4,f4,bb4] ~@5 [eb4,f4,bb4]@4", T: "~@2 [d4,f4,bb4] ~@5 [d4,f4,bb4] ~@5 [d4,f4,bb4] ~",
  U: "[~@2 [eb4,gb4,b4] ~@3 [eb4,gb4,b4] ~@5 [gb4,b4]@6 [eb4,gb4,b4] ~@3 [eb4,gb4,b4] ~@5 [gb4,b4,eb5]@4, ~@12 eb4@4 ~@11 eb4@4 ~]/2", // B B5 B
  V: "~@2 [db4,gb4,bb4] ~@3 [db4,gb4,bb4] ~@5 [gb4,bb4,db5]@4, ~@11 db4@4 ~", // Gb
  W: "~@2 [db4,f4,ab4] ~@3 [db4,f4,ab4] ~@5 [db4,f4,ab4]@4", // Db
  X: "~@3 [bb3,f4,bb4] ~ [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~ [bb3,f4,bb4] ~@2", // Bb5
  Y: "~@3 [bb3,f4,bb4] ~ [bb3,f4,bb4] ~@3 [bb3,f4,bb4] ~@3 [bb3,f4,bb4] ~@2", // Bb5
  Z: "~@2 [eb4,gb4,bb4] ~@2 [gb4,bb4] ~@2 [eb4,gb4,bb4] ~@2 [eb4,gb4,bb4] ~@2 [eb4,gb4,bb4]@2", // Ebm Gb Ebm
  AA: "~@2 [eb4,gb4,bb4] ~@2 [eb4,gb4,bb4] ~@2 [eb4,gb4,bb4] ~@2 [eb4,gb4,bb4] ~@2 [eb4,gb4,bb4]@2", // Ebm
  AB: "~@2 [db4,f4,bb4] ~@2 [f4,bb4] ~@2 [db4,f4,bb4] ~@2 [db4,f4,bb4] ~@2 [db4,f4,bb4]@2", // Bbm Bb5 Bbm
  AC: "~@2 [gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [db4,gb4,bb4] ~ bb4 [gb4,bb4] ~@2 [db4,gb4,bb4]@2", // Gb
  AD: "~@2 [db4,gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [db4,gb4,bb4]@2", // Gb
  AE: "~@2 [bb3,f4,bb4] ~@2 [bb3,f4,bb4] ~@2 [bb3,f4,bb4] ~@2 [f4,bb4] ~@2 [bb3,f4]@2, ~@14 bb4 ~", // Bb5
  AF: "~@2 [bb3,f4,bb4] ~@2 [bb3,f4,bb4] ~@2 [bb3,f4,bb4] ~@2 [bb3,f4,bb4] ~ bb4 [bb3,f4,bb4]@2", // Bb5
  AG: "~@2 [eb4,gb4,b4] ~@2 [eb4,gb4,b4] ~@2 [eb4,gb4,b4] ~@2 [eb4,gb4,b4] ~@2 [eb4,gb4,b4]@2", // B
  AH: "~@2 [db4,gb4,bb4] ~ bb4 [db4,gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [db4,gb4,bb4] bb4 ~ [db4,gb4,bb4]@2", // Gb
  AI: "~@2 [db4,gb4,bb4] ~@2 [gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [db4,gb4,bb4]@2", // Gb
  AJ: "~@2 [db4,ab4,db5] ~@2 [db4,ab4,db5] ~@2 [db4,ab4,db5] ~@2 [db4,ab4,db5] ~@2 [db4,ab4,db5]@2", // Db5
  AK: "~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~ d5 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5]@2", // Bb
  AL: "~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@4 [f4,d5] ~@2 [f4,bb4,d5] ~@2", // Bb Dm Bb
  AM: "~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5]@2", // Bbm
  AN: "~@2 [f4,bb4,db5] ~@2 [f4,bb4] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5]@2", // Bbm Bb5 Bbm
  AO: "~@2 [gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [db4,gb4,bb4] ~ [gb4,bb4]!2 ~@2 [db4,gb4,bb4]@2", // Gb
  AP: "~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@2 [f4,d5]@2, ~@14 bb4 ~", // Bb Dm
  AQ: "~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~ bb4 [f4,bb4,d5]@2", // Bb
  AR: "~@2 [eb4,gb4,b4] ~@2 [eb4,gb4,b4] ~@2 [eb4,gb4,b4] ~@2 [eb4,gb4,b4] ~ b4 [eb4,gb4,b4]@2", // B
  AS: "~@2 [db4,ab4,db5] ~@2 [db4,ab4,db5] ~@2 [db4,ab4,db5] ~ ab4 [db4,ab4,db5] ~@2 [db4,ab4,db5]@2", // Db5
  AT: "~@2 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@4 [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@2", AU: "[eb3,bb3,eb4,gb4]@15 ~",
  AV: "[[eb3,bb3,eb4,gb4]@15 ~ [bb2,db4,f4]@15 ~, ~@15 bb3@15 ~@2]/2", AW: "[bb2,bb3,db4]@15 ~, f4@13 ~@3",
  AX: "[gb2,bb3,db4]@15 ~, gb4@13 ~@3", AY: "[bb2,bb3,eb4,f4]@15 ~", AZ: "[bb2,bb3,d4,f4]@15 ~",
  BA: "eb4 ~@2 eb4 ~@2 eb4 ~@3 eb4 ~@2 eb4 ~@2", BB: "bb3 ~@2 bb3 ~@2 bb3 ~@3 bb3@2 ~ bb3 ~@2",
  BC: "bb3@2 ~ bb3 ~@2 bb3 ~@3 bb3 ~@2 bb3 ~@2", BD: "gb3 ~@2 gb3 ~@2 gb3 ~@3 gb3 ~@2 gb3 ~@2",
  BE: "bb3 ~@2 bb3 ~@2 bb3 ~@3 bb3 ~@2 bb3@3", BF: "b3@2 ~ b3 ~@2 b3 ~@3 b3 ~@2 b3 ~@2",
  BG: "b3 ~@2 b3 ~@2 b3 ~@3 b3 ~@2 b3 ~@2", BH: "db4@2 ~ db4 ~@2 db4 ~@3 db4@2 ~ db4 ~@2",
  BI: "bb3 ~@2 bb3 ~@2 bb3 ~@3 bb3 ~@2 bb3 ~@2", BJ: "eb4 ~@2 eb4 ~@2 eb4 ~@3 eb4 ~@2 db4 ~@2",
  BK: "gb3 ~@2 gb3 ~@2 gb3 ~@3 gb3 ~@3 gb3 ~", BL: "gb3 ~@2 gb3 ~@2 gb3 ~@3 gb3 ~@2 gb3@3",
  BM: "db4 ~@2 db4 ~@2 db4 ~@3 db4 ~@2 db4 ~@2", BN: "eb4@2 ~ eb4 ~@2 eb4 ~@3 eb4 ~@2 db4 ~@2",
  BO: "bb3 ~@2 bb3 ~@2 bb3 ~@4 bb3 ~ bb3 ~@2", BP: "bb3 ~@2 bb3 ~@2 bb3 ~@3 bb3 ~@2 ab3 ~@2",
  BQ: "gb3 ~@2 gb3 ~@2 gb3 ~@3 gb3 ~@2 ab3 ~@2", BR: "bb3 ~@2 bb3 ~@2 bb3 ~@3 bb3 ~@5", BS: "~@10 ab3@2 bb3@2 db4 ~",
  BT: "[ab3 ~ bb3 ~ [f4,ab4]@28]/2", // Fm
})).s("gm_acoustic_guitar_steel").gain(0.28).pan(0.3)

// chords · acoustic guitar steel · "STEEL GT" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@13 A@2 B@2 C@2 D@2 E@2 F G H ~@2 A@2 B@2 C@2 ~@22 I ~ J K L M N ~ O ~@2 K P ~ Q I ~ R S T M ~@2 U ~@56
>`.pickRestart({
  A: "[~@4 db3@7 ~ db3@8 ~@12, ~@6 f3@3 ~@7]/2", B: "[~@4 bb3@8 bb3@7 ~ bb3@7 ~@5]/2", C: "[~@4 d4@8 d4@8 d4@7 ~@5]/2",
  D: "[~@4 eb4@7 ~ eb4@8 eb4@12]/2", E: "[~@4 bb3@7 ~ bb3@8 bb3@7 ~ [bb3,db4]@4]/2", F: "~@4 f4@7 ~ f4@4",
  G: "~@4 f4@7 ~@5", H: "~@7 bb3", I: "~@5 eb4 ~@7 [gb4,bb4] ~@2", J: "~@4 bb4 db4 ~@6 bb4 ~@3", K: "~@5 db4 ~@10",
  L: "~@2 db4 ~@7 gb4 db4 ~@4", M: "~@7 bb4 ~@8", N: "~@11 bb3 ~@4", O: "~@13 [gb4,b4] ~@2", P: "~@10 ab4 ~@5",
  Q: "~@10 bb4 ~@5", R: "~@4 bb4 ~@7 bb4 ~@3", S: "~@5 db5 ~@10", T: "~@2 db4 ~@8 db4 ~@4", U: "~@13 gb4 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0.3)

// bass · electric bass finger · "BASSO"
const bass = note(`<
  ~@18 A B@2 C@2 D E@2 F G H I J K L@2 M N O P Q R S T U V W X Y Z AA M AB AC AD AE R AF T U V W X Y Z AA M AB AC AD AE
  R AF T U V W X Y Z AG M AB AC AH AE R AF ~@7 AI T U V W X Y Z AG M AB AC AH AE R AJ T U V W X Y Z AG M AB AC AH AE R
  AJ T U V W X Y Z AK AL@4
>`.pickRestart({
  A: "~@7 bb2", B: "[b2@27 ~ b2@4]/2", C: "[gb2@14 b1 c2]/2", D: "db2", E: "[bb1@3 ~@3 bb1@9 ~, ~@3 bb2@11 ~@2]/2",
  F: "eb3 db3", G: "eb3@3 gb3@3 eb3@2", H: "bb2 ab2", I: "bb2@3 db3@3 bb2@2", J: "gb2 ab2", K: "bb2@6 db3@6 bb2@3 ~",
  L: "[bb2@8 ab2@6 bb2@11 ~ bb1@2 f2@2 bb1@2]/2", M: "b1@5 ~ b1 ~ b1@5 ~ b1 ~", N: "~@2 b2@2 b1@7 ~ b2 ~ b1 ~",
  O: "gb1@5 ~ gb1 ~ gb1@5 ~ gb1@2", P: "~@2 gb2@2 gb1@7 ~ b1@2 c2@2", Q: "db2@4 ~@2 db2 ~ db2@6 bb1 ~",
  R: "~@2 bb2@2 bb1@5 ~ bb1@2 ~@2 bb2@2", S: "bb1@5 ~ bb1 ~@3 bb2 ~ bb1@4", T: "eb2@2 ~ db2 eb2@2 ~ db2",
  U: "eb2@2 gb2@2 eb2@3 ~ gb2@4 eb2@2 ~@2", V: "bb1@5 ~ ab1@2 bb1@5 ~ ab1@2",
  W: "bb1@2 db2@2 bb1@3 ~ db2@4 bb1@2 ab1@2", X: "gb1@4 ~@2 gb1 ~ gb1@5 ~ gb1@2", Y: "~ gb2 gb1@2 gb2@2 gb1@2",
  Z: "bb1@4 ~@2 bb1 ~ bb1@5 ~ bb1@2", AA: "~@2 bb2@2 bb1@5 ~ bb2 ~ f2@2 bb1@2", AB: "~@2 b2@2 b1@4 b2@4 b1@3 ~",
  AC: "gb1@5 ~ gb1 ~ gb1@5 ~ gb1 ~", AD: "~@2 gb2@2 gb1@4 gb2@4 gb1@3 ~", AE: "db2@4 ~@2 db2 ~ db2@5 ~ bb1@2",
  AF: "bb1@5 ~ bb1@3 ~ bb2 ~ f2@2 bb1@2", AG: "~@2 bb2@2 bb1@5 ~ f2@2 bb2@2 bb1@2",
  AH: "~@2 gb2@2 gb1@3 ~ gb2@4 gb1@3 ~", AI: "~@12 bb1@2 db2 d2", AJ: "bb1@5 ~ bb1@3 ~ bb2 ~ bb1@2 db2@2",
  AK: "~@2 bb2@2 bb1@5 ~ ab1 ~ bb1 ~ db2 ~", AL: "[~@2 bb1 ~ eb1@59 ~]/4",
})).s("gm_electric_bass_finger").gain(0.6)

// chords · acoustic guitar nylon · "NYLON GT"
const acoustic_guitar_nylon = note(`<
  ~@4 A@5 B@4 C@2 D@2 E@2 F@2 G@2 H I J B@2 C@2 K@2 L@2 M@2 N@2 O I J B@2 C@2 P@2 Q@2 R@2 S@2 T U@2 B@2 C@2 P@2 V@2 R@2
  W@2 T X@2 B@2 C@2 Y@2 Z@2 R@2 AA@2 AB AC@2 AD@2 AE AF AG AH AI AJ ~@42
>`.pickRestart({
  A: "[~@16 [bb3,eb4]@21 ~@11 [bb3,eb4]@21 ~@11, ~@15 [eb3,gb3]@21 ~@11 [eb3,gb3]@21 ~@12]/5", // Eb5 Ebm
  B: "[~@2 [bb3,eb4] ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@3 [bb3,eb4]!2, eb3 bb2 eb3!2, ~ gb3@2 gb3@2 gb3@2 gb3, ~@3 [bb3,eb4]@3 ~ [bb3,eb4]@3 ~ [bb3,eb4]@3 ~@2]/2", // Eb5
  C: "[~@2 bb3 ~@3 bb3 ~@3 [f3,bb3] ~@3 ab2@2, bb2@2 ~@2 bb2@2 bb2 ~, ~@2 db3@4 db3@4 db3@5 ~, ~@2 f3@2 f3@3 [f3,bb3]@3 ~ [f3,bb3]@2 [f3,bb3]@3, ~@3 bb3@3 ~@10]/2", // Bb5
  D: "[~@2 [gb3,bb3] ~@3 [gb3,bb3] ~@3 [db3,gb3,bb3] ~@3 [db3,gb3]@2, gb2 ~ gb2!2, ~@2 db3@2 db3@3 [db3,gb3,bb3]@3 ~ [db3,gb3]@3 ~@2, ~@3 [gb3,bb3]@3 ~@5 bb3@5]/2", // Gb Gb5 Gb Gb5 Gb
  E: "[~@2 [ab3,d4] ~@3 [f3,ab3,d4] ~@3 [f3,ab3,d4] ~@3 [f3,ab3]@2, bb2 f2 bb2!2, ~@2 f3@3 ~@2 [f3,ab3,d4]@3 ~ [f3,ab3]@3 ~@2, ~@6 [ab3,d4]@6 ~@10 d4@9 ~]/2", // Abdim Ddim Fm Ddim Fm Abdim
  F: "[~@2 [b3,eb4] ~@7 [gb3,b3,eb4] ~@3 [gb3,b3]@2, b2 gb2 b2!2, ~@2 gb3@3 ~ [gb3,b3,eb4]@4 ~ [gb3,b3]@3 ~@2, ~@3 [b3,eb4]@3 ~@5 eb4@5]/2", // B B5 B B5 B
  G: "[~@2 [db3,gb3,bb3] ~@7 [db3,gb3,bb3] ~@3 [db3,gb3]@2, gb2@8 db3@11 ~@3 [db3,gb3,bb3]@6 ~@4, ~@3 [gb3,bb3]@3 [gb3,bb3]@4 ~@6, ~@2 gb2!2]/2", // Gb Gb5 Gb
  H: "db3@2 db4 ~@3 [f3,ab3,db4]@2, ~@2 ab3@3 ~@3, ~@3 [f3,db4]@3 ~@2, ~ ab2", // Db
  I: "~@2 [f3,bb3,d4] ~@3 [f3,bb3,d4]@2, bb2 f2, ~@3 [f3,bb3,d4]@3 ~@2", // Bb
  J: "~@2 [f3,bb3,d4] ~ bb2 ~ gb2 [gb3,db4], bb2 ~, ~@3 [f3,bb3,d4]@3 ~@2", // Bb Gb5 Bb
  K: "[~@2 [gb3,bb3] ~@3 [gb3,bb3] ~@3 [db3,gb3,bb3] ~@3 [db3,gb3]@2, gb2 ~ gb2!2, ~@2 db3@2 db3@3 [db3,gb3]@3 ~ [db3,gb3,bb3]@3 ~@2, ~@3 gb3@3 ~@10, ~@3 bb3@2 ~@2 bb3@2 ~@7]/2", // Gb Gb5 Gb
  L: "[~@2 [ab3,d4] ~@3 [f3,ab3,d4] ~@3 [f3,ab3,d4] ~@3 [f3,ab3]@2, bb2 f2 bb2!2, ~@2 f3@3 ~@2 [f3,ab3]@3 ~ [f3,ab3,d4]@3 ~@2, ~@3 ab3@3 ~@10, ~@3 d4@2 ~@2 d4@2 ~@7]/2", // Abdim Ddim Fm Ddim
  M: "[~@2 [b3,eb4] eb4 ~@6 [gb3,b3,eb4] ~@3 [gb3,b3]@2, b2 gb2 b2!2, ~@2 gb3@3 ~ [gb3,b3,eb4]@4 ~ [gb3,b3,eb4]@3 ~@2, ~@3 b3@3 ~@10]/2", // B B5 B
  N: "[~@2 [gb3,bb3] ~ db3@2 ~@4 [db3,gb3,bb3] ~@3 [db3,gb3]@2, gb2 ~ gb2!2, ~@2 db3@2 ~@7 [db3,gb3,bb3]@3 ~@2, ~@3 [gb3,bb3]@3 [gb3,bb3]@4 ~@6]/2", // Gb Gb5 Gb
  O: "~@2 db4 ~@3 [f3,ab3,db4]@2, db3@3 [f3,db4]@3 ~@2, ~@2 ab3@3 ~@3, ~ ab2", // Db
  P: "[~@2 [gb3,bb3] ~@3 [gb3,bb3] ~@3 [db3,gb3,bb3] ~@3 [db3,gb3]@2, gb2 ~ gb2!2, ~@2 db3@2 db3@3 [db3,gb3,bb3]@3 ~ [db3,gb3,bb3]@3 ~@2, ~@3 [gb3,bb3]@3 ~@10]/2", // Gb Gb5 Gb
  Q: "[~@2 [ab3,eb4] ~@3 [f3,ab3,eb4] ~@3 [f3,ab3,d4] d4 ~@2 [f3,ab3]@2, bb2 f2 bb2!2, ~@2 f3@3 ~@2 [f3,ab3,eb4]@3 ~ [f3,ab3]@3 ~@2, ~@3 [ab3,eb4]@3 ~@10]/2", // Ab5 Fm7 Ddim Fm Fm7 Fm Ab5
  R: "[~@2 [b3,eb4] ~@7 [gb3,b3,eb4] ~@3 [gb3,b3]@2, b2 gb2 b2!2, ~@2 gb3@3 ~ [gb3,b3,eb4]@4 ~ [gb3,b3,eb4]@3 ~@2, ~@3 [b3,eb4]@3 ~@10]/2", // B B5 B
  S: "[~@2 [gb3,bb3] ~@7 [db3,gb3,bb3] ~@3 [db3,gb3]@2, gb2 ~ gb2!2, ~@4 db3@4 db3@11 ~@3 [db3,gb3,bb3]@6 ~@4, ~@3 [gb3,bb3]@3 [gb3,bb3]@4 ~@6]/2", // Gb Gb5 Gb
  T: "db3@2 [f3,ab3,db4] ~@3 [f3,ab3,db4]@2, ~@3 [f3,db4]@3 ~@2, ~ ab2", // Db
  U: "[~@2 [f3,bb3,d4] ~@3 [bb3,d4]@2 ~@2 [f3,bb3,d4] ~ bb2 ~ gb2 [bb3,db4], bb2 f2 bb2 ~, ~@3 [f3,bb3,d4]@3 f3@4 ~ f3@5, ~@11 [bb3,d4]@3 ~@2]/2", // Bb Bbm Bb
  V: "[~@2 [ab3,d4] d4 ~@2 [f3,ab3,d4] ~@3 [f3,ab3,d4] ~@3 [f3,ab3]@2, bb2 f2 bb2!2, ~@2 f3@3 ~@2 [f3,ab3,d4]@3 ~ [f3,ab3,d4]@3 ~@2, ~@3 ab3@3 ~@10]/2", // Abdim Ddim Fm Ddim
  W: "[~@2 [gb3,bb3] ~@7 [db3,gb3,bb3] ~@3 [db3,gb3]@2, gb2 ~ gb2!2, ~@4 db3@4 db3@11 ~@3 [db3,gb3]@6 ~@4, ~@3 [gb3,bb3]@3 [gb3,bb3]@4 ~ bb3@5]/2", // Gb Gb5 Gb
  X: "[~@2 [f3,bb3,d4] ~@3 [bb3,d4]@2 ~@2 [f3,bb3,d4] ~ bb2 ~ gb2 [gb3,db4], bb2 f2 bb2 ~, ~@6 [f3,bb3,d4]@6 f3@7 ~@3 f3@8 ~@2, ~@11 [bb3,d4]@3 ~@2]/2", // Bb Gb5 Bb
  Y: "[~@2 [gb3,bb3] ~@3 [gb3,bb3] ~@3 [db3,gb3,bb3] ~@3 [db3,gb3]@2, gb2 ~ gb2!2, ~@2 db3@2 db3@3 [db3,gb3,bb3]@3 ~ [db3,gb3]@3 ~@2, ~@6 [gb3,bb3]@6 ~@10 bb3@9 ~]/2", // Gb Gb5 Gb Gb5 Gb
  Z: "[~@2 [ab3,d4] ~@3 [f3,ab3,d4] ~@3 [f3,ab3,d4] ~@3 [f3,ab3]@2, bb2 f2 bb2!2, ~@2 f3@3 ~@2 [f3,ab3,d4]@3 ~ [f3,ab3,d4]@3 ~@2, ~@3 [ab3,d4]@3 ~@10]/2", // Abdim Ddim Fm Ddim Abdim
  AA: "[~@2 [gb3,bb3] ~@7 [db3,gb3,bb3] ~@3 [db3,gb3]@2, gb2 ~ gb2!2, ~@4 db3@4 db3@11 ~@3 [db3,gb3]@6 ~@4, ~@3 gb3@3 [gb3,bb3]@4 ~@6, ~@3 bb3@2 ~@6 bb3@5]/2", // Gb Gb5 Gb
  AB: "~@2 [f3,ab3,db4] ~@3 [f3,ab3,db4]@2, db3@5 ~@3, ~@3 [f3,db4]@3 ~@2, ~ ab2", // Db
  AC: "[~@2 [f3,bb3,d4] ~@3 [bb3,d4]@2 ~@2 [f3,bb3,d4] ~ bb2 ~ gb2 [gb3,db4], bb2 f2 bb2 ~, ~@6 [f3,bb3,d4]@6 f3@7 ~@3 [f3,bb3,d4]@6 ~@4]/2", // Bb Gb5 Bb
  AD: "[eb3,bb3,gb4]@15 ~", AE: "[bb2,db4,f4,bb4]@15 ~", AF: "[bb2,db4,bb4]@15 ~, f4@13 ~@3",
  AG: "[gb2,bb3,db4]@15 ~, gb4@13 ~@3", AH: "[gb2,db4,bb4]@15 ~, gb4@13 ~@3", AI: "[bb3,eb4,bb4]@15 ~",
  AJ: "[d4,bb4]@3 ~, bb3@5 ~@3", // Gm
})).s("gm_acoustic_guitar_nylon").gain(0.33).pan(0.8)

// other · pad new age · "FANTASIA"
const pad_new_age = note(`<
  ~@56 A B C D E F G@2 H I E J K L@2 ~@8 H I E J K L@2 ~@8 A B C D E F G@2 H I E J K L@2 A B C D E F G@2 H I E J K L@2 A
  B M D E F N O@3 ~@2
>`.pickRestart({
  A: "eb5 db5", B: "eb5@3 gb5@3 ab5@2", C: "bb5@7 ~ ab5@8", D: "bb5@3 db6@3 bb5@2", E: "bb5 ab5",
  F: "bb5@6 db6@6 bb5@3 ~", G: "[bb5@31 ~]/2", H: "eb6 db6", I: "eb6@3 gb6@3 db6@2", J: "bb5@3 db6@3 gb5@2", K: "ab5",
  L: "bb5/2", M: "~ bb5@7 ab5@8", N: "bb5",
  O: "[~@4 ab6 ~ ab6 ~ ab6@3 ~ ab6 ~ ab6@4 gb6@2 [db5,f5,gb5]@26 ~@2, ~@5 ab4@7, ~@5 eb6@6 ~]/3", // Gbmaj7
})).s("gm_pad_new_age").gain(0.34).pan(0.4)

// chords · piano
const piano = note(`<
  ~@86 A B C D E@3 F G H I J K L M N O P Q R S T U G V W X K Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO@2 AP@4
>`.pickRestart({
  A: "~@2 [bb3,eb4,gb4]@3 [bb3,f4,ab4]@2 ~ [bb3,gb4,bb4]@7 bb1, eb2@15 ~", // Ebm Bb7 Ebm
  B: "~@2 [bb3,eb4,gb4]@2 ~ [bb3,f4,ab4]@2 ~ [bb3,gb4,bb4]@3 ~@3 ab2 a2, eb2@3 [bb3,f4,ab4]", // Ebm Bb7 Ebm Bb7
  C: "~@2 [bb3,db4,f4]@3 [bb3,eb4,gb4]@3 [bb3,f4,ab4]@7 f2, bb2@15 ~", // Bbm Ebm Bb7
  D: "~@2 [bb3,db4,f4]@3 [bb3,eb4,gb4]@2 ~ [bb3,f4,ab4]@4 ~@2 ab2 g2, bb2@7 ~, ~@3 [bb3,eb4,gb4]", // Bbm Ebm Bb7 Ebm
  E: "[~@2 [bb3,db4,gb4]@3 [bb3,db4,ab4]@3 [bb3,db4,bb4]@3 [bb3,db4,ab4]@3 ~ db2 ~@2 [bb3,db4,gb4]@3 [bb3,db4,ab4]@2 ~ [bb3,db4,bb4]@2 ~ [bb3,db4,ab4]@2 ~ gb4@2 bb2@2 [eb4,f4,bb4] bb2@2 [eb4,f4,bb4] bb2@2 [eb4,f4,bb4] bb2 [eb4,f4,bb4] bb2@2 [eb4,f4,bb4] bb2@2, gb2@7 [bb3,db4]@2 ~@6 [bb3,db4]@2 ~@7, ~@14 gb4@2 gb2@6 ~ gb2@3 gb2@2 ~ gb2@3 ~@16]/3", // Gb Bbm7 Bbm Bbm7 Gb Bbm7 Bbm Bbm7 …
  F: "[d4,f4,bb4]@2 bb2 [d4,f4,bb4]@2 bb2 [d4,f4,bb4] bb2 [d4,f4,bb4] bb2 [d4,f4,bb4] ~ bb6 [eb6,gb6,ab6] [gb5,ab5,bb5,db6] [bb4,db5,eb5], ~@11 bb2@4 ~", // Bb Ab7 Gb Eb7
  G: "eb2@2 ~ eb2 ~@2 eb2 ~@2 eb2 ~@2 eb2@2 [bb3,eb4,gb4]@2, ~@2 [bb3,eb4,gb4]@2 ~ [bb3,f4,ab4]@2 ~ [bb3,gb4,bb4]@2 ~ [bb3,f4,ab4]@2 ~@3", // Ebm Bb7 Ebm Bb7
  H: "eb2@2 ~ eb2 ~@2 eb2 ~@2 eb2@2 ~ eb2@3 ~, ~@2 [bb3,eb4,gb4]@3 [bb3,f4,ab4]@2 ~ [bb3,gb4,bb4]@2 ~ [bb3,f4,ab4]@4 ~", // Ebm Bb7 Ebm Bb7
  I: "bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2 ~@2 bb2@2 [bb3,db4,f4]@2, ~@2 [bb3,db4,f4]@3 [bb3,eb4,gb4]@2 ~ [bb3,f4,ab4]@3 [bb3,eb4,gb4]@2 ~@3", // Bbm Ebm Bb7 Ebm
  J: "bb2@2 ~ bb2@2 ~ bb2 ~@2 bb2 ~@2 [bb3,eb4,gb4]@4, ~@2 [bb3,db4,f4]@3 [bb3,eb4,gb4]@2 ~ [bb3,f4,ab4]@3 bb2@3 ~@2", // Ebm Bbm Ebm Bb7
  K: "gb2@2 ~ gb2@2 ~ gb2@2 ~ gb2@2 gb2 ~@2 [bb3,db4,gb4]@2, ~@2 [bb3,db4,gb4]@2 ~ [bb3,db4,ab4]@2 ~ [bb3,db4,bb4]@4 [bb3,db4,ab4]@2 ~@2, ~@13 gb2@3", // Gb Bbm7 Bbm Bbm7
  L: "gb2@2 ~ gb2@2 ~ gb2@2 ~ gb2@2 ~ [bb3,db4,ab4]@3 ~, ~@2 [bb3,db4,gb4]@3 [bb3,db4,ab4]@2 ~ [bb3,db4,bb4]@3 gb2@3 ~@2", // Bbm7 Gb Bbm7 Bbm
  M: "bb2@2 [eb4,f4,bb4]@2 bb2 [eb4,f4,bb4]@2 bb2 [eb4,f4,bb4]@2 bb2 [eb4,f4,bb4]@2 bb2 [eb4,f4,bb4]@2", // Ebsus2
  N: "bb2@2 [d4,f4,bb4]@2 bb2 [d4,f4,bb4]@2 ~ [d4,f4,bb4]@2 bb2 [d4,f4,bb4]@2 bb2 [d4,f4,bb4]@2, ~@7 bb2@2 ~@7", // Bb
  O: "b2@2 ~ b2@2 ~ b2@2 ~ b2 ~@2 b2@2 [gb3,b3,eb4]@2, ~@2 [gb3,b3,eb4]@2 ~ [gb3,b3,eb4]@2 ~ [gb3,b3,eb4]@3 [gb3,db4,f4]@3 ~@2", // B Gbmaj7
  P: "b2@2 ~ b2@2 ~ b2@2 ~ b2@2 ~ b2@2 [gb3,b3,eb4]@2, ~@2 [gb3,b3,eb4]@3 [gb3,b3,eb4]@3 [gb3,b3,eb4]@3 [gb3,eb4,gb4]@2 ~@3", // B Ebm
  Q: "gb2@2 ~ gb2@2 ~ gb2@2 ~ gb2@2 ~ gb2@2 [bb3,db4,gb4]!2, ~@2 [bb3,db4,gb4]@2 ~ [bb3,db4,ab4]@2 ~ [bb3,db4,bb4]@2 ~ [bb3,db4,ab4]@2 ~@3", // Gb Bbm7 Bbm Bbm7
  R: "gb2@2 ~ gb2@2 ~ gb2@2 ~ gb2@2 ~ gb2@2 [bb3,db4,gb4]@2, ~@2 [bb3,db4,gb4]@2 ~ [bb3,db4,ab4]@2 ~ [bb3,db4,bb4]@2 ~ [bb3,db4,ab4]@2 ~@3", // Gb Bbm7 Bbm Bbm7
  S: "~@3 db3@2 ~ db3@2 ~ db3@2 ~ db3@2 [ab3,db4,f4]@2, ~@2 [ab3,db4,f4]@2 ~ [ab3,db4,gb4]@2 ~ [ab3,db4,ab4]@3 [ab3,db4,gb4]@2 ~@3", // Db Dbsus4 Db5 Dbsus4
  T: "bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2@2 [eb4,f4,bb4]@2, ~@2 [eb4,f4,bb4]@2 ~ [eb4,f4,bb4]@2 ~ [eb4,f4,bb4]@2 ~ [eb4,f4,bb4]@2 ~@3", // Ebsus2
  U: "bb2@2 ~ bb2@2 [d4,f4] bb2@2 ~ bb2@2 ~ bb2@2 [d4,f4,bb4]@2, ~@2 [d4,f4,bb4]@2 ~ bb4@2 ~ [d4,f4,bb4]@2 ~ [d4,f4,bb4]@2 ~@3", // Dm Bb
  V: "eb2@2 ~ eb2 ~@2 eb2 ~@2 eb2@2 ~ eb2@3 ~, ~@2 [bb3,eb4,gb4]@2 ~ [bb3,f4,ab4]@2 ~ [bb3,gb4,bb4]@2 ~ [bb3,f4,ab4]@4 ~", // Ebm Bb7 Ebm Bb7
  W: "bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2 ~@2 bb2@2 [bb3,db4,f4]@2, ~@2 [bb3,db4,f4]@2 ~ [bb3,eb4,gb4]@2 ~ [bb3,f4,ab4]@2 ~ [bb3,eb4,gb4]@2 ~@3", // Bbm Ebm Bb7 Ebm
  X: "bb2@2 ~ bb2@2 ~ bb2 ~@2 bb2 ~@2 [bb3,eb4,gb4]@4, ~@2 [bb3,db4,f4]@2 ~ [bb3,eb4,gb4]@2 ~ [bb3,f4,ab4]@3 bb2@3 ~@2", // Ebm Bbm Ebm Bb7
  Y: "gb2@2 ~ gb2@2 ~ gb2@2 ~ gb2@2 [gb2,bb3,db4,ab4]@3 ~@2, ~@2 [bb3,db4,gb4]@3 [bb3,db4,ab4]@2 ~ [bb3,db4,bb4]@2 ~@6", // Gb Bbm7 Bbm
  Z: "bb2@2 [eb4,f4,bb4]@2 bb2 [eb4,f4,b4]@2 bb2 [eb4,f4,bb4]@2 bb2 [eb4,f4,bb4]@2 bb2 [eb4,f4,bb4]@2", // Ebsus2 Fm7b5 Ebsus2
  AA: "bb2@2 [d4,f4,bb4]@2 bb2 [d4,f4,b4]@2 ~ [d4,f4,bb4]@4 bb7 [eb7,gb7,ab7] [db6,eb6,gb6,ab6,bb6,db7] [db5,eb5,gb5,ab5,bb5], ~@7 bb2@2 ~@7", // Bb Bdim Bb Ab7 Ebm7
  AB: "b2@2 ~ b2 ~@2 b2 ~@2 b2 ~@2 b2@2 [gb4,b4,eb5]@2, ~@2 [gb4,b4,eb5]@3 [gb4,b4,f5]@2 ~ [gb4,b4,gb5]@3 [gb4,b4,f5]@3 ~@2", // B B5 B
  AC: "b2@2 ~ b2 ~@2 b2 ~@2 b2@2 ~ b2@3 ~, ~@2 [gb4,b4,eb5]@3 [gb4,b4,f5]@3 [gb4,b4,gb5]@3 [gb4,b4,f5]@4 ~", // B B5 B
  AD: "gb3@2 ~ gb3@2 ~ gb3@2 ~ gb3 ~@2 gb3@2 [gb4,bb4,db5]!2, ~@2 [db4,gb4,db5]@3 [db4,ab4,db5]@3 [db4,bb4,db5]@2 ~ [db4,ab4,db5]@2 ~@3", // Gb Gb5 Db5 Gb Db5
  AE: "gb3@2 bb4 gb3@2 b4 gb3 ~ [db4,bb4,db5] [db4,bb4] ~@2 [db4,bb4,db5] ~ [db4,ab4,b4,db5] [db4,gb4,bb4,db5], ~@2 [db4,gb4]@3 [db4,ab4]@3 ~ db5@2 gb3@3 ~@2", // Gb Db7 Gb Gb5 Db5
  AF: "db3@2 ~ db3@2 ~ db3@2 ~ db3@2 db3 ~@2 [ab4,db5,f5]!2, ~@2 [ab4,db5,f5]@3 [ab4,db5,eb5]@3 [ab4,db5,f5]@4 [ab4,db5,gb5]@2 ~@2, ~@13 db3@3", // Db Absus4 Db Dbsus4
  AG: "bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2@2 [f4,bb4,d5]@2, ~@2 [f4,bb4,d5]@3 [f4,bb4,eb5]@2 ~ [f4,bb4,f5]@3 [f4,bb4,eb5]@3 ~@2", // Bb Ebsus2 Bb5 Ebsus2
  AH: "bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2@2 [f4,bb4,f5]@2, ~@2 [f4,bb4,d5]@3 [f4,bb4,eb5]@3 [f4,bb4,d5]@3 [f4,bb4,eb5]@3 ~@2", // Bb5 Bb Ebsus2 Bb Ebsus2
  AI: "eb3@2 ~ eb3 ~@2 eb3 ~@2 eb3 ~@2 eb3@2 [bb4,eb5,gb5]@2, ~@2 [bb4,eb5,gb5]@3 [bb4,eb5,ab5]@2 ~ [bb4,eb5,bb5]@3 [bb4,eb5,ab5]@2 ~@3", // Ebm Ebsus4 Eb5 Ebsus4
  AJ: "eb3@2 ~ eb3 ~@2 eb3 ~ [bb4,eb5,bb5] ~ eb3@2 [bb4,eb5,ab5]@2 [bb4,eb5,gb5]!2, ~@2 [bb4,eb5,gb5]@3 [bb4,f5,ab5]@3 ~ [bb4,eb5,bb5]@2 ~@5", // Eb5 Ebsus4 Ebm Bb7 Eb5
  AK: "bb2@2 ~ bb2@2 ~ bb2@2 [ab4,db5,ab5] ~@3 [ab4,db5,gb5]@2 [ab4,db5,f5]!2, ~@2 [ab4,db5,f5]@3 [ab4,db5,gb5]@3 ~ [ab4,db5,ab5]@3 ~@4, ~@5 bb2@2 ~", // Db5 Dbsus4 Db Dbsus4 Db5
  AL: "bb2@2 [ab4,db5,f5] ~ [ab4,db5,f5] [ab4,db5]@2 [bb2,ab4,db5,f5] [ab4,db5] bb2 ab4 ~ [ab4,db5,eb5] [ab4,db5,eb5]@2 ~, ~@3 bb2@2 f5 ~@2 f5@2 [db5,f5]@2 ~@4, ~@11 bb2@4 ~", // Db Db5 Bbm7 Db5 Absus4 Db
  AM: "gb3@2 ~ gb3@2 ~ gb3@2 ~ gb3@2 ~ [bb4,db5,ab5]@2 [bb4,db5,gb5]!2, ~@2 [bb4,db5,gb5]@3 [bb4,db5,ab5]@3 [bb4,db5,bb5]@3 gb3@3 ~@2", // Bbm7 Gb Bbm7 Bbm
  AN: "gb3@2 ~ gb3@2 ~ gb3@2 [bb4,db5,bb5]!2 ~ [bb4,db5,ab5]@2 ~ [bb4,db5,gb5]@2, ~@2 [bb4,db5,gb5]@3 [bb4,db5,ab5]@3 ~@2 gb3@2 ~ gb3@3", // Bbm Bbm7 Gb Bbm7
  AO: "[bb2@2 [bb4,eb5,f5]@2 bb2 [b4,eb5,f5]@2 bb2 [bb4,eb5,f5]@2 bb2 [bb4,eb5,f5]@2 ~ bb2@12 ab2@2 bb2@2 db3@2, ~@7 [bb4,d5,f5]@8 ~]/2", // Bbsus4 Fm7b5 Bbsus4 Bb
// … 211 more lines

More by Cocciante