Strudelify

Hymn of the Heart

Chick Corea

KeyB♭ majorTempo86 bpm
0:00/0:00
// Hymn of the Heart — Chick Corea
// 86 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 188 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(86/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 · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  ~@7 A B C D E F@2 ~ G H I@3 ~@2 J@2 ~@2 K@2 ~@2 L M@2 ~@13 N ~@4 O@2 ~@5 P Q R S@2 T@2 U V W@2 ~@3 X@2 ~@2 Y@2 ~ Z
  AA@2 ~@3 AB AC AD@2 ~@6 AE AF ~ AG AH AI AJ AK ~@4 AL@2 AM@3 ~@15 AN@3 ~ AO@2 ~@3 AP@2 ~ AQ AR@4 ~@2 AS@2 ~@2 AT@2 ~@2
  AU@2 ~ AV AW@4 ~ AX@3 ~ AY AZ@2 ~ BA@2 ~@2 BB BC@3 BD BE ~ BF BG BH BI BJ ~
>`.pickRestart({
  A: "b3@2 ~@6 ab4 db5 ~@2 ab4@2 [eb4,bb4]@2, ~ ab4 bb4 ab4 ~ bb4 ~@2, ~@3 eb4@2 f4@2 eb4@4 f4@3 ~@2", // Eb5
  B: "b3@2 ~ eb4 ~@2 ab4 eb5@2 [gb4,db5] [f4,bb4]@2 [eb4,ab4]@4, ~ ab4 [eb4,bb4] ~@5, ~@5 f4@3 ~@8", // Gb5 Bb5 Ab5 Eb5
  C: "b3@2 ~@7 db5 bb4 [db4,gb4] ~ [db4,gb4] [eb4,ab4]@2, ~@2 ab4@2 bb4@2 ab4@3 ~@7, ~@3 eb4@2 f4@2 eb4@4 ~@5", // Gb5 Ab5
  D: "~ f5 gb5 f5 eb5 b4 bb4 b4 bb4 ab4 f4 eb4 f4 eb4 b3 ab3",
  E: "g3 c3 g3 bb3 c4 d4 f4 bb3 eb4 f4 bb4 d5 eb4 bb4 g4 c5", F: "[f5 d5 c5@30]/2", G: "~@13 f5@2 eb5",
  H: "d5@2 eb5 d5@2 g4@2 c5 d5@5 c5@2 bb4",
  I: "[[d4,a4]@2 [eb4,bb4] [d4,a4]@2 [bb3,f4] [c4,g4]@14 ~@2 [c4,f4] [bb3,eb4] [a3,d4] [bb3,eb4] [a3,d4]@4 [g3,c4]@14 ~@4]/3", // D5 Eb5 D5 Bb5 C5 F5 Eb5 D5 …
  J: "[~@7 eb4 f4 g4 eb4 f4@2 g4 f4@18]/2", K: "[~@7 f4 g4 d5 c5 bb4@2 g4 f4@18]/2", L: "~@13 g3 bb3 eb4",
  M: "[c4 d4 f4 g4 bb3 eb4 c4 d4 f4@24]/2", N: "~@7 g4 [f4,c5] [eb4,bb4] [c4,g4] [bb3,f4]@2 [g3,d4] [f3,c4]@2",
  O: "[~@11 d4@2 f4 [eb4,g4]@14 ~@4, ~ bb3@2 c4@2 eb4@2 f4@4 ~@21, ~@2 f4@2 g4@2 bb4@3 c5@4 ~@19]/2", // Eb
  P: "~@14 [d4,f4] [eb4,g4]", Q: "[f4,bb4] [g4,c5] [a4,d5] [f4,bb4]@2 [g4,c5]@11", R: "~@15 [g3,c4]",
  S: "[[ab3,eb4] [bb3,f4]@2 [c4,g4]@2 [ab3,eb4] [bb3,f4]@14 ~@9 c5 bb4 ab4]/2", T: "[g4 eb4 c4 eb3 ab2@28]/2",
  U: "~@12 eb5 ab4 db4 eb5", V: "ab4 db4 gb4 g3 eb3@12",
  W: "[~@6 [db4,ab4] [eb4,bb4] [e4,b4] [gb4,db5] [ab4,eb5]@2 [gb4,db5]@20]/2", // Db5 Eb5 E5 Gb5 Ab5 Gb5
  X: "[d4 f4 eb4 c4 d4 f4 eb4 c4 d4@2 d4 c4 ~ c4 d4@18]/2",
  Y: "[d4 f4 eb4 c4 d4 f4 eb4 c4 d4@2 d4 eb4 ~ eb4 c4@10 ~@8]/2", Z: "~@15 c4",
  AA: "[~ c4 ~ db4 c4@3 bb3 db4 c4 bb3@2 c4@2 bb3@10 ~@8]/2", AB: "~@13 b3 ~ db4",
  AC: "eb4 e4@2 gb4 ab4 bb4@2 b4 db5 eb5@2 e5 gb5@2 ab5@2", AD: "[bb5 g5 eb5 d5 c5 g4 f4 c4 g4 d5 eb5@22]/2",
  AE: "~@9 bb3 c4 d4 eb4 f4 g4 a4", AF: "bb4 f4 g4@14", AG: "~@15 bb3",
  AH: "c4 d4 eb4 f4 c4 eb4 f4 g4 bb4 bb3 c4 d4 eb4 f4 c4 d4",
  AI: "f4 g4 bb4 bb3 c4 d4 eb4 f4 c4 eb4 f4 g4 bb4 c4 eb4 f4", AJ: "g4 bb4 bb3 c4 d4 eb4 f4 c4 eb4 f4 g4 bb4@5",
  AK: "~@10 g5 [eb5,f5] d5 [bb4,c5] a4@2", AL: "[[f3,bb3,c4,eb4,g4]@11 [f4,a4]@4 bb4, ~@11 [g3,c4,d4]@5]/2",
  AM: "[[d4,eb4,g4,bb4,f5]@20 ~@3 f5 d5 c5 a4 g4 ~ f4 d4 c4@5 ~@12]/3", // Ebmaj7
  AN: "[~@15 [d4,g4]@2 [f4,bb4] [eb4,ab4] [c4,f4] [d4,g4] [d4,eb4,g4,ab4] [c4,f4] [eb4,ab4] [d4,g4]@2 [d4,g4] [c4,f4]@2 [c4,f4] [d4,g4]@6 ~@12]/3", // G5 Bb5 Ab5 F5 G5 Ebmaj7 F5 Ab5 …
  AO: "[~ [f4,bb4] [eb4,ab4] [c4,f4] [d4,g4] [d4,eb4,g4,ab4] [c4,f4] [eb4,ab4] [d4,g4]@2 [d4,g4] [eb4,ab4]@2 [eb4,ab4] [c4,f4]@10 ~@8]/2", // Bb5 Ab5 F5 G5 Ebmaj7 F5 Ab5 G5 …
  AP: "[~@2 [ab4,c5] g4 ~ [ab4,c5] g4 [bb3,f4] ~ [ab4,c5] g4 [ab3,eb4] ~ [f3,c4] [bb3,f4]@10 ~@8, ~ [c4,g4]@3 [g3,eb4]@2 ~@2 [c4,g4]@2 ~@22]/2", // Ab Bb5 Ab Ab5 F5 Bb5 C5 Cm …
  AQ: "~@11 [e5,b5]@3 [db5,f5,ab5,bb5]@2", // E5 Bbm7
  AR: "[[b4,gb5]@6 [ab4,eb5]@8 [e4,b4] ~ [e4,b4]@6 [db4,ab4]@8 [a3,e4] ~ [ab3,eb4]@6 [e3,b3]@8 [bb2,f3] ~ [c3,g3]@8 ~@8, ~@15 [gb4,db5]@2 ~@14 [b3,gb4]@2 ~@14 [db3,ab3]@2 ~@15]/4", // B5 Ab5 E5 Db5 A5 Ab5 E5 Bb5 …
  AS: "[~ [g4,c5] [ab4,db5] [b4,e5] [bb4,eb5] [g4,c5] [ab4,db5] [db5,gb5] ~ [bb4,eb5] ~ [a4,d5] [ab4,db5] [ab4,bb4,db5,eb5] [g4,c5]@10 ~@8]/2", // C5 Db5 E5 Eb5 C5 Db5 Gb5 Eb5 …
  AT: "[~ [g4,c5] [ab4,db5] [b4,e5] [bb4,eb5] [bb4,b4,eb5,e5] [g4,c5] [bb4,eb5] [ab4,db5]@2 [ab4,db5] [g4,c5] ~ [g4,c5] [f4,bb4]@10 ~@8]/2", // C5 Db5 E5 Eb5 Emaj7 C5 Eb5 Db5 …
  AU: "[~@3 [f4,c5]@2 [gb4,db5] [ab4,eb5] [f4,c5] [gb4,db5] [ab4,eb5] ~ [gb4,db5] [f4,c5]@2 [eb4,bb4]@10 ~@8]/2", // F5 Gb5 Ab5 F5 Gb5 Ab5 Gb5 F5 …
  AV: "~@11 [a4,e5]@2 [gb4,db5] [ab4,eb5]@2", // A5 Gb5 Ab5
  AW: "[[e4,b4]@6 [db4,a4]@8 [a3,e4] ~ [a3,e4]@6 [gb3,db4]@8 [d3,a3] ~ [db3,ab3]@6 [a2,e3]@8 [f3,c4] ~ [f3,c4]@16, ~@15 [b3,gb4]@2 ~@14 [e3,b3]@2 ~@14 [gb3,db4]@2 ~@15]/4", // E5 Gbm A5 Gb5 D5 Db5 A5 F5 …
  AX: "[~@15 [f4,c5]@2 [gb4,db5] [eb4,bb4] [f4,c5]@2 [gb4,db5] [eb4,bb4] [f4,c5] [gb4,db5] [ab4,eb5] [gb4,db5] ~ [gb4,db5] [gb4,ab4,db5,eb5] [f4,c5]@10 ~@8]/3", // F5 Gb5 Eb5 F5 Gb5 Eb5 F5 Gb5 …
  AY: "~@11 [f4,c5]@2 [gb4,db5] [eb4,bb4] [f4,c5]", // F5 Gb5 Eb5 F5
  AZ: "[~ [c5,f5] [db5,gb5] [bb4,eb5] [c5,f5] ~ [f4,c5] [gb4,db5] [eb4,bb4] [f4,c5] ~ [c4,f4] [db4,gb4] [bb3,eb4] [c4,f4]@6 ~@12]/2", // F5 Gb5 Eb5 F5 Gb5 Eb5 F5 Gb5 …
  BA: "[~@11 [db4,f4]@2 [eb4,gb4] [b3,eb4] [db4,f4]@2 [eb4,gb4] [f4,ab4] [gb4,bb4]!2 [ab4,b4] [f4,ab4] [gb4,bb4]@2 [ab4,b4] [bb4,db5] [b4,eb5]@2 [db5,f5] [eb5,gb5]@2]/2", // Db Ebm B Db Ebm Fm Gb Abm …
  BB: "~@11 [d5,a5]@2 [b4,gb5] [db5,ab5]@2", // D5 B5 Db5
  BC: "[[a4,e5]@6 [gb4,db5]@8 [d4,a4] ~ [d4,a4]@6 [b3,gb4]@8 [g3,d4] ~ [gb3,db4]@6 [d3,a3]@10, ~@15 [e4,b4]@2 ~@14 [a3,e4]@2 ~@15]/3", // A5 Gb5 D5 B5 G5 Gb5 D5 E5 …
  BD: "~@13 b2 gb3 db4", BE: "f4 ab4 ~ db5@13", BF: "~@3 db3 gb3@3 ab4", BG: "db4", BH: "[d3,a3,f4,a4,c5,e5,g5]",
  BI: "~@3 a2 d3@12", BJ: "~ a2 d3@6",
})).s("gm_acoustic_guitar_steel").gain(0.54)

// other · fretless bass · "FRETLESS"
const fretless_bass = note(`<
  ~@11 A B C D A B ~@2 A B C D A E@2 ~ A B ~@2 A B C D A B ~@2 A B ~@2 A F@3 A B ~ G A F@3 A B ~@2 A B H@2 I@6 J@2 K@2 J
  L M ~ M N O ~ O P Q@2 ~@2 A B C D A B ~@2 A B C D A B ~@2 A B ~@2 A B C D A B ~@2 A B ~@2 R S T@4 U@3 ~ U V W@2 X Y
  Z@2 AA AB AC@2 ~ AD AE AF AE AG AF AH AI AJ AI AK AL@2 AM AH ~@31
