Strudelify
How Deep Is Your Love cover art

How Deep Is Your Love

Take That

KeyE majorTempo100 bpm
0:00/0:00
// How Deep Is Your Love — Take That
// 100 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 91 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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 · epiano1 · "#Soft EP."
const epiano1 = note(`<
  ~@2 A@2 B ~@14 C D E F G@2 H I@4 ~@2 J@6 K L@2 M@2 C D E F N@2 O@5 ~@2 P@6 K Q@3 M@2 C D E F R@2 S T@4 A@2 U@6 V@3 ~
>`.pickRestart({
  A: "[~@12 f#4@2 ~@8 b3@2 [g#2,d#4,f#4,b4] ~ [g#2,b3,d#4,f#4,b4]@3 ~ [b2,a3,c#4,e4,g#4,b4] ~, ~@6 e5@9 ~@17, ~@8 d#5@7 ~ e2@8 ~@8, ~@10 b4@4 [b3,e4,g#4]@9 ~@9]/2", // G#m7 C#m7 E
  B: "~ [b2,a3,c#4,e4,g#4,b4]@3", C: "[b3,e4,g#4,b4]", D: "[b3,d#4,g#4,b4]", E: "[e4,g#4,b4,c#5]",
  F: "[f#4,a4]@2 [e4,g#4,g#5] [f#4,a4,a5], [c5,e5]", G: "[[b3,e4,g#4,b4,b5]@14 [d4,f#4,a4,b4]@17 ~]/2",
  H: "[c#4,f4,g#4,b4]", // C#7
  I: "[[b3,c#4,f4,g#4]@6 [c#4,f4,a4]@3 ~@5 [c#4,e4,f#4]@10 ~@2 [f#4,a4]@2 [g#4,b4]@2 [e4,a4,c5]@6 [e4,a4,c5]@2 [e4,g#4,b4]@3 ~ [e4,f#4,a4]@4 ~@2 [e4,b4]@16, d6@21 ~@43, ~@5 c#6@8 ~@19, ~@5 [c#4,f4,g#4]@2 [a4,a5]@6 e4@2 ~@8 b3@7 ~@2, ~@6 b5@7 ~@19]/4", // C#7 C#aug F#7 F#m G#m Am E F#m7 …
  J: "[~@10 g#4@2 a4@2 e4@10 ~@24 [a3,e4]@8 ~@2 [b3,g#4]@3 ~ [b3,f#4]@8 ~@4 b4@4 ~@2 [b3,e4,g#4]@15 ~, ~@7 [b3,g#4,b4]@8 [b3,b4]@7 ~ [g#3,a4]@5 ~@20, ~@24 d#4@6 ~@2 [c#4,e4,g#4]@12 ~@4 c#4@13 ~@35, ~@26 e5@16 e5@15 ~@21 c#5@17 ~, ~@28 d#5@15 ~ d#5@13 ~@13 a4@6 ~@20]/6", // A5 E B5 E B Amaj7 C#m
  K: "[g#3,b3,d#4,f#4]", L: "[[a3,c#4,e4,g#4]@6 ~ [a3,c4,e4,f#4]@2 [b3,c4,e4,g#4]@2 [c4,e4,f#4,a4]@5]/2",
  M: "[[g#3,d#4,f#4,b4]@5 ~ [f#3,c#4,e4,a4]@5 ~ [b2,a3,c#4,e4,g#4,b4]@18 ~@2]/2", // G#m7 F#m7 C#m7
  N: "[b5@5 e5@2 [d4,f#4,a4,b4,d5]@9, [b3,e4,g#4,b4]@7 ~@9]/2", // Bm7 E
  O: "[c#5@10 b5@2 c#6@2 ~@2 [b3,c#4,f4,g#4]@6 [c#4,f4,a4]@3 ~@5 [c#4,e4,f#4]@10 ~@2 [f#4,a4]@2 [g#4,b4]@2 [e4,a4,c5]@6 [e4,a4,c5]@2 [e4,g#4,b4]@3 ~ [e4,f#4,a4]@4 ~@2 [e4,b4]@16, [c#4,f4,g#4,b4]@8 ~@5 [c#4,f4,g#4]@2 [a4,a5]@6 e4@2 ~@8 b3@7 ~@2, ~@7 d6@6 c#6@8 ~@19, ~@14 b5@7 ~@19]/5", // C#7 C#aug F#7 F#m G#m Am E F#m7 …
  P: "[~@10 g#4@2 a4@2 e4@10 d#4@6 ~@2 [c#4,e4,g#4]@12 ~@4 [a3,e4]@8 ~@2 [b3,g#4]@3 ~ [b3,f#4]@8 ~@4 b4@4 ~@2 [b3,e4,g#4]@15 ~, ~@7 [b3,g#4,b4]@8 b3@7 ~ g#3@5 ~@20, ~@48 c#4@13 ~@9 a4@6 ~@2 c#5@17 ~]/6", // C#m A5 E B5 E
  Q: "[[a3,c#4,e4,g#4]@12 ~@2 [a3,c4,e4,f#4]@4 [b3,c4,e4,g#4]@4 ~@10 a5@15 ~, ~@11 [c4,e4,f#4,a4]@13, ~@28 e5@19 ~, ~@30 b5@17 ~]/3", // Amaj7 F#m7b5 E F#m7b5
  R: "[~@10 e5@4 [d4,f#4,a4,b4,d5]@17 ~, [b3,e4,g#4,b4,b5]@7 ~@9]/2", S: "[c#4,f4,g#4,b4,c#5]",
  T: "[[b3,c#4,f4,g#4]@6 [c#4,f4,a4]@3 ~@11 a4@5 ~ [f#4,a4]@2 [g#4,b4]@2 [e4,a4,c5]@6 [e4,a4,c5]@2 [e4,g#4,b4]@3 ~ [e4,f#4,a4]@4 ~@2 [e4,b4]@16, d6@14 [c#4,e4,f#4,a4]@2 f#5@2 b4@7 ~ e4@4 ~@16 b3@14 ~@4, ~@5 c#6@8 ~@19, ~@5 [c#4,f4,g#4]@2 a5@6 ~@19, ~@6 b5@7 ~@19]/4", // C#7 C#aug F#m G#m Am E F#m7 E5 …
  U: "[~@12 f#5@2 ~@6 [e4,g#4]@2 b3@2 [g#2,d#4,f#4,b4] ~ [g#2,b3,d#4,f#4,b4]@3 ~@15 f#4@2 ~@8 b3@2 [g#2,d#4,f#4,b4] ~ [g#2,b3,d#4,f#4,b4]@3 ~@11 f#5@2 ~@10 [e4,g#4,b4]@2 b3@2 [g#2,d#4,f#4,b4] ~ [g#2,b3,d#4,f#4,b4]@3 ~ [b2,f#3,a3,c#4,e4] ~, ~@4 [b2,a3,c#4,e4,g#4,b4]@12 [e2,e5]@8 ~@6 [b2,a3,c#4,e4,g#4,b4]@12 b4@4 [b3,e4,g#4]@9 ~@13 d#6@8 f#5@2 g#5@2 e2@8 ~@8, ~@12 b5@12 ~@16 d#5@7 ~ e2@8 ~@6 [b2,a3,c#4,e4,g#4,b4]@12 e5@14 ~@8, ~@14 g#5@10 ~@14 e5@9 ~@19 e6@22 ~@8, ~@35 b5@9 ~@4]/6", // E G#m7 E G#m7 F#m7 C#m7 E C#m7 …
  V: "[~ [b2,a3,c#4,e4,g#4]@11]/3", // C#m7
})).s("gm_epiano1").gain(0.2)

