Strudelify
Can't Smile Without You cover art

Even Now

Can't Smile Without You

Barry Manilow

KeyG minorTempo103 bpm
0:00/0:00
// Can't Smile Without You — Barry Manilow
// 103 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 79 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(103/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 · electric bass finger · "Bass              2"
const bass = note(`<
  ~@3 A B C D E F G H I J C K E F G H L M N O P Q R O P Q S T U V E F W H X Y Z AA AB AC AD AE@2 AF AG AH AI AJ AK@2 AL
  AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA@2 AU BB AW AX AY BC BD BE BF
>`.pickRestart({
  A: "~@3 g1@3 a1@3 b1@2 ~", B: "c2@7 ~@3 c2 ~@11 c2@2", C: "~@2 c2 g1@3 c2@3 b1@3", D: "a1@9 ~ e1@2 ~@10 a1@2",
  E: "~@4 a1@2 e1@6 a1@3 ~@3 c2@4 a1@2", F: "d2@7 ~@3 d2@2 a1@2 ~@2 a1@2 f1@2 ~@2 f1@2",
  G: "d1@6 f1@6 a1@3 ~@3 d2@3 ~ a1@2", H: "g2@4 g1 ~ g1@2 ~@2 g1@11 ~ g1@2", I: "g1@5 ~ b1@5 ~ d2@4 ~@2 g2@3 ~ g1@2",
  J: "c2@9 ~ g1 ~ c2@3 ~@7 c2@2", K: "a1@9 ~ e1 ~ a1@3 ~@7 a1@2", L: "g1@5 ~ b1@5 ~ d2@2 ~@4 g2@6",
  M: "c2@4 ~ c2 g1@3 ~@2 g1", N: "c2 ~@2 e2@3 g2@3 g1 ~@2", O: "c2@7 ~@3 c2@2 g1@7 ~@3 g1@2",
  P: "a1@3 ~@2 a1 c2@3 a1@3", Q: "d2@3 ~@2 d2 a1@3 d2 ~@2", R: "g2@3 ~@3 d2@6 g1@5 ~ g2@4 g1@2",
  S: "g2 ~@2 g1@3 a1@3 b1@2 ~", T: "c2@7 ~@3 g1@2 c2@9 ~ c2@2", U: "~@4 c2@2 g1@6 c2@5 ~ b1@5 ~",
  V: "a1@7 ~@3 e1 ~ a1@9 ~ a1@2", W: "d1@6 f1@6 a1@5 ~ d2@3 ~ a1@2", X: "g1@5 ~ g1@3 ~ ab1@4 ~@2 ab1@2 ab2@3 ~ ab1@2",
  Y: "db2@7 ~@3 ab1@2 db2@7 ~@3 db2@2", Z: "~@4 db2@2 ab1@6 db2@6 c2@5 ~", AA: "bb1@9 ~ f1@2 bb1@9 ~ bb1@2",
  AB: "~@4 bb1@2 f1@6 bb1@3 ~@3 db2@4 bb1@2", AC: "eb2@7 ~@3 eb2@2 bb1@2 ~@2 bb1@2 gb1@2 ~@2 gb1@2",
  AD: "eb1@6 gb1@6 bb1@6 eb2@3 ~ bb1@2",
  AE: "[ab2@4 ab1 ~ ab1@2 ~@2 ab1@7 ~ ab1@4 ab2@5 ~ ab1@2 ab1@2 ~@2 ab1@5 ~ ab1@2 ab2@3 ~ ab1@2]/2",
  AF: "ab2@7 ~@3 ab2@2 eb2@5 ~ eb2@4 ~@2", AG: "ab1@7 ~@3 ab1@2 eb2@6 d2@6", AH: "db2@7 ~@3 ab1@2 db2@6 f2@6",
  AI: "gb2@7 ~@3 gb2@2 db2@4 ~@2 db2@5 ~", AJ: "gb1@7 ~@3 gb1@2 db2@8 ~@2 db2@2",
  AK: "[gb2@8 ~@2 gb1@2 db2@6 db2@3 ~ ab2@7 ~ ab2@4 eb2@2 ab1@6 ab1@4 a1@2]/2", AL: "~@2 a1 a2 a1!2 a2 a1!2 a2 a1!2",
  AM: "d2@7 ~@3 a1 ~ d2@8 ~@2 d2@2", AN: "~@4 d2@2 a1@6 d2@2 ~@2 d2@4 db2@3 ~", AO: "b1@9 ~ gb1@2 b1@9 ~ b1@2",
  AP: "~@4 b1@2 gb1@6 b1@3 ~@3 d2@4 b1@2", AQ: "e2@7 ~@3 e2@2 b1@3 ~ b1@2 g1@3 ~ g1@2",
  AR: "e1@6 g1@6 b1@3 ~@3 e2@3 ~ b1@2", AS: "a2@4 a1 ~ a1@2 ~@2 a1@7 ~@5 a1@2",
  AT: "a1@5 ~ a1 ~@3 bb1@4 ~@2 bb1@2 bb2@3 ~ bb1@2", AU: "eb2@7 ~@3 bb1 ~ eb2@7 ~@3 eb2@2",
  AV: "~@4 eb2@2 bb1@6 eb2 ~@3 eb2@3 ~ d2@4", AW: "c2@9 ~ g1@2 c2@9 ~ c2@2", AX: "~@4 c2@2 g1@6 c2@3 ~@3 eb2@4 c2@2",
  AY: "f2@7 ~@3 f2@2 c2@2 ~@2 c2@2 ab1@2 ~@2 ab1@2", AZ: "f1@6 ab1@6 c2@5 ~ f2@4 c2@2",
  BA: "[bb2@4 bb1 ~ bb1@2 ~@2 bb1@7 ~@5 bb1@5 ~ bb1@2 d2@5 ~ f2@3 ~ bb1@3 ~ bb1@4]/2",
  BB: "~@4 eb2@2 bb1@6 eb2@2 ~@2 eb2@3 ~ d2@4", BC: "f1@6 ab1@6 c2@3 ~@3 f2@3 ~ c2@2",
  BD: "bb2@4 bb1 ~ bb1@2 ~@2 bb1@7 ~@5 bb1@2", BE: "bb1@5 ~ d2@5 ~ f2@4 bb1@2 bb2@2 ~@2 bb1@2", BF: "eb1 ~",
})).s("gm_electric_bass_finger").gain(0.36)

