Strudelify

The Phantom of the Opera: Act II. The Point of No Return (Phantom, Christine)

Andrew Lloyd Webber

KeyA minorTempo120 bpm
0:00/0:00
// The Phantom of the Opera: Act II. The Point of No Return (Phantom, Christine) — Andrew Lloyd Webber
// 120 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 3 "STRINGS" string ensemble 1 (copy of ch 1 "CHURCH OR" church organ); ch 9 "ORCH.HIT" orchestra hit (copy of ch 8 "BRASS 1" brass section)
// note: Full arrangement: all 135 bars on a 16-step grid, each part at one level. 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 · church organ · "CHURCH OR"
const church_organ = note(`<
  A@2 B ~ A@2 B C D@4 E F G@2 H I@8 J K@7 L@4 M@2 N@6 O@2 P@8 Q@8 R@8 S T@8 U@2 V@2 W@2 X Y@7 Z@7 AA@8 AB AC@2 AD AB
  AC@2 AE AF AG@2 AH@2 AI@2 AH@2 AJ@2 ~@7
>`.pickRestart({
  A: "[[f4,a4,d5]@12 [f4,a4,d5] [e4,g#4,c#5] [d#4,g4,c5] [d#4,f#4,b4]]/2", B: "[d4,f4,a#4]",
  C: "[c4,d#4,g#4] [d4,f4,a#4] ~@2 [d4,f4,a#4] [d#4,f#4,b4] [e4,g4,c5] [e4,g#4,c#5]", // G# A# B C C#m
  D: "[[f4,a4,d5]@10 f4@2 d5@2 ~@2 c5@3 a#4 d4@4 ~@4 c5@3 g4, ~@10 a4@4 a4@6 [g4,a#4]@6 g4@5 ~, ~@3 f4@2 ~ e4!2, ~@4 [d4,g4] ~@3]/4", // Dm Gm G5
  E: "[d4,f4]@7 [g3,c4], a4@3 ~", F: "[a3,d4] [f4,a4] d5 a4, ~ f4",
  G: "[c5@3 a#4 ~@2 d4@2 ~@4 c5@3 g4, [d4,g4]@4 [g4,a#4]@6 g4@5 ~, ~@2 e4!2]/2", H: "[d4,f4,a4]",
  I: "[~@8 d5@3 ~ f5@3 ~ [a#4,d5,a5]@5 ~ g5 ~ [a#4,d5]@8 ~@4 g5@4 c6@6 g5@2 [d5,f5,a5]@24 ~@4 [d5,f5,a5]@4 [d5,f5,a5,d6]@17 ~ c6@2 a#5@2 a5@2 g5@2 f5@2 e5@2 d5@2 [e4,g4,c#5]@16, ~ a4@31, ~@6 g5@3 ~@23, ~@4 [c5,e5]!2 ~@10]/8", // A#maj7 A# Dm C#dim C
  J: "~@2 [c#4,e4,g4,a#4]@2 a#4@3 a4, ~ [c#4,e4,g4]", // C#dim
  K: "[[f4,a4,d5]@24 [f4,d5]@2 [e4,g#4,c#5]@2 [d#4,g4,c5]@2 [d#4,f#4,b4]@2 [d4,f4,a#4]@11 ~@5 [c4,d#4,g#4] ~ [d4,f4,a#4]@4 ~@2 c#5 ~ c5 ~ b4 ~ a#4 ~ [a#3,d4,g4]@19 ~ [a#4,d5]@4 g5@4 d5@4 f5@6 d#5@2 [g4,c5,d#5]@8, ~@3 a4@11, ~@11 a#4 [g4,c5] ~]/7", // Dm C#m Cm B A# G# A# Gm …
  L: "[~@4 f5@3 c5 [g4,a#4,d5]@10 [a#4,d5]@2 g5@2 d5@2 f5@3 d#5 [g4,c5,d#5]@4, a4 a4@7, ~@2 c5@5 ~@13 a#4@4 [g4,c5]@4 ~@4]/4", // Gm A# Cm C5
  M: "[~@4 f5@3 c5 [g4,a#4,d5]@8, a4 a4@3, ~@2 c5@5 ~@9]/2", // Gm
  N: "[~@4 g4@2 a#4@2 d5@3 c5 [d#4,g4]@4 ~@2 c5@2 f5@3 c5 [g4,a#4,d5]@12 ~@2 [g4,a#4,d5]@2 [g4,a#4,d5,g5]@8, ~ d4@23, ~@4 [d#4,g4]@2 c5@3 ~ a4@14, ~@4 [f4,a4] ~@7]/6", // D# Gm D# F
  O: "[~ f5 d#5 d5 c5 a#4 ~ g4 [a3,d#4,f#4]@8, ~@3 a4@5]/2", // D#dim
  P: "[~@2 d#4@2 ~@4 [a#4,d5,g5]@12 [a#4,d5,g5] [c#5,f#5] [g#4,c5,f5] [g#4,b4,e5] [g4,a#4,d#5]@8 ~@2 a4@2 c5@4 [g4,b4,e5]@10 [g4,b4]@2 e5@2 b4@2 d5@3 c5 [e4,a4,c5]@4, ~@4 d#4@8 ~@9 a4@13 ~@2 a4@20 ~@8, ~ [a3,c4] ~@6 [f#4,d5]@2 ~@3 g4 [e4,a4] ~, ~@7 d4@57]/8", // Gm F#5 Fm E D# Em G Am …
  Q: "[~@2 a4@2 [a4,d5]@3 ~ [e4,g4,b4]@10 [e4,g4,b4]@2 e5@2 b4@2 d5@3 c5 [a4,c5]@6 a4@2 [a4,d5]@3 ~ [e4,g4,b4]@8 ~@2 b3@2 ~@2 g4@2 b4@3 a4 [c4,e4,a4]@4, ~ d4@8 d4@7, ~@7 a4@17 ~@15 a4@20 ~@5, ~@5 [e4,g4] [e4,a4] e4@2 ~@4 e4 [c4,e4] ~]/8", // D5 Em Am D5 Em Am Em A5 …
  R: "[~@4 d5@3 ~ [g4,b4]@12 ~@2 [g4,b4]@2 ~@9 d5 c5 b4 ~ g4 f#4 ~ [f#3,a3,d#4]@8 ~@2 [d#3,f#3,c4]@2 c4@3 b3 [g3,b3]@6 [g3,b3,f#4]@2, d4, f#4@4 f#4@4 e4@14 e4@10 e4@7 e4@17 e4@8, ~@2 a4@5 a4@29 a4@28, ~@24 [g4,b4,e5]@9 ~@19 [d#3,f#3]@4 ~@8]/8", // G D#dim Cdim G Gmaj7 Em D#m
  S: "[g3,b3,f#4]@3 [g3,b3,e4] [g3,b3,e4]@3 [g3,b3,e4]", // Gmaj7 Em
  T: "[[g3,c4,e4]@8 [c4,g4,b4]@20 [g4,b4,e5]@4 [g4,b4,e5]@12 [g4,b4,f#5]@4 [g4,b4,f#5]@6 [g4,b4,e5]@2 [g4,b4,e5]@6 [g4,b4,e5]@2 [g4,c5,e5]@5 ~@3 [c5,e5,g5,b5]@19 ~@5 [g#4,c5,f5]@2 f4 ~ a#4 ~ f4 ~ g#4 ~ a#4 ~ g#4 ~ [d#4,g4,a#4,d#5]@2 [f4,g#4,c5,f5]@3 ~ [f4,g#4,c5]@3 ~ [f4,g#4]@4 c5@3 ~, ~ e4@15, ~@120 f5@3 ~@5]/8", // C Cmaj7 Em Gmaj7 Em C Cmaj7 Fm …
  U: "[[f4,g#4,d#5]@5 ~ c#5 ~ [f4,g#4]@5 ~@7 a#4@4 d#5@6 a#4@2, ~@2 c#5@3 ~@3, ~@2 [d#4,g4] g4]/2", // Fm7 Fm D#
  V: "[[f4,g#4,c5]@5 [f4,g#4,c5] f5 c5, ~@3 [f4,g#4]]/2", // Fm
  W: "[d#5@3 c#5 [f4,g#4]@4 ~@2 a#4@2 d#5@3 a#4, [f4,g#4]@2 c#5@3 ~@3, ~@2 [f4,g#4] g4]/2", X: "[f4,g#4,c5]",
  Y: "[~@4 f4@2 g#4@2 c5@3 a#4 [c#4,f4]@4 ~@2 a#4@2 d#5@3 a#4 [f4,g#4,c5]@12 ~@2 [f4,g#4,c5]@2 [f4,g#4,c5,f5]@9 d#5 c#5 c5 a#4 g#4 g4 f4, ~ c4@27, ~@4 [c#4,f4]@2 a#4@3 ~ g4@2 ~@16, ~@4 [d#4,g4] ~@9]/7", // C# Fm C# D#
  Z: "[~@10 c#4@2 c#4@3 c4 [g#3,c4,f4]@6 [g#3,c4,g4]@2 [g#3,c4,g4]@3 [g#3,c4,f4] [g#3,c4,f4]@3 [g#3,f4] [g#3,c#4,f4]@4 [c#4,f4,g#4,c5]@10 f4@2 [g#3,f4]@4 ~@2 [g#3,c4,g4]@2, e4, [g3,a#3]@12 [e3,g3]@4 ~@15 c4@17 c4@6 ~@2]/7", // Fm G#maj7 Fm C# C#maj7 C# G#maj7 Gm …
  AA: "[[g#3,g4]@4 ~@2 [g#3,f4] ~ [g#3,f4]@4 ~@2 [g#3,f4] ~ [g#3,c#4,f4]@5 ~@3 [c#4,f4,g#4,c5]@19 ~@5 g#5@12 g5 g#5 ~ g5 f5@6 g5@2 f5@6 d#5@2 [g#4,c#5,f5]@8 [c#5,f5,g#5]@20 ~@4 a#5@8 ~@4 a5 a#5 ~ a5, c4@3 c4 c4@3 c4@57, ~@6 [c5,f5]@2 [g#4,c5]!2 ~@4 [d5,g5]@2]/8", // G#maj7 C# C#maj7 C# F5 G# G5
  AB: "g5@3 a5 g5@3 f5, [a#4,d5]!2", AC: "[[a#4,d#5,g5]@2 [d#5,g5,a#5]@5 ~]/2", AD: "a#5@8 ~@4 a5 a#5 ~ a5, [d5,g5]",
  AE: "c6@12 b5 c6 ~ b5, [e5,a5]", AF: "a5@3 b5 a5@3 g5, [c5,e5]!2", AG: "[[c5,f5,a5]@2 [f5,a5,c6]@5 ~]/2",
  AH: "[[e5,a5,c6]@7 ~]/2", AI: "[[f5,a5,c6]@7 ~]/2", AJ: "[[e5,a5,c6,e6]@3 ~]/2",
})).s("gm_church_organ").gain(0.6)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  A B C D A B C E A@2 F G H A F G A@2 C G H A@3 C@2 A B C I J K G L J K G L J K M L N K@2 N G O F P M A Q@2 R S T@2 R S
  T@2 U V Q W Q@2 U@2 X Y G Z X Y AA AB AC AD AE AF AG@2 AE AF AG AH AI AJ AK@4 AI@2 L@2 AL AM L AN AL AM AO AN AP AQ AR
  P AS AT AR P AS AU AV AW AO AX AV AW AO AX AV AW AY@2 ~@7
