Strudelify

Fuori stagione

Pooh

KeyD minorTempo113 bpm
0:00/0:00
// Fuori stagione — Pooh
// 113 bpm, 2/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 44) are rendered on a constant 2/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 186 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(113/2)

// 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 · piano
const piano = note(`<
  A@2 B C D@2 B C D@2 B C D@2 B C E F G@3 H I J K F L M N H I J K O P Q R S T U V W X Y@3 Z AA AB AC Z@2 AB AD Z AA AB
  AC Z P Q R S T AE AF AG AH AI@3 AJ@2 AK@2 AL AM AN@2 AO AK AL AN AO AM AN AP@3 AQ@2 AR@2 AS AT AU@2 AV AR AS AU AV AT
  AU AW@4 AX AY@2 AZ BA AY@2 F BA BB BC F@2 BB BD F BA BB BC BE@8 BF@2 BG BH@3 BI BJ BK BL BM BN Z BO BP BQ BR BS BT BU
  AN BV BW BX AJ BY AK BQ BZ BU AN BS CA BQ BR BS BT BU CB CC CD@2 CE CF@7 ~
>`.pickRestart({
  A: "[~@14 [a4,d5,f5]@4 ~@4 [a4,d5,f5]@3 ~@5 [a4,e5,g5] ~]/2", // Dm A7
  B: "~@2 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [g4,bb4,d5,f5] ~", // A7 Gm7
  C: "~@2 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [bb4,d5,f5] ~@5, ~@5 g4 ~@2", // Gm7 Bb
  D: "[~@2 [a4,e5,g5] ~@3 [a4,e5,g5]@5 ~@3 [a4,d5,f5]@4 ~@4 [a4,d5,f5]@3 ~@5 [a4,e5,g5] ~]/2", // A7 Dm A7
  E: "~@2 [a4,e5,g5] ~@4 [a4,e5,g5]@5 ~@3 [a4,d5,f5]", F: "~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5]",
  G: "[~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [f4,bb4,d5]@14 ~@2 [a4,db5,e5]@20 [a4,d5,f5]]/3", // Dm Bb A Dm
  H: "~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,e5,g5]", // Dm A7
  I: "~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [g4,bb4,d5,f5]", // A7 Gm7
  J: "~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [a4,db5,e5]", // Gm7 A
  K: "~@3 [a4,db5,e5] ~@3 [a4,db5,e5] ~@3 [a4,db5,e5] ~@3 [a4,d5,f5]", // A Dm
  L: "~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,bb4,d5,f5]", // Dm Gm7
  M: "~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [a4,db5,e5,a5]", // Gm7 A
  N: "~@3 [db5,e5,a5] ~@3 [a4,db5,e5,a5] ~@3 [db5,e5,a5] ~@3 [a4,d5,f5], ~@3 a4@2 ~@6 a4@2 ~@3", // A Dm
  O: "~@3 [a4,d5,f5] ~@4 [a4,d5,f5] ~@3 [d5,f5] ~@3, ~@6 a4 ~", // Dm
  P: "[a4,gb5] ~@3 [a4,c5,gb5] ~@3 [a4,c5,gb5] ~@3 [c5,gb5] ~@3, c5 ~@5 a4 ~", Q: "g4 bb4 [d5,g5]@2",
  R: "f4 bb4 [d5,f5]@2", S: "e4 g4 [bb4,e5]@2", T: "d4 g4 [bb4,d5]@2", U: "a4@8 [db5,e5,a5]@7 ~",
  V: "[a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5]@2 ~@2", W: "[a4,db5]@7 ~ [db5,e5,a5]@7 ~",
  X: "[d5,f5,a5]@3 ~ [d5,f5,a5]@3 ~", Y: "[[d5,f5,a5]@7 ~ [d5,f5,a5]@3 ~ [g4,bb4,d5]@11 ~ [a4,db5,e5]@23 ~]/3",
  Z: "[a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3", // Dm
  AA: "[a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3", // A7
  AB: "[g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3", // Gm7
  AC: "[a4,db5,e5] ~@3 [a4,db5,e5] ~@3 [a4,db5,e5] ~@3 [a4,db5,e5] ~@3", // A
  AD: "[a4,db5,e5,a5] ~@3 [db5,e5,a5] ~@3 [a4,db5,e5,a5] ~@3 [db5,e5,a5] ~@3, ~@2 a4 ~@3 a4 ~", // A
  AE: "a4@8 ~ [db5,e5,a5]@7", AF: "~ [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5]@2 ~",
  AG: "~ [a4,db5]@7 ~ [db5,e5,a5]@7", AH: "~ [d5,f5,a5]@6 ~@2 [d5,f5,a5]@6 ~",
  AI: "[~ [d5,f5,a5]@7 ~ [d5,f5,a5]@4 [g4,bb4,d5]@11 ~ [a4,db5,e5]@23]/3", // Dm Gm A
  AJ: "~ [d5,f5,a5] ~@3 [d5,f5,a5] ~@3 [d5,f5,a5] ~@3 [d5,f5,a5] ~@2", // Dm
  AK: "~ [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@2", // Edim
  AL: "~ [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@2", // A7
  AM: "~ [db5,e5,g5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~@2", // Dbdim
  AN: "~ [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@2", // Dm
  AO: "~ [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@2", // Bb
  AP: "[~ [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,bb4,d5]@15 ~ [a4,db5,e5]@17 ~@2]/3", // Dm Gm A
  AQ: "~@2 [d5,f5,a5] ~@3 [d5,f5,a5] ~@3 [d5,f5,a5] ~@3 [d5,f5,a5] ~", // Dm
  AR: "~@2 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~", // Edim
  AS: "~@2 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~", // A7
  AT: "~@2 [db5,e5,g5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~", // Dbdim
  AU: "~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~", // Dm
  AV: "~@2 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~", // Bb
  AW: "[~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [bb4,d5,f5]@14 ~@2 [a4,db5,e5]@19 ~ [a4,d5,f5]@4 ~@4 [a4,d5,f5]@4 ~@2]/4", // Dm Bb A Dm
  AX: "~@2 [a4,e5,g5] ~@3 [a4,e5,g5] ~@4 [a4,e5,g5] ~@3 [a4,e5,g5]", // A7
  AY: "[~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [bb4,d5,f5] ~@7 [a4,e5,g5] ~@3 [a4,e5,g5]@5, ~@15 g4@2 ~@15]/2", // Gm7 Bb A7
  AZ: "~@3 [a4,d5,f5]@4 ~@4 [a4,d5,f5]@4 ~", BA: "~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5]",
  BB: "~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5] ~@3 [g4,bb4,d5,f5]", // Gm7
  BC: "~@3 [a4,db5,e5] ~@3 [a4,db5,e5] ~@3 [a4,db5,e5] ~@3 [a4,db5,e5]", // A
  BD: "~@3 [a4,db5,e5,a5] ~@3 [a4,db5,e5,a5] ~@3 [a4,db5,e5,a5] ~@3 [a4,db5,e5,a5]", // A
  BE: "[~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [d5,f5] ~@3 [a4,gb5] ~@3 [a4,c5,gb5] ~@3 [a4,c5,gb5] ~@3 [c5,gb5] ~@3 g4@4 bb4@4 [d5,g5]@8 f4@4 bb4@4 [d5,f5]@8 e4@4 g4@4 ~ [bb4,e5]@8 d4@4 g4@4 [bb4,d5]@8 a4@8 [db5,e5,a5]@7 ~ [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3, ~@15 a4@2 ~@2 c5@2 ~@10 a4@2 ~@95]/8", // Dm D Gbdim Cdim G5 Dm Bbdim Bb …
  BF: "[[a4,d5,f5]@2 ~@2 [a4,db5]@7 ~ [db5,e5,a5]@7 ~ [d5,f5,a5]@6 ~@2 [d5,f5,a5]@4]/2", // Dm A Dm
  BG: "~@4 [d5,f5,a5]@7 ~ [d5,f5,a5]@3 ~", // Dm
  BH: "[[g4,bb4,d5]@11 ~ [a4,db5,e5]@22 ~@2 [d5,f5,a5] ~@3 [d5,f5,a5] ~@3 [d5,f5,a5] ~@3]/3", // Gm A Dm
  BI: "[d5,f5,a5] ~@3 [d5,f5,a5] ~@3 [d5,f5,a5] ~@3 [d5,f5,a5] ~@3", // Dm
  BJ: "[d5,f5,a5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3", // Dm Edim
  BK: "[bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3", // Edim
  BL: "[bb4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3", // Edim A7
  BM: "[a4,e5,g5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~@3", // A7 Dbdim
  BN: "[db5,e5,g5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3", // Dbdim Dm
  BO: "[a4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3", // Dm Bb
  BP: "[bb4,d5,f5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@4 [bb4,e5,g5] ~@2", // Bb Edim
  BQ: "~ [bb4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@3 [a4,e5,g5] ~@2", // Edim A7
  BR: "~ [a4,e5,g5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@2", // A7 Dm
  BS: "~ [a4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@2", // Dm Bb
  BT: "~ [bb4,d5,f5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~@2", // Bb Dbdim
  BU: "~ [db5,e5,g5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@2", BV: "~ [g4,bb4,d5]@15", BW: "~ [a4,db5,e5]@15",
  BX: "~@5 [d5,f5,a5] ~@3 [d5,f5,a5] ~@3 [d5,f5,a5] ~@2", // Dm
  BY: "~ [d5,f5,a5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@2", // Dm Edim
  BZ: "~ [a4,e5,g5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~@3 [db5,e5,g5] ~@2", // A7 Dbdim
  CA: "~ [bb4,d5,f5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@3 [bb4,e5,g5] ~@2", // Bb Edim
  CB: "~ [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@4 [a4,d5,f5] ~", CC: "~ [bb4,d5,f5]@7",
  CD: "[~@2 [a4,db5,e5]@19 ~ [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~]/2", // A Dm
  CE: "~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,c5,f5]@2", // Dm F
  CF: "[~@2 [d4,f4,bb4]@7 ~ [d4,f4,a4]@3 [bb3,d4,g4]@7 ~ [bb3,d4,g4]@3 ~ [d3,a3,d4,gb4]@72 ~@15]/7", // Bb Dm Gm D
})).s("gm_piano").gain(0.3).pan(0.4)

