Strudelify

All in Your Mind

Mariah Carey

KeyB♭ majorTempo70 bpm
0:00/0:00
// All in Your Mind — Mariah Carey
// 70 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 6/4 at bar 52, 4/4 at bar 53) are rendered on a constant 4/4 grid of one bar per cycle
// note: duplicate parts dropped: ch 7 "sinth" synth strings 2 (copy of ch 9 "sinth" synth strings 1)
// note: Full arrangement: all 89 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(70/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.

// chords · lead 2 sawtooth · "keyboards"
const lead_2_sawtooth = note(`<
  ~@2 A B A B C ~@6 D E ~@6 F G@2 H@2 I J K L@2 M N M N ~@6 F O@2 P@2 Q J R S T U V@2 W X Y Z AA@2 AB AC AD AE AF AG
  AH@3 AI AJ AK AJ AL AM AN AO AP AQ AR AS AT AS AU AV AR AS AR AW
>`.pickRestart({
  A: "~@6 [c5,g5]!2 [c5,f5] ~@2 [c5,f5] ~@2 [c5,a5] [c5,g5]", B: "~@6 [d5,g5]!2 [d5,f5] ~@5 [d5,a5] [d5,g5]",
  C: "~@6 [c5,g5]!2 [c5,f5] ~@2 [c5,f5] ~ c5 a4 f4", // C5 F5
  D: "~@2 [d4,d5] gb4 [g4,d5] ~ [g4,d5] [g4,c5] ~@2 [g4,d5] ~ [g4,d5] c5 g4 d5", // D G5 C5 G5
  E: "[f4,a4] [a4,c5,g5]@2 ~ g4@2 [g4,d5] [g4,c5] ~ g5 d5 g4 d5 g4 d5 c5, ~@4 d5 ~@11", // F Am7 G5 C5
  F: "[eb4,g4,bb4,d5]@2 ~ [f4,a4,c5]@4 ~", // Ebmaj7 F
  G: "[[eb4,g4,bb4,d5]@3 ~@3 [f4,a4,c5]@5 ~@3 [a3,c4,f4] ~ [bb3,eb4] ~@3 [eb4,g4]@3 ~ [f4,bb4] ~ f4 eb4 d4@3 f4, ~@15 g4@3 ~@14]/2", // Ebmaj7 F Eb5 Eb Bb5
  H: "[[d4,f4,d5] ~ [c4,f4,c5]!2 ~ [bb3,f4,bb4] ~ [bb3,bb4] ~ [f4,a4] ~ [f4,a4]!2 [g4,bb4] [f4,a4] [eb4,g4]@2 [eb4,f4] ~ eb4 [g4,bb4]!2 g4@2 [a4,c5] [g4,bb4] g4@2 [c4,f4,a4] ~ [c4,g4]@2, ~@7 g4@2 ~@13 bb4 ~@3 bb4 ~@5]/2", // Dm F5 Bb5 Bb F Gm F Eb …
  I: "[d4,f4]@4 ~@2 [g4,bb4,eb5]!2 ~ [g4,bb4,eb5] [f4,bb4] ~@2 [g4,bb4,eb5] [f4,bb4,d5] ~, ~@5 d5 ~@2", // Dm Eb Bb5 Eb Bb
  J: "[g4,c5,eb5]@3 ~ [eb4,g4]@3 ~ [f4,bb4] ~ f4 eb4 d4@3 ~", // Cm Eb Bb5
  K: "[d4,f4,d5] [c4,c5] ~ [c4,f4,c5] ~ [bb3,f4] ~ [bb3,bb4] ~ a4@2 [f4,a4] ~ [eb4,g4] ~ [eb4,g4], ~ f4@2 ~@2 bb4@2 g4@2 f4 ~@6", // Dm C F5 Bb5 Bb F Eb
  L: "[[c4,eb4]@3 ~ [c4,eb4,bb4]!2 bb4@2 c5 bb4!2 ~ [c4,f4,a4] ~ [c4,eb4,ab4]@4 ~@2 [c4,eb4,ab4,bb4] [c4,eb4,ab4,bb4]@2 ~ [c4,eb4,ab4,bb4]@2 ~ [c4,eb4,ab4,bb4] ~ [c4,eb4,ab4,bb4] [c4,ab4,bb4] ~, [d4,f4] ~@5 [c4,f4]@4 ~@4 bb4@6 ~@10 eb4@2]/2", // Cm Cm7 F Ab Fm Dm F5
  M: "g4 ~ g4 d5 a4 g4 d5 a4 g4 d5 a4 g4 d5 a4 g4 a4", N: "f4 a4 d5 f4 a4 d5 f4 a4 d5 f4 a4 d5 f4 a4 d5 f4",
  O: "[[eb4,g4,bb4,d5]@3 ~@3 [f4,a4,c5]@6 ~@2 [a3,c4,f4] ~ [bb3,eb4] ~@3 [eb4,g4]@3 ~ f4@2 f4 eb4 d4@3 f4, ~@15 g4@3 ~@6 bb4 ~@7]/2", // Ebmaj7 F Eb5 Eb
  P: "[[d4,f4,d5] ~ [c4,f4,c5]!2 ~ [bb3,f4,bb4] ~ [bb3,g4,bb4] ~ [f4,a4] ~ [f4,a4]!2 [g4,bb4] [f4,a4] [eb4,g4]@2 [eb4,f4] ~ eb4 [g4,bb4]!2 g4@2 [a4,c5] [g4,bb4] g4@2 [c4,f4,a4] ~ [c4,g4] ~, ~@22 bb4 ~@3 bb4 ~@5]/2", // Dm F5 Bb5 Eb F Gm F Eb …
  Q: "[d4,f4]@4 ~@2 [g4,bb4,eb5]!2 ~ [g4,bb4,eb5] [f4,bb4,d5] ~@2 [g4,bb4,eb5] [f4,bb4,d5] ~", // Dm Eb Bb Eb Bb
  R: "[d4,f4,d5] [c4,f4,c5] ~ [c4,f4,c5] ~ [f4,bb4]@2 [g4,bb4] ~ [f4,a4] ~ [f4,a4] ~ [eb4,g4] ~ [eb4,g4], ~@5 bb3 ~ bb3@2 ~@7", // Dm F5 Bb5 Gm F Eb
  S: "[c4,eb4]@3 ~ [c4,eb4,bb4]!2 bb4@2 c5 bb4 bb4@2 [c4,f4,a4] ~ [c4,eb4,ab4,bb4]@2, [d4,f4] ~@5 [c4,f4]@4 ~@6", // Cm Cm7 F Ab Dm F5
  T: "[d4,f4,bb4]@8 ~ [eb4,ab4,bb4] ~@2 [c4,eb4,ab4,bb4]@2 ~ [c4,eb4,ab4,bb4], ~@9 c4@2 ~@5", // Bb Ebsus4 Ab
  U: "~@2 [c4,eb4,ab4,bb4] ~@2 [c4,eb4,ab4,bb4]@2 ~@2 f5 eb5 bb4 ~ g4 bb4 eb5", // Ab
  V: "[~ f4 bb4 eb5 f4 bb4 eb5 f4 d5 d4 g4 d5 [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4] ~@5 [c4,f4,a4] ~ [c5,f5] [d5,g5] ~@4]/2", // G5 F F5 G5
  W: "~ d4 g4 d5 d4 g4 d5 g4 d5 ~ g4 d5 a4 g4 d5 a4", X: "g4 d5 a4 g4 d5 a4 g4 ~ f4 ~ d5 f4 a4 ~ [c5,g5]!2",
  Y: "[c5,f5] ~@2 [c5,f5] ~@2 [c5,a5] [c5,g5] [g3,d4] a4 g4 d5 a4 g4 d5 a4", // F5 F C5 G5
  Z: "g4 d5 a4 g4 d5 a4 g4 d5 f4 a4 d5 f4 a4 d5 f4 a4",
  AA: "[d5 f4 a4 d5 f4 c5 [d5,g5] ~@3 [eb4,g4,bb4,d5]@3 ~ [f4,a4,c5]@5 ~@2 d4 f4 g4 [eb4,g4,bb4,d5]@4 ~@2 [f4,a4,c5] ~]/2", // G5 Ebmaj7 F Ebmaj7 F
  AB: "bb5 a5 f5 c5 bb4 g4 a4 bb4 [eb4,g4,c5]@3 ~ [eb4,g4]@3 ~, ~@8 bb3 ~@7", // Cm Eb
  AC: "[f4,bb4] ~ f4 eb4 d4@3 f4 [d4,f4] ~ [c4,f4,c5] [f4,c5] ~ [bb3,f4] ~ [bb3,g4,bb4], ~@8 d5@2 ~ c4@2 bb4@2 ~", // Bb5 Dm F5 Bb5 Eb
  AD: "~ [f4,a4] ~ [f4,a4]!2 [g4,bb4] [f4,a4] [eb4,g4]@2 [eb4,f4] ~ eb4 [g4,bb4]!3 ~", // F Gm F Eb Ebsus2 Gm
  AE: "[a4,c5] [g4,bb4]!2 ~ [c4,f4,a4] ~ [c4,g4] ~ [d4,f4]@4 ~@2 [g4,bb4,eb5]!2", // Am Gm F C5 Dm Eb
  AF: "~ [g4,bb4,eb5] [f4,d5] ~@2 [g4,bb4,eb5] [f4,bb4,d5] ~ [g4,c5,eb5]@3 ~ [eb4,g4]@3 ~, ~ bb4 ~@6", // Eb Dm Eb Bb Cm Eb
  AG: "[f4,bb4] ~ f4 eb4 d4@3 ~ [d4,f4,d5] [c4,f4] ~ [c4,c5] ~ [bb3,f4,bb4] ~ [bb3,g4,bb4], ~@9 c5@2 f4@2 ~@3", // Bb5 Dm F5 C Bb5 Eb
  AH: "[~ [f4,a4] ~ [f4,a4] ~ [eb4,g4] ~ [eb4,g4] [c4,eb4]@3 ~ [c4,eb4,bb4]!2 bb4@2 c5 bb4!2 ~ [c4,f4] ~ [c4,eb4,ab4,bb4]@2 ~@2 [d4,f4,bb4]@3 ~ [g4,bb4,eb5] [g4,bb4] ~ [g4,bb4,eb5] [f4,bb4,d5] ~ [f4,bb4,d5] [g4,bb4,eb5] [f4,bb4,d5] ~@3 [bb3,eb4]!2 ~@2 [g3,c4,eb4] ~, ~@8 [d4,f4] ~@5 [c4,f4]@4 ~@2 a4@2 ~@9 eb5@2 ~@15]/3", // F Eb Cm Cm7 F5 Ab Bb Eb …
  AI: "~@2 [a3,c4,eb4] ~@3 [c4,eb4] ~@3 [f3,bb3,d4]!2 ~@2 [f3,bb3,d4] ~, ~@3 a3 ~@4", // Adim Cm Bb
  AJ: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3] ~@3 [bb3,eb4]!2 ~@2 [g3,c4,eb4] ~, ~@3 eb4 ~@4", // Eb Gm Eb5 Cm
  AK: "~@2 [f3,c4,eb4] ~@3 [f3,c4,eb4] ~@3 [f3,bb3,d4]!2 ~@2 [f3,bb3,d4] ~", // F7 Bb
  AL: "~@2 [a3,c4,eb4] ~@3 [a3,c4,eb4] ~@3 [f3,bb3,d4]!2 ~@2 [f3,bb3,d4] ~", // Adim Bb
  AM: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~@3 [bb3,eb4]!2 ~@2 [g3,c4,eb4] ~", // Eb Eb5 Cm
  AN: "~@2 [f3,c4,eb4] ~@3 [f3,c4]@2 ~@2 [f3,bb3,d4]!2 ~@2 [f3,bb3,d4] ~, ~@6 eb4 ~@9", // F7 F5 Bb
  AO: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~@5 [bb3,eb4]!3 ~", // Eb Eb5
  AP: "[f3,d4] ~ c4 bb3 [f3,c4] ~ [f3,bb3] ~@5 [f4,bb4,d5]@3 ~, a3 ~@7", // Dm F5 Bb5 Bb
  AQ: "~@4 [g4,bb4,eb5]@3 ~@5 [bb3,eb4]!2 bb3@2, ~@14 eb4 ~", // Eb Eb5
  AR: "[f3,a3,d4] ~ c4 bb3 [f3,c4] ~ [f3,bb3] ~@5 [f4,bb4,d5]@3 ~", AS: "~@4 [g4,bb4,eb5]@3 ~@5 [bb3,eb4]!3 ~",
  AT: "[f3,a3] ~ c4 bb3 [f3,c4] ~ [f3,bb3] ~@5 [f4,bb4,d5]@3 ~, d4 ~@7", // F F5 Bb5 Bb
  AU: "[a3,d4] ~ c4 bb3 [f3,c4] ~ f3@2 ~@4 [f4,bb4,d5]@3 ~, f3@2 ~@4 bb3 ~@9", // D5 F5 Bb
  AV: "~@4 [g4,bb4,eb5]@3 ~@5 [bb3,eb4]!2 eb4@2, ~@14 bb3 ~", AW: "~@4 [g4,bb4,eb5]@3 ~@9",
})).s("gm_lead_2_sawtooth").gain(0.6)

