Strudelify

senorita

R MAX

KeyC majorTempo120 bpm
0:00/0:00
// senorita — R MAX
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5858182; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 95 bars on a 16-step grid, each part at one level. 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@2 B@2 C@4 A@2 B@2 C@4 A@2 B@2 C@4 A@2 B@2 D@4 E@2 F@2 G@2 H@2 I E@2 F@2 G@2 H@2 A@2 B@2 C@4 A@2 J I E@2 F@2 G@2 H@2
  I E@2 F@2 G@2 K L E@2 F@2 G@2 K L A@2 B@2 C@4 M
>`.pickRestart({
  A: "[[a2,c5]@4 a3@2 e3@2 e3@2 ~@2 c5@2 [a2,b4]@4 [a3,g4]@4 [e3,b4]@2 b4 c5 [g3,b4]@2 [e3,a4]@2 [d3,b4]@2, ~ g4 e4 ~@5, ~@5 a3@2 ~@5 a3 ~@3]/2", // Am Asus2 A7 E5 G A5 G
  B: "[[c3,c5]@4 c4@2 g3@2 g3@2 ~@2 c5@2 [c3,b4]@4 [c4,g4]@4 [c3,b4]@2 b4 c5 [g3,b4]@2 [e3,a4]@2 [d3,g4]@2, ~ g4 e4 ~@5, ~@5 c4@2 ~@5 a3 ~@3]/2", // C Cmaj7 C5 Cmaj7 G A5 G5
  C: "[[f2,f4]@3 ~ c4@2 [f3,c5]@2 f3@2 c4@4 f4@2 f4@2 ~ c5@3 [f2,c5]@2 f3@2 e3@2 c3@2 c3@2 ~@2 c5@2 [e3,b4]@2 [e2,c5]@2 [b2,b4]@2 a2@2 b2@2 [g2,b4]@4 c5@2 b4@2 [g2,c5]@2 [d3,b4]@2 ~@2 d3@2 g4 a4, ~@3 c5@3 ~@2 c5@6 f2@4 f3@4 ~@2 c5@6 b4@4 ~@8 g4@4 ~@4 b3@4 ~@5 a4@3 ~@2, ~@16 e2@2 ~@11 c3 ~ b2]/4", // F F5 E5 C B G C5 G
  D: "[[f2,f4]@3 ~ c4@2 [f3,c5]@2 f3@2 c4@4 f4@2 f4@2 ~ c5@3 [f2,c5]@2 f3@2 e3@2 c3@2 c3@2 ~@2 c5@2 [e3,b4]@2 [e2,c5]@2 [b2,b4]@2 a2@2 b2@2 [g2,b4]@4 ~@14, ~@3 c5@3 ~@2 c5@6 f2@4 f3@4 ~@2 c5@6 b4@4 ~@8 g4@4 ~@18, ~@8 e2 ~@7]/4", // F F5 E5 C B G
  E: "[a2@2 a3 e3!2 a3@2 ~ a1 a3@2 e3 a3 g3 e3 [d2,d3], a1@14 a2@4 a2@11 ~@3]/2", // D
  F: "[c3@2 c4 g3!2 ~ c3 [c2,c3]@2 [c3,c4]@2 ~ a3 g3 e3 [d2,d3], c2@10 c4@4 ~@8 c3@7 ~@3]/2", // C D
  G: "[f2@2 c4 f3!2 ~ c3 [f1,f2]@2 [f2,f3]@2 ~ f3 e3 c3 [c2,c3], f1@10 c4@4 ~@8 f2@7 ~@3]/2", // F C
  H: "[e2@2 e3 e2 b2 a2 [b1,b2] [g1,g2]@2 b3@2 g2 d3 c3 d3 [b1,b2], e1@11 ~@7 b2@11 ~@3]/2", I: "[g2,b4] ~@7",
  J: "[c3,c5]@2 c4 g3!2 ~ c5 [c3,b4], ~ g4 e4 ~, ~@5 c4@2 ~", K: "e2@2 e3 e2 b2 a2 [b1,b2] [g1,g2], e1@11 ~@5",
  L: "[g1,g2] b3@2 g2 d3 c3 d3 [b1,b2], ~@2 b2@11 ~@3", M: "a4 ~@3",
})).s("gm_piano").gain(0.25)

stack(piano)