Strudelify

I Wouldn't Want To Be Like You

The Alan Parsons Project

KeyC minorTempo100 bpm
0:00/0:00
// I Wouldn't Want To Be Like You — The Alan Parsons Project
// 100 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 80 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 29, guitar program 29.
setcpm(100/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 · epiano1
const epiano1 = note(`<
  A B A B C D E F G H I J K L M N@7 O@5 P Q R@3 S T U@2 V@2 W@2 X Y Z AA AB@2 AC AD AE@2 AF AG AH@2 AI AJ S T U@2 V@2
  W@2 AK AL W@2 AK Y AM AN AO AP G AN AQ AR AS AT
>`.pickRestart({
  A: "[a3,d4,eb4,g4]", B: "[c4,db4,f4,g4]", C: "[a3,d4,eb4,g4]@15 ~", D: "[bb3,d4,g4]@15 ~, f4@13 ~@3",
  E: "[c4,eb4,f4]@15 ~, ab3@13 ~@3", F: "[bb3,d4,f4,g4]@7 ~", G: "[c4,eb4,g4]@15 ~", H: "[bb3,f4], d4@7 ~",
  I: "[c4,eb4]@15 ~, ab3@13 ~@3", J: "[bb3,d4,g4]@15 ~", K: "[ab3,eb4]@15 ~, c4@13 ~@3", L: "[d4,f4]@15 ~, bb3@13 ~@3",
  M: "[ab3,c4,eb4], f4@7 ~", // Ab
  N: "[[bb3,f4,g4]@14 ~@2 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4] ~@2 c4 [c4,eb4,g4,bb4]@2 ~ [g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [g4,bb4]@3 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4] ~@2 c4 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4] ~@2 c4 [g4,bb4]@2 ~ [g4,bb4]@2 ~ [eb4,f4,ab4]@2 c4 [eb4,f4,ab4]@2 ~ [eb4,f4] ~@2 c4 [eb4,f4,ab4]@2 ~ [eb4,f4,ab4]@2 ~ [eb4,f4,ab4]@2 ~ [eb4,f4,ab4]@2 ~ [eb4,f4] ~@2 c4 [f4,ab4]@2 ~ [eb4,ab4]@2 c4, d4@12 ~@3 c4@3 c4@4 bb4@2 ~@4 c4@3 c4@2 ~ c4@3 c4@3 ~ c4@3 c4@2 ~ c4@2 ~ c4@2 ~ c4@2 ~@3 c4@5 c4@5 ~ c4@2 ~@3 [c4,eb4] ~ c4@2 ~ c4@3 ~ c4 ~ c4@2 ~@3 c4@3 ~@2 c4@2 ~ c4@2 ~ c4@2 ~@3 [c4,eb4] ~ c4@2 ~@2, ~@29 eb4 ~@8 eb4 ~@15 bb4@2 ~@14 bb4@2 ~@5 eb4 ~@8 ab4@2 ~@14 ab4@2 ~@5 f4 ~@2]/7", // Gm7 Eb Cm7 Gm Eb Gm Eb Gm …
  O: "[[eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4] ~@2 c4 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 c4 [eb4,g4,bb4]@2 ~ [eb4,g4] ~@2 c4 [g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,f4,ab4]@2 c4 [eb4,f4,ab4]@2 ~ [f4,ab4]@2 ~@2 [eb4,f4,ab4]@2 c4 [eb4,f4,ab4]@2 ~ [eb4,f4,ab4]@2 ~ [eb4,f4,ab4]@2 ~ [eb4,f4] ~@2 c4 [eb4,f4,ab4]@2 ~ [eb4,f4] ~@2 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~@2 [eb4,g4,bb4]@2 c4 [eb4,g4,bb4]@2 c4, c4 ~ c4@3 c4@2 ~@3 c4 ~ c4@2 ~ c4@2 ~@2 c4 ~ c4@2 ~@3 c4@3 ~@2 c4@2 ~@2 c4 ~ c4@2 ~@2 c4@3 ~ c4 ~ c4@2 ~ c4@2 ~ c4@2 ~@3 c4 ~ c4@2 ~ c4@4 c4 ~ c4@2 ~@2 c4@2 ~@5, ~@6 bb4@2 ~@14 bb4@2 ~@2 eb4 ~@11 eb4 ~@15 ab4@2 ~@5 ab4@2 ~@17]/5", // Eb Gm Eb Fm7 Fm Fm7 Ebsus2 Fm7 …
  P: "[d4,f4]@11 ~ [d4,f4,bb4]@3 ~, [g4,bb4]@9 ~@3 g4 ~@3, c4 ~@15", Q: "[c4,f4,ab4]@12 [c4,eb4,f4] ~@3, eb4@5 ~ ab4 ~",
  R: "[[d4,f4,g4,bb4]@5 ~ [d4,f4,g4,bb4] ~ [c4,eb4,f4,ab4]@3 ~@5 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ c4 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2 ~ [eb4,g4] ~@2 c4 [eb4,g4,bb4]@2 c4 [eb4,g4,bb4]@2 ~, ~@15 c4@2 ~ c4@2 ~ c4@2 ~@3 c4 ~ c4@2 ~ c4@5 ~ c4@2 ~@3 c4 ~@5, ~@19 bb4 ~@4]/3", // Gm7 Fm7 Eb
  S: "[c4,eb4,ab4]@3 [f4,ab4] ~@2 ab4@4 c5 eb5 f5 ~ ab4 ~, f4@2 ~@4 [c4,eb4]@7 d5@3, ~@3 f4 ~ f4@2 ~", // Ab Fm Cm
  T: "[c4,f4,ab4]@2 ~ [c4,eb4,f4,ab4] ~@2 [c4,eb4,f4,ab4]@3 ~ [c4,eb4,f4,ab4] ~@2 [c4,eb4,f4,ab4] ~@2, c5@13 ~@3, eb4 ~@15", // Fm Fm7
  U: "[[g4,bb4]@2 ~ [g4,bb4] ~@2 [g4,bb4]@3 ~ c5 eb5 g5!2 f5@2 g4 ~@2 [c4,eb4,bb4]@2 ~ [g4,bb4]@3 ~ [g4,bb4]@2 ~ [c4,eb4,g4,bb4] ~@2, [c4,eb4]@17 ~@5 [c4,eb4]@6 ~@4, ~@10 bb4@8 ~ g4 ~@12, ~@10 g4@5 ~ eb5@15 ~]/2", // Gm Cm7 Gm Cm7 Cm
  V: "[[f4,ab4]@2 ~ [f4,ab4] ~@2 f4@2 ~@2 [f4,c5] ~ f5 d5@3 f4 ~@2 [c4,ab4]@2 ~ [f4,ab4]@3 ~ [eb4,f4,ab4]@2 ~ [eb4,f4,ab4] ~@2, c4@17 ~@5 c4@8 ~@2, eb4@15 ~@4 [eb4,f4] ~@2 eb4 ~@9, ~@3 ab4@6 ~@7, ~@6 f4 ~ c5@8]/2", // Fm F5 Fm Fm7 Ebsus2
  W: "[[c4,eb4,g4,bb4]@3 [c4,eb4]@2 ~ g4@2 ~@2 g4 ~ [g5,g6]@2 ~@2 [d4,f4,bb4]@3 [d4,g4,bb4]@3 [d4,f4,bb4]@8 g4 ~, ~@3 [g4,bb4] ~@2 [eb4,bb4]@9 ~ [f5,f6]@14 ~@2, ~@6 c4@7 ~ g4@4 ~ f4 ~@2 g4@3 ~@7]/2", // Cm7 Cm G Bb Gm Bb Gm Eb5 …
  X: "[c4,f4,ab4]@2 ~ [c4,ab4]@2 ~ [c4,eb4,ab4]@6 f4@2 ab4 ~, [eb5,eb6]@13 ~@3, eb4 ~@2 [eb4,f4] ~@2 f4@2 ~@8", // Fm Ab Eb Ebsus2
  Y: "[d4,f4,bb4,d5,d6]@6 [g4,d5,d6] ~ [c4,eb4,f4,ab4,eb5,eb6]@2 ~@6", // Bb G5 Fm7
  Z: "[g4,bb4]@2 ~ [g4,bb4] ~@2 g4@2 ~@2 c5 eb5 g5!2 [g4,f5]@2, c4@7 ~, eb4@5 g4 ~@2, ~@3 bb4@4 ~", // Gm G7
  AA: "[c4,eb4,bb4]@2 ~ [c4,bb4]@2 ~ [g4,bb4]@3 ~ g4@2 ~ [eb4,g4,bb4]@3, eb5@15 ~, g4 ~@2 [eb4,g4] ~@2 c4@8 ~@2, ~@3 eb4@3 ~@2, ~@10 bb4 ~@5", // Cm7 C7 Gm Eb
  AB: "[[ab4,eb5]@2 [eb4,c5] ~ eb5@2 eb4 [c4,eb4,f4,ab4,eb5] ~ [eb4,ab4,eb5] ~ ab4 [ab4,eb5]@2 c5 ~ [c4,f4] ~@3 [ab4,eb5]@2 ~ [c4,f4,ab4,eb5] ~ [ab4,eb5] c5 ~ eb5@2 [eb4,c5] ab4, [c4,f4]@6 ~@3 [c4,f4]@6 ab4@3 [c4,eb4,f4]@4 eb4@2 ~ [c4,f4]@6 ~, eb4 ~@2 ab4@3 ~@8 eb4@2 eb5@2 ~@7 eb4@2 ab4@2 ~@3]/2", // Ab5 Cm Fm7 Ab5 F5 Ab5 Fm7 Ab5 …
  AC: "[c4,eb4,g4] ~ c5 g4 bb4@2 [c4,eb4,g4] [c4,eb4,g4,bb4,eb5] ~ [g4,bb4,eb5] c5 g4 [bb4,eb5]@2 [g4,c5] g4, [bb4,eb5]@2 [c4,eb4]@2 eb5 ~@4 [c4,eb4]@6 ~", // Cm Cm7 Eb Eb5 C5 Eb5 Cm
  AD: "[bb4,eb5]@2 c5 g4 [bb4,eb5]@2 [c4,eb4,g4] [c4,eb4,g4,bb4,eb5] ~ [bb4,eb5] c5 ~ [bb4,eb5]@2 c5 g4, [c4,eb4] ~ [c4,eb4]@3 ~@4 c4@5 eb4@2, ~@9 [eb4,g4]@3 g4 ~@3", // Eb5 Cm Cm7 Eb5 Cm Eb
  AE: "[[c4,eb4,f4] ~ c5 ab4 ab4@2 eb4 [c4,eb4,f4,ab4,eb5] ~ [ab4,eb5] c5 ~ eb5@2 c5 ~ [c4,f4] ~ eb4@2 [ab4,eb5]@2 eb4 [c4,eb4,f4,ab4,eb5] ~ [ab4,eb5] c5 ~ eb5@2 [eb4,c5] ab4, [ab4,eb5]@2 [c4,eb4,f4]@4 ~@3 [c4,f4]@5 eb4@2 eb5@2 [c4,f4]@4 ~@3 [c4,f4]@6 ~, ~@4 eb5 ~@4 eb4@2 ab4@3 ~ ab4@4 ~@6 eb4@2 ab4@3 ~@2]/2", // F7 Fm7 Ab5 F5 Ab5 Fm7 Ab5 Cm …
  AF: "[c4,bb4,eb5]@2 c5 g4 [bb4,eb5]@2 [c4,eb4,g4] [c4,eb4,g4,bb4,eb5] ~ [g4,bb4,eb5] c5 g4 [bb4,eb5]@2 [eb4,c5] g4, [eb4,g4] ~ [c4,eb4]@3 ~@4 c4@7, ~@9 eb4@3 ~@4", // Cm7 Eb5 Cm Cm7 Eb Eb5 Cm Eb …
  AG: "[bb4,d5]@2 [d4,f4] [d4,f4,bb4,d5] ~@2 [bb4,d5]@2 ~ d5@2 d4 [bb4,d5]@2 d4 g4, [d4,f4] ~@5 [d4,f4] ~ f4@8, ~@4 d4 ~@3, ~@9 g4 ~@2 g4 ~@3", // Bb Dm Bb Dm
  AH: "[[eb4,ab4,c5,eb5]@2 ~ [ab4,c5] ~@2 [ab4,c5,eb5]@2 eb4 [ab4,c5,eb5] ~ eb4 [ab4,c5,eb5]@2 eb4 ~ [bb4,d5]@2 [d4,f4] [c4,d4,f4,g4,bb4,d5] ~@2 [d4,g4,bb4,d5]@3 [g4,bb4]@2 ~ [g4,bb4,d5]@2 f4 g4, c4 ~ [c4,eb4]@3 ~ c4@10 [d4,f4] ~@5 c4@8 ~@2, ~@3 eb5@2 ~ eb4 ~@8 g4@3 ~@4 f4@5 d4@3 ~@2, ~@25 d5 ~@6]/2", // Ab Bb Dm Gm7 Gm Cm Dm
  AI: "[bb4,eb5]@2 c5 ~ [bb4,eb5]@2 ~ [bb4,eb5] ~ c5 eb5 f5 g5!2 [eb4,f5]@2, c4@13 ~@3, eb4 ~ eb4@2 ~@2 eb4@5 ~@5, ~@3 g4@3 ~@3 g4@5 ~@2", // Eb5 Ebsus2
  AJ: "[bb4,eb5]@2 [eb4,g4] [bb4,eb5] [eb4,g4] [bb4,eb5] [eb4,g4]@2 [c4,eb4,g4,c5]@2 ~@6, c4@3 ~@5, [eb4,g4] ~@15", // Eb5 Eb Eb5 Eb Eb5 Eb Cm Eb
  AK: "[c4,f4,ab4]@2 ~ [c4,ab4]@2 ~ [c4,eb4]@6 f4@2 ab4 ~, [eb5,eb6]@7 ~, eb4 ~@2 [eb4,f4] ~@2 ab4@5 ~@5, ~@3 f4 ~@4", // Fm Cm Eb Ebsus2
  AL: "[d4,f4,bb4,d5,d6]@6 [g4,d5,d6] ~ [c4,eb4,f4,ab4,eb5,eb6]@2 ~@6, g4 ~@3", AM: "[c4,eb4], g4@7 ~",
  AN: "[bb3,d4,f4,g4]@15 ~", AO: "[ab3,c4,eb4]@3 ~, f4@7 ~", AP: "[d4,f4,g4]@3 ~, bb3@15 ~",
  AQ: "[ab3,c4,eb4,f4]@13 ~@3", AR: "[bb3,d4,f4,g4]@13 ~@3", AS: "[c4,eb4]@7 ~, g4@3 ~",
  AT: "[c4,eb4,g4]@2 ~ eb4@2 [d4,f4] [eb4,g4]@2 ~@8, ~@3 c4@5 ~@8, ~@3 g4 ~@12", // Cm Dm Eb
})).s("gm_epiano1").gain(0.17)

// bass · fretless bass
const bass = note(`<
  A@5 B C A@2 B@3 C@2 A D E F G H I J K H L J G F@2 M G H I J K H L J G F@2 M G H N O P Q R S G F T U V W I J K H L J G
  F@2 M G F@2 X C@2 A C A B C B A Y
>`.pickRestart({
  A: "c2@3 c2 ~@2 c2@8 ~@2", B: "c2@3 c2 ~@2 c2@9 ~", C: "c2@3 c2 ~@2 c2@7 ~@3", D: "c2@3 c2 ~@2 c2@9 bb1",
  E: "c2@3 c2 eb2@2 f2 g2@2 ~@6 bb1", F: "c2@2 ~ c2 eb2@2 f2 c2@2 ~@6 bb1", G: "c2@2 ~ c2 eb2@2 f2 g2@2 ~@6 bb1",
  H: "c2@2 ~ c2 eb2@2 f2 c2@2 ~@6 eb1", I: "f1@2 ~ f1 ab1@2 bb1 c2@2 ~@6 eb1", J: "f1@2 ~ f1 ab1@2 bb1 f1@2 ~@6 bb1",
  K: "c2@2 ~ c2 eb2@2 f2 g2 ~@7 bb1", L: "f1@3 f1 ab1@2 bb1 c2@2 ~@6 eb1", M: "c2@2 ~ c2 eb2@2 g2@2 f2@2 ~@5 bb1",
  N: "f1@3 ~ f1@3 f1 c2 ~ eb2@2 f2@3 eb1", O: "f1@3 ~ f1@2 ~ f1 c2 ~ eb2@2 f2@3 bb1",
  P: "c2@3 ~ c2@2 ~ f2 g2@2 bb1@2 c2@3 bb1", Q: "c2@3 ~ c2@3 f2 g2@2 bb1@2 c2@2 ~ eb1",
  R: "f1@3 ~ f1@2 ~ f1 c2@2 eb2@2 f2@3 eb1", S: "f1@3 ~ f1@2 ~ f1 c2@2 eb2@2 f2@3 bb1",
  T: "c2@3 c2 eb2@2 f2 c2@2 ~@6 bb1", U: "c2@2 ~ c2 eb2@2 f2 c2@2 ~@4 a1 bb1 b1",
  V: "c2@3 c2 c2@2 ~ c2!2 ~ c2 ~ c2@2 ~ c2", W: "c2@2 ~ c2 eb2@2 bb1@2 c2@2 ~@6", X: "c2@2 ~ c2 eb2@2 g2@2 f2@2 ~@6",
  Y: "c2@3 c2 ~ bb1 c2@2 ~@8",
})).s("gm_fretless_bass").gain(0.44)

// chords · overdriven guitar
const overdriven_guitar = note("<~@27 A B C ~@9 A B C ~ D E F@2 G E H@2 I J K L M ~@7 A B C ~ A B C ~@10>".pickRestart({
  A: "~@9 d4@2 ~ d4@4, ~@9 bb3@7", B: "~@14 [c4,eb4] ~", C: "~@3 [bb3,d4] ~@12", D: "~@15 c4",
  E: "f4!2 ~@3 eb4 f4!2 eb4 ~@2 eb4 ~ f4 eb4 c4",
  F: "[f4 ~ f4@2 eb4 c4 ~ f4 g4 bb4 ~ g4 eb5 ~ eb5 c5@9 ~@3 eb5 d5 ~ bb4 g4]/2",
  G: "bb4 ~@5 bb4 gb4 f4 eb4 f4 c4 eb4 f4 eb4 ~",
  H: "[f4 ~ f4 ~ eb4 c4 ~ f4 g4 bb4 ~ g4 eb5 ~ eb5 c5@10 ~@2 eb5 d5 ~ bb4 g4]/2", I: "~@11 c5 bb4 g4 eb4 c4",
  J: "f4@10 ~ eb4 d4 c4 bb3 g3", K: "~@3 bb4", L: "~@4 bb3 c4 ~@2 f4@2 f4 ~ eb4 ~ bb3 g3",
  M: "~ bb3 ~ gb3 f3 eb3 ~ bb2 ~@8",
})).s("gm_overdriven_guitar").gain(0.17).pan(0.3)

// chords · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@16 A B C@2 D E F G H I C J K L M N O P Q R S T U V W X Y Z AA AB@2 AC AD AE@2 AF AG AH AI AJ O P Q R S T U V W X U V
  W X ~@10
>`.pickRestart({
  A: "[eb4,g4]@3 eb4 ~@3 g4 ~@2 eb4 [g4,bb4] ~ eb4 a4 ~, ~@3 [eb4,g4] ~@4", // Eb Gm Eb
  B: "[eb4,g4]@3 g4 ~@3 g4 ~@2 eb4 [g4,bb4] ~ eb4 [f4,a4] ~, ~@3 [eb4,g4] ~@4", // Eb Gm F Eb
  C: "[eb4,g4]@3 [eb4,g4] ~@3 g4 ~@2 eb4 [g4,bb4] ~ eb4 [f4,a4] ~, ~@3 [eb4,g4] ~@4", // Eb Gm F Eb
  D: "[ab4,c5]@3 [ab4,c5] ~@2 [ab4,c5]!2 ~@3 [c5,eb5] ~ ab4 [bb4,d5] ~", // Ab Cm Bb
  E: "[ab4,c5]@3 [ab4,c5] ~@3 c5 ~@2 ab4 [c5,eb5]@2 ab4 [bb4,d5] ~, ~@3 [ab4,c5] ~@4", // Ab Cm Bb Ab
  F: "eb4@3 g4 ~@2 [eb4,g4]!2 ~@3 [eb4,g4,bb4] ~ eb4 a4 ~, g4 ~@7", // Eb
  G: "[eb4,g4]@3 [eb4,g4] ~@2 [eb4,g4]@3 ~ eb4 [g4,bb4] ~ eb4 a4 ~", // Eb Gm
  H: "[ab4,c5]@3 [ab4,c5] ~@3 c5 ~@2 ab4 [c5,eb5] ~ ab4 [bb4,d5] ~, ~@3 [ab4,c5] ~@4", // Ab Cm Bb Ab
  I: "[ab4,c5]@3 [ab4,c5] ~@2 [ab4,c5]@2 ~@2 ab4 [c5,eb5] ~ ab4 [bb4,d5] ~", // Ab Cm Bb
  J: "[bb3,d4,g4]@3 [bb3,d4,g4] ~@2 [bb3,d4,g4]@6 ~@2 [bb3,d4,g4] ~", // Gm
  K: "[c4,eb4,ab4]@3 [c4,eb4,ab4] ~@2 [eb4,ab4]@7 ~ [eb4,ab4] ~, ~@3 c4@5", // Ab Ab5
  L: "[d4,f4,bb4]@3 [d4,f4] ~@2 [d4,f4,bb4]@2 [c4,eb4,ab4]@2 ~@6", // Bb Dm Bb Ab
  M: "[eb4,g4]@3 [eb4,g4] ~@3 g4 ~@2 eb4 [g4,bb4] ~ eb4 a4 ~, ~@3 [eb4,g4] ~@4", // Eb Gm Eb
  N: "[eb4,g4]@3 [eb4,g4] ~@2 [eb4,g4]!2 ~@2 eb4 [g4,bb4] ~ eb4 [f4,a4]@2", // Eb Gm F
  O: "[ab4,c5]@3 [ab4,c5] ~@3 c5 ~@2 ab4 [ab4,c5,eb5] ab4 [bb4,d5]@3, ~@3 [ab4,c5] ~@4", // Ab Bb Ab
  P: "[ab4,c5]@3 [ab4,c5] ~@3 ab4 ~@2 ab4 [ab4,c5,eb5] ~ [bb4,d5]@3, ~@3 [ab4,c5] ~@4", // Ab Bb Ab
  Q: "[eb4,g4]@2 ~ [eb4,g4] ~@3 g4 ~@2 eb4 [g4,bb4] eb4 [f4,a4]@3, ~@3 [eb4,g4] ~@4", // Eb Gm F Eb
  R: "[eb4,g4]@3 [eb4,g4] ~@3 g4 ~@2 eb4 [g4,bb4] ~ [f4,a4]@2 eb4, ~@3 [eb4,g4] ~@4", // Eb Gm F Eb
  S: "[ab4,c5]@3 [ab4,c5] ~@2 [ab4,c5]!2 ~@2 f4 [c5,eb5] ~ [bb4,d5]@3", // Ab Cm Bb
  T: "[ab4,c5]@3 [ab4,c5] ~@2 [ab4,c5]!2 ~@2 ab4 [c5,eb5] ~ [bb4,d5]@3", // Ab Cm Bb
  U: "[g4,bb4] ~@2 [eb4,g4] ~@2 [eb4,g4]@2 ~@2 eb4 [g4,bb4] ~ [f4,a4]@3", // Gm Eb Gm F
  V: "[d4,g4]@3 [d4,g4] ~@2 [d4,g4]@7 [d4,g4] ~@2", W: "[eb4,ab4]@2 ~ [eb4,ab4] ~@2 [eb4,ab4]@6 ~ [eb4,ab4]@2 ~",
  X: "[f4,bb4]@3 [f4,bb4] ~@2 [f4,bb4]@2 [eb4,ab4]@2 ~@6", // Bb5 Ab5
  Y: "[eb4,g4]@3 g4 ~@3 g4 ~@2 eb4 [g4,bb4] ~ [f4,a4]@3, ~@3 [eb4,g4] ~@4", // Eb Gm F Eb
  Z: "[eb4,g4]@3 [eb4,g4] ~@3 g4 ~@2 eb4 [g4,bb4] ~ eb4 ~ c4, ~@3 [eb4,g4] ~@3 [f4,a4]", // Eb Gm Eb F
  AA: "f4!2 eb4 ~@2 eb4 f4!2 eb4 ~@2 eb4 f4!2 eb4 c4",
  AB: "[f4 ~ f4 ~ eb4 c4 eb4 f4 g4 bb4 c5 g4 eb5 ~ eb5 c5@9 ~@3 eb5 d5 c5 bb4 g4]/2",
  AC: "c5@5 ~ [bb4,c5] [gb4,g4] f4 eb4 f4 c4 eb4 f4 eb4 c4, bb4 ~@15", // Bbsus2 Gmaj7
  AD: "[eb4,f4] f4 eb4 ~@2 eb4 f4!2 eb4@2 ~ eb4 f4!2 eb4 c4", // Ebsus2
  AE: "[f4 ~ f4 ~ eb4 c4 eb4 f4 g4 bb4 c5 g4 eb5 ~ eb5 c5@10 ~@2 eb5 d5 c5 bb4 g4]/2",
  AF: "bb4@8 ~@3 c5 bb4 g4 [eb4,e4] c4", AG: "f4@10 ~ eb4 d4 c4 bb3 g3, eb4 ~@15", AH: "bb3@9 ~@3 c5@4",
  AI: "~@2 c4 ~ bb3 c4@2 eb4 f4@2 f4 ~ eb4 c4 bb3 g3", AJ: "c4 bb3 g3 gb3 f3 eb3 c3 bb2 c3@2 ~@6",
})).s("gm_overdriven_guitar").gain(0.12).pan(0.7)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@16 A B C D E F G H I J K L M N O P Q R S T U V T W X Y Z AA Q R S T U V T W X AB Z AC Q R S T U V T W X Y T W X Y
  ~@10
>`.pickRestart({
  A: "[c4,eb4,g4]@3 [c4,eb4,g4] ~@2 [c4,eb4,g4] [eb4,g4] ~@2 c4 [c4,eb4,g4,bb4] ~@2 [f4,a4] ~, ~@13 c4@2 ~", // Cm Eb Cm7 F
  B: "[c4,eb4,g4]@2 ~ [c4,eb4,g4] ~@2 [c4,eb4,g4] [eb4,g4] ~@3 [eb4,g4,bb4]@2 ~ [d4,f4,a4] ~, ~@10 c4@2 ~ c4@2 ~", // Cm Eb Dm
  C: "[c4,eb4,g4]@2 ~ [c4,eb4,g4] ~@2 [c4,eb4,g4] [eb4,g4] ~@3 [eb4,g4,bb4]@2 ~ [d4,f4,a4] ~, ~@10 c4@3 c4@2 ~", // Cm Eb Dm
  D: "[c4,eb4,g4]@2 ~ [c4,eb4,g4] ~@2 [c4,eb4,g4] [eb4,g4] ~@3 [eb4,g4,bb4]@2 c4 [d4,f4,a4] ~, ~@5 c4 ~@2", // Cm Eb Dm
  E: "[f4,ab4,c5]@2 ~ [f4,ab4,c5] ~@3 ab4 ~@2 f4 [f4,ab4,c5,eb5] ~@2 [bb4,d5] ~, ~@6 [f4,ab4,c5]@2 ~@5 f4@2 ~", // Fm Fm7 Bb Fm
  F: "[f4,ab4,c5]@2 ~ [f4,ab4,c5] ~@2 [f4,ab4,c5] [ab4,c5] ~@3 [ab4,c5,eb5]@2 ~ [f4,bb4,d5] ~, ~@5 f4 ~@2", // Fm Ab Bb
  G: "[c4,eb4,g4]@3 [c4,eb4,g4] ~@3 eb4 ~@2 c4 [c4,eb4,g4,bb4]@2 ~ [d4,f4,a4] ~, ~@6 [c4,eb4,g4]@2 ~@5 c4@2 ~", // Cm Cm7 Dm Cm
  H: "[c4,eb4,g4]@2 ~ [c4,eb4,g4] ~@2 [c4,eb4,g4] [eb4,g4]@2 ~ c4 [c4,eb4,g4,bb4] ~ c4 [d4,f4,a4] ~", // Cm Eb Cm7 Dm
  I: "[f4,ab4,c5]@3 [f4,ab4,c5] ~@2 [f4,ab4,c5] [ab4,c5] ~@2 f4 [f4,ab4,c5,eb5] ~ f4 [f4,bb4,d5] ~", // Fm Ab Fm7 Bb
  J: "[f4,ab4,c5]@2 ~ [f4,ab4,c5] ~@2 [f4,ab4,c5] [ab4,c5]@2 ~ f4 [f4,ab4,c5,eb5]@2 ~ [bb4,d5] ~, ~@13 f4@2 ~", // Fm Ab Fm7 Bb
  K: "[c4,eb4,g4]@3 [c4,eb4,g4] ~@2 [c4,eb4,g4] [eb4,g4]@2 ~ c4 [eb4,g4,bb4] ~@2 [f4,a4] ~, ~@13 c4@2 ~", // Cm Eb F
  L: "[bb3,d4,g4]@3 [bb3,d4,g4] ~@2 [bb3,d4,g4]@8 [bb3,d4,g4] ~", // Gm
  M: "[c4,eb4,ab4]@2 ~ [c4,eb4,ab4] ~@2 [c4,eb4,ab4]@8 [c4,eb4,ab4] ~", // Ab
  N: "[d4,f4,bb4]@3 [d4,bb4] ~@2 [d4,f4,bb4] ~ [c4,eb4,ab4]@2 ~@6", // Bb Gm Bb Ab
  O: "[c4,eb4,g4]@2 ~ [c4,eb4,g4] ~@2 [c4,eb4,g4] [eb4,g4] ~@3 [eb4,g4,bb4]@2 c4 [f4,a4] ~, ~@5 c4 ~@2", // Cm Eb F
  P: "[c4,eb4,g4]@3 [c4,eb4,g4] ~@3 eb4@2 ~ c4 [c4,eb4,g4,bb4]@2 ~ [f4,a4]@2, ~@6 [c4,eb4,g4]@2 ~@5 c4@2 ~", // Cm Cm7 F Cm
  Q: "[f4,ab4,c5]@3 [f4,ab4,c5] ~@2 [f4,ab4,c5] [ab4,c5] ~@2 f4 [f4,ab4,c5,eb5] ~ [f4,bb4,d5]@3", // Fm Ab Fm7 Bb
  R: "[f4,ab4,c5]@3 [f4,ab4,c5] ~@2 [f4,ab4,c5] [ab4,c5] ~@2 f4 [f4,ab4,c5,eb5] f4 [f4,bb4,d5]@3", // Fm Ab Fm7 Bb
  S: "[c4,eb4,g4]@2 ~ [c4,eb4,g4] ~@2 [c4,eb4,g4] [eb4,g4] ~@2 c4 [c4,eb4,g4,bb4] c4 [c4,f4,a4]@2 ~", // Cm Eb Cm7 F
  T: "[c4,eb4,g4]@2 ~ [c4,eb4,g4] ~@2 [c4,eb4,g4]!2 ~@2 c4 [c4,eb4,g4,bb4] ~ [c4,f4,a4]@3", // Cm Cm7 F
  U: "[f4,ab4,c5]@2 ~ [f4,ab4,c5] ~@2 [f4,ab4,c5] [ab4,c5] ~@2 f4 [f4,ab4,c5,eb5] f4 [f4,bb4,d5]@2 ~", // Fm Ab Fm7 Bb
  V: "[f4,ab4,c5]@2 ~ [f4,ab4,c5] ~@2 [f4,ab4,c5] [ab4,c5] ~@2 f4 [f4,ab4,c5,eb5] f4 [f4,bb4,d5]@3", // Fm Ab Fm7 Bb
  W: "[bb3,d4,g4]@3 [bb3,d4,g4] ~@2 g4@4 g4@3 [bb3,d4,g4]@2 ~, ~@6 [bb3,d4]@7 ~@3", // Gm Bb
  X: "[c4,eb4,ab4]@3 [c4,eb4,ab4] ~@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 ~ [c4,eb4,ab4]@2 ~", // Ab
  Y: "[d4,f4,bb4]@2 ~ [d4,f4,bb4] ~@2 [d4,f4,bb4]@2 [c4,eb4,ab4]@2 ~@6", // Bb Ab
  Z: "[c4,eb4,g4]@3 [c4,eb4,g4] ~@2 [c4,eb4,g4] [eb4,g4] ~@2 c4 [c4,eb4,g4,bb4] c4 [c4,f4,a4]@3", // Cm Eb Cm7 F
  AA: "[c4,eb4,g4]@3 [c4,eb4,g4] ~@3 eb4 ~@3 [c4,eb4,g4,bb4] ~ c4 [c4,f4,a4]@2, ~@3 [c4,eb4,g4] ~@4", // Cm Cm7 F Cm
  AB: "[d4,f4,bb4]@2 ~ [d4,f4,bb4] ~@2 [d4,f4,bb4]@2 ~@2 [d4,f4,bb4]@2 ~ [d4,f4,bb4]@2 ~", // Bb
  AC: "[c4,eb4,g4]@3 [c4,eb4,g4] ~@3 eb4 ~@8, ~@3 [c4,eb4,g4] ~@4", // Cm
})).s("gm_electric_guitar_clean").gain(0.17).pan(0.7)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@16 A@4 B@2 C@2 D E F G H I J@2 B@2 C@2 D E F G H I J@2 B@2 C@2 D E F G K L@3 B@2 C@2 D E F G K I F G K M@2 N@8 O
>`.pickRestart({
  A: "[[g3,c4,eb4] [c4,eb4] [g3,c4,eb4]!2 ~ c3 [g3,c4,eb4]!2 ~ c3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 ~ [g3,c4,eb4]!4 ~@2 [g3,c4,eb4] [c4,eb4] ~ c3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 ~ [g3,c4,eb4]!4 ~ c3 [g3,c4,eb4]!2 ~ c3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 ~ [g3,c4,eb4]!4 ~@2 [g3,c4,eb4]!2 ~ c3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 c3, ~@12 c3@3 c3@4 ~@2 c3@2 ~@8 c3@3 ~@10 c3@3 c3@4 ~@2 c3@2 ~@5 c3@3 ~]/4", // Cm
  B: "[[ab3,c4,eb4] [c4,eb4] [ab3,c4,eb4]!2 ~ f3 [ab3,c4,eb4]!2 ~ f3 [ab3,c4,eb4]@2 ~ [ab3,c4,eb4]@2 ~ [ab3,c4,eb4]!4 ~@2 [ab3,c4,eb4]!2 ~ f3 [ab3,c4,eb4]@2 ~ [ab3,c4,eb4]@2 f3, ~@12 f3@3 f3@4 ~@9 f3@3 ~]/2", // Ab Cm Ab
  C: "[[g3,c4,eb4] [c4,eb4] [g3,c4,eb4]!2 ~ c3 [g3,c4,eb4] [c4,eb4] ~ c3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 ~ [g3,c4,eb4]!4 ~ c3 [g3,c4,eb4]!2 ~@2 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 c3, ~@12 c3@3 c3@2 ~@11 c3@3 ~]/2", // Cm
  D: "[ab3,c4,eb4] [c4,eb4] [ab3,c4,eb4]!2 ~@2 [ab3,c4,eb4] [c4,eb4] ~ f3 [ab3,c4,eb4]@2 ~ [ab3,c4,eb4]@2 f3, ~@12 f3@3 ~", // Ab Cm Ab Cm Ab
  E: "[ab3,c4,eb4]!3 [ab3,c4,eb4]@2 f3 [ab3,c4,eb4]!2 ~ f3 [ab3,c4,eb4]@2 ~ [ab3,c4,eb4]@2 ~", // Ab
  F: "[g3,c4,eb4] [c4,eb4] [g3,c4,eb4] [g3,c4,eb4]@2 c3 [g3,c4,eb4] [c4,eb4] ~ c3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 c3, ~@12 c3@3 ~", // Cm
  G: "[f3,bb3,d4]@7 [bb3,d4] [bb3,d4]@2 [f3,bb3,d4]@3 [bb3,d4] [bb3,d4]@2, ~@7 f3@3 ~@3 f3@3", // Bb
  H: "[eb3,ab3,c4]@3 [ab3,c4] [ab3,c4]@2 [eb3,ab3,c4]@3 [ab3,c4] [ab3,c4]@2 [ab3,c4]@3 eb3, ~@3 eb3@3 ~@3 eb3@6 ~", // Ab
  I: "[bb3,d4]@4 [bb3,d4]@2 [f3,bb3,d4] ~ [ab3,c4,eb4]@2 ~@6, f3@3 ~@5", // Bb Ab
  J: "[[g3,c4,eb4]!3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]!2 ~ c3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 ~ [g3,c4,eb4]!4 ~@2 [g3,c4,eb4]!2 ~ c3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 ~, ~@12 c3@3 c3@4 ~@2 c3@3 ~@8]/2", // Cm
  K: "[eb3,ab3,c4]@3 [ab3,c4] [ab3,c4]@2 [eb3,ab3,c4]@3 [ab3,c4] [ab3,c4]@2 [ab3,c4]@3 eb3, ~@3 eb3@3 ~@3 eb3@5 ~@2", // Ab
  L: "[[bb3,d4]@4 [bb3,d4]@2 [f3,bb3,d4] ~ [f3,bb3,d4]@2 ~@3 [f3,bb3,d4] ~ bb3 [g3,c4,eb4]!3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]!2 ~ c3 [g3,c4,eb4]@2 ~ [g3,c4,eb4]@2 ~ [g3,c4,eb4]!4 ~@2 [g3,c4,eb4]!2 c3 ~@7, f3@6 ~@9 [f3,d4]@3 ~@10 c3@3 c3@4 ~@2 c3@3 ~@8]/3", // Bb Cm Dm
  M: "[[bb3,d4]@4 [bb3,d4]@2 [f3,bb3,d4] ~ [ab3,c4,eb4]@2 ~@6 [eb4,g4]@13 ~@2 bb3, f3@6 ~@9 c4@13 ~@4]/2", // Bb Ab Eb
  N: "[g4@13 ~@3 [c4,f4]@12 ~@4 [d4,g4]@12 ~@4 [eb4,g4]@12 ~@4 [d4,g4]@13 ~@3 f4@12 ~@4 [d4,g4]@11 ~@5 [eb4,g4]@13 ~@3, d4@11 ~@4 ab3@13 ~@3 bb3@14 ~@2 c4@12 ~@4 bb3@12 ~@4 [ab3,c4]@12 ~@4 bb3@12 ~@4 c4@13 ~@4]/8", // F5 G5 Eb G5 Eb Ab
  O: "[c4,eb4,g4]@2 ~ [eb4,g4]@2 [d4,f4] [eb4,g4]@2 ~@8, ~@3 c4@5 ~@8", // Cm Eb Dm Eb
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0.3)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~@4 A B@11 C@4 D@2 E C D@2 C@3 F C@2 D@2 E C D@2 C@3 F C@2 D@2 E C D@2 C@3 F C G D@2 E C D@2 C@3 F C@3 F A B@8 H
>`.pickRestart({
  A: "c3!13 c3@2 c3", B: "c3!16", C: "c3 ~ c3!3 ~ c3!3 ~ c3!3 ~ c3!2", D: "f2 ~ f2!3 ~ f2!3 ~ f2!3 ~ f2!2",
  E: "[c3,d3] ~ c3!3 ~ c3!3 ~ c3!3 ~ c3!2", F: "c3 ~ c3!3 ~ c3 ~ c3 ~@7", G: "c3 ~ c3!3 ~ c3!3 ~@7",
  H: "c3!5 bb2 c3 ~@9",
})).s("gm_electric_guitar_muted").gain(0.15).pan(0.2)

