Strudelify

Blood on the Rooftops

Genesis

KeyA majorTempo115 bpm
0:00/0:00
// Blood on the Rooftops — Genesis
// 115 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 38, 4/4 at bar 38, 2/4 at bar 45, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Full arrangement: all 157 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(115/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 · acoustic guitar steel · "Guitar - Introduction"
const acoustic_guitar_steel = note("<A@4 B C@3 D@7 E@5 F G@2 H I J K J L M N O P@3 ~@122>".pickRestart({
  A: "[~@9 e4@4 d4@4 ~ c#4@4 d4@4 e4@4 c#3@8 ~ d5@2 ~@2 c#5@2 ~@2 b4@8 [a2,d4,f#4,b4]@9, ~@13 a2@8 ~ b2@8 a4@13 ~@21, ~@39 a2@16 ~@9]/4", // Bm7
  B: "~@3 b3, g#2!2, e4 b3 e4 ~, ~ e3@2 f#3@2 f#3@3",
  C: "[~@2 a3@2 ~@3 [d3,f#4]@2 ~@6 d3@2 ~@2 g#3@2 c#4@2 b3@2 ~ a4@8 g#4 [g#4,a4] f#4@6 [c#4,f#4,a4]@2 b4@2 a4@2, f#2@8 ~ g#2@8 [e2,g#4]@8 ~@23, a4@5 d4@4 e4@4 b3@4 ~@31, ~@11 e3@4 ~@10 [f#3,c#4,f#4]@9 [f#3,c#4]@8 d3@6]/3", // D Amaj7 F#m E F#5
  D: "[c#5@2 ~ [d3,e4,g#4,b4]@4 e5@2 d5@2 d5@2 c#5@2 b3@2 d4@2 d4@4 c#4@4 ~ d4@4 e4@4 c#3@8 ~@5 d5@2 c#5@2 b4@8 [a2,d4,f#4,b4]@8 ~@7 b3@2 b3@2 ~@4 b3@2 ~@4 b3@2 e4@2 ~@3 g4@2 f#4@2 e4@2 f#4@2 b3@2 c4@2 b3@2 [a2,f#4], ~@11 a2@8 a2@8 ~ c#3@8 a4@13 ~@23 e4@4 ~@4 e4@4 ~@2 e4@4 ~@22, ~@44 a2@17 ~@8 g#2@8 ~ g#2@8 g2@8 ~ [f#2,a#3]@4 a#2@4 ~@9, ~@74 e3@8 e3@4 ~@2 e3@6 ~@9 d#3@8 ~]/7", // E7 Bm7 D F#
  E: "[~ b3@2 f#2@3 b3@2 ~@4 [b3,g4]@4 [b3,g4]@3 [c4,a4]@2 [b3,g4]@3 ~@4 [f#3,d#4]@4 [a3,f#4]@4 [a3,f#4]@3 b3 ~@4 [b3,g4]@4 [b3,g4]@3 [c4,a4]@2 [b3,g4]@3 ~@4 [f#3,d#4]@4 [a3,f#4]@4 [a3,f#4]@3 b3 e4@2 b3@2 f#4@2 e4@2, ~@3 c4@2 ~@3 e2@16 e2@16 e2@16 e2@16 e2@8]/5", // Em F Em D#m D Em F Em …
  F: "e4 b3 f#4 e4!2 b3 f#4 e4, g3 e2", G: "e4 b3 f#4 e4!2 g3 f#4 e4, g3 c3",
  H: "e4@2 b3@2 f#4 e4 [g#3,b3]@2, g3@2 a3 ~", I: "g3 b3 e2 g3, b4 e5",
  J: "e2@4 ~@2 g4@2 f#4 g4 f#4 e4 f#4 g4 f#4 e4, b4@3 ~@5, ~ g3 e2 g3",
  K: "e2@2 ~ e4 e2@2 g3@2, f#4@3 ~ e5@4, ~ g3 ~@2", L: "e2@4 ~@2 e4@2 a4 b4 a4 e4 a4 b4 a4 e4, f#4@3 ~@5, ~ g3 a2 g3",
  M: "a2@4 ~@2 e4@2 a4 b4 a4 e4 a4 b4 a4 e4, a4@3 ~@5, ~ g3 a2 g3",
  N: "a2@4 ~@2 e4@2 d5 e5 d5@2 b4 c#5 b4 [b4,c#5], a4@3 ~@3 g3@2, ~ g3 e2 ~", // Bsus2
  O: "e2@4 g3@4 d5 e5 d5@2 b4 c#5 b4 [b4,c#5], d5@2 e2 g3", // Bsus2
  P: "[e2@2 g3@2 e2@2 ~ d4 ~@3 d4 ~@3 d4 ~@2 g3@2 ~@4, d5@4 g4@3 ~ f#4@3 ~ f#4@3 ~ f#4@4 ~@4, ~@3 g3@2 g3@2 g3@2 ~@3]/3",
})).s("gm_acoustic_guitar_steel").gain(0.51)