// chords · piano
const piano = note(`<
  A B C D E F G H I J K L M F G H I J K L N O P Q R S P Q T U V W X H I J Y Z AA AB AC AD AE AF@3 AG AH AI AJ AK AL@3 AM
  AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA@2 BB AV AW AX BC AZ BD BE BF
>`.pickRestart({
  A: "[d5,e5,g5]@6 [d5,e5,g5]@2 ~@4 [d5,e5,g5]@2 ~@4 [d5,e5,g5] ~@3 b2 ~, c3@7 ~", // Em7
  B: "[b4,c5,e5]@5 ~ [b4,c5]@2 ~@4 [a4,c5,e5] ~@5 [a2,a4,c5,e5]@5 ~, a2@11 ~ c3@6 ~@6, ~@6 e5 ~@17", // Cmaj7 Am
  C: "[e5,f5,a5] ~@5 [e5,f5,a5]@5 ~ [d5,f5,a5] ~@5 [d5,f5,a5]@5 ~, d3@11 ~ a2@11 ~", // Fmaj7 Dm
  D: "[g2,b4,d5,g5] ~@5 [g1,d4,g4,b4]@6 [a1,d4,a4,c5]@6 [b1,g4,b4,d5]@6", E: "[c2,g4,d5,e5,g5] [g4,c5,e5,g5]",
  F: "[g4,b4,e5,g5] [g4,c5,e5,g5]", G: "[e4,b4,c5,e5] [e4,a4,c5,e5]", H: "[ab4,b4,c5,e5] [g4,a4,c5,e5]",
  I: "[a4,e5,f5,a5] [a4,d5,f5,a5]", J: "[a4,db5,e5,f5] [a4,c5,d5,f5]", K: "[g4,b4,d5,e5] [g4,a4,b4,d5]",
  L: "[b4,d5,e5]@5 [b4,d5,g5]@4 [a4,g5]@3, g4@6 ~@3 [b4,d5] ~@2, ~@5 e5@5 ~@2", M: "[g4,d5,e5] [g4,c5,e5,g5], g5 ~@11",
  N: "[d5,e5] [e5,g5] [c5,e5,g5]!2, g5@2 ~@4 d5 ~@17", O: "[b4,e5,g5] [c5,e5,g5] [d5,e5,g5] [c5,e5,g5]",
  P: "[d4,e4,g4] ~ [d4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~", // Em7 C
  Q: "[b3,c4,e4]@3 ~@3 [b3,c4,e4]@3 ~@3 [a3,c4,e4]@3 ~@3 [a3,c4,e4]@2 ~@4", // Cmaj7 Am
  R: "[f4,a4] ~ [e4,f4,a4] ~ [d4,f4,a4] ~ [d4,f4,a4] ~, e4 ~@23", // F Fmaj7 Dm
  S: "[c4,f4,a4]@3 ~@3 [c4,f4,a4]@3 ~@3 [c4,g4]@3 ~@3 [b3,d4,g4]@2 ~@4, ~@12 e4 ~@11", // F C5 G
  T: "[f4,a4] ~ [e4,f4,a4] ~ [d4,f4,a4] ~ [c4,f4,a4] ~, e4 ~@23", // F Fmaj7 Dm F
  U: "[b3,d4,f4] ~ [d4,g4,b4]@2 [d4,a4,c5]@2 [g4,b4,d5]@2", V: "[g4,d5,e5,g5] [g4,c5,e5,g5]",
  W: "[g4,b4,e5,g5]@12 [c4,g4,c5,e5]@5 ~ [b3,g4,b4,e5]@5 ~", X: "[a3,b4,c5,e5] [e4,a4,c5,e5]",
  Y: "[g4,b4,d5,e5]@5 ~ [g4,b4,d5,e5]@3 ~ [g4,a4,b4,d5]@12 ~@2", // Em7 G
  Z: "[g4,b4,d5,e5]@4 ~@2 [g4,b4,d5,e5]@3 ~ [ab4,c5,eb5,f5]@6 [c5,eb5,ab5]@6 ~@2, ~@4 f5 ~", // Em7 Fm7 Ab
  AA: "[ab4,eb5,f5,ab5] [ab4,db5,f5,ab5]", // Fm7 Db
  AB: "[ab4,c5,f5,ab5]@2 [ab3,db4,f4] [c4,f4,ab4,c5,f5,ab5], ~@12 [ab4,db5,f5] ~@11", // Fm Db Fm Db
  AC: "[bb3,c5,db5,f5,bb5] [f4,bb4,db5,f5]", AD: "[a4,c5,db5,f5]@12 [ab4,bb4,db5,f5]@5 ~ [bb4,db5,f5,ab5]@5 ~",
  AE: "[bb4,f5,gb5,bb5] [bb4,eb5,gb5,bb5]", // Gbmaj7 Ebm
  AF: "[[bb4,d5,f5,gb5]@12 [bb4,eb5,gb5]@12 ab2@8 ~@4 [ab3,db4]@4 [ab3,f4]@3 ~@3 [db4,eb4]@2 ~@10 [db4,eb4] ~ ab3 [bb3,bb4] [c4,c5] [eb4,eb5] [f4,f5]@3 ~ [gb4,gb5]@3 ~, ~@6 db5@12 ~@2 db4@3 gb4@6 ~@7, ~@12 [db4,eb4,ab4]@6 eb4@5 ab4@7 ab4@6, ~@34 ab2@12 ab2@7 ~@5 [ab2,gb4]@10 ~@4]/3", // Bb Ebm Db5 Db Dbsus2 Bb C Eb …
  AG: "[ab4,ab5]@2 ~@2 [b3,eb4,ab4] ~@7 eb2@5 ~@5 [b3,eb4,ab4] ~, ab2@7 ~@3 [b3,eb4,gb4]@11 ~@3, ~@3 eb3", // Ab Abm B
  AH: "~@4 [b3,eb4,gb4] ~@5 ab2@2 [b3,eb4,gb4]@6 ~@4 [b3,eb4,gb4] ~, ab2@7 ~@11 d2@6", // B
  AI: "~@4 [b3,f4,ab4] ~@7 db2@4 ~@4 [b3,f4,ab4] ~@3, db2@6 ~@4 [b3,f4,ab4]@6 ~@2 f2@5 ~", // Fdim
  AJ: "~@4 [db4,ab4,bb4] ~@5 [db4,gb4,bb4]@2 db2@4 ~@2 db2@3 ~@3, gb2@8 ~@8 [db4,ab4,bb4]@5 ~@3", // Bbm7 Gb Bbm7
  AK: "~@4 [f4,gb4,a4,db5] ~@7 db2@6 db2@2 ~@2 [eb4,gb4,a4,db5] ~, gb2@2 ~@2 [eb4,gb4,a4,db5]@3 ~", // Gbm Ebm7b5
  AL: "[~@6 [f4,gb4,a4,db5]@6 ~@4 [eb4,gb4,a4,db5] ~ db2@3 ~ [ab2,db4,eb4,gb4,bb4]@6 [eb4,gb4,bb4,db5]@3 ~@5 [ab1,eb4,gb4,bb4,db5]@6 [ab2,eb4,gb4,bb4] ~@3 [e4,g4,a4]@8 a2@6 a1@4 [d5,e5,g5] ~@3 [d5,e5,g5] ~@3, gb2@4 ~@2 db2@3 ~@5 ab2@3 ~@4 db5@3 ~@12, ~@46 a1@5 ~@15 a2@5 ~, ~@23 d5 ~@12]/3", // Gbm Ebm7b5 Ebm7 Ebm A7 Em7
  AM: "[a4,e5,gb5,a5] [a4,d5,gb5,a5]", // Gbm7 D
  AN: "[a4,db5,gb5,a5]@12 [d4,a4,d5,gb5]@2 ~@2 [d4,a4,d5,gb5]@3 ~ [db4,a4,db5,gb5]@3 ~", // Gbm D Gbm
  AO: "[b3,db5,d5,gb5]@11 ~ [gb4,b4,d5,gb5]@12", AP: "[bb4,db5,d5,gb5] [a4,b4,d5,gb5]",
  AQ: "[b4,gb5,g5,b5] [b4,e5,g5,b5]", AR: "[b4,eb5,gb5,g5] [b4,d5,e5,g5]",
  AS: "[a4,db5,e5,gb5]@5 ~ [a4,db5,e5,gb5]@3 ~ [a4,db5,e5]@12 ~@2", // Gbm7 A
  AT: "[a4,db5,e5,gb5]@4 ~@2 [a4,db5,e5,gb5]@3 ~ [f4,g4,bb4,d5,f5]@6 [d5,f5,bb5]@6 ~@2, ~@10 g5@5 ~ g5@4 ~@4", // Gbm7 Gm7 Bb
  AU: "[bb4,f5,g5,bb5] [bb4,eb5,g5,bb5]", AV: "[bb4,d5,bb5]@12 [bb4,eb5,g5,bb5] ~@3 eb4@4 d4@4, g5 ~@23",
  AW: "[c4,d5,eb5,g5] [g4,c5,eb5,g5]", AX: "[b4,d5,eb5,g5] [bb4,c5,eb5,g5]",
  AY: "[c5,g5,ab5,c6] [f5,ab5,c6], ~@12 c5 ~@11", AZ: "[c5,e5,g5,ab5] [c5,eb5,f5,ab5]",
  BA: "[[bb4,d5,f5,g5]@12 [bb4,d5,f5]@10 [bb4,f5,g5]@11 ~ [d5,f5,g5]@2 ~@5 bb5@3 [d5,f5,g5] ~@3, ~@22 d5@2 ~@10 bb5@6 [d5,f5,g5]@2 ~@2 bb5@3 ~]/2", // Gm7 Bb Gm7 G7
  BB: "[bb4,g5,bb5] [bb4,eb5,g5,bb5], f5 ~@5", BC: "[c5,g5,ab5,c6] [c5,f5,ab5,c6]",
  BD: "[bb4,d5,f5,g5] [bb4,c5,d5], ~@12 f5 ~@11", // Gm7 Bb
  BE: "[d5,f5,g5]@5 [d5,f5,bb5]@3 [c5,d5,f5,bb5] [d5,f5] ~@2, bb4@12 ~@6 bb5@5 ~, ~@5 g5@5 ~@2, ~@18 c5 ~@5", // G7 Bb Dm
  BF: "[eb5,g5,bb5] ~", // Eb
})).s("gm_piano").gain(0.38).pan(0.6)

