Strudelify

Disco Inferno

Tina Turner

KeyE♭ minorTempo132 bpm
0:00/0:00
// Disco Inferno — TURNER TINA
// 132 bpm, 4/4, key D# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 133 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(132/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 · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  ~@2 A@4 B@8 C@4 D@8 E@4 F@7 G H@3 G I@8 J@4 K@8 H@3 L@4 M@4 N O P@8 J@4 Q@8 R@4 S@4 R@4 T@8 U@8 V@8 W ~
>`.pickRestart({
  A: "[~@7 [eb3,bb3,db4,gb4,bb4]@25]/4", // Ebm7
  B: "[~@8 [db3,db4,bb4]@2 [db3,db4,gb4,bb4]@2 [d3,f4]@2 [eb3,bb3,db4,gb4,bb4]@61 ~@3 [ab3,c4,eb4,ab4,c5]@4 [c4,eb4,ab4,c5]@2 [g3,bb3,eb4,g4,bb4]@2 ~@2 [f3,c4,eb4,f4,ab4]@4 ~@2 [db3,db4,f4,ab4]@4 [db3,db4,f4,ab4]@2 [c4,eb4,ab4] ~@3 [bb2,bb3,db4,f4,ab4]@2 ab2 ~@3 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@2 [g2,bb3,c4,eb4,ab4]@2 ~@2 [bb2,bb3,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [eb3,bb3,db4,eb4,g4]@2, ~@8 gb4 ~@3 [c4,ab4] ~@69 ab3 ~@17 c3@2 ~@8 db4@4 ~@6 c4 ~@7]/8", // Gb Dm Ebm7 Ab Eb Fm7 Db Ab …
  C: "[~@2 [eb3,bb3,eb4,g4]@2 [g2,bb3,c4,eb4,ab4]@2 ~@2 [bb2,bb3,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [ab3,c4,eb4,ab4,c5]@4 [c4,eb4,ab4,c5]@2 [g3,bb3,eb4,g4,bb4]@2 ~@2 [f3,c4,eb4,f4,ab4]@2 ~@4 [db3,db4,f4,ab4]@4 [db3,db4,f4,ab4]@2 [c4,eb4,ab4] ~@3 [bb2,bb3,db4,f4,ab4]@2 ab2 ~@3 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@2 [g2,bb3,c4,eb4,ab4]@2 ~@2 [bb2,bb3,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [eb3,bb3,db4,eb4,g4]@2, ~@8 c4 ~@9 ab3 ~@17 c3@2 ~@8 db4@4 ~@6 c4 ~@7]/4", // Eb Cm7 Ebsus4 Cm7 Ab Eb Fm7 Db …
  D: "[~@2 [eb3,bb3,eb4,g4]@2 [g2,bb3,c4,eb4,ab4]@2 ~@2 [db3,db4,gb4,bb4]@2 [ab2,c4,f4,ab4] ~@3 [eb3,bb3,db4,gb4,bb4]@56 ~@2 [db3,db4,bb4]@2 ~@2 [d3,ab4]@2 [eb3,bb3,db4,gb4,bb4]@50, ~@72 gb4 ~@3 [eb4,c5] ~@51]/8", // Eb Cm7 Gb Fm Ebm7 Gb Ddim Ebm7 …
  E: "[~@8 [db3,db4,gb4,bb4] ~@3 [d3,ab4]@2 [eb3,bb3,db4,gb4,bb4]@50, ~@12 [eb4,c5] ~@51]/4", // Gb Ddim Ebm7 Cm
  F: "[~@8 [db3,bb4]@2 ~@2 [eb4,ab4,c5] ~ [eb3,bb3,db4,gb4,bb4]@61 ~@3 [ab3,c4,eb4,ab4,c5]@4 [c4,eb4,ab4,c5]@2 [g3,bb3,eb4,g4,bb4]@2 ~@2 [f3,c4,eb4,f4,ab4]@4 ~@2 [db3,db4,f4,ab4]@4 [db3,db4,f4,ab4]@2 [c3,c4,eb4,ab4]@4 [bb3,db4,f4,ab4] ~ ab2 ~@3 [eb3,bb3,eb4,g4]@2, ~@8 [db4,gb4] ~@3 d3@2 ~@68 ab3 ~@21 bb2@2 ~@6]/7", // Gb Ab Ebm7 Ab Eb Fm7 Db Ab …
  G: "~@2 [eb3,bb3,eb4,g4]@2 [g2,c4,eb4,ab4]@2 ~@2 [bb2,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [eb3,bb3,eb4,g4]@2, ~@8 c4 ~@7", // Eb Abmaj7 Ebsus4 Cm7 Eb
  H: "[~@2 [eb3,bb3,eb4,g4]@2 [g2,c4,eb4,ab4]@2 ~@2 [bb2,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [ab3,c4,eb4,ab4,c5]@4 [c4,eb4,ab4,c5]@2 [g3,bb3,eb4,g4,bb4]@2 ~@2 [f3,c4,eb4,f4,ab4]@2 ~@4 [db3,db4,f4,ab4]@4 [db3,db4,f4,ab4]@2 [c4,eb4,ab4] ~@3 [bb2,bb3,db4,f4,ab4]@2 ab2 ~@3 [eb3,bb3,eb4,g4]@2, ~@8 c4 ~@9 ab3 ~@17 c3@2 ~@10]/3", // Eb Abmaj7 Ebsus4 Cm7 Ab Eb Fm7 Db …
  I: "[~@2 eb3@2 ~@4 [gb4,bb4] ~ [ab2,c4,f4] ~ bb2 ~ [eb3,bb3,db4,gb4,bb4]@56 ~@2 [db3,gb4,bb4,db5]@2 ~@2 [eb4,ab4,c5]@2 [eb3,bb3,db4,gb4,bb4]@50, ~@8 db4@2 ab4@2 ~@60 db4 ~@3 d3 ~@51]/8", // Gb Fm Ebm7 Gb Ab Ebm7
  J: "[~@4 [db3,db4,gb4,bb4,db5] ~ [d3,ab4,c5] [eb3,bb3,db4,gb4,bb4]@25, ~@12 eb4 ~@51]/4", // Gb Dm7b5 Ebm7
  K: "[~@8 [db4,gb4,db5] ~ db3@2 [d3,ab4,c5]@2 [eb3,bb3,db4,gb4,bb4]@61 ~@3 [ab3,c4,eb4,ab4,c5]@4 [c4,eb4,ab4,c5]@2 [g3,bb3,eb4,g4,bb4]@2 ~@2 [f3,c4,eb4,f4,ab4]@4 ~@2 [db3,db4,f4,ab4]@4 [db3,db4,f4,ab4]@2 [c4,eb4,ab4] ~@3 [bb2,bb3,db4,f4,ab4]@2 ab2 ~@3 [eb3,bb3,eb4,g4]@6 [g2,c4,eb4,ab4]@2 ~@2 [bb2,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [eb3,bb3,eb4,g4]@2, ~@8 [db3,bb4]@2 ~@2 eb4 ~@69 ab3 ~@17 c3@2 ~@18 c4 ~@7]/8", // Gb5 Dm7b5 Ebm7 Ab Eb Fm7 Db Ab …
  L: "[~@2 [eb3,bb3,eb4,g4]@2 [g2,c4,eb4,ab4]@2 ~@2 [bb2,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@2 [g2,bb3,c4,eb4,ab4]@2 ~@2 [db3,db4,gb4,bb4]@2 [c4,f4,ab4]@2 ~@2 [db4,eb4,f4,ab4,c5]@33 ~, ~@8 c4 ~@5 db4@4 ~@8 ab2 ~@3 db3@29 ~@5]/4", // Eb Abmaj7 Ebsus4 Cm7 Eb Cm7 Gb Fm …
  M: "[[eb3,bb3,eb4,g4,bb4]@29 ~@3 [f4,ab4,c5]@32, ~@31 [db4,eb4]@33, ~@16 db3@15 ~]/4", N: "[eb3,bb3,eb4,g4,bb4]",
  O: "[bb2,bb4] ~ [bb2,bb4] ~ [ab2,ab4] ~ [ab2,ab4] [gb2,gb4] ~ [ab2,ab4] [gb2,gb4] ~ [f2,f4] ~@3", // Bb Ab Gb Ab Gb F
  P: "[[bb2,bb4] ~ [bb2,bb4] ~ [ab2,ab4] ~ [ab2,ab4] [gb2,gb4] ~ [ab2,ab4] [gb2,gb4] ~ [f2,f4] ~ [eb3,bb3,db4,gb4,bb4]@56 ~@2 [db3,gb4,bb4,db5]@2 ~@2 [eb4,ab4,c5]@2 [eb3,bb3,db4,gb4,bb4]@50, ~@72 db4 ~@3 d3 ~@51]/8", // Bb Ab Gb Ab Gb F Ebm7 Gb …
  Q: "[~@8 [db4,gb4,db5] ~ db3@2 [d3,ab4,c5]@2 [eb3,bb3,db4,gb4,bb4]@61 ~@3 [ab3,c4,eb4,ab4,c5]@4 [c4,eb4,ab4,c5]@2 [g3,bb3,eb4,g4,bb4]@2 ~@2 [f3,c4,eb4,f4,ab4]@4 ~@2 [db3,db4,f4,ab4]@4 [db3,db4,f4,ab4]@2 [c4,eb4,ab4] ~@3 [bb2,bb3,db4,f4,ab4]@2 ab2 ~@3 [eb3,bb3,eb4,g4]@4 ~@2 [g2,c4,eb4,ab4]@2 ~@2 [bb2,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [eb3,bb3,eb4,g4]@2, ~@8 [db3,bb4]@2 ~@2 eb4 ~@69 ab3 ~@17 c3@2 ~@18 c4 ~@7]/8", // Gb5 Dm7b5 Ebm7 Ab Eb Fm7 Db Ab …
  R: "[~@2 [eb3,bb3,eb4,g4]@2 [g2,c4,eb4,ab4]@2 ~@2 [bb2,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [ab3,c4,eb4,ab4,c5]@4 [c4,eb4,ab4,c5]@2 [g3,bb3,eb4,g4,bb4]@2 ~@2 [f3,c4,eb4,f4,ab4]@2 ~@4 [db3,db4,f4,ab4]@4 [db3,db4,f4,ab4]@2 [c4,eb4,ab4] ~@3 [bb2,bb3,db4,f4,ab4]@2 ab2 ~@3 [eb3,bb3,eb4,g4]@4 [eb3,bb3,eb4,g4]@2 [g2,c4,eb4,ab4]@2 ~@2 [bb2,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [eb3,bb3,eb4,g4]@2, ~@8 c4 ~@9 ab3 ~@17 c3@2 ~@18 c4 ~@7]/4", // Eb Abmaj7 Ebsus4 Cm7 Ab Eb Fm7 Db …
  S: "[~@2 [eb3,bb3,eb4,g4]@2 [g2,c4,eb4,ab4]@2 ~@2 [bb2,c4,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [ab3,c4,eb4,ab4,c5]@4 [c4,eb4,ab4,c5]@2 [g3,bb3,eb4,g4,bb4]@2 ~@2 [f3,c4,eb4,f4,ab4]@4 ~@2 [db3,db4,f4,ab4]@4 [db3,db4,f4,ab4]@2 [c4,eb4,ab4] ~@3 [bb2,bb3,db4,f4,ab4]@2 ab2 ~@3 [eb3,bb3,eb4,g4]@4 ~@2 [g2,c4,eb4,ab4]@2 ~@2 [bb2,eb4,ab4]@2 [c3,bb3,eb4,g4] ~@3 [eb3,bb3,eb4,g4]@2, ~@18 ab3 ~@17 c3@2 ~@18 c4 ~@7]/4", // Eb Abmaj7 Ab Cm7 Ab Eb Fm7 Db …
  T: "[~@2 [eb3,bb3,eb4,g4]@2 [g2,c4,eb4,ab4]@2 ~@2 [db3,bb4]@2 [ab2,c4,f4] ~@3 [eb3,bb3,db4,gb4,bb4]@56 ~@2 [db3,gb4,bb4,db5]@2 ~@2 [eb4,ab4,c5]@2 [eb3,bb3,db4,gb4,bb4]@50, ~@8 [db4,gb4] ~ ab4@2 ~@60 db4 ~@3 d3 ~@51]/8", // Eb Abmaj7 Gb Fm Ebm7 Gb Ab Ebm7 …
  U: "[~@8 [db3,db4,gb4,bb4,db5]@2 ~@2 [d3,ab4,c5]@2 [eb3,bb3,db4,gb4,bb4]@56 ~@2 [db4,gb4,db5] ~ db3@2 [d3,ab4,c5]@2 [eb3,bb3,db4,gb4,bb4]@50, ~@12 eb4 ~@59 [db3,bb4]@2 ~@2 eb4 ~@51]/8", // Gb Dm7b5 Ebm7 Gb5 Dm7b5 Ebm7 Gb
  V: "[~@4 [db3,gb4,bb4,db5] ~ [eb4,ab4,c5] [eb3,bb3,db4,gb4,bb4]@28 ~ [db3,db4,gb4,bb4,db5] ~ [d3,ab4,c5] [eb3,bb3,db4,gb4,bb4]@25, ~@8 db4 ~@3 d3 ~@63 eb4 ~@51]/8", // Gb Ab Ebm7 Gb Dm7b5 Ebm7
  W: "~@8 [db4,gb4,db5] ~ db3@2 [d3,ab4,c5]@2 [eb3,gb4,bb4]@2, ~@8 [db3,bb4]@2 ~@2 eb4 ~ [bb3,db4] ~", // Gb5 Dm7b5 Ebm Gb Bbm
})).s("gm_epiano2").gain(0.3)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  ~ A B@3 C@4 D@4 E F@3 G@4 H@4 I@8 J@4 K L@3 M@4 H@4 I@8 N@4 K L@3 O@3 P Q@2 R S T U V@3 H@4 I@8 J@4 K W@3 K W@3 K L@3
  X@4 Y@20 Z@2 ~
>`.pickRestart({
  A: "gb3 ~ gb3@2 e3@2 e3@2 d3 ~ d3@2 b2@2 b2@2",
  B: "[ab2 ~ ab2@2 gb2 ~ gb2@2 e2@2 e2 ~ e2@2 eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ gb2 ~ ab2 ~ db2@2]/3",
  C: "[eb2 ~ eb2@2 bb2@2 eb2@2 gb2@2 ab2 ~ db2 ~ eb2@4 eb2@2 c2@2 c3 ~ db2@2 db3 ~ d2@2 eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ gb2 ~ ab2 ~ db2@2]/4",
  D: "[eb2 ~ eb2@2 bb2@2 eb2@2 gb2@2 ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2@2 gb2 ~ g2@2 ab2@4 ab2@2 g2@2 g2@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2 ~@3 bb1 ~ ab1@2 ~@2 eb2@2]/4",
  E: "~@2 eb2@2 g1@2 ~ g1 bb1@2 c2 ~@3 eb2@2",
  F: "[~@2 eb2@2 g1@2 ~ g1 bb1@2 c2@2 eb2 ~ ab2@4 ab2@2 g2@2 ~@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2 ~@3 bb1 ~ ab1@2 eb2 ~ eb2@2]/3",
  G: "[~@2 eb2@2 g1@2 ~@2 ab1@2 bb1 ~ db2@2 eb2@4 bb1@2 eb2 ~@3 db2 ~ ab1@2 ~@2 eb2@5 ~ bb2@2 eb2@2 gb2 ~ ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ gb2 ~ ab2 ~ eb2@2]/4",
  H: "[~@2 eb2@2 bb2@2 eb2@2 gb2@2 ab2 ~ db2 ~ eb2@4 eb2@2 c2@2 c3 ~ db2@2 db3 ~ d2@2 eb2@4 ~@2 bb2@2 eb2@2 gb2 ~ ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ gb2 ~ ab2 ~ eb2@2]/4",
  I: "[~@2 eb2@2 bb2@2 eb2@2 gb2@2 ab2 ~ db2 ~ eb2@4 eb2@2 c2@2 c3 ~ db2@2 db3 ~ d2@2 eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ gb2 ~ ab2 ~ eb2@2]/4",
  J: "[~@2 eb2@2 bb2@2 eb2@2 gb2@2 ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2@2 gb2 ~ bb2@2 ab2@4 ab2@2 g2@3 ~ f2 ~ eb2@2 ~@2 db2@4 db2@2 c2@2 ~@2 bb1 ~ ab1@2 ~@2 eb2@2]/4",
  K: "~@2 eb2@2 g1@2 ~ g1 ab1@2 bb1 ~ c2 ~ eb2@2",
  L: "[~@2 eb2 ~ g1@2 ~ g1 ab1@2 bb1@2 c2 eb2 ab2@4 ab2@2 g2@2 ~@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2@2 ~@2 bb1 ~ ab1@2 eb2 ~ eb2@2]/3",
  M: "[~@2 eb2@2 g1@2 ~@2 ab1@2 bb1 ~ db2@2 eb2@4 bb1@2 eb2@2 eb2 ~@3 ab1@2 bb1 ~ eb2@5 ~ bb2@2 eb2@2 gb2 ~ ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ gb2 ~ ab2 ~ eb2@2]/4",
  N: "[~@2 eb2@2 bb2@2 eb2@2 gb2@2 ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2@2 gb2 ~ bb2@2 ab2@4 ab2@2 g2@2 g2@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2@2 ~@2 bb1 ~ ab1@2 ~@2 eb2@2]/4",
  O: "[~@2 eb2@2 g1@2 ~@2 ab1@2 bb1 ~ db2@2 eb2@4 bb1@2 eb2@2 ~@2 db2 ~ ab1@2 ~@2 db2@6 ~@2 db2@2 db3@4 ab2 ~ bb2@2]/3",
  P: "db3@9 ~ [ab2,bb2] ~ ab2@2 f2@2", // Absus2
  Q: "[eb2@5 ~ eb2@2 eb3@2 eb2@2 ~@2 eb2@4 eb2@2 eb2@2 ~ bb2 c3@3 ~ bb2 ~ eb2@2]/2",
  R: "db2@5 ~ db2 ~ eb2 f2@3 ab2@3 ~", S: "db3@9 ~ db3 ~ bb2@3 ~", T: "eb2@15 ~",
  U: "bb2 ~ bb2 ~ ab2 ~ ab2 gb2 ~ ab2 gb2 ~ f2@2 ~@2",
  V: "[bb2 ~ bb2 ~ ab2 ~ ab2 gb2 ~ ab2 gb2 ~ f2@2 eb2@6 bb2@2 eb2@2 gb2 ~ ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ gb2 ~ ab2 ~ eb2@2]/3",
  W: "[~@2 eb2 ~ g1@2 ~ g1 ab1@2 bb1@2 c2 eb2 ab2@4 ab2@2 g2@2 ~@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2@2 ~@2 bb1 ~ ab1@2 ~@2 eb2@2]/3",
  X: "[~@2 eb2@2 g1@2 ~@2 ab1@2 bb1 ~ db2@2 eb2@4 bb1@2 eb2@2 eb2 ~ db2 ~ ab1@2 bb1@2 eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ gb2 ~ ab2 ~ eb2@2]/4",
  Y: "[~@2 eb2@2 bb2@2 eb2@2 gb2@2 ab2 ~ db2 ~ eb2@4 eb2@2 c2@2 c3@2 db2@2 db3@2 d2@2 eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ ab2 ~ db2 ~ eb2@4 eb2@2 bb2@2 eb2@2 gb2 ~ gb2 ~ ab2 ~ eb2@2]/4",
  Z: "[~@2 eb2@2 bb2@2 eb2@2 gb2@2 ab2 ~ db2 ~ eb2@4 eb2@2 c2@2 c3@2 db2@2 db3@2 d2@2 eb2@2]/2",
})).s("gm_electric_bass_finger").gain(0.35)

