Strudelify
Gold cover art

Once More (Digital Album)

Gold

Spandau Ballet

KeyD♭ majorTempo143 bpm
0:00/0:00
// Gold — Spandau Ballet
// 143 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: bank select 127 (Roland MT-32 map) read through the MT-32 patch table: ch 7 Elec Gtr 1 -> electric guitar clean
// note: Full arrangement: all 135 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(143/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 · "Words"
const piano = note(`<
  ~ A B C B A D E F E G H@3 I J K L M N@2 O P@2 Q R S T U V W X Y Z AA AB U V W X AC Z AD AE@3 AF@2 AG AH AI AJ AK@2 AL
  AM AN AO AP AQ AR AS AT AU AV AW AX S T U V W X Y Z AA AB U V W X AC Z AY AE@8 AZ BA BB BC BB BD BB BC BE BF BG BH BI
  BJ BK S T U V W X Y Z AA AB U V W X AC Z S T U V W X Y Z AD AE@2 BL
>`.pickRestart({
  A: "bb1 ~ db3 ~@2 bb1 eb2 f2, ~@2 f2@4 [ab3,c4,db4,f4]@9 ~", // Dbmaj7
  B: "bb1@2 ~@2 db3@2 ~@2 eb2 ~ eb2@2 ~@2 f2@2, ~@2 f2@4 [bb3,eb4]@5 ~ [c4,f4]@4", // Eb5 F5
  C: "bb1 ~ db3 ~@2 bb1 eb2 f2, ~ f2@2 [ab3,c4,db4,f4]@5", D: "~@3 f2@2 ~@2 c3, bb1@4 ~ db3@2 ~, ~@3 [ab3,c4,db4,f4]",
  E: "f2 ~ ab3 ~@4 f2, ~ c3@2 [bb3,eb4,g4]@5", F: "gb2@2 ~@2 ab3@2 ~@4 gb3 ~ bb3@2 c4@2, ~ db3@2 [c4,f4,ab4]@4 ~",
  G: "~ ab4 eb4 ~ g4 d4 b4 bb4, [gb2,db5]@3 eb3@3 gb3@2, ~@3 c5@2 ~@3", // Gb5
  H: "[f4@2 db4@2 ~@2 f2@2 ~@8 bb1@5 ~ f2@4 ~@6 f2@2 ~@2 ab3@2 ~@8 f2@2, bb1@4 c4@4 bb1@4 [ab3,c4,db4,f4]@9 ~@7 [ab3,c4,db4,f4]@4 ~@6 [bb3,eb4,g4]@10, ~@10 db3@5 ~@11 db3@4 c3@4 c3@5 ~@9]/3", // Dbmaj7 Eb
  I: "gb2 ~ ab3 ~@2 gb3 bb3 c4, ~ db3@2 [c4,f4,ab4]@4 ~", J: "f2@2 c3@2 ab3@2 ~@2 c3@3 ~ f2@3 ~, ~@3 [bb3,eb4,g4]@5",
  K: "~@2 db3@2 ~@2 db3@2 [ab3,bb3,db4]@2 ~ [c4,eb4]@2 [db4,f4]@2 ~, gb2!2, ~ ab3 ~@2", // Bbm7 Cm Db
  L: "[eb2,bb3,db4,f4]@2 bb2 [eb3,bb3,eb4,gb4]@3 ~ eb2", M: "[f2,c4]@4 ~@2 c3@3 ~@3 f2@4, [f3,a3,f4]@15 ~, ~@6 c4@9 ~",
  N: "[~@6 db3@5 ~ gb2@3 ab1 ~@6 ab2 ~ db3@4 db2@4, [ab3,bb3,db4,f4]@13 ~@3 [ab3,db4,f4]@13 ~@3, gb2@11 ~@4 db2@9 ~@8]/2", // Bbm7 Db
  O: "~@6 db3@5 ~ gb2@4, [ab3,bb3,db4,f4]@15 ~, gb2 ~", // Bbm7
  P: "[db2@6 ab2@2 db3@4 db3@2 ab2@2 db3 eb3@5 ~@2 eb3@4 ab2@4, [ab3,db4,f4]@21 ~ [eb4,f4,ab4,db5]@8 ~@2, ~@8 db2@7 ~]/2", // Db
  Q: "~@2 db3!2, [db2,ab3,b3,db4,f4]@15 ~, ~@7 ab2@2 ~@7", // Db7
  R: "[gb1,gb2,gb3,bb3,db4,gb4]@8 [gb1,gb3,bb3,db4]@3 ~ [ab1,ab3,c4,eb4]@2 ~@2", // Gb Ab
  S: "[bb1,bb3,db4,f4] ~@2 [bb1,ab3,c4,db4,f4]@5", T: "[eb2,gb3,bb3,db4]@5 ~ eb2@2 [f2,ab3,c4,eb4]@4 ~@2 ab1@2",
  U: "[ab3,bb3,db4,f4] ~@5 [bb1,bb3,db4,f4,ab4]@9 ~, bb1 ~@7", // Bbm7
  V: "[eb2,bb3,db4,gb4,bb4]@5 ~@3 [f2,c4,eb4,ab4,c5]@4 ~@4", W: "[db4,eb4,gb4,bb4]@15 ~, eb2@13 ~@3",
  X: "[eb2,eb3,ab3,c4]@3 ~", Y: "[f1,f3,a3,c4]@3 [f2,f3,a3,c4] f1 ~ f1@2 f2@4 [f1,f3,a3,c4]@3 ~, ~@6 [f3,a3,c4]@5 ~@5",
  Z: "[gb2,gb3,bb3,db4]@7 ~ [gb1,gb3,bb3,db4]@3 ~ [ab1,ab3,c4,eb4]@2 ~@2", // Gb Ab
  AA: "[bb1,bb3,db4,f4]@2 ~@4 [bb1,ab3,c4,db4,f4]@9 ~", AB: "[eb2,db4,gb4,bb4]@5 ~ eb2@2 [f2,eb4,ab4,c5]@4 ~@2 ab1@2",
  AC: "[f1,f3,a3,c4]@3 [f2,f3,a3,c4] f1 ~ f1@2 f2@4 [f1,a3,c4,f4]@3 ~, ~@6 [f3,a3,c4]@5 ~@5", // F
  AD: "~@6 db2 ~@3 bb1 ~@3 ab1@2", AE: "bb1 ~@5 db2 ~@3 bb1 ~@3 ab1@2",
  AF: "[c4@6 ~@2 bb3@4 ~@10 [bb3,f4]@9 ~, [ab3,db4,f4] f3, bb1 ~@11 bb3@10 ~@10, ~@9 c4@7, ~@5 db4@3]/2", // Bb5 Db
  AG: "~@10 ab2 ~@3 f2@2, f2 ~, ~@3 [ab3,c4,eb4,g4]@5", // Abmaj7
  AH: "~@2 [bb3,db4,f4,ab4] ~@5 [bb3,c4,f4,ab4]@3 ~ bb3@2 c4@2, gb2@3 ~", // Bbm7 Fm
  AI: "~@6 c4@2 ~@2 ab2 ~@3 f2@2, f2@8 c4@7 ~, ~@3 [ab3,eb4,g4]@5", // Abmaj7
  AJ: "~@6 [bb3,db4,gb4]@2 [ab3,db4,db5] ~ [eb3,eb4]@2 [g4,c5]@2 [d3,d4]@2, gb2@8 ab4@2 ~@2 [g3,c4] ~@3", // Gb Db5 Eb C5 D C5
  AK: "[~@3 [ab3,c4,db4,f4]@12 c3, bb1@15 ~]/2", AL: "f2@5 ~ f2 ~@3 ab2 ~@3 f2@2, ~@3 [ab3,c4,eb4,g4]@5",
  AM: "~@2 [bb3,db4,f4] ~@5 [ab3,bb3,c4,f4]@3 ~ bb3@2 c4@2, gb2@13 ~@3", // Bbm Fm
  AN: "f2@6 [ab2,ab3,c4,eb4,g4]@5 ~ [eb3,ab3,c4,eb4,g4]@4", // Abmaj7
  AO: "~@8 bb3@2 ~ [ab3,c4,eb4]@2 ~ [ab3,f4]@2, gb2@15 ~, ~@13 [bb3,db4]@2 ~", // Ab Db Bbm
  AP: "[bb3,db4,f4,ab4]@3 ~@3 [bb3,db4,eb4,gb4]@6 ~@4, eb3@7 ~", AQ: "[a3,c4,f4]@7 ~, c3", AR: "[gb2,f3,bb3,db4]@7 ~",
  AS: "[db2,f3,ab3,db4]@15 ~", AT: "[gb2,ab3,bb3,db4,f4]", AU: "[db2,ab3,db4,f4,ab4]@15 ~",
  AV: "[db2,c4,db4,f4,ab4]@15 ~", AW: "[db2,b3,db4,f4,ab4]",
  AX: "[gb2,bb3,db4,gb4]@3 ~@5 [gb1,gb3,bb3,db4]@3 ~ [ab1,ab3,c4,eb4]@2 ~@2", AY: "bb1 ~@15",
  AZ: "bb1 ~@5 db2 ~@3 bb1 ~@3 ab1@2, [ab3,bb3,db4,f4]@7 ~", // Bbm7
  BA: "[gb3,bb3,db4]@6 db2 ~@3 bb1 ~@3 ab1@2, bb1 ~@7 [ab3,c4,eb4]@5 ~@3", // Gb Ab
  BB: "bb1 ~@5 db2 ~@3 bb1 ~@3 ab1@2, [ab3,bb3,db4,f4]@13 ~@3", // Bbm7
  BC: "[gb3,bb3,db4]@5 ~ db2 ~@3 bb1 ~@3 ab1@2, bb1 ~@7 [ab3,c4,eb4]@5 ~@3", // Gb Ab
  BD: "[gb3,bb3,db4]@5 ~ db2 ~@3 bb1 ~@3 ab1@2, bb1 ~@7 [ab3,c4,eb4]@4 ~@4", // Gb Ab
  BE: "[gb1,gb3,bb3,db4] ~ [gb1,gb3,bb3,db4] ~ [gb1,gb3,bb3,db4] ~@11", // Gb
  BF: "[ab3,c4,db4,f4]@4 ab3 bb3 c4 db4 eb4 f4 gb4 ab4 bb4 c5 db5 eb5, [db1,db2]", // Dbmaj7 Db
  BG: "[gb1,f4,bb4,f5] ~ [gb1,f4,bb4,f5] ~ [gb1,f4,bb4,f5] ~@11", BH: "[db2,db3,ab4,db5,f5]@13 ~@3",
  BI: "[db2,db4,f4,ab4,c5]@15 ~", BJ: "[db2,db4,f4,ab4,b4]",
  BK: "[gb2,db4,gb4,bb4]@3 ~@5 [gb1,gb3,bb3,db4]@3 ~ [ab1,ab3,c4,eb4]@2 ~@2", BL: "bb1 ~ bb1 ~@13",
})).s("gm_piano").gain(0.36)

