Strudelify
Tomorrow Never Dies cover art

Tomorrow Never Dies

Tomorrow Never Dies

Crow Sheryl

KeyG minorTempo116 bpm
0:00/0:00
// Tomorrow Never Dies — Crow Sheryl
// 116 bpm, 6/8, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 176 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): ELECGUIT.
setcpm(116/3)

// 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.

// bass · acoustic bass · "BASS"
const bass = note(`<
  ~ A B C B D B C B E F@2 G@2 H I J K L M N O H P Q R L S N T Q@2 U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AD AL AM
  AK AN B C B D B C B E F@2 H I J K L M N O H P Q R L S N T Q@2 U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AD AL AM AK
  AN AO@3 ~@9 B C B D B C B AP AQ AR@2 AS AA AB AC AD AE AF AG AH AI AJ AK AD AL AM AT AU AA AB AC AD AE AF AG AH AA AB
  AC AD AE AF AG AH AA AB AC AD AE AF AG AH Q AV AW@5 ~
>`.pickRestart({
  A: "~@13 g1@3", B: "eb2@5 d2@5 ~ c2@5", C: "g2@5 bb2@5 ~ ab2@5", D: "g2@5 c3@5 ~ bb2@5", E: "c3@8 bb2@3 c3@2 ab2@3",
  F: "g2@13 d2@2 ~", G: "[g2@15 ~]/2", H: "g2@12 ~ g2@3", I: "gb2@15 ~", J: "f2", K: "e2", L: "c2@12 ~ c2@2 ~",
  M: "c2 eb2", N: "d2@12 ~ d2@2 ~", O: "d2 gb2", P: "gb2@12 ~ gb2@3", Q: "f2@12 ~ f2@3", R: "e2@12 ~ e2@3",
  S: "c2@10 ~ d2@2 eb2@3", T: "d2@10 ~ gb2@2 a2@3", U: "eb2@12 ~ eb2@2 ~", V: "eb2@10 ~ f2@2 eb2@2 ~",
  W: "d2@13 bb1 ~@2", X: "bb1@12 ~ bb1@3", Y: "b1@10 ~ d2@2 f2@2 ~", Z: "g2@13 ~@3", AA: "c2@7 ~ c2@3 g1@2 bb1@3",
  AB: "eb2@8 c2@5 eb2@2 ~", AC: "d2@10 ~ d2@2 ab1@3", AD: "g1@7 ~ g2@3 f2@2 d2@3", AE: "c2@10 ~ c2@2 d2@3",
  AF: "eb2@8 bb1@2 ~ c2@2 eb2@3", AG: "d2@7 ~ d2@2 ~ d2@2 ab1@3", AH: "g1@8 g2@5 d2@3", AI: "f2@8 f2@3 c2@2 f1@3",
  AJ: "f2@7 ~ f2@3 db2@2 f1@3", AK: "d2@7 ~ d2@8", AL: "c2@7 ~ c2@3 d2@2 eb2@2 ~", AM: "c2@8 eb2@5 c2@3", AN: "g1@15 ~",
  AO: "g1/3", AP: "bb2@3 ~@2 c3@5 ~ ab2@4 ~", AQ: "g2@7 ~ g2@2 ~ g2@2 g2@3", AR: "g1@7 ~ g1@2 ~ g1@2 g1@2 ~",
  AS: "g1@5 g2@8 d2@2 ~", AT: "db2@7 ~ db2@8", AU: "db2@2 ~ db2@2 db2@2 ~ db2@2 ~ db2@2 db2@2 ~", AV: "eb2@12 ~ eb2@3",
  AW: "[d2@12 ~ db2@66 ~]/5",
})).s("gm_acoustic_bass").gain(0.11).pan(0.9)

