Strudelify
Heartbreaker cover art

1999 · Rainbow

Heartbreaker

Mariah Carey

KeyD♭ majorTempo110 bpm
0:00/0:00
// Heartbreaker — Mariah Carey
// 110 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 3 "Bells (harmony)" named as a mallet, played on tubular bells (its pad new age patch is not one)
// note: Full arrangement: all 79 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(110/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 · flute · "Flute (melody)"
const flute = note(`<
  ~ A B A B A B A B ~@8 C D E F C G H I J K L M@2 N O P Q B A B ~@8 C D E F C G H I J K L M@2 N O P Q K L M@2 N O P Q K
  L M@2 N O P Q ~
>`.pickRestart({
  A: "db5!4 ~@4 eb5!4 ~@4", B: "c5!4 ~@4 db5!4 ~@4", C: "db5@3 ~ eb5@3 ~", D: "c5@3 ~ db5@3 ~",
  E: "~@2 db5@2 c5@2 eb5@2 c5@2 bb4@2 ab4@3 ~", F: "~@2 f4@2 f4@2 eb4@2 f4@2 ab4@2 eb4@2 bb4 c5",
  G: "c5@3 ~ bb4@2 ab4@2 eb5@2 db5@5 ~", H: "~@2 c5@2 ab4@2 db5@2 c5@2 ab4@2 f4@2 bb4 c5",
  I: "db5@3 ~ eb5@3 ~ f5@2 gb5@3 ~ bb5@2", J: "ab5@3 ~ f5@2 ~ eb5@2 bb4 bb4@2 db5@2 eb5@2",
  K: "f5@2 ~ db5@2 eb5@2 ~@2 bb4@2 db5@2 eb5 ~@2", L: "f5 ~ f5 ~ eb5 db5!2 eb5",
  M: "[f5@2 ~ db5@2 eb5@2 ~@2 f5@2 ab5@2 f5@2 db5@2 ~@3 f5@2 ab5@2 eb5@2 db5@2 db5@2 eb5@2]/2",
  N: "f5@2 ~ db5@2 eb5@2 ~@2 bb4@2 db5@2 eb5@2 ~", O: "f5 ~ f5 ~ f5 ~ f5 ~", P: "f5 ~ f5 ~ f5!2 db5 eb5",
  Q: "eb5@3 ~ db5@10 ~@2",
})).s("gm_flute").gain(0.15)

// other · tubular bells · "Bells (harmony)"
const tubular_bells = note(`<
  ~ A B A B A B A B ~@16 A B A B A B A B A B A B ~@16 A B A B A B A B A B A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "db4!4 ~@4 eb4!4 ~@4", B: "c4!4 ~@4 db4!4 ~@4",
})).s("gm_tubular_bells").gain(0.32)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~ A B A B A B A B A C A C A C A B A B A B A B A B A B A B A B A B A B A B A C A C A C A C A B A B A B A B A B A B A B
  A B A B A B A B A B ~@10
>`.pickRestart({
  A: "db2@5 ~ db2@2 ~@6 eb2@2", B: "c2@5 ~ c2@2 ~@6 db2@2", C: "bb1@5 ~ bb1@2 ~@6 db2@2",
})).s("gm_electric_bass_finger").gain(0.48)

// other · lead 4 chiff · "Electronics (harmony)"
const lead_4_chiff = note(`<
  ~ A B A B A B A B ~@16 A B A B A B A B A B A B ~@16 A B A B A B A B A B A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "f4!4 ~@4 gb4!4 ~@4", B: "eb4!4 ~@4 f4!4 ~@4",
})).s("gm_lead_4_chiff").gain(0.13)

// drums · rim
const rim = s("rim").struct("<[x!4] ~@78>").gain(0.48)

// drums · kick
const kick = s("bd").struct("<~ [x ~@2 x!2 ~@3]!68 ~@10>").gain(0.48)

// drums · snare
const snare = s("sd").struct("<~ [~ x ~ x]!68 ~@10>").gain(0.48)

stack(flute, tubular_bells, bass, lead_4_chiff, rim, kick, snare)

More by Mariah Carey