Strudelify

Flame of Despair

Yuki Kajiura

KeyA minorTempo144 bpm
0:00/0:00
// Flame of Despair — Yuki Kajiura
// 144 bpm, 3/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5833690; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 47 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(144/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · contrabass · "Violin"
const contrabass = note(`<
  A ~ B ~ C D E F G H I J G H K L M N O P Q R S T U V W X U V Y Z AA AB AC AD AE AF AG AH ~ AI AJ AK AL AM AN
>`.pickRestart({
  A: "b4@3 c5@2 b4@3 a#4@3 b4@3 ~@2", B: "e5@3 f5@2 e5@3 d#5@3 e5@3 ~@2", C: "e5@3 f5@2 e5@3 ~@8",
  D: "d5@3 e5@2 d5@3 ~@8", E: "c5@3 d5@2 c5@3 ~@8", F: "a#4@3 b4@2 c5@3 d5@3 d#5@2 e5@3",
  G: "e5@3 f5@2 e5@3 d#5@3 e5@2 b4@3", H: "d5@3 c5@2 c5@3 b4@5 a4@3", I: "g#4@3 a4@2 b4@3 a4@3 g#4@2 f4@3",
  J: "e4@3 f4@2 e4@3 d#4@3 e4@5", K: "g#4@3 a4@2 b4@3 c5@3 d5@2 f5@3", L: "e5@3 f5@2 e5@3 d#5@3 e5@5",
  M: "e5@3 f5@2 e5@3 c5@3 g5@2 f5@3", N: "d5", O: "d5@3 e5@2 d5@3 c5@3 f5@2 e5@3", P: "c5", Q: "b4@3 c5@2 d5@8 e5@3",
  R: "f5@5 e5@5 ~ d#5@5", S: "e5@5 f5@5 ~ e5@5, e2", T: "d5@5 c5@5 ~ b4@5, e2",
  U: "e5@3 f5@2 e5@3 d#5@3 e5@2 b4@3, a1@11 e2@5", V: "d5@3 c5@2 c5@3 ~@5 a4@3, a1@11 e2@5, ~@8 b4@5 ~@3",
  W: "g#4@3 a4@2 b4@3 a4@3 g#4@2 a4@3, a1", X: "b4@3 c5@2 d5@3 d#5@3 [e2,e5]@5, a1@11 ~@5",
  Y: "g#4@3 a4@2 b4@3 c5@3 d5@2 f5@3, a1@11 e2@5", Z: "e5@3 f5@2 e5@3 d#5@3 [g1,e5]@5, a1@11 ~@5",
  AA: "d5@3 e5@2 ~@8 a5@3, f1@11 f1@5, ~@5 f5@8 ~@3", AB: "g1@11 g1@5, g5",
  AC: "e5@3 g5@2 ~@8 g5@3, c2@11 g1@5, ~@5 b5@8 ~@3", AD: "a4, f1@11 ~@5", AE: "f5@11 e5@5", AF: "d5@11 c5@5",
  AG: "a5@11 g5@5", AH: "f5@11 d#5@5", AI: "a4@3 b4@2 c5@3 b4@3 c5@2 d5@3", AJ: "e5@3 f5@2 e5@3 d#5@3 e5@2 f5@3",
  AK: "a5@3 g#5@2 a5@3 b5@3 c6@2 d6@3", AL: "e1@5 e6@5 ~ e5@5", AM: "f1@5 d6@5 ~ d5@5", AN: "e1@5 c6@5 ~ c5@5",
})).s("gm_contrabass").gain(0.3)

// other · viola
const viola = note("<~@31 A B C D E F@4 G H F I J K ~>".pickRestart({
  A: "c4@5 e4@5 ~ g4@5", B: "d5@5 c5@11", C: "b4@3 c5@2 d5@5 ~ b4@5", D: "c5@5 b4@8 c5@3", E: "f4@5 e4@5 ~ c4@5",
  F: "a4@5 g#4@5 ~ a4@5", G: "d#4@3 e4@2 f4@3 e4@3 d#4@2 e4@3", H: "e4@5 f4@5 ~ d#4@5", I: "c5@5 b4@5 ~ a4@5",
  J: "~@5 b4@3 f4@3 d4@2 b3@3", K: "~@5 a4@3 e4@3 c4@2 a3@3",
})).s("gm_viola").gain(0.2)

// other · cello
const cello = note("<~@22 A@2 B@2 C B@4 D E F G H I J K L A@4 M N M>".pickRestart({
  A: "e3", B: "a2@11 e3@5", C: "a2", D: "a2@11 g2@5", E: "f2@11 f2@5", F: "g2@11 g2@5", G: "c2@11 g2@5", H: "f2@11 ~@5",
  I: "d3@11 a3@5", J: "d3", K: "d#3", L: "a3@11 f3@5", M: "e3@5 ~@11", N: "f3@5 ~@11",
})).s("gm_cello").gain(0.2)

// other · pizzicato strings
const pizzicato_strings = note("<~ A ~ B ~@4 C D C D C D C E F G H F ~@27>".pickRestart({
  A: "~@5 a2@5 ~ a3@5", B: "~@5 a2@5 ~ f3@5", C: "a2@5 a3@5 ~@6", D: "a2@5 f3@5 ~@6", E: "a2@5 b3@5 ~ a2@5",
  F: "f2@5 f3@5 ~@6", G: "g2@5 g3@5 ~@6", H: "c2@5 g3@5 ~@6",
})).s("gm_pizzicato_strings").gain(0.2)

// other · cello
const cello_2 = note("<~@23 A B@2 A B@4 C D E F G ~@5 H@3 I J I>".pickRestart({
  A: "a2", B: "a2@11 e3@5", C: "a2@11 g2@5", D: "f2@11 f2@5", E: "g2@11 g2@5", F: "c2@11 g2@5", G: "f2@11 ~@5", H: "e3",
  I: "e2@5 ~@11", J: "f2@5 ~@11",
})).s("gm_cello").gain(0.2)

// other · pizzicato strings
const pizzicato_strings_2 = note("<~ A ~ B ~@4 C D C D C D C E F G H F ~@27>".pickRestart({
  A: "~@5 a2@5 ~ e3@5", B: "~@5 a2@5 ~ f3@5", C: "a2@5 e3@5 ~@6", D: "a2@5 f3@5 ~@6", E: "a2@5 b3@5 ~ a2@5",
  F: "f2@5 f3@5 ~@6", G: "g2@5 g3@5 ~@6", H: "c2@5 g3@5 ~@6",
})).s("gm_pizzicato_strings").gain(0.2)

stack(contrabass, viola, cello, pizzicato_strings, cello_2, pizzicato_strings_2)

More by Yuki Kajiura