// bass · synth bass 1 · "bass"
const bass = note(`<
  ~@3 A B A C D E D E F E D G D E D E D E H I J K L M N O P@2 Q R S T D E D E D E H I J K L M N O U V W X@2 Y@2 Z@2 AA
  AB@6 AC@3 AD AE AF AE AG AE AF AE AH AI AJ AK AL AM AJ AK AN AO AP AK AQ
>`.pickRestart({
  A: "[g3,a3,b3,d4]@11 ~@5", B: "[f3,g3,a3,c4]@11 ~@5", C: "[f3,g3,a3,c4]@5 ~@3 d2@3 ~ f2@3 ~",
  D: "g2@3 ~@4 g2!2 ~ g2 ~@5", E: "g2@3 ~@4 g2 d2@3 ~ f2@3 ~", F: "g2@3 ~@4 g2 g2@2 g2 ~@5",
  G: "g2@5 ~@4 d2@2 ~ f2@3 ~", H: "eb2@3 ~ f2@4 ~@2 f2 g2 bb2 a2 g2 gb2", I: "eb2@3 ~ f2@5 ~@2 c2 f2 g2 a2 bb2",
  J: "[c2,c3]@4 ~@2 f2@4 ~@2 f2 g2 bb2 g2", K: "bb2@4 ~ eb2@5 ~@2 eb2 f2 g2 ~", L: "c2@3 ~ g2 c2 f2@5 ~@3 g2 a2",
  M: "bb2 ~ c3 ~ [f2,d3] ~ eb2@4 ~@2 eb2 f2 g2 eb2", N: "c2@4 ~@2 f2@3 ~ f2 ~ f2 g2 a2 ~",
  O: "bb2@2 ~ d2@3 ~ eb2@4 ~ eb2 f2 eb2@2", P: "[c2@3 ~ g2 c2 f2@4 ~@2 f2 g2 bb2@5 ~ bb1@3 ~ bb2@3 ~ bb1@3 ~]/2",
  Q: "g2@3 ~@4 g2@2 ~ g2@2 ~@4", R: "~@8 d2@3 ~ f2@3 ~", S: "g2@3 ~@3 f2 g2@2 ~ g2 ~@5", T: "~@7 g2 d2@4 ~@2 f2 a2",
  U: "c2@3 ~ g2 c2 f2@4 ~@2 f2 g2 bb2@2", V: "~@3 bb2!2 ~ bb2 ~@2 bb2@4 ~@3",
  W: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  X: "[bb2 ~ bb2 ~ a2 ~ ab2 ~ g2@5 ~@2 g2@2 ~ g2 ~@2 g2 ~@2 g2!2 ~@4 f2 g2]/2",
  Y: "[d2@3 ~ f2@3 ~ g2 ~@6 g2@2 ~ g2@2 ~@4 g2!2 ~@4 f2 g2]/2",
  Z: "[d2@3 ~ f2@3 ~ g2@5 ~@2 g2@2 ~ g2 ~@5 g2!2 ~@5 g2]/2", AA: "d2@3 ~ f2@3 ~@3 eb2@3 ~ f2@2",
  AB: "[~@2 f2@2 f2 g2 ~@2 eb2@3 ~ eb2 ~ f2@5 ~@2 g2 a2 bb2 [c2,c3]@4 ~@2 f2@4 ~@2 f2 g2 bb2 g2 bb2@4 ~ eb2@5 ~@2 eb2 f2 g2 ~ c2@3 ~ g2 c2 f2@5 ~@3 g2 a2 bb2 ~ c3@2 [f2,d3] ~ eb2@4 ~@2 eb2 f2 g2 eb2 c2@4 ~@2 f2@2]/6", // C Dm
  AC: "[~@2 f2 ~ f2 g2 a2 ~ bb2@2 ~ d2@3 ~ eb2@4 ~ eb2 f2 eb2 ~ c2@3 ~ g2 c2 f2@4 ~@2 f2 g2 bb2@2 bb2@2 ~ c3 d3 ~ eb3@2]/3",
  AD: "~@2 d3 ~ d3 eb3 ~ d3 c2@3 ~@5", AE: "f2@3 ~@5 bb2@3 ~@5", AF: "eb2@3 ~@5 c2@3 ~@5",
  AG: "eb2@2 ~ bb2 eb3 d3 eb3 g2 c2@3 ~@5", AH: "eb2@2 ~ bb2 eb3 d3 eb3 g2 c2@2 ~ c2 eb2 ~ g2 ~",
  AI: "f2@2 ~@2 f2 g2 a2@2 bb2@2 ~ bb2 d2@2 d2 ~", AJ: "eb2 ~@3 eb2 d2 eb2 d2 c2@2 ~ c2 eb2 ~ g2 ~",
  AK: "f2 ~@3 f2 g2 a2 ~ bb2@2 ~ bb2 c3 ~ d3 ~", AL: "eb3@2 ~ bb2 eb3 d3 eb3 d3 c2@2 ~ c2 eb2 ~ g2 ~",
  AM: "f2 ~@3 f2 g2 a2 ~ bb2@2 ~ bb2 d2 ~ d2 ~", AN: "eb3@2 ~ bb2 eb3 d3 eb3 d3 c2@2 ~ c2 eb2@2 g2 ~",
  AO: "f2 ~@3 f2 g2 a2 ~ bb2@2 ~ bb2 d2 ~ d2@2", AP: "eb2 ~@3 eb2 d2 eb2 d2 c2@2 ~ c2 eb2@2 g2 ~",
  AQ: "eb3@2 ~ bb2 eb3 d3 eb3 d3 ~@8",
})).s("gm_synth_bass_1").gain(0.5)

