Strudelify

The Return of the Giant Hogweed

Genesis

KeyF majorTempo145 bpm
0:00/0:00
// The Return of the Giant Hogweed — Genesis
// 145 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 6/4 at bar 40, 4/4 at bar 42, 6/4 at bar 48, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: ch 8 "Meaty Organ" named as an organ, played on drawbar organ (its piano patch is not one); ch 6 "Chunky Bass" named as a bass, played on electric bass finger (its piano patch is not one); ch 7 "Fuzz Guitar (left channel)" named as a guitar, played on distortion guitar (its piano patch is not one); ch 2 "Fuzz Guitar (right channel" named as a guitar, played on distortion guitar (its piano patch is not one); ch 3 "Mellotron (strings)" named as a string part, played on string ensemble 1 (its piano patch is not one); ch 5 "Flute" named as a pipe, played on flute (its piano patch is not one)
// note: duplicate parts dropped: ch 2 "Fuzz Guitar (right channel" distortion guitar (copy of ch 7 "Fuzz Guitar (left channel)" distortion guitar)
// note: Full arrangement: all 282 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(145/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(`<
  ~@20 A B A B C@3 D A B A B C@3 E F G H I J K L M N O@4 P@6 Q@4 R S@2 T U@4 V W X Y@8 Z AA AB@2 AC@2 AD@2 AE AF AG AH
  AI@2 AJ@2 AK AL AM AN AO AP@2 AQ AR AS AT@2 AU AV AW@4 AX AY AZ BA@5 BB@4 BC@5 BD@5 BE BF BG BH BI@3 BJ@2 BK BL BM BN
  BM BO@5 BM BN BM BP@5 BQ BR BS BT BU BT BV ~@54 BW@8 BX@6 BY@4 BZ@7 CA@3 CB@6 CC@4 CD@5 CE@4 CF@7 CG CH@5