// chords · piano
const piano = note(`<
  ~ A B C B D B C E F G@2 ~@25 H I J K L M N K L O P L@2 Q R S T B C B D B C E F G@2 ~@23 H I J K L M N K L O P L@2 Q R
  S T U@8 V@4 B C B D B C E W X Y Z AA AB J K L M N K L O P L@2 Q R AC AD AE J K L M N K L AE J K L M N K L AE J K L M N
  K L AF AG AH@6
>`.pickRestart({
  A: "~@13 [g1,g2,g3] ~@2", B: "[eb2,eb4]@5 [d2,d4]@5 ~ [c2,c4]@5", C: "[g2,g4]@5 [bb2,bb4]@6 [ab2,ab4]@5",
  D: "[g2,g4]@5 [c3,c5]@5 ~ [bb2,bb4]@5", E: "[eb2,eb4]@5 [d2,d4]@5 ~ [c2,c4]@4 ~",
  F: "[c3,c5]@7 ~ [bb2,bb4]@3 [c3,c5]@2 [ab2,ab4]@2 ~", G: "[g2,g4]/2", H: "[g1,g2,f4,b4,d5,g5]@3 ~",
  I: "[g5,c6,eb6]@2 ~ [eb5,g5,eb6] ~ [eb5,g5,c6,eb6] ~@2 [eb5,g5,eb6] ~@2 [eb5,g5,c6,eb6] ~ [eb5,g5,c6,eb6] ~@2, eb5 ~@2 c6@2 ~@3 c6@2 ~@6", // Cm Eb Cm Eb Cm
  J: "[eb5,g5,c6,eb6] ~@2 [eb5,g5,c6,eb6] ~ [eb5,g5,c6,eb6] ~@2 [eb5,g5,c6,eb6] ~@2 [eb5,g5,c6,eb6] ~ [eb5,g5,c6,eb6] ~@2", // Cm
  K: "[d5,f5,ab5] ~@2 [d5,f5,ab5] ~ [d5,f5,ab5,d6] ~@2 [d5,f5,ab5] ~@2 [d5,f5,ab5,d6] ~ [d5,f5,ab5,d6] ~@2, d6@2 ~ d6@2 ~@3 d6@2 ~@6", // Ddim
  L: "[d5,f5,g5,d6] ~@2 [d5,f5,g5,d6] ~ [d5,f5,g5,d6] ~@2 [d5,f5,g5] ~@2 [d5,f5,g5,d6] ~ [d5,f5,g5,d6] ~@2, ~@4 d6 ~@3", // G7
  M: "[g5,c6,eb6]@2 ~ [eb5,g5,c6,eb6] ~ [eb5,g5,c6,eb6] ~@2 [eb5,g5,c6,eb6] ~@2 [eb5,g5,c6,eb6] ~ [eb5,g5,eb6] ~@2, eb5 ~@12 c6@2 ~", // Cm Eb
  N: "[c6,eb6]@2 ~ [eb5,g5,c6,eb6] ~ [g5,c6]@2 ~ [bb5,eb6]@2 ~ [bb5,eb6]@2 [eb5,g5,bb5,eb6] ~@2, [eb5,g5] ~@4 [eb5,eb6] ~@2 [eb5,g5] ~@2 [eb5,g5] ~@4", // Cm C5 Eb5 Eb
  O: "[c5,f5,ab5] ~@2 [c5,f5,ab5,c6] ~ [c5,f5,ab5,c6] ~@2 [ab5,c6]@2 ~ [c5,f5,ab5,c6] ~ [f5,ab5]@2 ~, c6@2 ~@6 [c5,f5] ~@4 [c5,c6] ~@2", // Fm Ab Fm F5 C
  P: "[db5,f5,ab5,db6]@2 ~ [db5,f5,ab5,db6] ~ [db5,f5,ab5,db6] ~@2 [db5,f5,ab5,db6]@2 ~ [db5,f5,ab5] ~ [db5,f5,ab5,db6] ~@2, ~@11 db6@2 ~@3", // Db
  Q: "[c5,eb5,g5] ~@2 [c5,eb5,g5,c6] ~ [c5,eb5,g5,c6] ~@2 [c5,eb5,c6]@2 ~ [c5,eb5] ~ [c5,eb5,c6]@2 ~, c6@2 ~@9 c6@2 ~@3", // Cm
  R: "[eb5,ab5,c6]@2 ~ [c5,eb5,ab5,c6] ~ [c5,eb5,ab5,c6] ~@2 [c5,eb5,ab5,c6]@2 ~ [c5,eb5,ab5,c6] ~ [eb5,ab5,c6]@2 ~, c5 ~@12 c5 ~@2", // Ab
  S: "[c5,g5,a5,c6]@2 ~ [c5,a5,c6]@2 [c5,g5,a5,c6]@2 ~ [c5,g5,c6] ~@2 [c5,g5,a5,c6] ~ [c5,g5,a5,c6] ~@2, ~@3 g5 ~@4 a5@2 ~@6", // Am7 F Am7 C5 Am7
  T: "[g1,g2,c5,d5,f5,g5]@3 ~", // Gsus4
  U: "[[c4,d4,f4,g4]@7 ~@6 g3@2 ~ [b3,d4]@7 ~ [b3,d4,f4]@5 ~@3 g2 ~@7 [c4,eb4,g4]@5 ~@3 [c4,eb4,g4]@6 ~@2 [c4,eb4,g4]@5 ~@3 [d4,f4,g4]@6 ~@2 [d4,f4,g4]@5 ~@3 [d4,f4,g4]@7 ~ [d4,f4,g4]@5 ~@3 [c4,eb4,g4]@7 ~ [c4,eb4,g4]@5 ~@3 [c4,eb4,g4]@7 ~ [c4,eb4,g4]@5 g3@3, g1@31 ~ g1@30 ~@2 [g1,g2]@14 ~@2 [g1,g2]@15 ~ [g1,g2]@15 ~ [g1,g2]@15 ~, g2@15 ~ g2@16 [c4,eb4]@3 g2@12 ~ g2@14 ~@66, ~@8 [f4,g4]@15 ~ g4@15 ~@89, ~@8 [c4,d4]@7 ~ g3@8 ~@5 g3@14 ~@2 g3@14 ~@2 g3@14 ~@2 g3@14 ~@2 g3@10 ~@6 g3@10 ~@9]/8", // Csus4 Bm Bdim Cm G7 Cm G Cm …
  V: "[[d4,f4,g4]@7 ~ [d4,f4,g4]@5 ~@3 [d4,f4,g4]@6 ~@2 [d4,f4,g4]@5 ~@3 [c4,eb4,g4]@6 ~@7 g3@2 ~ [f1,f2,a3,c4,f4]@15 ~, [g1,g2]@15 ~ [g1,g2]@16 c2@16 ~@16, ~@13 g3@10 ~@6 g3@9 ~@2 eb4@22 ~@2, ~@40 [c4,g4]@7 ~@17]/4", // G7 Cm F G C5
  W: "[bb2,bb3,bb4]@5 [c3,c4,c5]@5 ~ [ab2,ab3,ab4]@3 ~@2", // Bb C Ab
  X: "[g4,d5,f5,g5] ~@2 [g4,d5,g5] ~@4 [g4,d5,f5,g5] ~@2 [g4,d5,f5,g5]@4 ~, [g2,g3]@7 ~, ~@3 f5@2 ~@11", // G7 G5 G7 G
  Y: "[g4,d5,f5,g5] ~@2 [g4,d5,f5,g5] ~ [g4,d5,f5,g5] ~@2 [g4,d5,f5,g5] ~@2 [g4,d5,f5,g5]@4 ~, [g2,g3]@15 ~", // G7 G
  Z: "[g4,d5,f5,g5] ~@2 [g4,d5,f5,g5]@4 ~ [g4,d5,f5,g5] ~@2 d5@2 d5 ~@2, [g2,g3]@15 ~, ~@11 [g4,f5,g5]@4 ~", // G7 G G7
  AA: "[g2,f5,g5] ~@2 [g2,g3,g4,g5]@2 [g2,g3,g4,b4,eb5,g5]@2 ~ [g2,g3,b4,eb5,g5]@2 ~ c8 [g7,a7,b7] [g4,c7,d7,e7,f7] [f6,g6,a6,b6] [a5,b5,c6,d6,e6], [g3,g4]@2 ~@6 g4 ~@2 [g2,g3,g4,d5,f5,g5]@2 [g2,g3,d5,f5,g5]@2 ~", // G7 G Gaug G C G7 Am G …
  AB: "[g5,c6,eb6]@2 ~ [eb5,g5,eb6] ~ [eb5,g5,c6,eb6] ~@2 [eb5,g5,eb6] ~@2 [eb5,g5,c6,eb6] ~ [eb5,g5,c6,eb6] ~@2, [c2,c3]@7 ~@9, [eb5,e5,f5] ~@2 c6@2 ~@3 c6@2 ~@6", // Cm Eb Cm Eb Cm C
  AC: "[g4,db5,f5,g5] ~@2 [g4,db5,f5,g5] ~ [g4,db5,f5,g5] ~@2 [g4,db5,f5,g5] ~@2 [g4,db5,f5,g5] ~ [g4,db5,f5,g5] ~@2", // Gm7b5
  AD: "[g4,db5,f5,g5] ~@2 [g4,db5,f5,g5] ~ [g4,db5,f5,g5] ~@2 [g4,db5,f5,g5] ~ b7 [g4,db5,f5,g5,e7,f7,g7,a7] [g6,a6,b6,c7,d7] [b5,c6,d6,e6,f6] [d5,e5,f5,g5,a5] [a4,b4,c5]", // Gm7b5 A7 G Bdim Dm Am
  AE: "[g5,c6,eb6]@2 ~ [eb5,g5,eb6] ~ [eb5,g5,c6,eb6] ~@2 [eb5,g5,eb6] ~@2 [eb5,g5,c6,eb6] ~ [eb5,g5,c6,eb6] ~@2, [c2,c3]@7 ~@9, eb5 ~@2 c6@2 ~@3 c6@2 ~@6", // Cm Eb Cm Eb Cm C
  AF: "[c5,f5,ab5,c6] ~@2 [c5,f5,ab5,c6] ~ [c5,f5,ab5,c6] ~@2 [c5,f5,ab5,c6] ~@2 [c5,f5,ab5,c6] ~ [c5,f5,ab5,c6] ~@2, f3@3 ~@13", // Fm
  AG: "[c5,f5,ab5,c6] ~@2 [c5,f5,ab5,c6] ~ [c5,f5,ab5,c6] ~@2 [c5,f5,ab5,c6] ~@2 [c5,f5,ab5,c6] ~ [c5,f5,ab5,c6] ~@2, eb3@3 ~@13", // Fm
  AH: "[[bb3,bb5]@6 ~@2 [ab3,ab5]@5 [g3,g5]@68 ~@15]/6", // Bb Ab G
})).s("gm_piano").gain(0.01).pan(0.6)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~ A B C B D B C B E F@4 ~@16 G@2 H I@2 J K L M@2 N O P Q R S T@2 U@2 V W X@2 B C B D B C B E Y@4 ~@14 G@2 H I@2 J K L
  M@2 N O P Q R S T@2 U@2 V W X@2 Z@2 AA AB AC AD AE@2 AD AF AE AG B C B D B C B AH AI@2 AJ@2 M@2 N O P Q R S T@2 U@2 V
  W AK AL M@2 N O P Q R AM AN AO AP AQ AR@2 AS AT M@2 N O P Q R S AU@2 AV@5 ~