// chords · synth strings 1 · "sinth"
const synth_strings_1 = note(`<
  ~@3 A B A B A B A B A B A B A B A B A B C ~ D E F G D E H@2 I J I J A B A B A B C ~ D E F G D E K L M N@8 O@8 P Q R Q
  R Q R Q R Q R Q R Q R Q R Q R Q S
>`.pickRestart({
  A: "[d4,g4,b4]", B: "[c4,f4,a4]", C: "[eb4,g4,bb4]@3 [f4,a4,c5]@4 ~", D: "c5@3 [f4,a4,c5]@4 ~, [eb4,g4] ~",
  E: "[f4,bb4,d5]@2 ~ [g4,bb4,eb5]@4 ~", F: "[eb4,g4,c5]@3 [f4,a4,c5]@4 ~", G: "[f4,bb4,d5]@3 [g4,bb4,eb5]@4 ~",
  H: "[c5@3 [f4,a4,c5]@4 [ab4,c5,eb5]@8 ~, [eb4,g4] ~@3]/2", I: "[g4,b4,d5]", J: "[f4,a4,d5]",
  K: "c5@3 [f4,a4,c5]@4 [ab4,c5,eb5], [eb4,g4] ~", L: "[d4,f4,bb4]@5 ~@3 [eb4,ab4,c5]@5 ~@3", M: "[eb4,ab4,c5]",
  N: "[~@4 [g4,b4,d5]@8 [f4,a4,c5]@8 [g4,b4,d5]@8 [f4,a4,c5]@8 [g4,b4,d5]@8 [f4,a4,c5]@8 [eb4,g4,bb4]@3 [f4,a4,c5]@4 ~ [eb4,g4,bb4]@3 [f4,a4,c5]]/8", // G F G F G F Eb F …
  O: "[~@4 c5@3 [f4,a4,c5]@4 ~ [f4,bb4,d5]@2 ~ [g4,bb4,eb5]@4 ~ [eb4,g4,c5]@3 [f4,a4,c5]@4 ~ [f4,bb4,d5]@3 [g4,bb4,eb5]@4 ~ c5@3 [f4,a4,c5]@4 ~ [f4,bb4,d5]@2 ~ [g4,bb4,eb5]@4 ~ c5@3 [f4,a4,c5]@4 [ab4,c5,eb5] [f4,bb4,d5]@2 ~ [g4,bb4,eb5], ~ [eb4,g4] ~@7 [eb4,g4] ~@3 [eb4,g4] ~@2]/8", // F Bb Eb Cm F Bb Eb F …
  P: "~ [g4,c5,eb5]", Q: "[f4,a4,c5] [f4,bb4,d5]", R: "[g4,bb4,eb5] [g4,c5,eb5]", S: "[g4,bb4,eb5] ~",
})).s("gm_synth_strings_1").gain(0.16)

