Strudelify
Blue Collar Man (Long Nights) cover art

1994 · Pieces Of Eight

Blue Collar Man (Long Nights)

Styx

KeyD minorTempo122 bpm
0:00/0:00
// Blue Collar Man (Long Nights) — Styx
// 122 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 120 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(122/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 · rock organ · "ORGAN 3"
const rock_organ = note("<A B@8 ~@24 A C D ~@76 A E@4 F@2 ~>".pickRestart({
  A: "~@14 [d4,a4]!2", // D5
  B: "[[d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@2 ~@2 [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 a4@2 [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@3 ~ [d4,a4]!2 [d4,a4]@2 [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 [d4,a4]@2 [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@3 ~ [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@6 ~@2 [d4,a4]!2 a4@2 [d4,a4]@3 ~ [g4,d5]@2 ~@2 [f4,c5]@4 ~@2, d3, ~@48 d4 ~@63 d4 ~@15]/8", // D5 F5 D5 G5 F5 D5 F5 D5 …
  C: "[d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@6 ~@2 [d4,a4]!2", D: "a4@2 [d4,a4]@3 ~ [g4,d5]@2 ~@2 [f4,c5]@4 ~@2, d4 ~@15",
  E: "[[d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@2 ~@2 [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 a4@2 [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@3 ~ [d4,a4]!2, d3, ~@48 d4 ~@15]/4", // D5 F5 D5 G5 F5 D5 F5 D5 …
  F: "[[d4,a4] ~@31, d3]/2", // D5
})).s("gm_rock_organ").gain(0.22).pan(0.3)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~@4 A B@3 C D@2 E F G H I F J K L F G H M F N K B O P Q B R S@3 T@2 L F G H M F N K B O P Q B R U B@2 V@2 W@2 X Y Z B
  V@2 W AA AB AC E F G H I F J K E F G H I F J K B O P Q B R AD@3 ~@4 AE AF AG AH B O P Q B R AI@2 AJ@5 ~@5
