Strudelify
Young Hearts Run Free cover art

1976 · Young Hearts Run Free (US Internet Release)

Young Hearts Run Free

Candi Staton

KeyE♭ majorTempo118 bpm
0:00/0:00
// Young Hearts Run Free — Candi Staton
// 118 bpm, 4/4, key Eb major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 7 acoustic bass (copy of ch 2 slap bass 1)
// note: Full arrangement: all 123 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(118/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
const epiano2 = note(`<
  ~@4 A B C D E@6 F@6 G@4 H D I J D K L M N@3 O@2 P Q R S@3 T@2 U@8 V@8 W X Y Z AA AB@2 AC@4 AD@2 P L R AE AF@2 AG@2 AH
  AI AJ@2 AK@2 AL AM AN@2 AO@2 P AP AQ AR AS@2 AT@2 AU AV AW AR AX@2 AY@2 AU AZ BA BB BC@2 BD@2 H BE BF BG BH
>`.pickRestart({
  A: "~@27 [b3,db4,e4,gb4]@5", B: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@17 ~@3 [b3,db4,e4,gb4]@5",
  C: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@18 ~@2 [b3,db4,e4,gb4]@3 ~@2", // Bsus4
  D: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@18 ~@2 [b3,db4,e4,gb4]@5", // Bsus4
  E: "[~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@12 ~@8 [e3,ab3,b3]@15 ~ [e3,ab3,db4]@14 ~@2 [e3,ab3,eb4]@11 ~ [e3,ab3,db4]@18 ~@2 [e3,ab3,b3]@15 ~ [e3,ab3,db4]@14 ~@2 [e3,ab3,eb4]@10 ~@2 [e3,ab3,db4]@12 ~@8 [a3,db4,e4]@14 ~@2 [a3,db4,gb4]@14 ~@2 [a3,ab4]@4 ~, ~@187 db4@2 ~@3, ~@187 d4 ~@4]/6", // Bsus4 E Dbm Emaj7 Dbm E Dbm Emaj7 …
  F: "[~ [a3,ab4]@2 ~@4 [a3,db4,gb4]@13 ~@7 [e3,ab3,b3]@15 ~ [e3,ab3,db4]@15 ~ [e3,ab3,b3] ~@3 [ab3,b3] ~ [ab3,db4]@24 ~@2 [e3,ab3,b3]@14 ~@2 [e3,ab3,db4]@14 ~@2 [e3,ab3,eb4]@10 ~@2 [e3,ab3,db4]@19 ~ [e3,ab3,b3]@14 ~@2 [e3,ab3,db4]@13 ~@3 [e3,ab3,eb4]@5, ~ db4 ~@61 e3@25 ~@104]/6", // Amaj7 Gbm E Dbm E Abm Db5 E …
  G: "[~@7 [e3,ab3,db4]@12 ~@8 [a3,db4,e4]@14 ~@2 [a3,db4,gb4]@14 ~@2 [a3,db4,ab4]@11 ~ [a3,db4,gb4]@13 ~@7 [e3,ab3,b3]@15 ~ [e3,ab3,db4]@14 ~@2 [e3,ab3,b3] ~@3 [e3,ab3,b3]]/4", // Dbm A Gbm Amaj7 Gbm E Dbm E
  H: "~ [e3,ab3,db4]@18 ~@8 [b3,db4,e4,gb4]@4 ~", // Dbm Bsus4
  I: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@15 ~ [db4,gb4] ~ b2 ~ [b3,db4,e4,gb4]@5", // Bsus4 Gb5 Bsus4
  J: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@15 ~@3 b2 ~ [b3,db4,e4,gb4]@5", // Bsus4
  K: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@12 ~@8 [a3,db4,e4,ab4]@5", L: "~ [a3,db4,e4,gb4]@24 ~@2 [a3,db4,e4,ab4]@5",
  M: "~ [a3,db4,e4,gb4]@25 ~ [a3,db4,e4,ab4]@5", // Gbm7 Amaj7
  N: "[~ [a3,db4,e4,gb4]@5 ~ [a3,db4,e4,ab4]@3 ~ [a3,e4,gb4]@7 ~ [a3,db4,e4]@6 ~@2 [db4,e4]@5 ~ [db4,eb4]@4 ~@2 [a3,db4,e4]@2 ~@2 [a3,db4,eb4]@7 ~ [a3,db4]@5 ~@3 db4@11 ~@5 b3@13 ~@3 [e3,ab3] ~@3 [ab3,b3], ~@11 db4 ~@15 a3@10 ~@22 [e3,ab3]@29 ~@8, ~@59 b3 ~@31 b3@2 ~@3]/3", // Gbm7 Amaj7 Gbm7 A Dbm Dbsus2 A Ebm7b5 …
  O: "[~ [e3,ab3,db4]@24 ~@2 [e3,ab3,db4]@15 ~ [e3,ab3,b3]@13 ~@3 [e3,ab3,b3] ~@3 [e3,ab3,b3]]/2", // Dbm E
  P: "~ [e3,ab3,db4]@17 ~@9 [a3,db4,e4,ab4]@5", Q: "~ [a3,db4,e4,gb4]@23 ~@3 [a3,db4,e4,ab4]@5",
  R: "~ [a3,db4,e4,gb4]@20 ~@6 [a3,db4,e4,ab4]@5", // Gbm7 Amaj7
  S: "[~ [a3,db4,e4,gb4]@25 ~ [db4,gb4]@5 ~ e4@5 ~ eb4@3 ~ [a3,db4,e4]@6 ~@2 [a3,db4,eb4]@4 ~@4 [e3,ab3,db4]@15 ~ [e3,ab3,b3]@14 ~@2 [e3,ab3,b3] ~@3 [ab3,b3], ~@9 a3@5 ~@18, ~@27 e4 ~@5 db4@9 ~@54]/3", // Gbm7 Gb5 A Ebm7b5 Dbm E Abm
  T: "[~ [e3,ab3,db4]@25 ~ [e3,ab3,db4]@15 ~ [e3,ab3,b3]@14 ~@2 [e3,ab3,b3] ~@3 [e3,ab3,b3]]/2", // Dbm E
  U: "[~ [e3,ab3,db4]@20 ~@6 [e3,ab3,b3]@15 ~ [e3,ab3,db4]@10 ~@6 [e3,ab3,eb4]@10 ~@2 [e3,ab3,db4]@19 ~ [e3,ab3,b3]@14 ~@2 [e3,ab3,db4]@11 ~@5 [e3,ab3,eb4]@8 ~@4 [e3,ab3,db4]@12 ~@8 [a3,db4,e4]@15 ~ [a3,db4,gb4]@13 ~@3 [a3,db4,ab4]@10 ~@2 [a3,db4,gb4]@13 ~@7 [e3,ab3,db4]@14 ~@2 [e3,ab3,b3]@13 ~@3 [e3,ab3,b3] ~@3 [e3,ab3,b3]]/8", // Dbm E Dbm Emaj7 Dbm E Dbm Emaj7 …
  V: "[~ [e3,ab3,db4]@24 ~@2 [e3,ab3,b3]@15 ~ [e3,ab3,db4]@12 ~@4 [e3,ab3,eb4]@11 ~ [e3,ab3,db4]@18 ~@2 [e3,ab3,b3]@15 ~ [e3,ab3,db4]@10 ~@6 [e3,ab3,eb4]@10 ~@2 [e3,ab3,db4]@11 ~@9 [a3,db4,e4]@15 ~ [a3,db4,gb4]@14 ~@2 [a3,db4,ab4]@11 ~ [a3,db4,gb4]@14 ~@6 [e3,ab3,db4]@14 ~@2 [e3,ab3,b3]@14 ~@2 [e3,ab3,b3] ~@3 [e3,ab3,b3]]/8", // Dbm E Dbm Emaj7 Dbm E Dbm Emaj7 …
  W: "~ [e3,ab3,db4]@17 ~@9 [b3,db4,e4,gb4]@5", // Dbm Bsus4
  X: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@14 ~@2 [b3,db4,gb4] ~ b2 ~ [b3,db4,e4,gb4]@5", // Bsus4 Bsus2 Bsus4
  Y: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@14 ~@2 gb4 ~ b2 ~ [b3,db4,e4,gb4]@5", // Bsus4
  Z: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@14 ~@2 [b3,db4,e4,gb4] ~ b2 ~ [b3,db4,e4,gb4]@5", // Bsus4
  AA: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@14 ~@2 [b3,db4] ~ b2 ~ [b3,db4,e4,gb4]@5", // Bsus4 Bsus2 Bsus4
  AB: "[~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@12 ~@8 [a3,db4,ab4]@6 [a3,db4,gb4]@23 ~@3 [a3,db4,e4,ab4]@5, ~@27 e4@30 ~@7]/2", // Bsus4 Amaj7 Gbm Amaj7
  AC: "[~ [a3,db4,e4,gb4]@24 ~@2 [db4,e4,ab4]@5 ~ [db4,e4,gb4]@4 ~@2 [a3,db4,e4,ab4]@3 ~ [a3,db4,e4,gb4]@7 ~ [a3,db4,e4]@6 ~@2 [db4,e4]@5 ~ [db4,eb4]@4 ~@2 [a3,db4,e4]@3 ~ [a3,db4,eb4]@7 ~ db4@4 ~@4 [e3,ab3,db4]@15 ~ [e3,ab3,b3]@14 ~@2 [e3,ab3,b3] ~@3 [ab3,b3], ~@27 a3@11 ~@21 a3@11 ~@58]/4", // Gbm7 Dbm Gb7 Amaj7 Gbm7 A Dbm Dbsus2 …
  AD: "[~ [e3,ab3,db4]@25 ~ [e3,ab3,db4]@14 ~@2 [e3,ab3,b3]@14 ~@2 [e3,ab3,b3] ~@3 [e3,ab3,b3]]/2", // Dbm E
  AE: "~ [a3,db4,e4,gb4]@4 ~@2 [a3,db4,e4,ab4]@3 ~ [a3,db4,e4,gb4]@7 ~ [a3,db4,e4]@7 ~ [a3,db4,e4]@5", // Gbm7 Amaj7 Gbm7 A
  AF: "[~ [a3,db4,eb4]@4 ~@2 [a3,db4,e4]@3 ~ [a3,db4,eb4]@7 ~ [a3,db4]@4 ~@4 [e3,ab3,db4]@12 b3 ~@3 [e3,ab3,b3]@14 ~@2 [e3,ab3,b3] ~@3 [ab3,b3]]/2", // Ebm7b5 A Ebm7b5 A Dbm E Abm
  AG: "[~ [e3,ab3,db4]@25 ~ [e3,ab3,db4]@14 ~@2 [e3,ab3,b3]@13 ~@3 [e3,ab3,b3] ~@3 [ab3,b3]]/2", // Dbm E Abm
  AH: "~ [e3,ab3,db4]@19 ~@7 [b3,db4,e4,gb4]@5, ~ b3 ~@30", // Dbm Bsus4
  AI: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@18 b2 ~ [b3,db4,e4,gb4]@5", // Bsus4
  AJ: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@15 ~@3 b2 ~ [b3,db4,e4,gb4]@4 ~", // Bsus4
  AK: "[~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@16 ~@4 [db4,e4,ab4]@6 [db4,e4,gb4]@22 ~@4 [a3,db4,e4,ab4]@5, ~@27 a3@27 ~@10]/2", // Bsus4 Dbm Gb7 Amaj7
  AL: "~ [a3,db4,e4,gb4]@21 ~@5 [a3,db4,e4,ab4]@5", // Gbm7 Amaj7
  AM: "~ [a3,db4,e4,gb4]@5 ~ [a3,db4,e4,ab4]@3 ~ [a3,db4,e4,gb4]@7 ~ [a3,db4,e4]@7 ~ [a3,db4,e4]@5", // Gbm7 Amaj7 Gbm7 A
  AN: "[~ [a3,db4,eb4]@4 ~@2 [a3,db4,e4]@3 ~ [a3,db4,eb4]@6 ~@2 [a3,db4]@5 ~@3 [e3,ab3,db4]@14 ~@2 [e3,ab3,b3]@14 ~@2 [e3,ab3,b3] ~@3 [e3,ab3,b3]]/2", // Ebm7b5 A Ebm7b5 A Dbm E
  AO: "[~ [e3,ab3,db4]@24 ~@2 [e3,ab3,db4]@13 ~@3 [e3,ab3,b3]@13 ~ e3 ~ [e3,ab3,b3]@2 ~@2 [e3,ab3]]/2", // Dbm E
  AP: "~ [a3,db4,e4,gb4]@19 ~@7 [a3,db4,e4,ab4]@5", // Gbm7 Amaj7
  AQ: "~ [a3,db4,e4,gb4]@3 ~@3 [a3,db4,e4,ab4]@3 ~ [a3,db4,e4,gb4]@11 ~@5 [a3,db4,e4,ab4]@5", // Gbm7 Amaj7 Gbm7 Amaj7
  AR: "~ [a3,db4,e4,gb4]@4 ~@2 [a3,db4]@2 ~@2 [a3,db4,e4,gb4]@6 ~@2 [a3,db4,e4]@6 ~@2 [a3,db4,e4]@5, ~@7 [e4,ab4] ~@24", // Gbm7 A Gbm7 A E
  AS: "[~ [a3,db4,eb4]@4 ~@2 [a3,db4,e4]@2 ~@2 [a3,db4,eb4]@7 ~ [a3,db4]@4 ~@4 [e3,ab3,db4]@14 ~@2 [e3,ab3,b3]@8 ~@8 [e3,ab3,b3] ~@3 [e3,ab3,b3]]/2", // Ebm7b5 A Ebm7b5 A Dbm E
  AT: "[~ [e3,ab3,db4]@18 ~@2 [e3,ab3,db4] ~@5 [e3,ab3,db4]@14 ~@2 [e3,ab3,b3]@12 ~@2 e3 ~ [e3,b3] ~@4, ~@59 ab3@2 ~@3]/2", // Dbm E E5
  AU: "~ [e3,ab3,db4]@15 ~@11 [a3,db4,e4,ab4]@5", AV: "~ [a3,db4,gb4]@18 ~@8 [a3,db4,e4,ab4]@3 ~@2",
  AW: "~ [a3,db4,e4,gb4]@18 ~@8 [a3,db4,e4,ab4]@4 ~", // Gbm7 Amaj7
  AX: "[~ [a3,db4,eb4]@5 ~ [a3,db4,e4]@2 ~@2 [a3,db4,eb4]@6 ~@2 [a3,db4]@4 ~@4 [e3,ab3,db4]@13 ~@3 [e3,ab3,b3]@13 ~@3 [e3,ab3,b3] ~@3 ab3]/2", // Ebm7b5 A Ebm7b5 A Dbm E
  AY: "[~ [e3,ab3,db4]@24 ~@6 [e3,ab3,db4]@11 ~ [e3,ab3,b3]@14 ~@2 [e3,ab3,b3] ~@3 [ab3,b3]]/2", // Dbm E Abm
  AZ: "~ [a3,db4,e4,gb4]@20 ~@6 [a3,db4,e4,ab4]@3 ~@2", // Gbm7 Amaj7
  BA: "~ [a3,db4,e4,gb4]@3 ~@3 [a3,e4,ab4] ~@3 [a3,db4,e4,gb4]@7 ~@9 [a3,db4,e4,ab4]@3 ~@2, ~@7 db4@2 ~@23", // Gbm7 Amaj7 Gbm7 Amaj7
  BB: "~ [a3,db4,e4,gb4]@2 ~@4 [a3,db4,e4,ab4] ~@3 [a3,db4,e4,gb4]@6 ~@2 [a3,db4,e4]@6 ~@2 [a3,db4,e4]@5", // Gbm7 Amaj7 Gbm7 A
  BC: "[~ [a3,db4,eb4]@4 ~@2 [a3,db4,e4]@2 ~@2 [a3,db4,eb4]@6 ~@2 [a3,db4]@3 ~@5 [e3,ab3,db4]@14 ~@2 [e3,ab3,b3]@13 ~@3 [e3,ab3,b3] ~@3 [e3,ab3]]/2", // Ebm7b5 A Ebm7b5 A Dbm E
  BD: "[~ [e3,ab3,db4]@23 ~@3 [e3,ab3,db4]@14 ~@2 [e3,ab3,b3]@12 e3 ~@3 [e3,ab3,b3] ~@3 ab3, ~ b3 ~@62]/2", // Dbm E
  BE: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@17 ~ b2 ~ [b3,db4,e4,gb4]@4 ~", // Bsus4
  BF: "~ [b3,db4,e4,gb4] ~@5 [b3,db4,e4,gb4]@17 ~@3 [b3,db4,e4,gb4]@4 b2", // Bsus4
  BG: "~ [b3,e4,gb4] ~@3 b2 ~ [b3,db4,e4,gb4]@18 ~@2 [b3,db4,e4,gb4] ~ [b3,db4,e4,gb4]@2 ~, ~ db4@2 ~@29", // Bsus4
  BH: "~@7 [b3,db4,e4,gb4] ~ [b3,db4,e4,gb4]@3 ~@7 [b3,db4,e4,gb4]@5 ~@8", // Bsus4
})).s("gm_epiano2").gain(0.42)

