Strudelify

Where Is the Love

Roberta Flack

KeyE♭ majorTempo107 bpm
0:00/0:00
// Where Is the Love — Roberta Flack
// 107 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 5 "LS 2" piano (copy of ch 4 "LS 1" piano)
// note: Full arrangement: all 94 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(107/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.

// other · piano · "US 1"
const piano = note(`<
  ~@4 A@2 B@2 A@2 C ~ D@2 E F G@4 H I J K L M@4 ~ N@2 E F G@4 H I J K L O@4 ~ P@3 Q@6 R@2 S T U@4 V W ~ B@2 A@2 C ~ X Y
  Z AA A@2 AB@2 AC AD AE@2 AF AG@3 AH AI AJ ~
>`.pickRestart({
  A: "[~@16 g3@4 ab3@4 g3@4 bb3@11 ~@25]/2", B: "[~@16 f3@4 g3@4 f3@4 ab3@19 ~@17]/2", C: "~@16 f3@3 ~ g3@4 f3@4 ab3@4",
  D: "[~@16 g3@4 ab3@4 g3@3 ~ bb3@24 ab3@4 g3@4 ab3@4]/2", E: "g3@6 f3@5 ~ f3@15 g3@2 ab3@3",
  F: "g3@5 ~ f3@6 f3@10 ~ f3@4 ~ gb3@4", G: "[f3@6 eb3@6 eb3@36 bb3@4 ab3@4 gb3@4 bb3@67 ~]/4",
  H: "~@4 eb4@3 ~ eb4 ~@3 eb4 ~@3 eb4@3 ~ eb4 ~@3 eb4 ~@3 eb4 ~@3", I: "eb4@7 ~ db4 ~@3 db4@15 ~@5",
  J: "~@4 bb3@3 ~ bb3@2 ~@2 bb3 ~@3 bb3@4 ab3@4 gb3@4 ab3@3 ~", K: "bb3@8 db4@4 bb3@13 ~@7",
  L: "~@4 eb3@3 ~ eb3 ~@3 eb3 ~@3 eb4@3 ~ eb4 ~@3 eb4 ~@3 eb4 ~@3",
  M: "[eb4@8 db4 ~@3 bb3@7 ~ ab3@2 ~@2 gb3@4 f3@8 bb3@3 ~ bb3@3 ~ bb3@3 ~ c4@4 eb4@4 c4@4 f4@40 ~@28]/4",
  N: "[~@4 g3 ab3 g3 bb3@6 ab3 g3 ab3]/2",
  O: "[eb4@7 ~ db4 ~@3 bb3@7 ~ ab3@2 ~@2 gb3@4 f3@8 bb3@3 ~ bb3@3 ~ bb3@3 ~ c4@4 eb4@4 c4@4 f4@40 ~@28]/4",
  P: "[~@16 g3@4 ab3@3 ~ g3@4 bb3@19 ~ g3@4 ab3@4 g3@4 bb3@19 ~ g3@4 ab3@4 g3@4 bb3@3 ~]/3",
  Q: "[~@4 ab3@3 ~@5 g3@3 ~@5 f3@23 ~@5 f3@4 gb3@4 f3@4 ab3@7 ~ gb3@4 ~@4 f3@5 ~@3 eb3@5 ~@3 bb2@7 ~ bb3@24 bb4@40 eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~]/6",
  R: "[eb5@7 ~ db5@4 db5@24 ~@4 bb4@4 bb4@3 ~ bb4@4 ab4@4 gb4@4 ab4@3 ~]/2", S: "bb4@4 db5@2 bb4@7 ~@3",
  T: "~@4 eb4@3 ~ eb4@2 ~@2 eb4 ~@3 eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~",
  U: "[eb5@8 db5@4 bb4@8 ab4@4 gb4@6 f4@6 ~ bb4@3 bb4@3 ~ bb4@4 c5@4 eb5@4 c5@3 ~ f5@41 g5@6 f5@5 eb5@5 c5@6 bb4@5]/4",
  V: "g4@4 ~@2 g4@6 f4@3 ~ g4@4 ~ g4@6 f4@4 ~", W: "g4@4 bb4@7 ~@4 g3@4 ab3@4 g3@4 ~ bb3@4", X: "~@4 g3 ab3 g3 c4",
  Y: "~ bb3@15 ~@16", Z: "~@16 f3@4 g3@6 ~ f3@5", AA: "ab3@15 ~@17", AB: "[~@4 f3 g3 f3 ab3@5 ~@4]/2",
  AC: "~@16 eb3@3 ~ f3@4 eb3@3 ~ g3@4", AD: "f3@28 eb3@2 ~ f3",
  AE: "[g3@2 f3@2 eb3@15 ~ c3@4 eb3 ~@3 g3@8 ~ bb3@14 ~ eb4@7 ~ b3@4]/2", AF: "bb3@19 ~ c4@7 bb3 ~@4",
  AG: "[~ f3 ~ eb3@17 c3@4 eb3 ~@3 f3@8 eb3@15 ~ c3@4 eb3 ~@3 g3@8 bb3@15 ~ ab3@4 g3@4 f3@2 ~@2, g3 ~@47]/3",
  AH: "g3 ab3 g3@28 ~@2", AI: "~@20 db5 d5@5 ~ bb4@4 ~", AJ: "~@4 g4 ~ ab4@2 g4@24",
})).s("gm_piano").gain(0.42).pan(0.3)