>`.pickRestart({
  A: "~@3 d3", B: "d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~", C: "d2@3 ~ d2@3 ~ d2@3 ~ d2 ~ a1@2",
  D: "[bb1 c2 d2 f2 e2 d2 c2 d2@7 ~@2]/2", E: "d2 ~ d2 a1 d2 ~ d2 a1", F: "g1@3 ~ g1@2 f1@2 g1@4 bb1@4",
  G: "c2@3 ~ c2@2 bb1@2 c2@2 ~@2 c2@2 a1@2", H: "d2@3 ~ d2@4 a1@4 c2@2 a1@2", I: "d2@2 ~@2 d2@2 a1@2 d2@3 ~ d2@2 a1@2",
  J: "c2@3 ~ c2@3 ~ c2@2 b1@2 bb1@4", K: "a1 g1 f1 e1", L: "d2@3 ~ d2@2 a1@2 d2@2 ~@2 d2@2 a1@2",
  M: "d2@3 ~ d2@2 a1@2 d2@3 ~ d2@2 a1@2", N: "c2@4 c2@3 ~ c2@2 b1@2 bb1@4", O: "d2@3 ~ d2@3 ~ d2@3 ~ d2@4",
  P: "bb1@3 ~ bb1@2 c2@4 bb1@2 a1@2 c2@2", Q: "~@2 d2@13 ~", R: "d2@3 ~ d2@3 ~ d2@3 ~ d2@2 a1@2",
  S: "[bb1@2 c2@2 d2@2 f2@2 e2@2 d2@2 c2@2 d2@31 ~ a1@2]/3", T: "[bb1 c2 d2 f2 e2 d2 c2 d2@9]/2",
  U: "bb1 c2 d2 f2 e2 d2 c2 a1", V: "c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~", W: "bb1@3 ~ bb1@3 ~ bb1@3 ~ bb1@3 ~",
  X: "d2@2 ~@2 d2@3 ~ d2 ~ d2@2 e2@2 d2@2", Y: "f2 e2 g2 f2 a2 g2 bb2 a2", Z: "d2@2 ~@2 d2@3 ~ d2@3 ~ d2@3 ~",
  AA: "bb1@3 ~ bb1@3 ~ bb1@3 ~ bb1@2 ~@2", AB: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", AC: "a1 ~@7",
  AD: "[bb1 c2 d2 f2 e2 d2 c2 bb1@17]/3", AE: "bb3@3 ~ bb3@3 ~ bb3@3 ~ bb3@3 ~", AF: "bb3@3 ~ bb3@3 ~ bb3@2 ~@2 f1@4",
  AG: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~", AH: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ c2 ~ c2@2 a1 ~ a1@2",
  AI: "[bb1 c2 d2 f2 e2 d2 c2 bb1@2 c2 d2 f2 e2 d2 c2 a1]/2", AJ: "[bb1@2 c2@2 d2@2 f2@2 e2@2 d2@2 c2@2 d2@55 ~@11]/5",
})).s("gm_fretless_bass").gain(0.44)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  ~@5 A@4 B@2 ~@24 C D@2 ~@3 E ~@11 F@2 G H I@2 J K F@2 G L I@2 ~ M N O P Q R S T U V W@2 X Y Z AA@2 AB ~@13 AC AD AE
  ~@18
>`.pickRestart({
  A: "[g5@29 ~@2 a3]/4", B: "[bb3@2 c4@2 d4 ~ e4@2 e4 ~ d4@2 c4@2 d4@17 ~]/2", C: "~@7 a3",
  D: "[bb3@2 c4@2 d4 ~ e4@4 d4@2 c4@2 d4@17 ~]/2", E: "~@6 d4!2 ~ d4 [g4,b4]@2 f4@4, ~@6 a4 ~",
  F: "d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2", G: "c3@2 c3!2 c3@2 c3!2 c3@2 c3!2 c3@2 [f4,a4]!2",
  H: "[f4,a4] ~@2 a4 [f4,a4] ~ [f4,a4]!2 [f4,a4]@2 c4@2 bb3@2 c4 ~, ~ [f4,a4] ~@6", // F
  I: "[[c4,e4]@3 ~ [bb3,d4]@2 [bb3,d4]@24 ~@2]/2", J: "d3!6 e3 d3", K: "f3@2 e3 ~ g3@2 f3 ~ a3@2 g3@2 bb3@2 a3@2",
  L: "[f4,a4] ~@2 a4 [f4,a4] ~ [f4,a4]!3 ~ c4@2 bb3@2 c4 ~, ~ [f4,a4] ~@6", M: "~@2 g4@8 g4@2 ~ g4@2 ~",
  N: "g4@3 f4 d4 f4 d4@4 ~ c4 d4@2 f4 d4", O: "f4@2 d4 c4 a3 ~ ab3 ~ g3@4 d3 ~ a2 ~",
  P: "c3 ~ c3 d3 f3 ~ g3 ~ g3@2 g3 ~ f3 ~ g3 ~", Q: "g3@2 c4 a3 c4 ~ d4 ~ d4 f4 d4@3 ~@3",
  R: "c5@8 f4@2 ~@2 [gb4,ab4] ~ c5 ~", S: "c5@3 f5 db5@2 a4 g4 f4@5 ~ db4@2",
  T: "a3@2 c4 ~ [f4,a4]@2 d4@2 ~@2 ab3@2 g3 ~ f3 ~", U: "ab3@2 g3 ~ f3 ~ ab3@7 ~@3", V: "c4@2 f4@2 a3@2 c4 ~@3 d4@6",
  W: "[d4@4 c4@2 a3 ~ c4@2 d4 ~ d4 ~ c4@5 ~ c4@3 a3 c4@3 a3 c4@2 d4 e4]/2",
  X: "d4@2 ~@2 ab3@2 f3@2 g3@2 g3 a3 f3@2 g3 a3", Y: "c4 g3 a3 c4 g3 a3 c4 g3 d4 f4 gb3 a3 c4 g3 d4 f4",
  Z: "g3 a3 c4 g3 d4 f4 g3 a3 c4 g3 d4 f4 g3 a3 c4 g3",
  AA: "[d4 f4 g3 ~ b4@7 f4 g4 f4 g4 ab4@3 f4 g4 ab4@2 f4 d4 c4 ab3 g3 a3 c4 a3 g3 f3]/2", AB: "d3@5 ~@11",
  AC: "~@12 f2@3 g2", AD: "[a2,bb2,f3] [bb2,f3]!7", AE: "[bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [c3,g3]@2 [c3,g3]@7 ~",
})).s("gm_overdriven_guitar").gain(0.36).pan(0.4)

