Strudelify

coventry carol

Anon. 15th century

KeyF majorTempo120 bpm
0:00/0:00
// coventry carol — Anon. 15th century
// 120 bpm, 3/2, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/2 at bar 1, 3/2 at bar 3, 2/2 at bar 7, 3/2 at bar 7, ...) are rendered on a constant 3/2 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/34950; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 26 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/6)

// 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 · choir aahs · "Bass"
const bass = note("<A@2 B C D E F@4 G H I H J K@2 L M N O P D Q R@2>".pickRestart({
  A: "[~@2 g3@2 g3 d3]/2", B: "g2@2 g3", C: "f3@3 f3 g3@2", D: "d3", E: "g3 f3 g3",
  F: "[c3@2 d3@2 g2@4 bb2@2 f3@3 f3 g3@2 d3@6 g3@2]/4", G: "d3 g3 c3", H: "d3 g2@2", I: "g3@2 g3", J: "g3 f3@2",
  K: "[eb3 d3@3 g3 f3]/2", L: "g3 c3 d3", M: "g2@2 bb2", N: "f3@2 g3", O: "d3@2 g3", P: "f3@3 f3 eb3@2", Q: "g3 d3 g3",
  R: "[c3 d3 g2@2 ~@2]/2",
})).s("gm_synth_bass_1").gain(0.3)

stack(bass)