Strudelify

Maxglaner Zigeunermarsch

Oskar Rieding

KeyC majorTempo120 bpm
0:00/0:00
// Maxglaner Zigeunermarsch — Oskar Rieding
// 120 bpm, 2/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/1534126; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 122 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/2)

// 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 · piano · "Klavier"
const piano = note(`<
  A@4 B@2 A C D E A@2 B@2 A F G H I J I K L M L N O@2 P Q R@2 S T I J I K L M L N O@2 P Q R@2 U V W@6 X Y@3 W@4 Z AA AB
  AC AD AE AF AG AH AI AJ@2 AD AE AF AG AH AK AL AM W@4 X Y@3 W@4 Z AA AB AN AO A AP AQ AR AS AT AU AV AW AX AY AZ BA
  BB@2 BC BD BE BF BG@2
>`.pickRestart({
  A: "[c4,e4,a4] ~@2 [c4,e4,a4], [a2,a3] [e2,e3], ~ [c4,e4,a4]@2 ~", // Am A E Am
  B: "[d4,e4,b4] ~@2 [d4,g#4,b4], [g#2,g#3] [e2,e3], ~ [d4,e4,b4]@2 ~", // E7 G#dim G# E E7
  C: "[c4,e4,a4]!2 ~ [c4,d#4,a4], [a2,a3] [f#2,f#3]", D: "[c4,e4,g4]!2 ~ [b3,d4,f4], [g2,g3]!2",
  E: "[c3,g3,c4,e4] ~ [c3,g3,c4,e4] ~", F: "[c4,e4,a4]!2 ~ [a#3,f4,a#4], [a2,a3] [d2,d3]",
  G: "[c4,e4,a4]!2 ~ [d4,e4,g#4], [e2,e3]!2", H: "[a2,a3,c4,e4,a4] ~ [a2,a3,c4,e4,a4] ~",
  I: "~ [a3,d4,f4] ~ [a3,d4,f4], [d2,d3]!2", J: "~ [a3,d4,a4] ~ [a3,d4,a4], [f2,f3]!2",
  K: "~ [a3,c#4,e4] ~ [c#4,e4,a4], [a1,a2] [a2,a3]", L: "~ [b3,e4,g4] ~ [b3,e4,g4], [e2,e3]!2",
  M: "~ [b3,e4,b4] ~ [b3,e4,b4], [g2,g3]!2", N: "~ [b3,d#4,f#4] ~ [a3,d#4,f#4], [b1,b2]!2",
  O: "~ [g3,c4,e4] ~ [g3,b3,d#4], [c2,c3] [g1,g2]", P: "~ [g3,c4,e4] ~ [g3,a#3,e4], [c2,c3] [c#2,c#3]",
  Q: "~ [f3,a3,d4] ~ [f3,a3,d4], [d2,d3]!2", R: "~ [f3,a#3,d4] ~ [f3,a3,c#4], [a#1,a#2] [f1,f2]",
  S: "~ [f3,a#3,d4] ~ [e3,a#3,c4], [a#1,a#2] [c2,c3]", T: "[f1,f2,f3,a3,c4] ~ [f2,f3,a3,c4,f4] ~",
  U: "~ [f3,a#3,d4] ~ [f#3,c4,d4], [a#1,a#2] [g#1,g#2]", V: "[g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4,f4] ~",
  W: "~ [g3,c4,e4] ~ [g3,c4,e4], [c2,c3] [g1,g2]", X: "~ [g3,d4,f4] ~ [g3,b3,f4], [b1,b2] [g1,g2]",
  Y: "~ [g3,b3,f4] ~ [g3,b3,f4], [d2,d3] [g1,g2]", Z: "~ [a3,c4,d4] ~ [a3,c4,d4], [f1,f2] [f2,f3]",
  AA: "~ [a3,c4,d#4] ~ [c4,d#4,a4], [f#2,f#3]!2", AB: "[g2,g3,c4,e4,g4] ~ [g2,g3,d4,f4,g4,b4] ~",
  AC: "[c3,c4,e4,g4,c5] [b2,b3] [a2,a3] [g2,g3]", AD: "~ [c4,d4,a4] ~ [c4,d4,f#4], [f#2,f#3] [d2,d3]",
  AE: "~ [b3,d4,g4] ~ [b3,d4,f4], [g2,g3]!2", AF: "~ [b3,d4,e4] ~ [b3,d4,e4,g#4], [g#2,g#3] [e2,e3]",
  AG: "~ [c4,e4,a4] ~ [c4,e4,a4], [a2,a3]!2", AH: "~ [c4,d4,a4] ~ [c4,f#4,a4], [f#2,f#3] [d2,d3]",
  AI: "~ [c4,d4,f#4] ~ [c4,d4,f#4], [a2,a3] [d2,d3]", AJ: "~ [b3,d4,g4] ~ [b3,d4,g4], [g2,g3] [d2,d3]",
  AK: "~ [c4,d4,f#4] d4 [c4,d4,f#4], [a2,a3] d3", AL: "[g2,g3,b3,d4,g4] ~ [g2,g3,b3,d4,g4] ~",
  AM: "[g2,g3,b3,d4,g4] ~ [g1,g2,g3,b3,d4,f4]@2", AN: "[c3,c4,e4,g4,c5] ~ [c3,c4,e4,g4,c5] ~",
  AO: "[e4,a4,c5] ~@2 [c4,e4,a4], [a2,a3] [e2,e3], ~ [c4,e4,a4]@2 ~", // Am A E Am
  AP: "[d4,e4,b4]!2 ~ [d4,g#4,b4], [g#2,g#3] [e2,e3]", AQ: "~ [g#3,b3,e4] ~ [e3,g#3,d4], [d2,d3] [b1,b2]",
  AR: "[e3,a3,c4] ~@2 [e3,a3,c4], [a1,a2]!2, ~ [e3,a3,c4]@2 ~", // Am A Am
  AS: "[g3,b3,d4] ~@2 [g3,b3,d4], [g1,g2]!2, ~ [g3,b3,d4]@2 ~", // G
  AT: "[g3,c4,e4] ~@2 [g3,c4,e4], [c2,c3]!2, ~ [g3,c4,e4]@2 ~", // C
  AU: "[g3,c#4,e4] ~@2 [a3,c#4,e4,g4], [a1,a2]!2, ~ [g3,c#4,e4]@2 ~", // C#dim A7 A C#dim
  AV: "~ [a3,d4,f4] ~ [b3,d#4,f#4,a4], [d2,d3] [b1,b2]", AW: "~ [b3,e4,g4] ~ [b3,e4,g#4], [e2,e3] [d2,d3]",
  AX: "~ [a3,e4,a4] ~ [e4,g#4,b4], [c2,c3] [b1,b2]", AY: "~ [e4,a4,c5] ~ [e4,a4,c#5], [a1,a2] [g1,g2]",
  AZ: "~ [d4,a4,d5] ~ [d4,a4,d5], [f1,f2] [f2,f3]", BA: "~ [f4,a4,b4] ~ [d4,a4,b4], [d2,d3] [f2,f3]",
  BB: "~ [e4,a4,c5] ~ [e4,a4,c5], [e2,e3]!2", BC: "~ [d4,g#4,b4] ~ [d4,g#4,b4], [e2,e3]!2",
  BD: "~ [d4,e4,g#4] ~ [d4,e4,g#4], [e2,e3]!2", BE: "[a2,a3,c4,e4,a4] ~@3", BF: "~ [a2,a3,c4,e4,a4]@4 ~@11",
  BG: "[~@3 [a2,a3,c4,e4,a4]@5 ~@5 [a2,a3,c4,e4,a4]@5 ~@5 [a1,a2,c4,e4,a4]@5 ~@4]/2", // Am
})).s("gm_piano").gain(0.1)

stack(piano)

More by Oskar Rieding