Strudelify
I Write the Songs cover art

I Write the Songs

Barry Manilow

KeyA minorTempo70 bpm
0:00/0:00
// I Write the Songs — Barry Manilow
// 70 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 6/4 at bar 5, 4/4 at bar 6) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 71 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/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 · "A.PIANO 1"
const piano = note(`<
  A@5 B C D E F G H I J K L M N O P Q R B S T U V W X I J K L M N O Y Z@2 AA AB AC AD AE AF@4 AG AH AI AJ@3 AK AL AM
  AN@4 AO AP@3 AQ@3 AR@3
>`.pickRestart({
  A: "[~@24 c4@2 ~@4 [d#4,c5]@12 [c#4,a#4]@30 [c#4,a#4]@6 [c4,a4]@6 [a#3,g4]@6 [c4,a4]@29 ~@7 [d#4,c5]@12 [c#4,a#4]@29 ~ [c#4,f#4,a#4]@4 ~@2 [d#4,g#4,c5]@9 ~@3 [f4,a4,c5]@42 ~@9 f4@3, ~@24 a4@19 ~@77 [c4,a4]@19 ~@89 c5@12, ~@77 a4@3, ~@39 g4]/5", // Cm F# F D# F Cm F# G# …
  B: "~@42 g3@5 ~, d#4@18 d#4@29 ~, ~ g3@4 g3@2 ~, ~@12 a#3@24 a#3@11 ~, ~@24 g4@23 ~",
  C: "~@18 e4@6 ~@18 c4@5 ~, g4@23 ~@25, e4@18 ~@18 d4@11 ~, ~@6 g3@18 f#3@23 ~, ~@2 c4@2 ~ c4@2 ~",
  D: "~@18 d4@5 ~@19 a#3@5 ~, d4@3 ~@3 d4@2, ~@6 f3@17 ~ f3@23 ~, ~@12 a#3@11 ~@7 a#3@12 ~@6",
  E: "~@2 c4 c4@2 ~@2 g4, [e4,g4]@3 f4@5, ~@6 g3@12 a4@18 a4@11 ~, ~@30 c4@17 ~", // Em
  F: "~@3 g3 ~@3 c#4, e4, a4@7 ~@5 a4@4, d4@2 d4@2 ~ c#4@2 ~, ~ g3@2 ~ g3@4",
  G: "a3@6 ~@36 a3@5 ~, [d3,e4,g4] [c3,c4,e4], ~ a3@2 a3@2 a3@2 ~, ~@12 [d4,f4]@11 ~@13 [d4,f4]@11 ~", // Em7 C Dm
  H: "[g2,f3,a3,c4,f4]@6 [g2,f3,a3,c4,f4]@5 ~@13 [b3,e4]@12 [b3,e4,a4]@10 ~@2, ~@12 [g2,f3]@11 ~", // F E5 Esus4 G7
  I: "[f3,a#3,d4]@12 [f3,a#3,d4]@11 ~@19 g4@5 ~, [c2,c3]@47 ~, ~@24 [g3,a#3,d4]@23 ~, ~@30 e4@17 ~, ~@36 f4@11 ~", // A# C Gm
  J: "[a3,c4,f4]@2 ~ f2 [a3,c4,e4]@2 [a3,c4,e4]@2, f2@3 ~ f2@4, ~ [a3,c4,f4] ~@2", // F Am F
  K: "[a#3,d4,f4,a4]@12 ~@6 g2@6 [a#3,d4]@12 [a#3,d4,f4]@11 ~, g2@18 ~@6 [g2,g4]@23 ~, ~ [a#3,d4,f4,a4] ~@2", // A#maj7 A# G A#maj7
  L: "[g3,c4,e4]@12 [g3,c4,e4]@12 [f3,a#3,d4]@12 [g3,c4,e4]@11 ~, c3@24 c3@23 ~", // C A# C
  M: "[f3,a#3,c#4]@6 [f3,a3,c4]@8 ~@4 [f2,a#3,c#4]@5 ~ [f2,a3,c4]@11 ~@7 a4@5 ~, f2@14 ~@4 f3@17 ~ [c4,e4,g4]@11 ~", // A#m F A#m F C
  N: "[a3,f4]@2 ~ d3 [a3,f4]@2 ~ d3, [d2,e4] [d2,c#4], d3@3 ~ d3@3 ~, ~ [a3,d4,f4] ~ [a3,c4,f4]", // Dm Dsus2 Dmaj7 Dm F
  O: "[f3,a3,c4]@2 [f3,a3,c4]@2 ~@3 [b3,g4], g2 [g2,f3,a3], ~@4 b3@3 ~, ~@3 [f4,b4,d5]", // F Em Dm Bdim
  P: "[f3,a#3,d4,f4]@2 ~@5 c3, c3@5 c3@2 ~, ~ [f3,a#3,d4,f4]!3, ~@3 c2@5", Q: "[c4,a4]@6 [d#4,c5]@12 [c#4,a#4]@29 ~",
  R: "~@12 [a#3,g4]@6 [c4,a4]@18 ~@3 a4@3 g4@3 f4@2 ~, [c#4,a#4]@6 ~@6 c5@3 ~, ~ [c4,a4]@2 ~@5", // D# F F# F
  S: "~@18 e4@6 ~@18 d4@5 ~, g4@23 ~@25, e4@18 ~@18 d#4@11 ~, ~@6 g3@18 f#3@23 ~, ~@12 c4@12 ~@6 c4@17 ~",
  T: "~@12 d4@6 d4@5 ~@19 a#3@5 ~, d4@12 a#3@11 ~@7 a#3@12 ~@6, ~@6 f3@17 ~ f3@23 ~, ~@3 d4",
  U: "e4 ~ c4 ~@4 g4, g4@18 a4@18 a4@11 ~, ~ f4@2 [c4,f4]@5, ~@30 a3@17 ~", // F5
  V: "~@3 c#4 ~@3 g3, e4!2, a4@3 a4@5, d4@2 d4@2 ~ c#4@3, ~ g3@2 g3@3 a3@2",
  W: "a3@6 ~@12 [d4,f4]@6 ~@18 a3@5 ~, d3 c3, [e4,g4]@12 [e4,g4]@12 ~@12 [d4,f4]@11 ~, ~ a3@2 a3@2 a3@2 ~", // Dm Em Dm
  X: "[g2,f3,a3,c4,f4]@6 [g2,f3,a3,c4,f4]@5 ~@13 [b3,e4]@12 [b3,d4,f4]@10 ~@2, ~@12 [g2,f3]@11 ~", // F E5 Bdim G7
  Y: "[f3,a#3,d4,f4]@12 ~@30 c3@5 ~, c3@5 c3@2 ~, ~@12 [f3,a#3,d4,f4]@12 [f3,a#3,d4,f4]@12 [f3,a#3,d4,f4]@11 ~, ~@18 c2@29 ~", // A#
  Z: "[[f2,f3]@9 ~@3 [f2,f3]@8 [c2,c3]@2 ~ [e2,e3]@3 [f2,f3]@7 ~@2 [f2,f3]@10 ~@2 [e4,a4,b4]@2 ~@4 [e4,a4,b4] ~@4 [e4,a4,b4]@2 ~@4 [a4,b4] ~@4 [g#4,b4]@2 ~@4 [e4,g#4,b4] ~@4 [e4,g#4,b4]@2 ~@4 [e4,g#4,b4]@2 ~@3 [e4,g4,b4]@2 ~@3, ~@64 e4@2 ~@3 e4 ~@26]/2", // F C E F Esus4 Asus2 G#m E …
  AA: "~ [e4,g4,b4] ~@5 [e4,g4,b4]@2 ~@4 [e4,g4,b4]@2 ~@3 [e4,g#4,b4]@2 ~@4 [e4,g#4,b4]@2 ~@3 [e4,g#4]@2 ~@3 [g#4,b4] ~@5 [a3,c#4,e4]@2 ~@4 [a3,c#4,e4] ~, ~@29 b4 ~@4 e4@2 ~@12", // Em E G#m A
  AB: "~@3 [c#4,e4]@2 ~@4 e4@2 ~@4 [b3,d4] ~@4 [b3,d4,e4] ~@5 [b3,d4] ~@4 e4 [b3,d4] ~@4 [a3,c#4,e4] ~@5 [a3,c#4,e4] ~@4, ~@9 c#4 ~@5 e4@2 ~@9 e4@2 ~@20", // C#m Bm E7 Bm A
  AC: "[a3,c#4,e4] ~@5 [a3,c#4] ~@4 [a3,c#4,e4] ~@5 [a3,e4]@2 ~@3 [a3,c#4] ~@5 [a3,c#4,e4] ~@5 [c4,d4,g4] ~@4 [c4,f4,g4]@2 ~@4 [c4,f4,g4]@2 ~, ~@6 e4@2 ~@9 c#4 ~@4 e4@2 ~@9 f4@2 ~@4 d4 ~@5 d4 ~@2", // A A5 A Csus2 Csus4
  AD: "~@3 [c4,f4]@2 ~@3 [b3,f4,g4] d4 ~@4 [b3,f4,g4]@2 ~@3 [b3,f4,g4]@2 ~@4 [b3,d4,f4,g4] ~@5 [a3,d4,f4,g4] ~@4 [a3,d4,f4,g4] ~@5 [a3,d4,f4,g4] ~@5, ~@3 [d4,g4] ~@10 d4 ~@4 d4 ~@28", // F5 G7 Dm G5
  AE: "[a3,d4,f4,g4] ~@4 [b3,d4,f4,g4]@18 ~@4 [f3,a#3,d4]@10 ~@2 [g3,c4,e4]@9", // Dm G7 A# C
  AF: "[~@2 [a#3,d4,f4]@9 ~@2 [c4,e4,g4]@9 ~@2 [d4,f4,a#4]@10 ~ [e4,g4,c5]@11 ~ [f4,a#4,d5]@9 ~@2 [g4,c5,e5]@11 a3@5 ~ a3@4 ~ [c#4,e4]@6 a3@5 a3@4 ~@2 a3@5 ~ a3@3 ~@2 a3@4 ~@2 [a3,d4,f#4]@9 ~@2 a3@4 ~@2 a3@4 ~ [d4,f#4]@6 a3@4 ~ [d4,f#4]@6 a3@4 ~@2 [g#3,b3,e4]@10 ~ g#3@4 ~ g#3@4 ~@2 [f#3,a3,d4]@10 ~, ~@69 [c#4,e4]@10 ~ a3@3 ~@8 [c#4,e4]@10 ~@2 [c#4,e4]@10 ~@12 [d4,f#4]@10 ~ a3@4 ~@7 a3@3 ~@20 [b3,e4]@10 ~@12]/4", // A# C A# C A# C C#m D …
  AG: "[g#3,b3,e4]@10 ~@2 [a3,d4,f4]@5 [a3,c#4,e4]@7 ~@4 [a3,d4,f4]@4 ~@2 [a3,c#4,e4]@7 ~@4 [a3,e4]@2 ~, ~@45 c#4 ~@2", // E Dm A Dm A A5
  AH: "[g#3,b3,e4]@7 ~ [c#4,f#4,a4]@9 ~@2 [c#4,f#4,a4]@9 ~@3 [c#4,f4,a4]@10 ~ [c#4,e4,a4]@6", // E F#m C#aug A
  AI: "~@5 [c#4,e4,a4]@10 ~ [c#4,e4,a4] ~@5 [d#4,f#4,a4]@14 ~@3 [d#4,f#4,a4]@9", // A D#dim
  AJ: "[~@2 [d4,f#4,a4]@10 ~ [d4,f#4,a4]@9 ~@2 [d4,f#4,a4]@9 ~@2 [d4,f#4,a4]@10 ~@2 [c#4,e4,a4]@10 ~ [c#4,e4,a4]@10 ~ [e4,f#4,a#4]@10 ~ [e4,f#4,a#4]@10 ~ b3@5 ~ b3@4 ~@2 b3@3 ~@2 b3@5 ~ b3@4 ~ b3@5 ~ b3@3 ~@3 b3@4 ~ [b3,e4,g#4]@8, ~@91 [d#4,f#4]@10 ~@2 [d#4,f#4]@9 ~@2 [d#4,f#4]@10 ~ [d#4,f#4]@10 ~@9]/3", // D A F#7 E D#m
  AK: "~@3 b3@4 ~@2 b3@3 ~@3 b3@4 ~ b3@4 ~@2 b3@3 ~@2 b3@4 ~@2 [a#3,c#4,f#4]@10 ~, ~@3 [e4,g#4]@10 ~@2 [e4,g#4]@9 ~@2 [e4,g#4]@9 ~@13", // F# E
  AL: "a#3@4 ~@2 a#3@4 ~ [g#3,b3,e4]@10 ~@2 [a#3,c#4,f#4]@10 ~ [b3,e4,g4]@5 [b3,d#4,f#4]@7 ~@2, [c#4,f#4]@5 ~@19", // E F# Em B F#5
  AM: "~@3 [b3,e4,g4]@4 ~ [b3,d#4,f#4]@7 ~@4 [b3,f#4]@2 ~ [a#3,c#4,f#4]@7 ~@2 [d#4,g#4,b4]@9 ~@2 [d#4,g#4,b4]@6, ~@19 d#4 ~@28", // Em B B5 F# G#m
  AN: "[~@5 [d#4,g4,b4]@10 ~ [d#4,f#4,b4]@9 ~@2 [d#4,f#4,b4]@10 ~@2 [d#4,f#4,b4] ~@4 [f4,g#4,b4]@14 ~@3 [f4,g#4,b4]@11 [e4,g#4,b4]@10 ~@2 [e4,g#4,b4]@9 ~@2 [e4,g#4,b4]@9 ~@2 [e4,g#4,b4]@10 ~ [d#4,g#4,b4]@9 ~@2 [d#4,g#4,b4]@9 ~@2 [d#4,g4,b4]@10 ~@2 [d#4,f#4,b4]@9 ~@2 [d#4,f#4,b4]@10 ~ [d#4,f#4,b4] ~@5 [f4,g#4,b4]@13]/4", // D#aug B Fdim E G#m D#aug B Fdim
  AO: "~@3 [f4,g#4,b4]@11 ~ [e4,g#4,b4]@10 ~ [e4,g#4,b4]@9 ~@2 [e4,g#4,b4]@9 ~@2", // Fdim E
  AP: "[[e4,g#4,b4]@10 ~ b3@5 ~ b3@4 ~@2 b3@3 ~@2 b3@5 ~ b3@4 ~ b3@5 ~ b3@3 ~@3 b3@4 ~ [b3,e4,g#4]@9 ~@2 b3@4 ~@2 b3@4 ~@2 b3@4 ~ b3@4 ~@2 b3@3 ~@2 b3@4 ~@2 [a#3,c#4,f#4]@10 ~ a#3@4 ~@2 a#3@4 ~ [g#3,b3,e4]@10 ~@2 [a#3,c#4,f#4]@9, ~@11 [d#4,f#4]@10 ~@2 [d#4,f#4]@9 ~@2 [d#4,f#4]@10 ~ [d#4,f#4]@10 ~@12 [e4,g#4]@10 ~@2 [e4,g#4]@9 ~@2 [e4,g#4]@9 ~@13 [c#4,f#4]@10 ~@22]/3", // E F# E F# D#m E F#5
  AQ: "[~@2 [b3,e4,g4]@5 [b3,d#4,f#4]@7 ~@5 [b3,e4,g4]@4 ~ [b3,d#4,f#4]@7 ~@4 [b3,f#4]@2 ~ [a#3,c#4,f#4]@7 ~@2 [d#4,g#4,b4]@9 ~@2 [d#4,g#4,b4]@9 ~@2 [d#4,g4,b4]@10 ~ [d#4,f#4,b4]@9 ~@2 [d#4,f#4,b4]@10 ~@2 [d#4,f#4,b4] ~@4 [f4,g#4,b4]@14 ~@3 [f4,g#4,b4]@11 [e4,g#4,b4]@8, ~@35 d#4 ~@108]/3", // Em B Em B B5 F# G#m D#aug …
  AR: "[~@4 [e4,g#4,b4]@9 ~@2 [e4,g#4,b4]@9 ~@2 [e4,g#4,b4]@10 ~ [d#4,f#4,b4]@67 ~@40]/3", // E B
})).s("gm_piano").gain(0.38).pan(0.6)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  A@5 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@2 AI AJ AK@2 AL AM@4 AN AO@2 AP@4 AQ
  AR@5 AS AT AU@2 AV@6
