Strudelify

I Fall Apart

Post Malone

KeyB♭ majorTempo144 bpm
0:00/0:00
// I Fall Apart — Post Malone
// 144 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 13 "Euphonium" tuba (copy of ch 12 "Tenor Saxophone" tenor sax)
// note: Transcription provider: pdmx. https://musescore.com/score/5004154; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 51 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(144/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.

// other · flute
const flute = note(`<
  A B C@2 D@2 C@2 E@2 ~@11 F C@2 D@2 C@2 D@2 C@2 G@2 H B I J H B K L M N O P O L Q L R
>`.pickRestart({
  A: "f5@11 ~ eb5@4", B: "d5 c5 c5@2", C: "[bb4 d5 c5 d5@2 ~ bb5@2]/2", D: "[bb5@2 g5 eb5@3 f5@4 d5 c5 d5@2 d5@2]/2",
  E: "[bb5@2 g5 eb5@3 bb4@4 ~@6]/2", F: "~@3 d5", G: "[bb5@4 g5@2 eb5@6 bb4@19 ~]/2", H: "bb5@11 ~ eb5@4",
  I: "d5@2 ~ d5", J: "f5 eb5 d5 c5", K: "d5@2 ~ bb4", L: "d5!2 d5@2 d5@4", M: "bb4@2 ~ bb4", N: "c5 d5 d5@2 d5@4",
  O: "~@3 bb4 bb4@2 bb4!2", P: "c5 d5 d5@2 bb4@4", Q: "~@3 bb4!5", R: "d5@15 ~",
})).s("gm_flute").gain(0.35)

// other · flute · soft notes
const flute_soft = note("<~@18 A@2 B@2 ~@29>".pickRestart({
  A: "[bb4 d5 c5 d5@2 ~ bb5@2]/2", B: "[bb5@2 g5 eb5@3 f5@4 d5 c5 d5@2 ~@2]/2",
})).s("gm_flute").gain(0.2)

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  A B C@2 D@2 C@2 E@2 ~@11 F C@2 D@2 C@2 D@2 C@2 G@3 H I J K H I L M N O N O L P L Q
>`.pickRestart({
  A: "[f4,d5]@3 [eb4,c5]", B: "[d4,bb4] [c4,g4] [c4,g4]@2", C: "[bb4 d5 c5 d5@2 ~ bb4@2]/2",
  D: "[bb4@2 g4 eb4@3 f4@4 d4 c4 d4@2 d4@2]/2", E: "[bb4@2 g4 eb4@3 bb3@4 ~@6]/2", F: "~@2 d4!2",
  G: "[bb4@2 g4 eb4@3 bb4@8 d5@8 eb5@2]/3", H: "d5 c5 c5@2", I: "bb4@2 ~ bb4", J: "f4 eb4 d4 c4", K: "d5@3 eb5",
  L: "d5!2 d5@2 d5@4", M: "d5@2 ~ bb4", N: "c5 d5 d5@2 d5@4", O: "~@3 bb4 bb4@2 bb4!2", P: "~@3 bb4!5", Q: "d5",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Alto Saxophone" · soft notes
const alto_sax_soft = note("<~@18 A@2 B@2 ~@29>".pickRestart({
  A: "[bb4 d5 c5 d5@2 ~ bb4@2]/2", B: "[bb4@2 g4 eb4@3 f4@4 d4 c4 ~@4]/2",
})).s("gm_alto_sax").gain(0.2)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  A B C D E F C D@2 G ~@11 H C D E F C D E F C D@2 I@2 J@2 K I J L@2 I J L@2 I J L@2 J
>`.pickRestart({
  A: "d4@3 c4", B: "bb3 g3 g3@2", C: "~ g3", D: "~ bb3", E: "~@2 bb3 g3", F: "a3 c4 f3 a3", G: "g3@3 ~",
  H: "~ c4 f3 a3", I: "g3", J: "bb3", K: "a3", L: "[bb3@3 a3@5]/2",
})).s("gm_tenor_sax").gain(0.3)

// other · tenor sax · "Tenor Saxophone" · soft notes
const tenor_sax_soft = note("<~@18 [~ g3] [~ bb3] [~@2 bb3 g3] [a3 ~@3] ~@29>").s("gm_tenor_sax").gain(0.2)