>`.pickRestart({
  A: "~@11 g3 ~ c4 ~ f4", B: "eb4 bb3@3", C: "~@15 g4", D: "c5@2 f4 bb4 eb5@4 ~@8", E: "[eb4 bb3@6 ~]/2",
  F: "[eb4@2 bb3@5 eb3@4 f3@9 ~@4]/3", G: "~@11 g4 ~ bb4 c5 d5", H: "eb3/2",
  I: "[~ ab3@10 eb4@4 ab4@12 e3@6 [b3,b5] ab4@12 ~@2]/6", J: "~@3 g4 ~ f4 g4@2 g2@8", K: "[~@3 g4 ~ f4 g4@2 g2@24]/2",
  L: "~@3 c5 ~ b4 c5@2 c4@8", M: "~@3 f4 ~ eb4 f4@2 f3@8", N: "~@3 eb4 ~ d4 eb4@2 eb3@8", O: "~@3 db4 ~ c4 db4@2 db3@8",
  P: "~@3 c4 ~ bb3 c4@2 c3@8", Q: "[b2@4 gb3 db4 b3@4 b2@22]/2", R: "~@11 g3 ~ c4 ~ g4", S: "d4@4 a3@8 ~@3 e4",
  T: "[~ a4 ~ e5 b4@4 gb4@14 gb3@38 ~@4]/4", U: "~@3 g4 ~ f4 g4@2 g3@8", V: "c4@3 c5@2 c4@11",
  W: "[f3@3 c4@2 f3@3 f3@16 g3@4 ab3@4]/2", X: "f3@3 f4@2 f3@3 f3@8", Y: "eb3@3 eb4@2 eb3@3 eb3@8",
  Z: "[db3@3 db4@2 db3@3 db3@22 ab2@2]/2", AA: "db3@3 db4@2 db3@3 db3@8", AB: "c3@3 c4@2 c3@3 c3@8",
  AC: "[b3@4 [f3,gb3] ~ b2@26]/2", AD: "~@12 [g3,ab3] [f3,gb3] [eb3,e3] [db3,d3]", AE: "c3@3 [c3,g3]@2 c4@3 c3@8",
  AF: "c3@3 bb2@2 eb3@3 c3@8", AG: "c3", AH: "f3@3 f4@2 f3@3 f4@8", AI: "bb2@3 bb3@2 bb2@3 bb3@8",
  AJ: "~@11 bb3 bb2@2 bb3@2", AK: "ab2@3 ab3@2 ab2@3 ab3@8",
  AL: "[gb2@3 gb3@2 gb2@3 bb3@2 ~ ab3 gb3@18 db3@2, ~@8 ab3 ~@23]/2", AM: "gb2@3 db3@2 gb3 ab3@2 gb3@8",
})).s("gm_fretless_bass").gain(0.35)

// chords · synth brass 2 · "SYNBRASS 2"
const synth_brass_2 = note(`<
  ~@27 A B C D@2 ~@4 B E F@2 ~@7 G H I J@2 ~@3 A B K L@2 ~@23 M N O P Q ~@15 A B R S@3 ~@2 G T U S@3 ~@22 V W X Y Z ~@13
  AA AB AC AD AE ~@13 AF AG AH AI AJ@5 ~@4
