Strudelify

Sleeping Beauty 4 hands

S. Hermand

KeyF majorTempo170 bpm
0:00/0:00
// Sleeping Beauty 4 hands — S. Hermand
// 170 bpm, 3/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5945468; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 37 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(170/3)

// 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
const piano = note("<A@4 B C D E F G H@2 I J K L M N O P B C D E Q R S@2 T@2 U@2 V@2 W X Y>".pickRestart({
  A: "~@5 [d4,f4]@3 ~@3 [d4,f4]@3 ~@2", B: "~@5 [d4,f4]@3 ~@3 [d4,f4]@3 ~@2, bb4@15 ~",
  C: "~@5 [d4,f4]@3 ~@3 [d4,f4]@3 ~@2, a4@15 ~", D: "~@5 [d4,f4]@3 ~@3 [d4,f4,g4]@3 ~@2, bb4@5 ~@3",
  E: "a4@5 [d4,f4]@3 ~@3 [d4,f4,g4]@3 ~@2, ~@5 bb4@5 ~@6", F: "~@5 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@2, a4@10 ~ c5@5",
  G: "~@5 [eb4,f4]@3 ~@3 [eb4,f4,b4]@3 ~@2, d5@5 ~@3", // Ebsus2 Fm7b5
  H: "[~@5 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@7 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@2, c5@15 ~]/2", // Ebsus2
  I: "~@5 [a4,c5]@3 ~@3 [a4,c5]@3 ~@2, f5@15 ~", J: "~@5 [g4,c5]@3 ~@3 [g4,c5]@3 ~@2, e5@15 ~",
  K: "~@5 [gb4,c5]@3 ~@3 [gb4,c5]@3 ~@2, eb5@5 ~@3", L: "eb5@5 [eb4,f4]@3 ~@3 [eb4,f4,c5]@3 ~@2, ~@5 d5@5 ~@6",
  M: "~@5 [bb4,d5]@3 ~@3 [bb4,d5,f5]@3 ~@2, g5@5 ~@3", N: "~@5 [f4,bb4]@3 ~@3 [f4,bb4,d5]@3 ~@2, eb5@5 ~@3",
  O: "d5@5 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@2, ~@5 c5@5 ~ b4@5", // Ebsus2
  P: "c5@3 ~@2 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@2, ~@5 g4@5 ~ a4@5", Q: "~@5 f4@3 ~@3 [f4,a4,c5]@3 ~@2, a4@5 ~@3",
  R: "~@5 [f4,ab4]@3 ~@3 [f4,ab4,b4]@3 ~@2, c5@5 ~@3", // Fm Fdim
  S: "[~@5 [f4,a4]@3 ~@3 [f4,a4]@3 ~@7 [f4,a4]@3 ~@3 [f4,a4]@3 ~@2, c5@15 ~]/2", // F
  T: "[~@5 [a4,c5]@5 ~ [a4,c5]@5 ~@5 [bb4,c5]@5 ~ [bb4,c5]@5, d5@10 ~ eb5@10 e5@10 ~]/2", // Am Bbsus2
  U: "[~@5 [a4,c5]@5 ~ [a4,c5]@5 ~@5 [a4,c5]@5 ~ [a4,c5]@5, g5@10 ~ f5@10 a5@10 ~]/2", // Am
  V: "[~@5 [bb4,d5]@5 ~ [bb4,d5]@5 ~@5 [bb4,c5]@5 ~ [bb4,c5]@5, bb5@10 ~ a5@10 g5@10 ~]/2", // Bb Bbsus2
  W: "[a4,c5,f5]@5 e5@3 f5@3 a5@2 g5@3", X: "f5@3 ~@2 c5@3 d5@3 c5@2 a4@3, ~@3 d5@5 ~@8", Y: "f4@3 ~@2 f5@5 ~ f6@5",
})).s("gm_piano").gain(0.32)

// chords · piano
const piano_2 = note("<A B C B A D A D E F G F H I J F K L F M N O P Q R S T@2 U@2 V@2 W@2 X ~ Y>".pickRestart({
  A: "~@5 f3@5 ~ f3@5, bb1 ~", B: "~@5 f3@3 ~@3 f3@3 ~@2, f1 ~", C: "~@5 f3@3 ~@3 f3@3 ~@2, bb1 ~",
  D: "~@5 f3@5 ~ f3@5, f1 ~", E: "~@5 f3@5 ~ f3@5, c2 ~", F: "~@5 f3@5 ~ f3@5, a1 ~", G: "~@5 f3@5 ~ f3@5, ab1 ~",
  H: "~@5 a3@5 ~ a3@5, f1 ~", I: "~@5 g3@5 ~ g3@5, g1 ~", J: "~@5 gb3@5 ~ gb3@5, ab1 ~", K: "~@5 bb3@5 ~ bb3@5, bb1 ~",
  L: "~@5 bb3@5 ~ bb3@5, f1 ~", M: "~@5 f3@5 ~ f3@5, f1@15 ~", N: "bb3@15 ~, bb1@5 ~@11", O: "a3@15 ~, f1@3 ~@13",
  P: "bb3@10 ~ g3@3 ~@2, bb1@3 ~@13", Q: "a3@5 bb3@5 ~ g3@3 ~@2, d2@3 ~@13", R: "a3@10 ~ c4@3 ~@2, c2@3 ~@13",
  S: "c4@10 ~ [db2,b3]@3 ~@2, d2@3 ~@13", T: "[c2@3 ~@13 c2@3 ~@13, c4@15 ~]/2",
  U: "[d4@10 ~@6 c2@3 ~@2 e4@10 ~, c2@3 ~@8 eb4@10 ~@11]/2", V: "[g4@10 ~@6 c2@3 ~@2 a4@10 ~, c2@3 ~@8 f4@10 ~@11]/2",
  W: "[bb4@10 ~@6 c2@3 ~@2 g4@10 ~, c2@3 ~@8 a4@10 ~@11]/2", X: "f4@5 ~@11, f2@3 ~@13", Y: "~@5 f3@5 ~ f1@5",
})).s("gm_piano").gain(0.48)

stack(piano, piano_2)

More by S. Hermand