Strudelify

The Figurehead

The Cure

KeyC minorTempo200 bpm
0:00/0:00
// The Figurehead — The Cure
// 200 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 359 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(200/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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.

// other · melodic tom
const melodic_tom = note(`<
  A B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C
  B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B
  C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D
  B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B
  D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C
  B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D E ~@9
>`.pickRestart({
  A: "~@8 d2 ~ d2 ~ d2 ~ d2 ~", B: "d2@3 ~ d2@3 ~ d2@3 ~ [d2,c3]@3 ~", C: "d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~",
  D: "d2@3 ~ d2@3 ~ d2 ~ d2 ~ d2 ~ d2 ~", E: "d2@3 ~@13",
})).s("gm_melodic_tom").gain(0.51)

// bass · electric bass pick
const bass = note(`<
  ~@5 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2
  A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A E F G A@2 G@2 A@2
  G@2 A@2 G@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2
  C@2 D@2 A@2 B@2 C@2 D@2 A@2 G@2 A@2 G@2 A@2 G@2 A@2 G@2 H@2 G@2 H@2 G@2 H@2 G@2 H@2 G@2 I@16 A@2 B@2 C@2 D@2 A@2 B@2
  C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2
  D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 ~@18
>`.pickRestart({
  A: "c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~", B: "bb1@3 ~ bb1@3 ~ bb1@3 ~ bb1@3 ~", C: "f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~",
  D: "ab1@3 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~", E: "c2@3 ~ c2@3 ~ c2 ~@3 c2 ~@3", F: "gb2@4 gb2@3 ~ gb2@3 ~ gb2@3 ~",
  G: "gb2@3 ~ gb2@3 ~ gb2@3 ~ gb2@3 ~", H: "eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~", I: "f2@3 ~ f2@3 ~ f2@3 ~ f2@3 ~",
})).s("gm_electric_bass_pick").gain(0.41)

