Strudelify

Sycamore's Theme

Junichi Masuda

KeyB♭ majorTempo185 bpm
0:00/0:00
// Sycamore's Theme — Junichi Masuda
// 185 bpm, 3/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 1 "Piano" named as a piano, played on piano (its accordion patch is not one); ch 2 "Piano" named as a piano, played on piano (its accordion patch is not one); ch 3 "Piano" named as a piano, played on piano (its bandoneon patch is not one); ch 4 "Piano" named as a piano, played on piano (its bandoneon patch is not one)
// note: duplicate parts dropped: ch 3 "Piano" piano (copy of ch 1 "Piano" piano); ch 2 "Piano" piano (copy of ch 4 "Piano" piano)
// note: Transcription provider: pdmx. https://musescore.com/score/6125350; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 94 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(185/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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@4 C D C E C F C G C F H G I J C D K L G E C F C G C F H G I J C D K F I G C F C G C F H G I M D C N G O P Q ~ Q
  ~ Q ~ H G I J C D K R G S T U T V T U W V X Y Z T AA AB AC@3 AD@3
>`.pickRestart({
  A: "[~@11 g2@20 ~]/2", B: "[~ f2@20 ~ bb2@20 ~ a2@20 ~]/4", C: "g2@5 [g3,bb3,d4]@3 ~@3 [g3,bb3,d4]@3 ~@2",
  D: "d3@5 [g3,bb3,d4]@3 ~@3 [g3,bb3,d4]@3 ~@2", E: "d3@5 bb2@5 ~ a2@5", F: "f2@5 [f3,a3,c4]@3 ~@3 [f3,a3,c4]@3 ~@2",
  G: "d3@5 [gb3,a3,c4,d4]@3 ~@3 [gb3,a3,c4,d4]@3 ~@2", H: "bb2@5 [f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@3 ~@2",
  I: "c3@5 [eb3,g3,c4]@3 ~@3 [eb3,g3,c4]@3 ~@2", J: "eb2@5 [eb3,g3,c4]@3 ~@3 [eb3,g3,c4]@3 ~@2",
  K: "eb2@5 [eb3,g3,bb3]@3 ~@3 [eb3,g3,bb3]@3 ~@2", L: "db3@5 [e3,g3,bb3,db4]@3 ~@3 [e3,g3,bb3,db4]@3 ~@2",
  M: "g2@5 [eb3,g3,c4]@3 ~@3 [eb3,g3,c4]@3 ~@2", N: "c3@5 [eb3,gb3,a3,c4]@3 ~@3 [eb3,gb3,a3,c4]@3 ~@2",
  O: "g2@5 bb2@5 ~ d3@5", P: "[g2,g3,bb3,d4]@3 ~@13", Q: "g2@5 [g3,bb3,d4]@3 ~@8",
  R: "c3@5 [f3,a3,c4]@3 ~@3 [f3,a3,c4]@3 ~@2", S: "gb2@5 b2@5 ~ d3@5", T: "e2@5 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@3 ~@2",
  U: "d3@5 [gb3,a3,d4]@3 ~@3 [gb3,a3,d4]@3 ~@2", V: "b2@5 [gb3,a3,b3,eb4]@3 ~@3 [gb3,a3,b3,eb4]@3 ~@2",
  W: "g2@5 [g3,b3,d4]@3 ~@3 [g3,b3,d4]@3 ~@2", X: "a2@5 [e3,a3,c4]@3 ~@3 [e3,a3,c4]@3 ~@2",
  Y: "e2@5 [e3,a3,c4]@3 ~@3 [e3,a3,c4]@3 ~@2", Z: "b2@5 [e3,g3,b3]@3 ~@3 [e3,g3,b3]@3 ~@2",
  AA: "a2@5 [eb3,gb3,a3,c4]@3 ~@3 [eb3,gb3,a3,c4]@3 ~@2", AB: "b2@5 [gb3,a3,b3,eb4]@3 ~@4 [gb3,a3,b3,eb4]@4",
  AC: "[~@3 e2@9 g2@12 b2@23 ~]/3", AD: "[~ [e2,e3,g3,b3]@47]/3",
})).s("gm_piano").gain(0.3).pan(1)

stack(piano)

More by Junichi Masuda