// chords · string ensemble 1 · "Strs"
const string_ensemble_1 = note(`<
  ~@3 A B@2 C@2 D@3 E ~ F C@2 D@3 G@3 H I J K H L M N O@2 P@2 Q@3 R S@4 T@2 U@2 V@3 W X Y@3 Z@2 AA@2 AB@3 AC AD@2 AE@2
  AF@2 AG@2 AD@2 AE@2 AH@2 AI AJ AK
>`.pickRestart({
  A: "~ [g4,b4] [a4,c5] [b4,d5], ~@6 d4@17 ~", B: "[g5@7 e5]/2", C: "[c5@6 e5 g5]/2",
  D: "[~@36 f5@4 ~@8 a4@21 ~@3, a5@39 ~ e5@5 ~@27, ~@43 d5@8 ~@21]/3", E: "g5", F: "~@3 e5",
  G: "[~@4 g6@5 e6 d6 c6, g5@29 ~@43]/3", H: "[e4,g4,b4] [e4,g4,c5]", I: "[e4,g4,d5]@2 [a4,c5,e5] [g4,b4,e5]",
  J: "[a4,f5]@11 ~, d5", K: "[a4,c5,f5]@2 [g4,c5,e5] [g4,b4,d5]", L: "[e4,g4,d5]@2 [c5,e5,b5] [c5,e5,a5]",
  M: "e5@2 d5 c5, [a4,f5]", // Dm
  N: "[g4,b4,f5]@2 ~@4 [d4,g4,b4]@6 [d4,a4,c5]@6 [g3,g4] [a3,a4] [b3,b4] [d4,d5] [e4,e5] [f4,f5]", // G7 G D7 G A B D E …
  O: "[[d5,e5,g5]@2 c5@2 b4@2 [g4,c5,e5] [b4,e5,g5], ~ [g4,e5]@2 ~]/2", // Em7 C Em C
  P: "[[c5,e5,a5]@12 [a4,c5,e5]@19 ~@3 [e4,a4,c5]@2 [a4,c5]@2 ~@4 [e5,g5]@6, ~@36 e5@6 c5 ~@5]/2", // Am Em
  Q: "[[f5,a5]@36 [f4,a4] ~@3 [e4,a4,e5]@3 ~ [f4,a4,d5]@3 ~ e5@10 d5@13 ~, d5@5 ~ [g4,b4]@3, ~ f5]/3", // F A5 Dm G
  R: "[g4,b4,e5]@9 ~ [ab4,c5,f5]@7 ~ [ab3,ab4] [bb3,bb4] [c4,c5] [eb4,eb5] [f4,f5] [gb4,gb5]", // Em Fm Ab Bb C Eb F Gb
  S: "[[eb5,f5,ab5]@11 ~ db5@12 c5@12 [db5,f5]@6 [c5,f5,ab5]@6 [db5,bb5]@12 [bb4,db5,f5]@19 ~@3 [f4,bb4,db5]@2 [bb4,db5]@2 ~@4 [f5,ab5]@6, ~@12 [ab4,f5]@24 ab4@24 ~@24 f5@6 db5 ~@5]/4", // Fm7 Db Fm Gb Bbm Fm Db
  T: "[f5@6 ~@6 eb5@12 d5@12 [gb4,bb4] ~@3 [f4,bb4,f5]@3 ~ [eb4,bb4,eb5]@3 ~, bb5@37 ~@11, gb5@25 ~@11 gb5@4 ~@8]/2", // Gb Bb5 Eb5
  U: "[[db4,eb4,ab4]@21 ~ [eb4,gb4,ab4]@13 ~ [ab3,ab4] [bb3,bb4] [c4,c5] [eb4,eb5] [f4,f5]@3 ~ [gb4,gb5]@4]/2", // Dbsus2 Ab7 Ab Bb C Eb F Gb
  V: "[~@2 gb4@2 ~ db5, [ab4,b4]@35 ~, ab5@5 ~, ~@2 f4]/3", W: "ab4 gb4, [bb4,db5]@23 ~", X: "gb4 eb4, [f4,a4,db5]",
  Y: "[gb4@12 eb4@10 [bb4,eb5,gb5,ab5]@24 [e5,g5,a5]@25 ~, [f4,a4]@21 ~ db5@2 ~@22 d5@2 ~@24]/3", // Ebm A7 F
  Z: "[[e5,gb5,a5]@11 ~ d5@12 db5@12 [a4,d5,gb5]@6 [db5,gb5,a5]@6, ~ [a4,gb5]@2 ~]/2", // Gbm7 D Gbm D
  AA: "[[d5,gb5,b5]@12 [b4,d5,gb5]@19 ~@3 [gb4,b4,d5]@2 [b4,d5]@2 ~@4 [gb5,a5]@6, ~@36 gb5@6 d5 ~@5]/2", // Bm Gbm
  AB: "[[g5,b5]@36 [g4,b4] ~@3 [gb4,b4,gb5]@3 ~ [e4,b4,e5]@3 ~ [a4,db5,e5]@24, e5@40 ~@8 gb5@9 ~@15, ~ g5]/3", // G B5 E5 A
  AC: "[a4,db5,e5,gb5]@9 ~ [d5,f5,g5,bb5]@8 [bb3,bb4] [c4,c5] [d4,d5] [f4,f5] [g4,g5] [ab4,ab5]", // Gbm7 Gm7 Bb C D F G Ab
  AD: "[[f5,g5,bb5]@11 ~ eb5@12 d5@12 eb5@4 [bb4,eb5,g5]@4 [eb5,g5,bb5]@4, ~@12 [bb4,g5]@25 ~@11]/2", // Gm7 Eb
  AE: "[[eb5,g5,c6]@12 [c5,eb5,g5]@19 ~@3 [g4,c5,eb5]@2 [c5,eb5]@2 ~@4 [g5,bb5]@6, ~@36 g5@6 eb5 ~@5]/2", // Cm Gm
  AF: "[g5@6 ~@6 f5@12 e5@12 [ab4,c5] ~@3 [g4,c5,g5]@4 [ab4,c5,f5]@3 ~, c6@37 ~@11, ab5@25 ~@11 ab5@4 ~@8]/2", // Ab C5 Fm
  AG: "[[d5,f5,g5]@21 ~ [d5,g5,bb5]@18 ~@2 [bb3,bb4] [c4,c5] [d4,d5] [f4,f5] [g4,g5] [ab4,ab5]]/2", // G7 Gm Bb C D F G Ab
  AH: "[g5@6 ~@6 f5@12 e5@12 [ab4,c5] ~@3 [g4,c5,g5]@3 ~ [f4,c5,f5]@3 ~, c6@37 ~@11, ab5@25 ~@11 ab5@4 ~@8]/2", // Ab C5 F5
  AI: "[bb3,f4,c5]@18 [bb3,bb4] [c4,c5] [d4,d5] [f4,f5] [g4,g5] [ab4,ab5]", // Bbsus2 Bb C D F G Ab
  AJ: "[d5,g5,bb5]@18 [bb3,bb4] [c4,c5] [d4,d5] [f4,f5] [g4,g5] [ab4,ab5]", AK: "[bb4,bb5] ~",
})).s("gm_string_ensemble_1").gain(0.3).pan(0.3)

