Strudelify

Anything for You

Gloria Estefan

KeyF♯ majorTempo72 bpm
0:00/0:00
// Anything for You — Estefan Gloria
// 72 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 68 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(72/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.

// bass · electric bass finger · "FINGERDBAS"
const bass = note("<~@8 A@7 B@5 C@8 D@5 E@8 F@2 G H@3 G I@3 G J@3 K J@3 G L@3 G M@3 ~>".pickRestart({
  A: "[~@31 f#2@28 ~@4 c#2@28 ~@4 f#1@23 ~ d#2@5 ~@3 e2@16 e2@7 ~ f#2@6 ~@2 b1@25 ~@3 b1@2 ~@2 c#2@25 ~@3 c#2@2 ~@2 d#2]/7",
  B: "[~@15 b1@15 ~ c#2@28 ~@4 c#2@15 ~ g#2@7 ~ a#2@7 ~ c#2@11 ~ g#2@7 ~ c#2@8 ~@2 c#2 ~ f#2@10 ~@2 f#2@3 ~ d#2@16 f#2]/5",
  C: "[~@7 g#2@5 ~@3 e2@7 ~ f#2@8 b1@11 ~ f#2@12 b1@6 ~@2 c#2@12 f#2@11 ~ c#2@6 ~@2 d#2@11 ~ g#2@17 ~@3 c#2@16 g#2@15 ~ c#2@32 f#1@11 ~ f#1@15 ~ f#1@3 ~ c#2@10 ~@2 c#2@11 ~ c#2@3 ~ b1@3 ~ a#1]/8",
  D: "[~@7 g#1@7 ~ f#1@7 ~ d#1@6 ~@2 e1@9 ~@3 f#1@2 g#1 ~ g#1@7 ~ b1@7 ~ c#2@10 c#2 ~@3 c#2 ~ c#2@7 ~ g#1@2 a#1 ~ c#2 ~ c#2 ~ c#2@10 c#2 ~@3 c#2 ~ c#2@8 g#1@2 a#1 ~ c#2 ~ c#2 ~ c#2@10 c#2 ~@3 c#2 ~ c#2@7 ~ g#1@2 a#1 ~ c#2 ~ c#2 ~ c#2]/5",
  E: "[~@7 g#1@7 ~ f#1@7 ~ a#1@6 ~@2 b1@10 ~@2 b1@2 ~@2 b1@13 ~@3 c#2@12 a#1@10 ~@2 f#1@7 ~ d#2@30 ~@2 c#2@25 ~@3 g#1@2 ~@2 c#2@30 ~@2 f#1@26 ~@2 f#1@3 ~ c#2@17 ~@3 b2@2 a#2 ~ g#2@2 ~@2 f#2 ~ f2 ~ f#2]/8",
  F: "[~@11 f#2@3 ~ d#2@14 ~@2 e2@7 ~ g#2@6 ~@2 f#2@7 ~ c#2@7 ~ b1]/2",
  G: "~ b1 ~ b1 ~ b1 ~@3 f#1 ~ b1@14 f#1 ~ b1@2 f#1 ~ c#2",
  H: "[~ c#2 ~ c#2 ~ c#2 ~@3 f#1 ~ c#2@14 ~@2 c#2@2 d2@2 d#2@8 ~@2 a#1 ~ g#1@7 ~ g#1 ~ g#1 ~ g#1@2 d#2@4 ~@2 c#2@6 ~@2 g#1@5 ~ g1 ~ f#1@4 ~@2 f#1 ~ f#2@2 f#1@2 ~@2 a#1 ~ b1]/3",
  I: "[~ c#2 ~ c#2 ~ c#2 ~@3 f#1 ~ c#2@14 ~@2 c#2@2 d2 ~ d#2@5 ~ a#1@2 ~@2 a1 ~ g#1@6 ~@2 g#1 ~ g#1 ~ g#1 ~ d#2@2 ~@2 d2 ~ c#2@6 ~@2 g#1@5 ~ g1 ~ f#1@4 ~@2 f#1@2 f#2@2 f#1@2 ~@2 a#1 ~ b1]/3",
  J: "[~ c#2 ~ c#2 ~ c#2 ~@3 f#1 ~ c#2@14 ~@2 c#2@2 d2@2 d#2@5 ~ a#1@2 ~@2 a1 ~ g#1@6 ~@2 g#1 ~ g#1 ~ g#1 ~ d#2@2 ~@2 d2 ~ c#2@6 ~@2 g#1@5 ~ g1 ~ f#1@4 ~@2 f#1 ~ f#2@2 f#1@2 ~@2 a#1 ~ b1]/3",
  K: "~ b1 ~ b1 ~ b1 ~@3 f#1 ~ b1@14 f#1@2 b1@2 f#1 ~ c#2",
  L: "[~ c#2 ~ c#2 ~ c#2 ~@3 f#1 ~ c#2@14 ~@2 c#2@2 d2 ~ d#2@5 ~ a#1@2 ~@2 a1 ~ g#1@6 ~@2 g#1 ~ g#1 ~ g#1 ~ d#2@2 ~@2 d2 ~ c#2@6 ~@2 g#1@5 ~ g1 ~ f#1@4 ~@2 f#1 ~ f#2@2 f#1@2 ~@2 a#1 ~ b1]/3",
  M: "[~ c#2 ~ c#2 ~ c#2 ~@3 f#1 ~ c#2@14 ~@2 c#2@2 d2@2 d#2@5 ~ a#1@2 ~@2 a1 ~ g#1@6 ~@2 g#1 ~ g#1 ~ g#1 ~ d#2@2 ~@2 d2 ~ c#2@6 ~@2 g#1@5 ~ g1 ~ f#1@4 ~@2 f#1@2 f#2@2 c#2@2 ~@2 f#1 ~@2]/3",
})).s("gm_electric_bass_finger").gain(0.35)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@4 A@6 B@3 ~ C@3 D E@8 ~ F@3 ~@9 G H@6 I@8 J@8 K@5 ~>".pickRestart({
  A: "[~@31 b5@4 ~@4 g#5@3 ~ f#5@16 ~@2 a#5@2 f#5@24 d#5@4 c#5@32 a#4@4 g#4@15 ~@17 g#4@12 a#4@19 ~@2]/6",
  B: "[~@11 c#5@18 ~@2 c#5@10 ~@2 c#5@18 ~@2 [b4,e5]@15 ~ [b4,e5]@5 ~@3 [a#4,f#5]@7 ~@2]/3", // E5 D#m
  C: "[~@31 [d#5,f#5]@13 ~@3 [b4,d#5]@10 ~@6 [c#5,f#5]@10 ~@2 [g#4,c#5,f5]@19 ~@2]/3", D: "~@31 [b4,f#5]",
  E: "[~@11 [g#4,f5]@19 ~ c#5@8 d#5@8 f5@8 f#5@5 ~@3 d#6@8 c#6@7 ~ b5@8 a#5@6 ~@18 f#5@7 ~ d#5@7 ~@17 f#5@6 ~@2 c#5@6 ~@2 [c#5,c#6]@11 ~ [c5,c6]@16 ~@4 [c#5,c#6]@31 ~ c#5@28 ~@5, ~@31 f#4@62 ~@2 c#6@31 ~ c#6@30 ~@99, ~@103 a#5@23 ~@9 a#5@22 ~@99]/8", // C# C C#
  F: "[~@11 [c#6,c#7]@18 ~@2 [a#4,a#5]@6 ~@2 [c#5,c#6]@6 ~@2 [f#5,f#6]@2 ~@2 [g#5,g#6]@2 ~@2 [a#5,a#6]@2 ~@2 [b5,b6]@2 ~@2 [c#6,c#7]@7 ~ [b5,b6]@6 ~@2 [a#5,a#6]@6 ~@2 [b5,b6]@6 ~@3]/3", // C# A# C# F# G# A# B C# …
  G: "~@7 [g#4,g#5]@7 ~ [g#4,g#5]@7 ~ [a#4,a#5]@5 ~@3 [b4,f#5]", // G# A# B5
  H: "[~@11 [g#4,f5]@19 ~ c#5@8 d#5@8 f5@8 f#5@6 ~@2 d#6@8 c#6@7 ~ b5@8 a#5@6 ~@18 f#5@7 ~ d#5@7 ~@17 f#5@6 ~@2 c#5@6 ~@18 f#5@6 ~@2 d#5@7 ~ [g#4,b4], ~@31 f#4@62 ~@2 c#6@31 ~ c#6@30 ~@2 c#6@31 ~@2, ~@103 a#5@23 ~@9 a#5@22 ~@10 a#5@23 ~@2]/6", // C# G#m
  I: "[~@16 [g#4,b4,e5,g#5]@5 ~@2 [a#4,c#5,f#5]@7 ~@17 f#5@6 ~@2 d#5@7 ~@17 f#5@6 ~@2 c#5@6 ~@18 f#5@7 ~ d#5@7 ~ [g#4,b4]@15 ~@2 [g#4,b4,e5,g#5]@5 ~@2 [a#4,c#5,f#5]@7 ~@17 f#5@7 ~ d#5@7 ~@17 f#5@6 ~@2 c#5@6 ~@18 f#5@6 ~@2 d#5@7 ~ [g#4,b4], ~@31 c#6@31 ~ c#6@30 ~@2 c#6@30 ~@34 c#6@31 ~ c#6@30 ~@2 c#6@30 ~@3, ~@39 a#5@23 ~@9 a#5@22 ~@10 a#5@23 ~@41 a#5@23 ~@9 a#5@22 ~@10 a#5@22 ~@3]/8", // E F# G#m E F# G#m
  J: "[~@16 [g#4,b4,e5,g#5]@5 ~@2 [a#4,c#5,f#5]@7 ~@17 f#5@6 ~@2 d#5@7 ~@17 f#5@6 ~@2 c#5@6 ~@18 f#5@6 ~@2 d#5@7 ~ [g#4,b4]@15 ~@2 [g#4,b4,e5,g#5]@5 ~@2 [a#4,c#5,f#5]@7 ~@17 f#5@6 ~@2 d#5@7 ~@17 f#5@6 ~@2 c#5@6 ~@18 f#5@6 ~@2 d#5@7 ~ [g#4,b4], ~@31 c#6@31 ~ c#6@30 ~@2 c#6@30 ~@34 c#6@31 ~ c#6@30 ~@2 c#6@30 ~@3, ~@39 a#5@23 ~@9 a#5@22 ~@10 a#5@22 ~@42 a#5@23 ~@9 a#5@22 ~@10 a#5@22 ~@3]/8", // E F# G#m E F# G#m
  K: "[~@16 [g#4,b4,e5,g#5]@5 ~@2 [a#4,c#5,f#5]@7 ~@17 f#5@6 ~@2 d#5@7 ~@17 f#5@6 ~@2 c#5@6 ~@18 f#5@6 ~@2 d#5@7 ~ [g#4,b4]@15 ~@2 [g#4,b4,e5,g#5]@5 ~@2 [c#5,f#5]@6 [a#5,d#6,f#6]@2 ~, ~@31 c#6@31 ~ c#6@30 ~@2 c#6@31 ~@34, ~@39 a#5@23 ~@9 a#5@22 ~@10 a#5@23 ~@34]/5", // E F# G#m E F#5 D#m
})).s("gm_string_ensemble_2").gain(0.3).pan(0.4)

