Strudelify

Procession

Queen

KeyG majorTempo88 bpm
0:00/0:00
// Procession — Queen
// 88 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: Full arrangement: all 28 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(88/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/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.

// chords · pad poly · "Brian May"
const pad_poly = note("<A B@7 C@6 D@5 E@5 F G H I>".pickRestart({
  A: "~@2 [g2,a#3,d4,g4]", // Gm
  B: "[~ [d4,f#4,a4]@13 [d4,g4,a#4]@4 [g2,d4,g4,a#4]@51 g4@13 a4@2 a#4@2 [f2,c4,f4,a4]@17 [d4,f4,a#4]@8 [d4,f4,a4]@8 ~ f4@8 e4@8 c4@4 ~ b3@4 a3@4 g3@4 d3@17 a2@17 [d4,f4]@13 [c#4,e4]@4 ~@17 d2@17 d3@17 [d4,f4]@12 [c#4,e4]@4 ~@17 a#2@17 [b2,g3,d4,g4]@17 [c3,g3,c4,e4]@14, ~ d2@17 ~@51 [c2,a#3,e4]@17 ~@17 b2@17 g4@34 ~@33 d2@34 ~@34 a#2@33 ~@48, ~@120 c3@16 g2@17 [a3,d4,f#4,a4]@34 a3@68 a#3@51 ~@30, ~@204 [d4,f4]@51 ~@17 [d4,f4]@34 ~@30]/7", // D Gm F A# Dm C#m Dm C#m …
  C: "[~@3 f4@8 ~ e4@8 [g3,c4]@8 ~ [f3,b3]@8 [a2,e3,a3,c4]@17 g2@17 g2@12 g2@4 ~ g2@17 g2@16 g2@13 g2@4 g2@17 [g2,d4,g4,b4]@34 [c3,e4,g4]@17 [f#4,a4]@13 [g4,b4,d5]@4 [g2,g4,b4]@17 [d2,f#4,a4]@17 [g2,g4,b4]@17 [g2,f4,b4]@14, ~@3 [f2,a3,c4]@17 [g2,d4]@17 ~@17 [g3,b3,d4]@93 ~@42 c5@29 ~@5 d5@65, ~@206 d3@17 ~@65]/6", // C5 Fdim Am G C F#m G D …
  D: "[~@2 d5@17 c5@17 c5@17 ~@9 [e5,g5]@8 [c3,e5,g5]@17 [g2,g4,b4]@17 [c3,e4,g4]@17 [b2,d4,f#4]@17 [b3,e4]@16 [c5,e5]@6 [d5,f#5]@6 [e5,g5]@5 [e5,g5]@17 [e2,b3,d4]@13 [a2,a3,c4]@4 [a2,a3,c4]@17 [c5,e5]@6 [d5,f#5]@5 [e5,g5]@6 [e5,g5], ~ [c3,g4,e5]@17 g2@17 ~@34 a2@17 ~@34, ~@36 [d5,f5]@25 ~@179, ~@53 b4@17 ~@170]/5", // Em C G C Bm E5 C D …
  E: "[~@5 [f#5,a5]@5 [g5,b5]@6 [g2,g5,b5]@5 [g2,f#5,a5]@6 [d2,f#5,d6]@6 [d2,d6]@111 d5@3 a4@3 g4@3 d4@3 d5@3 a4@3 g4@3 d4@3 d5@3 a4@3 g4@3 d4@3 d5@3 a4@3 g4@3 d4@3 d5@3 a4@3 g4@3 d4@3 d5@3 a4@3 g4@3 d4@3 d5@3 a4@3 g4@3 d4@3 d5@3 a4@3 g4@3 d4@3, ~@11 f#5@53 ~@16, ~@3 d2@2]/5", // F#m G D
  F: "d5 a4 g4 d4 d5 a4 g4 d4 d5 a4 g4 d4 d5 a4 g4 d4, g2", G: "d5 a4 f4 d4 d5 a4 f4 d4 d5 a4 f4 d4 d5 a4 f4 d4, f2",
  H: "d5 c5 g4 e4 d5 c5 g4 e4 d5 c5 g4 e4 d5 c5 g4 e4, e2", I: "d4!14 g2 e2, d#2@4 d#3@2 a#2 d4",
})).s("gm_pad_poly").gain(0.41)

stack(pad_poly)

More by Queen