// bass · electric bass finger
const bass = note(`<
  ~@25 A B C D E F G H I B C D E F G H I J K@2 L J M N O P Q J M N R S T U V W@2 X@4 Y B C D E F G H I B C D E F G H I Z
  J K@2 L J K@2 L J K@2 L J K@2 L AA AB AC@4 Y B C D E F G H I B C D E F G H I B C D E F G H I J K@2 AD
>`.pickRestart({
  A: "~@8 gb1@3 ~ ab1@3 ~", B: "bb1@2 ~ bb2@3 ~ db2", C: "eb2@2 ~ eb2 f2@2 ~ ab1", D: "bb1 ~@5 bb1@6 ~@2 db2@2",
  E: "eb2@4 ~@2 eb2@2 f2@7 ~", F: "eb2 ~@5 eb2@2 ~@4 eb2@2 gb2 bb2", G: "eb2 ~@5 eb2@2 ~@4 eb2@4",
  H: "f1@4 ~@2 f1@2 c2@3 ~ f2@3 ~", I: "gb2 ~@5 gb2@2 gb1@3 ~ ab1@3 ~", J: "bb1@3 ~@3 db2@2 ~@2 bb1@2 ~@2 ab1@2",
  K: "bb1@4 ~@2 db2 ~@3 bb1@2 ~@2 ab1@2", L: "bb1@3 ~@3 db2 ~@3 bb1@2 ~@2 ab1@2", M: "bb1@4 ~@2 db2 ~@3 bb1@2 ~@4",
  N: "f2@6 f2 ~@3 ab2@2 ~@2 f2@2", O: "gb2@6 ~ gb2", P: "f2@3 f2 ~ ab2 ~ f2", Q: "gb2@6 gb2 ~@7 ab1 ~",
  R: "gb2@13 ~ gb2@2", S: "f2@5 ~ ab2@5 ~ eb3@2 ~@2", T: "gb2@6 [b2,c3,db3] eb3@4 ~ gb3@3 ~, ~@7 d3 ~@8",
  U: "ab3@5 ~ ab3@5 ~ ab3@4", V: "~@6 a3@5 ~ c3 [bb2,b2] [ab2,a2] ~, [f2,c3,f3]@3 ~",
  W: "[gb1@14 ~ f2 ab2@13 ~@3, ~@15 db2@14 ~@3]/2",
  X: "[gb1@12 ~@4 ab2@13 ~@2 f2 ab2@13 ~@2 f2 ab2@13 ~@3, ~@14 db2@14 ~@3 db2@14 ~@2 db2@14 ~@3]/4",
  Y: "gb1@2 ~@6 gb1@3 ~ ab1@3 ~", Z: "bb1 ~@7", AA: "gb1 ~ gb1 ~ gb1 ~@8 bb1 db2 ~", AB: "db2@3 ~",
  AC: "[gb1 ~ gb1 ~ gb1@2 ~@10 ab2@13 ~@2 f2 ab2@13 ~@2 f2 ab2@13 ~@3, ~@14 db2@14 ~@3 db2@14 ~@2 db2@14 ~@3]/4",
  AD: "bb1 ~ bb1 ~@13",
})).s("gm_electric_bass_finger").gain(0.32)

