Strudelify

My Hero Academia

Yuki Hayashi

KeyG majorTempo174 bpm
0:00/0:00
// My Hero Academia — Yuki Hayashi
// 174 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5664000; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 174 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(174/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.

// other · piano
const piano = note(`<
  A@2 B@2 C@2 D@2 E F G@2 H I J@2 K L M@2 N@2 M@2 O@2 P@2 Q@2 P@2 Q@2 R@2 Q@2 R@2 Q@2 S T U V@2 W X Y Z T U AA@2 W X
  AB@2 AC@2 AD@2 AC@2 AD@2 AE@2 AF@2 AE@2 AG@2 AH@2 AI@2 AJ@2 AK@2 AL@2 AM@2 AN@2 AL@2 AN@2 AO@2 X@2 AP@4 ~ AQ AR K AS
  AT AR K AU@4 AV AW@3 AR AQ W X AX@2 AY@2 AZ@2 W X BA BB@3 W X S AX@2 BC@2 BD BE BF@2 AX@2 BG@2 BD BE BH@2 BI K BJ BK
  BL BM BJ BK BL BM BJ BK BL BM BJ BK BL BM BN BO BP BN
>`.pickRestart({
  A: "[e3@4 b3@2 e4@2 g4@2 b4@21 ~]/2", B: "[d3@2 f#3@2 b3@2 d4@2 f#4@2 b4@2 d5@19 ~]/2",
  C: "[c3@2 g3@2 c4@2 e4@2 g4@2 c5@2 e5@19 ~]/2", D: "[a2@2 e3@2 a3@8 [d3,f#3,a3]@11 ~ d2@8]/2",
  E: "e2 b2 e3 g3 b3 e4 g4 b4", F: "g4 e4 b3 g3 e3 b2 g2 e2", G: "[d2@2 a2@2 d3@27 ~]/2", H: "c2 g2 c3 e3 g3 c4 e4 g4",
  I: "e4 c4 g3 e3 c3 g2 e2 c2", J: "[[a1,a2]@8 [a3,c4,e4]@4 [d3,f#3,a3,d4]@11 ~ [d2,d3]@8]/2", K: "[d1,d2]@15 ~",
  L: "[d1,d2]!4", M: "[[e1,e2]!2 ~@5 [g1,g2]@2 [g1,g2] ~@6]/2", N: "[[c1,c2]!2 ~@5 [d1,d2]@2 [d1,d2] ~@6]/2",
  O: "[[c1,c2]!2 ~@5 [d1,d2]@2 [d1,d2] ~@4 [d1,d2]@2]/2", // C D
  P: "[[e1,e2] ~ [e1,e2]@2 e1 e2 e1 [g1,g2]@2 [g2,b2] g1 [g2,b2] g1 [g2,b2] g1 [g2,b2]]/2", // E G
  Q: "[[c2,c3] ~ [c2,c3]@2 c2 c3 c2 [d2,d3]@2 [f#3,a3] d2 [f#3,a3] d2 [f#3,a3] d2 [f#3,a3]]/2", // C D F#m
  R: "[[e1,e2] ~ [e1,e2]@3 e1 e2 [g1,g2]@2 [g2,b2] g1 [g2,b2] g1 [g2,b2] g1 [g2,b2]]/2", S: "[d1,d2]@11 ~ [d1,d2]@4",
  T: "[e1,e2]@2 [b2,e3] e2!3 [b2,e3] e2", U: "[g1,g2]@2 [d3,g3] g2!3 [d3,g3] g2",
  V: "[[a1,a2]@2 [c#3,e3,a3] a2!3 [c#3,e3] [a1,a2]@2 a2 [c#3,e3,a3] a2@2 a2 [c#3,e3,a3] a2]/2", // A C#m A
  W: "[c1,c2]@2 [g2,c3] c2!3 [g2,c3] c2", X: "[d1,d2]@2 [a2,d3] d2!3 [a2,d3] d2",
  Y: "[a1,a2]@4 [c#3,e3,a3]@2 a2@4 a2@2 [c#3,e3,a3]@2 [a1,a2] ~", Z: "~@2 [a1,a2] ~@3 [b1,b2]@4 b2@2 f#2@2 b1@2",
  AA: "[[a1,a2]@2 [c#3,e3,a3] a2!3 [c#3,e3,a3] [a1,a2]@2 a2 [c#3,e3,a3] a2!3 [c#3,e3,a3] a2]/2", // A
  AB: "[[a1,a2]@2 [c#3,e3,a3] a2!3 [c#3,e3,a3] [a1,a2]@2 a2 [e3,a3] a2 [e3,a3] a2 [e3,a3] a2]/2", // A A5
  AC: "[[e1,e2]@2 e1@2 e1@2 e1 [g1,g2]@3 g1@2 g1@2 g1@2]/2", AD: "[[c2,c3]@2 c2@2 c2@2 c2 [a1,a2]@3 a1@2 a1@2 a1@2]/2",
  AE: "[[e1,e2]@2 e2@2 [b2,e3]@2 e2 b2 e3@2 e2@2 [b2,e3]@2 [g1,g2]@4 g2@2 [d3,g3]@2 g2 d3 g3@2 g2@2 [d3,g3]@2 g2@2]/2", // E E5 G G5
  AF: "[[c2,c3]@2 c3@2 [g3,c4]@2 c3 g3 c4@2 c3@2 [g3,c4]@2 [a1,a2]@4 a2@2 [e3,a3]@2 a2 e3 a3@2 a2@2 [e3,a3]@2 a2@2]/2", // C C5 A A5
  AG: "[[c2,c3]@2 c3@2 [g3,c4]@2 c3 g3 c4@2 c3@2 [g3,c4]@2 [a1,a2]@4 a2@2 [e3,a3]@2 a2@2 a3 e3 ~ c#3 a2 e2 ~ c#2]/2", // C C5 A A5
  AH: "[[c2,c3]@2 [g3,c4]@2 c3 [g3,c4]@2 [b1,b2]@2 b2 f#3 b3 d4 b3 f#3 b2]/2", // C C5 B
  AI: "[[c2,c3] g2 c3 [d2,d3]@2 a2 d3 [e2,e3]@2 b2 e3 b2 [b1,b2] f#2 b2 f#2]/2", // C D E B
  AJ: "[[a1,a2]@2 [e3,a3]@2 a2 [e3,a3]@2 [b1,b2]@2 b2 f#3 b3 d4 b3 f#3 b2]/2", // A A5 B
  AK: "[[e1,e2]@2 [b2,e3]@2 e2 [b2,e3]@2 e2@2 b2 e3 b2 b1 f#2 b2 f#2]/2", // E E5
  AL: "[[c2,c3]@2 [g3,c4] c3!3 [g3,c4] [b1,b2]@2 b2 [f#3,b3] b2!3 [f#3,b3] b2]/2", // C C5 B B5
  AM: "[[c2,c3] g2 c3 [d2,d3]@2 a2 d3 [e2,e3]@2 b2 e3 [g1,g2]@2 d2 g2 d2]/2", // C D E G
  AN: "[[a1,a2]@2 [e3,a3] a2!3 [e3,a3] [b1,b2]@2 b2 [f#3,b3] b2!3 [f#3,b3] b2]/2", // A A5 B B5
  AO: "[c2,c3]@2 [g3,c4] c3!3 [g3,c4] c3", AP: "[[d1,d2]@61 ~@3]/4", AQ: "[d1,d2]@3 [b0,b1]@3 [b0,b1]@2",
  AR: "[c1,c2]@15 ~", AS: "[e1,e2]@15 ~", AT: "[b0,b1]@15 ~",
  AU: "[[e1,e2]@8 [f#1,f#2]@6 [g1,g2]@6 [a1,a2]@6 [b1,b2]@3 ~@3 c2@11 ~@5 d2@15 ~, ~@30 c1@13 ~@3 d1@17 ~]/4", // E F# G A B
  AV: "[e1,e2]@3 [f#1,f#2]@4 ~", AW: "[[g1,g2]@11 ~@3 [a1,a2]@13 ~@3 [b1,b2]@8 [b0,b1]@8 ~@2]/3",
  AX: "[[e1,e2]@2 [b2,e3] e2!3 [b2,e3] [b1,b2]@2 b2 [f#3,b3] b2!3 [f#3,b3] b2]/2", // E E5 B B5
  AY: "[[c1,c2]@2 [g2,c3] c2!3 [g2,c3] [d1,d2]@2 d2 [a2,d3] d2!3 [a2,d3] d2]/2", // C C5 D D5
  AZ: "[[e1,e2] e2 [b2,e3] e2 [f#1,f#2] f#2 [d3,f#3] [g1,g2]@3 [a1,a2]@3 [b1,b2]@3]/2", // E E5 F# D G A B
  BA: "[e1,e2] e2 [b2,e3] [f#1,f#2]@2 f#2 [d3,f#3] f#2", // E E5 F# D
  BB: "[[g1,g2] g2 [d3,g3] g2 [g1,g2] [g1,g2]@2 [a1,a2]@2 a2 [e3,a3] a2!3 [e3,a3] [b1,b2]@2 b2 [f#3,b3] b2!3 [f#3,b3] b2]/3", // G G5 G A A5 B B5
  BC: "[[c2,c3] g2 c3 [d2,d3]@2 a2 d3 [g1,g2]@2 d2 g2 [f#1,f#2]@3 [f#2,f#3]@2]/2", // C D G F#
  BD: "[a1,a2]@2 [e3,a3] a2!3 [e3,a3] a2", BE: "[b1,b2]@2 [f#3,b3] b2!3 [f#3,b3] b2",
  BF: "[[c2,c3] g2 c3 [c#2,c#3]@2 a2 c#3 [d2,d3]@2 a2 d3 [b1,b2]@2 f#2 [d#1,d#2]@2]/2", // C C# D B D#
  BG: "[[c2,c3] g2 c3 [d2,d3]@2 a2 [f#2,d3] [g1,g2]@2 d2 g2 [f#1,f#2]@3 [f#2,f#3]@2]/2", // C D G F#
  BH: "[c2,c3] c3 [g3,c4] c3 [g3,e4] c3 [g3,c4] c3", BI: "[d2,d3]!8", BJ: "g1 g2 g1 g2 g1 g2 g1 g2",
  BK: "a#1 a#2 a#1 a#2 a#1 a#2 a#1 a#2", BL: "d#1 d#2 d#1 d#2 d#1 d#2 d#1 d#2", BM: "f1 f2 f1 f2 f1 f2 f1 f2",
  BN: "[g1,g2]@15 ~", BO: "[g#1,g#2] [f#1,f#2]", BP: "[g1,g2]@8 [g2,g3]@3 [d2,d3]@2 [a#1,a#2]@3",
})).s("gm_piano").gain(0.3)

stack(piano)

More by Yuki Hayashi