Strudelify

Anima fragile

Rossi Vasco

KeyD majorTempo120 bpm
0:00/0:00
// Anima fragile — Rossi Vasco
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 116 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
const piano = note(`<
  A B@4 C@6 D@6 E@2 F@2 G@4 H@2 I@4 J@2 K@2 F@2 L@4 H@2 I@4 M@8 N@2 O@7 P@7 Q@8 R@8 S@7 T@6 U@7 V@8 ~
>`.pickRestart({
  A: "~@31 [d3,f#4]", // D
  B: "[~@54 d4@8 ~@48 [a3,a4]@15 ~@2 [g2,b4], ~@6 f#3@32 [f#3,f#4]@22 ~@10 f#3@24 a3@8 f#3@23 ~@3, ~@7 a3@23 ~@9 a3@4 c4@16 ~@5, ~@23 d4@23 e4@14 ~@2 a4@48 ~@18, ~@30 [d3,g4]@30 ~@2 d3@63 ~@3]/4", // A G F# G5
  C: "[~@46 [b3,d5]@15 ~@55 d4 d4@8 ~@48 [e3,e4]@16 [d2,f#4]@3, ~@6 d3@55 ~ d3@63 a2@64 ~@3, ~@15 b3@23 d4@16 ~@8 a3@15 ~ a3@7 f#4@8 g4@32 e4@32 d4@31 ~@4, ~@22 d4@8 [g4,c#5]@31 ~@2 f#4@22 d4@23 [a3,e4]@17 ~@16 e3@8 a3@39 ~@4, ~@23 b4@38 ~@9 f#3@23 a3@7 [f#3,f#4]@25 ~@8 c#3@56 ~@3]/6", // Bm E D Gdim A5 F#
  D: "[~@85 b3@7 ~@17 [g3,b3,e4]@15 ~@17 a3@16 ~@26 e3@8 ~, ~@5 d3@48 d4@40 b3@16 ~@16 c#4@64 ~@3, ~@13 f#3@23 f#4@25 b3@15 g3@18 ~@7 e3@16 ~@41 d4@34, ~@20 a3@8 g4@33 ~@8 e3@16 ~@7 e2@32 ~@34 a3@8 e3@9 [a3,e4]@17, ~@21 f#4@7 d4@8 a3@8 [f#3,e4]@17 [e2,b2]@32 [b2,f#4]@31 ~@33 a2@34 ~]/6", // Em A5 F#7 E5 B5
  E: "[~@7 d4, ~ f#4@31 [d3,g4]@30 ~@2, ~ d3@23 d4@24 e4@14 ~@2, ~@4 f#3@16 [f#3,f#4]@11 ~, ~@8 a3@23 ~]/2", // G5 F#
  F: "[~@48 [a3,a4]@15 ~, d3@63 ~, a4@40 f#3@23 ~, ~ f#3@3 a3@2 ~@2, ~@2 a3 c4@4 ~]/2", // A
  G: "[~@48 [b3,d5]@15 ~@56 d4 d4@8, ~ g2@62 ~@9 f#3@23 a3@8 [f#3,f#4]@25, ~ b4@23 b4@16 d4@16 ~@8 a3@15 ~ a3@7 f#4@8 g4@32 ~, ~@8 d3@55 d3@64 ~, ~@16 b3@8 d4@8 [g4,c#5]@31 ~@2 f#4@22 d4@24 [a3,e4]@17]/4", // Bm F# Gdim A5
  H: "[~@3 [e3,e4], a2, e4@32 d4@31 ~, ~@7 c#3@56 ~, ~@16 e3@8 a3@39 ~]/2", // E
  I: "[~@88 b3@6 ~@18 [b3,e4]@15 ~, d2@40 a3@8 [f#3,e4]@8 d4@40 b3@15 g3@15 ~@2, f#4@24 [a3,f#4]@8 g4@32 ~@7 e3@8 g3@18 ~@6 e3@16 ~@9, ~@8 d3@56 [e2,b2]@32 [b2,f#4]@31 ~, ~@8 f#3@8 d4@4 f#4@12 b3@12 ~@3 e2@16 ~]/4", // E5 F#7 D E5 B5
  J: "[~@2 a3@2 ~@3 e3, c#4, ~ [a2,d4], ~@32 a3@16 [a3,e4]@15 ~, ~@5 e3@2 ~]/2", // D5 A5
  K: "[~@7 d4, f#4@16 [d3,g4]@15 ~, d3@12 d4@12 e4@7 ~, ~@4 f#3@16 [f#3,f#4]@11 ~, ~@8 a3@23 ~]/2", // G5 F#
  L: "[~@48 [b3,d5]@15 ~@57 d4@8, ~ g2@62 ~@9 f#3@24 g4@32, ~ b4@23 b4@16 d4@16 ~@8 a3@15 ~ a3@8 f#4@8 a3@8 [f#3,f#4]@24, ~@8 d3@55 d3@64 ~, ~@16 b3@8 d4@8 [g4,c#5]@31 ~@2 f#4@23 d4@24 [a3,e4]@16]/4", // Bm F# Gdim A5
  M: "[~@23 a3@7 ~@23 a3@8 a3@2 ~@5 a3@8 a2@7 a2@7 e3@7 ~@4 a2@4 a2@7 ~@4 c#3@3 ~ a3@6 a3@7 a3@7 ~ a3@7 a3@7 ~ a3@7 ~@11 a3@3 a3@5 ~@2 a3@8 a3@7 a3@6 ~@2 a3@7 ~@3 c#4@2 ~@2 a3@7 [a2,e3]@4 a3@3 ~@8 a3@6 ~ f#4@6, [a2,e3]@31 [a2,e3]@30 [a2,e3,e4]@15 e3@10 ~@4 [a3,c#4,f#4]@15 ~@15 c#4@13 c#4@15 d4@15 d4@14 e4@15 e4@13 ~@2 f#4@13 ~@16 f#4@14 ~@6, [c#4,e4]@15 [c#4,e4]@15 ~ d4@15 d4@15 ~@29 a2@11 ~@11 a2@7 a2@29 [a2,e3]@22 [a2,e3]@7 [a2,e3]@28 ~@2 [a2,e3]@19 ~@9 [d2,d3]@21, ~@7 a3@15 ~@16 a3@15 ~@23 [a3,e4]@15 ~@6 e3@8 [e3,a3,c#4,g4]@15 e3@28 ~@15 a3@10 ~@34 c#4@10 ~@4 [c#4,g4]@11 ~@3 d4@10 ~@11, ~@214 a3@5 ~@16 a3@7 ~@7 [a3,d4]@7]/8", // A5 F#m C#m A5 D A5 A7 C#dim …
  N: "[~@4 a3@3 ~@11 a3@3 ~ d4@4 ~@5 [a3,d4,f#4]@3 ~@2 [g4,b4]@12 [g4,b4,d5]@2 ~@7 [g2,g3]@5 [g5,b5,d6] ~, d2@14 ~ [d2,d3]@20 ~ g2@6 ~@22, ~@7 d4@14 ~@6 g4@8 ~@15 [g4,b4,d5]@12 ~@2, ~@8 f#4@14 f#4@9 ~@5 d4@26 ~@2, ~@8 a3@10 ~@3 a3@5 [a3,d4]@5 ~@5 g3@17 ~@11]/2", // D G D G D5
  O: "[[g5,b5,d6]@11 [d4,g4,b4]@2 ~ d4@4 ~ d4@4 [d4,g4,b4]@5 a3@7 ~@3 d4@3 ~@40 d4@3 ~ g2@7 ~@18 g3@3 ~@5 [g5,b5,d6]@4 [g5,b5,d6]@5 [g2,d6]@5 ~@6 g3@3 [d2,d3]@7 ~@3 d4@4 [d4,f#4,a4]@3 [d4,f#4,a4]@4 [f#4,a4]@4 [f#4,a4]@3 c4@7 c4@8 ~@10 c4@4 g2@7 ~@12 [d4,a4]@5 [d4,g4]@2, [g2,g3]@7 ~@4 [g2,g3]@16 ~ [d2,d3]@21 d2@14 ~@4 d3@11 d3@7 g3@10 ~@18 [g4,b4,d5]@28 ~@21 d4@7 f4@11 ~@4 [f4,a4]@14 [g4,b4]@14 [g4,b4]@12, ~@14 [g4,b4]@9 ~@5 d4@10 ~@4 [d4,f#4]@15 [d4,f#4,a4]@14 d4@10 ~@4 [d4,g4]@14 [d4,g4,b4]@15 ~@18 [f#5,a5]@9 [d5,f#5,a5]@28 a4@15 c4@10 ~@4 d4@19 ~@7, ~@19 [f#4,a4]@9 f#4@14 ~@29 [f#4,a4]@14 ~@7 g2@14 g2@7 g2@14 ~@5 d6 g2@8 ~@28 [f2,f3]@22 [f2,f3]@7 g3@10 g3@16, ~@35 a3@7 a3@42 ~ b3@29 ~@3 g3@10 [g3,g5,b5]@10 [g5,b5,d6]@5 ~@63 g2@19]/7", // G G5 D F#m D5 G5 G D …
  P: "[~@3 d2@6 ~@7 d4@4 ~@7 d4@4 d3@10 ~@14 d3@3 ~@25 f3@4 g2@7 ~@7 d4@5 d4@5 [d4,g4]@4 d2@7 ~@18 d4@3 d2@7 ~@14 [d2,d3]@7 f3@10 ~@13 c4@3 ~ d4@6 d4@7 d4@7 [d4,a4]@6, ~@3 a3@28 [a3,d4,f#4]@14 [a3,d4,f#4]@14 c4@14 [c4,a4]@14 [d4,g4,b4]@14 [g4,b4]@5 a4@9 [d4,f#4]@14 [d4,f#4]@4 g4@11 ~@40 [f4,a4]@13 ~ g4@13 g4@13, ~@3 [d4,f#4]@13 f#4@4 g4@11 ~@27 [f4,a4]@14 f4@15 ~@10 d3@18 a3@21 f#4@7 ~@7 d2@14 ~@7 f2@6 ~@14 [f2,f3]@6 ~ [g2,g3,b4]@26, ~@3 d3@10 d3@18 d2@7 ~@3 d3@14 ~@3 f2@7 ~ f2@13 f2@8 ~@7 g2@21 d3 ~@6 d2@21 d3@10 d3@11 ~@17 f3@10 ~@33, ~@9 d2@11 d4@4 f#4@7 ~@21 d2@7 f3@10 f3@14 ~@4 g3@29 ~@10 d3@17 [a3,d4,f#4]@14 [a3,d4,f#4]@14 [c4,f4,a4]@13 c4@10 ~@10 a4@13 ~@7]/7", // G5 D D5 D F G D F …
  Q: "[d2@7 ~@7 d4@4 d4@5 [d4,f#4]@5 [d4,f#4] ~@2 [d4,f#4,a4]@3 [d4,f#4,a4]@3 [d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 [d4,f#4,a4]@3 [d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 [c4,f4,a4] ~@2 [c4,f4,a4]@3 [c4,f4,a4]@3 ~ [c4,f4,a4]@6 ~@4 f2@6 [d4,g4,b4]@4 [d4,g4,b4]@3 [d4,g4,b4]@3 ~@7 [d4,g4,b4]@6 [d4,g4]@3 [d4,g4,b4]@3 ~ [d4,g4,b4]@3 [d4,g4,b4]@3 ~@7 [d4,g4,b4]@6 ~ b4@2 [d4,g4,b4]@3 ~ [d4,g4,b4]@3 [d4,g4,b4]@3 ~@7 [d4,g4,b4]@7 [g4,b4]@2 ~ [g4,b4]@3 [g4,b4]@3 ~ [d4,g4,b4]@3 ~@6 d4@4 [d4,g4]@6 d2@6 ~@6 d4@4 d4@4 ~ [d4,f#4]@4 ~ a3@5 ~@5 [c#5,e5,a5]@2 ~@6 a2@4 a3@3 g2@6 ~@5 [d4,g4,b4] [d4,g4,b4]@8, a4@27 ~ a4@3 ~@98 g4@2 ~@38 b4@15 ~@13 a4@12 ~@8 a3@16 ~@3 g3@20, [d4,f#4]@14 f#4@4 g4@9 ~@43 [c4,f4,a4]@10 ~@10 [d4,g4,b4]@7 ~@19 [d4,g4,b4]@7 ~@19 [d4,g4,b4]@7 ~@10 d4@7 ~@3 g4@10 ~@6 [d4,f#4,a4]@12 f#4@8 ~@6 [c#4,e4]@25 [d4,g4]@11 ~@9, d3@10 d3@17 ~@27 [f2,f3]@20 ~@6 [g2,g3]@13 [g2,g3]@12 ~ [g2,g3]@13 [g2,g3]@12 ~ [g2,g3]@13 ~ [g2,g3]@12 ~ [g2,g3]@13 [g2,g3]@12 ~ d3@9 d3@7 [d3,g4]@8 ~ a2@6 a2@13 ~@13 g2@12 ~@2, ~@7 d2@20 ~ [d2,d3]@27 ~@114 d4@6 a4@9 ~@7 d2@9 ~@23 [c#5,e5,a5]@12 ~@21]/8", // D F G G5 G G5 D A …
  R: "[~@4 [g5,b5,d6] [g2,g3]@7 g3@3 [d4,g4,b4] ~@2 [d4,g4,b4]@3 ~ [d4,f#4,a4]@3 ~@2 [d4,g4,b4]@2 ~@2 d2@6 ~@16 d3@3 [a2,a3]@7 ~@4 [a5,c#6,e6]@2 ~@6 a2@6 ~ [g2,g3]@7 ~@4 [g5,b5,d6]@2 ~@6 [g2,g3]@6 ~ d4@4 ~@4 [d4,b4]@4 d4@4 ~@5 [d4,b4]@4 ~@11 [d5,a5]@2 d5@4 ~@5 [d5,f#5]@4 a3@11 [a5,e6]@2 ~@8 [a5,c#6]@3 ~@2 g3@6 ~@5 [g5,b5,d6] ~@6 d3@5 [g4,b4,d5] ~@11 [d4,a4]@3 d4@4 d4@4 [d4,g4]@3 ~@2 d3@10 [d5,a5]@2 d5@4 [d5,g5]@3 a2, ~@5 [g5,b5,d6]@10 [g2,g3]@15 ~ d4@26 ~@55 a4@8 b4@7 d3@5 ~ d3@13 [d3,a5]@6 a2@7 [a4,c#5,e5]@23 ~@3 b4@23 ~@2 d5@25 ~@21, ~@31 [f#4,a4]@13 [f#4,a4,d5]@13 ~@12 [a5,c#6,e6]@13 ~@13 [g5,b5,d6]@12 ~@5 d4@2 g2@6 g2@12 ~@18 d5 g5@9 ~@12 a5@6 e3@5 ~@14 [g3,g5,b5,d6]@12 ~ g3@13 [g3,a4]@12 ~@13 [d3,a5]@8, ~@31 d3@9 d3@13 ~@3 [a4,c#5,e5]@25 ~ [g4,b4,d5]@25 ~ g4@24 ~ [f#4,a4]@27 ~@16 d6@7 ~@27 b4@17 b4@8 ~@21, ~@37 d2@13 d2@7 ~@6 [a2,a3]@13 ~@32 [g2,b4]@6 d3@10 d4 a4@7 ~@8 d4@20 ~@12 [a3,e6]@11 ~ [d4,g4]@25 ~ g4@21 ~@5 [d4,f#4,a4]@20]/8", // G D G A G D5 D A5 …
  S: "[~ [d5,f#5]@3 ~ [e3,a3,c#4,e4]@11 e5 a4 e5@3 ~@6 c#5@4 ~ b4@11 [g4,b4,d5]@2 [g4,b4,d5]@11 [g5,b5,d6]@2 ~@12 [g4,b4,d5]@2 ~@13 [b5,d6]@2 ~@12 [d4,b4]@3 d4@5 d4@4 [d4,b4]@5 ~@53 d4@7 ~@38 f#3@8 [a3,a4]@2, ~@18 [e3,a4]@13 [g2,g3]@42 d5@42 ~@9 f#3@23 [d3,g4]@28 ~@2 d3@47, ~@22 d5@8 ~ g4@11 ~@16 [g5,b5,d6]@14 b4@26 ~@4 b4@5 a4@8 ~@3 d3@21 d4@22 e4@13 ~@2 a4@45 ~@3, ~@32 d4@55 [g5,b5,d6]@28 ~@17 a3@43 ~@17 a3@7 c4@25, ~@72 g4@42 ~@3 f#4@37 [f#3,f#4]@21 ~@9 f#3@23 a3@15 ~@2]/7", // D A G Bm G A A5 G …
  T: "[~@58 [b3,d5]@14 ~@53 d4@7 ~@46 [e3,e4]@14, ~@13 g2@37 d4@15 ~@8 a3@14 a3@8 f#4@7 g4@16 e4@14 e4@31 d4@29, ~@13 b4@22 b4@36 ~@9 f#3@23 a3@7 [f#3,f#4]@22 ~@8 c#3@52, ~@20 d3@51 ~ d3@60 a2@60, ~@28 b3@7 d4@8 [g4,c#5]@29 ~ f#4@22 d4@22 a3@15 ~@16 e3@7 a3@37]/6", // Bm E F# Gdim
  U: "[~@83 b3@6 ~@16 [g3,b3,e4]@14 ~@24 a3@7 ~@23 a3@7 ~ a3@2 ~@5 a3@8 a2@8 a2@8 e3@8 e3@4, ~ d2@37 a3@7 e4 f#3@15 b3@22 ~@6 e2@30 ~@105, ~ f#4@22 [a3,f#4]@7 g4@23 d4@38 f#4@28 ~ [c#4,e4]@15 [c#4,e4]@15 d4@15 ~ d4@15 ~@15 [a3,e4]@16 ~@12, ~@8 d3@52 ~ [e2,b2]@29 b2@29 ~ [a2,e3]@30 [a2,e3]@30 ~ a2@15 ~@16 [a2,a3,c#4,f#4]@12, ~@16 f#3@14 d4@8 f#4@22 ~@7 e3@8 g3@16 b3@7 e3@15 ~@15 a3@15 ~@15 a3@15 ~@7 [e3,e4]@16 e3@12 ~@16]/7", // Em D C#m A5 E5 A5 F#m E
  V: "[a2@4 a2@7 ~@5 c#3@3 ~@81 a6@16 ~ f#7@15 [d7,f#7,a7]@124, ~@4 [e3,a3,c#4,g4]@15 d2@33 a4@48 f#6@64 ~@92, ~@12 a2@8 d4@16 [f#4,a4]@9 d4@39 [d6,f#6]@8 a5@64 ~@100, ~@21 [d3,f#4]@15 d3@32 a5@8 d5@64 ~@116, ~@29 a3@23 d5@16 f#5@48 [a6,d7]@16 ~@124]/8", // D A7 F#m D D5
})).s("gm_piano").gain(0.48)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@4 A ~ B ~@2 C@2 ~ D E F@3 ~@3 G ~ H ~@2 I@2 ~ J K L@3 ~@3 G ~ H ~@2 I@2 ~ J K M@2 ~ N ~@4 O P Q R S@3 T@2 ~@2 U ~@3
  V ~@3 W X Y ~ Z AA@2 ~ AB@2 AC AD@3 AE ~ AF ~@4 AG ~ AH ~@2 AI ~ AJ AK AL ~@2 AM AN AO@8