// other · piano
const piano_2 = note("<~@124 A B A C ~ D E ~@4>".pickRestart({
  A: "f5@2 ~ eb5@2 db5@2 ~ c5@2 ~ db5@2 c5@2 ~", B: "c5@4 ~@2 db5@5 ~@5", C: "bb4 ~@3",
  D: "f4@2 ~ a4@2 c5@2 ~ f5@2 ~ eb5@2 ~ f5@2", E: "db5@2 ~ c5@2 ~ bb4@2 ab4@2 ~ bb4@2 ~ c5@2",
})).s("gm_piano").gain(0.64)

// other · alto sax
const alto_sax = note("<~@84 A B C ~ D E F ~@2 G@2 ~ H I J K ~@35>".pickRestart({
  A: "~@3 bb4@4 ab4", B: "bb4 ~", C: "~ bb4@2 ab4 ~ f4 ~ eb4", D: "~@6 bb4@3 c5@3 ~ db5@3", E: "eb5@3 db5@2 c5@2 c5",
  F: "db5@2 bb4 ~@3 f4@2 ~@8", G: "[~@2 f4@2 ~@2 ab4@6 f4@2 bb4@5 ~@13]/2", H: "~@2 bb4@7 ~ c5@4 c5@2",
  I: "c5@6 bb4@4 c5@3 ~ c5@2", J: "eb5@14 d5 db5", K: "c5@13 ~@3",
})).s("gm_alto_sax").gain(0.56)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~@25 A B C D E F G H I B C D E F G H I ~@4 J@4 K@2 L@3 M N O@2 P@7 Q B C D E F G H I B C D E F G H R ~@9 S@2 T@2 U@2
  V@2 W X Y Z@3 AA B C D E F G H I B C D E F G H I B C D E F G H I ~@4