>`.pickRestart({
  A: "d2!8", B: "d2!5 c#2 c2 b1", C: "a#1!8", D: "g#1 a#1!7", E: "g#1 a#1!4 b1 c2 c#2", F: "g2!8", G: "c2!8",
  H: "d2!7 c2", I: "g#1 a#1!3 c#2 c2 b1 a#1", J: "g2!6 d3@2", K: "g2!6 d2!2", L: "f2!8", M: "d#2!8", N: "g2!7 d2",
  O: "f#2!8", P: "g2!5 f#2 f2 e2", Q: "e2!2 ~ e2 e2@2 ~ e2", R: "a2!2 ~ a2 a2@2 ~ a2", S: "f#2!2 ~ f#2 f#2@2 ~ f#2",
  T: "b2!2 ~ b2 b2@2 ~ b2", U: "c2!2 ~ c2 c2@2 ~ c2", V: "d2!2 ~ d2 d2@2 ~ d2", W: "e2!2 ~ e2 e2@2 b1!2", X: "e2!8",
  Y: "e2!5 d#2 d2 c#2", Z: "c2!5 c#2 d2 d#2", AA: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  AB: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c#2 ~ d2 ~ e2 ~", AC: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ d#2 ~",
  AD: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~", AE: "c#2@3 c#2 c#2@3 c#2", AF: "d#2@3 d#2 d#2@3 d#2",
  AG: "f2@3 f2 f2@3 f2", AH: "f2@3 f2!3 d#2 c2", AI: "c#2 c#2@2 c#2 c#2@3 c#2", AJ: "d#2 d#2@2 d#2 d#2@3 d#2",
  AK: "f2 f2@2 f2 f2@3 f2", AL: "c#2!8", AM: "c#2!5 d2 d#2 e2", AN: "f2!5 e2 d#2 d2", AO: "f2!3 d#2 f2!4",
  AP: "c#2!3 b1 c#2!4", AQ: "c#2!5 d#2 f2 f#2", AR: "g2!3 f2 g2!4", AS: "d#2!3 c#2 d#2!4", AT: "d#2!5 e2 f2 f#2",
  AU: "d#2!5 f2 g2 g#2", AV: "a2!3 g2 a2!4", AW: "a2!5 g#2 g2 f#2", AX: "f2!5 f#2 g2 g#2", AY: "[a2@3 ~]/2",
})).s("gm_acoustic_bass").gain(0.65)

// other · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  ~@31 A B@2 C@2 B@2 D E F@2 G@2 H@2 I@2 J@2 ~@9 K L M N@2 O@2 P@2 Q R S ~@8 T U@2 V@2 W@2 ~ X Y@2 Z@2 AA@2 AB@2 AC ~@9
  AD@2 ~@2 AE@2 ~@2 AE@2 ~@2 AF@2 ~@15
>`.pickRestart({
  A: "~ d4 g4 d4", B: "[f4@3 d#4 d#4@6 c4@2 f4@3 c4]/2", C: "[d4@5 d4 g4 d4]/2", D: "d4", E: "~ d3 g3 a#3",
  F: "[d4@3 c4 c4@6 c4@2 f4@3 c4]/2", G: "[d4@6 ~ d4]/2", H: "[g4@9 f4 d#4 d4 c4 a#3 a3 g3]/2",
  I: "[f#3@10 d#3@2 d#3@3 d3]/2", J: "[d3@3 ~]/2", K: "~@2 a4@2 d5@3 a4", L: "b4", M: "~ b3 e4 g4",
  N: "[b4@3 a4 a4@6 a4@2 d5@3 a4]/2", O: "[b4@6 ~ b4]/2", P: "[e5@9 d5 c5 b4 a4 g4 f#4 e4]/2", Q: "d#4",
  R: "~@2 c4@2 c4@3 b3", S: "b3", T: "~ c4 f4 c4", U: "[d#4@3 c#4 c#4@6 a#3@2 d#4@3 a#3]/2", V: "[c4@5 c4 f4 c4]/2",
  W: "[d#4@3 c#4 c#4@6 ~@6]/2", X: "~ c4 f4 g#4", Y: "[c5@3 a#4 a#4@6 a#4@2 d#5@3 a#4]/2", Z: "[c5@6 ~ c5]/2",
  AA: "[f5@9 d#5 c#5 c5 a#4 g#4 g4 f4]/2", AB: "[e4@10 c#4@2 c#4@3 c4]/2", AC: "c4", AD: "[~@2 g#5@5 ~]/2",
  AE: "[~@2 a#5@5 ~]/2", AF: "[~@2 c6@5 ~]/2",
})).s("gm_epiano2").gain(0.69).pan(0.3)

