Strudelify

Calling All Stations

Genesis

KeyE minorTempo88 bpm
0:00/0:00
// Calling All Stations — Genesis
// 88.3 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 128 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): LEAD 2, LEAD 2.
setcpm(88.3/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 · synth brass 2 · "pad"
const synth_brass_2 = note(`<
  ~ A@3 B@8 C D E F G@7 H@4 I@2 J@8 K L@2 M@2 N O P Q R@2 S@2 T@4 U@2 V@2 W@2 I@2 X@2 ~@7 Y Z Y Z Y AA@3 AB AC AB AC AB
  AD@3 AE AF AG AH@7 AI@6 AJ AK AL@6 AM@3 AN AO@8 AP AQ ~@3
>`.pickRestart({
  A: "[e1,e2]/3", B: "[~ [d3,g3,b3] [c3,f3,a3]@4 [d3,g3,b3]@4 [f3,a3,d4]@4 [f3,a3,e4]@4 [g3,b3,e4]@14]/8",
  C: "[g3,b3,e4,g4]", D: "[g#3,b3,e4,g#4]", E: "[c4,e4,a4]", F: "[c4,e4,f#4,b4]",
  G: "[[b3,e4,f#4,b4] [b3,d4,f#4,b4] [f#4,a4] [d4,f#4,g#4] [d4,f#4,a4] [d4,f#4,g#4] [d4,f#4,a4], b2, ~@96 d4 ~@239]/7", // Bsus4 Bm F#m G#m7b5 D G#m7b5 D
  H: "[[d4,f#4,b4] [d4,f#4,a4] [d4,f#4,b4] [d4,f#4,a4], g2]/4", I: "[a4 g4, [a2,c4,e4]]/2",
  J: "[[g3,b3,e4]@2 [c3,e3,a3] [e3,g3,b3] [c3,e3,a3] [e3,g3,b3] [c3,e3,a3] [e3,g3,b3], e2]/8", K: "[c3,e3,a3]",
  L: "[b3@6 b4 a4, e3@31 ~, g3@7 ~]/2", M: "[[a2,c4,e4] [d3,d4,f#4], a3]/2", N: "[g3,d4,g4,b4]", O: "[e3,c#4,e4,g4]",
  P: "[f3,c4,f4,a4]", Q: "[d3,d4,f#4,a4]", R: "[d5 d4, [g3,g4,b4]]/2",
  S: "[[b3,e4,g4] [a3,d4,f#4] [g3,c4,e4] [a3,d4,f#4], e3]/2", // Em D C D
  T: "[d4 e4 f#4 ~@2 [c4,e4,f#4] [c4,e4,g4] [c4,e4,a4], g2 a2, [g3,b3]@3 [c4,e4,g4]@2 ~@3]/4", // F#m7b5 C Am G C
  U: "[[e4,g4,b4] [e4,f#4,a4] [e4,g4,b4] [e4,f#4,a4], e3]/2", // Em F#m7 Em F#m7
  V: "[[e4,g4,b4] [e4,f#4,a4] [e4,g4,b4] [e4,f#4,a4], c3]/2", // Em F#m7 Em F#m7
  W: "[[e4,g4,b4] [e4,f#4,a4] [e4,g4] [f#4,a4], d3, ~ d4]/2", X: "[[e2,g3,b3,e4]@5 ~@3]/2", Y: "~ [f3,a3,c4]@47",
  Z: "~ [e3,g3,b3]@47", AA: "[~ a3@48 g#3@48 [c3,g3,c4]@47, ~ e4@143, ~ b3@96 ~@47]/3", AB: "~ [g2,f#3,b3,d4]@47",
  AC: "~ [c3,g3,c4,e4]@47", AD: "[~ [a2,c4,e4]@48 [d3,d4,f#4]@48 [b3,e4,g4]@47, ~ a3@96 ~@47]/3",
  AE: "~ [b3,e4,g#4]@47", AF: "~ [c4,e4,a4]@47", AG: "~ [c4,e4,f#4,b4]@47",
  AH: "[~ [e4,f#4,b4]@48 [b3,d4,f#4,b4]@48 [f#4,a4]@48 [d4,f#4,g#4]@48 [d4,f#4,a4]@48 [d4,f#4,b4]@48 [d4,f#4,a4]@47, b3@47 ~@50 d4 ~@143 g2@95, ~ b2@335]/7", // Esus2 Bm F#m G#m7b5 D Bm D
  AI: "[~ [c4,e4,a4]@48 [c4,e4,g4]@48 e4@24 d#4@24 c#4@24 d#4@24 [e4,g4]@24 [d4,f#4]@24 [e4,g4]@24 [d4,f#4]@23, ~ a2@96 b2@96 ~@95, ~@97 [f#4,b4]@90 ~@6 c5@90 ~@5]/6", // Am C Em D Em D B5
  AJ: "~ g3@18 ~@6 f#3@23, ~ [b3,d4]@47", AK: "~ a3@18 ~@6 g3@23, ~ [c4,e4]@42 ~@5",
  AL: "[~ b4@24 a4@24 [e4,g4]@24 [f#4,a4]@24 [e4,a4]@48 [e4,g4]@48 e4@24 d#4@24 c#4@24 d#4@23, ~ [d3,d4]@96 [a2,c4]@96 b2@95, ~ f#4@48 ~@144 [f#4,b4]@90 ~@5]/6", // Em F#m A5 Em D Am B5
  AM: "[~ [e4,g4]@24 f#4@24 [e4,g4]@24 [d4,f#4]@24 g3@24 f#3@23, ~ c3@96 ~@47, ~ c5@90 ~@53, ~@25 d4@18 ~@54 [b3,d4]@47]/3", // Em D Bm
  AN: "~ a3@24 g3@23, ~ [c4,e4]@42 ~@5", // C
  AO: "[~ b4@24 a4@24 [e4,g4]@24 [f#4,a4]@24 a4@48 g4@42 ~@30 d#4@24 c#4@24 d#4@24 [e4,g4]@24 [d4,f#4]@24 [e4,g4]@24 [d4,f#4]@23, ~ d4@96 e4@120 ~@72 c5@90 ~@5, ~ f#4@48 ~@48 [a2,c4]@96 [b2,f#4,b4]@96 ~@95]/8", // Em F#m Em D Em D Am B5
  AP: "~ g2@24 [f#2,f#3]@23, ~ [b3,d4]@47, ~ g3@18 ~@29", AQ: "~ [a2,a3]@24 [g2,g3]@23, ~ [c4,e4]@42 ~@5",
})).s("gm_synth_brass_2").gain(0.35)

// other · synth strings 1 · "SYN LOW"
const synth_strings_1 = note("<~ A@7 B@5 C@3 D@8 ~@7 E@8 ~@23 E@8 ~ F@8 G H G H I J K L@4 M@6 ~@32>".pickRestart({
  A: "[e1,e2]/7", B: "[~@24 [e1,e2]@215 ~]/5", C: "[e1,e2]/3", D: "[b1@337 ~@47]/8", E: "[e1,e2]/8",
  F: "[~ [e1,e2]@336 [c1,c2]@47]/8", G: "~ g1@47", H: "~ [c1,c2]@47", I: "~ [g1,g2]@47", J: "~ [a1,a2]@47",
  K: "~ [d1,d2]@47", L: "[~ [e1,e2]@191]/4", M: "[~ b1@240 ~@47]/6",
})).s("gm_synth_strings_1").gain(0.4)

// other · pad new age · "PATINA"
const pad_new_age = note("<~@31 A B C D E F E F G ~@88>".pickRestart({
  A: "c4 e4 f#4 a4 c5 a4 f#4 e4 c4 e4 f#4 e4 a4 f#4 e4 c4", B: "b3 e4 g4 e4 b4 g4 e4 b3!2 e4 g4 e4 g4 e4 b3 e4",
  C: "c4 e4 f#4 a4 c5 a4 f#4 e4 c4 e4 f#4 a4 c5 a4 f#4 e4", D: "b3 e4 g4 e4 b4 g4 e4 b3!2 e4 g4 e4 b4 g4 e4 b3",
  E: "c4 e4 f#4 e4 a4 f#4 e4 c4!2 e4 f#4 e4 a4 f#4 e4 c4", F: "b3 e4 g4 e4 b4 g4 e4 b3!2 e4 g4 e4 b3 g4 e4 b3",
  G: "b3 e4 g4 e4 b4 g4 e4 ~@9",
})).s("gm_pad_new_age").gain(0.24).pan(0.4)

// other · pad new age · "PATINA" · soft notes
const pad_new_age_soft = note("<~@39 [~@7 b3!2 e4 g4 e4 b3 g4 e4 b3] ~@88>").s("gm_pad_new_age").gain(0.12).pan(0.4)

// chords · pad new age · "DIGALOG"
const pad_new_age_2 = note("<~@40 A B C D E F G@2 ~@80>".pickRestart({
  A: "[a5,e6]", B: "[d6,f#6,a6]@47 ~", C: "[b5,d6,g6]", D: "[g5,b5,c#6,e6]@47 ~", E: "[f5,a5,c6]",
  F: "[a5,d6,f#6]@47 ~", G: "[b5,d6,g6]/2",
})).s("gm_pad_new_age").gain(0.21)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@48 A B C D E F G H I J K L ~@41 M@2 N O P@6 Q@2 R S T@6 U@2 V W X@2 ~>".pickRestart({
  A: "[b3,e4,g4]@2 ~ a3 ~@2 [e4,g4] ~@5 [b3,e4,g4]@2 ~@4 [b3,e4] ~@2 a3 ~@2 [d4,f#4]@2 ~ a3 ~@2 [d4,f#4] ~@5 [d4,f#4]@2 ~@4 [d4,f#4]@2 ~ a3 ~@2, ~@3 b3 ~@5 g4 ~@14", // Em E5 D
  B: "[c4,e4]@2 ~ a3 ~@2 [c4,e4] ~@5 [c4,e4]@2 ~@4 [c4,e4]@2 ~ a3 ~@2 [d4,f#4]@2 ~ a3 ~@2 f#4@2 ~@4 [d4,f#4]@2 ~@4 f#4@2 ~ a3 ~@2, ~@30 d4 ~@11 d4 ~@5", // C D
  C: "[g3,b3,d4]@2 ~ a3 ~@2 [g3,b3,d4] ~@5 [g3,b3,d4] ~@5 [g3,b3] ~@2 a3 ~@2 [g3,b3,e4]@2 ~ a3 ~@2 [g3,b3,e4] ~@5 [b3,e4]@2 ~@4 [g3,b3,e4]@2 ~ a3 ~@2, ~@18 d4@2 ~@16 g3 ~@11", // G Em E5 Em
  D: "[g3,b3,f#4]@2 ~ a3 ~@2 [g3,b3,f#4] ~@5 [g3,b3] ~@5 [g3,b3,f#4]@2 ~ a3@2 ~ [c4,e4,g4]@2 ~ a3 ~@2 [c4,e4,g4] ~@2 a3 ~@2 [c4,e4,g4]@2 ~ a3 ~@2 [c4,e4,g4] ~@2 a3 ~@2, ~@6 f#4 ~@17", // Gmaj7 G Gmaj7 C
  E: "g4@3 e4@2 ~ c4@2 ~ e4@2 ~ g4@2 ~ e4 ~@2 g4@3 e4 ~@2 f#4@3 d4@3 a3@3 d4@3 f#4@3 d4@3 f#4@2 ~ d4@2 ~",
  F: "g4@3 e4@2 ~ c4 ~@2 e4@2 ~ g4@2 ~ e4 ~@2 g4@2 ~ e4 ~@2 f#4@3 d4@2 ~ a3@2 ~ d4@3 f#4@3 d4@3 a3@2 ~ d4@2 ~",
  G: "b4@2 ~ g4@2 ~ e4@2 ~ g4@3 b4@2 ~ g4@2 ~ b4@3 g4 ~@2 a4@3 f#4@2 ~ d4@3 f#4@2 ~ a4@3 f#4@2 ~ a4@2 ~ f#4 ~@2",
  H: "b4@2 ~ g4@2 ~ e4@2 ~ g4@2 ~ b4@2 ~ g4@2 ~ b4@2 ~ g4 ~@2 a4@2 ~ f#4@2 ~ d4@3 f#4@2 ~ a4@3 f#4@2 ~ a4@2 ~ f#4 ~@2",
  I: "b4@3 g4@2 ~ e4@2 ~ g4@2 ~ b4@3 g4@2 ~ b4@2 ~ g4 ~@2 a4@3 f#4@2 ~ d4@3 f#4@2 ~ a4@3 f#4@2 ~ a4@3 f#4@2 ~",
  J: "b4@3 g4@2 ~ e4@2 ~ g4@2 ~ b4@2 ~ g4@2 ~ b4@2 ~ g4 ~@2 a4@3 f#4@2 ~ d4@3 f#4@2 ~ a4@3 f#4@3 a4@2 ~ f#4 ~@2",
  K: "b4@2 ~ g4@2 ~ e4@2 ~ g4@2 ~ b4@3 g4@2 ~ b4@2 ~ g4 ~@2 a4@3 f#4@2 ~ d4@3 f#4@2 ~ a4@3 f#4@2 ~ a4@3 f#4 ~@2",
  L: "b4@3 g4@2 ~ e4@2 ~ g4@2 ~ b4@3 g4@2 ~ b4@2 ~ g4 ~@2 a4@3 f#4 ~@2 d4@3 f#4@3 a4@3 f#4@2 ~ d4@3 f#4@2 ~",
  M: "[[e4,g4]@8 [d4,f#4]@8 [e4,g4]@8 [d4,f#4]@7 ~, c3, c5@23 ~]/2", N: "g3@20 ~@4 f#3@21 ~@3, [b3,d4]@23 ~",
  O: "a3@21 ~@3 g3@20 ~@4, [c4,e4]@11 ~", // C
  P: "[b4@23 ~ a4@23 ~ [e4,g4]@24 f#4@24 ~@48 g4@43 ~@29 d#4@23 ~ c#4@24 d#4@18 ~@6, [d3,d4] [a2,c4] b2, f#4@47 ~@49 e4@120 ~@72, a4 ~@71 a4@74 ~@46 [f#4,b4]@92 ~@4]/6", // Em D Am B5
  Q: "[[e4,g4]@6 [d4,f#4]@6 [e4,g4]@6 [d4,f#4]@5 ~, c3, c5@23 ~]/2", R: "[g2,g3]@6 f#3@5 ~, [b3,d4]@23 ~",
  S: "a3@21 ~@3 g3@19 ~@5, [c4,e4]@11 ~", // C
  T: "[b4@6 a4@6 [e4,g4]@6 f#4@6 ~@12 g4@11 ~@7 d#4@6 c#4@6 d#4@5 ~, d4@95 ~ e4@119 ~@73, f#4@46 ~@26 a4@73 ~@143, ~ [a2,c4] [b2,f#4,b4]]/6", // Em Am B5
  U: "[[e4,g4]@6 [d4,f#4]@6 [e4,g4]@6 [d4,f#4]@5 ~, c5@23 ~]/2", V: "[g2,g3]@11 ~ [f#2,f#3]@12, [b3,d4]@23 ~",
  W: "[a2,a3] g2, [c4,e4]@11 ~, ~@4 g3@3 ~", X: "[[d3,d4], f#4 ~, b4 ~@3]/2",
})).s("gm_string_ensemble_1").gain(0.24)

