Strudelify
It's Now or Never cover art

2020 · That's The Way It Is

It's Now or Never

Elvis Presley

KeyC majorTempo127 bpm
0:00/0:00
// It's Now or Never — Elvis Presley
// 127 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: bank select 127 (Roland MT-32 map) read through the MT-32 patch table: 
// note: duplicate parts dropped: ch 6 "marimba" marimba (copy of ch 5 "steel dr" steel drums)
// note: Full arrangement: all 99 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(127/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 · "bass"
const bass = note(`<
  ~@5 A@4 B C@2 D A E F G H I@2 D J K A E L M N O P A P E L Q E N P K A@2 B C@2 D A E F G H I@2 D J K A E L M N O P A P
  E L Q E N P K A@2 B C@2 D A E R S J T U V J@2 W D J K ~@2 J@2 W D J X
>`.pickRestart({
  A: "c2@5 ~ c2@2 g2@3 ~ g2@4", B: "b1@5 ~ b1@2 g2@3 ~ g2@4",
  C: "[b1@5 ~ b1@2 g2@3 ~@5 g1 ~@5 g1@2 d2@3 ~ d2@4, ~@3 g2@2 ~@3]/2", D: "g1@2 ~ g1 a1@2 b1@2",
  E: "c2@5 ~ c2@2 g2@3 ~ g2@3 ~", F: "f1@4 ~@2 f1 ~ f1@4 c2@4", G: "f1@4 ~@2 f1 ~ f1@4 c2@3 ~",
  H: "c2@3 ~@3 c2 ~ c2@4 g2@4", I: "[c2@4 ~@2 c2 ~ c2@4 ~@4 g1 ~@5 g1 ~ g1@4 d2@4, ~@3 g2@2 ~@3]/2",
  J: "c2@5 ~ c2 ~ c2@4 g2@4", K: "c2 ~@7", L: "f1@4 ~@2 f1@2 c2@3 ~ c2@4", M: "f1@4 ~@2 f1@2 c2@4 f1@3 ~",
  N: "g1@4 ~@2 g1@2 d2@3 ~ d2@4", O: "g1@2 ~ g1 d2@2 g1 ~", P: "c2@4 ~@2 c2@2 g2@3 ~ g2@4",
  Q: "f1@5 ~ f1@2 c2@3 ~ c2@2 ~@2", R: "f2@5 ~ f2 ~ f2@4 c2@4", S: "f2@5 ~ f2 ~ f2@4 c2@3 ~",
  T: "c2@5 ~ c2 ~ c2@3 ~ c2@4", U: "g1@5 ~ g1 ~ g1@4 d2@4", V: "g1@5 ~ g1 ~ g1@3 ~ g1@4", W: "g1@4 ~@2 g1 ~ g1@4 d2@4",
  X: "c2@2 ~@2 c2 ~ c2 ~ c2 ~@7",
})).s("gm_electric_bass_finger").gain(0.64)