// bass · fretless bass
const bass = note(`<
  ~@8 A@2 ~@2 B@2 ~@2 C@6 ~@2 D@2 ~@2 E@2 ~@2 D@2 ~ F G H I J I K L@4 M N O P Q R@3 S T U V W X F G H I J Y Z AA@4 AB AC
  AB AC AD AE AF AG AB AC AD AG AB AH AI@4 AJ AK AJ AK AL AM AN AO AJ AK AL AP AJ AQ AR@5 ~@3 AS ~@3 AT AU AV AW@2 AX@3
  AY AZ@2 BA BB BC BD BE BF BG@4 BH@2 BI@3 BJ@2 BK@2 BL@2 BM@2 BN@7 BO BP@8 BQ@4 BR@5 BS BT@2 BU BV@8
>`.pickRestart({
  A: "[~@7 d2@4 ~@5]/2", B: "[~@2 g2@2 a2@2 c3@2 a2@2 db3@3 ~ d3@6 ~@12]/2",
  C: "[~@15 d2@23 ~ c2@3 ~ bb1@15 ~ a1@19 ~ d2@3 ~@14]/6", D: "[~@15 d2@8 ~@9]/2",
  E: "[~@3 g2@2 a2@2 c3@2 a2@2 db3@3 ~ d3@6 ~@11]/2", F: "g2@15 ~", G: "f2@15 ~", H: "e2@15 ~", I: "d2@15 ~",
  J: "db2@15 ~", K: "db2@11 ~ a1@3 ~", L: "[bb1@23 ~ a1@3 ~ g1@7 ~ g1@3 ~ a1@23 ~]/4", M: "d2@3 ~@3 d2 ~ d2@4 ~@4",
  N: "~@4 a1@3 ~ c2@3 ~ a1 ~ c2 ~", O: "g1@6 d2 ~ g2@3 ~@5", P: "~@4 a1@3 ~ c2@2 ~@2 a1@2 db2 ~", Q: "d2@7 ~ d3@6 ~@2",
  R: "[~@4 a1@3 ~ ab1@4 g1@7 ~ bb1@4 d2@4 db2@8 e2@4 a1@6 ~@2]/3", S: "d2@5 ~ a1@2 d2@7 ~", T: "~@2 a1@2 c2 ~ a1 c2",
  U: "g1@5 ~ d2 ~ g2@3 ~@5", V: "~@4 a2@4 c3@3 ~ a2 ~ db3@2", W: "d3@5 ~ a2@2 d3@6 e3@2", X: "gb3 gb2 ~@2",
  Y: "~ d2@15", Z: "~ db2@11 ~ a1@3", AA: "[~ bb1@23 ~ a1@3 ~ g1@7 ~ g1@3 ~ a1@23]/4",
  AB: "~ bb1@5 ~ bb1 ~ bb1@5 ~ bb1", AC: "~ bb1@5 ~ bb1 ~ bb1@7", AD: "~ a1@5 ~ a1 ~ a1@5 ~ a1",
  AE: "~ db2@5 ~ db2 ~ db2@7", AF: "~ d2@5 ~ d2 ~ d2@5 ~ d2", AG: "~ d2@5 ~ d2 ~ d2@7", AH: "~ a1@5 ~ a1 ~ a1@7",
  AI: "[~ d2@27 ~ g1@15 ~ a1@19]/4", AJ: "~@2 bb1@5 ~ bb1 ~ bb1@5 ~", AK: "bb1 ~ bb1@5 ~ bb1 ~ bb1@6",
  AL: "~@2 a1@5 ~ a1 ~ a1@5 ~", AM: "a1 ~ db2@5 ~ db2 ~ db2@6", AN: "~@2 d2@5 ~ d2 ~ d2@5 ~",
  AO: "d2 ~ d2@5 ~ d2 ~ d2@6", AP: "a1 ~ d2@5 ~ d2 ~ d2@6", AQ: "bb1 ~ a1@6 a1 ~ a1@6",
  AR: "[~@2 d2@23 ~ c2@3 ~ bb1@15 ~ a1@19 ~ d2@6 ~@8]/5", AS: "~@3 d2@8 ~@5", AT: "~@3 d2@3 ~@3 d2 ~ d2@4 ~",
  AU: "~@7 a1@3 ~ c2@3 ~ a1", AV: "~ c2 ~ g1@6 d2 ~ g2@3 ~@2", AW: "[~@7 a1@3 ~ c2@2 ~@2 a1@2 db2 ~ d2@7 ~ d3@5]/2",
  AX: "[~@7 a1@3 ~ ab1@4 g1@7 ~ bb1@4 d2@4 db2@7 ~ e2@4 a1@5]/3", AY: "~@3 d2@6 a1@2 d2@5",
  AZ: "[~@7 a1@4 c2@2 ~@2 a1@2 c2@2 g1@6 d2 ~ g2@3 ~@2]/2", BA: "~@7 a2@4 c3@3 ~ a2", BB: "~ db3@2 d3@5 ~ a2@2 d3@5",
  BC: "~ e3@2 gb3@4 gb2@4 ~@5", BD: "~@3 g2@13", BE: "~@3 f2@13", BF: "~@3 e2@13",
  BG: "[~@4 d2@15 ~ db2@15 ~ d2@15 ~ db2@11 ~]/4", BH: "[a1@3 ~ bb1@23 ~ a1@3 ~]/2",
  BI: "[g1@7 ~ g1@3 ~ a1@23 ~ bb1@6 bb1 ~ bb1@4]/3", BJ: "[~@2 bb1 ~ bb1@6 bb1 ~ bb1@8 bb1@6 bb1 ~ bb1@4]/2",
  BK: "[~@2 bb1 ~ bb1@6 bb1 ~ bb1@8 a1@5 ~ a1 ~ a1@4]/2", BL: "[~@2 a1 ~ db2@5 ~ db2 ~ db2@7 ~ d2@5 ~ d2 ~ d2@4]/2",
  BM: "[~@2 d2 ~ d2@6 d2 ~ d2@8 bb1@6 bb1 ~ bb1@4]/2",
  BN: "[~@2 bb1 ~ bb1@6 ~ bb1 ~ bb1@8 a1@5 ~ a1 ~ a1@5 ~ a1 ~ d2@5 ~ d2 ~ d2@7 ~ bb1@5 ~ bb1 ~ bb1@5 ~ bb1 ~ a1@6 a1 ~ a1@8 d2@27]/7",
  BO: "~ g1@15",
  BP: "[~ a1@19 ~ bb1@5 ~ bb1 ~ bb1@5 ~ bb1 ~ bb1@5 ~ bb1 ~ bb1@7 ~ bb1@5 ~ bb1 ~ bb1@5 ~ bb1 ~ bb1@5 ~ bb1 ~ bb1@7 ~ a1@5 ~ a1 ~ a1@5 ~ a1 ~ db2@5 ~ db2 ~ db2@7 ~ d2@5 ~ d2 ~ d2@3]/8",
  BQ: "[~@3 d2 ~ d2@5 ~ d2 ~ d2@7 ~ bb1@5 ~ bb1 ~ bb1@5 ~ bb1 ~ bb1@5 ~ bb1 ~ bb1@7 ~ a1@5 ~ a1 ~ a1@3]/4",
  BR: "[~@3 a1 ~ d2@5 ~ d2 ~ d2@7 ~ bb1@6 bb1 ~ bb1@6 bb1 ~ a1@6 a1 ~ a1@8 d2@23 ~@2 c2@2]/5", BS: "~ bb1@7",
  BT: "[~@2 a1@19 ~ d2@10]/2", BU: "~@2 d2@3 ~ d2@3 ~ d2@3 ~ c2@2", BV: "[~@2 bb1@7 ~ a1@3 g1@7 ~ g1@3 ~ d2@91 ~@12]/8",
})).s("gm_fretless_bass").gain(0.28)