// other · synth drum · "sonar"
const synth_drum = note("<~@64 A B C ~ D E F G ~@56>".pickRestart({
  A: "~@25 [a3,e6]@17 ~@6, [e1,e4]@25 ~@23, ~@2 e5@5 ~", // A5 E
  B: "~@25 [a3,e6]@10 ~@5 e5@2 ~ b5@3 e5 ~, ~ [e1,e4]@35 ~@12, ~@13 e5@21 ~@14", // A5 E
  C: "~@19 e5@5 ~ [a3,e6]@11 ~@12, ~ [e1,e4]@30 ~@17", D: "~@40 f6@3 b5@3 e5@2", E: "~ [e1,e4]@13 ~@5 [a3,e6]@5 ~@24",
  F: "~ d5@3 ~@3 d6@5 ~@13 a4@3 b4@3 a5@3 b5@3 ~@6 d6@5, ~@4 f5@5 ~@39", G: "~ [e1,e4]@30 ~@17",
})).s("gm_synth_drum").gain(0.45)

// other · pad halo · "sonar"
const pad_halo = note("<~@64 A B C ~ D E F G ~@56>".pickRestart({
  A: "~@25 e5@17 ~@6, e3@25 ~@23, ~@2 e4@5 ~", B: "~@25 e5@10 ~@5 e4@2 ~ b4@3 e4 ~, ~ e3@35 ~@12, ~@13 e4@21 ~@14",
  C: "~@19 e4@5 ~ e5@11 ~@12, ~ e3@30 ~@17", D: "~@40 f5@3 b4@3 e4@2", E: "~ e3@13 ~@5 e5@5 ~@24",
  F: "~ d4@3 ~@3 d5@5 ~@13 a3@3 b3@3 a4@3 b4@3 ~@6 d5@5, ~@4 f4@5 ~@39", G: "~ e3@30 ~@17",
})).s("gm_pad_halo").gain(0.14)

