Strudelify

Praying for Time

Michael George

KeyB♭ majorTempo66 bpm
0:00/0:00
// Praying for Time — Michael George
// 66 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 74 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): STEEL GTR.
setcpm(66/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 · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A@3 B A@3 C A@3 D@4 E F G H I J G H K A@3 L@4 M@4 N O@3 P A@3 N A@3 N Q G H I Q G H R A@3 S@4 B A@3 B A@3 P T ~
>`.pickRestart({
  A: "[d4,f4,bb4]/3", B: "gb4@3 ab4, [eb4,bb4]", C: "[c4,eb4,gb4,bb4]@3 [c4,f4,a4]",
  D: "[[c4,gb4]@3 ab4 [d4,f4]@12, bb4, eb4 ~@3]/4", E: "gb4@3 [f4,ab4], [c4,eb4,bb4]", F: "[c4,eb4,g4]",
  G: "[g4,b4,d5,f5]", H: "[g4,bb4,d5,f5]", I: "[f4,a4,c5,eb5]", J: "[c5,eb5,g5]", K: "[f4,a4,c5,eb5]@3 [f4,a4,c5,d5]",
  L: "[[eb4,gb4,bb4]@3 [eb4,ab4] [d4,f4]@12, ~@3 bb4@13]/4", // Ebm Ab5 Dm
  M: "[[eb4,gb4,bb4]@8 [eb4,gb4,bb4]@4 [eb4,ab4]@4 [d4,f4]@47 ~, ~@3 bb4@13]/4", N: "[eb4,gb4,bb4]@3 [eb4,ab4,bb4]",
  O: "[[d4,f4,bb4]@47 ~]/3", P: "[eb4,gb4,bb4]@3 [c4,f4,a4]", Q: "[g4,c5,eb5]", R: "eb5@3 d5, [f4,a4,c5]",
  S: "[gb4@3 ab4 [d4,f4]@12, bb4, eb4 ~@3]/4", T: "[d4,f4,bb4,d5]",
})).s("gm_string_ensemble_1").gain(0.17)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  A B C D E F@2 G C F C H C@2 F I J K L M N O L P L F B I Q B A H F B@2 R A B S T B S B R U B@2 I V W A M V X A Y B Z S
  I B@3 R Z AA S R A Z S AB AC ~
>`.pickRestart({
  A: "bb1@6 bb1 ~ bb1@8", B: "bb1@6 bb1 ~ bb1@7 ~", C: "bb1@5 ~ bb1@2 bb1@7 ~", D: "bb1@5 ~ gb1 ~ gb1@4 ab1@4",
  E: "bb1@5 ~ bb1 ~ bb1@8", F: "bb1@6 bb1@2 bb1@7 ~", G: "bb1@5 ~ bb1@2 gb1@4 f1@4", H: "bb1@5 ~ bb1@2 gb1@4 ab1@4",
  I: "bb1@6 gb1 ~ gb1@4 ab1@4", J: "c2@3 c2 c2@4", K: "b1@3 b1 b1@4", L: "bb1@3 bb1 bb1@4", M: "a1@3 a1 f1@2 g1@2",
  N: "c2@5 ~ c2@2 c2@8", O: "b1@6 g1 ~ g1@4 b1@4", P: "a1@5 ~ a1@2 f1@3 f1!2 g1 a1 f1", Q: "bb1@5 ~ bb1 ~ bb1@6 f1 g1",
  R: "bb1@3 bb1 gb1@2 ab1@2", S: "bb1@5 ~ bb1 ~ bb1@7 ~", T: "bb1@3 bb1 gb1@2 f1@2", U: "bb1@6 bb1 ~ bb1@6 bb1 c2",
  V: "c2@6 c2 ~ c2@8", W: "b1@6 b1 ~ b1@8", X: "b1@3 b1 g1@2 b1@2", Y: "a1@5 ~ a1@2 f1@2 ~ f1!2 g1 a1 f1",
  Z: "bb1@6 bb1 ~ bb1@6 f1 g1", AA: "bb1@6 bb1 ~ bb1@6 d2 c2", AB: "bb1@6 gb1!2 gb1@3 ~ a1 bb1 c2 a1", AC: "bb1",
})).s("gm_acoustic_bass").gain(0.27)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV
  AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU ~
