Strudelify

neon genesis evangelion - a cruel angels thesis

Radical Edward violin by Ahegao-chan

KeyA minorTempo120 bpm
0:00/0:00
// neon genesis evangelion - a cruel angels thesis — Radical Edward violin by Ahegao-chan
// 120 bpm, 4/4, key A minor. 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 5, 4/4 at bar 6) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5480519; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 47 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · piano
const piano = note(`<
  ~@7 A B C D E F G H I J K L E F G H I J M N O P Q R S T U V W X Y Z W X AA AB W AC AD AE
>`.pickRestart({
  A: "a2@3 a2 a2@3 a2, e3 d3", B: "g2@3 g2 c3@3 c3, [b2,d3,g3] [e3,c4]", C: "a2@3 a2 d3@3 d3, [e3,a3] [f3,a3]",
  D: "g2@3 g2 [a2,a3,c4,e4]@4, b3 ~", E: "g2 [c2,c3]@4 c2 c3 c2", F: "[g1,g2]@3 g1 [g1,g2]@3 g1",
  G: "[a2,c3,e3] [g2,b2,e3]", H: "a2 c3@4 c3 f2@2", I: "g2 b2 d3 b2 g2@4", J: "a2 [a1,a2]@4 a1 a2 a1",
  K: "[d2,d3]@15 ~", L: "a1 e2 a2 g2 [d2,d3]@4", M: "d2 d3 d2 d3 [d2,d3]!4", N: "e2!8, [a2,a3] [g2,g3] [a2,a3] [b2,b3]",
  O: "[f2,f3]!8, [e3,a3]@15 ~", P: "e2 e3 e2 e3 [a1,a2]!4, [g3,b3] [e3,g3]", Q: "d2 d3 d2 d3 [g2,g3]!4, [f3,a3]!2",
  R: "g2!2 d3 c#3 c3!2 g2 f2, [b3,d4,a#4,d5] [c4,e4,c5,e5] [d4,f4,d5,f5] [e4,g4,e5,g5]", // Bm C Dm Em
  S: "[d2,a3,c4] ~ d2 [d3,g3,b3] [d2,d3,a3,c4] ~ [d2,d3] [d2,d3,g3,b3], f3!2, ~ d3 ~@3 [d2,d3] ~@2, ~@3 [a3,c4]@3 ~@5 [a3,c4]@3 ~@2", // D7 G D7 D G D Am
  T: "[e2,b3,d4] ~ e2 [e3,a3,c4] [a1,a2,g3,b3] ~ [a1,a2] [a1,a2,b3,d4], g3@4 ~ [a1,a2] ~@2, ~ e3 ~@2 e3@4, ~@3 [b3,d4]@3 ~@5 [a3,c4]@3 ~@2", // E7 Am Em A Bm7 A Bm Am
  U: "[g2,c4,e4] ~ g2 [g3,c4,e4] [g2,g3,b3,d4] ~ [g2,g3] [g2,g3,b3,d4], a3@8 ~@3 [a3,c4]@3 ~@2, ~ g3 ~@3 [g2,g3] ~@2, ~@3 [d4,f4]@3 ~@10", // C G Am G Dm
  V: "[d2,e3,g3,b3,e4]@8 [e2,e3,g3,b3,e4]@3 [e2,e3,a3,d4,f#4]@3 [e2,e3,b3,e4,g#4]@2", // Em7 Em D E
  W: "a2@2 a2@2 a2@2 a2@2 [b3,d4]@3 [a3,c4]@3 [a2,b3,d4]@2, e3 d3, [f3,a3]@2 [a3,c4]@2 a2@3 ~", // Bm Am Bm7 F Am
  X: "[g2,d4]@2 [g2,d4]@2 [g2,d4,g4]@2 [g2,f4]@2 e4 d4@2 ~@3 c3@2, [b2,d3,g3] [e3,c4], ~@4 c3@3 ~, ~@11 e4@5", // G5 G7 G C
  Y: "a2@2 a2@2 a2@2 a2@2 [f4,a4]@3 e4@3 [d3,d4]@2, [e3,a3] [f3,a3], [c4,e4]@2 [e4,g4]@2 d3@3 ~", // F D A5 F C Em
  Z: "b3@2 b3@2 b3@2 [b2,c4]@2 d4 c4@2 ~@3 b2@2, g3 [g3,b3], [g2,b2]@3 ~ c3@3 ~, ~@11 c4@5", // Cmaj7 G
  AA: "e4@4 ~@2 a2@2 a4@3 e4@3 [d3,d4]@2, [e3,a3] [f3,a3], a2@3 ~ d3@3 ~, ~ g4 ~@2", // D A5 F
  AB: "[g2,g4]@2 [g2,g4]@2 [g2,e4]@2 [g2,g4]@2 g4@3 a4@5, b3 [a2,a3,c4,e4]", // G C G Am
  AC: "[g2,b3,d4]@2 [g2,b3,d4]@2 [g2,b3,d4,g4]@2 [g2,f4]@2 e4 d4@2 ~@3 c3@2, [b2,d3,g3] [e3,c4], ~@4 c3@3 ~, ~@11 e4@5", // G G7 G C
  AD: "a2@2 a2@2 a2@2 a2@2 [f4,a4]@3 [c4,e4]@3 [d3,b3,d4]@2, [e3,a3] [f3,a3], [c4,e4]@2 [e4,g4]@2 d3@3 ~", // F C G A5 F C Em
  AE: "[e2,e4,g4]@2 [e2,e4,g4]@2 [e2,c4,e4]@2 [e2,g2,e4,g4]@2 [e2,a2,g4]@3 [a1,a2,a4]@5, b3 [a3,c4,e4], g2@3 ~@5", // Em C Em A7 A Am
})).s("gm_piano").gain(0.3)

// chords · piano · soft notes
const piano_soft = note("<A B@3 C@3 ~@40>".pickRestart({
  A: "~@2 a3@3 c4@3, ~@4 [a2,e3]@11 ~", // A5
  B: "[d4@4 ~ c4@4 d4@3 d4@3 d4@3 g4@3 f4@3 e4 ~ d4@3 e4@7 e4@6 g4@6, [a2,d3]@11 ~ [g2,b2,d3,g3]@11 ~ [c3,e3,c4]@11 ~ [a2,e3,a3]@11 ~]/3", // D5 G C A5
  C: "[a4@4 ~ e4@4 d4@3 g4@3 g4@3 e4@3 g4@3 g4@4 ~@8 a3@11 ~, [d3,f3,a3]@11 ~ [b2,d3,g3,b3]@11 ~ [e3,a3,c4,e4]@11 ~@13, ~@29 a4@19]/3", // Dm G Am
})).s("gm_piano").gain(0.2)

stack(piano, piano_soft)