Strudelify

He Dont Love You (Like I Love You)

Tony Orlando

KeyE minorTempo115 bpm
0:00/0:00
// He Dont Love You (Like I Love You) — Tony Orlando
// 115 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 100 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(115/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · tenor sax · "Sax"
const tenor_sax = note(`<
  ~@4 A B C ~ A D E ~ F G H I J K L ~ M N M N O P Q E O R S T O U S V W B C ~ A D E ~ F X H I Y K L ~ M N M N O P Q E O
  R S T O U S V W B C ~ W D E ~ Z G H I J K L ~ M N M N O P Q E O R S T O U S AA
>`.pickRestart({
  A: "~@6 b3@10 ~@2 a3@5 ~", B: "g3@12 ~@3 a3@2 ~ g3@2 ~ a3@2 ~", C: "b3@5 ~ b3@18", D: "b3@5 ~ g3@5 ~ f#3@5 ~ g3@5 ~",
  E: "a3", F: "~@3 d3@2 ~ b3@7 ~@2 b3@7 ~@2", G: "d4@12 ~@3 d3@2 ~ b3@2 ~ a3@2 ~", H: "g3@5 ~ a3@18",
  I: "~@15 g3@2 ~ g3@2 ~ a3@2 ~", J: "b3@2 ~ b3@2 ~ a3@5 ~ g3@5 ~ e3@5 ~", K: "g3@5 ~ a3@5 ~", L: "g3",
  M: "~@6 b3@7 ~@2 a3@7 ~@2", N: "g3@7 ~@2 g3@15", O: "~@6 b3@7 ~@2 b3@7 ~@2", P: "b3@5 ~ a3@5 ~ g3@5 ~ e3@6",
  Q: "~@6 a3@7 ~@2 b3@7 ~@2", R: "b3@2 ~ d4@5 ~ b3 a3 ~ g3@12", S: "~@6 a3@7 ~@2 a3@7 ~@2", T: "g3@7 ~@2 a3@15",
  U: "b3@7 ~@2 a3@7 ~@2 g3@6", V: "g3 ~", W: "~@6 b3@5 ~ b3@5 ~ a3@5 ~", X: "d4@5 ~ d4@2 ~ d4@3 ~@9 a3@2 ~",
  Y: "b3@5 ~ a3@5 ~ g3@5 ~ e3@5 ~", Z: "~@3 d3@2 ~ b3@5 ~ b3@5 ~ b3@5 ~", AA: "g3@3 ~",
})).s("gm_tenor_sax").gain(0.28).pan(0.3)

