Strudelify

Que Sera Sera (Whatever Will Be Will Be)

Jay Livington

KeyB♭ majorTempo180 bpm
0:00/0:00
// Que Sera Sera (Whatever Will Be Will Be) — Jay Livington
// 180 bpm, 3/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5576087; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 78 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(180/3)

// 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 · flute
const flute = note(`<
  A B@2 C D E F G@2 H I J K L M N O P Q@2 R S T@2 F U V@2 W X@2 Y W Z@3 ~@16 O P Q@2 R S T@2 F U V@2 W X@2 Y W Z@3 Y W
  AA AB AC@2
>`.pickRestart({
  A: "bb4@5 c5@5 ~ d5@5", B: "f5@10 ~ d5@5", C: "f5@15 ~", D: "d5@5 f5@8 d5@3", E: "g5@5 f5@10 ~",
  F: "g5@5 f5@5 ~ d5@5", G: "[eb5@25 ~@7]/2", H: "a5@5 bb5@5 ~ c6@5", I: "bb5@5 a5@10 ~", J: "g5@5 a5@5 ~ bb5@5",
  K: "a5@15 ~", L: "eb5@5 f5@5 ~ g5@5", M: "f5@10 ~ a4@5", N: "bb4@15 ~", O: "~@5 bb5@8 ab5@3", P: "g5@10 ~ eb5@5",
  Q: "[g5@20 ~@7 a5@5]/2", R: "c6@5 bb5@5 ~ g5@5", S: "f5@10 ~ bb4@5", T: "[d5@20 ~@7 e5@5]/2", U: "f5@10 ~ c5@5",
  V: "[f5@20 ~ c5@5 ~ d5@5]/2", W: "eb5@10 ~ a4@5", X: "[bb4@15 ~]/2", Y: "~@5 c5@5 ~ d5@5", Z: "[bb4@23 ~]/3",
  AA: "bb4@3 bb4@2 bb4@3 ~@3 d5@5", AB: "c5@3 c5@2 c5@3 ~@3 eb5@5", AC: "[f5@15 ~]/2",
})).s("gm_flute").gain(0.3)

// other · flute · soft notes
const flute_soft = note("<~@36 A B C D E F G H I J K L E F M E ~@26>".pickRestart({
  A: "f5@5 f5@5 ~ f5@5", B: "bb5@15 ~", C: "a5@15 ~", D: "g5@3 g5@2 g5@3 ~@3 g5@3 ~@2", E: "f5@15 ~",
  F: "bb5@3 bb5@2 bb5@3 ~@3 bb5@3 ~@2", G: "c6@3 c6@2 c6@3 ~@3 c6@5", H: "a5@5 f5@4 ~@4 g5@3", I: "a5@5 ~@3",
  J: "a5@5 g5@5 ~ g5@5", K: "g5@5 f5@10 ~", L: "g5@5 eb5@5 ~ eb5@5", M: "bb5@3 a5@2 g5@3 a5@3 c6@2 a5@3",
})).s("gm_flute").gain(0.2)

stack(flute, flute_soft)