Strudelify
Copacabana (At the Copa) cover art

1985 · Especial

Copacabana (At the Copa)

Barry Manilow

KeyB♭ majorTempo120 bpm
0:00/0:00
// Copacabana (At the Copa) — Barry Manilow
// 120 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 121 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 · acoustic bass · "Acoustic Bas"
const bass = note(`<
  ~ 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 B AB AC E F AB H AD AE AF L AG AH AG AI AJ AK S AL AM AN W X
  Y X AO AP AQ AR AS AT AU AV AW AU AX@2 AY AZ BA AX BA AX BB BC BD BE BF@2 BG BH BI BJ BK BL BM BN BO BP BO BQ BR BS BO
  BT BU BV G AC AA F AB BW BX AE BY L BZ CA CB CC M CD CE CF CG CH CI BO CI BO CJ CK
>`.pickRestart({
  A: "f2@2 ~ f2 c3@2 ~ bb1 ~ bb1 ~ bb1 f2@2 f1 ~", B: "eb2@2 ~ a2 bb2@3 eb2@2 eb2 ~ eb2 bb2@2 eb2 bb1",
  C: "a1@2 ~ f1 f2@3 d2 ~ d2 ~ d2 a2@2 a1 ~", D: "g2@2 ~ g2 g2@2 ~ g2 ~ g2 ~ g2 d3@2 d2 ~",
  E: "f2@2 ~ c2 c3@3 bb1 ~ bb1 ~ bb1 f2@2 bb1 ~", F: "eb2@2 ~ eb2 bb2@3 eb2 ~ eb2 ~ eb2 bb2@2 bb1 ~",
  G: "a1@2 ~ f1 f2@3 d2 ~ d2 ~ d2 a2@2 d2 ~", H: "g2@2 ~ db3 d3@3 g2@2 g2 ~ g2 d3@2 g2 db2",
  I: "c2@2 ~ c2 gb2@2 ~ g2 ~ g2 ~ g2 d3@2 db2 ~", J: "c2@2 ~ c2 d2@2 ~ d2 ~ g2 ~ g2 d3@2 db2 ~",
  K: "c2@2 ~ c2 g2@2 ~ d2 ~ d2 ~ d2 a2@2 a1 ~", L: "g2@2 ~ g2 gb2@2 ~ gb2 ~ f2 ~ f2 f2@2 f2 ~",
  M: "f2@3 c3 c3@2 f2 b1 bb1@3 f2@3 bb1 ~", N: "eb2@3 eb1 bb2@3 eb2 eb2@3 eb1 bb2@2 eb2 ~",
  O: "f2@3 c3 c3@2 f2 ~ bb1@3 f2 f2@2 f1 ~", P: "eb2@3 bb2 bb2@2 eb2 db2 c2@3 g2 g2@2 c2 ~",
  Q: "f2@3 c3 c3@2 f2 b1 bb1@3 f2 f2@2 f1 ~", R: "c2@3 g2 g2@2 c2 ~ c2@3 g2@3 c2 ~",
  S: "f2@3 c3 c3@2 c2 ~ bb1@3 f2 f2@2 f1 ~", T: "g2@3 d3 d3@2 g2 ~ c2@3 g2@3 c2 ~",
  U: "f2@3 c3 c3@3 f2 f2@3 c3 c3@2 eb2 ~", V: "d2@3 ab2 a2@3 d2 d2@2 ~ ab2 a2@3 d2",
  W: "g2@2 ~ g2 d3@2 ~ g2 g2@2 ~ g2 gb2@2 ~ gb2", X: "f2@2 ~ f2 c3@2 ~ f2 f2@2 ~ f2 gb2@2 ~ gb2",
  Y: "g2@2 ~ d2 d3@3 g2 g2@2 ~ g2 gb2@2 ~ gb2", Z: "f2@2 ~ f2 gb2@2 ~ gb2 ~ g2 ~ g2 d3@2 d2 ~",
  AA: "f2@2 ~ f2 c3@2 ~ bb1 ~ bb1 ~ bb1 f2@2 e2 ~", AB: "a1@2 ~ a1 f2@2 ~ d2 ~ d2 ~ d2 a2@2 d2 ~",
  AC: "g2@2 ~ g2 g2@2 ~ g2 ~ g2 ~ g2 d3@2 gb2 ~", AD: "c2@2 ~ c2 gb2@2 ~ g2 ~ g2 ~ g2 d3@2 d2 ~",
  AE: "c2@2 ~ c2 d2@2 ~ d2 ~ g2 ~ g2 d3@2 g2 ~", AF: "c2@2 ~ c2 g2@2 ~ d2 ~ d2 ~ d2 a2@2 d2 ~",
  AG: "f2@3 c3 c3@2 c2 ~ bb1@3 f2 f2@2 bb1 ~", AH: "eb2@3 a2 bb2@3 eb2 eb2@2 ~ a2 bb2@3 eb2",
  AI: "eb2@3 bb2 bb2@2 eb2 ~ c2@3 g2 g2@2 g1 ~", AJ: "f2@3 c3 c3@2 f2 b1 bb1@3 f2 f2@2 bb1 db2",
  AK: "c2@3 g2 g2@2 c2 db2 c2@3 g2 g2@2 g1 ~", AL: "g2@3 d3 d3@2 g2 db2 c2@3 g2 g2@2 g1 ~",
  AM: "f2@3 b2 c3@3 f2 f2@2 ~ b2 c3@3 f2", AN: "d2@3 a2 a2@3 d3 d3@3 a2 a2@2 d2 ~",
  AO: "g2@3 d3 d3@3 g2 g2@3 d3 d3@2 ab2 ~", AP: "g2@3 d3 d3@2 g2 a2 ab2@2 ~ ab2 a1@2 ~ a1",
  AQ: "bb1@3 bb0 f2@3 bb1 bb1@3 bb0 f2@2 bb1 ~", AR: "bb1@3 f2 f2@2 bb1 c2 b1@2 ~ b1 c2@2 ~ c2",
  AS: "db2@2 ~ g2 ab2@2 ~ c3 db3@2 ~ g2 ab2@2 ab1@2", AT: "db2@3 ab2 ab2@3 ab1 db2@2 ~ g2 ab2@2 ab1 ~",
  AU: "db2@3 ab2 ab2@3 db2 db2@3 ab2 ab2@3 db2", AV: "db2@3 ab2 ab2@3 db2 db2@2 ~ ab2 ab2@3 db2",
  AW: "db2@3 ab2 ab2@3 db3@4 ab2 ab2@3 db2", AX: "d2@3 a2 a2@3 d2 d2@3 a2 a2@3 d2",
  AY: "d2@2 ~ ab2 a2@2 ~ db3 d3@2 ~ ab2 a2@2 a1@2", AZ: "d2@3 a2 a2@3 a1 d2@2 ~ ab2 a2@2 a1 ~",
  BA: "d2@3 a2 a2@3 d2 d2@3 a2 a2@3 a1", BB: "db2@3 db1 bb2@3 db2@4 db1 bb2@2 db2 db1",
  BC: "db2@4 bb2@2 ~ db3@4 bb2@3 ~ db2", BD: "db2@3 bb2 bb2@3 db2 db2@3 bb2 bb2@3 db2",
  BE: "db2@3 bb2 bb2@3 db2 db2@2 ~ bb2 bb2@3 db2", BF: "d2@3 c3 c3@3 d2 d2@3 c3 c3@3 d2",
  BG: "d2@3 c3 c3@3 d3 d3@3 c3 c3@2 d2 ~", BH: "d2@3 c3 c3@2 d2 ~ e2@2 ~ e2 eb2@2 ~ eb2",
  BI: "bb1@3 e2 f2@3 bb1 bb1@2 ~ e2 f2@3 bb1", BJ: "bb1@3 f2 f2@2 bb1 ~ a1@2 ~ a1 ab2@2 ~ ab2",
  BK: "g2@3 d3 d3@3 g3 g3@3 d3 d3@2 g2 ~", BL: "gb2@3 db3 db3@3 gb3 gb3@3 db3 db3@2 gb2 ~",
  BM: "f2@2 ~ b2 c3@2 ~ e3 f3@2 ~ b2 c3@2 c2@2", BN: "f2@3 c3 c3@3 c2 f2@2 ~ b2 c3@2 c2 ~",
  BO: "f2@3 c3 c3@2 f2 ~ f2@2 ~ f2 gb2@2 ~ gb2", BP: "g2@3 d3 d3@2 g2 ab2 g2@2 ~ g2 gb2@2 ~ gb2",
  BQ: "g2@3 d3@3 g2 ~ g2@2 ~ g2 ab2@2 ~ ab2", BR: "a1@3 e2 e2@2 a1 bb1 a1@2 ~ a1 ab2@2 ~ ab2",
  BS: "g2@3 d3@3 g2 ~ g2@2 ~ g2 gb2@2 ~ gb2", BT: "g2@3 db3 d3@3 g2 g2@2 ~ db3 d3@3 g2",
  BU: "f2@2 ~ c2 c3@3 bb1 ~ bb1 ~ bb1 f2@2 e2 ~", BV: "eb2@2 ~ eb2 bb2@3 eb2 ~ eb2 ~ eb2 bb2@2 eb2 ~",
  BW: "g2@2 ~ db3 d3@2 ~ f3 g3!2 ~ db3 d3@2 g2 ~", BX: "c2@2 ~ gb1 gb2@3 g2 ~ g2 ~ g2 d3@2 d2 ~",
  BY: "c2@2 ~ g1 g2@3 d2 ~ d2 ~ d2 a2@2 d2 ~", BZ: "f2@3 c3 c3@2 f2 b1 bb1@3 f2 f2@2 bb1 ~",
  CA: "eb2@3 bb2 bb2@3 eb3 eb3@3 bb2 bb2@2 eb2 ~", CB: "f2@3 c3 c3@2 f2 ~ bb1@3 f2 f2@2 bb1 e2",
  CC: "eb2@3 bb2@3 eb2 ~ c2@3 g2 g2@2 c2 ~", CD: "c2@3 g2 g2@2 g1 ~ c2@3 g2@3 c2 ~",
  CE: "f2@3 c3@3 f2 ~ bb1@3 f2 f2@2 f1 ~", CF: "g2@3 d3@3 g2 ~ c2@3 g2 g2@2 c2 ~",
  CG: "f2@3 c3 c3@3 f3 f3@3 c3 c3@2 f2 ~", CH: "d2@3 ab2 a2@3 d2 d2@3 a2 a2@2 d2 ~",
  CI: "g2@3 d3 d3@2 g2 ~ g2@2 ~ g2 gb2@2 ~ gb2", CJ: "g2@3 d3 d3@3 g2@4 d3@2 ~ g2 ~", CK: "g2 ~ g2 ~@2 f2 ~ g2 ~@8",
})).s("gm_acoustic_bass").gain(0.4)