// other · clarinet
const clarinet = note(`<
  ~@29 A B C B D C ~ E F E G H I@2 J K E L F M N O P Q R S N T U V W X@2 ~@14 Y Z AA AB AC G ~@2 E F E AD@2 AE AF AG K R
  AH U ~ AI AJ ~ AK AF ~@2 AL AM ~@50 AN AO AP AQ AN AR ~@2 E AS AT AP AT ~@2 J AU AV AW AX AY AZ G BA BB BC BD Y BE BF
  ~ BG BH@2 ~@38 BI BJ BE BJ BE BJ BK BL BM@2 ~@31 BN L BO ~ O M ~@2 BN L F AN ~@3 BP BQ BR BS BT@2 BU BV BW ~ BX ~ BX
  BY BU BV BW ~ BX ~ BX BY BU BV BW ~ BZ ~ CA AY BI CB CC@2 ~@4 BI CB CC@2 ~@4 BU BV BW ~@5 BU BV BW ~@16 CD ~
>`.pickRestart({
  A: "eb4@5 ~@3 eb4@3 ~ eb4@4", B: "~@4 d4@5 ~@3 eb4@4", C: "~@4 d4@3 ~ c4@3 ~ c4@4", D: "~@4 eb4@5 ~@3 eb4@4",
  E: "~@4 eb4@3 ~ eb4@3 ~ eb4@4", F: "~@4 d4@3 ~ d4@3 ~ d4@4", G: "~@4 d4@3 ~@5 d4@4", H: "~@4 c4@5 ~@3 d4@3 ~",
  I: "[eb4@11 ~ c4@11 ~@9]/2", J: "~@8 eb4@5 ~@3", K: "eb4@3 ~ eb4@3 ~@5 f4@4", L: "~@4 d4@3 ~@5 eb4@4",
  M: "~@4 c4@3 ~@9", N: "~@12 d4@3 ~", O: "d4@3 ~ d4@3 ~ d4@3 ~ d4@4", P: "~@4 c4@3 ~ c4@3 ~ c4@3 ~",
  Q: "~@4 d4@3 ~ d4@3 ~ eb4@4", R: "~@8 eb4@3 ~ eb4@3 ~", S: "eb4@3 ~ d4@3 ~ c4@3 ~ eb4@4",
  T: "eb4@3 ~ f4@3 ~ d4@3 ~ eb4@4", U: "~@4 d4@5 ~@7", V: "~@8 c4@3 ~ d4@3 ~", W: "eb4@5 ~@3 d4@5 ~@3",
  X: "[d4@3 ~@5 c4@3 ~ c4@11 ~@9]/2", Y: "~@12 eb4@3 ~", Z: "f4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~",
  AA: "eb4@3 ~ d4@3 ~@5 eb4@4", AB: "~@4 d4@5 ~@3 d4@4", AC: "~@8 eb4@3 ~ eb4@4", AD: "[~@4 d4@3 ~ d4@11 ~@9 c4@3 ~]/2",
  AE: "d4@3 ~ d4@3 ~ d4@3 ~ d4@3 ~", AF: "d4@3 ~ c4@5 ~@7", AG: "~@8 eb4@3 ~@5", AH: "eb4@3 ~ eb4@3 ~ d4@3 ~ eb4@4",
  AI: "c4@4 c4@3 ~ c4@3 ~@5", AJ: "c4@5 ~@11", AK: "~@4 d4@3 ~ d4@5 ~@3", AL: "~@4 bb3@3 ~ bb3@5 ~@3",
  AM: "bb3@3 ~ c4@5 ~@7", AN: "~@4 eb4@3 ~ eb4@5 ~@3", AO: "f4@4 ~@4 eb4@3 ~ eb4@4", AP: "~@8 d4@5 ~@3",
  AQ: "eb4@3 ~ d4@3 ~@5 d4@3 ~", AR: "eb4@3 ~ d4@3 ~ c4@3 ~ c4@4", AS: "~@8 d4@3 ~ d4@3 ~",
  AT: "d4@3 ~ eb4@5 ~@3 eb4@4", AU: "eb4@3 ~ d4@3 ~ c4@3 ~ c4@3 ~", AV: "~@8 f4@3 ~ f4@3 ~",
  AW: "f4@5 ~@3 eb4@3 ~ f4@4", AX: "~@4 eb4@5 ~@3 f4@4", AY: "~@4 eb4@5 ~@7", AZ: "eb4@3 ~ eb4@3 ~@5 eb4@4",
  BA: "~@4 c4@3 ~@5 c4@4", BB: "~@12 c4@3 ~", BC: "c4@3 ~ c4@3 ~ c4@3 ~@5", BD: "d4@3 ~ d4@3 ~@5 eb4@4",
  BE: "eb4@3 ~ eb4@3 ~ eb4@3 ~@5", BF: "f4@3 ~ eb4@5 ~@7", BG: "eb4@3 ~@5 d4@3 ~ d4@4", BH: "[~@8 c4@11 ~@13]/2",
  BI: "~@4 eb4@3 ~ eb4@3 ~@5", BJ: "f4@3 ~ eb4@3 ~ eb4@3 ~@5", BK: "eb4@3 ~@5 eb4@3 ~@5",
  BL: "f4@3 ~ eb4@3 ~@5 eb4@3 ~", BM: "[~@4 eb4@3 ~@5 eb4@11 ~ c4@5 ~@3]/2", BN: "eb4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~",
  BO: "~@4 d4@3 ~ d4@3 ~ d4@3 ~", BP: "~@4 eb4@3 ~ eb4@3 ~ f4@4", BQ: "~@4 eb4@3 ~ eb4@3 ~ eb4@3 ~",
  BR: "~@4 d4@5 ~@3 d4@3 ~", BS: "eb4@3 ~ d4@3 ~@5 d4@4", BT: "[~@4 eb4@3 ~@5 c4@11 ~@9]/2", BU: "~@4 c4@3 ~ c4@5 ~@3",
  BV: "d4@3 ~ c4@3 ~ c4@3 ~ c4@4", BW: "~@4 bb3@3 ~ c4@5 ~@3", BX: "c4@3 ~ c4@3 ~@5 c4@3 ~", BY: "~@4 bb3@5 ~@7",
  BZ: "eb4@3 ~ eb4@3 ~@5 eb4@3 ~", CA: "d4@3 ~ d4@3 ~@5 d4@3 ~", CB: "f4@3 ~ eb4@3 ~@5 eb4@4",
  CC: "[~@4 d4@3 ~@5 eb4@11 ~@9]/2", CD: "c4 ~@15",
})).s("gm_clarinet").gain(0.41)