// chords · acoustic guitar steel · "Guitar - Main Section"
const acoustic_guitar_steel_2 = note(`<
  ~@34 A B C D E F G H I@2 J@3 B C K L M G N O P Q R S T U O P Q V W X@2 Y Z@3 AA AB@3 AC AD AE AF AG@2 AH@8 AI AJ AK AL
  AM AN AO AP AQ AR@4 AJ AK AS AT@2 AU AV AW AX AY AZ BA BB BC BD BE BF BC BG BE BH BI BJ BK@3 BL BM@2 BN BB BC BD BE BF
  BC BG BE BH BI BJ BK@3 BL BM@2 BO@2 BP BQ BP BR@2
>`.pickRestart({
  A: "~@4 [d4,g4]@2 g3 [d4,f#4]", B: "[d4,f#4]@2 g3 d4 f#4@2 g3 f#4",
  C: "[d4,f#4] g4 [c4,g4,a4] b4 [c4,e4,g4] c4 e4 [d4,f#4]", D: "f#4 a3 d4 a3 f#4 g3@2 d4",
  E: "[g#3,b3,e4]@2 [b3,e4,g#4]@2 [d#4,f#4,b4]@3 d#4", F: "e4@2 d#4@2 c#4 g#4 f#4@2",
  G: "~ g#4 c#5@2 [a3,c#4,e4,f#4]@2 [d4,f#4,a4]@2", H: "[d4,f#4,b4] a3 d4 a3 f#4 a3 d4@2",
  I: "[[a3,d4,f#4]@2 a4 c#5 [d#4,g#4,c5]@2 ~@2 [b3,e4]@2 b4 d#5 [f4,a#4,d5]@2 g4@2, ~@3 g#4@2 ~@3]/2", // D G# E5 A#
  J: "[[e4,a4,c#5]@4 f#4 g3 d4@2 e4@2 c4@2 f#4 g3 d4@2 e4@2 c4@2 [d4,g4]@2 g3 [d4,f#4], ~ d5@4 ~]/3", // A G5 D
  K: "f#4 a3 d4 a3 f#4 a3@2 d4", L: "[g#3,b3,e4]@2 [b3,e4,g#4]@2 [d#4,f#4,b4]@3 g#4",
  M: "c#5 b4@2 g#4 a4 g#4 f#4@2, [d#4,g#4]@3 ~ c#4@4", N: "f#4 a3 d4 a3 f#4 a3 d4@2",
  O: "c#5 c#4 g#4 e4 c#4 g#4 c#5 c#4", P: "g#4 e4 c#4 g#4 c#5 g#4 c5 c4", Q: "g4 e4 c4 g4 c5 c4 g4 e4",
  R: "c4 g4 c5 g4 b4 b3 f#4 e4", S: "b3 f#4 b4 b3 f#4 g#4 b3 f#4", T: "e4 f#4 g#4 g#3 d#4 e4 g#3 d#4",
  U: "g#4 g#3 d#4 e4 g3 d#4 g#4@2", V: "c4 g4 c5 g4 b4 c4 f#4 e4", W: "c4 f#4 b4 c4 f#4 e4 c4 f#4",
  X: "[b4@2 [g4,b4,e5,g5]@4 [e4,g4,e5] d5@2 b4 [f#4,a4,b4,d5]@2 [d4,f#4,a4,b4]@4]/2", // Em Bm7
  Y: "[a3,b3,d4,f#4]@2 [a3,b3,c#4,e4]@2 a4 [b3,c#4,e4,a4]@2 b4", // Bm7 A
  Z: "[b4@2 [a3,b3,d4,f#4,g4]@4 [b3,d4,g4]@4 [b3,e4,g4]@3 d5 [e4,g4,e5] d5@2 b4 [f#4,a4,b4,d5]@2 [d4,f#4,a4,b4]@4]/3", // Gmaj7 G Em Bm7
  AA: "[a3,b3,d4,f#4]@2 [a3,b3,c#4,e4]@2 a4 [b3,c#4,e4,a4]@2 g4", // Bm7 A
  AB: "[b4@2 [a3,b3,d4,f#4,g4]@4 [b3,d4,g4]@4 [b3,e4,g4]@3 e5 [g4,b4,e5] [g4,b4,f#5]@2 e5!2 [f#4,a4,b4,d5]@5]/3", // Gmaj7 G Em Gmaj7 Bm7
  AC: "[a3,b3,d4,f#4]@2 [a4,b4,c#5,e5] [a4,b4,c#5,e5]@2 [a4,b4,c#5,e5]@2 c#5", // Bm7 A
  AD: "d5@2 [a3,b3,d4,f#4,g4]@4 ~ [f#4,a4,b4,d5]", AE: "[f#4,a4,b4,d5] [e4,f#4,a4,c#5]@5 ~ a4",
  AF: "b4 [d4,f#4,a4,b4]@7", AG: "[[g4,b4,d5,f#5]@2 [e4,f#4,a4,c#5]@8 [f#3,b3,d#4]@3 b4 [b3,f#4,b4] c#5]/2",
  AH: "[d#5 [e4,g#4,b4,e5]@4 e5 [e4,g#4,b4,e5] [f#4,f#5]@2 [g#4,g#5] [g#4,b4,e5,g#5]@3 g#5 [g#4,b4,e5,g#5] [f#4,f#5]@2 [e4,e5] [g4,b4,d5,g5]@4 [d4,g4,b4]@3 d5 [e4,g4,b4,c#5]@4 [b3,c#4,e4,g4,a4]@4 [b4,d5,e5,g5]@4 [g4,b4,d5,e5]@3 d5 [e4,g4,b4,c#5]@4 [b3,c#4,e4,g4,a4]@4 [f#4,g4]@2 a3 d4 f#4@2 b3 d4 f#4@2 g3 d4 f#4@2, ~@25 b4@7]/8", // E F# G# E F# E G C#m7b5 …
  AI: "g3@2 [d4,g4]@2 g3 [d4,f#4] [d4,f#4]@2", AJ: "g3 d4 f#4@2 g3 f#4 [d4,f#4] g4",
  AK: "[c4,g4,a4] b4 [c4,e4,g4] c4 e4 [d4,f#4] f#4 a3", AL: "d4 a3 f#4 g3@2 d4 [g#3,b3,e4]@2",
  AM: "[b3,e4,g#4]@2 [d#4,f#4,b4]@3 d#4 e4@2", AN: "d#4@2 c#4 g#4 f#4@2 ~ g#4",
  AO: "c#5@2 [a3,c#4,e4,f#4]@2 [d4,f#4,a4]@2 [d4,f#4,b4] a3", AP: "d4 a3 f#4 a3 d4@2 [a3,d4,f#4]@2",
  AQ: "a4 c#5 [d#4,g#4,c5]@2 ~@2 [b3,e4]@2, ~ g#4", // G# E5
  AR: "[b4 d#5 [f4,a#4,d5]@2 g4@2 [e4,a4,c#5]@4 f#4 g3 d4@2 e4@2 c4@2 f#4 g3 d4@2 e4@2 c4@2 [d4,g4]@2 g3 [d4,f#4] [d4,f#4]@2, ~@5 d5@8 ~@3]/4", // A# A G5 D
  AS: "d4 a3 f#4 a3@2 d4 [g#3,b3,e4]@2", // E
  AT: "[[b3,e4,g#4]@2 [d#4,f#4,b4]@3 g#4 c#5 b4@2 g#4 a4 g#4 f#4@2 ~ g#4, ~@6 [d#4,g#4]@3 ~ c#4@4 ~@2]/2", // E B G#5
  AU: "c#5@2 [a3,c#4,e4,f#4]@2 [d4,f#4,a4]@2 f#4 a3", AV: "d4 a3 f#4 a3 d4@2 c#5 c#4",
  AW: "g#4 e4 c#4 g#4 c#5 c#4 g#4 e4", AX: "c#4 g#4 c#5 g#4 c5 c4 g4 e4", AY: "c4 g4 c5 c4 g4 e4 c4 g4",
  AZ: "c5 g4 b4 c4 f#4 e4 c4 f#4", BA: "b4 c4 f#4 e4 c4 f#4 b4@2", BB: "[g4,b4,e5,g5]@4 [e4,g4,e5] d5@2 b4",
  BC: "[f#4,a4,b4,d5] [d4,f#4,a4,b4]@2 [a3,b3,d4,f#4]", BD: "[a3,b3,c#4,e4]@2 a4 [b3,c#4,e4,a4]@2 b4 b4@2",
  BE: "[a3,b3,d4,f#4,g4] [b3,d4,g4]", BF: "[b3,e4,g4]@3 d5 [e4,g4,e5] d5@2 b4",
  BG: "[a3,b3,c#4,e4]@2 a4 [b3,c#4,e4,a4]@2 g4 b4@2", BH: "[b3,e4,g4]@3 e5 [g4,b4,e5] [g4,b4,f#5]@2 e5",
  BI: "e5 [f#4,a4,b4,d5]@5 [a3,b3,d4,f#4]@2", BJ: "[a4,b4,c#5,e5] [a4,b4,c#5,e5]@2 [a4,b4,c#5,e5]@2 c#5 d5@2",
  BK: "[[a3,b3,d4,f#4,g4]@4 ~ [f#4,a4,b4,d5]!2 [e4,f#4,a4,c#5]@5 ~ a4 b4 [d4,f#4,a4,b4]@7 [g4,b4,d5,f#5]@2]/3", // Gmaj7 Bm7 F#m7 Bm7 Gmaj7
  BL: "[e4,f#4,a4,c#5]", // F#m7
  BM: "[[f#3,b3,d#4]@3 b4 [b3,f#4,b4] c#5 d#5 [e4,g#4,b4,e5]@4 e5 [e4,g#4,b4,e5] [f#4,f#5]@2 [g#4,g#5]]/2", // B B5 E F# G#
  BN: "[g#4,b4,e5,g#5]@4 [g#4,b4,e5,g#5] [f#4,f#5] [e4,e5]@2", // E F# E
  BO: "[[g#4,b4,e5,g#5]@6 g5 [e4,g4,b4,e5]@5 [d4,g4,b4]@3 d5]/2", BP: "[e4,g4,b4,c#5] [b3,c#4,e4,g4,a4]",
  BQ: "[b4,d5,e5,g5]@4 [g4,b4,d5,e5]@3 d5", BR: "[[f#4,g4]@2 g3 d4 f#4@2 g3 d4 f#4@2 g3 d4 f#4@2 g3 d4, b4]/2",
})).s("gm_acoustic_guitar_steel").gain(0.41)