>`.pickRestart({
  A: "c5", B: "g4", C: "bb4", D: "[f5@31 ~]/2", E: "bb4@12 g5@3 ~", F: "f5/2", G: "c5@7 d5", H: "g4@14 d5 ~",
  I: "c5@12 g5@3 ~", J: "[f5@5 ~@3]/2", K: "bb4@5 c5 d5@5 a5@5, ~@11 g5 ~@4", L: "[f5@7 ~]/2",
  M: "~@11 [e4,b4]@2 [db4,ab4] [eb4,bb4]@2", N: "[ab5,eb6]@6 [f5,c6]@8 [db5,eb5,ab5,bb5] ~",
  O: "[db5,ab5]@6 [bb4,f5]@8 [f4,ab4,c5,eb5] ~", P: "[f4,c5]@3 [db4,ab4]@4 [bb3,e4]", Q: "[ab3,eb4]",
  R: "bb4@12 g5@3 ~, ~@12 f5 ~@3", S: "[f5@5 ~]/3", T: "g4@14 [bb4,c5] ~", U: "bb4@5 d5@5 ~ a5@5, ~@11 g5 ~@4",
  V: "~@11 [e5,b5]@2 [eb5,bb5]@3", W: "[b4,gb5]@3 [ab4,eb5]@4 [gb4,db5]", X: "[e4,b4]@3 [db4,ab4]@4 [b3,gb4]",
  Y: "[ab3,eb4]@3 [e3,b3]@4 [db3,ab3]", Z: "[c3,g3]", AA: "~@11 [a4,e5,e6]@2 [ab4,eb5,eb6]@3",
  AB: "[e4,b4,b5]@3 [db4,ab4,ab5]@4 [b3,gb4,gb5]", AC: "[a3,e4,e5]@3 [gb3,db4,db5]@4 [e3,b3,b4]",
  AD: "[db3,ab3,ab4]@3 [a2,e3,e4]@4 [gb2,db3,db4]", AE: "[f2,c3,c4]", AF: "~@11 [d6,a6]@2 [db6,ab6]@3",
  AG: "[a5,e6]@3 [gb5,db6]@4 [e5,b5]", AH: "[d5,a5]@3 [b4,gb5]@4 [a4,e5]", AI: "[gb4,db5]@3 [d4,a4]@4 [b3,gb4]",
  AJ: "[bb3,f4]/5", // Bb5
})).s("gm_synth_brass_2").gain(0.59)

// chords · pad halo · "HALO PAD"
const pad_halo = note(`<
  A B C D E@2 F G@2 H I J@2 ~@6 K@3 L@3 ~@6 K@3 ~@5 M@6 ~@6 N@2 O@2 ~@4 P@2 Q@2 R@2 S@2 T@2 U V W@2 U V W@2 U V W@2 U V
  X@4 Y@5 ~@2 Z@8 ~@5 AA@2 AB@2 ~@4 AC AD AE@6 AF AG AH AI AJ@2 AH AI AJ@2 AH AI AJ@2 AH AI AK@4 AL AM AN@2 AL AM AN@2
  AL AM AN@2 AL AM AO@4 AP AQ AR@2 AP AQ AR@2 AP AQ AR@2 AP AQ AS@4 AT@5 AU@3 ~