// chords · brass section · "Brass"
const brass_section = note(`<
  ~@38 A B C D E F G H I ~@7 J K L M N O P Q R S T U V W X@2 Y S T U V W Z@2 AA
>`.pickRestart({
  A: "~@4 [eb4,f4,ab4] ~@7 [db4,f4,ab4]@3 ~@7 [c4,f4,ab4] ~", // Fm7 Db Fm
  B: "~@6 [c4,f4,ab4]@5 ~@5 [db4,f4,ab4] ~@3 [db4,f4,ab4] ~@3", C: "~@6 [f4,c5,db5] ~@9 [f4,bb4,db5] ~@7",
  D: "[f4,a4,db5]@2 ~@8 [f4,db5] ~@7 [f4,ab4,db5]@5 ~, ~@5 a4 ~@6", E: "~@6 [f4,gb4,bb4] ~@9 [eb4,gb4,bb4] ~@7",
  F: "[d4,gb4,bb4] ~@9 [d4,gb4,bb4] ~@7 [db4,gb4,bb4]@4 ~@2", // Daug Gb
  G: "~@6 [ab4,db5,eb5] ~@9 [ab4,db5,eb5] ~@5 [db5,eb5,gb5] ~", H: "~@4 [db5,eb5,gb5]@8 ~@4 f5@3 ~ gb5@4",
  I: "ab5@5 ~@7", J: "~@4 [e4,gb4,a4] ~@7 [d4,gb4,a4]@3 ~@7 [db4,gb4,a4] ~",
  K: "~@6 [db4,gb4,a4]@5 ~@5 [a3,d4,gb4] ~@3 [d4,gb4,a4] ~@3", L: "~@6 [gb4,db5,d5] ~@9 [gb4,b4,d5] ~@7",
  M: "[gb4,bb4,d5]@2 ~@8 [gb4,d5] ~@7 [gb4,a4,d5]@5 ~, ~@5 bb4 ~@6", N: "~@6 [gb4,g4,b4] ~@9 [e4,g4,b4] ~@7",
  O: "[eb4,g4,b4] ~@9 [eb4,g4,b4] ~@7 [d4,g4,b4]@4 ~@2", P: "~@6 [db5,e5,gb5] ~@9 [b4,db5,e5] ~@5 [b4,db5,e5] ~",
  Q: "~@4 [a4,db5,e5]@2 [db5,e5,gb5]@4 [d5,f5,g5]@5 ~ [d5,f5,g5]@2 ~@6", // A Gb7 G7
  R: "~@4 [f4,g4,bb4] ~@7 [eb4,g4,bb4]@3 ~@7 [d4,g4,bb4] ~", // Gm7 Eb Gm
  S: "~@6 [d4,g4,bb4]@5 ~@5 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3", T: "~@6 [g4,d5,eb5] ~@9 [g4,c5,eb5] ~@7",
  U: "[g4,b4,eb5]@2 ~@8 [g4,eb5] ~@7 [g4,bb4,eb5]@5 ~, ~@5 b4 ~@6", V: "~@6 [g4,ab4,c5] ~@9 [f4,ab4,c5] ~@7",
  W: "[e4,ab4,c5] ~@9 [e4,ab4,c5] ~@7 [eb4,ab4,c5]@4 ~@2", // Eaug Ab
  X: "[~@6 [d5,f5,g5]@2 ~@4 [c5,d5,f5]@3 ~ [d5,f5,g5] ~@5 [f5,g5,bb5]@15 ~@3 [f5,g5,bb5] ~@3 [f5,g5,bb5] ~@3]/2", // G7 Dm7 G7 Gm7
  Y: "[f5,g5,bb5]@3 ~ [f4,g4,bb4] ~@7 [eb4,g4,bb4]@3 ~@7 [d4,g4,bb4] ~", // Gm7 Eb Gm
  Z: "[~@6 [d5,f5,g5]@6 [c5,d5,f5]@3 ~ [d5,f5,g5] ~@5 [f5,g5,bb5]@7 ~@11 [f5,g5,bb5] ~@3 [f5,g5,bb5] ~@3]/2", // G7 Dm7 G7 Gm7
  AA: "[eb5,g5,bb5] ~", // Eb
})).s("gm_brass_section").gain(0.42).pan(0.8)

