Strudelify
Go West cover art

1993 · Very

Go West

Pet Shop Boys

KeyG majorTempo120 bpm
0:00/0:00
// Go West — Pet Shop Boys
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 154 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 2"
const piano = note(`<
  ~@10 A B C D E F G H I J K L M I N O I J K L M I N O A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H A
  B C D E F G H A B C D E F G H P Q M R P Q S T U ~@7 V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AE AF AG AH AI AJ AK
  AL AE AF AG AH AI AJ AK AL AM ~@22
>`.pickRestart({
  A: "[c2,c3] ~ [g3,c4,e4] ~ [c2,c3] [g3,c4,e4] ~ [c2,c3] [g3,c4,e4] ~ [c2,c3] [g3,c4,e4] ~ [c2,c3] [g3,c4,e4] ~", // C
  B: "[g1,g2] ~ [g3,b3,d4] ~ [g1,g2] [g3,b3,d4] ~ [g1,g2] [g3,b3,d4] ~ [g1,g2] [g3,b3,d4] ~ g2 [g#1,g3,b3,d4] ~", // G
  C: "[a1,a2] ~ [e3,a3,c4] ~ [a1,a2] [e3,a3,c4] ~ [a1,a2] [e3,a3,c4] ~ [a1,a2] [e3,a3,c4] ~ [a1,a2] [e3,a3,c4] ~", // A Am A Am A Am A Am …
  D: "[e1,e2] ~ [e3,g3,b3] ~ [e1,e2] [e3,g3,b3] ~ [e1,e2] [e3,g3,b3] ~ [e1,e2] [e3,g3,b3] ~ e2 [e1,e3,g3,b3] ~", // E Em E Em E Em E Em
  E: "[f1,f2] ~ [f3,a3,c4] ~ [f1,f2] [f3,a3,c4] ~ [f1,f2] [f3,a3,c4] ~ [f1,f2] [f3,a3,c4] ~ [f1,f2] [f3,a3,c4] ~", // F
  F: "[c2,c3] ~ [e3,g3,c4] ~ [c2,c3] [e3,g3,c4] ~ [c2,c3] [e3,g3,c4] ~ [c2,c3] [e3,g3,c4] ~ [c2,c3] [e3,g3,c4] ~", // C
  G: "[d2,d3] ~ [f3,a3,c4] ~ [d2,d3] [f3,a3,c4] ~ [d2,d3] [f3,a3,c4] ~ [d2,d3] [f3,a3,c4] ~ [d2,d3] [f3,a3,c4] ~", // D F D F D F D F …
  H: "[g1,g2] ~ [d3,g3,b3] ~ [g1,g2] [d3,g3,b3] ~ [g1,g2] [d3,g3,b3] ~ [g1,g2] [d3,g3,b3] a1 g2 [b1,d3,g3,b3] ~", // G
  I: "c2 ~@3 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2", J: "g1 ~@3 g1 ~@2 g1 ~@2 g1 ~@3 g#1 ~",
  K: "a1 ~@3 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2", L: "e1 ~@3 e1 ~@2 e1 ~@2 e1 ~@3 e1 ~",
  M: "f1 ~@3 f1 ~@2 f1 ~@2 f1 ~@2 f1 ~@2", N: "d2 ~@3 d2 ~@2 d2 ~@2 d2 ~@2 d2 ~@2",
  O: "g1 ~@3 g1 ~@2 g1 ~@2 g1 ~ a1 ~ b1 ~", P: "e1 ~@3 e1 ~@2 e1 ~@2 e1 ~@2 e1 ~@2",
  Q: "a1 ~@3 a1 ~@2 a1 ~@2 a1 ~ a1 ~ g1 ~", R: "c2 ~@3 c2 ~@2 c2 ~@2 c2 ~ d2 ~ e2 ~",
  S: "d2 ~@3 d2 ~@2 d2 ~@2 d2 ~@3 d2 ~", T: "g1 ~ g2 ~ e2 ~ f2 ~ g2 ~ e2 ~ d2 ~ g1 ~", U: "c2 ~@15",
  V: "c3 ~ [g3,c4,e4] ~ c3 [g3,c4,e4] ~ c3 [g3,c4,e4] ~ c3 [g3,c4,e4] ~ c3 [g3,c4,e4] ~", // C
  W: "g2 ~ [g3,b3,d4] ~ g2 [g3,b3,d4] ~ g2 [g3,b3,d4] ~ g2 [g3,b3,d4] ~ g2 [g3,b3,d4] ~", // G
  X: "a2 ~ [e3,a3,c4] ~ a2 [e3,a3,c4] ~ a2 [e3,a3,c4] ~ a2 [e3,a3,c4] ~ a2 [e3,a3,c4] ~", // Am
  Y: "e2 ~ [e3,g3,b3] ~ e2 [e3,g3,b3] ~ e2 [e3,g3,b3] ~ e2 [e3,g3,b3] ~ e2 [e3,g3,b3] ~", // Em
  Z: "f2 ~ [f3,a3,c4] ~ f2 [f3,a3,c4] ~ f2 [f3,a3,c4] ~ f2 [f3,a3,c4] ~ f2 [f3,a3,c4] ~", // F
  AA: "c3 ~ [e3,g3,c4] ~ c3 [e3,g3,c4] ~ c3 [e3,g3,c4] ~ c3 [e3,g3,c4] ~ c3 [e3,g3,c4] ~", // C
  AB: "d3 ~ [f3,a3,c4] ~ d3 [f3,a3,c4] ~ d3 [f3,a3,c4] ~ d3 [f3,a3,c4] ~ d3 [f3,a3,c4] ~", // F
  AC: "g2 ~ [d3,g3,b3] ~ g2 [d3,g3,b3] ~ g2 [d3,g3,b3] ~ g2 [d3,g3,b3] ~ g2 [d3,g3,b3] ~", AD: "~ g2 ~ g2 ~ g2 ~ g2",
  AE: "[d2,d3] ~ [a3,d4,f#4] ~ [d2,d3] [a3,d4,f#4] ~ [d2,d3] [a3,d4,f#4] ~ [d2,d3] [a3,d4,f#4] ~ [d2,d3] [a3,d4,f#4] ~", // D
  AF: "[a1,a2] ~ [a3,c#4,e4] ~ [a1,a2] [a3,c#4,e4] ~ [a1,a2] [a3,c#4,e4] ~ [a1,a2] [a3,c#4,e4] ~ a2 [a#1,a3,c#4,e4] ~", // A
  AG: "[b1,b2] ~ [f#3,b3,d4] ~ [b1,b2] [f#3,b3,d4] ~ [b1,b2] [f#3,b3,d4] ~ [b1,b2] [f#3,b3,d4] ~ [b1,b2] [f#3,b3,d4] ~", // B Bm B Bm B Bm B Bm …
  AH: "[f#1,f#2] ~ [f#3,a3,c#4] ~ [f#1,f#2] [f#3,a3,c#4] ~ [f#1,f#2] [f#3,a3,c#4] ~ [f#1,f#2] [f#3,a3,c#4] ~ f#2 [f#1,f#3,a3,c#4] ~", // F# F#m F# F#m F# F#m F# F#m
  AI: "[g1,g2] ~ [g3,b3,d4] ~ [g1,g2] [g3,b3,d4] ~ [g1,g2] [g3,b3,d4] ~ [g1,g2] [g3,b3,d4] ~ [g1,g2] [g3,b3,d4] ~", // G
  AJ: "[d2,d3] ~ [f#3,a3,d4] ~ [d2,d3] [f#3,a3,d4] ~ [d2,d3] [f#3,a3,d4] ~ [d2,d3] [f#3,a3,d4] ~ [d2,d3] [f#3,a3,d4] ~", // D
  AK: "[e2,e3] ~ [g3,b3,d4] ~ [e2,e3] [g3,b3,d4] ~ [e2,e3] [g3,b3,d4] ~ [e2,e3] [g3,b3,d4] ~ [e2,e3] [g3,b3,d4] ~", // E G E G E G E G …
  AL: "[a1,a2] ~ [e3,a3,c#4] ~ [a1,a2] [e3,a3,c#4] ~ [a1,a2] [e3,a3,c#4] ~ [a1,a2] [e3,a3,c#4] b1 a2 [c#2,e3,a3,c#4] ~", // A
  AM: "~ a2 ~ a2 ~ a2 ~ a2",
})).s("gm_piano").gain(0.24).pan(0.6)

