Strudelify

Love Ain't Here Anymore

Take That

KeyD majorTempo92 bpm
0:00/0:00
// Love Ain't Here Anymore — Take That
// 92 bpm, 3/4, key D 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: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 111 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(92/3)

// 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
const piano = note(`<
  ~@15 A@8 B@5 C D E ~ F@3 G H ~@10 I J@3 K@8 L@4 M@5 N ~@9 O@6 P Q@5 ~@5 R@4 S@4 T U V ~ W X@2 ~
>`.pickRestart({
  A: "[~@17 [f#3,f#4]@11 [a3,a4]@10 [b3,b4]@32 [a3,a4]@11 ~@10 [d3,d4]@10 ~ b3@31 ~@11 d4@10 c#4@10 ~ b3@32 a3@10 f#3@11 d3@10 b3@28, ~@81 [f#3,f#4]@13 ~@162]/8", // F# A B A D F#
  B: "[~@4 [b3,d4,f#4,b4]@7 [a3,c#4,e4,a4]@24 [d4,f#4,a4]@32 [c#4,e4,a4]@21 [d4,f#4,a4]@3 [c#4,e4,a4]@8 [b3,d4,g4]@32 ~@29]/5", // Bm A D A D A G
  C: "~ [d4,f#4,a4]@15", D: "~@2 [c#4,e4,a4]@21 [d4,f#4,a4]@2 [c#4,e4,a4]@7", E: "~ [b3,d4,g4]@31",
  F: "[~ [d4,b4]@31 [a#4,c#5]@32 d5@21 c#5@7 d5@3 ~, ~ f#4@95, ~@2 a4]/3", G: "[g#4,b4,e5]@23 ~@9",
  H: "~@10 [a4,d5,f#5,a5]@4 [g4,b4,e5,g5]@3 [f#4,a4,d5,f#5]@6 ~@9", I: "~@11 f#3@10 a3@11",
  J: "[b3@31 ~@11 a3@11 f#3@10 [g3,b3]@32 [a3,c#4], ~@31 d4@32 ~@33]/3", // G A
  K: "[~@9 [b3,d4]@10 ~ [a3,c#4]@10 ~ g3@21 d4@10 a3@11 d3@10 a3@11 d4@11 g3@21 [f#4,a4]@10 ~ [b3,g4]@10 [d4,f#4,a4]@10 ~ [d4,f#4,a4]@31 [c#4,e4,a4]@21 [d4,f#4,a4]@3 [c#4,e4,a4]@8 [b3,d4,g4]@32 ~@3, ~@31 b3@31 f#3@32 b3@31 ~ d4@21 ~@109]/8", // Bm A F#m Em D A D A …
  L: "[~@28 [d4,f#4,a4]@32 [c#4,e4,a4]@21 [d4,f#4,a4]@3 [c#4,e4,a4]@8 [b3,d4,g4]@32 ~@4]/4", // D A D A G
  M: "[~@27 [d4,b4]@32 [a#4,c#5]@31 d5@21 c#5@7 d5@3 ~ [g#4,b4,e5]@23 ~@15, ~@27 f#4@95 ~@38, ~@45 a4@16 ~@19]/5", // G A#m E
  N: "~@4 [a4,d5,f#5,a5]@4 [g4,b4,e5,g5]@3 [f#4,a4,d5,f#5]@6 ~@15", // D Em D
  O: "[~@19 [b3,d4]@10 [a3,c#4]@22 ~@10 [b3,d4,g4]@18 ~@13 [c#4,f#4,a4]@19 ~@13 [d4,g4,b4]@19 ~@12 [c#4,e4,a4]@9 ~ [c#4,e4,a4]@2 ~@9 [e3,e4]@10 [d3,d4]@4 ~@2]/6", // Bm A G F#m G A E D
  P: "~@12 [f#3,f#4] ~@3 [f#3,f#4]@10 [e3,e4]@3 ~@3", // F# E
  Q: "[~@15 [a3,e4]@10 ~ [a3,d4]@10 ~@21 [c#4,e4]@10 [d#4,f#4]@10 ~ g#4@23 ~ f#4@4 g#4@3 [d#4,f#4]@31 ~@20, ~@78 b3@63 ~@19, ~@78 e4@31 ~@51]/5", // A5 D5 C#m D#m
  R: "[~@8 [e4,g#4,b4]@31 ~ [d#4,f#4,b4]@21 [e4,g#4,b4]@2 [d#4,f#4,b4]@8 [c#4,e4,a4]@31 ~@26]/4", // E B E B A
  S: "[~@6 [e4,g#4,b4]@31 [d#4,f#4,b4]@21 [e4,g#4,b4]@2 [d#4,f#4,b4]@8 [c#4,e4,a4]@31 ~@29]/4", T: "~@3 [e4,g#4,b4]@29",
  U: "~@2 [d#4,f#4,b4]@21 [e4,g#4,b4]@3 [d#4,f#4,b4]@6", V: "~ [c#4,e4,a4]@15", W: "[e4,g#4,b4]@31 ~",
  X: "[[d#4,f#4,b4]@20 [e4,g#4,b4]@3 [d#4,f#4,b4]@8 [c#4,e4,a4]@31 ~@2]/2", // B E B A
})).s("gm_piano").gain(0.06)

