Strudelify

la vida es un carnaval

Celia Cruz

KeyC minorTempo120 bpm
0:00/0:00
// la vida es un carnaval — Celia Cruz
// 120 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/548766; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 20 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 · [...]/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.

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<A B A B C D@2 E F D@2 E G H I@2 J H I@2>".pickRestart({
  A: "g3 ~ eb4!3 g3!2 ~ eb4!4 ~@4", B: "ab3 ~ eb4!3 ab3!2 ~ eb4!4 ~@4", C: "c5 ~@3", D: "eb4/2", E: "c4", F: "b3 ~",
  G: "b3 eb4", H: "~ eb4 f4 eb4 eb4@4", I: "[~ eb4 c4@4 b3@2]/2", J: "~ eb4",
})).s("gm_tenor_sax").gain(0.4)

// other · trumpet · "Bb Trumpet"
const trumpet = note("<A B A B C D@2 E F D@2 E G H I@2 J H I@2>".pickRestart({
  A: "g4 ~ eb5!3 g4!2 ~ eb5!4 ~@4", B: "ab4 ~ eb5!3 ab4!2 ~ eb5!4 ~@4", C: "eb5 ~@3", D: "g4/2", E: "eb4", F: "d4 ~",
  G: "d4 g4", H: "~ c4 d4 eb4 g4@4", I: "[~ g4 eb4@4 d4@2]/2", J: "~ g4",
})).s("gm_trumpet").gain(0.4)

// other · trombone
const trombone = note("<A B A B C D@2 E F D@2 E G H I@2 J H I@2>".pickRestart({
  A: "g2 ~ eb3!3 g2!2 ~ eb3!4 ~@4", B: "ab2 ~ eb3!3 ab2!2 ~ eb3!4 ~@4", C: "c4 ~@3", D: "c3/2", E: "ab2", F: "g2 ~",
  G: "g2 c3", H: "~ c3 d3 eb3 d3@4", I: "[~ c3 ab2@4 g2@2]/2", J: "~ c3",
})).s("gm_trombone").gain(0.4)

stack(tenor_sax, trumpet, trombone)