// other · lead 1 square · "A.PIANO 2"
const lead_1_square = note("<~@133 A B A B A B A B A B A B A B A B A B A C ~>".pickRestart({
  A: "d5@3 ~ d2 ~@2 d2 ~@2 a#1 ~ g4@2 g5@2, d2 ~@2 d6@3 d5@3 d6@3 ~@2 a#1 ~",
  B: "d5@3 ~ d2 ~@2 d2 ~@2 d2 ~ g4@2 g5@2, d2 ~@2 d6@3 d5@3 d6@3 ~@2 a#1 ~",
  C: "d5@3 ~ d2 ~ d5@3 ~@7, d2 ~@2 d6@3 ~@10",
})).s("gm_lead_1_square").gain(0.24).pan(0.6)

// bass · synth bass 1 · "SYN BASS 1"
const bass = note(`<
  ~@10 A B C D E A F B A B C D E A F B A B C D E A F B A B C D E A F B A B C D E A F B A B C D E A F B A B C D E A F B A
  B C D E A F B A B C D E A F B D G E A D C F B ~@8 A B C D E A F B@2 H C I J B H D C H C I J B H D C H C I J B H D C@2
  ~ K L K L K L K L K L K L K L K L K L K M ~
>`.pickRestart({
  A: "[c3,c4]!16", B: "[g2,g3]!16", C: "[a2,a3]!16", D: "[e2,e3]!16", E: "[f2,f3]!16", F: "[d2,d3]!16",
  G: "[a2,a3]!14 [g2,g3]!2", H: "[d3,d4]!16", I: "[b2,b3]!16", J: "[f#2,f#3]!16", K: "[d2,d3]!10 [a#2,a#3]!6",
  L: "[d2,d3]!13 [a#1,a#2]!3", M: "[d2,d3]!13 [a#1,a#2]!2 ~",
})).s("gm_synth_bass_1").gain(0.11)

