Strudelify

Love Will Save The Day

Whitney Houston

KeyE♭ minorTempo122 bpm
0:00/0:00
// Love Will Save The Day — Whitney Houston
// 122 bpm, 4/4, key D# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 160 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(122/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 · synth bass 2 · "SYN BASS 2"
const synth_bass_2 = note(`<
  ~@9 A B C A@2 B C A@2 B C A@2 B C A D E F G D E F H I J ~@22 A B C A@2 B C A@2 B C A@2 B C A D E F G D E F H I J ~@23
  A B C A@2 B C A D E F G D E F H I K ~@36
>`.pickRestart({
  A: "[eb4,gb4]!3 [bb3,eb4] [eb4,gb4]!2 ~ [eb4,gb4] ~@8", B: "~ [eb4,gb4]!2 [b3,eb4] [eb4,gb4]!2 ~ [eb4,gb4] ~@8",
  C: "~ [e4,ab4]!2 [b3,e4] [e4,ab4]!2 ~ [e4,ab4] ~@8", D: "~@2 [b3,eb4,gb4]!4 ~ [b3,eb4,gb4] ~@8",
  E: "~@2 [bb3,db4,gb4]!4 ~ [bb3,db4,gb4] ~@8", F: "~@2 [a3,db4,gb4]!4 ~ [a3,db4,gb4] ~@8",
  G: "~@2 [ab3,c4,eb4]!4 ~ [c4,eb4,ab4] ~@8", H: "~@2 [c4,eb4,ab4]!4 ~ [c4,eb4,ab4] ~@8",
  I: "~@2 [ab3,db4] ~ [ab3,db4]!2 ~ [ab3,db4] ~ [ab3,db4] ~ [ab3,db4]!2 ~ [ab3,db4] ~", // Db5
  J: "[ab3,db4] ~ [ab3,db4] ~ [ab3,db4]!2 ~ [ab3,db4] ~ [ab3,db4] ~ [ab3,db4]!2 ~ [ab3,db4] ~", // Db5
  K: "[bb3,eb4] ~ [bb3,eb4] ~ [bb3,eb4]!2 ~ [bb3,eb4] ~ [bb3,eb4] ~ [bb3,eb4]!2 ~ [bb3,eb4] ~", // Eb5
})).s("gm_synth_bass_2").gain(0.48)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~ A@7 B A C D A@2 C D A@2 C D A@2 C D A E F G H I J G H K@2 L H M L@2 H M L@2 H M L@2 H M L N L N A@4 C D A@2 C D A@2
  C D A@2 C D A E F G H I J G H K@2 L H M L@2 H M L@2 H M L@2 H M L N L N L@4 A C D A@2 C D A E F G H I J G H K O P J Q
  R P J Q R P J Q R P J Q R P J Q R P J Q R P J Q R P J Q R L R L S