// other · timpani
const timpani = note(`<
  ~@3 A ~@3 B ~@4 C D ~@2 E F ~@9 G H ~ I J ~@2 I J ~@2 I J ~@2 I J ~@2 I J ~ K L M N ~@3 O P Q R O P C S T U T U V ~ W
  ~ X Y ~@2 Z AA AB AC AD ~ AE AF AG AH AE AF AG L AE AI AE AI AG AJ AE AI AG AJ AE AI AG AJ AE AI AG AJ AK J AL L AK J
  AL L AM AN AE AI AM AN AE AI AM AN AO ~@8
>`.pickRestart({
  A: "g#2@2 a#2@3 ~@11", B: "g#2 a#2@6 ~", C: "~@7 c2", D: "d3 ~@15", E: "~@14 e2 ~", F: "e2 ~@15",
  G: "~@4 d3 c#3 c3 b2", H: "a#2", I: "~@3 d3", J: "g2 ~@7", K: "~@4 g2 f#2 f2 e2", L: "d#2 ~@7", M: "~@12 d2 ~ d2 ~",
  N: "e2!2 ~ e2 e2@2 ~ e2", O: "~@7 b2", P: "b2!2 ~@6", Q: "~@7 a2", R: "f#2!2 ~@6", S: "d2!2 ~@6", T: "~@7 e2",
  U: "e2!2 ~@6", V: "c2!2 ~ c2 c2@2 ~ c2", W: "e2", X: "~@6 c2!2", Y: "c2 ~@7", Z: "~@12 c2 ~ c2 ~", AA: "c2 ~@15",
  AB: "~@12 f2 ~ d#2 ~", AC: "f2 ~@13 d#2 ~", AD: "f2@3 ~@13", AE: "~@6 f2!2", AF: "f2 ~@3", AG: "~@6 c#2!2",
  AH: "d#2 ~@3", AI: "f2 ~@7", AJ: "c#2 ~@7", AK: "~@6 g2!2", AL: "~@6 d#2!2", AM: "~@6 a2!2", AN: "a2 ~@7", AO: "a2",
})).s("gm_timpani").gain(0.8)

