Strudelify

10 Easy Pieces: X. Bear Dance

Bela Bartok

KeyB minorTempo120 bpm
0:00/0:00
// 10 Easy Pieces: X. Bear Dance — Bela Bartok
// 120 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 31 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@2 B@8 C@3 D@4 E@6 F@8>".pickRestart({
  A: "[~@23 f#4@19 ~@22, ~@15 b4@19 ~@30]/2",
  B: "[~@14 f#6@3 ~@16 f#6@4 ~@54 f6@6 f#6@3 ~@17 f#6@3 ~@18 f#6 ~@8 f6@2 ~@15 c#6@10 c#6@5 c#6@5 ~ d6@5 c#6@5 c#6@5 c#6@5 ~ d6@5 c#6@5 c#6@6 c#6@6 ~@8 c#6@4 f6@15 c#6, ~@4 d6@20 d6@20 d6@22 f6@17 c#6@56 f#6@9 ~ f#6@41 ~@38 d6@5 d6@7 ~@16, ~@9 f6@8 f6@2 f6@10 f6@8 f6@2 f6@9 f6@6 f#6@5 f#4@17 d6@2 c#6@3 b5@58 g#6@51 ~@40 c#6@6 ~@20, ~@18 f#6@15 ~@5 f#6@14 f#6 g#6@48 f#6 f6@5 d6@16 f6@4 d6@23 f6@40 ~@15 c#6@6 b3@23 f#4@22, ~@49 b4@14 f6 f#6@22 d6@14 f6 f#4@11 f6@8 f6 f#6@12 f6@11 [b3,f#4]@12 b4@5 d6@18 b4@5 c#6@6 g4@21 g4@29 ~@16]/8", // B5
  C: "[~@2 b5@5 c#6@5 c#6@5 ~ d6@5 ~@6 c#6@5 c#6@6 c#6@5 c#6@5 c#6@5 ~ c#6@9 ~@26 c#6@4 b5, ~@17 c#6@6 c#6@6 ~@11 d6@23 ~@2 c#6@6 c#6@3 f6@22, ~@24 g4@21 g4@35 ~@16, ~@67 f#4@29, ~@17 d6@3 ~@4]/3",
  D: "[~ c#6@4 ~@98 c#6@3 ~@18 [a4,f#6]@3 f6, ~@5 d6@11 ~@4 f#6@8 ~ a4@19 f#6@3 g#6@17 f#6 g#6@7 ~@4 f6@2 ~ f6@14 c#6@3 b5 a4@20 g#6@7, ~@12 f6@20 f6@4 d6@18 f#6@10 [d5,f6]@6 f#6@11 f#6@5 ~@3 d5@17 ~@6 [d5,f6]@16, ~@12 g#6@9 f6@6 a4@11 g#4@15 ~@6 f#6@3 ~@2, ~@29 f#6@13 d5@14 f6@3 d6@17 d4@19 d6@11 d6@22]/4", // D Dm
  E: "[~@67 b5@7 c#6@6 c#6@5 ~@8 c#6@6 c#6@5 ~ c#6@4 ~@6 c#6@5 ~ c#6@5 ~@36 c#6@6 ~@4 c#6@5 c#6@5 ~ d6@7 c#6@2, ~ d6@21 f6@8 f6@11 g#4@32 ~@20 [c#4,f#4]@22 f#4@24 f4@32 ~@21, ~@7 d5@17 d6@23 f6@15 c#6@10 ~@13 c#6@8 ~@16 c#6@6 c#4@20 c#6@3 d6@3 c#6@4 f6@23 ~@14 c#6@7 ~@3, ~@7 f6@11 f#6@15 ~ f#6@2 f#6@10 f#6@6 ~ c#5@19 ~@33 b4@21 c#6@7 d6@5 c#4@35 ~@19, ~@12 f#6@3 g#6@20 g#6@17 ~@7 d6@13 ~@14 d6@24 d6@17 b4@21 ~@44]/6", // F#5
  F: "[~@4 c#6@6 c#6@4 ~@13 c#6@6 ~@17 c#6@5 ~@24 c#6@5 ~@74 f6@2 ~@5 f#6@5 ~@22 f6@35 ~@29, ~@14 c#6@7 c#6@4 ~@8 c#6@10 c#6@7 ~@5 f6@30 ~@7 f6@29 ~@49 f6@2 f#3@54 ~@30, ~@16 d6@6 e4@34 ~@20 b5@8 ~@30 d3@45 ~@12 f#6@6 ~@5 d6@45 ~@29, ~@40 d6@7 d6@9 ~@16 c#6@7 ~@5 d6@11 ~@47 [c#3,g#3]@35 ~@79]/8", // C#5
})).s("gm_piano").gain(0.24)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note("<A@7 B@8 ~ C@4 ~ D@5 E@5>".pickRestart({
  A: "[~@5 b3@19 ~@79 b3@21 ~@74 b4@22 ~@4, ~@4 f#4@19 ~ b3@19 [b3,f#4]@20 [b3,f#4]@19 f#4@19 ~ f#4@21 ~@63 f#4@22 ~@16, ~@34 b4@19 b4@20 b4@20 b4@20 ~@22 b4@21 b4@20 b4@21 ~@27, ~@83 b3@20 ~@21 b3@22 [b3,f#4]@20 b3@20 ~ b3@21 ~@16]/7", // B5
  B: "[~@8 [b3,f#4,b5]@22 ~@11 b4@10 ~@58 b4@10 ~@40 d6@5 ~@20 d6@12 ~@26 d4@24 d4@10, ~@30 b3@21 ~@11 b4@18 ~@6 b4@17 ~@28 b4@21 b4@24 b4@20 ~@60, ~@74 b3@24 [b3,f#4]@21 ~ b3@22 b3@22 b3@33 ~@59, ~@92 d6@11 ~@153]/8", // B5
  C: "[~@5 d4@23 d4@22 ~@27 f6@2 ~@49, ~@50 d4@23 d4@31 ~@24, ~@51 a4@33 ~@44, ~@31 d5@11 ~@22]/4",
  D: "[~@38 b5@5 ~@31 a4@12 ~@47 d6@14 ~@13, ~@24 b4@18 ~@20 [a3,e4]@26 ~@10 g#4@23 ~@5 g4@23 ~@11, ~@32 d6@9 ~@45 g#3@35 ~@39, ~@112 [g3,d4]@37 ~@11]/5", // A5 G5
  E: "[~@55 d6@7 ~@15 f6@9 ~@29 f#6@16 ~@29, ~@6 f#6@19 ~@8 d4@30 ~@14 b2@54 ~@29, ~@11 g#6@14 ~@135, ~@18 a3@44 c#4@18 ~@16 b3@35 ~@29]/5",
})).s("gm_piano").gain(0.16)

stack(piano, piano_soft)

More by Bela Bartok