Strudelify
0:00/0:00
// flor amorosa — Joaquim Antonio da Silva Callado e Catulo da Paixão Cearense
// 65 bpm, 2/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (3/16 at bar 1, 2/4 at bar 2) are rendered on a constant 2/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/4811909; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 113 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(65/2)

// 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 · acoustic guitar nylon · "Violão"
const acoustic_guitar_nylon = note(`<
  ~ A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G I J K L M J K L N J K L M J K L O A B C D E F G H A B
  C D E F G P Q R S T U V W X Q R S T Y Z AA AB Q R S T U V W X Q R S T Y Z AA AC A B C D E F G H A B C D E F G AD
>`.pickRestart({
  A: "g2@4 g2 b2 d3 f3", B: "e3@2 e3 d#3", C: "d3@2 d3 d#3", D: "e3@2 c3 a#2", E: "a2 g#2", F: "g2!2", G: "f#2 f2",
  H: "e2 ~@7", I: "e2@4 e2 f2 f#2 g#2", J: "a2@3 b2 c3@3 a2", K: "d3@3 c3 b2@3 a2", L: "g#2@3 a2 b2@3 c3",
  M: "b2@3 a2 e2@4", N: "a2@4 e2 f2 f#2 g#2", O: "a2", P: "c3@4 c3 a#2 a2 g2", Q: "f2@4 f2 e2 f2 f#2",
  R: "g2@4 g2 a2 a#2 b2", S: "c3@4 c3 d3 d#3 e3", T: "f3 e3 d3 c3 a#2 a2 g2 f#2", U: "f2@4 e2 f2 f#2 g#2",
  V: "a2@4 a2 c3 b2 a2", W: "g#2@4 b2 d3 c3 b2", X: "a2@4 c3 a#2 a2 g2", Y: "f2@4 f2 f#2 g2 a2", Z: "a#2 b2",
  AA: "c3 d3 c3 b2 a#2 a2 g2 f#2", AB: "f2@4 c3 a#2 a2 g2", AC: "f2", AD: "e2",
})).s("gm_acoustic_guitar_nylon").gain(0.3)

stack(acoustic_guitar_nylon)