// other · distortion guitar
const distortion_guitar = note(`<
  ~@61 A@4 B ~@3 A@4 B ~@35 A@2 C@2 A@2 C@2 A@2 C@2 A@2 C@2 A@4 B ~@3 A@4 D@2 E@2 A@2 E@2 F@2 E@2 A@4 G ~@35 A@2 C@2 A@2
  C@2 A@2 C@2 A@2 C@2 H@2 C@2 H@2 C@2 H@2 C@2 I@2 C@2 J K J K J K J K J K J K J K J K A@2 L@2 M ~@3 A@2 L@2 M ~@3 A@2
  E@2 A@2 E@2 A@2 L@2 N@2 O@2 P ~@89
>`.pickRestart({
  A: "[c4@11 ~ d4@11 ~ eb4@5 ~@3]/2", B: "ab3@11 ~@5", C: "[gb4@11 ~ g4@11 ~ gb4@5 ~@3]/2", D: "[ab3@11 ~ g4@11 ~@9]/2",
  E: "[f4@11 ~ eb4@11 ~ d4@5 ~@3]/2", F: "[c4@8 ~@4 d4@11 ~ eb4@5 ~@3]/2", G: "ab3",
  H: "[eb5@11 ~ b4@11 ~ eb5@4 ~@4]/2", I: "[eb5@11 ~ b4@11 ~ bb4@5 ~@3]/2", J: "f4@11 ~ ab4@4", K: "~@4 g4@11 ~",
  L: "[f4@11 ~ g4@11 ~ bb4@5 ~@3]/2", M: "ab4@11 ~@5", N: "[ab4@11 ~ g4@11 ~ f4@5 ~@3]/2",
  O: "[eb4@11 ~ d4@11 ~ bb3@5 ~@3]/2", P: "c4@11 ~@5",
})).s("gm_distortion_guitar").gain(0.41).pan(0.7)