// chords · drawbar organ · "ORGAN 1"
const drawbar_organ = note(`<
  ~@27 A B C@2 A D E@3 ~@10 A B F G A D H I J K L M N O@2 P Q R@2 M S T@2 ~@16 A B U@2 A D V@3 W@6 X@2 A B Y Z A D AA@6
  ~@6
>`.pickRestart({
  A: "[d4,f4,a4]@3 [d4,g4,bb4]@2 ~@2 [d4,e4,g4]", B: "[d4,e4,g4]@3 [d4,e4,g4] [d4,e4,g4]@2 [d4,f4,a4]@3 ~@7",
  C: "[~@2 f4@2 f4@2 g4@4 f4@2 e4@2 e4@4 f4@6 ~ a3@2 d4@2 f4@3]/2",
  D: "[d4,e4,g4]@3 [d4,e4,g4] [d4,e4,g4]@2 [d4,f4,a4]@3 ~@4 a3 a3@2", E: "[bb3 c4 d4 f4 e4 d4 c4 d4@16 ~]/3",
  F: "a4@3 g4@2 f4@3 g4@5 f4 e4@2", G: "~ e4@2 f4 e4@3 d4@2 d4@3 d4@3 d4", H: "bb3@2 c4@2 d4@2 f4@2 e4@2 d4@2 c4@3 ~",
  I: "g4@4 f4@3 ~", J: "f4@3 g4@2 a4@3 bb4@6 a4@2", K: "g4@3 f4@3 e4@2 e4@7 ~", L: "~@7 c4", M: "e4@4 d4@2 d4@7 ~ a3@2",
  N: "d4@2 e4@2 f4@2 f4@7 ~@3", O: "[d4@3 a3@2 a3@5 g3@2 f3@8 ~@12]/2", P: "bb4@3 a4 a4@3 ~",
  Q: "f4@3 g4@2 a4@2 ~ bb4@6 a4@2", R: "[g4@3 f4 e4@2 e4@3 d4 e4@10 ~@10 c4@2]/2",
  S: "d4@3 e4@2 f4@2 ~ bb4@3 a4@2 g4@3", T: "[a4@9 ~@7]/2",
  U: "[a4@2 g4@2 f4@2 g4@4 a4@2 a4@2 a4@4 c5@2 a4 g4@2 ~ g4@2 ~ g4@2 f4 d4@2, ~@23 f4@2 ~@7]/2",
  V: "[bb3@2 c4@2 d4@2 f4@2 e4@2 d4@2 f4@2 f4@33 ~]/3",
  W: "[[f4,d5]@4 [f4,d5]@2 [e4,f4,c5]@4 [e4,f4,c5]@4 [d4,f4,bb4]@4 [d4,f4,bb4]@4 [e4,f4,c5]@2 [e4,f4,c5]@5 ~ d4 e4]/2", // Dm Fmaj7 Bb Fmaj7
  X: "[[f4,d5]@4 [f4,d5]@2 [e4,f4,c5]@4 [e4,f4,c5]@4 [d4,f4,bb4]@4 [d4,f4,bb4]@4 [e4,g4,c5]@2 [e4,g4,c5]@5 ~@3]/2", // Dm Fmaj7 Bb C
  Y: "a4!3 a4@2 c5 d5 ab4", Z: "~ g4 f4@2 d4@6 g4@2 g4@2 g4@2",
  AA: "[bb3@2 c4@2 d4@2 f4@2 e4@2 d4@2 c4@2 bb3@4 c4@2 d4@2 f4@2 e4@2 d4@2 c4@2 bb3@4 c4@2 d4@2 f4@2 e4@2 d4@2 a4@2 a4@39 ~@11]/6",
})).s("gm_drawbar_organ").gain(0.19)