// chords · piano · "Piano 1"
const piano = note(`<
  ~ 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 F AB AC AD AE AF H AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT
  AU AV AW AX AY AZ BA BB BC BD BE BF BG@2 BH BI BJ BK BL BM BL BM BN@2 BO BP BQ BR BS BT BU BV BW BX ~@2 BY BZ CA CB CC
  CD CE CF CG AE CH CI CJ AE CK CL CM CN CO CP CQ AL CR CS CT CU CV CW CX CY CZ DA DB DC DD DE
>`.pickRestart({
  A: "[eb3,ab3,c4,f4]@2 eb4 ab4 ~ c5 f5@2 [ab3,c4,eb4,g4]@8", B: "[g3,bb3,d4,f4]@15 eb3",
  C: "[g3,c4,f4,b4]@8 [gb3,ab3,c4,e4,b4]@2 c4 gb4 ~ a4 d5@2", // G7 E
  D: "[gb3,bb3,d4,a4]@4 [f3,bb3,d4,a4]@4 ~ [e3,bb3,d4,g4] ~ [e3,bb3,d4,g4] ~ [e3,bb3,d4,g4] ~@2", // D Bbmaj7 Em7b5
  E: "[eb3,ab3,c4,f4]@8 ~ [ab3,c4,eb4,g4] ~ [ab3,c4,eb4,g4] ~ [ab3,c4,eb4,g4] ~@2", // Fm7 Abmaj7
  F: "[g3,d4,f4,bb4]@8 ~@4 bb4@2 f5 ~, ~@8 d4@7 ~, ~@10 g4@5 ~", G: "[g3,c4,f4,a4]@2 g3 c4 ~ f4 a4@2 [gb3,a3,c4,d4]@8",
  H: "[f3,bb3,d4,g4]@8 ~@4 d4@2 g4 ~, ~@8 f3@7 ~, ~@10 bb3@5 ~", // Gm7
  I: "~ [eb3,gb3,a3,c4] ~ [eb3,gb3,a3,c4] ~ [eb3,gb3,a3,c4] ~@2 [g3,bb3,d4,g4]@2 g3 bb3 ~ d4 g4@2", // Ebdim Gm
  J: "[eb3,a3,c4,gb4] [gb3,c4,f4,a4] [g3,bb3,d4,g4]@2", // Ebdim F Gm
  K: "[eb3,bb3,d4,g4]@2 bb3 eb4 ~ g4 c5@2 [gb3,ab3,c4,e4,b4]@2 c4 gb4 ~ a4 d5@2", // Ebmaj7 E
  L: "[f3,a3,bb3,d4]@4 [gb3,c4,e4,b4]@4 [ab3,d4,f4,bb4]@2 ab3 d4 ~ f4 bb4@2", // Bbmaj7 Esus2 Bb7
  M: "ab3 eb4 f4 [ab3,eb4,f4,c5] ~ [ab3,eb4,f4,c5] ~@2 [ab3,eb4,g4,c5]@7 bb2", // Fm7 Abmaj7
  N: "[g3,d4,f4,bb4] ~ [g3,d4,f4,bb4] ~@2 [g3,d4,f4,bb4] ~ [g3,d4,f4,bb4] ~@8", // Gm7
  O: "f3@3 [eb3,ab3,c4,g4] ~ [eb3,ab3,c4,g4] ~ f3 [ab3,c4,eb4,g4]@8", // Abmaj7
  P: "d4 g4 bb4 [d4,g4,bb4,f5] ~ [d4,g4,bb4,f5] ~@2 [f3,bb3,d4,a4]@2 ~ [f3,bb3,d4,a4]@2 ~ [f3,bb3,d4,a4] ~", // Gm7 Bbmaj7
  Q: "[eb3,ab3,c4,f4]@8 [ab3,c4,eb4,g4]@7 bb2", // Fm7 Abmaj7
  R: "[bb3,d4,f4,a4]@8 [bb3,d4,e4,g4]@2 ~ [bb3,d4,e4,g4]@2 ~ [bb3,d4,e4,g4] ~", // Bbmaj7 Em7b5
  S: "[ab3,eb4,f4,c5]@7 f3 [ab3,d4,g4,c5]@8", // Fm7 Abmaj7
  T: "bb3 f4 a4 [bb3,f4,a4,d5] ~ [bb3,f4,a4,d5] ~@2 bb3 e4 a4 [bb3,e4,a4,d5] ~ [bb3,e4,a4,d5] ~@2", // Bbmaj7
  U: "[ab3,eb4,f4,c5]@12 ~ [ab3,eb4,f4,c5] ~@2", // Fm7
  V: "[c4,gb4,a4,f5] ~ [c4,gb4,a4,f5] ~@2 [c4,gb4,a4,f5] ~ [c4,gb4,a4,f5] ~@8", // F
  W: "~ [bb3,f4,a4,d5] ~ [bb3,f4,a4,d5] ~ [bb3,f4,a4,d5] ~@2 [bb3,d4,f4,a4]@4 [a3,db4,e4,ab4]@4", // Bbmaj7 Amaj7
  X: "[ab3,c4,eb4,g4]@2 [ab3,eb4,g4,c5] [a3,db4,e4,ab4]", Y: "[bb3,f4,a4,d5]@2 [bb3,f4,a4,d5] [a3,e4,ab4,db5]",
  Z: "[ab3,c4,eb4,g4] [a3,e4,ab4,db5] [bb3,d4,f4,a4]@2", AA: "[ab3,eb4,f4,c5] [ab3,eb4,g4,c5]",
  AB: "[g3,a3,c4,f4] [gb3,c4,e4,a4]", // F Gbm7b5
  AC: "[gb3,a3,bb3,d4]@4 [f3,a3,bb3,d4]@4 ~ [e3,bb3,d4,g4] ~ [e3,bb3,d4,g4] ~ [e3,bb3,d4,g4] ~@2", // D Bbmaj7 Em7b5
  AD: "[ab3,c4,eb4,f4]@8 ~ [ab3,c4,eb4,g4] ~ [ab3,c4,eb4,g4] ~ [ab3,c4,eb4,g4] ~@2", // Fm7 Abmaj7
  AE: "[g3,d4,f4,bb4] ~@2 [g3,d4,f4,bb4]@11 ~@2", // Gm7
  AF: "[g3,c4,f4,b4]@8 ~ [gb3,c4,e4,b4] ~ [gb3,c4,e4,b4] ~ [gb3,c4,e4,b4] ~@2", // G7 Esus2
  AG: "[eb3,a3,c4,gb4]@8 [g3,bb3,d4,g4]@2 g3 bb3 ~ d4 g4@2", AH: "[eb3,gb3,a3,c4] [gb3,c4,eb4,bb4] [g3,bb3,d4]@2",
  AI: "[eb3,g3,bb3,c4]@2 bb3 eb4 ~ g4 c5@2 ~ [gb3,c4,e4,b4] ~ [gb3,c4,e4,b4] ~ [gb3,c4,e4,b4] ~@2", // Cm7 Esus2
  AJ: "[f3,g3,bb3,d4] [gb3,c4,e4,b4] [ab3,c4,d4,g4]@2", // Gm7 Esus2 Abmaj7
  AK: "f3@3 [ab3,c4,eb4,f4] ~ [ab3,c4,eb4,f4] ~ f3 [ab3,eb4,g4,c5]@7 bb2", // Fm7 Abmaj7
  AL: "[g3,d4,f4,bb4]@8 ~ d4 ~ bb4 f5 bb4 g4 d4, ~@5 g4 ~@2", // Gm7
  AM: "[ab3,eb4,g4,c5]@7 f3 eb4 ab4 c5 [eb4,ab4,c5,f5] ~ [eb4,ab4,c5,f5] ~@2", // Abmaj7 Fm7
  AN: "[g3,d4,f4,bb4]@2 ~ [g3,d4,f4,bb4]@2 ~ [g3,d4,f4,bb4] ~ [f3,bb3,d4,a4]@7 c3", // Gm7 Bbmaj7
  AO: "[eb3,g3,ab3,c4]@8 [ab3,eb4,g4,c5]@7 bb2", AP: "[bb3,f4,g4,d5]@7 c3 [bb3,db4,e4,ab4]@8",
  AQ: "[ab3,eb4,f4,c5]@2 ~ [ab3,eb4,f4,c5]@2 ~ [ab3,eb4,f4,c5] ~ [ab3,d4,g4,c5]@8", // Fm7 Abmaj7
  AR: "g2@3 [f3,bb3,d4,g4] ~ [f3,bb3,d4,g4] ~ g2 [e3,bb3,d4,a4]@8", // Gm7 Dsus2
  AS: "[eb3,ab3,c4,g4]@10 ~ [eb3,ab3,c4,g4] ~ [eb3,ab3,c4,g4] ~@2", // Abmaj7
  AT: "[gb3,bb3,c4,eb4] ~ [gb3,bb3,c4,eb4] ~@2 [gb3,bb3,c4,eb4] ~ [gb3,bb3,c4,eb4] ~@8", // Cm7b5
  AU: "[f3,bb3,d4,a4]@2 f3 bb3 ~ d4 a4@2 [f3,a3,bb3,d4]@4 [e3,a3,db4,ab4]@4", // Bbmaj7 Amaj7
  AV: "[eb3,ab3,c4,g4]@2 [eb3,ab3,c4,g4] [e3,a3,db4,ab4]", AW: "[f3,bb3,d4,a4]@2 [f3,bb3,d4,a4] [e3,a3,db4,ab4]",
  AX: "[eb3,g3,ab3,c4]@2 [eb3,g3,ab3,c4] [e3,a3,db4,ab4]", AY: "[f3,a3,bb3,d4]@8 ~@4 a4@2 d5 ~, ~ bb3, ~@10 f4@5 ~",
  AZ: "g2@3 [f3,bb3,d4,a4] ~ [f3,bb3,d4,a4] ~ g2 ab2 [gb3,b3,eb4,bb4] ~@2 [g3,c4,e4,b4]@3 a2", // Bbmaj7 Bmaj7 Cmaj7
  BA: "[ab3,db4,f4,c5]@8 ~ ab3 ~ f4 c5 f4 db4 ab3, ~@5 db4 ~@2", // Dbmaj7
  BB: "[ab3,db4,f4,c5]@2 ~ [ab3,db4,f4,c5]@2 ~ [ab3,db4,f4,c5] ~ b2 [a3,d4,gb4,db5] ~@2 [bb3,eb4,g4,d5]@3 c3", // Dbmaj7 Dmaj7 Ebmaj7
  BC: "[b3,eb4,e4,ab4] ~ [b3,eb4,e4,ab4] ~@2 [b3,eb4,e4,ab4] ~ [b3,eb4,e4,ab4] ~ [b3,eb4,e4,ab4] ~ [b3,eb4,e4,ab4]@2 ~ [b3,eb4,e4,ab4] db3", // Emaj7
  BD: "[b3,eb4,e4,ab4] ~ [b3,eb4,e4,ab4] ~@2 [b3,eb4,e4,ab4] ~ [b3,eb4,e4,ab4] ~ [b3,eb4,e4,ab4] ~ [b3,eb4,e4,ab4]@2 ~ [b3,eb4,e4,ab4] ~", // Emaj7
  BE: "[b3,e4,ab4,eb5] ~@4 [b3,e4,ab4,eb5] ~ [b3,e4,ab4,eb5] ~ [b3,e4,ab4,eb5] ~ [b3,e4,ab4,eb5]!4 ~", // Emaj7
  BF: "db3 ~ [b3,e4,ab4,eb5] ~@2 [b3,e4,ab4,eb5] ~ [b3,e4,ab4,eb5] ~@3 db3 [b3,e4,ab4,eb5] ~ [b3,e4,ab4,eb5] ~", // Emaj7
  BG: "[eb4,e4,ab4,b4] ~ [eb4,e4,ab4,eb5] ~ [eb4,e4,ab4,b4] [eb4,e4,ab4,eb5] ~ [eb4,e4,ab4,b4] ~ [eb4,e4,ab4,eb5] ~ [eb4,e4,ab4,b4]@3 [eb4,e4,ab4] ~", // Emaj7
  BH: "[c4,f4,a4,e5]@8 ~ [c4,f4,a4,e5] ~ [c4,f4,a4,e5] ~ [c4,f4,a4,e5] ~@2", // Fmaj7
  BI: "[c4,f4,a4,e5]@8 ~ [c4,f4,a4,e5] ~ [c4,f4,a4,e5] ~ d3 [c4,f4,a4,e5] ~", // Fmaj7
  BJ: "[c4,f4,a4,e5] ~ [c4,f4,a4,e5] ~@2 [c4,f4,a4,e5] ~ [c4,f4,a4,e5] ~@4 [c4,f4,a4,e5] ~ [c4,f4,a4,e5] ~", // Fmaj7
  BK: "[c4,f4,a4,e5] ~ [c4,f4,a4,e5] ~@2 [c4,f4,a4,e5] ~ [c4,f4,a4,e5] ~ [db4,gb4,bb4,f5] [c4,f4,a4,e5]@5 ~", // Fmaj7 Gbmaj7 Fmaj7
  BL: "[d4,f4,a4] ~ [d4,f4,a4] ~@2 [d4,f4,a4] ~ [d4,f4,a4] ~@4 [d4,f4,a4] ~ [d4,f4,a4] ~", // Dm
  BM: "[d4,f4,a4] ~ [d4,f4,a4] ~@2 [d4,f4,a4] ~ [d4,f4,a4] ~ [eb4,gb4,bb4] [d4,f4,a4]@5 ~", // Dm Ebm Dm
  BN: "[eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5]!2 ~ [eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5]@3 [eb4,g4,bb4] ~", // Eb
  BO: "[eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5] ~@2 [eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5] ~@4 [eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5] ~", // Eb
  BP: "[eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5] ~@2 [eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5] ~ [e4,ab4,b4,e5] [eb4,g4,bb4,eb5]@5 ~", // Eb E Eb
  BQ: "[ab3,c4,f4] ~ [ab3,c4,f4] ~@2 [ab3,c4,f4] ~ [ab3,c4,f4] ~@4 [ab3,c4,f4] ~ [ab3,c4,f4] ~", // Fm
  BR: "[ab3,c4,f4] ~ [ab3,c4,f4] ~@2 [ab3,c4,f4] ~ [ab3,c4,f4] ~ [a3,db4,gb4] [ab3,c4,f4]@5 ~", // Fm Gbm Fm
  BS: "[ab3,f4,c5]@12 ~ [ab3,f4,c5] ~@2", // Fm
  BT: "c4 f4 ab4 [c4,f4,ab4,c5] ~ [c4,f4,ab4,c5] ~@2 [g3,e4,b4]@4 eb3 [gb3,bb3,eb4] ~@2", // Fm Em Ebm
  BU: "[ab3,c4,db4,f4] ~ [ab3,c4,db4,f4] ~@2 [ab3,c4,db4,f4] ~ [ab3,c4,db4,f4]@6 bb2 [ab3,c4,db4,f4] ~", // Dbmaj7
  BV: "[ab3,db4,f4,c5]@8 a2 [g3,c4,e4,b4] ~@2 ab2 [gb3,bb3,b3,eb4] ~@2", BW: "[f3,a3,bb3,d4]@12 ~ [f3,a3,bb3,d4] ~@2",
  BX: "[e3,a3,db4,ab4]@10 ~ [e3,a3,db4,ab4] ~ [e3,a3,db4,ab4] ~@2", // Amaj7
  BY: "[eb3,g3,ab3,c4]@2 ~ [eb3,g3,ab3,c4]@2 ~ [eb3,g3,ab3,c4] ~ [eb3,ab3,c4,g4]@3 f3 [e3,a3,db4,ab4]@4", // Abmaj7 Amaj7
  BZ: "[f3,a3,bb3,d4]@8 [f3,bb3,d4,a4]@4 gb2 [e3,a3,db4,ab4] ~@2", // Bbmaj7 Amaj7
  CA: "[eb3,g3,ab3,c4]@2 ~ [eb3,g3,ab3,c4]@2 ~ [eb3,g3,ab3,c4] ~ f3 [eb3,g3,ab3,c4] ~@2 gb2 [e3,a3,db4,ab4] ~@2", // Abmaj7 Amaj7
  CB: "bb3 f4 a4 [bb3,f4,a4,d5] ~ [bb3,f4,a4,d5] ~@2 [f3,a3,bb3,d4]@4 [gb3,bb3,b3,eb4]@4", // Bbmaj7 Bmaj7
  CC: "c4 g4 b4 [c4,g4,b4,e5] ~ [c4,g4,b4,e5] ~@2 [g3,c4,e4,b4]@3 a2 ab2 [gb3,b3,eb4,bb4] ~@2", // Cmaj7 Bmaj7
  CD: "[f3,a3,bb3,d4]@7 g2 [f3,a3,bb3,d4]@3 g2 [e3,ab3,a3,db4]@4", // Bbmaj7 Amaj7
  CE: "[eb3,ab3,c4,g4]@7 f3 [eb3,ab3,c4,g4]@3 f3 [e3,ab3,a3,db4]@3 gb2", // Abmaj7 Amaj7
  CF: "[f3,bb3,d4,a4]@8 ~@4 a4@2 d5 ~, ~ bb3, ~@10 f4@5 ~", // Bbmaj7
  CG: "~ [eb3,ab3,c4,f4] ~ [eb3,ab3,c4,f4] ~ [eb3,ab3,c4,f4] ~@2 [ab3,c4,eb4,g4]@8", // Fm7 Abmaj7
  CH: "[g3,c4,f4,a4]@8 ~ [gb3,b3,c4,e4] ~ [gb3,b3,c4,e4] ~ [gb3,b3,c4,e4] ~@2", // F Esus2
  CI: "[gb3,bb3,d4,a4] [f3,g3,bb3,d4] [e3,bb3,d4,g4]@2", CJ: "[eb3,f3,ab3,c4]@2 eb4 ab4 ~ c5 f5@2 [ab3,eb4,g4,c5]@8",
  CK: "[g3,c4,f4,a4]@8 ~ [gb3,c4,e4,b4] ~ [gb3,c4,e4,b4] ~ [gb3,c4,e4,b4] ~@2", // F Esus2
  CL: "[f3,a3,bb3,d4]@13 g2 [f3,a3,bb3,d4] ~", CM: "[eb3,a3,c4,gb4] [g3,bb3,d4,g4]",
  CN: "[eb3,a3,c4,gb4] [gb3,c4,eb4,bb4] [g3,bb3,d4,g4]@2", // Ebdim Cm7b5 Gm
  CO: "~ [eb3,g3,bb3,c4] ~ [eb3,g3,bb3,c4] ~ [eb3,g3,bb3,c4] ~@2 [gb3,c4,d4,a4]@8", // Cm7 D7
  CP: "[f3,bb3,d4,g4] [gb3,c4,e4,a4] [ab3,c4,d4,g4]@2", // Gm7 Gbm7b5 Abmaj7
  CQ: "[ab3,eb4,g4,c5]@2 ~ [ab3,eb4,g4,c5]@2 ~ [ab3,eb4,g4,c5] ~ [ab3,c4,eb4,f4]@8", // Abmaj7 Fm7
  CR: "[eb3,f3,ab3,c4]@7 f3 [ab3,eb4,g4,c5]@8", // Fm7 Abmaj7
  CS: "eb3@3 [g3,d4,f4,bb4] ~ [g3,d4,f4,bb4] ~ eb3 c3@3 [bb3,f4,a4,d5] ~ [bb3,f4,a4,d5] ~ c3", // Gm7 Bbmaj7
  CT: "ab3 eb4 f4 [ab3,eb4,f4,c5] ~ [ab3,eb4,f4,c5] ~@2 [ab3,eb4,f4,c5]@2 ~ [ab3,eb4,f4,c5]@2 ~ [ab3,eb4,f4,c5] ~", // Fm7
  CU: "bb3 f4 a4 [bb3,f4,a4,d5] ~ [bb3,f4,a4,d5] ~@2 [bb3,e4,g4,d5]@8", // Bbmaj7 Em7b5
  CV: "[ab3,eb4,f4,c5]@2 ~ [ab3,eb4,f4,c5]@2 ~ [ab3,eb4,f4,c5] ~ d4 ab4 bb4 [d4,ab4,bb4,g5] ~ [d4,ab4,bb4,g5] ~@2", // Fm7 Gm
  CW: "[bb3,f4,g4,d5]@2 ~ [bb3,f4,g4,d5]@2 ~ [bb3,f4,g4,d5] ~ [bb3,e4,a4,d5]@8", // Gm7 Bbmaj7
  CX: "[ab3,eb4,g4,c5]@8 ~@4 f4@2 c5 ~, ~ ab3, ~@10 eb4@5 ~", // Abmaj7
  CY: "[c4,eb4,gb4,bb4]@10 ~ [c4,eb4,gb4,bb4] ~ [c4,eb4,gb4,bb4] ~@2", // Cm7b5
  CZ: "[bb3,f4,a4,d5]@2 ~ [bb3,f4,a4,d5]@2 ~ [bb3,f4,a4,d5] ~ g2 [bb3,f4,a4,d5] ~@2 [a3,e4,ab4,db5]@4", // Bbmaj7 Amaj7
  DA: "f3@3 [ab3,eb4,g4,c5] ~ [ab3,eb4,g4,c5] ~ f3 [ab3,eb4,g4,c5]@3 f3 gb2 [a3,e4,ab4,db5] ~@2", // Abmaj7 Amaj7
  DB: "[bb3,f4,a4,d5]@8 [bb3,f4,a4,d5]@3 g2 [a3,db4,e4,ab4]@3 gb2", // Bbmaj7 Amaj7
  DC: "ab3 eb4 g4 [ab3,eb4,g4,c5] ~ [ab3,eb4,g4,c5] ~@2 [ab3,eb4,g4,c5]@3 f3 [a3,e4,ab4,db5]@3 gb2", // Abmaj7 Amaj7
  DD: "[a4,bb4,d5,f5]@15 ~", DE: "[a4,bb4,d5,f5] ~ [a4,bb4,d5,f5] ~@2 [a4,c5,d5,f5] ~ [a4,bb4,d5,f5] ~@8",
})).s("gm_piano").gain(0.4)