// chords · pad halo
const pad_halo = note(`<
  ~@35 A B C D E F E G@2 ~@16 A B C D H I J K@2 ~@2 L@5 M N@3 O P I Q M R@4 S@5 T U@3 V W X Y T Z@5 ~@21 AA@3 AB@6 ~@2
  AC@8 AD@8 AE AF@7 AG@8 AH@3 AI@3 AJ@8
>`.pickRestart({
  A: "[bb3,d4,g4]", B: "[bb3,d4,f4]", C: "[g3,bb3,e4]", D: "[g3,bb3,d4]", E: "[e3,a3,db4]", F: "[f3,a3,d4]",
  G: "[[f3,bb3,d4]@23 ~@9]/2", H: "[a3,db4,e4]", I: "~ [a3,d4,f4]@15", J: "~ [a3,db4,e4]@15",
  K: "[~ [f3,bb3,d4]@23 ~@8]/2", L: "[~ [d4,f4,a4]@32 [c4,e4,g4]@32 [a3,e4,g4]@15]/5", M: "~ [db4,e4,g4]@15",
  N: "[~ [a3,d4,f4]@32 [bb3,d4,f4]@15]/3", O: "~ [c4,e4,g4]@15", P: "~ [a3,e4,g4]@15", Q: "~ [bb3,d4,f4]@15",
  R: "[~ [a3,d4,f4]@28 [bb3,d4,g4]@16 [a3,db4,e4]@19]/4", S: "[~ [d4,f4,a4]@16 [c4,e4,g4]@16 [a3,e4,g4]@7]/5",
  T: "~ [db4,e4,g4]@7", U: "[~ [a3,d4,f4]@16 [bb3,d4,f4]@7]/3", V: "~ [c4,e4,g4]@7", W: "~ [a3,e4,g4]@7",
  X: "~ [d4,f4,a4]@7", Y: "~ [bb3,d4,f4]@7", Z: "[~@2 [d4,f4,a4]@28 [d4,f4,bb4]@16 [db4,e4,a4]@19 ~@15]/5",
  AA: "[~@3 [bb3,d4,g4]@16 [bb3,d4,f4]@16 [g3,bb3,e4]@13]/3", // Gm Bb Edim
  AB: "[~@4 [g3,bb3,d4]@16 [a3,db4,e4]@16 [a3,d4,f4]@16 [a3,db4,e4]@16 [f3,bb3,d4]@23 ~@5]/6", // Gm A Dm A Bb
  AC: "[~ [d4,f4,a4]@8 [c4,e4,g4]@8 [a3,e4,g4]@4 [db4,e4,g4]@4 [a3,d4,f4]@7]/8", // Dm C A7 Dbdim Dm
  AD: "[~@4 [bb3,d4,f4]@16 [c4,e4,g4]@16 ~ [a3,e4,g4]@16 [a3,d4,f4]@16 [bb3,d4,f4]@16 [db4,e4,g4]@16 [a3,d4,f4]@27]/8", // Bb C A7 Dm Bb Dbdim Dm
  AE: "~ [bb3,d4,g4]@15", AF: "[~ [a3,db4,e4]@20 [d4,f4,a4]@32 [c4,e4,g4]@32 [a3,e4,g4]@16 [db4,e4,g4]@11]/7",
  AG: "[~@5 [a3,d4,f4]@32 [bb3,d4,f4]@16 [c4,e4,g4]@16 [a3,e4,g4]@16 [d4,f4,a4]@16 [bb3,d4,f4]@16 [db4,e4,g4]@11]/8", // Dm Bb C A7 Dm Bb Dbdim
  AH: "[~@5 [d4,f4,a4]@28 ~ [d4,f4,bb4]@14]/3", AI: "[~ [db4,e4,a4]@10 [d4,f4,a4]@13]/3",
  AJ: "[~@2 [d4,f4,bb4]@11 [d4,g4,bb4]@12 [d4,gb4,a4,d5]@89 ~@14]/8", // Bb Gm D
})).s("gm_pad_halo").gain(0.09)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@5 A B C@2 A B C@2 A B D@6 E F G@2 E F G@2 E F H@3 I J K L M ~@7 N O P Q N O P Q N O P Q R S J K L M ~@7 T@2 U@3 V
  T@2 W U@2 T W V ~@4 X@5 Y Z@2 AA@5 Y ~@8 AB AC AD AE@2 AC AD AE@2 AC AD AE@2 AC AD AF@6 AG AH ~@6 AI AJ AK AL@2 AM AN
  AJ AO AP@2 AQ@3 AR ~@3 AS@3 AT AU@2 AV@3 AW AT AQ@3 AR ~@13
