Strudelify
What Would the World Be Without Music   Let the Music Take Your Mind Medley cover art

What Would the World Be Without Music Let the Music Take Your Mind Medley

Kool & The Gang

KeyD♭ majorTempo115 bpm
0:00/0:00
// What Would the World Be Without Music   Let the Music Take Your Mind Medley — Kool & The Gang
// 115 bpm, 4/4, key C# 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: Full arrangement: all 198 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(115/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, A@4 for four bars: edit a riff to change every repeat.

// chords · epiano1 · "#FM+SA EP"
const epiano1 = note(`<
  ~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B C D E D E D E D F G F G F G F G H I
  ~@24 J@2 K L J@2 K L ~@33 M N O P@4 Q@2 R S T U V N W@6 X Y Z@5 AA@7 AB AC@2 AD@3 AE AF@2 AG@2 AH@2 AI AJ AK@4 AL AM@2
  AN@4 AI AO@4 AP@2 AQ@2 AR@4
>`.pickRestart({
  A: "[ab3,b3,db4,e4] ~@2 [ab3,db4,e4]@2 ~ [ab3,b3,db4,e4] ~@2 [ab3,db4]@2 ~ [ab3,b3,db4,e4] ~@2 [b3,db4]@2 ~ [ab3,b3,db4,e4] ~@2 [ab3,b3,e4] ~@2, ~@3 b3 ~@5 [b3,e4] ~@5 [ab3,e4] ~@5 db4@2 ~", // Dbm7 Dbm Dbm7 Db5 Dbm7 Bsus2 Dbm7 E …
  B: "[ab3,bb3,db4,e4] ~@2 [ab3,bb3,db4,e4] ~@2 [ab3,bb3,e4] ~@2 [ab3,bb3,db4,e4] ~@2 [ab3,db4]@2 ~ [ab3,db4]@2 ~ [ab3,db4]@2 ~ [ab3,bb3,db4]@2 ~, ~@6 db4@2 ~@4 [bb3,e4] ~@2 [bb3,e4] ~@2 [bb3,e4] ~@2 e4 ~@2", // Bbm7b5 Db5 Bbm7 Bbdim
  C: "[g3,b3,c4,e4]@3 ~ [g3,b3,c4,e4] ~@4 [gb3,a3,b3,d4] ~@2 [g3,b3,c4,e4]@4 [g3,b3,c4,e4]@5 ~@3", // Cmaj7 Bm7 Cmaj7
  D: "[a3,b3,d4,gb4] ~@2 [a3,b3,d4,gb4] ~@2 [a3,b3,d4,gb4] ~@2 [b3,d4,e4,g4]@13 ~@2", // Bm7 Em7
  E: "[g3,b3,c4,e4]@4 [g3,b3,c4,e4] ~@4 [gb3,a3,b3,d4] ~@2 [g3,b3,c4,e4]@4 [g3,b3,c4,e4]@5 ~@3", // Cmaj7 Bm7 Cmaj7
  F: "[bb3,d4,eb4,g4]@4 [bb3,d4,eb4,g4] ~@4 [a3,c4,d4,f4] ~@2 [bb3,d4,eb4,g4]@4 [bb3,d4,eb4,g4]@5 ~@3", // Ebmaj7 Dm7 Ebmaj7
  G: "[c4,d4,f4,a4] ~@2 [c4,d4,f4,a4] ~@2 [c4,d4,f4,a4] ~@2 [d4,f4,g4,bb4]@13 ~@2", // Dm7 Gm7
  H: "[bb3,d4,eb4,g4]@3 [gb3,a3,b3,db4] ~@2 [gb3,a3,b3,db4] ~@2 [gb3,a3,b3,db4] ~@2 [gb3,a3,b3,db4] ~@2 [gb3,a3,b3,db4] ~@2 [gb3,a3,b3,db4] ~@2 [gb3,a3,b3,db4] ~@2, [gb3,a3,b3,db4] ~@23", // Ebmaj7 Gbm
  I: "[gb3,a3,b3,db4] ~ [gb3,a3,b3,db4] ~ [gb3,a3,b3,db4] ~ [gb3,a3,b3,db4] ~ [gb3,a3,b3,db4] ~ [gb3,a3,b3,db4] ~ [gb3,a3,b3,db4]@3 ~@9", // Gbm
  J: "[[a3,b3,d4,gb4]@11 ~]/2", K: "[g3,b3,d4,gb4]@11 ~", L: "[gb3,a3,db4,e4]@19 ~@5", M: "~@21 [f3,ab3,db4]@2 ~",
  N: "[f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@4 [f3,ab3,db4]@3", // Db Gb Db Gb Db
  O: "~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~", // Ab Db
  P: "[[gb3,bb3,db4]@2 [gb3,bb3,db4]@3 ~@3 [f3,ab3,db4]@4 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@3 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 [gb3,bb3,db4]@3 ~@2]/4", // Gb Db Gb Db Ab Db Gb Db …
  Q: "[~ [f3,ab3,db4]@4 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 [f3,ab3,db4]@2 ~ [gb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@3, ~@37 bb3 ~@10]/2", // Db Gb Db Ab Db Gb5 Gb Db
  R: "~@3 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13", // Gb Db Ab
  S: "~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,db4]@2 [gb3,bb3,db4]@3 ~@3 [f3,ab3,db4]@4 ~@2, ~@10 bb3 ~@13", // Db Gb5 Gb Db
  T: "[gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@3", // Gb Db Ab
  U: "~ [f3,ab3,db4]@2 [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~", // Db Gb Db Gb
  V: "[f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~", // Db Ab Db
  W: "[~ [ab3,c4,eb4]@13 ~ [gb3,bb3,db4]@19 ~@3 [ab3,db4,f4]@7 ~ [ab3,c4,eb4]@11 ~@3 [gb3,bb3,db4]@19 ~@4 [ab3,db4,f4]@7 ~ [ab3,c4,eb4]@11 ~@3 [gb3,bb3,db4]@19 ~@3 [ab3,db4,f4]@7 ~ [ab3,c4,eb4]@10]/6", // Ab Gb Db Ab Gb Db Ab Gb …
  X: "~@4 [gb3,bb3,db4]@19 ~", Y: "~@3 [ab3,db4,f4]@7 ~ [ab3,c4,eb4]@11 ~@2",
  Z: "[~ [gb3,bb3,db4]@19 ~@3 [ab3,db4,f4]@7 ~ [ab3,c4,eb4]@11 ~@3 [gb3,bb3,db4]@19 ~@4 [ab3,db4,f4]@7 ~ [ab3,c4,eb4]@11 ~@3 [gb3,bb3,db4]@19 ~@3 [ab3,db4,f4]@7 ~]/5", // Gb Db Ab Gb Db Ab Gb Db
  AA: "[~ [ab3,c4,eb4]@11 ~@2 [gb3,bb3,db4]@19 ~@4 [ab3,db4,f4]@7 ~ [ab3,c4,eb4]@11 ~@17 bb3@4 c4@3 ~@15 g3@4 bb3@4 [g3,bb3,eb4]@19 ~@4 [a3,c4,f4]@21 ~ [bb3,db4,f4]@19 ~, ~@59 [ab3,eb4]@21 ~ [ab3,c4,eb4]@16 ~@71, ~@59 c4@17 ~@92]/7", // Ab Gb Db Ab Eb F Bbm Ab5 …
  AB: "~@2 [bb3,eb4,ab4]@3 ~@3 [bb3,eb4,ab4]@3 ~@2 [bb3,eb4,ab4] ~@2 [bb3,eb4,ab4] ~@2 [bb3,eb4,ab4]@3 ~@2", // Ebsus4
  AC: "[~@3 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4]/2", // Db Gb Db Gb Db Ab
  AD: "[[f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@3 [f3,ab3,db4]@4 ~ [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~@2 [ab3,c4,eb4]@13 ~@3 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~, ~@50 bb3 ~@21]/3", // Db Gb Db Gb Db Ab Db Gb5 …
  AE: "[ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 [gb3,db4]@2, ~@22 bb3 ~", // Ab Db Gb5
  AF: "[~ [gb3,bb3,db4]@3 ~@3 [f3,ab3,db4]@4 ~ [gb3,bb3,db4]@4 [f3,ab3,db4]@3 ~@2 [ab3,c4,eb4]@13 ~@3 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@2]/2", // Gb Db Gb Db Ab Db Gb
  AG: "[~@3 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@3]/2", // Db Gb Db Ab Db Gb
  AH: "[[f3,ab3,db4]@4 ~ [gb3,bb3,db4]@4 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@3 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4]/2", // Db Gb Db Ab Db Gb Db
  AI: "~@2 [gb3,bb3,db4]@4 [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~", // Gb Db Ab
  AJ: "~@3 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 [gb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@3 [f3,ab3,db4]@4 ~ [gb3,bb3,db4]@2, ~@8 bb3 ~@15", // Db Gb5 Gb Db Gb
  AK: "[~@3 [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@3 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@3 [f3,ab3,db4]@4 ~ [gb3,bb3,db4]@4 ~ [f3,ab3,db4]@3 ~]/4", // Db Ab Db Gb Db Gb Db Ab …
  AL: "[ab3,c4,eb4]@13 ~@3 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2", // Ab Db Gb
  AM: "[~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@4 [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,db4]@2 [gb3,bb3,db4]@3, ~@43 bb3 ~@4]/2", // Gb Db Gb Db Ab Db Gb5 Gb
  AN: "[~@3 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@3 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 [gb3,bb3,db4]@3 ~@3 [f3,ab3,db4]@4]/4", // Db Gb Db Ab Db Gb Db Gb …
  AO: "[~@2 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@4 [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,db4]@2 [gb3,bb3,db4]@3 ~@3 [f3,ab3,db4]@4 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 [f3,ab3,db4]@2, ~@53 bb3 ~@42]/4", // Db Gb Db Gb Db Ab Db Gb5 …
  AP: "[~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2]/2", // Gb Db Gb Db Ab Db Gb
  AQ: "[~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@4 [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3]/2", // Gb Db Gb Db Ab Db Gb
  AR: "[~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@4 [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@4 [f3,ab3,db4]@2 ~ [f3,ab3,db4]@2 ~ [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@3 ~@2 [f3,ab3,db4]@4 ~@2 [gb3,bb3,db4]@3 ~ [f3,ab3,db4]@3 ~ [ab3,c4,eb4]@13 ~@22]/4", // Db Gb Db Ab Db Gb Db Gb …
})).s("gm_epiano1").gain(0.3)

