Strudelify

Venez approchons nous

Dumont

KeyG majorTempo85 bpm
0:00/0:00
// Venez approchons nous — Dumont
// 85 bpm, 6/8, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/8 at bar 1, 6/8 at bar 1, 3/8 at bar 9, 6/8 at bar 10, ...) are rendered on a constant 6/8 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5871234; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 43 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(85/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 · choir aahs · "Bass"
const bass = note(`<
  A B C D@2 E F G H I J@2 K@2 L@4 M N O P Q R S T U V W X Y V Z AA AB AC AD AE AF AG AD AH@2
>`.pickRestart({
  A: "~@4 b2 e3", B: "~ e3!3 c3@2 c3@2 c3@2 d3@2", C: "d3@2 d3@2 g2@4 g2!2 a2@2", D: "[a2!2 e3!3 b2@3 b2@2 b2 e3]/2",
  E: "e3@2 e3 d3 c3@2 c3@2 c3!2 d3@2", F: "d3@2 d3@2 g2@2 g2@2 g2!2 a2@2", G: "a2@2 a2@2 e3@2 e3@2 e3@2 a2!2",
  H: "b2!2 e3@3 ~", I: "~@2 g2!2 g2@2 g2@2 g2@2 b2@2",
  J: "[a2@2 g2@2 f#2@2 f#2@2 c#3@2 b2@4 b2!2 e3@2 e3@2 e3@2 c3@2]/2",
  K: "[c3@2 c3!2 f#3@2 g3@2 e3@2 b2@4 g2!2 g2@2 g2@2 g2@2 b2@2]/2",
  L: "[b2@2 a2 g2 f#2@2 f#2@2 c#3@2 b2@4 b2!2 e3@2 e3@2 e3@2 c3@4 c3!2 f#3@2 f#3@2 e3@2 b2@6 b2@2 e3@3 e3!3]/4",
  M: "c3!3 d3!3", N: "g2@4 g2!2 a2@2 a2@2 a2@2", O: "e3!3 b2@3", P: "b2@4 b2@2 e3@2 e3@2 e3 d3",
  Q: "c3@2 c3@2 c3!2 d3@2 d3@2 d3@2", R: "g2@2 g2@2 g2!2 a2@2 a2@2 a2@2", S: "e3@2 e3@2 e3@2 a2!2 b2@2 b2@2",
  T: "e3@6 ~@4 g2!2", U: "g2!3 b2 a2 g2", V: "f#2@2 f#2@2 c#3@2 b2@4 b2!2", W: "e3@2 e3@2 e3@2 c3@2 c3@2 c3!2",
  X: "f#3@2 g3@2 e3@2 b2@4 g2!2", Y: "g2@2 g2@2 g2@2 b2@2 b2@2 a2 g2", Z: "e3@2 e3@2 e3@2 c3@4 c3!2",
  AA: "f#3!2 e3 b2@3", AB: "b2@2 e3@3 e3!3 c3@2 c3@2", AC: "c3 d3!3 g2@2", AD: "g2!2 a2@2 a2@2 a2@2 e3@2 e3@2",
  AE: "e3 b2@3 b2@2", AF: "b2@2 e3@2 e3@2 e3 d3 c3@2 c3@2", AG: "c3!2 d3@2 d3@2 d3@2 g2@2 g2@2",
  AH: "[e3@2 a2!2 b2@2 b2@2 e3@6 ~@10]/2",
})).s("gm_synth_bass_1").gain(0.3)

stack(bass)