// other · clarinet
const clarinet_2 = note(`<
  ~@29 A@2 B@2 C D@2 E@4 F G@2 H@2 I@2 J@2 ~ K@6 L@2 M@4 ~@15 N@2 O P@2 Q ~ R@5 S@2 T@2 U@3 ~ V@2 ~ W@2 ~@2 X@2 ~@50 Y@4
  Z@3 ~ AA@3 AB@2 AC ~ AD@5 AE AF AG AH AI AJ@2 AC AK@2 ~ AL@3 ~@38 AM@8 AN AO@2 ~@30 AP@2 AQ@2 AR@2 ~@2 AP@2 AS@3 ~@2
  AT@3 AU AV AW AX@4 AY AZ AY BA AX@4 AY AZ AY BA AX@4 AF BB BC BD BE@2 AG BF ~@4 BE@2 AG BF ~@4 AX@4 ~@4 AX@4 ~@15 BG ~
>`.pickRestart({
  A: "[~@7 eb4@5 ~@3 eb4@3 ~ eb4@5 ~@3 d4@5]/2", B: "[~@3 eb4@5 ~@3 d4@3 ~ c4@3 ~ c4@5 ~@3 d4@5]/2",
  C: "~@3 eb4@5 ~@3 eb4@5", D: "[~@3 eb4@5 ~@3 d4@3 ~ c4@3 ~ c4@5 ~@8]/2",
  E: "[~@11 eb4@3 ~ eb4@3 ~ eb4@5 ~@3 d4@3 ~ d4@3 ~ d4@5 ~@3 eb4@3 ~ eb4@3 ~ eb4@5 ~@3 d4@3 ~@2]/4",
  F: "~@3 d4@5 ~@3 c4@5", G: "[~@3 d4@3 ~ eb4@11 ~ c4@11 ~@2]/2", H: "[~@15 eb4@5 ~@3 eb4@3 ~ eb4@3 ~@2]/2",
  I: "[~@3 f4@5 ~@3 eb4@3 ~ eb4@3 ~ eb4@5 ~@3 d4@3 ~@2]/2", J: "[~@3 eb4@5 ~@3 d4@3 ~ d4@3 ~ d4@5 ~@3 c4@3 ~@2]/2",
  K: "[~@3 d4@3 ~ d4@3 ~ d4@3 ~ d4@3 ~ d4@5 ~@3 c4@3 ~ c4@3 ~ c4@3 ~@5 d4@3 ~ d4@3 ~ eb4@5 ~@7 eb4@3 ~ eb4@3 ~ eb4@3 ~ d4@3 ~ c4@3 ~ eb4@5 ~@8]/6",
  L: "[~@3 d4@3 ~ eb4@3 ~ f4@3 ~ d4@3 ~ eb4@5 ~@3 d4@5]/2",
  M: "[~@15 c4@3 ~ d4@3 ~ eb4@5 ~@3 d4@5 ~@3 d4@3 ~@5 c4@3 ~ c4@11 ~@2]/4",
  N: "[~@3 eb4@3 ~ f4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~ d4@3 ~@2]/2", O: "~@3 eb4@5 ~@3 d4@5",
  P: "[~@3 d4@5 ~@7 eb4@3 ~ eb4@5 ~@3 d4@3 ~@2]/2", Q: "~@3 d4@5 ~@8",
  R: "[~@11 eb4@3 ~ eb4@3 ~ eb4@5 ~@3 d4@3 ~ d4@3 ~ d4@5 ~@3 eb4@3 ~ eb4@3 ~ eb4@5 ~@3 d4@3 ~ d4@11 ~@6]/5",
  S: "[~@3 c4@3 ~ d4@3 ~ d4@3 ~ d4@3 ~ d4@3 ~ d4@3 ~ c4@5]/2", T: "[~@15 eb4@3 ~@5 eb4@3 ~ eb4@3 ~@2]/2",
  U: "[~@3 f4@5 ~@7 eb4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~ d4@3 ~ eb4@5 ~@3 d4@5]/3",
  V: "[~@7 c4@4 c4@3 ~ c4@3 ~@5 c4@5 ~@4]/2", W: "[~@11 d4@3 ~ d4@5 ~@3 d4@3 ~ c4@5]/2",
  X: "[~@11 bb3@3 ~ bb3@5 ~@3 bb3@3 ~ c4@5]/2",
  Y: "[~@11 eb4@3 ~ eb4@5 ~@3 f4@4 ~@4 eb4@3 ~ eb4@5 ~@7 d4@5 ~@3 eb4@3 ~ d4@3 ~@2]/4",
  Z: "[~@3 d4@3 ~@5 eb4@3 ~ eb4@5 ~@3 eb4@3 ~ d4@3 ~ c4@3 ~ c4@5 ~@8]/3",
  AA: "[~@11 eb4@3 ~ eb4@3 ~ eb4@5 ~@7 d4@3 ~ d4@3 ~ d4@3 ~ eb4@5]/3", AB: "[~@3 eb4@5 ~@7 d4@5 ~@3 d4@3 ~ eb4@5]/2",
  AC: "~@3 eb4@5 ~@8",
  AD: "[~@15 eb4@5 ~@3 eb4@3 ~ d4@3 ~ c4@3 ~ c4@3 ~@9 f4@3 ~ f4@3 ~ f4@5 ~@3 eb4@3 ~ f4@5 ~@3 eb4@5]/5",
  AE: "~@3 f4@5 ~@3 eb4@5", AF: "~@7 eb4@3 ~ eb4@3 ~@2", AG: "~@3 eb4@5 ~@3 d4@3 ~@2", AH: "~@3 d4@5 ~@3 c4@3 ~@2",
  AI: "~@3 c4@5 ~@8", AJ: "[~@3 c4@3 ~ c4@3 ~ c4@3 ~ c4@3 ~@5 d4@3 ~ d4@3 ~@2]/2",
  AK: "[~@3 eb4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~@5 f4@3 ~ eb4@5]/2", AL: "[~@7 eb4@3 ~@5 d4@3 ~ d4@5 ~@7 c4@11 ~@6]/3",
  AM: "[~@11 eb4@3 ~ eb4@3 ~@5 f4@3 ~ eb4@3 ~ eb4@3 ~@5 eb4@3 ~ eb4@3 ~ eb4@3 ~@5 f4@3 ~ eb4@3 ~ eb4@3 ~@5 eb4@3 ~ eb4@3 ~ eb4@3 ~@5 f4@3 ~ eb4@3 ~ eb4@3 ~@5 eb4@3 ~@5 eb4@3 ~@5 f4@3 ~ eb4@3 ~@2]/8",
  AN: "~@3 eb4@3 ~@5 eb4@3 ~@2", AO: "[~@3 eb4@11 ~ c4@5 ~@12]/2",
  AP: "[~@7 eb4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~@5 d4@3 ~@2]/2", AQ: "[~@3 eb4@5 ~@3 d4@3 ~ d4@3 ~ d4@3 ~@10]/2",
  AR: "[~@7 d4@3 ~ d4@3 ~ d4@3 ~ d4@5 ~@3 c4@3 ~@2]/2",
  AS: "[~@3 eb4@5 ~@3 d4@3 ~ d4@3 ~ d4@5 ~@3 eb4@3 ~ eb4@5 ~@12]/3",
  AT: "[~@11 eb4@3 ~ eb4@3 ~ f4@5 ~@3 eb4@3 ~ eb4@3 ~ eb4@3 ~@5 d4@5]/3", AU: "~@3 d4@3 ~ eb4@3 ~ d4@3 ~@2",
  AV: "~@3 d4@5 ~@3 eb4@3 ~@2", AW: "~@3 c4@11 ~@2",
  AX: "[~@11 c4@3 ~ c4@5 ~@3 d4@3 ~ c4@3 ~ c4@3 ~ c4@5 ~@3 bb3@3 ~ c4@5 ~@12]/4", AY: "~@7 c4@3 ~ c4@3 ~@2",
  AZ: "~@3 c4@3 ~@10", BA: "~@3 c4@3 ~@5 bb3@5", BB: "~@3 eb4@3 ~@10", BC: "~@7 d4@3 ~ d4@3 ~@2",
  BD: "~@3 d4@3 ~@5 eb4@5", BE: "[~@11 eb4@3 ~ eb4@3 ~@5 f4@3 ~ eb4@3 ~@2]/2", BF: "~@3 eb4@11 ~@2", BG: "~@7 c4 ~@8",
})).s("gm_clarinet").gain(0.31).pan(0.7)