// chords · epiano2
const epiano2 = note(`<
  A@8 B@4 C@7 D@2 E F G ~@14 H I J K L M N O L P ~@2 Q@3 ~@14 R@5 S T U V W@2 X Y Z AA AB AC ~@2 AD@2 ~@23
>`.pickRestart({
  A: "[~@11 d4@28 d4@4 ~@21 f#4@11 ~@53 e5@10 ~@11 a3@15 ~@6 e4@7 f#4@3 ~ e4@10 f#4@10 ~ [b3,d4]@31 ~ a4 ~@2 a4 ~@3 b4 ~@2 a4 ~@3 a4 ~@2 b4 ~@3 a4, ~@11 [d2,a3,f#4]@32 [b2,a3,c#4]@33 ~@31 [a2,a3,d5]@32 ~@28 a3@33 ~@56, ~@43 e4@10 e4@22 [e2,g3,b3,d4]@32 ~@149, ~@50 f#4@14 ~@39 a4@14 [e4,g4,a4]@21 ~ f#4@29 ~@88]/8", // Bm D F#m D5 Em7 A7
  B: "[~@2 a4 ~@3 b4 ~@2 a3@28 ~@4 e4@7 f#4@3 e4@11 f#4@10 [g3,b3,d4]@31 ~ a3@11 [b3,d4]@10 [c#4,e4]@3, ~@9 [d4,f#4]@32 c#4@32 ~@55, ~@37 a3@35 ~@56]/4", // G Bm C#m D
  C: "[~@8 a3@28 ~@3 e4@7 f#4@3 ~ e4@11 f#4@10 [g3,b3,d4]@31 ~@11 f#3@10 ~ a3@9 ~ [g3,b3]@29 ~@3 [f#3,a3]@29 ~@3 [g3,b3]@26, ~@8 [d4,f#4]@31 c#4@32 ~@153, ~@36 a3@35 ~@32 [b2,c#4]@30 ~@91]/7", // G F#m G D Bsus2
  D: "[~@5 [a3,c#4]@11 [b3,d4]@10 [a3,c#4]@9 ~@2 [g3,b3]@27]/2", E: "~@5 [f#3,a3]@27", F: "~ [g3,b3]@7",
  G: "~@4 [e3,a3]@20 ~ [a3,c#4]@7", H: "~@17 [d4,f#4,a4]@3 ~ [b3,g4]@11, ~@21 d4 ~@10",
  I: "[a3,f#4]@11 [a3,d4] ~@9 [d3,g3]@10 ~, d4 ~@10 f#3@10 ~@11", J: "[d3,f#3,a3]@31 ~", K: "[f#3,a3,c#4]@31 ~",
  L: "[d3,g3,b3]@31 ~", M: "[g3,b3,d4]@31 ~", N: "[f#3,a3,d4]@15 ~", O: "[a3,c#4,e4]@31 ~", P: "[f#3,a3]@15 ~",
  Q: "[~@31 c#4@10 d4@10 ~ c#4@10 ~ b3@30 ~@3]/3",
  R: "[~@26 [g3,b3]@30 ~ [e3,a3]@26 ~@6 [a3,d4]@29 ~@3 d4@10 f#3@10 ~ d4@10 [g3,b3]@8, ~@121 a3@31 ~@8]/5", // G A5 D5 G
  S: "~@3 [b3,d4]@2 ~ g3 ~@2 [b3,d4]@3 ~ g3 ~@2 [b3,d4]@3 ~ g3 ~@2 [a3,c#4]@8 ~", // Bm A
  T: "~@2 [a3,c#4]@2 ~ e3 ~@3 [a3,c#4]@3 e3 ~@3 [a3,c#4]@3 e3 ~@3 [b3,d4]@8 ~", // A Bm
  U: "~ [b3,d4]@3 ~ g3 ~@2 [b3,d4]@3 ~ g3 ~@2 [b3,d4]@3 ~ g3 ~@2 [a3,c#4]@7 ~@3", // Bm A
  V: "[a3,c#4]@3 ~@4 [a3,c#4]@3 ~@4 [a3,c#4]@4 ~@3 [g3,b3]@8 ~@3", // A G
  W: "[[b3,d4]@3 ~@4 [b3,d4]@3 ~@4 [b3,d4]@3 ~@4 [a3,c#4]@7 ~@3 [a3,c#4]@2 ~@5 [a3,c#4]@3 ~@4 [a3,c#4]@4 ~@3 [g3,b3]@8 ~@2 [b3,d4]@2]/2", // Bm A G Bm
  X: "~@5 [b3,d4]@3 ~@4 [b3,d4]@3 ~@4 [a3,c#4]@7 ~@4 [a3,c#4]@2", // Bm A
  Y: "~@5 [a3,c#4]@3 ~@4 [a3,c#4]@4 ~@3 [b3,d4]@7 ~@3 [b3,d4]@3", // A Bm
  Z: "~@4 [b3,d4]@3 ~@4 [b3,d4]@3 ~@4 [a3,c#4]@7 ~@3 [a3,c#4]@2 ~@2", // Bm A
  AA: "~@3 [a3,c#4]@4 ~@3 [a3,c#4]@4 ~@3 [g3,b3]@7 ~@4 [b3,d4]@2 ~@2", // A G Bm
  AB: "~@3 [b3,d4]@3 ~@4 [b3,d4]@3 ~@4 [a3,c#4]@7 ~@3 [a3,c#4]@3 ~@2", AC: "~@2 [a3,c#4]@4 ~@3 [a3,c#4]@3 ~@20",
  AD: "[~@25 [a3,c#4]@10 [b3,d#4]@10 ~@19]/2", // A B
})).s("gm_epiano2").gain(0.28).pan(0.9)