// chords · tenor sax · "Sax"
const tenor_sax_2 = note(`<
  A B A B C D E F G H I J K L M N O P Q R S T S T U V W X Y Z AA AB Y AC AD AE C D E F G H I J K L M N O P Q R S T S T U
  V W X Y Z AA AB Y AC AD AE C D E F G H I J K L M N O P Q R S T S T U V W X Y Z AA AB Y AC AD AF
>`.pickRestart({
  A: "~@6 [d4,g4,b4]@7 ~@2 [b3,d4,f#4,a4]@7 ~@2", B: "[b3,d4,f#4,a4]@7 ~@2 [b3,d4,e4,g4]@15",
  C: "~@3 [d4,g4]@5 ~ [d4,f#4]@3", D: "~ [g3,b3,e4] ~ [b3,e4]", E: "~ [b3,d4,g4] ~ [b3,d4,g4]",
  F: "~@6 [g3,b3,e4,g4]@6 ~@3 e4@2 ~ [g3,b3,g4]@6", G: "~@3 [d4,g4]@5 ~ [b3,d4,f#4]@3", H: "~ [b3,d4,e4] ~ [b3,d4,e4]",
  I: "~ [c4,e4,g4] ~ [a3,c4,e4,g4]", J: "~@6 [f#3,c4,d4]@6 ~@3 c4@2 ~ [a3,d4]@6", K: "~@6 d4@2 ~ g4@5 ~ g4@9",
  L: "~ [f4,b4] ~ f4", M: "~ [c4,e4] ~ [c4,e4]", N: "~ [g3,c4,d#4] ~ [c4,d#4]", O: "~ [b3,e4] ~ [g3,b3]",
  P: "~ [g3,c4,e4] ~ [a3,c4,f#4]", Q: "~ [g3,b3,d4] ~ [b3,d4]",
  R: "~@3 [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@3", // D7
  S: "~@6 [b3,d4,g4]@7 ~@2 [b3,d4,f#4]@7 ~@2", T: "[b3,d4,e4]@7 ~@2 [b3,d4,e4]@15",
  U: "~@6 [b3,d4,g4]@7 ~@2 [b3,d4,g4]@9", V: "~ [b3,d4,f#4] ~ [g3,b3]", W: "~@6 [c#4,g4]@7 ~@2 [c#4,g4]@9",
  X: "~@6 [c4,f#4]@6 ~@3 c4@2 ~ [a3,d4]@6", Y: "~@6 [b3,d4,g4]@7 ~@2 [b3,d4,g4]@7 ~@2", Z: "[d4,f4]@2 ~ [b3,f4]",
  AA: "~@6 [a3,c4,e4]@7 ~@2 [a3,c4,e4]@7 ~@2", AB: "[a3,d#4]@7 ~@2 [c4,g4]@15",
  AC: "[b3,e4,g4]@7 ~@2 [a3,b3,e4]@7 ~@2 [a3,b3,e4]@6", AD: "~@6 [c4,e4,g4]@7 ~@2 [c4,d4,f#4]@7 ~@2",
  AE: "[b3,d4,g4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~", // G D7
  AF: "[b3,d4,g4]@5 ~ [a4,b4,d5,e5,g5]@3 ~@3", // G Em7
})).s("gm_tenor_sax").gain(0.53).pan(0.3)