// chords · piano
const piano = note(`<
  ~@5 A@4 B C D E F G H I J K L E M N O P Q R S T U V W P X Y Z AA AB@2 A@2 B C D E F G H I J K L E M N O P Q R S T U V
  W P X Y Z AA AB@2 A@2 B C D E F G AC AD J@2 AE@2 J AF L E M N ~@2 J AF L E M AG
>`.pickRestart({
  A: "[c3,c4]@3 [e4,g4,c5]!2 ~ [c3,c4,e4,g4,c5] ~ [e3,e4]@2 [e4,g4,c5] ~ [g3,g4]@2 [e4,g4,c5] ~", // C E C G C
  B: "~@3 [f4,b4,d5]!2 ~ [b2,b3,f4,b4,d5] ~ [d3,d4]@2 [f4,b4,d5] ~ [g3,g4]@2 [f4,b4,d5] ~, [b2,b3]@5 ~@11", // Bdim D Bdim G Bdim B
  C: "~@3 [f4,b4,d5]!2 ~ [b2,b3,f4,b4,d5] ~ [d3,d4]@2 [f4,b4,d5] ~ g3@2 [f4,b4,d5] ~, [b2,b3]@5 ~@7 g4 ~@3", // Bdim D Bdim B
  D: "[g2,g3]@3 [f4,b4,d5]!2 ~ [g2,g3,f4,b4,d5] ~ [b2,b3]@2 [f4,b4,d5] ~ [d3,d4]@2 [f4,b4,d5] ~", // G Bdim G7 B Bdim D Bdim
  E: "~@3 [f4,b4,d5]!2 ~ [g2,g3,f4,b4,d5] ~ [a2,a3]@2 [f4,b4,d5] ~ [b2,b3]@2 [f4,b4,d5] ~, [g2,g3]@5 ~@11", // Bdim G7 A Bdim B Bdim G
  F: "~@3 [e4,g4,c5]!2 ~ [c3,c4,e4,g4,c5] ~ [e3,e4]@2 [e4,g4,c5] ~ [g3,g4]@2 [e4,g4,c5] ~, [c3,c4]@5 ~@11", // C E C G C
  G: "d3 ~@2 [e4,g4,c5]!2 ~ [c3,c4,e4,g4,c5] ~ [e3,e4]@2 [e4,g4,c5] ~ [g3,g4]@2 [e4,g4,c5] ~, [c3,c4]@5 ~@11", // C E C G C
  H: "[g#4,c5,f5] ~@2 [g#4,c5,f5]!2 ~ [f3,f4,g#4,c5,f5] ~ [g#3,g#4]@2 [g#4,c5,f5] ~ [c4,c5]@2 [g#4,c5,f5] ~, [f3,f4]@3 ~@5 c5 ~@7", // Fm G# Fm C Fm F
  I: "~@3 [g#4,c5,f5]!2 ~ [f3,f4,g#4,c5,f5] ~ [g#3,g#4]@2 [g#4,c5,f5] ~ c4@2 [g#4,c5,f5] ~, [f3,f4]@5 ~@7 c5 ~@3", // Fm G# Fm F
  J: "~@3 [g4,c5,e5]!2 ~ [c3,c4,g4,c5,e5] ~ [e3,e4]@2 [g4,c5,e5] ~ [g3,g4]@2 [g4,c5,e5] ~, [c3,c4]@5 ~@11", // C E C G C
  K: "~@3 [g4,c5,e5]!2 ~ [c3,c4,g4,c5,e5] ~ [e3,e4]@2 [g4,c5,e5] ~ g3@2 [g4,c5,e5] ~, [c3,c4]@5 ~@7 g4 ~@3", // C E C
  L: "~@3 [f4,b4,d5]!2 ~ [g2,g3,f4,b4,d5] ~ [b2,b3]@2 [f4,b4,d5] ~ [d3,d4]@2 [f4,b4,d5] ~, [g2,g3]@5 ~@11", // Bdim G7 B Bdim D Bdim G
  M: "~@3 [g4,c5,e5]!2 ~ [c3,c4,g4,c5,e5] ~ [e3,e4]@2 [g4,c5,e5] ~ [g4,c5] ~ [g4,c5,e5] ~, [c3,c4]@5 ~@7 g3@2 ~@2", // C E C C5 C
  N: "[c3,g4,c5,e5] ~@15, c4 ~@7", O: "[c3,c4]@5 ~ [c3,c4] ~ [e3,e4,c6,e6]@3 [d6,f6] [g3,g4]@2 [e6,g6] ~",
  P: "[d6,f6] f6 d6 ~@3 [c3,c4] ~ [e3,e4]@3 ~ [g3,g4]@3 ~, [c3,c4]@4 [c6,e6]@11 ~", // Dm C E G C
  Q: "[f3,f4]@6 [f3,f4] ~ [a3,a4,f5,a5]@3 [g5,b5] [c4,c5]@2 [a5,c6] ~", // F Dm G C Am
  R: "[g5,b5] ~ g5 ~@3 [f3,f4] ~ [a3,a4]@3 ~ [c4,c5]@3 ~, [f3,f4]@4 [f5,a5]@11 ~", // G F A C F
  S: "[g3,g4]@5 ~ [g3,g4] ~ [b3,b4]@3 [a5,c6] [d4,d5]@2 [b5,d6] ~, ~@8 [g5,b5] ~@7", // G B Am D Bm G
  T: "a5 c6 a5!3 ~ [g3,g4] ~ [b3,b4]@3 ~ [d4,d5]@2 ~@2, [g3,g4] [g5,b5]@3", // G B D G
  U: "[c3,c4]@5 ~ [c3,c4] ~ [e3,e4]@3 [d6,f6] [g3,g4]@2 [e6,g6] ~, ~@8 [c6,e6] ~@7", // C E Dm G Em C
  V: "[d6,f6] f6 d6 ~@3 [c3,c#3,c4] ~ [e3,e4]@3 ~ [g3,g4]@2 ~@2, [c3,c4]@4 [c6,e6]@9 ~@3", // Dm C#maj7 E G C
  W: "[c3,c4]@4 ~@2 [c3,c4] ~ [e3,e4,c6,e6]@3 [d6,f6] [g3,g4]@2 [e6,g6] ~", // C Dm G Em
  X: "[f3,f4]@5 ~ [f3,f4] ~ [a3,a4,f5,a5]@3 [g5,b5] [c4,c5]@2 [a5,c6] ~", // F Dm G C Am
  Y: "[g#3,g5,b5] ~ g5 ~@3 [f3,f4] ~ [a3,a4]@3 ~ [c4,c5]@2 ~@2, [f3,f4]@4 [f5,a5]@11 ~", // G#m F A C F
  Z: "[c3,c4]@4 ~@2 [c3,c4] ~ [e3,e4]@3 ~ [g3,g4]@2 ~@2, ~@4 [c6,e6]@11 ~, ~@3 g6@4 ~, ~@8 f3 ~@7", // C E G C
  AA: "[g3,g4]@4 ~@2 [g3,g4] ~ [b3,b4]@3 ~ [d4,d5]@2 ~@2, ~@2 [b5,d6]@5 ~, ~@6 f6@7 ~@3", // G B D Bm
  AB: "[~@2 g5@2 [e6,g6]@2 [c3,c4] ~ [e3,e4,d6,f6]@2 g5@2 [g3,g4,b5,f6]@2 ~@2 [c4,c6,e6]@2 ~@14, [c3,c4]@5 ~ g5@2 ~@6 g5@4 ~@14, ~@16 [c3,c#3] ~@15]/2", // Em C Dm G7 C C#maj7
  AC: "~@3 [g#4,c5,f5]!2 ~ [f3,f4,g#4,c5,e5,f5] ~ [g#3,g#4]@2 [g#4,c5,f5] ~ [c4,c5]@2 [g#4,c5,f5] ~, [f3,f4]@5 ~@11", // Fm G# Fm C Fm F
  AD: "~@3 [g#4,c5,f5]!2 ~ [f3,f4,g#4,c5,f5] ~ [g#3,g#4]@2 [g#4,c5,f5] ~ [c4,c5]@2 [g#4,c5,f5] ~, [f3,f4]@5 ~@11", // Fm G# Fm C Fm F
  AE: "~@3 [g4,b4,d5]!2 ~ [g2,g3,g4,b4,d5] ~ [b2,b3]@2 [g4,b4,d5] ~ [d3,d4]@2 [g4,b4,d5] ~, [g2,g3]@5 ~@11", // G B G D G
  AF: "[c3,c4]@3 [g4,c5,e5]!2 ~ [c3,c4,g4,c5,e5] ~ [e3,e4]@2 [g4,c5,e5] ~ [g3,g4]@2 [g4,c5,e5] ~", // C E C G C
  AG: "[c3,g4,c5,e5] ~@3 [c3,c4,g4,c5,e5] ~ [c3,c4,g4,c5,e5] ~ [c4,g4,c5,e5]@2 ~@6, c4@2 ~@6 c3 ~@7", // C
})).s("gm_piano").gain(0.56).pan(0.4)