// bass · synth bass 2 · "#FM.Bass"
const bass = note(`<
  ~@3 A B C D E F G H I@2 J K L M N@2 O P Q R S T U V W X C D E F G H I@2 J K L M N@2 O P Q R S T U V W X C D E F G H
  I@2 J K Y Z ~ AA@2 O P Q R S T U V W X AB AC AD AC AB AC AD AC AD AE@3 ~
>`.pickRestart({
  A: "e1@5 ~ e1 ~ g#1@4 ~@2 b1@2", B: "~@4 b1@11 ~", C: "e1@4 ~@2 e1 ~ g#1@4 ~@4",
  D: "f#1@4 ~@2 f#1 ~ c#2@3 ~ f#1 ~ c#2@2", E: "f#1@4 ~@2 f#1 ~ g#1@6 ~@2", F: "b1@9 ~ b1 ~ b1@2 ~@2",
  G: "e1@4 ~@2 e1 ~ g#1@3 ~ g#1@3 ~", H: "c#1@8 ~@2 c#1 ~ e1@2 f#1@2", I: "[f#1@8 ~@6 b1@4 ~@2 b1@8 ~@2 a1 ~]/2",
  J: "a1@4 ~@2 a1 ~@9", K: "g#1@5 ~ g#1 ~@7 g#1@2", L: "f#1@5 ~ f#1 ~@9", M: "d1@12 ~@2 e1 ~",
  N: "[g#1@2 ~ f#1@2 ~ b1@8 ~ e2]/2", O: "e1@12 ~@2 e1 ~", P: "e1@12 ~@2 a1 ~", Q: "a1@12 ~@2 a1 ~",
  R: "a1@4 ~@2 a1 ~ g#1@3 ~ f#1@3 ~", S: "e1@5 ~ e1 ~@7 b1 ~", T: "b1@5 ~ b1 ~@7 c#2 ~",
  U: "c#2@4 ~@2 g#1 ~ g#1@4 ~@2 c#2 ~", V: "c#2@5 ~ d2 ~ c#2@4 ~@2 f#1 ~", W: "f#1@4 ~@2 c#2 ~ c#2@4 ~@4",
  X: "a1@4 ~@2 e2@3 ~ a1@3 ~ e2@2", Y: "f#1@5 ~ f#1 ~@3 f#1@2 ~@2 f#1@2", Z: "d1@3 ~",
  AA: "[g#1@4 ~@2 f#1@3 ~ b2@2 b1@16 ~@2 e2@2]/2", AB: "e1@8 g#1@6 b1 ~", AC: "~@4 b1@9 ~ e2 ~",
  AD: "e1@4 ~@2 e1 ~ g#1@6 b1 ~", AE: "[~ b1@11]/3",
})).s("gm_synth_bass_2").gain(0.3)