// other · vibraphone · "Vibes"
const vibraphone = note("<~@26 A B C D E B C F G H I J K ~@82>".pickRestart({
  A: "~@11 g4 bb4 ~ c5 ~", B: "eb5@3 ab4 ~@5 d5 eb5 ~ d5 ~ c5 ~", C: "d5@3 g4 ~@7 g4 bb4 ~ c5 ~",
  D: "d5 ~ eb5 d5 ~ eb5 ~ d5@5 bb4 ~ gb4 ~", E: "a4 ~ a4 ~ a4@2 g4 a4@2 ~ g4 ~ bb4 ~ c5 ~",
  F: "d5 ~ eb5 d5 ~ eb5 ~ d5@3 ~@2 bb4 ~ gb4 ~", G: "g4 ~ a4 bb4 ~ c5 ~ d5@3 bb4 ~ g4 ~ d4 ~",
  H: "gb4 ~@2 a4 ~@2 g4 ~@3 bb4 ~ g4 ~ d4 ~", I: "gb4 ~@2 a4 ~@2 g4 ~@5 g4 ~ d4 ~",
  J: "eb4 ~ f4 g4 a4 ~ bb4 c5@2 ~ a4 ~ c5 ~ c5 ~", K: "d5@3 ~ d5@2 ~@2 d5@2 ~@6",
})).s("gm_vibraphone").gain(0.44)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<~@53 A@2 B C D@2 E@4 F@2 G@2 H I J K L@2 M@2 N@2 O@2 P@2 Q R S ~@37>".pickRestart({
  A: "[[f4,a4]@5 ~ [f4,a4]@16 ~@2 [f4,a4]@2 [gb4,bb4]@3 ~ [g4,b4]@2]/2", B: "[ab4,c5]@3 [ab4,c5]@5",
  C: "~@8 [ab4,c5]@3 [a4,db5]@3 bb4@2, ~@14 d5 ~", D: "[[b4,eb5]@4 [b4,eb5]@19 ~ db5@2 c5@2 db5@2 d5@2]/2",
  E: "[eb5@15 ~]/2", F: "[e5@15 ~]/2", G: "[e5@7 ~]/2", H: "~@4 a3@2 bb3@2 b3@3 c4@3 db4@2",
  I: "d4@3 eb4@3 e4@2 f4@3 gb4@3 g4@2", J: "ab4@3 a4@3 bb4@2 b4@3 c5@3 db5@2", K: "d5@3 eb5@3 e5@2 f5@4 ~@4",
  L: "[[eb5,g5]@4 [eb5,g5]@20 [g4,bb4,eb5,g5]@2 ~ [g4,bb4,eb5,g5]@2 ~ [g4,bb4,eb5,g5]@2]/2", // Eb
  M: "[[g4,bb4,eb5,g5]@4 [g4,bb4,eb5,g5]@19 ~ [g4,bb4,eb5,g5]@3 [g4,bb4,eb5,g5]@2 ~ [bb4,eb5,g5]@2, ~@30 g4 ~]/2", // Eb
  N: "[[ab4,c5,f5]@4 [ab4,c5,f5]@19 ~ [ab4,c5,f5,ab5]@4 f5@2 g5@2, ab5@23 ~@5 [ab4,c5]@4]/2", // Fm Ab
  O: "[[ab4,c5,f5,ab5]@7 ~ [ab4,c5,f5,ab5]@16 [ab4,c5,f5,ab5]@3 [e5,g5]@3 [eb5,gb5]@2]/2", // Fm Em Ebm
  P: "[f5@4 [db5,f5]@20 f5@3 e5@3 eb5@2]/2", Q: "d5", R: "db5@15 ~", S: "[ab3,eb4,g4] ~@15",
})).s("gm_string_ensemble_1").gain(0.36)