// bass · electric bass finger · "Fing.Bass"
const bass = note(`<
  A ~ B@2 C D ~@2 E F G F G F G F G F G F G F G F G F G F G F G F G F G F G F G F G H I H J H I H J K L K M K L K M N O
  ~@31 P Q R S T U V W X Y Z AA@2 AB AC AD AE AF AG@2 AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU@2 AV AW AX@4 AY@2 AZ BA
  BB BC BD AV BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ@2 CA@3 CB CC@2 CD@2 CE@2 CF CG@2 CH@3 CI
  CJ@2 CK@3 CL CF CM@2 CN@2 CO@2 CP@2 CQ@3 ~
>`.pickRestart({
  A: "~@13 c2 [db2,d2,eb2,e2,f2] gb2@2 ~ gb2 e2 [b1,c2,db2,d2,eb2] [g1,ab1,a1,bb1] gb1 ~",
  B: "[~@9 db4@14 ~, ~@18 b3 ~@29]/2", C: "~@19 [f1,gb1,g1] [ab1,a1,bb1,b1,c2] db2@2 ~",
  D: "db2@2 [b1,c2] [gb1,g1,ab1,a1,bb1] [d1,eb1,e1,f1] db1 ~@18", // Cmaj7
  E: "~@18 db3 [bb2,b2,c3] [ab2,a2] [f2,gb2,g2] [d2,eb2,e2] ~", F: "db2@3 ~@3 e2@3 ~@3 gb2@3 ~ ab2@6 ~@2",
  G: "db2 ~@2 db2 ~@2 e2 ~@2 e2 gb2@2 ~@12", H: "a1@2 ~@2 a1@2 ~ a1 ~ g1@2 ~ a1@2 ~@7 a1 bb1@2",
  I: "b1@2 ~@2 b1@2 ~@3 e2@8 ~ b1@3 ~@3", J: "b1@3 ~ b1@7 ~ e2 ~@2 e2 ~@2 b1 ~@2 b1 ~@2",
  K: "c2@2 ~@2 c2 ~@2 c2 ~ bb1@2 ~ c2@2 ~@8 db2 ~, ~@21 c2@2 ~", L: "d2@2 ~@2 d2 ~@4 g2@9 d2@3 ~@3",
  M: "d2@2 ~@2 d2@7 ~ g2 ~@2 g2@2 ~ d2 ~@2 d2 ~@2", N: "b1 ~@2 b1 ~@2 b1 ~@2 b1 ~@2 b1 ~@2 b1 ~@2 b1 ~@2 b1 ~@2",
  O: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1@2 ~@10", P: "~@9 a1 ~@2 a1 ~@2 a1 ~@2 b1 ~@2 a1 ~@2",
  Q: "f2@5 ~@7 c2@4 ~@2 db2@4 ~@2", R: "~ eb2@6 ~@6 bb1@3 ~@3 c2@3 ~@2", S: "~ f1@7 ~@5 c2@3 ~@4 db2@3 ~",
  T: "~ eb2@3 ~@8", U: "~@2 f2@5 ~@8 c2@4 ~@2 db2@3", V: "~@3 eb2@6 ~@6 bb1@3 ~@4 c2@2",
  W: "~@4 f1@7 ~@5 c2@3 ~@3 db2@2", X: "~@2 eb2@3 ~@7", Y: "~@5 f1@4 ~@8 c2@3 ~@2 c2@2", Z: "~@3 bb1@3 ~@12 bb1@4 ~@2",
  AA: "[c2@4 ~@2 f2@4 ~@9 c2@3 ~ c2@3 ~@2 eb2@3 ~@12 eb2@3 ~@2]/2", AB: "~ eb2@3 ~@4 f1@4 ~@8 c2@3 ~",
  AC: "~ c2@2 ~@2 bb1@3 ~@13 bb1@3", AD: "~@3 c2@4 ~@2 f2@4 ~@8 c2@3", AE: "~@2 c2@3 ~ eb2@3 ~@13 eb2@2",
  AF: "~@4 eb2@3 ~@3 f1@4 ~@8 c2@2", AG: "[~@3 c2@2 ~@3 bb1@3 ~@12 bb1@4 ~@2 c2@4 ~@2 f2@4 ~@9]/2",
  AH: "c2@3 ~ c2@3 ~@2 eb2@3 ~@12", AI: "eb2@3 ~@4 eb2@3 ~@3 f1@4 ~@7", AJ: "~ c2@3 ~@2 c2@2 ~@2 bb1@3 ~@11",
  AK: "~ bb1@2 ~ c2@2 ~ f2@2 ~@3", AL: "~@2 c2@3 ~@2 c2@3 ~@2 eb2@3 ~@9", AM: "~@3 eb2@3 ~@3 eb2@3 ~@3 f1@4 ~@5",
  AN: "~@4 c2@3 ~ c2@2 ~@3 bb1@3 ~@8", AO: "~@4 bb1@4 ~@2 c2@4 ~@3 f2@4 ~@3", AP: "~@5 c2@3 ~@2 c2@3 ~ eb2@3 ~@7",
  AQ: "~@6 eb2@3 ~@3 eb2@3 ~@3 f1@4 ~@2", AR: "~@6 c2@3 ~@2 c2@2 ~@2 bb1@3 ~@6", AS: "~@7 bb1@4 ~@2 c2@4 ~@2 f2@4 ~",
  AT: "~@7 c2@3 ~@2 c2@3 ~@2 eb2@3 ~@4", AU: "[~@8 eb2@3 ~@3 eb2@3 ~@3 f1@6 ~@19 f1 ~@2]/2",
  AV: "f1@2 ~ gb1 ~@2 gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~", AW: "~ ab1@13 ~@4 f1 ~@2 f1@2 ~",
  AX: "[gb1 ~ gb1@3 ~@3 f1@2 ~@3 gb1@4 ~ f1@2 ~@2 ab1@13 ~@3 f1 ~@2 f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@12 ~@5 f1 ~@2 f1@2 ~ gb1@2 gb1@3 ~@2]/4",
  AY: "[~ f1@2 ~@3 gb1@4 ~ f1@2 ~@2 ab1@13 ~@4 f1 ~ f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~]/2",
  AZ: "~@3 gb1@4 f1@2 ~@2 ab1@12 ~", BA: "~@4 f1 ~@2 f1@2 ~ gb1@2 gb1@3 ~@3 f1@2 ~@4", BB: "gb1@4 f1@2 ~@2 ab1@13 ~@3",
  BC: "~ f1 ~ f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@4 gb1@4", BD: "f1@2 ~@2 ab1@12 ~@5 f1 ~@2",
  BE: "~ ab1@12 ~@2 ab1 ~@2 ab1 ~ ab1 ~@2 ab1", BF: "~@2 ab1@3 ~@3 ab1@3 ~@2 ab1 ~@2 ab1 ~@2 ab1 ~ ab1 ~ ab1",
  BG: "~@11 ab1 ~@2 ab1 ~@2 ab1 ~@2 ab1 ~ ab1@2", BH: "~@4 ab1@3 ~@3 ab1 ~ ab1 ~@2 ab1 ~@2 ab1!2 ~@4",
  BI: "~@8 ab1 ~@2 ab1 ~ ab1 ~@2 ab1 ~@2 ab1@3 ~@2", BJ: "~ ab1@3 ~@2 ab1 ~@2 ab1 ~@2 ab1 ~ ab1 ~ ab1 ~@7",
  BK: "~@4 ab1 ~@2 ab1 ~@2 ab1 ~@2 ab1 ~ ab1@3 ~@3 ab1@3", BL: "~@3 ab1 ~ ab1 ~@2 ab1 ~@2 ab1!2 ~@11",
  BM: "~ ab1 ~@2 ab1 ~ ab1 ~@2 ab1 ~@2 ab1@3 ~@3 ab1@3 ~@2 ab1", BN: "~@2 ab1 ~@2 ab1 ~ ab1 ~ ab1 ~@11 ab1 ~@2",
  BO: "ab1 ~@2 ab1 ~@2 ab1 ~@2 ab1@3 ~@2 ab1@3 ~@3 ab1 ~ ab1 ~", BP: "~ ab1 ~@2 ab1!2 ~@12 ab1 ~@2 ab1 ~ ab1",
  BQ: "~@2 ab1 ~@2 ab1@3 ~@3 ab1@3 ~@2 ab1 ~@2 ab1 ~@2 ab1 ~", BR: "~ ab1!2 ~@11 ab1 ~@2 ab1 ~@2 ab1 ~@2 ab1",
  BS: "~@2 ab1@3 ~@2 ab1@3 ~@3 ab1 ~ ab1 ~@2 ab1 ~@2 ab1!2 ~", BT: "~@11 db2@3 ~@3 db2@3 ~@2 db2@2",
  BU: "~@4 db2@4 ~ c2 ~@2 c2 ~@2 c2 ~@2 c2!2 ~@4", BV: "~@7 f1@3 ~@3 f1@3 ~@3 f1@3 ~@2",
  BW: "f1@2 ~@4 f1 ~ f1 ~@2 f1 ~@2 f1!2 ~@8", BX: "~@4 bb1@3 ~@3 bb1@3 ~@2 bb1@3 ~@3 bb1@3",
  BY: "~@2 eb2@2 ~@4 eb2@3 ~@2 eb2@3 ~@3 eb2 ~@4",
  BZ: "[~@3 f1 ~@2 f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@13 ~@4]/2",
  CA: "[f1 ~@2 f1@2 gb1@2 ~ gb1@3 ~@3 f1@2 ~@3 gb1@4 f1@2 ~@3 ab1@12 ~@4 f1 ~@2 f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2]/3",
  CB: "ab1@13 ~@4 f1 ~@2 f1@2 gb1 ~",
  CC: "[~ gb1@3 ~@3 f1@2 ~@3 gb1@4 f1@2 ~@3 ab1@13 ~@3 f1 ~@2 f1@2 ~ gb1@2 ~ gb1@2]/2",
  CD: "[~@3 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@12 ~@5 f1 ~@2 f1@2 gb1@2 ~ gb1@3 ~@3]/2",
  CE: "[f1@2 ~@3 gb1@4 ~ f1@2 ~@2 ab1@13 ~@3 f1 ~@2 f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@2]/2",
  CF: "~@2 gb1@4 f1@2 ~@2 ab1@13 ~",
  CG: "[~@3 f1 ~@2 f1@2 gb1@2 ~ gb1@3 ~@3 f1@2 ~@3 gb1@4 ~ f1@2 ~@2 ab1@13 ~@3 f1]/2",
  CH: "[~@2 f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@12 ~@5 f1 ~@2 f1@2 gb1@2 ~ gb1@3 ~@3 f1@2 ~@3 gb1@4 ~ f1@2 ~@2]/3",
  CI: "ab1@13 ~@3 f1 ~@2 f1@2 ~ gb1@2",
  CJ: "[~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@13 ~@4 f1 ~@2 f1@2 ~ gb1@2 gb1@3]/2",
  CK: "[~@3 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@12 ~@4 f1 ~@2 f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@11]/3",
  CL: "~@6 f1 ~@2 f1@2 ~ gb1@2 gb1@3 ~@3 f1@2 ~@2",
  CM: "[~@2 f1 ~@2 f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@13 ~@4 f1]/2",
  CN: "[~@2 f1@2 ~ gb1@2 gb1@3 ~@3 f1@2 ~@3 gb1@4 ~ f1@2 ~@2 ab1@13 ~@4 f1 ~ f1@2]/2",
  CO: "[~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@12 ~@5 f1 ~@2 f1@2 ~ gb1@2]/2",
  CP: "[~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@13 ~@4 f1 ~ f1@2 ~ gb1@2 ~ gb1@3]/2",
  CQ: "[~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@13 ~@4 f1 ~@2 f1@2 ~ gb1@2 ~ gb1@3 ~@2 f1@2 ~@4 gb1@4 f1@2 ~@2 ab1@11]/3",
})).s("gm_electric_bass_finger").gain(0.45)