// chords · acoustic guitar steel · "St.Str.Gt"
const acoustic_guitar_steel = note(`<
  A B C B D E@2 F@2 G H I@2 J K L@2 M@2 N O@3 P@3 Q R@4 F@2 G H I@2 J K L@2 M@2 N O@3 P@3 Q R@4 F@2 G H I@2 J K S@2 ~
  M@2 N O@3 P@3 Q T@2 B C B U@2 C B V B W ~@3
>`.pickRestart({
  A: "~@7 b2", B: "e2@2 [g#3,b3,e4] e2 ~ [f#3,b3,d#4] ~ [b2,e3,a3,c#4], ~@2 g#2 ~",
  C: "~@10 b2 c#3 e3@2 c#3@2, ~ b2@4 ~@3, ~ [e3,a3,c#4]@2 ~", D: "~ g#4@3, ~ [b2,a3]@7, ~@3 [c#4,e4]@12 ~",
  E: "[g#3@2 [g#3,b3,e4] e2 ~ [f#3,b3,d#4] ~ c#4@2 [c#4,f#4] ~@2 g#3 [g#3,b3,f4] c#3 [g#3,c#4], ~@4 g#2@2 ~ [f#2,e3,a3]@3 [e3,a3,c#4]@2 ~@4, ~@11 c#3@2 ~@3]/2", // E B F#5 Fdim C#5 F#m7 A
  F: "[f#2@2 [e3,a3,c#4] [f#2,f#3] ~ [f#3,b3,d#4] ~@3 [a3,c#4,e4,g#4] e3 ~ [a3,c#4,e4,g#4] [a3,c#4]@2 [b2,a3,c#4], ~@8 g#2@4 ~@2 b2@7 ~ b2@4 e3@2 ~@4]/2", // A F# B Amaj7 A F#m
  G: "e2@2 [e3,g#3,b3] e2 ~ [f#3,b3,d#4] ~ [c#3,f#3,b3,d#4], ~@2 g#2 ~", // E B
  H: "~ [c#3,g#3,b3,e4] ~ [f#3,b3,d#4] ~@2 e3 f#3, ~@3 c#3@2 [g#3,c#4]@2 ~", // C#m7 B C#5
  I: "[~@2 [c#4,f#4]@2 a3@2 [c#4,f#4]@2 [e3,a3,c#4]@2 [b2,e3,a3,c#4,f#4]@2 ~@6 [a3,c#4,e4,g#4]@2 b2 ~ [a3,c#4,e4,g#4]@2 [a3,c#4,e4,g#4]@2 [a3,c#4,f#4]@2 [a3,c#4] ~ a2@2, f#2@3 ~@4 b2@3 ~@6, e3 ~@7]/2", // F#5 A F#m7 Amaj7 F#m A
  J: "~ c#4 g#3 ~@4 a2, a2@6 e4@9 ~, ~@3 a2@3 g#3@2, ~@10 c#4@5 ~", K: "f#3 [b3,d#4] f#3 [b3,d#4,f#4]@4 f#3, g#2@7 ~",
  L: "[~@2 e4 [a3,c#4,e4,g#4] ~@3 [c4,e4]@7 ~@2, f#2 ~@3, e3@6 ~@7 [d3,f#3,a3]@15 ~@4, ~ a3@2 ~@13]/2", // Amaj7 C D
  M: "[[g#2,f#3,b3,d#4] ~@2 [f#2,e3,a3,c#4] ~@2 [a3,c#4,e4,g#4]@8 ~ e3, ~@5 b2@9 ~@2]/2", // G#m7 F#m7 Amaj7
  N: "~@3 [g#3,b3,e4]@4 e2, e2@13 ~@3", // E
  O: "[~@2 [b3,d#4]@2 g#3 ~ [b3,d#4]@2 g#3 ~ [b3,c#4]@2 g#3 ~@9 e4@8 ~@3 c#4 [a#3,b3,d4]@2 ~@4 [g#2,g#3]@3 ~ [f#2,f#3,a3,c4,e4]@4, e2@13 ~ a2@14 ~@2 a2@10 ~@8, ~@16 [e3,g#3,c#4]@12 ~@4 [a3,c4]@2 ~@4 [c4,e4]@5 ~@5]/3", // B Bsus2 A# G# F#m7b5 C#m Am C
  P: "[~@2 [b3,e4]@2 [g#3,b3]@2 ~@2 [b3,e4]@2 [g#3,b3]@2 ~@4 d4@4 ~@2 e4@2 [b3,d4]@3 [c#4,e4]@2 ~ f#4@2 b3@3 ~ b3@2 [g#3,b3,f4]@3 ~ [g#3,b3,f4]@2 ~@2 g#3@2, e2@13 ~ b2@16 c#3@14 ~@4, ~@8 f#3@4 ~@4 [g#3,f4]@3 ~@5, ~@16 a3@3 ~ a3@4 ~@5 d4@2 ~@17]/3", // E5 G#m E5 G#m Bm C#m Fdim C#
  Q: "[b3,f4]@2 g#3@2 ~@2 [a3,f#4]@3 ~ [g#3,f4]@2 ~@2 c#3@2, c#3@9 ~@3 b3@4", // Bdim D C#
  R: "[~@5 [f#3,a3] [g#3,b3] e2 ~ [a#3,b3,c#4,d4] [a3,c4] [g#3,b3]@2 [f#3,a3]@2 e4 g#3@2 [g#3,b3,e4] e2 ~ [f#3,b3,d#4] ~ c#4@2 [c#4,f#4] ~@2 g#3 [g#3,b3,f4] c#3 [g#3,c#4], f#2@7 ~ a2@7 e2@3 ~@2 g#2@2 ~ [f#2,e3,a3]@3 ~ c#3@2 ~@3, ~ a3@4 ~@2 [a3,c4]@2 ~@17 [e3,a3,c#4]@2 ~@4, ~@2 b3@3 ~@27, ~@3 e4@4 ~@25]/4", // F#m G#m Am G#m F#m E B F#5 …
  S: "[~@4 e4@2 [a3,c#4,e4,g#4]@2 ~@8 d3@15 ~, f#2 ~@3, e3@6 ~@7 [f#3,a3]@15 ~@4, ~ a3@2 ~@4 [c4,e4]@7 ~@2]/2", // Amaj7 F#m C
  T: "[~@5 [f#3,a3] [g#3,b3] e2 ~ [a#3,b3,c#4,d4] [a3,c4] [g#3,b3]@2 [f#3,a3]@2 [e2,b2,e4], f#2@7 ~ a2@7 ~, ~ a3@4 ~@2 [a3,c4]@2 ~@7, ~@2 b3@3 ~@11, ~@3 e4@4 ~@9]/2", // F#m G#m Am G#m F#m E5 Am
  U: "[~@8 e2@2 [g#3,b3,e4] e2 ~ [f#3,b3,d#4] ~ [b2,e3,a3,c#4], ~ [b2,a3]@6 b2@6 ~@3, ~@3 [c#4,e4]@12 ~@9 g#2@4 ~@4, ~ g#4@3 ~@4]/2", // E B A B7 C#m
  V: "~@7 b2, ~@2 [b2,a3]@13 ~, ~@3 [c#4,e4]@12 ~, ~ g#4@3", W: "~ e4@3, ~ b2@7, ~@3 [f#3,a3,c#4]@12 ~",
})).s("gm_acoustic_guitar_steel").gain(0.42)