>`.pickRestart({
  A: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3!2 ~ eb3!2 ~ eb3 ~", B: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3!2 ~ eb3!2 ~ eb3@2",
  C: "ab3 ~ ab3 ~ ab3 ~ ab3 ~ ab3!2 ~ ab3!2 ~ ab3 ~", D: "e3 ~ e3 ~ e3 ~ e3 ~ e3!2 ~ e3!2 ~ e3 ~",
  E: "b3 ~ b3 ~ b3 ~ b3 ~ b3!2 ~ b3 ~ b3 ~ b3", F: "bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3!2 ~ bb3 ~ bb3 ~ bb3",
  G: "a3 ~ a3 ~ a3!2 ~ a3 ~ a3 ~ a3!2 ~ a3 ~", H: "ab3 ~ ab3 ~ ab3!2 ~ ab3 ~ ab3 ~ ab3!2 ~ ab3 ~",
  I: "b3 ~ b3 ~ b3!2 ~ b3 ~ b3 ~ b3!2 ~ b3 ~", J: "bb3 ~ bb3 ~ bb3!2 ~ bb3 ~ bb3 ~ bb3!2 ~ bb3 ~",
  K: "db4 ~ db4 ~ db4!2 ~ db4 ~ db4 ~ db4!2 ~ db4 ~", L: "eb3 ~ eb3 ~ eb3!2 ~ eb3 ~ eb3 ~ eb3!2 ~ eb3 ~",
  M: "e3 ~ e3 ~ e3!2 ~ e3 ~ e3 ~ e3!2 ~ e3 ~", N: "db3 ~ db3 ~ db3!2 ~ db3 ~ db3 ~ db3!2 ~ db3 ~",
  O: "eb4 ~ eb4 ~ eb4!2 ~ eb4 ~ eb4 ~ eb4!2 ~ eb4 ~", P: "f4 ~ f4 ~ f4!2 ~ f4 ~ f4 ~ f4!2 ~ f4 ~",
  Q: "gb3 ~ gb3 ~ gb3!2 ~ gb3 ~ gb3 ~ gb3!2 ~ gb3 ~", R: "f3 ~ f3 ~ f3!2 ~ f3 ~ f3 ~ f3!2 ~ f3 ~", S: "f3@3 ~@13",
})).s("gm_acoustic_bass").gain(0.72)

// chords · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note(`<
  ~@35 A B C@2 A B C@2 A B C@2 A B D@2 E@2 F ~@29 A B C@2 G B C@2 A B C@2 A B D@2 H@2 I@2 ~@21 J K L@2 J K L@2 J K L@2 J
  K L@2 J K L@2 J K L@2 J K L@2 J K L@2 M@2 N ~
>`.pickRestart({
  A: "[bb4,eb5,gb5]@7 [bb4,eb5,gb5] ~ bb4 db5 ~ bb4 ~ ab4@2", // Ebm
  B: "[b4,eb5,gb5]@7 [bb4,b4,eb5,gb5] ~ bb4 db5 ~ bb4 ~ ab4@2", // B Bmaj7
  C: "[[e4,ab4,b4,gb5]@6 ~ [e4,ab4,b4,gb5] ~ ab4 b4 ~ ab4 ~@3 eb5@4 eb5@2 ~ [bb4,eb5,gb5] ~ bb4 db5 ~ bb4 ~ ab4 ~, ~@14 gb4@5 ~@13, ~@8 [bb4,gb5]@3 ~@5]/2", // E Ebm
  D: "[[e4,ab4,b4,gb5]@6 ~ [e4,ab4,b4,gb5] ~ ab4 b4 ~ ab4 ~@3 eb5@4 eb5@2 ~ [bb4,eb5,gb5] ~ bb4 db5 ~ bb4 ~ ab4@2, ~@14 gb4@5 ~@13, ~@8 [bb4,gb5]@3 ~@5]/2", // E Ebm
  E: "[[ab4,b4,eb5,gb5]@5 ~ [ab4,b4,eb5,gb5] ab4 ~ ab4 b4 ~ ab4 ~@3 [bb4,eb5,gb5]@6 ~ [bb4,eb5,gb5] ~ bb4 db5 ~ bb4 ~ ab4@2, ~@14 gb4@7 ~@11]/2", // Abm7 Ebm
  F: "[ab4,b4,eb5,gb5]@6 ~ [ab4,b4,eb5,gb5] ~ ab4 b4 ~ ab4 ~@3", G: "[bb4,eb5]@7 [bb4,eb5,gb5] ~ bb4 db5 ~ bb4 ~ ab4@2",
  H: "[[ab4,b4,eb5,gb5]@6 [ab4,b4,eb5,gb5] ab4 ~ ab4 b4 ~ ab4 ~@3 [bb4,eb5,gb5]@6 ~ [bb4,eb5,gb5] ~ bb4 db5 ~ bb4 ~ ab4@2, ~@14 gb4@7 ~@11]/2", // Abm7 Ebm
  I: "[[ab4,b4,eb5,gb5]@6 ~ [ab4,b4,eb5,gb5] ~ ab4 b4 ~ ab4 ~ gb4@6 ~@12]/2", // Abm7
  J: "[c5,f5,ab5]@7 [c5,f5,ab5] ~ c5 eb5 ~ c5 ~ bb4@2", K: "[db5,f5,ab5]@7 [c5,db5,f5,ab5] ~ c5 eb5 ~ c5 ~ bb4@2",
  L: "[[gb4,bb4,db5,ab5]@6 ~ [gb4,bb4,db5,ab5] ~ bb4 db5 ~ bb4 ~@3 f5@4 f5@2 ~ [c5,f5,ab5] ~ c5 eb5 ~ c5 ~ bb4 ~, ~@14 ab4@5 ~@13, ~@8 [c5,ab5]@3 ~@5]/2", // Gb Fm
  M: "[[bb4,db5,f5,ab5]@6 [bb4,db5,f5,ab5] bb4 ~ bb4 db5 ~ bb4 ~@3 [c5,f5,ab5]@6 ~ [c5,f5,ab5] ~ c5 eb5 ~ c5 ~ bb4@2, ~@14 ab4@7 ~@11]/2", // Bbm7 Fm
  N: "[bb4,db5,f5,ab5]@6 ~ [bb4,db5,f5,ab5] ~ bb4 db5 ~ bb4 ~ ab4@2", // Bbm7
})).s("gm_synth_brass_1").gain(0.34)

// chords · synth brass 1 · "SYNBRASS 1" · soft notes
const synth_brass_1_soft = note(`<
  ~ A B A@5 B C ~@27 D ~@3 D ~@3 D ~@3 D ~@4 E A B C ~@27 D ~@3 D ~@3 D ~@3 D ~@4 E A@2 B C ~@19 F ~@3 F ~@3 F ~@3 F ~@3
  F ~@3 F ~@3 F ~@3 F ~@5