// bass · slap bass 1
const bass = note(`<
  ~@4 A B C D E@2 F G H I J G K L M G N I O L P Q R S R T U V I W G X Y Z AA U AB AC G AD AE AF@2 F G H I J G K L M G N
  I O L P Q R S R T U V I W G X Y Z AA U AB AC G AD AE AG Q S R T U V I W G X Y Z AA U AB AC G AD AE AH AI V I W G X Y Z
  AA U AB AC G AD AE AJ AK AL AM AN
>`.pickRestart({
  A: "~@27 b1@5", B: "~ b1@2 ~@2 ab1 ~ b1@4 ~@2 b1@2 ab1@4 a1@4 bb1 ~ ab1@2 b1@4 ~",
  C: "~ b1@2 ~@2 ab1 ~ b1 ~ b1@2 ~@2 b1 ~ ab1@4 a1@3 ~ bb1 ~ ab1@2 b1@4 ~",
  D: "~ b1@2 ~@2 ab1@2 b1 ~ b1 ~@3 b1 ~ ab1@4 a1@3 ~ bb1@2 ab1@2 b1@4 ~",
  E: "[~ b1@2 ~@2 ab1 ~ b1 ~@3 b1@2 db2@6 e2@2 gb2@6 e1@9 ~ e1@2 b1@4 db2@7 ~ b1@4 db2@2 b1@2 e1@5]/2",
  F: "~ e1@2 ~@2 e1 ~ b1@4 db2 ~@3 db2@4 b1@4 db2@2 b1@2 e1@5", G: "~ e1@2 ~@2 e1 ~ b1@4 db2@8 b1@4 db2@2 b1@2 e1@4 ~",
  H: "~ e1@2 ~@2 e1 ~ b1@4 db2 ~@3 db2@3 ~ b1@4 bb1@4 a1@5",
  I: "~ a1@2 ~@2 e1@2 a1@4 gb1@2 ~@2 gb1@4 e1@3 ~ gb1@2 e1@2 a1@4 ~",
  J: "~ a1@2 ~@2 e1 ~ a1@4 gb1 ~@3 gb1@3 ~ e1@3 ~ gb1@3 ~ e1@4 ~",
  K: "~ e1@2 ~@2 e1 ~ b1@4 db2 ~@3 db2@4 b1@4 db2@2 b1@2 e1@4 ~", L: "~ e1 ~@3 e1 ~ b1@4 db2@8 b1@4 db2@2 b1@2 e1@4 ~",
  M: "~ e1@2 ~@2 e1 ~ b1@3 ~ db2 ~@3 db2@4 b1@4 db2@4 e1@4 ~",
  N: "~ e1@2 ~@2 e1 ~ b1@4 db2 ~@3 db2@4 b1@3 ~ bb1@4 a1@4 ~",
  O: "~ a1@2 ~@2 e1@2 a1@3 ~ gb1@2 ~@2 gb1@3 ~ e1@3 ~ gb1@4 e1@4 ~",
  P: "~ e1@2 ~@2 e1@2 b1@4 db2@4 ab1@4 a1@4 bb1@2 ab1@2 b1@5",
  Q: "~ b1@2 ~@2 ab1@2 b1 ~ b1@2 ~@2 b1 ~ ab1@4 a1@4 bb1 ~ ab1@2 b1@5",
  R: "~ b1@2 ~@2 ab1@2 b1 ~ b1 ~@3 b1 ~ ab1@4 a1@3 ~ bb1 ~ ab1@2 b1@4 ~",
  S: "~ b1 ~@3 ab1@2 b1 ~ b1 ~@3 b1 ~ ab1@4 a1@3 ~ bb1 ~ ab1@2 b1@4 ~",
  T: "~ b1@2 ~@2 ab1@2 b1@4 ab1@2 b1@6 ~@2 bb1@6 a1@5",
  U: "~ a1@2 ~@2 e1@2 a1@4 gb1@2 ~@2 gb1@4 e1@3 ~ gb1@2 e1 ~ a1@4 ~",
  V: "~ a1@2 ~@2 e1@2 a1@4 gb1@2 ~@2 gb1@4 e1@4 gb1@2 e1@2 a1@4 ~",
  W: "~ a1@2 ~@2 e1@2 a1@4 gb1@2 ~@2 gb1@4 e1@3 ~ gb1@4 e1@5",
  X: "~ e1 ~@3 e1 ~ b1@3 ~ db2 ~@3 db2@4 b1@3 ~ db2@2 b1 ~ e1@5",
  Y: "~ e1@2 ~@2 e1 ~ b1@3 ~ db2@8 b1@4 db2@2 b1@2 e1@3 ~@2",
  Z: "~ e1@2 ~@2 e1 ~ b1@3 ~ db2 ~@3 db2@4 b1@4 bb1@4 a1@4 ~",
  AA: "~ a1@2 ~@2 e1 ~ a1@4 gb1 ~@3 gb1@4 e1@3 ~ gb1@2 e1@2 a1@5",
  AB: "~ a1@2 ~@2 e1 ~ a1@4 gb1@2 ~@2 gb1@4 e1@3 ~ gb1@2 e1 ~ a1@4 ~",
  AC: "~ a1@2 ~@2 e1 ~ a1@4 gb1@2 ~@2 gb1@4 e1@3 ~ gb1@4 e1@4 ~",
  AD: "~ e1@2 ~@2 e1@2 b1@4 db2 ~@3 db2@4 b1@3 ~ db2@2 b1@2 e1@4 ~",
  AE: "~ e1@2 ~@2 e1 ~ b1@4 db2@8 b1@3 ~ db2@2 b1@2 e1@3 ~@2",
  AF: "[~ e1 ~@3 e1 ~ b1@4 db2 ~@3 db2@4 b1@4 db2@2 ~@2 e1@9 ~ e1@2 b1@4 db2@7 ~ b1@4 db2@2 b1@2 e1@5]/2",
  AG: "~ e1 ~@3 e1 ~ b1@4 db2 ~@3 db2@4 b1@4 db2@2 ~@2 b1@5",
  AH: "~ e1 ~@3 e1 ~ b1@4 db2 ~@3 db2@4 b1@4 db2@2 ~@2 a1@5",
  AI: "~@5 e1@2 a1@4 gb1@2 ~@2 gb1@4 e1@3 ~ gb1@2 e1 ~ a1@4 ~",
  AJ: "~ e1 ~@3 e1 ~ b1@4 db2 ~@3 db2@4 b1@4 db2@2 ~@2 b1@4 ~",
  AK: "~ b1@2 ~@4 b1@5 ~ b1@2 ab1@4 a1@3 ~ bb1 ~ ab1@2 b1@4 ~",
  AL: "~ b1@2 ~@2 ab1 ~ b1@5 ~ b1@2 ab1@4 a1@3 ~ bb1 ~ ab1@2 b1@5",
  AM: "~ b1@2 ~@2 ab1 ~ b1@5 ~ b1@2 ab1@4 a1@3 ~ bb1@4 b1 ~ b1@3", AN: "~@7 b1 ~ b1@2 ~@8 b1@7 ~@6",
})).s("gm_slap_bass_1").gain(0.5)