// chords · synth strings 2 · "Syn.Strng"
const synth_strings_2 = note("<~@32 A@7 B@7 C@8 D@4 ~@2 E@3 F@8 G@7 H@2 I@2 H@2 I@2 J@4 ~>".pickRestart({
  A: "[~@23 d#4@8 ~@16 e4@27 [b3,d#4]@4 [a3,c#4,e4]@17 ~ [d#4,f#4]@15 g#4, ~@15 b3@17 c#4@43 ~@20 b3@16 ~, ~@15 e4@8 ~@8 [e4,b4]@16 [f#3,a3]@31 ~@34, ~ g#4@2 ~@4]/7", // B A D#m E5 F#m
  B: "[[a3,c#4,e4]@14 [a3,f#4]@4 [b3,g#4]@4 [f#4,a4]@9 [g#3,b3,d#4,f#4,g#4]@6 ~ [a3,c#4,f#4]@5 [a3,c#4,e4,g#4]@20 ~@16 d#4@16 [a3,c#4,g#4]@16 [c4,a4,c5], ~@14 [c4,e4]@18 ~@5 e4@6 ~@20 e4@48 ~, ~@63 [e3,b3,g#4]@33 ~@16]/7", // A D E F#m G#m7 F#m Amaj7 F …
  C: "[a3@2 [b3,d4,b4,d5]@3 ~@3 g#3@3 ~ a3@3 ~ b3@14 [a3,d4]@9 ~ [b3,d4]@3 [g#3,c#4,e4]@2 [a3,d4,f#4]@2 ~ b3@24 [a3,c#4,f#4]@2 [g#3,b3,f4]@5 [a3,c#4,e4,f#4]@14 ~ [a4,c5]@8 [d4,g#4,b4]@3 ~ f#4@5 e3@17, ~@5 e4@25 f#4@15 ~@48 e4@9 ~@3 [c4,a4]@6 ~@17, ~@6 [c4,c5,e5]@10 ~@23 f#3@3 ~@5 [g#3,f4]@25 ~@56, ~@11 f#3@4 g#4@15 ~@98]/8", // Bm D5 Bm C#m D F#m Fdim F#m7 …
  D: "[~@8 f3@7 f#3@8 g#3@6 ~ b3@34]/4", E: "[~@14 [a3,c#4,e4]@17 ~ [d#4,f#4]@16, ~@31 b3@16 ~]/3",
  F: "[[a3,c#4,e4]@14 [f#3,a3]@4 [g#3,b3]@4 [f#3,a3]@25 [f#3,g#3,b3,d#4]@6 ~ [f#3,a3,c#4]@5 [a3,c#4,e4,g#4]@20 ~@16 d#4@16 [a3,c#4,g#4]@16 [c4,a4,c5], ~@14 [c4,e4]@34 ~@5 e4@6 ~@20 e4@48 ~, ~@79 [e3,b3,g#4]@33 ~@16]/8", // A F#m G#m F#m G#m7 F#m Amaj7 F …
  G: "[a3@2 [b3,d4,b4,d5]@3 ~@3 g#3@3 ~ a3@3 ~ b3@14 [a3,d4]@9 ~ [b3,d4]@3 [g#3,c#4,e4]@2 [a3,d4,f#4]@2 ~ b3@24 [a3,c#4,f#4]@2 [g#3,b3,f4]@5 [a3,c#4,e4,f#4]@14 ~ [a4,c5]@8 [d4,g#4,b4]@3 ~ f#4@6, ~@5 e4@25 f#4@15 ~@48 e4@9 ~@3 [c4,a4]@6 ~, ~@6 [c4,c5,e5]@10 ~@23 f#3@3 ~@5 [g#3,f4]@25 ~@40, ~@11 f#3@4 g#4@15 ~@82]/7", // Bm D5 Bm C#m D F#m Fdim F#m7 …
  H: "[~@4 [b3,e4,g#4]@4 [b3,d#4,f#4] ~ [b3,d#4,f#4]@3 ~@7 [g#4,b4]@12, ~@13 c#4@18 ~, ~@7 e4@9, ~@7 a3@5 ~@4]/2", // E B G#m
  I: "[~@4 [b3,e4,g#4]@4 [b3,d#4,f#4] ~ [b3,d#4,f#4]@3 ~@7 b3@12, ~@13 c#4@18 ~, ~@7 [a3,e4]@9]/2", // E B A5
  J: "[~@4 [b3,e4,g#4]@4 [b3,d#4,f#4] ~ [b3,d#4,f#4]@3 ~@7 [b2,f#3]@44, ~@13 c#4@50 ~, ~@7 [a3,e4]@25]/4", // E B B5 A5
})).s("gm_synth_strings_2").gain(0.18)

