Strudelify

Messiah HWV 56

George Frideric Handel

KeyG majorTempo120 bpm
0:00/0:00
// Messiah HWV 56 — George Frideric Handel
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1313221; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 91 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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.

// other · acoustic guitar nylon · "Guitar"
const acoustic_guitar_nylon = note(`<
  A B C D E F G H I J K L M ~@2 N O P Q R S T U V W X Y Z AA AB AC AD AC AE AF AG AH AI ~@6 AJ AK AL AM AN@2 AO AP@3
  AQ@3 AR@3 AS@3 AT@2 AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BG BH BI BJ BK BL BM BN O BO BP BQ
>`.pickRestart({
  A: "g4@3 d4 e4 d4 ~@2", B: "g4@6 d4@2 e4@2 d4@2 ~@2 g4!2", C: "g4@2 g4@2 ~@2 g4!2 g4@2 g4@2 ~@2 g4@2",
  D: "f#4 g4@2 f#4 g4@2 ~@2", E: "a4@3 d4 b4 a4 ~@2", F: "a4@6 d4@2 b4@2 a4@2 ~@2 a4!2",
  G: "b4@2 a4@2 ~@2 a4!2 b4@2 a4@2 ~@2 a4@2", H: "b4 a4 g4@2 f#4@2 ~@2", I: "d4@2 e4 f#4", J: "g4 g3 g4@3 g4 f#4@2",
  K: "e4@8 d4@4 ~@2 a4!2", L: "g4@2 f#4@2 ~@2 a4!2 g4@2 f#4@2 ~@2 a4!2", M: "b4@2 a4@2 ~@2 a4!2 b4@2 a4@2 ~@4",
  N: "~@14 g4!2", O: "g4@2 g4@2 ~@2 g4!2 g4@2 g4@2 ~@2 g4!2", P: "g4@2 g4@2 ~@2 g4!2 g4@2 g4@2 ~@4", Q: "g4@2 a4 b4",
  R: "c5 c4 c5@3 c5 b4@2", S: "a4@8 g4@4 ~@2 g4!2", T: "f#4@2 d4@2 ~@2 f#4!2 g4@2 g4!2 a4@2 a4@2",
  U: "d4@4 ~@2 g4 f#4 e4@2 e4@2 ~@2 a4@2", V: "g4@2 f#4@2 g4@2 a4 g4 f#4@2 f#4!2 a4@2 f#4@2",
  W: "~@2 d4!2 g4@2 d4@2 ~@2 f#4!2 a4@2 f#4@2", X: "~@2 d4!2 b4@2 g4@2 ~@2 f#4!2 g4@2 d4@2",
  Y: "~@2 e4!2 a4@2 a4@2 ~@2 f#4!2 g4@2 g4@2", Z: "g4 f#4 g4!2", AA: "g4@4 g4@4 ~@2 d4!2 b3@2 g3@2, ~ g4",
  AB: "c4@2 c4!2 e4@2 e4@2 d4@4 d4@4", AC: "d4@4 c4@4 b3@4 a3@3 g3", AD: "g3@3 d4", AE: "g3@3 b4", AF: "a4 g4!2 f#4",
  AG: "g4@3 f#4 g4@2 g4@2", AH: "f#4@3 d4 e4@2 f#4@2", AI: "g4 ~", AJ: "~@3 g4", AK: "d5 f#4 b4 d4",
  AL: "g4@4 f#4@2 e4@2 f#4@4 e4@3 d4", AM: "d4@2 d4!2", AN: "d4/2", AO: "~ d4!3", AP: "[d4@10 g4!2]/3",
  AQ: "[g4@9 g4 a4!2]/3", AR: "[a4@10 b4!2]/3", AS: "[b4@19 b4 c5@2 c5@2]/3", AT: "[c5@11 c5 b4 a4 b4 c5]/2",
  AU: "a4@4 ~ f#4 g4 a4", AV: "d4 ~@3", AW: "~@3 d4", AX: "g4 b3 e4 g3", AY: "c4@4 b3@2 a3@2 b3@4 a3@3 g3", AZ: "g3 ~",
  BA: "~@3 g4 c5 b4 ~ g4", BB: "c5 b4 ~@6", BC: "~@6 g4!2 c5@2 b4@2 ~@2 g4!2", BD: "c5 b4 ~ d4 d4@2 d4@2",
  BE: "b4@2 g4@2 g4@2 d4!2", BF: "f#4@2 g4!2 g4@2 f#4@2", BG: "g4 ~ d4!2", BH: "g4@2 ~ d4 d4@2 d4@2", BI: "g4 ~@2 d4",
  BJ: "g4 b4 e4 g4", BK: "c5@2 b4 a4 a4@4", BL: "g4 ~ g4!2", BM: "g4@2 ~ g4 g4@2 g4@2",
  BN: "g4@4 ~@2 g4!2 g4@2 g4@2 ~@2 g4!2", BO: "g4!2 ~@4 g4@2", BP: "g4@3 g4", BQ: "g4",
})).s("gm_acoustic_guitar_nylon").gain(0.3)