// chords · brass section
const brass_section = note(`<
  ~@4 A@5 ~@5 B C D ~@5 B E F ~ G ~ H ~@5 I@2 J K ~@4 J K J K ~@5 L@2 K ~@6 M@2 ~ G ~ N ~@5 O@2 P@2 ~@4 O@2 Q@2 ~@8 O@2
  R@2 ~@4 S@2 T@2 ~@4 U@2 O@2 ~@4 V@2 W@5 X
>`.pickRestart({
  A: "[~@15 b4@2 ~@2 b4@2 a4@2 ab4@2 ~@2 ab4@2 ~@2 a4@2 gb4@43 ~@3 b4@2 ~@2 b4@2 a4@2 ab4@2 ~@2 ab4@2 ~@2 a4@2 gb4@57 ~@6]/5",
  B: "~@27 [e3,b3]@5", C: "~ [e3,b3] ~@5 [e3,db4]@18 ~@2 [e3,b3]@5", D: "~ [e3,b3] ~@5 [e3,db4]@19 ~@6",
  E: "~ [e3,b3] ~@5 [e3,db4]@18 ~@2 [e3,b3]@4 ~", F: "~ [e3,b3] ~@5 [e3,db4]@12 ~@13",
  G: "~@15 ab4 ~@3 gb4@2 e4@2 db4@2 ~@7", H: "~@15 ab4 ~@3 gb4@2 e4@2 db4 ~@8",
  I: "[~@27 [e3,ab3,b3] ~@3 b3 ~ db4@25 ~@6, ~@31 e3@27 ~@6]/2", J: "~@27 [e3,b3] ~@3 [e3,b3]", K: "~ [e3,db4]@26 ~@5",
  L: "[~@27 [e3,db4]@14 ~@2 [e3,b3]@14 ~@2 [e3,b3] ~@3 [e3,b3]]/2", // Dbm E5
  M: "[~@27 b3@2 ~@2 b3 ~ db4@25 ~@6, ~@27 e3 ~@3 e3@27 ~@6]/2", N: "~@15 ab4@2 ~@2 gb4@2 e4@2 db4@2 ~@7",
  O: "[~@27 b3@2 ~@2 b3 ~ db4@26 ~@5, ~@27 e3 ~@3 e3@28 ~@5]/2",
  P: "[~@27 [e3,b3] ~@3 b3@2 db4@26 ~@5, ~@31 e3@27 ~@6]/2", // E5
  Q: "[~@27 [e3,b3]@2 ~@2 b3 ~ db4@16 ~@2 [b3,db4] ~ [e4,gb4] ~ [ab4,b4] ~ [db5,e5,gb5] ~ [ab5,b5,db6,e6] ~ gb6 ~@2, ~@31 e3@18 ~@15]/2", // E5 Bsus2 Esus2 Abm Gb7 Dbm7
  R: "[~@27 [e3,b3] ~@3 b3 ~ db4@26 ~@5, ~@31 e3@28 ~@5]/2", // E5
  S: "[~@27 b3@2 ~@2 b3@2 db4@28 ~@3, ~@27 e3 ~@3 e3@28 ~@5]/2",
  T: "[~@27 b4@2 ~@2 b4@2 db5@26 ~@5, ~@27 e4 ~@3 e4@27 ~@6]/2",
  U: "[~@27 [e3,b3] ~@3 b3@2 db4@26 ~@5, ~@31 e3@28 ~@5]/2", // E5
  V: "[~@27 b3@2 ~@2 b3@2 db4@26 ~@5, ~@27 e3 ~@3 e3@27 ~@6]/2",
  W: "[~@27 [e4,b4]@2 ~@2 b4 ~ db5@13 ~ b4@2 ~@2 b4@2 a4 ~ ab4@2 ~@2 ab4@2 ~@2 a4@2 gb4@45 ~ b4@2 ~@2 b4@2 a4@2 ab4@2 ~@2 ab4@2 ~@2 a4@2 gb4@23 ~@3 [gb4,b4,e5] ~ [gb4,b4,e5]@3, ~@31 e4@15 ~@114]/5", // E5 Esus2
  X: "~@7 [gb4,b4,e5] ~ [gb4,b4,e5]@2 ~@9 [gb4,b4,e5]@4 ~ b4 ab4 [e4,gb4] [b3,db4] ab3 ~@2, ~@12 db5 ~@3", // Esus2 Bsus2
})).s("gm_brass_section").gain(0.71)