>`.pickRestart({
  A: "[bb4,eb5,gb5]@7 [bb4,eb5,gb5] ~@8", B: "[bb4,eb5,gb5]@6 ~ [bb4,eb5,gb5] ~@8", C: "[eb4,gb4,bb4] ~@3",
  D: "eb5@6 ~ eb5 ~@8", E: "[bb4,eb5,gb5] ~@6 [bb4,eb5,gb5] ~@8", F: "f5@6 ~ f5 ~@8",
})).s("gm_synth_brass_1").gain(0.17)

// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~ A B ~ C A B A ~@10 D ~ E ~ F ~ G H@8 I@2 J@2 K J@3 K J@3 K J@3 K J ~@3 B A ~@2 L ~ M ~ N ~ O ~ P Q R ~ S Q T H@8 I@2
  J@2 K J@3 K J@3 K J@3 K J ~@3 A B A ~@9 H@8 I U V@2 W V@3 W V@3 W V@3 W V@3 W V@3 W V@3 W V@3 W V ~@4
>`.pickRestart({
  A: "~@9 bb3 ~ bb3 db4 ~ eb4 ~", B: "~@9 bb3 ~ bb3 db4!2 eb4 ~", C: "~@8 a4 ab4 gb4 ~ eb4 gb4 ~@2",
  D: "~@7 gb3 ~ gb3 ab3 gb3 eb3 ~@3", E: "~@7 bb3 ~ bb3 ab3 gb3 eb3 ~ gb3 ~", F: "~@7 gb4 ~ gb4 ~ gb4 ab4 gb4 eb4 ~",
  G: "~ gb4 ~ gb4 ~ gb4 ~@2 bb4 ab4 ~ eb4@3 gb4 ~", H: "~@6 eb4 ~ db4@3 eb4 ~@4",
  I: "~@2 [db3,db4] ~@2 [db3,db4] ~@2 [db3,db4] ~@2 [db3,db4] ~@2 [db3,db4] ~", // Db
  J: "[eb5,gb5]!3 [bb4,eb5] [eb5,gb5]!2 ~ [bb4,eb5] ~@8", K: "[e5,ab5]!3 [b4,e5] [e5,ab5]!2 ~ [b4,e5] ~@8",
  L: "~@9 gb4 ~ gb4 ab4 ~@3", M: "~@7 bb4 ~ bb4 ab4 gb4 eb4@2 gb4 ~", N: "~@7 gb4 ~ gb4 eb4 ~ gb4 ~ ab4 ~",
  O: "~@7 [ab5,b5] ~ [gb5,bb5] ~ [ab5,b5] [gb5,bb5]@2 ~@2", // Abm Gb Abm Gb
  P: "~@7 [gb3,gb4] ~ [gb3,gb4] [ab3,ab4] [gb3,ab4] [eb3,eb4] ~@3", Q: "~ db4 eb4 e4 ~@12",
  R: "~@7 [bb3,bb4] ~ [bb3,bb4] [ab3,ab4] [gb3,gb4] [eb3,ab4] gb4 gb3 ~", // Bb Ab Gb Ab5
  S: "~@7 gb4 ~ gb4 ab4 [gb4,ab4] [eb4,ab4] gb4 eb4 ~", // Gbsus2 Ab5
  T: "~ gb4 [db5,gb5] [gb4,db5,gb5] ~ gb4 [bb4,eb5]!2 bb4 ab4 [ab4,db5] ~ [ab4,db5] [bb4,eb5] gb4 ~, ~@11 eb4@3 ~@2", // Gb5 Eb5 Db5 Eb5
  U: "~@2 [eb3,eb4] ~@2 [eb3,eb4] ~@2 [eb3,eb4] ~@2 [eb3,eb4] ~@2 [eb3,eb4] ~", // Eb
  V: "[f5,ab5]!3 [c5,f5] [f5,ab5]!2 ~ [c5,f5] ~@8", W: "[gb5,bb5]!3 [db5,gb5] [gb5,bb5]!2 ~ [db5,gb5] ~@8",
})).s("gm_electric_guitar_muted").gain(0.8)