// other · woodblock · "wood"
const woodblock = note(`<
  ~@5 A B A B A@3 C A@3 B A@3 C A ~ A B A@3 C A@3 B A@3 C A ~ A B A@3 C A@3 B A@3 C A ~ A B A@3 C A@3 B A@3 C A ~ A B
  A@3 C A@3 B A@3 C A@3 C A ~@3 A@3 C A ~
>`.pickRestart({
  A: "~@8 g5@2 a5 ~ g5@2 a5 ~", B: "~@8 g5@2 a5 ~ g5 ~ a5 ~", C: "~@8 g5@2 a5@2 g5@2 a5 ~",
})).s("gm_woodblock").gain(0.48).pan(0.8)

// other · steel drums · "steel dr"
const steel_drums = note("<~@47 A B C D E F G H ~@24 A B C D E F G H E F G H ~@2 G H E F G H>".pickRestart({
  A: "~@8 c4@2 d4@2 d#4 ~ g4@2", B: "g#4@9 ~@7", C: "~@4 c4 d4 e4 f4", D: "g4@7 ~@9", E: "~@4 b3 c4 d4 f4", F: "g4 ~",
  G: "~@4 c4@4 e4@4 g4@3 ~", H: "c4@3 ~@13",
})).s("gm_steel_drums").gain(0.64).pan(0.3)