// other · brass section · "BRASS 1"
const brass_section = note(`<
  ~@5 A B C D ~@18 E F G ~@19 E F ~@27 H I ~@16 J@2 K L J M K L N M O P Q R S T Q R S U V W N X V W N X V W Y@2 ~@7
>`.pickRestart({
  A: "~@4 d5 c#5 c5 b4", B: "a#4@5 ~@11", C: "~@8 a#4 ~ b4 ~ c5 ~ c#5 ~", D: "d5@5 ~@11", E: "~@8 d5 ~ c#5 ~ c5 ~ b4 ~",
  F: "a#4@5 ~@3", G: "g#4 ~ a#4@3 ~@11", H: "~@14 d#4 ~", I: "f4@3 ~@13", J: "f4!8", K: "c#4!8", L: "c#4!5 d4 d#4 e4",
  M: "f4!5 e4 d#4 d4", N: "f4!3 d#4 f4!4", O: "c#4!3 b3 c#4!4", P: "c#4!5 d#4 f4 f#4", Q: "g4!3 f4 g4!4",
  R: "g4!5 f#4 f4 e4", S: "d#4!3 c#4 d#4!4", T: "d#4!5 e4 f4 f#4", U: "d#4!5 f4 g4 g#4", V: "a4!3 g4 a4!4",
  W: "a4!5 g#4 g4 f#4", X: "f4!5 f#4 g4 g#4", Y: "[a4@3 ~]/2",
})).s("gm_brass_section").gain(0.62)