>`.pickRestart({
  A: "~@8 [gb3,bb3,db4]@4 [ab3,c4,eb4]@3 ~", B: "[bb3,db4]@2 ~@4 [f3,ab3,bb3,db4]@7 ~@3, f4 ~@15",
  C: "[gb3,bb3,db4]@8 [ab3,c4,eb4]@7 ~", D: "[bb3,db4,f4] ~@5 [f3,ab3,bb3,db4]@6 ~@4",
  E: "[gb3,bb3,db4]@7 ~ [ab3,c4,eb4]@8", F: "[gb3,bb3,db4]", G: "[ab3,c4,eb4]", H: "[f3,a3,c4]",
  I: "[gb3,bb3,db4]@8 [gb3,bb3,db4]@4 [ab3,c4,eb4]@3 ~", J: "[bb3@32 c4@15 [gb3,db4]@16 ~, f3@3 ~]/4",
  K: "[[f3,c4]@15 [gb3,db4]@9 ~@8]/2", L: "[bb3@2 c4, f3]/3", M: "[gb3,db4]", N: "[f3,c4]",
  O: "[gb3@8 ~@3 eb4@5, db4@11 ~@5, ~ ab3]/2", P: "[a3 db4@6, f4]/7",
  Q: "[bb3,gb4]@6 ~@2 [gb3,bb3,db4]@4 [ab3,c4,eb4]@3 ~", R: "[gb3,bb3,db4] ~",
  S: "[ab3@15 ~ gb3@8 [ab3,c4,eb4]@8, [bb3,db4,f4]@3 ~]/2", T: "[ab3@16 gb3@7 ~ [ab3,c4,eb4]@7 ~, [bb3,db4,f4]@3 ~]/2",
  U: "[ab3@15 ~ gb3@8 [ab3,c4,eb4]@7 ~, [bb3,db4,f4]@3 ~]/2", // Ab Bbm
  V: "[ab3@15 ~ gb3@7 ~ [ab3,c4,eb4]@8, [bb3,db4,f4]@3 ~]/2", // Ab Bbm
  W: "[gb3,bb3,db4,f4] ~ [gb3,bb3,db4,f4] ~ [gb3,bb3,db4,f4] ~@11", X: "[ab3,db4,f4]@15 ~", Y: "[gb3,bb3,db4,f4]",
  Z: "[db4 c4 b3, [f4,ab4]]/3", AA: "[bb3,db4,gb4]@7 ~ [gb3,bb3,db4]@4 [ab3,c4,eb4]@3 ~",
})).s("gm_synth_strings_1").gain(0.08)

// other · electric guitar clean
const electric_guitar_clean = note(`<
  ~@30 A B C D ~@4 A B C D E@4 F ~@24 A B C D ~@4 A B C D ~ E@16 ~@11 A B C D ~@4 A B C D ~@4 A B C D E@3 G
