Strudelify

Laut verkünde unsre Freude K.623

Wolfgang Amadeus MozartCuparius

KeyF majorTempo184 bpm
0:00/0:00
// Laut verkünde unsre Freude K.623 — Wolfgang Amadeus MozartCuparius
// 184 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 32, 4/4 at bar 32, 2/4 at bar 63, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/54489; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 95 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(184/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.

// bass · choir aahs · "Bass"
const bass = note(`<
  A B A C D E F G H I H J K L M N O P O Q R S T U V W V X Y Z AA AB ~@7 AC AD AC AD AE AF AG AH AI AJ AK AJ AL AM AN AO
  AP AQ AP AR AS AT AU AV AW AX AW AX AY AZ BA BB A B A C D E F G H I H J K L M N O P O Q R S T BC
>`.pickRestart({
  A: "c3@3 c3!5", B: "a2 f2 ~@2", C: "a2@2 f2@2 ~ f2!3", D: "d3@4 ~ f2!3", E: "c3@4 ~ a2!3", F: "g2 d3 c3 e3",
  G: "f3!8", H: "e3 c3 ~@2", I: "~ f2!7", J: "~ f2!3 a2@4", K: "~ f2!3 bb2@4", L: "~ f3!3 a3 f3!3", M: "bb2!2 c3!2",
  N: "f3@4 ~ f2 g2 a2", O: "bb2@3 g2 e3 g3 c3 e3", P: "f2@4 ~ f2 g2 a2", Q: "f2!2 f3@2", R: "~ f2 f3@2",
  S: "~@2 a2@2 c3 a2 f3 eb3", T: "d3 bb2 a2 g2", U: "f2@4 ~@3 f2", V: "g2@3 g2 bb2@3 g2", W: "f2 g2 a2@2 ~@3 f2",
  X: "f2 g2 a2@2 c3@2 f2@2", Y: "~@2 d3 f2", Z: "~@2 c3 f2", AA: "~ g2 a2 bb2", AB: "a2 ~", AC: "~@4 c3@3 c3",
  AD: "c3!4 a2@2 f2@2", AE: "~ f2!3 d3@4", AF: "~ f2!3 c3@4", AG: "~ a2!3 g2@2 d3@2", AH: "c3@2 e3@2 f3!4",
  AI: "f3!4 e3@2 c3@2", AJ: "~@5 f2!3", AK: "f2!4 e3@2 c3@2", AL: "a2@4 ~ f2!3", AM: "bb2@4 ~ f3!3",
  AN: "a3 f3!3 bb2@2 bb2@2", AO: "c3!2 f3@2", AP: "~ f2 g2 a2 bb2@3 g2", AQ: "e3 g3 c3 e3 f2@4",
  AR: "e3 g3 c3 e3 f2@2 f2@2", AS: "f3@2 ~ f2", AT: "f3@2 ~ a2", AU: "c3 a2 f3 eb3 d3@2 bb2@2", AV: "a2 g2 f2@2",
  AW: "~@3 f2 g2@3 g2", AX: "bb2@3 g2 f2 g2 a2@2", AY: "c3 f2 ~@2", AZ: "d3 f2 ~@2", BA: "c3 f2 ~ g2",
  BB: "a2 bb2 a2@2", BC: "f2",
})).s("gm_synth_bass_1").gain(0.3)

stack(bass)