>`.pickRestart({
  A: "[bb4,d5,g5]@3 ~@7 [a4,d5,f5]@7 ~ [bb4,d5,g5]@2 ~@4", // Gm Dm Gm
  B: "~@2 [d5,f5,bb5]@3 ~ [c5,f5,a5] ~@2 [a4,f5] ~@2, ~@18 d5 ~@5", // Bb F Dm
  C: "[a4,d5,gb5]@9 ~@9 [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~", D: "[a4,d5,gb5] ~@3",
  E: "[a4,d5,gb5]@6 ~@6 [db5,f5,bb5] ~@3 [db5,f5,bb5]@2 ~@2 [db5,f5,bb5] ~@3", // D Bbm
  F: "~ [db5,f5,bb5]@4 ~@2 [c5,f5,a5] ~@2 [c5,f5,a5]@4 ~@2 [c5,e5,g5] ~ [c5,f5] ~@3 [c5,e5,g5] ~, ~@9 a5 ~@2", // Bbm F C F5 C
  G: "[c5,f5] ~@5 [c5,a5]@2 ~@4 [db5,f5,bb5]@2 ~@2 [db5,f5,bb5]@2 ~@2 [db5,f5] ~@3, a5@2 ~@4 f5 ~@13 bb5@2 ~@2", // F5 F Bbm Db
  H: "[db5,f5,bb5]@4 ~@2 [c5,f5,a5] ~@3 [c5,f5,a5]@4 ~@2 [c5,e5,g5] ~ [c5,f5] ~@3 [c5,e5,g5] ~, ~@9 a5 ~@2", // Bbm F C F5 C
  I: "[c5,f5] ~@5 [c5,f5,a5]@2 ~@4 [db5,f5,bb5]@2 ~@2 [db5,f5,bb5]@2 ~@2 [f5,bb5]@2 ~@2, a5@2 ~@18 db5 ~@3", // F5 F Bbm Bb5
  J: "[db5,f5,bb5]@4 ~@2 [c5,f5,a5] ~@3 [c5,f5,a5]@4 ~@2 [c5,e5,g5] ~ [c5,a5]@2 ~@2 [c5,e5,g5] ~, ~@18 f5 ~@5", // Bbm F C F C
  K: "[c5,f5] ~@5 [c5,f5,a5]@2 ~@4 [bb4,db5,f5]@2 ~@2 [gb4,bb4,eb5]@2 ~@2 [f4,bb4,db5]@2 ~@2, a5 ~@11", // F5 F Bbm Ebm Bbm
  L: "[bb4,db5,f5] ~ [gb4,bb4,eb5] ~ [f4,bb4,db5] ~ [f4,a4,c5]@3 ~@3", // Bbm Ebm Bbm F
  M: "f4@2 ab4@2 c5@2 eb5@2 g5@2 eb5@2 [g4,d5]@2 ~@5 [g4,d5]@2 ~@3", // G5
  N: "~ [g4,d5]@2 ~@5 [g4,d5]@2 ~@5 [g4,d5]@2 ~@4 [g4,d5]@2 ~", // G5
  O: "[~@4 [g4,d5]@2 ~@5 [g4,d5]@2 ~@5 [g4,b4,d5]@11 ~@2 [g4,bb4,eb5]@11 ~@2 [f4,a4,c5]@11 ~@3 [f4,bb4,d5]@6 [bb4,d5,f5]@4 ~@3 [c5,f5,a5]@2 ~@5 [b4,e5,g5]@2 ~@4 [g4,b4,e5]@10 ~@2]/4", // G5 G Eb F Bb F Em
  P: "[~@2 [b4,e5,g5]@5 ~@2 [c5,e5,a5]@2 ~@4 [f4,a4,d5]@26 [g4,bb4,d5]@26 [g4,bb4,eb5]@26 [g4,c5,e5]@25 [a4,c5,f5]@26]/6", // Em Am Dm Gm Eb C F
  Q: "[[a4,d5,gb5]@26 [b4,d5,gb5]@26 ~@17 d4 ~ [g4,b4,d5]@2 d4 ~@2 [f4,a4,c5]@19 d4, ~@52 [b4,d5,g5]@19 ~@4 d4@17 ~@4]/4", // D Bm G F G
  R: "~ [g4,b4,d5] ~ d4 ~ [e4,g4,b4]@19", // G Em
  S: "[~ e4 ~ [b4,d5] ~ d4 ~ [d4,g4,b4]@26 ~@2 gb5 ~@2 g5 ~@2 e5 ~@2 gb5 ~@3, ~@3 g4@2 ~@43]/2", // Bm G
  T: "d5@2 ~ e5@2 ~ [ab4,c5]@18", // Ab
  U: "[eb4 ~ [ab4,c5,eb5] ~ eb4 ~ [gb4,bb4,db5]@19 eb4 ~ [ab4,c5,eb5] ~ eb4 ~@2 [ab4,c5]@19 f4 ~ [c5,eb5] ~ eb4 ~ [eb4,ab4,c5]@26 ~ g5 ab5@2 ~ g5@2 ~@2 eb5@2 ~@2, ~@6 eb4@17 ~@9 f4@18 ~@3 ab4@2 ~@41]/4", // Ab Gb Ab Cm Ab
  V: "~ eb5 f5 gb5@2 ~ f5@2 ~ db5@15", W: "~@2 a4 ~ [db5,e5] ~ a4 ~ [a4,db5,e5]@16",
  X: "~@4 a4 ~ [db5,e5] a4 ~@2 [a4,d5,f5]@14", // Dbm Dm
  Y: "[~@5 a4 ~ [d5,f5] ~ a4 ~ [bb4,d5,f5]@19 ~ bb4 ~ [d5,f5] ~ bb4 ~ [bb4,eb5,g5]@19 bb4 ~@2 [eb5,g5] ~ bb4 ~ [c5,e5,g5]@19 ~ c5 ~ [e5,g5] ~ c5 ~ [c5,f5,a5]@19 ~ c5 [f5,a5] ~ c5 ~@2 [d5,gb5,a5]@19 d5 ~ [gb5,a5] ~ d5 ~@2 [d5,g5,b5]@19 d5 ~ [g5,b5] ~ d5 ~ [d5,g5,b5]@19 ~@7]/8", // Dm Bb Dm Eb C Em F D …
  Z: "~@2 [d5,g5,b5]@2 ~@3 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@3 [d5,g5,b5]@2 ~@2", // G
  AA: "[d5,gb5,a5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@3 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~", // D G
  AB: "[~@2 [d5,gb5,a5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@3 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,gb5,a5]@2 ~@3 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@3 [d5,g5,b5]@2 ~]/2", // D G D G
  AC: "[~@9 [bb4,d5,g5]@3 ~@8 [a4,d5,f5]@7 [bb4,d5,g5]@2 ~@8 [d5,f5,bb5]@6 ~@2 [c5,f5,a5]@2 ~]/2", // Gm Dm Gm Bb F
  AD: "[~@3 [a4,f5]@2 ~@4 [bb4,d5,g5]@3 ~@8 [a4,d5,f5]@7 [bb4,d5,g5]@2 ~@8 [d5,f5,bb5]@6 ~@2 [c5,f5,a5]@2 ~, ~@3 d5 ~@44]/2", // Dm Gm Dm Gm Bb F
  AE: "~@3 [a4,f5]@2 ~@4 [a4,d5,gb5]@9 ~@6, ~@3 d5 ~@20", // Dm D
  AF: "~@4 [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,d5,gb5]@9 ~@5", // A D
  AG: "~@4 [a4,db5,e5] ~ [a4,db5,e5] [db5,e5] a4 [a4,d5,gb5]@9 ~@6", // A Dbm D
  AH: "~@4 [a4,db5,e5] ~ [a4,db5,e5]!2 ~@2 [a4,d5,gb5]@6 ~@8", // A D
  AI: "[~@10 [bb4,d5,g5]@3 ~@8 [a4,d5,f5]@7 [bb4,d5,g5]@2 ~@8 [d5,f5,bb5]@6 ~@2 [c5,f5,a5]@2]/2", // Gm Dm Gm Bb F
  AJ: "[~@4 [a4,f5]@2 ~@4 [bb4,d5,g5]@3 ~@8 [a4,d5,f5]@7 [bb4,d5,g5]@2 ~@8 [d5,f5,bb5]@6 ~@2 [c5,f5,a5]@2, ~@4 d5 ~@43]/2", // Dm Gm Dm Gm Bb F
  AK: "~@4 [a4,f5]@2 ~@4 [a4,d5,gb5]@9 ~@5, ~@4 d5 ~@19", AL: "~@5 [a4,db5,e5] ~ [a4,db5,e5]!2 ~@2 [a4,d5,gb5]@9 ~@4",
  AM: "~@4 [a4,db5] e5 ~ [a4,db5,e5]!2 ~ [a4,d5,gb5]@9 ~@5", // A D
  AN: "~@4 [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~@2 [a4,d5,gb5]@6 ~@5 [db5,f5,bb5] ~", // A D Bbm
  AO: "~@2 [db5,f5,bb5]@2 ~@2 [db5,f5,bb5] ~@4 [db5,f5,bb5]@4 ~@2 [c5,f5,a5] ~@2 [c5,f5,a5]@4", // Bbm F
  AP: "[~@2 [c5,e5] g5 ~ [c5,f5] ~@2 [c5,e5,g5] ~@2 [c5,f5] ~@4 [c5,a5]@2 ~@5 [db5,f5,bb5]@2 ~@2 [db5,f5]@2 ~@2 [db5,f5] ~@2 [db5,f5,bb5]@4 ~@3 [c5,f5,a5] ~@3 [c5,f5,a5]@3, ~@4 a5@2 ~@5 a5@2 ~@3 f5 ~@9 bb5@2 ~@3 bb5@2 ~@15]/2", // C F5 C F5 F Bbm Db Bbm …
  AQ: "~@2 e5 [c5,g5] ~ [c5,f5] ~@3 [c5,e5,g5] ~ [c5,f5] ~@4 [c5,f5,a5]@2 ~@4 [db5,f5,bb5]@2, ~@4 a5@2 ~@5 a5@2 ~@11", // C5 F5 C F5 F Bbm
  AR: "~@2 [db5,f5,bb5]@2 ~@3 f5@2 ~ [db5,f5,bb5]@4 ~@3 [c5,f5,a5] ~@2 [c5,f5,a5]@4, ~@3 bb5 ~@8, ~@7 db5 ~@16", // Bbm F
  AS: "~@2 [c5,e5,g5] ~@2 f5 ~@3 [c5,e5,g5] ~ [c5,f5] ~@4 [c5,f5,a5]@2 ~@4 [bb4,db5,f5]@2, ~@4 [c5,a5]@2 ~@5 a5@2 ~@11", // C F5 F Bbm F
  AT: "[~ [gb4,bb4,eb5] ~ [f4,bb4,db5] ~ [bb4,db5,f5] ~ [gb4,bb4,eb5] ~ [f4,bb4,db5] ~ [f4,a4,c5]@3 ~@3 f4 ab4 c5 eb5 g5 eb5 [g4,d5]]/2", // Ebm Bbm Ebm Bbm F G5
  AU: "~@5 [g4,d5]@2 ~@5 [g4,d5]@2 ~@4 [g4,d5]@2 ~@4", AV: "~ [g4,d5]@2 ~@5 [g4,d5]@2 ~@4 [g4,d5]@2 ~@5 [g4,d5]@2 ~",
  AW: "[~@4 [g4,b4,d5]@11 ~@2 [g4,bb4,eb5]@11 ~@3 [f4,a4,c5]@11 ~@2 [f4,bb4,d5]@6 ~ [bb4,d5,f5]@4 ~@2 [c5,f5,a5]@2 ~@5 [b4,e5,g5]@2 ~@5 [g4,b4,e5]@10 ~@3 [b4,e5,g5]@5 ~@2 [c5,e5,a5]@2 ~@3]/4", // G Eb F Bb F Em Am
  AX: "~ [f4,a4,d5]@11", AY: "~ [g4,bb4,d5]@7", AZ: "~@5 [g4,bb4,eb5]@19",
  BA: "[~@7 [g4,c5,e5]@26 [a4,c5,f5]@25 [a4,d5,gb5]@26 [b4,d5,gb5]@26 [b4,d5,g5]@10]/5", // C F D Bm G
  BB: "[~@8 d4 ~ [g4,b4,d5]@2 d4 ~ [f4,a4,c5]@19 d4 ~ [g4,b4,d5] ~ d4 ~@2 [g4,b4]@19 e4 ~ [b4,d5] ~ d4 ~ [d4,g4,b4]@26 ~@2 gb5 ~@2, ~@14 d4@17 ~@8 e4@18 ~@4 g4@2 ~@33]/4", // G F G Bm G
  BC: "[g5 ~@3 e5 ~@2 gb5 ~@2 d5@2 ~ e5@2 ~ [ab4,c5]@18 eb4 ~ [ab4,c5,eb5] ~ eb4 ~ [gb4,bb4,db5]@20 eb4 ~ [ab4,c5,eb5] ~ eb4 ~ [ab4,c5]@19 f4 ~ [c5,eb5] ~ eb4 ~@2 [eb4,ab4,c5]@26 ~ [g5,ab5], ~@40 eb4@17 ~@9 f4@18 ~@3 ab4@2 ~@31]/5", // Ab Gb Ab Cm Ab Abmaj7
  BD: "[~@3 g5@2 ~ eb5@2 ~@3 eb5 f5 gb5@2 ~ f5@2 ~@18 a4 ~ [db5,e5] ~ a4 ~@2 [a4,e5]@19 a4 ~ [db5,e5] ~ a4 ~ [a4,d5,f5]@19 ~ a4 ~ [d5,f5] a4 ~@2 [bb4,d5,f5]@19 ~ bb4 ~ [d5,f5] bb4 ~@2, ~@19 db5@19 ~@4 db5@19 ~@59]/5", // Dbm A5 Dbm Dm Bb Dm
  BE: "[bb4,eb5,g5]@19 bb4 ~ [eb5,g5] ~ bb4", BF: "~ [c5,e5,g5]@19 ~ c5 ~ [e5,g5]", BG: "~ c5 ~ [c5,f5,a5]@19 ~ c5",
  BH: "~ [f5,a5] ~ c5 ~ [d5,gb5,a5]@19", // F D
  BI: "[~ d5 ~ [gb5,a5] d5 ~@2 [d5,g5,b5]@19 d5 ~@2 [g5,b5] d5 ~@2 [d5,g5,b5]@19 ~@9 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~]/3", // Gbm G
  BJ: "[~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,gb5,a5]@2 ~@2 [d5,g5,b5]@2 ~@3 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@3 [d5,g5,b5]@2 ~@2 [d5,gb5,a5]@2 ~@2 [d5,g5,b5]@2 ~@3 [d5,g5,b5]@2 ~]/2", // G D G D G
  BK: "~ [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@3 [d5,gb5,a5]@2 ~@2 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2", // G D G
  BL: "~@3 [d5,g5,b5]@2 ~@2 [d5,g5,b5]@2 ~@11 [bb4,d5,g5]@3 ~", BM: "~@6 [a4,d5,f5]@7 ~ [bb4,d5,g5]@2 ~@8",
  BN: "[d5,f5,bb5]@6 ~@2 [c5,f5,a5]@2 ~@4 [a4,f5]@2 ~@4 [bb4,d5,g5]@3 ~, ~@14 d5 ~@9", // Bb F Dm Gm
  BO: "[[d5,f5,bb5]@6 ~@2 [c5,f5,a5]@2 ~@4 [a4,f5]@2 ~@4 [a4,d5,gb5]@9 ~@9 [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,d5,gb5]@9 ~@9 [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,d5,gb5]@9 ~@9 [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,d5,gb5]@6 ~@18 [bb4,d5,g5]@3 ~, ~@14 d5 ~@105]/5", // Bb F Dm D A D A D …
  BP: "[[d5,f5,bb5]@6 ~@2 [c5,f5,a5]@2 ~@4 [a4,f5]@2 ~@4 [a4,d5,gb5]@9 ~@9 [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,d5,gb5]@9 ~@9 [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,d5,gb5]@9 ~@9 [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,d5,gb5]@6 ~@6 [db5,f5,bb5]@2 ~@2 [db5,f5,bb5] ~@3 [db5,f5,bb5]@2 ~@3 f5@3, ~@14 d5 ~@101 [db5,bb5]@4]/5", // Bb F Dm D A D A D …
  BQ: "~@2 [c5,f5] a5 ~@2 [c5,f5,a5]@4 ~@2 [c5,e5,g5] ~ [c5,f5] ~@3 [c5,e5,g5] ~ [c5,f5] ~@3, ~@7 a5 ~@2 a5 ~", // F5 F C F5 C F5
  BR: "~@2 [c5,a5]@2 ~@4 [db5,f5,bb5]@2 ~@2 [db5,f5,bb5]@2 ~@2 [db5,f5] ~@3 [db5,f5,bb5]@4, ~@2 f5 ~@13 bb5@2 ~@6", // F Bbm Db Bbm
  BS: "~@2 [c5,f5,a5] ~@3 [c5,f5,a5]@4 ~@2 [c5,e5,g5] ~ [c5,f5] ~@3 [c5,e5,g5] ~ [c5,f5] ~@3, ~@7 a5 ~@2 a5 ~", // F C F5 C F5
  BT: "~ [c5,f5,a5]@2 ~@5 [db5,f5,bb5]@2 ~@2 [db5,f5,bb5]@2 ~@2 [f5,bb5]@2 ~@2 [db5,f5,bb5]@4, ~@16 db5 ~@7", // F Bbm Bb5 Bbm
  BU: "~@2 [c5,f5,a5] ~@3 [c5,f5,a5]@4 ~@2 [c5,e5,g5] ~ [c5,a5]@2 ~@2 [c5,e5,g5] ~ [c5,f5] ~@3, ~@14 f5 ~@5 a5@2 ~@2", // F C F C F5
  BV: "~@2 [c5,f5,a5] ~@3 [c5,f5,a5]@4 ~@2 [c5,e5,g5] ~ [c5,a5]@2 ~@8, ~@14 f5 ~@9", // F C F
  BW: "[~@6 [db5,f5,ab5]@96 ~ eb5@89, ~@17 [c5,ab5]@15]/8", // Db Fm
  BX: "[~@7 [f5,ab5]@94 ~ [c5,f5,ab5]@24 [bb4,eb5,g5]@18, ~@3 db5@47 ~@22]/6", // Fm Eb
  BY: "[~@6 [b4,eb5,ab5]@23 ~ [bb4,eb5,g5]@24 [d4,ab4,b4]@22 [f4,ab4,db5]@20]/4", // Abm Eb Abdim Db
  BZ: "[~@2 [eb4,ab4,b4]@32 [gb3,db4]@4 ~@2 [ab3,eb4]@3 ~@2 [bb3,f4]@33 ~@11 [db4,f4,ab4]@21 ~ [db4,gb4,bb4]@21 [gb4,a4,db5]@31 ~@2 [e4,ab4,b4]@2 ~]/7", // Abm Gb5 Ab5 Bb5 Db Gb Gbm E
  CA: "[~@2 [gb4,bb4,db5]@2 ~@4 [ab4,c5,eb5]@43 ~ g4@20, ~@17 [bb4,d5]@7]/3", // Gb Ab Bb
  CB: "[~ [f4,bb4,d5]@19 ~@3 [eb4,g4,bb4]@32 [bb3,d4,f4]@3 ~@3 [c4,e4,g4]@2 ~@3 [d4,gb4,a4]@33 [f4,ab4,db5]@3 ~@3 [g4,bb4,eb5]@3 ~@2 [a4,c5,f5]@32 [bb3,d4,f4]@2]/6", // Bb Eb Bb C D Db Eb F …
  CC: "[~@4 [c4,e4,g4]@3 ~@2 [d4,ab4,b4]@22 [ab4,db5]@21 ~ [eb4,ab4,b4]@32 [gb3,db4]@4 ~@2 [ab3,eb4]@3 ~@2, ~@31 f4@19 ~@46]/4", // C Abdim Db5 Abm Gb5 Ab5
  CD: "[[bb3,f4]@33 ~@11 [db4,f4,ab4]@21 ~ [db4,gb4,bb4]@21 [gb4,a4,db5]@31 ~@2]/5", // Bb5 Db Gb Gbm
  CE: "[[e4,ab4,b4]@2 ~@3 [gb4,bb4,db5]@2 ~@4 [ab4,c5,eb5]@43 ~ g4@20 ~ [f4,bb4,d5]@19 ~, ~@18 [bb4,d5]@7 ~@7]/4", // E Gb Ab Bb
  CF: "[~@2 [eb4,g4,bb4]@32 [bb3,d4,f4]@3 ~@3 [c4,e4,g4]@2 ~@3 [d4,gb4,a4]@33 [f4,ab4,db5]@3 ~@3 [g4,bb4,eb5]@3 ~@2 [a4,c5,f5]@32 [f4,ab4,db5]@3 ~@3 [g4,bb4,eb5]@3 ~@3 [c5,f5]@32 [f4,ab4,db5]@3, ~@44 a4@11 ~]/7", // Eb Bb C D Db Eb F Db …
  CG: "~@3 [g4,bb4,eb5]@3 ~@2 [a4,c5,f5]@3 ~@13", CH: "[[a4,c5,f5]@109 [a4,c5,f5]@5 ~@6]/5",
})).s("gm_drawbar_organ").gain(0.19)

// bass · electric bass finger · "Chunky Bass"
const bass = note(`<
  ~@20 A B C D E F G H A B C D I F G J K L K L K M N O P Q R S@2 T U V@2 W X Y Z AA AB AC AD AE AF AG AH@2 AI AJ AK AL
  AM AN AO AP AQ AR@2 AS AT AU@2 AV AW AX AY AZ BA BB BC BD BE BF BG BH@2 BI BJ BK BL BM BN BM BO BP BQ@2 BR BS BT BU
  BV@2 BW BX BY BZ CA CB@2 CC CD@2 CE@2 CF@2 CG CH CI CJ CK CL CM CN CO CP@3 CQ CR CS CT CU@2 CV CW CX CY CZ@3 DA DB CW
  CX CY DC@3 DA DD DE DF DE DF DE DF DG DH@6 DI@2 DJ@2 DK@2 DL@2 DM@7 DN@2 DO@4 DP@2 DQ DR DS DT@2 DU DV DW@6 DX@2 DY DZ
  EA EB@2 EC ED@2 EE@2 EF EG EH EG EI EJ EK EJ EL EG EH EG EM EN EO EP EQ@2 ER@7 ES@3 ET@6 EU@4 EV@5 EW@4 EX@7 EY EZ
  FA@4
