Strudelify

The Knife

Genesis

KeyA♭ majorTempo135 bpm
0:00/0:00
// The Knife — Genesis
// 135 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: ch 8 "Meaty Organ" named as an organ, played on drawbar organ (its harpsichord patch is not one); ch 6 "Chunky Bass" named as a bass, played on electric bass finger (its drawbar organ patch is not one); ch 7 "Fuzz Guitar (left channel)" named as a guitar, played on distortion guitar (its music box patch is not one); ch 4 "Fuzz Guitar (right channel)" named as a guitar, played on distortion guitar (its music box patch is not one); ch 5 "Flute" named as a pipe, played on flute (its guitar harmonics patch is not one)
// note: duplicate parts dropped: ch 4 "Fuzz Guitar (right channel)" distortion guitar (copy of ch 7 "Fuzz Guitar (left channel)" distortion guitar)
// note: Full arrangement: all 279 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(135/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 · drawbar organ · "Meaty Organ"
const drawbar_organ = note(`<
  A B A B A B A B C D C D E@4 F G F G F G F G H I H I J@4 K@2 L M N@2 O P Q R@6 S T@2 F G F G F G F G H I H I J@4 K@2 L
  M N@2 O P Q R@6 S T@2 F G F G F G F G H I H I J@4 K@2 L M N@2 O P Q U V@6 W@7 X@4 Y@7 Z@8 ~@24 AA AB@2 AC@3 AD@4 AE@2
  AF@3 ~@6 AG@8 AH@7 AI@3 AJ@6 AK AL@4 AM@2 AN AO@5 ~@7 AP AQ AR AQ AR AQ AR AQ AS AT AU AT AV@8 AW AX AY AZ BA BB@3 BC
  BD BE@2 BF BG BH BI@2 BJ@3 BK@7 ~
>`.pickRestart({
  A: "[ab4,b4]@4 ab3 ~ e4@4 ab3 ~ [gb4,bb4]@4 ab3 ~ [ab4,b4]@4 ab3 ~, ab3 ~@5 ab3 ~@5 ab3 ~@5 ab3 ~@5", // Abm Gb Abm
  B: "b4@4 ab3 ~ [e4,db5]@4 ab3 ~ [db5,e5]@4 ab3 ~ [ab4,b4,eb5]@4 ab3 ~, ab3 ~@5 ab3 ~@5 ab3 ~@5 ab3 ~@5", // Dbm Abm
  C: "[bb4,db5]@4 bb3 ~ gb4@4 bb3 ~ [ab4,c5]@4 bb3 ~ [bb4,db5]@4 bb3 ~, bb3 ~@5 bb3 ~@5 bb3 ~@5 bb3 ~@5", // Bbm Ab Bbm
  D: "db5@4 bb3 ~ [gb4,eb5]@4 bb3 ~ [eb5,gb5]@4 bb3 ~ [bb4,db5,f5]@4 bb3 ~, bb3 ~@5 bb3 ~@5 bb3 ~@5 bb3 ~@5", // Ebm Bbm
  E: "[~ c5@5 [ab4,c5,f5]@5 ~ [g4,c5]@5 ~ [g4,bb4,d5]@5 ~ [c5,eb5]@5 ~ [c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5]@5 ~ [g4,c5,eb5]@5 ~ [c5,f5]@5 ~ [g4,c5]@5 ~@2 [g4,bb4,d5]@5 [g4,c5,eb5]@5 ~ [c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5]@6, c4@95 ~, eb5@5 ~@91]/4", // Fm C5 Gm Cm F5 Cm Gm Cm …
  F: "[ab4,c5]@4 ab3 ~ f4@4 ab3 ~ [g4,bb4]@4 ab3 ~ [ab4,c5]@4 ab3 ~, ab3 ~@5 ab3 ~@5 ab3 ~@5 ab3 ~@5", // Ab Gm Ab
  G: "c5@4 ab3 ~ [f4,db5]@4 ab3 ~ [db5,f5]@4 ab3 ~ [ab4,c5,eb5]@4 ab3 ~, ab3 ~@5 ab3 ~@5 ab3 ~@5 ab3 ~@5", // Db Ab
  H: "[bb4,d5]@4 bb3 ~ g4@4 bb3 ~ [a4,c5]@4 bb3 ~ [bb4,d5]@4 bb3 ~, bb3 ~@5 bb3 ~@5 bb3 ~@5 bb3 ~@5", // Bb Am Bb
  I: "d5@4 bb3 ~ [g4,eb5]@4 bb3 ~ [eb5,g5]@4 bb3 ~ [bb4,d5,f5]@4 bb3 ~, bb3 ~@5 bb3 ~@5 bb3 ~@5 bb3 ~@5", // Cm Eb Bb
  J: "[~ c5@5 [a4,c5,f5]@5 ~ [g4,c5]@5 ~ [g4,b4,d5]@5 ~@2 c5@5 [a4,c5,f5]@5 ~ [g4,c5]@5 ~ [g4,b4,d5]@5 ~@2 c5@5 [a4,c5,f5]@5 ~ [g4,c5]@5 ~ [g4,b4,d5]@5 ~@2 c5@5 [a4,c5,f5]@5 ~ [g4,c5]@5 ~@7, c4@95 ~, e5@5 ~@19 e5@5 ~@19 e5@5 ~@19 e5@5 ~@19]/4", // F C5 G F C5 G F C5 …
  K: "[[eb4,g4,c5]@4 ~ [d4,g4,bb4] ~@2 [eb4,g4,c5] ~@2 [g4,bb4,d5]@4 ~ [eb4,g4,c5] ~@2 [g4,bb4,d5] ~@2 [g4,c5,eb5]@4 ~ [g4,bb4,d5] ~@2 [g4,c5,eb5] ~ [ab4,c5,f5]@4 ~@2 [g4,c5,eb5] ~ [ab4,c5,f5] ~@2 [c5,eb5,g5]@5]/2", // Cm Gm Cm Gm Cm Gm Cm Gm …
  L: "c5 [ab4,f5] ~ [g4,c5,eb5] ~@2 [ab4,c5,f5]@4 ~ [g4,eb5] ~@2 [g4,bb4,d5] ~@2 [g4,c5,eb5]@4 ~ [g4,bb4,d5] ~, ~@11 c5@2 ~@11", // Db Cm Fm Cm Gm Cm Gm
  M: "~ [eb4,g4,c5] ~@2 [bb4,d5]@4 ~ [eb4,g4,c5] ~@2 [d4,g4,bb4]@2 [eb4,g4,c5]@4 ~@2 [d4,g4,bb4] ~@2 [eb4,g4,c5], ~@3 g4@5 ~@16", // Cm Bb Cm Gm Cm Gm Cm
  N: "[~ [g4,bb4,d5]@4 ~ [eb4,g4] c5 ~ [g4,bb4,d5] ~@2 [g4,c5,eb5]@4 ~ [g4,bb4,d5] ~@2 [g4,c5,eb5] ~@2 [ab4,c5,f5]@4 ~ [g4,c5,eb5] ~@2 [ab4,c5,f5] ~@2 [c5,eb5,g5]@5 [ab4,c5,f5] ~@2 [g4,c5,eb5] ~ [ab4,c5,f5]@4]/2", // Gm Eb Gm Cm Gm Cm Fm Cm …
  O: "~@2 [g4,eb5] ~ [g4,bb4,d5] ~@2 [g4,c5,eb5]@4 ~@2 [g4,bb4,d5] ~ [eb4,g4,c5] ~@2 [g4,bb4,d5]@5 [eb4,g4,c5], ~ c5 ~@10", // Cm Gm Cm Gm Cm Gm Cm
  P: "~@2 [d4,g4,bb4]@2 ~ [eb4,g4,c5]@4 ~ [d4,g4,bb4] ~@2 [eb4,g4,c5] ~@2 [g4,bb4,d5]@4 ~ [eb4,g4,c5] ~@2", // Gm Cm Gm Cm Gm Cm
  Q: "[g4,bb4,d5] ~ [g4,c5,eb5]@4 ~@2 [g4,bb4,d5] ~ eb5 [g4,c5] ~ [ab4,c5,f5]@4 ~ [g4,c5,eb5] ~@2 [ab4,c5,f5] ~@2", // Gm Cm Gm C5 Fm Cm Fm
  R: "[[c5,eb5,g5]@5 [ab4,c5,f5] ~@2 [g4,c5,eb5] ~@2 [ab4,c5,f5]@4 ~ [g4,eb5] ~@2 [g4,bb4,d5] ~@2 [g4,c5,eb5]@4 ~ [g4,bb4,d5] ~@2 [eb4,g4,c5] ~ [g4,bb4,d5]@5 ~ [eb4,g4,c5] ~@2 [d4,g4,bb4]@2 ~ [eb4,c5]@20 ~ [gb4,bb4,db5]@20 ~@2 [e4,ab4,b4]@21 [db4,e4,ab4,bb4]@21 ~@2 ab3 ~ ab3 ~ ab3 ~ gb3 ~ ab3!2 ~ gb3 ~, ~@16 c5@2 ~@25 ab4@20 ~@67 gb3@2 ~@12]/6", // Cm Fm Cm Fm Cm Gm Cm Gm …
  S: "ab3 ~ ab3@5 gb3 ~ ab3 ~ ab3 ~ ab3 gb3 ~ ab3 ~ ab3 ~ gb3 ~ ab3!2",
  T: "[~@5 gb3@2 ab3!2 ~ ab3 ~ gb3 ~ ab3 ~ ab3 gb3 ~ ab3 ~ ab3@5 gb3 ~ ab3 ~ ab3 ~ ab3 ~ gb3 ab3 ~ ab3 ~ gb3 ~ ab3 ~ ab3 ~@4]/2",
  U: "[c5,eb5,g5]@5 [ab4,c5,f5] ~@2 [g4,c5,eb5] ~@2 [ab4,c5,f5]@4 ~ [g4,eb5] ~@2 [g4,bb4,d5] ~@2 [g4,c5,eb5]@2, ~@8 c5 ~@3", // Cm Fm Cm Fm Cm Gm Cm
  V: "[~@3 [g4,bb4,d5] ~@2 [eb4,g4,c5] ~ [g4,bb4,d5]@5 ~ [eb4,g4,c5] ~@2 [d4,g4,bb4]@2 [e5,g5,c6]@125]/6", // Gm Cm Gm Cm Gm C
  W: "[~@5 [bb5,eb6,gb6]@86 [eb5,ab5,c6]@77]/7", X: "[~@10 [gb5,bb5]@43 [ab5,b5]@43, ~@5 eb5@43]/4",
  Y: "[[ab4,db5,f5]@43 [gb4,bb4,eb5]@43 [ab4,b4,e5]@43 ~ [bb4,db5,gb5]@38]/7", Z: "[~@5 eb5@86 eb5@86 ~@15]/8",
  AA: "~@7 ab4@5", AB: "[~ ab4@5 ~ bb4@5 b4@11 bb4@5 b4@5 ~ db5@10 b4@4]/2",
  AC: "[~@2 db5@5 eb5@11 gb5@11 ab5@11 ab5@5 gb5@5 eb5@11 db5@5 ~ b4@5]/3",
  AD: "[db5@11 eb5@5 db5@5 ~ b4@5 bb4@5 ab4@5 ~ gb4@5 ab4@11 ab4@5 bb4@5 ~ b4@11 bb4@5 b4@5 db5@10]/4",
  AE: "[~ b4@5 ~ db5@5 eb5@11 gb5@11 ab5@10 ab5@4]/2",
  AF: "[~@2 gb5@5 eb5@11 db5@5 b4@5 ~ db5@11 eb5@5 db5@5 b4@5 ~ bb4@5 ab4@5 ~ gb4@5]/3",
  AG: "[~@10 [ab5,b5]@18 [gb5,bb5]@17 [f5,ab5]@18 [gb5,bb5]@17 b5@17 ~ [gb5,bb5]@17 [f5,ab5]@18 [gb5,bb5]@18 [ab5,b5]@17 [gb5,bb5]@17 ~ ab5@6, ~@5 eb5@91, ~@185 f5@7]/8", // Abm Gb Fm Gb Fm Gb Abm Gb
  AH: "[~@11 [gb5,bb5]@18 b5@17 [gb5,bb5]@18 [f5,ab5]@17 [gb5,bb5]@17 ~ b5@17 [gb5,bb5]@17 ~ ab5@17 [gb5,bb5]@17, ~@133 f5@18 ~@17]/7", // Gb Fm Gb
  AI: "[~ [ab5,b5]@17 [gb5,bb5]@18 [f5,ab5]@17 gb5@18 ~]/3", // Abm Gb Fm
  AJ: "[~@17 db5@17 [ab4,b4]@26 bb4@9 [ab4,b4,e5]@35 [bb4,eb5]@35 [b4,eb5]@5]/6", AK: "~@8 b4 ~@3 f5@6 ~@3 b4@2 ~",
  AL: "[~ f5@2 ~@3 [eb5,gb5]@7 ~@2 f5@2 ~@6 [b4,eb5,ab5]@7 ~@2 [eb5,gb5] ~@4 [b4,eb5,ab5] ~@3 e5@17 eb5@9 e5@9 ~@20, ~@41 [ab4,db5]@34 ~@21]/4", // Ebm Abm Ebm Abm Db5
  AM: "[~@4 g4@5 b4@7]/2", AN: "~ [gb4,bb4]@21 ~@2",
  AO: "[ab4@22 [e4,ab4]@21 ~ [eb4,gb4]@20 ~@2 [e4,ab4]@21 ~@2 [gb4,bb4]@28 ~@3, f4 ~@5]/5", AP: "~@21 b5 ~ eb5",
  AQ: "~ ab5 ~ db6 ~ eb5 ~ ab5 ~ bb5 ~ eb5 ~ ab5 ~ b5 ~ eb5 ~ ab5 ~ b5 ~ eb5",
  AR: "~ ab5 ~ db6 ~ eb5 ~ ab5 ~ e5 ~ ab5 ~ b5 ~ eb5 ~ ab5 ~ b5 ~ b5 ~ eb5",
  AS: "~ ab5 ~ db6 ~ eb5 ~ ab5 ~ e5 ~ ab5 ~ b5 ~ eb5 ~ ab5 ~ b5 ~ db6 ~ f5",
  AT: "~ bb5 ~ eb6 ~ f5 ~ bb5 ~ c6 ~ f5 ~ bb5 ~ db6 ~ f5 ~ bb5 ~ db6 ~ f5",
  AU: "~ bb5 ~ eb6 ~ f5 ~ bb5 ~ gb5 ~ bb5 ~ db6 ~ f5 ~ bb5 ~ db6 ~ db6 ~ f5",
  AV: "[~ bb5 ~ eb6 ~ f5 ~ bb5 ~ gb5 ~ bb5 ~ db6 ~ f5 ~ bb5 ~ db6 ~ [g4,c5,eb5]@5 ~ [ab4,c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5]@5 ~ [g4,c5,eb5]@5 ~ [ab4,c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5]@5 ~ [g4,c5,eb5]@5 ~ [ab4,c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5]@5 ~ [g4,c5,eb5]@5 ~ [ab4,c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5]@5 ~ [g4,c5,eb5]@5 ~ [ab4,c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5]@5 ~ [g4,c5,eb5]@5 ~ [ab4,c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5]@5 ~ [g4,c5,eb5]@5 ~ [ab4,c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5]@5 ~ [g4,c5,eb5]@3]/8", // Cm Fm Cm Gm Cm Fm Cm Gm …
  AW: "~@2 [ab4,c5,f5]@5 ~ [g4,c5,eb5]@5 ~ [g4,bb4,d5] ~@4 [e4,g4,c5]@4 ~", // Fm Cm Gm C
  AX: "~ [d4,g4,b4] ~@2 [e4,g4,c5] ~ [g4,b4,d5]@4 ~@2 [e4,g4,c5] ~@2 [g4,b4,d5] ~@2 [g4,c5,e5]@4 ~ [g4,b4,d5]", // G C G C G C G
  AY: "~@2 [g4,c5] ~@2 [a4,c5,f5]@4 ~ [g4,c5,e5] ~@2 [a4,f5] ~@2 [c5,e5,g5]@5 c5 [a4,f5] ~, ~@2 e5@2 ~@9 c5@2 ~@9", // C5 F C Dm C Dm
  AZ: "[g4,c5,e5] ~@2 [a4,c5,f5]@5 ~ [g4,e5] ~@2 [g4,b4,d5] ~ [g4,c5,e5]@4 ~@2 [g4,b4,d5] ~@2 [e4,g4,c5], ~@9 c5@2 ~@13", // C F C G C G C
  BA: "~ [g4,b4,d5]@5 ~ [e4,g4,c5] ~@2 [d4,g4,b4]@2 ~ [e4,g4,c5]@4 ~ [d4,g4,b4] ~@2 [e4,g4,c5] ~@2", // G C G C G C
  BB: "[[g4,b4,d5]@4 ~ [e4,g4,c5] ~@2 [g4,b4,d5] ~@2 [g4,c5,e5]@4 ~@2 [g4,b4,d5] ~ g4 c5 ~ [a4,c5,f5]@4 ~@2 [g4,c5,e5] ~ [a4,f5] ~@2 [c5,e5,g5]@5 ~ [a4,c5,f5] ~@2 [g4,c5,e5] ~@2 [a4,c5,f5]@5 [g4,e5] ~@2 [g4,b4,d5] ~@2 [g4,c5,e5]@4 ~ [g4,b4,d5] ~@2 [e4,g4,c5] ~@2 [g4,b4,d5]@5, ~@19 e5@2 ~@9 c5@2 ~@18 c5@2 ~@20]/3", // G C G C G F C Dm …
  BC: "[e4,g4,c5] ~@2 [d4,g4,b4]@2 ~ [eb4,g4,c5]@4 ~ [d4,g4,bb4] ~@2 [eb4,g4,c5] ~@2 [g4,bb4,d5]@4 ~ [eb4,g4,c5] ~", // C G Cm Gm Cm Gm Cm
  BD: "~ [g4,bb4,d5] ~@2 [g4,c5,eb5]@4 ~ [g4,bb4,d5] ~@2 [g4,c5,eb5] ~ [ab4,c5,f5]@4 ~@2 [g4,c5,eb5] ~ [ab4,c5,f5] ~", // Gm Cm Gm Cm Fm Cm Fm
  BE: "[~ [c5,eb5,g5]@5 ~ [ab4,c5,f5] ~ [g4,c5,eb5] ~@2 [ab4,c5,f5]@4 ~ [g4,eb5] ~@2 [g4,bb4,d5] ~@2 [g4,c5,eb5]@4 ~ [g4,bb4,d5] ~@2 [eb4,g4,c5] ~@2 [bb4,d5]@4 ~ [eb4,g4,c5] ~@2 [d4,g4,bb4]@2 [eb4,g4,c5]@4, ~@17 c5@2 ~@14 g4@5 ~@10]/2", // Cm Fm Cm Fm Cm Gm Cm Gm …
  BF: "~@2 [d4,g4,bb4] ~@2 [eb4,g4,c5] ~ [g4,bb4,d5]@4 ~ g4 [eb4,c5] ~ [g4,bb4,d5] ~@2 [g4,c5,eb5]@4 ~ [g4,bb4,d5]", // Gm Cm Gm Cm Gm Cm Gm
  BG: "~@2 [g4,c5,eb5] ~@2 [ab4,c5,f5]@4 ~ [g4,c5,eb5] ~@2 [ab4,c5,f5] ~@2 [c5,eb5,g5]@5 [ab4,c5,f5] ~@2", // Cm Fm Cm Fm Cm Fm
  BH: "[g4,c5,eb5] ~@2 f5@4 ~ [g4,eb5] ~@2 [g4,bb4,d5] ~ [g4,c5,eb5]@4 ~@2 [g4,bb4,d5] ~ [eb4,g4,c5] ~@2, ~ [ab4,c5]@2 ~ c5 ~@7", // Cm Gm Cm Gm Cm Ab
  BI: "[[g4,bb4,d5]@5 [f4,ab4,c5]@5 ~ [c5,eb5,ab5]@37]/2", // Gm Fm Ab
  BJ: "[~@4 [bb4,db5,gb5,ab5]@39 ~ b4@12 bb4@6 b4@6 db5@4, ~@11 e4@7]/3", BK: "[~@8 b4@6 db5@5 ~ [c5,eb5]@144 ~@4]/7",
})).s("gm_drawbar_organ").gain(0.4)

