Strudelify
Wake Me Up Before You Go-Go cover art

1984 · Make It Big

Wake Me Up Before You Go-Go

Wham!

KeyC majorTempo162 bpm
0:00/0:00
// Wake Me Up Before You Go-Go — Wham!
// 162 bpm, 4/4, key C major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 15 brass section (copy of ch 11 synth brass 1)
// note: Full arrangement: all 147 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(162/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.

// bass · electric bass pick
const bass = note(`<
  ~ A B A C A D A E ~ F@2 G H I@2 J@2 K L M N O P Q R S T@2 U@2 T@2 V@2 T@2 W@2 X@2 Y@3 ~ Z AA AB AC AD F@2 G H I@2 J@2
  AE AF AG AH AI AJ AK R S T@2 U@2 T@2 V@2 T@2 W@2 X@2 Y@3 ~ Z AA AB AL@2 AM AN AO AP AQ@2 AR AS AT AU AV AW AX AY AZ BA
  T@2 U@2 T@2 V@2 T@2 U@2 T@2 V@2 BB@2 W@2 X@2 V@2 BC@2 U@2 T@2 BD@2 BE@2 W@2 BF@2 ~@3
>`.pickRestart({
  A: "~@8 g1 a1@2 g1", B: "c2@3 ~@3 c2@5 ~@13", C: "c2@2 ~ c2@2 ~@7", D: "c2@4 ~@2 c2@5 ~@13", E: "c2 ~ c2@2 ~@4",
  F: "[c2@3 ~@3 c2@2 ~@4 c2@6 ~@4 c2@6 c2@2 g1@5 ~ c2@7 ~@5]/2", G: "d2@3 ~@3 d2@3 ~@3 d2@7 ~@3 c2@2",
  H: "~@4 c2@3 ~@2 e2@7 g2@5 ~@3", I: "[c2@2 ~ c2@2 ~ c2@3 ~@2 c2@3 g1 a1@2 ~ c2@3 ~@3]/2",
  J: "[d2@3 ~@3 d2@3 ~@3 d2@7 ~@3 c2@5 ~@3 a1@4 c2@2 ~@4 d2@8]/2", K: "d2@2 ~@8 d2@9 ~@3 a#2@2",
  L: "b2@2 a2@2 g2 ~@2 f2@2 ~@7 e1@8, ~@6 f#2@2 ~@2 e2@13 ~", M: "f2 ~@4 f2@7", N: "e2@4 ~@6 a2@4 ~ a1@9",
  O: "d2@3 ~@7 d3@14", P: "e2@3 ~@7 e1@13 ~", Q: "f2@3 ~@7 f2@4 ~@2 a1@7 ~",
  R: "g2@5 ~ g2@4 ~@2 g2@5 ~ g2@6, ~@10 g1@9 ~@5", S: "g1@4 ~@2 g1@5 ~@13",
  T: "[c2@4 ~@3 a1@2 ~ c2@6 g1@2 a1@2 ~@2 c2@6 g1@2 a1@2 ~@2 c2@6 g1@2 a1@3 ~ c2@2]/2",
  U: "[d2@2 ~@2 a1@2 c2@2 ~@2 d2@5 ~ g1@2 a1 ~@3 c2@6 e1@2 a1@4 g1@5 ~ g1@2 a1@4 g1@2]/2",
  V: "[d2@2 ~@2 a1@2 c2@2 ~@2 d2@5 ~ g1@2 a1 ~@3 c2@6 ~@8 f1@4 ~@6 g1@2, ~@28 e2@6 f2@7 ~ g2@6, ~@30 e1@6 ~@4 g1@5 ~@3]/2",
  W: "[d2@2 ~@2 a1@2 c2@2 ~@2 d2@5 ~ g1@2 a1 ~@3 c2@6 e1@2 a1@4 g1@4 ~@2 g1@2 a1@4 c2@2]/2",
  X: "[c2 ~@6 a1@2 ~ c2@6 g1@2 a1@2 ~@2 c2@6 g1@2 a1@2 ~@2 c2@6 g1@2 a1@3 ~ g1@2]/2", Y: "[e2@2 ~@3 d2@3 ~@3 c2@25]/3",
  Z: "~@2 c3 ~ c3@4, ~ c2@5", AA: "~@10 a#1@3 c2@2 ~ c2@2 ~@6", AB: "~@16 g2 ~ a#2@2 g2@2 f2 ~",
  AC: "e1@5 ~ f1@6 f#1@6 g1@6", AD: "g#1@6 a1@6 a#1@5 ~ b1@6", AE: "d2@2 ~@8 d2@9 ~@5", AF: "e2@3 ~ b1@2 ~@4 e1@14",
  AG: "f2 ~@4 f1@7", AH: "g2@4 ~@6 a2@4 ~ a1@9", AI: "d2@3 ~@7 d2@14", AJ: "e2@3 ~@7 e2@13 ~", AK: "f2@3 ~@7 f2@8 a2@6",
  AL: "[a#2@4 c3@3 ~@5 a#2@3 ~ c3@3 ~@5 a#2@4 c3@2 c2@3 ~@3 a#2@4 c3@4 ~@2 c2@2, ~@10 c2@8 ~@4 c2@7 ~@5 c2@6 ~@8]/2",
  AM: "c2 ~@5 c3@10 ~@6 c2 ~", AN: "c2@4 g1@2 a1@4 c2@3 ~@3 g1@2 a1@4 c2@2", AO: "d2@3 ~@7 [d2,d3]@13 ~",
  AP: "e1@3 ~ g1@3 ~ a1@3 ~ e2@4 c2@2 ~@2 a1@3 ~", AQ: "[c2@3 ~@3 c2@2 ~@4 c2@6 ~@4 c2@6 g1@2 a1@4 g1@2 c2@7 ~@5]/2",
  AR: "d2@5 ~@5 [d2,d3]@14", AS: "~@6 g2@5 ~", AT: "d2@3 ~@3 d2@2 ~@14 d2@2",
  AU: "e2@3 ~@3 b1@4 d2@2 e2@2 d2 ~ b1 ~ e1@5 ~", AV: "f2@2 ~@4 f2@2 ~@4 f2@2 ~@2 f2@2 f2@3 ~ f2 ~",
  AW: "e2@3 ~ g2 ~ a2@14 ~@4", AX: "d2@3 ~ d2@2 ~@18", AY: "~@5 e1@7, ~ e2@5", AZ: "f2@3 ~ f2 ~ f2@3 ~@3 f2@4 ~@8",
  BA: "[g1,g2]", BB: "[c2@4 ~@3 a1@2 ~ c2@6 g1@2 a1@2 ~@2 e1@8 f1@6 f#1@6 g1@3 ~ c2@2, ~@45 a1@2 ~]/2",
  BC: "[c2@4 ~@3 a1@2 ~ c2@6 g1@2 a1@2 ~@2 c2@6 e1@2 a1@2 ~@2 g1@6 g1@2 a1@3 ~ c2@2]/2",
  BD: "[d2@2 ~@2 a1@2 c2@2 ~@2 d2@5 ~ g1@2 a1 ~@3 c2@6 c2@2 ~@4 c2@2 ~@12]/2",
  BE: "[~@4 g1@3 a1@3 c2@6 e1@13 ~ f1@6 f#1@6 g1@3 ~ c2@2, ~@45 a1@2 ~]/2",
  BF: "[c2 ~@6 a1@2 ~ c2@6 g1@2 a1@2 ~@2 c2@6 g1@2 a1@2 ~@16]/2",
})).s("gm_electric_bass_pick").gain(0.36)