// drums · kick
const kick = s("bd").struct(`<
  ~@3 A B C B C D C B C E C D C F C B C B C B C G C B H B C G C B C B C G C G C B C G C B C B C B C B C I C G C B C G C
  B C G C B C B C B C J K J L J K M N O C B C D C B C B C B C B C B C B K J P M K J K J K J K J K J K Q K J K D C B R B
  C B C B C B C ~@9
>`.pickRestart({
  A: "~@8 x ~@3 x ~ x!2", B: "x!2", C: "x ~@3 x!2 ~@2", D: "~ x", E: "~@4 x ~@2 x", F: "x ~@3 x ~@2 x", G: "x ~ x!2",
  H: "x ~@7 x ~ x ~@4 x", I: "x!2 ~@6 x ~@3 x ~@3", J: "x!4", K: "x ~ x ~ x!3 ~", L: "x ~@2 x!2 ~@3 x ~ x ~ x ~@3",
  M: "x ~@3 x!2 ~@2 x ~@3 x ~@3", N: "~@2 x ~ x!3 ~", O: "x!2 ~@6 x ~@3 x ~ x ~", P: "x ~@3 x!2 ~@2 x ~ x ~ x ~@3",
  Q: "x ~@2 x!2 ~@3 x ~@3 x ~@3", R: "x ~@3 x!3 ~",
})).gain(0.6)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B@3 C B@4 D B E B@2 F G B F B@3 F H I J E B H E B@2 F B@3 K L E B@4 M N J I B@2 F O P D@2 J Q D@2 K R Q D@3 B S
  Q T Q D F U B@2 F V W B D B X E D@2 J Y Q B D@5 Y E Z AA AB P Z@2 AA P Z@2 AC P Z@2 AD P Z AE AF P Z@2 AE P AG AH AG P
  AI AJ ~@8