>`.pickRestart({
  A: "~ [a3,d4,f4]@2 ~@5", B: "~ [a3,e4,g4]@2 ~@5",
  C: "[~@2 [bb3,d4,f4]@4 ~@8 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@3 ~@3]/2", // Bb A
  D: "[~@2 [bb3,d4,f4]@4 ~@8 [db4,e4,a4]@4 ~@3 e4@4 [db4,e4,a4]@2 [db4,e4,a4]@3 ~ [d4,f4,a4]@24 ~@4 [bb3,d4,f4]@14 ~@2 [a3,db4,e4]@19 ~@2, ~@9 a4 [db4,a4]@2 ~@36, ~@19 [db4,e4]@2 ~@75]/6", // Bb A Dm Bb A Gbm Dbm
  E: "~@3 [a3,d4,f4]@4 ~@9", F: "~@3 [a3,e4,g4]@4 ~@9",
  G: "[~@3 [bb3,d4,f4]@4 ~@8 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@3 ~@2]/2", // Bb A
  H: "[~@3 [bb3,d4,f4]@4 ~@8 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@4 ~@3 db4@3 f3@4 a3@4 ~ d4@4 a3@3 ~, ~@25 [e4,a4]@2 [e4,a4]@3 ~@18, ~@13 db4 ~@10]/3", // Bb A A5
  I: "gb3@4 a3@4 c4@4 a3@3 ~", J: "g3 bb3 d4 bb3", K: "f3 bb3 d4 bb3", L: "e3 bb3 d4 bb3", M: "d3@4 bb3@4 d4@4 bb3@3 ~",
  N: "~ [a3,d4,f4] ~@2", O: "~ [a3,e4,g4] ~@2", P: "~ [bb3,d4,f4] ~@2",
  Q: "[db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@3 ~", R: "f3@4 a3@4 d4@4 a3@3 ~",
  S: "gb3@4 a3@4 c4@3 ~ a3@3 ~", T: "~ d4@4 f4@4 a4@4 f4@3", U: "~ c4@4 e4@4 g4@4 e4@3", V: "~ db4@4 e4@4 g4@4 e4@3",
  W: "~ bb3@4 d4@4 f4@4 d4@3",
  X: "[~ d4@2 f4@2 a4@2 f4@2 d4@2 f4@2 a4@2 f4@2 c4@2 e4@2 g4@2 e4@2 c4@2 e4@2 g4@2 e4@2 c4@2 e4@2 g4@2 e4]/5",
  Y: "~ db4@2 e4@2 g4@2 e4", Z: "[~ d4@2 f4@2 a4@2 f4@2 d4@2 f4@2 a4@2 f4]/2",
  AA: "[~ bb3@2 d4@2 f4@2 d4@2 c4@2 e4@2 g4@2 e4@2 c4@2 e4@2 g4@2 e4@2 d4@2 f4@2 a4@2 f4@2 bb3@2 d4@2 f4@2 d4]/5",
  AB: "~@7 [a3,d4,f4]@4 ~@5", AC: "~@7 [a3,e4,g4]@4 ~@5", AD: "~@7 [bb3,d4,f4]@4 ~@5",
  AE: "[~@3 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@3 ~@5 [a3,d4,f4]@4 ~@5]/2", // A Dm
  AF: "[~@3 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@4 [db4,e4,a4]@2 [db4,e4,a4]@3 ~ f3@4 a3@4 d4@4 a3@3 ~ gb3@4 a3@4 c4@3 ~ a3@3 ~ g3@4 bb3@4 d4@4 bb3@4 f3@4 bb3@4 d4@4 bb3@4 e3@4 bb3@5 d4@4]/6", // A
  AG: "bb3 d3 bb3 d4", AH: "bb3@3 ~@13", AI: "~ d4 f4 a4", AJ: "f4 d4 f4 a4", AK: "f4 c4 e4 g4", AL: "e4 c4 e4 g4",
  AM: "e4@3 ~ db4@4 e4@4 g4@4", AN: "e4@3 ~ d4@4 f4@4 a4@4", AO: "f4@3 ~ bb3@4 d4@4 f4@4",
  AP: "[d4@4 c4@4 e4@4 ~ g4@4 e4@4 c4@4 e4@4 g4@3]/2",
  AQ: "[~ e4@4 d4@4 f4@4 a4@4 f4@4 bb3@4 d4@4 f4@4 d4@3 ~ db4@4 e4@4 g4@3]/3", AR: "~ e4@3 ~@12",
  AS: "[~@5 d4@4 f4@4 a4@4 f4@4 d4@4 f4@4 a4@4 f4@4 c4@4 e4@4 g4@3]/3", AT: "~ e4@4 c4@4 e4@4 g4@3",
  AU: "[~ e4@4 c4@4 e4@4 g4@4 e4@3 ~ db4@4 e4@4 g4@3]/2",
  AV: "[~ e4@3 ~ d4@4 f4@4 a4@4 f4@4 d4@4 f4@4 a4@4 f4@3 ~ bb3@4 d4@4 f4@3]/3", AW: "~ d4@4 c4@4 e4@4 g4@3",
})).s("gm_electric_guitar_clean").gain(0.2).pan(0.7)

// other · distortion guitar
const distortion_guitar = note(`<
  ~@13 A B C D@5 ~@14 E F G H I J K L@4 ~@4 M N M O P ~@3 Q R E F G J I S T U@4 ~@14 V@3 W X@3 ~@11 Y@5 ~@11 Z@5 ~@2
  AA@3 AB@7 AC@2 AD@3 ~@13 AE@2 AF AG@4 ~@11 AH@2 AI AJ@3 AK@6 ~@2
