Strudelify

60 Studies for the Violin Op.45

Op 45 No 1

KeyC majorTempo110 bpm
0:00/0:00
// 60 Studies for the Violin Op.45 — Op 45 No 1
// 110 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5984520; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 28 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(110/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 A B C D E F G H G H I J K L M N O P A B A B Q R S T>".pickRestart({
  A: "c5 b4 c5 b4 c5 d5 e5 d5, c3 [e3,g3] g2 [e3,g3]", B: "c5 b4 c5 b4 c5 g4 e4 g4, c3 [e3,g3] g2 [e3,g3]",
  C: "c5 b4 c5 b4 c5 d5 e5 f5, c3 [e3,g3] g2 [e3,g3]", D: "g5 a5 b5 a5 g5 f5 e5 d5, g2 [d3,g3,b3] b2 [d3,g3,b3]",
  E: "c5 b4 c5 b4 c5 b4 a4 g4, c3 [e3,g3] g2 [e3,g3]", F: "f4 e4 d4 c4 b3 g3 [a3,b3] b3, g2 [d3,g3,b3] b2 [d3,g3]",
  G: "c4 b3 c4 b3 c4 b3 c4 b3, c3 [e3,g3] g2 [e3,g3]", H: "c4 e4 g4 c5 e5 c5 g4 e4, c3 [e3,g3] g2 [e3,g3]",
  I: "f4 g4 a4 g4 f4 g4 a4 g4, f2 [c3,f3,a3] a2 [c3,f3,a3]", J: "f4 g4 a4 g4 f4 e4 d4 c4, f2 [c3,f3,a3] a2 [c3,f3,a3]",
  K: "b3 a3 ~ a3 b3 c4 d4 e4, g2 [d3,g3,b3] b2 [d3,g3,b3]", L: "f4 e4 d4 e4 f4 g4 a4 b4, g2 [d3,g3,b3] b2 [d3,g3,b3]",
  M: "c5 b4 c5 d5 e5 f5 g5 a5, c3 [e3,g3] g2 [e3,g3]", N: "b5 a5 g5 a5 b5 a5 g5 a5, g2 [d3,g3,b3] b2 [d3,g3,b3]",
  O: "b5 a5 g5 a5 g5 f5 d5 b4, g2 [d3,g3,b3] b2 [d3,g3,b3]", P: "g4 b4 d5 f5 g5 f5 d5 b4, g2 [d3,g3,b3] b2 [d3,g3,b3]",
  Q: "c5 d5 e5 d5 c5 d5 e5 d5, [c4,e4,g4]!2", R: "c5 e5 c5 g4 e4 c5 g4 e4, [g3,c4,e4] [e3,g3,c4]",
  S: "c4 b3 c4 b3 [g3,c4] ~ a3 b3, [c3,e3,g3] [c3,e3], ~@5 g3@3", T: "[c3,e3,g3] ~, c4@11 ~@5",
})).s("gm_piano").gain(0.4)

stack(piano)