// other · percussive organ · "ORGAN 2"
const percussive_organ = note(`<
  ~@10 A B C D E A F B A B C D E A F B A B C D E A F B A B C D E A F B A B C D E A F B A B C D E A F B A B C D E A F B A
  B C D E A F B A B C D E A F B D G E A D C F B ~@8 A B C D E A F B@2 F C H I B F J C F C H I B F J C F C H I B F J C@2
  ~ K@19 L ~
>`.pickRestart({
  A: "c4!2 ~ c4!2 ~ c4!2 ~@2 c4 ~@2 c4 ~@2", B: "g3!2 ~ g3!2 ~ g3!2 ~@2 g3 ~@2 g3 ~@2",
  C: "a3!2 ~ a3!2 ~ a3!2 ~@2 a3 ~@2 a3 ~@2", D: "e3!2 ~ e3!2 ~ e3!2 ~@2 e3 ~@2 e3 ~@2",
  E: "f3!2 ~ f3!2 ~ f3!2 ~@2 f3 ~@2 f3 ~@2", F: "d4!2 ~ d4!2 ~ d4!2 ~@2 d4 ~@2 d4 ~@2",
  G: "a3!2 ~ a3!2 ~ a3!2 ~@2 a3 ~@3 g3 ~", H: "b3!2 ~ b3!2 ~ b3!2 ~@2 b3 ~@2 b3 ~@2",
  I: "f#3!2 ~ f#3!2 ~ f#3!2 ~@2 f#3 ~@2 f#3 ~@2", J: "e4!2 ~ e4!2 ~ e4!2 ~@2 e4 ~@2 e4 ~@2",
  K: "d5!2 f5 ~ d6 ~ d6 ~ g5 ~ g5 ~ f5 d#5 f5 d#5", L: "d5!2 f5 ~ d6 ~ d6 ~ g5 ~ g5 ~ f5 d#5 f5 ~",
})).s("gm_percussive_organ").gain(0.18).pan(0.3)

// other · french horn · "FR.HORN"
const french_horn = note(`<
  ~@2 A B C D E F G H A B I D E F G J ~@15 K L B M D E N G J ~@17 O P Q R ~@2 K L B M D E N G H A B I D E F G J ~@17 O P
  Q R ~@3 S T U V W X Y Z AA T U V W X Y Z AA T U V W X Y Z AB AC AD ~@21
>`.pickRestart({
  A: "e5@6 d5 c5", B: "d5@4 g4@7 ~ g4@4", C: "c5@6 b4 a4", D: "b4@4 e4@7 ~ e4@4", E: "a4@6 g4 f4",
  F: "g4@4 c5@7 ~ c5@4", G: "c5@6 a4 c5", H: "e5@4 d5 ~ d5@6 g4@4", I: "c5@11 c5 b4@2 a4@2", J: "e5@4 d5 ~ d5@10",
  K: "~@3 g4", L: "e5@11 d5@3 c5@2", M: "c5@14 b4 a4", N: "g4@2 ~ c5@3 c5@2",
  O: "~@4 [g3,g4]@4 [g3,g4]@3 [b3,b4]@2 [d4,d5]@2 ~", P: "[c4,c5]@2 a3@2 [e3,e4]@3 ~@9, ~@2 a4 ~@13",
  Q: "b3@3 ~ d4@3 ~ g4@3 ~ b4@3 ~", R: "a4@2 f4@2 c4@3 ~@9", S: "~@12 a4@3 ~", T: "f#5@11 ~ e5@2 d5@2",
  U: "e5@4 c#5@2 a4@5 ~ a4@4", V: "d5@11 ~ c#5 ~ b4@2", W: "c#5@3 ~ a4@2 f#4@5 ~ f#4@3 ~", X: "b4@12 a4 ~ g4 ~",
  Y: "f#4@3 ~ a4@2 d5@5 ~ d5@4", Z: "d5@6 b4 d5", AA: "f#5@3 ~ e5@2 ~ e5@5 a4@4", AB: "f#5@3 ~ e5@2 ~ e5@9",
  AC: "a4@10 ~@2 a4@3 ~", AD: "d5@13 ~@3",
})).s("gm_french_horn").gain(0.39).pan(0.7)