// chords · epiano1 · "piano"
const epiano1 = note(`<
  ~@3 A B A C ~@14 D@2 E F@2 G H I J@2 ~ K ~ K ~@6 D@2 E L@2 M N O P Q ~@2 R ~ S T ~ U@2 V W X Y Z AA@3 AB AC AD AE AF
  AG AF AH AI AJ AK AJ AK AJ AK AJ AL AM AK AN AO
>`.pickRestart({
  A: "[g3,a3,b3,d4]@11 ~@5", B: "[f3,g3,a3,c4]@11 ~@5", C: "[f3,g3,a3,c4]@5 ~@11",
  D: "[eb4,g4,bb4,d5]@2 ~ [f4,a4,c5]@4 ~", E: "~@4 [eb4,g4]@3 ~ [f4,bb4] ~ f4 eb4 d4@3 f4",
  F: "[[f4,d5] ~ [c4,f4,c5] [c4,f4]@2 [bb3,f4,bb4] ~ [bb3,g4,bb4] ~ [f4,a4] ~ [f4,a4]!2 [g4,bb4] [f4,a4] [eb4,g4]@2 [eb4,f4] ~ eb4 [g4,bb4]!2 bb4@2 [a4,c5] [g4,bb4]!2 ~ [c4,f4,a4] ~ [c4,g4] ~, d4@2 ~ c5 ~@18 g4 ~@9]/2", // Dm F5 Bb5 Eb F Gm F Eb …
  G: "[d4,f4]@4 ~@2 [g4,bb4,eb5]!2 ~ [g4,bb4,eb5] [f4,bb4,d5] ~@2 [g4,bb4,eb5] [f4,bb4,d5] ~", // Dm Eb Bb Eb Bb
  H: "[g4,c5,eb5]@3 ~ [eb4,g4]@3 ~ [f4,bb4] ~ f4 eb4 d4@3 ~", // Cm Eb Bb5
  I: "[d4,f4,d5] [c4,f4,c5] ~ [c4,c5] ~ [bb3,f4,bb4] ~ [g4,bb4] ~ [f4,a4] ~ [f4,a4] ~ eb4@2 [eb4,g4], ~@3 f4@2 ~@2 bb3@2 ~@4 g4 ~@2", // Dm F5 C Bb5 Gm F Eb
  J: "[[c4,eb4]@3 ~ [c4,eb4,bb4]!2 bb4@2 c5 bb4!2 ~ [c4,f4,a4] ~ [c4,eb4,ab4]@4 ~@2 [c4,eb4,ab4,bb4] [c4,eb4,ab4,bb4]@2 ~ [c4,eb4,ab4,bb4]@2 ~ [c4,eb4,ab4,bb4] ~ [c4,eb4,ab4,bb4] [eb4,ab4,bb4] ~, [d4,f4] ~@5 [c4,f4]@4 ~@4 bb4@6 ~@10 c4@2]/2", // Cm Cm7 F Ab Ebsus4 Dm F5
  K: "~@6 [c5,g5]!2 [c5,f5] ~@2 [c5,f5] ~ c5 a4 f4", // C5 F5
  L: "[[d4,f4]@2 [c4,f4,c5]!2 ~ [bb3,f4,bb4] ~ [bb3,g4,bb4] ~ [f4,a4] ~ [f4,a4]!2 [g4,bb4] [f4,a4] [eb4,g4]@2 [eb4,f4] ~ eb4 [g4,bb4]!3 ~ [a4,c5] [g4,bb4]!2 ~ [c4,f4,a4] ~ [c4,g4] ~, d5 ~@31]/2", // Dm F5 Bb5 Eb F Gm F Eb …
  M: "[d4,f4]@4 ~@2 [g4,bb4,eb5] [g4,eb5] ~ [g4,bb4,eb5] [f4,d5] ~@2 [g4,bb4,eb5] [f4,bb4,d5] ~, ~@7 bb4@2 ~ bb4@2 ~@4", // Dm Eb Cm Eb Dm Eb Bb
  N: "[g4,c5,eb5]@3 ~ [eb4,g4]@3 ~ bb4@2 f4 eb4 d4@3 ~, ~@8 f4 ~@7", // Cm Eb
  O: "[d4,f4,d5] [c4,f4,c5] ~ [c4,c5]@2 [bb3,f4,bb4] ~ [bb3,g4,bb4] ~ a4@2 f4@2 [eb4,g4] ~ [eb4,g4], ~@3 f4 ~@5 f4 ~ a4 ~@4", // Dm F5 C Bb5 Eb
  P: "[c4,eb4]@3 ~ [c4,eb4,bb4]!2 bb4@2 c5 bb4!2 ~ [c4,a4] ~ [c4,eb4,ab4,bb4]@2, [d4,f4] ~@5 [c4,f4]@4 ~@2 f4@2 ~@2", // Cm Cm7 F Ab Dm F5
  Q: "[d4,f4,bb4]@6 ~@3 [c4,eb4,ab4,bb4] ~@2 [c4,eb4,ab4,bb4]@2 ~ [c4,eb4,ab4,bb4]", // Bb Ab
  R: "~@8 [c4,f4,a4] ~ [c5,f5] [d5,g5] ~@4", S: "~@14 [c5,g5]!2", T: "[c5,f5] ~@2 [c5,f5] ~@2 [c5,a5] [c5,g5] ~@8",
  U: "[~@10 [eb4,g4,bb4,d5]@3 ~ [f4,a4,c5]@6 ~@4 [eb4,g4,bb4,d5]@4 ~@2 [f4,a4,c5] ~]/2", V: "~@12 [eb4,g4]@3 ~",
  W: "[f4,bb4] ~ f4 eb4 d4@3 f4 [d4,f4,d5] ~ [c4,f4,c5]!2 ~ [bb3,f4,bb4] ~ [bb3,g4,bb4]", // Bb5 Dm F5 Bb5 Eb
  X: "~ a4@2 [f4,a4]!2 [g4,bb4] [f4,a4] [eb4,g4]@2 [eb4,f4] ~ eb4 [g4,bb4]!3 ~, ~ f4 ~@14", // F Gm F Eb Ebsus2 Gm
  Y: "[a4,c5] [g4,bb4] [g4,bb4]@2 [f4,a4] ~ [c4,g4] ~ [d4,f4]@4 ~@2 [g4,bb4,eb5]!2, ~@2 c4 ~@5", // Am Gm F C5 Dm Eb
  Z: "~ [g4,bb4,eb5] [f4,bb4,d5] ~@2 [g4,bb4,eb5] [f4,bb4,d5] ~ [g4,c5,eb5]@3 ~ [eb4,g4]@3 ~", // Eb Bb Eb Bb Cm Eb
  AA: "[[f4,bb4] ~ f4 eb4 d4@3 ~ [d4,f4,d5] [c4,f4,c5] ~ [c4,f4,c5] ~ [bb3,f4,bb4] ~ [bb3,bb4] ~ a4@2 a4@2 [eb4,g4] ~ [eb4,g4] [c4,eb4]@3 ~ [c4,eb4,bb4]!2 bb4@2 c5 bb4!2 ~ [c4,f4,a4] ~ [c4,eb4,ab4,bb4]@2 ~@2 [d4,f4,bb4]@3 ~ [g4,bb4,eb5]!2, ~@15 g4@2 f4 ~ f4 ~@4 [d4,f4] ~@5 [c4,f4]@4 ~@14]/3", // Bb5 Dm F5 Bb5 Bb Eb Cm Cm7 …
  AB: "~ [g4,bb4,eb5] [f4,bb4,d5] ~ [f4,bb4,d5] [g4,bb4,eb5] [f4,d5] ~@3 [bb3,eb4]!2 ~@2 [g3,c4,eb4] ~, ~@3 bb4 ~@4", // Eb Bb Eb Dm Eb5 Cm
  AC: "~@2 [a3,c4,eb4] ~@3 [a3,c4,eb4] ~@3 [f3,bb3,d4]!2 ~@2 [f3,bb3,d4] ~", // Adim Bb
  AD: "~@2 [bb3,eb4] ~@3 [g3,bb3,eb4] ~@3 [bb3,eb4]!2 ~@2 [g3,c4,eb4] ~, ~ g3 ~@6", // Eb5 Eb Eb5 Cm
  AE: "~@2 [f3,eb4] ~@3 [f3,c4,eb4] ~@3 [f3,bb3,d4]!2 ~@2 [bb3,d4] ~, ~ c4 ~@5 f3", // F7 Bb
  AF: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~@3 [bb3,eb4]!2 ~@2 [g3,c4,eb4] ~", // Eb Eb5 Cm
  AG: "~@2 [a3,c4] ~@3 [a3,c4,eb4] ~@3 [f3,bb3,d4]!2 ~@2 [f3,bb3,d4] ~, ~ eb4 ~@6", // Am Adim Bb
  AH: "~@2 [f3,c4]@2 ~@2 [f3,c4,eb4] ~@3 [f3,bb3,d4]!2 ~@2 [f3,bb3] ~, ~@2 eb4 ~@11 d4@2", // F5 F7 Bb Bb5
  AI: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~@5 [bb3,eb4]!3 ~", // Eb Eb5
  AJ: "[f3,a3,d4] ~ c4 bb3 [f3,c4] ~ [f3,bb3] ~@5 [f4,bb4,d5]@3 ~", AK: "~@4 [g4,bb4,eb5]@3 ~@5 [bb3,eb4]!3 ~",
  AL: "~@4 [g4,bb4,eb5]@3 ~@5 [bb3,eb4]!2 bb3@2, ~@14 eb4 ~", // Eb Eb5
  AM: "[a3,d4] ~ c4 bb3 c4@2 [f3,bb3] ~@5 [f4,bb4,d5]@3 ~, f3@2 ~@2 f3 ~@11", // D5 Bb5 Bb
  AN: "[f3,a3,d4] ~ c4 bb3 f3@2 f3@2 ~@4 [f4,bb4,d5]@3 ~, ~@4 c4 ~ bb3 ~@9", AO: "~@4 [g4,bb4,eb5]@3 ~@9",
})).s("gm_epiano1").gain(0.48)