// chords · piano
const piano = note(`<
  A B C D E F G H I F J K L M N O P Q G R S T U V C W X Y C Z AA AB U D AC AD L F AE AF L H AG AH L AI AJ AK AL Q AE AM
  AN D U V S AO X AP U@2 AQ AR S V AS AT AU AV AE AV G AW AX AY AZ BA BB AK BC Q BD AM S BE C BE C BF BG AP U BH AQ BI U
  BE BJ BK
>`.pickRestart({
  A: "[b3,d4,g4,b4]@3 ~@8 b4, g2@6 d4@4 g2@13 ~, ~@3 b3@7 d4@2, ~@3 g4@5 b4@3 ~, ~@3 b4@4 d4@2 g4@3", // G
  B: "[g3,b3,e4,g4]@3 ~@8 g4, e2@6 b3@4 e2@13 ~, ~@3 g3@7 b3@2, ~@3 e4@5 g4@3 ~, ~@3 g4@4 b3@2 e4@3", // Em
  C: "[b3,d4,g4,b4]@3 ~@8 d4, g2@7 g2@5, ~@3 [d4,g4,b4]@7 g4@2, ~ b3@2 b3", // G
  D: "[g3,b3,e4,g4]@3 ~@8 b3, e2@7 e2@5, ~@3 [b3,e4,g4]@7 e4@2, ~ g3@2 g3", // Em
  E: "[b3,d4,b4]@6 [b3,d4,b4]@4 ~@2 [c4,g4,c5]@5 ~ [d4,g4,b4]@3 ~@3, g2@5 g2@6 ~", F: "[e2,g3,e4,g4]",
  G: "[g2,b3,g4,b4]", H: "[g3,b3,g4]@6 [g3,b3,g4]@4 ~@2 [a3,e4,a4]@5 ~ [b3,e4,g4]@3 ~@3, e2@5 e2@6 ~",
  I: "g2@5 ~@5 [g4,g5] [d4,d5], g4@9 [e4,e5]@2 ~, d4@8 [d4,d5]@3 ~, [b3,b4]@7 [b3,b4]@4 ~, ~@5 g2@7", // G D E D B
  J: "e3@10 ~@8 [e3,c4]@5 ~, a2, c4@3 ~, g3@12 g3@11 ~, ~@5 e3@4 ~@3", // C
  K: "a3@10 ~@8 [a3,f#4]@5 ~, [d2,d3], f#4@3 ~, c4@12 c4@11 ~, ~@5 a3@4 ~@3", // D
  L: "g2@7 ~@4 b4, [b3,g4,b4]@17 ~ b3@6, ~@7 g2@5, ~@5 g4", // Em
  M: "g2@5 ~@5 [f4,f5] [d4,d5], g4@9 [e4,e5]@2 ~, f4@8 [d4,d5]@3 ~, d4@7 [b3,b4]@4 ~, b3@5 g2@7", N: "[c2,c3,g3,c4,e4]",
  O: "c2@7 ~@4 g4, [c3,g3,d#4,g4]@2 c3, ~@7 c2@5, ~@3 g3, ~@5 d#4", // Cm
  P: "g2@2 [g3,b3,d4]@2 g2 ~ [g3,b3,d4]@4 g2@2 e2@2 [g3,b3,e4] ~@3 [g3,b3,e4]@6", // G Em
  Q: "[c4,e4,g4,a4]@5 a2 [c4,d4,f#4,a4]@5 [d2,d3]", R: "d2@7 ~@4 a4, [d3,c4,f#4,a4]@2 d3, ~@7 d2@5, ~@3 c4, ~@5 f#4",
  S: "g2@8 ~@2 g2 ~ g2@2 ~@2 g2@2 ~@2 g2 ~ g2@2, [g3,b3,d4]@8 ~ [g3,b3,d4]@3", // G
  T: "[g3,b3,e4,g4]@6 ~@2 e2@2 ~@10 [f#4,f#5]@2 [g4,g5] ~, e2@4 ~ e2@7, ~@6 b3@12 [e4,e5]@5 ~, ~@6 e4@10 [a3,a4]@7 ~, ~@6 [g3,g4]@8 [g3,g4]@9 ~", // Em F# G E A G
  U: "~@4 g2@4 ~@2 g2@4 ~@4 [g3,b3,d4]@2 [g3,c4,e4] ~ g2 ~, [g3,b3,d4]@7 ~ [g3,b3,d4]@8 g2@5 ~@3", // G C G
  V: "e2@8 ~@2 e2 ~ e2@2 ~@2 e2@2 ~@2 e2 ~ e2@2, [g3,b3,e4]@8 ~ [g3,b3,e4]@3", // Em
  W: "[g2,g3,b3,d4]@6 [g3,b3,e4]@2 e2 [g3,b3,e4]@2 e2", // G Em
  X: "[e3,g3,a3,c4]@3 ~@8 [c4,e4], a2@6 g3@4 a2@13 ~, ~@3 e3@7 g3@2, ~@3 a3@5 c4@3 ~, ~@3 c4@4 g3@2 a3@3", // Am7 C
  Y: "~@20 [e4,e5]@2 [f#4,f#5] ~, d2@4 d3 d2@7, [a3,c4,d4,f#4]@6 [c4,f#4]@10 [b3,b4]@2 [d4,d5]@5 ~, ~@2 d3 a3@3 d3@6, ~@6 d4@8 [a3,a4]@9 ~", // E F# D7 Cdim B D A
  Z: "[b3,d4,g4,b4]@6 ~@2 g2@2 ~@10 [a4,a5]@2 [b4,b5] ~, g2@4 ~ g2@7, ~@6 d4@12 [g4,g5]@5 ~, ~@6 g4@10 [c4,c5]@7 ~, ~@6 [b3,b4]@8 [b3,b4]@9 ~", // G A B G C B
  AA: "~@2 c3 ~@5 g3 [g3,c4,e4,g4] c3 c2, c2@5 c2@5 ~@2, [g3,c4,e4,g4] [c4,e4,g4]@2 ~, ~@3 g3@5 ~@4, ~@4 c3@2 c3@3 ~@3", // C
  AB: "~@18 [g3,c4,d#4]@2 [a3,c4,f4] ~ c3@2, [g3,c4,d#4]@6 c3@4 c2@4 ~@2 c2@7 ~, ~ c2 [g3,c4,d#4]@2 ~@2, ~@4 c3@3 ~", // Cm F Cm
  AC: "[c4,e4,g4,a4]@5 ~ [c4,e4,g4,a4] ~ [d4,f#4,a4] ~@13 a4@2, a2@3 ~@3 d2@4 f#4@2, ~@7 d3@5, ~@2 c4, ~@3 d4", // Am7 D
  AD: "[g3,b3,d4]@2 g2 [d2,d3,a3,c4,d4,f#4]@3 [d2,d3,c4,d4,f#4,a4]@6", // G D7
  AE: "b3@10 ~@8 [b3,b4]@5 ~, g2, b4@3 ~, d4@12 d4@11 ~, ~@5 b3@4 ~@3", // B
  AF: "g3@10 ~@8 [g3,g4]@5 ~, e2, g4@3 ~, b3@12 b3@11 ~, ~@5 g3@4 ~@3", AG: "[a2,c4,e4,g4,a4]",
  AH: "[a3,c4,f#4]@6 [a3,c4,f#4]@4 ~@2 [b3,d4,g4]@5 ~ [c4,d4,a4]@3 ~@3, d2@5 d2@6 ~, ~@6 d3@5 ~", AI: "[g2,b3,f4,g4]",
  AJ: "[c2,g3,e4,g4]@10 ~@2 [c4,e4,g4]@6 [g3,c4,e4]@3 ~@3, ~@10 c2@13 ~", // C
  AK: "[c2,g3,d#4,g4]@10 ~@2 [c4,d#4,g4]@6 [g3,c4,d#4]@3 ~@3, ~@10 c2@13 ~", AL: "[g2,g3,b3,d4] [e2,g3,b3,e4]",
  AM: "[d2,d3,c4,f#4,a4]", // D7
  AN: "[g2,b3,d4,g4,b4]@3 ~ g2 ~@3 b3 [b3,d4,g4,b4] g2 ~, ~ [d4,g4,b4]@2 ~, ~@3 b3@5 ~@4, ~@10 g2@9 ~@5", // G
  AO: "[g3,b3,d4]@4 g2@2 [g3,b3,d4]@4 g2@2 e2@2 [g3,b3,e4]@2 e2 ~ [g3,b3,e4]@4 e2@2", // G Em
  AP: "~@11 d4, d2@7 d2@5, [c4,d4,f#4,a4]@3 [d4,f#4,a4]@7 f#4@2, ~ d3@3 d3@2, ~ c4@2 c4", // D7 D
  AQ: "c3@5 ~@6 c2, [g3,c4,e4]@8 ~ [g3,c4,e4]@3, c2@4 ~ c2@2 ~ c2@2 ~@2, ~@12 c3@7 ~ c3@4", // C
  AR: "c3@5 ~@6 c2, [g3,c4,d#4]@8 ~ [g3,c4,d#4]@3, c2@4 ~ c2@2 ~ c2@2 ~@2, ~@12 c3@7 ~ c3@4", // Cm
  AS: "[a2,c4,e4,g4,a4]@6 ~@5 a4, ~@3 d2@2 f#4, ~@7 d3@5, ~@2 c4, ~@3 d4", // Am7
  AT: "[g3,b3,d4]@2 g2 [d2,d3,c4,d4,f#4,a4]@3 [d2,d3,c4,d4,f#4,a4]@6", AU: "[g2,g3,b3,d4]@7 b4@2 g4@2 b3",
  AV: "[e2,g3,b3,e4]@7 g4@2 e4@2 g3", // Em
  AW: "e2@5 ~@5 [e4,e5] [b3,b4], e4@9 [c4,c5]@2 ~, b3@8 [b3,b4]@3 ~, [g3,g4]@7 [g3,g4]@4 ~, ~@5 e2@7", // E B C B G
  AX: "[a2,g3,c4,e4]", AY: "[d2,d3,c4,d4,f#4,a4]",
  AZ: "[g2,b3,g4,b4]@10 ~@2 [d4,g4,b4]@6 [b3,d4,g4]@3 ~@3, ~@10 g2@13 ~", // G
  BA: "g3@10 ~@8 [g3,f4]@5 ~, g2, f4@3 ~, b3@12 b3@11 ~, ~@5 g3@4 ~@3", // G7
  BB: "c2@7 ~@4 g4, [c3,g3,e4,g4]@2 c3, ~@7 c2@5, ~@3 g3, ~@5 e4", // C
  BC: "[g2,g3,b3,d4]@12 e2@2 [g3,b3,e4] ~@3 [g3,b3,e4]@6", BD: "[g2,g3,b3,d4]",
  BE: "~@4 e2@4 ~@2 e2@4 ~@4 [g3,b3,e4]@2 [a3,c4,e4] ~ e2 ~, [g3,b3,e4]@7 ~ [g3,b3,e4]@8 e2@5 ~@3", // Em Am Em
  BF: "~@5 b4 ~@5 g4, g2 e2, ~ b3@2 ~ g3@2, ~ d4 ~ b3, ~@2 g4 ~@2 e4",
  BG: "a2@8 ~@2 a2 ~ a2@2 ~@2 a2@2 ~@2 a2 ~ a2@2, [c4,e4,g4,a4]@8 ~ [c4,e4,g4,a4]@3", // Am7
  BH: "[b3,d4,g4,b4]@3 ~ g2 ~@6 [e4,e5], g2@4 ~ g2@3 g2@2 g2@2, ~ [b3,d4,g4]@3, ~ b4@2 [b4,b5], ~@7 [c5,c6]@5", // G E G B C
  BI: "~@20 [f4,f5]@2 [g4,g5] ~, c2@4 c3 c2@7, [g3,c4,d#4,g4]@6 c4@10 [a3,a4]@2 [d#4,d#5]@5 ~, ~@2 c3 [g3,g4]@3 c3@6, ~@6 d#4@8 [g3,g4]@9 ~", // F G Cm A D# G
  BJ: "a2@2 [c4,e4,g4,a4]@2 a2 ~ [c4,e4,g4,a4]@4 a2@2 [c4,d4,f#4,a4]@4 [d2,d3]@2 [c4,d4,f#4,a4]@4 [d2,d3]@2", // Am7 D7 D D7 D
  BK: "[g3,b3,d4]@4 g2@2 [g3,b3,d4]@4 g2@2 [g3,b3,d4]@5 ~@7", // G
})).s("gm_piano").gain(0.38).pan(0.9)

