Strudelify

I Concentrate on You

Cole Porter

KeyE♭ majorTempo170 bpm
0:00/0:00
// I Concentrate on You — Porter Cole
// 170 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 203 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(170/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 · piano · "IConcentra"
const piano = note(`<
  A@2 B@2 C D E@2 F G H I J K@2 L@2 M N@2 O P Q@4 R S T U V@2 W X Y@2 Z@2 AA@2 AB AC@2 AD AE AF AG AH AI AJ AK@2 AL AM
  AN AO AP AQ AR@3 AS AT@2 AU@2 AV@2 AW@4 AX AY AZ@2 BA@2 BB BC BD@2 BE@2 BF BG BH BI BJ BK BL BM BN BO BP@2 BQ@2 BR@2
  BS@3 BT@3 BU BV BW BX@2 BY BZ@3 CA CB CC CD CE CF CG CH@2 CI@2 CJ@2 CK@3 CL CM CN CO@2 CP@2 CQ CR CS CT CU CV CW CX CY
  CZ DA DB DC@3 DD DE DF DG DH DI@2 DJ DK@2 DL@2 DM DN DO@2 DP DQ@2 DR DS@2 DT DU@2 DV@2 DW@2 DX@2 DY DZ EA EB EC ED
  EE@3 EF EG EH EI EJ EK EL EM@2 ~
>`.pickRestart({
  A: "[~@6 bb3@2 ~ c4@3 eb4@2 ~@4 bb2@6 ~@4 c4@4, ~@15 d4@9 bb3@8]/2", B: "[[c4,db4] d4@13 d4 db4 ~ d4@15, ab2]/2",
  C: "~@6 eb4@2 ~ gb4@2 ~ ab4@2 bb4 ~", D: "~ [db3,b3]@7 ~@4 gb4@4, ab4, ~ bb3",
  E: "[~@5 [gb3,eb4]@3, ab4@3 ~@3 ab4@25 ~, ~ bb3@15 ~@16]/2", F: "ab4@4 ~@3 b4, eb4, ~@8 ab4@7 ~, ~@11 bb4@5",
  G: "~ g4@5 gb4@10, [ab3,d4,bb4]", H: "ab4@6 gb4 ~ a4@2 gb4 ~ ab4@4", I: "~ gb4@15",
  J: "~@2 [a3,db4,f4]@6 [ab3,ab4] ~@3 g4@2 ~@2, ~@12 g3 ~@3", // Aaug Ab
  K: "[[gb3,b3,d4,gb4]@11 c4 f4@2 ~@10 d4@6 eb4@2, ~@15 g4@2 ~@2 bb2@13, ~@2 eb4 ~]/2", // Bm
  L: "[~@6 eb4@9 bb3@2 ~@9 c4@4 eb4 ~, ~@19 bb2@12 ~, ~@22 bb3@9 ~]/2",
  M: "~@2 bb2 ~@3 eb4 ~@5 c4@3 ~, f3@3 ~, d4@3 ~@5", N: "[~@10 eb3 ~ bb3@18 bb3 ~]/2",
  O: "eb4@6 gb4@2 ~@4 bb4@3 ~, ~@9 ab4@7", P: "~ b3@7 [bb3,eb4]@8, [db3,e4,ab4] ~",
  Q: "[[bb3,eb4,ab4]@3 [bb3,db4,eb4,gb4,bb4]@3 [gb3,bb3,eb4]@3 [ab3,db4,eb4,gb4]@3 [gb3,bb3,eb4,ab4]@3 ~@6 bb4@2 ~@5 gb4@3 bb4, ~@15 [b3,eb4,ab4]@9 ~ g4 ~@6, ~@36 f2@12 ~@3 [ab3,d4]@13, ~@46 b4@17 ~]/4", // Ebsus4 Ebm7 Ebm Absus4 Ebm Abm Abdim
  R: "ab4@6 gb4 ~ ab4 a4 bb4@5 ab4", S: "~@3 gb2@5 [e3,b3,e4,ab4]@8, ~ gb4@7 ~@8",
  T: "~ f4@3 ab3@3 g4, ~@2 [a3,db4]@13 ~, ~@4 ab4 ~@3", U: "~@3 eb3@5 gb4@2 ab4@2 f4@2 gb4@2, gb4 ~",
  V: "[~@2 eb2@6 c5@11 ~@3 eb4 ~@5 eb4@2 ~@2, eb4@8 f4@15 ~@9, ~@19 [eb3,bb3]@13]/2", W: "b4 ~@7 [g3,ab3]@8, c5",
  X: "[ab3,d4,g4,b4]@6 bb3 [b3,f4,bb4,d5]@3 ~@2 [d4,g4,b4] ~@3, ~@5 bb3 ~@2, ~@11 a3@2 ~@3", // G Bb G
  Y: "[~@10 a4@2 c5@2 ~ bb3@5 [c4,e4,ab4,eb5]@6 ~ bb3@5, [g3,d4,f4,bb4]@6 ~ [e4,a4,db5]@3 ~@3 [e4,a4,db5]@3]/2", // Ab Gm7 A
  Z: "[eb4@10 ~@3 ab4@2 [d4,bb4]@10 ~ [ab3,b3,ab4]@6, c5@15 ~@17, ab4@13 ~@19, ~@10 eb4@5 ~@17]/2", // Gm Abm
  AA: "[g3@6 eb4@6 ~@14 eb4@4 ~ b4, [b3,g4]@6 [d4,f4]@9 bb4]/2", AB: "~@13 c5@3, c5@13 ~@3, ~@3 [c4,eb4,g4]@5",
  AC: "[~ [bb3,db4]@5 ~ [eb4,ab4]@5 [ab3,db4,gb4,b4]@6 ~@10 g4@3 ~, [gb4,b4]@6 [b3,db5]@6 ~@6 f4@13 ~, ~@19 [g3,c4,bb4]@13]/2", // Bbm Ab5 Abm7 B5 Bsus2 C7
  AD: "[eb3,d4,eb4]@7 ~@5 bb4@4, ~ [eb3,c4]", AE: "c5@3 d5@3 a4@2 ~@6 a4@2, ~ c5, ~@11 bb4@5", AF: "a4 bb4 ~ g4@6 ~@7",
  AG: "~@3 d5@3 eb5@2 ~@6 ab5@2, ~ [eb4,f5], ~@9 [bb3,c4]@7, ~@11 g5@5", AH: "bb5@2 ab5 gb5 f5@12, [bb3,b3,eb4]",
  AI: "~@6 eb5 ~@2 d5@6 [ab3,db4,gb4,eb5]", AJ: "~@7 c5, ~ [g3,c4,f4,d5]@15, ~@3 bb4",
  AK: "[~ d5@3 eb5 ~@5 [ab3,bb3,c4] ~@19 ab4 ~, [ab3,bb3,c4]@9 ~@3 bb4@4 c5@16, c5@2 ~@4 d5@7 ~ bb3@17 ~, ~@27 bb4@5]/2", // Ab
  AL: "bb4@14 c5 ~", AM: "b4@3 ~ c5@2 ~@8 eb5@2, ~@3 ab3@7 [ab3,d4]@6, ~ bb4", AN: "~@6 eb5 ~@9, ~ g4@7 ~@8",
  AO: "bb3 ~@9 g4@2 ab4 ~ a4 ~, ~@3 [bb3,eb4]@3 ~@2", AP: "bb4@2 [c4,db4] ~ g4@2 ~@4 f4 ~@3 a4 ~, ~@4 bb4@3 ~",
  AQ: "~@2 [f3,b3] ~@3 bb4 ~@3 e3@4 g4 ~, ab4@3 ~ g4@3 ~, ~@10 bb3 ~@5", // Fdim
  AR: "[g4@2 ~@2 f4@2 ~@2 e4@2 ~@2 f4@2 ~@5 ab3 ~@4 bb3@10 [f3,f4] ~@3 f3@2 [ab3,ab4]@3 ~ [g3,g4]@3 ~, ~@14 c5@19 ~@5 f4 ~@9]/3", // F Ab G
  AS: "~@2 ab3 bb2 ~@8 f4@4, gb4, ~ [bb2,ab3]", // Bb7
  AT: "[eb4 ~ bb3 ~@3 f4@2 c4@2 ~ f4 bb3@3 f4@2 ~@2 f4 bb3@3 ~ c4@2 ~@2 bb3@2 eb4@2, ~@11 c4@2 ~@6 c4@2 ~@2 f4@2 ~@2 [c4,f4]@3 ~@2]/2", // F5
  AU: "[~@3 eb2@15 ~@2 f4@2 g4@2 ab4@2 bb4@2 c5@2 d5@2, g3@17 ~@2 eb4@2 ~@11, ~@2 bb2@15 ~@15]/2",
  AV: "[eb5@2 d5 ~ f5@2 eb5 ~ d5@2 c5 ~ bb4 ~@9 f4@2 ~@6 c5@2, [gb3,c4]@31 ~, ~@24 gb4@7 ~, ~@26 ab4@5 ~, ~@7 bb4]/2", // Gbdim
  AW: "[db5@6 bb4@2 ~@4 eb5@6 ~@2 ab4@3 ~ [ab3,eb4]@6 bb4@2 ~@2 eb4@2 db4@2 eb4@2 db4@8 ~@6 gb4 ~ ab4@2 ~ bb4@2 ~ b4@2, [eb3,ab3,db4]@14 ~@4 [e3,ab3,b3,b4]@6 ~@6 [eb3,ab3]@23 ~@11, ~@4 gb4@3 ~@25]/4", // Ab5 Dbsus2 E Ab5
  AX: "db5@3 eb5@2 f5@2 ~@6 bb5@2 ~, [bb3,b3,eb4]@15 ~, ~ gb5, ~@11 ab5@5", // Bmaj7
  AY: "~ b5 c6 ~@11 bb5@2, [db4,d4,gb4], bb5 ~@7, ~ db6@15", // Dmaj7
  AZ: "[ab5 ~@6 [ab3,bb3]@11 gb5 ~ e5@2 ab5@2 ~ eb5 db5 ~ b4@2 bb4 ~, ~@19 bb3@9 ~@4, ~@19 f5@2 ~@11]/2", // Absus2
  BA: "[ab4@2 ~ b3 db5@3 ~ bb4@2 [gb3,bb3,b3] ~ eb4@2 db5@4 ab3 ~ bb4@2 ~@2 gb4@2 [d3,ab3] ~ db5@2 ~@2]/2", // Bmaj7 Ddim
  BB: "c5@2 [eb2,bb2] ~ bb4@2 c5 ~@5 f4@3 ~", // Eb5
  BC: "~@2 [bb3,c4] ~@2 c5@2 eb5 g5@2 [ab3,d4] ~ gb5@2 ~ d5, ~@2 [ab3,g4]@5 ~@9, ~@2 ab4@2 ~ bb5 ~@2", // Bbsus2 Abdim Abmaj7
  BD: "[~@6 [eb5,f5]@2 d5@6 bb4 ~@4 bb4 d5@2 ~@2 [f4,f5]@6 ~ [g3,db4,gb4,eb5], f5@3 ~@13, ~ [g3,bb3,c4]@14 ~]/2", // Ebsus2 F Eb7 C7
  BE: "[~@3 [gb3,c4,f4,d5]@4 [g3,db4,gb4,eb5] ~ [f4,d5]@2 ~ bb4@2 ~@2 f4@14 ab4@2, ~@9 [gb3,c4]@22 ~]/2", // D7 Eb7 Dm Gbdim
  BF: "~@2 f4 [ab3,db4] gb4 bb4 ~ db5 ~ f5@2 ~ e5@2 ~ c5, ~@11 ab5@2 ~@3", // Db5
  BG: "eb5@2 ~ db5 eb5 ~@2 gb5 a5@2 ~ g5 bb5@2 ~@2", BH: "~@2 gb5@2 ~@2 eb5@2 db5@3 ~@3 eb5@2, ~ [eb3,ab3,db4]@7",
  BI: "db5@2 ab4 ~ bb4 ~ gb4 ~ ab4@2 eb4 ~ gb4@4", BJ: "~@2 ab4@2 bb4 ~ gb4@2 eb4@2 b3 ~ bb3@2 ~@2, ~@2 [f3,b3]@5 ~@9",
  BK: "ab3@2 bb3 ~ b3@2 db4 ~ d4@2 e4@2 f4@2 gb4@2",
  BL: "ab4@2 f4@2 gb4 ~ db4 [eb3,ab3] bb4@2 b4@2 db5@2 eb5@2, ~@3 ab4 ~@4", // Ab5
  BM: "e5@2 gb5 ~ ab5 ~ bb5@2 eb4 [e3,bb3] db6@2 eb6@2 e6@2, ~@4 b5 ~@3", // Edim
  BN: "f6@2 [eb3,ab3,a3,db4] ~ ab6@2 g6@2 gb6@2 [eb3,ab3,a3,db4] ~ f6@2 e6@2", // Dbsus2
  BO: "~ eb6 d6 ~ db6 ~ [ab3,d4] c6 ~ b5 ~ bb5@2 ~ ab5@2", // Abdim
  BP: "[~ g5@2 [bb3,c4,f4,bb5] f6@2 ~@2 eb6@3 ~@5 [bb3,f4]@6 [e3,bb3,e4,ab4,eb5] ~@7 eb5@2, ~@11 bb5@12 ~@3 [e3,bb3,e4,ab4,db5]@6]/2", // Bbsus2 Bb5 Emaj7 Bbm7b5
  BQ: "[[g3,ab3,c4,eb4,ab4,c5]@7 [ab3,d4,g4,b4]@2 [bb3,d4,gb4,db5]@2 [ab3,d4,g4,b4]@4 g4]/2", // Abmaj7 G Gb G
  BR: "[[g3,f4,bb4] ~@3 [g3,d4,f4,bb4]@6 ~ c4@4 [g3,db4,f4]@11 [e3,bb3] ~@3 ab5 ~, d4 ~@4 f4@2 ~@9, ~@11 gb3 ~@20]/2", // Gm7 Gm7b5 Edim
  BS: "[[c5,c6]@3 bb5 c6@2 ~ bb5 ~ ab5 ~@2 g5@2 ~ ab5@2 ~ [ab3,d4,eb5] ~@2 d5 ~ c5@2 bb4 ~ ab4@2 g4@2 gb4@2 ~@2 [g3,bb3,c4]@9 g4 ab4 ~ bb4, ~@11 bb5@2 ~@4 f5@2 ~@8 bb4 ~@5 f4@11 ~@4]/3", // C Ab C7
  BT: "[c5@2 ~ eb5 f5@2 g5 ~ bb5 ~ c6 db6 d6 ~@3 c6@5 ~ d6@6 eb6@6 [gb3,bb3,b3,eb4,db6] ~@3 d6 ~ [gb3,bb3,b3,eb4,eb6]@4 ab5@2 a5 ~, ~@2 d5@2 ~@3 ab5@2 ~@5 eb6@2 [g3,c4,eb4]@12 ~@16 [gb3,bb3,b3,eb4]@4, ~@15 d6@2 ~@31]/3", // Ebm7 Bmaj7 Cm Bmaj7
  BU: "bb5@2 [f3,bb3,d4] ~ g5@2 ab5 ~ a5@2 [f3,b3,eb4,bb5] ~ g5 ~ ab5 ~", // Bb Ebsus2
  BV: "a5@2 [e3,bb3,eb4,bb5] ~ g5 ~ ab5 ~ a5 ~ [bb3,d4,eb4,g4,bb5] ~ g5 ~ ab5 ~", // Eb Ebmaj7
  BW: "a5 ~ bb5 ~ b5@2 c6 ~@2 [f5,a5] d5 ~ c5@2 b4 ~, ~ [d4,f4]@4 ~@3, ~@3 [a3,bb3]@8 ~@5", // F Dm Bbmaj7
  BX: "[bb4@2 eb5 ~ a4@2 ~@2 [a3,eb4]@6 ~@2 ab4 ~ g4 ~ bb4@2 ~@5 [c4,eb4] ab4 g4 ab4 bb4, ~@14 [ab3,c4,eb4]@13 ~@5, ~@19 ab4@2 ~@11]/2", // Adim Cm Ab
  BY: "c5 eb5 c5 db5 d5 ~@9 f5 d5, ~@8 [ab3,d4,gb4]@5 ab5@2 ~, ~@6 c6 ~", // Abm7b5
  BZ: "[bb5 g5 ~@9 [f5,g5] bb5 ~ d5 [f5,bb5] g5 ~@11 f5 gb5 g5 ~ g5 gb5 f5 eb5 d5 db5 c5 ~ [ab4,bb4] g4 gb4 f4 ~ db4@2 c4, ~@8 f4@20 ~@17 eb4 ~@2, ~@9 [bb3,c4]@20 ~@19, ~@9 d6@2 ~@37, ~@10 bb5@2 ~@19 ab5@2 ~@15]/3", // Fsus2 Bb5 Absus2 Bbsus2
  CA: "bb3@3 ~ eb3@6 ~ eb3 bb3@2 a3 ~", CB: "ab3@2 bb3 ~ c4@2 eb4 ~ g4@2 [c3,e4]@2 f4@2 g4@2, ~@3 f2@9 ~@4",
  CC: "ab4@2 ~ bb4 ~ b4@2 a4 ~ bb4 ~ ab4@2 g4@2 gb4",
  CD: "f4@2 ~@2 db4@2 ~ db3 db4@2 eb4 f4 g4@2 ab4 ~, ~@3 eb4@2 ~ b3@2 ~@8",
  CE: "bb4 ~ c5@2 db5 ~ eb5@2 f5@2 ~@4 bb5@2, ~ [e3,bb3,eb4]@7, ~@5 g5@3, ~@3 ab5", // Eb
  CF: "[g3,ab3,c4,ab5,c6]@6 [g3,ab3,c4,ab5] ~@2 [c4,g5]@2 [g3,ab3,c4,f5]@2 ~@3, ~@9 [g3,ab3] ~@6", // Abmaj7 C5 Fm Abmaj7
  CG: "~@6 [f3,b3,eb4] ~ [b3,eb4,bb4,bb5]@4 [e3,bb3,eb4,bb4,bb5]@3 ~, ~@3 f5 ~@4", // Fm7b5 Bmaj7 Eb
  CH: "[~@4 [ab4,ab5]@2 ~ [g3,ab3,g4,g5]@2 ~@2 c4@3 ~@8 g5@2 [g4,eb5]@2 ~@2 [g4,c5]@4, [g3,ab3,c4,bb4,bb5]@6 c4@2 ~@2 [g3,ab3,f4,f5]@4 [g4,eb5]@8 c5 ~@9, ~@18 [ab3,eb4]@6 ~@2 [ab3,eb4]@5 ~]/2", // Ab Abmaj7 Cm C5 C7 Db Cm Ab5
  CI: "[[a3,eb4,ab4,f5]@6 [a3,eb4,ab4,db5,ab5]@5 ~ [a3,eb4,g4,db5,g5]@6 [ab3,db4,d4,gb4,db5,gb5]@9 ~ [db4,d4,gb4,b4,e5]@2 ~@2, ~@27 ab3@3 ~@2]/2", // F7 Amaj7 A7 Dbsus4 Bm
  CJ: "[[g3,c4,f4,bb4,eb5] ~@3 [g3,c4,f4,bb4,eb5]@2 ~ [bb3,bb4,eb5,ab5] ~@3 [e3,bb3,bb4,eb5,ab5] ~@3 [bb3,c5,ab5,c6] ~@6 d4 [ab3,d5,d6] [ab3,d4]@2 ~@2 [ab3,d4,eb5,eb6]@3 ~, ~@7 e3@2 ~@6 [g3,ab3]@2 ~@2 [g3,ab3,bb3,c5,ab5,c6]@5 [d5,d6] ~@7]/2", // Cm7 Ebsus4 Emaj7 Fm Abdim Ab Abmaj7 C7 …
  CK: "[[g3,bb3,d4,f4,f5,bb5,f6]@6 [g3,bb3,c4,d4,f4,d5,bb5,d6]@6 [g3,bb3,c4,d4,f4,bb4,bb5]@6 ~ [bb3,c4,d4,g4]@5 [g3,bb3,c4,d4,f4,bb4,bb5]@6 [gb3,bb3,c4,f4,d5,gb5,bb5,d6]@6 [gb3,bb3,c4,f4,f5,bb5,f6]@6 [gb3,bb3,c4,f4,bb5,bb6]@5 ~, ~@3 [g3,f4,d5,g5] ~@4]/3", // Gm7 Gm Gm7 Bb Gbmaj7 G7
  CL: "~@6 gb5 bb5, [gb3,bb3,c4,f4,f5,f6], bb5@7 ~, ~@10 d5@5 ~", // Gbmaj7
  CM: "c6@2 db6 ~ bb5 ~ gb5@2 eb5@3 ~ d5@2 eb5 bb4, ~@3 gb3@3 ~@2",
  CN: "~@3 [db3,b3]@5 [gb2,e3,gb5]@2 eb5 ~ bb4@2 g4 ~, db5 ~", // Db7 Gb7
  CO: "[~@3 b2@3 bb4 ~@3 [b2,gb3,bb3] ~@3 ab4 ~@3 [b2,gb3,bb3] ~@3 db4@2 bb3@2 [b2,gb3] ~@3 f3 ~, gb4@6 ~ ab4@2 ~@7 eb4@4 ~@2 eb4 ~@9, ~@2 [gb3,bb3]@4 ~@2 gb4@6 ~ gb4@2 ~@15]/2", // Bmaj7 B5 Gb
  CP: "[gb3 ab3 ~ bb3 b3@2 db4 f2 eb4@2 ~@2 gb4 ~ ab4 ~ f4@2 eb4 ab3 ~@3 f4 ab4@2 [ab3,d4] ~ b4@2 ~ db5, ~@11 f4@2 ~@2 gb4@2 ~@9 db5@2 ~@4]/2", // Abdim
  CQ: "~ a4 bb4@4 ab4 ~@3 f4 [gb3,bb3,c4,db4] ~@4, ~@8 gb4@7 ~", // Gb
  CR: "gb5@2 eb4 [e3,bb3] gb5@2 ~@2 c5@2 g4 [e3,bb3,eb4] gb4@2 e4 ~, ~@7 e5@2 ~@7", // Edim Eb
  CS: "eb4@3 [eb3,ab3,db4] gb4 ~@3 db5@2 [eb3,ab3,db4] bb4 ~@3 gb5", // Dbsus2
  CT: "[bb4,bb5]@2 ~ ab5 ~ e5 b4 [ab3,db4,d4] bb4 ~ bb4 ab4@2 ~@2 gb4", // Bb Db
  CU: "g4@3 [g3,bb3,c4,bb4] f5@2 d5 ~ eb5 ~ [bb3,eb4] e3 ~@4", // C7 Eb5
  CV: "~@2 [ab3,c4,eb4,g4,f5] ab5 ~ c6 eb6 ~ g6@2 [ab3,d4] ~ bb6@2 ~@2", // Abmaj7 Abdim
  CW: "f6@2 [g3,bb3,c4,f4] ~ bb6 ~ d6@2 [g3,bb3,c4,f4] ~@2 bb6@2 ~ [g3,bb3,c4,f4] ~, ~@13 c6@3", // Gm7
  CX: "bb6 ~ bb5@2 [g3,bb3,c4,f4] ~ bb6@2 c6@2 [g3,bb3,c4,f4] ~ bb6@2 d6@2", // Gm7
  CY: "[gb3,bb3,c4,f4] ~ bb6 ~ eb6@2 [gb3,bb3,c4,f4] ~ [gb3,bb3,c4,f4] ~ bb6@2 eb6 ~ [gb3,bb3,c4,f4] ~", // Gbmaj7
  CZ: "[gb3,bb3,c4,f4] ~ bb6 ~ eb6 ~ [gb3,bb3,c4,f4] ~ bb6@2 eb6 ~ [gb3,bb3,c4,f4] ~ bb6 ~", // Gbmaj7
  DA: "gb6 ~ [eb6,gb6]@2 bb5 ~ ab5@2 gb5 ~@3 bb5@3 eb6, ~ [gb3,bb3,f4]@7, ~@2 db4@6 ~@2 ab5@5 ~, ~@11 c4@5", // Ebm Gbmaj7
  DB: "~ eb5@2 [ab3,b3,eb4]@4 bb5 ~@2 [e3,bb3,eb4]@4 bb5 ~, ~ [db5,db6]@7 ~ ab5@7", // Abm Eb Db
  DC: "[ab5@2 ~@2 gb5@2 eb5@4 gb5 ~ eb5@2 ~@2 db5@2 bb4@4 [eb3,ab3,db4]@2 db5 eb5@3 db5@2 ~@4 ab4@2 b4@2 db5@2 ~@6 ab5@2, gb5 ~ [eb3,ab3,db4]@9 ~ db5 ~ [eb3,ab3,db4]@8 gb5 ~@7 f2@6 ~@2 [f3,b3,eb4]@10, ~@5 eb5, ~@7 f5, ~@11 gb5]/3", // Dbsus2 Fm7b5
  DD: "~ gb5@5 ~ e5@9, [ab3,d4,gb4,db6]@3 [ab3,d4,gb4,b5]@5", // Dbsus4 Abm7b5
  DE: "eb2@2 ~@11 eb5@3, ~@2 f4@9 db5@5, ~ gb4@3, ~@3 ab4@5, ~@9 bb4@7",
  DF: "~ [e3,bb3,d4,d5,gb5,a5]@6 [e3,bb3,d4,c5,e5,g5]@7 [eb3,ab3,db4,gb4,db5] ~", // D Em7b5 Ebm7
  DG: "~@2 [eb3,ab3,db4,bb4] eb5 ~@2 [ab3,db4] [eb3,db5,bb5] ~@2 db4 [eb3,ab3,db5,db6] ~@2 [d4,eb5] ab3", // Ebsus4 Db5 Eb7 Dbsus2 Ebmaj7
  DH: "~@3 [ab3,d4,b4,gb5] ~@3 [ab3,d4,gb4,e5,bb5] ~@3 [ab3,b5,gb6] ~@2 bb6 ~, ~@5 [d4,gb4] ~@2", // Abm7b5 Abm7 D
  DI: "[[g3,bb3,c4,f4,bb5,g6]@6 ~ bb3 ~@4 [g3,bb3,c4,d4,f4,f5,g5,d6]@14 bb5@2 ab5 ~ bb5 ~, ~@3 [g3,d4,f5,bb5]@3 ~@10]/2", // Gm7
  DJ: "f5 g5@2 [c4,eb4,g4] bb5@2 ~@4 [ab3,c4,eb4,g4] ~@3 [ab3,d4,gb4] ~, ~ gb5 ~@4 eb5@9 ~", // Cm Abmaj7 Abm7b5
  DK: "[ab5 b5@2 ~ gb5 e5 ~ db5 b4 ~ ab4 gb4 e4 ~@2 d4@2 ~@5 ab2 c4 d4 eb4 f4 [f4,ab4] g4 ~ [bb4,c5] eb5, ~@3 ab5@2 ~@9 eb4@2 ~@16]/2", // Fm Bbsus2
  DL: "[c5 db5 eb5 f5 [f5,ab5] g5 ab5 bb5 c6 [db6,d6] ~ d6 [e3,eb4,db6] [bb3,c6] bb5 ~ [g3,ab3,c4]@5 ~ g3 [ab3,c4] ~@2 c6 g5 ~@2 b5 g5, ~@10 eb6@2 ~@3 ab5@2 ~@7 g6@2 ~@2 f6@2 ~@2, ~@16 g5@6 ~@3 eb6@2 ~@2 d6@2 ~]/2", // Fm Dmaj7 Dbm Bbsus2 Abmaj7 Ab
  DM: "eb6@2 ~@2 d6 ~ d6 db6 c6 b5 bb5 a5 ab5 g5 ~ gb5, ~@3 d4@9 ~@4, ~ ab3@2 ~, ~@5 eb6@2 ~@9",
  DN: "f5 ~ d5 c5 g5 c5 d5 f5 e5 eb5 d5 db5 c5 bb4 ab4 g4, [g3,bb3]@13 ~@3, f4@11 ~@5, ~ eb5@2 ~@13", // Gm
  DO: "[bb4 g4 ab4 bb4 [g4,ab4] gb4 ~ [eb4,f4] d4 c4 ~ [d4,eb4] f4 ab4 [f4,g4] ~ [ab4,a4] c5 eb5 ~ a5 [c5,eb5] ~ bb4 b4 d5@2 c5@2 ~@3, ~@15 [a2,g3]@13 ~@4, ~@20 g5@2 a4@2 ~ a4 ~ db5 ~@4]/2", // Abmaj7 Ebsus2 Ebmaj7 Fsus2 Amaj7 Cm A7
  DP: "[ab2,f4] gb4 ab4 [bb4,b4] eb5 b4 ~ db5 eb5 bb4 c5 gb5 ~ bb4@2 ~, ~@5 eb5 bb5 ~", // Db Bmaj7
  DQ: "[~@3 a4 d5@2 ~ g5 a5@2 ~ c6 f6@2 ~ [ab5,ab6]@2 ~@2 [gb5,gb6] g5@2 ~ eb6@2 c6@2 a5 f5@2 c6 ~, [f3,a3,bb3,d4]@12 ~@7 [eb3,g3,d4]@10 ~@3, ~@6 f5@2 ~@11 [bb3,g6]@3 ~@5 [a3,g5]@2 ~@3]/2", // Ab Gb Bbmaj7 Ebmaj7 Eb A7
  DR: "[d3,g3,c4] g5 a5 ~ [f5,c6]@2 d5 ~@3 [d3,g3,c4] ~ c6@2 [eb3,a3,d4] ~, ~ [ab5,c6]@2 ~@5 f5@4 ~@4", // Csus2 F5 Csus2 D Ab
  DS: "[[ab5,c6]@2 a5 ~ [f5,c6]@3 d5 f5@2 [eb3,a3,d4] ~ bb5@2 f5 g5@2 ~ [ab3,c4,eb4,g4]@2 eb5@2 c5 ~ [e5,f5] [gb5,g5] [gb5,bb5] ~ eb5 ~ [ab3,d4,g4,c5] ~, g5 ~ [eb3,a3,d4]@7 ~@5 gb5@2 ~@2 bb5 ~@13]/2", // Ab F5 D Abmaj7 Fmaj7 Gmaj7 Gb Abmaj7 …
  DT: "f5 [gb5,g5] bb5 ~ eb5@2 [ab3,d4,gb4] d5 f5 g5@2 [ab5,bb5] [d4,gb4]@2 g5@2, ~@9 gb5 ~@2 [ab3,gb5] ~@3", // Gmaj7 Abm7b5 Absus2 D Ab7
  DU: "[[g3,bb3,c4,d4,f4]@6 [g3,bb3,c4,d4,f4,eb5,eb6] ~@2 [g3,bb3,c4,d4,f4,d5,d6]@2 ~ d4@2 db6 [g3,bb3,c4,d4,f4,d6]@9 [g3,bb3,c4,d4,f4]@4 [g3,bb3,c4,d4,f4,c5,c6]@3 ~, ~@11 [g3,bb3,c4,f4,eb5,eb6]@3 d5@9 ~ [bb4,bb5]@7 ~]/2", // Gm7 Cm7 Bb
  DV: "[[db5,db6] ~@4 [g3,bb3,c4,f4,eb5,bb5] ~ [db5,eb6] d5@2 ~ [bb3,c4,f4,eb5,g5,bb5]@2 ~ [c5,c6]@14 [c5,c6]@3 ~, [g3,bb3,c4,f4,d6]@5 ~@2 [g3,bb3,c4,f4,g5,bb5]@3 ~ g3 ~@2 [ab3,c4,eb4,g4,g5]@17 ~, gb5@3 ~ eb6@2 ~@2 d6 ~ eb6@2 ~@20, ~ [d5,g5]@5 ~@8 bb3 ~@17]/2", // Db Cm7 Dbsus2 Cm7 C Gm7 Abmaj7 G5
  DW: "[[bb5,b5] ~@2 [g3,ab3,c4,eb4] ~@2 [g3,ab3,c4,eb4] ~@5 [c5,c6]@2 ~@3 [ab3,d4,g4] ~@11 [ab4,ab5]@2 ~, c5@12 ~@3 [c5,c6]@17, ~ c6@11 ~@20, ~@8 [c4,eb4]@6 ~@12 [bb4,bb5]@5 ~, ~@9 [g3,ab3]@6 ~@7 [ab3,d4,g4]@9 ~]/2", // Bmaj7 Abmaj7 C G Ab C Cm Bb …
  DX: "[~@4 [ab4,ab5]@2 ~@5 [c5,c6]@3 c6 [e3,eb4,db5,db6]@2 ~ [e3,bb3,eb4,c5,c6]@5 ~ [e3,bb3,eb4,b5]@3 ~ [e3,bb3,eb4,c5,c6]@4, [g3,bb3,c4,db4,f4,g4,g5]@3 [g3,bb3,c4,db4,f4]@4 bb3 ~@8, ~@7 [bb4,bb5]@8 ~@9 b4 ~@7]/2", // Ab C Dbm C7 Emaj7 C7 Gm7b5 Bb
  DY: "[c5,f5,ab5,c6]@3 ~@3 [g4,g5]@2 ~@4 [a4,a5]@4, ~@3 [g3,ab3,c4]@13, ~@9 bb4@7", // Fm G A Abmaj7
  DZ: "[ab4,eb5,ab5]@6 [e3,bb3,eb4,g4,bb4,db5,g5]@8 [g3,ab3,c4,g4,c5,eb5,g5] ~, [g3,db4,f4]@3 ~@13", // Ab5 Eb7 Abmaj7 Gm7b5
  EA: "~@2 [g3,ab3,c4,f4,c5,eb5,f5]@4 ~@2 [ab3,c4,e5]@3 ~ [g3,ab3,c4,f4,f5]@4, ~@3 g3@2 ~@3, ~@8 e4 ~@7", // Fm7 Abaug Fm
  EB: "[ab3,c4,eb4,c5,eb5,g5,c6]", // Abmaj7
  EC: "~@2 [f3,a3,db4,f4] ~ [f3,a3,db4,f4]@2 [a3,db4]@2 [ab3,a3,db4,ab4]@3 ~ [g3,a3,db4,g4]@2 ~@2, ~@3 f4@2 ~@3", // Faug A Amaj7 A7
  ED: "~@5 f4@3, [gb3,b3,d4,gb4]", // Bm
  EE: "[~@3 g4@2 g4@2 ~ bb4@7 a4@2 [e4,ab4]@4 bb4@2 g4@10 ~ [f3,a3,db4,f4] ~@3 [a3,db4,f4] ~ [ab3,a3,db4,ab4]@2 ~@2 [g3,db4,g4]@2 ~@2, g2@16 ~ [c3,bb3]@17 ~@4 f3@2 ~@4 a3 ~@3, ~@3 f3@13 ~@7 gb4 ~@24]/3", // E Faug Aaug Amaj7 Gdim C7
  EF: "~@5 f4@2 ~, [gb3,b3,d4]@15 ~, gb4@13 ~@3", EG: "~@6 [bb3,c4] ~@7 db5@2, eb4, ~ [g3,bb3,c4]",
  EH: "[ab3,db4,gb4,bb4,db5,gb5] ~@3 [ab3,db4,gb4,bb4,db5,gb5]@7 f5@2 d5 bb4 g4", // Gb
  EI: "~@3 [bb3,c4,d4,f4] ~@10 bb5@2, bb4 [g3,bb3,c4,d4,f4]", // Bb Gm7
  EJ: "[ab3,db4,d4,gb4,db5,gb5,db6] ~@3 gb5@7 ~@3 db5@2, ~ [ab3,db4,d4,gb4,db6]@3, ~@2 db5@5 ~, ~@11 bb5@5, ~@3 gb5", // Dbsus4
  EK: "~@7 db6, [g3,bb3,c4,f4,c5], ~@3 f5@5, ~@5 bb5@3", // Gm7
  EL: "[ab3,db4,d4,gb4,bb5,gb6] ~@3 [ab3,db4,d4,gb4,bb5,gb6]@10 ab6 ~", EM: "[gb6 f6@31, bb3]/2",
})).s("gm_piano").gain(0.48)