// chords · synth strings 1 · "sinth"
const synth_strings_1_2 = note(`<
  ~@23 A B C D E B F@2 ~@12 A B C D E B G ~@10 H@8 I J K J K J K J K J K J K J K J K J K J L
>`.pickRestart({
  A: "~@3 [f4,a4,c5]@4 ~", B: "[f4,bb4,d5]@2 ~ [g4,bb4,eb5]@4 ~", C: "[eb4,g4,c5]@3 [f4,a4,c5]@4 ~",
  D: "[f4,bb4,d5]@3 [g4,bb4,eb5]@4 ~", E: "c5@3 [f4,a4,c5]@4 ~, [eb4,g4] ~",
  F: "[c5@3 [f4,a4,c5]@4 [ab4,c5,eb5]@8 ~, [eb4,g4] ~@3]/2", G: "c5@3 [f4,a4,c5]@4 [ab4,c5,eb5], [eb4,g4] ~",
  H: "[~@7 [f4,a4,c5]@4 ~ [f4,bb4,d5]@2 ~ [g4,bb4,eb5]@4 ~ [eb4,g4,c5]@3 [f4,a4,c5]@4 ~ [f4,bb4,d5]@3 [g4,bb4,eb5]@4 ~ c5@3 [f4,a4,c5]@4 ~ [f4,bb4,d5]@2 ~ [g4,bb4,eb5]@4 ~ c5@3 [f4,a4,c5]@4 [ab4,c5,eb5] [f4,bb4,d5]@2 ~ [g4,bb4,eb5], ~@9 [eb4,g4] ~@3 [eb4,g4] ~@2]/8", // F Bb Eb Cm F Bb Eb F …
  I: "~ [g4,c5,eb5]", J: "[f4,a4,c5] [f4,bb4,d5]", K: "[g4,bb4,eb5] [g4,c5,eb5]", L: "[g4,bb4,eb5] ~",
})).s("gm_synth_strings_1").gain(0.5).pan(0.7)

