Strudelify

Copacabana

Barry Manilow

KeyB♭ majorTempo116 bpm
0:00/0:00
// Copacabana — Barry Manilow
// 116 bpm, 4/4, key Bb 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: Full arrangement: all 118 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(116/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 · fretless bass · "Bass"
const bass = note(`<
  ~@3 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AB AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ S AR AS
  AT AU AV AW Z AA AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BR BV BW BX BY Q BZ CA CB CC
  CD CE CF CG CH CI CJ CK AZ CL CM AY AZ CN CO ~@2 CP CQ AY AZ AY AZ AC AZ AC CR ~
>`.pickRestart({
  A: "~@4 eb2 e2 f2 gb2", B: "g2@2 ~ g2 ~@2 d2@4 g2@3 gb2@3", C: "f2@3 f2 ~@2 c2@4 f2@3 gb2@3",
  D: "g1@3 g2@2 ~ d2@4 g2@3 gb2@3", E: "f2@3 gb1 gb1@2 g1@2 ~@8", F: "f1@2 ~ f1 f1@2 ~@2 bb1@4 f1 ~@3",
  G: "eb2@3 eb2 eb2@2 bb1 ~ eb2@4 bb1@2 eb2 ~", H: "a1@3 ~ a1@4 d2@4 d2@3 ~", I: "g1@3 g1!2 ~ g1 ~ g1@3 ~ g1@2 ~@2",
  J: "f1@2 ~ f1 f1@2 ab1@2 bb1@2 ~@2 bb1@2 d2@2", K: "eb2@2 ~ eb2@3 bb1@2 eb2@4 bb1@2 ~@2",
  L: "a1@2 ~ a1 a1@2 c2@2 d2@3 ~ a1@3 ~", M: "g1@3 g1!2 ~ g1 ~ g1 ~ g1@2 g1@2 g1 ~", N: "c2@2 ~ c2@3 g1@2 ~@8",
  O: "c2@3 d2@3 g1@2 ~@8", P: "c2@8 d2@4 d2@3 ~", Q: "g2@2 gb2@2 f2 ~@3", R: "f1@2 ~ f1 f1@2 ab1@2 bb1@4 f1@2 bb1 ~",
  S: "eb2@2 ~ eb2 bb1@2 bb1 c2 eb2 ~ eb2@2 bb1@2 c2 ~", T: "f1@3 g1@3 ab1@2 bb1@3 c2@3 d2@2",
  U: "eb2@3 bb1@3 g1@2 ~@2 c2@5 ~", V: "f1@2 ~ f1 f1@2 ab1@2 bb1@3 ~ f1@3 ~", W: "c2@2 ~ c2 g1 bb1 c2@6 ~@4",
  X: "f1@3 f1@2 ~ f1@2 bb1@2 ~ bb1@2 ~ bb1@2", Y: "g1@2 ~ g1@3 bb1 ~ c2@2 ~ c2 c2@2 e1 ~",
  Z: "f1 ~ g1 ~ ab1 ~ a1 ~ bb1 ~ b1 ~ c2 ~ db2 ~", AA: "d2@3 ~", AB: "g1@2 ~ g1 g2@2 d2 ~@3 g1@2 ~ gb1@2 ~",
  AC: "f1@2 ~ f1 f2@2 c2 ~@3 f1@2 ~ gb1@2 ~", AD: "f1@3 gb1@3 g1@2 ~@8", AE: "f1@2 ~ f1 f1@2 ~@2 bb1@2 ~@2 bb1@2 c2 ~",
  AF: "eb2@2 ~ eb2 eb2@2 bb1 ~ eb2@2 ~ eb2 eb2@2 bb1 ~", AG: "a1@2 ~ a1 a1@2 c2 ~ d2@4 a1@2 d2 ~",
  AH: "g1@2 ~ g1!2 ~ g1 ~ g1@3 ~ g1 ~ g1@2", AI: "f1@2 ~ f1 f1@2 ab1@2 bb1@4 bb1@2 ~@2",
  AJ: "eb2@2 ~ eb2 eb2@2 bb1@2 eb2 ~ eb2@2 bb1@2 c2@2", AK: "a1@3 ~ a1@3 a1 d2@3 ~ d2@3 d2",
  AL: "g1 g2 g1 g2 g1 g2 g1 g2", AM: "gb1@3 a1@3 g1@2 ~@8", AN: "d2@3 gb2@3 g2@2 ~@8", AO: "c2@7 ~ d2@7 ~, ~@8 c2 ~@7",
  AP: "g2@4 gb2@4 f2 ~@7", AQ: "f1@3 f1 f1@3 ~ bb1@4 f1@2 bb1 ~", AR: "f1@2 ~ g1@3 ab1@2 bb1@2 ~ c2@2 ~ d2@2",
  AS: "eb2@3 bb1@2 ~ g1@2 ~@2 c2@5 ~", AT: "f1@2 ~ f1!2 ~ f1 ab1 bb1@4 f1@2 bb1 ~", AU: "c2@3 ~ c2 g2 c3@8 ~@2",
  AV: "f1@2 ~ f1 f1@2 ab1@2 bb1@3 bb1@3 f1@2", AW: "g1@2 ~ g1!2 ~ bb1 ~ c2@3 ~ bb1 ~ g1 ~",
  AX: "g1 ~@2 g1 g2@2 d2@2 ~@2 g1@2 ~ gb1@2 ~", AY: "f1@2 ~ f1 f2@2 c2@2 ~@2 f1@2 ~ gb1@2 ~",
  AZ: "g1@2 ~ g1 g2@2 d2@2 ~@2 g1@2 ~ gb1@2 ~", BA: "f1@2 ~ f1 f2@2 c2 ~@3 f1!2 gb1!4",
  BB: "g1@3 g2 a1@2 a2@2 bb1@2 bb2 ~ f1@2 f2@2", BC: "g1@3 g2 a1@2 a2 ~ g1@3 ab1@3 a1@2",
  BD: "bb1@3 bb2 ab1@2 ab2@2 f1@2 f2@2 ab1@2 ab2@2", BE: "bb1@3 bb2 f1@2 f2 ~ bb1@2 ~ b1@2 ~ c2@2",
  BF: "db2@3 b2 db3 ~ db2 ~ ab1@2 ab2 ~ b1@2 b2 ~", BG: "db2@3 b2 db3 ~ db2 ~ ab1@3 c2@3 b1@2",
  BH: "bb1@3 bb2 f1@2 ab1 ~ bb1@2 bb2 ~ f1@2 ab1 ~", BI: "bb1@3 bb2 f1@2 ab1 ~ bb1@2 ~ a1@2 ~ ab1 ~", BJ: "g1",
  BK: "gb1@9 ~@3 gb2@3 ~", BL: "f1@3 c2 c2@2 f1@2 ~@2 f1@2 ~ gb1@2 ~", BM: "g1@3 g2 g2@2 d2@2 ~@2 g1@2 ~ gb1@2 ~",
  BN: "f1@3 f2 f2@2 c2@2 ~@2 f1@2 ~ gb1@2 ~", BO: "g1@3 d2@2 ~ g2 ~@9", BP: "f1@2 ~ f1 f1@3 ~ bb1@4 f1@2 bb1 ~",
  BQ: "eb2@3 bb1 bb1@3 ~ eb2@3 ~ bb1@2 c2 ~", BR: "a1@3 ~ a1@3 ~ d2@3 ~ d2@3 ~",
  BS: "g1@3 ~ g1@3 ~ g1@2 g2 ~ gb1@2 gb2 ~", BT: "f1@2 f2 ~ bb1@2 bb2 ~ bb1@2 bb2 ~ d2@2 d3 ~",
  BU: "eb2@2 ~ bb1 bb1@2 bb2 ~ bb1@2 bb2 ~ c2@2 bb1@2", BV: "g1@2 gb2 g2 g1@2 gb2 g2 g1@2 gb2 g2 g1@2 g2 ~",
  BW: "c2@2 ~ gb1@2 ~ g1@2 ~@8", BX: "c2@3 d2@3 g2@2 ~@8", BY: "c2 d2", BZ: "f1@2 ~ f1 f1@2 ab1 ~ bb1@4 f1@2 bb1 ~",
  CA: "eb2@2 ~ eb2 bb1@2 c2 bb1 eb2@2 eb2@2 bb1@2 c2 ~", CB: "f1@3 g1@3 ab1@2 bb1@2 ~ c2@3 d2@2",
  CC: "eb2@2 ~ eb2 bb1@2 g1@2 ~@2 c2@5 ~", CD: "f1@3 f1 f1@2 ab1 ~ bb1@4 f1@2 bb1 ~",
  CE: "c2@3 ~ c2 g2 c3@4 ~@2 c3 g2 ~ g2", CF: "f1@2 ~ f1 f1@2 ab1@2 bb1@3 ~ bb1@2 ab1 ~",
  CG: "g1@2 ~ g1 g1@2 bb1 ~ c2 ~ bb1 ~ ab1 ~ g1 ~", CH: "f1 ~ g1 ~ ab1 ~ a1@2 bb1 ~ b1 ~ c2 ~ db2 ~",
  CI: "d2@9 ~@3 d2@4", CJ: "g1@2 ~ d2 d2@2 d2@2 g1@3 ~ g1@2 gb1@2", CK: "f1@3 f2 f2@2 c2@2 f1 ~ f1@2 gb1@2 gb1 ~",
  CL: "f1@2 ~ f1 f2@2 c2 ~@3 f1 ~@2 gb1 ~@2", CM: "g1@2 ~ g1 g2@2 d2@2 ~@2 g1 ~@2 gb1 ~@2",
  CN: "f1@2 ~ f1 f2@2 c2@2 ~@2 f1@2 ~ gb1 ~@2", CO: "g1 ~", CP: "~@11 d3 d3@2 c3 [g2,a2,b2]",
  CQ: "g1@2 ~ g1 g2@2 d2@2 ~@2 g1@2 ~ gb1@2 ~, f2 ~@15", CR: "g1 ~@3",
})).s("gm_fretless_bass").gain(0.38)

