Strudelify

bring me to life

Evenescence

KeyG majorTempo95 bpm
0:00/0:00
// bring me to life — Evenescence
// 95 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/3584021; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 83 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(95/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · string ensemble 1 · "Violins I"
const string_ensemble_1 = note(`<
  A B@2 C@2 B@2 C@2 D@4 E@4 F@2 G@5 H I J K L M N K L O P Q@7 R I S H P ~ S T P U V@4 W@4 J K L M N K L O X Y P ~ S Z
  B@2 C@2 B@2 C@2 AA
>`.pickRestart({
  A: "~@7 [e4,e5]", B: "[[b4,b5]@2 [a4,a5] [b4,b5]@3 [c5,c6]@3 [e5,e6]@3 [b4,b5]@3 [e4,e5]]/2",
  C: "[[b4,b5]@2 [a4,a5] [b4,b5]@3 [c5,c6]@3 [e5,e6]@3 [b4,b5]@4]/2", // B A B C E B
  D: "[[g4,b4]@4 a4 b4@2 [g4,c5]@2 b4@2 a4@2 b4@2 [e4,g4]@4 e4 f#4 g4@2 [e4,a4]@5 ~@4]/4", // G C5 Em A5
  E: "[[g4,b4]@4 a4 b4@2 [g4,c5]@2 b4@2 a4@2 b4@2 [e4,g4]@4 e4 f#4 g4@2 [e4,a4]@2 g4 f#4 g4 f#4@4]/4", // G C5 Em A5
  F: "[~@3 e4 f#4 g4@2 [e4,a4]@5 ~@4]/2", // A5
  G: "[~@3 e4 f#4 g4@2 [e4,g4,c5]@2 [g4,b4]@2 a4@2 c5@2 [g4,b4]@4 b4 a4 b4@2 [g4,c5]@2 b4@2 a4@2 b4@2 [e4,g4]@5 [e4,g4]@4]/5", // C G C5 Em
  H: "[d4,f#4] d4", I: "[b3,e4]", J: "~@8 b4@2 b4 b4@3 a4@2", K: "[e4,a4]@8 b4@2 b4 b4@3 a4@2",
  L: "[e4,a4]@8 c5@2 b4 a4@3 g4@2", M: "[e4,g4,c5] [g4,b4] a4 [f#4,b4]", N: "[e4,g4]@8 b4@2 b4 b4@3 a4@2",
  O: "[g4,c5] [g4,b4] a4 [f#4,b4]", P: "e4",
  Q: "[[g4,b4]@4 a4 b4@2 [g4,c5]@2 b4@2 a4@2 b4@2 [e4,g4]@4 e4 f#4 g4@2 [e4,a4]@2 g4@2 f#4@2 [e4,g4,c5]@2 [g4,b4]@5 a4 d5@2 [g4,c5]@2 b4@2 a4@2 b4@2 [e4,g4]@5 [e4,g4]@4]/7", // G C5 Em A5 C G C5 Em
  R: "[d4,f#4]@7 e4", S: "~ [e4,g4]", T: "[f#4,a4] g4", U: "e4 f#4 g4 b4",
  V: "[[a4,c5]@4 ~ b4 a4 b4@3 g4 a4@2 b4@2 a4@3 g4 a4@2 b4@2 [g4,b4]@4 a4@2 b4@3]/4", // Am G
  W: "[[a4,c5]@4 ~ b4 a4 b4@3 g4 a4@2 b4@2 a4@3 g4 a4@2 c5@2 [g4,b4]@9]/4", X: "g4 [e4,g4]", Y: "f#4 d4",
  Z: "[f#4,a4] c5", AA: "[b4,b5]",
})).s("gm_string_ensemble_1").gain(0.45)

// other · string ensemble 1 · "Violins II"
const string_ensemble_1_2 = note(`<
  ~ A@2 B@2 A@2 B@2 ~@8 C@7 D E F@2 G ~ F@2 G ~@2 C@8 ~ H D I ~ H D I J K@4 L@4 F@2 G ~ F@2 G ~ M N I ~ H O A@2 P@2 A@2
  P@2 Q
>`.pickRestart({
  A: "b4/2", B: "[b5@12 ~@3 e4]/2", C: "~ e4!2 ~ e4!2 ~ e4!2 ~ e4!2 ~ e4!2 ~", D: "[d4,f#4] d4", E: "[b3,e4]",
  F: "e4@2 e4 e4@5 ~@8", G: "~ a5@2 e5@2 ~@3", H: "~ [c4,e4]", I: "b3", J: "e4 f#4 g4 b4",
  K: "[[e4,a4]@4 ~ b4 a4 g4@3 g4 a4@2 b4@2 f#4@3 g4 a4@2 b4@2 [e4,g4]@4 ~@5]/4", // A5 Em
  L: "[[a4,c5]@4 ~ b4 a4 g4@3 g4 a4@2 b4@2 f#4@3 g4 a4@2 c5@2 [e4,g4]@9]/4", M: "e4 [c4,e4]", N: "d4!2",
  O: "[d4,f#4] a4", P: "b5/2", Q: "b4",
})).s("gm_string_ensemble_1").gain(0.45)

// other · string ensemble 1 · "Violins II" · soft notes
const string_ensemble_1_soft = note("<~@9 A@6 B@2 ~@66>".pickRestart({
  A: "[b4@2 a4 b4@3 c5@3 e5@3 b4@3 e4]/2", B: "[b4@2 a4 b4@3 c5@3 e5@3 b4@4]/2",
})).s("gm_string_ensemble_1").gain(0.15)

stack(string_ensemble_1, string_ensemble_1_2, string_ensemble_1_soft)