// bass · baritone sax · "Baritone Saxophone"
const bass = note(`<
  ~@2 A B C D A B@2 E F G H@2 F G H@2 A B C D A B C D A B C D A B@2 I F G@2 F@2 G H@2 F G H@2 F G H@2 J
>`.pickRestart({
  A: "~ eb2@3", B: "~ g2@3", C: "~ g2@2 f2", D: "a2 c3 f2 a2", E: "eb2@3 ~", F: "c2", G: "d2", H: "[eb2@3 c2@5]/2",
  I: "eb2", J: "bb2",
})).s("gm_baritone_sax").gain(0.25)

// other · french horn · "Mellophone"
const french_horn = note("<~@25 A B C D E B C F@3 G H I J G H K L M N M N K O K C>".pickRestart({
  A: "~@3 a3", B: "c4", C: "d4", D: "eb4@3 f3", E: "a3 c4 f3 a3", F: "[eb4@3 c4@4 f4@4 eb4]/3", G: "d4 c4 c4@2",
  H: "bb3@2 ~ bb3", I: "f4 eb4 d4 c4", J: "f4@3 eb4", K: "d4!2 d4@2 d4@4", L: "d4@2 ~ bb3", M: "c4 d4 d4@2 d4@4",
  N: "~@3 bb3 bb3@2 bb3!2", O: "~@3 bb3!5",
})).s("gm_french_horn").gain(0.45)

// other · french horn · "Mellophone" · soft notes
const french_horn_soft = note("<~@2 A B C D A B E@2 ~@8 A B C D A B C F ~@25>".pickRestart({
  A: "c4", B: "d4", C: "eb4@3 f3", D: "a3 c4 f3 a3", E: "[eb4@3 c4@4 ~]/2", F: "a3 c4 f3 ~",
})).s("gm_french_horn").gain(0.25)

// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  A B C D E F C G H I J K L@2 J K M@2 N O P F N O P F N O P F N O Q R S T U V S T U W U X Y Z Y W AA W AB
>`.pickRestart({
  A: "[f4,d5]@3 [eb4,c5]", B: "[d4,bb4] [c4,g4] [c4,g4]@2", C: "c4 [c4,g4]", D: "eb4 [eb4,bb4]", E: "~@2 bb4 g4",
  F: "a4 c5 f4 a4", G: "d4 [eb4,bb4]", H: "~ bb4", I: "g4@3 ~", J: "[eb4,g4]", K: "[g4,bb4]",
  L: "[[g4,bb4]@3 f4 f4@4, ~@3 a4@5]/2", M: "[[g4,bb4]@3 eb4 eb4@4, ~@3 g4@5]/2", N: "c4", O: "d4", P: "eb4@3 f4",
  Q: "eb4@3 ~", R: "~@3 [bb4,d5]", S: "[bb4,d5]@3 eb5", T: "d5 c5 c5@2", U: "bb4@2 ~ bb4", V: "f5 eb5 d5 c5",
  W: "d5!2 d5@2 d5@4", X: "c5 d5 d5@2 d5@4", Y: "~@3 bb4 bb4@2 bb4!2", Z: "c5 d5 d5@2 bb4@4", AA: "~@3 bb4!5",
  AB: "bb4",
})).s("gm_trumpet").gain(0.3)

// other · trombone
const trombone = note(`<
  ~@10 A B C@2 A B D@2 A B C@2 A B C@2 A B C@2 A B C@2 A B@2 E A B C@2 A B C@2 A B C@2 B
>`.pickRestart({
  A: "g3", B: "bb3", C: "[bb3@3 a3@5]/2", D: "[bb3@3 g3@5]/2", E: "a3",
})).s("gm_trombone").gain(0.25)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax_2 = note(`<
  ~@2 A B C D A B C D A E F@2 A E G@2 A E F@2 A E F@2 A E F@2 A E F@2 A E@2 H A E F@2 A E F@2 A E F@2 H
>`.pickRestart({
  A: "eb3", B: "d3", C: "bb2", D: "c3", E: "g3", F: "[g3@3 f3@5]/2", G: "[g3@3 eb3@5]/2", H: "f3",
})).s("gm_tenor_sax").gain(0.25)

// bass · tuba
const bass_2 = note(`<
  ~@2 A B@2 A@2 C@2 A@2 D E@2 A D E@2 A D E@2 A D E@2 A D E@2 A D E@2 A D@2 A@2 D E@2 A D E@2 A D E@2 C
>`.pickRestart({
  A: "c2", B: "g2", C: "bb1", D: "d2", E: "[eb2@3 c2@5]/2",
})).s("gm_tuba").gain(0.25)

stack(
  flute, flute_soft, alto_sax, alto_sax_soft, tenor_sax, tenor_sax_soft, bass, french_horn, french_horn_soft, trumpet,
  trombone, tenor_sax_2, bass_2
)

More by Post Malone