// bass · electric bass pick · soft notes
const bass_soft = note(`<
  ~@15 A ~ B C ~@8 D ~@3 D ~@3 D ~@3 D ~@15 A ~ B C E ~@7 D ~@3 D ~@3 D ~@3 D ~@14 F@2 ~@3 G ~@4 H ~ D ~@3 D ~@3 D ~@3 D
  ~@3 D ~@3 D ~@3 D ~@3 D ~@2 I@2 ~@3 D J K@2 ~
>`.pickRestart({
  A: "~@5 g1 ~@6", B: "~@4 g1 ~@19", C: "~@9 c3@2 ~", D: "~@2 g1 ~@9", E: "~@7 a1 ~@16", F: "[~@9 c3@4 ~@11]/2",
  G: "~@2 e2 ~@9", H: "~@10 f2 ~@13", I: "[~@8 c2 ~@2 c2@2 ~@11]/2", J: "~@10 c2@6 g1@2 a1@3 ~ g1@2",
  K: "[d2@2 ~@2 a1@2 c2@2 ~@2 d2@5 ~ g1@2 a1 ~@3 c2@6 ~@8 f1@4 ~@6 g1@2, ~@28 e2@6 f2@7 ~ g2@6, ~@30 e1@6 ~@4 g1@5 ~@3]/2",
})).s("gm_electric_bass_pick").gain(0.24)