>`.pickRestart({
  A: "[f3,bb3]", B: "[g3,c4]", C: "d4@3 eb4, [f3,bb3]", D: "g3@12 bb3 c4@3, eb3",
  E: "[[bb2,d3,f3,bb3]@5 [c3,d3,eb3,g3]@3]/2", F: "[a2,d3]", G: "[b2,eb3]/2", H: "bb3", I: "ab3", J: "[c3,d3,f3,g3]/2",
  K: "[g2,bb2,d3]/3", L: "[~ [bb2,eb3,f3]@3]/3",
  M: "[[bb2,d3,f3,bb3]@11 [c3,eb3,d4]@3 [bb2,d3,g3]@17 [bb3,eb4,f4]@17]/6", // Bb Cm Gm Bbsus4
  N: "[[bb2,d3,eb3,g3,bb3]@11 [a2,c3,d3,f3,a3]@4 c4]/2", O: "[g2,bb2,eb3,g3,bb3,g4]/2", P: "[[bb2,d3]@11 f3@4 d4]/2",
  Q: "[[ab2,c3,eb3,g3,bb3]@11 d4@4 bb4]/2", R: "[[ab2,eb3,f3,ab3,c4,g4]@6 [ab2,eb3,f3,ab3,c4]@9 d4]/2",
  S: "[[c3,ab3,bb3,eb4]@6 [b2,eb3,ab3]@9 gb3]/2", T: "[[bb2,eb3]@3 ab2@5]/2", U: "~@3 [c5,g5]@5, bb4",
  V: "~@3 [bb4,f5]@5, ab4", W: "[~@3 [c5,g5]@13, bb4]/2", X: "[~@3 [bb4,b4,gb5]@29]/4",
  Y: "[[g2,bb2,eb3,f3]@10 [bb3,eb4,f4]@7 [bb4,eb5,f5]@23]/5", Z: "[~@7 [g2,bb2,d3]@29 ~@3 [c3,d3,eb3,f3]@25]/8",
  AA: "[[bb2,d3,eb3,g3]@11 [g2,c3,d3,f3,a3]@4 bb3]/2", AB: "[d3,eb3,g3,a3,bb3,d4,f4]/2", AC: "[bb2,eb3,f3,bb3]",
  AD: "[a2,d3,g3,c4]", // Am7
  AE: "[[g2,c3,f3,bb3,d4]@14 d4 ~ [bb2,eb3,g3]@14 bb3 ~ [bb2,d3,f3,bb3]@20 [b2,d3,g3]@20 [ab2,eb3]@24, ~@15 eb4@2 ~@14 c4@2 ~@63]/6", // Gm7 Eb Bb G Ab5
  AF: "ab3@3 db4@4 eb4", AG: "gb4@3 ab4@4 d5", AH: "~@3 [c5,g5]@5, [a4,bb4]", AI: "~@3 [bb4,f5]@5, [g4,ab4]",
  AJ: "[~@3 [c5,g5]@13, [a4,bb4]]/2", AK: "[~@3 [b4,gb5]@29, [ab4,bb4]]/4",
  AL: "~@3 [f4,c5,f5,c6]@5, [db4,eb4,db5,eb5]", AM: "~@3 [eb4,bb4,eb5,bb5]@5, [c4,db4,b4,db5]",
  AN: "[~@3 [f4,c5,f5]@5 [f4,c5,f5]@8, [db4,eb4,db5,eb5], ~@3 c6@13]/2", AO: "[~@3 [e4,b4]@29, [db4,eb4]]/4",
  AP: "~@3 [bb4,f5,bb5,f6]@5, [gb4,ab4,gb5,ab5]", AQ: "~@3 [ab4,eb5,ab5,eb6]@5, [f4,gb4,f5,gb5]",
  AR: "[~@3 [bb4,f5,bb5,f6]@13, [gb4,ab4,gb5,ab5]]/2", AS: "[~@3 [a4,e5]@29, [gb4,ab4]]/4", AT: "[bb2,f3]/5",
  AU: "[bb2,f3]/3", // Bb5
})).s("gm_pad_halo").gain(0.24)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A B C D E@2 F G@2 H I J@2 ~@6 K@3 L@3 ~@6 K@3 ~@5 M@6 ~@6 N@2 O@2 ~@4 P@2 Q@2 R@2 S@2 T@2 U V W@2 U V W@2 U V W@2 U V
  X@4 Y@5 ~@2 Z@8 ~@5 AA@2 AB@2 ~@4 AC AD AE@6 AF AG AH AI AJ@2 AH AI AJ@2 AH AI AJ@2 AH AI AK@4 AL AM AN@2 AL AM AN@2
  AL AM AN@2 AL AM AO@4 AP AQ AR@2 AP AQ AR@2 AP AQ AR@2 AP AQ AS@4 AT@5 AU@3 ~
>`.pickRestart({
  A: "[f4,bb4]", B: "[g4,c5]", C: "d5@3 eb5, [f4,bb4]", D: "g4@12 bb4 c5@3, eb4",
  E: "[[bb3,d4,f4,bb4]@5 [c4,d4,eb4,g4]@3]/2", F: "[a3,d4]", G: "[b3,eb4]/2", H: "bb4", I: "ab4", J: "[c4,d4,f4,g4]/2",
  K: "[g3,bb3,d4]/3", L: "[~ [bb3,eb4,f4]@3]/3",
  M: "[[bb3,d4,f4,bb4]@11 [c4,eb4,d5]@3 [bb3,d4,g4]@17 [bb4,eb5,f5]@17]/6", // Bb Cm Gm Bbsus4
  N: "[[bb3,d4,eb4,g4,bb4]@11 [a3,c4,d4,f4,a4]@4 c5]/2", O: "[g3,bb3,eb4,g4,bb4,g5]/2", P: "[[bb3,d4]@11 f4@4 d5]/2",
  Q: "[[ab3,c4,eb4,g4,bb4]@11 d5@4 bb5]/2", R: "[[ab3,eb4,f4,ab4,c5,g5]@6 [ab3,eb4,f4,ab4,c5]@9 d5]/2",
  S: "[[c4,ab4,bb4,eb5]@6 [b3,eb4,ab4]@9 gb4]/2", T: "[[bb3,eb4]@3 ab3@5]/2", U: "~@3 [c6,g6]@5, bb5",
  V: "~@3 [bb5,f6]@5, ab5", W: "[~@3 [c6,g6]@13, bb5]/2", X: "[~@3 [bb5,b5,gb6]@29]/4",
  Y: "[[g3,bb3,eb4,f4]@10 [bb4,eb5,f5]@7 [bb5,eb6,f6]@23]/5", Z: "[~@7 [g3,bb3,d4]@29 ~@3 [c4,d4,eb4,f4]@25]/8",
  AA: "[[bb3,d4,eb4,g4]@11 [g3,c4,d4,f4,a4]@4 bb4]/2", AB: "[d4,eb4,g4,a4,bb4,d5,f5]/2", AC: "[bb3,eb4,f4,bb4]",
  AD: "[a3,d4,g4,c5]", // Am7
  AE: "[[g3,c4,f4,bb4,d5]@14 d5 ~ [bb3,eb4,g4]@14 bb4 ~ [bb3,d4,f4,bb4]@20 [b3,d4,g4]@20 [ab3,eb4]@24, ~@15 eb5@2 ~@14 c5@2 ~@63]/6", // Gm7 Eb Bb G Ab5
  AF: "ab4@3 db5@4 eb5", AG: "gb5@3 ab5@4 d6", AH: "~@3 [c6,g6]@5, [a5,bb5]", AI: "~@3 [bb5,f6]@5, [g5,ab5]",
  AJ: "[~@3 [c6,g6]@13, [a5,bb5]]/2", AK: "[~@3 [b5,gb6]@29, [ab5,bb5]]/4",
  AL: "~@3 [f5,c6,f6,c7]@5, [db5,eb5,db6,eb6]", AM: "~@3 [eb5,bb5,eb6,bb6]@5, [c5,db5,b5,db6]",
  AN: "[~@3 [f5,c6,f6]@5 [f5,c6,f6]@8, [db5,eb5,db6,eb6], ~@3 c7@13]/2", AO: "[~@3 [e5,b5]@29, [db5,eb5]]/4",
  AP: "~@3 [bb5,f6,bb6,f7]@5, [gb5,ab5,gb6,ab6]", AQ: "~@3 [ab5,eb6,ab6,eb7]@5, [f5,gb5,f6,gb6]",
  AR: "[~@3 [bb5,f6,bb6,f7]@13, [gb5,ab5,gb6,ab6]]/2", AS: "[~@3 [a5,e6]@29, [gb5,ab5]]/4", AT: "[bb3,f4]/5",
  AU: "[bb3,f4]/3", // Bb5
})).s("gm_string_ensemble_1").gain(0.21)