>`.pickRestart({
  A: "~@13 g1@3, ~@13 g3 ~@2", B: "[eb2,eb4]@5 [d2,d4]@5 ~ [c2,c4]@5", C: "[g2,g4]@5 [bb2,bb4]@5 ~ [ab2,ab4]@5",
  D: "[g2,g4]@5 [c3,c5]@5 ~ [bb2,bb4]@5", E: "[c3,c5]@8 bb2@3 c3@2 ab2@3, ~@8 bb4 ~@2 c5 ~ ab4 ~@2",
  F: "[g2@13 d2@2 ~ g2@13 d2@2 ~ g2@30 ~@2, g4 ~, ~@16 [bb3,d4]@45 ~@3]/4", G: "[[ab3,c4,f4]@31 ~]/2",
  H: "[c4,f4,ab4]@15 ~", I: "[[c4,g4]@8 c4@7 ~ d4@14 ~@2, ~ f4@3]/2", J: "[bb3,f4]@15 ~", K: "[d4,f4]",
  L: "g3@5 bb3@5 ~ ab3@3 ~@2, [g2,f4,d5]@7 ~", M: "[[eb3,g3]@15 ~@12 d5@2 eb5@3, g5@27 ~@5, ~@16 [g3,bb3]@15 ~]/2",
  N: "d5 f5, [f3,ab3]@15 ~", O: "[f3,g3,bb5] [b3,eb4,ab5], ~@4 f3@3 ~", P: "g5@11 c5@2 d5@3, [eb3,g3,d4]@15 ~",
  Q: "eb5@11 d5@2 eb5@3, [eb3,g3,c4]@15 ~", R: "f5 ab5, [f3,ab3]@15 ~", S: "g5@5 bb5@5 ~ [g3,d4,ab5]@5, [g3,bb3] ~",
  T: "[[ab3,f4]@16 ~@11 e5@2 f5@3, f5@27 ~@5, ~@16 [ab3,db4]@15 ~]/2", // Db Db5
  U: "[[c4,d4]@15 ~@6 g5 ~@2 g5@3 bb5@2 ab5@3, g5@21 ~@11, ~@16 [g3,d4,f4]@15 ~]/2", // Csus2 G7
  V: "[g3,eb4]@7 ~@6 g5@3, eb5@3 ~, ~@8 [bb3,eb4]@7 ~", W: "ab5@11 g5@2 ab5@3, [c4,eb4]@15 ~",
  X: "[[a3,c4,d4]@14 ~@2 [g3,d4]@9 ~@7, g5@7 ~]/2", Y: "[g2@13 d2@2 ~ g2@13 d2@2 ~@33, g4 ~, ~@16 [bb3,d4]@45 ~@3]/4",
  Z: "[[d4,f4,g4]@23 ~ [b3,d4]@6 ~@2]/2", AA: "~@3 [eb4,g4]@2 c4@3 [eb4,g4]@3 c4@2 [eb4,g4] ~@2",
  AB: "[eb4,g4]@3 c4@2 eb4@2 ~@4 eb4@2 c4@2 ~, ~@5 g4 ~@5 g4 ~@4", // Eb
  AC: "[d4,f4]@2 ~ g3@2 [d4,f4]@2 ~@4 [d4,f4]@2 b3@2 ~", AD: "[d4,f4]@2 ~ b3@2 [d4,f4]@2 ~@4 [d4,f4]@2 b3@2 ~",
  AE: "[eb4,g4]@3 c4@2 [eb4,g4]@2 ~@4 [eb4,g4]@2 c4@3", AF: "[d4,f4]@3 b3@2 [d4,f4]@2 ~@4 [d4,f4]@2 b3@3",
  AG: "[f4,a4]@13 ~@3", AH: "[bb3,bb4]@5 [c4,c5]@5 ~ [ab3,ab4]@5",
  AI: "[~@22 eb4 f4 g4 ab4 bb4 b4 [c5,d5] eb5 f5 gb5, g3@25 ~@7, g4@23 ~@9, ~@21 d4@2 ~@9]/2", // Csus2
  AJ: "[g5@24 ~@3 f5@4 ~]/2", AK: "[g4,g5] f5, [db3,g3,c4,f4]@15 ~",
  AL: "[bb4,bb5]@8 [ab4,ab5]@5 ~@3, [db3,g3,db4,f4]@3 ~", AM: "g5@5 bb5@5 ~ [g3,d4,b4]@5, [g3,bb3] ~",
  AN: "b4@5 eb5@6 d5@2 b4@2 ~", AO: "c5@11 d5@2 eb5@2 ~", AP: "d5@5 c5@5 ~ ab4@5", AQ: "ab4@12 ~ bb4@3",
  AR: "[g4@26 ~ g5@5]/2", AS: "f5@5 g5@4 ~@2 ab5@4 ~", AT: "bb5@5 ab5@8 ~@3", AU: "[[c5,ab5,c6]@15 ~]/2",
  AV: "[[bb3,bb4]@5 ~@3 [ab3,ab4]@5 [db4,f4,g4]@65 ~@2]/5", // Bb Ab Gm7b5
})).s("gm_string_ensemble_1").gain(0.01).pan(0.9)

// other · cello · "CELLOS"
const cello = note(`<
  ~@6 A@3 B C@4 ~@16 D E F G H I J K L@2 M N O@2 P Q R S T@2 U S V W ~@4 A@3 B X@3 ~@15 D E F G H I J K L@2 M N O@2 P Q
  R S T@2 U S V W Y@2 Z AA AB AC AD AE AF@2 AG AH ~@4 A@3 AI AJ@3 AK L@2 M N O@2 P Q R S T@2 U S AL AM L@2 M N O@2 P Q
  L@2 M N O@2 P Q L@2 M N O@2 P Q AN AO AP@5 ~