// chords · percussive organ
const percussive_organ = note(`<
  ~ A B C D A D E D ~ F G H I J K L M N O P Q R S T U V W X Y Z W X AA@2 W X Y AB AC X AD AE AF AG AH AI AJ AK AL F G H
  I J K L M N O P Q R S T U V W X Y Z W X AA@2 W X Y AB AC X AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT ~@6 AU@2
  AV AW AX AY AZ ~ BA BB AZ AW BC BD AZ AW BE@2 AZ BF BC BG AZ AW BH BI AZ AW BC BD AZ AW BE@2 AZ BF BC BG AZ AW ~@3
>`.pickRestart({
  A: "~@8 g2 a2@2 g2", B: "[c3,a#4,c5]@2 ~ [c3,a#4,c5,e5]@2 ~@7", C: "~@16 g2@2 a2@4 g2 ~",
  D: "[c3,a#4,c5]@4 ~@2 [c3,a#4,c5,e5]@5 ~@13", E: "~@16 g2 ~ a2@4 g2 ~", F: "~@12 [g4,c5,e5]@8 ~@2 [g4,c5,e5] ~",
  G: "~@7 [a4,f5]@3 e5@2 ~@12, ~@7 c5@6 ~@11", H: "~@6 [c5,f5] ~@5 [a4,c5,f5]@8 ~@2 [g4,c5,e5] ~",
  I: "~@6 [a4,f5]@3 ~ e5@2 ~@12, ~@3 c5@2 ~@7", J: "~@3 e5 [g4,c5] ~@7 [g4,c5,e5]@8 ~@2 [g4,c5,e5] ~",
  K: "~@3 [a4,c5,f5]@2 ~ [g4,c5,e5]@2 ~@4", L: "[f5,a5,c6]@4 ~@2 [f5,a5,c6]@4 ~@2 [f5,a5,c6]@6 ~@4 [g4,c5,e5] ~",
  M: "~@6 [a4,c5,f5]@3 ~ [g4,c5,e5] ~@13", N: "[c5,f5,a5] ~@9 [c5,f5]@12 ~@2, ~@9 a5@13 ~@2",
  O: "[d5,g5,b5] ~@9 [d5,g5,b5]@12 ~@2", P: "[f5,a5,c6] ~@9 [f5,a5,c6]@11 ~@3", Q: "[g5,b5,d6] ~@9 [g5,b5,d6]@11 ~@3",
  R: "[c5,f5,a5] ~@9 [c5,f5,a5]@13 ~", S: "[d5,g5,b5] ~@9 [g5,b5]@13 ~, ~@10 d5@11 ~@3",
  T: "[f5,a5,c6] ~@9 [f5,c6]@13 ~, ~@9 a5@13 ~@2", // F F5
  U: "[d5,f5,g5,c6]@4 ~@2 [d5,f5,g5,c6]@4 ~@2 [d5,f5,g5,b5]@5 ~ [d5,g5,b5]@5 ~", V: "[g6,g7]@2 ~@4 [g6,g7]@3 ~@15",
  W: "~@4 [g4,c5,e5] ~@7 [g4,c5,e5]@9 ~ [g4,c5,e5] ~", X: "~@6 [a4,f5]@3 ~ [g4,e5] ~@13, ~@3 c5@2 ~@7",
  Y: "~@4 [a4,c5,f5] ~@7 [a4,c5,f5]@8 ~@2 [g4,c5,e5] ~", Z: "~@7 f5@3 [g4,e5] ~@13, ~@2 a4 ~@5, ~@7 c5@5 ~@12",
  AA: "[~@4 [a4,c5,f5] ~@7 f5@9 ~ g4@26, ~ c5@3, ~@12 a4@7 ~@29]/2", // F
  AB: "~@7 f5@3 [g4,e5] ~@5 [c5,e5] ~@7, ~@2 a4 ~@5, ~@7 c5@5 ~@12", AC: "~@4 [g4,e5] ~@7 [g4,c5,e5]@9 ~ [g4,c5,e5] ~",
  AD: "[a#4,e5,g5]@3 ~@7 [a4,c5,f5]@4 ~@8 c4@2", // Edim F
  AE: "[d5,g5,a#5]@3 ~@3 [d5,g5,a#5]@3 ~@3 [d5,g5,a#5]@3 ~@3 [d5,g5,a#5]@4 ~@2", // Gm
  AF: "[c5,f5,a5]@4 ~@2 [c5,f5,a5]@4 ~@2 [c5,f5,a5]@3 ~@3 [f5,a5]@4 ~@2, ~@9 c5 ~@2", // F
  AG: "[a#4,e5,g5] ~ [a#4,e5,g5] ~ [a#4,e5,g5] ~ [a#4,e5,g5] ~", // Edim
  AH: "[a#4,g5]@3 ~@3 [a#4,e5,g5]@3 ~@3 [a#4,e5,g5]@3 ~@3 [a#4,e5,g5]@2 ~@4", // D# Edim
  AI: "[d5,g5,a#5]@4 ~@2 [d5,g5,a#5]@4 ~@2 [d5,g5,a#5]@3 ~@3 [d5,g5,a#5]@4 ~@2", // Gm
  AJ: "[c5,f5,a5]@4 ~@2 [c5,f5,a5]@3 ~@3 [c5,f5,a5]@3 ~@3 [c5,f5]@4 ~@2, ~@9 a5 ~@2", // F F5
  AK: "[a#4,c5,e5,g5] ~ [a#4,e5,g5] ~ [a#4,e5,g5] ~ [a#4,g5] ~", // C7 Edim D#
  AL: "[a#4,e5,g5]@3 ~@3 a#4@2 ~@4 [a#4,g5]@3 ~@3 [a#4,e5,g5]@3 ~@3", // Edim D# Edim
  AM: "~@6 [g4,c5,e5] ~@5 [g4,c5,e5]@9 ~ [g4,c5,e5] ~", AN: "~@6 [a4,f5]@3 ~ e5@2 ~@12, ~@6 c5@4 g4 ~@13",
  AO: "~@4 [c5,f5] a4 ~@6 [a4,c5,f5]@12", // F5 F
  AP: "[a#4,d5,e5,g5]@3 ~ [a#4,c5,e5]@3 ~ [a#4,c5,e5]@2 ~@3 e5@2 ~ [a#4,c5,e5]@3 ~@2 [c5,e5]@2 ~, ~@12 [a#4,d5,g5]@3 ~@5 a#4@2 ~@2", // Em7b5 C7 C Gm
  AQ: "~@13 [g4,e5]@8 ~ [g4,c5] e5, ~@3 c5@2 ~", AR: "~@6 [a4,f5]@3 ~ e5 g4 ~@12, ~@3 c5@2 ~@7",
  AS: "~@4 [a4,c5,f5] ~@7 [a4,c5,f5]@11 ~", AT: "[c5,e5]@5 ~ [a4,f5]@3 ~ [g4,e5] ~@13, g4@3 ~@3 c5@4 ~@14",
  AU: "[~@11 [d5,g5]@13, ~@5 g4@7, ~@7 c5@9]/2", AV: "~@4 [g5,c6,e6] ~@7 [g5,c6,e6]@8 ~@2 [g5,c6,e6] ~",
  AW: "~@6 [a5,f6]@3 ~ [g5,e6] ~@13, ~@3 c6@2 ~@7", AX: "~@4 [a5,c6,f6] ~@7 [a5,c6,f6]@9 ~ [g5,c6,e6] ~",
  AY: "~@7 a5@2 ~ [g5,e6] ~@13, ~@6 c6@5 ~@13, ~@2 f6 ~@5", AZ: "~@4 [g5,c6,e6] ~@7 [g5,c6,e6]@9 ~ [g5,c6,e6] ~",
  BA: "~@4 [a5,c6,f6] ~@7 [a5,c6,f6]@7 ~@5", // F
  BB: "[a#5,e6,g6]@4 ~@2 [a5,d6,f6]@5 ~ [g5,c6,e6]@4 ~@2 g#5 a5@3 ~@2, ~@6 [f5,a#5,d6] ~", // Edim Dm C A#
  BC: "~@4 [a5,c6,f6] ~@7 [a5,c6,f6]@8 ~@2 [g5,c6,e6] ~", BD: "~@7 f6@3 [g5,e6] ~@13, ~@2 a5 ~@5, ~@7 c6@5 ~@12",
  BE: "[~@4 [a5,c6,f6] ~@7 f6@9 ~ [g5,e6]@26, ~ c6@3, ~@12 a5@7 ~@29]/2", // F C
  BF: "~@4 g5@2 [a5,f6]@3 ~ [g5,e6] ~@13, ~@3 c6@2 ~@7", // Dm C
  BG: "~@7 f6@3 [g5,e6] ~@5 [g5,c6,e6] ~@7, ~@2 a5 ~@5, ~@7 c6@5 ~@12", BH: "~@4 [a5,c6,f6] ~@7 [a5,c6,f6]@6 ~@6",
  BI: "[a#5,g6]@5 ~ [a5,c6,f6]@5 ~ [g5,c6]@4 ~@2 [f5,d6]@3 ~ [e5,c6]@2, [d6,e6]@3 ~@9 e6@6 b5 ~@5", // D# F C5 Dm C Dsus2
})).s("gm_percussive_organ").gain(0.4).pan(0.2)