// chords · drawbar organ · "Meaty Organ" · soft notes
const drawbar_organ_soft = note(`<
  A B A B A B A B C D C D E F G H A B A B A B A B C D C D I@4 ~@18 A B A B A B A B C D C D I@4 ~@18 A B A B A B A B C D
  C D I@4 ~@34 J@2 K@6 ~@48 L@2 ~@4 M ~@2 N ~@4 O@4 ~ P@2 Q R S ~ T U@8 ~@45 V@2 W@7 ~
>`.pickRestart({
  A: "eb4@2 ~ [ab4,db5]@2 ~ eb4@2 ~ eb4@2 ~", B: "[eb4,ab4]@2 ~ ab4@2 ~ ab4@2 ~@4",
  C: "f4@2 ~ [bb4,eb5]@2 ~ f4@2 ~ f4@2 ~", D: "[f4,bb4]@2 ~ bb4@2 ~ bb4@2 ~@4", E: "~ g4@5 ~@6 eb5@5 ~@7",
  F: "g4@5 ~ ab4@4 ~@14", G: "~@6 ab4@4 ~@2 eb5@5 ~@7", H: "~@3 ab4@2 ~@7", I: "~ g4@5 ~@6 e5@5 ~@7",
  J: "[~@5 [ab4,b4]@21 [gb4,bb4]@22]/2", // Abm Gb
  K: "[[f4,ab4]@22 [gb4,bb4]@21 [ab4,b4]@22 [gb4,bb4]@21 [f4,ab4]@22 [gb4,bb4]@22 ~@14]/6", L: "[~@4 ab5@9 ~@11]/2",
  M: "~@2 ab5@9 ~", N: "~ ab5@6 ~", O: "[~@5 bb5@18 [eb4,ab4,b4]@17 [e4,bb4]@18 eb5@26 [db5,gb5]@9 ~@3]/4",
  P: "[~@8 g4@35 ab4@5]/2", Q: "~@4 [ab4,db5] ~@3 eb5@2 ~@2 [ab4,db5]@7 ~@2 [ab4,eb5]@2 ~, ~@4 bb4@2 ~@2 ab4 ~@15",
  R: "~ db5@2 ~@3 bb4@7 ~@2 db5@2 ~@2 [bb4,eb5,gb5]@2 ~@3, ~ ab4 ~@13 bb4 ~@8", S: "~@8 b4 ~@15",
  T: "~@4 [ab4,b4,eb5]@9 [g4,bb4,db5]@11", U: "[[f4,ab4,b4]@4 [eb4,bb4]@5 eb5@54 ~, ~@27 ab4@20 ~@145]/8",
  V: "[~@5 ab4@7]/2", W: "[~@5 [g4,ab4]@36 ~]/7",
})).s("gm_drawbar_organ").gain(0.25)