>`.pickRestart({
  A: "[c3,g3,c4] ~@2 [c3,g3,c4] ~@4 [c3,g3,c4]@4 ~ [c3,g3,c4] ~@2", B: "c4@8 bb3 ~@2 c4 ~ ab3@2 ~",
  C: "[g3@32 d4@23 ~@9]/4", D: "f3@13 g3@3", E: "ab3@13 g3@3", F: "f3", G: "c3", H: "d3", I: "bb2@15 ~", J: "b2",
  K: "g2@13 ~@3", L: "[g3@27 ab3@2 bb3@3]/2", M: "c4@15 ~", N: "g3@5 bb3@5 ~ ab3@5", O: "[g3@27 d4@2 eb4@3]/2",
  P: "d4 c4", Q: "g3@5 bb3@5 ~ ab3@5, f3 ~@15", R: "f3@12 g3@3 ~", S: "ab3", T: "[g3@23 ~ g3@3 bb3@2 ab3@3]/2",
  U: "g3@15 ~", V: "g3@13 f3@3", W: "g3@8 d3@5 ~@3", X: "[g3@11 ~@5]/3", Y: "[[g3,d4]@3 b3, e4 ~@31]/2", Z: "c4",
  AA: "g4@8 f4@5 eb4@3", AB: "d4", AC: "a3 b3", AD: "bb3", AE: "g3 eb3", AF: "d3/2", AG: "c3 [g2,bb3]",
  AH: "[f2,a3]@13 ~@3", AI: "bb3@5 c4@5 ~ ab3@5", AJ: "[g3,d4]@7 ~ [g3,d4]@7 ~", AK: "[g3,g4]@9 ~@2 [g3,f4]@4 ~",
  AL: "g3 f3", AM: "bb3@8 ab3@5 ~@3", AN: "[d3,d4]@8 [c3,c4]@7 ~", AO: "[g3,g4]@8 [f3,f4]@7 ~",
  AP: "[[bb3,bb4]@7 ~ [ab3,ab4]@4 ~ [g3,g4]@67]/5", // Bb Ab G
})).s("gm_cello").gain(0.03).pan(0)

// chords · electric guitar jazz · "JAZZGUIT"
const electric_guitar_jazz = note(`<
  ~@10 A@2 B C D E F G H I J K L M N O P Q R S T@2 U@2 V@2 W@2 X Y Z AA X Y AB@2 AC AD AE@2 AF AG AH AI ~@8 A@2 D E F G
  H I J K L M N O P Q R S T@2 U@2 V@2 W@2 X Y Z AA X Y AB@2 AC AD AE@2 AF AG AH AI AJ AK AL@2 AM@4 ~ AN AO AP ~@12 X Y Z
  AA X Y AB@2 AC AD AE@2 AF AG AQ AR X Y Z AA X Y AB@2 X Y Z AA X Y AB@2 X Y Z AA X Y AB@2 AS AT AU@5 ~