// bass · electric bass finger · "Bass Main Section"
const bass = note(`<
  ~@34 A B C D E F G D H@2 I@2 J B C D E F G D K@6 L M@6 N@2 O P N@2 O P N@2 Q R S T U V W X@8 Y@8 Z@4 AA@8 AB@2 AC AD
  AE AF AG AD AE AF AG AD AE AF AH AI AJ AI AK AL AM AD AE AF AG AD AE AF AG AD AE AF AH AI AJ AI AK AL AN AO AP AO AP
  ~@2
>`.pickRestart({
  A: "~@4 e2@3 b2", B: "e3 e2", C: "b2@2 a2@2 d2@3 d3", D: "g2", E: "e2 f#2", F: "e2@4 a1 e2 a2@2", G: "a2@2 d2 d3",
  H: "d2 c#2", I: "[a1 e2 a2@2 c2@7 g2 c3@4]/2", J: "c2@4 e2@3 b2", K: "[e2@3 a2@4 e3@3 a2@4 e2@3 a2@4 e2@3]/6",
  L: "e2 b2 e3@2 f#3@2 g#3@2", M: "[e2@6 a2@8 e3@6 a2@8 e3@6 e2@8 e2@4 e2 f#2]/6", N: "[g2 d2@2 b1@2 a1 b1 c#2]/2",
  O: "d2@2 ~@2 f#2 g2@3", P: "a2@2 e2@4 e2 f#2", Q: "d2 g2@3", R: "g2@2 f#2!2 ~@4", S: "e2 f#2 g2@2 a2 b2@2 c3",
  T: "d3@2 f#2!2 ~@4", U: "e2 f#2 g#2@6", V: "g2 c#2@3", W: "c#2 e2@3",
  X: "[e2@2 e2@2 b2@2 e3@4 a2@2 e3@2 a3@4 e2@2 b2@2 e3@4 a2@2 e3@2 a3@4 e2@16 e2@3 b2 e3@4 e2@4 b2@2]/8",
  Y: "[a2@2 d2@3 d3 g2@8 e2@4 f#2@4 e2@4 a1 e2 a2@2 a2@4 d2@2 d3@2 g2@8 d2@4 c#2@4 d2@4 c#2@4 a1 e2]/8",
  Z: "[a2@2 c2@7 g2 c3@4 c2@4 e2@3 b2 e3@4 e2@4 b2@2]/4",
  AA: "[a2@2 d2@3 d3 g2@8 e2@4 f#2@4 e2@4 a1 e2 a2@2 a2@4 d2@2 d3@2 g2@8 e2@6 a2@8 e3@4]/8", AB: "[~ a2@4 e3@3]/2",
  AC: "e2", AD: "e2@4 e2 f#2 g2@2", AE: "d2 b1", AF: "a1 b1 c#2 d2", AG: "~@2 f#2 g2@3 a2@2", AH: "g2@3 g2",
  AI: "f#2!2 ~@4 e2 f#2", AJ: "g2@2 a2 b2@2 c3 d3@2", AK: "g#2@3 g2", AL: "c#2@3 c#2", AM: "e2@3 e2", AN: "e2@2 e3 e2",
  AO: "e2 b2 e3@2", AP: "a2 e3 a3@2",
})).s("gm_electric_bass_finger").gain(0.41)