>`.pickRestart({
  A: "[bb3,d4,f4]@2 [bb3,d4,f4]!2 [bb3,d4,f4]@2 [bb3,d4,f4] [f3,bb3,d4,f4] d4@2 d4 [d4,f4] [bb3,d4,f4]@2 ~ [d4,f4], f3@7 ~ f3@7 ~, ~@4 [bb3,f4]@2 ~ bb3", // Bb Dm Bb Dm Bb5
  B: "[a3,d4,f4]@2 [a3,d4,f4]!2 [f3,a3,d4,f4]@2 [a3,d4,f4] [d4,f4] d4@2 d4 [d4,f4] f4 ~@2 [a3,f4], f3 ~ [f3,a3,f4] [f3,a3], ~@6 d4!2, ~@13 f4@2 ~", // Dm F
  C: "[ab3,d4,f4]@2 [ab3,d4,f4] [d4,f4] [f3,ab3,d4,f4]@3 [d4,f4] [f3,ab3,d4,f4]@2 [ab3,d4,f4] [f3,d4,f4] ~ f4 [f3,ab3,d4,f4] ~, f3@2 ~@4 [f3,ab3,d4,f4] ~", // Ddim Dm Ddim Dm Ddim Dm Ddim
  D: "[bb3,eb4,gb4]@2 [bb3,eb4,gb4]!2 [gb3,bb3,eb4,gb4]@2 [bb3,eb4,gb4] [gb3,bb3,eb4,gb4] [gb3,eb4]@2 ~ [eb4,gb4] [ab3,c4,eb4,ab4]@2 [ab3,c4,eb4,ab4] [c4,ab4], gb3 ~ [bb3,gb4] ~, ~@5 [gb3,eb4] ~@2", // Ebm Ab Fm Ebm
  E: "[f3,bb3,d4]@3 [d4,f4] [f3,bb3,d4,f4]@2 [f3,bb3,d4] [bb3,d4,f4] [bb3,d4]@2 ~ [d4,f4] [f3,bb3,d4,f4]@2 [f3,bb3,d4,f4] [b3,f4], ~@2 [f3,f4] ~, ~@5 bb3 ~@2", // Bb Dm Bb Dm Bb Bdim F
  F: "[a3,d4,f4]@2 [d4,f4] [a3,d4,f4] [a3,d4,f4]@2 [a3,d4,f4] [d4,f4] d4@2 d4 [d4,f4] [f3,a3,d4,f4] [a3,d4,f4] ~ f4, f3@4 [f3,a3,f4]@2 ~ [f3,a3,d4,f4]", // Dm F Dm
  G: "[d4,f4]@2 [d4,f4] [ab3,d4,f4] [f3,ab3,d4,f4]@3 [d4,f4] [f3,ab3,d4,f4]@3 [d4,f4] [f3,ab3,d4,f4]@2 [f3,ab3,d4,f4] ~, [f3,ab3] ~@3", // Dm Ddim Dm Ddim Dm Ddim Fm
  H: "[eb4,gb4]@2 [eb4,gb4]!2 [gb3,bb3,eb4,gb4]@3 [eb4,gb4] gb4@2 gb4 [bb3,eb4,gb4] [gb3,bb3,eb4,gb4] ~ [a3,c4,f4,a4] ~, [gb3,bb3] ~ [gb3,bb3,eb4] ~", // Ebm F Gb Ebm
  I: "f3 ~@2 f4 f4@2 f4 [bb3,d4,f4] [bb3,d4,f4]@2 [bb3,d4,f4]!2 [f3,bb3,d4,f4]@2 [bb3,d4,f4] f4, [bb3,d4] d4 ~@6, ~ f3@3 [f3,bb3,d4]@4 f3@4 ~@4", // Bb
  J: "[d4,f4]@2 [d4,f4]!2 [f3,a3,d4,f4]@3 [a3,d4,f4] [f3,a3,d4,f4]@3 [a3,d4,f4] [d4,f4]!2 [a3,d4,f4] ~, [f3,a3] ~@2 f3, ~@6 a3 ~", // Dm F
  K: "[f3,ab3,d4,f4]@3 [d4,f4] [ab3,d4,f4]@2 [ab3,d4,f4] [d4,f4] [f3,ab3,d4,f4]@2 [ab3,d4,f4] [f3,ab3,d4,f4] [f3,ab3,d4,f4]@2 [f3,ab3,d4,f4] ~, ~ f3 ~@2", // Ddim Dm Ddim Dm Ddim
  L: "[eb4,gb4]@2 [eb4,gb4]!2 [gb3,bb3,eb4,gb4]@2 ~ [bb3,eb4,gb4] [gb3,bb3,eb4,gb4]@2 [bb3,eb4,gb4] [gb3,bb3,eb4,gb4]!2 [ab3,c4] [ab3,c4,eb4,ab4] ~, [gb3,bb3]@2 ~ [gb3,eb4] ~@4", // Ebm Ab Gb Ebm
  M: "d4@2 [d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]!2 [bb3,d4]@2 ~ [d4,f4] [f3,bb3,d4,f4]@2 [bb3,d4,f4] [bb3,f4], bb3 f3 [f3,f4] ~, ~@5 [bb3,d4] ~@2", // Dm Bb Dm Bb Bb5 F Bb
  N: "[a3,d4,f4]@2 [a3,d4,f4]!2 d4@2 d4 [a3,d4,f4] f4@2 f4 [a3,d4,f4] d4!2 [a3,d4,f4] [d4,f4], f3 [f3,a3,f4] [f3,a3,d4] f3, ~@6 [a3,f4] ~", // Dm F Dm
  O: "[d4,f4]@2 [d4,f4] [f3,d4,f4] f4@2 f4 [ab3,d4,f4] [ab3,d4,f4]@2 [ab3,d4,f4]!2 [f3,ab3,d4,f4]@2 [ab3,d4,f4] e4, [f3,ab3] [f3,ab3,d4] f3 ~", // Dm Ddim Fm Ddim
  P: "gb4@2 gb4 [bb3,eb4,gb4] eb4@2 eb4 [eb4,gb4] [gb3,bb3,eb4,gb4]@3 [bb3,eb4,gb4] [gb3,bb3,eb4,gb4] ab3 [ab3,c4,eb4,ab4] ~, [gb3,bb3,eb4] [gb3,bb3,gb4] ~@2", // Ebm Ab Ebm Gb
  Q: "[c4,eb4,g4]@3 [eb4,g4] [c4,eb4,g4]@2 [c4,eb4,g4] [eb4,g4] [c4,eb4,g4]@2 [c4,eb4,g4] [eb4,g4] [g3,c4,eb4,g4]@2 [c4,eb4,g4] ~, g3@2 g3 ~", // Cm Eb Cm Eb Cm Eb Cm
  R: "[b3,d4,g4]@2 b3 [b3,f4,g4] [b3,f4,g4]@3 [b3,f4,g4] [b3,g4]@2 g4 [f4,g4] g4!2 [b3,f4,g4] g4, g3@2 [g3,f4] g3, ~@6 [b3,f4] ~", // G G7 Em Fsus2 G7 Bdim
  S: "[g3,bb3,g4]@3 [bb3,f4,g4] [g3,bb3,f4,g4]@3 [f4,g4] [bb3,f4,g4]@2 f4 [bb3,f4,g4] f4!2 [bb3,f4,g4] ~, d4 ~@7 g3@4 [g3,bb3,g4]@3 ~", // Gm Gm7 Fsus2 Gm7 Gm
  T: "c4@2 ~ f4 [f3,c4,f4]@3 [a3,f4] [f3,a3,c4,f4]@3 c4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~, [a3,f4]@2 a3 ~@5, ~ c4 ~@6", // F5 Dm F Dm
  U: "[g3,c4,eb4,g4]@3 [eb4,g4] [c4,eb4]@2 [c4,eb4] [eb4,g4] [c4,g4]@2 ~ [eb4,g4] [c4,eb4,g4]@2 [c4,eb4,g4] ~, ~ [g3,g4] [g3,eb4] g3, ~@5 c4 ~@2", // Cm Eb Cm Eb C5 Eb Cm G …
  V: "[d4,g4]@2 f4 [f4,g4] g4@2 g4 [f4,g4] [b3,f4,g4]@2 [f4,g4] [b3,f4,g4] [g3,b3,f4,g4]@2 [g3,b3,f4,g4]@2, [g3,b3] [g3,b3,f4] g3 ~", // G5 Fsus2 G7 Fsus2 G7 G G7
  W: "[f4,g4]@2 f4 g4 f4@2 f4 [bb3,f4,g4] [g3,f4,g4]@3 [bb3,f4,g4] [g3,bb3,f4,g4]@2 [g3,bb3,f4,g4] e4, [g3,bb3]@2 [g3,bb3,g4]@2 bb3 ~@3", // Fsus2 Gm7 G7 Gm7 Gm
  X: "[f3,a3,c4,f4]@3 [c4,f4] c4@2 ~ f4 [f3,a3,c4,f4]@3 f4!3 [c4,f4] ~, ~@4 [f3,a3,f4]@4 ~@4 [f3,a3,c4]@3 ~, ~@3 c4 ~@4", // F F5 F F5 F
  Y: "d4@2 d4 [d4,f4] [d4,f4]@2 [d4,f4] [bb3,d4,f4] [d4,f4]@2 [d4,f4] [bb3,d4,f4] ~ f4 [f3,bb3,d4,f4] [b3,f4], [f3,bb3]@2 [f3,bb3]@2 [f3,bb3]@2 [f3,bb3,d4,f4] ~", // Dm Bb Dm Bb Bdim Bb5 Bb
  Z: "f4@2 f4 [a3,d4,f4] [a3,d4]@2 [a3,d4] [a3,d4,f4] d4@2 d4 [d4,f4] ~ [d4,f4] ~ e4, [f3,a3,d4]@2 [f3,f4]@2 [f3,a3,f4]@2 [f3,a3,d4,f4]!2", // Dm D5 Dm F Dm
  AA: "[ab3,d4]@2 d4 [d4,f4] [ab3,d4,f4]@2 ~ f4 [d4,f4]@2 [d4,f4]!2 [f3,ab3,d4,f4]@2 [f3,ab3,d4,f4] eb4, [f3,f4] f3 [f3,ab3] ~, ~@3 [d4,f4] ~@4", // Abdim Dm Ddim Dm Ddim F Fm Dm
  AB: "[gb3,bb3,eb4,gb4]@3 [eb4,gb4] [bb3,eb4,gb4]@2 [bb3,eb4,gb4] [eb4,gb4] [gb3,bb3,eb4,gb4]@3 [bb3,eb4,gb4] ~ [eb4,ab4] [c4,eb4,ab4] ~, ~@4 gb3@4 ~@4 [ab3,c4]@3 ~", // Ebm Ab5 Ab
  AC: "[f3,bb3,d4,f4]@4 [f3,bb3,d4]@4 [bb3,d4]@2 [bb3,d4,f4] [d4,f4] ~ [d4,f4] [f3,bb3,d4,f4] d4, ~@2 f4@3 ~@3, ~@4 f3@2 [f3,bb3,d4,f4] ~", // Bb Dm Bb
  AD: "[f3,a3,d4,f4]@3 [d4,f4] [f3,a3,d4,f4]@3 [d4,f4] [a3,d4,f4]@2 [a3,d4,f4] [d4,f4] [a3,d4,f4]@2 ~ f4, ~@4 f3@3 [f3,a3,d4,f4]", // Dm
  AE: "[ab3,d4,f4]@2 [ab3,d4,f4] f4 [d4,f4]@2 [d4,f4]!2 f4!2 [ab3,d4,f4]!2 ~ f4 [f3,ab3,d4,f4] ~, f3@2 [f3,ab3]@2 f3@2 [f3,ab3,d4,f4] ~, ~@4 [ab3,d4] ~@3", // Ddim Dm Ddim Fm Ddim Abdim
  AF: "[gb3,bb3,eb4,gb4]@3 [bb3,eb4,gb4] [bb3,eb4,gb4]@2 ~ gb4 [gb3,bb3,eb4,gb4]@2 [bb3,eb4,gb4] ~@2 ab4 [c4,eb4,ab4] ~, ~@2 gb3@2 ~@2 [ab3,c4,eb4,ab4] ~, ~@3 [bb3,eb4,gb4] ~@4", // Ebm Ab Ebm
  AG: "[bb3,d4,f4]@2 ~ f4 f4@2 f4 [bb3,d4,f4] [bb3,d4,f4]@2 [bb3,d4,f4] [d4,f4] [f3,bb3,d4,f4]@2 [f3,bb3,d4,f4] f4, f3 [f3,bb3,d4] f3 ~, ~ [bb3,d4,f4] ~@6", // Bb Dm Bb
  AH: "[f3,d4]@3 [d4,f4] [a3,d4,f4]@2 [a3,d4,f4] [d4,f4] [a3,d4,f4]@2 ~ f4 [a3,d4,f4]@2 [a3,d4,f4] ~, [a3,f4] ~ f3@2 f3@2 f3@2, ~@5 [a3,d4,f4] ~@2", // Dm
  AI: "[d4,f4]@2 [d4,f4]!2 [ab3,d4]@2 [ab3,d4] [ab3,d4,f4] [ab3,d4,f4]@2 [ab3,d4,f4] [ab3,f4] [f3,ab3,d4,f4]@2 [f3,ab3,d4,f4] ~, [f3,ab3] [f3,f4] f3 ~", // Dm Abdim Ddim Db Ddim Fm F
  AJ: "[gb3,bb3,eb4,gb4]@2 [gb3,bb3,eb4,gb4]@2 [bb3,eb4,gb4]@2 [bb3,eb4,gb4]!2 [gb3,bb3,eb4,gb4]@2 [gb3,bb3,eb4,gb4] ~@2 ab4 [ab3,c4,eb4,ab4] e4, ~@2 gb3@2 ~@2 [ab3,c4,eb4,ab4] ~", // Ebm Ab
  AK: "d4@2 d4 [bb3,d4,f4] [d4,f4]@2 [d4,f4] [bb3,d4,f4] [bb3,d4,f4]@2 [bb3,d4,f4]!2 ~ f4 [f3,bb3,d4,f4] ~, [f3,bb3]@2 [f3,bb3]@2 f3@2 [f3,bb3,d4,f4] ~", // Bb Dm Bb Bb5 Bb
  AL: "[d4,f4]@2 ~ f4 [a3,d4,f4]@2 [a3,d4,f4] [d4,f4] [d4,f4]@2 [d4,f4]!2 f4!2 [a3,d4,f4] ~, [f3,a3] f3 [f3,a3] f3, ~ [d4,f4] ~@4 [a3,d4] ~", // Dm F Dm D5
  AM: "[ab3,d4,f4]@2 [d4,f4] [ab3,d4,f4] d4@2 d4 [d4,f4] d4@2 d4 [ab3,d4,f4] ~ [d4,f4] [f3,ab3,d4,f4] ~, f3@2 [f3,ab3,f4]@2 [f3,ab3,f4]@2 [f3,ab3,d4,f4] ~", // Ddim Dm Ddim Dm Ddim Dm Ddim Fm …
  AN: "[bb3,eb4,gb4]@2 eb4 [eb4,gb4] [bb3,eb4,gb4]@2 ~ [eb4,gb4] [bb3,eb4,gb4]@2 [bb3,eb4,gb4] ~@2 [f4,a4] [a3,c4,f4,a4] ~, gb3@2 gb3 ~, ~@3 [bb3,eb4] ~@2 [a3,c4,f4,a4] ~", // Ebm F Eb5 F
  AO: "[bb3,d4,f4]@2 [bb3,d4,f4] d4 [d4,f4]@2 [d4,f4]!2 [d4,f4]@2 d4 [bb3,d4,f4] [f3,bb3,d4,f4]@2 [bb3,d4,f4] f4, f3 [f3,bb3]!2 ~", // Bb Dm Bb Bb5
  AP: "[d4,f4]@2 [d4,f4] [a3,d4,f4] [d4,f4]@2 [d4,f4] [a3,d4,f4] [d4,f4]@2 [d4,f4] [a3,d4,f4] ~ [d4,f4] ~ [g3,f4], [f3,a3]@2 [f3,a3]@2 [f3,a3]@2 [f3,a3,d4,f4]!2", // Dm G7 F Dm
  AQ: "[ab3,d4,f4]@2 [d4,f4] [ab3,d4,f4] [d4,f4]@2 [d4,f4]!2 [ab3,d4]@2 ~ [d4,f4] f4!2 [ab3,d4,f4] ~, f3@4 [f3,ab3]@4 [f3,f4]@4 [f3,ab3,d4]@3 ~, ~@5 [ab3,d4] ~@2", // Ddim Dm Ddim Dm Abdim Dm Ddim Fm …
  AR: "eb4@2 ~ gb4 [bb3,eb4,gb4]@2 [bb3,eb4,gb4] [eb4,gb4] [gb3,bb3,eb4,gb4]@2 ~ [eb4,gb4] [gb3,bb3,eb4] ~ [ab3,c4,eb4,ab4] ~, gb3@4 ~ [gb3,bb3,eb4,gb4] ~@2, [bb3,gb4] ~@3, ~ eb4 ~@6", // Ebm Ab Ebm
  AS: "d4@2 d4 [bb3,d4,f4] bb3@2 ~ [d4,f4] f4@2 f4 [bb3,d4,f4] [f3,bb3,d4,f4] [bb3,d4,f4] [f3,bb3,d4,f4] [b3,f4], [f3,bb3,f4] [f3,f4] [f3,bb3,d4] ~, ~@4 d4 ~ [bb3,d4]@2 ~@8", // Bb Dm Bb Bdim Bb5 F Bb
  AT: "[a3,d4,f4]@2 [a3,d4,f4] [d4,f4] d4@2 d4 [a3,d4,f4] d4!2 ~ f4 [a3,d4,f4]@2 [a3,d4,f4] f4, f3 [f3,a3,f4] [f3,f4] f3, ~@4 a3 [a3,d4] ~@2", // Dm F D5
  AU: "[ab3,d4]@2 [ab3,d4]@2 [ab3,d4,f4]@2 [ab3,d4,f4]!2 [ab3,d4,f4]@2 [ab3,d4,f4]!2 ~ [d4,f4] [f3,ab3,d4,f4] e4, [f3,f4]@2 f3@2 f3@2 [f3,ab3,d4,f4] ~", // Abdim Ddim Dm Ddim F Ddim
  AV: "[bb3,eb4]@2 ~ gb4 [bb3,eb4,gb4]@2 [bb3,eb4,gb4]!2 [gb3,bb3,eb4,gb4]@2 ~ gb4 ~ [ab3,c4,eb4,ab4]!2 e4, ~ [bb3,eb4,gb4] gb3@2 ~ [gb3,bb3,eb4,gb4] ~@2", // Eb5 Ebm Ab Ebm
  AW: "[g3,c4,eb4,g4]@3 [eb4,g4] [eb4,g4]@2 [eb4,g4] [c4,eb4,g4] [g3,c4,eb4,g4]@2 [g3,c4,eb4] [c4,eb4,g4] [g3,c4,eb4,g4]@2 [g3,c4,eb4,g4] e4, ~ [g3,c4] ~@2", // Cm Eb Cm C5
  AX: "~ f4 [b3,f4,g4] [f4,g4] g4@2 g4 [f4,g4] [f4,g4]@2 [f4,g4]!2 g4!2 [b3,f4,g4] ~, [b3,e4,g4] ~ [g3,b3,f4]@2 [g3,b3]@2 g3@2, ~@6 [b3,f4] ~", // G7 Fsus2 G7 Em G7 G Bdim
  AY: "[f4,g4]@2 [f4,g4] g4 [g3,bb3,f4,g4]@3 [f4,g4] [bb3,f4,g4]@2 [bb3,f4,g4] [f4,g4] [g3,bb3,f4,g4]@2 [bb3,f4,g4] e4, [g3,bb3] ~ g3 ~", // Fsus2 Gm7 Fsus2 Gm7 Fsus2 Gm7 Gm
  AZ: "[c4,f4]@2 [c4,f4]!2 f4@2 f4@2 [a3,c4,f4]@2 ~ f4 [a3,c4,f4] [c4,f4] [f3,a3,c4,f4] [b3,e4], [f3,a3]@2 [f3,a3,c4]@2 f3@3 ~, ~@5 [a3,c4] ~@2", // F5 F F5 F E5 F Am
  BA: "[eb4,g4]@2 [eb4,g4]@2 [c4,eb4,g4]@2 ~ g4 [g3,c4,eb4,g4]@4 [c4,eb4,g4]@2 [c4,eb4,g4] ~, [g3,c4] g3 ~ g3, ~@3 [c4,eb4,g4] ~@4", // Eb Cm C5 Cm
  BB: "[g3,b3,g4]@3 [b3,f4,g4] [b3,f4,g4]@2 [b3,f4,g4] [f4,g4] [b3,f4,g4]@2 [b3,f4,g4] [f4,g4] g4!2 [b3,f4,g4] ~, d4 ~ g3@2 g3@2 g3@2, ~@6 [b3,f4] ~", // G G7 Fsus2 G7 Fsus2 G7 Bdim
  BC: "[g3,bb3,d4,g4]@3 [d4,g4] ~@2 g4 [f4,g4] [g3,bb3,f4,g4]@3 g4 [f4,g4]!2 [bb3,f4,g4] ~, ~@4 [g3,bb3,f4]@4 ~@4 [g3,bb3]@3 ~", // Gm G5 Fsus2 Gm7 Fsus2 Gm7 Gm
  BD: "[c4,f4]@2 [c4,f4]@2 [f3,a3,c4,f4]@3 [c4,f4] [f3,a3,c4,f4]@3 [c4,f4] [a3,f4]!2 [a3,c4,f4] ~, [f3,a3]@4 ~@8 [f3,c4]@3 ~", // F5 F F5 F F5 Dm F F5
  BE: "[f3,bb3,d4,f4]@3 [d4,f4] [f3,bb3,d4,f4]@3 [bb3,d4,f4] [f3,bb3,d4,f4]@2 [f3,bb3,d4,f4] [bb3,d4,f4] ~ [d4,f4] [f3,bb3,d4,f4] [b3,f4], ~@6 [f3,bb3,d4,f4] ~", // Bb Dm Bb Dm Bb Bdim Bb
  BF: "[a3,d4,f4]@2 [d4,f4] [a3,d4,f4] [f3,a3,d4,f4]@3 [d4,f4] [d4,f4]@2 [d4,f4]!2 f4!2 [a3,d4,f4] e4, f3 ~ [f3,a3] f3, ~@6 [a3,d4] ~", // Dm F D5
  BG: "[d4,f4]@2 [d4,f4]!2 [ab3,d4]@2 ~ [d4,f4] f4@2 f4!4 [ab3,d4,f4] [g3,e4], [f3,ab3]@4 [f3,f4]@4 [f3,ab3,d4]@4 [f3,ab3,d4]@3 ~, ~@3 [ab3,d4] ~@4", // Dm Abdim Dm Ddim C Fm F Ddim …
  BH: "[gb3,bb3,eb4,gb4]@3 [eb4,gb4] [bb3,eb4,gb4]@2 ~ gb4 [bb3,eb4,gb4]@2 [bb3,eb4,gb4] [eb4,gb4] ~ [c4,eb4,ab4] [ab3,c4,eb4,ab4] ~, ~ gb3@2 ~, ~@3 [bb3,eb4,gb4] ~@4", // Ebm Ab Ebm
  BI: "f4@2 f4 [d4,f4] [d4,f4]@2 ~ d4 [f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]@2 ~ [d4,f4] [f3,bb3,d4,f4] [b3,f4], [f3,bb3,d4]@2 [f3,bb3]@2 ~@2 [f3,bb3,d4,f4] ~, ~@3 [d4,f4] ~@4", // Dm Bb Dm Bb Bdim Bb Bb5 Bb …
  BJ: "[f3,a3,d4,f4]@2 ~ f4 [a3,d4,f4]@2 [a3,d4,f4]@2 [f3,a3,d4,f4]@2 [a3,d4,f4]@2 ~ f4 [f3,a3,d4,f4] [d4,e4], ~ [f3,a3,d4,f4] f3@2 ~ f3@2 ~, ~@6 [a3,d4,f4] ~", // Dm Dsus2 Dm
  BK: "[ab3,d4,f4]@2 [ab3,d4,f4] [d4,f4] d4@2 d4@2 [f3,ab3,d4,f4]@3 [d4,f4] ~ f4 [f3,ab3,d4,f4] ~, f3@2 [f3,ab3,f4]@2 ~@2 [f3,ab3,d4,f4] ~", // Ddim Dm Ddim Dm Ddim Fm Ddim
  BL: "[bb3,eb4]@2 eb4 [eb4,gb4] [bb3,eb4,gb4]@2 ~ gb4 [gb3,bb3,eb4,gb4]@2 [gb3,bb3,eb4,gb4] ~@2 [eb4,ab4] [ab3,c4,eb4,ab4] [b3,e4], [gb3,gb4]@2 gb3@2 ~@2 [ab3,c4,eb4,ab4] ~, ~@3 [bb3,eb4,gb4] ~@4", // Eb5 Ebm Ab5 Ab E5 Gb Ab Ebm
  BM: "d4@2 [d4,f4]!2 [bb3,d4,f4]@2 ~ f4 [f3,bb3,d4,f4]@2 ~ [d4,f4] f4!2 [bb3,d4,f4] [b3,f4], f3@8 ~@2 [f3,bb3,d4,f4]@2 [f3,bb3,d4]@3 ~, bb3@2 ~ [bb3,d4,f4] ~@4", // Dm Bb Dm Bb Bdim Bb
  BN: "[d4,f4]@2 [d4,f4]!2 [a3,d4,f4]@2 ~ f4 [f3,a3,d4,f4]@2 ~ [d4,f4]!3 [a3,d4,f4] ~, [f3,a3]@4 f3@4 ~@2 [f3,a3,d4,f4]@2 [f3,a3]@3 ~, ~@3 [a3,d4,f4] ~@4", // Dm F Dm F Dm
  BO: "[ab3,d4,f4]@2 ~ [ab3,d4,f4] [ab3,d4,f4]@2 [ab3,d4,f4]@2 [f3,ab3,d4,f4]@3 [ab3,d4,f4] ~ f4 [f3,ab3,d4,f4] ~, ~ [f3,d4] f3@2 ~@2 [f3,ab3,d4,f4] ~", // Ddim Dm Ddim
  BP: "[bb3,eb4]@2 eb4 [eb4,gb4] [bb3,eb4,gb4]@2 ~ gb4 [gb3,bb3,eb4,gb4]@2 [bb3,eb4,gb4] ~ [c4,eb4,ab4] [eb4,ab4] [ab3,c4,eb4,ab4] b3, [gb3,gb4] gb3 ~@2, ~@3 [bb3,eb4,gb4] ~@4", // Eb5 Ebm Ab Ab5 Ab Gb Ebm
  BQ: "[bb3,d4,f4]@2 ~ f4 [d4,f4]@2 [d4,f4]!2 [bb3,d4,f4]@2 ~ f4 ~ [d4,f4] [f3,bb3,d4,f4] [b3,f4], f3@2 [f3,bb3]@2 f3@2 [f3,bb3,d4,f4] ~, ~ [bb3,d4,f4] ~@3 [bb3,d4,f4] ~@2", // Bb Dm Bb Dm Bb Bdim Bb5 Bb
  BR: "[d4,f4]@2 [d4,f4]!2 [a3,f4]@2 ~ f4 [a3,d4,f4]@2 [a3,d4,f4] [d4,f4] [a3,d4,f4]@2 [a3,d4,f4] ~, [f3,a3] [f3,d4] f3!2, ~@3 [a3,f4] ~@4", // Dm F Dm
  BS: "[f3,ab3,d4,f4]@3 [d4,f4] [ab3,d4,f4]@2 [ab3,d4,f4] [d4,f4] [d4,f4]@2 [d4,f4]!4 [ab3,d4,f4] ~, ~@4 f3@4 [f3,ab3]@4 [f3,ab3]@3 ~", // Ddim Dm Ddim Dm Ddim Fm
  BT: "[bb3,eb4,gb4]@2 [bb3,eb4,gb4] [eb4,gb4] [bb3,eb4,gb4]@2 ~ gb4 [bb3,eb4,gb4]@2 [bb3,eb4,gb4] [eb4,gb4] ~ [f3,a3,c4,f4]!2 ~, gb3!3 ~, ~@3 [bb3,eb4,gb4] ~@4", // Ebm F Ebm
  BU: "[f3,bb3,d4]", // Bb
})).s("gm_acoustic_guitar_steel").gain(0.14).pan(0.9)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1_2 = note(`<
  A B C D A B C E A B C D A B C D F G A H I G A H A J C D A B C D A B C D A B C E K B C D A B C D I L A B I G A M A B C
  N A B O D A M C D A P C E Q ~