// other · electric guitar muted
const electric_guitar_muted_2 = note(`<
  ~@4 A@12 B@4 C D B@2 E@2 B@3 F B@2 C D B@2 E@2 B@3 F B@2 C D B@2 E@2 B@3 F B F C D B@2 E@2 B@3 F B@3 F A@9 G
>`.pickRestart({
  A: "c3!16", B: "c3!3 ~ c3!3 ~ c3!3 ~ c3!3 ~", C: "f2!3 ~ f2!3 ~ f2!2 ~@2 f2!3 ~", D: "~ f2 ~@2 f2!3 ~ f2!3 ~ f2!3 ~",
  E: "f2!3 ~ f2!3 ~ f2!3 ~ f2!3 ~", F: "c3!3 ~ c3!3 ~ c3 ~@7", G: "c3!5 bb2 c3 ~@9",
})).s("gm_electric_guitar_muted").gain(0.15).pan(0.7)

// bass · piano
const bass_2 = note("<~@29 A ~@11 A ~@23 B ~@3 A ~@10>".pickRestart({
  A: "c2@4 eb2 ~ g2@2 f2@3 ~@5", B: "~@4 eb2 ~ g2@2 f2@3 ~@5",
})).s("gm_piano").gain(0.49).pan(0.1)

// bass · slap bass 1
const bass_3 = note("<A@4 B C D A B@2 A B@2 E@2 B ~@54 A@3 E B C F E B G>".pickRestart({
  A: "c2@3 c2 ~@2 c2@8 ~@2", B: "c2@3 c2 ~@2 c2@9 ~", C: "c2@2 ~ c2 ~@2 c2@9 ~", D: "c2@2 ~ c2 ~@2 c2@8 ~@2",
  E: "c2@3 c2 ~@2 c2@7 ~@3", F: "c2@2 ~ c2 ~@2 c2@7 ~@3", G: "c2@3 c2 ~@2 c2@2 ~@8",
})).s("gm_slap_bass_1").gain(0.2)
// … 44 more lines

More by The Alan Parsons Project