// chords · string ensemble 2 · "SLOWSTRING" · soft notes
const string_ensemble_2_soft = note("<~@5 A ~@3 B@2 ~ C@5 D ~@7 E@3 F ~@39>".pickRestart({
  A: "~@3 a#5@3 ~@21 g#5@2 ~@3", B: "[~@31 b4@12 ~@21]/2",
  C: "[~@31 [d#5,f#5,a#5]@30 ~@2 [c#5,f#5,a#5]@30 ~@2 b4@13 ~@19 g#4@10 ~@23]/5", D: "~@15 g#5@7 ~ [a#4,a#5]@5 ~@4",
  E: "[~@31 [f#5,f#6]@42 ~@23]/3", F: "~@23 c6 ~@8",
})).s("gm_string_ensemble_2").gain(0.2).pan(0.4)

// chords · acoustic guitar nylon · "NYLON GTR" · F# G#m F# Fm D#m C#
const acoustic_guitar_nylon = note(`<
  ~@15
  [~@31 [f#4,a#4]]
  [~ [g#4,b4] ~ [f#4,a#4] ~ [f4,g#4] ~@3 [d#4,f#4] ~ [c#4,f4]@18 ~@3]
  ~@51
>`).s("gm_acoustic_guitar_nylon").gain(0.3)