// other · brass section · "BRASS 1"
const brass_section = note(`<
  ~ A@3 ~ B@3 ~ C@2 D@8 ~@15 E D@8 ~@15 E F@7 G@3 H@2 I@2 J ~ K ~@15 E L@8 F@7 M@2 ~@5 B@3 ~@5 B@3 ~@5 N@2 ~
>`.pickRestart({
  A: "[[gb3,gb4,gb5]@30 ~@3 d3 [db3,db4,d4,a4] [c3,c4,g4] ~@12, ~@30 [eb3,eb4,bb4]@5 ~@13]/3", // Gb Dmaj7 C5 Eb5
  B: "[~@2 [eb4,eb5] ~ [eb4,eb5] ~ [bb3,bb4] ~ [db4,db5] ~ [eb4,eb5]@11 ~@3 [db4,gb4,bb4,bb5]@2 [db4,gb4,bb4,bb5]@2 [c4,f4,ab4,ab5]@2 [bb3,eb4,gb4,gb5]@4 [db4,e4,f4] [g3,ab3,c4,d4,eb4,eb5,e5] [b3,d5] ~@11, ~@17 f5 ~@6]/3", // Eb Bb Db Eb Gb Fm Ebm Db …
  C: "[~@2 [eb4,eb5] ~ [eb4,eb5] ~ [bb3,bb4] ~ [db4,db5] ~ [eb4,eb5]@11 ~@3 [c4,c5]@2 [eb4,eb5]@2 [f4,f5] ~@3]/2", // Eb Bb Db Eb C Eb F
  D: "[~@10 [c4,c5] ~ [eb4,eb5] ~ f5@9 ~ c6@2 [bb4,bb5] ~ [f4,f5]@2 eb5@11 ~ c5 ~ [eb4,eb5] ~ eb5@8 ~@2 [c4,c5]@2 [eb4,eb5]@2 [f4,f5] ~ eb5@11 ~ [c4,c5] ~ [eb4,eb5] ~ f5@9 ~ c6@2 [bb4,bb5] ~ [f4,f5] ~ eb5@11 ~ [c4,c5] ~ [eb4,eb5] ~ eb5@8 ~@2 [db4,gb4,bb4]@2 [c4,f4,ab4] ~@5]/8", // C Eb Bb F Eb C Eb F …
  E: "~@8 [c4,c5]@2 [eb4,eb5] ~@5", // C Eb
  F: "[~@10 [c4,c5] ~ [eb4,eb5] ~ f5@9 ~ c6@2 [bb4,bb5] ~ [f4,f5]@2 eb5@11 ~ c5 ~ [eb4,eb5] ~ eb5@8 ~@2 [c4,c5]@2 [eb4,eb5]@2 [f4,f5] ~ eb5@11 ~ [c4,c5] ~ [eb4,eb5] ~ f5@9 ~ c6@2 [bb4,bb5] ~ [f4,f5] ~ eb5@11 ~ [c4,c5] ~ [eb4,eb5] ~ eb5@2]/7", // C Eb Bb F Eb C Eb F …
  G: "[~@8 [db4,gb4,bb4]@2 [c4,f4,ab4] ~@3 [f4,c5,eb5,f5,ab5]@34]/3", // Gb Fm Fm7
  H: "[[eb4,bb4,eb5,g5,bb5]@6 [bb3,bb5] [g3,g4,g5]]/2", I: "[f4,c5,eb5,f5,ab5]/2", J: "[eb4,bb4,eb5,g5,bb5]",
  K: "bb4 ~ [bb4,bb5] ~ [ab4,ab5] ~ [ab4,ab5] gb4 ~ [ab4,ab5] gb4 ~@5", // Bb Ab
  L: "[~@10 [c4,c5] ~ [eb4,eb5] ~ f5@9 ~ c6@2 [bb4,bb5] ~ [f4,f5]@2 eb5@11 ~ c5 ~ [eb4,eb5] ~ eb5@8 ~@2 [c4,c5]@2 [eb4,eb5]@2 [f4,f5] ~@3]/4", // C Eb Bb F Eb C Eb F
  M: "[~@8 [db4,gb4,bb4]@2 [c4,f4,ab4] ~@3 [eb4,bb4,db5,gb5]@3 [d4,c5] [db4,ab4,a4,b4,eb5,e5,f5] [g4,a4,bb4,d5] ~@12]/2", // Gb Fm Ebm7 D7 Db7 Gm
  N: "[~@2 [eb4,eb5] ~ [eb4,eb5] ~ [bb3,bb4] ~ [db4,db5] ~ [eb4,eb5]@11 ~@3 [db4,gb4,bb4,bb5]@2 [db4,gb4,bb4,bb5]@2 [c4,f4,ab4,ab5]@2 [bb3,eb4,gb4] ~]/2", // Eb Bb Db Eb Gb Fm Ebm
})).s("gm_brass_section").gain(0.45)

