Strudelify

Vicetone - United We Dance [Piano Cover]

Natural Midi's

KeyB♭ majorTempo126 bpm
0:00/0:00
// Vicetone - United We Dance [Piano Cover] — Natural Midi's
// 126 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5912321; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 117 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(126/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · "Klavier, Keyzone Classic"
const piano = note("<~@24 A@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 D ~@39 A@2 B@2 C@2 B@2 D ~@20>".pickRestart({
  A: "[~@4 [c4,c5]@2 ~@2 [c4,c5]@2 [d4,d5]@2 [eb4,eb5] ~@2 [c4,c5]@3 [g4,g5]@2 ~ [g4,g5] ~@2 [g4,g5] ~@2 [g4,g5]@2 ~ [g4,g5]@2]/2", // C D Eb C G
  B: "[[bb4,bb5] [g4,g5] [eb4,eb5]@2 [f4,f5]@2 ~@2 [f4,f5]@2 [g4,g5]@2 [f4,f5] ~@2 [eb4,eb5]@3 [c4,c5]@2 ~ [c4,c5] ~@2 [c4,c5] ~@2 [c4,c5]@2 ~ [c4,c5]@2]/2", // Bb G Eb F G F Eb C
  C: "[[eb4,eb5]@2 [d4,d5]@2 [c4,c5]@2 ~@2 [c4,c5]@2 [d4,d5]@2 [eb4,eb5] ~@2 [c4,c5]@3 [g4,g5]@2 ~ [g4,g5] ~@2 [g4,g5] ~@2 [g4,g5]@2 ~ [g4,g5]@2]/2", // Eb D C D Eb C G
  D: "[eb4,eb5] [d4,d5] ~@6", // Eb D
})).s("gm_piano").gain(0.4)

// chords · piano
const piano_2 = note(`<
  ~@32 A@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 D ~@7 A@2 B@2 C@2 B@2 C@2 B@2 D ~@3 A@2 B@2 C@2 B@2 C@2 B@2 C@2
  B@2 D ~@20
>`.pickRestart({
  A: "[~@4 [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 [c4,eb4,g4] ~@2 [c4,eb4,g4]@3 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4] ~@2 [eb4,g4,bb4] ~@2 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2]/2", // Cm Eb
  B: "[[eb4,g4,bb4]@2 [eb4,g4,bb4]@2 [bb3,f4,g4]@2 ~@2 [bb3,f4,g4]@2 [bb3,f4,g4]@2 [bb3,f4,g4] ~@2 [bb3,f4,g4]@3 [f3,c4,a4]@2 ~ [f3,c4,a4] ~@2 [f3,c4,a4] ~@2 [f3,c4,a4]@2 ~ [f3,c4,a4]@2]/2", // Eb Gm7 F
  C: "[[f3,c4,a4]@2 [f3,c4,a4]@2 [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 [c4,eb4,g4] ~@2 [c4,eb4,g4]@3 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4] ~@2 [eb4,g4,bb4] ~@2 [eb4,g4,bb4]@2 ~ [eb4,g4,bb4]@2]/2", // F Cm Eb
  D: "[f3,c4,a4]!2 ~@6", // F
})).s("gm_piano").gain(0.4)

// chords · piano
const piano_3 = note(`<
  A B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 D@2 ~@43 A B@2 D@2 ~@7 A B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2
  B@2 C@2 B@2 C@2 B@2 D@2
>`.pickRestart({
  A: "~ [c3,eb3,g3,c4,eb4,g4]@3", B: "[~@2 [eb3,g3,bb3,eb4,g4,bb4]@17 ~ [bb2,f3,g3,bb3,f4,g4]@12]/2",
  C: "[~@2 [f2,c3,f3,a3,c4,a4]@17 ~ [c3,eb3,g3,c4,eb4,g4]@12]/2", D: "[~@2 [f2,c3,f3,a3,c4,a4]@17 ~@13]/2",
})).s("gm_piano").gain(0.35)