// bass · electric bass finger · "Chunky Bass"
const bass = note(`<
  ~@4 A B C D E F G H I J K L M N M@6 O@4 P@3 Q ~ R ~ S@2 T@3 U V W@4 X Y Z AA M N M@6 O@4 P@3 Q ~ R ~ S@2 T@3 U V W@4 X
  Y Z AA M N AB@6 AC@4 P@3 Q ~ R ~ S@2 T@3 U V AD@2 AE AF@4 AG AH@3 AI AJ@4 AG AH@3 AI AJ@4 AG AH@3 AK AL@4 AM AN@3 AO
  AL@4 AM AN@3 AO AP@4 AQ AR@7 AS@3 AT@4 AU@4 AV@4 AW AX AY@2 AZ BA BB BC BD BE BF BG BH BI BJ@2 BK BL BM BN@6 BO@4 BP@2
  BQ@6 BR BS BT BU BV BW BX BY BZ CA CB CC CB CD CE CF CG CH CI CJ CK CL@3 ~ CM@5 CN CO CP@2 CQ CR@2 CS CT CU@3 CV CW CX
  CY CZ DA@3 DB DC DD@2 DE@2 ~
>`.pickRestart({
  A: "~ ab2@3 ~@2 ab3@3 ~@4 ab2@3 ~@2 ab3@3 ~@3", B: "ab2@3 ~@3 ab3@3 ~@3 ab2@3 ~@3 ab3 ~ gb3@2 eb3@2",
  C: "ab2 ~ ab3 ~ ab2 ~ ab3 ~", D: "ab2@4 ~@2 ab3@3 ~@3 ab2@4 ~@2 ab3@3 ~@3",
  E: "bb2@4 ~@2 bb3@4 ~@2 bb2@4 ~@2 bb3 ~ ab3 ~ f3@2", F: "bb2@2 ~@4 bb3@3 ~@3 bb2@3 ~@3 bb3@3 ~@3",
  G: "bb2@5 ~ bb3@2 ~@4 bb2@5 ~ bb3 ~ ab3 ~ f3@2", H: "bb2@4 ~@2 bb3@3 ~@3 bb2@4 ~@2 bb3@3 ~@3",
  I: "~@12 c4 ~ bb3@2 g3 ~ eb3@2 f3 ~ g3@2, c3@11 ~", J: "~@12 c4 ~ bb3 ~ g3 ~ eb3@2 f3 ~ g3 ~, c3@11 ~",
  K: "~@12 c4 ~ bb3 ~ g3 ~ eb3 ~ f3 ~ g3 ~, c3@23 ~", L: "~@12 bb3 ~ c4 ~ c4 ~ bb3 ~ c4 ~ c4 ~, c3",
  M: "ab2 ~ ab2!2 ~ ab2!2 ~ ab2!2 ~ ab2", N: "ab2 ~ ab2!2 ~ ab2 ab3 gb3 eb3 d3 db3 bb2",
  O: "bb2 ~ bb2!2 ~ bb2!2 ~ bb2!2 ~ bb2", P: "c3 ~ c3!2 ~ c3!2 ~ c3 c4 bb3 g3", Q: "c3 ~ c3 bb3 c4!3 ~@5",
  R: "~@17 g3@2 c3@3 ~@2",
  S: "[~@4 g3@5 f3 g3@3 ~@2 c3@2 g2@2 ~ bb2@2 ~ c3@2 eb3 ~ eb3 g2@2 bb2@2 ~ c3 ~@2 c3@3 g2@2 bb2@2 ~ c3@2 ~ eb3, ~@4 f3 ~@43]/2",
  T: "[eb3 g2@3 c3@3 bb2@2 ~ c3@2 g2@2 ~ bb2@2 ~ c3@2 eb3 ~ eb3 g2@3 c3@2 bb2@2 ~ c3@2 ~ g2@2 ~ bb2@2 c3@2 ~ eb3@3 f3@2 gb3@2 ~ g3@2 ~ c3@2 c4@2 ~ c4@2 ~ bb3@2 ~ g3!2 gb3@2 ~ f3@2 ~]/3",
  U: "eb3@2 c3@2 ~ c4@2 ~ c4@2 bb3@2 ~ g3@2 g3 gb3@2 ~ f3@2 eb3@2 ~",
  V: "c3@2 ~ c4@2 c4@2 ~ bb3@2 ~ g3!2 gb3@2 ~ f3@2 ~ eb3@2 ~ c3@2",
  W: "[c4@2 ~ c4@2 ~ bb3@2 g3@2 ~ gb3@2 ~ f3@2 g3@2 ~@2 ab3@20 ~ gb3@21 e3@22 ~@3 db4@5 b3@4]/4",
  X: "~@2 ab3@5 gb3@3 ab2@2 ~@12", Y: "~@7 ab2@2 ~@15", Z: "~@5 ab2@2 ~@17", AA: "~ ab2 ~@10",
  AB: "ab2 ~ ab2!2 ~ ab2!2 ~ ab2 ab3 gb3 eb3", AC: "bb2 ~ bb2!2 ~ bb2!2 ~ bb2 bb3 ab3 f3",
  AD: "[c4@2 ~ c4@2 ~ bb3@2 g3@2 ~ gb3@2 ~ f3@2 g3@2 ~ g2@8 ~@3 g2@8 ~@3 g2@7]/2", AE: "~@2 g2@4 ~ g2@4 ~",
  AF: "[~ g2@8 ~@3 g2@8 ~@3 g2@8 ~@3 g2@8 ~@2 g2@8 ~@3 g2@8 ~@3 g2@8 ~@3 ab2@8 ~@3 ab2@8]/4",
  AG: "~@2 ab2@8 ~@3 ab2@8 ~@3", AH: "[ab2@8 ~@3 ab2@8 ~@3 ab2@8 ~@2 ab2@8 ~@3 ab2@8 ~@3 ab2@8 ~@3 ab2@7]/3",
  AI: "~@2 ab2@4 ~ ab2@4 ~",
  AJ: "[~ ab2@8 ~@3 ab2@8 ~@3 ab2@8 ~@3 ab2@8 ~@2 ab2@8 ~@3 ab2@8 ~@3 ab2@8 ~@3 ab2@8 ~@3 ab2@8]/4",
  AK: "~@4 ab2@8 ~@2 ab2@7 ~@3",
  AL: "[~ ab2@7 ~@4 ab2@6 ~@2 ab2@2 ~ ab2@4 ~ gb2@6 ab2@7 ~@3 ab2@7 ~@4 ab2@6 ~@2 ab2@2 ~ ab2@4 ~ gb2@6 ab2@7 ~@4 ab2@7 ~]/4",
  AM: "~@2 ab2@6 ~@2 ab2@2 ~ ab2@4 ~@2 gb2@5",
  AN: "[ab2@7 ~@4 ab2@7 ~@4 ab2@6 ~@2 ab2@2 ab2@4 ~@2 gb2@5 ab2@7 ~@4 ab2@7 ~@4 ab2@6 ~]/3",
  AO: "~ ab2@2 ~ ab2@4 ~ gb2@5 ab2@7 ~@3",
  AP: "[~ ab2@7 ~@4 ab2@6 ~@2 ab2@2 ~ ab2@4 ~ gb2@6 ab2@8 ~@2 ab2@8 ~@3 ab2@5 ~@3 ab2@3 ab2@3 ~@2 gb2@5 ~ ab2@8 ~@3 ab2@8]/4",
  AQ: "~@2 ab2@5 ~@3 ab2@3 ab2@3 ~@3 gb2@5", AR: "[ab2@76 ~@4 ab2 ~@5 ab2@72 ~@4 ab2@2 ~@3 gb2]/7",
  AS: "[~@5 ab2@66 ~]/3", AT: "[~@2 ab2@2 ~@4 gb2@2 ~@4 gb2@2 ~@3 ab2@59 ab2@2 ~@4 ab2@3 ~@2 gb2@2 ~@3 gb2@2]/4",
  AU: "[~@4 ab2@2 ~@3 ab2@60 ab2@5 ~@5 gb2@2 ~@4 gb2@2 ~@3 ab2@4 ~@2, ~@37 ab2@8 ~@3]/4", AV: "[ab2@85 ~ ab2@5 ~@5]/4",
  AW: "~ ab2@5 ~@5 ab2@2 ~@2 ab2@2 ~@2 ab2@2 ~@3", AX: "ab2 ~@11",
  AY: "[~@11 b2@3 ~ bb2 ~@3 db3@4 b2@2 ~@3 eb3@4 db3@2 ~@2 e3@4 ~ eb3 ~@3 gb3@3]/2",
  AZ: "~@2 f3 ~@3 ab3@4 gb3 ~@4 bb3@4 ab3 ~@4", BA: "b3@4 bb3 ~@3 db4@4 ~ b3 ~@3 eb4@4 db4@2 ~",
  BB: "~@17 eb2@2 ab2@2 ~ eb2@2", BC: "ab2@2 ~@9 db3 ~ eb3@2 db3@2 eb3@6 ~", BD: "~@7 ab2@3 ~@10 bb2 ~ b2 ~",
  BE: "db3 ~ eb3@2 ~@3 db3@2 ~@2 b2@2 ~@2 bb2 ~ ab3@2 ~ eb3@2 ab3@2",
  BF: "~@7 bb2 ~ b2 ~ db3 ~ eb3@2 ~@2 db3@2 ~@3 b2@2", BG: "~@2 bb2 ~@2 ab3@2 eb3@2 ab3@2 ~@7 bb2 ~ b2 ~ db3 ~",
  BH: "~ eb3@2 ~@2 db3@2 ~@2 b2@2 ~@3 bb2 ~ ab3 ~ eb3@2 ab3@2 ~@2", BI: "~@9 eb3 ~@2 db3 ~ b2 ~ db3@4 b2@2 bb2@2",
  BJ: "[~@3 ab2@2 ~@5 eb3@2 ab2@2 ~@4 eb3 ~ e3 ~@2 eb3@2 db3 ~@2 b2 ~@2 bb2@2 ~ gb2 ~@2 ab2@2 ~@5 eb3 ~ ab2@2]/2",
  BK: "~@5 eb3 ~ gb3 ~@2 e3 ~@2 eb3 ~@2 db3 ~@2 b2@2 ~ bb2 ~", BL: "~ ab2@2 ~@4 eb3 ~ ab2@2 ~@5 eb3 ~ ab3 ~@2 gb3 ~ e3",
  BM: "~@3 eb3 ~@2 db3 ~ b2@2 ~@2 ab2@2 ~@4 eb3 ~ ab2 ~@3",
  BN: "[~@3 eb3 ~ b3 ~@2 bb3 ~@2 ab3 ~@2 gb3@2 ~ e3@2 ~ eb3 ~@2 eb3@16 ~ db3@17 ab2@23 ~@4 b2@2 ~@2 c3@2 ~@3 db3@25 ~ db3@7 ~@2 eb3 ~ eb3 ~ eb3 ~ eb3 ~ f3 ~@2 f3!2 ~@2 f3, ~@80 ab2@7 ~@57]/6",
  BO: "[~ g3 ~ g3 ~ g3 ~ g3 ~@2 ab3 ~@3 bb3@2 ~@3 b3@16 ~ bb3@16 ~@2 ab3@22 eb3@8 ~ gb3@4 e3@7]/4",
  BP: "[~ eb3@8 ~ db3@9 b2@8 ~ b2@8 ~ bb2@10 ~]/2", BQ: "[ab2@11 ~ bb2@14 ~ ab2@101 ~@16]/6", BR: "~@17 ab2@5 ~@2",
  BS: "~ bb2@5 ~@2 b2@5 ~ db3@4 ~@3 ab2@2 ~", BT: "~@3 ab2 ~ ab2 ~ ab2 ab2@2 ~@4 ab2 ~ ab2 ~ ab2 ~ ab2@2 ~@2",
  BU: "~@3 ab2 ~ ab2 ~ ab2 ~ ab2@2 ~@2 ab2 ~@3 ab2 ~@3 ab2 ~@2",
  BV: "~@3 ab2 ~ ab2 ~ ab2 ~ ab2 ~@5 ab2 ~ ab2 ~ ab2 ~ ab2 ~@2",
  BW: "~@3 ab2 ~ ab2 ~ ab2 ~ ab3@2 ~@2 gb3@3 ~ eb3@2 ~@2 ab2@2 ~",
  BX: "~@3 ab3@2 gb3@2 eb3@2 ab2@2 ~@4 ab3@2 gb3@2 eb3@2 ab2@2 ~",
  BY: "~@3 ab3 ~ gb3@2 eb3@2 db3@3 ~ d3@3 ~ eb3@3 ~ ab2@2 ~",
  BZ: "~@3 ab3 ~ gb3@2 eb3 ~ ab2@2 ~@4 ab3 ~ gb3@2 eb3@2 ab2@2 ~",
  CA: "~@3 ab3 ~ gb3 ~ eb3@2 db3@3 ~ d3@3 ~ eb3@3 ~ ab2@3",
  CB: "~@3 ab3 ~ gb3@2 eb3@2 ab2@2 ~@4 ab3@2 gb3@2 eb3@2 ab2@2 ~",
  CC: "~@3 ab3 ~ gb3@2 eb3 ~ db3@3 ~ d3@3 ~ eb3@3 ~ ab2@2 ~",
  CD: "~@3 ab3@2 gb3@2 eb3 ~ db3@3 ~ d3@3 ~ eb3@3 ~ ab2@2 ~",
  CE: "~@3 ab3 ~ gb3@2 eb3@2 ab2@2 ~@4 ab3 ~ gb3@2 eb3@2 ab2@2 ~",
  CF: "~@3 ab3 ~ gb3 ~ eb3@2 db3@3 ~ d3@3 ~ eb3@3 ~ ab2@2 ~",
  CG: "~@3 ab3 ~ gb3 ~ eb3@2 ab2@2 ~@4 ab3 ~ gb3 ~ eb3@2 ab2@2 ~",
  CH: "~@3 ab3 ~ gb3 ~ eb3@2 db3@3 ~ d3@3 ~ eb3@3 ~ bb2@2 ~",
  CI: "~@3 bb3@2 eb3@2 f3@2 bb2@2 ~@4 bb3@2 eb3 ~ f3@2 bb2@2 ~",
  CJ: "~@3 bb3@2 eb3 ~ f3@2 ab3@3 ~ a3@2 ~@2 bb3@3 ~ bb2@2 ~",
  CK: "~@3 bb3@2 eb3 ~ f3@2 bb2@2 ~@4 bb3@2 eb3 ~ f3@2 bb2@2 ~",
  CL: "[~@3 bb3@2 eb3 ~ f3@2 eb3@3 ~ db3@2 ~@2 bb2@2 ~@2 c3@48 ~@3]/3", CM: "[~@21 c3@48 c3@46 c4@2 ~ g3@2]/5",
  CN: "~ c4@2 ~ g3@2 c4@2 ~ g3@2 ~ c4@2 ~ g3@2 ~ c4@2 ~ g3@2 ~",
  CO: "c4@2 g3@2 ~ c4@2 ~ g3@2 c4@2 ~ g3@2 ~ c4@2 ~ g3@2 ~ c4@2",
  CP: "[~ g3@2 c4@2 ~ g3@2 ~ c4@2 ~ g3@2 ~ c4@2 g3@2 ~ c4@2 ~ g3@2 ~ c4@2 g3@2 ~ c4@2 ~ g3@2 ~ c4!2 ~ g3@2 c4@2 ~ g3@2 ~]/2",
  CQ: "c4@2 ~ g3@2 c4@2 ~ g3 ~@2 g3 ~ g3!2 ~@2 c4 ~ g3@2 ~ c4 ~",
  CR: "[~ g3@2 ~ c4@2 ~ g3@2 c4 ~ c4 g3@2 ~ c4@2 ~ g3 ~ c4@2 ~ g3@2 ~ c4@2 ~ g3 ~@2 g3!2 ~ g3@2 c4 ~@2 g3 ~@2 c4@2 ~ g3@2]/2",
  CS: "c4@2 ~ g3 ~@3 c3@2 bb2@3 c3@2 bb2@2 ~ c3 ~ c3 bb2@2 c3@2",
  CT: "~ bb2@3 c3 ~@2 bb2@3 c3@2 bb2@2 c3 ~ c3 g2@2 ~ bb2@3 c3, ~@17 f2 ~@6",
  CU: "[~@2 c3@2 bb2@3 c3@2 ~ bb2@2 c3 ~ c3 bb2@3 c3@2 ~ bb2@2 c3@3 bb2@2 ~ c3@2 bb2@2 ~ c3!2 ~ g2@2 bb2@3 c3 ~@2 c3@2 bb2@2 ~ c3@3 bb2@2 c3 ~ c3 bb2@2 ~ c3@2 ~ bb2@2 c3 ~ c3 bb2@3]/3",
  CV: "c3@2 bb2@2 ~ c3@2 ~ g2@2 bb2@2 ~ c3 ~@2 c3@2 bb2@3 c3@2 ~",
  CW: "bb2@2 c3 ~ c3 bb2@2 ~ c3@2 ~ bb2@2 c3 ~ c3 bb2@2 ~ c3@2 bb2@2 ~", CX: "c3@4 ~ bb2@4 ~@2 ab2@4 ~@6 ab2@3",
  CY: "~@7 ab2@4 ~@6 ab2@4 ~@3", CZ: "~@3 gb2@4 ~@6 gb2@4 ~@7",
  DA: "[gb2@2 ~@3 gb2@2 ~@3 gb2@2 ~@3 gb2@2 ~@3 e2@24 db3@24 ab2!4]/3", DB: "ab2!14 db3!2 d3!2 eb3!2 e3!2 f3!2",
  DC: "g3!2 ab3!19 ~ ab3 ~", DD: "[~ ab3 ~ ab3 ~ ab3 ~ ab3 ~ ab3 ~ ab3 ~ ab2@6 ~@3 ab3@6 ~@3 ab3@6 ~@3 ab3@6 ~@2]/2",
  DE: "[~ ab3@6 ~@4 ab3@6 ~@4 ab3@6 ~@4 ab3@6 ~@4 ab2@5 ~@2]/2",
})).s("gm_electric_bass_finger").gain(0.4)