// bass · fretless bass
const bass = note(`<
  ~@4 A@8 B C@4 D E F G H I J K L M@2 N O P Q R S T U V@4 W X Y Z W X AA AB AC@7 AD@6 AE@6 AF@5 AG AH AI AJ AK@3 AL@7
  AM@2 AN AO AP AQ AR@3 AS AT AU@3 AV AW AX@3 AY AZ ~@4
>`.pickRestart({
  A: "[~@11 d2@27 ~ f#1@3 b1@21 b1@3 ~ f#1@3 f1@3 ~ e1@31 ~ a1@31 d1@32 f#1@31 g1@31 ~ a1@24]/8",
  B: "~ b1@3 a1@4 d1@24", C: "[~@4 d1@3 f#1@31 ~ g1@31 ~ b1@23 ~ b1@3 ~ a1@3 e1@21 ~@5]/4",
  D: "~@3 e1@3 f#1@9 ~@2 f#1@5 ~@10", E: "~@2 f#1@3 ~ g1@10 g1@6 ~@10", F: "~@2 g1@3 a1@10 ~ b1@9 ~ d2@3 ~ b1@2",
  G: "~@2 a1@3 e1@10 ~ e1@6 ~@10", H: "~ e1 ~@3 f#1@9 ~ f#1@6 ~@11", I: "~ f#1@3 g1@9 ~@2 g1@8 ~@9",
  J: "g1@3 ~ a1@7 b2@5 ~@6 a2@3 f#2@2 ~ e2@3 ~", K: "c#2@3 d2@21 ~@8", L: "f#1@3 b1@10 ~ a1@9 ~ b1 ~@3 a1 ~@2 f#1",
  M: "[~@3 e1@24 ~@4 f#1@3 a1@22 ~@3 f#2 ~@3 e2]/2", N: "~@2 d2@21 ~@7 f#1@2",
  O: "~@2 b1@10 a1@9 ~@2 b1 ~@2 a1 ~@3 f#1 ~", P: "~ e1@24 ~@5 g1@2", Q: "~ a1@26 ~@2 a1@2 ~",
  R: "~ b1@20 ~ b2 ~@6 b1@2 ~", S: "a#1@21 ~ a#2 ~@6 a#1@3", T: "a1@21 a2@6 ~ a1@3 ~", U: "g#1@10 e1@10 ~ f#1@10 ~",
  V: "[g1@20 ~ d1@5 ~@2 g1@2 ~ a1@14 ~@4 b2@3 ~ a2@3 f#2@3 e2@3 ~ d2@64 ~]/4", W: "d1@31 ~", X: "f#1", Y: "g1",
  Z: "a1@20 ~ b1@4 a1@3 f#1@3 ~", AA: "g1@28 a1@3 ~", AB: "b1@3 ~ e3@3 ~@7 b2@3 ~ a2@3 g2@3 ~ f#2@3 d2@3 ~",
  AC: "[e2@10 e1@6 ~ e1 ~@6 e1 ~@3 e1@3 f#1@9 ~@2 f#1 ~@17 f#1@3 g1@10 ~ g1@9 ~@8 g1@3 ~ a1@10 b1@9 ~@2 d2@3 b1@3 ~@5 e1@10 e1@6 ~@12 e1@3 f#1@9 ~@2 f#1@10 ~@8 f#1@3 g1@10 ~ g1@4 ~@6 d3@3 ~ b2@3 ~ a2@3 ~@2]/7",
  AD: "[~@2 f#2@3 e2@3 ~ d2@3 b1@4 a1@3 b1@4 a1@3 f#1@3 ~ d2@21 ~@7 f#1@3 b1@10 ~ a1@9 ~ b1 ~@3 a1 ~@2 f#1 ~@3 e1@24 ~@4 f#1@3 ~ a1@22 ~@2 f#2 ~@3 e2 ~@2 d2@21 ~@7 f#1@3 ~ b1@4]/6",
  AE: "[~@7 a1@9 ~ b1 ~@3 a1 ~@2 f#1 ~@3 e1@24 ~@4 g1@2 ~ a1@26 ~@2 a1@2 ~@2 b1@20 ~ b2 ~@6 b1@2 ~@2 a#1@21 a#2 ~@6 a#1@3 a1@21 a2@6 ~ a1@3 ~ g#1@6]/6",
  AF: "[~@4 e1@10 ~ f#1@10 ~ g1@20 ~ d1@5 ~@2 g1@2 ~ a1@13 ~@5 b2@3 a2@3 f#2@3 ~ e2@3 ~ d2@23 ~ b1@2 ~@2 a1 ~@3 d1@17 e2@3 ~ d2@2 ~ a1@3 ~ f#1@3 e1@8]/5",
  AG: "~@3 e2@5 ~@12 e1@3 f#1@9", AH: "~@2 f#1@10 e2 ~@3 d2 ~@2 f#1@3 ~ g1@9",
  AI: "~ g1@10 ~@8 g1 ~@2 b1 ~@3 b1@3 a1@3", AJ: "b1 ~@3 b1@3 d2@3 ~ e2@3 d2@3 ~ b1@3 e1@9 ~@2",
  AK: "[e1@10 ~@7 e1@3 ~ f#1@9 ~ f#1@10 ~@8 f#1@3 g1@9 ~ g1@10 ~@15 b2@4 ~@5]/3",
  AL: "[~@5 d2@3 ~@11 e1@10 e1@9 ~@8 e1@3 ~ f#1@9 ~ f#1@11 ~@7 f#1@3 g1@9 ~@2 g1@15 ~@6 a2@3 e2@3 ~ d2@3 c#2@3 ~ b1@3 c#2@3 d2@4 c#2@3 b1@3 ~ e1@9 ~ e1@9 ~@9 f#1 ~@3 f#1@9 ~ f#1@10 ~@11 g1@10 ~ g2@2 ~ g1@2 ~]/7",
  AM: "[~ g1 ~@2 g2 ~@3 g1@2 ~ g1@3 ~@7 c#2 ~@3 c#2@10 d#2@10 ~ e1@9 ~ e1@8]/2",
  AN: "~@3 g#1@3 b1@3 ~ g#1@3 c#2@11 b1@8", AO: "~@2 c#2@3 ~ b1@3 g#1@3 f#1@20", AP: "~ f#2@10 ~ b1@9 ~ c#3@10",
  AQ: "~ b2@3 g#2@4 f#2@3 e1@9 ~@2 e1@10",
  AR: "[b1@3 g#1@3 ~ b1@3 c#2@10 ~ b1@10 c#2@3 ~ b1@3 g#1@3 ~ f#1@9 ~ f#1@9 ~@2 f#2@3 f#1@3 ~ f#2@3 b1@11 b2@3 b1@2 ~ b1@4 b2@2]/3",
  AS: "~ b1@2 ~@2 b1@3 e1@9 ~@2 e1@10 g#1@3", AT: "~ b1@3 g#1@4 c#2@10 b1@10 ~ c#2@3",
  AU: "[b1@4 g#1@3 f#1@21 f#2@10 b1@9 ~@2 c#3@10 b2@3 ~ g#2@3 f#2@3 ~ e1@9 ~ e1@10 ~ b1@3 g#1@2]/3",
  AV: "~@2 b1@3 c#2@10 b1@10 ~ c#2@3 b1@3", AW: "~ g#1@3 f#1@9 ~@2 f#1@9 ~ f#2@4 f#1@3",
  AX: "[f#2@3 ~ b1@10 b2@4 b1@2 ~ b1@4 b2@3 b1@2 ~ b1@3 ~ e2@21 ~@7 g#1@3 c#2@10 ~ b1@9 ~ c#2 ~@3 b1 ~@2 g#1 ~]/3",
  AY: "~@2 f#1@24 ~@3 g#1@3", AZ: "~ b1@22 ~@9",
})).s("gm_fretless_bass").gain(0.34)