// chords · pad sweep · "SWEEP PAD"
const pad_sweep = note(`<
  A B C D E@2 F G@2 ~@2 H@2 I@2 J@3 ~ K@3 L@3 ~@6 M@3 ~@5 N@6 ~@14 O@2 P@2 ~@2 Q@4 R@4 S T U@2 V W X@2 Y Z AA@4 ~@7 AB@8
  ~@5 AC@2 ~@9 AD AE@6 AF@2 AG@2 AF T AH@2 AI AF AJ@2 AK T AL@4 AM@2 AN@2 T V AO@2 AP AQ AR@2 AS V AT@4 U@4 V AU AV@2 W
  Y AW@4 AX@3 AY AZ BA BB BC@2 BD@3 ~
>`.pickRestart({
  A: "[bb3,eb4]", B: "[a3,d4]", C: "[g3,c4]", D: "[f3,bb3]", E: "[f3@5 g3@3, c3]/2", F: "[eb2,bb2,gb3]",
  G: "[db2,ab2,gb3]/2", H: "[c2,g2,c3,g3,bb3]/2", I: "c3/2", J: "f2/3", K: "[c3,f3]/3", L: "[~ [c2,g2,bb3]@3]/3",
  M: "[c3,eb3,f3]/3", N: "[[c3,f3]@11 [f3,g3]@4 [bb2,eb3,g3]@16 c2@17]/6", O: "[f2,eb3,bb3]/2", P: "eb3/2",
  Q: "[f4@3 [e3,b3]@8 [e3,b3]@5]/4", R: "[g1,g2]/2", S: "[g1,g2]", T: "[c2,c3]", U: "[f1,f2]/2", V: "[f1,f2]",
  W: "[eb1,eb2]", X: "[db1,db2]/2", Y: "[db1,db2]", Z: "[c1,c2]", AA: "b1/4",
  AB: "[~@7 [c2,c3,f3]@29 ~@3 [f3,g3,ab3,bb3]@25]/8", AC: "[[c3,f3]@11 d3@5]/2", AD: "f3",
  AE: "[[c3,f3]@5 [f2,d3,bb3]@5 [g2,b2,e3]@14]/6", AF: "[eb2,eb3]", AG: "[eb2,eb3]/2", AH: "[d2,f3]/2", AI: "[d2,f3]",
  AJ: "[db2,db3]/2", AK: "[db2,db3]", AL: "[b1,b2]/4", AM: "[c2,c3,g3]/2", AN: "[c2,c3]/2", AO: "[bb1,bb2]/2",
  AP: "[bb1,bb2]", AQ: "[ab1,ab2]", AR: "[gb1,gb2]/2", AS: "[gb1,gb2]", AT: "[e1,e2]/4", AU: "bb1", AV: "[eb1,eb2]/2",
  AW: "b1/2", AX: "a1/3", AY: "[db2,a2]", AZ: "[b1,gb2]", BA: "[db2,ab2]", BB: "[eb2,bb2]", BC: "[gb2,db3]/2",
  BD: "[d2,a2]/3", // D5
})).s("gm_pad_sweep").gain(0.31)