// other · acoustic guitar nylon · "Guitar"
const acoustic_guitar_nylon_2 = note(`<
  A B C D E F G H I J K L M N O P Q R ~ S T U V@2 W N O X Y Z AA AB AC AD AE AF AG AH ~@4 AI AJ AK AL AM AN AO@2 AP AQ@3
  AR Q AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BO BQ BR BS BT BU Q@2 BV BW BX
>`.pickRestart({
  A: "d4@3 d4 c4 b3 ~@2", B: "d4@6 d4@2 c4@2 b3@2 ~@2 d4!2", C: "e4@2 d4@2 ~@2 d4!2 e4@2 d4@2 ~@2 d4@2",
  D: "c4 b3 a3!2 b3@2 ~@2", E: "d4@3 d4!3 ~@2", F: "d4@6 d4@2 d4@2 d4@2 ~@2 d4!2",
  G: "d4@2 d4@2 ~@2 d4!2 d4@2 d4@2 ~@2 d4@2", H: "d4@3 c#4 d4@2 ~@2", I: "d4@2 e3 f#3", J: "g3 g2 g3@3 g3 f#3@2",
  K: "e3@8 d3@4 ~@2 d4!2", L: "d4@2 d4@2 ~@2 d4!2 d4@2 d4@2 ~@2 d4!2", M: "d4@2 d4@2 ~@2 d4!2 d4@2 d4@2 ~@4",
  N: "g3@2 a3 b3", O: "c4 c3 c4@3 c4 b3@2", P: "a3@8 g3@4 ~@2 d4!2", Q: "e4@2 d4@2 ~@2 d4!2 e4@2 d4@2 ~@2 d4!2",
  R: "e4@2 d4@2 ~@2 d4!2 e4@2 d4@2 ~@4", S: "~@14 d4!2", T: "c4@2 a3@2 d4@2 d4@2 d4@2 d4!2 b3@2 g3@2",
  U: "~@2 a3!2 f#3@2 d3@2 ~@2 c4 b3 a3@2 d4 b3", V: "[b3@4 ~@2 e4 d4 c#4@2 a3@2 d4@8 c#4@4 d4@4 ~@2 a3!2]/2",
  W: "d4@2 b3@2 ~@2 b3!2 a3@2 f#3@2 ~@4", X: "a3@8 g3@2 d4!2 b3@2 g3@2",
  Y: "~@2 e4@2 e4@2 e4@2 ~@2 b3!2 g3@2 d3@2, ~ d4", Z: "g3@2 g3!2 c4@2 c4@2 b3@4 b3@4", AA: "a3 g3!2 f#3",
  AB: "g3@3 b3", AC: "a3 g3@2 f#3", AD: "g3@3 d4", AE: "d4@4 g3@4 b3@4 a3@3 g3", AF: "g3@3 a3 b3@2 c#4@2",
  AG: "d4@3 d4 c4@2 c4@2", AH: "b3 ~", AI: "~ d4 g4 b3", AJ: "e4@2 g3@2 c4@2 b3 a3",
  AK: "b3@4 a3@3 g3 g3@2 d4@2 b3@2 g3@2", AL: "~ a3 d4 a3 ~@3 f#3", AM: "g3 e4 d4@4 c#4@2", AN: "d4 a3 d4!2",
  AO: "d4/2", AP: "~ d4!3", AQ: "[d4@5 ~]/3", AR: "~@3 d4 e4 d4 ~ d4", AS: "e4 d4 ~@6", AT: "~@3 a3 d4 c#4 ~ a3",
  AU: "d4@2 c#4@2 ~@2 a3!2 d4@2 c#4@2 ~@2 e4!2", AV: "d4 c#4 ~@6", AW: "~@3 b3 e4 d#4 ~ b3",
  AX: "e4@2 d#4@2 ~@2 b3!2 e4@2 d#4@2 ~@2 b3!2", AY: "e4 b3 ~@2", AZ: "~@2 e4!2", BA: "d4@3 d4 d4@2 d4@2", BB: "d4 ~",
  BC: "~@5 b3 c#4 d4", BD: "g3@2 f#3@2 g3@2 a3 g3 f#3@2 a3@2 d4@2 c4@2", BE: "b3@3 a3 g3@3 g3",
  BF: "g3 f#3 g3!2 g3@2 f#3@2", BG: "g3@2 g3!2", BH: "g3@2 ~ d4 e4 d4 ~ d4", BI: "e4 d4 ~ g3 g3@2 g3@2",
  BJ: "g3@4 ~@2 d4!2 e4@2 d4@2 ~@2 d4!2", BK: "e4 d4 ~@4 d4@2", BL: "g4 d4 e4 g3", BM: "c4@2 b3 a3 a3@4",
  BN: "b3@4 ~@4 b3@4 b3@3 c4", BO: "d4@4 ~@2 b3@2 b3@4 b3@3 c4", BP: "d4 ~ b3!2", BQ: "d4 ~@2 b3", BR: "b3!2 g3 d4",
  BS: "a3@2 d4!2 d4@4", BT: "d4@2 ~ d4 e4 d4 ~ d4", BU: "e4 d4 ~ d4 e4 d4 ~ d4", BV: "e4 d4 ~@4 b3@2", BW: "c4@3 c4",
  BX: "b3",
})).s("gm_acoustic_guitar_nylon").gain(0.3)