>`.pickRestart({
  A: "~@22 c4@7 ~@3", B: "~@22 d4@7 ~@3", C: "[~@37 g3@17 g3@7 ~@3, ~@29 e3@16 ~@19]/2", D: "~@21 a3@8 ~@3",
  E: "~@21 e3@10 ~", F: "[~@21 e3@7 ~ e3@9 e3@16 e3@16 ~@26, ~@28 a2@33 ~@35, ~@29 a3@16 ~@51]/3", G: "~@24 c4@7 ~",
  H: "~@24 d4@7 ~", I: "[~@40 g3@16 g3@7 ~, ~@31 e3@16 ~@17]/2", J: "~@24 a3@7 ~", K: "~@23 e3@9",
  L: "[~@23 e3@7 ~@2 e3@8 e3@16 e3@16 ~@24, ~@31 a2@33 ~@32, ~@2 a3 ~@3]/3", M: "[~@23 e3@7 ~ a3@8 ~@25]/2",
  N: "~@11 e3@2 ~@3", O: "~@22 d4@3 ~@7", P: "~ d3@14 ~@17", Q: "~@21 g3@4 ~@7, ~@11 g2@14 ~@7",
  R: "~@7 [g2,g3]@4 ~@21", S: "[~@32 d2@14 d2@7 ~@10 g3@14 ~@19, ~@17 d3@18 ~@61]/3",
  T: "[~@10 [d2,d3]@11 ~@5 f4@2 ~@4]/2", U: "~@3 d2@7 ~@6", V: "~@7 c4@3 ~@7 f2@14 ~",
  W: "~@13 [d4,b4]@3 ~@16, ~@5 f3@3 ~@8", X: "~@7 b4@3 ~@22", Y: "~ d4@2 ~@25 d4@2 ~@2", Z: "~@4 d2@5 ~@7",
  AA: "[~@30 g2@5 ~@9 g2@3 ~@17]/2", AB: "[~@12 a3@6 ~@7 [g2,g3]@12 ~@27]/2", AC: "~@3 a2@3 ~@2",
  AD: "[~@6 e3@12 ~@13 d3@12 ~@13 d3@13 d3@5 ~@8 a2@13 ~]/3", AE: "~@12 a2@6 ~@7 a2@6 ~", AF: "~@21 g5@2 ~@9",
  AG: "~@5 c4@6 ~@21", AH: "~ d4@6 ~@25", AI: "~@10 g3@15 g3@7, ~@2 e3@15 ~@15", AJ: "~@21 a3@7 ~@4",
  AK: "~@18 e3@9 ~@5", AL: "~@17 e3@7 a3@8", AM: "~@4 e3 ~@3", AN: "~@20 a3@9 ~@3",
  AO: "[~@58 d2@63 ~@7, ~@7 f#4@16 a6@16 ~@25, ~@17 d6@16 ~@31]/8",
})).s("gm_piano").gain(0.32)

stack(piano, piano_soft)

More by Rossi Vasco