// chords · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
  ~ A B A@5 B C D E C@2 D E C@2 D E C@2 D E F G H I J G H I J K L A M N B A M N B A M N B A M N B O B P Q A B C D E C@2
  D E C@2 D E C@2 D E F G H I J G H I J K L A M N B A M N B A M N B A M N B O B P Q A@2 B C D E C@2 D E C@2 H I J G H I
  J K R S T U V S T U V S T U V S T U V S T U V S T U V S T U V S T U V W V X ~
>`.pickRestart({
  A: "[bb4,eb5,gb5]@7 [bb4,eb5,gb5] ~@8", B: "[bb4,eb5,gb5]@6 ~ [bb4,eb5,gb5] ~@8", C: "[eb4,gb4,bb4]",
  D: "[eb4,ab4,b4]", E: "[e4,ab4,b4]", F: "[eb4,gb4,bb4]@15 ~", G: "[b4,eb5,gb5]", H: "[bb4,db5,gb5]",
  I: "[a4,db5,gb5]", J: "[ab4,c5,eb5,gb5]",
  K: "[eb4,gb4,ab4,db5] ~ [eb4,gb4,ab4,db5] ~ [eb4,gb4,ab4,db5]!2 ~ [eb4,gb4,ab4,db5]@2 ~@7", // Ebm7
  L: "[eb4,gb4,ab4,db5] ~ [eb4,gb4,ab4,db5] ~ [eb4,gb4,ab4,db5]!2 ~ [eb4,gb4,ab4,eb5]@4 ~@5", // Ebm7 Ab7
  M: "[b4,eb5,gb5]@7 [b4,eb5,gb5] ~@8", N: "[e4,ab4,b4,eb5,gb5]@6 ~ [e4,ab4,b4,eb5,gb5] ~@8",
  O: "[ab4,b4,eb5,gb5]@5 ~ [ab4,b4,eb5,gb5] ~@9", P: "[ab4,b4,eb5,gb5]@6 ~ [ab4,b4,eb5,gb5] ~@8",
  Q: "[bb4,eb5,gb5] ~@6 [bb4,eb5,gb5] ~@8", // Ebm
  R: "[eb4,ab4,bb4,eb5] ~ [f4,ab4,bb4,eb5] ~ [f4,ab4,bb4,eb5]!2 ~ [f4,ab4,bb4,f5]@4 ~@5", // Ebsus4 Fm7 Bb7
  S: "[c5,f5,ab5]@7 [c5,f5,ab5] ~@8", T: "[db5,f5,ab5]@7 [db5,f5,ab5] ~@8",
  U: "[gb4,bb4,db5,f5,ab5]@6 ~ [gb4,bb4,db5,f5,ab5] ~@8", V: "[c5,f5,ab5]@6 ~ [c5,f5,ab5] ~@8",
  W: "[bb4,db5,f5,ab5]@5 ~ [bb4,db5,f5,ab5] ~@9", X: "[bb4,db5,f5,ab5]@6 ~ [bb4,db5,f5,ab5] ~@8",
})).s("gm_epiano1").gain(0.48)

// chords · pad warm · "WARM PAD"
const pad_warm = note(`<
  ~@25 A B C D A B C E F@2 ~@16 G H I ~@19 A B C D A B C E F@2 ~@16 G H I ~@12 A B C D A B C E ~@34 J K L ~