// other · glockenspiel
const glockenspiel = note("<~@54 A B C D E F G A B C H I J ~@90>".pickRestart({
  A: "c#5 c#4 g#4 e4 c#4 g#4 c#5 c#4", B: "g#4 e4 c#4 g#4 c#5 g#4 c5 c4", C: "g4 e4 c4 g4 c5 c4 g4 e4",
  D: "c4 g4 c5 g4 b4 b3 f#4 e4", E: "b3 f#4 b4 b3 f#4 g#4 b3 f#4", F: "e4 f#4 g#4 g#3 d#4 e4 g#3 d#4",
  G: "g#4 g#3 d#4 e4 g3 d#4 g#4@2", H: "c4 g4 c5 g4 b4 c4 f#4 e4", I: "c4 f#4 b4 c4 f#4 e4 c4 f#4", J: "b4 ~@3",
})).s("gm_glockenspiel").gain(0.1)

// other · string ensemble 2 · "swishy bits"
const string_ensemble_2 = note("<~@42 A@2 ~@113>".pickRestart({
  A: "[f#5@2 a5 c#6 c6@2 g#5@4 b5 d#6 d6@2 g5@2]/2",
})).s("gm_string_ensemble_2").gain(0.41)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~@42 A@2 B@3 C D E F G H I J K L M N O P J K L Q R S@2 T U@3 V W@3 X Y Z AA AB@2 AC@8 AD AE AF AG AH AI AJ AK AL AM@4
  AE AF AN AO@2 AP AQ AR AS AT AU AV AW AX AY AZ BA AX BB AZ BC BD BE BF@3 BG BH@2 BI AW AX AY AZ BA AX BB AZ BC BD BE
  BF@3 BG BH@2 BJ@2 BK BL BK BM@2