// other · steel drums · "Steel Drum"
const steel_drums = note("<~@92 A B C D E B C F G H I J K ~@16>".pickRestart({
  A: "~@11 g4 bb4 ~ c5 ~", B: "eb5 ~@2 ab4 ~@6 eb5 ~ d5 ~ c5 ~", C: "d5 ~@2 g4 ~@7 g4 bb4 ~ c5 ~",
  D: "d5 ~ eb5 d5 ~ eb5 ~ d5 ~@4 bb4 ~ gb4 ~", E: "a4 ~ a4 ~ a4 ~ g4 a4 ~ g4 ~@2 bb4 ~ c5 ~",
  F: "d5 ~ eb5 d5 ~ d5 ~@2 d5 ~@3 bb4 ~ gb4 ~", G: "g4 ~ a4 bb4 ~ c5 ~ d5 ~@2 bb4 ~ g4 ~ d4 ~",
  H: "gb4!2 ~ a4 ~@2 g4 ~@3 bb4 ~ g4 ~ d4 ~", I: "gb4!2 ~ a4 ~@2 g4 ~@5 g4 ~ d4 ~",
  J: "eb4 ~ f4 g4 a4 bb4 ~ c5 ~ a4 ~@2 c5 ~ c5 ~", K: "~ d5!2 ~ d5!5 ~@7",
})).s("gm_steel_drums").gain(0.39)

stack(bass, piano, vibraphone, string_ensemble_1, steel_drums)

More by Barry Manilow