Strudelify
Damned If I Do cover art

1987 · Eve

Damned If I Do

The Alan Parsons Project

KeyG minorTempo132 bpm
0:00/0:00
// Damned If I Do — The Alan Parsons Project
// 132 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 115 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): guitar program 25.
setcpm(132/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 · piano
const piano = note("<~@9 A B@3 ~@102>".pickRestart({
  A: "[g3,bb3,d5,a5]@2 bb5 ~ bb5@2 f5@6 g5@2 d5@2, d4@5 ~ d4@2, ~ d5@2 ~", // Gm
  B: "[~@2 [a4,d5]@4 d4 ~ a4@2 g4@2 ~@2 c4@2 d4@2 c4@2 bb3@2 a3@6 ~@2 [a3,c4]@16 ~@2, ~@2 d4@2 ~@4 d5@17 ~@23, ~@6 f4@7 ~ f3@9 ~]/3", // D5 Am
})).s("gm_piano").gain(0.25)

// bass · fretless bass
const bass = note(`<
  ~ A@3 B A@2 C@2 D@4 E F G@2 F@2 G H I@2 J@2 K I F@2 E F G@2 F@2 G H I@2 J@2 K I F@2 K I F@2 L M L N L M O@2 I@2 J@2
  I@2 P Q E F G@2 F@2 G H I@2 J@2 K I F@2 E F G@2 F@2 G H I@2 J@2 K I F@2 R I R I R S F@5 T@4 U@3
>`.pickRestart({
  A: "g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~", B: "g1@3 ~ g1@2 ~@2 g1@3 ~ f2@2 g2@2",
  C: "[g1@2 ~@2 g1@3 ~ c2@2 d2@2 f2@2 g2@15 ~@3]/2", D: "g1 ~ d2 ~ g2 ~ d2 ~ f2 ~ g2 ~ d2@2 ~@2",
  E: "g1 d2 g2 d2 f2 g2 d2 ~", F: "g1@2 d2@2 g2@2 d2@2 f2@2 g2@2 d2@3 ~", G: "c2 ~ g2@2 c3@2 g2@2 bb2@2 c3@2 g2@3 ~",
  H: "c2 g2 c3 g2 bb2 c3 f2 g2", I: "eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~", J: "d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~",
  K: "c2@3 ~ c2@3 ~ c2@3 ~ c2@2 ~@2", L: "g1 g2 g1 g2", M: "g1@2 g2@2 g1@2 f2 g2", N: "g1@2 g2@2 f2 g2 c2 d2",
  O: "[g1@4 g2@4 c2@2 d2@2 f2@2 g2@15 ~@3]/2", P: "d2@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", Q: "d2 ~@9 f2 ~ f2@2 g2@2",
  R: "c2@3 ~ c2@3 ~ c2@3 ~ c2 ~ c2 d2", S: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~",
  T: "[g1 d2 g2 d2 f2 g2 d2 g1@2 d2 g2 d2 f2 g2 d2@2]/2", U: "[g1 d2 g2 d2 f2 g2 d2 g1@2 d2 g2 d2 f2 g2 d2 g1@9]/3",
})).s("gm_fretless_bass").gain(0.44)

// chords · epiano1
const epiano1 = note(`<
  ~ A B C@2 A D E@2 F@3 ~ G@6 H@2 I@2 J@2 K@2 L@2 G@6 H@2 M@2 J@2 K@2 N@4 O@3 B C@2 A D E@2 ~@8 G@6 H@2 P@2 J@2 K@2 L@2
  G@6 H@2 Q@2 J@2 K@2 R@2 S T U@3 V W@4 X B C@2 A D E@2
>`.pickRestart({
  A: "[g2,d4]@4 g3@3 ~ g2@4 g3@3 ~, bb4@7 ~ a4@8, ~@4 c4@3 ~", // G5
  B: "[d4,bb4] ~ [e4,c5] ~ [c4,a4] ~@3 g2@4 g3@4, g2@4 g3@2 [bb3,g4]@7 ~@3", // Gm C F Eb
  C: "[[g2,d4,bb4]@4 [g3,bb4]@4 [c4,a4] ~ [d4,bb4] ~ [e4,c5] ~@3 g2@4 g3@3 ~ g2@2 ~@2 f3@2 g3@2, ~@4 d4 ~@3 g2@4 g3@2 a4@18, ~@7 c4@8 ~]/2", // Gm F Gm C
  D: "[d4,bb4] ~ [e4,c5] ~ [c4,a4] ~@3 g2@3 ~ g3@3 ~, g2@2 g3 [bb3,g4]@5", // Gm C F Eb
  E: "[[g2,d4,bb4]@4 [g3,bb4]@4 [c4,a4] ~ [d4,bb4] ~ [e4,c5] ~ [f4,d5]@16 ~@2, ~@4 d4 ~@3 g2@4 g3@11 ~@9]/2", // Gm F Gm C Dm
  F: "[a5 bb5@2 f5@3 g5 d5@2 a4@2 ~ a4 g4 ~ c4 d4 c4 bb3 a3@3 f3@2, ~@28 f4@9 ~@11]/3",
  G: "[d4@10 ~@2 g4 ~ f4 d4 c4@11 ~@2 a3 ~ c4 ~@11 g4 a4 bb4 c5 d5, bb3@16 eb4@15 ~ d4@14 ~@2, g3@26 ~@6 g3@19 ~@3 g3@35 ~@7, ~@11 d4@2 bb4@17 bb3@15 ~@3]/6",
  H: "[eb4@11 bb3 c4 d4 eb4 f4, g3@7 ~, eb5@21 ~@11, c4@19 ~@13]/2",
  I: "[a3@8 c4@7 ~ d4@8 c4@7 ~, g4@29 ~@3, d4@5 ~@27]/2",
  J: "[[c4,gb4] [bb3,g4] [c4,gb4] bb3, ~@2 d3@5 ~, ~@4 d4@3 ~, ~@12 g4@3 ~]/2", // Cdim Eb Cdim
  K: "[~@4 g3@3 ~ [eb3,bb3]@7 ~, [d4,eb4,g4]@15 ~]/2", // Eb5 Ebmaj7
  L: "[~@3 bb4@2 g4 a4 f4@2 g4 d4 f4 g4 d4 f4 bb3, g3@31 ~, bb3@7 ~, d4@9 ~@7]/2",
  M: "[a3@8 c4@7 ~ d4@8 c4@7 ~, g4@29 ~@3, d4@5 ~@11 a3@4 ~@4 g3@5 ~@3]/2",
  N: "[~@3 bb4@2 g4 a4 f4@2 g4 d4 f4 g4 d4 f4 bb3 ~@4 g3@3 ~ [eb3,bb3]@7 ~, g3@33 ~@31, bb3@7 ~@9, d4@9 ~@7 [d4,eb4,g4]@15 ~]/4", // Eb5 Ebmaj7
  O: "[~@6 bb4@4 g4@2 a4@2 f4@4 g4@2 d4@2 f4@2 g4@2 d4@2 f4@2 bb3@2 [g2,d4]@4 g3@3 ~ g2@4 g3@3 ~, g3@11 ~@5, bb3@14 ~@6 c4@3 ~, d4@18 ~@14 bb4@7 ~ a4@8]/3", // G5
  P: "[a3@8 c4@7 ~ [a3,d4]@8 c4@7 ~, g4@29 ~@3, d4@5 ~@19 g3@5 ~@3]/2", // D5
  Q: "[d4@5 ~@3 c4@7 ~ d4@8 c4@7 ~, g4@29 ~@3, ~@16 a3@4 ~@4 g3@5 ~@3]/2",
  R: "[~@3 bb4@2 g4 a4 f4 g4 f4 g4 d4 g4 f4 eb4 d4, [g3,bb3]@29 ~@3, d4@5 ~@3]/2", // Gm
  S: "~@2 eb5 ~ d5 g4 ~ g4, [g3,eb4]@13 ~@3, [c3,c4]@11 ~@5, g4@3 g4@2 ~ [c4,c5]@2", // Cm C
  T: "~@3 g4@3 bb4 g4, [g3,eb4]@15 ~, bb3@12 ~@2 bb3 ~, ~@2 bb4@3 ~@3", // Cm
  U: "[~@2 g4@2 eb5@2 g4@2 d5@2 g4@2 [c4,c5]@2 g4@2 bb3@3 ~ bb3@5 ~@3 c5@4 ~@4 eb5@2 g4 ~ d5@2 g4@2 c5@2 g4@2, [g3,eb4]@14 ~@2 g3@15 ~ g3@14 ~@2, c4@10 ~@4 eb4@33 ~, ~@16 bb4@12 bb3 ~@3 c4@12 ~@2 c4 ~]/3", // C Cm
  V: "~@2 g4 ~ bb4@2 ~@2 g4@4 [bb3,bb4]@2 [eb4,g4] ~, [g3,eb4]@7 ~, bb3@5 ~@3", // Bb Eb Cm
  W: "[d4@2 ~ bb5@2 g5 a5 ~ g5 d5 f5 ~ d4 ~ d4 c5 [d4,d5] bb4 c5 a4 bb4 g4 a4 f4 g4 d4 f4 d4 c4 bb3 a3 bb3, g3@15 ~, bb3@55 ~@9, ~@4 d4@5 ~@3 d4@10 c5@4 d5@4 ~@6 d4@12 ~@16]/4", // D
  X: "[g2,d4]@5 ~@3 [g2,c4]@4 g3@4, g3@3 ~, bb4@7 ~ a4@8", // G5 C5
})).s("gm_epiano1").gain(0.33).pan(0.4)

// chords · bandoneon
const bandoneon = note("<~@21 A B C D E F@3 ~@8 A B C G@5 H@3 ~@41 I J K@5 ~@19>".pickRestart({
  A: "[g3,d4]@4 [g3,c4]@3 [g3,c4]", B: "[g3,d4] [g3,d4]@2 [g3,c4]@4 [g3,bb3]",
  C: "[a3,c4]@2 [a3,c4] [g3,bb3] [g3,bb3]@3 ~", D: "[a3,c4]@2 [a3,c4]@4 [g3,bb3]@7 ~@3",
  E: "[bb3,d4]@2 [a3,c4]@2 [g3,bb3]@2 [g3,bb3]@7 ~@3", // Bb Am Gm
  F: "[[c4,eb4] [bb3,d4] [a3,c4] [bb3,d4]@2 [a3,c4] [g3,bb3] [a3,c4]@2 [g3,bb3]@9 ~@6]/3", // Cm Bb Am Bb Am Gm Am Gm
  G: "[[a3,c4] [a3,c4]@2 [g3,bb3]@3 ~ [bb3,d4]@2 [a3,c4] [g3,bb3] [g3,bb3]@2 [g3,bb3]!2 [c4,eb4]@2 [bb3,d4] [a3,c4] [bb3,d4]@2 [a3,c4] [g3,bb3] [a3,c4]@2 [g3,bb3]@9 ~@3 [bb3,d4]!2 [g3,bb3]]/5", // Am Gm Bb Am Gm Cm Bb Am …
  H: "[[bb3,d4] [a3,c4] [g3,bb3] [g3,bb3]@2 [g3,bb3]!2 [c4,eb4]@2 [bb3,d4] [a3,c4] [bb3,d4]@2 [a3,c4] [g3,bb3] [a3,c4]@2 [g3,bb3]@7]/3", // Bb Am Gm Cm Bb Am Bb Am …
  I: "[g3,d4] [g3,c4]", J: "[g3,d4]@2 [g3,d4] [g3,c4]@3 ~ [g3,bb3]",
  K: "[[c4,d4]!3 [bb3,d4]@2 [bb3,c4]@2 [a3,c4]@2 [a3,c4] [gb3,bb3] [a3,c4] [g3,bb3]@2 [g3,bb3] [bb3,d4]@2 [a3,c4] [g3,bb3] [g3,bb3]@3 ~ [c4,eb4]@2 [bb3,d4] [a3,c4] [bb3,d4]@2 [a3,c4] [g3,bb3] [a3,c4]@2 [g3,bb3]@7]/5", // Csus2 Bb Bbsus2 Am Gb Am Gm Bb …
})).s("gm_bandoneon").gain(0.09).pan(0.8)

// other · overdriven guitar
const overdriven_guitar = note(`<
  ~ A@6 B@2 ~@40 A@6 B@2 ~@8 C@2 D E F@2 G H I J K L M N O@2 P@2 ~@24 A@6 B@2
>`.pickRestart({
  A: "[[d3,g3]@7 ~]/2", B: "[[d3,g3]@29 ~@3]/2", C: "[c4@2 bb3 c4@3 g3 g3@6 ~@2 f4]/2",
  D: "g4@2 g4 ~ g4@2 f4@2 g4 ~ g4@2 g4@2 f4@2", E: "g4@2 bb4@9 ~@3 c5 bb4", F: "[a4@4 g4@2 d5@6 g4@2 f5@15 ~ bb4@2]/2",
  G: "~ d4@2 ~ bb3@2 g3@2 eb4@2 d4@2 c4@2 g3@2, g4 ~@7", H: "c3@13 ~@3", I: "eb3 f3 g3 bb3 d4 b3 c4 d4",
  J: "eb4 f4 g4 a4 bb4 c5 d5 bb4", K: "d5@3 ~ d5@4 c5@3 [c5,d5] bb4@4", L: "a4@2 bb4@2 c5@2 a4@2 bb4 a4 g4 gb4 g4@4",
  M: "bb4 a4 [g4,bb4] d5 [c5,eb5] d5 [c5,eb5] [c5,f5], g4@4 ~@2 g4 ~@9", // Gm Cm F5
  N: "[eb5,g5]@2 f5@2 [eb5,g5]@2 [eb5,a5]@2 [g5,bb5]@2 [gb5,a5]@2 [g5,bb5]@2 [a5,c6] ~", // Eb Ebdim Gm Gbm Gm Am
  O: "[[ab5,c6]@6 ~ bb5@2 g5 d5 bb4 a4 g4 d4 bb3]/2", P: "[g3@29 ~@3]/2",
})).s("gm_overdriven_guitar").gain(0.44)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@4 B@2 C@2 D@5 ~@3 E@2 F@5 ~ G ~@2 H@3 ~@2 E@2 I@5 ~ G ~@2 J@2 ~@2 K@5 B@2 C@2 ~@8 L@2 ~@2 E@2 F@5 ~ G ~@2 H@3 ~@2
  E@2 M@5 ~ G ~@2 J@2 N O N O P Q@8 R@4 ~
>`.pickRestart({
  A: "[~@15 bb3@21 ~@10 d3@17 ~, ~@7 g2@11 ~@14]/4", B: "[~@15 d3@16 ~]/2", C: "[~@7 d3@8 ~]/2",
  D: "[~@15 [g3,d4]@2 ~@3 f4 ~@9 d3@6 ~@10 d3@8 ~@10 c4 ~@15, ~@31 c3@6 ~@3]/5", E: "[~@15 bb3@3 ~@14, ~@7 d3@3 ~@6]/2",
  F: "[~@14 g3@4 ~@13 g3@4 ~@13 g3@12 ~@4 g3@14 ~@2, ~@47 eb3@12 ~@4 eb3@13 ~@4, ~@6 a3 ~@3]/5", G: "~@2 d3 ~",
  H: "[bb3@4 ~@11 d4@4 ~@11 g3@4 ~@14]/3", I: "[~@14 g3@4 ~@13 g3@4 ~@13 a3@8 ~@7 eb3@13 ~@4, ~@47 eb3@12 ~@21]/5",
  J: "[bb3@4 ~@11 d4@4 ~@13]/2", K: "[bb3@4 ~@11 d4@4 ~@12 bb3@21 ~@10 d3@17 ~, ~@15 g2@11 ~@14]/5",
  L: "[~@7 g3@2 ~@7]/2", M: "[~@14 g3@4 ~@13 g3@4 ~@13 g3@12 ~@3 eb3@13 ~@4, ~@47 eb3@12 ~@21, ~@6 bb3 ~@3]/5",
  N: "~@2 c4 eb4 g4 eb4 g4 eb4, ~@2 g3@13 ~", O: "~@2 eb4 g4 bb4 g4 bb4 g4, ~ bb3@7",
  P: "~@2 c4 eb4 g4 eb4 g4 eb4, ~ g3@7",
  Q: "[~@3 eb4@3 g4@2 bb4@4 ~@4 d4@3 ~@12 bb3@3 ~@6 d3 ~@6 d3@8 ~ d3 ~@5 bb3@5 ~@5 d3 ~@6 bb3@21 ~@10 d3@5 ~@13, ~@2 bb3@4 ~@9 g3@7 ~@24 g2@13 ~@69, ~@46 [g3,bb3]@5 ~@77, ~@47 d4@3 ~@78]/8", // Gm
  R: "[~@14 d3@5 ~@13]/2",
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0.3)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@9 A@2 B@2 ~@8 C@2 D@3 E F@2 ~@8 C@2 D@3 E G H I J G@2 ~@6 K@2 L@8 M@4 N@4 O@4 P@4 ~ Q@3 R@4 S@2 T@3 U F@2 V@6 W@4
  X@4 Y@4
>`.pickRestart({
  A: "[~@10 gb6!2 f6!2 e6!2 eb6!2 d6!2 db6!2 c6!2 b5!2 bb5!2 a5!2 ab5!2, g6@15 ~]/2",
  B: "[~@10 gb6!2 f6!2 e6!2 eb6!2 d6!2 db6!2 c6!2 b5!2 bb5!2 a5!2 ab5 ~, g6@15 ~]/2", C: "[bb3@2 a3 g3, eb3]/2",
  D: "[gb3@8 g3@8 gb3@8 ~@8 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 d3, d3@29 ~@19, ~@8 g3@7 ~]/3",
  E: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~", F: "g2/2",
  G: "[g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~", // G
  H: "[g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [a2,a3] [bb2,bb3]", // G A Bb
  I: "[c3,c4] ~ [c3,c4] ~ [c3,c4] ~ [c3,c4] ~ [c3,c4] ~ [c3,c4] ~ [c3,c4] ~ [c3,c4] [d3,d4]", // C D
  J: "[eb3,eb4] ~ [eb3,eb4] ~ [eb3,eb4] ~ [eb3,eb4] ~ [eb3,eb4] ~ [eb3,eb4] ~ [eb3,eb4] ~ [eb3,eb4] ~", // Eb
  K: "[~@30 [g4,a4,bb4] [c5,d5,eb5,f5], ~@7 g3@9]/2", // Gm Dm7
  L: "[~@4 [d5,d6]@4 [c5,c6]@4 [d5,d6]@4 [a3,d4]@8 ~@4 [d5,d6]@4 [c5,c6]@4 [d5,d6] ~@3 [g3,bb3,g4]@8 [a4,a5]@3 bb4 bb5 ~@3 [g3,bb3]@8 ~@4 [d5,d6]@4 [c5,c6]@4 [d5,d6]@4 [a3,d4]@8 ~@4 [a5,a6]@2 [g5,g6] ~ [g5,g6]@15 ~ [gb4,gb6]@4 ~@12, g4@16 ~@3 [bb4,bb5]@5 gb4@3 g4@29 ~@8, eb3@29 ~@3 d3@31 ~ eb3@32 [d3,a3]@19 ~@13, g5@13 ~@3 [g5,g6]@8 g3@8 [a3,gb4]@8 ~@8 [a3,c4]@8 ~@8 [a3,d4]@9 ~@7 [bb5,bb6]@8 g3@8 ~@15 gb5@3 ~@14, [a3,d4]@8 [g3,c4]@8 ~@8 c4@16 ~@14 g5@11 ~@7 [g3,c4]@8 ~@8 c4@27 ~@13]/8", // D C D D5 D C D Gm …
  M: "[[g4,bb4]@11 ~ a4@4 bb3@16 c5@8 a4@8 bb4@8 c5@8, d4@31 ~ [c4,eb4]@32, ~@11 c4@4 ~ g4@47 ~]/4", // Gm Cm
  N: "[[bb3,d4]@2 [c4,a4]@2 [d4,bb4,d5]@2 [c4,c5] bb3 eb5@3 f5 eb5@4, g4@63 ~, ~@28 bb4@35 ~, ~@32 c4@29 ~@3]/4", // Bb F Gm C
  O: "[[a4,d5]@8 [g4,c5]@8 [a4,d5]@8 g4@5 ~@3 gb4@8 [g4,bb4]@8 [gb4,c5]@8 [g4,bb4]@8, eb4@32 d4@31 ~, ~ g5 ~@2, ~@24 c5@17 ~@23]/4", // D5 C5 D5 Gm Gbdim Gm
  P: "[~@2 [g4,bb4]@2 [g4,bb4]@2 [f4,a4]@2 [g4,bb4]@7 ~@3 c5@2 [a4,c5]@2 [g4,bb4]@2 [f4,a4]@7 ~ [g4,bb4]@32, eb4 ~, ~@18 a4 ~@12 d4@32 ~]/4", // Gm F Gm Am Gm F Gm
  Q: "[~@10 [a3,a4]@2 [bb3,bb4]@2 [c4,c5]@10 [bb3,bb4]@2 [c4,c5]@2 [d4,d5]@15 ~ [c4,c5]@2 [bb3,bb4]@2]/3", // A Bb C Bb C D C Bb
  R: "[[g3,g4]@9 ~@3 [a3,a4]!3 a4 a4 ~@7 [f3,f4]@2 [g3,g4]@2 [d3,d4]@2 [c3,c4]@24 ~@2 [bb2,c3,bb3,c4] c4@2 ~@5, ~@15 a3@2 ~@40 c3 ~@6]/4", // G A F G D C Bbsus2
  S: "[[a3,d4,d5]@2 [c4,c5] [d4,d5] [a3,d4]@2 ~ [d4,d5], eb3, ~@8 g3@8 [g4,g5]@13 ~@3, ~@3 g3]/2", // D5 C D D5 D G
  T: "[[c4,c5]@4 [d4,d5]@2 ~@2 [g3,bb3]@7 ~@5 bb4@2 g4@10 c3 ~ c3 ~ c3 ~ [bb3,bb4]@2 c3 ~ c3 ~ [c3,g3,g4] ~ c3 d3, d3@30 ~@8 c3 ~@9, gb3@8 ~@7 [a3,a4]@4 bb3@18 ~@4 [a3,a4]@3 ~@4, ~@6 bb4@9 ~ c4@8 ~@24, ~@8 gb3@3 g3@8 ~@5]/3", // C D Gm Bb C5 A
  U: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ bb4@2 [a3,a4]@2 eb3 ~, ~@6 [c4,c5]@3 bb3@2 ~@5, ~@10 eb3 ~ eb3 ~@3", // A C
  V: "[~@4 eb5@2 g4@2 d5@2 g4@2 c5@2 g4 ~@5 g4 ~ c5@4 bb4@2 a4@2 g4@3 ~ g4@2 eb5@2 g4@2 d5@2 g4@2 c5@2 g4@2 ~@4 g4 ~ c5@4 bb4@2 a4@2 g4@3 ~@5 bb5@4 a5@2 g5@2 ~@8 c6@4 bb5@2 a5@4, [g3,eb4], bb3@23 ~]/6", // Cm
  W: "[~@29 d5 c5 bb4 g4@32, [bb3,d4], g5@31 ~@33]/4", X: "[d5@15 c5]/4", Y: "[d5@63 ~]/4",
})).s("gm_string_ensemble_1").gain(0.38)