// drums · kick
const kick = s("bd").struct("<~@7 A@14 B C A@18 B C A@8 B D E@5 F G H E@27 I>".pickRestart({
  A: "x ~@6 x!2 ~ x ~@5", B: "x!2 ~@2", C: "x ~@2 x ~@4", D: "x ~@5 x ~ x ~@6 x", E: "x ~ x ~@5 x ~@6 x",
  F: "x!2 ~@2 x ~ x ~", G: "~@4 x ~@2 x", H: "~@8 x ~@6 x", I: "x!2 ~@6",
})).gain(0.6)

// drums · clap
const clap = s("cp").struct("<[x!3 ~ x!3 ~ x!3 ~ x!3 ~]!7 ~@82>").gain(0.48)

// drums · snare
const snare = s("sd").struct("<A@2 B@4 C D@14 E F D@18 E F D@8 E F G@5 H I J G@28>".pickRestart({
  A: "~@3 x ~@3 x ~@3 x ~@3 x", B: "~@3 x ~@7 x ~@4", C: "~@3 x ~@7 x ~ x!3", D: "~@12 x ~@2 x", E: "x!2 ~@2",
  F: "x ~@2 x ~@3 x", G: "~@4 x ~@2 x ~@8", H: "~@4 x ~@2 x!2 ~@3 x ~@3", I: "~@4 x ~@2 x", J: "~@3 x ~@4",
})).gain(0.48)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@7 A@14 ~@2 A@18 ~@2 A@8 ~ B A@5 C ~ B A@27 C>".pickRestart({
  A: "x!16", B: "~@8 x!8", C: "x!8 ~@8",
})).gain(0.48)

