Strudelify

Concerto in B minor. O. Rieding Op.35

O. Rieding Op. 35

KeyD majorTempo132 bpm
0:00/0:00
// Concerto in B minor. O. Rieding Op.35 — O. Rieding Op. 35
// 132 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5135720; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 84 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(132/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · piano
const piano = note(`<
  A B C D ~@5 E F G ~@5 H I J K L M N O P Q ~@5 R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR
  AS AT AU ~@5 E AV AW AX AY AZ BA BB BC BD BE@2 BF BG BH BI BJ
>`.pickRestart({
  A: "f#4 b4 f#4 e4", B: "[b3,d4] [a3,b3,d#4] [g3,b3,e4] [e2,e3,b3,c#4,g4]",
  C: "[b3,d4,f#4] [d4,f#4,b4] [d4,g#4,b4] [g#4,b4,d5], [f#2,f#3] [f2,f3]", // Bm G#dim F# F
  D: "[f#2,f#3,a#4,c#5]@4 ~@3 [g2,f#3,f#4,a#4,c#5,f#5] [g2,f#3,f#4,a#4,c#5,f#5]@4 ~@4", E: "~ d4 f#4 d4 b3 d4 f#4 d4",
  F: "b3 d4 g4 d4 b3 c#4 g4 c#4, g2 e2", G: "b3 d4 f#4 d4 a#3 c#4 f#4 c#4, f#2", H: "~ d4 f#4 d4 b3 e4 g4 e4, ~ e2",
  I: "b3 d4 f#4 d4 a#3 e4 f#4 e4, f#2", J: "b3 d4 f#4 d4 b3 d4 f#4 d4, b2 f#2",
  K: "b3 f#4 b4 f#4 b3 f#4 g#4 f#4, d2 d3", L: "c#4 f#4 a4 f#4 c#4 f#4 a4 f#4, c#2 c#3",
  M: "c#4 f4 b4 f4 c#4 f4 b4 f4, c#2 c#3", N: "c#4 f#4 a4 f#4 c#4 f#4 a4 f#4, f#2 f#3",
  O: "c#4 f#4 a4 f#4 c4 f#4 a4 f#4, [d2,d3] [d#2,d#3]", P: "[e2,e3,c#4,e4,a4]", Q: "[e2,e3,b3,d4,e4,g#4]",
  R: "[d2,d3] [c#2,c#3] [b1,b2] [a1,a2], [a3,d4,f#4] [b3,d4,f#4]", // D C# B A D Bm
  S: "[g1,g2] [f#1,f#2] [e1,e2] [d1,d2], [b3,d4,g4] [b3,e4,g4]", T: "[c#1,c#2,a3,e4,g4] [c#2,c#3,a3,e4,g4]",
  U: "~ [a3,d4,f#4] [d4,f#4,a4] [d4,f#4,a4,d5], [d2,d3]@3 ~", // D
  V: "[b2,b3] [a2,a3] [g2,g3] [f#2,f#3], [d4,f#4] [b3,d4,g4]", // B A G F# D G
  W: "[e2,e3] [d2,d3] [c#2,c#3,b3,e4,g4] [b1,b2,c#4,e4,g4], [b3,e4,g4] ~", // E D C#m7b5 Em
  X: "a#1 a#2 a#1 a#2 b1 b2 b1 b2, [c#4,e4,f#4] [b3,d4,f#4]", // F#7 Bm
  Y: "g#1 g#2 g#1 [g#2,b3,d4,e4] a1 a2 c#2 a2, [b3,d4,f4]@3 ~ [a3,c#4,e4]@2 [a3,e4,g4]@2", // E7 Bdim A A7
  Z: "[d2,d3,a3,d4,f#4] ~ [a2,c4,d4,f#4] ~", AA: "[g2,b3,d4,g4]@2 ~@2 g4 d4 [e4,g4] d4, ~@2 b2 a#2",
  AB: "[a2,c#4,e4,g4] ~ [e3,a3,c#4,g4] ~", AC: "[d3,a3,d4,f#4]@2 ~@2 [d4,f#4] a3 [d4,f#4] a3, ~ d3",
  AD: "[e4,f#4] a#3 [e4,f#4] a#3 [d4,f#4] b3 [d4,f#4] b3, c#3 b2", // Esus2 D
  AE: "[d4,f4] b3 [d4,f4] b3 [d4,f4] b3 [d4,f4] b3, g#2!2", AF: "[a2,a3,d4,f#4] ~@3",
  AG: "[a2,a3,c#4,g4] ~ [e3,c#4,g4,a4] ~", AH: "[f#4,a4] d4 [f#4,a4] d4 [f#4,a4] d4 [f#4,a4] d4, f#3 a2 d3 ~",
  AI: "[g4,a4] c#4 [g4,a4] c#4 [g4,a4] c#4 [g4,a4] c#4, e3 a2 e3 a2", // Gsus2
  AJ: "[f#4,a4] d4 [f#4,a4] d4 [f#4,a4] d4 [f#4,a4] d4, d3 a2 d3 ~", // F#m
  AK: "~ [a4,a5] ~ [c#5,c#6] ~ [e5,e6] ~ [g5,g6], [e3,g3] a2 [c#3,e3,g3] a2", // A C# E G Em C#dim
  AL: "[d3,f#3,a3] d4 [d3,f#3,a3] d4 [d3,f#3,a3] d4 [d3,f#3,a3] d4 [d3,f#3,a3] d4 [d3,f#3,a3] d4 [d3,f#3,a3] d4 [d3,f#3,a3] d4, [f#5,f#6] [a5,a6] [f#5,f#6] [e5,e6]", // D F# A F# E
  AM: "[d3,f#3] a3 [d3,f#3] a3 [d3,f#3] a3 [d3,f#3] a3 [d3,f#3] a3 [d3,f#3] a3 [d3,f#3] a3 [d3,f#3] a3, [d5,d6] [a4,a5] [f#4,f#5] [d4,d5]", // D A F# D
  AN: "[b2,f#3] b3 [b2,f#3] b3 [b2,f#3] b3 [b2,f#3] b3 [b2,f#3] b3 [b2,f#3] b3 [b2,f#3] b3 [b2,f#3] b3, [f#4,b4,d5]@2 [d4,f#4,b4] ~", // B5 Bm
  AO: "[b2,d3] f#3 [b2,d3] f#3 [b2,d3] f#3 [b2,d3] f#3 [b2,d3] f#3 [b2,d3] f#3 [b2,d3] f#3 [b2,d3] f#3, [b3,d4,f#4]@2 [d4,f#4,b4] ~", // Bm
  AP: "[g2,d3] g3 [g2,d3] g3 [g2,d3] g3 [g2,d3] g3 [g2,d3] g3 [g2,d3] g3 [g2,d3] g3 [g2,d3] g3, [b4,b5] [d5,d6] [b4,b5] [a4,a5]", // G5 B D B A
  AQ: "[g2,b2] d3 [g2,b2] d3 [g2,b2] d3 [g2,b2] d3 [g2,b2] d3 [g2,b2] d3 [g2,b2] d3 [g2,b2] d3, [g4,g5] [d4,d5] [b3,b4] [g3,g4]", // G D B G
  AR: "[e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3, [b3,e4,g4] [e4,g4,b4]", // E5 Em
  AS: "[e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3 [e2,b2] e3, [g4,b4,e5] [e4,g4,b4] [b3,e4,g4]@2", // E5 Em
  AT: "[f#2,d4,f#4] [f#3,b3] [f#2,d4,f#4] [f#3,b3] [f#2,d4,f#4] [f#3,b3] [f#2,d4,f#4] [f#3,b3] [f#2,d4,f#4] [f#3,b3] [f#2,d4,f#4] [f#3,b3] [f#2,d4,f#4] [f#3,b3] [f#2,d4,f#4] [f#3,b3]", // D B5 D B5 D B5 D B5 …
  AU: "[f#2,e4,f#4] [f#3,b3] [f#2,e4,f#4] [f#3,b3] [f#2,e4,f#4] [f#3,b3] [f#2,e4,f#4] [f#3,b3] [f#2,c#4,e4,f#4] [f#3,a#3] [f#2,c#4,e4,f#4] [f#3,a#3] [c#4,e4,f#4] a#3 [c#4,e4,f#4] a#3, ~@6 f#2 ~", // F#7 B5 F#7 B5 F#7 B5 F#7 B5 …
  AV: "c4 d4 f#4 d4 c4 d4 f#4 d4, a2 d3", AW: "b3 d4 g4 d4 b3 d4 g4 b4, g2 g3", AX: "b3 e4 g4 e4 c4 f#4 a4 f#4, e3 d#3",
  AY: "b3 e4 g4 e4 b3 e4 b3 e4, e3 g2", AZ: "g4 e4 c#4 g3 e4 g3 c#4 g3, a2 a#2",
  BA: "d4 b3 f#3 b3 f#3 b3 f#3 b3, b2 [d2,d3]", BB: "g3 b3 e4 b3 e4 b3 g3 b3, [e2,e3]",
  BC: "f#3 b3 d4 b3 d4 b3 f#3 b3, f#2", BD: "[b3,c#4] f#3 [b3,c#4] f#3 [a#3,c#4] f#3 [a#3,c#4,e4] f#3, f#2 [f#1,f#2]",
  BE: "[b3,d4] f#3 [b3,d4] f#3 [b3,d4] g3 [b3,d4] g3, [b1,b2]", // Bm B
  BF: "[b3,d4] f#3 [b3,d4] f#3 [d4,f#4] b3 [d4,f#4] b3, [b1,b2]", // Bm D B
  BG: "b1 a#1 b1 a#1 b1 a#1 b1 a#1 b1 a#1 b1 a#1 b1 a#1 b1 a#1, [d4,f#4,b4] [b3,d4,f#4]", // Bm
  BH: "b1 a#1 b1 a#1 b1 a#1 b1 a#1 b1 a#1 b1 a#1 b1 a#1 b1 a#1, [f#3,b3,d4] [b3,d4,f#4]", // Bm
  BI: "[b1,d4,f#4,b4] [b2,b3,b4,d5,f#5,b5]", BJ: "[b1,b2,d3,f#3,b3]",
})).s("gm_piano").gain(0.3)

// chords · piano · soft notes
const piano_soft = note("<~@4 A@2 B A C D ~@2 E A B A C F ~@9 G H I J K ~@30 A@2 B A C D ~@16>".pickRestart({
  A: "f#4 d4 b3 d4 f#4 d4 b3 d4, b1 b2", B: "g4 e4 b3 e4 g4 e4 b3 e4, b1 b2", C: "f#4 c#4 a#3 c#4 a#3 c#4 f#4 c#4, f#2",
  D: "b2, b3 ~@7", E: "b3 d4 f#4 d4 b3 d4 f#4 d4, b1 b2", F: "b2 ~, b3 ~@7", G: "[a2,a3,c#4,e4,a4] ~",
  H: "~ [a2,e3,a3,c#4]!2 ~", I: "~ [a2,e3,g#3,b3,d4]!2 ~", J: "~ [a2,e3,g3,a3,c#4]!2 ~", K: "~ [a2,a3,c#4,e4,g4]",
})).s("gm_piano").gain(0.2)

stack(piano, piano_soft)