// other · alto sax
const alto_sax = note("<~@82 A B@2 C@3 ~@35>".pickRestart({
  A: "~@23 b4@2 ~@2 b4@5, ~@25 db5@4 ~@3",
  B: "[~ b4@17 ~ ab4@4 b4@2 ~@2 ab4@4 gb4@26 ~@7, ~@19 gb4@2 ~@6 gb4@2 ~@35]/2",
  C: "[~@7 gb5@23 ~ db5@2 b4@2 db5@3 ~ b4@2 ab4@2 b4@2 ~@2 ab4@2 gb4@2 ab4@4 gb4@4 e4@21 ~@16]/3",
})).s("gm_alto_sax").gain(0.78)

// chords · brass section
const brass_section_2 = note(`<
  ~@4 A@5 ~@5 B C D ~@5 B E F ~ G ~ H ~@5 I@2 J K ~@4 J K J K ~@5 L@2 K ~@6 M@2 ~ G ~ N ~@5 O@2 P@2 ~@4 O@2 Q@2 ~@8 O@2
  R@2 ~@4 S@2 T@2 ~@4 U@2 O@2 ~@4 V@2 W@5 X
>`.pickRestart({
  A: "[~@15 b5@2 ~@2 b5@2 a5@2 ab5@2 ~@2 ab5@2 ~@2 a5@2 gb5@43 ~@3 b5@2 ~@2 b5@2 a5@2 ab5@2 ~@2 ab5@2 ~@2 a5@2 gb5@57 ~@6]/5",
  B: "~@27 [e4,b4]@5", C: "~ [e4,b4] ~@5 [e4,db5]@18 ~@2 [e4,b4]@5", D: "~ [e4,b4] ~@5 [e4,db5]@19 ~@6",
  E: "~ [e4,b4] ~@5 [e4,db5]@18 ~@2 [e4,b4]@4 ~", F: "~ [e4,b4] ~@5 [e4,db5]@12 ~@13",
  G: "~@15 ab5 ~@3 gb5@2 e5@2 db5@2 ~@7", H: "~@15 ab5 ~@3 gb5@2 e5@2 db5 ~@8",
  I: "[~@27 [e4,ab4,b4] ~@3 b4 ~ db5@25 ~@6, ~@31 e4@27 ~@6]/2", J: "~@27 [e4,b4] ~@3 [e4,b4]", K: "~ [e4,db5]@26 ~@5",
  L: "[~@27 [e4,db5]@14 ~@2 [e4,b4]@14 ~@2 [e4,b4] ~@3 [e4,b4]]/2", // Dbm E5
  M: "[~@27 b4@2 ~@2 b4 ~ db5@25 ~@6, ~@27 e4 ~@3 e4@27 ~@6]/2", N: "~@15 ab5@2 ~@2 gb5@2 e5@2 db5@2 ~@7",
  O: "[~@27 b4@2 ~@2 b4 ~ db5@26 ~@5, ~@27 e4 ~@3 e4@28 ~@5]/2",
  P: "[~@27 [e4,b4] ~@3 b4@2 db5@26 ~@5, ~@31 e4@27 ~@6]/2", // E5
  Q: "[~@27 [e4,b4]@2 ~@2 b4 ~ db5@16 ~@2 [b4,db5] ~ [e5,gb5] ~ [ab5,b5] ~ [db6,e6,gb6] ~ [ab6,b6,db7,e7] ~ gb7 ~@2, ~@31 e4@18 ~@15]/2", // E5 Bsus2 Esus2 Abm Gb7 Dbm7
  R: "[~@27 [e4,b4] ~@3 b4 ~ db5@26 ~@5, ~@31 e4@28 ~@5]/2", // E5
  S: "[~@27 b4@2 ~@2 b4@2 db5@28 ~@3, ~@27 e4 ~@3 e4@28 ~@5]/2",
  T: "[~@27 b5@2 ~@2 b5@2 db6@26 ~@5, ~@27 e5 ~@3 e5@27 ~@6]/2",
  U: "[~@27 [e4,b4] ~@3 b4@2 db5@26 ~@5, ~@31 e4@28 ~@5]/2", // E5
  V: "[~@27 b4@2 ~@2 b4@2 db5@26 ~@5, ~@27 e4 ~@3 e4@27 ~@6]/2",
  W: "[~@27 [e5,b5]@2 ~@2 b5 ~ db6@13 ~ b5@2 ~@2 b5@2 a5 ~ ab5@2 ~@2 ab5@2 ~@2 a5@2 gb5@45 ~ b5@2 ~@2 b5@2 a5@2 ab5@2 ~@2 ab5@2 ~@2 a5@2 gb5@23 ~@3 [gb5,b5,e6] ~ [gb5,b5,e6]@3, ~@31 e5@15 ~@114]/5", // E5 Esus2
  X: "~@7 [gb5,b5,e6] ~ [gb5,b5,e6]@2 ~@9 [gb5,b5,e6]@4 ~ b5 ab5 [e5,gb5] [b4,db5] ab4 ~@2, ~@12 db6 ~@3", // Esus2 Bsus2
})).s("gm_brass_section").gain(0.71)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~@8 A B C B D E F B G B@2 H B@4 I ~@4 A B C B D E F B G B@2 H B@4 J B C B D E F B G B@2 H B@4 I ~@4 A B C B D E F B G
  B@2 H B@4 I ~@3 A B C B D E F B G B@2 H B@4 J B C B D E F B G B@2 H B@4 I ~@4