// drums · mid tom
const mid_tom = s("mt").struct("<~@21 A B ~@18 A B ~@8 A B ~@5 C D ~@29>".pickRestart({
  A: "x!2 ~@2", B: "x ~@2 x ~@4", C: "~@2 x!2", D: "~@4 x ~@2 x",
})).gain(0.48)

// drums · crash
const crash = s("cr").struct("<~@7 A@14 B C A@18 B C A@8 B C D@5 E F ~ D@28>".pickRestart({
  A: "~@15 x", B: "x!2 ~@2", C: "x ~@2 x ~@4", D: "~@7 x ~@8", E: "~@7 x!2 ~@3 x ~@3", F: "~@4 x ~@2 x",
})).gain(0.48)

// drums · congas
const congas = s("conga:13").struct("<~@7 A@14 ~@2 A@18 ~@2 A@8 ~@2 B@6 ~@2 B@28>".pickRestart({
  A: "~@11 x ~@4", B: "~@3 x ~@12",
})).gain(1.54)

// drums · congas
const congas_2 = s("conga:33").struct("<~@7 A@14 ~@2 A@18 ~@2 A@8 ~@2 B@6 ~@2 B@28>".pickRestart({
  A: "~@5 x!2 ~", B: "~ x!2 ~@5",
})).gain(1.54)

stack(
  lead_2_sawtooth, bass, synth_strings_1, epiano1, synth_strings_1_2, kick, clap, snare, pedal_hat, mid_tom, crash,
  congas, congas_2
)

More by Mariah Carey