// other · french horn · "Fr.Horn"
const french_horn = note("<~@62 A B C D E F G@2 H@2 ~@2 E F I J K>".pickRestart({
  A: "f5 eb5", B: "bb4@6 g4@6 bb4@4 ~ eb5@2 g4@4 ~", C: "d5 c5", D: "g4@2 c5 eb5", E: "g5 f5", F: "e5 eb5",
  G: "[d5@11 ~ bb4@10 bb5@14 ~@4 bb5@2 ~@2 bb5@2 ~@2]/2", H: "bb5/2", I: "d5@11 ~ bb4@12", J: "bb5@7 ~ bb5!2 ~@2",
  K: "eb5 ~",
})).s("gm_french_horn").gain(0.48).pan(0.2)

// other · whistle
const whistle = note("<A B@2 ~@76>".pickRestart({
  A: "e5@4 g5@2 d6@3 ~ c6@11 ~@3", B: "[e5@4 g5@2 d6@4 c6@8 ~@4 e5@5 ~ a5@2 e6@3 ~ d6@12 ~@2]/2",
})).s("gm_whistle").gain(0.3).pan(0.3)

// other · vibraphone · "Vibes"
const vibraphone = note("<~@46 A@2 B C D E F G ~@25>".pickRestart({
  A: "ab7 eb7 b6 ab7 eb7 b6 gb7 eb7 b6 gb7 eb7 b6", B: "gb7 eb7 b6 f7 db7 ab6 f7 db7 ab6 eb7 db7 ab6",
  C: "eb7 db7 bb6 db7 bb6 gb6 db7 bb6 gb6 db7 bb6 gb6", D: "gb7 db7 a6 gb7 db7 a6 f7 db7 a6 f7 db7 a6",
  E: "gb7 db7 a6 gb7 db7 a6 f7 db7 a6 gb7 db7 ab6", F: "gb7 db7 bb6 gb7 db7 bb6 f7 db7 bb6 gb7 db7 b6",
  G: "g7 d7 b6 g7 d7 b6 gb7 d7 b6 g7 d7 b6",
})).s("gm_vibraphone").gain(0.24).pan(0.3)