// chords · percussive organ · soft notes
const percussive_organ_soft = note(`<
  ~@2 A ~ B ~ A ~ B ~@2 C D E ~@19 F@2 ~ G ~ H I ~@4 J K ~@2 L M ~ C D E ~@19 F@2 ~ G ~ H I ~@4 J K ~@2 L M ~@23 N O
  ~@29 P Q ~
>`.pickRestart({
  A: "e5 ~@7", B: "e5 ~@5", C: "~@11 g4 ~@12", D: "~@2 a4 ~@9", E: "~@10 g4 ~@13", F: "[~@11 e5@13]/2", G: "~@2 g4 ~@9",
  H: "~@16 g4 ~@7", I: "~@4 c5 ~@19", J: "c5@3 ~@3 c5@3 ~@3 c5@3 ~@3 c5@4 ~@2",
  K: "[c5,e5]@4 ~@2 c5@3 ~@3 c5@3 ~@3 c5@3 ~@3", L: "~@2 c5 ~ c5 ~ [c5,e5] ~", M: "c5 ~ [c5,e5,g5] ~ [c5,e5] ~ c5 ~",
  N: "~@21 g5 f5 [c5,d5,e5]", O: "[a4,b4] ~@23", P: "~@4 [a5,c6,f6] ~@7 [a5,c6,f6]@6 ~@6",
  Q: "[a#5,g6]@5 ~ [a5,c6,f6]@5 ~ [g5,c6]@4 ~@2 [f5,d6]@3 ~ [e5,c6]@2, [d6,e6]@3 ~@9 e6@6 b5 ~@5", // D# F C5 Dm C Dsus2
})).s("gm_percussive_organ").gain(0.2).pan(0.2)