// other · marimba · "XYLOPHONE"
const marimba = note("<A@2 B C D C E F G F H ~@177>".pickRestart({
  A: "[c6 bb5@2 g5@2 f5 eb5@2 bb4@2 bb4@2 ~@3 c6@2 bb5@2 g5@2 f5 eb5@2 ~@8]/2",
  B: "c6 bb5@2 g5@2 f5 eb5@2 bb4@2 ~@2 bb4@2 ~@2", C: "c6 bb5@2 g5@2 f5 eb5@2 ~@8",
  D: "c6 bb5@2 g5@2 f5 eb5@2 bb4@2 bb4@2 ~@4", E: "~@4 b5!2 d6@2", F: "~ bb4 ~ bb4", G: "~@4 bb4@4 ~ bb4!3 bb4@4",
  H: "~@10 bb4!2 ~ bb4@2 bb4",
})).s("gm_marimba").gain(0.55)

// other · woodblock
const woodblock = note("<A@2 B C D E F ~@181>".pickRestart({
  A: "[c4 f4@2 g4@2 c5 bb4@2 eb5@2 eb5@2 ~@3 c4@2 f4@2 g4@2 c5 bb4@2 ~@2 [f4,c6] [c4,g5] [eb4,bb5]@4]/2", // F5 C5 Eb5
  B: "c4 f4@2 g4@2 c5 bb4@2 eb5@2 ~@2 eb5@2 ~@2",
  C: "c4 f4@2 g4@2 c5 bb4 [c4,g5] [f4,c6] ~ [f4,c6] [c4,g5] [eb4,bb5]@4", D: "c4 f4@2 g4@2 c5 bb4@2 eb5@2 eb5@2 ~@4",
  E: "c4 f4@2 g4@2 c5 bb4@2 ~@2 [f4,c6] [eb4,bb5] [c4,g5]@4", F: "~@3 c4@2 gb4@2 a4 d5@2 d5@2 f5@4",
})).s("gm_woodblock").gain(0.12)

// drums · clap
const clap = s("cp").struct(`<
  ~@12 A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A
  ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~
  A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ B
  ~
>`.pickRestart({
  A: "~@3 x", B: "~@5 x!2 ~",
})).gain(0.32)

// drums · ride
const ride = s("rd").struct(`<
  ~@11 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 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 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 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 A B A B A B A B A B A B A B A
// … 79 more lines

More by Chick Corea