Strudelify

Jingle Bells

Emma Tennant

KeyF majorTempo120 bpm
0:00/0:00
// Jingle Bells — Emma Tennant
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/145327; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 36 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 · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/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 · trumpet · "Bb Trumpet"
const trumpet = note("<A B C D C E F G H I C D C E F J K L M@2 N O P Q R S M@2 N O P Q T U H V>".pickRestart({
  A: "[bb3,f4]", B: "[f4,c5]", C: "bb3 g4 f4 eb4", D: "bb3@3 bb3", E: "c4@3 c4", F: "c4 ab4 g4 f4", G: "c4",
  H: "bb4!2 g4 f4", I: "g4@3 bb3", J: "bb4!4", K: "c5 bb4 ab4 f4", L: "eb4", M: "g4!2 g4@2", N: "g4 bb4 eb4 f4",
  O: "g4 ~", P: "ab4!4", Q: "ab4 g4!3", R: "g4 f4!2 g4", S: "f4 bb4", T: "bb4!2", U: "g4 f4", V: "eb4 ~ [eb4,eb5] ~",
})).s("gm_trumpet").gain(0.3)

// other · french horn · "Horn"
const french_horn = note("<A B C D C E F@2 A C@2 D C E G@2 H@2 I@2 J@2 K L M N I@2 J@2 K L O P Q R>".pickRestart({
  A: "bb3", B: "f4", C: "g3", D: "g3@2 g3!2", E: "c4@2 c4!2", F: "c4/2", G: "[~ bb3, c4]/2", H: "c4", I: "g3!2",
  J: "g3!2 g3@2", K: "ab3!2 ab3@2", L: "ab3 g3 g3@2", M: "g3 f3!2 g3", N: "f3!2 bb3@2", O: "bb3!2", P: "g3 f3",
  Q: "bb3@2 g3 f3", R: "eb3 ~ eb4 ~",
})).s("gm_french_horn").gain(0.3)

stack(trumpet, french_horn)