// chords · rock organ
const rock_organ = note(`<
  ~ A B C D E F G H@2 ~@16 I ~@6 J@2 ~@6 K@2 ~@5 L@2 ~@11 M@2 ~@3 N ~@6 J@2 ~@6 O@2 ~@5 L@2 ~@14 P@2 ~@5 Q ~ R ~@6 J@2
  ~@14 J@2 ~@9
>`.pickRestart({
  A: "~@16 e5@3 f5@3 ~@2", B: "g5@2 ~ g5@2 ~@7", C: "~@16 e5@2 f5@3 ~ e5 ~, ~@16 d#5 ~@7",
  D: "g5@2 ~ g5@2 ~@7, f#5 ~@23", E: "~@16 e5@2 f5@4 e5 ~", F: "g5@2 ~ g5@2 ~@7, f#5 ~@5 f#5 ~@17",
  G: "~@16 e5@2 f5@5 e5, ~@16 d#5 ~@7",
  H: "[g5@3 ~@3 g5@5 ~@11 g6@18 [e6,f6] [c6,d6] [g5,a5,b5] [e5,f5] [b4,c5,d5] ~@3, f#5 ~@21 f#6 ~@25]/2", // Fmaj7 Csus2 G Fmaj7 Bm
  I: "g7@3 ~@5, f#7 ~@23", J: "[~@11 [g4,e5]@13]/2", K: "[[g4,a#4,e5]@3 ~@7 [f4,a4,c5]@4 ~@8 [g4,c5,e5]@26]/2",
  L: "[g6@35 ~ [d6,e6] c6 [a5,b5] [f5,g5] [d5,e5] [b4,c5] [g4,a4] ~@5, f#6 ~@34 f6@2 ~@11]/2", // Dsus2 Asus2 Fsus2 Dsus2 Cmaj7 Gsus2
  M: "[~@13 d6 ~@2 f6 ~ g6 ~ a6 b6 ~@2 d7@24, ~@15 e6@2 ~@6 c7@2 ~@23]/2",
  N: "~@6 g6@3 [e6,f6] [c6,d6] [a5,b5] [f5,g5] [d5,e5] ~@10, ~@6 f#6 ~@17", // Fmaj7 Csus2 Asus2 Fsus2 Dsus2
  O: "[[a#5,d#6] [e6,f6] ~@2 f6 e6 [c6,d6] [a5,b5] [f5,g5] [d5,e5] c5 ~@11 [g4,c5,e5]@26, ~ g6@3 ~@44]/2", // D#5 Fmaj7 Csus2 Asus2 Fsus2 Dsus2 C
  P: "[~@15 f3 [g3,a3] [b3,c4,d4] [e4,f4] [g4,a4,b4] [c5,d5] [e5,f5,g5,a5] [b5,c6,d6] e6 g6@24, ~@23 f6@2 ~@23]/2", // Gsus2 Bm Fmaj7 G Csus2 Fmaj7 Bm
  Q: "[g5,c6,e6]@4 g5 ~ [a5,f6]@3 ~ [g5,e6] ~@13, ~@3 c6@2 ~@7", // C Dm C
  R: "[a#5,g6]@2 f6@2 e6@2 [e5,c6] ~, ~@3 a5@2 ~ g5@2 ~@4", // D# C
})).s("gm_rock_organ").gain(0.24).pan(0.8)