// chords · acoustic guitar steel · "mandolin"
const acoustic_guitar_steel = note(`<
  A B@2 C@2 ~@34 D E F G H I J K L M N O P Q R@2 ~@16 D E F G H I J K L M N O P Q R@2 P Q R@2 S@2 R@2 P Q R@2
>`.pickRestart({
  A: "~ g5 f5 e5", B: "[g5@19 ~ e5@4 d5@6 c5@2]/2", C: "[c5@19 ~@13]/2", D: "~@4 e5@3 ~ e5@4 [b4,d5]@4, ~ c5@2 ~",
  E: "g4@13 ~@3", F: "~@2 d5 ~ d5@2 [a4,c5]@2, ~ b4@2 ~", G: "a4@3 ~, f4 ~", H: "~@2 d5 ~ d5@2 [a4,c5]@2, ~@4 b4@9 ~@3",
  I: "[f4,a4]@9 ~@7", J: "~ [b4,d5] [c5,e5] [d5,f5]", K: "e5@15 ~, g5@5 ~@3", L: "~ [c5,f5]", M: "g#5, f5@7 ~",
  N: "~ [c5,e5]", O: "[e5,g5]@7 ~", P: "~ [b4,d5]", Q: "d5@14 c5 ~, g5", R: "[[c5,e5]@19 ~@13]/2",
  S: "[~@3 a5 b5@4, ~ d5@7, ~ f5@3]/2",
})).s("gm_acoustic_guitar_steel").gain(0.64).pan(0.6)

// chords · string ensemble 1 · "strings"
const string_ensemble_1 = note(`<
  A B@2 ~@36 C D E@2 F G H@2 I@2 J@2 K@2 L M ~@16 C D E@2 F G H@2 I@2 J@2 K@2 L M K@2 L M N O L M K@2 P@2
>`.pickRestart({
  A: "~ e5 d5 c5", B: "[~ g5@19 e5@4 ~@8]/2", C: "~@4 [c5,e5,g5] ~@3 g5@4 [f5,a5]@4, ~@8 e5@7 ~",
  D: "[g5,b5]@3 ~, e5@7 ~", E: "[~@4 [d5,f5] ~@3 [d5,f5]@4 [e5,g5]@3 ~ [f5,a5]@12 ~@4, ~@15 d5@13 ~@4]/2",
  F: "~@4 [f4,d5,f5] ~@3 f5@4 [e5,g5]@4, ~@4 d5@3 ~", G: "[f4,b4,d5]@13 ~@3, [f5,a5]@11 ~@5",
  H: "[~@4 [g4,c5,e5,g5] ~@3 [e5,g5]@4 [f5,a5]@4 b5@14 ~@2, ~@8 g4@19 ~@5, ~@8 c5@8 e5@11 ~@5]/2", // C Em F
  I: "[~@24 [c5,f5,g#5]@7 ~, [c5,f5,g#5]@23 ~@9, ~ c6@3]/2", // Fm
  J: "[~@8 a5@7 g5@9 [c5,e5,g5]@7 ~, [c5,e5]@23 ~@9, g5@15 ~@17]/2", // C
  K: "[~@8 a5@8 g5@8 [b4,d5,g5]@7 ~, [b4,d5]@23 ~@9, g5 ~]/2", L: "~ a5, [c5,e5,g5]", M: "g5@9 ~@7", N: "~ d5 f5 a5",
  O: "b5@15 ~", P: "[~ a5 ~@2, g5@25 ~@7, [c5,e5]@17 ~@15]/2",
})).s("gm_string_ensemble_1").gain(0.48).pan(0.2)