// chords · piano · "LS 1"
const piano_2 = note("<A@4 B@2 C@2 D@5 E@6 F@8 G@2 H@8 I@8 J K@2 L@7 M@4 N@7 O@7 P@7 Q R@4 S@7 ~@2>".pickRestart({
  A: "[[f3,g3,bb3,d4]@127 ~]/4", // Gm7
  B: "[[f3,g3,bb3,d4]@7 ~ [f3,g3,bb3,d4] ~@11 [f3,g3,bb3,d4]@6 ~@5 [c4,db4,f4,ab4]@7 ~ [c4,db4,f4,ab4]@10 ~@2 [c4,db4,f4,ab4]@7 ~@6, ~@20 ab3 ~@43]/2", // Gm7 Dbmaj7
  C: "[[bb3,c4,eb4,g4]@6 ~@2 bb3@6 ~@6 [bb3,c4]@9 ~@3 ab3@10 ~@2 [ab3,b3,eb4,f4] ~@6 [ab3,b3,eb4,f4]@9 ~@4, ~@7 [c4,eb4,g4]@7 ~@5 eb4@23 ~@22, ~@19 g4@9 ~@3 [b3,f4]@11 ~@22]/2", // Cm7 Bbsus2 Fm7b5 Cm Bdim
  D: "[[f3,g3]@2 ~@6 g3@10 ~@2 [g3,bb3,d4]@6 ~@6 [db4,f4]@30 ~ db4 [bb3,c4,g4]@19 ~ [bb3,c4,eb4,g4]@10 ~@2 [ab3,b3] ~@3 [ab3,b3,eb4,f4]@3 ~@5 [ab3,b3,eb4,f4]@16 ~@3 [f3,g3,bb3,d4]@27 ~@6, [bb3,d4] ~@6 [f3,bb3,d4]@11 ~ f3@5 ~@7 [bb3,ab4]@31 ~ eb4@19 ~@13 [eb4,f4]@2 ~@63]/5", // Fsus2 Gm Db C7 Cm7 Abm Fm7b5 Gm7 …
  E: "[bb3@31 ~@33 ab3@31 ~@29 eb4@35 [f3,ab3,c4,eb4]@12 ~ [f3,c4,eb4]@7 ~ eb4@8 [f3,ab3,c4,eb4]@4, [db4,f4,ab4]@63 b3@64 ~@65, ~@31 [bb3,c4,eb4,g4]@64 [ab3,bb3,db4,f4]@64 ~@12 ab3@8 [f3,ab3,c4]@8 ~@5, ~@63 f4@32 ~@21 e4@64 ~@12, ~@31 gb3@16 ~]/6", // Fm7 F7 Fm7 Db Cm7 Bbm7 Fm
  F: "[~@3 [f3,ab3,c4,eb4]@8 [f3,ab3,c4,eb4]@8 ~ eb4@7 f3@4 ~@65 eb4@31 [f3,ab3,c4,eb4]@20 [f3,ab3,c4,eb4]@7 f3@5 bb3@33 ab3@32 [f3,ab3,c4,eb4]@32, ~@19 [f3,ab3,c4]@7 ~ [c4,eb4]@36 db4@33 [db4,gb4,bb4]@64 ~@96, ~@27 ab3@5 [f3,g3]@64 ~@58 ab3@38 [bb3,db4,f4]@64, ~@31 d4@33 f4@64 ~@31 [f3,g3,d4]@64 ~@33, ~@31 bb3@32 [ab3,bb3]@64 ~@27 [c4,eb4]@64 ~@38]/8", // Fm7 Fm Cm Gb Fsus2 Bbm G7 Absus2 …
  G: "[~@4 [f3,ab3,c4,eb4]@7 ~ eb4@4 [f3,ab3,c4,eb4]@48, ~@11 [f3,ab3,c4]@5 ~@48]/2", // Fm7 Fm
  H: "[~@31 bb3@32 bb3@32 ~ bb3@5 [bb3,c4,eb4,g4]@6 [bb3,c4,eb4,g4]@13 eb4@7 [ab3,eb4,f4]@6 [ab3,eb4,f4]@6 ~ [ab3,b3,eb4,f4]@11 [ab3,f4]@8 [ab3,bb3,db4]@20 [bb3,db4]@8 ~ eb4@39 ~ [c4,eb4]@7 [f3,ab3,c4,eb4]@4 [f3,ab3,c4,eb4]@8 [f3,ab3,c4,eb4]@4 ~ [f3,ab3,c4,eb4]@4, ~@31 [f3,g3,d4]@64 [c4,eb4,g4]@6 ~@19 [c4,g4]@59 e4@64 ~@13, ~@63 [db4,f4,ab4]@64 b3@13 ~@11 b3@36 [bb3,db4]@64 ~@5, ~@120 bb3@39 f4@29 gb3@64 ~@4, ~@151 eb4@28 ab3@48 [f3,ab3]@7 ~@22]/8", // Cm7 Fm7 Fm7b5 Db Bbm7 Bbm Cm Fm7 …
  I: "[~@4 eb4@7 ~ [c4,eb4]@4 [f3,ab3,c4,eb4]@7 ~@8 bb3@32 db4@33 eb4@31 ~ [f3,ab3,eb4]@19 [f3,ab3,c4,eb4]@7 f3@5 bb3@32 ~ ab3@31 [f3,ab3,c4,eb4]@33, ~@3 [f3,ab3,c4]@8 [f3,ab3]@4 ~@8 f3@8 [f3,g3,d4]@64 ~@59 ab3@37 [bb3,db4,f4]@64 ~, ~@24 [c4,eb4]@64 ~@8 [db4,gb4,bb4]@63 [f3,g3,d4]@64 ~@33, ~@24 ab3@39 [ab3,bb3,f4]@64 c4@19 ~@8 [c4,eb4]@64 ~@38]/8", // Cm Fm7 Fm G7 Bbm Cm Gb G7 …
  J: "~@4 [f3,ab3]@7 ~ f3@3 ~ eb4@8 [f3,ab3,c4,eb4]@4 [f3,ab3,c4,eb4]@4, ~@3 [c4,eb4]@8 [ab3,c4,eb4]@4 [f3,ab3,c4]@9 ~@8", // Fm Fm7 Cm Ab Fm
  K: "[~@4 [f3,ab3,c4,eb4]@6 [f3,eb4]@5 [f3,eb4]@6 [f3,ab3,c4,eb4]@6 [f3,ab3,c4,eb4]@37, ~@5 [ab3,c4]@5 ~@22]/2", // Fm7 F7 Fm7 Ab
  L: "[~@12 [bb3,d4]@4 [bb3,d4]@7 ~ bb3@7 ~ ab4@7 ab4@8 [bb3,db4,f4,ab4]@8 bb3@9 [bb3,eb4,g4]@4 [bb3,eb4,g4]@7 [bb3,c4,eb4,g4]@4 [bb3,c4,eb4,g4]@8 [c4,eb4]@8 eb4@4 [b3,eb4]@9 [ab3,b3,eb4,f4]@8 [ab3,b3,eb4,f4]@7 ~ ab3@3 ~ db4@31 ~ eb4@31 [f3,ab3,c4,eb4]@32 [c4,eb4], [f3,g3]@23 [f3,g3]@41 c4@11 ~@12 g4@40 [ab3,f4]@64 ~@33, [bb3,d4]@8 f4@16 d4@63 bb3@36 f4 b3@64 ~@36, ~@8 [bb4,d5]@47 f4@40 c4@32 bb3@32 [gb3,bb3,db4]@64 ~, ~@8 g4@23 bb3 [db4,f4]@15 ~@8 [db4,ab4]@40 [ab3,f4]@13 ~@15 eb4@36 ~@65]/7", // Bb Bbm7 Eb Cm7 Cm B Fm7b5 Fm7 …
  M: "[~@4 [ab4,c5,eb5,g5]@3 ~@20 f3@4 bb3@33 db4@32 [db4,eb4,gb4,bb4]@32, ~@7 [ab4,eb5]@8 ~ [ab4,c5,eb5,g5]@8 [ab4,c5,eb5,g5]@64 ~@40, ~@8 [c5,g5]@8 ~@15 [f3,g3,d4]@64 ~@33, ~@12 eb4@8 eb4@7 eb4@64 ~@37, ~ [ab3,bb3,f4]]/4", // Abmaj7 Ebm7 Ab5 Abmaj7 C5 G7 Bb7
  N: "[[f3,ab3,c4,eb4]@19 [f3,ab3,c4,eb4]@6 ~@6 bb3@32 ab3@32 ~ eb4@63 ~@9 eb4@8 eb4@6 eb4@42, ~@25 c4@64 ~@6 f3@72 ~ f3@56, ~@25 ab3@38 [bb3,db4,f4]@64 ~@37 [ab4,c5,eb5,g5]@60, ~@25 f3@6 [f3,g3,d4]@64 [ab3,c4]@93 ~@36, ~@26 eb4@64 ~@69 eb4@9 ~@56]/7", // Fm7 Bbm Abmaj7 G7 Ab
  O: "[~@23 bb3@8 bb3@32 eb4@32 ~@32 bb3@32 bb3@32 [bb3,c4,eb4,g4]@32 eb4, g3@23 d4@64 ~@72 [db4,f4,ab4]@64 ~, [f3,bb3,d4]@4 f4@4 f3@55 [bb3,c4,g4]@64 ~@97, ~@4 [bb4,d5]@27 [db4,f4,ab4]@64 [ab3,b3,eb4,f4]@64 ~@65, ~@4 g4@4 [bb3,d4]@7 eb3@64 ~@48 [f3,g3,d4]@64 ~@33]/7", // Cm7 Db Bb C7 Bb Db Fm7b5 Bb …
  P: "[~@63 bb3@32 eb4@32 ~@32 bb3@32 [bb3,db4,f4,ab4]@33, [ab3,b3,f4]@64 ~@31 [bb3,c4,g4]@64 [f3,g3,d4]@64 ~, ~@31 [f3,g3]@64 ~@32 [ab3,b3,eb4,f4]@64 ~@33, ~@31 bb3@31 ~ [db4,f4,ab4]@64 ~@97, ~ d4@2 ~@4]/7", // Bbm7 Fdim C7 G7 Fsus2 Fm7b5 Db
  Q: "[bb3,c4,eb4,g4]", // Cm7
  R: "[~@63 bb3@32 [bb3,c4,eb4,g4]@32 [ab3,b3,eb4,f4], [ab3,b3,eb4,f4] ~, ~@31 [eb3,g3]@64 ~@33, ~@31 bb3@32 [db4,f4,ab4]@64 ~, ~ d4@2 ~]/4", // Cm7 Fm7b5 Eb Db
  S: "[~@3 [ab3,b3,eb4,f4]@4 ~ f4@3 [ab3,b3,eb4,f4]@4 [ab3,eb4,f4]@4 ~ eb4@3 f4@8 ~@6 [f4,g4,bb4,d5]@6 ~@4 d4@8 f4@8 ~ ab4@18 ab4@5 ~@29 g4@3 ~@9 eb5@3 ~ [eb4,f4,ab4]@7 [ab3,eb4,f4,ab4,b4,eb5,f5]@4 ~ [f4,ab4,b4,eb5,f5]@7 [ab3,b3,eb4,f4,ab4,b4,eb5,f5]@64 ~@9, ~@7 [ab3,b3,eb4]@4 ~@4 b3@8 ~@8 [f3,g3]@24 g4@8 [db4,f4]@32 eb4 bb3@64 ~@64, ~@19 [ab3,f4]@4 [ab3,b3,eb4]@32 bb4@32 [ab4,f5]@9 g4@7 [bb4,c5,eb5,g5]@4 eb4 g4@3 [c5,g5] [bb4,eb5]@4 eb4@3 bb4@64 ~@41, ~@31 [bb3,d4]@12 [f4,g4,bb4,d5]@4 bb3@16 c4@24 [db5,ab5]@32 eb5 [g4,c5,g5]@64 ~@40, ~@31 [f4,g4,bb4,d5] c4@23 [d4,d5]@32 c5@8 c4@32 [ab3,b3,eb4,f4,ab4,b4,f5]@4 [ab3,b4,eb5,f5]@8 b3@4 [ab3,eb4]@8 ~@73]/7", // Fm7b5 Fm7 Gm7 Fm7 Fm7b5 Abm Fsus2 Db …
})).s("gm_piano").gain(0.17).pan(0.3)