// other · lead 8 bass lead · "FR.HORN"
const lead_8_bass_lead = note("<~@133 A B A B A B A B A B A B A B A B A B A B ~>".pickRestart({
  A: "d4@5 a#4 d#3 a#4", B: "d4@3 d#3",
})).s("gm_lead_8_bass_lead").gain(0.2).pan(0.7)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@2 A@2 B@2 C@2 D E A@2 B@2 C@2 D F@8 G@8 H@8 I ~@7 J@8 K@8 L@8 G@8 M@8 N@8 O@8 P@3 Q@6 R@8 S@8 T@2 U ~@21
>`.pickRestart({
  A: "[e5@11 ~ e5@4 d5@11 ~ d5@4, g4, [c3,c5] [g2,b4]]/2", B: "[c5@12 c5@4 b4@11 ~ b4@4, e4, [a2,a4] [e2,g4]]/2",
  C: "[a4@11 ~ a4@4 g4@3 c5@8 ~ c5@4, c4, [f2,f4] [c2,e4]]/2", D: "c5@3 a4, [d2,d4,f4]", E: "[g2,g3,g4,b4]",
  F: "[[g2,g3,g4,b4]@15 [c5,e5]@16 ~ [b4,d5]@15 ~ a4@15 ~ g4@15 ~@17 [e4,g4]@15 ~ d4@15 ~, ~@15 g4@31 ~ c5@16 b4@16 ~ c4@31 ~@17, ~@48 e4@31 [f4,a4]@16 ~@16 [f4,a4]@16 ~]/8", // G C Bm Em F
  G: "[[d4,g4,b4]@15 [c5,e5]@16 ~ [b4,d5]@15 ~ a4@15 ~ g4@15 ~@17 [e4,g4]@15 ~ d4@15 ~, ~@15 g4@31 ~ c5@16 b4@16 ~ c4@31 ~@17, ~@48 e4@31 [f4,a4]@16 ~@16 [f4,a4]@16 ~]/8", // G C Bm Em F
  H: "[[d4,g4,b4]@15 [c5,e5]@16 ~ [b4,d5]@15 ~ a4@15 ~ g4@4 e4@4 g4@4 e4@3 ~@17 [e4,g4]@15 ~ d4@15 ~, ~@15 g4@31 ~ c5@16 b4@16 ~ c4@31 ~@17, ~@48 e4@19 ~@12 [f4,a4]@16 ~@16 [f4,a4]@16 ~]/8", // G C Bm Em F
  I: "[d4,g4,b4]", // G
  J: "[~@15 [c5,e5]@16 ~ [b4,d5]@15 ~ a4@15 ~ g4@15 ~@17 [e4,g4]@15 ~ d4@15 ~, ~@15 g4@31 ~ c5@16 b4@16 ~ c4@31 ~@17, ~@48 e4@31 [f4,a4]@16 ~@16 [f4,a4]@16 ~]/8", // C Bm Em F
  K: "[[d4,g4,b4]@15 ~ c4@16 b3@8 g3@3 b3@3 ~@2 [a3,a4]@15 ~ b2@4 d3@4 ~@8 f3@11 ~ c3@2 [b2,f4]@2 e4@4 [b3,d4]@4 [c4,e4]@4 [b3,d4]@3 ~ [d3,c4]@12 [e3,d4,g4,b4]@2 [f3,e4,a4,c5]@2, ~@15 g4@31 d4@2 e4@31 f4@12 g4@2 ~@18 [f4,a4]@13 ~@4, ~@15 [c5,e5]@16 ~ [b4,d5]@15 c5@16 b4@16 a4@16 ~@33, ~@64 g4@16 c4@21 ~@27, ~@72 e3@9 ~@15 [c3,g4]@17 ~@15]/8", // G A Bdim Bm C Bm D7 Em7 …
  L: "[e5@4 f5@4 d5@7 [c5,e5]@16 ~ [b4,d5]@15 ~ a4@15 ~ g4@15 ~@17 [e4,g4]@15 ~ d4@15 ~, [g3,d4,g4,b4]@15 g4@31 ~ c5@16 b4@16 ~ c4@31 ~@17, ~@48 e4@31 [f4,a4]@16 ~@16 [f4,a4]@16 ~]/8", // C Bm Em G F
  M: "[[d4,g4,b4]@15 [g4,b4]@16 ~ [a4,c5]@15 ~ [e4,f4]@16 ~@4 b4@4 c5@4 [b4,e5]@3 ~@33 d4@15 ~, ~@15 e4@31 ~ a4@16 ~ e4@15 ~ e4@31 f4@16 ~, ~@48 c4@31 ~@49, ~@64 g4@12 ~@3 [g4,b4]@16 ~ [a4,c5]@32]/8", // G Am Fmaj7 E5 G Am
  N: "[[g4,b4,d5]@15 ~@21 f5@4 e5@4 d5@3 ~@13 b4@2 ~@6 d5@4 c5@4 ~@16 e4@2 ~@2 g4@4 g4@3 ~ g4@3 ~@2 b4@2 ~@5 c5@8 e5@2 c5@2, ~@15 g4@31 ~@2 e4@31 a4@15 d4@2 [g3,e4]@16 ~@16, ~@15 [c5,e5]@16 [g2,d4]@17 [a2,c4,a4]@15 b3@16 f4@9 c5@12 ~@3 c5@4 a4 e5@8 ~@12, ~@16 [c3,e4]@16 b4@16 ~@8 e5@8 g4@12 g4@4 c4@31 [f4,a4]@16 ~, ~@20 g5@12 d5@11 ~@4 c5@12 ~@3 c5@2 e2@16 [f2,a3]@15 c3@17 [d3,f3,d4]@16]/8", // G C G5 Am C F Dm
  O: "[[g2,g3,d4,g4,b4,g5]@15 ~ c4@16 b3@8 g3@3 b3@3 ~@2 [a3,a4]@15 ~ b2@4 d3@4 ~@8 f3@11 ~ c3@2 [b2,f4]@2 e4@4 [b3,d4]@4 [c4,e4]@4 [b3,d4]@3 ~ [d3,c4]@12 [e3,d4,g4,b4]@2 [f3,e4,a4,c5]@2, ~@15 g4@31 d4@2 e4@31 f4@12 g4@2 ~@18 [f4,a4]@13 ~@4, ~@15 [c5,e5]@16 ~ [b4,d5]@15 c5@16 b4@16 a4@16 ~@33, ~@64 g4@16 c4@21 ~@27, ~@72 e3@9 ~@15 [c3,g4]@17 ~@15]/8", // G A Bdim Bm C Bm D7 Em7 …
  P: "[e5@4 f5@4 d5@23 [a4,d5,f#5]@17, [g3,d4,g4,b4]@2 ~]/3", // D G
  Q: "[[c#5,e5]@15 ~ b4@15 ~ a4@15 ~@17 [f#4,a4]@15 ~ e4@15 ~, ~@15 d5@16 c#5@16 ~ d4@31 ~@17, ~@16 f#4@31 [g4,b4]@16 ~@16 [g4,b4]@16 ~]/6", // C#m F#m G
  R: "[[e4,a4,c#5]@15 [d5,f#5]@16 ~ [c#5,e5]@15 ~ b4@15 ~ a4@15 ~@17 [f#4,a4]@15 ~ e4@15 ~, ~@15 a4@31 ~ d5@16 c#5@16 ~ d4@31 ~@17, ~@48 f#4@31 [g4,b4]@16 ~@16 [g4,b4]@16 ~]/8", // A D C#m F#m G
  S: "[[e4,a4,c#5]@15 [d5,f#5]@16 ~ [c#5,e5]@15 ~ b4@15 ~ a4@15 ~@25 d5@4 c#5@3 ~ e4@15 ~, ~@15 a4@31 ~ d5@16 c#5@16 ~ d4@31 [g4,b4]@16 ~, ~@48 f#4@31 [g4,b4]@16 ~ [f#4,a4]@16 ~@16]/8", // A D C#m G F#m
  T: "[e4,a4,c#5]/2", U: "[e4,f#4,a4,b4,d5]@13 [e4,f#4,a4,d5]@3",
})).s("gm_string_ensemble_2").gain(0.32)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~@2 A@2 B@2 C D E F G@2 H@2 I J K L ~@8 A@2 E M N O P Q G@2 R S T U V W X ~@22 Y G@2 H@2 I J K Z AA@2 R AB I AC K W AD
  ~@2 AE ~ AF AG Y AH ~@6 AI AJ AK AL AM AN AO AN Y AP AQ@2 AR@2 AS AT AU AV AW AX AY@4 AZ BA BB@2 BC BD BE BF BG BH@2
  BI ~@21
>`.pickRestart({
  A: "[g3@6 b3 c4]/2", B: "[e3@6 g3 a3]/2", C: "c3@4 a3@2 g3 f3", D: "g3@2 c4 b3", E: "a3", F: "e4@2 f4 d4@5",
  G: "[[c6,c7]@4 ~@2 b3 c4, g3@3 ~, ~ b5]/2", H: "[[a5,a6]@4 ~@2 g3 a3, e3@3 ~, ~ g5]/2", I: "c3@4 a3@2 g3 f3, [f5,f6]",
  J: "g3@2 c4 b3, e5", K: "[a3,d5,d6]", L: "e4@2 f4 d4@5, g5", M: "e3 g3 b3 g3", N: "f3", O: "e3 g3 c4 g3", P: "d3",
  Q: "[d5,d6] [e5,e6] [f5,f6] [g5,g6] [e5,e6] [f5,f6] [g5,g6] [a5,a6] [f5,f6] [g5,g6] [a5,a6] b5 [g5,g6] [a5,a6] [b5,b6] [d6,d7], g3", // D E F G E F G A …
  R: "[a3,a5,a6]", S: "e3 g3 b3 g3, g5", T: "[f3,f5,f6]", U: "e3 g3 c4 g3, e5", V: "[d3,d5,d6]",
  W: "d5 e5 f5 g5@13, g3", X: "[b5,c6,c7] a#5 a5 ~@13",
  Y: "[d5,d6] [e5,e6] [f5,f6] [g5,g6] [e5,e6] [f5,f6] [g5,g6] [a5,a6] [f5,f6] [g5,g6] [a5,a6] b5 [g5,g6] [a5,a6] [b5,b6] [d6,d7]", // D E F G E F G A …
  Z: "d5 e5 f5 ~ f4@2 d4@10, e4@3 g5@13", AA: "[[b5,c6,c7] a#5 a5 [c6,c7]@13 ~@8 b3@4 [c4,d6]@4, g3@3 ~, ~@4 b5@3 ~]/2",
  AB: "e3@2 g3 [a3,e5], g5@3 ~", AC: "g3@2 c4 [g3,c5], e5@3 ~", AD: "[d#5,e5,e6] d5 c#5 ~@13",
  AE: "~@12 [c6,c7] [b5,b6] [g5,a5,a6] e5", AF: "[a5,a6] ~@15", AG: "[d5,d6] ~@15", AH: "[c6,c7] ~@15",
  AI: "[d5,d6] [e5,e6] [f5,f6] [g5,g6] [e5,e6] [f5,f6] [g5,g6] [a5,a6] [f5,f6] [g5,g6] [a5,a6] b5 [g5,c6,g6] [d6,a6] [e6,b6] [f6,d7]", // D E F G E F G A …
  AJ: "[e6,e7]", AK: "d6", AL: "[c6,c7]", AM: "b5", AN: "[a5,a6]", AO: "g5@10 e6 f6 e6 d6 c6 b5",
  AP: "[d6,d7] [c6,c7] [d6,d7] [b5,b6]!2 [c6,c7] [d6,d7] [e6,e7] [c6,c7] [d6,e6,d7] [f6,e7] ~ [d6,e6,d7] e7 [f6,f7] [g6,g7]", // D C D B C D E C …
  AQ: "[a3@6 c#4 [d4,b6], [a6,a7]@29 ~@3]/2", AR: "[f#3@6 a3 [b3,a6], [f#6,f#7]@29 ~@3]/2",
  AS: "d3@4 b3@2 a3 g3, [g6,g7]@3 a6", AT: "a3@2 d4 [c#4,e6], d6@3 ~", AU: "[b3,g6,g7]",
  AV: "f#4@4 g4@2 ~@6 [d5,d6] b5 [b4,a5] a4, a6@6 c#6 ~, ~@3 e4@5, ~@13 c#5@2 ~", // D B7
  AW: "[d5,d6]@11 a5 f#5 [d5,d6] a4 g#4, d4", AX: "a5@10 ~ e5 [a5,a6] ~ d5 a5, a3, ~@5 c#5 e5 ~",
  AY: "[b3@16 ~@12 [f#5,f#6] [e5,e6] d5 [c#5,c#6] b4 d5 [g5,b5] ~@2 d5 g5 b5 d5 b4 g5 [d6,d7] g5 d6 b5 g5 d6@12 d5 e5 f#5 d5, [f#5,f#6]@28 ~@3 d3@33, ~@16 f#3@16 g6@11 ~@17 a6@2 f#6@2, ~@18 b4 ~@13]/4", // F# E C# G D F#
  AZ: "g5@2 b4 d5 b4 d5 g5 a5 b5 ~@2 a5 [f#5,g6] [g5,b6] [f#5,g5,g6] ~, e3, g6@11 ~@3 b6@2", // Gmaj7 G Gmaj7
  BA: "[e5,e6] [f#5,f#6] [g5,g6] [a5,a6] [f#5,f#6] [g5,g6] [a5,a6] [b5,b6] [g5,g6] [a5,a6] [b5,b6] c#6 [d6,a6] [e6,b6] [f#6,c#7] [g6,e7], a3@15 ~", // E F# G A F# G A B …
  BB: "[[f#6,f#7]@8 ~@2 a5 g5 [c#4,f#5]@2 d4@2, a3@3 ~, ~ [e6,e7]]/2", BC: "[b3,d6,d7]",
  BD: "f#3@2 a4 g4 [c#4,f#4]@2 a3@2, [c#6,c#7], ~ a3 ~@2", BE: "[g3,b5,b6]", BF: "f#3 a3 d4 [a3,d6], a5@3 ~",
  BG: "e5 f#5 g5 e5 ~@2 e5 ~@3 b5 ~ e6 ~@3, [e3,b6]", // E5
  BH: "[[a5,e6]@2 ~@2 [a5,d6,f#6]@2 ~@2 [a5,e6,g6]@2 ~@2 [a5,a6] f#6 [f#5,g6] g5 [a5,c#6]@3 ~ [g5,b5]@3 ~ [e5,a5]@3 ~ [e5,e6] ~ [g5,e6,g6] e5, a3, ~@6 g6 ~@7 f#6 ~, ~@13 g5@2 ~@14 f#5@2 ~]/2", // A5 D A7 A Gmaj7 A G A5 …
  BI: "[f#3,a5]@3 ~", // F#m
})).s("gm_string_ensemble_1").gain(0.4).pan(0.4)

