Strudelify

Bransle des chevaulx

Arbeau

KeyC majorTempo240 bpm
0:00/0:00
// Bransle des chevaulx — Arbeau
// 240 bpm, 2/2, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4847519; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 24 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(240/4)

// 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.

// other · piano
const piano = note("<A B@3 A C D E F G H I F J K E L M@2 N L O@2 P>".pickRestart({
  A: "g4@2 c5!2", B: "[c5@4 b4@2 c5@4 b4@2 e4 f#4 g4@4 f#4@2 g4@4]/3", C: "d5 c5 b4 c5", D: "c5@3 b4", E: "g4",
  F: "a#4@2 a#4!2", G: "a4@2 g4 c5", H: "a#4@2 a4@2 d5@2 g4 a4", I: "b4!2", J: "a4@4 g4@3 a4", K: "a#4 g4 g4@2",
  L: "c5@2 c5!2", M: "[d5@2 c5@2 b4@2 g4@4 f4 d#4 d4@2 g4 a4]/2", N: "b4 c5 b4 g4",
  O: "[d5@2 c5@2 b4@2 g4@4 f4 d#4 d4@2 g4@2]/2", P: "g#4 g4 e4@2",
})).s("gm_piano").gain(0.3)

// other · piano
const piano_2 = note("<A B C D E F G H I J K L I M N O P Q R S P Q R T>".pickRestart({
  A: "e4@3 f4 g4@2 g4@2", B: "a4 g4!2 a4", C: "g4!2 c4 d4", D: "d4 b3", E: "c4 d4 e4 f4 g4@2 g4@2", F: "a#4 g4!2 a4",
  G: "g4!2 g4@2", H: "g4", I: "d4@2 g4!2", J: "c4@3 d4 e4 f4 g4@2", K: "g4@2 e4 f4 g4@2 e4@2", L: "g4!2",
  M: "c4@3 d4 e4 f4 g4 e4", N: "f4 e4 d4@2", O: "e4", P: "g4@2 f4 d#4 g4@2 f4 d#4", Q: "d4 d#4 d4@2", R: "d4@2 g4 d#4",
  S: "d4 g4@2 d#4", T: "f4 d4 c4@2",
})).s("gm_piano").gain(0.3)

// other · piano
const piano_3 = note("<A B C D A E F G H I J K H L M G A N O P A N O Q>".pickRestart({
  A: "c4@2 c4!2", B: "f3 c4 g3 f3", C: "c4 g3 a3 g3", D: "d3 g3", E: "a#3 c4 g3 f3", F: "c4 c3 g3@2", G: "c3",
  H: "g3@2 g3!2", I: "f3@2 c4 c3", J: "g3 a3 g3 c3", K: "g3!2", L: "f3@2 c4!2", M: "a#3 c4 g3@2", N: "g3 c4 g3@2",
  O: "g3@2 g3 c3", P: "g3 c3 g3 c3", Q: "f3 g3 c3@2",
})).s("gm_piano").gain(0.3)

stack(piano, piano_2, piano_3)