// chords · string ensemble 1 · "CHORD AUT."
const string_ensemble_1 = note(`<
  ~@4 A@4 B@2 C@8 D@7 E@6 F@3 G@7 H@8 I J@8 K L@8 I M@2 N@4 O@6 P@7 Q@3 R@4
>`.pickRestart({
  A: "[~@20 ab4@2 ~@9 [db5,f5,ab5]@32 ~ bb4@8 bb4@23 ~ ab4@32, ~@31 c5@64 [b4,f5]@33, ~ eb5, ~@64 g5@31 ~@33]/4", // Db Bdim
  B: "[g4 g4@3 [db5,f5,ab5]@4, bb4, [f4,d5] ~]/2", // Db Dm
  C: "[[bb4,c5,g5]@32 [ab4,b4,f5]@31 [f4,g4,d5]@33 [db5,f5,ab5]@32 [c5,g5]@31 ~ ab4@31 ~@21 e5@8 [gb4,eb5]@36, eb5@63 bb4@96 f5@53 ~@44, ~@2 eb5 bb4, ~@159 b4@32 db5@64 ~, ~@48 ab4@7 ~@9]/8", // C7 Fdim G7 Db C5 Ebm
  D: "[[f4,c5]@12 eb5@8 eb5@23 eb5@8 ~ eb5@7 eb5@5 [g4,d5]@32 [ab4,f5]@32 [gb5,bb5]@31 ~@20 eb5@6 ~ eb5@5 [g4,bb4,d5]@33, ab4@64 bb4@64 eb5@51 ~@45, ~@12 [f4,c5]@31 f4@53 ~@63 f4@65, ~@43 c5@21 ~@32 db5@63 [ab4,c5]@32 ~@33]/7", // F5 G5 Db Gb Gm F5 Ab
  E: "[[db5,f5]@32 eb5@43 ~@53 g6@11 f6@4 ~ [c6,g6]@12 ~@3 [f4,g4,bb4,d5]@33, ab4@53 ~@11, ~@32 [f4,c5]@127 ~@33, ~@76 eb5@83 ~@33, ~@32 [ab5,c6,eb6]@7 ~@9]/6", // Db C5 Gm7 F5 Ab
  F: "[[db5,f5,ab5]@31 ~ [bb4,c5,g5]@31 ~ ab4@32, ~@31 eb5@64 ~, ~@21 [b4,f5]@11]/3", // Db C7 Bdim
  G: "[~@19 e5@8 ~ [gb4,bb4]@40 ~@32 eb5@27 [g4,d5]@32 ~ ab4@32 [eb5,gb5,bb5]@32, db5@17 f4@23 db5@16, bb4@28 eb5@72 ~@27 bb4@65 ~@32, ~@68 [ab4,c5]@60 ~@31 f5@33 ~@32]/7", // Gb G5 Ebm Ab
  H: "[~@19 eb5@7 eb5@6 [g4,d5]@32 [db5,f5]@31 f4@44 ~@5 eb5@37 ~@11 c6@5 ~ c6@5 [c6,f6]@5 c6@5 [ab5,c6]@6 ~ [c6,eb6,f6]@4 ~@8 [f5,g5,bb5,d6]@11 ~@13, f4@64 ab4@139 eb6@16 ab5@5 ~@32, [ab4,c5]@32 bb4@63 c5@97 [eb6,g6]@6 f4@10 g6@11 ~@37, ~@95 eb5@48 ~@38 eb5@32 f4@43, ~@140 f4@52 ab5@21 [ab4,c5,eb5]@11 [g4,bb4,d5]@32]/8", // G5 Db F5 Ab F7 Gm7 Ab Eb …
  I: "[db5,f5,ab5]", // Db
  J: "[g5@4 g5@27 ~@65 gb4@31 ~@37 [ab5,c6,eb6,g6]@3 ~ [c6,g6]@6 ~@2 [ab5,c6,eb6,g6]@7 ~@4 eb5@4 [g4,d5]@33 [ab4,db5,f5]@32, eb5@63 ~ db5@64 ~@39 [ab5,eb6]@7 ~@10 [ab5,c6,eb6,g6]@8 ~@64, c5@35 b4@28 bb4@64 [ab4,c5]@64 bb4@65, bb4@31 ab4@64 ~@32 f4@97 ~@32, ~@31 f5@12 ~ f5@52 eb5@88 ~@72]/8", // Abmaj7 C5 Abmaj7 G5 Db Ab5 Abmaj7 Ab
  K: "[db5,eb5,gb5,bb5]", // Ebm7
  L: "[~@26 eb5@5 [g4,bb4,d5]@32 [bb4,db5,f5]@32 ~@73 eb5@23 ~@12 [c6,f6]@5 c6@5 ~ c6@6 ~@19 eb4@17, f4@63 ~@32 c5@96 eb6@17 g6@12 ~@8 [f5,g5,bb5,d6]@19 ~@9, [ab4,c5]@31 ~@32 ab4@128 [eb5,g6] c6@5 eb5@11 [ab4,c5,eb5]@15 [bb4,d5]@33, ~@95 f4@93 ~@3 [f4,c5]@17 f4@31 ~@17, ~@96 eb5@68 [ab5,c6,eb6,g6]@27 ab5@32 ~ g4@32]/8", // Gm Bbm F5 Gm7 Ab Eb Ab Bb …
  M: "[[c5,g5] [ab4,b4,f5], eb5]/2", // C5 Fdim
  N: "[[f4,g4,d5]@31 [db5,f5,ab5]@32 [c5,g5]@32 ~ [ab4,b4,f5]@32, bb4@3 ~, ~@63 eb5@64 ~]/4", // G7 Db C5 Fdim
  O: "[[f4,g4,d5]@31 [db5,f5,ab5]@32 [c5,g5]@29 ~@3 [ab4,b4,f5]@32 [f4,g4,d5]@32 [db5,f5,ab5]@33, bb4@92 ~@35 bb4@65, ~@63 eb5@64 ~@65]/6", // G7 Db C5 Fdim G7 Db
  P: "[[c5,g5]@32 [ab4,b4,f5]@31 ~ d5@31 [db5,f5,ab5]@32 [c5,g5]@32 f5@8 ~ f5@3 eb5@8 ~ eb5@11 f4 c5 ~@5 [f5,d6]@26, eb5@63 [eb4,g4,bb4]@31 ~ bb4@64 b4@32 ~ f4@31 ~, ~@127 eb5@44 ~@20 [f5,d6]@6 ~@27, ~@159 ab4@12 [ab4,f5]@20 [g4,bb4,d5,g5,bb5]@32 ~]/7", // C5 Fdim Db C5 Dm Eb Dm Db …
  Q: "[ab5@23 [ab5,c6,db6,f6,ab6]@8 ~@25 [g5,c6,g6]@8 [f5,ab5,b5,eb6,f6]@4 [f5,ab5,b5,eb6,f6]@12 [f5,ab5,b5,eb6,f6]@7 ~ [f5,ab5,b5,eb6,f6]@8, c5@2 ~, db5@31 eb5@36 ~ eb5@28, ~ bb4 [ab4,b4], ~@32 g5@8 [bb5,c6,eb6,g6]@4 g5@3 [c6,g6] [bb5,eb6]@16 ~@32]/3", // Dbmaj7 C5 Fm7b5 Abm Cm7 C5 Eb5
  R: "[[f4,g4,bb4,d5]@63 ~, [f5,g5,bb5,d6]@29 ~@99]/4", // Gm7
})).s("gm_string_ensemble_1").gain(0.09).pan(0.3)

