Strudelify

Close My Eyes

Mariah Carey

KeyA♭ majorTempo52 bpm
0:00/0:00
// Close My Eyes — Mariah Carey
// 52 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 56 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(52/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 · piano · "untitled"
const piano = note(`<
  A B C D@2 E@2 F G H I J K L M N O P Q R S T U V W X L M N Y@2 Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR
  AS AT AU AV AW@2
>`.pickRestart({
  A: "~@2 bb4 bb4@2 ~@2 [ab3,eb4] f4 ~@6 [bb3,bb4], ab3@6 ab4@2 ~@3 f5@5, ~ [eb4,ab4]@6 ~@2 f4@3 ~@2 d5@2, ~@5 bb4@3 ~@2 bb4@2 ~ eb5@3", // Ab5 Bb Ab5
  B: "bb4!3 ~@4 [ab3,f4] ~@2 ab4 ~@4 f3, ab3@6 ab4@2 bb3@3 ~@2 [bb3,bb4]@3, c5@3 ~ c5@4 ~@3 eb5@5, ~@5 bb4@3 ~ f4@2 ~ [d4,d5]@4, ~@7 f4", // Db Bb D
  C: "~@2 bb4 bb4@2 ~@2 ab3 f4 ~@6 [bb3,bb4], ab3@3 ab4 bb3@3 d5, ~ [eb4,ab4]@3 ~ bb4@3 ~ [f4,ab4]@2 f5@5, ~@10 bb4@2 ~ eb5@3", // Bb Ab5 Fm
  D: "[bb4!4 ~@3 [ab3,f4] ~@2 ab4 [f4,bb4] ~@3 ab3 ab3 ~@6 ab2 bb3 ~@5 bb3 bb2, ab3@6 ab4@2 bb3@3 ~@3 [bb3,bb4]@8 ab3@2 bb2@7 ~, c5@3 ~ c5@4 ~@5 c5@11 ~@3 f4@4 ~, ~@5 bb4@3 ~ f4@2 ~ eb4@4 c4 ab3 c4 eb4@5 d4@2 d4@3 d4@2 ~, ~@16 ab2@5 c4@3 ~ bb3@5 ~@2]/2", // Db Bb5 Bb
  E: "ab3 ~@6 ab2 bb3 ~@6 bb2, ab2@7 ~ bb2@7 ~, c4@2 c4@3 c4@3 ~ bb3@5 bb3@2, ~ ab3@5 ab3@2 ~@3 f4@5, ~@3 eb4@5 d4@2 d4@3 d4@3",
  F: "ab3 ~@6 ab2 bb3 ~@5 bb3@2, ab2@7 ~ bb2@8, [c4,eb4]@2 c4@3 c4@3 ~ bb3@5 ~@2, ~ ab3@5 ab3@2 ~@3 f4@5, ~@3 eb4@5 d4@2 d4@3 d4@3", // Cm
  G: "ab3 ~@6 ab2 [bb3,f4] ~@6 bb2, ab2@7 ~ bb2@7 ~, [c4,eb4]@2 c4@3 c4@3 ~ bb3@4 bb3@3, ~ ab3@5 ab3@2 ~ f4@2 f4@5, ~@3 eb4@5 d4@2 d4@4 d4@2", // Bb5 Cm
  H: "ab3 ~@5 ab3@2 bb3 ~@5 d4@2, ab2 bb2, [c4,eb4]@2 c4@3 c4@3 ~ bb3@7, ~ ab3@5 ~@5 f4@5, ~@3 eb4@5 d4@2 d4@4 ~@2", // Cm
  I: "ab3 ~@2 eb4@2 ~ ab3 ab2 bb3 ~@6 bb2, ab2@7 ~ bb2@7 ~, [c4,eb4]@2 c4@3 c4@2 ~ d4@2 d4@3 d4@3, ~ ab3@5 ~@3 bb3@5 bb3@2, ~@11 f4@5", // Cm
  J: "ab3 ~@2 eb4@3 ab3 ~ bb3 ~@5 bb3 bb2, ab2@7 ~ bb2@7 ~, [c4,eb4]@2 c4@3 ~@3 d4@2 d4@3 d4@2 ~, ~ ab3@4 ~@4 bb3@5 ~@2, ~@11 f4@4 ~", // Cm
  K: "ab3 ~@6 ab2 bb3 ~ [d4,f4]@2 ~@2 bb2@2, ab2@7 ~ bb2@6 ~@2, [c4,eb4]@2 c4@3 c4@3 ~ bb3@3 [bb3,d4,f4]@4, ~ ab3@5 ab3@2 ~@8, ~@3 eb4@5 [d4,f4]@2 ~@6", // Dm Cm Bb Dm
  L: "~@2 bb4!2 ~@3 [ab3,ab4] ~@7 bb3, ab3@7 ~ bb3@6 d5@2, ~ eb4@3 ~@2 bb4@2 ~ f4@2 f5@5, ~@2 ab4@2 ~ c5@3 ~@2 bb4@2 ~ eb5@3", // Ab
  M: "bb4 [bb4,c5]@3 ~@3 f4 ~@3 eb5 ~@3 bb3, ab3@3 ab4 bb3@3 f4, ~@4 c5@3 ab3@5 ~ bb4@3, ~@5 bb4@3 ~@4 d5@4", // Bbsus2
  N: "~@3 ab3 ~@3 d5, ab3@5 bb3@2 ~ bb3@8, ~ [ab4,bb4]@3 ~ bb4@3, ~@11 f5@5, ~@13 eb5@3", // Absus2
  O: "c5@3 ~@4 [ab3,f4] bb3@3 ~@3 [f3,f4]@2, ab3@6 ab4@2 ~@3 [c4,c5]@4 ~, bb4 ~@3 c5@4 ~@5 [ab3,ab4]@2 ~, ~@5 bb4@3 ~@4 [bb3,bb4]@3 ~", // Db F C Ab Bb
  P: "ab3 ~@5 ab3 ~ f4@2 ~@4 bb3@2, ab2@5 ab2@2 ~ bb2@5 bb2@3, [c4,eb4]@2 c4@5 ~@4 f4@5, ~ ab3@5 ~@10, ~@3 eb4@4 ~ d4 ~ d4@6", // Cm
  Q: "ab3 ~@5 ab3 ~ [bb3,f4] ~ d4 ~@3 [bb3,d4]@2, ab2@5 ab2@2 ~ bb2@5 bb2@3, [c4,eb4]@2 c4@5 ~@2 bb3@2 [bb3,d4,f4]@4 ~, ~ ab3@5 ~@10, ~@3 eb4@4 ~ d4@2 ~@6", // Bb5 Bb Cm Bb
  R: "ab3 ~ c4 ~@3 ab3@2 [bb3,f4] ~ d4 ~@3 bb3@2, ab2@5 ab2@3 bb2@5 bb2@3, [c4,eb4]@3 [c4,eb4]@5 d4@2 ~ [d4,f4]@5, ~ ab3@5 ~@3 bb3@5 ~@2", // Bb5 Cm Dm
  S: "[ab3,eb4] ~ c4 ~@2 ab2@3 bb3@2 ~ f4@4 ~, ab2@5 ~@3 [bb2,d4]@7 ~, c4@2 ~@8 bb3@5 ~, ~ ab3@2 [ab3,c4,eb4]@5 ~@8", // Ab5 Bb Ab
  T: "ab3 ~@3 eb4@3 ~@7 bb3@2, ab2@7 ~ bb2@5 bb2@3, eb4@2 ~@2 d4 d4@3, c4@2 c4@5 ~@2 bb3@5 ~@2, ~ ab3@6 ~@4 f4@5",
  U: "ab3 ~ c4 ~@3 ab3@2 [bb3,f4] ~ d4 [bb3,d4]@2 ~ [bb3,d4]@2, ab2@5 ab2@3 bb2@5 bb2@3, [c4,eb4]@3 [c4,eb4]@5 d4@2 ~ f4@5, ~ ab3@5 ~@3 bb3@2 ~@5", // Bb5 Bb Cm
  V: "ab3 ~@3 eb4@3 ~@4 f4@2 ~ [bb2,d4]@2, ab2@7 ~ bb2@6 ~@2, [c4,eb4]@2 c4@5 ~ d4@2 d4@4 ~@2, ~ ab3@6 ~@2 bb3@4 bb3@3", // Bb Cm
  W: "[ab3,eb4] ~ c4 c4@2 ~ c4@2 [bb3,f4] ~@5 d4 ~, ab2@8 bb2@7 ~, ~ ab3@4 ab3@3 ~ bb3@4 bb3@2 ~, ~@3 eb4@5 d4@2 d4@4 ~@2, ~@11 f4@4 ~", // Ab5 Bb5
  X: "ab3 ~@5 c4@2 ~@4 bb3@3 ~, ab2@8 [bb2,d4]@7 ~, c4 c4@2 ~ bb3@2 ~@2, ~ ab3@4 ab3@3 ~@8, ~@3 eb4@5 ~@2 c4@5 ~", // Bb
  Y: "[bb4!3 ~@5 bb3@3 ~@2 [bb3,bb4] ~@2 gb3 ~ bb3 gb3@2 ~ gb3@2 ab3 ~ c4 ~@3 ab3 ~, ab3@7 f4@9 [gb2,bb3,db4] gb3@2 [bb3,db4]@5 [c4,eb4]@3 ~@5, c5@3 bb4@2 bb4@3 ~@4 db4@2 bb3 [ab3,ab4]@6 gb2@3 ab2@5 ab2@3, ~ c5 ~ db5@3 ~@2, ~@6 ab4@2 ~@3 [bb3,bb4]@2 ~ bb4@9 ~@2 ab3@2 [ab3,c4,eb4]@4 ~]/2", // Bb Gb Bbm Cm Ab Bb Ab
  Z: "f3 ~ bb3 f3@2 ~@2 bb3 ~@6 f3@2, bb2@5 bb2@3 [bb2,f3]@7 ~, [bb3,d4]@3 [bb3,d4]@5 [bb3,d4]@4 d4@3 ~, ~ f3@2 ~@3 f3@2 ~@3 eb4@4 ~, ~@13 bb3@2 ~", // Bb5 Bb
  AA: "[gb3,bb3]@2 ~ bb3@2 ~ gb2@2 ab3@2 ab3 [ab3,c4]@2 ~ ab2@2, [gb2,db4]@3 ~ ab2@3 ~, ~@2 gb3@3 [gb3,bb3,db4]@3 [c4,eb4]@4 ~ [ab3,c4,eb4]@3", // Gb Ab Gb5 Gb Cm Ab
  AB: "[f3,bb3,d4]@2 bb3 ~@3 [f3,d4] bb3 ~@7 f3, bb2@5 bb2@9 bb3@2, ~@3 [f3,bb3,d4]@4 ~ [f3,bb3]@5 d4@3, ~@2 d4 eb4, ~@11 f4@5", // Bb Dm Bb Bb5
  AC: "bb3 ~ gb3 [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@2 ab3 ~ c4 [ab3,c4,eb4]@2 ~ [ab3,c4] ~, gb2@5 gb2@3 ab2@5 ab2@2 ~, [gb3,db4]@3 ~@6 ab3@2 ~@5, ~ bb3@2 ~@5 [c4,eb4]@3 ~@5", // Gb Ab Gb5 Cm
  AD: "[f3,bb3,d4]@2 f3 [f3,bb3]@2 ~@2 bb3 d4@3 ~@3 f3@2, bb2@5 bb2@10 ~, ~@3 d4@5 ~@3 eb4@5, ~@6 f3@2 [f3,bb3]@5 bb3@3, ~@3 d4", // Bb Bb5
  AE: "[gb3,bb3,db4]@2 ~ bb3@2 ~ gb2@2 ab3 ~ c4 ~@3 [ab3,c4] ~, gb2@6 ~@2 ab2@5 ab2@2 ~, ~@2 gb3@3 [gb3,bb3,db4]@3 [c4,eb4]@3 ~@5, ~@9 ab3@2 [ab3,c4,eb4]@4 ~", // Gb Ab Gb Cm Ab
  AF: "[bb3,d4]@2 bb3 ~@9 eb5@3 ~, bb2@8 f5@7 ~, f3@5 f3@10 ~, ~@3 d4@12 ~, ~@6 bb3@9 ~", // Bb
  AG: "~@2 c4 c4@2 ~ ab3@2 bb3 ~@5 bb3@2, c4@2 ~ eb4@5 [d4,f4]@2 d4@6, ~ ab3@2 ~@2 ab2@3 bb2@5 bb2@3, ~@6 c4 ~@2 bb3@5 ~@2, ~@11 f4@5", // Dm
  AH: "ab3 ~@5 [ab3,c4]@2 bb3@2 ~@4 bb3@2, [c4,eb4]@2 c4@3 ab2@3 bb2@8, ~ ab3@5 ~@4 bb3@3 d4@3, ~@3 eb4@5 d4@4 f4@4", // Ab Cm
  AI: "ab3 ~ c4 ab3@2 ~ ab3@2 [bb3,f4] ~ d4 ~@3 bb3@2, ab2@5 ab2@3 bb2@5 bb2@3, [c4,eb4]@3 eb4@5 d4@2 ~@6, ~ ab3@2 ~@6 bb3@5 ~@2, ~@9 f4@2 f4@5", // Bb5 Cm
  AJ: "ab3 ~@5 ab3@2 [bb3,d4]@2 ~@4 bb2 ~, ab2@5 ab2@3 [bb2,f4]@6 ~@2, [c4,eb4]@2 c4@4 c4 ~@3 bb3@5 ~, ~ ab3@5 ~@7 f4@2 ~, ~@3 eb4@4 ~@4 d4@4 ~", // Bb Bb5 Cm
  AK: "ab3 ~ c4 ~@3 ab3@2 [bb3,f4] ~ d4 d4@2 ~ [bb3,d4]@2, ab2@5 ab2@3 bb2@5 bb2@3, [c4,eb4]@3 [c4,eb4]@5 d4@2 ~@6, ~ ab3@5 ~@3 bb3@5 ~@2, ~@9 f4@2 f4@5", // Bb5 Bb Cm
  AL: "ab3 ~ c4 [ab3,c4]@2 ~ ab3@2 bb3 ~ d4 ~@4 d4, ab2@5 ab2@3 bb2@5 bb2@3, eb4@3 eb4@5 [d4,f4]@3 [d4,f4]@5, ~ ab3@2 ~@6 bb3@2 ~@3 bb3@2", // Ab Dm
  AM: "~@2 [c4,eb4] [ab3,c4]@2 ~ [ab3,c4]@2 [bb3,f4] bb3@2 [bb3,d4]@2 ~ [bb3,d4]@2, ab2@5 ab2@3 bb2@5 bb2@2 ~, ~ ab3@2 eb4@5 d4@2 ~ f4@5", // Cm Ab Bb5 Bb
  AN: "ab3 ~ c4 [ab3,c4,eb4]@2 ~ [c4,eb4] ~ bb3 ~ d4 [bb3,d4]@2 ~ [bb3,d4]@2, ab2@5 ab2@3 bb2@5 bb2@3, [c4,eb4]@3 ~@5 d4@2 ~ f4@5, ~ ab3@2 ~@3 ab3@2 ~ bb3@2 ~@5", // Ab Cm Bb Cm
  AO: "ab3 ~ c4 [c4,eb4]@2 ~ [ab3,c4,eb4]@2 [bb3,f4] ~@3 bb3@3 ~, ab2@5 ab2@3 bb2@8, [c4,eb4]@3 ~@5 d4@2 [c4,d4]@5 ~, ~ ab3@2 ~@6 bb3@3 ~@4", // Cm Ab Bb5 Cm Csus2
  AP: "eb4 ~ ab4 [eb4,ab4,bb4]@2 ~ [eb4,ab4,bb4]@2 ~@6 d5@2, ab3@5 ab3@3 bb3@8, [ab4,bb4]@3 ~@7 ab4@6, ~ eb4@2 ~@6 f4@7, ~@11 f5@5", // Ebsus4 Absus2
  AQ: "~@2 ab4 [eb4,ab4,bb4]@2 ~ [ab4,bb4]@2 ~@6 f4@2, ab3@5 ab3@3 bb3@8, [ab4,bb4]@3 ~@6 ab4@3 bb4@4, ~ eb4@2 ~@5 f4@6 ~@2, ~@10 bb4 c5@5", // Ebsus4 Absus2
  AR: "eb4 ~ ab4 [eb4,ab4]@2 ~ [eb4,ab4,bb4]@2 ~@6 bb4@2, ab3@5 ab3@3 bb3@8, [ab4,bb4]@3 ~@7 [ab4,bb4]@3 ab4@3, ~ eb4@2 ~@5 f4@4 f4@4", // Ab5 Ebsus4 Absus2
  AS: "eb4 ~ ab4 [eb4,ab4,bb4]@2 ~ [eb4,ab4,bb4]@2 ~@6 f4@2, ab4@2 ~@6 f4@5 bb4@3, ~ eb4@2 ~@2 ab3@3 [bb3,ab4]@8, ~@11 eb5@5, ~@3 d5", // Ebsus4 Bb7
  AT: "eb4 ~ ab4 [eb4,ab4]@2 ~ [eb4,ab4,bb4]@2 ~@6 d5@2, ab3@5 ab3@3 [bb3,f4]@8, ~ eb4@2 ~@7 bb4@6, ~@11 f5@5, ~@13 eb5@3", // Ab5 Ebsus4 Bb5
  AU: "eb4 ~ ab4 [eb4,bb4]@2 ~ [eb4,ab4,bb4]@2 ab4 ~@5 ab4@2, ab3@5 ab3@3 [bb3,f4]@8, [ab4,bb4]@3 ~@6 ab4@4 bb4@3, ~ eb4@2 ~@9 c5@4", // Eb5 Ebsus4 Bb5 Absus2
  AV: "eb4 ~ ab4 [eb4,ab4,bb4]@2 ~ [eb4,ab4,bb4]@2 ab4 ~@4 d5@3, ab3@5 ab3@3 [bb3,f4]@8, [ab4,bb4]@3 ~@6 ab4@7, ~ eb4@2 ~@7 bb4@6, ~@3 eb5", // Ebsus4 Bb5 Absus2
  AW: "[eb4 ~@5 ab4@2 ~@3 f4@15 ~@6, ab3@4 bb2@9 ~@3, [ab4,bb4] ab4@2 ~@2 d4@8 ~@3, ~ eb4@4 eb4@3 ~ bb3@17 ~@6, ~@3 bb4@5 ~@24]/2", // Absus2
})).s("gm_piano").gain(0.21)

