Strudelify

jingle bell rock

Sarah Wood

KeyD majorTempo120 bpm
0:00/0:00
// jingle bell rock — Sarah Wood
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/3066866; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 62 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 · [...]/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 · pizzicato strings
const pizzicato_strings = note("<~@36 A@2 B C D E F G A@2 B H I J K L ~@10>".pickRestart({
  A: "d4@10 d4 ~ f#4@6 a4@6", B: "d4@10 d4 ~ d#4@10 d#4 ~", C: "e4@10 e4 ~ g4@6 b4@6", D: "e4@10 e4 ~ a4@10 a4 ~",
  E: "e4@10 e4 ~ a4@6 a4@4 ~ g4", F: "e4@10 e4 ~ b4@6 e4@3 ~ a4 ~", G: "~@4 a4 ~ g4@6 f#4@6 e4@6", H: "a4 g4 b4 a4",
  I: "b4@10 b4 ~ d4@6 e4@4 g4@2", J: "g4@10 g4 ~ c#4@6 d4@4 e4@2", K: "f#4@10 f#4 ~ a4@4 g4@2 f#4@4 e4@2", L: "d4 ~@3",
})).s("gm_pizzicato_strings").gain(0.3)

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

// other · pizzicato strings
const pizzicato_strings_2 = note("<~@36 A B C D E F G H I J K L M N O P ~@10>".pickRestart({
  A: "d4@2 a4 a4@2 ~@3 a4 a4@2 ~", B: "~@2 a4 a4@2 ~@3 a4 b4@2 a4", C: "~@2 a4 a4@2 ~@3 g4 g4@2 ~",
  D: "~@2 a4 a4@2 ~@3 a4 g4@2 a4", E: "a4 g4 a4 g4", F: "a4 g4 b4 e4", G: "a4 ~@3", H: "~ g4 f#4 e4",
  I: "d4@2 a4 a4@2 a4 a4@2 a4 a4@2 a4", J: "a4@2 a4 a4@2 a4 b4@2 a4 b4@2 a4", K: "g4@2 g4 g4@2 g4 a4@2 a4 a4@2 a4",
  L: "g4@2 g4 g4@2 g4 a4@2 a4 b4@2 b4", M: "b4@5 g4 b4@2 g4 b4@2 g4", N: "a4@5 f#4 a4@2 f#4 g4@2 f#4",
  O: "g4@5 e4 b4@2 b4 c#5@2 a4", P: "d5 ~@3",
})).s("gm_pizzicato_strings").gain(0.25)

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

// other · pizzicato strings
const pizzicato_strings_3 = note("<~@36 A B C D E F G H I@2 J K L M N O ~@10>".pickRestart({
  A: "d4@2 f#4 f#4@2 ~@3 c#4 f#4@2 ~", B: "~@2 d4 f#4@2 ~@3 c#4 e4@2 f#4", C: "~@2 d4 f#4@2 ~@3 d#4 f#4@2 ~",
  D: "~@2 e4 f#4@2 ~@3 g4 f#4@2 f#4", E: "d4!4", F: "d4!3 e4", G: "f#4 ~@3", H: "~ d4!2 e4",
  I: "d4@2 f#4 f#4@2 f#4 c#4@2 f#4 f#4@2 f#4", J: "d4@2 f#4 f#4@2 f#4 d#4@2 f#4 f#4@2 f#4",
  K: "e4@2 f#4 f#4@2 f#4 g4@2 f#4 a4@2 b4", L: "e4@2 g4 g4@2 g4 d4@2 f#4 f#4@2 f#4", M: "b3@2 f#4 f#4@2 g4@6 ~",
  N: "f#4@2 f#4 f#4@2 f#4 a4@2 g4 f#4@2 e4", O: "d4 ~@3",
})).s("gm_pizzicato_strings").gain(0.25)