// other · synth brass 2 · "PART 8"
const synth_brass_2 = note(`<
  ~@5 A@2 B@2 C D E@2 ~@15 F G H@2 I J K@4 L M N O P Q@4 R S ~@5 T@3 U@2 V W X@4 Y Z A@2 B@2 C D E@2 AA AB AC AD AE AF
  AG@2 ~@6 AH AI AJ AK ~
>`.pickRestart({
  A: "[~@16 bb3@4 c4@4 eb4 ~@3 f4@8 eb4@11 ~@17]/2", B: "[~@15 gb3 g3@3 ~ f3@4 eb3@4 g3@16 ~@20]/2",
  C: "~@8 bb3@8 c4@7 ~ eb4@5 ~@3", D: "f4@3 ~ g4@2 f4@2 eb4@7 ~@17", E: "[~@16 g3@3 ~ f3@4 eb3@3 ~ eb3@14 ~@22]/2",
  F: "~@4 g4@6 ~ f4@5 eb4@5 ~ c4@6 ab3@4", G: "g3@4 ~@2 g3@5 ~ f3@4 g3@5 ~ g3@5 f3@4 gb3",
  H: "[g3@4 bb3@11 ~ g3@4 ab3@4 g3@4 bb3@24 ab3@4 g3@4 ab3@4]/2", I: "g3@6 f3@5 ~ f3@15 g3@2 ab3@3",
  J: "g3@5 ~ f3@6 f3@10 ~ f3@4 ~ gb3@4", K: "[f3@6 eb3@6 eb3@36 bb3@4 ab3@4 gb3@4 bb3@67 ~]/4",
  L: "~@4 eb4@3 ~ eb4 ~@3 eb4 ~@3 eb4@3 ~ eb4 ~@3 eb4 ~@3 eb4 ~@3", M: "eb4@7 ~ db4 ~@3 db4@15 ~@5",
  N: "~@4 bb3@3 ~ bb3@2 ~@2 bb3 ~@3 bb3@4 ab3@4 gb3@4 ab3@3 ~", O: "bb3@8 db4@4 bb3@13 ~@7",
  P: "~@4 eb3@3 ~ eb3 ~@3 eb3 ~@3 eb4@3 ~ eb4 ~@3 eb4 ~@3 eb4 ~@3",
  Q: "[eb4@7 ~ db4 ~@3 bb3@7 ~ ab3@2 ~@2 gb3@4 f3@8 bb3@3 ~ bb3@3 ~ bb3@3 ~ c4@4 eb4@4 c4@4 f4@40 ~ g4@6 f4@5 ~ eb4@5 c4@6 bb3@4]/4",
  R: "g3@4 ~ g3@6 ~ f3@3 ~ g3@5 ~ g3@6 f3@4", S: "gb3 g3@3 bb3@3 ~@25",
  T: "[~@4 bb3@24 bb4@40 eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~]/3",
  U: "[eb5@7 ~ db5@4 db5@24 ~@4 bb4@4 bb4@3 ~ bb4@4 ab4@4 gb4@4 ab4@3 ~]/2", V: "bb4@4 db5@2 bb4@7 ~@3",
  W: "~@4 eb4@3 ~ eb4@2 ~@2 eb4 ~@3 eb5@3 ~ eb5@3 ~ eb5@3 ~ eb5@3 ~",
  X: "[eb5@8 db5@4 bb4@8 ab4@4 gb4@6 f4@6 ~ bb4@3 bb4@3 ~ bb4@4 c5@4 eb5@4 c5@3 ~ f5@41 g5@6 f5@5 eb5@5 c5@6 bb4@5]/4",
  Y: "g4@4 ~@2 g4@6 f4@3 ~ g4@4 ~ g4@6 f4@4 ~", Z: "g4@3 ~ bb4@7 ~@21", AA: "~@16 bb3@5 c4@5 eb4@6",
  AB: "f4@5 eb4@10 ~@17", AC: "~@8 g3@2 f3@3 eb3@3", AD: "g3@15 ~@17", AE: "~@8 bb3@8 c4@8 eb4@7 ~",
  AF: "f4@4 ~@3 eb4@8 ~@17, ~@5 g4@2 ~@25, ~@3 f4 ~@12", AG: "[~@16 g3@3 ~ f3@4 eb3@5 g3@19 ~@16]/2",
  AH: "~@10 ab3@2 g3@2 f3 ~", AI: "g3 ab3 g3@28 ~@2", AJ: "~@20 db5 d5@5 ~ bb4@4 ~", AK: "~@4 g4 ~ ab4@2 g4@24",
})).s("gm_synth_brass_2").gain(0.25).pan(0.2)