// chords · rock organ · soft notes
const rock_organ_soft = note("<~ A B ~ C D ~@3 E ~@39 F ~@16 G ~@22 F ~@57>".pickRestart({
  A: "~@22 e5 ~", B: "f5 ~@23", C: "~@6 f#5 ~@17", D: "~@16 d#5 ~@7", E: "~@21 [e4,f4,g4,a4] [b3,c4,d4] [f3,g3,a3]",
  F: "~@19 [e4,f4] [b3,c4,d4] [f3,g3,a3] e3 ~", G: "~@14 [b4,c5] [g4,a4] [e4,f4] d4 c4 ~@5",
})).s("gm_rock_organ").gain(0.12).pan(0.8)

// chords · distortion guitar
const distortion_guitar = note("<~@97 A@8 ~@42>".pickRestart({
  A: "[~@24 f4@21 ~@3 b4@22 ~@2 a4@22 ~@2 e4@4 ~@6 a3@6 ~@3 c4@3 ~@3 a4@21 ~@2 b4@22 ~@3 c5@22 ~, ~@22 a3@22 ~ b3@12 ~@13 c4@22 ~@2 [g3,b3]@9 ~@3 f4@12 ~ c4@22 ~ d4@23 ~@2 a4@23 ~@2, ~@23 c4@21 ~ d4@23 ~@3 d4@2 ~@32 c4@6 ~@3 [f3,a3]@4 ~@74, ~@47 g4@24 f4@22 ~@7 g4@8 ~@12 f4@21 ~@2 g4@22 ~ f4@24 ~@2]/8", // G F
})).s("gm_distortion_guitar").gain(0.24).pan(0.1)