>`.pickRestart({
  A: "[b3,eb4,gb4]", B: "[bb3,db4,gb4]", C: "[a3,db4,gb4]", D: "[ab3,c4,eb4,gb4]", E: "[ab3,c4,eb4,gb4]@15 ~",
  F: "[[gb3,ab3,db4]@31 ~]/2", G: "[ab4,b4,eb5,gb5]@15 ~", H: "[bb4,eb5,gb5]@15 ~", I: "[ab4,b4,eb5,gb5]",
  J: "[bb4,db5,f5,ab5]@15 ~", K: "[c5,f5,ab5]@15 ~", L: "[bb4,db5,f5,ab5]",
})).s("gm_pad_warm").gain(0.5)

// other · vibraphone
const vibraphone = note(`<
  ~ A@5 B C D E F G E@2 F G E@2 F G E@2 F G H ~@29 B C D E F G E@2 F G E@2 F G E@2 F G H ~@29 A B C D E F G E@2 F G E
  I@2 ~@44
>`.pickRestart({
  A: "[eb4,eb5]!2 ~ [eb4,eb5] ~ [eb4,eb5] ~ [eb4,eb5]!9", B: "[eb4,eb5] ~ [eb4,eb5]!2 ~ [eb4,eb5] ~ [eb4,eb5]!9",
  C: "[eb4,eb5] ~@2 [eb4,eb5] ~ [eb4,eb5] ~ [eb4,eb5]!9", // Eb
  D: "[eb4,eb5] [eb4,eb5]@2 [eb4,eb5]@2 [eb4,eb5] ~ [eb4,eb5]!8 ~", E: "[eb4,gb4,bb4]", F: "[eb4,ab4,b4]",
  G: "[e4,ab4,b4]", H: "[eb4,gb4,bb4]@15 ~", I: "[eb4,gb4,bb4]/2",
})).s("gm_vibraphone").gain(0.35)

// other · xylophone
const xylophone = note(`<
  ~@2 A ~ B ~ A ~ B ~@3 C ~@3 C ~@3 C ~@17 D ~@3 D ~@3 D ~@3 D ~@3 A ~ B ~@3 C ~@3 C ~@3 C ~@17 D ~@3 D ~@3 D ~@3 D ~@4
  A ~ B ~@3 C ~@17 E ~@3 E ~@3 E ~@3 E ~@3 E ~@3 E ~@3 E ~@3 E ~@4