>`.pickRestart({
  A: "~@8 x!6 ~@2", B: "~ x ~ x", C: "~@4 x ~@3 x!2 ~ x!3 ~@2", D: "~@4 x ~@7 x!2 ~@2", E: "x!2 ~ x",
  F: "~@4 x ~@6 x!3 ~@2", G: "x ~@3 x ~@6 x!3 ~@2", H: "~@4 x ~@3 x!2 ~ x!3 ~ x", I: "x!2 ~@2 x ~@7 x ~@3",
  J: "~@4 x ~@6 x!5", K: "~@4 x ~@6 x!3 ~ x", L: "x ~@3 x ~@6 x!5", M: "~@4 x ~@3 x!2 ~ x!2 ~ x!2",
  N: "x ~@3 x ~@3 x ~@2 x!3 ~@2", O: "~@8 x!2 ~ x!2 ~ x!2", P: "x ~@3 x!2 ~@6 x!2 ~@2", Q: "x ~@3 x ~@7 x!2 ~@2",
  R: "~@3 x!3 ~ x!3 ~ x!3 ~@2", S: "x ~@3 x ~@3 x ~@3 x!4", T: "~@4 x ~@3 x!2 ~ x!4 ~", U: "x!2 ~ x!3 ~@6 x!2 ~@2",
  V: "x!2 ~ x!7 ~ x!3 ~ x", W: "x ~@3 x ~@4 x ~@2 x!2 ~@2", X: "~@4 x ~@6 x!4 ~", Y: "~@4 x ~@2 x!3 ~ x!5",
  Z: "~@4 x!2 ~@6 x!2 ~@2", AA: "~@4 x!2 ~@2 x!2 ~ x!5", AB: "x ~@2 x!3 ~@5 x!3 ~ x", AC: "~@4 x!2 ~@2 x!8",
  AD: "~@3 x!3 ~@2 x!8", AE: "~@4 x!2 ~ x!3 ~ x!5", AF: "x ~@3 x!2 ~@2 x!6 ~ x", AG: "x ~@3 x!2 ~@2 x!8",
  AH: "x ~@3 x!2 ~@5 x!3 ~@2", AI: "x ~@2 x!3 ~ x!9", AJ: "x!3 ~@13",
})).gain(0.6)

// drums · clap
const clap = s("cp").struct("<~@120 x ~@5 x ~@8>").gain(0.68)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@3 A ~ B ~@10 A ~ C ~ C ~ A ~ C D ~ C ~@2 C ~ C ~@3 C ~ A ~@3 C ~@4 D ~@4 E F ~@3 G ~@4 C ~@10 C ~@4 H ~@3 C ~@3 G C
  ~@7 C ~@3 I ~@3 B ~@7 J ~@3 B ~@3 B ~@3 B ~@11
>`.pickRestart({
  A: "~@15 x", B: "~@3 x", C: "~@7 x", D: "~@6 x!2", E: "x ~@8 x!2 ~@5", F: "~ x!2 ~@13", G: "~@13 x ~@2",
  H: "~ x!3 ~ x ~@2 x ~@3 x!2 ~@2", I: "~ x ~@2", J: "~@2 x ~@2 x ~@2",
})).gain(0.6)