// chords · electric guitar clean · "Guitar"
const electric_guitar_clean = note(`<
  A B A B A B A B A B C D A@2 E@2 F G A D A B A B A F C D A@2 E@2 A B G H A B A B A B C D A@2 E@2 F G A D A B A B A F C
  D A@2 E@2 A B G H A B A B A B C D A@2 E@2 F G A D A B A B A F C D A@2 E@2 A B G I
>`.pickRestart({
  A: "~@6 [d4,g4] ~@11 [d4,g4] ~@5", B: "~@6 [b4,e5] ~@11 [b4,e5] ~@5", C: "~@6 [e4,a4] ~@11 [e4,a4] ~@5",
  D: "~@6 [a4,d5] ~@11 [a4,d5] ~@5", E: "~@6 [g4,c5] ~@11 [g4,c5] ~@5", F: "~@6 [d4,g4] ~@11 [b4,e5] ~@5",
  G: "~@6 [e4,a4] ~@11 [a4,d5] ~@5", H: "~@18 [a4,d5] ~@5", I: "~@6 [d4,g4] ~@17",
})).s("gm_electric_guitar_clean").gain(0.38).pan(0.1)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  A B A B ~@16 C D E F G H I J G E K L E D M N ~@16 E K O D E P I Q O E D L O D M R ~@16 E S E D O T I U O C S V E K W X
>`.pickRestart({
  A: "~@6 [d4,g4,b4]@7 ~@2 [b3,d4,f#4,a4]@7 ~@2", B: "[b3,d4,f#4,a4]@7 ~@2 [b3,d4,e4,g4]@15", C: "[g6,b6]",
  D: "[g5,e6]", E: "[b5,g6]", F: "[e6,b6]", G: "~ b5, [g6,b6]", H: "[g6,d7] [e6,b6]", I: "[g5,c6]", J: "[c6,f#6]",
  K: "[e6,g6]", L: "[g5,d#6]", M: "[a5,c6] [c6,f#6]", N: "[b5,g6] [c6,f#6] [c6,f#6]@2", O: "[g6,d7]",
  P: "[d6,g6] [g5,e6]", Q: "[f#6,c7]", R: "[b5,g6] [c6,f#6] [f#6,c7]@2", S: "~ g5, [e6,g6]", T: "[d6,g6] [e6,b6]",
  U: "~ c6, [f#6,a6]", V: "[d#6,g6]", W: "[g5,c6] [c6,f#6]", X: "[b5,g6]@12 [b5,g6]@5 ~@7",
})).s("gm_string_ensemble_1").gain(0.29).pan(1)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A B A B A C A C A C D E F A G H I J K L A B A B F I D E F A G M A C J N A C A C A C D E F A G H I J K L A B A B F I D
  E F A G M A C J N A C A C A C D E F A G H I J K L A B A B F I D E F A G M A C J O
>`.pickRestart({
  A: "g2 ~ g2 ~", B: "e2@6 ~@6 b2@5 ~ e2@5 ~", C: "e2 ~ e2 ~", D: "a2 ~ a2 ~", E: "d3@5 ~ d2@5 ~ e2@5 ~ f#2@5 ~",
  F: "g2 ~ d2 ~", G: "c3 ~ g2 ~", H: "c3 ~ c3 ~", I: "g2 ~ e2 ~", J: "a2 ~ d2 ~", K: "g2@6 ~@6 b2@5 ~ g2@5 ~",
  L: "d3@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~", M: "c3@6 ~@6 d#3@5 ~ c3@5 ~",
  N: "g2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~", O: "g2@5 ~ d2@5 ~ g1@5 ~@7",
})).s("gm_electric_bass_finger").gain(0.72).pan(0)

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