// chords · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note(`<
  ~@11 A ~ B ~ C ~ B ~@15 D ~ A ~ B ~ C ~ B ~@23 D ~ A ~ B ~ C ~ B ~ E ~ F ~ G ~ B ~@3 H ~@3 D ~@7 D ~ I ~ A ~ B ~ D J ~
  K ~ L@2 M ~ N O P ~ Q R S D T ~ U ~ V ~ W ~ N ~ X ~@21
>`.pickRestart({
  A: "b6", B: "g6", C: "e6", D: "~@11 b6 ~@4", E: "b6@3 d7", F: "g6@3 e6", G: "e6@3 c6", H: "~@15 [e6,g6]", I: "d7",
  J: "~@11 f7 ~@4", K: "~@3 b7", L: "~@3 a7", M: "d7@3 e7", N: "a7@3 ~", O: "~@11 a6 f#6 ~ a5 g#5",
  P: "a6@10 ~ e6 ~@2 d6 a4, ~@10 c#6@2 ~ e6@2 ~", Q: "~@14 d6 ~", R: "~@13 d7 b6 ~", S: "d7@13 ~@3", T: "~@11 c#7 ~@4",
  U: "~@3 e5", V: "~@3 e4", W: "a6@3 d7", X: "a6@3 ~",
})).s("gm_string_ensemble_1").gain(0.24).pan(0.4)

// other · pizzicato strings · "STRINGS" · G D E D G D E C …
const pizzicato_strings = note(`<
  ~@82
  [~@4 [g4,g5] ~ [d4,d5] ~ [e4,e5] ~@7]
  ~@3
  [~@2 [d4,d5] ~ [g4,g5] ~ [d4,d5] ~ [e4,e5] ~@7]
  ~
  [~@4 [c4,c5] ~ [f3,f4] ~@9]
  ~@65