// other · brass section · "BRASS 1" · soft notes
const brass_section_soft = note(`<
  ~@3 A ~@3 B ~@2 C@4 D@5 ~@15 C@4 D@5 ~@15 C@4 D@5 ~@3 E ~@4 F ~@15 G@8 C@4 D@5 H ~@7 B ~@7 B ~@6 I ~
>`.pickRestart({
  A: "~@2 ab4 ~@13", B: "~@2 [a3,d4] ~@13", C: "[~@14 eb4@12 ~@4 f4@9 ~ c5@2 ~@4 eb4@11 ~ c4 ~@3 eb4@2]/4",
  D: "[~@14 eb4@12 ~@4 f4@9 ~ c5@2 ~@4 eb4@11 ~@5 eb4@9 ~@9]/5", E: "~@2 bb4 ~", F: "bb5 ~@6 gb5 ~@2 gb5 ~ [f4,f5] ~@3",
  G: "[~@14 eb4@12 ~@4 f4@9 ~ c5@2 ~@4 eb4@11 ~ c4 ~@3 eb4@8 ~@8 eb4@12 ~@4 f4@9 ~ c5@2 ~@4 eb4@11 ~ c4 ~@3 eb4@2]/8",
  H: "~@3 c4 ~@12", I: "~@7 [eb5,eb6]",
})).s("gm_brass_section").gain(0.05)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~ A B ~@7 C@8 ~@16 C@8 ~@16 C@8 ~@25 C@8 D@8 ~@9 E@16 ~>".pickRestart({
  A: "[b5,b6] [gb5,gb6] [e5,e6] [b4,b5] [gb5,gb6] [e5,e6] [b4,b5] [gb4,gb5] [e5,e6] [b4,b5] [gb4,gb5] [e4,e5] [b4,b5] [gb4,gb5] [e4,e5] [gb4,gb5]", // B Gb E B Gb E B Gb …
  B: "[e4,e5] [b3,b4] [e4,e5] [b4,b5] [gb4,gb5] [e4,e5] [gb4,gb5] [gb5,gb6] [e5,e6] [b4,b5] [e5,e6] [gb5,gb6] [b5,b6] [gb5,gb6] [eb5,eb6] ~", // E B E B Gb E Gb E …
  C: "[~@14 eb6@12 c6 eb6 ~@2 f6@9 ~ c7@2 bb6 ~ f6 ~ eb6@12 c6 ~ eb6 ~ eb6@9 ~ c6@2 eb6 ~ f6 ~ eb6@12 c6 eb6 ~@2 f6@9 ~ c7@2 bb6 ~ f6 ~ eb6@12 c6 ~ eb6 ~ eb6@2]/8",
  D: "[~@8 c6@2 eb6 ~ f6 ~ eb6@12 c6 eb6 ~@2 f6@9 ~ c7@2 bb6 ~ f6 ~ eb6@12 c6 ~ eb6 ~ eb6@9 ~ c6@2 eb6 ~ f6 ~ eb6@12 c6 eb6 ~@2 f6@9 ~ c7@2 bb6 ~ f6 ~ eb6@12 c6 ~ eb6 ~ eb6@2]/8",
  E: "[[bb4,bb5]@12 [db5,db6]@3 [bb4,bb5]@29 [db5,db6]@3 [bb4,bb5]@13 ~@4]/8", // Bb Db Bb Db Bb
})).s("gm_string_ensemble_1").gain(0.4).pan(0.3)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  ~@2 A@8 B C@4 D E@2 F@8 G@8 B C@4 D E@2 F@8 G@8 B C@4 H@6 I@4 J K L@8 G@8 B C@12 M@4 ~@7 A@8 G@8 ~@2
>`.pickRestart({
  A: "[~@7 [gb3,bb3,eb4,gb4]@13 [gb3,db4,gb4,bb4]!2 [ab3,eb4,ab4,c5] [gb3,db4,gb4,bb4]@13 [bb3,db4,gb4] ~ [ab3,c4,f4] [gb3,bb3,eb4,gb4]@13 [gb3,db4,gb4,bb4]!2 [ab3,eb4,ab4,c5] [gb3,db4,gb4,bb4]@9]/8", // Ebm Gb Ab Gb Fm Ebm Gb Ab …
  B: "~@2 eb3 ~ eb3 ~ eb3 ~ db3@2 eb3 ~@3 ab3@2",
  C: "[~@2 ab3@2 g3@2 ~@2 f3@2 eb3 ~@3 db3@4 db3@2 c3@2 ~@2 bb2@2 ab2 ~@3 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4,ab4] [c4,eb4,ab4]@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4,ab4] [c4,eb4,ab4]@2 [bb3,eb4,g4] ~@3 ab3@2]/4", // Eb Ab Cm Ab Eb Ab Cm Ab …
  D: "~@2 ab3@2 g3@2 ~@2 f3@2 eb3 ~@3 db3@2",
  E: "[~@2 db3@2 c3@2 ~@2 bb2@2 ab2 ~@3 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4,ab4] [c4,eb4,ab4]@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4]@2]/2", // Eb Ab Cm Ab Eb
  F: "[~@2 [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4,ab4] [bb3,db4,gb4]@2 [ab3,c4,f4] ~@3 [gb3,bb3,eb4,gb4]@26 [gb3,db4,gb4,bb4]@2 [gb3,db4,gb4,bb4]@2 [ab3,eb4,ab4,c5]@2 [gb3,db4,gb4,bb4]@26 [bb3,db4,gb4]@2 ~@2 [ab3,c4,f4]@2 [gb3,bb3,eb4,gb4]@26 [gb3,db4,gb4,bb4]@2 [gb3,db4,gb4,bb4]@2 [ab3,eb4,ab4,c5]@2 [gb3,db4,gb4,bb4]@18]/8", // Eb Ab Cm Ab Gb Fm Ebm Gb …
  G: "[~@4 [bb3,db4,gb4] ~ [ab3,c4,f4] [gb3,bb3,eb4,gb4]@13 [gb3,db4,gb4,bb4]!2 [ab3,eb4,ab4,c5] [gb3,db4,gb4,bb4]@13 [bb3,db4,gb4] ~ [ab3,c4,f4] [gb3,bb3,eb4,gb4]@13 [gb3,db4,gb4,bb4]!2 [ab3,eb4,ab4,c5] [gb3,db4,gb4,bb4]@9]/8", // Gb Fm Ebm Gb Ab Gb Fm Ebm …
  H: "[~@2 ab3@2 g3@2 ~@2 f3@2 eb3 ~@3 db3@4 db3@2 c3@2 ~@2 bb2@2 ab2 ~@3 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4,ab4] [c4,eb4,ab4]@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4,ab4] [bb3,db4,gb4]@2 [ab3,c4,f4] ~@3 [db3,ab3,db4,f4]@34]/6", // Eb Ab Cm Ab Eb Ab Cm Ab …
  I: "[[eb3,bb3,eb4,g4]@15 ~ f4@16, ~@31 [db3,ab3,db4]@32 ~]/4", J: "[eb3,bb3,eb4,g4]",
  K: "bb3 ~ bb3 ~ ab3 ~ ab3 gb3 ~ ab3 gb3 ~ f3 ~@3",
  L: "[bb3 ~ bb3 ~ ab3 ~ ab3 gb3 ~ ab3 gb3 ~ f3 ~ [gb3,bb3,eb4,gb4]@26 [gb3,db4,gb4,bb4]@2 [gb3,db4,gb4,bb4]@2 [ab3,eb4,ab4,c5]@2 [gb3,db4,gb4,bb4]@26 [bb3,db4,gb4]@2 ~@2 [ab3,c4,f4]@2 [gb3,bb3,eb4,gb4]@26 [gb3,db4,gb4,bb4]@2 [gb3,db4,gb4,bb4]@2 [ab3,eb4,ab4,c5]@2 [gb3,db4,gb4,bb4]@18]/8", // Ebm Gb Ab Gb Fm Ebm Gb Ab …
  M: "[~@2 ab3@2 g3@2 ~@2 f3@2 eb3 ~@3 db3@4 db3@2 c3@2 ~@2 bb2@2 ab2 ~@3 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4,ab4] [c4,eb4,ab4]@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4,ab4] [bb3,db4,gb4]@2 [ab3,c4,f4] ~@5]/4", // Eb Ab Cm Ab Eb Ab Cm Ab …
})).s("gm_overdriven_guitar").gain(0.25).pan(0.8)

// other · baritone sax · "BARITONSAX"
const baritone_sax = note(`<
  ~ A@3 ~ B@3 ~ C D@8 E ~@15 F@8 E ~@15 F@8 G@3 H@2 I@2 J ~ K ~@15 F@8 D@8 L@2 ~@5 B@3 ~@5 B@3 ~@5 M@2 ~