// chords · lead 8 bass lead · "BASS&LEAD"
const lead_8_bass_lead = note("<~@4 A@5 ~@7 B@2 C@5 D@4 E@7 ~ F@5 G@2 H@8 I@16 J ~>".pickRestart({
  A: "[~@11 c#5@20 b4@4 a#4@3 ~ g#4@3 ~ f#4@16 g#4@2 a#4@2 c#5@3 ~ b4@3 ~ a#4@2 ~@2 f#4@12 d#4@4 ~@20 f#4@11 ~ a#3@4 [d#4,g#4]@11 ~@5 [c#3,f4,g#4]@12 ~@5, ~@63 f#4@12 ~@16 c#4@32 ~@4 g#3@14 ~@19]/5", // G#5 C#
  B: "[~@31 [g#3,a#3,c#4]@29 ~@4]/2", // A#m7
  C: "[~@39 d#4@7 ~ f4@7 ~ f#4@4 ~@4 [g#3,b3,e4]@13 ~@3 [a#3,c#4,f#4]@14 ~@2 [b3,d#4,f#4]@26 ~@6 [a#3,c#4,f#4]@30 ~@2 [g#3,c#4,d#4], ~@31 [a#3,c#4]@28 ~@101, ~@31 f#3@15 ~@114]/5", // E F# B F# G#sus4 A#m
  D: "[~@11 [g#3,c4,d#4]@15 ~@5 [b3,f#4]@23 ~ [g#3,b3]@6 ~@2 [g#3,c#4,f4]@12 ~@4 [b3,d#4,f#4]@4 ~@4 [c#4,f4,g#4]@4 ~@4 [g#3,a#3,c#4]@15 ~ [a#3,c#4,f#4]@11 ~@5 [g#3,c#4,f#4], ~@31 d#4@29 ~@68]/4", // G# B5 G#m C# B C# A#m7 F# …
  E: "[~@11 [g#3,c#4,f4]@18 ~@2 [f#3,a#3,c#4]@15 ~ [a#3,c#4,f#4]@11 ~@5 [g#3,b3,e4]@14 ~@2 [b3,e4,g#4]@6 ~@2 [b3,e4,g#4]@6 ~@2 [c#3,c#4,f#4,c#5]@31 ~ [c#3,f#3,c#4,f#4,a#4,c#5]@31 ~ [c#3,c#4,f#4,c#5]@27 ~@5 [c#3,f#3,c#4,f#4]@14 ~@2 [f#3,c#4,c#5,f#5]@14 ~@3]/7", // C# F# E F#5 F# F#5
  F: "[~@31 [d#4,d#5]@28 ~@4 [c#4,f#4,c#5]@28 ~@4 [c#4,f4,c#5]@28 ~@4 [g#3,a#3,c#4]@29 ~@4]/5", // D# F#5 C# A#m7
  G: "[~@39 d#4@7 ~ f4@7 ~ f#4@4 ~@4 [g#3,b3,e4], ~@31 [a#3,c#4]@28 ~@5, ~@31 f#3@15 ~@18]/2", // E A#m
  H: "[~@15 [a#3,c#4,f#4]@14 ~@2 [b3,d#4,f#4]@26 ~@6 [a#3,c#4,f#4]@30 ~@2 [c#4,f#4,a#4]@29 ~@3 [g#4,b4,e5]@15 ~@2 [g#4,b4,e5,g#5]@5 ~@2 [a#4,c#5,f#5]@7 ~ [b3,d#4,f#4]@26 ~@6 [a#3,c#4,f#4]@30 ~@2 [c#4,f#4,a#4]@29 ~@3 [g#4,b4,e5]]/8", // F# B F# E F# B F# E
  I: "[~@16 [g#4,b4,e5,g#5]@5 ~@2 [a#4,c#5,f#5]@7 ~ [b3,d#4,f#4]@26 ~@6 [a#3,c#4,f#4]@30 ~@2 [c#4,f#4,a#4]@29 ~@3 [g#4,b4,e5]@15 ~@2 [g#4,b4,e5,g#5]@5 ~@2 [a#4,c#5,f#5]@7 ~ [b3,d#4,f#4]@26 ~@6 [a#3,c#4,f#4]@30 ~@2 [c#4,f#4,a#4]@29 ~@3 [g#4,b4,e5]]/8", // E F# B F# E F# B F# …
  J: "~@16 [g#4,b4,e5,g#5]@5 ~@2 [a#4,c#5,f#5]@6 [a#4,d#5,f#5]@2 ~", // E F# D#m
})).s("gm_lead_8_bass_lead").gain(0.25).pan(0.7)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note("<A B C D E@5 ~@59>".pickRestart({
  A: "~@23 c#6@2 ~@6 [f#5,a#5,c#6], ~@23 c#7 ~@8", // F#
  B: "~@3 [f#5,a#5,c#6] ~@3 [f#5,a#5,c#6] ~@3 [a#5,c#6,f6] ~@3 [a#5,c#6,f6] ~@3 [a#5,c#6,f6] ~@3 [a#5,c#6,f6] ~@3 [a#5,c#6,f6] ~@3 [d#5,g#5,b5]", // F# A#m G#m
  C: "~@3 [d#5,g#5,b5] ~@3 [d#5,g#5,b5] ~@3 [b5,d#6,f#6] ~@3 [b5,d#6,f#6] ~@3 [b5,d#6,f#6] ~@3 [b5,d#6,f#6] ~@7 [f#5,a#5,c#6], ~@7 c#4@8 g#4@12 ~@5", // G#m B F#
  D: "~@3 [f#5,a#5,c#6] ~@3 [f#5,a#5,c#6] ~@3 [a#5,c#6,f6] ~@3 [a#5,c#6,f6] ~@3 [a#5,c#6,f6] ~@3 [c#4,a#5,c#6,f6] ~@3 [a#5,c#6,f6] ~@3 [c#3,b5,d#6,f#6]", // F# A#m B
  E: "[~@3 [b5,d#6,f#6] ~@3 [b5,d#6,f#6] ~@3 [c#6,d#6,f#6,a#6] ~@9 [d#6,f#6]@2 [a#6,c#7] ~@7 [b5,d#6,f#6]@3 ~@3 d#6@2 f#6@2 ~@2 [a#5,c#6,f#6]@17 ~@7 a#5@3 ~ g#5 ~@3 [f#5,b5,d#6]@11 ~ [b5,d#6,f#6]@3 ~@17 c#6@3 ~ c#6@4 c#5@3 ~ [f#5,g#5]@2 ~@2 f#5@2 g#5 ~ f5@7 ~ [d#5,f5]@7 ~@9 c#6@4 ~@5, ~@35 b5@5 ~@23 [b5,d#6]@9 ~@23 [f#5,g#5]@22 ~@10 g#5@16 ~@17, ~@95 c#5@18 ~@8 c#5@12 ~@10 [c#5,f5,g#5]@13 ~@4]/5", // B D#m7 D#m A#m B F# B F#sus2 …
})).s("gm_epiano2").gain(0.25)

