Strudelify

elfen lied - lilium

Misc Cartoons

KeyF majorTempo60 bpm
0:00/0:00
// elfen lied - lilium — Misc Cartoons
// 60 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2, 3/4 at bar 4, 4/4 at bar 4, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/32499; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 58 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(60/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · flute
const flute = note("<A B C@3 D@6 E F G F H I B C@3 D@6 J@2 K L@2 M N O@2 P N Q R F G F H I B C@3 D@6 S@3>".pickRestart({
  A: "~@6 d5 a5", B: "e5@3 f5 f5@2 d5 a5", C: "[e5@3 f5 g5 f5 d5@5 e5 c5 bb4 c5@5 d5 bb4 a4 bb4 c5]/3",
  D: "[d5@3 e5 f5 g5 f5@4 e5@2 d5 a5 e5@3 f5 f5@2 d5 a5 e5@3 f5 g5 f5 d5@5 e5 c5 bb4 c5@5 d5 bb4 a4 bb4 g5 f5 e5]/6",
  E: "d5 db5 b4 db5 d5 gb5 g5 a5", F: "bb5 f5 e5 bb5 a5 c6 f5 a5", G: "g5@2 f5@2 e5 db5 ~ bb4 a4@2 gb5@2 g5@2 a5@2",
  H: "ab5 f5 e5 d5 f5 f5@2 g5", I: "e5@4 ~@2 d5 a5", J: "[d5 db5 b4 db5 d5@6 f5 g5 a5@3 g5]/2",
  K: "bb5 a5 g5 f5 e5@2 f5 g5", L: "[a5@3 b5 g5 a5 a5@4 f5 g5 a5@2 f5 g5]/2", M: "bb5 a5 g5 a5 f5@2 e5 f5",
  N: "d5@2 e5 f5 a5 c6 b5 g5", O: "[a5@6 d6@4 c6 bb5 a5@2 b5 g5]/2", P: "a5@5 f5 e5 f5", Q: "a5", R: "~@5 gb5 g5 a5",
  S: "[d5 db5 b4 db5 d5@14 ~@6]/3",
})).s("gm_flute").gain(0.27)

// other · flute
const flute_2 = note(`<
  ~ A B C@7 D E F G H I J A B C@7 D K L M N O P Q R@2 S T@3 F G H U J ~@4 V W@4 D X Y@2
>`.pickRestart({
  A: "e5@2 d5 ~", B: "e5@2 f5 bb5", C: "[a5@3 g5@2 c6@2 f5@2 e5@2 f5@2 g5 ~ e5@2 d5 ~ e5@2 f5 bb5 a5@3 g5@2]/7",
  D: "c6@2 c6 bb5", E: "a5@2 g5@2 f5 gb5@3", F: "d5 f5 g5 e5 d5 a4!2 d5", G: "f5 d5 d5@2 c5@2 g5 eb5",
  H: "d5 f5 g5 e5 d5 a4!2 ~", I: "~@4 a4 db5 f5 g5", J: "g5 ~", K: "a5@2 g5@2 f5@3 g5", L: "f5@2 f5 g5 f5@3 e5",
  M: "g5 f5 e5@2 e5 d5 c5 e5", N: "f5@3 b5 d6@3 f6", O: "e6 c6 d6@2 d6@2 d6 c6", P: "bb5 a5 g5 f5 d5@2 c5 d5",
  Q: "d5 c5 c5@2 c5 f5!2 c5", R: "[d5@6 f5@4 f5 e5 e5@2 g4@2]/2", S: "a4@5 bb4 c5 d5",
  T: "[f5@2 g5 bb5 c6@2 e6@3 f6 e6 c6 d6@8 ~@4]/3", U: "~@4 a5 a5@2 a5", V: "~@2 f5 g5 a5@2 ~ a5",
  W: "[a6 a5 a6@2 ~@2 e5@4 d5@2 ~@2 e5@4 f5@2 bb5@2 a5@6 g5@4]/4", X: "a5 g5 f5@2", Y: "[e5@3 e5 f5@6 ~@6]/2",
})).s("gm_flute").gain(0.09)

// other · flute
const flute_3 = note(`<
  ~ A B C D E F G H I J K L M L N O A B C D E F G H I J P Q@2 R@2 S T U@2 V W X Y Z AA AB AC AD ~@4 AE AF G H I J AG
  AH@2
>`.pickRestart({
  A: "c5 a4 bb4 ~", B: "c5 a4 bb4 d5", C: "d5 c5 bb4 a4", D: "c5 d5 g4 bb4", E: "g4 d5 bb4 d5", F: "a4!2 ~ c5",
  G: "a4 bb4 ~ c5", H: "a4 bb4 d5!2", I: "c5 bb4 a4 c5", J: "d5 g4 g4@2", K: "a4@2 a4 bb4",
  L: "bb4 d5 e5 bb4 a4 f4!2 a4", M: "bb4 c5 e5@2 eb5@2 g5 a5", N: "~@4 db5 db5@2 db5", O: "c5 ~", P: "f4@4 d5@3 e5",
  Q: "[d5 ~ d5@3 c5 bb4 a4]/2", R: "[a4@3 c5@3 d4@4 f4 bb4 d5@2 bb4 c5]/2", S: "d5 f5 e5 f5 a5@4", T: "bb5 a5 f5 c5",
  U: "[a4 bb4 c5 d5@2 g4@2 g4]/2", V: "a4 bb4 c5@2", W: "d5 e5 f5 g5", X: "a5@2 bb5@2 bb5 a5 g5 e5", Y: "f5 ~",
  Z: "f4 d4 e4 c4", AA: "d4 f4 c4 e4", AB: "f4 d4 e4 f4", AC: "~@4 c5 d5@2 d5", AD: "db5 ~", AE: "~@4 f5 e5 d5!2",
  AF: "f5 d5 db5@2 ~@2 c5@2", AG: "e5 d5", AH: "[c5@3 c5 d5@6 ~@6]/2",
})).s("gm_flute").gain(0.12)

stack(flute, flute_2, flute_3)

More by Misc Cartoons