// chords · pad sweep · "#Celsl.Pa"
const pad_sweep = note("<~@41 A@2 ~@13 B@6 C D E ~ A@2 ~@11 F ~@3 F ~@3 G@2 ~@2>".pickRestart({
  A: "[~@3 [e5,g#5,b5]@4 ~, ~@11 c#5@16 ~@5]/2", B: "[~@32 e4@16 c#4@16 b3@15 e5@16 ~, ~@15 b4@64 ~@17]/6", C: "d#5",
  D: "c#5", E: "b4@13 ~@3", F: "~@4 [e5,g#5,b5]@11 ~, ~@3 c#5@11 ~@2", G: "[~@4 [a4,c#5,e5]@19 ~@9, ~@3 f#4@19 ~@10]/2",
})).s("gm_pad_sweep").gain(0.32)

// other · lead 1 square · "#Sine Wav"
const lead_1_square = note("<~@64 A@2 ~@21 B@4>".pickRestart({
  A: "[~@9 e5 a5 b5 e6 b5 a5 e5@16 ~]/2",
  B: "[~@4 g#4@2 a4@2 b4@2 ~ b4@2 a4@2 g#4@2 ~ e4@31 ~@15, ~@10 e5@2 ~@5 a4@2 ~@45]/4",
})).s("gm_lead_1_square").gain(0.25).pan(0.3)