// chords · epiano1 · "E.PIANO 1"
const epiano1 = note("<~@8 A@3 B@5 C D@6 E@7 ~@7 F@8 ~@23>".pickRestart({
  A: "[~@31 [a#4,c#5]@10 ~@2 [f#4,a#4]@15 ~@5 [b4,f#5]@10 ~@2 [g#4,c#5,f5]@10 ~@2 f#4@4 g#4@2 ~@2 [a#4,c#5]]/3", // A#m F# B5 C# A#m
  B: "[~@5 [g#4,c#5]@5 ~ [a#4,c#5]@7 ~ g#4@3 ~ a#4@3 ~ c#5@2 ~@2 [g#4,b4,e5]@12 ~@4 [b4,e5,g#5]@7 ~ [a#4,c#5,f#5]@8 [d#5,f#5,a#5]@10 ~@2 c#5@10 ~@2 d#5@5 ~@3 [a#4,c#5,f#5]@10 ~@2 a#4@9 ~@3 f#4@8 [f#4,b4,d#5]@13 ~@3 [b4,d#5,f#5]@10 ~@6 [f#4,g#4,c#5]]/5", // C#5 A#m E F# D#m F# B F#sus2
  C: "~@11 [f4,g#4,c#5]@20 [a#4,c#5]", // C# A#m
  D: "[~@15 g#4@8 a#4@4 ~@4 [f#4,g#4,c#5,f#5]@11 ~ [c#5,f5]@8 ~@8 g#5@4 [g#4,a#4,c#5]@14 ~@2 [a#4,c#5,f5]@6 ~@2 [a#4,c#5,f#5]@5 ~@3 [g#4,b4,e5]@12 ~@4 [a#4,c#5,f#5]@16 ~@12 [d#6,f#6]@16 ~@16 g#5@11 ~ a#5@7 ~ [g#4,c#5,d#5], ~@43 [f4,g#4]@17 ~@132, ~@51 c#5@12 ~@64 [d#5,f#5,a#5]@28 ~@4 [c#5,f#5]@28 ~@5, ~@55 c#6@8 ~@96 a#5@24 ~@9]/6", // F#sus2 C# A#m7 A#m F# E F# D#m …
  E: "[~@11 [g#4,c5,d#5]@18 ~@2 [f#4,g#4,b4,d#5]@11 ~@13 b4@5 ~@3 [f4,g#4,c#5]@12 ~@4 [b4,d#5,f#5]@7 ~ [c#5,f5,g#5]@8 [a#4,c#5]@14 ~@2 [a#4,c#5]@7 ~ [a#4,c#5,f#5]@6 ~@2 [f#4,g#4,c#5]@9 ~@3 c#5@12 c#5@4 b4@3 ~ c#5@8 c#5@5 ~@3 f#5@3 ~ g#5@3 ~ a#5@3 ~ b5@2 ~@2 c#6@7 ~ b5@6 ~@2 [b4,e5,g#5,a#5]@6 ~@2 [b4,e5,g#5]@7 ~@2, ~@43 f#4@18 ~@78 [f4,g#4]@18 ~@18 [f#4,a#4,c#5]@11 ~@38, ~@47 g#4@14 ~@98 [g#4,a#4]@13 ~@19 [g#4,b4,e5]@12 ~@21]/7", // G# G#m7 C# B C# A#m F# F#sus2 …
  F: "[~@31 b4@11 ~@5 [g#4,c#5,f5]@14 ~@2 [a#4,c#5]@14 ~@2 g#4@8 a#4@4 ~@4 [f#4,g#4,c#5,f#5]@11 ~ [c#5,f5]@8 ~@8 g#5@4 [g#4,a#4,c#5]@14 ~@2 [a#4,c#5,f5]@6 ~@2 [a#4,c#5,f#5]@5 ~@3 [g#4,b4,e5]@12 ~@4 [a#4,c#5,f#5]@16 ~@12 [d#6,f#6]@16 ~@16 g#5@11 ~ a#5@6 ~@3, ~@23 f#5@19 ~@65 [f4,g#4]@17 ~@132, ~@115 c#5@12 ~@64 [d#5,f#5,a#5]@28 ~@4 [c#5,f#5]@28 ~@5, ~@119 c#6@8 ~@96 a#5@24 ~@9]/8", // C# A#m F#sus2 C# A#m7 A#m F# E …
})).s("gm_epiano1").gain(0.25)