// chords · piano · "untitled" · soft notes
const piano_soft = note(`<
  A B ~ C ~@6 D E ~ F ~ G H I J@2 K ~ J L M N F ~ G ~@3 O ~ P Q R S T U V ~@2 W X Y Z AA AB AC AD AE AF ~@3
>`.pickRestart({
  A: "~@9 ab4@2 ~@5, ~@8 bb3@7 ~", B: "~@3 bb4 ~@10 ab3@2, ~@11 eb4@5", C: "~@13 c4@3", D: "~@6 eb4 ~@9",
  E: "~@5 c4@2 ~@9, ~@5 ab3 ~@10", F: "~@9 ab4@2 ~@5", G: "~ c4 ~@2, ~ eb4@6 ~@9", H: "~ bb4@3 ~@12",
  I: "~@8 bb3 bb3@5 ~@2, ~@9 d4 ~@6", J: "~@9 f4@2 ~@5", K: "~ eb4@2 ~@13", L: "~@3 eb4 ~@9 f4@3",
  M: "~ eb4@2 ~@6 f4@2 ~@5, c4 ~@7", N: "eb4@3 ~@5 f4@7 ~", O: "~@12 eb4 ~@3", P: "~@14 eb4 ~", Q: "~@6 bb3 ~@9",
  R: "~@3 db4@2 ~@11", S: "~@3 bb3@3 ~@10", T: "eb4@3 ab3@3 ~@10, ab2@5 ~@11, ab3 ~@15", U: "ab2@5 ~@11",
  V: "~@3 c4@3 c4 ~@4 d4@5", W: "c4@2 ~@4 c4 ~@4 bb3@3 ~@2", X: "~@10 d4 ~@5, ~@9 f4@2 ~@5", Y: "~@8 f4@3 ~@5",
  Z: "~@3 ab3@3 ~@3 f4@7", AA: "~@13 eb5@3, ~@5 bb4@3", AB: "eb4 ~@5 eb4@2 ~@5 ab4@3", AC: "~@3 bb4@3 ~@3 ab4 ~@6",
  AD: "~ bb4@2 ~@13, ab3@5 ~@11", AE: "ab4@2 ~ bb4@3 ~@3 ab4@7", AF: "~@3 ab4 ab4@2 ~@4 bb4@3 ~@3",
})).s("gm_piano").gain(0.1)

