Strudelify

Christmas Eve/Sarajevo 12/24

Trans-Siberian Orchestra

KeyG majorTempo150 bpm
0:00/0:00
// Christmas Eve/Sarajevo 12/24 — Trans-Siberian Orchestra
// 150 bpm, 4/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/2 at bar 1, 4/4 at bar 2, 2/4 at bar 8, 4/4 at bar 9) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5654756; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 127 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(150/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · cello · "Violoncello"
const cello = note(`<
  ~@4 A B C D E@2 ~ A B C F@2 B C G H I J K I J K L M N O P Q M R L M R S T U V@6 W X Y Z X Y AA AB Y AA AB Y AC@3 AD AE
  AF AG AH AI AG AH AF AG AH AJ AK AL AM AK AL AN AO@3 AP@3 AQ@3 AR@3 AS AT@2 AU@2 AV@4 AW@2 AX@8 AY AZ@6 BA@2 BB BC@2
  BD BE BF@2 ~
>`.pickRestart({
  A: "~@3 d3", B: "e3 b3!2 a3", C: "g3 f#3 e3 d3", D: "e3 f#3 g3 a3", E: "b3/2", F: "[e3@6 ~ d3]/2", G: "e3",
  H: "e3@3 d3", I: "e2@2 e3!4 e2@2", J: "e3!4 e2@2 e3!2", K: "e3!2 [d2,d3]@2 [d2,d3]@2 [d2,d3]@2",
  L: "[e2,e3]@2 e3!2 e3@2 [e2,e3]@2", M: "e3!2 e3@2 [e2,e3]@2 e3!2", N: "e3 [d2,d3]!3", O: "[e2,e3]@2 e3!4 [e2,e3]@2",
  P: "e3!4 [e2,e3]@2 e3!2", Q: "[d2,d3]!3 [e2,e3]", R: "e3@2 [e2,e3]@2 e3!2 e3@2", S: "[e2,e3]@2 e3!2 e3@2 e2@2",
  T: "e2!2 f#2 g2 g2@2 g2!2", U: "a2 b2 c3@2 c3!2 d3 c3",
  V: "[e3@2 e3!2 e3@2 [f#2,b2]@12 [f#2,b2]@12 [f#2,b2]@6 [f#2,b2]@6 b2 c#3 d#3 e3 f#3 g3]/6", // B5
  W: "a#3 b3 c4 c#4 d4 d#4 e3@2", X: "d3 c3!2 b2", Y: "a2 b2 a2 g2", Z: "g2 f#2 e2 e3", AA: "g2 f#2 e2 [e2,e3]",
  AB: "[d2,d3] [c2,c3]!2 b2", AC: "[g2 f#2 e2 [e2,e3]@9]/3", AD: "g3@2 f#3 g3 e3@2 [e2,e3]@2", AE: "[e2,e3]",
  AF: "g3@2 f#3 g3 e3@2 g3@2", AG: "f#3 g3 e3@2 g3@2 f#3 g3", AH: "e3@2 g3@2 f#3 g3 e3@2", AI: "[e2,e3]@3 g3",
  AJ: "g3@2 f#3 g3 e3@2 [a2,g3]@2", AK: "f#3 g3 e3@2 [b2,g3]@2 f#3 g3", AL: "e3@2 [a2,g3]@2 f#3 g3 e3@2",
  AM: "[b2,g3]@2 f#3 g3 e3@2 [a2,g3]@2", AN: "[b2,g3]@2 f#3 g3 e3@2 [e2,e3]@2",
  AO: "[e3@3 e3@2 e3@3 e3@2 [e2,e3]@5 e3@3 e3@3 e3@2 e3@3 [e2,e3]@5 e3@2 e3@3 e3@3 e3@2 [d2,d3]@5 [d2,d3]@5 [d2,d3]@5 ~ [e2,e3]@5 e3@2 e3@3 e3@2 e3@3]/3", // E D E
  AP: "[[e2,e3]@5 e3@3 e3@2 e3@3 e3@2 [e2,e3]@5 ~ e3@2 e3@3 e3@2 e3@3 [d2,d3]@5 [d2,d3]@5 [d2,d3]@5 [e2,e3]@5 e3@3 e3@3 e3@5 [e2,e3]@5 e3@2 e3@3]/3", // E D E
  AQ: "[e3@5 [e2,e3]@5 e3@3 e3@2 e3@5 ~ [e2,e3]@5 e3@2 e3@3 e3@5 e3@5 e3@3 e3@2 e3@5 [e2,d3]@5 ~ e3@2 e3@3 e3@5 [e2,e3]@5]/3", // E E7 E
  AR: "[e3@3 e3@2 e3@5 [e2,e3]@5 e3@3 e3@3 e3@5 [e2,c3]@10 e2@5 [e2,e3]@10 e2@5 ~ [e2,c3]@10 e2@5]/3", // E C E C
  AS: "[e2,e3]@10 e2@5 [e2,c3]@9", AT: "[~@2 e2@5 [e2,e3]@10 e2@5 [e2,c3]@10 ~ e2@5 [e2,e3]@5 e2@5]/2",
  AU: "[e2@5 e2@5 e2@3 e2@2 f#2@3 g2@3 g2@5 g2@2 g2@3 a2@2 b2@3 c3@5 c3@3 c3@2 d3@2]/2",
  AV: "[~ c3@2 e3@5 ~ e3@2 e3@3 e3@5 [f#2,b2]@31 b2@2 c#3@3 d#3@2 e3@3 f#3@3 g3@2 a3@3 b3@2 a3@5 g3@5 ~ a3@15]/4", // B5
  AW: "[g2@5 f#2@3 g2@2 e2@5 [e3,a3]@15 ~ g2@4 f#2@2 ~ g2@2 e2@4 g2@4]/2", // A5
  AX: "[~ f#2@2 g2@2 e2@4 ~ g2@4 f#2@2 ~ g2@2 e2@4 g2@4 ~ f#2@2 g2@2 e2@4 ~ g2@4 f#2@2 ~ g2@2 e2@4 [e2,e3]@4 ~ [e2,e3]@2 [e2,e3]@2 f#2@2 ~ g2@2 g2@4 g2@2 ~ g2@2 a2@2 b2@2 c3@4 ~ c3@2 c3@2 d3@2 ~ c3@2 [e2,e3]@4 e3@2 ~ e3@2 e3@4 [f#2,b2]@27 [f#2,b2]@27 [f#2,b2]@13 ~ [f#2,b2]@13 b2@2 ~ c#3@2 d#3@2]/8", // E B5
  AY: "e3@2 f#3@2 ~ g3@2 a#3@2 b3@2 c4@2 ~ c#4@2 d4@2 d#4@2 e4@4",
  AZ: "[~ e3@4 d3@4 ~ c3@4 c3@4 ~ b2@4 a2@4 ~ b2@4 a2@4 ~ g3@4 d3@4 ~ f#2@4 e2@4 ~ [e2,b2]@9 [d2,a2]@13 [c2,g2]@13 ~ [f#2,b2]@4 [f#2,b2]@4 ~ [f#2,b2]@4 [e2,b2]@13 ~ [d2,a2]@13 [c2,g2]@13]/6", // E5 D5 C5 B5 E5 D5 C5
  BA: "[~ [f#2,b2]@4 [f#2,b2]@4 ~ [f#2,b2]@4 e2@4 ~ e2@2 e2@2 e2@4 ~ c3@4 e2@2 ~ e2@2 e2@4 c3@4 ~ e2@2]/2", // B5
  BB: "e2@2 e2@4 ~ c3@4 e2@2 ~ e2@2 e2@4 e2@4",
  BC: "[~ e3@2 e3@2 e3@2 ~ e3@2 e3@4 e3@2 ~ e3@2 e3@2 e3@2 e3@4 ~ e3@2 e3@2 e3@2 ~ e3@2 e3@4 e3@2 ~ e3@2 e3@2]/2",
  BD: "e3 e3@2 ~@5 e3@2 ~@2", BE: "~@5 e3@4 ~@10 e3@4 ~", BF: "[~ e2@5]/2",
})).s("gm_cello").gain(0.2)

stack(cello)

More by Trans-Siberian Orchestra