Strudelify

Ue from Haikyuu

Yuki Hayashi

KeyF majorTempo166 bpm
0:00/0:00
// Ue from Haikyuu — Yuki Hayashi
// 166 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6323582; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 179 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(166/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
const piano = note(`<
  A@2 B@2 A@2 C@4 B@2 A@2 D@2 A@2 B@2 E F G@2 H@3 I@2 J K@2 L@3 I@2 J M@2 N@2 O P Q@2 R S T@2 U@2 V W G@2 X Y Z AA AB AC
  AD@2 AE AF AG AH AE AI AJ AK AE AF AL AM AN AO AP@2 AN AO AQ@2 AR AS@2 AT AU AV AW AX AY AS@2 AZ BA BB BC BD BE@2 BF@2
  BG BH BI BJ BK BL BI BJ BM BN BO BP BQ@2 BO BP BR@2 BS BT AG AH BU BV BW BX BU BY BZ AM CA CB CC@2 CA CB AQ@2 CD@2
  CE@2 CF@2 CG@4 CH@2 CI CJ CK CL CM@2 CN CO CP S CQ CR BW BX BU CS CA CB CT@2 CU CV CW@2 CX
>`.pickRestart({
  A: "[c5@2 e4 f4@2 ~@4 d4 e4 f4@2 g4 c4 f4, [d3,a3]@3 [d3,a3]@3 [d3,a3]@2 [a2,e3]@3 [a2,e3]@3 [a2,e3]@2, ~@5 g4@2 c5@2 ~@7]/2", // D5 A5
  B: "[c5@2 e4 f4@2 ~@4 c5@2 f4 c5 bb4 a4 g4, [bb2,f3]@3 [bb2,f3]@3 [bb2,f3]@2 [f2,c3]@3 [f2,c3]@3 [f2,c3]@2, ~@5 g4@2 c5@2 ~@7]/2", // Bb5 F5
  C: "[c5@2 e4 f4@2 g4@2 ~@4 f4 f5 e5 ~@2 c5@2 e4 f4@2 ~@4 d4 e4 f4@2 g4 c4 f4, [bb1,bb2]@7 c5@2 c5@2 ~@10 g4@2 c5@2 ~@7, ~@8 [c2,c3]@2 [c2,c3]@2 [c2,c3]@3 [d3,a3]@4 [d3,a3]@3 [d3,a3]@2 [a2,e3]@3 [a2,e3]@3 [a2,e3]@2]/4", // Bb C D5 A5
  D: "[c5@2 e4 f4@2 ~@4 c5@2 f4 f5 e5 [f2,c3]@2, [bb2,f3]@3 [bb2,f3]@3 [bb2,f3]@2 [f2,c3]@3 [f2,c3]@3 ~@2, ~@5 g4@2 c5@2 ~@7]/2", // F5 Bb5 F5
  E: "~ d3 g3 d3@2 d3 g3 d3, [g1,g2]@15 ~", F: "~ f3 a3 f3@2 f3 a3 f3, [a1,a2]@15 ~",
  G: "~ f3 bb3 f3@2 f3 bb3 f3, [bb1,bb2]@15 ~", // Bb
  H: "[c2 g2 c3 g2 [g3,c4]@3 [c2,c3,g3,c4]@2 [c2,c3,g3,c4] [c2,c3,g3,c4]@2 ~@3 [d2,d3]@2 a2 d3 f3@2 a3 f3 d3, ~@8 [c2,c3]@4 ~@18 [f3,a3,e4]@9 ~@9]/3", // C5 D C Fmaj7
  I: "[[d2,d3] a2 d3 f3@2 [c2,c3,e3,c4]@2 [bb1,bb2]@2 f2 bb2 f3@2 bb3 f3 d3, [a3,d4] ~@3, f3@3 ~@4 [d3,bb3]@3 ~@6]/2", // D C Bb D5 Gm
  J: "[d3,bb3]@2 d3@2 f3@2 bb3@9 ~, [bb1,bb2] ~", K: "c3!2 f3 a3@2 c3 f3 a3, f2@15 ~",
  L: "[c3 ~ e3 g3@2 e3 c3 [c2,c3]@2 g2 c3 g3 ~ [db2,db3,db4] ~ [d2,d3]@2 a2 d3 f3@2 a3 f3 d3, c2@11 ~@37, ~@2 c3@9 ~@3 [g3,e4]@8 ~@8 [f3,a3,e4]@9 ~@9]/3", // C Db D C Fmaj7
  M: "c3!2 ~ a3@2 c3 f3 a3, f2@15 ~, f3 f3@2 ~",
  N: "[c3 ~ e3 g3@2 e3 c3 [c2,c3,g3,e4]@2 [c2,c3,g3,e4]!2 ~@2 g2 c3 g2, c2@11 ~@21, ~@2 c3@9 ~@21]/2", // C
  O: "~ f3 bb3 c4@2 bb3 f3@2, [bb1,bb2]@15 ~", P: "~ f3 bb3 c4@2 f3 bb3 bb2, [bb1,bb2]@15 ~",
  Q: "[~ e3 a3 c4@2 e3 a3 [f3,d4]@2 a2 e3 f3@2 e3 d3 a2, [a1,a2]@11 ~@3 d2@17 ~, ~@7 d3@7 ~@2]/2", // Dm A
  R: "~ d3 a3 bb3@2 a3 bb3@2, [g1,g2]@15 ~", S: "a2 ~ e3 a3@2 e3 a3@2, a1@15 ~, ~@2 a2@13 ~",
  T: "[[d2,d3] a2 d3 a2@2 d3 ~ [a2,e3,a3,c4]@2 a2 e3 c4@2 e3 c4@2, [a3,f4]@11 ~@21]/2", // D Am Dm
  U: "[g1,g2] ~ d3 g3@2 d3 g3@2, ~@2 [g1,g2]@13 ~", V: "[a1,a2] e3 a3 c4@2 a3 c4 e3, ~@2 [a1,a2]@13 ~",
  W: "~ a3 d4 f4@2 e4 c4 a3, [d2,d3]@15 ~", X: "~ g3 b3 d4@2 b3 g3 ~, [b1,b2]@15 ~",
  Y: "~ g3 b3 g3@2 g3 b3 g3, [b1,b2]@15 ~", Z: "c2 g2 c3 g3@2 g2 c3 g2, ~@3 [d4,f4]@3 d4@2",
  AA: "c2 g2 c3 g3@2 g2 c3 g2, [g3,c4,e4] ~@3", AB: "c2!2 g2 c3@2 g2 c3 g2", AC: "c2 c3 c2 c3 c2 c3 c2 c3",
  AD: "[[e4,c5]@2 e4 f4@2 g4@2 ~ [c2,c3]@2 e4 ~@3 [c2,c3]@2, [c2,c3]@7 [e4,c5]@3 [c2,c3]@2 [c2,c3]@2 ~@2, ~@11 f4@2 [e4,c5]@3]/2", // C
  AE: "~ f3 a3 bb3@2 a3 bb3 f3, [bb1,bb2]@15 ~", AF: "~ c3 f3 a3@2 f3 a3 c3, [a1,a2]@15 ~",
  AG: "[bb1,bb2,f3,c4]@3 [c2,c3]@2 g2 c3 ~, ~@3 [g3,c4]@3 ~@2", AH: "[f1,f2,f3,c4]@2 ~ [a1,a2]@3 a1 a2",
  AI: "~ g3!2 c4@2 g3 c4@2, [c2,c3]@15 ~", AJ: "~ a3 d4 a3@2 a3 d4 a3, [d2,d3]@15 ~",
  AK: "~ e3 e4 a3@2 a3 e4 a3, [a1,a2]@15 ~", AL: "[g1,g2] g1 g2 [a1,a2]@2 a1 [a2,e3,a3,e4]@2, [c3,g3]@3 [e3,a3]@3 ~@2",
  AM: "[d2,d3,a3]@2 ~ c2@2 c2 c3 c2, ~@3 [c3,g3]@3 ~@2", AN: "~ bb2 d3 g3@2 d3 g3@2, [g1,g2]@15 ~",
  AO: "~ c3 e3 a3@2 e3 a3@2, [a1,a2]@15 ~", // A
  AP: "[~ f3 bb3 f3 [f3,bb3,f4] e4 f4 [a1,a2,g4]@2 e3 a3 [e3,e4]@2 e3 a3 e3, [bb1,bb2]@4 ~@3 [a3,c4] ~ f4@2 ~@2 f4@2 ~]/2", // Bb5 A7 E Bb Am
  AQ: "[~ f3 bb3 f3 [f3,bb3,f4]@3 [c2,c3,c4,f4]@2 [c2,c4,f4] [c3,c4,f4] [c4,e4]@2 c2 c1@2, [bb1,bb2]@4 ~@7 [c2,c3] ~@4]/2", // Bb5 F5 C Bb C
  AR: "[d1,d2] a2 f3 a2@2 a2 d3@2, [a3,f4] ~@3", // D Dm
  AS: "[[f2,f3] c3 f3 ~@2 f3 c3@2 [c2,c3] g2 c3 g2@2 c3 g2@2, ~@3 c3@2 ~@11, ~@8 [g4,e5]@4 [e4,c5]@11 ~@9]/2", // F C
  AT: "[g1,g2]@2 d2 [g1,g2]@2 g2 d2@2, ~@3 [b3,g4]@3 ~@2", // G Em
  AU: "[d2,d3] a2 ~@3 a2 d3 a2, ~@2 d3@3 ~@3, ~@3 [a3,d4]@3 ~@2", // D D5
  AV: "[f2,f3] c3 ~@3 c3 f3 c3, ~@2 f3@3 ~@3, ~@3 [c4,f4]@3 ~@2", // F F5
  AW: "[bb1,bb2] f2 ~@3 f2 bb2 f2, ~@2 bb2@3 ~@3, ~@3 [f3,bb3]@3 ~@2", // Bb Bb5
  AX: "[c2,c3] g2 ~@3 g2 c3 g2, ~@2 c3@3 ~@3, ~@3 [c4,g4]@3 ~@2", AY: "[d2,d3] a2 f3 a2@2 a2 d3@2",
  AZ: "[g1,g2,g3,b3]@2 d2 g2@2 g2 d2@2, ~@3 [g3,b3,g4]@3 ~@2", BA: "[d2,d3] a2 d3 a2@2 d3 a2 d3, [a3,d4]@11 ~@5",
  BB: "[f2,f3] c3 f3 c3@2 f3 c3 f3, [c4,f4]@11 ~@5", BC: "[bb1,bb2] f2 bb2 f2@2 bb2 f2 bb2, f4@3 [f4,bb4]@3 ~@2",
  BD: "[c2,c3]@2 c2 c3 c2 c3 c2 c3, [g3,c4]@3 [c4,g4]@3 ~@2", BE: "[[bb3,bb4]@15 ~ [c4,c5]@15 ~, [c1,c2]@15 ~]/2",
  BF: "[[bb1,bb2,f3,bb3]@11 ~@3 [a1,a2,f3,a3]@17 ~]/2", BG: "[g1,g2,d3,g3]@3 [c2,c3,g3,c4]@4 ~",
  BH: "[f1,f2,f3,c4]@4 [f2,f3,a3,f4]@3 ~", BI: "[bb1,bb2,f3,bb3]@15 ~", BJ: "[c2,c3,g3,c4]@15 ~",
  BK: "[d2,d3,a3,f4]@15 ~", BL: "[a1,a2,f3,c4]@15 ~", BM: "[g1,g2,c3,g3]@3 [a1,a2,e3,a3]@3 [a2,e3,a3,e4]@2",
  BN: "[d2,d3,a3]@4 ~@2 [c2,c3]@9 ~, ~@3 g3@3 ~@2", BO: "[g1,g2]!4", BP: "[a1,a2]!4",
  BQ: "[[bb1,bb2]@2 [bb1,bb2]@2 [f4,bb4,f5] e5 f5 [a4,c5] ~@6 [a1,a2]@2, ~@2 [bb1,bb2]!2 [a1,a2]!3 ~, ~@7 g5@2 f5@2 e5@2 f5@2 ~]/2", // Bb Bb5 Am A Bb A
  BR: "[[bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 ~@3 [c5,f5]!2 ~ [c2,c3]@2 [c2,c3]@2, ~@4 [f4,bb4,f5]@3 [c5,f5]@2 ~@2 [c5,e5]@2 ~@3, ~@3 [bb1,bb2] [c2,c3]!2 ~@2]/2", // Bb F5 C Bb5 F5 C Bb C
  BS: "bb1 [bb2,f3] [bb1,a3] bb2 bb1 [bb2,a3] bb1 bb2, ~@3 bb3@2 ~ bb3@2", // Bb5 Bbmaj7
  BT: "a1 [a2,c3] [a1,f3] a2 a1 [a2,f3] a1 a2, ~@3 a3@2 ~ a3@2", // Am Dm
  BU: "bb1 [bb2,f3] [bb1,a3] bb2 bb1 [bb2,a3] [bb1,bb3] [bb2,f3], ~@3 bb3@2 ~@3", // Bb5 Bbmaj7 Bb Bb5
  BV: "c2 [c3,g3] [c2,a3] c3 c2 [c3,g3] c2 c3, ~@3 c4@2 ~ c4@2", // C5 F C5
  BW: "d2 [d3,a3] [d2,d4] d3 d2 [d3,a3] [d2,d4] [d3,a3], ~@3 a3@2 ~@3", // D5 D D5 D D5
  BX: "a1 [a2,e3] [a1,a3] a2 a1 [a2,e3] [a1,a3] [a2,e3], ~@3 e3@2 ~@3", // A5 A A5 A A5
  BY: "c2 c3 [c2,f3] c3 c2 [c3,f3] [c2,a3] c3, ~@3 a3@2 ~@3", // F5 F
  BZ: "[g1,g2,c3,g3]@3 [a1,a2]@2 a1 [a2,e3,a3,e4]@2, ~@3 [e3,a3]@3 ~@2", // C5 A A5
  CA: "g1 [g2,bb2] [g1,d3] g2 g1 [g2,d3] g1 g2, ~@3 g3@2 ~ g3@2", // Gm G5
  CB: "a1 [a2,c3] [a1,e3] a2 a1 [a2,e3] a1 a2, ~@3 a3@2 ~ a3@2", // Am A5
  CC: "[bb1 [bb2,f3] [bb1,bb3] [bb2,f3] [f3,bb3,f4] e4 f4 [a1,a2,g4]@2 e3 a3 [e3,e4]@2 e3 a3 e3, ~@7 [a3,c4] ~ f4@2 ~@2 f4@2 ~]/2", // Bb5 Bb Bb5 A7 E Am
  CD: "[[c5,a5]!2 [bb1,bb2,c5,g5]@2 [bb1,bb2]@2 [bb1,bb2] [c5,g5]@2 [c5,g5] [c2,c3,c5,f5]@2 [c2,c3]@2 [c2,c3]@2, [bb1,bb2]@2 ~@2 [c5,a5] ~@2 [c2,c3]@3 ~@2 [c5,g5] ~@3]/2", // F C7 Bb C5 F5 C Bb F …
  CE: "[~ [c5,a5] [c5,f5]@2 [c5,g5]@2 c5 [c5,g5]@2 [f5,c6] ~@2 [f1,f2]@2 [f1,f2]@2, [bb1,bb2]@4 [c2,c3]@3 [f1,f2]@3 [f1,f2]@2 ~@4, ~@22 [f5,a5]@9 ~]/2", // F F5 C5 F5 F Bb C F
  CF: "[[c5,a5]!2 [bb1,bb2,c5,g5]@2 [bb1,bb2]@2 ~@3 [c5,g5] [c2,c3,c5,f5]@2 [c2,c3]@2 [c2,c3]@2, [bb1,bb2]@2 ~@2 [c5,a5] ~ [bb1,bb2]@2 [c2,c3]@2 ~@6, ~@7 [c5,g5]@2 ~@3 [c5,g5] ~@3]/2", // F C7 Bb C5 F5 C Bb F …
  CG: "[[f1,f2]@2 [f1,f2]@2 ~ [f5,d6] [f5,e6] ~@10 [c5,a5] [bb1,bb2,c5,g5]@2 [bb1,bb2]@2 [bb1,bb2] [c5,g5]@2 [c5,g5] [c2,c3,c5,f5]@2 [c2,c3]@2 [c2,c3]@2, [g5,e6]@4 [f1,f2]@2 [f1,f2]@2 [f1,f2]@2 [f1,f2]@2 [f1,f2]@2 [f1,f2]@2 [bb1,bb2]@2 ~@5 [c2,c3]@3 ~@6, ~@7 [f5,f6]@2 a5@2 [bb4,g5]@2 [c5,a5]@2 [c5,a5]@2 ~@3 [c5,a5] ~@7 [c5,g5] ~@3]/4", // F Dm Fmaj7 F C7 Bb C5 F5 …
  CH: "[[c5,f5]!2 [c5,e5]@2 [g4,f5] g5 ~ [c5,g5]@2 [f5,c6] ~@2 [f1,f2]@2 [f1,f2]@2, [bb1,bb2]@4 [c2,c3]@3 [f1,f2]@3 [f1,f2]@2 ~@4, ~@22 [f5,a5]@9 ~]/2", // F5 C G7 C5 F5 F Bb C …
  CI: "[bb1,bb2,c5,a5]@2 [bb1,bb2,c5,g5]@2 [c5,a5] [c5,bb5] ~ [e5,c6], ~@2 [bb1,bb2]!2", // F C7 F C7 C Bb
  CJ: "~ [a4,f5] ~ [g4,e5] ~ [c5,g5] [c2,c3,c5,e5]@2, [c2,c3]!3 ~", // Dm C C5 C
  CK: "[f1,f2]@2 ~ [c5,f5] ~ [c5,g5] ~ [c5,a5], [c5,e5]@3 ~@5, ~ [f1,f2]!3", // F F5 C5 F C F
  CL: "~ a5 ~ g5 ~ a5 [f1,f2]@2, [f1,f2]@2 [f1,f2]@2 [f1,f2]@2 bb5 ~", // F
  CM: "[~ a3 d4 a3 ~@5 e3 a3 e3 c4@4, [d2,d3]@11 ~@3 [a1,a2]@17 ~, ~ f4 ~@2]/2", // D A
  CN: "~ f3 a3 bb3@2 f3 bb3@2, [bb1,bb2]@15 ~", CO: "~ c3 ~ a3@3 [e2,c3,e3]@2, f2@11 ~@5, f3@4 f3@7 ~@5",
  CP: "[d2,d3] a2 d3@3 a2 d3@2", CQ: "~ f3 bb3@3 f3 bb3@2, [bb1,bb2]@15 ~", CR: "~ e3 a3@3 e3 a3@2, [a1,a2]@15 ~",
  CS: "f1 [f2,a3] [f1,c4] f2 f1 [f2,e4] f1 f2, ~@3 f4@2 ~ f4@2", // F F5 Fmaj7
  CT: "bb1 [bb2,f3] [bb1,bb3] bb2 bb1 [bb2,f3] [bb1,bb3] [bb2,f3], ~@3 f3@2 ~@3", // Bb5 Bb Bb5 Bb Bb5
  CU: "c2 [c3,g3] [c2,c4] c3 c2 [c3,g3] [c2,c4] [c3,g3], ~@3 g3@2 ~@3", CV: "[c2,c3]@2 [c2,c3] [c2,c3]@2 c2 c3 c2",
  CW: "[[e4,c5]@2 e4 f4@2 g4@2 [e4,c5]@3 e4 f4@2 g4@2 ~, [d1,d2]@15 ~]/2", CX: "[d3,f3,a3,d4] ~, [d1,d2]@15 ~",
})).s("gm_piano").gain(0.3)