// chords · electric guitar clean · "Elec. guitar"
const electric_guitar_clean = note(`<
  ~@8 A B C D A B E F ~@4 A B G H I ~ J K L ~ M N O P Q B E R S B T U ~@4 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 AW AX AY AZ BA BB BC ~@4 BD BE BF Y BG ~ BH BI BJ ~ AS BK BL BM BN BO BP BQ BR ~@3 BS
  BT BL BU BV BW AS BX BY ~
>`.pickRestart({
  A: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [c4,eb4,g4] ~@3 [c4,eb4,g4]@3 [eb4,g4] ~@2", // Cm Eb Cm Eb
  B: "[bb3,d4,f4]@3 [d4,f4] ~@2 [bb3,d4,f4] ~@3 [bb3,d4,f4]@3 [d4,f4] ~@2", // Bb Dm Bb Dm
  C: "[c4,eb4,g4]@3 [c4,eb4,g4] ~@2 [c4,eb4,g4] ~@3 [c4,d4,gb4]@3 [d4,gb4] ~@2", // Cm D7 D
  D: "[bb3,d4,g4]@3 [d4,g4] ~@2 [d4,g4] ~@3 [bb3,d4,g4]@3 [d4,g4] ~@2", // Gm G5 Gm G5
  E: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [eb4,g4] ~@3 [c4,d4,gb4]@3 [d4,gb4] ~@2", // Cm Eb D7 D
  F: "[bb3,d4,g4]@3 [d4,g4] ~@2 [d4,g4] ~ [d4,g4]@2 [bb3,d4,g4]@3 [bb3,d4,g4] ~@2", // Gm G5 Gm
  G: "[ab3,c4,f4]@3 [c4,f4] ~@2 [c4,f4] ~@3 [ab3,c4,f4]@3 [ab3,c4,f4] ~@2", H: "[d4,f4]@3 [d4,f4] ~@2 [d4,f4] ~@9",
  I: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [eb4,g4] ~@3 [c4,eb4,g4]@3 [c4,eb4,g4] ~@2", // Cm Eb Cm
  J: "[ab3,c4,f4]@3 [c4,f4] ~@2 [c4,f4] ~@3 [ab3,d4,f4]@3 [d4,f4] ~@2", // Fm F5 Ddim Dm
  K: "[bb3,d4,g4]@3 [d4,g4] ~@2 [d4,g4] ~ e4 [e4,g4] ~ g4 [e4,g4] ~@3, ~@9 bb3@3 ~@4, ~@5 [e4,g4] ~@2", // Gm G5 Em
  L: "[ab3,c4,f4]@3 [c4,f4] ~@2 [c4,f4] ~@9", // Fm F5
  M: "[bb3,d4,a4]@3 [d4,a4] ~@2 [bb3,d4,a4] ~@2 [d4,a4] [bb3,d4,a4] ~@2 [a3,db4,ab4] ~@2", // Bbmaj7 D5 Bbmaj7 D5 Bbmaj7 Amaj7
  N: "[ab3,c4,g4]@3 [c4,g4] ~@2 [ab3,c4,g4] ~ c4@2 [ab3,c4,g4] ~@2 [a3,db4,ab4] ~@2", // Abmaj7 C5 Abmaj7 Amaj7
  O: "[bb3,d4,a4]@3 [d4,a4] ~@2 [bb3,d4] ~@2 a4 [bb3,d4,a4] a4 ~ [a3,db4,ab4] ~@2", // Bbmaj7 D5 Bb Bbmaj7 Amaj7
  P: "[ab3,c4,g4]@2 ~ [a3,db4,ab4] ~@2 [bb3,d4,a4] ~@9", // Abmaj7 Amaj7 Bbmaj7
  Q: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [eb4,g4] ~@4 g4 ~@2 [c4,eb4,g4] ~, ~@5 [c4,eb4,g4] ~@2", // Cm Eb Cm
  R: "[bb3,d4,g4]@3 [d4,g4] ~@2 [d4,g4] ~@2 [d4,g4] [bb3,d4,g4] ~@2 [d4,g4] ~@2", // Gm G5 Gm G5
  S: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [c4,eb4,g4] ~@3 [c4,eb4,g4]@2 ~ [c4,eb4,g4] ~@2", // Cm Eb Cm
  T: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [c4,eb4] ~@2 [d4,gb4]!2 ~@2 [d4,gb4] ~@2", // Cm Eb Cm D
  U: "[bb3,d4,g4]@3 [d4,g4] ~@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@2 [bb3,d4,g4]@2 [d4,g4] ~", // Gm G5 Gm G5
  V: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [eb4,g4] ~@2 [eb4,g4] [c4,eb4,g4] [eb4,g4] eb4 ~ [c4,eb4] ~", // Cm Eb Cm Eb Cm
  W: "[bb3,d4,f4]@3 [bb3,d4] ~@2 [bb3,d4,f4] ~@3 [bb3,d4,f4] ~@2 [bb3,d4,f4] ~@2", // Bb
  X: "[ab3,c4,f4]@3 [c4,f4] ~@2 [c4,f4] ~@2 d4 ~ ab3 ~ [ab3,d4,f4] ~@2, ~@5 [ab3,d4,f4] ~@2", // Fm F5 Ddim
  Y: "[bb3,d4,g4]@3 [d4,g4] ~@2 [d4,g4] ~@9", // Gm G5
  Z: "[c4,eb4,g4]@3 [c4,eb4] ~@2 [c4,eb4,g4] ~@3 [eb4,g4] ~@2 [c4,eb4,g4] ~@2", // Cm Eb Cm
  AA: "[ab3,c4,f4]@3 [c4,f4] ~@2 [c4,f4] ~@2 [ab3,d4,f4] ~ f4 ~@4, ~@5 [d4,f4] ~@2", // Fm F5 Ddim Dm
  AB: "[bb3,d4,g4]@3 [d4,g4] ~@2 [bb3,d4,g4] ~@2 [e4,g4] ~ g4 ~@2 [e4,g4] ~, ~@9 bb3@3 ~@4, ~@5 [e4,g4] ~@2", // Gm G5 Gm Em
  AC: "[ab3,c4,f4]@3 [c4,f4] ~@2 [ab3,c4,f4] ~@9", // Fm F5 Fm
  AD: "[bb3,d4,a4]@3 [d4,a4] ~@2 [d4,a4] ~@3 [bb3,d4,a4] ~@2 [db4,ab4] ~@2", // Bbmaj7 D5 Bbmaj7 Db5
  AE: "[ab3,c4,g4]@3 ~@3 [ab3,c4,g4] ~@2 g4 [ab3,c4,g4] g4 ~ [a3,db4,ab4] ~@2", // Abmaj7 Amaj7
  AF: "[bb3,d4,a4]@3 [d4,a4] ~@2 [d4,a4] ~@2 a4 [bb3,d4,a4] ~@2 [db4,ab4] ~@2", // Bbmaj7 D5 Bbmaj7 Db5
  AG: "[ab3,c4,g4]@3 [c4,g4] ~@2 [ab3,c4] ~@2 [c4,g4] [ab3,c4,g4] ~@2 [a3,db4,ab4] ~@2", // Abmaj7 C5 Ab C5 Abmaj7 Amaj7
  AH: "[bb3,d4,a4]@3 [d4,a4] ~@2 [d4,a4] ~@3 [bb3,d4,a4] a4 ~ [d4,a4] ~@2", // Bbmaj7 D5 Bbmaj7 D5
  AI: "[bb3,d4,a4]@3 ~@7 [d4,a4] ~@2 [b3,eb4,bb4] ~@2", // Bbmaj7 D5 Bmaj7
  AJ: "[c4,e4,b4] [db4,f4]@2 f4 ~@2 [db4,f4,c5] ~@2 [f4,c5] [db4,f4,c5] c5 ~ [f4,c5] ~@2", // Cmaj7 Db Dbmaj7 F5 Dbmaj7 F5
  AK: "[db4,f4,c5]@3 [f4,c5] ~@2 [db4,f4] ~ [db4,f4,c5]@2 ~ [d4,gb4,db5] ~ d5 [g4,d5] ~", // Dbmaj7 F5 Db Dbmaj7 Dmaj7 G5
  AL: "eb5 eb5@2 eb5 ~@2 [e4,ab4,eb5] ~@4 eb5 ~ [e4,ab4,eb5] ~@2, [e4,ab4]@3 ~@7 [e4,ab4,eb5]@2 ~@4", // Emaj7 E Emaj7
  AM: "[e4,ab4,eb5]@3 [ab4,eb5] ~@4 [e4,ab4,eb5]@2 ~ [eb4,g4,d5]@2 ~ [d4,gb4,db5] ~", // Emaj7 Ab5 Emaj7 Ebmaj7 Dmaj7
  AN: "[db4,f4,c5]@3 [db4,f4] ~@2 [db4,f4,c5] ~@2 [f4,c5] [db4,f4,c5] [f4,c5] ~ [db4,f4,c5] f4 ~", // Dbmaj7 Db Dbmaj7 F5 Dbmaj7 F5 Dbmaj7
  AO: "[db4,f4,c5]@3 [f4,c5] ~@2 [db4,f4,c5] ~ [db4,f4,c5]@2 ~ [c4,e4,b4] ~@2 [b3,eb4,bb4] ~", AP: "[bb3,d4,a4]@7 ~",
  AQ: "[a3,db4,ab4]@3 ~", AR: "ab3 ab3@2 [c4,g4] ~@2 [ab3,c4] ~@2 g4 [ab3,c4,g4] g4 ~ [a3,db4,ab4] ~@2, [c4,g4]@3 ~@13",
  AS: "[bb3,d4,a4]@3 [d4,a4] ~@2 [bb3,d4,a4] ~@2 a4 [bb3,d4,a4] ~@2 [a3,db4,ab4] ~@2", // Bbmaj7 D5 Bbmaj7 Amaj7
  AT: "[ab3,c4,g4]@3 [c4,g4] ~@2 [ab3,c4,g4] ~@2 [c4,g4] [ab3,c4,g4] ~@2 [a3,db4,ab4] ~@2", // Abmaj7 C5 Abmaj7 C5 Abmaj7 Amaj7
  AU: "[bb3,a4]@3 [d4,a4] ~@2 [bb3,d4,a4] ~@9", // Bbmaj7 D5 Bbmaj7
  AV: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [c4,eb4,g4] ~@2 [eb4,g4] ~ g4 [eb4,g4]@2 ~@2, ~@9 c4@4 ~@3, ~@5 [eb4,g4] ~@2", // Cm Eb Cm Eb
  AW: "[bb3,d4,f4]@3 [d4,f4] ~@2 [bb3,d4,f4] ~@2 [bb3,d4,f4] ~@2 [d4,f4] ~@3, ~@11 [bb3,d4]@2 ~@3", // Bb Dm Bb Dm Bb
  AX: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [c4,eb4,g4] ~@2 [c4,d4,gb4] ~@2 [c4,d4,gb4]@2 ~@2", // Cm Eb Cm D7
  AY: "[bb3,d4,g4]@3 [d4,g4] ~@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~ [d4,g4] ~ g4 d4 ~, ~@6 [bb3,d4,g4] ~", // Gm G5 Gm G5 Gm
  AZ: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [c4,eb4,g4] ~@2 [c4,eb4,g4] ~ [eb4,g4] [c4,eb4,g4] [eb4,g4] ~@2", // Cm Eb Cm Eb Cm Eb
  BA: "[bb3,d4,f4]@3 [d4,f4] ~@2 [bb3,d4,f4] ~@2 [bb3,d4,f4] ~ d4 ~ f4 ~@2, ~@6 [bb3,d4,f4] ~", // Bb Dm Bb
  BB: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [c4,eb4,g4] ~@2 [c4,d4,gb4] ~ c4 [c4,d4,gb4]@2 ~@2", // Cm Eb Cm D7
  BC: "[bb3,d4,g4]@3 [d4,g4] ~@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~ [bb3,d4,g4] [bb3,d4,g4]@2 ~@2", // Gm G5 Gm
  BD: "[c4,eb4,g4]@3 [eb4,g4] ~@2 [c4,eb4,g4] ~@2 [eb4,g4] ~ g4 ~@4, ~@9 c4@3 ~@4, ~@5 [eb4,g4] ~@2", // Cm Eb Cm Eb
  BE: "[bb3,d4,f4]@3 [d4,f4] ~@2 [bb3,d4,f4] ~@2 [bb3,d4,f4] ~ [bb3,d4,f4] [bb3,d4,f4]@2 ~@2", // Bb Dm Bb
  BF: "[c4,f4]@3 [c4,f4] ~@2 [ab3,c4,f4] ~@5 [ab3,c4,f4]@2 ~@2", // F5 Fm
  BG: "[c4,eb4,g4]@3 [c4,eb4] ~@2 [c4,eb4,g4] ~@2 [c4,eb4,g4]@2 [eb4,g4] [c4,eb4] ~@3", // Cm Eb Cm
  BH: "[ab3,c4,f4]@3 [c4,f4] ~@2 [c4,f4] ~@2 [ab3,d4,f4] ~ [ab3,d4,f4] [ab3,d4,f4]@2 ~@2", // Fm F5 Ddim
  BI: "[bb3,d4,g4]@3 [d4,g4] ~@2 [bb3,g4] ~@2 [bb3,e4,g4] ~ [bb3,e4,g4] [bb3,e4,g4]@2 ~@2", BJ: "[ab3,c4,f4]@7 ~@9",
  BK: "[ab3,c4,g4]@3 [c4,g4] ~@2 [c4,g4] ~@2 [c4,g4] [ab3,c4,g4] g4 ~ [a3,db4,ab4] ~@2", // Abmaj7 C5 Abmaj7 Amaj7
  BL: "[bb3,d4,a4]@3 [d4,a4] ~@2 [bb3,d4,a4] ~@2 [d4,a4] ~ a4 ~ [a3,db4,ab4] ~@2, ~@5 [bb3,d4,a4] ~@2", // Bbmaj7 D5 Bbmaj7 D5 Amaj7 Bbmaj7
  BM: "[ab3,c4,g4]@3 [c4,g4] ~@2 [c4,g4] ~@2 [c4,g4] [ab3,c4,g4] ~@2 [a3,db4,ab4] ~@2", // Abmaj7 C5 Abmaj7 Amaj7
  BN: "[bb3,d4,a4]@3 [d4,a4] ~@2 [bb3,d4,a4] ~@2 [d4,a4] [bb3,d4,a4] [d4,a4] ~ [a3,db4,ab4] ~@2", // Bbmaj7 D5 Bbmaj7 D5 Bbmaj7 D5 Amaj7
  BO: "[ab3,c4,g4]@3 [c4,g4] ~@2 [ab3,c4,g4] ~@3 [ab3,c4,g4] ~@2 [a3,db4,ab4] ~@2", // Abmaj7 C5 Abmaj7 Amaj7
  BP: "[bb3,d4,a4]@3 [d4,a4] ~@2 [bb3,d4,a4] ~@2 [d4,a4] [bb3,d4,a4]!2 ~ [a3,db4,ab4]@2 ~", // Bbmaj7 D5 Bbmaj7 D5 Bbmaj7 Amaj7
  BQ: "[ab3,c4,g4]@2 g4 [ab3,c4,g4] ~@2 [ab3,c4,g4] ~@2 g4 [ab3,c4,g4] ~@2 [a3,db4,ab4] ~@2", BR: "[bb3,d4,a4] ~@7",
  BS: "[bb3,d4,a4]@3 [d4,a4] ~@2 [bb3,d4,a4] ~ a4 [d4,a4] [bb3,d4,a4] ~@2 [a3,db4,ab4] ~@2", // Bbmaj7 D5 Bbmaj7 D5 Bbmaj7 Amaj7
  BT: "[ab3,c4,g4]@3 [c4,g4] ~@2 [ab3,c4,g4] ~@2 g4 [ab3,c4,g4] [c4,g4] ~ [a3,db4,ab4] ~@2", // Abmaj7 C5 Abmaj7 C5 Amaj7
  BU: "[ab3,c4,g4]@3 [c4,g4] ~@2 [ab3,c4,g4] ~@2 g4 [ab3,c4,g4] ~ ab4 [a3,db4,ab4] ~@2", // Abmaj7 C5 Abmaj7 Amaj7
  BV: "[bb3,d4,a4]@3 ~@3 [bb3,d4,a4] ~@2 [d4,a4] [bb3,d4,a4] [d4,a4] ~ [a3,db4,ab4] ~@2", // Bbmaj7 D5 Bbmaj7 D5 Amaj7
  BW: "[ab3,c4,g4]@3 [c4,g4] ~@2 [ab3,c4,g4] ~@3 [ab3,c4,g4] ~ [db4,ab4] [a3,db4,ab4] ~@2", // Abmaj7 C5 Abmaj7 Db5 Amaj7
  BX: "[ab3,c4,g4]@3 [c4,g4] ~@2 [ab3,c4,g4] ~@2 [c4,g4] [ab3,c4,g4] g4 ~ [a3,db4,ab4]@2 [bb3,d4,a4]", // Abmaj7 C5 Abmaj7 C5 Abmaj7 Amaj7 Bbmaj7
  BY: "[bb3,d4,a4]", // Bbmaj7
})).s("gm_electric_guitar_clean").gain(0.17).pan(0.6)

