Strudelify

Silver Bells

Jay Livingston

KeyG majorTempo112 bpm
0:00/0:00
// Silver Bells — Jay Livingston
// 112 bpm, 3/4, key G major. 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, 3/4 at bar 1) are rendered on a constant 3/4 grid of one bar per cycle
// note: ch 8 "Bass Voice - Bb Euphonium" named as a bass, played on electric bass finger (its tuba patch is not one)
// note: duplicate parts dropped: ch 7 "Tenor Voice - Bb Euphonium" tuba (copy of ch 5 "Tenor Voice - Trombone" trombone); ch 8 "Bass Voice - Bb Euphonium" electric bass finger (copy of ch 6 "Bass Voice - Trombone" trombone)
// note: Transcription provider: pdmx. https://musescore.com/score/2690391; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(112/3)

// 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.

// bass · trombone · "Bass Voice - Trombone"
const bass = note(`<
  A B C D E F G D@2 E H I J K L M N@2 O@2 P Q R S T U H V W X Y S T Z H V AA AB M ~@6 E M AC AD AC AE ~ D AF ~@4 R@2 AG
  AH AI AH AG AJ D AK F AL S T U H V W X Y S T Z H V AA AB M ~@6 E M AC AD AC AE ~ D AM@2 AN@2 AO@2 ~ AP@4
>`.pickRestart({
  A: "~@11 f3@2 f3@3", B: "e3@5 c3@8 a#2@3", C: "a2@5 a2@5 ~ a#2@5", D: "c3", E: "~@11 c3@5", F: "a2", G: "~@11 e3@5",
  H: "a#2", I: "~@11 f2@5", J: "c3@11 d3@5", K: "e3@5 c3@11", L: "f3@11 ~@5", M: "d3@5 c3@5 ~ a#2@5",
  N: "[a2@3 a#2@2 c3@21 ~@6]/2", O: "[d3@3 e3@2 f3@21 ~@6]/2", P: "c3@5 c3@5 ~ b2@5", Q: "a#2@5 a#2@5 ~ a#2@5",
  R: "a2@11 ~@5", S: "f3@5 c3@5 ~@6", T: "c3@5 c3@5 ~ d#3@5", U: "d3@5 a#2@5 ~ f2@5", V: "c3@5 e3@5 ~ d#3@5",
  W: "d3@5 e3@5 ~ c3@2 d3@3", X: "d3@5 c3@5 ~ c3@5", Y: "a#2@5 a2@5 ~@6", Z: "d3@5 a#2@5 ~ f3@5",
  AA: "d3@5 e3@5 ~ c3@5", AB: "f3@5 c3@5 ~ e3@5", AC: "~@13 f3@3", AD: "a3@3 c3@2 f3@3 a2@3 c3@5",
  AE: "a#3@3 d3@2 f3@3 a#2@3 d3@5", AF: "f2", AG: "c3@11 ~@5", AH: "c#3@11 ~@5", AI: "d3@11 e3@5", AJ: "b2", AK: "d3",
  AL: "g2", AM: "f2@11 ~@5", AN: "[c3@5 e3@27]/2", AO: "[a#2@5 e3@27]/2", AP: "[~@3 c3@25 f2@28 ~@8]/4",
})).s("gm_trombone").gain(0.15)

stack(bass)