// chords · acoustic guitar steel · "Acc.Gtr"
const acoustic_guitar_steel = note(`<
  ~@4 A B C D E F G H I B C D E F G H J K L M N O L M P Q A R S D T F U V W X Y Z AA AB AC@3 AD AE AF AG AH@3 AI AJ AK
  AL AM AN AO@2 AP AQ AR AS AT AU AV@3 AW AX AY@3 AZ@2 BA
>`.pickRestart({
  A: "[d5,e5,g5]@3 [d5,e5,g5]@2 [d5,e5,g5] [c5,e5,g5]@3 [c5,e5,g5]@2 [c5,e5,g5], g4!2", // Em7 C
  B: "[b4,e5]@5 ~ [b4,e5,g5]@4 [b4,e5,g5]@2 [c5,e5,g5]@3 ~ [c5,e5,g5]@2 [e5,g5]@4 [c5,e5,g5]@2, g4!2, ~@9 c5 ~@2", // E5 Em C Em C
  C: "[b4,c5,e5]@3 [b4,c5,e5]@2 [b4,c5,e5] [a4,c5,e5]@3 [a4,c5,e5]@2 [a4,c5,e5], e4@11 ~ e4@2 ~@10", // Cmaj7 Am
  D: "[ab4,b4,c5]@5 ~ [ab4,b4,c5,e5]@4 [ab4,b4,c5,e5]@2 [g4,a4,c5,e5]@3 ~ [g4,a4,c5,e5]@2 [c5,e5]@4 [g4,a4,c5,e5]@2, ~@9 [g4,a4] ~@2", // Ab E Am7 C Am7 Gsus2
  E: "[e5,f5,a5]@3 [e5,f5,a5]@2 [e5,f5,a5] [d5,f5,a5]@3 [d5,f5,a5]@2 [d5,f5,a5], a4@11 ~ a4@2 ~@10", // Fmaj7 Dm
  F: "[db5,e5,f5]@5 ~ [db5,e5,f5,a5]@4 [db5,e5,f5,a5]@2 [c5,d5,f5,a5]@3 ~ [c5,d5,f5,a5]@2 [f5,a5]@4 [c5,d5,f5,a5]@2, ~@9 [c5,d5] ~@2", // Db A Dm7 F Dm7 Csus2
  G: "[g4,b4,d5,e5]@5 ~ [g4,b4,d5,e5]@4 [g4,b4,d5,e5]@2 [g4,b4,e5]@2 ~@4 [g4,a4,b4,d5]@4 [g4,a4,b4,d5]@2, ~@12 d5@5 ~@7", // Em7 Em G
  H: "[g4,b4,d5] ~ [g4,b4,d5,e5] [d5,e5]@2 [b4,d5,g5]@3 [a4,b4,d5,g5] [b4,d5,g5]@2 [a4,b4,d5,g5], e5@2 ~ [g4,b4] ~ e5@6 ~, ~@9 a4 ~@2", // G Em7 Dsus2 G
  I: "e5@3 [d5,e5,g5]@2 [d5,e5,g5] [c5,e5,g5]@3 [c5,e5,g5]@2 [c5,e5,g5], g4!2", // Em7 C
  J: "[g4,e5]@5 ~ [d5,e5,g5]@4 [d5,e5,g5]@2 [g4,c5,e5,g5]@6 [c5,e5,g5]@4 [c5,e5,g5]@2", // C Em7 C
  K: "[g4,b4,e5,g5]@5 ~ [c5,e5,g5]@4 [e5,g5]@2 [g4,d5]@4 [d5,e5,g5]@2 [c5,e5,g5]@3 ~ [c5,e5,g5]@2, ~@10 c5@5 ~@9, ~@6 [e5,g5] ~@5", // Em C Em G5 Em7 C Em
  L: "[g4,d5,e5]@3 ~@3 [g4,d5,e5]@2 ~@2 [g4,d5,e5] ~ [g4,c5,e5]@3 ~@3 [g4,c5,e5]@2 ~@2 [g4,c5,e5] ~", // Em7 C
  M: "[b4,c5,e5]@4 ~@2 [b4,c5,e5]@2 ~@2 [b4,c5,e5] ~ [a4,c5,e5]@2 ~@2 [a4,c5,e5] ~ [a4,c5,e5] ~@3 [a4,c5,e5] ~", // Cmaj7 Am
  N: "[a4,e5,f5]@4 [a4,e5,f5]@2 [a4,e5,f5] ~@3 [a4,e5,f5] ~ [a4,d5,f5]@3 ~@3 [a4,d5,f5]@2 ~@2 [a4,d5,f5] ~", // Fmaj7 Dm
  O: "[a4,c5,f5]@3 ~@3 [a4,c5,f5]@2 ~@2 [a4,c5,f5] ~ [g4,c5,e5]@3 ~ [g4,c5,e5]@2 [g4,b4,d5]@2 ~@2 [g4,b4,d5] ~", // F C G
  P: "[a4,e5,f5]@4 [a4,e5,f5]@2 [a4,e5,f5] ~@3 [a4,e5,f5] ~ [a4,d5,f5]@3 ~@3 [a4,c5,f5]@2 ~@2 [a4,c5,f5] ~", // Fmaj7 Dm F
  Q: "[g4,b4,f5] ~@3 [g4,b4,f5] ~ [g4,b4,f5] ~@3 [g4,b4,f5]@2 [d4,a4,c5]@6 [g4,b4,d5]@6", // G7 D7 G
  R: "[b4,e5]@5 ~ [b4,e5,g5]@4 [b4,e5,g5]@2 [c5,e5,g5]@3 ~ [c5,e5,g5]@2 [b4,e5,g5]@6, g4!2", // E5 Em C Em
  S: "[b4,c5,e5]@3 [b4,c5,e5]@2 [b4,c5,e5] [a4,c5,e5]@3 [a4,c5,e5]@2 [a4,c5,e5], e4@11 ~ e4 ~@11", // Cmaj7 Am
  T: "[f5,a5]@3 [e5,f5,a5]@2 [e5,f5,a5] [d5,f5,a5]@3 [d5,f5,a5]@2 [d5,f5,a5], a4@11 ~ a4 ~@11, e5 ~@5", // F Fmaj7 Dm
  U: "[g4,b4,e5]@3 [g4,b4,d5,e5]@2 [g4,b4,d5] [g4,d5]@3 [g4,b4,d5]@2 [g4,b4,d5], d5@4 ~@8 b4 ~@11", // Em Em7 G G5 G
  V: "[g4,d5,e5]@4 [g4,b4,d5,e5]@2 [g4,b4,d5,e5]@4 [ab4,f5]@6 [ab4,bb4,c5,eb5]@2 [ab4,bb4,c5,eb5]@2 [ab4,bb4,c5,eb5] [ab4,bb4,c5,eb5]@2 ~, ~@5 [c5,eb5]@2 ~@5", // Em7 Db Ab Cm
  W: "[f5,ab5]@3 [eb5,f5,ab5]@2 [eb5,f5,ab5] [db5,f5,ab5]@3 [db5,f5,ab5]@2 [db5,f5,ab5], [ab4,eb5] ~@11 ab4@12", // Fm Fm7 Db Ab5
  X: "[c5,f5]@5 ~ [c5,f5,ab5]@4 [c5,f5,ab5]@2 [db5,f5,ab5]@3 ~ [db5,f5,ab5]@2 [db5,f5,ab5]@2 ~@4, ab4!2", // F5 Fm Db
  Y: "[c5,db5,f5]@3 [c5,db5,f5]@2 [c5,db5,f5] [bb4,db5,f5]@3 [bb4,db5,f5]@2 [bb4,db5,f5], f4@11 ~ f4 ~@11", // Dbmaj7 Bbm
  Z: "[a4,c5,db5]@5 ~ [a4,c5,db5,f5]@4 [a4,c5,db5,f5]@2 [ab4,bb4,db5,f5]@3 ~ [ab4,bb4,db5,f5]@2 [db5,f5]@4 [ab4,bb4,db5,f5]@2, ~@9 [ab4,bb4] ~@2", // A F Bbm7 Db Bbm7 Absus2
  AA: "[gb5,bb5]@3 [f5,gb5,bb5]@2 [f5,gb5,bb5] [eb5,gb5,bb5]@3 [eb5,gb5,bb5]@2 [eb5,gb5,bb5], bb4@11 ~ bb4 ~@11, f5 ~@5", // Gb Gbmaj7 Ebm
  AB: "[d5,f5,gb5]@5 ~ [d5,f5,gb5,bb5]@4 [d5,f5,gb5,bb5]@2 [db5,eb5,gb5,bb5]@3 ~ [db5,eb5,gb5,bb5]@2 [gb5,bb5]@4 [db5,eb5,gb5,bb5]@2, ~@9 [db5,eb5] ~@2", // D Bb Ebm7 Gb Ebm7 Dbsus2
// … 106 more lines

More by Barry Manilow