// chords · piano
const piano = note(`<
  ~@3 A B C D E 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 Q R AQ T U V
  W X Y Z AA AB AC AR AS@2 AT@2 AU@2 AV@2 AW AX AY AZ BA BB BC AF AG AH AI AJ AK AL AM BD AO AP Q R AQ T U V W X Y BE BF
  BG BH BI BJ BK BJ BL BM ~@2 A BN BO BP BQ BN BR BS BT BU ~
>`.pickRestart({
  A: "~@4 eb1 e1 f1 gb1",
  B: "[g2,f3,a3,bb3,d4]@3 [f3,a3,bb3,d4] ~@2 [d2,f3,a3,bb3,d4]@3 ~ [g2,f3,a3,bb3,d4]@3 [gb2,e3,ab3,a3,db4]@3, ~@3 g2@2 ~@11", // Gm7 Bbmaj7 Gm7 Gbm7
  C: "[f2,eb3,g3,ab3,c4]@2 ~ [f2,eb3,g3,ab3,c4] ~@2 [c2,eb3,g3,ab3,c4]@3 ~ [f2,eb3,g3,ab3,c4]@2 ~ [gb2,e3,ab3,a3,db4]@2 ~", // Fm7 Abmaj7 Fm7 Gbm7
  D: "[g2,f3,a3,bb3,d4]@3 [f3,a3,bb3,d4] ~@2 [a3,bb3,d4]@2 ~@2 [g2,f3,a3,bb3,d4]@2 ~ [gb2,e3,ab3,a3,db4]@3, ~@3 g2@2 ~ [d2,f3]@4 ~@6", // Gm7 Bbmaj7 Gm7 Gbm7 Dm
  E: "[f2,eb3,g3,ab3,c4]@2 ~ [gb2,e3,ab3,a3,db4]@3 [g2,f3,a3,bb3,d4] ~@9", // Fm7 Gbm7 Gm7
  F: "[f3,ab3,c4,eb4,ab4,c5]@5 ~ [ab3,eb4,ab4,c5]@5 ~ [ab3,eb4,ab4,c5]@4", // Fm7 Ab
  G: "[eb3,bb3,d4,g4,bb4]@5 ~ [eb3,g3,bb3]@6 [d4,g4,bb4]@4, ~@6 [d4,g4,bb4]@5 ~@5", // Ebmaj7 Eb Gm
  H: "[g3,a3,c4,eb4,g4,a4,c5]@7 ~ [gb3,c4,eb4,gb4,a4,c5]@7 ~", // Am7b5 Gbdim
  I: "[g3,d4,g4,bb4]@2 [gb3,d4,gb4,bb4]@2 [f3,bb3,d4,f4,bb4]@3 ~, bb3 ~", // Gm Gbaug Bb
  J: "[c4,eb4,f4,ab4]@6 ~@2 [eb4,ab4]@3 ~ [ab3,eb4,ab4]@4, ab3@11 ~@5, [f3,c5]@8 [c4,c5]@7 ~", // Fm7 Ab5 F5 C
  K: "[eb3,g3,bb3,d4,g4,bb4]@5 ~ [eb3,g3,bb3]@6 [d4,g4,bb4]@4, ~@6 [d4,g4,bb4]@5 ~@5", // Ebmaj7 Eb Gm
  L: "[g3,a3,c4,eb4,g4,a4,c5]@6 [eb4,gb4,a4,c5]@5 ~ [eb4,gb4,a4,c5]@3 ~, ~@6 [gb3,c4]@9 ~", // Am7b5 Ebdim Gbdim
  M: "[g3,bb3,d4,g4,bb4]@5 ~ [g3,bb3,d4,f4,g4,bb4]@5 ~ [g3,bb3,d4,f4,g4,bb4]@3 ~", // Gm Gm7
  N: "[gb3,eb4,gb4,a4]@3 [gb3,c4,eb4,gb4,a4]@2 ~ [bb3,d4,g4,bb4]@2 ~@8", // Ebdim Gbdim Gm
  O: "[gb3,c4,eb4,gb4,a4]@3 [gb3,c4,eb4,gb4,a4,c5]@3 [bb3,d4,g4,bb4]@2 ~@8", // Gbdim Gm
  P: "[g3,bb3,c4,eb4,g4,bb4,c5]@7 ~ [gb3,c4,gb4,c5]@7 ~", // Cm7 Gbdim
  Q: "[f3,ab3,c4,eb4,ab4,c5]@5 ~ [ab3,eb4,ab4,c5]@6 [eb4,ab4,c5]@3 ~", // Fm7 Ab
  R: "[eb3,g3,bb3,d4,g4,bb4]@3 [eb3,g3,bb3]@3 [d4,g4,bb4]@2, ~@6 [d4,g4,bb4]@5 ~@5", // Ebmaj7 Eb Gm
  S: "[f3,ab3,eb4,ab4,c5]@7 ~ [eb4,ab4,c5]@7 ~, ~@8 ab3@5 ~@3", T: "[eb3,g3,bb3,d4,g4,bb4]@5 ~@3",
  U: "[f3,ab3,f4,ab4]@6 [ab3,eb4,ab4,c5]@5 ~ [ab3,eb4,ab4,c5]@3 ~", // Fm Ab
  V: "[f3,bb3,f4,bb4]@5 ~ [bb3,e4,g4,bb4]@9 ~, ~@6 e3@7 ~@3", W: "[f3,ab3,f4,ab4]@7 ~ [f3,bb3,f4,ab4]@7 ~",
  X: "[g3,bb3,f4,g4,bb4]@7 ~ [bb3,e4,g4,bb4]@7 ~, d4@5 ~@11", Y: "[f3,ab3,c4,f4,ab4]@7 ~",
  Z: "[gb3,a3,eb4,gb4,a4]@13 ~@3", // Ebdim
  AA: "[g3,f4,a4,bb4,d5]@2 ~ [g3,f4,a4,bb4,d5] ~@2 [g3,f4,a4,bb4,d5]@3 ~ [g3,f4,a4,bb4,d5]@2 ~ [gb3,e4,ab4,a4,db5]@2 ~", // Gm7 Gbm7
  AB: "[f3,eb4,g4,ab4,c5]@2 ~ [f3,eb4,g4,ab4,c5] ~@2 [f3,eb4,g4,ab4,c5]@4 [f3,eb4,g4,ab4,c5]@3 [gb3,e4,ab4,a4,db5]@2 ~", // Fm7 Gbm7
  AC: "[g3,f4,a4,bb4,d5]@2 ~ [g3,f4,a4,bb4,d5] ~@2 [g3,f4,a4,bb4,d5]@3 ~ [g3,f4,a4,bb4,d5]@3 [gb3,e4,ab4,a4,db5]@2 ~", // Gm7 Gbm7
  AD: "[f3,eb4,g4,ab4,c5]@2 ~ [gb3,e4,ab4,a4,db5]@3 [g3,f4,a4,bb4,d5] ~@9", // Fm7 Gbm7 Gm7
  AE: "[f3,ab3,c4,eb4,ab4,c5]@6 [ab3,eb4,ab4,c5]@6 [eb4,ab4,c5]@3 ~", // Fm7 Ab
  AF: "[eb3,g3,bb3,d4,g4,bb4,d5]@6 [g4,bb4,d5]@5 ~ [g4,bb4,d5]@3 ~, ~@3 [eb3,g3,bb3,d4]@4 ~", // Ebmaj7 Gm Ebmaj7
  AG: "[a3,eb4,a4,c5]@7 ~ [c4,ab4,c5]@8, ~@4 [d3,gb3]@3 ~", AH: "[g3,bb3,d4,f4,a4,d5]@13 ~@3",
  AI: "[f4,ab4,c5,eb5]@3 [f4,ab4,c5,eb5]@3 [ab3,ab4,c5,eb5]@6 [ab4,c5,eb5]@3 ~, [f3,ab3,c4,eb4]@3 ~@5", // Fm7 Ab Fm7
  AJ: "[g4,bb4,d5]@2 ~ [g4,bb4,d5]@3 [g4,bb4,d5]@5 ~ [g4,bb4,d5]@3 ~, [eb3,g3,bb3]@7 ~, d4@5 ~ d4@8 ~@2", // Gm Eb
  AK: "[a3,eb4,g4,a4,c5] [d3,gb3,c4,ab4,c5]", AL: "[g3,bb3,d4,f4,a4,d5]",
  AM: "[gb3,gb4,a4]@3 [gb3,a3,c4,gb4,a4,c5]@3 [bb3,d4,g4,bb4]@2 ~@8", // Gbm Gbdim Gm
  AN: "[gb3,a3,c4,gb4,a4,c5]@3 [gb3,a3,c4,a4,c5]@3 [bb3,d4,g4,bb4,d5]@2 ~@8, ~@3 gb4 ~@12", // Gbdim Gm
  AO: "[g3,bb3,c4,eb4,g4,bb4,c5]@7 ~ [gb3,a3,c4,gb4,a4,c5]@6 ~@2", // Cm7 Gbdim
  AP: "[g3,bb3,d4,g4,bb4,d5]@3 ~ [gb3,a3,d4,gb4,a4,d5]@3 ~ [f3,ab3,d4,f4,ab4,d5]@3 ~@5", // Gm D Ddim
  AQ: "[f3,ab3,eb4,ab4,c5]@7 ~ [ab3,eb4,ab4,c5]@7 ~", // Fm7 Ab
  AR: "[f3,eb4,g4,ab4,c5]@2 ~ [f3,eb4,g4,ab4,c5] ~@2 [f3,eb4,g4,ab4,c5]@9 ~", // Fm7
  AS: "[[g1,g2,f3,a3,bb3,d4]@23 ~ [g1,g2,f3,a3,bb3,d4]@2 ~ [ab1,ab2,gb3,bb3,b3,eb4]@2 ~ [a1,a2,g3,b3,c4,e4]@2]/2", // Gm7 Abm7 Am7
  AT: "[[bb1,bb2,ab3,c4,db4,f4]@6 ~ bb1@16 ~ [bb1,bb2,ab3,c4,db4,f4]@2 ~ [b1,b2,a3,db4,d4,gb4]@2 ~ [c2,c3,bb3,d4,eb4,g4]@2, ~@6 [bb2,ab3,c4,db4,f4]@17 ~@9]/2", // Bbm7 Bm7 Cm7 Bbm7
  AU: "[[db2,db3,b3,eb4,e4,ab4]@6 [db2,db3,b3,eb4,e4,ab4]@17 ~ [db2,db3,b3,eb4,e4,ab4]@2 ~ [c2,c3,bb3,d4,eb4,g4]@2 ~ [b1,b2,a3,db4,d4,gb4]@2]/2", // Dbm7 Cm7 Bm7
  AV: "[[bb2,ab3,c4,db4,f4]@5 ~ [bb2,ab3,c4,db4,f4]@17 ~ [bb1,bb2,ab3,c4,db4,f4]@2 ~ [a1,a2,g3,b3,c4,e4]@2 ~ [ab1,ab2,gb3,bb3,b3,eb4]@2, bb1@23 ~@9]/2", // Bbm7 Am7 Abm7
  AW: "[g1,g2,f3,a3,bb3,d4]@15 ~", AX: "[gb1,gb2,e3,ab3,a3,db4]@15 ~",
  AY: "[f2,eb4,g4,ab4,c5]@3 [f2,eb4,g4,ab4,c5] ~@2 [f2,eb4,g4,ab4,c5]@3 ~ [f2,eb4,g4,ab4,c5]@3 [gb2,e4,ab4,a4,db5]@3", // Fm7 Gbm7
  AZ: "[g2,f4,a4,bb4,d5]@3 [g2,f4,a4,bb4,d5] ~@2 [g2,f4,a4,bb4,d5]@3 ~ [g2,f4,a4,bb4,d5]@3 [gb2,e4,ab4,a4,db5]@2 ~", // Gm7 Gbm7
  BA: "[f2,eb4,g4,ab4,c5]@3 [f2,eb4,g4,ab4,c5] ~@2 [f2,eb4,g4,ab4,c5]@3 ~ [f2,eb4,g4,ab4,c5]@3 [gb2,ab4,db5]@2 ~, ~@13 [e4,a4] ~@2", // Fm7 Gbsus2 A5
  BB: "[g2,f4,a4,bb4,d5]@3 [g2,f4,a4,bb4,d5] ~@2 [g2,f4,a4,bb4] ~@9, ~@3 d5 ~@4", // Gm7
  BC: "[f3,ab3,c4,eb4,ab4,c5]@3 [ab3,eb4,ab4,c5]@3 [ab4,c5]@2, ~@6 eb4 ~", // Fm7 Ab
  BD: "[gb3,a3,c4,gb4,a4,c5]@3 [a3,c4,a4,c5]@3 [bb3,d4,g4,bb4,d5]@2 ~@8, ~@3 [gb3,gb4] ~@12", // Gbdim Am Gm Gb
  BE: "[gb3,a3,eb4,gb4,a4]@15 ~", // Ebdim
  BF: "[f3,a3,bb3,d4]@3 [f3,a3,bb3,d4] ~@2 [g2,f3,a3,bb3,d4]@3 ~ [g2,f3,a3,bb3,d4]@3 [gb2,e3,ab3,a3,db4]@2 ~, g2@5 ~@11", // Bbmaj7 Gm7 Gbm7
  BG: "[f2,eb3,g3,ab3,c4]@3 [f2,eb3,g3,ab3,c4] ~@2 [f2,eb3,g3,ab3,c4]@4 [f2,eb3,g3,ab3,c4]@3 [gb2,e3,ab3,a3,db4]@2 ~", // Fm7 Gbm7
  BH: "[g2,f3,a3,bb3,d4]@2 ~ [g2,f3,a3,bb3,d4] ~@2 [g2,f3,a3,bb3,d4]@3 ~ [g2,f3,a3,bb3,d4]@2 ~ [gb2,e3,ab3,a3,db4]@2 ~", // Gm7 Gbm7
  BI: "[f2,eb3,g3,ab3,c4]@2 ~ [f2,eb3,g3,ab3,c4] ~@2 [f2,eb3,g3,ab3,c4]@4 [f2,eb3,g3,ab3,c4]@3 [gb2,e3,ab3,a3,db4]@2 ~", // Fm7 Gbm7
  BJ: "[g2,f3,a3,bb3,d4]@3 [g2,f3,a3,bb3,d4] ~@2 [g2,f3,a3,bb3,d4]@3 ~ [g2,f3,a3,bb3,d4]@2 ~ [gb2,e3,ab3,a3,db4]@2 ~", // Gm7 Gbm7
  BK: "[f2,eb3,g3,ab3,c4]@3 [f2,eb3,g3,ab3,c4] ~@2 [eb3,g3,ab3,c4]@3 ~ [f2,eb3,g3,ab3,c4]@3 [gb2,e3,ab3,a3,db4]@2 ~, ~@6 f2 ~@9", // Fm7 Abmaj7 Fm7 Gbm7
// … 240 more lines

More by Barry Manilow