// other · string ensemble 1
const string_ensemble_1 = note("<~@13 A@4 ~@4 B C@3 D E@4 F G F G F G F H ~@4 I@4 J K@4 L M N O@2>".pickRestart({
  A: "[[ab4,ab5]@63 ~]/4", B: "ab4 ~", C: "ab4 bb4", D: "ab4@8 bb4@7 ~", E: "[ab5@15 ~]/4", F: "gb3 ab3", G: "bb3",
  H: "bb3@3 ~",
  I: "[[ab2,ab3] [bb2,bb3] [ab2,ab3] [bb2,bb3] [ab2,ab3] [bb2,bb3] [ab2,ab3] [bb2,bb3], [ab4,ab5]@63 ~]/4", // Ab Bb Ab Bb Ab Bb Ab Bb …
  J: "[ab2,ab3] [bb2,bb3]", K: "[ab4,ab5]/4", L: "ab2 bb2", M: "ab2@8 bb2@7 ~", N: "[ab1,ab2] [bb1,bb2]",
  O: "[[ab1,ab2]@8 bb2@19 ~@5]/2", // Ab
})).s("gm_string_ensemble_1").gain(0.07)

// other · string ensemble 1 · soft notes
const string_ensemble_1_soft = note("<A@4 ~@17 B ~@4 C@4 ~@16 D ~@7 E@2>".pickRestart({
  A: "[[ab4,ab5]@31 ~]/2", B: "~ bb4", C: "[ab4@15 ~]/4", D: "[ab4,ab5]@15 ~", E: "[~@8 bb1@19 ~@5]/2",
})).s("gm_string_ensemble_1").gain(0.04)