// other · clarinet
const clarinet_3 = note(`<
  ~@30 A B C B D C ~ E F E G H I@2 J K E L F M N O P Q R S N T U V W X@2 ~@14 Y Z AA AB AC G ~@2 E F E AD@2 AE AF AG K R
  AH U ~ AI AJ ~ AK AF ~@2 AL AM ~@50 AN AO AP AQ AN AR ~@2 E AS AT AP AT ~@2 J AU AV AW AX AY AZ G BA BB BC BD Y BE BF
  ~ BG BH@2 ~@38 BI BJ BE BJ BE BJ BK BL BM@2 ~@31 BN L BO ~ O M ~@2 BN L F AN ~@3 BP BQ BR BS BT@2 BU BV BW ~ BX ~ BX
  BY BU BV BW ~ BX ~ BX BY BU BV BW ~ BZ ~ CA AY BI CB CC@2 ~@4 BI CB CC@2 ~@4 BU BV BW ~@5 BU BV BW ~@16 CD
>`.pickRestart({
  A: "eb4@5 ~@3 eb4@3 ~ eb4@4", B: "~@4 d4@5 ~@3 eb4@4", C: "~@4 d4@3 ~ c4@3 ~ c4@4", D: "~@4 eb4@5 ~@3 eb4@4",
  E: "~@4 eb4@3 ~ eb4@3 ~ eb4@4", F: "~@4 d4@3 ~ d4@3 ~ d4@4", G: "~@4 d4@3 ~@5 d4@4", H: "~@4 c4@5 ~@3 d4@3 ~",
  I: "[eb4@11 ~ c4@11 ~@9]/2", J: "~@8 eb4@5 ~@3", K: "eb4@3 ~ eb4@3 ~@5 f4@4", L: "~@4 d4@3 ~@5 eb4@4",
  M: "~@4 c4@3 ~@9", N: "~@12 d4@3 ~", O: "d4@3 ~ d4@3 ~ d4@3 ~ d4@4", P: "~@4 c4@3 ~ c4@3 ~ c4@3 ~",
  Q: "~@4 d4@3 ~ d4@3 ~ eb4@4", R: "~@8 eb4@3 ~ eb4@3 ~", S: "eb4@3 ~ d4@3 ~ c4@3 ~ eb4@4",
  T: "eb4@3 ~ f4@3 ~ d4@3 ~ eb4@4", U: "~@4 d4@5 ~@7", V: "~@8 c4@3 ~ d4@3 ~", W: "eb4@5 ~@3 d4@5 ~@3",
  X: "[d4@3 ~@5 c4@3 ~ c4@11 ~@9]/2", Y: "~@12 eb4@3 ~", Z: "f4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~",
  AA: "eb4@3 ~ d4@3 ~@5 eb4@4", AB: "~@4 d4@5 ~@3 d4@4", AC: "~@8 eb4@3 ~ eb4@4", AD: "[~@4 d4@3 ~ d4@11 ~@9 c4@3 ~]/2",
  AE: "d4@3 ~ d4@3 ~ d4@3 ~ d4@3 ~", AF: "d4@3 ~ c4@5 ~@7", AG: "~@8 eb4@3 ~@5", AH: "eb4@3 ~ eb4@3 ~ d4@3 ~ eb4@4",
  AI: "c4@4 c4@3 ~ c4@3 ~@5", AJ: "c4@5 ~@11", AK: "~@4 d4@3 ~ d4@5 ~@3", AL: "~@4 bb3@3 ~ bb3@5 ~@3",
  AM: "bb3@3 ~ c4@5 ~@7", AN: "~@4 eb4@3 ~ eb4@5 ~@3", AO: "f4@4 ~@4 eb4@3 ~ eb4@4", AP: "~@8 d4@5 ~@3",
  AQ: "eb4@3 ~ d4@3 ~@5 d4@3 ~", AR: "eb4@3 ~ d4@3 ~ c4@3 ~ c4@4", AS: "~@8 d4@3 ~ d4@3 ~",
  AT: "d4@3 ~ eb4@5 ~@3 eb4@4", AU: "eb4@3 ~ d4@3 ~ c4@3 ~ c4@3 ~", AV: "~@8 f4@3 ~ f4@3 ~",
  AW: "f4@5 ~@3 eb4@3 ~ f4@4", AX: "~@4 eb4@5 ~@3 f4@4", AY: "~@4 eb4@5 ~@7", AZ: "eb4@3 ~ eb4@3 ~@5 eb4@4",
  BA: "~@4 c4@3 ~@5 c4@4", BB: "~@12 c4@3 ~", BC: "c4@3 ~ c4@3 ~ c4@3 ~@5", BD: "d4@3 ~ d4@3 ~@5 eb4@4",
  BE: "eb4@3 ~ eb4@3 ~ eb4@3 ~@5", BF: "f4@3 ~ eb4@5 ~@7", BG: "eb4@3 ~@5 d4@3 ~ d4@4", BH: "[~@8 c4@11 ~@13]/2",
  BI: "~@4 eb4@3 ~ eb4@3 ~@5", BJ: "f4@3 ~ eb4@3 ~ eb4@3 ~@5", BK: "eb4@3 ~@5 eb4@3 ~@5",
  BL: "f4@3 ~ eb4@3 ~@5 eb4@3 ~", BM: "[~@4 eb4@3 ~@5 eb4@11 ~ c4@5 ~@3]/2", BN: "eb4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~",
  BO: "~@4 d4@3 ~ d4@3 ~ d4@3 ~", BP: "~@4 eb4@3 ~ eb4@3 ~ f4@4", BQ: "~@4 eb4@3 ~ eb4@3 ~ eb4@3 ~",
  BR: "~@4 d4@5 ~@3 d4@3 ~", BS: "eb4@3 ~ d4@3 ~@5 d4@4", BT: "[~@4 eb4@3 ~@5 c4@11 ~@9]/2", BU: "~@4 c4@3 ~ c4@5 ~@3",
  BV: "d4@3 ~ c4@3 ~ c4@3 ~ c4@4", BW: "~@4 bb3@3 ~ c4@5 ~@3", BX: "c4@3 ~ c4@3 ~@5 c4@3 ~", BY: "~@4 bb3@5 ~@7",
  BZ: "eb4@3 ~ eb4@3 ~@5 eb4@3 ~", CA: "d4@3 ~ d4@3 ~@5 d4@3 ~", CB: "f4@3 ~ eb4@3 ~@5 eb4@4",
  CC: "[~@4 d4@3 ~@5 eb4@11 ~@9]/2", CD: "c4 ~@15",
})).s("gm_clarinet").gain(0.2).pan(0.8)