>`.pickRestart({
  A: "~@11 gb5 bb4 ~ gb5 ~", B: "~@10 gb5!2 bb4!2 gb5 ~", C: "~@10 bb5 gb5 eb5 ~ gb5 ~", D: "~@10 ab5 gb5 eb5 ~ gb5 ~",
  E: "~@10 bb5 ab5 f5 ~ ab5 ~",
})).s("gm_xylophone").gain(0.39)

// other · tubular bells · "TUBULARBEL"
const tubular_bells = note("<~@26 A B ~@2 A B ~@42 A B ~@2 C@2 ~@35 A B ~@2 A B ~@39>".pickRestart({
  A: "~@8 ab5@3 ~ a5@3 ~", B: "gb5 ~@3", C: "[~@8 ab5@3 ~ a5@3 gb5@4 ~@13]/2",
})).s("gm_tubular_bells").gain(0.69)

// other · vibraphone
const vibraphone_2 = note("<~@106 A B C ~ D E F@4 ~@44>".pickRestart({
  A: "~@15 gb5, ~@9 eb5@7, ~@5 gb5@2 ab5, ~@11 ab5@2 bb5@3, ~@3 eb6",
  B: "eb5 ab5 db5 gb5 bb4 f5 ab4 ~@7 gb4 eb4, ~@7 db5@3 bb4@2 bb4@3 ~, ~@9 ab4@4 ab4@2 ~, ~@11 db5@4 ~",
  C: "bb4 ab4 eb4 gb4 eb4 ab4 ~@2 eb4 db4 ab3 a3 ab3 db4 gb3 ~, ~@6 f4@3 ~@7, ~@7 db4@2 ~@7",
  D: "~@3 eb5 ~@9 b5 ~ ab5, ~@5 f5@10 ~, ~@7 gb5@8 ~, ~@9 ab5@6 ~, ~@11 bb5@4 ~",
  E: "~@9 db6 bb5 ab5 ~ eb5@2 ab5, ~@3 gb5",
  F: "[~@8 ab5 eb5 ~ [f5,gb5] ~@3 eb5@2 ~@2 eb6 db6 bb5 ab5 gb5 eb5 db5 bb4 ~ gb4@32 ~@4, ~@13 f5@4 ~@10 ab4@32 ~@5, ~@7 gb5@2 ~@23]/4", // Gbmaj7
})).s("gm_vibraphone").gain(0.46)

// drums · kick
const kick = s("bd").struct("<[~@12 x!2 ~ x] [x!2]!158 ~>").gain(0.64)

// drums · snare
const snare = s("sd").struct("<A B@7 C B@15 C B@9 D B@21 C B@15 C B@9 D B@22 D B@7 C B@9 C B@35 ~>".pickRestart({
  A: "~@12 x!2 ~@2", B: "~@4 x ~@7 x ~@2 x", C: "~@4 x ~@7 x ~ x!2", D: "~@4 x ~@7 x!4",
})).gain(0.72)

// drums · clap
const clap = s("cp").struct("<~@34 A ~@15 B ~@3 A ~@27 A ~@15 B ~@3 A ~@2 A ~@54>".pickRestart({
  A: "~@3 x", B: "~ x ~@2",
})).gain(0.8)

// drums · low tom
const low_tom = s("lt").struct("<A ~@7 A ~@7 B ~@7 A ~@9 C ~@21 A ~@7 B ~@7 A ~@9 C ~@22 C ~@17 A ~@36>".pickRestart({
  A: "~@14 x!2", B: "~@11 x!2 ~@3", C: "~@15 x",
})).gain(0.72)

// drums · hihat
const hihat = s("hh").struct("<~ [x!16]!158 ~>").gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct("<A ~@7 B ~@15 B ~@9 C ~@21 B ~@15 B ~@9 C ~@22 C ~@17 B ~@36>".pickRestart({
  A: "~@10 x!4 ~@2", B: "~@12 x!2 ~@2", C: "~@7 x",
})).gain(0.72)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@10 A ~ A ~ A ~ A ~ A ~ A ~ A ~@13 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A@2 ~@6 A ~ A ~ A ~ A ~ A ~ A ~ A ~@13 A ~ A ~ A ~ A@3
  ~ A ~ A ~ A@2 ~@7 A ~ A ~ A ~ A ~@11 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2 A ~ A ~
>`.pickRestart({
  A: "~@3 x",
})).gain(0.72)

// drums · high tom
const high_tom = s("ht").struct(`<
  A ~@7 B ~@15 B ~@9 C ~@18 D ~@2 B ~@15 B ~@9 C ~@18 D ~@3 C ~@17 B ~@36
>`.pickRestart({
  A: "~@8 x!2 ~@6", B: "~@9 x!3 ~@4", C: "~@8 x ~ x ~ x!2 ~@2", D: "~@14 x!2",
})).gain(0.72)

// drums · crash
const crash = s("cr").struct(`<
  ~ A ~@7 A ~@15 A ~@8 B A ~@7 A ~@7 C@3 A ~@2 A ~@15 A ~@8 B A ~@15 C@3 A ~@2 B A ~@7 A ~@9 A ~@35
>`.pickRestart({
  A: "x", B: "~@3 x", C: "~ x ~@2",
// … 22 more lines

More by Whitney Houston