// bass · fretless bass
const bass_2 = note("<~@43 A@2 B@2 ~@36 C@2 D@2 ~@10 E ~@4 F@2 ~@33 G ~@9>".pickRestart({
  A: "[~@12 g3@14 a#3 ~ g3 ~ a#3@3 ~@3 a#3@3 ~@3 a#3@4 ~@2, ~ c3@3]/2", B: "[g3@4 ~@2 e3@3 ~ c3@2 d3@6 c3@24 ~@6]/2",
  C: "[~@12 g3@14 a#3 ~ g3 ~ a#3@3 ~ g3@14, ~ c3@3]/2", D: "[~@10 c3 ~ e3@3 ~ f3@2 e3@2 ~@2 c3@24 ~@2]/2",
  E: "~@3 c2@5 ~@4, [g2,c3]@5 ~@7", F: "[~@5 d3@8 ~@11, ~@7 a2@19 ~@22]/2", G: "c4 [f#3,b3] [f3,a#3] [e3,a3], g3 ~@5",
})).s("gm_fretless_bass").gain(0.3)

// bass · fretless bass · soft notes
const bass_soft_2 = note("<~@44 [~@10 g3 ~@5 f3@2 ~@4 e3@2] [~@2 c3 ~@9] ~@101>").s("gm_fretless_bass").gain(0.18)

// other · trumpet
const trumpet = note(`<
  ~@89 A B ~@2 C ~ D E F@2 ~@6 G ~@3 H ~@11 I J ~ K L M N@2 I J O P Q R S ~ T B ~@2 C ~@5
>`.pickRestart({
  A: "~@6 g5@2 a5 c6@2 d6", B: "e6 ~@11", C: "~ e5@3 ~ g5@2 ~ a5@3 ~ e6@3 ~ c6@3 ~ a5@3 ~", D: "~@16 e5 ~ e5@4 g5@2",
  E: "a5@2 ~@4 e5@3 ~@3 d5@4 c5@2 a4@3 ~ g4@2", F: "[e4@4 g4@2 ~@6 a4@4 c5@2 e5@3 ~ d5@26]/2",
  G: "g5@14 ~ a5 ~ g5@3 ~ c6@3", H: "~@16 a5 ~ a5@3 ~ c6@2", I: "c6@4 c6 ~ a5@3 ~ a5@2 g5@3 ~ g5@2 f5@4 e5@2",
  J: "~@4 e5@3 ~@17", K: "~@4 f5 ~@7 f5@9 ~ e5 ~", L: "~@9 e5 ~ g5", M: "~@4 g5@2 ~@4 g5@3 ~@11",
  N: "[~@16 f5@2 ~ f5 ~@3 a5@2 ~@4 a5@2 ~@3 f5@2 ~@2 a4 g4 ~@8]/2", O: "g5@3 ~@3 f5@4 e5@4 ~@10",
  P: "~@3 f5 ~@8 f5@8 ~@4", Q: "e5@3 ~@3 f5@3 ~ e5@2 ~@12", R: "~@4 g5 ~@8 g5@7 ~@4", S: "g5@4 ~@3 f5@3 e5@3 ~@11",
  T: "g5 ~ g5 ~ g5 ~ g5 ~ g5!2 ~@2 g5 ~ g5 ~ a5 ~ c6@4 d6@2",
})).s("gm_trumpet").gain(0.54).pan(0.2)

// other · trumpet · soft notes
const trumpet_soft = note("<~@110 A ~@11 B ~@3 C ~ D ~ B ~@12 E F G ~>".pickRestart({
  A: "~@2 [a5,b5] [f5,g5] [d5,e5] c5 b4 ~@17", B: "~@7 d5 [b4,c5] [f4,g4,a4] [d4,e4] [a3,b3,c4] g3 ~@11",
  C: "~@15 [a4,b4] g4 [e4,f4] d4 c4 ~@4", D: "~@13 c5 b4 f4 e4 [c4,d4] [a3,b3] g3 ~@4", E: "~@16 e5 ~ e5@4 g5@2",
  F: "a5@2 ~@4 e5@3 ~@3 d5@4 c5@2 a4@3 ~ g4@2", G: "e4@4 g4@2 ~@6 a4@4 c5@2 a4@3 ~ c5@2",
})).s("gm_trumpet").gain(0.16).pan(0.2)