// chords · epiano1 · "E.PIANO 1" · soft notes
const epiano1_soft = note("<~@8 A@5 ~@3 B@2 ~@3 C ~@3 D@2 ~@11 B@2 ~@3 C ~@24>".pickRestart({
  A: "[~@31 g#4@10 ~@22 [g#4,d#5]@10 ~@87, ~@31 a-1@128 ~]/5", B: "[~@31 [g#4,g#5]@14 ~@2 g#5@6 ~@2 a#5@5 ~@4]/2",
  C: "~@11 b5@15 ~@6", D: "[~@7 b4@2 c#5@2 g#5 ~@19 g#4@14 ~@2 f#4@7 ~@10]/2",
})).s("gm_epiano1").gain(0.15)

// drums · kick
const kick = s("bd").struct("<~@25 A B C D@2 E@4 F G F B A B C F H I@3 J I@3 J I@3 J I@3 J I@3 J I@3 K ~>".pickRestart({
  A: "~@31 x", B: "~@27 x ~@3 x", C: "~@23 x ~@3 x ~@3 x", D: "~@11 x ~@3 x ~@11 x ~@3 x",
  E: "~@9 x ~@3 x ~ x ~@13 x ~ x", F: "~@11 x ~@3 x ~@15 x", G: "~@11 x ~@7 x ~@3 x ~@7 x",
  H: "~@5 x ~@5 x ~@3 x ~@13 x ~ x", I: "~@9 x ~ x ~@7 x ~ x ~@7 x ~ x", J: "~@5 x ~ x ~@11 x ~ x ~@7 x ~ x",
  K: "~@5 x ~ x ~@11 x ~ x ~@7 x ~@2",
})).gain(0.45)