// bass · fretless bass · "BASS"
const bass = note(`<
  ~ A@15 B@7 C@4 D@2 A@11 D E C A F E C@2 A@2 C@2 D@2 A@2 G@2 E@2 D@2 A@2 H I@13 J K J K J K L M I@4 N@5 K@2 L@2 N@2 J@2
  K L M@2 L@2 N@2 J@2 K L M@2 L@2 N@2 J@2 K L ~@3
>`.pickRestart({
  A: "e1!8", B: "b1!8", C: "g1!8", D: "a1!8", E: "d2!8", F: "f1!8", G: "c2!8",
  H: "e1@6 e1@6 e1@6 ~ e1@6 e1@6 e1@6 e1@6 e1@5", I: "~ e1@6 e1@6 e1@6 e1@6 e1@6 e1@6 e1@6 e1@5",
  J: "~ c2@6 c2@6 c2@6 c2@6 c2@6 c2@6 c2@6 c2@5", K: "~ g1@6 g1@6 g1@6 g1@6 g1@6 g1@6 g1@6 g1@5",
  L: "~ a1@6 a1@6 a1@6 a1@6 a1@6 a1@6 a1@6 a1@5", M: "~ d2@6 d2@6 d2@6 d2@6 d2@6 d2@6 d2@6 d2@5",
  N: "~ b1@6 b1@6 b1@6 b1@6 b1@6 b1@6 b1@6 b1@5",
})).s("gm_fretless_bass").gain(0.45)

