Strudelify

raridade

Anderson Freire

KeyE♭ majorTempo120 bpm
0:00/0:00
// raridade — Anderson Freire
// 120 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5880294; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 83 bars on a 16-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.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · cello · "Violoncelo"
const cello = note(`<
  ~ A B A C D ~@14 E F G H I J K L@2 M N ~@12 E F G H I J K L@2 M ~ O P Q R S T U V W X Y Z AA AB AC AD V W X Y Z AA AB
  AC AE AF AG AH ~
>`.pickRestart({
  A: "ab3 eb3", B: "f3 eb3", C: "f3@2 f3!2", D: "eb3@4 ~ bb2@3", E: "~@2 c3 ~ eb3 ~ g3 ab3 bb3@2 bb3 ~@5",
  F: "eb3@6 eb3@2 bb2@2 bb2@2 bb2@3 b2", G: "c3@4 bb2!4", H: "ab2@3 c3 eb3@4", I: "f3!3 ~ f3@4 bb3@8",
  J: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ d3 ~ d3 ~ d3 ~ d3 ~", K: "c3 ~ c3 ~ c3 ~ c3 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  L: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~", M: "c3@4 eb3 bb2@3", N: "bb2 ~", O: "ab2@2 c3 bb2",
  P: "eb3@2 bb2 f2", Q: "bb2!2 db3!2", R: "d3 f3@2 f2@5", S: "ab2!2", T: "bb2", U: "c3@8 c3 ~@7",
  V: "f3@6 f3@2 c3@2 c3@2 c3@3 db3", W: "d3@4 c3!4", X: "bb2@3 d3 f3@4", Y: "g3!3 ~ g3@4 c4@8",
  Z: "f3 ~ f3 ~ f3 ~ f3 ~ e3 ~ e3 ~ e3 ~ e3 ~", AA: "d3 ~ d3 ~ d3 ~ d3 ~ e3 ~ e3 ~ e3 ~ e3 ~",
  AB: "d3 ~ d3 ~ d3 ~ d3 ~ c3 ~ c3 ~ c3 ~ c3 ~", AC: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ c3 ~ bb2 ~ a2 ~", AD: "g2@8 c3 ~@7",
  AE: "bb2 f2 a2 f2", AF: "g2 d3 e2 c3", AG: "d3 f2 c3 a2", AH: "g2 d3 bb2 ~",
})).s("gm_cello").gain(0.3)

// other · cello · "Violoncelo" · soft notes
const cello_soft = note(`<
  ~@5 A B C D E F G H I J K L M N M O ~@9 P Q E F G H I J K L M N M O ~@9 Q ~@27 R S
>`.pickRestart({
  A: "~@4 bb2 ~@3", B: "c4 g3", C: "ab3 eb3", D: "f3 bb3", E: "eb3@3 c3 bb2@4", F: "c4@4 c4 bb3 ~ ab3 g3@6 eb3@2",
  G: "ab3@4 ab3 g3 ~ f3 eb3@8", H: "f3 f2@3 bb2@3 b2", I: "c3@8 ab2@5 g2 ab2 bb2", J: "eb3@3 eb3 bb2@2 ~ b2",
  K: "c3 ab2", L: "eb3@3 eb3 bb2@2 c3@2", M: "f3 eb3", N: "ab3 ab2!2 b2 c3@2 c3 e3", O: "ab2 ~@15", P: "~@8 bb2!3 ~@5",
  Q: "c3@4 eb3 d3 c3 bb2", R: "~@3 g2", S: "f2",
})).s("gm_cello").gain(0.2)

stack(cello, cello_soft)