>`.pickRestart({
  A: "bb3@3 bb3 bb3@3 bb3", B: "a3@3 a3 a3@3 a3", C: "ab3@3 ab3 ab3@3 ab3", D: "gb3@3 gb3 gb3@2 ab3@2",
  E: "gb3@3 gb3 gb3@2 f3@2", F: "c4@5 ~ c4@2 c4@6 c4@2", G: "b3@3 b3 b3@3 b3", H: "a3@3 a3 a3@4", I: "c4@3 c4 c4@3 c4",
  J: "a3@4 a3@3 a3", K: "bb3!2 ~ bb3 bb3@3 bb3", L: "b3@6 b3@2 b3@5 ~ b3@2", M: "a3@6 a3@2 a3@5 ~ a3@2",
  N: "gb3@5 ~ gb3@2 gb3@4 ab3@4", O: "ab3@6 ab3@2 ab3@5 ~ ab3@2", P: "a3@5 ~ a3@2 a3@4 ~@2 a3@2", Q: "bb3",
})).s("gm_string_ensemble_1").gain(0.17)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_2 = note(`<
  A B C ~ D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO ~ AP AQ AR AS AT ~
  AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ ~@2
>`.pickRestart({
  A: "~@10 f4@2 ~ f4@2 bb3", B: "~@13 d4@2 d4", C: "~@3 ab3 ~@2 [d4,f4] ~@6 [ab3,d4]@2 [d4,f4]",
  D: "~@2 [bb3,d4] bb3 ~@12", E: "~@10 f4 ~@5", F: "~@7 ab3 ~@2 d4@2 ~ [ab3,d4,f4] ~@2",
  G: "~@6 [eb4,gb4] ~@3 [bb3,eb4]@2 ~ [f3,a3,c4,f4] ~@2", H: "~@3 d4 ~@2 [bb3,d4]@2 ~@5 [d4,f4] ~@2",
  I: "~@6 d4 ~@3 [d4,f4] ~@4 d4", J: "~@7 ab3 ~@5 [d4,f4] ~ e4", K: "~@6 bb3 ~@6 eb4 ~@2",
  L: "f3@3 f4 ~@6 f4 ~@2 [d4,f4] ~@2", M: "~@6 a3@2 ~@2 d4 ~@2 f4 ~@2", N: "~@13 [d4,f4] ~@2",
  O: "~@2 eb4 ~@2 [eb4,gb4] [gb3,bb3,gb4]@2 ~@2 [bb3,eb4,gb4] ~@2 eb4 ~ [b3,e4], ~@6 [ab3,c4,ab4] ~", // Ebm Gb Ebm E5 Ab
  P: "~@3 c4 ~@9 g4 ~@2", Q: "~@2 [d4,g4] d4 d4@2 [d4,g4]@2 d4@2 [b3,d4]@2 ~ d4 d4@2, ~@6 d4 ~",
  R: "~@4 d4@3 d4 d4@2 [bb3,d4,g4]@2 d4@2 d4 e4", // Gm
  S: "~@2 f4@2 ~@2 f4@2 ~@3 f4 ~ [a3,c4,f4] ~ e4, ~@5 [f3,a3,c4,f4] ~@2", T: "~@10 [g3,eb4,g4]@2 ~ [eb4,g4] ~@2",
  U: "~@3 d4 d4@2 d4@2 d4@3 d4 ~ g4 d4 g4, ~@6 d4 ~", V: "d4@2 [d4,g4]@2 d4@2 g4 d4 d4@3 d4 d4@2 d4 ~",
  W: "~@7 c4 ~@3 c4 ~@2 a3 ~", X: "~@2 f4 ~@10 d4 ~@2", Y: "~@2 d4 ~@10 a3 ~@2", Z: "~@2 ab3@2 ~@6 ab3@2 ~ [d4,f4] ~@2",
  AA: "~@10 [gb3,bb3,eb4,gb4]@2 ~ c4 ~@2", AB: "~@3 [d4,f4] ~@2 [bb3,d4] [bb3,d4,f4] ~@7 [b3,f4]",
  AC: "~@5 [d4,f4]!2 ~@9", AD: "~@3 d4 ~@12", AE: "~@2 eb4 ~@4 eb4 ~@5 eb4 ~@2", AF: "~@3 d4 ~@9 [d4,f4] ~@2",
  AG: "~@2 [d4,f4] ~@10 f4 ~ e4", AH: "~@2 ab3@2 ~@9 [ab3,d4,f4] ~@2", AI: "~@3 [eb4,gb4] ~@9 eb4 ~@2",
  AJ: "~@2 f4 ~@10 d4 ~ f4", AK: "~@2 a3 d4 ~@5 [d4,f4] a3@2 ~@4",
  AL: "~@2 ab3 ~@3 [ab3,f4]@2 ~ f4 [ab3,f4]@2 ~@4, ~@6 f3@3 ~ f3@4 ~@2", AM: "~@6 gb4 ~@9",
  AN: "~@9 [d4,f4] [bb3,f4]@2 ~@4, ~@10 f3@5 ~", AO: "~@9 f4 a3@2 ~@4", AP: "~@13 [eb4,ab4] ~@2, ~@6 [ab3,c4,ab4] ~",
  AQ: "~@7 bb3 ~@2 [bb3,d4]@2 ~@2 db4 ~", AR: "~@6 f4@2 ~@3 d4 ~@4", AS: "~@2 f4!2 ~@12",
  AT: "[gb3,gb4]@3 eb4 ~@8 [ab3,c4,eb4,ab4]@2 ~@2", AU: "d4@3 d4 d4@3 d4 d4@3 d4 d4@2 ~ [bb3,g4], ~@7 d4",
  AV: "d4@3 d4 d4@3 d4 d4@2 d4!2 d4@2 d4 ~", AW: "~@5 [f3,f4] ~@2",
  AX: "~@3 [eb4,g4] ~@6 [g3,c4,eb4,g4]@2 ~ [eb4,g4] ~@2", AY: "~@2 d4!2 d4@4 d4 [d4,g4] d4@2 d4@2 d4 ~",
  AZ: "~@3 bb3 d4@3 d4 d4@2 [g3,bb3,d4]@2 ~ d4!2 ~, ~@6 d4 ~", // Gm
  BA: "~@3 [c4,f4] ~@2 [c4,f4]@2 ~@2 [f3,a3]@3 c4 ~ e4, ~@10 [c4,f4] ~@5", BB: "~@6 [bb3,d4,f4] ~@9",
  BC: "~@2 a3@2 ~@2 [d4,f4] ~@3 a3@2 ~ d4 ~@2", BD: "~@6 f4 ab3 ~@2 [ab3,d4]@3 [ab3,d4] ~@2",
  BE: "~@7 eb4 ~@4 [c4,eb4,ab4] ~@2 [b3,e4]", BF: "~@2 [bb3,d4] ~@4 f4 ~@8", BG: "~@3 d4 ~@3 f4 ~@5 d4 ~@2",
  BH: "~@3 ab3 ~@2 f4 [d4,f4] ~@2 [ab3,d4,f4]@3 [ab3,d4] ~@2", BI: "~@2 gb4 ~@4 eb4 ~@8",
  BJ: "~ f4@2 ~@2 db4 ~@3 f4 ~@6", BK: "~@15 d4", BL: "~@2 ab3 ~@4 [d4,f4] ~ f4 [f3,ab3,d4,f4]@2 ~@4",
  BM: "~@2 gb4 ~@4 [bb3,eb4] ~@3 [b3,e4] ~@4", BN: "~@3 d4 ~@5 f4@3 ~@4", BO: "~@2 a3 ~@3 d4!2 ~@5 [d4,f4] ~ e4",
  BP: "~@2 [d4,f4] ~@6 [d4,f4] ab3@2 ~@4", BQ: "~@7 eb4 ~ gb4 ~@2 [f3,a3,c4,f4]@2 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.14).pan(0.2)

// other · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_3 = note("<~@4 A B C D E ~@23 F G A H I B J K E ~@23 A B F L A M F N O ~>".pickRestart({
  A: "[bb3,bb4]@2 [f3,f4] [bb3,bb4] [bb3,bb4]@2 [f3,f4] [bb3,bb4]", // Bb F Bb F Bb
  B: "[c4,c5]@2 [f3,f4] [c4,c5] [c4,c5]@2 [f3,f4] [c4,c5]", // C F C F C
  C: "[ab3,ab4]@2 [f3,f4] [ab3,ab4] [ab3,ab4]@2 [f3,f4] [ab3,ab4]", // Ab F Ab F Ab
  D: "[gb3,gb4]@6 ~@2 [eb3,eb4]@3 ~ [a3,a4] [bb3,bb4] [c4,c5] [a3,a4]", E: "[bb3,bb4] ~",
  F: "[bb3,bb4]@4 [f3,f4]@2 [bb3,bb4]@2 [bb3,bb4]@4 [f3,f4]@2 [bb3,bb4] ~", // Bb F Bb F Bb
  G: "[c4,c5]@4 [f3,f4]@2 [c4,c5] ~ [c4,c5]@4 [f3,f4]@2 [c4,c5] ~", // C F C F C
  H: "[gb3,gb4]@6 [gb3,gb4] ~ [gb3,gb4]@3 ~ [ab3,ab4]@3 ~", // Gb Ab
  I: "[bb3,bb4]@4 [f3,f4]@2 [bb3,bb4] ~ [bb3,bb4]@4 [f3,f4]@2 [bb3,bb4]@2", // Bb F Bb F Bb
  J: "[bb3,bb4]@4 [f3,f4]@2 [bb3,bb4] ~ [bb3,bb4]@4 [f3,f4]@2 [bb3,bb4] ~", // Bb F Bb F Bb
  K: "[gb3,gb4]@5 ~ [gb3,gb4]@2 [eb3,eb4]@2 ~@2 [a3,a4] [bb3,bb4] [c4,c5] [a3,a4]", // Gb Eb A Bb C A
  L: "[gb3,gb4]@6 [gb3,gb4]@2 [gb3,gb4]@3 ~ [ab3,ab4]@3 ~", // Gb Ab
  M: "[c4,c5]@4 [f3,f4]@2 [c4,c5] ~ [c4,c5]@4 [f3,f4]@2 [c4,c5]@2", // C F C F C
  N: "[gb3,gb4]@5 ~ [gb3,gb4]@2 [eb3,eb4] ~@2 [c4,c5] [a3,a4] [bb3,bb4] [c4,c5] [a3,a4]", O: "[bb3,bb4]@3 ~@13",
})).s("gm_acoustic_guitar_steel").gain(0.25)

// chords · french horn · "FR.HORN" · Am
const french_horn = note("<~@36 [~@10 a3@3 bb3@3] [[a3,c4]@15 ~] ~@36>").s("gm_french_horn").gain(0.25)

// drums · kick
const kick = s("bd").struct(`<
  A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B C ~
>`.pickRestart({
  A: "x ~@2 x!2 ~@3", B: "x ~@5 x ~ x ~@2 x ~ x ~@2", C: "x",
})).gain(0.44)

// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!72 ~@2>").gain(0.44)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@2
>`.pickRestart({
  A: "~@12 x!4",
// … 14 more lines

More by Michael George