// other · acoustic guitar nylon · "Nylon Gtr"
const acoustic_guitar_nylon = note("<~@52 A B@4 C D E@2 ~@17 F G H I ~ J K L M N O ~@2>".pickRestart({
  A: "~@14 g#4 e4",
  B: "[[f#4,g4] g#4@4 ~ f#4 e4 [c#4,d4] d#4@3 e4@2 c#4@8 f#3 g3 [g#3,f4] g#3 f4 g#3 f4 f#4 g#4 a4@5 g#4 f#4 g#4@6 f#4 e4 d#4 b3@5 ~@2 b3 c#4 d#4 b3 ~ e4 b3 f#4 e4 f#4]/4", // Gmaj7 Dmaj7 C#
  C: "[g4,g#4]@2 ~ f#4@5 ~@2 [f#4,g4,g#4] ~@2 g#4 d#5 g#4", D: "e5@3 ~ e5@6 ~@4 c#5 g#4",
  E: "[a4@3 ~ g#4 e4 b3@6 g#4@3 f#4@9 ~@8]/2", F: "~@7 f#4", G: "e4@3 ~",
  H: "~@4 a3 b3 c#4 ~@2 d#4 c#4 ~ b3 c#4@2 a3, ~@4 e4 ~@3", I: "c#4 b3@11 ~@4", J: "~@6 b3 e4 d#4 e4 d#4@2 b3@2 g#3@2",
  K: "~@2 [b4,c5,c#5] ~ b4@4 f#4@5 ~ d#4 e4, ~@8 f4 ~@7", L: "d#4 b3 f#3@4 ~@10",
  M: "~@2 f#4 [g4,g#4] b4@2 c#5@2 [f#4,g4] g#4 f#4@4 ~@2", N: "e3@2 f#3@2 g#3@2 b3@2 d#4 e4 ~ d#4 c#4 g#3 ~ c#4",
  O: "g#3 ~ b3@9 ~@5",
})).s("gm_acoustic_guitar_nylon").gain(0.48)