// other · cello · "Violoncello"
const cello = note(`<
  ~@37 A@2 B C D E@2 F@2 ~@3 D E@2 G H ~ I J K L@2 M N ~@2 O P Q R O S T P O P U V W P O P W P O S ~@17 X Y@2 Z@2 AA@2
  AB@2 Y@2 AC@2 AD@2 AE@2 AD@2 AF X Y@2 Z@2 AA@2 AB@2 Y@2 AC@2 AD@2 AE@2 AD@2 AG@2 AH@2 AI AJ AH@2 AK@2 AL AM AN@4 AO
  ~@8 AP Y@2 AQ@2 T N AR@2 AS ~@4
>`.pickRestart({
  A: "[~@4 a3!2 bb3 c4@4 f3@3 c4@2]/2", B: "f4@3 e4@3 c4@2", C: "g3 ~", D: "~@2 a3 bb3",
  E: "[c4@4 f3@3 f3@3 ~@4 a3 bb3]/2", F: "[c4@4 f3@2 g3 f3@3 ~@6]/2", G: "c4 g3", H: "f3 ~@3", I: "bb3@3 c4@3 d4@2",
  J: "b3", K: "b3@3 g3@3 b3@2", L: "[c4@7 c4]/2", M: "g3@3 f3", N: "e3", O: "bb2", P: "a2", Q: "bb2@3 c3@3 ~@2",
  R: "f2@2 ~ a2@5", S: "c3", T: "d3", U: "g2@3 a2@3 ~@2", V: "d3@3 c3@3 ~@2", W: "g2", X: "~@5 f3 a3 c4",
  Y: "[e4@6 f4 c4@5 f3@2 c4@2]/2", Z: "[c4 bb3@2 a3@2 g3@2 bb3@2 a3@2 g3@3 c4@2]/2",
  AA: "[e4@6 f4 g4@3 f4@2 e4@2 f4@2]/2", AB: "[f4@4 f4 e4 c4 a3@4 g3 a3 f3 a3 c4]/2",
  AC: "[c4 bb3@2 a3@2 e4@2 d4@4 e4@2 f4@2 c4]/2", AD: "[a4@6 bb4 g4@3 f4@2 e4@2 f4@2]/2", AE: "[f4@14 ~ c4]/2",
  AF: "f4", AG: "f4/2", AH: "[a3!2 g3@2 a3 d3 ~ g3@2 g3 f3@2 g3 c3 ~@2]/2", AI: "f3!2 e3@2 f3 g3 ~ g3",
  AJ: "~ c4 ~ a3 ~ a3 g3 ~", AK: "[e3@3 f3 ~@2 f3@6 ~@4]/2", AL: "~ f4", AM: "e4 c4",
  AN: "[c4@5 a3 bb3 c4@3 d4 c4 ~ bb3 ~ a3@5 ~ f3 g3 a3@3 bb3 g3 ~ e3@3]/4", AO: "e3@3 f3 ~ f3@3", AP: "~@4 e3 f3 a3 c4",
  AQ: "[c4 bb3@2 a3@3 g3 f3@5 e3@4]/2", AR: "f3/2", AS: "c4",
})).s("gm_cello").gain(0.3)

stack(piano, cello)

More by Yuki Hayashi