// drums · snare
const snare = s("sd").struct("<~@27 A B C D E@2 F B@2 A ~@3 A B G A@3 H A@3 H A@3 H A@3 H A@3 H A@3 I ~>".pickRestart({
  A: "~@23 x!2 ~@7", B: "~@23 x ~@8", C: "~@15 x!4 ~@4 x ~ x ~@6", D: "~@7 x ~@15 x ~@8", E: "~@7 x ~@13 x ~ x ~@8",
  F: "~@7 x ~@7 x ~ x ~ x ~@3 x ~ x ~ x ~@4", G: "~@7 x ~@7 x ~@7 x ~ x ~ x ~ x ~@2", H: "~@15 x!2 ~@6 x!2 ~@7",
  I: "~@15 x!2 ~@6 x!2 ~@2 x ~@4",
})).gain(0.45)

// drums · low tom
const low_tom = s("lt").struct("<~@29 A ~@3 B ~ C ~@6 D ~@3 E ~@3 F ~@3 E ~@3 F ~@3 E ~@3 G ~>".pickRestart({
  A: "~@25 x ~@6", B: "~@19 x ~@7 x ~@4", C: "~@23 x ~@8", D: "~@11 x ~@3 x!2 ~@10 x ~ x ~@2", E: "~@29 x!2 ~",
  F: "~@21 x ~@7 x!2 ~", G: "~@21 x ~@7 x ~@2",
})).gain(0.4)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@42
  [~@31 x]
  [~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x]!23
  [~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4]
  ~
