Strudelify

Rudolf The Red-Nosed Reindeer

Keviin Tan

KeyG majorTempo120 bpm
0:00/0:00
// Rudolf The Red-Nosed Reindeer — Keviin Tan
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 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 "Piano" piano)
// note: Transcription provider: pdmx. https://musescore.com/score/5847298; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 44 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 · [...]/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.

// melody · piano
const piano = note(`<
  A B C B C D E F G H I J K L I M N H I J K L I N O P Q R S N T U V W H I J K L I X Y Z@2
>`.pickRestart({
  A: "~@6 a4 b4", B: "c5 a4@2 f4 b4 g4@2 e4", C: "a4 f4@2 d4 a4 g4@3", D: "e4!4", E: "a4@11 ~ a4@2 b4@2",
  F: "c5@2 c5@2 c5 b4@2 a4", G: "g4@15 ~", H: "g4 a4@2 g4 e4@2 c5@2", I: "a4@4 g4@11 ~", J: "g4 a4 g4 a4 g4@2 c5@2",
  K: "b4@15 ~", L: "f4 g4@2 f4 d4@2 b4@2", M: "g4 a4 g4 a4 g4@2 a4@2", N: "e4@15 ~", O: "g4 a4 g4 a4 g4@2 d5@2",
  P: "c5@15 ~", Q: "a4!2 c5 a4", R: "g4@4 e4@2 g4@9 ~", S: "f4 a4 g4 f4", T: "d4 e4 g4 a4", U: "b4!2 b4@2",
  V: "c5!2 b4 a4", W: "g4@4 f4@2 d4@9 ~", X: "g4 a4 g4 a4", Y: "g4 d5", Z: "[c5@23 ~@9]/2",
})).s("gm_piano").gain(0.3)

stack(piano)