// other · electric guitar muted
const electric_guitar_muted = note("<~@49 A@6 B@2 ~@50 A@6 B@2>".pickRestart({
  A: "g2 ~ g2 ~ g2!5 ~ g2 ~ g2 ~ g2 ~", B: "[g2 ~ g2 ~ g2!5 ~ g2 ~ g2 ~ g2@14 ~@4]/2",
})).s("gm_electric_guitar_muted").gain(0.29)

// other · trumpet
const trumpet = note("<~ A B C@2 A B D@2 ~@40 A B C@2 A B D@2 E@2 F G E@2 H I ~@42 A B C@2 A B D@2>".pickRestart({
  A: "bb4@6 ~@2 a4@5 ~@3", B: "bb4 ~ c5 ~ a4 ~ g4@7 ~@3", C: "[bb4@2 ~@2 bb4@2 ~@2 a4 ~ bb4 ~ c5 ~ a4@15 ~@3]/2",
  D: "[bb4@2 ~@2 bb4@3 ~ a4 ~ bb4 ~ c5 ~ d5@17 ~]/2", E: "d4@4 c4@3 ~", F: "c4@8 bb3@7 ~", G: "c4@4 bb3@3 ~",
  H: "g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4 ~, [c4,a4]@15 ~", I: "[c4,gb4,a4] ~@7",
})).s("gm_trumpet").gain(0.29).pan(0.7)