// chords · piano · "IConcentra" · soft notes
const piano_soft = note(`<
  A@2 B@2 C D E F G ~ H I J ~@2 K L M N@2 O P Q ~@3 R ~ S ~ T@2 U V ~@2 W ~ X@2 ~ Y ~ Z AA AB@2 ~ AC ~ AD@2 AE AF AG AH
  AI ~ AJ AK@2 ~ AL AM ~ AN ~@3 AO@3 ~@2 AP@2 AQ AR AS ~ AT@2 ~@2 AU ~@3 AV ~@4 AW AX AY ~@3 AZ ~@10 BA ~ BB@2 BC ~@6 BD
  ~@15 BE ~ BF BG BH ~@7 BI ~@8 BJ ~ BK ~ BL ~@3 BM ~@8 BN ~@2 BO ~@5 BP ~@3 BQ ~@4 BR@2 BS AX ~@2 BT BU@2 ~
>`.pickRestart({
  A: "[eb2@3 ~, f3@7 ~@25]/2", B: "[~@14 eb4 ~ c4 ~@15, gb3]/2", C: "~ gb3@9 ~@6, bb3@7 ~@9", D: "~@8 [gb2,e3]@7 ~",
  E: "~@4 bb4 ~@11, ~ [b2,gb3]@15", F: "[gb3,bb3,eb4] ~@3 bb3@12", G: "[f3,b3]", H: "[gb3,db4,eb4]", I: "~ [e3,bb3]@15",
  J: "~ f3@3 ~@4", K: "b3@7 ~@3 bb2@5 ~, ~@8 bb3@7 ~", L: "g3@15 ~", M: "~@10 bb2 ~@5, ~@2 d4 ~",
  N: "[~@6 c4@5 ~ [gb3,d4]@19 ~, [gb3,d4]@3 ~@5]/2", O: "~@7 [eb3,f3,gb3]@9", P: "gb3 [gb2,e3,gb4]",
  Q: "[b2,gb3]@3 ~@5", R: "~@3 eb3@12 a4, ~@2 [ab3,db4]@13 ~", S: "~@3 f3@5 ~@8",
  T: "[~@2 bb2@6 ~@6 [bb3,c4] eb3 ~@8 d4@3 ~@5, ~@4 g4@5 c4@7]/2", U: "~ c4", V: "~@12 ab3 ~@3", W: "[f3,bb3]@15 ~",
  X: "[~@6 f3@6 ~@17 a4@2 ~, ~@12 [g3,b3]@19 ~]/2", Y: "~ gb3@6 ~@9", Z: "~ d4", AA: "~@9 f3@7",
  AB: "[~@4 [eb3,a3,d4]@5 ~@7]/2", AC: "[g3,c4], [g4,bb4] ~", AD: "[~@14 [ab3,c4]@17 ~]/2", AE: "~ [g3,ab3,c4]",
  AF: "~ d4@4 ~@3", AG: "~ bb4", AH: "[e3,eb4] ~@5 e3@6 ~@4", AI: "~@2 [g3,f4] ~@7 [g3,c4,db4] ~@5",
  AJ: "~@2 [g3,ab3,c4] ~@7 [g3,ab3,c4] ~@5", AK: "[~@2 eb4 ~@5 [ab3,c4]@10 ~@14]/2", AL: "~@5 c4@2 ~@9", AM: "c4 ~@7",
  AN: "~ d4@2 ~@13", AO: "[~@7 e4 [e3,bb3]@6 ~@2 gb4@2 ~@16 f4@2 ~@12, ~@14 bb3@23 ~@11]/3",
  AP: "[~@7 [gb3,db4,f4]@11 ~ [e3,ab3]@9 ~@4, ~ bb5@17 eb4@10 ~@4]/2", AQ: "~@3 [gb3,bb3,eb4] ~@12",
  AR: "~@2 eb3 ~@3 d4 ~@9", AS: "~@2 g4@2 ~@5 f4@2 ~@5", AT: "[~@17 g4 ~@14, ~@2 d4@27 ~@3]/2", AU: "~@3 eb3 ~@12",
  AV: "~@7 g3", AW: "~@13 a5 ~@2", AX: "~@3 g3 ~@12", AY: "[g3,c4]@3 ~@5", AZ: "~@12 c5 ~ e5 ~", BA: "~@15 b4",
  BB: "[~@9 g3@19 ~@4]/2", BC: "~@12 e4 ~@3", BD: "~@2 f3 ~", BE: "~@2 d4 ~@5", BF: "~@3 e5 ~@12",
  BG: "~@12 b4@2 eb5 ~", BH: "~@6 f4 ~", BI: "~@3 e3@5 ~@8", BJ: "~@2 bb3 ~", BK: "~@3 ab3 ~@12", BL: "~@13 ab4 ~@2",
  BM: "c4@13 ~@3", BN: "~@6 c5 ~@9", BO: "~ c5 ~@3 g5 ~@10", BP: "~@9 bb5@7", BQ: "~@3 f3@2 ~@3",
  BR: "[~@15 f4@2 ~@5 g3 ~@9, ~@7 gb4 ~@8]/2", BS: "d4 ~@3 d4@8 ~@4", BT: "~@14 a6 g6", BU: "[g3,c4,d4,f4]/2",
})).s("gm_piano").gain(0.24)