// bass · synth bass 1 · "Synth.Bas"
const bass_2 = note("<~@59 A B C D A E C F A B C G A H C I A E J K A E C I A H C K A E L M ~@107>".pickRestart({
  A: "b1 ~@2 b1 ~@2 b1 ~@2 b1 ~@2 b1 ~@5 b1 ~@2 b1 ~@2", B: "a1 ~@2 b1 ~@2 b1 ~@5 b1 ~@2 b1 ~@2 a1 ~@2 a1 ~@2",
  C: "g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2",
  D: "gb1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2",
  E: "a1 ~@2 b1 ~@2 b1 ~@5 b1 ~@2 b1 ~@2 a1 ~@2 a1 d2 ~",
  F: "a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2 e2 gb2 ~",
  G: "gb1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2 a1 ~@2 db2 ~@2",
  H: "a1 ~@2 b1 ~@2 b1 ~@5 b1 ~@2 db2 ~@2 d2 ~@2 a1 ~@2",
  I: "a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 gb1 ~@2 gb1 ~@2",
  J: "g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 e1 ~@2 e1 ~@2",
  K: "gb1 ~@2 gb1 ~@2 gb1 ~@2 gb1 ~@2 e2 gb1 ~ gb1 ~@2 gb1 ~@2 gb1 ~@2",
  L: "g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 b1 ~@2", M: "a1 ~@2 a1 ~@2 a1 ~@17",
})).s("gm_synth_bass_1").gain(0.4)