>`).s("gm_pizzicato_strings").gain(0.32).pan(0.4)

// chords · brass section · "BRASS 1"
const brass_section = note(`<
  ~@41 A B C D E F@2 G@2 ~@24 H ~ I ~ J ~ K L ~@16 M ~ N ~ O P Q R ~@8 S T ~ U V W ~@2 X Y ~ Z ~ AA ~ AB ~ AC AD ~@21
>`.pickRestart({
  A: "~@9 [g3,g4] [a3,a4] ~ [c4,c5] [d4,d5] [d#4,d#5] [e4,e5]", B: "~@10 [a4,d5,g5]!2 ~ [a4,d5,g5] [b4,c5,e5] ~",
  C: "[f4,b4,e5,a5]@3 [f4,g4,a5,b5] [e4,e5] ~ [f4,b4,e5,g5]@4 a5 ~ c6 d6 ~ c6", D: "~@15 [b4,g5,b5]",
  E: "~ [a#4,a#5] [a4,a5] ~ [g4,g5] [a4,a5] ~ [b4,g5,b5] ~ [a#4,a#5] [a4,a5] ~ [g4,g5] ~ [f#4,f#5] [f4,f5]", // A# A G A Em A# A G …
  F: "[~ [a3,a4] [g#3,g#4] [a3,a4] [e4,e5] ~ [d4,d5] [c4,c5] ~ [a3,a4] [g3,g4] [f3,f4] [e3,e4] [f3,f4] [f#3,f#4] [g3,g4]@7 ~@3 [a4,d5,g5] ~ [e4,e5] [a4,g5,a5] [g4,g5] [e4,e5] ~]/2", // A G# A E D C A G …
  G: "[[e4,a4,c5,e5]@3 [c4,e4,a4,c5] ~ [a3,d4,e4,a4] [c4,e4,a4,c5]@4 [d4,a4,d5] ~ [e4,e5] [g4,g5] [a4,a5] f4@5 f4@4 [g4,g5]!2 ~@2 [g4,g5]@2 [f#4,f#5] [e4,f4,e5,f5], ~@15 [g4,b4,d5,g5]@9 ~@8]/2", // Am Asus4 Am D5 E G A G …
  H: "~@2 [a4,d5,g5]!2 ~ [a4,d5,g5] [f#4,c5,e5] ~ [a4,d5,g5] ~@7", // Dsus4 F#m7b5 Dsus4
  I: "~@2 [c5,e5,a5]!2 ~ [c5,e5,a5] [b4,c5,g5] ~ [c5,e5,a5] ~@7", // Am Cmaj7 Am
  J: "~@3 [g#3,g#4] [a3,a4] [c4,c5] [d4,d5] [f4,f5]@3 [g4,g5] [g#4,g#5] [a4,a5] ~@3, ~ [g3,g4] ~@6", // G# A C D F G G# A …
  K: "~@2 [a4,c5,f5,a5] ~@2 [b4,d5,g5,b5] ~@2 [c5,e5,a5,c6] ~@7", L: "[g4,g5]", M: "~@4 [a4,d5,g5]@3 [a4,d5,g5] ~@8",
  N: "~@4 [c4,c5] [d4,d5] ~ [e4,e5] ~@8", O: "~@4 [c4,a4,e5,a5]@3 [f4,a4,g5,c6] ~@8", P: "[d4,g4,c5]@15 ~",
  Q: "~@4 [f4,a4,c5,d5,a5] [f4,a4,c5,d5,b5] ~ [f4,a4,c5,d5,c6] ~@8", R: "~ [g4,g5]",
  S: "~@9 [a4,a5] ~ [f#4,f#5] [a4,a5] ~@3", T: "[f#4,f#5]@3 ~", U: "b4 ~@2 b4 ~@2 c#5@2 b4@8",
  V: "~@9 [a4,a5] ~ [g4,g5] [f#4,f#5] g5 [e4,e5] ~", W: "[d4,d5] ~@15",
  X: "[a3,a4]!2 ~ [a3,a4]!2 ~ [a3,a4]!2 ~ [a3,a4] [b3,b4] [c#4,c#5] [d4,d5] ~@3", // A B C# D
  Y: "~@2 [b4,e5,a5]!2 ~ [b4,e5,a5] [g#4,d5,g5] ~ [b4,e5,a5] ~@7", // Esus4 G Esus4
  Z: "~@2 [d5,f#5,b5]!2 ~ [d5,f#5,b5] [c#5,d5,a5] ~ [d5,f#5,b5] ~@7", // Bm Dmaj7 Bm
  AA: "~@3 [a#3,a#4] [b3,b4] [d4,d5] [e4,e5] [g4,g5]@3 [a4,a5] [a#4,a#5] [b4,b5] ~@3, ~ [a3,a4] ~@6", // A# B D E G A A# B …
// … 106 more lines

More by Pet Shop Boys