// other · cello
const cello = note("<A B C D ~@48 E F G H I J K L M N>".pickRestart({
  A: "f#3@4 ~ f#3 f#3@6 f#3@4 ~ f#3 f#3@6", B: "f#3@2 a3 d3@2 e3 f3@2 e3 d3@2 b2", C: "a2@3 ~",
  D: "~@4 a3 ~ g3@4 ~@2 f#3@4 ~@2 e3@4 ~@2", E: "d4@2 d4 d4@3 c#4@2 c#4 c#4@3", F: "b3@2 c#4 b3@2 f#3@4 ~@3",
  G: "d3@10 d3 ~ f#3@6 a3@6", H: "b3@5 b3@6 b3", I: "b3@3 d4@2 d4 e4@2 e4 d4@2 d4", J: "a#3@2 a#3 d4@2 e4@7",
  K: "d3 ~@3", L: "~@2 d3@3 b2 c#3@2 b2 a2@3", M: "~@2 a2@3 a2 a2@2 b2 c#3@3", N: "d3@2 ~ a2@3 d2@3 ~@3",
})).s("gm_cello").gain(0.49)

// other · pizzicato strings
const pizzicato_strings_4 = note(`<
  ~@4 A@2 B C D E F G H A B C D E I J K L A@2 M N O P A@3 Q R S T U V W X Y Z AA AB AC V W AD@2 AE AF AG AH ~@10
>`.pickRestart({
  A: "d2@10 d2 ~ f#2@6 a2@6", B: "d2@10 d2 ~ d#2@10 d#2 ~", C: "e2@10 e2 ~ a2@6 b2@6", D: "e2@10 e2 ~ a2@10 a2 ~",
  E: "e2@10 e2 ~ a2@6 a2@4 ~ g2", F: "e2@10 e2 ~ b2@6 e2@3 ~ a2 ~", G: "~@4 a2 ~ g2@6 f#2@6 e2@6",
  H: "d2@10 d2 ~ f#2@6 a2@3 ~@3", I: "e2@3 e2@2 e2 a2@2 a2 f#2@2 e2", J: "d2@3 d2@2 d2 e2@2 e2 b2@2 d3",
  K: "g2@10 g2 ~ b2@10 b2 ~", L: "g#2@10 g#2 ~ b2@10 b2 ~", M: "e2!2", N: "e2 g#2", O: "a2 ~@3",
  P: "~@2 a2 g2@3 f#2@3 e2@3", Q: "a2 g2 b2 a2", R: "b2@10 b2 ~ d2@6 e2@4 g2@2", S: "g2@10 g2 ~ c#2@6 d2@4 e2@2",
  T: "f#2@10 f#2 ~ a2@4 g2@2 f#2@4 e2@2", U: "d2 d3 f#3 a3", V: "d4@2 d4 d4@3 c#4@2 c#4 c#4@3",
  W: "b3@2 c#4 b3@3 f#3@3 ~@3", X: "b3@2 c#4 b3@3 f#3@3 a3@3", Y: "b3@2 c#4 b3@3 g3@3 ~@3",
  Z: "e3@3 ~ f#3 ~@5 g3 ~ a3@3 ~ b3 ~@5 a3@2", AA: "e3@2 f#3 g3@2 a3@4 ~@3", AB: "~@4 b3@5 ~ b3 ~ b3@3 ~ b3@2 b3@3 ~@3",
  AC: "b3@6 e3 ~@3 e3@8 ~@6", AD: "[b3@2 c#4 b3@3 f#3@3 a3@2 b3@13]/2", AE: "b3@3 d4@2 d4 e4@2 e4 d4@2 d4",
  AF: "a#3@2 a#3 d4@2 e4@7", AG: "~@2 d4@3 b3 c#4@2 b3 a3@3", AH: "d4@3 ~",
})).s("gm_pizzicato_strings").gain(0.56)

stack(pizzicato_strings, violin, pizzicato_strings_2, violin_2, pizzicato_strings_3, cello, pizzicato_strings_4)

More by Sarah Wood