Strudelify

Laschia Ch'io Pianga

G. F. Haendel

KeyF majorTempo66 bpm
0:00/0:00
// Laschia Ch'io Pianga — G.F.Haendel
// 66 bpm, 3/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/46811; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 84 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(66/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · viola
const viola = note(`<
  A B A@2 C D E F G H I J K L ~ B M N C O P N ~ B Q N C R E S T U V W B X Y Z AA AB AC A@2 B A@2 C D E F G H I J K L ~ B
  M N C O P N ~ B Q N C R E S T U V W B X Y Z AA AB AC A
>`.pickRestart({
  A: "c4", B: "d4", C: "f4 g4@2", D: "e4 c4@2", E: "d4@4 c4@4 bb3@3 a3", F: "a3@2 ~", G: "f3 a3@2", H: "b3",
  I: "g3 b3@2", J: "e4 f4@2", K: "g4@2 f4", L: "e4@2 ~", M: "d4 f4@2", N: "c4@2 ~", O: "e4@2 f4@3 f4", P: "f4@2 e4",
  Q: "c4@2 e4@3 c4", R: "e4@2 f4@3 c4", S: "a3", T: "d4@2 d4@3 e4", U: "d4 db4@2", V: "d4@2 d4@3 g4", W: "f4",
  X: "b3 c4@2", Y: "f4@2 b3", Z: "c4 b3 a3@4", AA: "f4 f4@2", AB: "e4@2 d4@3 d4", AC: "e4 f4 e4@2 d4@2",
})).s("gm_viola").gain(0.2)

// other · cello · "Violoncello"
const cello = note(`<
  ~@8 A B C D B E ~@6 F G H I J K L M ~@2 N O P Q ~@2 R S T U V W ~@8 A B C D B E ~@6 F G H I J K L M ~@2 N O P Q ~@2 R
  S T U V W
>`.pickRestart({
  A: "~@5 f3", B: "g3 g2@2", C: "g3@2 e3@3 g3", D: "a3 f3@2", E: "c3@2 c4 bb3 a3 g3", F: "bb3 c4 c3", G: "f3@2 ~",
  H: "f3", I: "g3", J: "c3@2 c3@3 e3", K: "f3@3 e3 d3 c3", L: "bb2 bb3@2", M: "bb3 a3@2", N: "d2@2 f2@3 g2",
  O: "a2@3 bb2 a2 g2", P: "f2@2 bb2@3 g2", Q: "d3 d2@2", R: "~ d3 g3", S: "c3 e3 f3@4", T: "d3 d4@2",
  U: "c4@2 b3@3 ab3", V: "a3 d3 e3@2 e2@2", W: "a2@2 c4 bb3 a3 g3",
})).s("gm_cello").gain(0.3)

// other · cello · "Violoncello" · soft notes
const cello_soft = note(`<
  A B C D E F G A H ~@5 A B I D E F ~@8 G A ~@4 J K L ~@5 A B C D E F G A H ~@5 A B I D E F ~@8 G A ~@4 J K L ~@5
>`.pickRestart({
  A: "f3", B: "g3", C: "c3", D: "f3@3 e3 d3 c3", E: "bb2 bb3@2", F: "bb3 a3@2", G: "bb3 c4 c3", H: "f3@2 d3@3 ~",
  I: "c3@2 c3@3 c3", J: "g3@2 b3", K: "e3 a3@2", L: "bb2 ~@2",
})).s("gm_cello").gain(0.2)

stack(viola, cello, cello_soft)

More by G. F. Haendel