// other · clarinet
const clarinet_4 = note(`<
  ~@30 A B C D E C F G H I H J K@2 ~ L M H C N ~ O N P Q R S T U ~ V W X ~@15 Y R Z AA H AA ~ G H I H AB AC AD ~ AE AF
  AG U ~ AH AI ~ AJ AK ~@2 AL AM ~@50 G AN AO AP AQ AR F ~ G AO AS AT AU AT ~@2 AR AV AW AX AY AZ C BA BB BC BD AT BE BF
  ~ BG BH BI ~@38 G BJ AE BJ AE BJ BK BJ BL BM BN ~@30 AZ BO C BP BQ N ~@2 AZ BO C I BR ~@2 G BS BT BU BV BW BX BY BZ BN
  CA CB CA CC BX BY BZ BN CA CB CA CC BX BY BZ BN AZ CD BQ CE G BJ C BM ~@4 G BJ C BM ~@4 BX BY BZ BN ~@4 BX BY BZ BN
  ~@15 CF
>`.pickRestart({
  A: "~@8 eb4@5 ~@3", B: "eb4@3 ~ eb4@5 ~@3 d4@4", C: "~@4 eb4@5 ~@3 d4@3 ~", D: "c4@3 ~ c4@5 ~@3 d4@4",
  E: "~@4 eb4@5 ~@3 eb4@4", F: "c4@3 ~ c4@5 ~@7", G: "~@12 eb4@3 ~", H: "eb4@3 ~ eb4@5 ~@3 d4@3 ~",
  I: "d4@3 ~ d4@5 ~@3 eb4@3 ~", J: "~@4 d4@5 ~@3 c4@4", K: "[~@4 d4@3 ~ eb4@11 ~ c4@11 ~]/2",
  L: "eb4@5 ~@3 eb4@3 ~ eb4@3 ~", M: "~@4 f4@5 ~@3 eb4@3 ~", N: "d4@3 ~ d4@5 ~@3 c4@3 ~", O: "~@4 d4@3 ~ d4@3 ~ d4@3 ~",
  P: "c4@3 ~ c4@3 ~@5 d4@3 ~", Q: "d4@3 ~ eb4@5 ~@7", R: "eb4@3 ~ eb4@3 ~ eb4@3 ~ d4@3 ~", S: "c4@3 ~ eb4@5 ~@7",
  T: "~@4 d4@3 ~ eb4@3 ~ f4@3 ~", U: "d4@3 ~ eb4@5 ~@3 d4@4", V: "c4@3 ~ d4@3 ~ eb4@5 ~@3", W: "d4@5 ~@3 d4@3 ~@5",
  X: "c4@3 ~ c4@11 ~", Y: "~@4 eb4@3 ~ f4@3 ~ eb4@3 ~", Z: "~@4 eb4@5 ~@3 d4@4", AA: "~@4 d4@5 ~@7", AB: "d4@11 ~@5",
  AC: "~@4 c4@3 ~ d4@3 ~ d4@3 ~", AD: "d4@3 ~ d4@3 ~ d4@3 ~ c4@4", AE: "eb4@3 ~@5 eb4@3 ~ eb4@3 ~", AF: "~@4 f4@5 ~@7",
  AG: "eb4@3 ~ eb4@3 ~ eb4@3 ~ eb4@3 ~", AH: "~@8 c4@4 c4@3 ~", AI: "c4@3 ~@5 c4@5 ~@3", AJ: "~@12 d4@3 ~",
  AK: "d4@5 ~@3 d4@3 ~ c4@4", AL: "~@12 bb3@3 ~", AM: "bb3@5 ~@3 bb3@3 ~ c4@4", AN: "eb4@5 ~@3 f4@4 ~@4",
  AO: "eb4@3 ~ eb4@5 ~@7", AP: "d4@5 ~@3 eb4@3 ~ d4@3 ~", AQ: "~@4 d4@3 ~@5 eb4@3 ~", AR: "eb4@5 ~@3 eb4@3 ~ d4@3 ~",
  AS: "d4@3 ~ d4@3 ~ d4@3 ~ eb4@4", AT: "~@4 eb4@5 ~@7", AU: "d4@5 ~@3 d4@3 ~ eb4@4", AV: "c4@3 ~ c4@3 ~@9",
  AW: "f4@3 ~ f4@3 ~ f4@5 ~@3", AX: "eb4@3 ~ f4@5 ~@3 eb4@4", AY: "~@4 f4@5 ~@3 eb4@4", AZ: "~@8 eb4@3 ~ eb4@3 ~",
  BA: "~@4 d4@5 ~@3 c4@3 ~", BB: "~@4 c4@5 ~@7", BC: "~@4 c4@3 ~ c4@3 ~ c4@3 ~", BD: "c4@3 ~@5 d4@3 ~ d4@3 ~",
  BE: "~@4 eb4@3 ~ eb4@3 ~ eb4@3 ~", BF: "eb4@3 ~@5 f4@3 ~ eb4@4", BG: "~@8 eb4@3 ~@5", BH: "d4@3 ~ d4@5 ~@7",
  BI: "c4@11 ~@5", BJ: "eb4@3 ~@5 f4@3 ~ eb4@3 ~", BK: "eb4@3 ~@5 eb4@3 ~@5", BL: "~@4 eb4@3 ~@5 eb4@3 ~",
  BM: "~@4 eb4@11 ~", BN: "c4@5 ~@11", BO: "eb4@3 ~ eb4@3 ~@5 d4@3 ~", BP: "d4@3 ~ d4@3 ~@9", BQ: "~@8 d4@3 ~ d4@3 ~",
  BR: "eb4@5 ~@11", BS: "eb4@3 ~ f4@5 ~@3 eb4@3 ~", BT: "eb4@3 ~ eb4@3 ~@5 d4@4", BU: "~@4 d4@3 ~ eb4@3 ~ d4@3 ~",
  BV: "~@4 d4@5 ~@3 eb4@3 ~", BW: "~@4 c4@11 ~", BX: "~@12 c4@3 ~", BY: "c4@5 ~@3 d4@3 ~ c4@3 ~",
  BZ: "c4@3 ~ c4@5 ~@3 bb3@3 ~", CA: "~@8 c4@3 ~ c4@3 ~", CB: "~@4 c4@3 ~@9", CC: "~@4 c4@3 ~@5 bb3@4",
  CD: "~@4 eb4@3 ~@9", CE: "~@4 d4@3 ~@5 eb4@4", CF: "~@8 c4 ~@7",
})).s("gm_clarinet").gain(0.15).pan(1)