// chords · piano · "ACC. 1"
const piano_3 = note(`<
  A B C D E F G H I J K L M N K L O P Q R S T U V M T W X Y Z S AA K L AB P AC AD AE AF U AG S T AH AD Y AI AJ N AK AL
  AM AN AO AD S T U AP M AF W X Y AQ AR AS AT AU AR AV AW AU AR AV AX@2 AR AV AY AU AR AV AW AU AR AZ AW BA BB@4
>`.pickRestart({
  A: "~@28 f4@2 ab3 ~, ~ f3@7 d4@4 f4@8 ~@4 d4@7 ~, ~ f5@3 f5@11 ~@17, ~@2 d5@13 ~ [f3,ab3,c4]@15 ~, ~@8 bb4@23 ~", // Fm
  B: "bb4@6 ~@4 g3@2 [f3,ab3,c4,f4,g4]@19 ~, [g3,f4]@3 ~@5, d4@2 ~ bb3@3 ~@10, ~@8 bb4@23 ~", // Fm G7
  C: "f4@4 ~@4 d6@4 ~@12 f5@2 ~@2 g5@3 ~, d5@12 [ab3,c4,bb4,bb5]@19 ~, ~@4 f5@8 [f4,f5]@12 f4@7 ~, ~@20 g5@6 f5@5 ~", // Ab F
  D: "[f3,bb4,f5,g5]@4 [g3,c5,f5,ab5] ~@3 [ab3,ab4,f5] ~@3 [bb3,f4,ab4]@12 ~@4 [f4,ab4]@2 ~@2, ~@6 c5@9 ~, ~@12 [bb3,f4,ab4]@3 ~, ~@13 g4@2 ~", // Gm7 Fm Db Bb7 Fm Bb7
  E: "[bb3,d4,f4,g4,bb4]@4 ~@16 [g3,bb3,d4,f4] [f3,ab3,c4] ~@10", // Gm7 Fm
  F: "[f3,ab3,db4,f4]@3 ~ [f3,ab3,db4,f4]@2 ~@14 [f3,ab3,db4,f4]@8 ~@4", G: "[c4,eb4,g4,bb4]@3 ~, [f3,ab3] ~@31",
  H: "[b3,eb4,f4,ab4]@3 [eb4,f4,ab4]@2 ~@15 [eb4,f4,ab4,b4]@9 [bb4,eb5,f5] ~@2, ~@3 b3 ~@28", // Fm7b5 Fm7 Fm7b5 Bbsus4
  I: "[d4,f4]@18 ~@2 [g3,bb3,d4,f4] ~@11, [b3,bb4] ~@31", // Dm Gm7 Bmaj7
  J: "[f3,ab3,db4,f4]@3 ~ [f3,ab3,db4,f4]@2 ~@14 [f3,ab3,db4,f4]@8 ~@4, [g3,d4] ~@31", // Db G5
  K: "[c4,eb4,g4,bb4]@3 ~, [db3,f3,ab3] ~@31", // Cm7 Db
  L: "[b3,eb4,f4,ab4]@3 [eb4,f4,ab4]@2 ~@15 [eb4,f4,ab4,b4]@9 [bb4,eb5,f5] ~@2, [bb3,d4,g4] ~@2 b3 ~@28", // Fm7b5 Fm7 Fm7b5 Bbsus4 Gm
  M: "[g3,d4,f4]@18 ~@2 [g3,bb3,d4,f4] ~@11", // G7 Gm7
  N: "[g3,d4,bb4,d5] ~@3 [f3,ab3,db4,f4]@2 ~@14 [f3,ab3,db4,f4]@8 ~@4, [ab3,db4,f4]@3 ~@29", // Gm Db
  O: "[f4,ab4]@18 ~@2 [bb3,db4,e4,f4,ab4] ~@11, [b3,bb4] ~@31", // Fm Bbm7 Bmaj7
  P: "[gb3,bb3,eb4,gb4]@3 ~ [gb3,bb3,eb4,gb4]@2 ~@14 [gb3,bb3,eb4,gb4]@8 ~@4", // Ebm
  Q: "[bb3,db4,ab4] ~@19 eb4@4 ~@8, [c4,g4]@3 ~, eb4@20 f4 ~@11", // Bbm7 C5
  R: "[eb4,g4,ab4,c5]@3 [g4,ab4,c5]@2 ~@15 [g4,ab4,c5,eb5]@7 eb5@2 ~@3, ~@3 eb4 ~@23 f5 ~@4", // Abmaj7
  S: "[ab3,eb4,g4] ~@19 [g3,bb3,d4,f4] ~@11, [d4,f4]@17 ~@15", // Abmaj7 Gm7 Dm
  T: "[f4,bb4]@3 ~ [db4,f4,bb4,db5]@2 ~@14 [db4,f4,bb4,db5]@8 ~@4, [d4,d5] ~@31", // Bb5 Bbm D
  U: "[db3,f3,ab3,c4] ~@31, [gb3,bb3,db4]@23 ~@9", // Dbmaj7 Gb
  V: "[eb4,g4,ab4,c5]@3 [g4,ab4,c5]@2 ~@15 eb5@6 eb5@3 ~@3, [db4,f4,gb4,bb4] ~@2 eb4 ~@16 [g4,ab4,c5]@9 ~@3, ~@26 f5 ~@5", // Abmaj7 Gbmaj7 Abmaj7
  W: "[ab3,c4,eb4,g4]@3 ~, [db3,f3] ~@31", // Abmaj7 Db
  X: "[eb4,g4,ab4,c5]@3 [g4,ab4,c5]@2 ~@15 [g4,ab4,c5,eb5]@9 ~@3, ~@3 eb4 ~@28", // Abmaj7
  Y: "[ab3,eb4,g4]@18 ~@2 [ab3,c4,eb4,g4] ~@11", Z: "~@4 [ab3,g4,c5,eb5] ~@5 [eb4,ab4,c5] ~@5 [eb4,ab4]@14 ~@2",
  AA: "[f3,ab3,db4,f4]@2 [f3,ab3,db4,f4] ~@7 [f3,ab3,db4,f4]@4 ~@2, [g3,d4] ~@31", // Db G5
  AB: "[bb3,f4,ab4]@18 ~@2 [bb3,db4,e4,f4,ab4] ~@11", AC: "[bb3,db4,ab4] [c4,g4]@5 ~@2, eb4@3 ~",
  AD: "[eb4,g4,ab4,c5]@3 ~ [eb4,g4,ab4,c5] ~@15 [g4,ab4,c5,eb5]@9 ~@3", // Abmaj7
  AE: "~@8 [g3,bb3,f4,bb4] ~ [g3,f4] ~@3 [g3,bb3,f4,bb4]@17 ~", // Gm7 G7 Gm7
  AF: "[f4,bb4]@2 [db4,f4,bb4,db5] ~@7 [db4,f4,bb4,db5]@4 ~@2, [d4,d5] ~@31", // Bb5 Bbm D
  AG: "[eb4,g4,ab4,c5]@3 [g4,ab4,c5]@2 ~@15 [g4,ab4,c5,eb5]@9 ~@3, [db4,f4,gb4,bb4] ~@2 eb4 ~@28", // Abmaj7 Gbmaj7
  AH: "[ab3,c4,eb4,g4]@3 ~", AI: "~@4 [ab3,c4,g4,bb4,c5,eb5,g5] ~@5 [eb4,ab4,c5] ~@5 [eb4,ab4]@14 ~@2",
  AJ: "[ab3,eb4,g4] d4@17 ~@2 [g3,bb3,d4,f4] ~@11, f4@17 ~@15", // Abmaj7 Gm7
  AK: "[db3,f3,ab3] ~@3 eb4@20 ~@8, [c4,g4,bb4]@3 ~, eb4@3 ~ f4 ~@27", // Db C7
  AL: "[c4,eb4,f4,ab4]@3 ~ [b3,eb4] ~@15 [eb4,f4,ab4,b4]@9 [bb4,eb5,f5] ~@2, [bb3,d4,g4] ~@2 [f4,ab4]@2 ~@27", // Fm7 B Fm7b5 Bbsus4 Gm Fm
  AM: "[f4,ab4]@18 ~@2 [bb3,db4,f4,ab4] ~@11, [b3,bb4] ~@31", AN: "~@12 [gb3,bb3,db4,eb4]@17 [ab4,bb4] ~@2",
  AO: "[c4,eb4,g4]@3 ~, [bb3,db4,ab4] ~@31", // Cm Bbm7
  AP: "[eb4,g4,ab4,c5]@2 ~ [g4,ab4,c5]@2 ~@15 [g4,ab4,c5,eb5]@9 ~@3, [db4,f4,gb4,bb4] ~@2 eb4 ~@28", // Abmaj7 Gbmaj7
  AQ: "[ab3,c4,eb4,ab4] ~ [ab3,ab4] ~ ab4 ~ [eb4,ab4,c5]@5 ~ [ab3,ab4]@3 ~@17", AR: "~@14 [g4,bb4,d5,f5] ~@17",
  AS: "[f4,bb4,d5] ~ [c4,f4,bb4] ~ [c4,f4] ~@7 [ab3,c4,f4]@11 db4@3 ~@6, [c4,ab4] ~ ab4 ~@13", // Bb Fsus4 F5 Fm
  AT: "[f3,ab3,c4,db4,f4] ~@8 c4 ~ [c4,g4,bb4,eb5] [eb4,c5] ~@15 [c4,g4,bb4,c5] [g3,bb3]@3, [bb4,c5,eb5]@9 ~@19 eb4@4", // Dbmaj7 Cm7 Cm C7 Gm Cm7
  AU: "[ab3,b3,f4]@29 eb4@2 ~, ~@29 b4 ~@2", // Fdim
  AV: "[c4,ab4]@2 [c4,f4,bb4] ~ [c4,f4] ~@7 [ab3,c4,f4]@11 db4@3 ~@6, f4 ~@3 ab4@2 ~@26", // Fm Fsus4 F5 Fm
  AW: "[bb4,c5,eb5]@9 c4 ~ [c4,g4,bb4,eb5] [eb4,c5] ~@15 [c4,g4,bb4,c5] [g3,bb3]@3, [eb4,g4] ~@27 eb4@4", // Cm7 Cm C7 Gm Eb
  AX: "[[bb4,c5,eb5]@9 c4 ~ [c4,g4,bb4,eb5] [eb4,c5] ~@15 [eb4,g4,c5]@3 [ab3,b3,f4]@30 eb4@2 ~, [eb4,g4] ~@27 [c4,bb4] ~@32 b4 ~@2]/2", // Cm7 Cm Fdim Eb C7
  AY: "[f3,ab3,c4,db4,eb4,f4,g4] ~@8 c4 ~ [c4,g4,bb4,eb5] [eb4,c5] ~@15 [c4,g4,bb4,c5] [g3,bb3]@3, [bb4,c5,eb5]@9 ~@19 eb4@4", // Fm7 Cm7 Cm C7 Gm Cm7
  AZ: "[c4,ab4]@2 [c4,f4,c5] ~ [c4,f4] ~@7 [ab3,c4,f4]@11 db4@3 ~@6, [f4,g4] ~@3 ab4@2 ~@26", // Fm F5 Fm Fsus2
  BA: "[ab3,b3,f4]@15 [eb4,ab4,b4] [ab3,b3,f4]@14 ~@2", // Fdim Abm Fdim
  BB: "[[bb3,db4,ab4] ~@7 [f4,f5]@4 ~@16 [g3,f4]@4 ~@16 c4@4 c4@5 f4@5 [bb2,f4]@7 ~@13 bb4@41 ~@5, ~@4 f5@4 ~@4 g3@16 ~@4 [ab3,c4]@16 bb2@14 ~@7 bb2@4 g4@50 ~@5, ~@5 d5@6 ~ bb4@24 bb4@3 bb4@8 ~@25 f4@51 ~@5, ~@12 [bb3,d4]@12 [bb3,d4]@8 ~@5 ab4@10 ~ ab3@9 [f3,ab3,c4]@13 g3@53 ~@5, ~@20 f4@8 ~@4 f4@11 f4@13 ~@15 [bb3,d4]@52 ~@5]/4", // Bbm7 F G7 Bb5 Ab Bb Fm Bb
})).s("gm_piano").gain(0.22).pan(0.3)