>`.pickRestart({
  A: "[~@24 f2@41 ~ c2@6 f2@41 ~ c2@5 ~ f2@41 ~ c2@4 ~@2 f1@3 ~@3 f1@8 ~@4 f1@51 ~@3]/5", B: "d#2@47 ~",
  C: "d2@35 ~ f#2@10 ~@2", D: "g2@22 ~@2 c2@23 ~", E: "f2@14 ~@4 f1@27 ~@3", F: "a2@23 ~ a1@22 ~@2", G: "d2@12 c2@11 ~",
  H: "g1@5 ~ g1@5 ~@13 g1@23 ~", I: "c2@15 ~@3 c2@3 ~@3 c2@11 ~ f2@3 g2@3 c3@6", J: "f2@17 ~ f2@4 ~@2 f2@23 ~",
  K: "g2@8 ~ g2@2 ~ g2@11 ~", L: "c2@17 ~ c2@4 ~@2 c2@22 ~@2", M: "f2@15 ~@3 f1@17 ~ e2@11 ~",
  N: "d2@17 ~ d2@4 ~@2 d2@21 ~@3", O: "g2@17 ~ g2@4 ~@2 g2@22 ~@2", P: "c2@17 ~ c2@4 ~@2 c2@21 ~@3",
  Q: "f2@14 ~@4 f1@23 ~ c2@5 ~", R: "f2@8 ~ f1@14 ~", S: "d#2@16 ~@2 d#2@3 ~@3 d#2@22 ~@2",
  T: "d2@17 ~ d2@4 ~@2 d2@11 ~ f#2@10 ~@2", U: "g2@17 ~ g2@4 ~@2 c2@16 ~@2 c2@4 ~@2",
  V: "f2@15 ~@3 f1@22 ~@2 f2@3 g2@3", W: "a2@16 ~@2 a1@29 ~", X: "d2@8 ~ c2@14 ~", Y: "g1@5 ~ g1@6 ~@12 g1@22 ~@2",
  Z: "c2@16 ~@2 c2@3 ~@3 c2@11 ~ f2@3 g2@3 c3@5 ~", AA: "f2@17 ~ f2@3 ~@3 f2@21 ~@3", AB: "g2@16 ~@2 g2@2 ~@4 g2@23 ~",
  AC: "c2@5 ~ c2 ~ c2@7 ~", AD: "f2@16 ~@2 f1@17 ~ e2@11 ~", AE: "d2@17 ~ d2@5 ~ d2@21 ~@3",
  AF: "g2@8 ~ g2@2 ~ g2@8 ~ d2@2 ~", AG: "c2@16 ~@2 c2@3 ~@3 c2@22 ~@2",
  AH: "[f2@7 ~@5 f2@7 ~@2 c2@2 e2@2 ~ f2@5 ~@4 f2@8 ~@4 e2@6 ~@5 b1@6 ~@5 e2@6 ~@5 b1@7 ~@4 e2@5]/2",
  AI: "~@7 b1@7 ~@4 e2@7 ~@4 e2@3 f#2@2 ~ a2@2 f#2@2 ~ a2@8", AJ: "~@3 e2@8 ~@4 g#2@9 ~@2 e2@8 ~@3 f#2@8 ~@3",
  AK: "[c#2@7 ~@4 e2@8 ~@4 a1@6 ~@5 g2@5 ~@6 d2@7 ~@4 g2@8 ~@3 d2@8 ~@4 g2@8 ~@3 d2@6]/2",
  AL: "~@5 g2@8 ~@3 d2@10 ~ c2@9 ~@3 c2@9",
  AM: "[~@2 c2@9 ~@2 c2@8 ~@3 c2@9 ~@2 c2@8 ~@4 c2@8 ~@3 c2@4 ~ a#1@5 ~ a1@15 ~@2 a1@3 ~@2 a1@14 ~@3 a1@3 ~@3 b1@15 ~@2 b1@3 ~@2 b1@14 ~@3 b1@3 ~@3 e2@15 ~@2 e2@3 ~@2 e2@11]/4",
  AN: "~@6 e2@3 ~@2 a2@12 ~@5 a1@16 ~ a2@2 ~",
  AO: "[g#2@8 f#2@15 ~@2 f#2@3 ~@3 f#2@15 ~ c#2@5 ~ b1@14 ~@3 b1@15 ~@2 e2@2 f#2@3 b2@4]/2",
  AP: "[~@2 e2@15 ~@2 e2@3 ~@2 e2@15 ~@2 e2@4 ~@2 a2@10 ~ a2@5 g#2@5 ~ f#2@10 ~ d#2@5 ~ c#2@5 b1@14 ~@3 b1@2 ~@4 b1@15 ~@2 b1@4 ~ c#2@14 ~@3 c#2@3 ~@3 c#2@15 ~ c#2@3 ~@3 f#2@11]/4",
  AQ: "~@6 f#2@2 ~@3 f#2@15 ~@2 f#2@3 ~@3 b1@13 ~",
  AR: "[~@3 b1@16 b2@2 ~ a#2@8 ~ g#2@15 ~ g#2@3 ~@3 g#2@15 ~@2 d#2@3 ~@2 c#2@14 ~@3 c#2@12 ~@5 f#2@3 g#2@3 c#3@5 f#2@13 ~@4 f#2@3 ~@3 f#2@5 f2@5 ~ f#2@5 g2@4 ~@2 g#2@15 ~@2 g#2@4 ~ g#2@9 ~@3 g#2@5 d#2@4 ~@2 c#2@16 ~ c#2@13]/5",
  AS: "~@3 f#2@3 g#2@2 ~ c#3@4 ~@2 f#2@16 f#2@4 ~@2 f#2@3 g#2@3 f#2@5", AT: "d#2@5 ~ c#2@4 ~ b1@14 ~@3 b1@2 ~@4 b1@14",
  AU: "[~@3 b1@4 ~ c#2@14 ~@3 c#2@3 ~@3 c#2@15 ~ c#2@3 ~@3 f#2@14 ~@3 f#2@2 ~@3 f#2@15 ~@2 f#2@3 ~]/2",
  AV: "[~@2 b1@13 ~@4 b1@16 b2@2 ~ a#2@8 ~ g#2@15 ~ g#2@3 ~@3 g#2@15 ~@2 d#2@4 ~ c#2@14 ~@3 c#2@12 ~@5 f#2@3 g#2@3 c#3@5 f#2@13 ~@4 f#2@4 ~@2 f#2@2 g#2@3 f#2@5 ~ d#2@5 c#2@4 ~@2 b1@67 ~@40]/6",
})).s("gm_fretless_bass").gain(0.44)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~@3 A@2 ~@6 B@2 C ~@2 D ~@11 E ~ F@2 G H I J K L M N@3 O P Q@4 R S T U@5 V@8 W X@6
>`.pickRestart({
  A: "[~@24 c#6@3 ~@3 d#6@9 ~@3 f6@53 ~]/2", B: "[f4@4 ~@2 f4@4 ~@14 e4@22 ~ g4@48 ~]/2", C: "f4 ~",
  D: "a#4@3 a4@2 ~@4 a#4@3 ~@12", E: "f4@5 ~ f4@3 ~@39", F: "[f5@24 e5@23 d5@31 a#4@6 d5@5 f5@6 ~]/2",
  G: "e5@24 f5@11 ~ g5@11 ~", H: "a#5@6 a5@7 ~@5 a#5@6 a5@12 ~@12", I: "e5 d5 e5 f5", J: "a5 g5", K: "a#5",
  L: "~@47 b4", M: "~@4 b4 ~@5 b4 ~@4 b4 ~@5 b4 ~@5 b4 ~@4 b4 ~@5 b4 ~@4 b4 ~@4",
  N: "[~ b4 ~@5 b4 ~@4 b4 ~@5 b4 ~@4 b4 ~@5 b4 ~@5 b4 ~@4 c#5@22 ~ b4@14 c#5@2 b4@6 a4@23 ~@5 a4@2 ~ b4 ~@2 c#5@10 ~ g4 ~@4 g4 ~@5 g4 ~@2]/3",
  O: "~@3 g4 ~@4 g4 ~@5 g4 ~@5 g4 ~@4 g4 ~@5 g4 ~@4 g4 ~@5 g4 ~@4 g4", P: "~@5 g4@22 ~ d4@11 e4@9",
  Q: "[~@2 f4@11 g4@11 a#4@11 c5@11 d5@11 e5@12 a5@22 g#5@11 f#5@11 a5@45 g#5@23 a5@11]/4",
  R: "b5@11 a5@11 ~@6 a5@15 ~@2 c#6@2 ~", S: "b5@7 ~ c#6@40", T: "~@4 e6@17 d#6@27",
  U: "[~@2 d6@45 c#6@45 f#6@43 ~ g#6@44 f#6@45 ~ g6@6 f#6@5 ~@3]/5",
  V: "[~@3 g6@4 ~ f#6@10 ~ d#6@2 ~ c#6@8 ~ b5@43 ~ d#6@16 ~ c#6@22 ~ c#6@5 e6@44 ~ d#6@44 ~ d#6@16 ~ c#6@26 ~@2 b5@43 ~ f#6@85]/8",
  W: "~@5 f#6@43",
  X: "[~@2 e6@5 d#6@5 ~ b5@3 ~@2 e6@5 ~ d#6@9 ~@2 d#6 ~@2 c#6@7 ~@2 b5@44 d#6@16 ~ c#6@24 ~@4 e6@5 ~ d#6@5 b5@4 ~@2 e6@5 d#6@5 ~ b5@4 ~@2 b5@5 f#6@73 ~@40]/6",
})).s("gm_string_ensemble_1").gain(0.27).pan(0.2)