// chords · electric guitar clean · "#Chrs.Gtr"
const electric_guitar_clean = note(`<
  ~@7 A B A B A B A B A B A B A B A B A B ~@8 A B A B A B A B C D C D C D C D E F E G E F E G H ~@8 I ~@11 J ~@7 J ~@38
  K@2 L@2 ~@2 M ~ N O P ~@2 Q R ~@20 S@2 T@2 ~@2 U@2 ~@2 V ~@2 W@2 ~@2 X Y ~@2 Z@2 ~@2 AA ~@2 AB@2 ~@2 AC@2 ~@2 AD ~
>`.pickRestart({
  A: "[b3,e4,ab4,db5]@11 ~", B: "[bb3,e4,ab4,db5]@11 ~",
  C: "~@3 [c4,e4,g4,b4] ~@3 [c4,e4,g4,b4] ~@7 [c4,e4,g4,b4] ~@3 [c4,e4,g4,b4] ~@4", // Cmaj7
  D: "[d4,gb4,a4,db5] ~@2 [d4,gb4,a4,db5] ~@2 [d4,gb4,a4,db5] ~@2 [e4,g4,b4,d5]@14 ~", // Dmaj7 Em7
  E: "[d4,d5]@3 [d4,d5]!2 ~@2 [d4,d5] ~ [d4,d5]!2 ~ [d4,d5] ~@2 [f4,f5] ~@2 [d4,d5] [d4,d5]@2 [bb3,bb4] ~@2", // D F D Bb
  F: "d5!2 ~ [d4,d5]!2 ~@2 [d4,d5] ~ [bb3,bb4]!2 ~ [bb3,bb4] ~@2 [f4,f5]@3 [d4,d5] [d4,d5]@2 [bb3,bb4] ~@2, d4 ~@7", // D Bb F D Bb
  G: "d5!2 ~ [d4,d5]!2 ~@2 [d4,d5] ~ [bb3,bb4]!2 ~ [bb3,bb4] ~@2 [g3,g4]@3 [f3,f4] [f3,f4]@2 [d3,d4] ~@2, d4 ~@7", // D Bb G F D
  H: "d4 ~@7", I: "~@21 e2 ~@2", J: "~@12 e2 ~@11",
  K: "[~@17 [bb4,db5]@4 [f4,ab4]@2 [ab4,c5]@2 ab4@10 ~@13, ~@25 c5@8 ~@15]/2", // Bbm Fm Ab
  L: "[~@13 [bb4,db5]@4 ~@2 [ab4,c5]@2 ~ ab4@10 ~@16, ~@9 [f4,ab4] ~ c5@4 ~@9]/2", // Bbm Ab Fm
  M: "~@6 [bb4,db5]@4 ~@2 [ab4,c5]@2 ~ [ab4,c5]@9, ~@11 [f4,ab4]@2 ~@11", // Bbm Ab Fm
  N: "~@3 [bb4,db5]@4 [f4,ab4]@2 [ab4,c5]@2 ab4@10 ~@3, ~@11 c5@8 ~@5", O: "~@7 [bb4,db5]@13 ~@4",
  P: "[bb4,db5]@4 ~ [ab4,c5]@2 ~ ab4@10 ~@6, ~@2 [f4,ab4] ~ c5@4 ~@4", // Bbm Ab Fm
  Q: "[bb4,db5]@14 ~@3 [bb4,db5]@4 ~ [ab4,c5]@2, ~@21 [f4,ab4]@2 ~", R: "~ ab4@10 ~@13, ~ c5@8 ~@15",
  S: "[~@23 [bb4,db5]@4 ~ [ab4,c5]@2 ~ ab4@10 ~@7, ~@27 [f4,ab4]@2 ~@2 c5@8 ~@9]/2", // Bbm Ab Fm
  T: "[~@19 [bb4,db5]@4 [f4,ab4]@2 [ab4,c5]@2 ~ c5@8 bb4@3 eb5@2 ~@7, ~@14 ab4@5 ~@5]/2", // Bbm Fm Ab
  U: "[~@12 [bb4,db5]@4 [f4,ab4]@2 [ab4,c5]@2 ~ ab4@10 ~@17, ~@21 c5@8 ~@19]/2", // Bbm Fm Ab
  V: "~@5 [bb4,db5]@4 ~@2 [ab4,c5]@2 ~ ab4@10, ~@5 [f4,ab4] ~ c5@4 ~", // Bbm Ab Fm
  W: "[~@22 [bb4,db5]@4 ~@2 [ab4,c5]@2 ~ ab4@10 ~@7, ~@27 [f4,ab4]@2 ~@2 c5@8 ~@9]/2", // Bbm Ab Fm
  X: "~@15 [bb4,db5]@4 ~@2 [ab4,c5]@2 ~, ~@10 [f4,ab4] ~", Y: "ab4@5 ~@7, c5 ~@2",
  Z: "[~@8 [bb4,db5]@4 ~@2 [ab4,c5]@2 ~ ab4@10 ~@21, ~@13 [f4,ab4]@2 ~@2 c5@8 ~@23]/2", // Bbm Ab Fm
  AA: "~ [bb4,db5]@4 ~@2 [ab4,c5]@2 ~ ab4@10 ~@4, ~@3 [f4,ab4] ~ c5@4 ~@3", // Bbm Ab Fm
  AB: "[~@19 [bb4,db5]@4 ~ [ab4,c5]@2 ~ ab4@10 ~@11, ~@23 [f4,ab4]@2 ~@2 c5@8 ~@13]/2", // Bbm Ab Fm
  AC: "[~@12 [bb4,db5]@4 ~ [ab4,c5]@2 ~ ab4@10 ~@18, ~@8 [f4,ab4] ~ c5@4 ~@10]/2", // Bbm Ab Fm
  AD: "~@5 [bb4,db5]@4 ~ [ab4,c5]@2 ~ ab4@10 ~, ~@9 [f4,ab4]@2 ~@2 c5@8 ~@3", // Bbm Ab Fm
})).s("gm_electric_guitar_clean").gain(0.04).pan(0.6)