// other · flute
const flute = note("<~@134 A B@3 C D@2 E@2 F G H@2 I J@7 K@2 L M@2 N@2 O ~@116>".pickRestart({
  A: "~@5 gb4@2 ab4@2 ~@4 ab4 ~@2 ab4@4 ~ ab4 ~@2",
  B: "[ab4@2 gb4@2 ~ ab4@3 ~@2 ab4 ~@2 ab4@3 ~@2 ab4@2 ~@3 b4@3 bb4@2 ~@2 bb4@2 ab4 gb4 ~ ab4@25 ~@7 gb4@2 ~ ab4@2, ~@29 ab4@2 ~@41]/3",
  C: "~@3 ab4 ~@2 ab4@4 ~ ab4 ~@2 ab4 ~@2 gb4@2 ab4@3 ~@2",
  D: "[ab4 ~@2 ab4@4 ~ ab4@2 ~@4 b4@3 bb4 ~@2 ab4@9 ~@2 eb5@9 ~ db5@2 ~ b4@2 bb4@2]/2",
  E: "[~ ab4 ~@2 gb4@3 ~@5 f4 ~ eb4@2 db4@4 eb4@26 ~@2, ~@5 f4 ~@18, ~@11 gb4@2 ~@35]/2", F: "~@10 gb4 ~",
  G: "gb4@2 ~ gb4@2 ab4@2 ~@2 ab4@2 ~@2 ab4@3 bb4@2 ~@2 bb4@2 ~@2",
  H: "[bb4@3 gb4@2 ~@2 gb4@2 ~@2 gb4@3 eb4@2 ~@3 eb4@23 ~@6]/2", I: "~ db5@3 ~@2 db5@6 ~@2 db5 ~ db5@3 ~ gb5@4",
  J: "[~ eb5@6 ~ gb5@4 ~@2 ab4@42 ~@7 f4 ~ gb4@2 ~ f4@2 ~ gb4@2 f4@2 ~ gb4@2 ~ f4@2 gb4@2 ~ f4@2 ~ gb4@2 f4@3 gb4@2 ~ ab4@2 ~@4 bb4@3 ~ bb4 ab4@2 ~ bb4@6 gb4@2 ~@2 gb4@4 ~ eb4@3 ~@2 eb4@24 ~@15, ~@52 b4 ~@31]/7",
  K: "[~@4 eb5@3 ~ ab5@4 ~ bb5@3 ~@3 bb5@4 gb5@2 ~@3 gb5@4 ~ ab5@2 ~@3 ab5@5 eb5@2 ~@3]/2",
  L: "eb5@5 ~@2 db5@3 ~@4 b4@2 bb4@2 ~@2 ab4@4", M: "[~ bb4@5 ~ gb4@25 ~@2 db5@2 ~ b4 ~ bb4@2 ~ b4@2 ab4 ~@2 b4]/2",
  N: "[~ bb4 ~@2 b4@2 ~ gb4 ~ b4@2 ~ bb4@2 b4@2 ~@2 gb4 ~ b4 ~@2 bb4@2 b4@2 ~ f4@2 ~ b4 ~@2 bb4@2 b4@2 ~ f4@2 ~ b4@2 ~ bb4@2 ~]/2",
  O: "b4@2 gb4@2 ~ b4@2 ~ bb4@2 b4 ~@2 b4@2 ~ bb4@2 ~ ab4@3 ~@2",
})).s("gm_flute").gain(0.48)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A@27 B ~ C ~ D E F G H I J K L M N O P Q R A@15 B ~ C ~ D E F G H I J K L M N O P Q R A@15 B ~ C ~ D E F G H I J S
// … 131 more lines

More by Genesis