Strudelify

heyat davam edir

M. ALIl

KeyF majorTempo55 bpm
0:00/0:00
// heyat davam edir — M. ALIl
// 55 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5908100; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 43 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(55/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · piano · "Klavier"
const piano = note(`<
  A B C D E B C D E B C D E B C D E F G F G H I J K H I J K L M N H I J O P F Q G F R S
>`.pickRestart({
  A: "~@15 a3, d3!4, ~ a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 ~, ~ f4@2 f4@2 f4@2 f4",
  B: "~@15 a3, d3@7 a3 d3@8, ~ a3@5 d4@3 a3@5 d4@2, ~@2 d4@3 f4@5 d4@3 f4@3, ~@3 f4 a4@7 f4 a4@4",
  C: "~@15 f3, bb2@7 f3 bb2@8, ~ f3@5 bb3@3 f3@5 bb3@2, ~@2 bb3@3 d4@5 bb3@3 d4@3, ~@3 d4 f4@7 d4 f4@4",
  D: "~@15 f3, a2@7 e3 bb2 f3 bb3 d4 f4 d4 bb3@2, ~ e3@5 a3@10, ~@2 a3@3 c4@11, ~@3 c4 e4@12",
  E: "~@15 a3, bb2@9 a3 d4 f4 a4 f4 d4@2, ~ f3@5 bb3@10, ~@2 bb3@3 d4@2 f3@9, ~@3 d4 f4@4 d3@8",
  F: "~@15 g3, bb2@9 g3 c4 g3 e4 g3 c4@2, ~ f3@2 f3@2 f3@2 f3@9, ~ bb3!2 bb3@5, ~ c3",
  G: "~@15 a4, bb2@10 d3 f3 a3 d4 f4@2, ~ f3@2 f3@2 f3@2 f3@2 a2@7, ~ bb3!2 bb3@5, ~ d2",
  H: "~@7 d2 ~@7 d2, d2@6 f2@7 a2@3, ~ a2@4 a2@3 d2@6 f2@2, ~@2 d3@2 d3@5 a2@3 d3@4, ~@3 f3@7 d3 f3@5",
  I: "~@15 c2, bb1@6 d2 bb1 c2 g2 c3 e3 c3 g2 e2@2, ~ f2@4 f2@11, ~ bb2 bb2@6, ~@3 d3@13",
  J: "~@15 bb1, a1@6 c2 a1 bb1 f2 bb2 d3 bb2 f2 d2@2, ~ e2@4 e2@11, ~ a2 a2@6, ~@3 c3@13",
  K: "~@15 d2, bb1@6 d2 bb1@6 a2 f2@2, ~ f2@4 f2@4 a2 d3 f3@5, ~ bb2 bb2@6, ~@3 d3@5 d2@4 d3@4",
  L: "~@15 g2, bb1@7 f2 c2 g2 c3 e3 g3 e3 c3@2, ~ f2@5 bb2@10, ~@2 bb2@3 d3@11, ~@3 d3 f3@12",
  M: "~@15 bb3, bb1@9 a2 d3 f3 a3 f3 a3@2, ~ f2@5 bb2@10, ~@2 bb2@3 d3@2 f2@9, ~@3 d3 f3@4 d2@8",
  N: "~@5 [f4,f5]!3, d2@5 a3 f4 a3 d4 a4@7, ~ a2@2 a2@13, ~ f3@7, ~ d3@3", // F
  O: "~@15 a4, bb1@6 d2 bb1@2 a2 d3 f3 a3 d4 f4@2, ~ f2@4 f2@11, ~ bb2 bb2@6, ~@3 d3@5 d2@8",
  P: "~@15 a3, d3!2, ~ a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 ~, ~ d4@2 d4@2 d4@2 d4, ~ f4@2 f4",
  Q: "~@15 f3, a2@8 bb2 f3 bb3 f3 bb3 f3 bb3@2, ~ e3@2 e3@2 e3@2 e3@9, ~ a3@2 a3@5, ~ c4@3",
  R: "~@7 d4, bb2@9 a3 d4 a3 f4 a3@3, ~ f3@2 f3@2 f3@2 f3@9, ~ bb3!2 bb3@5, ~ d3",
  S: "~@6 d6 f6 [a6,d7,f7] ~@7, d2@4 [a4,d5] [f5,a5]@2 d6@2 ~@7, ~ [a2,d3]@8 ~@7, ~@2 [f3,a3]@7 ~@7, ~@3 [d4,f4]@6 ~@7", // Dm D5 F D5 F Dm
})).s("gm_piano").gain(0.4)

stack(piano)