Strudelify

santa claus is coming to town

SATOSHI GOGO

KeyF majorTempo120 bpm
0:00/0:00
// santa claus is coming to town — SATOSHI GOGO
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5982807; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 32 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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 · trombone
const trombone = note("<A B@3 C ~@2 D E B@3 C ~@2 F G H@2 I J K L@3 B@3 M@4>".pickRestart({
  A: "~ f3", B: "f3 ~ f3@2", C: "f3 ~@3", D: "~ e3", E: "e3 ~ f3@2", F: "~ c3!3", G: "~ eb3",
  H: "[eb3 ~ f3 f3@2 ~ eb3@2]/2", I: "eb3 ~ f3!2", J: "~ g3", K: "g3 ~ g3@2",
  L: "[g3@2 g3@8 g3@2 ~@2 ab3@3 ~@3 f3@4]/3", M: "[f3 f3@2 d3@2 d3@2 e3@2 ~@3 c5 ~@3, ~@9 c4@4 ~@3]/4",
})).s("gm_trombone").gain(0.5)

// other · trombone
const trombone_2 = note("<A B C B D@2 ~ A E B C B D@2 ~ F G H@2 I J K L@3 B C B M@4>".pickRestart({
  A: "~ c3", B: "eb3 ~ d3@2", C: "db3 ~ c3@2", D: "[db3 f3@2 d3@2 d3@2 ~]/2", E: "c3 ~ c3@2", F: "~ a2!3", G: "~ a2",
  H: "[a2 ~ d3 d3@2 ~ a2@2]/2", I: "a2 ~ d3!2", J: "~ f3", K: "f3 ~ e3@2", L: "[e3@2 f3@8 e3@2 ~@2 e3@3 ~@3 c3@4]/3",
  M: "[db3 f3@2 d3@2 d3@2 c3@2 ~@3 c4 ~@3, ~@9 c3@4 ~@3]/4",
})).s("gm_trombone").gain(0.5)

// other · trombone
const trombone_3 = note("<A B C B D@4 C B C B E@3 F G@4 H@5 B C B I@4>".pickRestart({
  A: "~ f3 a3@2", B: "a3 bb2 bb3@2", C: "bb3 f3 a3@2", D: "[bb3 c4@2 a3@2 bb3@2 c3@2 f2 c3 f3@2 c3 bb3@2]/4",
  E: "[bb3 c4@2 a3@2 bb3@2 c3@2 f2 c3 f3]/3", F: "a3 f3!3", G: "[~ f3@4 bb3@4 f3@4 bb3@3]/4",
  H: "[~@2 b3@8 c4@8 b3@8 c4@2 ~@2 c4@3 ~ f3@2 a3@4]/5", I: "[bb3 c4@2 a3@2 bb3@2 bb3@2 a3@2 c3@2 f2 ~@2]/4",
})).s("gm_trombone").gain(0.5)

stack(trombone, trombone_2, trombone_3)