>`.pickRestart({
  A: "d3@5 g3@3 bb3@3 ~@2 bb3@3, ~@11 d4@5", B: "~@5 bb3@3 ~@5 g3@3, d3@13 ~@3, ~@3 g3@5 d4@8, ~@11 bb3@5",
  C: "~@5 bb3@3 ~@3 bb3@2 g3@2 ~, d3@15 ~, ~@3 g3@8 ~@5, ~@4 d4@3 ~",
  D: "d3@3 ~@2 bb3@3 d4@3 ~@2 g3@3, ~@3 g3@4 ~@4 bb3@4 ~", E: "d3@3 ~@2 bb3@3 d4@3 bb3@2 gb3@3, ~@3 gb3@4 ~@9",
  F: "d3@3 ~@2 bb3@3 d4@3 bb3@2 f3@3, ~@3 f3@4 ~@9", G: "d3@3 ~@2 g3@3 d4@3 ~@2 e3@2 ~, ~@3 e3@4 ~@4 g3@5",
  H: "~@5 g3@3 ~@3 g3@2 eb3@3, c3@5 ~@11, ~@3 eb3@5 bb3@6 ~@2", I: "c3@3 ~@2 g3@3 c4@3 bb3@2 g3@3, ~@3 eb3@4 ~@9",
  J: "d3@3 ~@2 a3@3 c4@3 ~@2 g3@3, ~@3 g3@5 ~@3 a3@4 ~", K: "~@5 a3@3 ~@5 gb3@3, d3@7 ~, ~@3 gb3@5 c4@7 ~, ~@11 a3@4 ~",
  L: "~@3 bb3@2 ~@3 bb3@3 ~@2 bb3@3, g3@10 ~ g3@4 ~, ~@5 d4@7 ~@4", M: "~@3 bb3@2 d4@3 bb3@3 d3@2 bb3@2 ~, gb3@11 ~@5",
  N: "~@3 bb3@2 ~@3 bb3@3 ~@2 bb3@3, f3@10 ~ f3@4 ~, ~@5 d4@6 ~@5",
  O: "~@3 g3@2 ~@3 bb3@3 ~@2 bb3@3, e3@11 g3@5, ~@5 d4@11", P: "~@3 g3@2 a3@3 ~@3 a3@2 g3@3, c3@15 ~, ~ c4",
  Q: "~@3 g3@2 a3@3 ~@3 a3@2 g3@2 ~, c3@13 ~@3, ~ c4", R: "~@5 a3@3 ~@3 a3@2 g3@3, d3@7 ~, ~@3 g3@9 ~@4, ~ c4",
  S: "~@5 a3@3 ~@3 c4@2 a3@3, d3@13 ~@3, ~@3 gb3@10 ~@3, ~ d4",
  T: "[~@8 f4@3 g4@2 f4@3 ~@3 g4@2 f4@3 ~@5 c5@3, f3@15 ~ f3@13 ~@3, ~@3 ab3@13 ab4@5 ~@6 f4@5, ~@5 c4@17 ~@2 c4@8, ~@19 ab3@13]/2",
  U: "[~@8 f4@3 g4@2 f4@3 ab4@3 g4@2 f4@3 ~@5 c5@3, eb3@31 ~, ~@3 ab3@29, ~@5 c4@16 ~@3 c4@8, ~@27 f4@5]/2",
  V: "[~@8 f4@3 g4@2 f4@3 ab4@3 g4@2 f4@3 ~@5 c5@3, bb2@15 ~, ~@3 ab3@28 ~, ~@5 c4@16 ~@3 c4@8, ~@27 f4@5]/2",
  W: "[~@8 f4@3 g4@2 f4@3 ab4@3 g4@2 ~@3 d4@6 ~@2, b2, ~@3 ab3@29, ~@5 d4@16 f4@10 ~]/2", X: "c3@13 c3 ~ c3",
  Y: "c3@5 d3@5 ~ eb3@5", Z: "d3@15 ~", AA: "g2@15 ~", AB: "[ab3@13 b2@18 ~]/2", AC: "c3@8 ab2@7 ~", AD: "db3 ab2",
  AE: "d3 g2", AF: "eb3 c3", AG: "d3@7 ~ eb3@7 ~", AH: "d3@11 d3@2 ab2@3", AI: "g2@11 ~@5",
  AJ: "~@3 d4@2 c4@6 ~@5, f4@11 ~@5", AK: "c5@3 b4@5 g4@3 f4@2 d4@3", AL: "[~ g4@3, eb4]/2",
  AM: "[[d4,f4]@32 g4@31 ~]/4", AN: "[g4,b4]@5 [d4,g4]@4 ~@2 [b3,d4]@5", AO: "[c4,eb4]@7 ~ [eb4,g4]@7 ~",
  AP: "[c4,f4]@7 ~", AQ: "db3@11 g3@2 f3@3", AR: "db3@3 ~", AS: "d4@8 c4@7 ~", AT: "g3@8 f3@7 ~",
  AU: "[bb3@5 ~@3 ab3@5 g3@65 ~@2]/5",
})).s("gm_electric_guitar_jazz").gain(0.01).pan(1)

// other · piano · "CHIMES"
const piano_2 = note("<~@10 A@2 ~@50 A@2 ~@59 B A@2 C@2 ~@14 D E F@2 ~@22 G H I@3 ~@3>".pickRestart({
  A: "[g4@7 ~]/2", B: "bb4 ~@4 c5 ~@5 ab4@2 ~@3", C: "[g4@23 ~@9]/2", D: "g5@3 ~", E: "bb5 ~@7 ab5 ~@7",
  F: "[[g4,g5]@3 ~]/2", G: "g5@7 ~ f5@7 ~", H: "bb5@7 ~ ab5@6 ~@2", I: "[bb5@5 ~@3 ab5@3 ~@2 g5@23 ~@12]/3",
})).s("gm_piano").gain(0.5)

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

// drums · snare
const snare = s("sd").struct(`<
  ~@30 A@7 B A@7 C A@2 D E A@2 F ~@27 A@7 B A@3 B A@3 ~ A@2 G E A@2 C H ~@19 I ~@4 A@3 B A@3 ~ A@2 G E A@2 F J A@3 K A@3
  ~ A@3 B A@3 ~ A@3 B A@2 G E A@2 C ~@5