// other · overdriven guitar · "R GTR"
const overdriven_guitar = note(`<
  ~@3 A B C D E F G H I J K L M N O P N O P N Q R S Q T U L M K L M K L M K L M U V R K W X S Q Y@2 Z AA AB AC K L AD AE
  V X U AF M K ~@7 AG@7 AH AI AJ AK AL AM AN AO AP AQ AR AP AS AT AU AS AT AM AK AV AW AS AT AJ AH AI AW AX AO AW AN AT
  AU AJ AH AI AW AX AO AW AN AT AU AJ AH AI AW ~@3
>`.pickRestart({
  A: "e2@3 ~@3 e2@2 ~@4 e2@3 ~@3 e2@3 ~@3 e2@3 ~@3 e2@2 ~@4 e2@4 ~@2 e2@3 e2 ~@2",
  B: "e2 ~@5 e2@3 ~@3 e2@4 ~@2 e2@3 ~@3 e2@4 ~@2 e2@2 ~@4 e2@3 ~@3 e2@2 ~@4",
  C: "e2@3 ~@3 e2@3 ~@3 e2@3 ~@3 e2@2 ~ e2 ~@2 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4",
  D: "e2@3 ~@3 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@3 ~@3",
  E: "e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2 ~@2 e2@3 ~@3 e2@2 ~@4 e2@3 ~@3 e2@3 ~@3",
  F: "e2@3 ~@3 e2@3 ~@3 e2@4 ~@2 e2 ~@2 e2 ~@2 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4",
  G: "e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2@2 ~ e2@3 ~@3 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4",
  H: "e2@3 ~@3 e2@2 ~@4 e2@4 ~@2 e2@2 ~ e2 ~@2 e2@4 ~@2 e2@2 ~@4 e2@5 ~ e2@3 ~@3",
  I: "e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2 ~@2 e2@4 ~@2 e2@2 ~@4 e2@3 ~@3 e2@3 ~@3",
  J: "e2@3 ~@3 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2 ~@2 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2 ~@2",
  K: "e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@3 ~@3 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2 ~@2",
  L: "e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@3 ~@3 e2@3 ~@3 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4",
  M: "e2@4 ~@2 e2@3 ~@3 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2 ~@2",
  N: "b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2@3 ~@3 b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2 ~@2 b2 ~@2",
  O: "b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2@3 ~@3 b2@3 ~@3 b2@2 ~@4 b2@4 ~@2 b2@2 ~@4",
  P: "b2@4 ~@2 b2@3 ~@3 b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2 ~@2 b2 ~@2",
  Q: "g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2@3 ~@3 g2@3 ~@3 g2@2 ~@4 g2@4 ~@2 g2@2 ~@4",
  R: "g2@4 ~@2 g2@3 ~@3 g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2 ~@2 g2 ~@2",
  S: "g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2@3 ~@3 g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2 ~@2 g2 ~@2",
  T: "a2@4 ~@2 a2@3 ~@3 a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2 ~@2 a2 ~@2",
  U: "a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2@3 ~@3 a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2 ~@2 a2 ~@2",
  V: "d3@4 ~@2 d3@2 ~@4 d3@4 ~@2 d3@3 ~@3 d3@3 ~@3 d3@2 ~@4 d3@4 ~@2 d3@2 ~@4",
  W: "f2@4 ~@2 f2@2 ~@4 f2@4 ~@2 f2@3 ~@3 f2@3 ~@3 f2@2 ~@4 f2@4 ~@2 f2@2 ~@4",
  X: "d3@4 ~@2 d3@3 ~@3 d3@4 ~@2 d3@2 ~@4 d3@4 ~@2 d3@2 ~@4 d3@4 ~@2 d3 ~@2 d3 ~@2",
  Y: "e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2 ~@2 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@3 ~@3",
  Z: "g2@3 ~@3 g2@2 ~@4 g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2@3 ~@3 g2@4 ~@2 g2@2 ~@4",
  AA: "g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2 ~@2 g2 ~@2 g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2@3 ~@3",
  AB: "a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2 ~@2 a2 ~@2 a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2@3 ~@3",
  AC: "a2@3 ~@3 a2@2 ~@4 a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2@3 ~@3 a2@4 ~@2 a2@2 ~@4",
  AD: "c3@4 ~@2 c3@3 ~@3 c3@4 ~@2 c3@2 ~@4 c3@4 ~@2 c3@2 ~@4 c3@4 ~@2 c3 ~@2 c3 ~@2",
  AE: "c3@4 ~@2 c3@2 ~@4 c3@4 ~@2 c3@3 ~@3 c3@4 ~@2 c3@2 ~@4 c3@4 ~@2 c3 ~@2 c3 ~@2",
  AF: "a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2@3 ~@3 a2@3 ~@3 a2@2 ~@4 a2@4 ~@2 a2@2 ~@4",
  AG: "~ e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4 e2 ~@2 e2 ~@2 e2@2 ~@3",
  AH: "~ c3@4 ~@2 c3@2 ~@4 c3@4 ~@2 c3@3 ~@3 c3@4 ~@2 c3@2 ~@4 c3@4 ~@2 c3 ~@2 c3 ~",
  AI: "~ g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2@3 ~@3 g2@3 ~@3 g2@2 ~@4 g2@4 ~@2 g2@2 ~@3",
  AJ: "~ c3@4 ~@2 c3@3 ~@3 c3@4 ~@2 c3@2 ~@4 c3@4 ~@2 c3@2 ~@4 c3@4 ~@2 c3 ~@2 c3 ~",
  AK: "~ g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2@3 ~@3 g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2 ~@2 g2 ~",
  AL: "~ c3@4 ~@2 c3@2 ~@4 c3@4 ~@2 c3@3 ~@3 c3@3 ~@3 c3@2 ~@4 c3@4 ~@2 c3@2 ~@3",
  AM: "~ g2@4 ~@2 g2@3 ~@3 g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2@2 ~@4 g2@4 ~@2 g2 ~@2 g2 ~",
  AN: "~ a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2@3 ~@3 a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2 ~@2 a2 ~",
  AO: "~ d3@4 ~@2 d3@2 ~@4 d3@4 ~@2 d3@3 ~@3 d3@3 ~@3 d3@2 ~@4 d3@4 ~@2 d3@2 ~@3",
  AP: "~ e2@4 ~@2 e2@3 ~@3 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2 ~",
  AQ: "~ e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@3 ~@3 e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2 ~@2 e2 ~",
  AR: "~ e2@4 ~@2 e2@2 ~@4 e2@4 ~@2 e2@3 ~@3 e2@3 ~@3 e2@2 ~@4 e2@4 ~@2 e2@2 ~@3",
  AS: "~ b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2@3 ~@3 b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2 ~@2 b2 ~",
  AT: "~ b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2@3 ~@3 b2@3 ~@3 b2@2 ~@4 b2@4 ~@2 b2@2 ~@3",
  AU: "~ b2@4 ~@2 b2@3 ~@3 b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2@2 ~@4 b2@4 ~@2 b2 ~@2 b2 ~",
  AV: "~ a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2@3 ~@3 a2@3 ~@3 a2@2 ~@4 a2@4 ~@2 a2@2 ~@3",
  AW: "~ a2@4 ~@2 a2@3 ~@3 a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2@2 ~@4 a2@4 ~@2 a2 ~@2 a2 ~",
  AX: "~ d3@4 ~@2 d3@2 ~@4 d3@4 ~@2 d3@3 ~@3 d3@4 ~@2 d3@2 ~@4 d3@4 ~@2 d3 ~@2 d3 ~",
})).s("gm_overdriven_guitar").gain(0.32)