>`.pickRestart({
  A: "[eb2,eb3] ~ [gb2,gb3] ~ [bb2,bb3] ~ [eb2,eb3] ~@5 [eb2,eb3] ~@3", // Eb Gb Bb Eb
  B: "[eb2,eb3] ~ [ab2,ab3] ~ [c3,c4] ~ [eb2,eb3] ~@5 [eb2,eb3] ~@3", // Eb Ab C Eb
  C: "[f2,f3] ~ [a2,a3] ~ [c3,c4] ~ [f2,f3] ~@5 [c3,c4] ~@3", // F A C F C
  D: "[gb2,gb3] ~ [bb2,bb3] ~ [db3,db4] ~ [gb2,gb3] ~ [bb2,bb3] ~ [db3,db4] ~ [eb3,eb4] ~ [c3,c4] ~", // Gb Bb Db Gb Bb Db Eb C
  E: "[bb1,bb2] ~@5 [db2,db3] ~@3 [bb1,bb2] ~@3 [ab1,ab2] ~", F: "[bb1,bb2] ~@15", G: "[bb1,bb2] ~ [bb1,bb2] ~@13",
})).s("gm_electric_guitar_clean").gain(0.24)

// other · electric guitar clean · soft notes
const electric_guitar_clean_2 = note("<~@30 A ~@7 A ~@32 A ~@7 A ~@31 A ~@7 A ~@7 A ~@7>".pickRestart({
  A: "~@14 [eb2,f2,eb3,f3] [bb2,bb3]", // Ebsus2 Bb
})).s("gm_electric_guitar_clean").gain(0.07)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@26 A B A C ~@4 A B A C ~@29 A B A C ~@4 A B A C ~@28 A B A C ~@4 A B A C ~@4 A B A C ~@8
>`.pickRestart({
  A: "~@3 [ab4,db5,f5]@5, ~@5 f4@10 ~", B: "[db4,f4,bb4]@3 [db4,f4,bb4]!2 ~@3 [eb4,ab4,c5]@3 [eb4,ab4,c5]!2 ~@3",
  C: "[db4,f4,bb4]@3 [f4,bb4,db5] [db4,f4,bb4] ~@3 [ab3,c4,eb4,ab4,c5]@3 [eb4,ab4,c5]!2 ~@3", // Bbm Ab
})).s("gm_electric_guitar_jazz").gain(0.12).pan(0.2)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@26 A ~@7 A ~@10 B@2 ~@20 A ~@7 A ~@31 A ~@7 A ~@7 A ~@11>".pickRestart({
  A: "~@3 [db4,f4]@5, ~ bb2@3, ~@5 [f3,ab3]@11", // Db Fm
  B: "[~@15 f3 [c4,f4]@13 ~@3, ~@7 [c4,f4] ~@8, ~@15 [bb2,ab3]@12 ~@5]/2", // F5 Bb7
})).s("gm_acoustic_guitar_steel").gain(0.32).pan(0.8)