// chords · piano · "ACC. 1" · soft notes
const piano_soft = note(`<
  A B C D ~@4 E ~@3 F G ~@2 H ~ I ~ J K L ~ F K ~@2 M N J ~@3 O ~ P ~ Q K L ~ J K ~@2 M R S G ~@2 H ~ T ~ J K L ~ F K
  ~@2 M U ~ V ~@3 V ~@3 V ~@3 V ~@3 V ~@3 W ~@2 X ~ Y@2
>`.pickRestart({
  A: "~@6 bb3@9 ~@5 f4@8 ~@4, ~ f4@11 ~@20", B: "bb3 ~@3 d4@8 ~@20, ~ bb3@2 ~@13",
  C: "~@6 f4@6 ~@18 ab3 ~, [g3,bb3,d4]@3 ~@5", D: "~@11 f4 ~@4, ~@10 c4@5 ~", E: "[g3,bb3]@17 ~@15, eb4 ~@31",
  F: "bb3@17 ~@15", G: "f3@3 ~@29", H: "[bb3,db4]@17 ~@15, eb4 ~@31", I: "ab3@3 ~", J: "[g3,bb3]@17 ~@15, c4 ~@31",
  K: "[db4,db5]@3 ~@29", L: "eb3@23 ~@9", M: "c4@17 ~@15", N: "~@8 [f3,c4]@7 ~", O: "db4@17 ~@15", P: "~ ab3@5 ~@2",
  Q: "~@10 [bb3,bb4] ~@21", R: "~@16 f3@5 g3 f3@8 ~@2, ~@8 c4@7 ~", S: "c4 [g3,bb3]@16 ~@15", T: "ab3@23 ~@9",
  U: "~@3 ab3 ~@2 c4@6 [c4,eb4]@2 ~@18", V: "~@23 [f3,ab3]@3 ~@6", W: "~@12 f3 ~@3, ~@23 ab3@3 ~@6",
  X: "[f3,ab3]@11 ~@21, f4@7 ~@25", Y: "[~@28 d6@31 ~@5, ~@21 f5@38 ~@5, ~@24 g5@35 ~@5]/2",
})).s("gm_piano").gain(0.11).pan(0.3)

