Strudelify

himouto umaru-chan r - nimensei ura omote life

Misc Cartoons

KeyD majorTempo278 bpm
0:00/0:00
// himouto umaru-chan r - nimensei ura omote life — Misc Cartoons
// 278 bpm, 4/4, key D major. 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 46, 3/4 at bar 48, 4/4 at bar 59) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/2543766; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 100 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(278/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 · "钢琴, Acoustic Grand Piano"
const piano = note(`<
  A@2 B@2 C@2 D E F G H I J K L M N G O P Q R S T@2 U T@2 V W X Y Z AA AB AC AD AE AF AG Z AH AI AC AJ@2 AK AL AM AN
  AO@8 AP AQ AR AS AT@2 AU AV AW G AX I J K AY M N G O AZ J K BA BB BC BD BE BF BG BH BI@2 BJ@2 BK BL BM BN BO BP BQ BR
>`.pickRestart({
  A: "[a3@15 ~ a3@15 ~, a4@15 ~]/2", B: "[[d4,a4,d5]@15 ~]/2", C: "[[a4,d5,a5]@15 ~]/2", D: "[d5,f#5,a5,d6]@15 ~",
  E: "~@2 d5!2 f#5@2 g5@2", F: "[d5,f#5,a5]@3 a5@3 b5@2", G: "[c#5,e5,a5] g5 f#5 g5", H: "[b4,d5,a5]@3 a5@3 b5@2",
  I: "[a4,c#5,a5]@2 ~ a5", J: "[d4,g4,b4,d5]@2 ~ a5", K: "[d4,f#4,a4,d5]@2 ~ d5",
  L: "[b3,b4] [c#4,c#5] [d4,d5] [f#4,f#5]", M: "[f#4,a4,d5,f#5]@3 e5 [e4,a4,c#5,e5]@2 ~@2",
  N: "[d5,f#5,a5]@3 [d5,f#5,a5]@3 b5@2", O: "[d5,f#5,a5]@3 [d5,f#5,a5,d6]@3 c#6@2", P: "[d5,f#5,a5,d6]@2 ~ d5",
  Q: "[b3,d4,g4,b4] c#5 d5 f#5", R: "[e4,a4,c#5,e5]@11 ~ [d4,a4,d5]@4", S: "[d4,f#4,a4,d5] a4 f#5 a4",
  T: "d5 a4 f#5 a4", U: "d5 f#5 ~ f#5 e5 ~ d5 ~", V: "[d4,g4,d5]@2 ~ [c#4,f#4,c#5]@2 ~ [d4,g4,d5]@2",
  W: "[e4,a4,e5] ~@3", X: "d4@2 ~ d4@2 ~ c#4@2", Y: "d4@2 ~@4 d4 e4", Z: "f#4@2 ~ e4@2 ~ d4@2", AA: "e4@2 a6 ~ a6 ~@3",
  AB: "g4@2 ~ g4@2 ~ f#4@2", AC: "g4 f#4 e4 f#4", AD: "e4@2 ~ e4@2 ~ f#4@2", AE: "f#4@4 ~@2 b3 c#4",
  AF: "d4@3 d4@3 e4@2", AG: "d4@4 ~@2 d4 e4", AH: "e4@4 ~@2 e4 f#4", AI: "g4@3 g4@3 f#4@2",
  AJ: "[[b3,d4]@4 ~@4 [c#4,g4,a4]@4 ~@4 [f#3,d4]@2 ~@6 e6 d#6 e6 d#6 ~@4, ~@7 a3@2 ~@7]/2", // Bm A7 D
  AK: "[b4,d5,f#5]@8 f#5@3 f#5@2 f#5@3", AL: "[a#4,c#5,g5]@5 f#5@5 e5@5 ~",
  AM: "[a4,d5,f#5]@2 g5@3 f#5@3 g5@2 f#5@3 d5@3", AN: "[e4,g#4,b4]@10 b4@5 ~",
  AO: "[[g4,b4,e5]@7 e5@3 e5@5 [a4,e5]@5 ~ d5@5 [e4,e5]@5 [d5,f#5]@5 ~@3 g5@3 f#5@3 g5@2 [a4,d5,f#5]@5 ~@6 d5@2 e5@3 [b4,d5,f#5]@8 f#5@3 f#5@5 [a#4,d5,g5]@5 f#5@5 ~ e5@5 [a4,d5,f#5]@3 g5@2 f#5@3 g5@2 f#5@3 c#6@3 [e5,g#5,b5]@5 b5@6 a5@6]/8", // Em A5 E D Bm Gm D E
  AP: "[b4,d5,g5]@3 g5@3 g5@2", AQ: "a5 g5 f#5 g5", AR: "[a4,d5,a5]@3 a4 a4@2 [a4,a5]@2, ~@3 f#5@3 ~@2",
  AS: "[b4,d5,f#5,b5] ~ [b4,d5,f#5,b5] a5", AT: "[[g4,c5,e5,g5]@2 ~ [g4,c5,e5,g5]@2 g5 f#5 g5]/2",
  AU: "[d5,e5] d5, a4@15 ~", AV: "[e4,a4,c#5] ~ d5!2 f#5@2 g5@2", AW: "[d5,f#5,a5]@3 [d5,f#5,a5]@2 a5 b5@2",
  AX: "d5@2 d5!2 d5@2 b5@2, [b4,a5]@3 [b4,a5]@3 ~@2", AY: "[b3,e4,g#4,b4] [c#4,c#5] [d4,d5] [f#4,f#5]",
  AZ: "[d5,f#5,a5,d6]@2 ~ a5", BA: "[e4,g#4,b4] c#5 [e4,g#4,d5] f#5", BB: "[a4,c#5,f#5]@2 [e4,a4,c#5,e5] d5",
  BC: "[d4,g4,b4,d5]@11 ~ d5@4", BD: "[e4,a4,c#5] d5 e5 b5", BE: "[c#5,f#5,a5]@3 [c#5,f#5]@3 [c#5,f#5,a5]@2",
  BF: "a5@2 a5 d5, [d5,f5,d6]@11 ~@5", BG: "f#5 g5 f#5 g5, ~ [g4,b4,d5]", BH: "[c#5,e5,a5] d5 e5@2",
  BI: "[d5@2 ~@2 d5 c#5 d5 e5, [d4,f#4,b4]@19 ~@13]/2", BJ: "[f#5@4 g5@4 f#5@4 d5@11 ~@9]/2",
  BK: "[f#4,a4,d5,f#5] [g4,b4,d5,g5]", BL: "[g#4,b4,e5,g#5] [a4,c#5,e5,a5]", BM: "[a#4,d5,f5,a#5] [b4,d#5,f#5,b5]",
  BN: "g5!2 [c#5,e5,g#5,c#6]@2, [c5,e5,c6] ~", BO: "[d5,f5,a5,d6]@8 d5 d6 ~ d5 d6 d5 ~ d6", BP: "d5 d6 ~ d5 d6@2 ~@10",
  BQ: "[d5,d6]@2 ~ c5 c5@2 [c#5,c#6] ~, ~@3 c6@3 ~@2", // D C#
  BR: "[d5,d6]@2 ~@4 d6 ~ [a5,b5,c6] [b4,c5,d5,e5,f5,g5] [e4,f4,g4,a4] ~@5, ~@10 d4@3 ~@3", // D Am Cmaj7 Fmaj7
})).s("gm_piano").gain(0.4)

stack(piano)

More by Misc Cartoons