// other · acoustic guitar nylon · "Guitar"
const acoustic_guitar_nylon_3 = note(`<
  A B C D E F G H I J K L M N O P Q R ~@2 S I J T U V W X Y Z AA AB AC AD AA AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR L
  AS AR L AS AT Q AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BQ BS BN BO BT BU Q@2 BV BW BX
>`.pickRestart({
  A: "g2@3 b2 c3 g2 ~@2", B: "g2@6 b2@2 c3@2 g2@2 ~@2 b2!2", C: "c3@2 g2@2 ~@2 b2!2 c3@2 g2@2 ~@2 b2@2",
  D: "a2 g2 d3!2 g2@2 ~@2", E: "d3@3 f#3 g3 d3 ~@2", F: "d3@6 f#3@2 g3@2 d3@2 ~@2 f#3!2",
  G: "g3@2 d3@2 ~@2 f#3!2 g3@2 d3@2 ~@2 f#3@2", H: "g3 f#3 d3@2 d3@2 ~@2", I: "d3@2 e3 f#3", J: "g3 g2 g3@3 g3 f#3@2",
  K: "e3@8 d3@4 ~@2 f#3!2", L: "g3@2 d3@2 ~@2 f#3!2 g3@2 d3@2 ~@2 f#3!2", M: "g3@2 d3@2 ~@2 f#3!2 g3@2 d3@2 ~@4",
  N: "g2@2 a2 b2", O: "c3!2 c3@3 c3 b2@2", P: "a2@8 g2@4 ~@2 b2!2", Q: "c3@2 g2@2 ~@2 b2!2 c3@2 g2@2 ~@2 b2!2",
  R: "c3@2 g2@2 ~@2 b2!2 c3@2 g2@2 ~@4", S: "~@6 d3!2 b2@2 g2@2 ~@4", T: "e3@8 d3@4 ~@2 d3!2",
  U: "b2@2 g2@2 ~@2 g3!2 f#3@2 d3@2 ~@4", V: "~@6 g3!2 f#3@2 d3@2 ~@2 g3!2", W: "e3@2 c3@2 ~@2 a2!2 d3@2 d3@2 ~@2 e3!2",
  X: "c3@2 a2@2 d3@3 c3 g2@4 ~@2 g3!2", Y: "e3@2 c3@2 e3@2 f#3@2 ~@2 g2!2 g2@2 g2@2, ~ g3",
  Z: "e3@2 e3!2 c3@2 c3@2 g3@4 g3@4", AA: "f#3@4 e3@4 d3@4 c3@3 b2", AB: "b2@3 g3", AC: "f#3@2 e3@2 d3@3 c3",
  AD: "g2@3 g3", AE: "b2@3 a2 g2@2 e3@2", AF: "d3@3 b2 c3@2 a2@2", AG: "g2@3 d3 g3@2 b2@2", AH: "e3@2 g2@2 c3@2 b2 a2",
  AI: "a2@2 g2 ~", AJ: "~@3 d3 g3 g2 ~ b2", AK: "e3 c#3 d3@2 ~ a2 g2 a2", AL: "f#3 d3 c3 d3 b2@2 ~ b2",
  AM: "c3 g2 ~@5 c3", AN: "d3!2 ~ d3 b2 g2 ~ g3", AO: "f#3 d3 ~ f#3 g3 g2 ~ c3", AP: "e3 c#3 d3 g2 a2!2 ~ a2",
  AQ: "f#3 d3 ~@2", AR: "~@3 f#3 g3 d3 ~ f#3", AS: "g3 d3 ~@6", AT: "~@3 b2 c3 g2 ~ b2", AU: "c3 g2 ~@6",
  AV: "~@3 c#3 d3 a2 ~ c#3", AW: "d3@2 a2@2 ~@2 c#3!2 d3@2 a2@2 ~@2 c#3!2", AX: "d3 a2 ~@6", AY: "~@3 d#3 e3 b2 ~ d#3",
  AZ: "e3@2 b2@2 ~@2 d#3!2 e3@2 b2@2 ~@2 d#3!2", BA: "e3!2 ~@2", BB: "~@2 e3!2", BC: "f#3@3 f#3 g3@2 g2@2",
  BD: "d3@3 e3 d3@2 f#3@2", BE: "b2@2 d3@2 g2@2 f#2!2", BF: "e2@2 d3 ~", BG: "~@5 g2 c3 b2",
  BH: "a2@2 b2 c3 d3@2 c3 d3", BI: "b2 g2 g3!2", BJ: "g3@2 ~ b2 c3 g2 ~ b2", BK: "c3 g2 ~ g3 g3@2 g3@2",
  BL: "g3@4 ~@2 b2!2 c3@2 g2@2 ~@2 b2!2", BM: "c3 g2 ~ g2 g3@2 b2@2", BN: "e3@2 g2@2 c3@2 b2!2", BO: "a2@2 g2!2 d3@4",
  BP: "g2 ~ g2!2", BQ: "g3@2 ~ g2 g2@2 g2@2", BR: "g3 ~ g2!2", BS: "g3@2 ~ g2 g3@2 b2@2", BT: "g2@2 ~ b2 c3 g2 ~ b2",
  BU: "c3 g2 ~ b2 c3 g2 ~ b2", BV: "c3 g2 ~@4 g2@2", BW: "c3@3 c3", BX: "g2",
})).s("gm_acoustic_guitar_nylon").gain(0.3)

stack(acoustic_guitar_nylon, acoustic_guitar_nylon_2, acoustic_guitar_nylon_3)

More by George Frideric Handel