Strudelify

Kass' Theme for Nintendo Labo

Yasuaki Iwata Nintendo

KeyA minorTempo150 bpm
0:00/0:00
// Kass' Theme for Nintendo Labo — Yasuaki Iwata Nintendo
// 150 bpm, 3/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5077377; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 50 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · accordion · "Acc."
const accordion = note(`<
  ~ A B C D E F G@2 H@2 I J K L M N O P Q R S T U V W X Y Z AA@2 AB AC O@2 AD AE AA AD AF AG AH AI AJ AK AL AB P AM AN
>`.pickRestart({
  A: "b2@5 [d3,g#3]@3 ~@3 [d3,g#3]@3 ~@2", B: "e2@5 [e3,g#3]@3 ~@3 [e3,g#3]@3 ~@2",
  C: "a2@5 [e3,a3]@3 ~@3 [e3,a3]@3 ~@2", D: "a2@5 [c#3,a3]@3 ~@3 [c#3,a3]@3 ~@2", E: "d3@5 [f3,a3]@3 ~@3 [f3,a3]@3 ~@2",
  F: "g2@5 [g3,b3]@3 ~@3 [g3,b3]@3 ~@2", G: "c3@5 [g3,c4]@3 ~@3 [g3,c4]@3 ~@2",
  H: "a#2@5 [f3,a#3]@3 ~@3 [f3,a#3]@3 ~@2", I: "a2@5 [a3,c4]@3 ~@3 [a3,c4]@3 ~@2",
  J: "g2@5 [a3,c4]@3 ~@3 [a3,c4]@3 ~@2", K: "f2@5 [d#3,a3]@3 ~@3 [d#3,a3]@3 ~@2", L: "e2@5 ~@11",
  M: "a2@3 ~@2 e3@3 ~@3 c3@3 ~@2", N: "a2@5 ~@11", O: "a2@5 [c#3,a3]@11", P: "a2@5 [e3,a3]@11", Q: "d3@5 [f3,a3]@11",
  R: "d3@5 ~@6 c3@5, ~@5 [f3,a3]@11", S: "b2@5 [g3,b3]@11", T: "g2@5 [g3,b3]@11", U: "c3@5 [g3,c4]@11",
  V: "c3@5 d3@5 ~ e3@5", W: "f3@5 [a3,c4]@11", X: "e3@5 [g3,c4]@11", Y: "g#2@5 [g#3,b3]@11", Z: "a2@5 [c3,a3]@11",
  AA: "f2@5 [c3,a3]@11", AB: "e2@5 [e3,g#3]@11", AC: "e2@5 f#2@5 ~ g#2@5", AD: "g2@5 [d3,b3]@11", AE: "g2@5 [e3,b3]@11",
  AF: "e3@5 [g3,b3]@11", AG: "a2@5 [c#3,e3]@11", AH: "b2@5 ~@6 a2@5, ~@5 [d3,g#3]@11",
  AI: "g#2@5 ~@6 g#2@5, ~@5 [e3,g#3]@11", AJ: "a2@5 ~@6 g#2@5, ~@5 [e3,a3]@11", AK: "g2@5 ~@6 f#2@5, ~@5 [e3,g3]@11",
  AL: "f2@5 [f3,a3]@11", AM: "a2@5 [f#3,a3]@11", AN: "a2@5 [e3,c4]@11",
})).s("gm_accordion").gain(0.3)

stack(accordion)