Strudelify

Santa Claus is coming to town Arr. Weihnachtsfeier AGG

E. Waldermann

KeyC majorTempo120 bpm
0:00/0:00
// Santa Claus is coming to town Arr. Weihnachtsfeier AGG — E. Waldermann
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 2 "Violoncello" named as a string part, played on cello (its piano patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5861205; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 52 bars on a 24-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 · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · violin · "Violine"
const violin = note(`<
  A@2 B C D E F G H I J K L M N O P Q R S T U T V W X Y Z L M N O P Q R S T U T V W X Y Z L M N O P Q AA AB
>`.pickRestart({
  A: "c5 g4 a4 e4", B: "[b3,d4]@2 [b3,d4]@3 [b3,d4] [b3,d4]@3 [b3,d4]@3", C: "[b3,d4] ~", D: "e4 c4", E: "c4 f4",
  F: "c4 e4", G: "c4!2", H: "c5!2", I: "a4 b4", J: "c5", K: "~@11 c4", L: "c4@2 d4 e4@3 e4@5 e4",
  M: "a4@2 g4 a4@3 a4@6", N: "c4@2 d4 e4@3 e4@3 e4@3", O: "f4@2 c4 c4@3 c4@6", P: "[g3,e4] [a3,e4]",
  Q: "[a3,f4] [b3,d4]", R: "[c4,e4]@2 [c4,e4]@3 [c4,e4] [c4,e4]@3 [c4,e4]@3", S: "[c4,e4]@2 ~ g4", T: "g4 e4",
  U: "f4@3 f4", V: "f4@3 a4", W: "a4 f#4", X: "g4!2", Y: "f#4!2", Z: "g4@3 ~@3 d4@5 d4",
  AA: "[c4,e4,g4]@2 [c4,e4,g4]@3 [c4,e4,g4] [c4,e4,g4]@3 [c4,e4,g4]@3", AB: "c5 ~@3 e5@2 ~@2",
})).s("gm_violin").gain(0.3)

// other · violin · "Violine"
const violin_2 = note(`<
  A@2 B C D E D E F G H ~ D E D E F G H I D E D E G@4 D E D E F G H I D E D E G@4 D E D E F G J K
>`.pickRestart({
  A: "e4", B: "d4@2 d4@3 d4 d4@3 d4@3", C: "d4 ~", D: "g3!2", E: "a4!2", F: "g3 a4", G: "d4!2", H: "g3", I: "g3 ~",
  J: "g3@2 g3!2", K: "g3 ~ g3 ~",
})).s("gm_violin").gain(0.3)

// other · cello · "Violoncello"
const cello = note(`<
  ~ A B C D E D E F G H I D E D E F G J A K L K L M N M O D E D E F G J A K L K L M N M O D E D E F G J P
>`.pickRestart({
  A: "c3", B: "g2", C: "g2!2 a2 b2", D: "c3 g3", E: "f3 a3", F: "c3 a2", G: "d3 g2", H: "c3 c4", I: "g3 f3 e3 d3",
  J: "c3@2 c3@3 c3 c3@3 c3@3", K: "c3 g3 c3 g3", L: "f3 a3 f3 a3", M: "d3 a3 d3 a3", N: "g3 b3 g3 b3", O: "g3!2",
  P: "c3@2 c2 ~",
})).s("gm_cello").gain(0.3)

// other · cello · "Klavier (vereinfacht)"
const cello_2 = note(`<
  A@2 B C D E D E D F D G D E D E D F H A D E D E F I F I D E D E D F H A D E D E F I F I D E D E D F H J
>`.pickRestart({
  A: "c3", B: "g2", C: "g2 ~", D: "c3!2", E: "f3!2", F: "d3!2", G: "g3", H: "c3@2 c3!2", I: "g3!2", J: "c3@2 c3 ~",
})).s("gm_cello").gain(0.3)

stack(violin, violin_2, cello, cello_2)