// bass · fretless bass · soft notes
const bass_soft = note("<~@37 A ~@9 B ~@3 C ~@17 D ~@8 E F ~@26 G H I@3>".pickRestart({
  A: "~@14 b2 ~@17", B: "~@7 d3@3 ~ c#3@3 ~@18", C: "~@27 a1@3 ~@2", D: "~@7 b2 ~@24",
  E: "~@12 e3@4 d3@3 c#3@4 ~@3 a2@4 f#2@2", F: "~ e2@4 ~@3 c#2@4 b1@3 a1@4 ~@13", G: "~@25 g#2 ~@3 f#2 ~@2",
  H: "e2@21 ~@7 g#1@3 ~", I: "[c#2@10 b1@9 ~ c#2 ~@3 b1 ~@2 g#1 ~@3 f#1@24 ~@4 g#1@3 b1@22 ~@12]/3",
})).s("gm_fretless_bass").gain(0.15)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~@4 A@6 B@8 C@7 D E F G H E F I@4 J@5 K@3 L@7 M@4 N@2 O@4 P@7 Q@7 R@8 S T U@2 V@7 W@7 X Y@3 Z@2 AA@4
>`.pickRestart({
  A: "[~@10 [d2,f#4]@31 e4@8 f#4@4 e4@10 f#4@10 e2@31 ~ g3@32 d3@30 ~@2 c#4@23, ~@10 a3@64 ~@63 [f#3,a3]@55, ~@10 d4@28 ~@3 b2@33 ~@30 a2@33 ~@30 f#2@25, ~@41 c#4@23 ~@9 [b3,d4]@63 ~@56]/6", // D F#m Bm
  B: "[~@8 d3@30 ~@2 d4@32 d4 ~@30 c#4@27 ~@3 [g3,b3,d4]@32 [b2,f#3,a3,c#4,e4]@32 [e3,g3,b3,d4]@31 [f#3,a3,c#4,e4]@28, ~@7 g2@31 a2@33 ~@185, ~@4 [g3,b3]@32 [f#3,a3]@31 ~@61]/8", // G F#m7 Em7 F#m7 G F#m
  C: "[~@4 [g3,b3,d4]@32 ~ [a2,a3,c#4,e4]@9 [b2,b3,f#4]@11 [d3,a3,c#4,e4]@10 ~@2 e2@30 [f#2,f#3,a3,c#4]@33 [g2,d3,g3,b3]@30 ~@2 [a3,c#4,e4]@30 [d3,a3,d4]@30, ~@46 d4@8 ~@13 [g3,b3,d4]@32 ~@63 f#4@31 ~ f#4 ~@29]/7", // G A B5 A F#m G A D5 …
  D: "~ [a3,c#4,e4]@30 ~, ~ b2@10 ~@21", E: "~ [e3,g3,b3,d4]@31", F: "~ [a2,g3,b3,d4]@31", G: "~ [d3,a3,d4,f#4]@15",
  H: "~ [a3,c#4,e4]@15, ~@2 b2@11 ~@19", // A
  I: "[~ [b3,d4]@30 c#4@31 [a3,d4]@32 [b3,e4,g#4]@33 [b3,d4,f#4], ~ f#4@95 ~@32, ~@31 a#3@28 ~@69]/4", // Bm D5 E Bm
  J: "[~@31 c#4@31 ~ [f#3,d4]@64 [d3,f#3]@33, ~@30 e4@33 ~@97, ~@31 a3@96 a3 ~@32]/5", // D
  K: "[c#4@30 [d3,g3,b3]@31 ~ [g3,b3,d4]@23 [e3,a3,c#4]@9 [f#3,d4]@2, ~@94 a3 ~]/3", // G A D
  L: "[~@30 [c#4,f#4]@32 [d3,g3,b3]@33 c#4@12 d4@10 c#4@9 [e2,g3,b3,d4]@32 [f#2,f#3,a3]@31 [g2,d3,g3,b3]@32 ~@2 [e3,a3,c#4], ~@95 [b2,f#3,a3]@31 ~@32 d4 ~@65]/7", // F#5 G Em7 F#m G A B7
  M: "[~@8 d4@10 c#4@12 ~ [e2,g3,b3]@29 ~ d4@31 [g2,d3,g3,b3]@33 ~ [a2,a3,c#4,f#4]@2, ~@4 f#3@11 ~@15 [f#2,f#3,a3]@16 ~@18]/4", // Em G F#m
  N: "[~@8 g4@11 [c#4,f#4]@10 [d3,d4]@31 [b2,c#4,e4]@4, ~@7 d4@11 ~ a3@40 ~ a3 ~@3, ~@29 f#4 ~@34]/2", // F#5 D C#m7
  O: "[~@27 [e3,g3,b3,d4]@31 ~ [a2,g3,b3,d4]@33 [d3,a3,d4,f#4]@31 ~ [b2,a3,c#4,e4]@4]/4", // Em7 G D A
  P: "[~@28 [e3,g3,b3,d4]@31 [a2,g3,b3,d4]@31 ~ [b3,d4]@30 c#4@32 [a3,d4]@31 [b3,e4,g#4]@33 [d4,f#4]@7, ~@91 f#4@95 ~@38, ~@121 a#3@28 ~@68 b3 ~@6]/7", // Em7 G Bm D5 E D
  Q: "[~@25 c#4@31 [f#3,d4]@62 [e2,b3]@32 [f#2,a3,c#4,e4]@31 [g2,b3,d4,f#4]@31 [a3,c#4,e4]@12, ~@24 e4@33 ~@61 g3@29 ~@77, ~@25 a3@93 d4 ~@105]/7", // D E5 F#m7 Gmaj7 A
  R: "[~@20 [e2,g3,b3,d4]@31 [f#2,a3,c#4,e4]@31 [g2,b3,d4,f#4]@32 [a3,c#4,e4]@31 [e2,g3,b3,d4]@31 [f#2,a3,c#4,e4]@31 ~ [g2,b3,d4,f#4]@31 [a2,e3,c#4]@12 [b2,f#3,d4]@5, ~@239 a3@17]/8", // Em7 F#m7 Gmaj7 A Em7 F#m7 Gmaj7 A …
  S: "~@5 [a2,e3,c#4]@10 ~ [e2,g3,b3]@8 ~ [e2,g3,b3]@3 ~@4", T: "~@16 [f#2,a3,d4]@8 [f#2,a3,d4]@3 ~@5",
  U: "[~@15 [g2,b3,d4,a4]@4 ~@5 [g2,b3,f#4,a4]@22 ~@9 [a2,a3,c#4]@9, ~@15 f#4@2 ~@47]/2", // G Gmaj7 A
  V: "[~@2 [b2,b3,d#4]@11 [e3,e4,g#4]@30 [d#4,f#4]@31 ~ [f#3,a3,c#4,e4]@31 [b2,a3,c#4,e4]@33 [e3,e4,g#4]@30 [d#4,f#4]@31 [f#3,a3,c#4,e4]@24, ~@13 b3@61 ~@65 b3@61 ~@24]/7", // B E D#m F#m7 A E D#m F#m7
  W: "[~@7 [b2,a3,c#4,e4]@33 [e3,e4,g#4]@30 [d#4,f#4]@31 [f#3,a3,c#4,e4]@31 ~ [b2,a3,c#4,e4]@32 [e3,e4,g#4]@30 [d#4,f#4]@29, ~@40 b3@61 ~@64 b3@59]/7", // A E D#m F#m7 A E D#m
  X: "~@3 [f#3,a3,c#4,e4]@29", Y: "[~@2 [b2,a3,c#4,e4]@33 [e3,e4,g#4]@30 [d#4,f#4]@31, ~@35 b3@61]/3",
  Z: "[[f#3,a3,c#4,e4]@31 [b2,a3,c#4,e4]@33]/2", // F#m7 A
  AA: "[[e3,e4,g#4]@30 [d#4,f#4]@31 [f#3,a3,c#4,e4]@31 [b2,a3,c#4,e4]@23 ~@13, b3@61 ~@67]/4", // E D#m F#m7 A
})).s("gm_synth_strings_1").gain(0.2).pan(0.6)

// other · string ensemble 1
const string_ensemble_1 = note("<~@7 A B ~@38 C D@7 E@8 F@8 G@2 H I@8 J K L M N@4 O P@8 Q@7 R S@4>".pickRestart({
  A: "~@9 [a4,a5] ~@3 [a4,a5] ~@2 [a4,a5] ~@3 [a4,a5] ~@2 [a4,a5] ~@3 [a4,a5] ~@2 [a4,a5] ~", // A
  B: "~@2 [a4,a5] ~@2 [a4,a5] ~@26", C: "~@22 f#4@2 ~ g4@2 ~ a4@2 ~@2",
  D: "[b4@12 ~ g4@2 ~ a4@2 ~@2 b4@2 ~ c#5@2 ~@2 d5@2 ~@2 e5@10 d5@10 ~ a4@10 ~ b4@20 ~ f#5@2 ~ g5 ~@3 f#5@2 ~@2 e5@10 d5@10 a4@10 ~ b5@20 ~ g5@2 ~@2 a5 ~@2 b5@2 ~@2 a5@31 ~ g5@21 ~ a5 b5 ~ c#6 d6 e6 ~ f#6 g6 g#6 a6@2]/7",
  E: "[~@9 a5 b5 c#6 ~ d6 e6 f#6 ~ g6 g#6 a6 ~ g6 f#6 e6 d6 ~ c#6 b5 a5 f#6@31 e6@32 a5@11 g5@10 f#5@11 d5@21 b5@10 ~@2 a5@60 ~ a5@11 g5@11 f#5@10 e5@6]/8",
  F: "[~@6 d5@9 e5@11 b5@31 c#6@53 d6@11 b5@63 ~ a5@31 ~ d5@32 d4 e4 f#4 g4 ~ a4 f#4]/8",
  G: "[g4 ~ a4 b4 c#5 ~ a4 b4 c#5 ~ d5 e5 d5 ~ f#5 g5 a5 ~ b5 c#6 d6 e6 ~ f6 f#6@21 d6@4 ~@3 b5@3 e6@9]/2",
  H: "~@2 c#6@10 a5@9 ~@2 f#5@9",
  I: "[~ g5@10 ~ b5@8 c#6@25 ~ d6@4 e6@3 f#6@19 ~@2 d6 ~@6 b5@2 ~@2 e6@10 c#6@10 ~ a5@10 b5@20 ~ d6@10 e6@21 f#5 ~ g5 a5 b5 c#6 ~ d6 e6 f6 ~ f#6@21 d6@2 ~@4 b5@2 ~@2 e6@10 c#6@10 ~ a5@9 f#5@16]/8",
  J: "~@4 b5@11 c#6@13 ~@3 d6", K: "~@2 e6 ~@13 [e3,b4,e5]@7 ~@3 [e3,b4,e5]@2 ~@4",
  L: "~@16 [f#3,a4,f#5]@8 ~@2 [f#3,a4,f#5]@3 ~@3", M: "~@15 [g2,d4,f#4,b4]@7 ~@3 [g2,d4,f#4,b4]@3 ~@4",
  N: "[~@25 [e3,c#6,e6]@10 [f#3,d#6,f#6]@11 [e6,g#6]@30 f#6@32 b5@10 a5@10]/4", O: "g#5@11 e5@21",
  P: "[c#6@10 ~ b5@72 a5@11 g#5@11 e5@21 c#6@9 b5@73 ~ a5@10 g#5@11 e5@21 c#6@5]/8",
  Q: "[~@5 b5@73 a5@10 g#5@11 f#5@21 c#6@10 b5@73 a5@11 g#5@10]/7", R: "e5@21 c#6@9 ~@2",
  S: "[b5@73 a5@11 g#5@10 f#5@21 ~@13]/4",
})).s("gm_string_ensemble_1").gain(0.18).pan(0.1)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  A@2 B@7 ~@7 C@8 D E F@3 G H@8 ~@5 I@3 J K@8 L@2 M@4 N@5 O@6 P@3 Q@8 R S T U V@6 W@8 X@3 Y Z@6
>`.pickRestart({
  A: "[~@16 b6 ~@25 e3@7 f#3@3 e3@10 f#3@2, ~@11 f#3@33 ~@20]/2",
  B: "[~@9 d3@32 ~ a5@10 [d5,d6]@11 [e5,e6]@10 ~ f#6@31 [e5,e6]@7 ~@4 [e5,e6]@10 [f#5,f#6]@10 ~ [d5,d6]@21 [b4,b5]@10 a5@22 ~@34, ~@41 a4@11 ~@21 a3@63 b3@64 ~@24, ~@42 a2@31 [d4,f#5]@32 c#4@10 d4@85 ~@24, ~@28 f#6 ~@27, ~@113 f#5@4 ~@107]/7", // D E F# D B D
  C: "[~@6 [e4,g4]@30 [f#4,a4]@32 [g4,b4]@33 [a4,c#5]@11 [b4,d5]@9 [a4,c#5]@10 [g4,b4]@32 [f#4,a4]@32 [g4,b4,d5]@31 [a4,e5]@30]/8", // Em F#m G A Bm A G F#m …
  D: "~@3 [d4,f#4]@29", E: "~ [c#4,e4]@31", F: "[~@34 b4@30 ~ f#4@31, ~ d4@47, ~ b3@31 f#5@16]/3",
  G: "[c#4,e4,e5]@31 ~", // C#m
  H: "[b4@32 d5@33 b4@30 [a#4,c#5]@31 d5@21 c#5@9 d5@3 [e4,g#4,b4]@31 [g4,b4,d5]@33 [a4,c#5,e5]@32 ~, [b3,d4]@65 f#4@94 ~@97, ~@65 d4 ~@60 a4@29 ~@101]/8", // A#m E G A Bm
  I: "[~@15 [f#3,d4]@16 [c#4,e4]@17, ~@5 a3@11]/3", J: "[g3,b3,d4]",
  K: "[f#4@31 [e4,g4]@30 ~ a4@31 [d4,g4]@31 ~ e4@11 f#4@21 [d4,g4]@31 f#4@32 b3@20 ~@2 g4@12 [a3,f#4]@2, b3 ~@60 f#4@32 ~@32 a4@32 ~@31 d4 ~@31 d4@33 ~@3]/8", // Em G5 D
  L: "[~@9 [b3,g4]@10 [a3,f#4]@10 [d4,f#4]@30 [c#4,e4]@5]/2", // Em D C#m
  M: "[~@61 b4@30 [f#4,f#5]@31 ~ [c#4,e4]@5, ~@28 d4@95 ~@5, ~@14 b3@32 ~@15 e5@3]/4", // F# C#m
  N: "[~@26 b4@32 d5@33 b4@30 [a#4,c#5]@32 [a4,d5]@7, ~@26 [b3,d4]@65 f#4@69, ~@91 d4 ~@68]/5", // A#m D5 Bm
  O: "[~@14 c#5@8 d5@3 [e4,g#4,b4]@31 [g4,b4,d5]@33 [a4,c#5,e5]@30 ~@2 f#5@61 [g4,b4]@10, ~@119 [d2,f#4,d5]@63 ~@10]/6", // E G A G D
  P: "[~@13 [e4,g4]@10 [f#4,a4]@30 [g4,b4]@32 ~ [a4,c#5]@10]/3", // Em F#m G A
  Q: "[~@11 d5@9 g4@31 [f#4,a4]@31 [g4,b4]@33 [a4,c#5]@30 [b4,d5]@31 [a4,c#5]@32 [b4,d5]@32 ~ [a4,c#5]@15, ~@11 b4@41 ~@204]/8", // F#m G A Bm A Bm A
  R: "~@4 e4@10 ~@2 [e4,b4]@9 ~ [e4,b4]@4 ~@2", S: "~@16 [d4,a4]@8 ~@2 [d4,a4]@5 ~",
  T: "~@15 [e4,b4]@6 ~@5 [e4,b4]@4 ~@2", U: "~@23 [a3,e5]@9",
  V: "[~@2 [b3,f#5]@11 [e4,g#4]@30 [d#4,f#4]@33 ~@62 g#4@30 ~ d#4@23, ~@38 e4@47 ~@11, ~@76 c#4@61 g#5@32 ~@23, ~@27 c#5@8 ~@7 f#4@6]/6", // B5 E D#m
  W: "[~@41 c#5@30 [g#4,g#5]@31 [d#4,f#4]@32 ~@32 c#5@30 [g#4,g#5]@31 [d#4,f#4]@29, ~@9 e4@94 ~@31 e4@94 ~@28, ~@9 c#4@63 ~@62 c#4@63 ~@59]/8", // G# D#m G# D#m
  X: "[~@11 g#4@5, ~@3 c#4@62 g#5@31, ~ e4@23, ~@9 c#5@8 ~@7]/3", Y: "[d#4,f#4]",
  Z: "[~@63 g#4@31 [d#4,f#4]@32 ~@32 c#5@31 ~@3, ~ e4@94 ~@31 [c#4,e4]@62 ~@4, ~ c#4@61 g#5@32 ~@98, ~@33 c#5@32 ~@127]/6", // D#m C#m
})).s("gm_string_ensemble_2").gain(0.19).pan(0.2)

