Strudelify

santa baby

Misc Christmas

KeyB♭ majorTempo120 bpm
0:00/0:00
// santa baby — Misc Christmas
// 120 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/8 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: duplicate parts dropped: ch 2 "Alto Saxophone" alto sax (copy of ch 1 "Soprano Saxophone" soprano sax)
// note: Transcription provider: pdmx. https://musescore.com/score/5848495; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 72 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 part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  ~ A B A B C D C D C E F G C D C D C D H I J K L M N O P Q C D C@2 D E R S C D C D C E F G C D C D C D H I J K L M N O
  P Q C D C@2 D E T ~ U E V
>`.pickRestart({
  A: "~ ab4 ~@3 c5 ~@2", B: "~ db5 ~@3 db5 ~@2", C: "~ c4 ~@3 eb4 ~@2", D: "~ f4 ~@3 g4 ~@2", E: "f4 ~@3 g4 ~@3",
  F: "~@2 c5@2 b4@4 c5@2 b4@2 eb4 d4 ~ db4", G: "c4 eb4 f4 b4!2 bb4@3", H: "~ c5 b4@2 c5 b4 ~ g4",
  I: "bb4@4 c5@2 ab4 ~@9", J: "~@2 c5 ab4 c5@3 g4", K: "c5 c5@2 db5 ~@4", L: "c5!2 f4!2 c5!2 f4!2", M: "c5 a4@2 g4 ~@4",
  N: "~ bb4!2 f4 bb4@3 f4", O: "bb4 bb4@2 c5 ~@3 bb4", P: "eb5 d5 db5 f4", Q: "c5 b4@2 bb4 ~@4",
  R: "~@2 eb5 db5 c5@2 c5 bb4 ab4@2 ab4 bb4 c5 bb4 ab4 g4", S: "f4@2 f4 eb4 db4@2 db4 c4 bb3 ~ db4@6",
  T: "~@2 ab4 f4 f4@2 ~@2", U: "~@2 eb5 c5 c5@2 ~@2", V: "~ g4 ab4@2",
})).s("gm_alto_sax").gain(0.3)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  ~ A B A C D E D E D F G H D E D E I E J K L M N O P Q R ~ D E D E D F S T D E D E D F G H D E D E I E J K L M N O P Q
  R ~ D E D E D F U ~ U F V
>`.pickRestart({
  A: "~ eb4 ~@3 ab4 ~@2", B: "~ ab4 ~@3 bb4 ~@2", C: "~ ab4 ~@4 bb4 ~", D: "~ ab3 ~@3 c4 ~@2", E: "~ db4 ~@3 db4 ~@2",
  F: "db4 ~@3 db4 ~@3", G: "~@2 c5@2 b4@4 c5@2 b4@2 eb4 d4 ~ db4", H: "c4 eb4 f4!3 eb4@3", I: "~ ab3 ~@2 bb3 ~@3",
  J: "~ c5 bb4 ~ c5 bb4@2 g4", K: "b4@4 eb4@2 c4 ~@9", L: "bb3", M: "bb3@4 bb3 e4 ~ bb3", N: "a3",
  O: "ab3@4 ab3 a4 ~ a3", P: "ab3", Q: "ab3@4 ab3 db4 ~@2", R: "bb3 ~@3",
  S: "~@2 eb4 db4 c4@2 c4 bb3 g3@2 ab3 bb3 c4 bb3 ab3 g3", T: "f3@2 f3 eb3 db3@2 db3 c3 bb2 ~ g3@6",
  U: "~@2 c4 ab3 ab3@2 ~@2", V: "~ db4 c4@2",
})).s("gm_tenor_sax").gain(0.2)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  A B C D E D E D E D F G H D E D C D F I J K L M N O P Q R D E D E D F S T D E D E D F G H D E D C D F I J K L M N O P
  Q R D E D E D F U F U V W
>`.pickRestart({
  A: "~@7 g2", B: "ab2@2 ~ eb2 f2 ~@2 c3", C: "bb2@4 ~@2 db3@2 eb3 ~ eb2@2 f2@2 g2@2", D: "ab2 ~@2 eb2 f2 ~@2 c3",
  E: "bb2@2 ~@4 db3@2 eb3 ~ eb2@2 f2@2 g2@2", F: "bb2 ~@3 eb2 ~@2 g2", G: "ab2 ~ c4@2 b3@4 c4@2 b3@2 eb3 d3 ~ db3",
  H: "c3 eb3 f3 ab3!2 g3@2 g2", I: "ab2 ~ c4@2 b3@4 c4@2 b3@2 ~@2 g3@2", J: "b3@4 ab3@2 eb3 ~@3 eb3@2 d3@2 db3@2",
  K: "c3", L: "c3@4 c3 bb3 ~ c3", M: "f2", N: "f2@4 f2 f3 ~ f2", O: "bb2", P: "bb2@4 bb2 f3 ~@2", Q: "g3 ~@3",
  R: "~@5 eb2 f2 g2", S: "~@2 eb4 db4 c4@2 c4 bb3 ab3@2 ab3 bb3 c4 bb3 ab3 g3",
  T: "f3@2 f3 eb3 db3@2 db3 c3 bb2 ~ eb2@6", U: "ab2 ~ ab3 f3 f3@2 ~ c3", V: "bb2 ~@3 eb2 ~@3", W: "~ eb2 ab2@2",
})).s("gm_baritone_sax").gain(0.2)

stack(alto_sax, tenor_sax, baritone_sax)

More by Misc Christmas