// other · string ensemble 2 · "#St.Sl.St"
const string_ensemble_2 = note("<~@71 A@8 ~@12>".pickRestart({
  A: "[~@15 g#6@15 f#6@12 g#6@3 f#6@2 f6@16 g#6@8 f#6@3 f6@3 f#6@34 e6@15 ~@2]/8",
})).s("gm_string_ensemble_2").gain(0.24)

// drums · kick
const kick = s("bd").struct(`<
  ~@5 A B A B A B@2 C A B@2 D E ~ B A B F B G A F B F A B A H A B A H A B@2 D E ~ B A B F B G A F B F@2 H F H F H F@2
  B@2 I ~@2 E ~ B A B F B G A F B F B C I C I C I C I J ~@3
>`.pickRestart({
  A: "x", B: "x ~@6 x", C: "~ x ~@5 x", D: "~@7 x", E: "x ~@2 x ~ x!2 ~", F: "x ~@2 x ~ x ~ x", G: "~@5 x ~ x",
  H: "x ~@2 x ~@3 x", I: "x ~@4 x ~ x", J: "~ x ~@6",
})).gain(0.4)

// drums · rim
const rim = s("rim").struct("<~@5 A@11 ~ A ~ A@21 ~ A ~ A@21 ~@2 A ~ A@19 B ~@3>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.56)

// drums · snare
const snare = s("sd").struct("<~@5 A@11 ~ A ~ A@21 ~ A ~ A@21 ~@2 A ~ A@19 B ~@3>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.16)

// drums · clap
const clap = s("cp").struct("<~@20 A ~@7 A ~@15 A ~@7 A ~@16 A ~@7 A ~@13>".pickRestart({
  A: "~@7 x",
})).gain(0.24)

// drums · hihat
const hihat = s("hh").struct("<~@12 A B@3 C D ~ B@21 C D ~ B@21 ~@2 D ~ B@19 E ~@3>".pickRestart({
  A: "~@3 x", B: "x!4", C: "x ~ x ~ x!3 ~", D: "x!3 ~", E: "x",
})).gain(0.56)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@13 A@3 B A ~ A@2 C A C A C A C A D@3 E D@3 C A@3 B A ~ C A C A C A C A C A D A D F D A D C A@3 ~@2 A ~ C A C A C A C
  A C A@2 C A C@2 A C A C ~@4
>`.pickRestart({
  A: "~ x ~ x ~ x ~@2", B: "~@2 x ~@3 x!2 ~@8", C: "~@2 x ~@3 x!2 ~@2 x ~@5", D: "~ x ~ x ~ x ~ x",
  E: "~@2 x ~@3 x!2 ~@2 x ~@3 x ~", F: "~@2 x ~@3 x!2 ~@6 x ~",
})).gain(0.24)

// drums · open hat
const open_hat = s("oh").struct("<~@12 A@5 B A@11 ~@7 A@5 B A@11 ~ A ~ C ~ A ~ A@4 ~@2 B A@20 D ~@3>".pickRestart({
  A: "~@7 x", B: "~@3 x", C: "~@5 x ~@2", D: "~ x ~@2",
})).gain(0.4)

// drums · ride
const ride = s("rd").struct("<~@53 x ~@37>").gain(0.64)

// drums · tambourine
const tambourine = s("tb").struct(`<
  ~@18 A B@2 C D B@3 E B@2 ~@13 A B@2 C D B@3 E B@2 ~@8 F B F ~@4 B@2 C D B@3 E B@4 C D B@3 E B ~@4
>`.pickRestart({
  A: "~ x", B: "~ x ~@2 x ~@3", C: "~@5 x ~@2", D: "~ x ~@3 x ~@2", E: "~@2 x ~@5 x ~ x!2 ~@4", F: "~ x ~@6",
})).gain(0.32)

// drums · cowbell
const cowbell = s("cb").struct("<~@5 A@11 ~@3 A@21 ~@3 A@21 ~@4 A@19 B ~@3>".pickRestart({
  A: "x ~ x ~ x ~ x!2", B: "x!2 ~@2",
})).gain(0.24)

// drums · bongos
const bongos = s("bongo:4").struct("<~@13 A@3 ~@3 A@10 ~@8 A@3 ~@3 A@10 ~@8 A@3 B A ~@2 A@19 C ~@3>".pickRestart({
  A: "x ~@2 x ~@12", B: "~@14 x!2", C: "x",
})).gain(0.84)

// drums · bongos
const bongos_2 = s("bongo:18").struct("<~@13 A@3 ~@3 A@10 ~@8 A@3 ~@3 A@10 ~@8 A@3 ~ A ~@2 A@19 ~@4>".pickRestart({
  A: "~@3 x ~@4",
})).gain(0.84)

// drums · congas
const congas = s("conga:13").struct("<~@5 A@11 ~@3 A@21 ~@3 A@21 ~ A ~@2 A@19 B ~@3>".pickRestart({
  A: "~ x ~@6", B: "x",
})).gain(1.02)

// drums · congas
const congas_2 = s("conga:18").struct("<~@5 A@11 ~@3 A@21 ~@3 A@21 ~ A ~@2 A@19 B ~@3>".pickRestart({
  A: "~@3 x ~ x ~@2", B: "~ x ~@2",
})).gain(1.02)

// drums · congas
const congas_3 = s("conga:33").struct("<~@5 A@11 ~@3 A@21 ~@3 A@21 ~ A ~@2 A@19 ~@4>".pickRestart({
  A: "~@6 x!2",
})).gain(1.02)

// … 40 more lines

More by Take That