Strudelify

ill be home for christmas

Misc Christmas

KeyD majorTempo72 bpm
0:00/0:00
// ill be home for christmas — Misc Christmas
// 72 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4815909; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 54 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(72/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "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 · violin
const violin = note(`<
  ~@4 A B C D E F G H I J K L M N O P Q R K L S T U V S W X Y Z AA AB AC AD AE AF AG@2 AH AI AJ AC AK AL AM AN AO AP
  AQ@3
>`.pickRestart({
  A: "~@7 g4", B: "f#4@2 e4@2 f#4@2 ~ c#5", C: "e5 e5@3 c#5 c#5@2 c#5", D: "b4@3 [b4,c#5] a4@8 ~@4", E: "a4 b4@3",
  F: "g4@7 ~", G: "f#4 a4", H: "b4@3 ~", I: "e5@3 d5 e5@3 d5", J: "d5@2 c5@2 b4@3 b4", K: "b4!3 a#4", L: "a4@3 ~",
  M: "~ b4 b4@2 a#4@4", N: "~@4 a4@3 b4 f#4@6 b4@2", O: "c#5 b4 d5 c#5", P: "d5@8 e5@4 d5@3 b4", Q: "~ b4@2 b4 a#4@4",
  R: "~@4 c#5@3 a4 f#4@6 b4@2", S: "b4 a#4", T: "a4 g#4", U: "g4 f#4", V: "c#5@3 [c#5,d5] c#5@3 ~ b4@8, ~@4 b4 ~@11",
  W: "a4@4 g#4@3 ~", X: "~ b4!2 c#5", Y: "d5 c#5", Z: "c5@2 ~ e5 g5@3 f5", AA: "d5!2 c5 ~", AB: "a4@2 ~ a4 c5@2 a#4@2",
  AC: "d5@3 ~", AD: "d5 f5", AE: "f5 e5 d5 c5", AF: "a#4@2 a#4@6 e5@2 e5@3 e5@3", AG: "[c5 a#4 g5@5 ~]/2",
  AH: "c5@4 b4@3 b4", AI: "~@8 d5@2 c5 a4 c5@4", AJ: "a4@3 a4 c5@2 a#4@2", AK: "d5@3 d5 c#5@3 c5", AL: "c5@2 c5 ~",
  AM: "d5!3 f5", AN: "f5 d5 ~ f5@9 f5@3 d5", AO: "~ d5@2 d5 c#5@4", AP: "~@4 c5@3 d5 a4@6 d5@2",
  AQ: "[d5!3 c#5@3 c5@6]/3",
})).s("gm_violin").gain(0.3)

// other · violin
const violin_2 = note(`<
  ~@4 A B C D E F G H I J K L M N O P Q R K L S T@2 U S V W X Y Z AA AB AC AD AE AF@2 AG AH AI AJ AK AL AM AN AO AP AQ@3
>`.pickRestart({
  A: "~@7 g4", B: "f#4@2 e4@2 f#4@2 ~ c#5", C: "e5 e5@3 c#5 c#5@2 c#5", D: "b4@3 [b4,c#5] a4@8 ~@4", E: "a4 g#4",
  F: "g4@6 g4 ~", G: "f#4@2 f#4 e4", H: "b4@3 ~", I: "b4@3 b4 a#4@3 a4", J: "a4@4 a4@3 b4", K: "b4!3 a#4", L: "a4@3 ~",
  M: "~ b4 b4@2 a#4@4", N: "~@4 a4@3 b4 f#4@6 b4@2", O: "b4!2 c#5!2", P: "d5@12 d5@3 b4", Q: "~ b4@2 b4 a#4@4",
  R: "~@4 a4@3 b4 a4@6 b4@2", S: "b4 a#4", T: "[a4 b4@2 f#4]/2", U: "a4 e4", V: "a4@4 b4@3 ~", W: "~ b4!3", X: "d5 c#5",
  Y: "c5@2 ~ e5 g5@3 f5", Z: "g4 g4@2 ~", AA: "a4@2 ~ g4 a4@2 a#4@2", AB: "d5@3 ~", AC: "d5 f5", AD: "a4 g4 a4 e4",
  AE: "g4@2 g4@6 g4@2 g4@3 g4@3", AF: "[g4 c5 c5@5 ~]/2", AG: "c5@4 b4@3 b4", AH: "a#4 a#4@2 ~",
  AI: "a4@3 a4 a4@2 a#4@2", AJ: "f5@3 ~", AK: "d5@3 d5 c#5@3 c5", AL: "c5@2 c5 ~", AM: "d5!4", AN: "f5@12 f5@3 d5",
  AO: "~ d5@2 d5 c#5@4", AP: "~@4 c5@3 d5 a4 g4 a4@4 d5@2", AQ: "[d5!3 c#5@3 a4@6]/3",
})).s("gm_violin").gain(0.3)

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

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

stack(violin, violin_2, cello, cello_2)

More by Misc Christmas