// other · trumpet
const trumpet_2 = note("<~ A B C@2 A B D@2 ~@40 A B C@2 A B D@2 E F G H E F I J ~@42 A B C@2 A B K@2>".pickRestart({
  A: "bb4@7 ~ a4@5 ~@3", B: "bb4 ~ c5 ~ a4 ~ g4@7 ~@3", C: "[bb4@2 ~@2 bb4@3 ~ a4@2 bb4 ~ c5 ~ a4@15 ~@3]/2",
  D: "[bb4@3 ~ bb4@3 ~ a4 ~ bb4 ~ c5 ~ d5@15 ~@3]/2", E: "[a3,d4] [g3,c4]", F: "[a3,d4]@4 [g3,c4]@3 ~",
  G: "[gb3,c4] [g3,bb3]", H: "[gb3,c4]@8 g3@7 ~, ~@8 bb3@5 ~@3", I: "[g3,c4]", J: "[gb3,c4]@3 ~@13",
  K: "[bb4@3 ~ bb4@3 ~ a4 ~ bb4 ~ c5 ~ d5@17 ~]/2",
})).s("gm_trumpet").gain(0.29).pan(0.2)

// other · trombone
const trombone = note("<~ A B C@2 A B D@2 ~@40 A B C@2 A B D@2 E@2 F@2 E@2 G H ~@42 A B C@2 A B D@2>".pickRestart({
  A: "g4@6 ~@2 f4@5 ~@3", B: "d4 ~ e4 ~ c4 ~ d4@8 ~@2", C: "[g4@3 ~ g4@2 ~@2 f4 ~ g4 ~ e4 ~ f4@15 ~@3]/2",
  D: "[g4@3 ~ g4@3 ~ f4 ~ g4 ~ e4 ~ f4@17 ~]/2", E: "[eb3@15 ~]/2", F: "[d3@29 ~@3]/2",
  G: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~", H: "d3 ~@7",
})).s("gm_trombone").gain(0.25)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  A@4 B@2 C@2 D@8 E@6 F G H I J@3 K@6 L@3 F G H I M@3 I N@6 O@2 P@2 ~@8 Q@7 L@3 F G H I J@3 K@6 R@3 F G H I M@3 S T U T
  V W@8 X@2 C@2 ~