// chords · drawbar organ · "ORGAN 1"
const drawbar_organ_2 = note(`<
  A B@8 C@2 ~@22 A D E C@2 ~@15 F@2 G@2 H@2 I@4 J@2 K@2 L@2 ~@43 A M@4 N@2 ~
>`.pickRestart({
  A: "~@14 [d4,a4]!2", // D5
  B: "[[d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@2 ~@2 [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 a4@2 [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@3 ~ [d4,a4]!2 [d4,a4]@2 [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 [d4,a4]@2 [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@3 ~ [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@6 ~@2 [d4,a4]!2 a4@2 [d4,a4]@3 ~ [g4,d5]@2 ~@2 [f4,c5]@4 a2@2, d3@125 ~@3, ~@48 d4 ~@63 d4 ~@15]/8", // D5 F5 D5 G5 F5 D5 F5 D5 …
  C: "[bb2 c3 d3 f3 e3 d3 c3 d3@8 ~]/2", D: "[d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@6 ~@2 [d4,a4]!2",
  E: "a4@2 [d4,a4]@3 ~ [g4,d5]@2 ~@2 [f4,c5]@4 a2@2, d4 ~@15", F: "[d5,f5,a5]/2", G: "[c5,e5,g5]/2",
  H: "[[c5,e5,g5]@6 [bb4,d5,f5]@25 ~]/2", // C Bb
  I: "[d4@8 ~@2 d4@2 e4@2 d4@2 f4@2 e4@2 g4@2 f4@2 a4@2 g4@2 bb4@2 a4 ~ a5@31 ~, [d5,f5]@63 ~]/4", // Dm
  J: "[[c5,e5,g5]@31 ~]/2", K: "[[c5,e5,g5]@5 ~ [bb4,d5,f5]@26]/2", L: "[[a4,e5]@9 ~@7]/2",
  M: "[[d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@2 ~@2 [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 a4@2 [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@3 ~ [d4,a4]!2, d3, ~@48 d4 ~@15]/4", // D5 F5 D5 G5 F5 D5 F5 D5 …
  N: "[[d4,a4] ~@31, d3]/2", // D5
})).s("gm_drawbar_organ").gain(0.24).pan(0.6)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_2 = note(`<
  ~@4 A B C B D E@2 F G H I F J K@2 F L H M F N K@2 O P Q R S T U@3 V@2 F W H X F Y K@2 O P Q R S T Z ~@14 AA AB F W H X
  F AC K@2 F W H X F AC K@2 O P Q R S T AD@3 ~@8 O P Q R S T AE@6 ~@6
>`.pickRestart({
  A: "~@14 [d3,a3] a3", B: "[d3,a3]@2 [d3,a3]@2 ~@2 [f3,c4]@6 ~@3 d3, ~@7 [d3,a3]",
  C: "[d3,a3]!2 ~ [g3,d4] ~ [f3,c4,d6] ~ [d3,a3]", D: "[d3,a3]!2 ~ [g3,d4] ~ [f3,c4] ~ a2",
  E: "[bb2@2 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ d3@15 ~@3]/2", F: "[d3,a3]@3 ~@3 [d3,a3]@2 ~@2 [d3,a3]@2 ~@2 [g2,d3]@2",
  G: "[g2,d3]@2 ~ [g2,d3] ~ d3!2 [c3,g3], ~@5 g2@2 ~", H: "[c3,g3]@4 ~@2 [c3,g3]@2 ~@2 [c3,g3]@2 ~@2 [c3,g3] ~",
  I: "[d3,a3]@2 a2 c3", J: "[g2,d3]@4 ~@2 [g2,d3]@2 ~@2 [g2,d3]@3 ~ [c3,g3]@2",
  K: "[[c3,g3]@4 ~@2 c3@2 c3@2 b2@2 bb2@2 a2@6 g2@4 f2@3 ~ e2@3 ~]/2", // C5
  L: "[g2,d3]@4 ~@2 [g2,d3]@2 ~@2 d3@2 d3@3 ~, ~@10 g2@5 ~", M: "[d3,a3]@7 ~ a2@4 c3@4",
  N: "[g2,d3]@2 ~ [g2,d3] ~ [g2,d3] ~ [c3,g3]", O: "[a3,d4]@4 ~@2 [bb3,d4]@7 ~@3", P: "[g3,c4]@3 ~@3 [a3,d4]@6 ~@4",
  Q: "[f3,d4]@2 ~ [e3,c4]@3 ~ [e3,c4]", R: "~@2 [a3,d4]@11 ~@3, ~@2 d3@13 ~", S: "[a3,d4]@3 ~@3 [bb3,d4]@7 ~@3",
  T: "[g3,c4]@3 ~@3 [a3,d4]@6 e2 ~ a2@2", U: "[bb2@2 c3@2 d3@2 f3@2 e3 ~ d3@2 c3 ~ d3@30 ~@2 a2@2]/3",
  V: "[bb2@2 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ d3@17 ~]/2", W: "[g2,d3]@4 ~@2 [g2,d3]@2 ~@2 d3@2 d3@2 d3 ~, ~@10 g2@5 ~",
  X: "[d3,a3]@4 d3 ~ a2@2 a2@4 c3@4", Y: "[g2,d3]@4 ~@2 [g2,d3]@2 ~@2 [g2,d3]@3 ~ [g2,d3]@2",
  Z: "bb2@2 c3@2 d3@2 f3@2 e3 ~ d3@2 c3@2 a2@2", AA: "[a2,e3]!8", AB: "[a2,e3] ~@15",
  AC: "[g2,d3]@4 ~@2 [g2,d3]@2 ~@2 [g2,d3]@2 [g2,d3]@2 [g2,d3] ~", AD: "[bb2@2 c3@2 d3@2 f3@2 e3 ~ d3@2 c3 ~ bb2@34]/3",
  AE: "[bb2@2 c3@2 d3@2 f3@2 e3 ~ d3@2 c3 ~ bb2@4 c3@2 d3@2 f3@2 e3 ~ d3@2 c3@2 bb2@4 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ d3@50]/6",
})).s("gm_overdriven_guitar").gain(0.32).pan(0.3)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_3 = note(`<
  ~@5 A B@2 C D@2 E F G H E I J@2 E F G H E I J@2 B K L M B C N@3 O@2 E F G H E I J@2 B K L M B C P ~@16 E F G H E I J@2
  E F G H E I J@2 B K L M B C Q@3 ~@3 R S T U V B K L M B C W@6 ~@6
>`.pickRestart({
  A: "d3@2 ~@2 d3@2 ~@2 d3@3 ~ d3@2 ~@2", B: "d3 ~ d3 ~ d3 ~ d3 ~", C: "d3@2 ~@2 d3@2 ~@2 d3@2 ~@2 d3 ~ a2@2",
  D: "[bb2@2 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ d3@14 ~@4]/2", E: "[d3,a3]@3 ~@3 [d3,a3]@2 ~@2 [d3,a3]@2 ~@2 [g2,d3]@2",
  F: "[g2,d3]@4 ~@2 [g2,d3]@2 ~@2 d3@2 d3@2 [g2,d3] ~, ~@5 g2@2 ~", // G5
  G: "[c3,g3]@4 ~@2 [c3,g3]@2 ~@2 [c3,g3]@2 ~@2 [c3,gb3] ~", H: "[d3,a3]@6 d3 ~ a2@4 c3@4",
  I: "[g2,d3]@2 ~ [g2,d3] ~ [g2,d3] ~ [c3,g3]", J: "[[c3,g3]@4 c3 ~ c3@2 c3@2 b2@2 bb2@2 a2@6 g2@3 ~ f2@4 e2@3 ~]/2",
  K: "d3@3 ~ d3@2 ~@2 d3@2 ~@2 d3@2 ~@2", L: "[bb2,f3]@4 ~@2 [c3,g3]@3 ~ bb2@2 a2 ~ [c3,g3] ~", M: "~ [d3,a3]@7",
  N: "[bb2@2 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ d3@30 ~@2 a2@2]/3", O: "[bb2@2 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ d3@18]/2",
  P: "bb2@2 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ a2@2", Q: "[bb2@2 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ bb2@34]/3", R: "~@12 f2@3 g2",
  S: "[a2,bb2]@2 bb2!2 bb2@2 bb2!2 bb2@2 bb2!2 bb2@2 bb2!2", T: "bb2@2 bb2!2 bb2@2 bb2!2 f3@3 [b2,d3] f2@3 [g2,a2]",
  U: "bb2@2 bb2!2 bb2@2 bb2!2 bb2@2 bb2!2 bb2@2 bb2!2", V: "bb2@2 bb2!2 bb2@2 bb2!2 c3@7 ~",
  W: "[bb2@2 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ bb2@4 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ bb2@4 c3@2 d3@2 f3@2 e3@2 d3@2 c3 ~ d3@50]/6",
})).s("gm_overdriven_guitar").gain(0.29).pan(0.6)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_4 = note(`<
  ~@5 A@4 B@3 ~@24 C@3 ~@2 D@2 ~@10 E@8 F@7 G H@2 I J K L M N O@2 P Q@2 R S T U ~@13 V@4 ~@17
>`.pickRestart({
  A: "[~@3 g5@58 ~@3]/4", B: "[~ a3@2 bb3@2 c4@2 d4 ~ e4@2 e4 ~ d4@2 c4@2 d4@17 ~@14]/3",
  C: "[~ a3@2 bb3@2 c4@2 d4 ~ e4@4 d4@2 c4@2 d4@17 ~@14]/3", D: "[~@9 d4!2 ~ d4 [g4,b4]@2 f4@5 ~@12, ~@15 a4@2 ~@15]/2",
  E: "[~@3 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 c3@2 c3!2 c3@2 c3!2 c3@2 c3!2 c3@2 [f4,a4]!3 ~@2 a4 [f4,a4] ~ [f4,a4]!3 ~ c4@2 bb3@2 c4 ~ [c4,e4]@3 ~ [bb3,d4]@2 [bb3,d4]@24 ~@2 d3@2 d3@2 d3@2 d3@2 d3@2 d3@2 e3@2 d3@2 f3@2 e3 ~ g3@2 f3 ~ a3@2 g3@2 bb3, ~@53 [f4,a4]@2 ~@73]/8", // F C Bb F
  F: "[~ a3@2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 c3@2 c3!2 c3@2 c3!2 c3@2 c3!2 c3@2 [f4,a4]!3 ~@2 a4 [f4,a4] ~ [f4,a4]!3 ~ c4@2 bb3@2 c4 ~ [c4,e4]@3 ~ [bb3,d4]@2 [bb3,d4]@24 ~@15, ~@53 [f4,a4]@2 ~@57]/7", // F C Bb F
  G: "~@5 g4@8 g4@2 ~", H: "[g4@2 ~ g4@3 f4 d4 f4 d4@4 ~ c4 d4@2 f4 d4 f4@2 d4 c4 a3 ~ ab3 ~ g3@4 d3]/2",
  I: "~ a2 ~ c3 ~ c3 d3 f3 ~ g3 ~ g3@2 g3 ~ f3", J: "~ g3 ~ g3@2 c4 a3 c4 ~ d4 ~ d4 f4 d4@3",
  K: "~@3 c5@8 f4@2 ~ gb4 ab4", L: "c5 ~@2 c5@3 f5 db5@2 a4 g4 f4@5",
  M: "db4@2 ~ a3@2 c4 ~ [f4,a4]@2 d4@2 ~@2 ab3@2 g3", N: "~ f3 ~ ab3@2 g3 ~ f3 ~ ab3@7",
  O: "[~@3 c4@2 f4@2 a3@2 c4 ~@3 d4@6 d4@4 c4@2 a3 ~ c4@2 d4 ~ d4]/2", P: "~ c4@5 ~ c4@2 a3 ~ c4@2 a3 c4@2",
  Q: "[d4 ~ e4 d4@2 ~@3 f3@2 ~ g3@2 g3 a3 f3@2 g3 a3 c4 g3 a3 c4 g3 a3 c4 g3 d4 f4 gb3 a3 c4, ~@7 ab3@2 ~@23]/2",
  R: "g3 d4 f4 g3 a3 c4 g3 d4 f4 g3 a3 c4 g3 d4 f4 g3", S: "a3 c4 g3 d4 f4 g3 ~ b4@7 f4 g4",
  T: "f4 g4 ab4@3 f4 g4 ab4@2 f4 d4 c4 ab3 g3 a3 c4", U: "a3 g3 f3 d3@5 ~@8",
  V: "[~@15 f2@3 [g2,a2] [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [c3,g3]@2 [c3,g3]@7 ~@14]/4", // Gsus2 Bb5 C5
})).s("gm_overdriven_guitar").gain(0.15).pan(0.9)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note("<~@53 A@2 B@2 C@2 D E F A B@2 C G H I ~@51>".pickRestart({
  A: "d3@2 d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2", B: "c3@2 c3!2 c3@2 c3!2 c3@2 c3!2 c3@2 c3!2",
  C: "bb2@2 bb2!2 bb2@2 bb2!2 bb2@2 bb2!2 bb2@2 bb2!2", D: "d3@2 d3!2 d3@2 d3!2 d3@2 d3@2 e3@2 d3@2",
  E: "f3@2 e3 ~ g3@2 f3 ~ a3@2 g3@2 bb3@2 a3@2", F: "d3 ~ d3!2 d3@2 d3!2 d3@2 d3!2 d3@2 d3!2",
  G: "bb2@2 bb2!2 bb2@2 bb2!2 bb2@2 bb2!2 bb2@2 bb2@2", H: "[a2,e3]!8", I: "[a2,e3] ~@15",
})).s("gm_electric_guitar_muted").gain(0.38)