// chords · string ensemble 1 · "strings" · soft notes
const string_ensemble_1_soft = note("<~@2 A@3 ~@34 B C D@2 E ~@2 F ~@24 B C D@2 E ~@2 F ~@20>".pickRestart({
  A: "[~@8 d5@7 c5@2 c5@22 ~@9]/3", B: "~@4 g4 ~@3 [g4,c5]@8", C: "[g4,c5]@7 ~",
  D: "[~@4 [g4,b4] ~@2 [g4,b4]@6 ~@2 [g4,b4]@12 ~@5, ~@7 d5 ~@24]/2", E: "~@4 b4 ~@3 [f4,b4]@6 ~@2", F: "c5@11 ~@5",
})).s("gm_string_ensemble_1").gain(0.32).pan(0.2)

// chords · acoustic guitar steel · "guitar"
const acoustic_guitar_steel_2 = note("<~@39 A@2 B@2 C D E F ~@24 A@2 B@2 C D E F ~@20>".pickRestart({
  A: "[c3,c4]@3 [e4,g4,c5]!2 ~ [c3,c4,e4,g4,c5] ~ [e3,e4]@2 [e4,g4,c5] ~ [g3,g4]@2 [e4,g4,c5] ~", // C E C G C
  B: "~@3 [f4,b4,d5]!2 ~ [b2,b3,f4,b4,d5] ~ [d3,d4]@2 [f4,b4,d5] ~ [g3,g4]@2 [f4,b4,d5] ~, [b2,b3]@5 ~@11", // Bdim D Bdim G Bdim B
  C: "[g2,g3]@3 [f4,b4,d5]!2 ~ [g2,g3,f4,b4,d5] ~ [b2,b3]@2 [f4,b4,d5] ~ [d3,d4]@2 [f4,b4,d5] ~", // G Bdim G7 B Bdim D Bdim
  D: "~@3 [f4,b4,d5]!2 ~ [g2,g3,f4,b4,d5] ~ [a2,a3]@2 [f4,b4,d5] ~ [b2,b3]@2 [f4,b4,d5] ~, [g2,g3]@5 ~@11", // Bdim G7 A Bdim B Bdim G
  E: "~@3 [e4,g4,c5]!2 ~ [c3,c4,e4,g4,c5] ~ [e3,e4]@2 [e4,g4,c5] ~ [g3,g4]@2 [e4,g4,c5] ~, [c3,c4]@5 ~@11", // C E C G C
  F: "d3 ~@2 [e4,g4,c5]!2 ~ [c3,c4,e4,g4,c5] ~ [e3,e4]@2 [e4,g4,c5] ~ [g3,g4]@2 [e4,g4,c5] ~, [c3,c4]@5 ~@11", // C E C G C
})).s("gm_acoustic_guitar_steel").gain(0.56).pan(0.7)

// chords · synth strings 1 · "pad"
const synth_strings_1 = note(`<
  ~@17 A@2 B@2 C@2 ~@16 D@2 E@2 F@2 G@2 ~@2 A@2 B@2 C@2 ~@16 D@2 E@2 F@2 G@2 H@2 A@2 I@2 J@2 B@2 C@2 K@2 L@2 B@2 M@2
>`.pickRestart({
  A: "[[c4,e4,g4]@23 ~ [c4,e4,g4]@7 ~]/2", B: "[[b3,d4,f4]@24 [b3,d4,f4]@7 ~]/2", C: "[[c4,e4,g4]@9 ~@7]/2",
  D: "[[g4,c5,e5]@31 ~]/2", E: "[[g4,b4,d5]@31 ~]/2", F: "[[g4,b4,d5]@28 [g4,b4,d5]@3 ~]/2", G: "[[g4,c5,e5]@15 ~]/2",
  H: "[[c4,f4,g#4]@23 ~ [c4,f4,g#4]@7 ~]/2", I: "[[b3,d4,g4]@23 ~ [b3,d4,g4]@8]/2", J: "[c4,e4,g4]@15 ~",
  K: "[[f4,b4,d5]@23 ~ [f4,b4,d5]@7 ~]/2", L: "[[c4,e4,g4]@16 [e4,g4]@15 ~, c5, ~@16 c4 ~@15]/2",
  M: "[[c4,e4,g4]@18 ~@2 [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~@7]/2", // C
})).s("gm_synth_strings_1").gain(0.32)