>`.pickRestart({
  A: "[~@4 [bb3,d4,g4]@5 ~@3 [d4,g4]@4, ~@15 g3@21 ~@11 [d3,g3,bb3]@17, ~@15 [g2,d3]@14 ~@17 g2@18]/4", // Gm G5 Gm G5
  B: "[~ [d4,g4], ~@7 [g2,d3]@9, ~@15 [g3,bb3]@16 ~]/2", C: "[~@8 [d4,g4]@7 ~, ~@7 g2@8 ~, ~@15 [d3,g3,bb3]@15 ~@2]/2",
  D: "[~@16 d4@2 ~@2 [g3,bb3,bb4,d5]@2 ~@4 [g3,bb3,f4,bb4,d5] ~@5 g4@4 [g3,bb3,d4,f4,bb4,d5]@2 ~@4 [g3,bb3,d4,f4,bb4,d5] ~@4 d4 ~@4 [g3,bb3,d4,f4,bb4,d5]@2 ~@4 [g3,bb3,d4,f4,bb4,d5] ~@9 [f3,a3,c4,a4,c5] ~@5 [f3,a3,c4,a4,c5] ~@5 g4@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [eb4,g4]@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@4 [g3,c4], ~@14 [g2,d3]@12 ~@4 g2@12 ~@4 g2@12 ~@3 f2@12 ~@5 g2@11 ~@5 g2@10 ~@24, ~@14 g3@2 g4@12 ~@3 [g3,bb3]@3 ~@13 [g3,bb3]@3 ~@13 [f3,a3,c4]@3 ~@13 [g3,bb3,d4]@3 ~@13 g3@5 ~@11 [g3,c4]@4 ~@13, ~@15 bb3@2 ~@14 d3@11 ~@5 d3@12 ~@4 c3@11 ~@4 d3@6 ~@10 d3@6 ~@10 c3@8 ~@8 c3@2, ~@32 d4 ~@15 g4@11 ~@5 f4@12 ~@19 bb3@3 ~@30]/8", // Gm Gm7 F Gm G5 Gm Eb Cm …
  E: "[[eb4,g4]@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 [bb3,d4,g4]@3 ~ [g3,bb3,d4,g4]@2 ~@4 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [eb4,g4]@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 g4@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 d5@6 ~@2 [g4,c5]@8, ~@14 g2@7 ~@9 [g2,d3]@6 ~@10 c3@6 ~@10 c3@8 ~@10 eb4@15 ~, ~@15 [d3,g3]@6 ~@10 g3@5 ~@11 [g3,c4]@3 ~@12 g3@4 ~@13 g4@6 ~@11, ~@31 bb3@3 ~@29 [c4,eb4]@3 ~@13 a4@9 ~@8]/6", // Eb Cm Gm G5 Gm Eb Cm C5 …
  F: "[a4,d5]@4 [eb4,g4,c5]@3 ~", G: "[gb4,c5] [g4,bb4], d4@3 ~", H: "[gb4,c5] [g4,bb4], d4@11 ~@5",
  I: "~ bb4, eb3@13 ~@3, ~@2 bb3@11 ~@3, ~ eb4@3, ~@3 g4@5",
  J: "[~@8 bb4@4 ~@4 [d4,g4]@3 ~ [g3,bb3,d4,g4]@2 ~@4 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4]@2 ~@4 [g3,bb3,d4,g4] ~@4 [g3,bb3,d4], eb3@8 ~@6 g2@7 ~@9 [g2,d3]@7 ~@11, ~@2 bb3@4 g4@6 ~@3 [g3,bb3]@4 ~@12 [g3,bb3]@4 ~@13, ~@4 eb4@8 ~@3 d3@6 ~@25 d3@2]/3", // G5 Gm G5 Gm G5 Gm
  K: "[g4@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [eb4,g4]@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 [eb4,g4]@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 [bb3,d4,g4]@3 ~ [g3,bb3,d4,g4]@2 ~@4 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@4 [g3,c4], ~@14 g2@10 ~@38 g2@7 ~@9 [g2,d3]@6 ~@12, ~@14 d3@6 ~@10 c3@8 ~@8 c3@7 ~@10 [d3,g3]@6 ~@25 c3@2, ~@15 g3@5 ~@11 [g3,c4]@4 ~@12 [g3,c4]@4 ~@28 g3@5 ~@12, ~@15 bb3@3 ~@61 bb3@3 ~@14]/6", // Gm G5 Gm Eb Cm Eb Cm Gm …
  L: "[[eb4,g4]@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 g4@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 d5@6 ~@2 [g4,c5]@8, ~@14 c3@8 ~@10 eb4@15 ~, ~@14 g3@4 ~@13 g4@6 ~@11, ~@15 [c4,eb4]@3 ~@13 a4@9 ~@8]/3", // Eb Cm C5 Cm
  M: "[~@8 bb4@4 ~@4 [d4,g4]@3 ~ [g3,bb3,d4,g4]@2 ~@4 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4]@2 ~@4 [g3,bb3,d4,g4] ~@5, eb3@8 ~@6 g2@7 ~@9 [g2,d3]@7 ~@11, ~@2 bb3@4 g4@6 ~@3 [g3,bb3]@4 ~@12 [g3,bb3]@4 ~@13, ~@4 eb4@8 ~@3 d3@6 ~@27]/3", // G5 Gm G5 Gm G5 Gm
  N: "[~@8 bb4@4 ~@4 [d4,g4]@3 ~ [g3,bb3,d4,g4]@2 ~@4 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4]@2 ~@4 [g3,bb3,d4,g4] ~@5 [bb3,d4,g4]@20 ~@12 [d4,g4]@16, eb3@8 ~@6 g2@7 ~@9 [g2,d3]@7 ~@10 [g2,d3,g3]@5 ~@26 g2@18, ~@2 bb3@4 g4@6 ~@3 [g3,bb3]@4 ~@12 [g3,bb3]@4 ~@44 bb3@16 ~, ~@4 eb4@8 ~@3 d3@6 ~@58 [d3,g3]@5 ~@12]/6", // G5 Gm G5 Gm G5 Gm G5
  O: "[~ [d4,g4], ~@7 g2@9, ~@14 d3@5 ~@13, ~@15 bb3@16 ~, ~@15 g3@5 ~@12]/2", // G5
  P: "[~@8 [d4,g4]@7 ~, ~@7 g2@8 ~, ~@15 bb3@15 ~@2, ~@15 [d3,g3]@5 ~@12]/2", // G5
  Q: "[~@10 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 g4@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [eb4,g4]@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 [eb4,g4]@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 [bb3,d4,g4]@3 ~ [g3,bb3,d4,g4]@2 ~@4 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@4 [g3,c4], ~@14 d3@6 ~@10 g2@10 ~@38 g2@7 ~@9 [g2,d3]@6 ~@12, ~@15 [g3,bb3,d4]@3 ~@12 d3@6 ~@10 c3@8 ~@8 c3@7 ~@10 [d3,g3]@6 ~@25 c3@2, ~@31 g3@5 ~@11 [g3,c4]@4 ~@12 [g3,c4]@4 ~@28 g3@5 ~@12, ~@31 bb3@3 ~@61 bb3@3 ~@14]/7", // F Gm G5 Gm Eb Cm Eb Cm …
  R: "[[eb4,g4]@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 g4@3 ~ [g3,c4,eb4,g4] ~@5 [g3,c4,eb4,g4] ~@5 d5@6 ~@2 [g4,c5]@8, ~@14 c3@8 ~@10 eb4@15 ~, ~@14 g3@4 ~@13 g4@6 ~@11, ~@15 [c4,eb4]@3 ~@13 bb4@9 ~@8]/3", // Eb Cm C5 Cm
  S: "~@3 c4 eb4 c4 eb4 c4, c3@11 ~@5, ~ eb3@5 ~@2, ~@4 g3@9 ~@3", T: "~ g3 ~ eb4 g4 eb4 g4 eb4, eb3@3 ~, ~ bb3@3",
  U: "~@3 c4 eb4 c4 eb4 c4, c3 ~, ~ eb3@3 ~@4, ~ g3@2 ~", V: "~ eb3 ~ c4 eb4 c4 eb4 c4, c3 ~, ~ g3@3",
  W: "[~@2 g3@2 bb3@2 eb4@2 g4@4 ~@4 g4@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [bb3,d4,g4]@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [d4,g4]@3 ~ [g3,bb3,d4,g4] ~@5 [g3,bb3,d4,g4] ~@5 [bb3,d4,g4]@20 ~@12 [d4,g4]@16, eb3@9 ~@5 [g2,d3]@8 ~@8 g2@6 ~@9 g2@7 ~@10 g2@7 ~@10 [g2,d3]@3 ~@28 g2@18, ~@14 g3@5 ~@12 d3@6 ~@9 d3@6 ~@11 d3@6 ~@42 [d3,g3,bb3]@17, ~@15 [bb3,d4]@3 ~@13 g3@4 ~@12 [g3,bb3]@4 ~@12 [g3,bb3]@4 ~@12 g3@21 ~@28]/8", // Gm G5 Gm G5 Gm G5 Gm Bb …
  X: "[~ [d4,g4], ~@14 d3@7 ~@11, ~@14 g2@5 ~@13, ~@15 [g3,bb3]@16 ~]/2", // G5 Gm
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0.7)

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

// drums · snare
const snare = s("sd").struct(`<
  A B@6 C A B@7 D B@3 D B D B@3 D B D B@3 D B@3 D B D B@3 D B D B D B D B@6 C E B@3 D B@2 ~ F B@3 D B@3 D B D B@3 D B D
  B@3 D B@3 D B D B@3 D B D B D B D G H B@10 C ~
>`.pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@2 x ~@2 x!2 ~", D: "~@4 x ~@7 x ~ x!2", E: "~@10 x!2 ~@4", F: "~@5 x!2 ~", G: "~ x!7",
// … 37 more lines

More by The Alan Parsons Project