// other · distortion guitar
const distortion_guitar_2 = note(`<
  ~@61 A@2 B@2 C@2 ~@2 A@2 B@2 C@2 ~@34 A@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 B@2 C@2 ~@2 A@2 B@2 F@2 G@2 H@2 I@2 J K I@2
  H@2 B@2 L@2 ~@34 A@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 M@2 N@2 M@2 N@2 M@2 N@2 M@2 O@2 P@7 Q@8 R@3 S@2 T@2 ~@2 A@2 S@2 T@2
  ~@2 A@2 I@2 H@2 I@2 H@2 S@2 U@2 V@2 W@2 ~@88
>`.pickRestart({
  A: "[~@8 c4@11 ~ d4@11 ~]/2", B: "[eb4@5 ~@3 c4@11 ~ d4@11 ~]/2", C: "[eb4@5 ~@3 ab3@11 ~@13]/2",
  D: "[eb4@5 ~@3 gb4@11 ~ g4@11 ~]/2", E: "[gb4@5 ~@3 c4@11 ~ d4@11 ~]/2", F: "[eb4@5 ~@3 ab3@11 ~ g4@11 ~]/2",
  G: "[~@8 f4@11 ~ eb4@11 ~]/2", H: "[d4@5 ~@3 c4@11 ~ d4@11 ~]/2", I: "[eb4@5 ~@3 f4@11 ~ eb4@11 ~]/2",
  J: "d4@5 ~@3 c4@8", K: "~@4 d4@11 ~", L: "[eb4@5 ~@3 ab3@16 ~@8]/2", M: "[gb4@5 ~@3 eb5@11 ~ b4@11 ~]/2",
  N: "[eb5@4 ~@4 gb4@11 ~ g4@11 ~]/2", O: "[bb4@5 ~@3 gb4@11 ~ g4@11 ~]/2",
  P: "[gb4@5 ~@3 f4@11 ~ ab4@5 ~@3 g4@11 ~ f4@11 ~ ab4@5 ~@3 g4@11 ~ f4@11 ~ ab4@5 ~@3 g4@11 ~ f4@8]/7",
  Q: "[~@4 ab4@5 ~@3 g4@11 ~ f4@11 ~ ab4@5 ~@3 g4@11 ~ f4@11 ~ ab4@5 ~@3 g4@11 ~ f4@11 ~ ab4@5 ~@3 g4@11 ~ f4@8]/8",
  R: "[~@4 ab4@5 ~@3 g4@11 ~ c4@11 ~ d4@11 ~]/3", S: "[eb4@5 ~@3 f4@11 ~ g4@11 ~]/2", T: "[bb4@5 ~@3 ab4@11 ~@13]/2",
  U: "[bb4@5 ~@3 ab4@11 ~ g4@11 ~]/2", V: "[f4@5 ~@3 eb4@11 ~ d4@11 ~]/2", W: "[bb3@5 ~@3 c4@11 ~@13]/2",
// … 3 more lines

More by The Cure