// chords · synth strings 2 · "SYN STR 2"
const synth_strings_2 = note("<~@94 A B A C A D@2 E ~@18>".pickRestart({
  A: "[d5,f5]@3 ~ d5@2 [c5,f5]@3 ~ [c5,f5]@3 ~ [bb4,f5]@2, ~@4 f5 ~@11", // Dm F5 Bb5
  B: "~@2 [bb4,f5]@2 ~@2 [c5,f5] ~ c5@6 d5 e5, ~@8 f5@5 ~@3", C: "~@2 [bb4,f5]@3 ~ [c5,f5] ~ f5@5 ~ d5 e5, ~ c5",
  D: "[~@2 [bb4,f5]@2 ~@2 [c5,f5] ~ f5@5 ~ d5 ~@2 f5@2 ~ d5@2 [c5,f5]@3 ~ [c5,f5]@3 ~ [bb4,f5]@2, ~@8 c5@7 e5@2 ~@3 f5 ~@11, ~@8 d5 ~@7]/2", // Bb5 F5 Bb5
  E: "~@2 [bb4,f5]@3 ~ [c5,f5] ~ g5@3 ~ g5@3 ~, ~ c5", // Bb5 F5
})).s("gm_synth_strings_2").gain(0.38).pan(0.7)

// chords · synth strings 2 · "SYN STR 2"
const synth_strings_2_2 = note("<~@94 A B A B A C D E ~@18>".pickRestart({
  A: "[d4,f5]@3 ~ [d4,f5]@2 [c4,e5]@3 ~ [c4,e5]@3 ~ [bb3,d5]@2", B: "~@2 [bb3,d5]@3 ~ [c4,e5] ~ [c4,e5]@7 ~",
  C: "~@2 [bb3,d5]@3 ~ [c4,e5] ~ [c4,e5]@8", D: "d4@3 ~ d4@2 c4@2 ~@2 c4@3 ~ bb3@2", E: "~@2 bb3@3 ~ c4 ~ c4@7 ~",
})).s("gm_synth_strings_2").gain(0.38).pan(0.4)