// other · piano
const piano_4 = note(`<
  ~@16 A B C B D B C B E ~@31 A B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D
  B C B E ~@12
>`.pickRestart({
  A: "~@2 [eb4,eb5] [c4,c5]!2 [eb4,eb5] [c4,c5]!2", B: "[eb4,eb5] [c4,c5]!2 [eb4,eb5] [c4,c5]!2 [eb4,eb5] [c4,c5]",
  C: "[eb4,eb5] [f4,f5] [eb4,eb5] [c4,c5]!2 [eb4,eb5] [c4,c5]!2", // Eb F Eb C Eb C
  D: "[g4,g5] [eb4,eb5]!2 [c4,c5]!2 [eb4,eb5] [c4,c5]!2", E: "[g4,g5] [eb4,eb5] ~@6",
})).s("gm_piano").gain(0.35)

// other · piano
const piano_5 = note("<~@24 A@8 ~@8 A@8 ~@4 A@40 B@5 ~@20>".pickRestart({
  A: "[~@4 [c2,c3]@15 ~ [eb2,eb3]@15 ~ [bb1,bb2]@15 ~ [f1,f2]@15 ~ [c2,c3]@15 ~ [eb2,eb3]@15 ~ [bb1,bb2]@15 ~ [f1,f2]@12]/8", // C Eb Bb F C Eb Bb F
  B: "[~@4 [c2,c3]@15 ~ [eb2,eb3]@15 ~ [bb1,bb2]@15 ~ [f1,f2]@15 ~@13]/5", // C Eb Bb F
})).s("gm_piano").gain(0.4)

// chords · piano
const piano_6 = note(`<
  ~@32 A B C D E B C D E B C D E B C D E B C D E B C D F ~@23 A B C D E B C D E B C D E B C D E B C D E B C D E B C D E
  B C D F ~@4
>`.pickRestart({
  A: "~ [c2,g2,c3]!3", B: "[c2,g2,c3] [d2,a2,d3] [eb2,bb2,eb3]@2 [eb2,bb2,eb3] [eb2,bb2,eb3]@2 [eb2,bb2,eb3]",
  C: "[f2,c3,f3] [g2,d3,g3] [bb1,f2,bb2]@2 [bb1,f2,bb2]@2 [bb1,f2,bb2]@2", // F5 G5 Bb5
  D: "[bb1,f2,bb2] [eb2,bb2,eb3] [f1,c2,f2]@2 [f1,c2,f2] [f1,c2,f2]@2 [f1,c2,f2]", // Bb5 Eb5 F5
  E: "[f2,c3,f3] [d2,a2,d3] [c2,g2,c3]@2 [c2,g2,c3]@2 [c2,g2,c3]@2", F: "[f2,c3,f3] [d2,a2,d3] ~@6",
})).s("gm_piano").gain(0.4)

// other · piano
const piano_7 = note("<~@80 A@2 B@2 C@2 B@2 D ~@28>".pickRestart({
  A: "[~@4 [c5,c6]@2 ~@2 [c5,c6]@2 [d5,d6]@2 [eb5,eb6] ~@2 [c5,c6]@3 [g5,g6]@2 ~ [g5,g6] ~@2 [g5,g6] ~@2 [g5,g6]@2 ~ [g5,g6]@2]/2", // C D Eb C G
  B: "[[bb5,bb6] [g5,g6] [eb5,eb6]@2 [f5,f6]@2 ~@2 [f5,f6]@2 [g5,g6]@2 [f5,f6] ~@2 [eb5,eb6]@3 [c5,c6]@2 ~ [c5,c6] ~@2 [c5,c6] ~@2 [c5,c6]@2 ~ [c5,c6]@2]/2", // Bb G Eb F G F Eb C
  C: "[[eb5,eb6]@2 [d5,d6]@2 [c5,c6]@2 ~@2 [c5,c6]@2 [d5,d6]@2 [eb5,eb6] ~@2 [c5,c6]@3 [g5,g6]@2 ~ [g5,g6] ~@2 [g5,g6] ~@2 [g5,g6]@2 ~ [g5,g6]@2]/2", // Eb D C D Eb C G
  D: "[eb5,eb6] [d5,d6] ~@6", // Eb D
})).s("gm_piano").gain(0.4)

stack(piano, piano_2, piano_3, piano_4, piano_5, piano_6, piano_7)