// other · distortion guitar · "lead 1"
const distortion_guitar = note(`<
  A B C D@2 ~@3 E F G@2 H@2 ~@4 I@2 J@2 K@4 ~@2 L M N O@2 P Q ~ R S T U ~@7 V@3 ~@13 W ~@11 X Y@3 Z@3 AA@2 AB AC AD AE
  AF AG AH AI AJ AH AK AL AM AN AO AP@2 AQ AR ~@5 AS AT@2 AU AV AW AX AY AZ ~ BA BB BC BD@2 ~@5
>`.pickRestart({
  A: "~@39 e3@5 d3 ~@3", B: "e2@6 e3@6 b2@3 b2@2 ~ d3@7 ~@14 e3@5 d3 ~@3",
  C: "e2@6 [d3,g3]@6 e3@6 b2@2 ~ e3@3 ~@15 g2@5 ~ f2@3", // G5
  D: "[[e2,b2]@33 ~@3 d3@3 d3@2 ~ b2@2 ~@4 a3 ~@47, ~@45 e3@34 ~@17]/2", // E5
  E: "~@15 e3@5 d3 ~@3 e2@6 e3@6 b2@3 b2@2 ~ d3@6", F: "~@15 e3@5 d3 ~@3 e2@6 [d3,g3]@6 e3@6 b2@2 ~ e3@3",
  G: "[~@15 e3@5 d3 ~@3 e2@6 g#3 b3@5 d4@8 ~@19 e3@5 d3 ~@3 e2@6 a3@5 ~ b3@3 d4@7 ~ c4, ~@45 e4@22 ~@29]/2",
  H: "[d#4@3 ~]/2", I: "[~@3 a4@5]/2", J: "[~@3 d5@5]/2", K: "[~@3 a4@11 ~@2]/4",
  L: "~ g4@4 ~@3 g4@3 ~@12 g#4@2 b4@5 ~@3 a4@8 ~ g4@6", M: "e4 ~@47",
  N: "~@15 e3@5 d3 ~@3 e2@6 b2@4 ~@2 d3@3 e3@5 d3 ~@3", O: "[~@42 f#4@6 b4@41 ~@7, b2@5 ~@3, ~ e2@62 ~@33]/2",
  P: "~@7 f#4", Q: "c5@5 ~ b4@4 ~ a4@3 ~ b4@22 ~@11", R: "~@3 f#4@8 ~", S: "~@7 g4", T: "~@39 e3@5 ~ d3 ~@2, b4@47 ~",
  U: "e2@6 e3@6 b2@3 b2@2 ~ d3@30", V: "[~@3 a4@7 ~@2]/3", W: "~@18 e2@3 e2@3 e2@3 ~@3 e2@3 e2@3 e3@5 ~ d3 ~@5",
  X: "~@6 a#4@6 ~@27 e3@5 ~ d3 ~@2", Y: "[e2@6 g#3 b3@5 d4@8 ~ e4@64 d5@51 ~@3 e5@5]/3",
  Z: "[~ d#5 d5@3 ~ g4@55 ~@4 g3@3 c4@3 d4@23 c4@3 d4@42 ~ g#3@2 f3 ~, ~@139 b3@2 ~@3]/3",
  AA: "[~@29 g2@3 ~ a2@3 ~@2 c3@4 d3@3 ~ e3@4 e3@4 d3@3 ~ b2@3 ~ d3@8 d3 ~@25]/2",
  AB: "~@16 e4 ~@2 g4@3 a4@2 ~@2 a4@14 a4@8", AC: "~ a4@18 ~@6 f#4@4 ~@5 g4@4 ~@5 a4@3 ~@2", AD: "~ b4@22 ~",
  AE: "~ g#4@43 ~@4", AF: "~ a4@47", AG: "~ b4@28 ~@2 b4@9 b4@8", AH: "~ b4@47", AI: "~@2 b4@34 ~ b4@11",
  AJ: "~ a4@20 ~@3", AK: "~@37 d5@11", AL: "~ d#5@43 ~@4", AM: "~ d5@36 ~ g#4 ~ f4 d#4 ~@6, ~@37 b4@2 ~@9",
  AN: "g5 a5@19 ~@4", AO: "~@24 a4@6 ~@3 a4@4 ~@3 g4@3 ~@2 a4@3", AP: "[~ a4@69 ~@3 b4@12 b4@11]/2",
  AQ: "~ c5@42 c5 ~@2 c5@2", AR: "~ c5 ~@43 a4 f#4 d#4",
  AS: "~@5 g4@4 a4@4 a4 ~@3 g4@4 a4@4 a4@4 g4@4 a4@4 a4@4 g4@3 ~ a4@3", AT: "[~ a4@55 ~@17 a4@23]/2",
  AU: "~ b4@42 c5@3 c5@2", AV: "~ c5@36 ~ f#4 ~ d#4 ~@7, ~@37 a4@2 ~@9", AW: "~@13 g5@33 ~@2, ~ g4@46 ~",
// … 109 more lines

More by Genesis