>`.pickRestart({
  A: "[gb2@30 eb3@3 d3 db3 c3 ~@12]/3",
  B: "[~@2 eb3 ~ eb3 ~ bb2 ~ db3 ~ eb3@10 ~@4 gb3@2 gb3@2 f3@2 eb3@4 d3 [c3,db3] b2 ~@11]/3", // Dbmaj7
  C: "~@2 eb3 ~ eb3 ~ bb2 ~ db3 ~ eb3@6",
  D: "[~@8 c3@2 eb3@2 f3 ~ eb3@12 c3 ~ eb3 ~ f3@10 c4@2 bb3 ~ f3@2 eb3@12 c3 ~ eb3 ~ eb3@8 ~@2 c3@2 eb3@2 f3 ~ eb3@12 c3 ~ eb3 ~ f3@10 c4@2 bb3 ~ f3@2 eb3@12 c3 ~ eb3 ~ eb3@2]/8",
  E: "~@8 db3@2 ab2 ~@5",
  F: "[~@8 c3@2 eb3 ~@3 eb3@12 c3 ~ eb3 ~ f3@10 c4@2 bb3 ~ f3@2 eb3@12 c3 ~ eb3 ~ eb3@8 ~@2 c3@2 eb3@2 f3 ~ eb3@12 c3 ~ eb3 ~ f3@10 c4@2 bb3 ~ f3@2 eb3@12 c3 ~ eb3 ~ eb3@2]/8",
  G: "[~@8 db3@2 ab2 ~@3 db3@33 ~]/3", H: "[eb3@23 ~ bb3@4 g3@3 ~]/2", I: "[db3@31 ~]/2", J: "eb3",
  K: "bb3 ~ bb3 ~ ab3 ~ ab3 gb3 ~ ab3 gb3 ~ f3 ~@3", L: "[~@8 db3@2 ab2 ~@3 eb3@3 d3 [c3,db3] ~@13]/2",
  M: "[~@2 eb3 ~ eb3 ~ bb2 ~ db3 ~ eb3@10 ~@4 gb3@2 gb3@2 f3@2 eb3@2]/2",
})).s("gm_baritone_sax").gain(0.39).pan(0.7)

// bass · clavinet
const bass_2 = note(`<
  ~ A B@3 C@8 D E@3 F@4 G@4 H@8 I@4 J K@3 L@4 G@4 H@8 M@4 J K@3 N@3 O P@2 Q R S T U@3 G@4 H@8 V@4 J W@3 J W@3 J K@3 X@4
  Y@20 Z@2 ~
