Strudelify

rudolph the red nosed reindeer

The Temptations

KeyF majorTempo120 bpm
0:00/0:00
// rudolph the red nosed reindeer — The Temptations
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5982805; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 32 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 · trombone
const trombone = note("<A B C D E F G H I J C D K L M N O P Q@2 R S T U A V W D E F X Y>".pickRestart({
  A: "f3@6 ~@4 f3@3 ~@5 a3@4 ~@2", B: "f3@3 f3@3 ~@2 f3!2 ~ f3", C: "f3@7 ~@2 a3 ~@2", D: "g3@3 ~",
  E: "d3@2 ~@2 e3@3 ~@3 d3@2 g3@4 ~@2 g3@6", F: "g3 g3@2 ~", G: "g3 ~ g3 g3@2 g3 g3@3 g3 ~@2",
  H: "c3@9 ~@7 f3@2 f3@2 ~@2 f3@2", I: "f3@4 f3@5 ~ f3@3 ~@5 a3@4 ~@2", J: "f3@3 f3@6 f3 ~ f3",
  K: "d3@2 ~@2 e3@3 ~@3 d3@2 c3@4 ~@2 g3@6", L: "g3@3 g3@7 ~@2", M: "g3 ~ g3 g3@2 g3!2 ~@2 bb3@2 ~", N: "a3 ~",
  O: "f3@3 f3@3 bb3@2 ~ f3@3", P: "f3@6 ~@4 f3@11 ~@3", Q: "[f3@2 ~ g3@2 ~ c3@2 ~ bb2 ~ c3@13]/2",
  R: "c3@5 ~ g3@2 ~ g3@2 ~", S: "g3@6 g3@2 ~@2 g3@9 ~@5", T: "a3@9 ~ a3@2 g3@6 g3@6", U: "g3@2 ~ d3 ~ c3@4 f3 ~ f3",
  V: "f3@3 f3@5 ~ f3 ~ f3", W: "f3@7 ~@2 a3@3", X: "e3@3 ~ f3@2 e3@2 ~@2 f3@2 e3@2 ~@4 bb3@6", Y: "a3@3 ~",
})).s("gm_trombone").gain(0.4)

// other · trombone
const trombone_2 = note("<A B C D E F G H I J C D K L M N O P Q R S T U V A W X D E F Y Z>".pickRestart({
  A: "c3@3 ~@2 c3 a2@3 f3@2 ~", B: "c3@2 d3@3 ~ c3@4 ~@6 a2@2 bb2@2 ~@2 b2@2", C: "c3@3 c3@3 c3 ~@2 f3 ~@2",
  D: "e3@3 ~", E: "bb2@2 ~@2 c3@3 ~@3 bb2@2 g2@4 ~@2 d3@6", F: "d3 c3@2 ~", G: "c3 ~ d3 c3@3 c3@2 ~ d3 ~@2",
  H: "a2@9 ~@7 a2@2 bb2@2 ~@2 b2@2", I: "c3@9 ~ c3@2 a2@6 f3@4 ~@2", J: "d3@6 c3@9 ~ a2@2 bb2@2 ~@2 b2@2",
  K: "bb2@2 ~@2 c3@3 ~@3 bb2@2 g2@4 ~@2 d3@2 e3@3 ~", L: "d3@3 c3@6 g2 ~@2", M: "c3 ~ d3 c3 ~ d3 c3 ~@2 g3@2 ~",
  N: "f3 ~", O: "c3@6 d3@6 f3@4 ~@2 c3@2 d3@3 ~", P: "c3@3 a2@2 ~ c3@4 ~@2", Q: "bb2@2 ~ d3@2 ~ c3@2 ~ bb2 ~ g2",
  R: "a2", S: "g2@3 a2@2 ~ c3@2 ~ d3@2 ~", T: "e3@6 e3@2 ~@2 e3@9 ~@5", U: "f3@2 ~ f3@9 e3@2 e3@3 ~ d3@6",
  V: "c3@4 ~@2 bb2@2 ~@2 g2@5 c3@3 a2@2 bb2@2 ~@2", W: "d3@6 c3@9 ~ a2@2 bb2@2 ~@2 c3@2", X: "c3@3 c3@3 c3 ~@2 f3@3",
  Y: "c3@3 c3 ~ d3 c3 ~@2 g3@3", Z: "f3@3 ~",
})).s("gm_trombone").gain(0.45)

// other · trombone
const trombone_3 = note("<A@3 B@3 C D A@3 B@3 C E F G H I J C K L A@3 B@3 C M>".pickRestart({
  A: "f2 a2 c3 d3", B: "c3 e3 g3 a3", C: "c3 e3 g3 e3", D: "f3 d3 c3 d3", E: "f3!2 g3 a3", F: "bb2 d3 f3 d3",
  G: "f2 a2 c3 a2", H: "g2 bb2 c3 e3", I: "f3 d3 c3 a2", J: "c3 a2 g2 e3", K: "d3 a3 g3 d4", L: "c3 bb2 a2 g2",
  M: "f3@3 ~",
})).s("gm_trombone").gain(0.5)

stack(trombone, trombone_2, trombone_3)

More by The Temptations