>`).gain(0.3)

// drums · mid tom
const mid_tom = s("mt").struct("<~@29 A ~@3 B ~ C ~@6 D ~@3 E ~@3 F ~@3 E ~@3 F ~@3 E ~@3 F ~>".pickRestart({
  A: "~@17 x ~@5 x ~@8", B: "~@17 x ~@7 x ~@6", C: "~@19 x ~@12", D: "~@7 x ~ x ~@13 x ~ x ~@6", E: "~@27 x ~@4",
  F: "~@17 x ~ x ~@5 x ~ x ~@4",
})).gain(0.35)

// drums · high tom
const high_tom = s("ht").struct("<~@29 [~@15 x ~@16] ~@3 [~@15 x ~@7 x ~@8] ~@34>").gain(0.3)

// drums · crash
const crash = s("cr").struct(`<
  ~@24 A@2 ~@3 A ~@3 B ~ C ~@2 A ~@3 D ~@3 C ~@3 C ~@3 C ~@3 C ~@3 C ~@3 E ~
>`.pickRestart({
  A: "~@31 x", B: "~@9 x ~@22", C: "~@23 x ~@7 x", D: "~@15 x ~@15 x", E: "~@23 x ~@5 x ~@2",
})).gain(0.3)

// drums · ride
const ride = s("rd").struct("<~@16 A B@8 C B@2 D@10 E B@2 D@2 F@23 G ~>".pickRestart({
  A: "~@31 x", B: "~@15 x ~@15 x", C: "x!31 ~", D: "~@7 x ~@7 x ~@7 x ~@7 x", E: "~@7 x ~@7 x ~ x ~@5 x ~ x ~@6",
  F: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x", G: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4",
})).gain(0.3)

// drums · claves
const claves = s("clave:2").struct("<~@18 A ~ A ~ A ~@3 A ~@12 A ~@28>".pickRestart({
  A: "~@23 x ~@8",
})).gain(1.46)

stack(
  bass, string_ensemble_2, string_ensemble_2_soft, acoustic_guitar_nylon, lead_8_bass_lead, epiano2, epiano1,
  epiano1_soft, kick, snare, low_tom, hihat, mid_tom, high_tom, crash, ride, claves
)

More by Gloria Estefan