>`.pickRestart({
  A: "gb2 ~ gb2@2 e2@2 e2@2 d2 ~ d2@2 b1@2 b1@2",
  B: "[ab1 ~ ab1@2 gb1 ~ gb1@2 e1@2 e1 ~ e1@2 eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ gb1 ~ ab1 ~ db1@2]/3",
  C: "[eb1 ~ eb1@2 bb1@2 eb1@2 gb1@2 ab1 ~ db1 ~ eb1@4 eb1@2 c1@2 c2 ~ db1@2 db2 ~ d1@2 eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ gb1 ~ ab1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1@2 ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1@2 gb1 ~ g1@2 ab2@4 ab2@2 g2@2 g2@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2 ~@3 bb1 ~ ab1@2 ~@2 eb2@2]/8",
  D: "~@2 eb2@2 g1@2 ~ g1 bb1@2 c2 ~@3 eb2@2",
  E: "[~@2 eb2@2 g1@2 ~ g1 bb1@2 c2@2 eb2 ~ ab2@4 ab2@2 g2@2 ~@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2 ~@3 bb1 ~ ab1@2 eb2 ~ eb2@2]/3",
  F: "[~@2 eb2@2 g1@2 ~@2 ab1@2 bb1 ~ db2@2 eb2@4 bb1@2 eb2 ~@3 db2 ~ ab1@2 ~@2 eb1@5 ~ bb1@2 eb1@2 gb1 ~ ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ gb1 ~ ab1 ~ eb1@2]/4",
  G: "[~@2 eb1@2 bb1@2 eb1@2 gb1@2 ab1 ~ db1 ~ eb1@4 eb1@2 c1@2 c2 ~ db1@2 db2 ~ d1@2 eb1@4 ~@2 bb1@2 eb1@2 gb1 ~ ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ gb1 ~ ab1 ~ eb1@2]/4",
  H: "[~@2 eb1@2 bb1@2 eb1@2 gb1@2 ab1 ~ db1 ~ eb1@4 eb1@2 c1@2 c2 ~ db1@2 db2 ~ d1@2 eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ gb1 ~ ab1 ~ eb1@2]/4",
  I: "[~@2 eb1@2 bb1@2 eb1@2 gb1@2 ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1@2 gb1 ~ bb1@2 ab2@4 ab2@2 g2@3 ~ f2 ~ eb2@2 ~@2 db2@4 db2@2 c2@2 ~@2 bb1 ~ ab1@2 ~@2 eb2@2]/4",
  J: "~@2 eb2@2 g1@2 ~ g1 ab1@2 bb1 ~ c2 ~ eb2@2",
  K: "[~@2 eb2 ~ g1@2 ~ g1 ab1@2 bb1@2 c2 eb2 ab2@4 ab2@2 g2@2 ~@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2@2 ~@2 bb1 ~ ab1@2 eb2 ~ eb2@2]/3",
  L: "[~@2 eb2@2 g1@2 ~@2 ab1@2 bb1 ~ db2@2 eb2@4 bb1@2 eb2@2 eb2 ~@3 ab1@2 bb1 ~ eb1@5 ~ bb1@2 eb1@2 gb1 ~ ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ gb1 ~ ab1 ~ eb1@2]/4",
  M: "[~@2 eb1@2 bb1@2 eb1@2 gb1@2 ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1@2 gb1 ~ bb1@2 ab2@4 ab2@2 g2@2 g2@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2@2 ~@2 bb1 ~ ab1@2 ~@2 eb2@2]/4",
  N: "[~@2 eb2@2 g1@2 ~@2 ab1@2 bb1 ~ db2@2 eb2@4 bb1@2 eb2@2 ~@2 db2 ~ ab1@2 ~@2 db1@6 ~@2 db1@2 db2@4 ab1 ~ bb1@2]/3",
  O: "db2@9 ~ [ab1,bb1] ~ ab1@2 f1@2", // Absus2
  P: "[eb1@5 ~ eb1@2 eb2@2 eb1@2 ~@2 eb1@4 eb1@2 eb1@2 ~ bb1 c2@3 ~ bb1 ~ eb1@2]/2",
  Q: "db1@5 ~ db1 ~ eb1 f1@3 ab1@3 ~", R: "db2@9 ~ db2 ~ bb1@3 ~", S: "eb1@15 ~",
  T: "bb2 ~ bb2 ~ ab2 ~ ab2 gb2 ~ ab2 gb2 ~ f2@2 ~@2",
  U: "[bb2 ~ bb2 ~ ab2 ~ ab2 gb2 ~ ab2 gb2 ~ f2@2 eb1@6 bb1@2 eb1@2 gb1 ~ ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ gb1 ~ ab1 ~ eb1@2]/3",
  V: "[~@2 eb1@2 bb1@2 eb1@2 gb1@2 ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb2@2 gb2 ~ bb2@2 ab2@4 ab2@2 g2@3 ~ f2 ~ eb2@2 ~@2 db2@4 db2@2 c2@2 ~@2 bb1 ~ ab1@2 ~@2 eb2@2]/4",
  W: "[~@2 eb2 ~ g1@2 ~ g1 ab1@2 bb1@2 c2 eb2 ab2@4 ab2@2 g2@2 ~@2 f2 ~ eb2@2 ~@2 db2@4 db2@2 c2@2 ~@2 bb1 ~ ab1@2 ~@2 eb2@2]/3",
  X: "[~@2 eb2@2 g1@2 ~@2 ab1@2 bb1 ~ db2@2 eb2@4 bb1@2 eb2@2 eb2 ~ db2 ~ ab1@2 bb1@2 eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ gb1 ~ ab1 ~ eb1@2]/4",
  Y: "[~@2 eb1@2 bb1@2 eb1@2 gb1@2 ab1 ~ db1 ~ eb1@4 eb1@2 c1@2 c2@2 db1@2 db2@2 d1@2 eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ ab1 ~ db1 ~ eb1@4 eb1@2 bb1@2 eb1@2 gb1 ~ gb1 ~ ab1 ~ eb1@2]/4",
  Z: "[~@2 eb1@2 bb1@2 eb1@2 gb1@2 ab1 ~ db1 ~ eb1@4 eb1@2 c1@2 c2@2 db1@2 db2@2 d1@2 eb1@2]/2",
})).s("gm_clavinet").gain(0.17).pan(0.3)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note("<~@108 A B A C A B A D ~@17>".pickRestart({
  A: "~@2 eb3 ~ bb3@2 eb3 ~ gb3 ~ ab3 ~ db3 ~ eb3@2", B: "~@2 eb3 ~ bb3 ~ eb3 ~ gb3 ~ gb3 ~ ab3@2 eb3@2",
  C: "~@2 eb3 ~ c3 ~ c3 ~ db3 ~ db3 ~ d3@2 eb3@2", D: "~@2 eb3 ~ c3 ~ c3 ~ db3 ~ db3 ~ d3@2 ~@2",
})).s("gm_electric_guitar_muted").gain(0.48).pan(0.8)

// other · electric guitar clean · "CLEAN GTR" · Eb Db
const electric_guitar_clean = note(`<
  ~@116
  [[eb4,eb5] ~ [eb4,eb5] ~ [eb4,eb5]!5 ~ [eb4,eb5]!2 ~ [eb4,eb5]!3]!7
  [[eb4,eb5] ~ [eb4,eb5] ~ [eb4,eb5]!4 ~@5 [db4,db5]!3]
  [[db4,db5] ~ [db4,db5] ~ [db4,db5]!5 ~ [db4,db5]!2 ~ [db4,db5]!3]!7
  [[db4,db5] ~ [db4,db5] ~ [db4,db5]!4 ~@8]
  ~
>`).s("gm_electric_guitar_clean").gain(0.32).pan(0.3)

// drums · kick
const kick = s("bd").struct("<~ [x!4]!131 ~>").gain(0.56)

// drums · snare
const snare = s("sd").struct(`<
  A B@2 C@7 D C@7 E C@15 F C@7 E C@15 F C@7 E C@6 ~ G@2 C@15 F C@15 E C@15 E C@7 E ~
>`.pickRestart({
  A: "~@3 x", B: "x!8", C: "~ x ~ x", D: "~ x!7", E: "~@2 x ~ x!2 ~ x", F: "~@2 x ~ x ~ x!2", G: "~@7 x",
})).gain(0.56)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@3 A@7 ~ A@3 B A@3 C A@7 B D A@6 B A@3 B A@3 C A@7 B D A@6 E A@3 B D A@2 E ~@6 F G@2 A@7 B A@7 E ~@41
>`.pickRestart({
// … 35 more lines

More by Tina Turner