Strudelify

Slipping Away

Mariah Carey

KeyC majorTempo82 bpm
0:00/0:00
// Slipping Away — Mariah Carey
// 82 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 89 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// bass · synth bass 2 · "Bass"
const bass = note(`<
  ~ A B A C A B A C A B A C A B A C D B A C A B A C A B A C A B A C D B A C A B A C A B A C A B A C A B A C A B A C E
  ~@7 A B A C A B A C A B A C A B A C A B A ~@5
>`.pickRestart({
  A: "f2@6 e2 ~ e2 ~@3 d2@4", B: "c2@6 c2 ~ c2 ~ c2@6", C: "c2@6 c2 ~ c2 ~@3 c2@4", D: "f2@6 ~@2 e2 ~@3 d2@4",
  E: "f2@3 ~@5",
})).s("gm_synth_bass_2").gain(0.57)

// bass · synth bass 2 · "Bass" · soft notes
const bass_soft = note(`<
  ~@84
  [c2@6 c2 ~ c2 ~@3 c2@4]
  [f2@6 e2 ~ e2 ~@3 d2@4]
  [c2@6 c2 ~ c2 ~ c2@6]
  [f2@6 e2 ~ e2 ~@3 d2@4]
  [c2@6 c2 ~ c2 ~@3 c2@4]
>`).s("gm_synth_bass_2").gain(0.21)

// other · electric guitar muted · "Muted Guitar"
const electric_guitar_muted = note(`<
  A B C B C B C B C B C B C B C B D B C B C B C B C B C B C B C B D B C B C B C B C B C B C B C B D B C B C B C B C B C
  B C B C B C B C B C B C B D B C B C B C B D B C B ~@5
>`.pickRestart({
  A: "~@11 a3!2 b3 c4 d4", B: "e4 c4", C: "a3@12 a3 b3 c4 d4", D: "a3@3 ~",
})).s("gm_electric_guitar_muted").gain(0.29).pan(0.6)

// other · electric guitar muted · "Muted Guitar" · soft notes
const electric_guitar_muted_2 = note("<~@84 [a3@12 a3 b3 c4 d4] [e4 c4] [a3@12 a3 b3 c4 d4] [e4 c4] [a3@3 ~]>")
  .s("gm_electric_guitar_muted").gain(0.11).pan(0.6)

// chords · epiano1 · "EL.Piano"
const epiano1 = note(`<
  ~ 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 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 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 A B A B A ~@5
>`.pickRestart({
  A: "[c4,e4,g4,a4] [b3,d4,e4,g4]", B: "[c4,e4,g4,a4] ~",
})).s("gm_epiano1").gain(0.25)

// chords · epiano1 · "EL.Piano" · soft notes · Am7 Em7 Am7 Em7 Am7
const epiano1_soft = note(`<
  ~@84
  [[c4,e4,g4,a4] ~]
  [[c4,e4,g4,a4] [b3,d4,e4,g4]]
  [[c4,e4,g4,a4] ~]
  [[c4,e4,g4,a4] [b3,d4,e4,g4]]
  [[c4,e4,g4,a4] ~]
>`).s("gm_epiano1").gain(0.1)

// other · electric guitar clean · "Guitar 2"
const electric_guitar_clean = note(`<
  ~@2 A ~ B ~ A ~ B ~ C ~ B ~ C ~ B ~ C ~ B ~ B ~ B ~ B ~ B ~ B ~ A ~ B ~ A ~ B ~ C ~ B ~ C ~ B ~ C ~ B ~ B ~ B ~ B ~ B
  ~ B ~ A ~ B ~ A ~ B ~ C ~ B ~ C ~ B ~ C ~ B ~ B ~@6
>`.pickRestart({
  A: "a4 g4@2 a4 g4@4 ~@8", B: "~ g4@2 a4 g4@4 ~@8, a4 ~@7", C: "~ g4 ~ a4 g4@4 ~@8, a4 ~@7",
})).s("gm_electric_guitar_clean").gain(0.19).pan(0.4)

// other · electric guitar clean · "Guitar 2" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@84
  [~ g4@2 a4 g4@4 ~@8, a4 ~@7]
  ~
  [~ g4@2 a4 g4@4 ~@8, a4 ~@7]
  ~
  [~ g4@2 a4 g4@4 ~@8, a4 ~@7]
>`).s("gm_electric_guitar_clean").gain(0.07).pan(0.4)

// chords · string ensemble 1 · "Sinth"
const string_ensemble_1 = note(`<
  ~ A B A B A B A B A B A B A B A B ~@8 A B A B A B A B ~@8 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 A B A B
  A B A B A B A B A B A B A ~@5
>`.pickRestart({
  A: "[e4,c5] [g4,c5]", B: "[e4,c5]",
})).s("gm_string_ensemble_1").gain(0.1)

// chords · string ensemble 1 · "Sinth" · soft notes · C C5 C C5 C
const string_ensemble_1_soft = note("<~@84 [[e4,c5]] [[e4,c5] [g4,c5]] [[e4,c5]] [[e4,c5] [g4,c5]] [[e4,c5]]>")
  .s("gm_string_ensemble_1").gain(0.04)

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

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@84 [x ~@3 x!2 ~@2]!5>").gain(0.18)

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

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@84 [~ x ~ x]!5>").gain(0.18)

// drums · hihat
const hihat = s("hh").struct("<~ [x!4]!83 ~@5>").gain(0.48)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@84 [x!4]!5>").gain(0.18)

// drums · open hat
const open_hat = s("oh").struct("<~ [~@7 x]!82 ~@6>").gain(0.48)

// drums · open hat · soft notes
const open_hat_soft = s("oh").struct("<~@83 [~@7 x]!6>").gain(0.18)

// drums · china
const china = s("cr").struct("<~ A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7>".pickRestart({
  A: "x",
})).gain(0.48)

// drums · bell tree
const bell_tree = s("marktrees:0").struct(`<
  ~@5 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@3
>`.pickRestart({
  A: "x",
})).gain(2.86)

stack(
  bass, bass_soft, electric_guitar_muted, electric_guitar_muted_2, epiano1, epiano1_soft, electric_guitar_clean,
  electric_guitar_clean_2, string_ensemble_1, string_ensemble_1_soft, kick, kick_soft, snare, snare_soft, hihat,
  hihat_soft, open_hat, open_hat_soft, china, bell_tree
)

More by Mariah Carey