Strudelify

Agonia del Crepusculo

Alejandro Vega Matus

KeyF majorTempo70 bpm
0:00/0:00
// Agonia del Crepusculo — Alejandro Vega Matus
// 70 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5899620; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 51 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(70/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
const piano = note(`<
  A B C D E F G H I J K L I M N O P Q R S T U G H I J K L I M N O P Q R S T V W X Y Z W X Y AA AB AC AD AE AF
>`.pickRestart({
  A: "[d4,a4,f5] [bb3,f4,d5]", B: "[a3,f4,c5] [d3,a3,f4]", C: "[g3,d4,bb4] [c3,e4,g4]",
  D: "[db3,bb3,e4,a4] [a2,d3,db4,f4,g4]", E: "[d3,a3,d4,f4] [g2,bb3,e4] [a2,f3,d4] [a1,e3,g3,db4]",
  F: "[d2,d3,f3,a3,d4] [f3,a3,d4] [g3,bb3,d4]!3 [a4,a5] [d5,d6] [db5,db6]", // Dm Gm A D Db
  G: "[d2,d3] [g3,db4,e4] [g3,e4,g4]!3 [f4,f5] [e4,e5] [db5,db6], [bb4,bb5]@9 ~@7", // D Dbdim C F E Db Bb
  H: "[d2,d3] [f3,a3,d4]!3 [g3,bb3,d4] d5 e5 f5, [d5,d6]@9 ~@7", // D Dm Gm D
  I: "d3 [g3,bb3,db4,e4]!4 [e4,e5] [a4,a5]!2, [g4,g5]@9 ~@7", // Gdim E A G
  J: "[d2,d3] [f3,a3,d4]!4 [a4,a5] [d5,d6] [db5,db6], [a4,a5]@9 ~@7", // D Dm A D Db A
  K: "d3 [g3,bb3,db4,e4]!4 [g4,g5] [e4,e5] [db5,db6], [bb4,bb5]@9 ~@7", // Gdim G E Db Bb
  L: "[d2,d3] [f3,a3,d4]!4 d5 e5 f5, [d5,d6]@9 ~@7", M: "[d3,d4] [f3,bb3,d4]!4 d5 e5 f5, [f4,a4,d5]@9 ~@7",
  N: "[c2,c3,c5,e5]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~ [bb4,d5] [d5,f5]@3 [bb4,d5], ~@2 [c5,e5]@3 ~@3", // C Bb Dm Bb C
  O: "[c2,c3,c5,e5]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~@3 [bb4,d5] [d5,f5]@3 [bb4,d5], ~@2 [c5,e5]@3 ~@3, ~ [g3,c4,e4]", // C Bb Dm Bb C
  P: "[c3,e4,c5] [e3,g3,c4]!3 [c3,e3,bb3] [bb3,g4] [c4,a4] [d4,bb4], ~@2 [e4,c5]@3 ~@3", // C C7 Eb F Gm C
  Q: "f2 [c3,f3,a3]!4 [f3,f4] [g3,g4] [ab3,ab4], [c4,a4]@9 ~@7", // F G Ab F
  R: "~ [db4,e4,g4]!3 [a1,a2,a3] [e3,e4] [f3,f4] [g3,g4], [db2,db3,a3,a4] ~@3", // Dbdim A E F G Gbm
  S: "f4@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [g2,d3,e3,f3,g3,bb3]@3 [e4,f4,c5] ~ f3 ~ [bb3,bb4], [d2,d3,f3]@4 [f3,f4]@4 e4@2 ~@2 [d4,d5]@3 ~", // D5 Gm7 Fmaj7 Bb Dm F D
  T: "[a2,d3,f3,a3,a4] [d3,d4] [e3,e4] [f3,f4] [ab3,b3,d4,f4]@2 [g3,a3,db4,e4]@2", // Dm D E F Abdim A7
  U: "[d2,d3] [d3,f3,a3]!4 [a4,a5] [d5,d6] [db5,db6], d4@9 ~@7", // D Dm A D Db
  V: "[d2,d3] [d3,f3,a3]!4 [d3,d4] [e3,e4] [f3,f4], d4@9 ~@7", W: "[d2,d3,g3] [bb3,d4,e4]!4 e4 f4 g4, g4@9 ~@7",
  X: "[d2,d3,d4,f4] [a3,d4,f4]!4 d4 e4 [d4,f4]", Y: "[d2,d3,g3,e4] [g3,d4,e4]!4 f4 e4 a3",
  Z: "[d2,d3,d4] [a3,d4,f4]!4 d4 e4 f4", AA: "[d3,d4] [eb3,eb4,eb5]", AB: "[d3,d4,d5] [db3,db4,db5]",
  AC: "[d2,d3] [f3,a3] [f1,f2] [bb2,d3,f3], [d4,d5] [bb3,bb4]", AD: "[d2,d3] [f3,a3] [f1,f2] [bb2,d3,f3], [f4,d5] bb3",
  AE: "[d2,d3,f3,a3,d4] ~ [a2,a3,a4,db5,a5] ~", AF: "[f3,a3,f4,d5,f5,d6] ~ [d2,d3,d4]@2",
})).s("gm_piano").gain(0.2)

stack(piano)