// chords · rock organ · "ORGAN 3"
const rock_organ_2 = note("<A B@8 C@2 ~@22 A D E C@2 ~@74 A F@4 G@2 ~>".pickRestart({
  A: "~@14 [d4,a4]!2", // D5
  B: "[[d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@2 ~@2 [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 a4@2 [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@3 ~ [d4,a4]!2 [d4,a4]@2 [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 [d4,a4]@2 [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@3 ~ [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@6 ~@2 [d4,a4]!2 a4@2 [d4,a4]@3 ~ [g4,d5]@2 ~@2 [f4,c5]@4 a3@2, d3@63 ~, ~@48 d4 ~@63 d4 ~@15]/8", // D5 F5 D5 G5 F5 D5 F5 D5 …
  C: "[bb3@2 c4@2 d4@2 f4@2 e4@2 d4@2 c4@2 d4@15 ~@3]/2", D: "[d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@6 ~@2 [d4,a4]!2",
  E: "a4@2 [d4,a4]@3 ~ [g4,d5]@2 ~@2 [f4,c5]@4 a3@2, d4 ~@15", // D5 G5 F5
  F: "[[d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@2 ~@2 [d4,a4]!2 [d4,a4] ~ [d4,a4]@3 ~ [f4,c5]@7 ~ [d4,a4]!2 a4@2 [d4,a4]@3 ~ [g4,d5]@3 ~ [f4,c5]@3 ~ [d4,a4]!2, d3, ~@48 d4 ~@15]/4", // D5 F5 D5 G5 F5 D5 F5 D5 …
  G: "[[d4,a4] ~@31, d3]/2", // D5
})).s("gm_rock_organ").gain(0.22).pan(1)

// drums · kick
const kick = s("bd").struct(`<
  ~@5 A@4 B ~ C@3 A C@3 A C@3 A C@3 A@3 D E A@2 F G@2 B ~ C@3 A C@3 A@3 D E A@2 H A@15 D A@3 I A@3 I A@3 I A@3 J A@2 D E
  A@2 F K A@11 D E A@2 F L@2 M J@5 I ~@2
>`.pickRestart({
  A: "x!2", B: "x!3 ~@4 x", C: "x ~@2 x!2 ~@2 x", D: "x ~@6 x", E: "~ x ~@6", F: "x!2 ~@5 x", G: "~ x ~@3 x ~@2",
  H: "x!2 ~@6", I: "x", J: "x!4", K: "~ x", L: "~ x ~@5 x", M: "~ x!3",
})).gain(0.44)

// drums · snare
const snare = s("sd").struct(`<
  ~@4 A B@2 C D E F B@7 D B@3 G B@2 H I B@2 J K B H L B H E F B@3 G B@2 H I B@2 J K B H M B@6 N O B@7 P B@3 Q B R S T
// … 65 more lines

More by Styx