// bass · acoustic bass
const bass = note(`<
  A B C D E F G H I J E K L M N O P Q R S T U V@2 W@2 X Y Z AA AB AC AD AE AF AG AH J AI AJ AK AL AM AN AO AP AQ AR P AS
  AT@2 AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ U BR AA N BS BT BU BV@2 BW BX BY@2 BZ CA CB
  CC CD CE CF CG CH J CI CJ CK CA CL CM CN CO CP CQ AE CR CS CT BW CU CV CW CX CY CZ DA DB DC DD DE DF M DG DH DI DJ
  DK@2 DL DM DN@2 DO AA DP DQ DR DS DT DU DV DW DX@2 DY DZ EA EB EC ED EE EF EG EH EI EJ EK EL EM EN EO EP@3 EQ ER ES ET
  EU EV@2 EW EX EY EZ@2 FA FB FC FD FE FF FG FH FI AE FJ FK FL FM FN FO FP FO FQ FR FS@2 ~
>`.pickRestart({
  A: "eb2@6 bb1@8 eb2 ~", B: "eb2@6 bb1 ~ bb1@4 eb2@4", C: "ab1@7 eb2@9", D: "ab1@6 eb2 ~ eb2@4 d2@3 ~",
  E: "eb2@5 ~ eb2@10", F: "db2@3 gb2@3 db2@2", G: "b1@3 gb2@5", H: "b2@6 gb2 ~ gb2@4 b1@4", I: "f2@6 b1 ~ b1@8",
  J: "bb1@5 ~ bb1@5 ~ d2@4", K: "gb2@6 db2 ~ gb1@4 bb1@3 ~", L: "b1 gb2", M: "bb1@6 f2 ~ f2@4 bb1@4",
  N: "eb2@5 ~ eb2@5 ~ eb2@4", O: "bb1@6 bb2 ~ bb2@4 bb1@4", P: "eb2@5 ~ eb2@9 ~", Q: "eb2@5 ~@2 eb2@5 bb1@4",
  R: "ab1@6 eb2 ~ eb2@6 ab2 ~", S: "ab2@5 ~ eb2 ~ eb2@4 db2@4", T: "eb2@6 eb2@5 ~ d2@4", U: "db2@6 gb2@5 ~ db2@4",
  V: "[b1@7 gb2@7 b2@8 gb2 ~ gb2@3 b1@4 ~]/2", W: "[f2@6 b1 ~ b1@4 bb1@10 f2 ~ f2@4 bb1@4]/2",
  X: "eb2@5 ~ eb2@3 ~ e2@4 f2 ~", Y: "gb2@5 ~@2 db2 db2@2 ~@2 db2@4", Z: "b1@6 gb2@6 b1@3 ~, c2 ~@7",
  AA: "bb1@3 bb1@3 d2@2", AB: "eb2@6 bb1 ~ bb1@6 eb2 ~", AC: "eb2@2 c2 e2", AD: "f2@5 ~ f2 ~ f2@4 c2@4",
  AE: "bb1@3 f2@3 bb1@2", AF: "eb2@5 ~ eb2@5 ~ ab1@3 ~", AG: "g1@5 ~ db2 ~ c2@4 gb1@4", AH: "f1@5 ~ f1@6 c2@4",
  AI: "eb2@5 ~ bb1@10", AJ: "eb2@5 ~ bb1 ~ bb1@4 eb2@3 ~", AK: "a1@5 ~ a1@5 ~ a1@4", AL: "ab1@3 eb2@3 ab1@2",
  AM: "g1@6 ~ g1@5 b1@4", AN: "c2@6 gb2@2 f2@4 e2@3 ~", AO: "f2@5 ~ f2@9 ~", AP: "f2@5 ~ f2@5 ~ c2@3 ~",
  AQ: "bb1@5 ~ bb1@10", AR: "bb2@5 ~ bb2@6 e2@4", AS: "g1@6 ~ g1@5 d2@4",
  AT: "[ab1@6 eb2@8 ~ bb2@2 ~@2 ab2@2 ~ eb2 ~ ab1@4 eb2@4]/2", AU: "f2@3 c2@5", AV: "bb1@5 ~ bb1@6 f2@4",
  AW: "db2@5 ~ db2@10", AX: "c2@5 ~ c2@5 ~ ab1@4", AY: "g1@3 ~ g1@2 d2@2", AZ: "db2 c2", BA: "f1@7 ~ f1@4 g1@4",
  BB: "ab1@6 eb2@6 ab1@3 ~", BC: "b1@6 ~@2 b1@7 ~", BD: "bb1@6 bb1@6 d2@3 ~", BE: "bb2@8 bb1@6 bb2 ~",
  BF: "~@2 bb2 ~@3 bb2 ~ bb1@4 d2@4", BG: "eb2@8 bb2@6 eb2 ~", BH: "eb2@5 ~ bb2 ~ bb2@3 ~ a2@3 ~",
  BI: "ab2@5 ~ eb2@8 ab1 ~", BJ: "ab1@6 eb2 ~ eb2@4 f2@3 ~", BK: "eb2@6 bb2@5 ~ ab2@4", BL: "db2@6 ab2 ~ gb2@4 bb1@3 ~",
  BM: "b1@6 gb2@7 ~@2 db3", BN: "~@3 b2 ~@3 gb2 b1@4 gb2@4", BO: "f2@6 b1@7 ~ bb1 ~", BP: "bb1@6 d2@5 ~ d2@4",
  BQ: "eb2@5 ~ eb2@5 ~ d2@4", BR: "b1@5 ~ gb2 ~ eb2@4 b1@3 ~", BS: "bb1@6 bb2 ~@3 e2 ~@3 bb1@2",
  BT: "eb2@6 bb2@5 ~ eb2@2 ~@2", BU: "eb2@5 ~ bb1@6 a1@2 ~@2", BV: "[ab1@6 eb2@8 ab2@8 eb2 ~ eb2@4 ab1@3 ~]/2",
  BW: "eb2@5 ~ eb2@6 bb2@3 ~", BX: "db2@6 ab2@5 ~ gb2@3 ~", BY: "[b1@6 gb2@8 b1@8 gb2@9 ~]/2",
  BZ: "f2@5 ~ f2 ~ f2@4 b1@4", CA: "bb1@5 ~ bb1@6 d2@4", CB: "eb2@5 ~ eb2@3 ~ e2@2 ~@2 f2 ~",
  CC: "gb2@5 ~ gb2 ~ gb2@3 ~ db2@3 ~", CD: "b1@3 b1@3 gb2@2", CE: "bb1@6 ~ bb1@5 d2@4", CF: "eb2@5 ~ eb2@5 ~ ab2@3 ~",
  CG: "g2@5 ~ db2 ~ c2@3 ~ e2@3 ~", CH: "f2@6 c2@5 ~ c2@3 ~", CI: "eb2@5 ~ eb2@6 db2@4", CJ: "c2@6 g1@5 ~ c2@4",
  CK: "f1@3 ~ f1@2 c2@2", CL: "eb2@6 bb2 ~ bb2@5 ~ ab2 ~", CM: "g2@6 eb2@2 c2@3 ~ bb1@3 ~", CN: "a1@6 eb2@6 a2@3 ~",
  CO: "ab2@5 ~ eb2 ~ ab1@4 ab2@3 ~", CP: "g2@5 ~ d2 ~ g1@4 db2@3 ~", CQ: "c2@3 f1@3 a1@2", CR: "f2@3 f1@3 a1@2",
// … 85 more lines

More by Cole Porter