// drums · hihat
const hihat = s("hh").struct("<~@4 x ~@27 [~ x ~ x ~ x ~ x]!7 [x!5 ~ x!2] ~@56 [x!5 ~ x!2]!30 ~@9>").gain(0.68)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@3 A ~ B ~@10 C ~ C ~ C ~@4 D ~@10 C ~ A ~@8 D ~@4 E F ~@2 G ~@12 A ~@3 H ~@3 I J ~@3 G ~@3 A D ~@7 D ~@3 H ~@3 A ~@7
  H ~@3 A ~@3 A ~@3 A ~@11
>`.pickRestart({
  A: "~@7 x", B: "~@5 x ~@2", C: "~@3 x", D: "~@13 x ~@2", E: "~ x ~@7 x ~@6", F: "~ x ~@14", G: "~@15 x", H: "~ x",
  I: "~@13 x ~ x", J: "~@4 x!2 ~ x ~ x ~ x ~@2 x ~",
})).gain(0.6)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@7 A@2 ~@3 A ~@3 A ~@17 A ~ A ~@2 A ~@10 B@2 ~@8 C ~@12 D ~@22 A@30 ~@9
>`.pickRestart({
  A: "~@5 x ~@2", B: "x", C: "~@15 x", D: "~@3 x",
})).gain(0.68)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@3 A ~ B ~@6 C ~@3 D ~@7 C ~@2 C ~@2 C ~ C ~@5 C ~@3 C ~@9 E F ~@2 G ~@16 H ~@3 D I ~@7 J C ~@7 C ~@3 C ~@3 J ~@7 K
  ~@3 J ~@3 J ~@3 J ~@11
>`.pickRestart({
  A: "~@13 x ~@2", B: "~ x", C: "~@3 x", D: "~@7 x", E: "x ~@3 x!2 ~@2", F: "x!2 ~@6", G: "~@6 x!2", H: "~@5 x ~@2",
  I: "~@9 x!3 ~ x ~ x", J: "~@15 x", K: "~@3 x ~@2 x ~",
})).gain(0.6)

// drums · crash
const crash = s("cr").struct(`<
  ~@4 A B ~ B ~@4 C A ~@2 C A@2 ~@2 A ~@3 A@2 ~ A@4 ~@3 A ~ A ~ A@3 ~@2 A ~ A ~ D ~ A ~ A ~ A ~@2 A ~@3 A@2 ~ A ~ A ~ A
  ~ A ~@2 E A ~ A ~ F A@2 ~@2 A ~ A ~ A@2 ~ A@3 ~ A ~ A ~@3 A ~ A ~ A@3 ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@10
>`.pickRestart({
  A: "x", B: "x!2 ~@6", C: "~@3 x", D: "x!2", E: "x ~@2 x!2 ~@11", F: "x ~@6 x",
})).gain(0.68)

// drums · ride
const ride = s("rd").struct("<~@4 A B ~@26 C@7 ~@9 D ~@21 E ~@17 F@6 G ~@40>".pickRestart({
  A: "~@4 x ~ x!2", B: "x!3 ~ x ~ x!2", C: "x!4", D: "~ x!3", E: "x!3 ~@5", F: "x!8", G: "x",
})).gain(0.6)

// drums · tambourine
const tambourine = s("tb").struct("<~@62 A B@3 A B@2 ~@19 A B@6 ~@40>".pickRestart({
  A: "x!2 ~@10 x!2 ~@2", B: "~@12 x!2 ~@2",
})).gain(0.6)

stack(
  church_organ, bass, epiano2, timpani, brass_section, kick, snare, clap, low_tom, hihat, mid_tom, open_hat, high_tom,
  crash, ride, tambourine
)

More by Andrew Lloyd Webber