// chords · synth strings 1 · "pad" · soft notes
const synth_strings_1_soft = note("<A B@2 C@2 ~@10 D@2 ~@30 D@2 ~@50>".pickRestart({
  A: "~ [e5,g5] [d5,f5] [c5,e5]", B: "[[g5,c6]@19 ~ g5@4 [d5,f5]@6 c5@2, ~@19 e5@5 ~@6 e5 ~]/2",
  C: "[~ c5@27 ~@4, ~ e5@21 ~@10]/2", D: "[~@8 c5@23 ~, [c4,f4,g#4]@31 ~]/2",
})).s("gm_synth_strings_1").gain(0.16)

// drums · kick
const kick = s("bd").struct("<~@5 A@17 B A@7 C A@6 B@2 A@15 B A@7 C A@6 B@2 A@19 B ~@2 A@5 D>".pickRestart({
  A: "x!2", B: "x", C: "x ~@3 x!2 ~@2", D: "x ~ x!3 ~@3",
})).gain(0.64)

// drums · snare
const snare = s("sd").struct(`<
  ~@5 A@9 B A@7 C A@7 D A@6 E ~ A@7 B A@7 C A@7 D A@6 E ~ A@7 B A@7 B A@2 F C ~@2 A@4 G H
>`.pickRestart({
  A: "~@2 x!2 ~@2 x ~", B: "~@4 x ~ x ~@3 x ~ x ~ x!2", C: "x", D: "~@2 x!2 ~ x ~ x", E: "~@2 x!6", F: "~@2 x!2 ~ x!3",
  G: "~@2 x!2 ~@2 x!2", H: "~@2 x!3 ~@3",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@5 A B A B@6 C D B@4 E F ~ G B@4 H B E I B@5 E ~ A B@6 C D B@4 E F ~ G B@4 H B E I B@5 E ~ A B@6 C A B@6 C D B E ~@3
  A B D B J K
>`.pickRestart({
  A: "~@2 x!3 ~ x ~ x ~ x ~ x ~@3", B: "x ~ x!3 ~ x ~ x ~ x ~ x ~@3", C: "x ~ x!3 ~ x ~ x ~ x!3 ~ x ~",
  D: "~@3 x!4 ~ x ~ x ~ x ~@3", E: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~", F: "~@2 x!6", G: "~@3 x!3 ~ x!2 ~ x ~ x ~@3",
  H: "x!7 ~", I: "~@2 x ~ x ~ x!3 ~ x ~ x ~@3", J: "~@2 x!3 ~ x ~ x ~ x ~ x ~ x ~", K: "x",
})).gain(0.64)

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

// drums · crash
const crash = s("cr").struct(`<
  ~@5 A ~ A ~@7 A ~@5 A@3 ~@7 A ~@6 A@2 ~@7 A ~@5 A@3 ~@7 A ~@6 A@2 ~@7 A ~@7 A ~@2 A ~@2 A ~ A ~ A B
>`.pickRestart({
  A: "x", B: "~@2 x!3 ~@3",
})).gain(0.56)

// drums · bongos
const bongos = s("bongo:4").struct(`<
  ~@5 A B A B@7 A B@6 ~ A B@7 A B@6 ~ A B@7 A B@6 ~ A B@7 A B@6 ~ A B@7 A B@10 ~@3 A B@4 ~
>`.pickRestart({
  A: "~ x ~ x ~ x ~ x", B: "~ x ~@3 x ~ x",
})).gain(1.05)

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  ~@5 A@2 B A C A C@11 D B A C A C@11 D B A C A C@11 D B A C A C@11 D B A C A C@4 B A C A C@4 A@3 E ~@2 B A@4 F
>`.pickRestart({
  A: "x!8", B: "~@2 x!3 ~ x ~ x ~ x ~ x ~ x ~", C: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~", D: "x!2 ~@6", E: "x",
  F: "x ~ x!3 ~@3",
})).gain(2.43)

// drums · claves
const claves = s("clave:2").struct("<~@5 A@17 B A@15 B A@15 B A@15 B A@19 B ~@2 A@4 C D>".pickRestart({
  A: "~@2 x!2 ~@2 x ~@3 x ~@3 x ~", B: "x", C: "~ x ~ x ~ x ~ x", D: "x ~ x!3 ~@3",
})).gain(3.53)

stack(
  bass, piano, woodblock, steel_drums, acoustic_guitar_steel, string_ensemble_1, string_ensemble_1_soft,
  acoustic_guitar_steel_2, synth_strings_1, synth_strings_1_soft, kick, snare, hihat, open_hat, crash, bongos, cabasa,
  claves
)

More by Elvis Presley