// other · timpani
const timpani = note(`<
  ~@25 A B ~@6 A B ~@31 A B ~@6 A B ~@24 C ~ C ~@3 A B ~@6 A B ~@2 D E ~@2 A B ~@6 A B ~@2 F
>`.pickRestart({
  A: "~@8 gb2 ~@3 ab2 ~@3", B: "bb2 ~@15", C: "gb2 ~ gb2 ~ gb2 ~@11", D: "~@8 bb2!2 ~@2 bb2!2 ~@2", E: "gb2 ~@15",
  F: "bb2 ~ bb2 ~@13",
})).s("gm_timpani").gain(0.64)

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

// drums · snare
const snare = s("sd").struct(`<
  ~@25 A B@7 C B@17 C B@14 C B@3 D B@12 E B@7 F B@8 G B G B@3 C B@11 H B@7 D B@7 I
>`.pickRestart({
  A: "~@2 x!2", B: "~ x ~ x", C: "~ x!3", D: "~@2 x ~@2 x!3", E: "x", F: "~@2 x ~ x!4", G: "x!3 ~@3 x ~", H: "~ x ~@2",
  I: "x!2 ~@6",
})).gain(0.64)

// drums · low tom
const low_tom = s("lt").struct("<~@25 A ~@7 A ~@32 A ~@7 A ~@25 B ~ B ~@3 A ~@7 A ~@7 A ~@7 A ~@4>".pickRestart({
  A: "~@2 x!2", B: "x!3 ~@5",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct(`<
  A ~@25 B A@7 C A@16 D E A@2 E@8 A E@2 D C A E F A@4 C A@7 G A@7 H A@8 I E I E@3 D C A@2 E A@4 C A@2 H A@4 C A@2 J A@7
  ~
>`.pickRestart({
  A: "x!4", B: "~@3 x", C: "x!2 ~ x", D: "x!3 ~ x!4", E: "x!3 ~ x ~ x ~", F: "x!3 ~", G: "~ x ~@14", H: "x!2 ~@2",
  I: "~@2 x!2", J: "x!3 ~ x ~@3",
})).gain(0.48)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@118 [~@8 x!2 ~@2 x!2 ~@2] ~@15 [x!2 ~@6]>").gain(0.64)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@28 A ~ A@2 ~@2 A ~ A ~ A@2 ~@2 A@9 ~@2 A@2 ~@4 B ~ B ~ C B ~@2 A ~@3 A@2 ~@2 A ~ A ~ A@2 ~@2 D A@16 E ~ E B@2 ~@2 A
  ~ A ~ A@2 F ~ A ~ A ~ A@2 ~@2 A ~ A G A@2 F ~ A@3 ~
>`.pickRestart({
// … 51 more lines

More by Spandau Ballet