// other · electric guitar muted · "ACC. 2"
const electric_guitar_muted = note(`<
  ~@2 A B ~@9 C D E F@2 G@2 H I J K L M N@2 O P ~@9 Q R K H I S@2 T P ~@8 L M U V H I W@2 O X Y Z AA AB AC AD AE AB AC
  AD AF AG AC AD AH AI Y AD AH AJ AC AK AL AM ~@2 AN ~
>`.pickRestart({
  A: "~@4 bb4@11 ~", B: "~@4 [c4,ab4] ~@27", C: "~@4 bb3@3 ab3@4 ~ f3 ~@2 c4@4 ~ db4@9 ~@3",
  D: "~@19 ab4@3 ~ g4@4 eb4 ~@4", E: "[c4,db4]@2 ~ db4@3 ~ b3@4 ab3 ~@3 eb4@3 ~ ab4@3 ~@10, ~@15 db4 ~@16",
  F: "[~@20 gb4@3 e4@4 ~ db4 ~@2 b3@3 ~@2 b3@3 bb3@4 ~ gb3 ~@2 db4@4 ~ eb4@9 ~@3]/2",
  G: "[~@20 [f4,g4]@2 ~ eb4@4 c4 ~@3 f4@3 ~@2 f4@3 eb4@4 c4 ~@3 g4@3 ~@2 c5@2 ~@10, ~@47 f4 ~@16]/2", // Fsus2
  H: "~@20 eb4@3 d4@4 ~ bb3 ~@3", I: "[gb4,g4]@2 ~@2 gb4@3 f4@4 ~ db4 ~@2 ab4@4 ~ bb4@9 ~@3",
  J: "~@19 b3@3 ~ bb3@4 gb3 ~@4", K: "[eb4,f4]@2 ~ f4@3 ~ eb4@4 c4 ~@3 g4@3 ~ c5@3 ~@10, ~@15 f4 ~@16",
  L: "~@20 eb4@3 d4@4 ~ bb3 ~@2 g4", M: "gb4@2 ~@2 gb4@3 f4@4 ~ db4 ~@2 ab4@4 ~ bb4@9 ~@3",
  N: "[~@20 f4@3 eb4@4 c4 ~@3 f4@3 ~ f4@3 ~ eb4@4 ~ c4 ~@2 g4@3 ~ c5@3 ~@10, ~@47 f4 ~@16]/2",
  O: "~@20 f4@3 eb4@4 ~ c4 ~@3", P: "~@18 g4 ~@3 f4 ~ g4 ~ g4 ~ f4 ~@3",
  Q: "~@4 gb4@3 f4@4 ~ db4 ~@2 ab4@4 ~ bb4@9 ~@3", R: "~@20 b3@3 bb3@4 gb3 ~@4",
  S: "[~@19 f4@3 ~ eb4@4 c4 ~@3 f4@3 ~@2 f4@3 eb4@4 c4 ~@3 g4@3 ~ c5@3 ~@10, ~@47 f4 ~@16]/2",
  T: "~@20 f4 [f4,g4] ~ eb4@4 ~ c4 ~@3", U: "~@19 b3@3 ~ bb3@4 gb3 ~@3 eb4",
  V: "f4@2 ~ f4@3 ~ eb4@4 c4 ~@3 g4@3 ~ c5@3 ~@10, ~@15 f4 ~@16",
  W: "[~@19 f4@3 ~ eb4@4 c4 ~@3 f4@3 ~ f4@3 ~ eb4@4 c4 ~@3 g4@3 ~ c5@3 ~@10, ~@47 f4 ~@16]/2",
  X: "~@16 g4 ~ g4 ~ g4@2 f4 ~ g4@4 f4@2 ~@2", Y: "~@7 f4 ~ f4 ~@2 eb4 f4 ~@3 f4 ~@5 f4@4 eb4@2 ~@3",
// … 204 more lines

More by Roberta Flack