// chords · brass section · "#Brass 2"
const brass_section = note(`<
  ~@8 A ~ A ~@2 B C B C ~@25 D E ~@2 D E ~@9 F G ~@35 H ~@3 I@2 ~@2 J K ~@15 L ~@8 M@3 ~@28 N ~@14 O P Q ~@5 R@2 ~@5 S
  T@2 ~@6
>`.pickRestart({
  A: "~@6 [db5,db6] ~", B: "~@3 [db5,gb5]!2 ~ [db5,gb5] [db5,gb5]@4 ~ [db5,gb5]!2 ~ [db5,gb5] [db5,gb5]@4 ~@4",
  C: "[db5,gb5] ~@2 [db5,gb5] ~@2 [db5,gb5] ~@2 [db5,gb5] gb5@2 ~@12, ~@10 db5 ~@13", D: "~@18 e5 gb5 ~ g5 a5 ~",
  E: "b5 ~@23", F: "e5 ~@2 e5 ~@2 e5 ~@2 e5 ~@2 e5 ~@2 e5 ~@2 e5 ~@2 e5 ~@2",
  G: "b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5@4 ~@8", H: "~@14 [eb5,eb6]@3 ~@3 [eb5,eb6]@3 ~",
  I: "[~@17 [eb5,eb6]@3 ~@3 [eb5,eb6]@3 ~@22]/2", J: "~@19 [eb5,eb6]@3 ~@2", K: "~ [eb5,eb6]@3 ~@20",
  L: "~@2 [eb5,eb6] ~ [eb5,eb6] ~@3", // Eb
  M: "[~@12 [eb5,gb5]@3 ~@2 [db5,f5]@3 ~@3 [c5,eb5]@3 ~@2 [bb4,db5]@3 ~@3 [ab4,c5]@3 [bb4,db5] ~@2 [c5,eb5] ~ [eb4,ab4]@11 ~@19]/3", // Ebm Db Cm Bbm Ab Bbm Cm Ab5
  N: "~@13 [ab4,ab5] ~@2 [ab4,ab5] ~@2 [ab4,ab5] ~@4", O: "~@7 [eb5,gb5]",
  P: "~@2 [db5,f5]@3 ~@3 [c5,eb5]@3 ~@2 [bb4,db5]@3 ~@3 [ab4,c5]@3 [bb4,db5] ~", Q: "[c5,eb5] ~@2 [eb4,ab4]@11 ~@10",
  R: "[~@7 [eb5,gb5]@3 ~@2 [db5,f5]@3 ~@3 [c5,eb5]@3 ~@2 [bb4,db5]@3 ~@3 [ab4,c5]@3 [bb4,db5] ~@2 [c5,eb5] ~ [eb4,ab4]@11]/2", // Ebm Db Cm Bbm Ab Bbm Cm Ab5
  S: "~@17 [eb5,gb5]@3 ~@2 [db5,f5]@2", // Ebm Db
  T: "[~@4 [c5,eb5]@3 ~@2 [bb4,db5]@3 ~@3 [ab4,c5]@3 [bb4,db5] ~@2 [c5,eb5] ~ [eb4,ab4]@11 ~@14]/2", // Cm Bbm Ab Bbm Cm Ab5
})).s("gm_brass_section").gain(0.35)