// drums · rim
const rim = s("rim").struct("<~@4 A@7 ~ A@7 B ~@16 A@7 B A@7 ~@16 B A@7 ~ A@7 ~@17>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.64)

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

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

// drums · open hat
const open_hat = s("oh").struct(`<
  ~ A B ~@2 B ~ B ~ B ~@7 B ~ B ~@2 C ~@2 B ~@3 A ~ B ~@5 B ~ B ~ B ~ B ~@2 D B ~ B ~@4 E ~ A B ~@3 A ~@2 B@2 ~ B ~ B D
  ~ F ~@4 B ~ B F B ~@3 B ~ B ~ A ~@4 B@2 ~ B@2 G
>`.pickRestart({
  A: "~@2 x", B: "~@11 x", C: "~ x ~@2 x ~", D: "~@5 x", E: "~@5 x ~@5 x", F: "~@5 x ~@6", G: "~ x",
})).gain(0.48)

// drums · high tom
const high_tom = s("ht").struct("<~@11 [~@8 x!2 ~@2] ~@79 [~@8 x!2 ~@2] ~@8>").gain(0.64)

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

stack(
  tenor_sax, tenor_sax_2, piano, electric_guitar_clean, string_ensemble_1, bass, kick, rim, snare, hihat, open_hat,
  high_tom, crash
)

More by Tony Orlando