// other · synth brass 1
const synth_brass_1 = note(`<
  ~@89 A B C D E F G H I@2 ~@6 J ~@3 K ~@11 L M ~ N O P Q@2 L R S T U V W ~ X B C D E F Y ~@3
>`.pickRestart({
  A: "~@6 [g4,g5]@2 [a4,a5] [c5,c6]@2 [d5,d6]", B: "[e5,e6]@2 ~@4 e5@3 ~@3 d5@4 c5@2 a4@3 ~ c5@2",
  C: "~@16 e5 ~ e5@3 ~ g5 ~", D: "f5@3 ~@3 e5@3 ~@3 d5@3 ~@4 c5@3 a4 ~",
  E: "~ e4@3 ~ g4@3 a4@2 ~@2 e5@3 ~@2 c5@3 a4@3 ~", F: "~@6 c4@2 ~@4 e4@3 ~ g4@2 a4@3 ~ c5@2",
  G: "~ b4 ~@14 e5 ~ e5@4 g5@2", H: "a5@2 ~@4 e5@2 ~@5 d5@3 c5@2 a4@3 ~@3",
  I: "[e4@4 g4@2 ~@6 a4@3 ~ c5@2 e5@3 ~ d5@26]/2", J: "[g4,g5]@14 ~ a4@2 [g4,g5]@3 ~ [c5,c6]@3, ~@15 a5 ~@8",
  K: "~@16 [a4,a5] ~@2 a5@3 [c5,c6]@2, ~@6 a4 ~", // A C
  L: "[c5,c6]@3 ~ c5 [a4,a5]@3 ~@2 [a4,a5]@2 [g4,g5]@3 ~ [g4,g5]@2 [f4,f5]@4 [e4,e5]@2, ~@3 c6@2 ~@19", // C A G F E
  M: "~@4 [c5,e5,g5] ~@7 [c5,e5,g5]@3 d5 ~@8", N: "~@4 [a4,d5,f5] ~@8 f5@9 e5 ~, ~@4 [a4,d5]@3 ~",
  O: "~@9 [g4,c5,e5] ~ [c5,g5], ~@21 e5@2 ~", P: "~@4 [c5,e5,g5]@2 ~@4 [e5,g5]@3 ~@11, ~@10 c5@5 ~@9",
  Q: "[~@16 [a4,c5,f5]@2 ~ [b4,e5,g5]@3 ~ [c5,f5,a5]@2 ~@4 c5@2 ~@3 [a4,d5,f5]@3 ~@11, ~@14 [f5,a5] ~@9]/2", // F Em F Dm F
  R: "~@4 [c5,e5,g5] ~@7 [c5,e5,g5]@3 d5 ~@6 [c5,e5] ~, ~@11 g4", // C
  S: "[c5,g5]@3 ~ [g4,c5] ~ [a4,c5,f5]@4 ~ g4@3 ~@10, e5@2 ~@3 [c5,e5]@2 ~@5", T: "~@4 [a4,c5,f5] ~@7 [a4,c5,f5]@8 ~@4",
  U: "[c5,e5]@3 ~@3 f5@3 ~ e5@2 ~@12, ~ c5 ~@2", V: "~@4 [e5,g5] ~@7 [e5,g5]@7 ~@5",
  W: "[e5,g5]@5 ~ f5@3 ~ e5@3 ~@11, ~ c5 ~@2", // Em
  X: "g4 e5 [g4,e5] ~ [g4,e5] ~ g4 e5 [g4,e5] ~ g4 ~ [g4,g5]@4 [a4,a5]@2 [c5,c6]@4 [d5,d6]@2", Y: "~ b4 ~@22",
})).s("gm_synth_brass_1").gain(0.3).pan(0.8)

// other · synth brass 1 · soft notes
const synth_brass_1_soft = note("<~@96 A B@2 ~@23 C ~ D ~@5 C ~@6 E ~@5 F G H ~>".pickRestart({
  A: "~@22 g4 ~", B: "[~@11 d4@13]/2", C: "~@16 [b4,c5] a4 ~@6", D: "~@22 [g4,c5] ~", E: "~@10 e5 ~@13",
  F: "~@16 e5 ~ e5@4 g5@2", G: "a5@2 ~@4 e5@2 ~@5 d5@3 c5@2 a4@3 ~ g4 ~",
  H: "e4@4 g4@2 ~@6 a4@3 ~ c5@2 a4@3 ~ c5@2, ~@22 e4 ~",
})).s("gm_synth_brass_1").gain(0.11).pan(0.8)
// … 162 more lines

More by Wham!