>`.pickRestart({
  A: "g3@3 ~@4 c3@3 d3@2 ~@4 f3 ~@2 g3@2 ~@3", B: "~@4 bb3@7 ~ a3@3 ~@3 f3@2 ~@2 f3@2",
  C: "g3@3 ~@4 c3@3 d3@2 ~@4 f3 ~ g3@2 ~@4", D: "~@4 bb3@7 ~@2 a3@2 ~@3 f3@3 ~@3",
  E: "gb3@7 d4 ~@2 d3@2 ~@6 b3 ~ b3 ~ b3 ~", F: "a3@8 ~@2 d3@3 ~@11", G: "a3@2 ~@4 d4@2 ~@2 d3@2 ~@6 b3 ~ b3 ~ b3 ~",
  H: "a3@5 ~ d3@2 ~@4 d3@2 e3 ~ f3 ~ a3@2 ~@4", I: "gb3@7 d4 ~@2 d3@2 ~@6 b3 ~ b3 ~ b3@2",
  J: "a3@5 ~ d3@2 ~@4 g4@2 ~@2 f4@2 ~@2 db4@2 ~@2", K: "f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2",
  L: "f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 g4@3 ~ f4@4 db4@2 ~@2", M: "f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 f2@2 ~@2 f3@2 ~@2 f3@2 ~@2",
  N: "f2 ~ f3 ~ f3 ~ c3@3 ~@3", O: "f2@2 ab2@2 c3@2 ~@2 eb3@2 ~@2 g3@2 ~@5 g3@2 ~@3",
  P: "~ g3@2 ~@5 g3@2 ~@5 g3@2 ~@4 g3@2 ~", Q: "~@4 g3@2 ~@5 g3@2 ~@5 g3@2 ~@4", R: "g3@2 ~@5 g3@2 ~@5 g3@2 ~@5 g3@2 ~",
  S: "[~@3 g3@2 ~@5 g3@2 ~@5 g3@2 ~@2 f3@2 g3@3 ~@4 g3@2 ~@5 g3@2 ~@4 g3@2 ~@3]/2",
  T: "~@2 g3@2 ~@5 g3 ~@5 g2@2 ~@3 g2@2 ~@2", U: "~@4 g2@2 ~@2 g2@2 ~@7 g2@2 ~@2 g2@2 ~",
  V: "[~@6 g2@2 ~@2 g2@2 ~@7 g2@2 ~@2 g2@2 ~@7 g2@2 ~@2 g2@2 ~@7 g2@2 ~]/2", W: "~ g2@2 ~@6 g2@2 ~@3 g2@2 ~@6 g2@2",
  X: "~@3 g2@2 ~@6 g2@2 ~@3 g2@2 ~@6", Y: "g2@2 ~@2 g2@2 ~@7 g2@2 ~@2 g2@2 ~@5",
  Z: "~@2 g2@2 ~@2 g2@2 ~@7 g2@2 ~@4 g2@2 ~", AA: "~@4 g2@2 ~@2 g2@2 ~@7 g2@2 ~@2 [c3,d3] ~ f3",
  AB: "~ d3@2 g3@9 g2@2 ~@5 g2@2 ~@2 d3", AC: "~ f3 ~ d3@2 g3@9 g2@2 ~@4 g2@2 ~@2",
  AD: "~ d3 ~ f3 ~ d3 ~ g3@9 g2@2 ~@4 g2@2", AE: "~@4 g2@2 ~@5 g2@2 ~@4 g2@2 ~@5",
  AF: "g3@2 ~@4 ab3@3 ~@4 ab3@3 ~@4 ab3@2 ~@2", AG: "~@2 ab3@2 ~@2 ab3@2 ab2@3 ~@4 ab2@3 ~@3 ab2@2 ~",
  AH: "[~@3 ab2@2 ~@3 ab2@2 ab3@2 ~@4 ab3@2 ~@5 ab3@2 ~@4 ab3@2 ~@4 ab2@3 ~@4 ab2@3 ~@3]/2",
  AI: "ab2@2 ~@5 ab2@2 ~@4 ab3@2 ~@2 g3@2 ~ eb3@2 ~@2", AJ: "~@2 gb3 ~@2 f3 ~@3 a3@2 ~@4 a3@2 ~@5 a3@2",
  AK: "~@4 a3@2 ~@5 a3@2 ~@4 a3@2 ~@5", AL: "a3@2 ~@4 a3@2 ~@4 g3@2 ~@5 g3@2 ~@3",
  AM: "~ g3@2 ~@4 g3@2 ~@5 g2@3 ~@4 g3@2 ~", AN: "~@3 g3@2 ~@4 g3@2 ~@5 g2@2 ~@4 g3@2",
  AO: "~@4 g3@2 ~@5 g3@2 ~@4 g2@2 ~@5", AP: "g3@2 ~@4 g3@2 ~@5 g3@2 ~@4 g2@3 ~@2",
  AQ: "~@2 g3@2 ~@4 g3@2 ~@3 d3@2 f3@2 d3 ~ g3@2 g2@3",
  AR: "[~@3 g3@2 ~@5 g3@2 ~@2 d3@2 ~@2 d3 ~ g3@2 ~ g2@3 ~@3 g3@2 ~@5 g3@2 ~@2 d3@2 f3@2 d3 ~ g3@2, ~@17 f3@2 ~@29]/2",
  AS: "~ g2@3 ~@3 g3@2 ~@4 g3@2 ~@3 d3@2 f3@2 d3 ~", AT: "g3@2 g2 ~ g3@2 ~ f3@2 g3@2 ~@2 g2 ~ f3@2 g3@2 ~ g2 ~ g3@2",
  AU: "[f3 ~ g3@2 g2 ~ g3@2 f3@2 ~ g3@2 ~@2 g2 ~ f3@2 g3@2 g2 ~ g3@2 ~ f3 ~ g3@2 g2 ~ g3@2 f3@2 g3@2 ~@3 g2 ~ f3@2 g3@2 g2]/2",
  AV: "~ g3@2 f3 ~ g3@2 ~ g2 ~ g3@2 f3@2 g3@2 ~@2 g2 ~@3 g3@2, ~@21 f3@2 ~",
  AW: "~ g2 ~ g3@2 f3 ~ g3@2 g3@3 ~@4 c3@3 ~ d3@2 ~@2", AX: "~@2 f3 ~ g3@2 ~@8 bb3@7 ~ a3@2",
  AY: "~@4 f3@2 ~@2 f3@2 g3@3 ~@3 c3@3 ~ d3@2 ~@2", AZ: "~ f3 ~@2 g3@2 ~@8 bb3@7 ~ a3@2",
  BA: "~@4 f3@3 ~@3 gb3@6 d4 ~@3 d3@2 ~@2", BB: "~@3 b3 ~ b3 ~ b3 ~ a3@8 ~@2 d3@3 ~@2",
  BC: "~@9 a3@2 ~@4 d4@2 ~@3 d3@2 ~@2", BD: "~@3 b3 ~ b3 ~ b3 ~ a3@5 ~ d3@2 ~@4 d3@2 ~",
  BE: "e3 ~ f3@2 a3@2 ~@4 g3@3 ~@4 c3@3 ~ d3@2 ~", BF: "~@3 f3 ~ g3@2 ~@8 bb3@7 a3@2",
  BG: "~@5 f3@2 ~@2 f3@2 g3@3 ~@3 c3@3 ~ d3@2 ~",
  BH: "[~@2 f3 ~@2 g3@2 ~@8 bb3@7 ~ a3@2 ~@4 f3@3 ~@3 gb3@6 d4 ~@3 d3@2 ~]/2",
  BI: "~@4 b3 ~ b3 ~@3 a3@8 ~@2 d3@3 ~, ~@9 b3@2 ~@13", BJ: "~@10 a3@2 ~@4 d4@2 ~@3 d3@2 ~",
  BK: "~@4 b3 ~ b3 ~ b3 ~ a3@5 ~ d3@2 ~@4 g4@2", BL: "~@2 f4@2 ~@2 db4@2 ~@2 f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 f4 ~",
  BM: "c4@2 a3 ~ f3@2 ~@2 f3@2 f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 g4@2",
  BN: "~@2 f4@4 db4@3 ~ f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 f4 ~", BO: "~@2 f4@4 db4@2 ~@2 f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 f4 ~",
  BP: "c4@2 a3 ~ f3@2 ~@2 f3@2 f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 f2@2",
  BQ: "[~ f3 ~ f3 ~ f2 ~ f3 ~ f3 ~ c3@3 ~@3 f2 ab2 c3 ~ eb3 ~ g3]/2", BR: "~@5 g3@2 ~@5 g3@2 ~@4 g3@2 ~@4",
  BS: "~ g3@2 ~@5 g3@2 ~@4 g3@2 ~@5 g3@2 ~", BT: "~@4 g3@2 ~@5 g3@2 ~@4 g3@2 ~@5",
  BU: "g3@2 ~@5 g3@2 ~@5 g3@2 ~@4 g3@2 ~@2",
  BV: "[~@3 g3@2 ~@3 f3@2 g3@3 ~@4 g3@2 ~@4 g3@2 ~@5 g3@2 ~@4 g3@2 ~@5 g3 ~@4]/2",
  BW: "~@2 g2@2 ~@2 g2@2 ~@6 g2@2 ~@3 g2@2 ~@3", BX: "~@3 g2@2 ~@3 g2@2 ~@6 g2@2 ~@3 g2@2 ~",
  BY: "~@5 g2@2 ~@2 g2@2 ~@7 g2@2 ~@2 g2@2", BZ: "~@7 g2@2 ~@2 g2@2 ~@7 g2@2 ~@2",
  CA: "g2@2 ~@7 g2@2 ~@2 g2@2 ~@7 g2@2", CB: "[~@2 g2@2 ~@6 g2@2 ~@3 g2@2 ~@6 g2@2 ~@3 g2@2 ~@6 g2@2 ~@3 g2@2 ~@5]/2",
  CC: "~ g2@2 ~@5 g2@2 ~@5 g2@2 ~ g2@2 ~@4",
  CD: "[~@3 g2@2 ~@2 [c3,d3] ~ f3 ~ d3@2 g3@9 ~ g2@2 ~@4 g2@2 ~@2 d3 ~ f3 ~ d3@2 ~ g3@8]/2", // Csus2
  CE: "[~ g2@2 ~@3 g2@2 ~@3 d3 ~ f3 ~ d3 ~ g3@9 g2@2 ~@4 g2@2 ~@5 g2@2 ~@4 g2@2 ~]/2",
  CF: "[~@4 g2@2 ~@4 g3@2 ~@5 ab3@3 ~@3 ab3@3 ~@4 ab3@2 ~@4 ab3@2 ~@3 ab3@2 ab2@3 ~@2]/2",
  CG: "~ ab2@3 ~@4 ab2@2 ~@4 ab2@2 ~@2 ab2@2 ab3@2 ~@2", CH: "~@3 ab3@2 ~@4 ab3@2 ~@5 ab3@2 ~@4 ab2@2",
  CI: "~@4 ab2@3 ~@4 ab2@2 ~@4 ab2@2 ~@5", CJ: "ab3@2 ~ g3@2 ~ eb3@2 ~@5 gb3 ~@2 f3 ~@2 a3@2 ~@3",
  CK: "~ a3@2 ~@5 a3@2 ~@5 a3@2 ~@4 a3@2 ~", CL: "~@3 a3@2 ~@5 a3@2 ~@4 a3@2 ~@4 g3@2",
  CM: "~@5 g3@2 ~@4 g3@2 ~@5 g3@2 ~@4", CN: "g2@3 ~@4 g3@2 ~@5 g3@2 ~@4 g3@2 ~@2",
  CO: "~@2 g2@2 ~@5 g3@2 ~@4 g3@2 ~@4 g3@2 ~",
  CP: "[~@4 g2@2 ~@4 g3@2 ~@5 g3@2 ~@4 g3@2 ~@5 g2@3 ~@3 g3@2 ~@4 g3@2 ~@3 d3@2 f3@2 d3 ~ g3@2 ~ g2@3 ~@3 g3@2 ~@4 g3@2 ~@2]/3",
  CQ: "~ d3@2 f3@2 d3 ~ g3@2 g2@3 ~@4 g3@2 ~@4 g3@2", CR: "~@2 d3@2 ~ f3@2 d3 ~ g3@2 g2@3 ~@3 g3@2 ~@5",
  CS: "g3@2 ~@2 d3@2 f3@2 d3 ~ g3@2 ~ g2 ~ g3@2 f3@2 g3@2 ~@2 g2",
  CT: "~@3 g3@2 ~ g2 ~ g3@2 f3 ~ g3@2 g2 ~@2 g3@2 f3@2 g3@2 ~, ~ f3 ~@10",
  CU: "[~ g2 ~ f3@2 g3@2 ~ g2 ~ g3@2 f3 ~ g3@2 g2 ~ g3@2 ~ f3@2 g3@2 ~@2 g2 ~ f3@2 g3@2 g2 ~@2 g3@2 f3 ~ g3@2 g2 ~ g3@2 f3@2]/2",
  CV: "g3@2 ~@3 g2 ~ f3@2 g3@2 g2 ~ g3@2 f3 ~@2 g3@2 g3@3 ~", CW: "~@2 c3@3 ~ d3@2 ~@4 f3 ~ g3@2 ~@8",
  CX: "bb3@7 ~ a3@3 ~@3 f3@2 ~@2 f3@2 g3@3 ~", CY: "~@3 c3@3 d3@2 ~@4 f3 ~ g3@2 ~@8",
  CZ: "[bb3@7 ~@2 a3@2 ~@3 f3@3 ~@3 gb3@6 d4 ~@3 d3@2 ~@6 b3 ~ b3 ~ b3 ~ a3@8 ~@2 d3@3 ~@11 a3@2 ~@2]/3",
  DA: "~@2 d4@2 ~@2 d3@2 ~@6 b3 ~ b3 ~ b3 ~ a3@4", DB: "~@2 d3@2 ~@4 d3@2 e3 ~ f3 ~ a3@2 ~@4 g3@3 ~",
  DC: "[bb3@7 ~@2 a3@2 ~@3 f3@3 ~@3 gb3@6 d4 ~@3 d3@2 ~@6 b3 ~ b3 ~ b3@2 a3@8 ~@2 d3@3 ~@11 a3@2 ~@2]/3",
  DD: "~@2 d3@2 ~@4 g4@2 ~@2 f4@2 ~@2 db4@2 ~@2 f4 ~ c4@2",
  DE: "a3 ~ f3@2 ~@2 f3@2 f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 f4 ~ c4@2",
  DF: "a3 ~ f3@2 ~@2 f3@2 g4@3 ~ f4@4 db4@3 ~ f4 ~ c4@2", DG: "a3 ~ f3@2 ~@2 f3@2 f4 ~ c4@2 a3 ~ f3@2 ~@2 f3@2 ~@4",
  DH: "[~@8 c3@44 ~@6 c3@43 ~@7 eb3@36]/6", DI: "[~@13 eb3@35]/2", DJ: "[~@12 c3 ~@2 c3@33]/2",
  DK: "[~@14 c3 ~ c3@32]/2", DL: "[~@16 eb3 ~ ab2@30]/2",
  DM: "[~@18 ab3 ~ ab3@43 ~@4 c3 ~@2 f2@43 ~@4 f2 ~ f2@45 ~@3 eb3]/7", DN: "[~ eb3@45 ~@2]/2",
  DO: "[eb3 ~@2 eb3@49 f2@2 ~@3 f2@2 c3@6 f2@2 ~@2 f2@2 c3@6 f2@2 ~@2 f2@2 c3@6 ~ f3@2 ~@2 f3@2]/4",
  DP: "[c3@6 f2@2 ~@2 f2@2 c3@6 ~ f2@2 ~@2 f2@2 c3@6 f2@2 ~@2 f2@2 c3@6 f3@2 ~@3]/2",
  DQ: "f3 c3@3 eb2 ~ eb2 bb2@3 eb3 ~", DR: "eb3@2 bb2@6 ~ eb2@2 ~@2 eb2@2 bb2@6 eb3@2 ~",
  DS: "~ eb3@2 bb2@4 ~@3 eb2@2 ~@2 eb2@2 bb2@6 eb3@2",
  DT: "[~@2 eb3@2 bb2@6 eb2@2 ~@3 eb2@2 bb2@6 eb3@2 ~@2 eb3@2 bb2@4 ~@2 f2@2 ~@2 f2@2 c3@6 ~]/2",
  DU: "f2 ~ f2 c3@3 f2 ~ f2 c3@3", DV: "~ f3@2 ~@2 f3@2 c3@6 eb2@2 ~@2 eb2@2 bb2@5",
  DW: "[~ eb3@2 ~@3 eb3@2 bb2@6 eb2@2 ~@2 eb2@2 bb2@6 eb3@2 ~@2 eb3@2 bb2@4 ~@3 f2@2 ~@2 f2@2 c3@6 f2@2 ~@2 f2@2 c3@6 ~ f2@2 ~@2 f2@2 c3@6 f3@2 ~@2 f3@2 c3@6 f2@2 ~@3 f2@2 c3@6 f2@2 ~@2 f2@2 c3@6 f2@2 ~@2 f2@2 c3@6 ~ f3@2 ~@2 f3@2 c3@6 eb2@2 ~@2 eb2@2]/6",
  DX: "[bb2@6 ~ eb3@2 ~@2 eb3@2 bb2@6 eb2@2 ~@2 eb2@2 bb2@6 eb3@2 ~@3 eb3@2 bb2@4 ~@2 eb2@2 ~@2]/2",
  DY: "eb2@2 bb2@6 eb3@2 ~@2 eb3@2 bb2@6 ~ eb2@2 ~", DZ: "~ eb2@2 bb2@6 eb3@2 ~@2 eb3@2 bb2@4 ~@3 f2@2",
  EA: "~ f2 c3@3 f2 ~ f2 c3@3 f2", EB: "[~@3 f2@2 c3@6 f3@2 ~@2 f3@2 c3@6 f2@2 ~@2 f2@2 c3@6 ~ f2@2 ~@2 f2@2 c3@6]/2",
  EC: "f2@2 ~@2 f2@2 c3@6 ~ f3@2 ~@2 f3@2 c3@5",
  ED: "[~ eb2@2 ~@2 eb2@2 bb2@6 eb3@2 ~@3 eb3@2 bb2@6 eb2@2 ~@2 eb2@2 bb2@6 eb3@2 ~@2 eb3@2 bb2@4]/2",
  EE: "[~@3 eb2@2 ~@2 eb2@2 bb2@6 eb3@2 ~@2 eb3@2 bb2@6 ~ eb3@3 ~@4 bb3@3 ~@3 eb4@2 ~@5]/2", EF: "eb3 ~ db3!2 ~ db3!3",
  EG: "~ db3!3 ~ db3!2 ~", EH: "db3 ~ db3!2 ~ db3!3", EI: "db3 ~ ab3!2 ~ ab3!3", EJ: "~ ab3!3 ~ ab3!2 ~",
  EK: "ab3 ~ ab3!2 ~ ab3!3", EL: "ab3 ~ db3!2 ~ db3!3", EM: "db3 ~ f3!2 ~ f3!3", EN: "f3 ~ eb3!2 ~ eb3!2 ~",
  EO: "eb3 ~ ab3!2 ~@2 ab3 ~", EP: "ab3 ~ g3!2 ~@2 g3 ~", EQ: "[g3@3 ~@3 d3@22 db3@20]/2",
  ER: "[~@2 ab3@31 ~ gb3@3 ~@3 ab3@3 ~@2 bb3@44 db3@21 ~ gb3@21 d3@32 ~ e3@3]/7", ES: "[~@2 gb3@3 ~@3 ab3@43 g3@21]/3",
  ET: "[~ bb3@21 ~ eb3@32 bb2@2 ~@4 c3@3 ~@2 d3@33 db3@3 ~@2 eb3@3 ~@3 f3@32 bb2@2]/6",
  EU: "[~@4 c3@3 ~@2 d3@22 db3@22 ab3@31 ~ gb3@3 ~@3 ab3@3 ~@2]/4", EV: "[bb3@44 db3@21 ~ gb3@21 d3@32 ~]/5",
  EW: "[e3@3 ~@2 gb3@3 ~@3 ab3@43 g3@21 ~ bb3@20]/4",
  EX: "[~@2 eb3@32 bb2@2 ~@4 c3@3 ~@2 d3@33 db3@3 ~@2 eb3@3 ~@3 f3@32 db3@3 ~@3 eb3@3 ~@2 f3@32 ~ db3@3]/7",
  EY: "~@2 eb3@4 ~@2 f3@3 ~@13", EZ: "f3@3 f3@3 f3@2 f3@3 f3@3 f3@2 f3@3 f3@3 f3@2",
  FA: "[~ f3@2 f3@3 f3@3 f3@2 f3@3 f3@3 f3@3 f3@2 f3@57 ~@6 f2@6 ~@5]/4",
// … 341 more lines

More by Genesis