Strudelify

Roumanian Folk Dance, Sz. 56 No. 6: Fast Dance

Bela Bartok

KeyA minorTempo120 bpm
0:00/0:00
// Roumanian Folk Dance, Sz. 56 No. 6: Fast Dance — Bela Bartok
// 120 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 33 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · piano · "A.PIANO 1"
const piano = note("<A B@7 C@8 D E@6 F@7 G@3>".pickRestart({
  A: "c5@7 b4 ~ c5 ~@12 c5@6 d5@2 e5@2, ~@7 a2@10 [a3,c4,e4]@11 d2@4, ~@11 d5@16 ~@5", // Am
  B: "[~@11 f#5@5 f#5@2 g5 ~@15 e5@2 e5@3 ~@3 c5@4 ~@2 a3@6 ~@4 b4 ~@2 c5@2 ~@17 [a3,c5]@8 ~@7 g4 ~@16 a2@10 e4@5 ~@19 c5@2 ~@3 c5 ~@12 c5@5 d5@3 e5 ~@12 f#5@5 ~@3 g5@2 ~@17 e5@3 ~@3 [b3,d5]@2 c5@4, ~ e5@15 ~@4 g5@16 c4@17 ~@17 [g3,b3]@11 ~@9 [b3,d4]@10 ~ [a3,a4]@22 ~@25 b4@3 ~@2 d5@16 ~@5 e5@20 ~@2 g5@19 e4@6 ~@3, ~@6 [a3,c4,d4]@10 g2@22 ~@8 a2@8 ~@4 e2@6 ~@14 b4@2 c4@7 ~@2 b4@2 ~@57 f#4@6 ~@25 a3@6 ~@5 [c4,f#5]@6 ~@6 d3@13 [a3,e5]@3 ~@2 c4@2 ~@2, ~@26 d4@12 ~ d5@14 ~@10 d5@16 d5@2 ~@7 a4@2 ~@12 [c#4,e4]@20 [a3,c#4]@27 a3@20 [a3,c4,e4]@11 d4@10 d4@14 b3@12 g3@7 ~, ~@32 [b3,f5]@6 ~@9 [e3,c5]@7 ~@16 e3@33 ~@32 a1@14 ~@10 a2@11 ~@8 d3@7 ~@16 g2@7 ~@2 f5@6 ~@8]/7", // Am Bm G Bm A D7 Cdim A5 …
  C: "[~@8 d2@7 b4@2 c5@2 ~ d5@5 ~@16 a4@2 ~@3 b3@5 g4@2 ~@38 a1@13 ~@17 c5@2 ~ c5@2 [e4,d5]@8 ~ d5 ~@5 b4@2 ~@20 b4@5 ~@7 e5@2 a5@3 ~@2 b5@6 c6@7 ~@8 g5@5 ~@15 b4@5 ~@3 c5 ~@13 b4@6 [c4,c5]@5, ~@2 c2@12 ~ e2@5 ~@5 [g3,b3]@10 [c5,d5] a3@16 ~@5 [a3,c#4,e4]@21 [a3,c#4,e4]@27 ~@63 [c4,c5]@10 ~@10 [f3,a3,e4]@20 ~ [g3,b3]@19 d5@4 ~ c5@17 ~@6, ~@3 c5@12 ~@10 d5@10 c4@8 ~@3 d4@11 ~@47 g4@2 ~@10 f#4@10 ~@82 d4@21 [e3,b3,c4]@22 ~@5, ~@26 e3@32 ~@9 a2@38 ~@53 a1@11 ~@8 [a2,g3]@11 ~@10 [d2,a5]@10 ~@10 [e2,d5]@12 ~@10 a2@11 ~@5, ~@30 b4@9 ~@6 [b4,c5]@6 ~@6 a4@48 a4@16 ~@2 b4@3 ~@8 a4@2 ~@10 c5@22 ~@28 b5@12 f5@3 ~@5 e5@14 ~@26]/8", // E7 C G Csus2 A C Fmaj7 G …
  D: "~@7 c5@5 ~ g4@7 ~@12, ~@4 b4@5 ~@23",
  E: "[~@9 d5@8 a4@2 e4@2 ~@4 b4@5 ~@3 c5@2 ~@16 e5@9 c5 ~ g4@7 ~@3 a4 ~@4 e5 ~@4 a4 ~@15 e5@4 ~ [g#3,d4,a4]@2 ~@3 e5@4 ~ a3@4 ~@6 a2@9 ~ e4@6 ~@7 a1@10 g4@2 ~@19 d5@7 ~@3 [e3,b3]@5, ~@5 c5@2 c5@12 d5 ~@10 d5@16 d5@3 d5@10 ~@28 e5@10 ~@36 [a3,c#4]@25 ~@15 c5@2 ~ c5@4 ~@6 g4@6, ~@6 b4@13 ~@16 c5@12 c5@12 ~@73 g#3@2 ~@34 f2@11 ~@13, ~@40 f#4@29 ~@23 [a3,c4,f#4,a4]@10 ~ e3 ~@9 [e3,c#4,a4]@21 ~@24 [f3,c4,e4,a4]@21 ~@7 d5@3 ~@3, ~@174 b4@5 ~@6 a4@2 ~@5]/6", // D E5 A F#dim A Fmaj7
  F: "[b4@2 ~@3 d5@2 c5 ~@26 e5@2 a5@2 ~@3 b5@6 ~@15 g5@6 [c4,d4,f4]@7 ~@7 b4@3 ~@3 d5@2 c5 ~@13 b4@4 ~@12 c5@4 ~@2 g4@7 ~@22 d5@7 a4@2 d5@2 ~@3 b4@5 d5@3 c5 ~@15 d5@2 e5@8 c5 ~@10 a4 ~@5 e5@4, ~@5 [d3,a3,f4]@32 ~@10 [g3,c6]@20 ~ a3@15 ~@16 g2@9 d5@2 ~@8 b4@4 ~@12 a4@28 ~@62, ~@10 c5@16 c5@11 ~@18 b5@12 ~ f5@3 ~@4 e5@8 ~@9 c5@17 [e4,c5]@13 ~@29 b4@12 ~@27 d5@3 ~@31, ~@15 d2@22 ~@20 [b3,c4,e4,a5]@10 ~@9 d5 [g#3,c4,f4]@8 ~@2 [g3,c4]@22 ~@76 a3@25 ~@14, ~@20 b4@16 [c3,d3,f3]@12 e3@20 ~@9 d4@11 f4@22 ~@40 c5@3 c5@11 ~@15 c5@12 c5@5 ~@28]/7", // Dm7 Dm C5 C Am Fm C5 Dm7
  G: "[[f#3,c4]@5 ~@5 c4@5 e5@5 a4@3 ~@2 e5@5 ~@12 a2@10 ~@18 a1@16 ~@10, d3@10 [a3,f#4]@11 ~@31 g#3@2 ~@42, a4@3 ~@2 e5@8 ~@40 [a3,c#4,e4]@33 ~@10, ~@10 a4@3 ~@7 [e3,g#3,d4]@10 [e3,a3,d4,a4]@24 ~@42]/3", // F#dim D A E7 Dsus2
})).s("gm_piano").gain(0.48)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note("<~ A@2 ~@2 B ~@5 C@3 D E@3 F@3 ~@3 G@2 H@5 ~@2>".pickRestart({
  A: "[~@13 c4@5 b3@2 ~@12]/2", B: "~@21 d4@6 ~@5",
  C: "[~@20 [a3,d4]@10 [g3,c4]@9 ~ b3@6 ~@5 [e3,b3,c4]@21 [e3,a3]@10 ~@14, ~@39 f#3@11 ~@46, ~@39 d4@7 ~@50]/3", // D5 C5 Cmaj7 A5
  D: "~@3 c6@13 ~@16", E: "[~@27 [e3,a3]@12 g2@13 ~@12 [a3,d#4]@18 [e3,a3]@12 d2@2, ~@53 [f2,a4]@30 ~@13]/3",
  F: "[~@9 [a3,c4]@28 ~@13 [d3,f#3]@20 ~@26, ~@25 c4@5 ~@18]/3", G: "[~@4 b2@5 ~@7]/2",
  H: "[~@13 [g3,c4]@11 f#2@13 ~@12 [a3,d#4]@19 [a3,d#4]@11 ~@29 g4@6 ~@5 g3@13 ~@28, ~@38 f2@30 ~@11 e2@21 ~@18 d#3@13 ~@29, ~@89 e4@25 ~@4 c4@10 ~@32]/5", // C5 Adim
})).s("gm_piano").gain(0.32)

stack(piano, piano_soft)

More by Bela Bartok