>`.pickRestart({
  A: "~@2 d4 ~ d4 ~ f4 ~ f4 ~ d4 ~@5", B: "~@2 c4 ~ c4 ~ c4 ~ c4 ~ d4 ~@5", C: "~@2 d4 ~ d4 ~ f4 ~ f4 ~ d4 ~@3 a4@2",
  D: "[~@2 f4@2 g4@2 ~ d4@2 e4@2 c4@3 ~ d4@23 ~ c4@4 bb3@16 a3@18 ~@3]/5", E: "g4", F: "f4", G: "e4", H: "d4@15 ~",
  I: "db4@15 ~", J: "d4", K: "db4@3 a3", L: "[bb3@23 ~ a3@4 g3@7 ~ g3@4 a3@23 ~]/4", M: "~@2 a4 d5 f5 d5 c5 ~",
  N: "d5 ~@3 d5@11 ~", O: "g5@8 e5@2 d5 ~ c5@2 ~@2", P: "d5@15 ~", Q: "~ d5@3", R: "d5 c5 a4!3 gb4 d4 gb4",
  S: "~ d4@15", T: "~ db4@12 a3@3", U: "[~ bb3@23 ~ a3@4 g3@7 ~ g3@4 a3@23]/4",
  V: "[~@5 d3@2 f3@2 a3@2 c4@2 d4@2 e4@2 f4@2 a4@2 c5@2 d5@2 e5@2 f5@2 g5@12 d5@2 bb4@2 a4@3]/3",
  W: "~ a4@2 g4@2 f4@2 g4@2 ~ a4@4 f4@2", X: "[e4@2 d4@31 ~@15]/3", Y: "[~@2 d4@22 ~@2 c4@4 bb3@15 ~ a3@20 ~@14]/5",
  Z: "[~@7 d4 ~ d4 ~ f4 ~ f4 ~ d4@7 ~ c4 ~ c4 ~ c4 ~ c4 ~ d4@7 ~ d4 ~ d4 ~ f4 ~ f4 ~ d4@2 ~@2 d5@4 c5@2 bb4@2 a4@2 g4@2 f4@3 ~ d4@12 ~]/5",
  AA: "[~@15 a4@2 d5@2 f5@2 d5@2 a4@2 g4@2 a4@2 g4@2 f4@2 d4@2 g4@2 gb4@2 e4@2 d4@2 g3@2 gb3@2 e3]/3",
  AB: "[~ d3@2 [g3,g4]@16 [f3,f4]@16 [e3,e4]@16 ~ [d3,d4]@16 [db3,db4]@15 ~ [d3,d4]@16 [db3,db4]@12]/7", // G F E D Db D Db
  AC: "[[a2,a3]@4 bb3@23 ~ a3@4]/2", AD: "[g3@7 ~ g3@3 ~ a3@23 ~@13]/3", AE: "[~@9 d5@16 c5@2 ~@2 d5@3]/2",
  AF: "~ c5@2 ~@2 d5@2 ~@2 c5@2 ~@2 d5@3", AG: "[~ c5@2 ~@2 a5@3 ~ c5@2 ~@2 a5@37 ~@14]/4",
  AH: "[~@9 d3@2 f3@2 a3@2 c4@2 d4@2 e4@2 f4@2 a4@2 c5@2 ~ d5@2 e5@2]/2", AI: "f5 g5@6 d5",
  AJ: "[bb4@2 a4@4 a4@2 g4@2 f4@2 g4@2 a4@4 f4@2 e4@2 d4@23 ~ c4@2]/3",
// … 68 more lines

More by Pooh