>`.pickRestart({
  A: "~@31 e3", B: "~@5 e3 ~@5 e3 ~@5 e3 ~@5 db3 ~ b2@2 ~@4 e3", C: "~@5 e3 ~@5 e3 ~@5 e3 ~@5 b2 ~ db3 ~@5 e3",
  D: "~@5 e3 ~@5 e3 ~@5 e3 ~@5 db3@2 b2@2 ~@4 e3", E: "~@5 e3 ~@5 e3 ~@5 e3 ~@5 db3@2 b2 ~@5 e3",
  F: "~@5 e3 ~@5 e3 ~@5 e3 ~@5 db3 ~ b2 ~@5 e3", G: "~@5 e3 ~@5 b2@2 db3 ~ e3 ~@3 gb3@4 e3 ~ db3 ~@5 e3",
  H: "~@5 e3 ~@5 e3 ~@5 e3 ~@5 b2@2 db3 ~@5 e3", I: "~@5 e3 ~@5 b2@2 db3@2 [e3,gb3] ~@3 gb3@4 e3@2 ~@7",
  J: "~@5 e3 ~@5 b2@2 db3@2 [e3,gb3] ~@3 gb3@4 e3@2 ~@6 e3", // Esus2
})).s("gm_electric_guitar_muted").gain(0.4)

// drums · kick
const kick = s("bd").struct(`<
  A B@9 C B@3 C B@3 C B@3 C B@4 C B D B@17 C B@3 C B@3 C B@3 C B@4 C B D B@54 E F
>`.pickRestart({
  A: "~@27 x ~@4", B: "~@3 x ~@7 x ~@7 x ~@7 x ~@4", C: "~@3 x ~@7 x ~@5 x ~ x ~@7 x ~@4",
  D: "~@7 x ~@5 x ~@5 x ~@7 x ~@4", E: "~@3 x ~@7 x ~@7 x ~@12", F: "~@3 x ~@11 x ~@3 x ~@12",
})).gain(0.71)

// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
  ~@3 A@2 ~@2 A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@3 B ~ B ~ B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~
  A@3 B ~ B ~ B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 ~@2 A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2
  ~@2 A C
>`.pickRestart({
  A: "~@9 x ~@22", B: "~@25 x ~@6", C: "~ x ~@11 x ~@18",
// … 83 more lines