// other · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note("<~@13 A@2 B C D E F ~@2 G H I J ~@2 K@2 ~@41>".pickRestart({
  A: "[~@24 e4@23 ~@37 d5@12, ~@47 f4@48 ~]/2", B: "c5@24 a#4@12 g4@11 ~", C: "~@24 a4@12 g4@11 ~", D: "f4", E: "a4 g4",
  F: "[a#4,d5]@23 ~", G: "d#4", H: "e4 f#4", I: "d4@2 a#4 d4", J: "f4@14 ~@4 a4@21 ~@9",
  K: "[~@24 g4@12 f4@11 g4@47 ~@2]/2",
})).s("gm_string_ensemble_1").gain(0.16).pan(0.2)

// other · acoustic guitar nylon · "NYLON GTR"
const acoustic_guitar_nylon = note(`<
  ~@11 A ~@4 B ~@11 C ~ D@2 E B F G H@4 I J K@4 L@2 M@3 N@2 O@2 P Q@5 R S@2 ~@7
>`.pickRestart({
  A: "[a3,c4,f4]@2 [a3,c4,f4] ~@13", B: "[a#3,c#4,a#4] [a3,c4,a4]@2 [a#3,c#4,a#4] a4@2 g4@2, ~ [a3,c4]",
  C: "[a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@5 ~@37", // F
  D: "[~@6 f3@5 ~ f3@5 g3@3 ~ g3@9 a3@6 a3@6 f3@3 a3@21 a#3@12 a#3@16 ~@2]/2",
  E: "~@2 e3@2 e3@2 f3 f3@3 g3@2 g3@2 c3@2", F: "~@6 f3@5 ~ f3@6 g3@3 g3@9 a3@6 a3@5 ~ d4@4 g3 a3", G: "g3 f3@2 g3@4 ~",
  H: "[~@6 g3@6 g3@5 ~ a3@2 g3@9 ~ f3@6 d3@5 f3@3 ~ f3@15 ~@23 f3@6 f3@6 e3@5 e3@6 e3@6 b2@3 e3@8 ~@8 e3 ~@2 e3@2 b2@3 e3@3 e3@5 ~ b2@2 e3@5 ~ b2@3 e3@13 ~@18 e3@2]/4",
  I: "e3@3 f#3@5 ~ a3@4 ~@2 b3@2 a3@3 a3@11 ~ a3@5 ~ f#4@10", J: "c#4@6 e4@8 b3@3 c#4@13 ~@4 g3@5 g3@5 ~ g3@2 ~",
  K: "[~@3 d3@2 g3@9 ~@8 g3@2 ~ g3@3 d3@2 g3@5 ~ g3@5 ~ g3@5 d3@3 g3@8 ~@9 g3@3 a3@3 c4@5 g3@3 a3@3 c4@6 g3@2 a3@3 c4@5 ~ g3@3 a3@2 c4@5 ~ c4@3 c4@2 d4@8 ~ c4@15 ~@2 d4@5 c4@3 e4@16 ~@4 a3@5 a3@5 ~ a3@3 b3@7]/4",
  L: "[~ c#4@5 ~ c#4@5 a3@6 c#4@17 d4@11 d4@17 ~@5 g#3@6 g#3@5 a3@3 a3@8 ~ b3@5]/2",
  M: "[b3@6 e3@5 [d4,f4,d5]@6 [c#4,e4,c#5]@11 [d4,f4,d5]@6 c#5@11 b4@11 ~@6 a3@5 a3@6 b3@3 b3@8 c#4@5 c#4@6 a3@3 c#4@3 b3@5 ~ a3@11 b3@15 ~@11, ~@17 [c#4,e4]@11 ~@44]/3", // Dm C#m Dm C#m
  N: "[~@7 b3@5 ~ b3@5 ~ b3@3 b3@8 a3@5 a3@5 ~ a3@3 a3@24 ~@28]/2",
  O: "[~ b3@5 ~ b3@5 b3@3 c#4@8 d#4@6 d#4@6 b3@3 d#4@19 e4@11 e4@17 ~@6 a#3@5]/2",
  P: "a#3@6 b3@3 b3@8 c#4@6 c#4@5 f#3@6 [e4,g4,e5]@5 [d#4,f#4,d#5]@9", // Em D#m
  Q: "[~@3 [e4,g4,e5]@5 d#5@11 c#5@11 ~@7 b3@5 b3@5 c#4@3 c#4@8 ~ d#4@5 d#4@6 b3@4 ~ c#4@6 b3@11 c#4@16 ~@18 c#4@5 ~ c#4@5 c#4@2 c#4@9 b3@5 ~ b3@5 b3@3 b3@47 ~@31, ~@4 [d#4,f#4]@11 ~@22 d#4 ~@82]/5", // Em D#m
  R: "~@4 g#3@5 b3@5 ~ d#4@2 c#4@3 b3@5 ~ [g#4,b4,e5]@6 [g#4,b4,e5]@5 ~ b3@5 b3@5", S: "[b3@5 ~ f#4@46 ~@44]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.2)

// other · french horn · "FR.HORN"
const french_horn = note("<~@12 A@3 B C D E F ~@9 G@4 H I J K ~@6 L M@4 N O P Q@5 R@8 S T@5 ~>".pickRestart({
  A: "[~@24 d4@6 e4@5 ~ f4@6 g4@5 a4@72 ~ g4@11 ~ f4@11 ~]/3", B: "e4@23 ~ d4@11 e4@11 ~@2",
  C: "c#4@6 c4@6 ~@6 c#4@6 c4@13 ~@11", D: "e4@6 d4@6 c#4@6 c4@5 ~", E: "c4@11 ~ b3@9 ~@3", F: "[d4,a#4]",
  G: "[~@24 d4@6 e4@5 ~ f4@5 g4@5 ~ a4@72 ~ g4@11 f4@11 ~ e4@24 ~ d4@12 e4@11 ~]/4",
  H: "c#4@6 c4@6 ~@6 c#4@5 ~ c4@10 ~@14", I: "e4@12 d4@12 c#4@11 ~ c4@11 ~", J: "c4@22 ~ b3@21 ~@4", K: "a#4@23 ~",
  L: "~@27 a#3@10 ~@2 c4@9",
  M: "[~@2 d4@10 ~ e4@11 f4@10 ~ g4@11 a#4@11 ~ c5@10 ~ [a4,c#5]@22 g#4@11 f#4@10 ~@2 a4@43 ~ g#4@23 f#4@11]/4", // A
  N: "g#4@8 ~@3 f4@6 e4@6 c#4@5 f4@5 ~ e4@12 ~@2", O: "~@8 f#4@21 ~ f4@10 ~ e4@7", P: "~@2 e4@8 ~ d#4@13",
  Q: "[~@2 f#4@43 ~@2 e4@22 f#4@22 f#4@42 ~@3 g#4@43 ~@2 f#4@21 e4@12 ~ f#4@8 ~@3 g4@5 f#4@5 ~ d#4@3]/5",
  R: "[~@3 g4@5 f#4@12 ~@10 g#4@22 ~ g4@11 f#4@9 ~@2 f#4@14 ~@3 f4@25 ~@3 g#4@43 ~@2 g#4@22 g4@11 ~ f#4@9 ~ f#4@15 ~@2 f4@26 ~@3 e4@41 ~@3 f#4@44 ~ g#4@40]/8",
  S: "~@5 f#4@42 ~",
  T: "[~@2 g4@5 f#4@5 ~ d#4@2 ~@4 g4@5 f#4@13 ~@9 g#4@23 g4@11 f#4@10 ~ f#4@14 ~@3 f4@26 ~@2 g#4@43 ~@2 f#4@48 ~@11]/5",
})).s("gm_french_horn").gain(0.25).pan(0.4)

// other · trumpet
const trumpet = note("<~@37 A ~ B C D ~@10 E@4 F@6 G@3 H I@5>".pickRestart({
  A: "f3@9 ~@3 f3@8 c3@2 ~ e3@2 ~ f3@6 ~@3 f3@8 ~@5", B: "~@29 e5@2 ~ f#5 ~@2 a5 ~ f#5 ~@2 a5@7 ~",
  C: "~ b5 ~ c#6 ~@2 d6 ~@2 e6@7 ~ d6 ~@2 c#6 ~@2 d6 ~@2 e6@13 ~ d6 ~@2 c#6 ~ d6 ~@2",
  D: "e6@2 ~ d6@2 ~ c#6@6 ~@2 b5@2 ~ a5@7 ~ g#5 ~@2 a5@20",
  E: "[~@43 b4@22 ~ a#4@10 ~ g#4@11 ~ d#5@16 e5@5 c#5@16 ~ [g#4,b4]@6 [f#4,a#4]@21 ~@2 [e4,g#4]@10 ~ [c#4,a#4]@9 ~@2 g4@5 f#4@7 ~@2, ~@43 d#5@44 ~@2 b4@37 ~@52 b4@13 ~]/4", // G#m F# E F#
  F: "[~@3 g4@5 f#4@9 ~@2 b4@2 ~ [a#4,c#5]@7 ~@2 [b4,d#5]@43 ~ [b4,d#5]@16 ~ [g#4,c#5]@27 ~ [e4,g#4]@43 ~@2 g#4@11 ~@11 d#5@19 ~@4 [b4,d#5]@13 ~@4 c#5@2 d#5@2 ~ f5@2 ~ f#5 ~@2 g#5@17 ~@11 [e5,g#5,b5]@3 ~@3 [e5,g#5,b5]@6 ~@10, ~@3 b4@15 ~@158 b4@33 ~@79]/6", // A#m B C#5 E B E
  G: "[~@17 b4@4 ~@2 b4@4 ~ c#5@10 ~ d#5@4 ~@2 d#5@5 ~ b4@5 d#5@16 ~ e5@5 ~ e5@25 ~@3 a#4@4 ~ a#4@5 ~ b4@5 b4@5 ~ c#5@4 ~@2 c#5@5 f#4@4]/3",
  H: "~@2 e5@5 ~ d#5@5 b4@4 ~@2 e5@5 d#5@12 ~@12",
  I: "[~@4 b4@5 ~ b4@5 c#5@11 ~ d#5@4 ~ d#5@5 ~ b4@5 ~ d#5@16 c#5@16 ~ g#4@5 ~ b4@4 ~ e5@5 ~ d#5@5 b4@4 ~@2 e5@5 ~ d#5@5 b4@4 ~@2 b4@3 ~@3 f#5@72 ~@40]/5",
})).s("gm_trumpet").gain(0.32).pan(0.4)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1_2 = note(`<
  ~@3 A@2 ~@6 B C D@2 E F G H I ~@2 J@2 K L M@2 N C O@2 P Q R S T U V W X Y Z AA AB@7 AC@5 AD@8 AE AF@6
>`.pickRestart({
  A: "[~@24 [c#4,a#4]@3 ~@3 [d#4,c5]@9 ~@3 [f4,c5]@53 ~]/2", B: "c4@5 ~ c4@5 ~@13 b3@22 ~@2", C: "d4@47 ~",
  D: "[a3@47 a#3@48 ~]/2", E: "[g3,e4]@2 [f3,d4] [g3,e4]", F: "c#4@6 c4@5 ~@7 c#4@6 c4@24",
  G: "e4@12 d4@12 c#4@11 c4@13", H: "f4 d4", I: "f4@47 ~", J: "[g4@3 a4]/2", K: "a#3@23 ~", L: "~ c4@16 ~@2 f4@29",
  M: "[e4@47 g4@18 ~ f4@29 ~]/2", N: "a3@5 ~ a3@3 ~@15 e4@12 d4@11 ~", O: "[~ f4@46 ~ g4@47 ~, a4@47 a#4@48 ~]/2",
  P: "[e4,g4]@23 ~ f4@12 [e4,g4]@12, ~@23 d4@12 ~@13", Q: "a#4@6 a4@12 a#4@5 ~@13 g4@12, f4@3 ~, ~ a4",
  R: "[f4,a4]@2 [g4,c#5] [a4,c5]", S: "[f4,c5]@24 ~ e4@11 d4@12, ~ b4", T: "[d4,f4]@47 ~", U: "~@47 a4",
  V: "~@5 a4 ~@4 a4 ~@5 a4 ~@4 g#4 ~@5 g#4 ~@4 g#4 ~@5 g#4 ~@4 g4 ~@4",
  W: "~ g4 ~@4 g4 ~@5 g4 ~@4 g#4 ~@5 g#4 ~@5 g#4 ~@4 g#4 ~@5 [c#5,a5] ~@5 [c#5,a5] ~", // F#m
  X: "~@3 [c#5,a5] ~@5 [c#5,a5] ~@4 [d5,g#5] ~@5 [d5,g#5] ~@5 [d5,g#5] ~@4 [d5,g#5] ~@5 [c#5,f#5] ~@4 [c#5,f#5] ~@5", // F#m Ddim F#5
  Y: "[c#5,f#5] ~@4 f#5 c#5 ~@4 [c#5,f#5] ~@4 [c#5,f#5] ~@5 [c#5,f#5] ~@5 [c#5,f#5] ~@5 f4 ~@4 f4@2 ~@4 f4@2 ~", // F#5
  Z: "~@2 f4@2 ~@4 f4@2 ~@4 f4 ~@4 f4@2 ~@3 f4 ~@5 f4 ~@5 f4 ~@5 f4 ~@4 f4", AA: "~@5 f4@22 a#3@11 c4@10",
  AB: "[~@2 d4@11 e4@11 f4@11 g4@11 a#4@11 c5@12 [c#5,e5]@44 ~@23 d5@21 ~@2 d5@44 [d5,f5]@6 [c#5,e5]@6 ~@5 [d5,f5]@5 [c#5,e5]@9 ~@3 [c#5,e5]@2 ~ e5@7 ~@2 f#5@22 f5@10 e5@11 ~ [e5,a5]@16 ~ a5@26, ~@113 c#5@23 ~@22 e5@45 ~@36 b4@7 ~@63 d#5@27, ~@114 f#5@45 ~@89 a5@44 ~@44]/7", // C#m Dm C#m Dm C#m A5
  AC: "[~@2 [f#5,a5]@44 ~ e5@22 [f#5,a#5]@22 ~ [f#4,b4]@44 [g#4,b4]@44 ~ [f#4,a#4]@22 [g#4,b4]@11 [a#4,c#5]@10 ~@2 g4@5 f#4@5 ~@4, ~@46 a5@23 ~@157 b4@9 ~@5]/5", // F#m F# B5 G#m F# G#m A#m
  AD: "[~@3 g4@5 f#4@10 ~ [f#4,b4]@2 ~ [a#4,c#5]@8 ~ [b4,d#5]@43 [b4,f#5]@17 ~@2 f5@28 [e4,g#4]@43 ~@23 g4@11 f#4@9 ~@2 f#4@16 ~ f4@29 [b4,e5]@45 [f#4,b4]@44 [g#4,b4]@40, ~@3 b4@15 ~@74 g#4@28 ~@44 g#4@22 ~@198, ~@165 b4@43 ~ b4@46 ~@129]/8", // B5 A#m B B5 E E5 B5 G#m
  AE: "~@5 [f#4,a#4]@22 [g#4,b4]@11 [a#4,c#5]@10", // F# G#m A#m
  AF: "[~@2 g4@5 f#4@5 ~@7 g4@5 f#4@10 ~ [f#4,b4]@2 ~ [a#4,c#5]@8 ~ [b4,d#5]@43 [b4,f#5]@17 ~@2 f5@28 [e4,g#4]@43 ~ f#5@67 ~@40, ~@2 b4@9 ~@8 b4@15 ~@74 g#4@28 ~@44 d#5@67 ~@41]/6", // B5 A#m B B5 E
})).s("gm_string_ensemble_1").gain(0.25).pan(0.4)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1_3 = note(`<
  ~@3 A@2 ~@6 B C D E@2 F G H I ~@2 J K L M N@2 O P Q R S@2 T U V W X Y Z AA AB AC AD@5 AE@2 AF@5 AG@8 AH AI@6
>`.pickRestart({
  A: "[~@24 a#3@2 ~@4 c4@11 ~ c4@53 ~]/2", B: "a3@5 ~ a3@4 ~@14 f3@22 ~@2", C: "a#3@23 ~", D: "~ c4@47",
  E: "[d4@47 c4@25 a#3@11 c4@12 ~]/2", F: "a#3@6 a3@5 ~@7 a#3@6 a3@16 ~@8", G: "a3", H: "c4 b3", I: "g3@47 ~",
  J: "a#3@47 ~", K: "c4@3 a3", L: "f3@23 ~ f3@18 g3@6", M: "a3@16 ~ c4@30 ~",
  N: "[d4@16 ~@2 c#4@29 e4@6 ~ e4@7 ~@5 d4@29 ~]/2", O: "c4@3 ~@2 c4@4 ~@15 b3@12 a3@12", P: "a#3", Q: "c4@47 ~",
  R: "d4@47 ~", S: "[c4@24 a#3@12 c4@10 ~ c#4@6 c4@9 ~@4 c#4@5 c4@24 ~]/2", T: "a3@47 ~", U: "c4@24 b3@23 ~",
  V: "[f3,a#3]", W: "~@47 [d4,e4]",
  X: "~@4 [d4,e4] ~@5 [d4,e4] ~@5 [d4,e4] ~@4 [d4,e4] ~@5 [d4,e4] ~@4 d4 e4 ~@4 [d4,e4] ~@4 [d4,e4] ~@4", // Dsus2
  Y: "~ [d4,e4] ~@4 d4 e4 ~@4 [d4,e4] ~@5 [d4,e4] ~@4 [d4,e4] ~@5 [d4,e4] ~@4 [d4,e4] ~@5 e5 ~@5 e5 ~", // Dsus2
  Z: "~@3 e5 ~@5 e5@2 ~@3 e5@2 ~@4 e5@2 ~@3 e5@2 ~@4 e5@2 ~@3 e5@2 ~@4 e5@2 ~@4",
// … 164 more lines

More by Barry Manilow