// bass · synth bass 2
const bass = note(`<
  A ~ A ~ A ~ A ~ A ~ A ~@2 A ~ A ~ B@9 A ~ A C D E D F D G D H A ~ A ~ B@3 I J A ~ A ~ K ~ K ~@2
>`.pickRestart({
  A: "ab1 ~@3", B: "ab1 bb1", C: "~@11 bb1 db2 bb1!2 ab1", D: "gb1 ab1", E: "bb1@8 bb1@5 db2 bb1@2",
  F: "bb1@8 bb1@4 db2 bb1@3", G: "bb1@8 bb1@4 ~ bb1 db2 bb1", H: "bb1@15 ~", I: "ab2 bb2", J: "ab2@8 bb2@7 ~",
  K: "ab1@5 ~@11",
})).s("gm_synth_bass_2").gain(0.31)

// drums · kick
const kick = s("bd").struct("<[x ~@6 x!2 ~@7]!55 ~>").gain(0.41)

// drums · snare
const snare = s("sd").struct("<~@30 [~ x ~ x]!7 [~@3 x] ~@3 [~@3 x] [~ x ~ x]!4 [~ x ~@2] ~@9>").gain(0.41)

// drums · hihat
const hihat = s("hh").struct(`<
  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 C ~
>`.pickRestart({
  A: "x!16", B: "x!15 ~", C: "x!9 ~@7",
})).gain(0.21)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2
>`.pickRestart({
  A: "~@15 x",
})).gain(0.33)

// drums · crash
const crash = s("cr").struct("<A ~@3 A ~@3 A ~@4 A ~@3 A ~@3 A ~@4 A ~@3 A ~@7 A ~@3 A ~@4 A ~@8>".pickRestart({
  A: "x",
})).gain(0.29)

// drums · tambourine
const tambourine = s("tb").struct("<~@8 A@5 ~@8 A@5 ~@4 A@8 ~@4 A@5 ~@9>".pickRestart({
  A: "~ x ~ x",
})).gain(0.41)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<[~ x ~ x]!30 ~@8 [~ x ~ x]!3 ~@6 [~ x ~ x]!7 ~@2>").gain(1.87)

// drums · rim
const rim = s("rim").struct("<[~ x ~ x]!30 ~@8 [~ x ~ x]!3 ~@6 [~ x ~ x]!7 ~@2>").gain(0.25)

stack(
  piano, piano_soft, string_ensemble_1, string_ensemble_1_soft, bass, kick, snare, hihat, open_hat, crash, tambourine,
  cabasa, rim
)

More by Mariah Carey