Strudelify

winter wonderland

Nat King Cole

KeyC minorTempo120 bpm
0:00/0:00
// winter wonderland — Nat King Cole
// 120 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2, 3/4 at bar 13, 4/4 at bar 15) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5854097; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 28 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.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · trumpet · "B♭ Trumpet 1"
const trumpet = note("<~ A B C D E F G H I J K L M N O P Q R S R S T U V W X Y>".pickRestart({
  A: "~@2 b4 ~@2 bb4 b4@6", B: "b4@2 ~ bb4@2 b4@3 ~@4", C: "~@2 a4 ~@2 ab4 a4@6", D: "a4@2 ~ ab4@2 a4@3 ~ a4 bb4 b4",
  E: "~@2 a4 ~@2 a4@7", F: "~@2 ab4 ~@2 gb4@4 ~@3", G: "bb4 b4@3 d5@2 b4@4 e4@2 a4@4 b4@2 a4@2 g4@2 e4@2", H: "g4 ~",
  I: "~@6 d5@3 ~ d5 ~@7 eb5@3 ~ eb5 ~", J: "d5@2 bb4 ~@8 f5", K: "~@2 d5 ~@4 d5", L: "~@6 eb5 ~@2 eb5 ~@8 d5@3 ~@3",
  M: "d5@3 ~@9 d5@3 ~@3 bb4@2 gb4@2 eb4@2", N: "d4 c4 f4 e4", O: "eb4@3 d4@3 c4@3 b3@2 d4", P: "eb4 ~@3 d4 ~@3",
  Q: "bb3@3 ~@3 eb5@5 eb5", R: "eb5", S: "~@6 eb5@5 eb5", T: "eb5@2 g5 eb5@2 db5@4 ~@2 db5", U: "c5@2 eb5 c5@2 bb4@7",
  V: "g4 gb4 f4 e4", W: "b4 a4 ab4 g4", X: "~@3 d4 eb4 e4 f4@3 e4@3", Y: "eb4",
})).s("gm_trumpet").gain(0.3)

// other · trumpet · "B♭ Trumpet 2"
const trumpet_2 = note("<~ A B A C D E F G H I J K L M N O P Q R S T U V W X ~ Y>".pickRestart({
  A: "~@2 d5 ~@2 db5 d5@6", B: "d5@2 ~ db5@2 d5@3 ~@4", C: "d5@2 ~ db5@2 d5@3 ~ c5 db5 d5", D: "~@2 db5 ~@2 c5@7",
  E: "~@2 b4 ~@2 a4@7", F: "e4 ~ eb4 ~", G: "d4@6 ~@2 db4 d4 eb4 e4", H: "f4@2 f4 gb4@3 g4@2 g4 gb4@3",
  I: "f4@3 ~@3 f4 e4 eb4 d4@2 f4", J: "f4 ~@2 f4 ~@2 gb4 ~@17", K: "g4 ~@2 g4 ~@2 gb4@6 ~@6 f4@3 ~@3",
  L: "f4 ~@3 f4 ~@3", M: "bb4@2 c5 b4", N: "bb4 g4 f4 eb4", O: "g4@2 g4 c4@2 c4 f4@2 f4 bb3@2 bb3", P: "eb4@6 c5@5 c5",
  Q: "c5", R: "~@6 c5@5 c5", S: "db5", T: "~@6 db5@5 c5", U: "bb4@2 eb5 ~@2 ab4@4 ~@2 ab4", V: "g4@2 gb4 ~@2 f4@7",
  W: "b4 bb4 a4 ab4", X: "d5 db5 d5 eb5", Y: "~ g4",
})).s("gm_trumpet").gain(0.3)

// bass · tuba
const bass = note("<~ A B C D@3 E F G H I J K L M N O P Q R S@2 T U V ~ W>".pickRestart({
  A: "g2@3 b2@3 d3@3 b2@2 d3", B: "g2 b2 d3 b2", C: "d2@3 gb2@3 a2@3 gb2@2 a2", D: "d2 gb2 a2 gb2", E: "c2 ~ d2 ~",
  F: "g2 ~", G: "bb1@3 d2@2 f2 eb2@3 g2 ab2 a2", H: "bb2@2 f2 ~@2 eb2 ~@2 d2 ~@2 c2", I: "bb1 ~@2 bb1 ~@2 d2 ~@17",
  J: "eb2 ~@2 eb2 ~@2 g2 ~@2 a2 ~@2 bb2@6 ~@6", K: "~ f2@2 ~", L: "eb2 g2 f2 bb1", M: "eb2@2 d2 db2",
  N: "c2 ~@3 bb1 ~@3", O: "eb2 ~@3", P: "ab2@3 c3@3 eb3@3 c3@2 eb3", Q: "ab2 c3 eb3 c3", R: "eb2@3 g2@3 bb2@3 g2@2 bb2",
  S: "eb2 g2 bb2 g2", T: "eb2@3 f2@3 g2@3 eb2 d2 db2", U: "c2", V: "b1", W: "~ ab1",
})).s("gm_tuba").gain(0.3)

stack(trumpet, trumpet_2, bass)

More by Nat King Cole