Strudelify

Largo from the New World Symphony for Violin and Piano

Dvorak

KeyD majorTempo52 bpm
0:00/0:00
// Largo from the New World Symphony for Violin and Piano — Dvorak
// 52 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5316555; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 38 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(52/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.

// other · piano
const piano = note("<~@2 A B@2 ~@4 C D E D E F G H I ~@3 C D E D E F J K L@5 ~@2 M@2>".pickRestart({
  A: "~ a4", B: "[[a3,a4]@9 ~@7]/2", C: "b3 c#4 d4@2", D: "b3@2 a3 b3", E: "b3 a3 b3@2",
  F: "[a3,d4]@5 ~ f#4 d4, ~@5 a3@3", G: "[a3,c#4]", H: "f#4 e4 d4 a4", I: "[g4,b4]@3 g4 f#4@4", J: "e4",
  K: "d4 e4 d4@2", L: "[[b3,g4]@9 [a3,f#4]@10 ~@8 a4@8 ~@8 a4@26 ~@11]/5",
  M: "[~@6 e4@10 b3@10 ~ [d4,f#4,a4]@21 ~@16]/2", // D
})).s("gm_piano").gain(0.15)

// other · piano · soft notes · Em
const piano_soft = note("<[[e4,g4] f#4] [[e4,g4] a4] [a4 ~] ~@35>").s("gm_piano").gain(0.05)

// chords · piano
const piano_2 = note("<~@2 A B C@2 D@2 E F G@4 H@2 I@2 D@2 E F G@4 J@2 K L@5 ~@2 M@2>".pickRestart({
  A: "~ [g2,g3]", B: "[f#2,d3]", C: "[d3@4 d3@5 a2 [a2,d3]@6, d2@9 ~@7]/2", D: "[d2,a2]", E: "[d2,a2] [f#2,d3]",
  F: "[g2,d3] a2 [d2,a2]@2", G: "g2/2", H: "d2/2", I: "[d3 c#3 b2 a2@5]/2",
  J: "[~@16 a3@3 d4 e4@3 d4 c#4@4 b3@2 c4@2, d2]/2", K: "a3@8 f#3@3 g3 a3@4",
  L: "[d3@19 [g3,d4]@8 [d3,a3]@8 [g3,d4]@8 [d3,a3]@8 [d3,a3]@18 ~@11]/5", // G5 D5 G5 D5
  M: "[~@6 [d3,d4]@10 [b2,b3]@10 ~ [a2,d3]@21 ~@16]/2", // D B D5
})).s("gm_piano").gain(0.15)

// chords · piano · soft notes · E5 G E5 D5 Bm
const piano_soft_2 = note("<[[e2,b2] [d2,b2]] [[e2,b2] [d2,a2]] [[b2,d3] ~] ~@35>").s("gm_piano").gain(0.05)

stack(piano, piano_soft, piano_2, piano_soft_2)

More by Dvorak