// chords · piano
const piano_2 = note(`<
  ~@4 A@4 ~@16 B C D E F G H I J K L M@2 N O P Q ~@7 R@7 S@4 T@8 U@4 ~@12 V@4 W@5 X@8 Y Z AA AB AC AD AE AF AG@3
>`.pickRestart({
  A: "[~@11 a3@28 a3@3 e4@6 ~ [d4,f#4]@4 [a3,c#4,e4]@9 ~ [a3,d4,f#4]@11 [g3,b3,d4]@30 ~@24, ~@11 [d2,d4,f#4]@31 b2@32 ~@54, ~@42 c#4@11 ~@75]/4", // D A D G D
  B: "~@3 [a3,d4,f#4]@28 ~", C: "~@3 [a3,c#4,e4]@27 ~@2", D: "~@3 [e3,g3,d4]@29", E: "~@2 [g3,b3,d4]@27 ~@3",
  F: "~@2 [a3,d4,f#4]@29 ~", G: "~ [a3,c#4,e4]@14 ~", H: "~ [e3,g3,d4]@28 ~@3", I: "~ [e3,g3,d4]@30 ~",
  J: "~ [b3,d4]@29 ~@2", K: "[f#3,a#3]@29 ~@3", L: "[f#3,a3]@15 ~",
  M: "[[g#3,b3]@29 ~@2 [g3,b3,d4]@20 ~@2 [g3,b3]@9 ~@2]/2", N: "[a3,c#4,e4]@27 ~@5",
  O: "~@17 [d4,f#4,a4]@3 ~ [b3,g4]@11, ~@21 d4 ~@10", P: "f#4@11 ~@10 [d3,g3]@10 ~, d4 ~@31", Q: "d3@15 ~",
  R: "[d4@10 d4@20 ~ a3@10 ~@22 d4@9 ~@2 [b3,d4]@18 ~@3 [e3,a3]@8 ~@2 d4@7 ~@4 [f#3,a3,c#4]@9 ~@2 [g3,b3,d4]@9 ~ [g3,b3]@16 ~@5 [a3,d4]@9 ~@2 [a3,d4]@10 ~@11 [g3,b3,d4]@9 ~@2 [b3,d4]@9 ~ d4@9 ~@2 a3@2, ~@63 b3@6 ~@155]/7", // Bm A5 F#m G D5 G Bm
  S: "[~@9 [a3,c#4]@6 ~@4 a3@6 ~@5 [a3,d4,f#4]@28 ~@3 [a3,c#4,e4]@27 ~@5 [e3,g3,d4]@29 ~@3 [g3,b3,d4]@3]/4", // A D A Em7 G
  T: "[~@28 [a3,d4,f#4]@29 ~@3 [a3,c#4,e4]@28 ~@4 [e3,g3,d4]@28 ~@3 [e3,g3,d4]@30 ~@2 [b3,d4]@29 ~@3 [f#3,a#3]@29 ~@2 [f#3,a3]@30 ~@2 [g#3,b3]@6]/8", // D A Em7 Bm F# F#m G#m
  U: "[~@25 [g3,b3,d4]@20 ~@2 [g3,b3]@9 ~@2 [a3,c#4,e4]@27 ~@4 [d4,f#4]@13 ~ [a4,d5]@3 [c#5,e5]@2 ~@2 [d5,f#5]@2 ~@2 [e5,g5]@3 [f#5,a5]@2 ~@2 [a5,d6]@4 ~@3]/4", // G A D D5 C#m D Em F#m …
  V: "[~@16 [g3,b3]@9 ~ [g3,b3]@13 ~@9 [a3,d4]@8 ~@2 [f#3,a3,d4]@11 ~@10 [b3,d4]@8 ~@3 [b3,d4]@10 ~@28]/4", // G D5 D Bm
  W: "[~@14 [b3,e4,g#4]@27 ~@4 [d#4,f#4]@7 e4@3 ~ [d#4,f#4]@20 [a3,c#4,e4]@31 ~ [a3,c#4,e4]@31 [b3,e4,g#4]@21, ~@45 b3@31 ~@84]/5", // E D#m A E
  X: "[~@10 [d#4,f#4]@7 e4@3 ~ [d#4,f#4]@20 ~ [a3,c#4,e4]@31 [a3,c#4,e4]@31 [b3,e4,g#4]@27 ~@5 [d#4,f#4]@7 e4@3 [d#4,f#4]@20 ~ [a3,c#4,e4]@31 [a3,c#4,e4]@31 ~ [b3,e4,g#4]@26, ~@10 b3@31 ~@95 b3@31 ~@89]/8", // D#m A E D#m A E
  Y: "~@5 [b3,d#4,f#4]@26 ~", Z: "~ [f#3,a3,e4]@7", AA: "~@4 [a3,c#4,e4]@27 ~", AB: "~@3 [b3,e4,g#4]@27 ~@2",
  AC: "~@2 [d#4,f#4]@7 e4@3 ~ [d#4,f#4]@19, ~ b3@15", AD: "~ [a3,c#4,e4]@15", AE: "~ [a3,c#4,e4]@31",
  AF: "[b3,e4,g#4]@7 ~", AG: "[[b3,d#4,f#4]@26 ~@5 [f#3,a3,e4]@29 ~@2 [a3,c#4,e4]@27 ~@7]/3",
})).s("gm_piano").gain(0.33).pan(0.4)

// chords · piano · soft notes
const piano_soft = note("<~@5 A B@2 ~@31 C D ~@7 E@4 F@2 G@2 ~@27 H@2 ~@26>".pickRestart({
  A: "~@10 a3@11 ~@11", B: "[~@5 e2@15 ~@12]/2", C: "a3@11 [a3,d4] ~@20, ~@11 f#3@11 ~@10", D: "[f#3,a3]@15 ~",
  E: "[[e3,g3]@10 [e3,g3]@20 ~ [d3,f#3]@10 ~ [d3,f#3,a3]@19 ~@2 g3@5 ~@2 [g3,b3]@2 ~@2 g3@17 ~@4 c#4@9 ~ [f#3,a3]@7 ~@16]/4", // Em D G F#m
// … 357 more lines

More by Take That