>`.pickRestart({
  A: "~ x", B: "~@8 x ~@2 x!3 ~@2", C: "~@8 x ~@4 x ~@2", D: "~ x!15", E: "x!16", F: "x!2", G: "~@8 x!8", H: "x",
  I: "~@5 x ~@5 x ~@4", J: "x ~@2 x!3 ~@2 x ~@2 x!3 ~@2", K: "~@3 x!3 ~@2 x ~@2 x!3 ~@2",
})).gain(0.31)

// drums · low tom
const low_tom = s("lt").struct("<~@9 A ~@51 A ~@65 B ~@35 C ~@12>".pickRestart({
  A: "~ x", B: "~@11 x ~@4", C: "~@3 x ~@12",
})).gain(0.31)

// drums · hihat
const hihat = s("hh").struct("<[x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2] ~@175>").gain(0.31)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@9 A ~@19 B ~@31 A ~@17 B ~@15 A ~@7 A ~@23 C ~@7 A ~@15 A ~@7 A ~@3 D ~@12
>`.pickRestart({
  A: "~@11 x ~@4", B: "~@13 x ~@2", C: "~@5 x ~@2 x ~@4 x ~ x", D: "~@5 x ~@10",
})).gain(0.31)

// drums · high tom
const high_tom = s("ht").struct("<~@9 A ~@19 B ~@31 A ~@17 B ~@15 C ~@7 A ~@23 D ~@7 C ~@15 C ~@7 C ~@16>".pickRestart({
  A: "~@13 x ~@2", B: "~@11 x ~@4", C: "~@8 x ~@4 x ~@2", D: "~@7 x ~ x ~@2 x ~@3",
})).gain(0.31)

// drums · crash
const crash = s("cr").struct(`<
  ~@10 A ~@19 A ~@6 A@2 ~@7 A ~@3 A ~@2 A@2 ~@7 A ~@17 A ~@6 A@2 ~@3 A ~@3 A ~@3 A ~@2 A@2 ~@11 A ~@6 B A@3 ~ A ~@3 A
  ~@3 A ~@3 A ~ A ~ A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~ C ~@5
>`.pickRestart({
  A: "x", B: "~@5 x ~@5 x ~@4", C: "x ~@7 x ~@4 x ~@2",
})).gain(0.31)

// drums · ride
const ride = s("rd").struct(`<
  ~@11 A@19 B@3 C B@3 ~ D@2 E D B D B@2 D@2 F ~ G B A ~@10 A@17 B@3 C B@3 ~ D B D H I B J H K B L ~ B D B ~ M A@3 N O@3
  N O A F ~@12 D B D H I B J H K B L ~ B D P Q D B D H I B J H D B D H I B J H D B D H I B R ~@9
// … 23 more lines

More by Crow Sheryl