// drums · kick
const kick = s("bd").struct(`<
  ~ A@58 B@33 C D E F G H I J K L M N O P Q R S T B U D V F G H W J X K Y Z AA AB AC AD AE AF AG AH AI AJ AK D AL AM AI
  AC AD AE AL AG AH AC AD AK AF AG AM AI AJ AK AE AL AM AH AC AD AE AF AG AH AC AJ AK AF Q AM AI AJ AD AE AL AG AH AC AD
  AK AF AG AH AI AJ AK AE AL AM AI AC AD AE AF AG AH AC AJ ~
>`.pickRestart({
  A: "x!4", B: "x!2", C: "~ x ~@11 x ~@5 x ~@4", D: "~ x ~@11 x ~@10", E: "~ x ~@5 x ~@2 x ~", F: "~@2 x ~@12 x ~@8",
  G: "~ x ~@3 x ~@2", H: "~ x ~@2 x ~", I: "~@4 x ~@12 x ~@5 x", J: "~@5 x ~@11 x ~@6", K: "~ x ~ x",
  L: "x ~@5 x ~@12 x ~@4", M: "~@7 x ~@11 x ~@4", N: "~ x ~@6 x ~@11 x ~@3", O: "~@8 x ~@12 x ~@2", P: "~ x ~ x ~@3 x",
  Q: "~@5 x ~@5 x", R: "~@2 x ~@2 x ~@5 x", S: "~@11 x ~@11 x", T: "~@5 x ~@5 x ~@12", U: "x ~@6 x ~@5 x ~@10",
  V: "~ x ~@2 x ~@2 x ~@4", W: "~@4 x ~@5 x ~@6 x ~@6", X: "~ x!3", Y: "~@7 x ~@5 x ~@5 x ~@4", Z: "~@7 x ~@12 x ~@3",
  AA: "~@4 x ~@2 x ~@2 x ~", AB: "~@19 x ~@4", AC: "~@6 x ~@10 x ~@6", AD: "~@4 x ~@10 x ~@8", AE: "~@2 x ~@10 x ~@10",
  AF: "~ x ~@10 x ~@10 x", AG: "~@10 x ~@10 x ~@2", AH: "~@8 x ~@10 x ~@4", AI: "~@7 x ~@10 x ~@5",
// … 106 more lines

More by Kool & The Gang