>`.pickRestart({
  A: "[[a4,d5,f#5]@2 a5 c#6 [d#5,g#5,c6]@2 ~@2 [b4,e5]@2 b5 d#6 [f5,a#5,d6]@2 g5@2, ~@3 g#5@2 ~@3]/2", // D G# E5 A#
  B: "[[e5,a5,c#6]@4 f#5 g4 d5@2 e5@2 c5@2 f#5 g4 d5@2 e5@2 c5@2 [d5,g5]@2 g4 [d5,f#5], ~ d6@4 ~]/3", // A G5 D
  C: "[d5,f#5]@2 g4 d5 f#5@2 g4 f#5", D: "[d5,f#5] g5 [c5,g5,a5] b5 [c5,e5,g5] c5 e5 [d5,f#5]",
  E: "f#5 a4 d5 a4 f#5 a4@2 d5", F: "[g#4,b4,e5]@2 [b4,e5,g#5]@2 [d#5,f#5,b5]@3 g#5",
  G: "c#6 b5@2 g#5 a5 g#5 f#5@2, [d#5,g#5]@3 ~ c#5@4", H: "~ g#5 c#6@2 [a4,c#5,e5,f#5]@2 [d5,f#5,a5]@2",
  I: "f#5 a4 d5 a4 f#5 a4 d5@2", J: "c#6 c#5 g#5 e5 c#5 g#5 c#6 c#5", K: "g#5 e5 c#5 g#5 c#6 g#5 c6 c5",
  L: "g5 e5 c5 g5 c6 c5 g5 e5", M: "c5 g5 c6 g5 b5 b4 f#5 e5", N: "b4 f#5 b5 b4 f#5 g#5 b4 f#5",
  O: "e5 f#5 g#5 g#4 d#5 e5 g#4 d#5", P: "g#5 g#4 d#5 e5 g4 d#5 g#5@2", Q: "c5 g5 c6 g5 b5 c5 f#5 e5",
  R: "c5 f#5 b5 c5 f#5 e5 c5 f#5", S: "[b5@2 [g5,b5,e6,g6]@4 [e5,g5,e6] d6@2 b5 [f#5,a5,b5,d6]@2 [d5,f#5,a5,b5]@4]/2",
  T: "[a4,b4,d5,f#5]@2 [a4,b4,c#5,e5]@2 a5 [b4,c#5,e5,a5]@2 b5", // Bm7 A
  U: "[b5@2 [a4,b4,d5,f#5,g5]@4 [b4,d5,g5]@4 [b4,e5,g5]@3 d6 [e5,g5,e6] d6@2 b5 [f#5,a5,b5,d6]@2 [d5,f#5,a5,b5]@4]/3", // Gmaj7 G Em Bm7
  V: "[a4,b4,d5,f#5]@2 [a4,b4,c#5,e5]@2 a5 [b4,c#5,e5,a5]@2 g5", // Bm7 A
  W: "[b5@2 [a4,b4,d5,f#5,g5]@4 [b4,d5,g5]@4 [b4,e5,g5]@3 e6 [g5,b5,e6] [g5,b5,f#6]@2 e6!2 [f#5,a5,b5,d6]@5]/3", // Gmaj7 G Em Gmaj7 Bm7
  X: "[a4,b4,d5,f#5]@2 [a5,b5,c#6,e6] [a5,b5,c#6,e6]@2 [a5,b5,c#6,e6]@2 c#6", // Bm7 A
  Y: "d6@2 [a4,b4,d5,f#5,g5]@4 ~ [f#5,a5,b5,d6]", Z: "[f#5,a5,b5,d6] [e5,f#5,a5,c#6]@5 ~ a5", AA: "b5 [d5,f#5,a5,b5]@7",
  AB: "[[g5,b5,d6,f#6]@2 [e5,f#5,a5,c#6]@8 [f#4,b4,d#5]@3 b5 [b4,f#5,b5] c#6]/2", // Gmaj7 F#m7 B B5
  AC: "[d#6 [e5,g#5,b5,e6]@4 e6 [e5,g#5,b5,e6] [f#5,f#6]@2 [g#5,g#6] [g#5,b5,e6,g#6]@3 g#6 [g#5,b5,e6,g#6] [f#5,f#6]@2 [e5,e6] [g5,b5,d6,g6]@4 [d5,g5,b5]@3 d6 [e5,g5,b5,c#6]@4 [b4,c#5,e5,g5,a5]@4 [b5,d6,e6,g6]@4 [g5,b5,d6,e6]@3 d6 [e5,g5,b5,c#6]@4 [b4,c#5,e5,g5,a5]@4 [f#5,g5]@2 a4 d5 f#5@2 b4 d5 f#5@2 g4 d5 f#5@2, ~@25 b5@7]/8", // E F# G# E F# E G C#m7b5 …
  AD: "g4@2 [d5,g5]@2 g4 [d5,f#5] [d5,f#5]@2", AE: "g4 d5 f#5@2 g4 f#5 [d5,f#5] g5",
  AF: "[c5,g5,a5] b5 [c5,e5,g5] c5 e5 [d5,f#5] f#5 a4", AG: "d5 a4 f#5 g4@2 d5 [g#4,b4,e5]@2",
  AH: "[b4,e5,g#5]@2 [d#5,f#5,b5]@3 d#5 e5@2", AI: "d#5@2 c#5 g#5 f#5@2 ~ g#5",
  AJ: "c#6@2 [a4,c#5,e5,f#5]@2 [d5,f#5,a5]@2 [d5,f#5,b5] a4", AK: "d5 a4 f#5 a4 d5@2 [a4,d5,f#5]@2",
  AL: "a5 c#6 [d#5,g#5,c6]@2 ~@2 [b4,e5]@2, ~ g#5", // G# E5
  AM: "[b5 d#6 [f5,a#5,d6]@2 g5@2 [e5,a5,c#6]@4 f#5 g4 d5@2 e5@2 c5@2 f#5 g4 d5@2 e5@2 c5@2 [d5,g5]@2 g4 [d5,f#5] [d5,f#5]@2, ~@5 d6@8 ~@3]/4", // A# A G5 D
  AN: "d5 a4 f#5 a4@2 d5 [g#4,b4,e5]@2", // E
  AO: "[[b4,e5,g#5]@2 [d#5,f#5,b5]@3 g#5 c#6 b5@2 g#5 a5 g#5 f#5@2 ~ g#5, ~@6 [d#5,g#5]@3 ~ c#5@4 ~@2]/2", // E B G#5
  AP: "c#6@2 [a4,c#5,e5,f#5]@2 [d5,f#5,a5]@2 f#5 a4", AQ: "d5 a4 f#5 a4 d5@2 c#6 c#5",
  AR: "g#5 e5 c#5 g#5 c#6 c#5 g#5 e5", AS: "c#5 g#5 c#6 g#5 c6 c5 g5 e5", AT: "c5 g5 c6 c5 g5 e5 c5 g5",
  AU: "c6 g5 b5 c5 f#5 e5 c5 f#5", AV: "b5 c5 f#5 e5 c5 f#5 b5@2", AW: "[g5,b5,e6,g6]@4 [e5,g5,e6] d6@2 b5",
  AX: "[f#5,a5,b5,d6] [d5,f#5,a5,b5]@2 [a4,b4,d5,f#5]", AY: "[a4,b4,c#5,e5]@2 a5 [b4,c#5,e5,a5]@2 b5 b5@2",
  AZ: "[a4,b4,d5,f#5,g5] [b4,d5,g5]", BA: "[b4,e5,g5]@3 d6 [e5,g5,e6] d6@2 b5",
  BB: "[a4,b4,c#5,e5]@2 a5 [b4,c#5,e5,a5]@2 g5 b5@2", BC: "[b4,e5,g5]@3 e6 [g5,b5,e6] [g5,b5,f#6]@2 e6",
  BD: "e6 [f#5,a5,b5,d6]@5 [a4,b4,d5,f#5]@2", BE: "[a5,b5,c#6,e6] [a5,b5,c#6,e6]@2 [a5,b5,c#6,e6]@2 c#6 d6@2",
  BF: "[[a4,b4,d5,f#5,g5]@4 ~ [f#5,a5,b5,d6]!2 [e5,f#5,a5,c#6]@5 ~ a5 b5 [d5,f#5,a5,b5]@7 [g5,b5,d6,f#6]@2]/3", // Gmaj7 Bm7 F#m7 Bm7 Gmaj7
  BG: "[e5,f#5,a5,c#6]", // F#m7
  BH: "[[f#4,b4,d#5]@3 b5 [b4,f#5,b5] c#6 d#6 [e5,g#5,b5,e6]@4 e6 [e5,g#5,b5,e6] [f#5,f#6]@2 [g#5,g#6]]/2", // B B5 E F# G#
  BI: "[g#5,b5,e6,g#6]@4 [g#5,b5,e6,g#6] [f#5,f#6] [e5,e6]@2", // E F# E
  BJ: "[[g#5,b5,e6,g#6]@6 g6 [e5,g5,b5,e6]@5 [d5,g5,b5]@3 d6]/2", BK: "[e5,g5,b5,c#6] [b4,c#5,e5,g5,a5]",
  BL: "[b5,d6,e6,g6]@4 [g5,b5,d6,e6]@3 d6", BM: "[[f#5,g5]@2 g4 d5 f#5@2 g4 d5 f#5@2 g4 d5 f#5@2 g4 d5, b5]/2",
})).s("gm_synth_strings_1").gain(0.22)

stack(acoustic_guitar_steel, acoustic_guitar_steel_2, bass, glockenspiel, string_ensemble_2, synth_strings_1)

More by Genesis