Strudelify

Action

Sweet

KeyD majorTempo172 bpm
0:00/0:00
// Action — Sweet
// 172 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 145 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(172/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 · lead 8 bass lead · "Bass"
const bass = note(`<
  ~@8 A@10 B A@7 C D E ~ A@4 F@2 G H I A G H I A J K F A@2 K F A@2 K A K A K F A@8 C D E ~ A@4 F@2 G H I A G H I A J K F
  A@2 K F A@2 K A K A K F L ~ M@2 N@3 O@4 P Q R S T U V W X Y@2 Z AA AB AC K F AD AB AE AB AF AG AH AI AJ AB@2 AK AL ~@4
>`.pickRestart({
  A: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", B: "d2@2 d2 ~ d2 ~ d2 ~ d2@2 d2 ~ d2 ~ d2 ~", C: "a1@15 ~",
  D: "a1@5 ~ a1@6 ~ a1@3", E: "d2@3 ~ d2@3 ~@9", F: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~",
  G: "a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~", H: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~",
  I: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", J: "d2@5 ~@11", K: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  L: "d#2@3 ~ d#2@12", M: "[~@3 d#2@4 d#2@13 ~@12]/2", N: "[~@6 d#2@13 ~@4 d#2@15 ~@2 d#2@8]/3",
  O: "[~ d#2@7 ~@2 d#2@8 d#2@5 ~@4 d2@4 f2@2 f#2@2 d2@4 ~@2 d2@3 ~ d2@2 f2@2 f#2@2 d3@4 ~@2 d2@3 ~ d2@2 ~]/4",
  P: "f2@2 f#2@2 d2@4 ~@2 d2@3 ~ d2@2", Q: "f2 ~ f#2@2 d3@8 a#1@3 ~", R: "a#1@4 a#1@3 ~ a#1@4 b1@3 ~",
  S: "b1@3 ~ b1@3 ~@2 b1@4 c2@3", T: "~ c2@3 ~ c2@3 ~ c2@3 ~ d2@3", U: "~ d2@3 ~ d2@3 ~ d2@3 ~ a#1@3",
  V: "~ a#1@3 ~ a#1@3 ~ a#1@4 b1@3", W: "~ b1@3 ~@2 b1@3 ~ b1@4 c2@2", X: "~@2 c2@3 ~ c2@3 ~ c2@3 ~ d2@2",
  Y: "[~@2 d2@2 ~@2 d2@2 d3@3 ~ d2@2 d3@4 ~@13 g1]/2", Z: "~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ a1",
  AA: "~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ d2", AB: "~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2",
  AC: "~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", AD: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2",
  AE: "~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1", AF: "~ g1 ~ g1 ~ g1 ~@2 g1 ~ g1 ~ g1 ~ g1 ~",
  AG: "g1 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", AH: "d2 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  AI: "g1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", AJ: "~ a1 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2",
  AK: "~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~", AL: "d2 ~ d2 ~ d2 ~@11",
})).s("gm_lead_8_bass_lead").gain(0.68)

// other · pad poly · "Synth 1"
const pad_poly = note(`<
  ~@12 A@4 B C@2 D ~ E F G H I J@3 E F K L M N@2 ~@2 O@2 ~@2 P@2 Q R S@2 T R S@2 T U@2 V@2 R W@5 X Y Z@2 AA@2 ~ E AB AC
  AD@2 AE@2 ~@2 AF@2 ~@2 AG@3 R S@2 T AH S@2 T U@2 V@2 R AI@2 ~@14 AJ AK ~@4 AL@2 AM@2 T R S@2 AN@3 AO AP AQ AR AS@5 ~@4
>`.pickRestart({
  A: "[[f#4,a4]@15 ~ [g4,a#4]@15 ~ [g4,b4]@15 ~ [a4,c5]@15 ~, d4@63 ~, ~@16 a4 ~@15]/4", B: "[d4,f#4,a4]@15 ~",
  C: "[[g4,a#4]@15 ~ [g4,b4]@15 ~, d4@31 ~, c4 ~@31]/2", D: "[d4,a4,c5]", E: "~@12 f#5 ~ f#5 ~",
  F: "f#5@3 ~ e5 ~ e5@5 ~ d5 ~ d5 ~", G: "d5@3 ~ c#5 ~ c#5@7 ~ b4 ~", H: "b4@3 ~ a4 ~ a4@7 ~ g4 ~",
  I: "g4@4 f#4@2 e4@3 ~ d4@2 ~ d4@3", J: "[~ a4@32 ~@15, ~ g4 ~@46]/3", K: "d5@3 ~ c#5 ~ c#5@6 b4 ~ b4 ~",
  L: "b4@4 a4 ~ a4@6 g4 ~ g4 ~", M: "g4@2 f#4 e4@2 d4@3", N: "[a4@15 ~]/2", O: "[~@6 g5 ~ g5@2 ~@2 g5 ~ g5@6 f#5@12]/2",
  P: "[~@6 g5 ~ g5@3 ~ g5 ~ g5@4 f#5@14]/2", Q: "a5@5 ~ d5 ~ e5@4 f#5@3 ~", R: "g5@3 ~ g5@3 ~ g5 ~ g5@3 ~ g5@2",
  S: "[~@2 g5@3 ~ g5@3 ~ g5 ~ g5 ~ g5@6 f#5@4 ~@8]/2", T: "~@5 d5 e5 d5",
  U: "[g5@3 ~ g5@3 ~ g5 ~ g5@4 f#5@4 ~@8 d5@2 e5@2 d5 ~]/2",
  V: "[g5@3 ~ g5@3 ~ g5 ~ g5@3 ~ f#5@4 ~@8 d5@2 e5@2 d5 ~]/2",
  W: "[~@2 g5@3 ~ g5@3 ~ g5 ~ g5@2 ~@6 d5@12 [g4,a#4]@15 ~ [g4,b4]@15 ~@13 f#5 ~ f#5 ~, ~@7 f#5@3 ~@30, ~@16 d4@63 ~, ~@16 [f#4,a4]@15 ~@17 a4@2 ~@14 [a4,c5]@15 ~]/5", // Gm G F#m Am
  X: "f#5@4 e5 ~ e5@5 ~ d5@2 d5 ~", Y: "d5@4 c#5 ~ c#5@5 ~ b4 ~ b4 ~",
  Z: "[b4@3 ~ a4@2 a4@12 f#5@3 ~ f#5@2 e5@4 d5@3 ~]/2", AA: "[e5@31 ~]/2", AB: "f#5@3 ~ e5 ~ e5@4 [d5,e5] ~ d5 ~ d5 ~",
  AC: "d5@3 ~ c#5 ~ c#5@4 b4 ~ b4 ~ b4 ~", AD: "[b4@3 ~ a4 ~ a4@3 ~ a4@3 ~ a4@4 f#5@3 ~ f#5@2 e5@4 d5@3 ~]/2",
  AE: "e5/2", AF: "[~@6 g5 ~ g5@3 ~ g5 ~ g5@5 ~ f#5@12]/2",
  AG: "[~@6 g5 ~ g5@3 ~ g5 ~ g5@6 ~@12 a5@4 ~@2 d5 ~ e5@4 f#5@3 ~, ~@20 f#5@17 ~@11]/3",
  AH: "g5@3 ~ g5@3 ~ g5 ~ g5@2 ~@2 g5@2", AI: "[~@2 g5@3 ~ g5@2 ~@2 g5 ~ g5@2 f#5@10 ~@8]/2",
  AJ: "~@2 g5@2 ~ g5@3 ~ g5 ~ g5@5", AK: "~ f#5@12 ~@3",
  AL: "[~@5 d5@2 e5@3 ~ f#5@2 ~@2 g5@3 ~ g5@3 ~ g5 ~ g5@3 ~ g5@3]/2",
  AM: "[~ g5@3 ~ g5@3 ~ g5 ~ g5 ~ g5@6 f#5@4 ~@9]/2",
  AN: "[~@11 d5@2 e5@2 d5@2 g5@3 ~ g5@3 ~ g5 ~ g5@4 f#5@4 ~@8 d5@2 e5@2 d5]/3", AO: "~ g5@3 ~ g5@3 ~@2 g5 ~ g5@3 ~",
  AP: "f#5@2 ~@4 d5 e5", AQ: "d5 ~ g5@3 ~ g5@3 ~ g5 ~ g5@3 ~", AR: "g5@3 ~ g5@3 ~ g5@3 ~ g5 ~ g5@2",
  AS: "[~@7 d5@12 [g4,a#4]@15 ~ [g4,b4]@15 ~@14 f#5 ~ f#5 ~ f#5@4 ~@8, ~ f#5@6 ~@73, ~@3 d4@64 ~@13, ~@3 [f#4,a4]@15 ~@17 a4@2 ~@14 [a4,c5]@15 ~@14]/5", // Gm G F#m Am
})).s("gm_pad_poly").gain(0.8)

// chords · lead 8 bass lead · "Synth 2"
const lead_8_bass_lead = note("<~@100 A@3 ~ B ~ C ~ D@2 E F G H@8 ~@24>".pickRestart({
  A: "[[d#5,g5,a#5]@4 [d#5,g5]@5 ~@26 [d#5,g5,a#5]@3 ~ [d#5,g5,a#5]@3 ~@6, ~@2 a#5@15 ~@7]/3", // D#
  B: "~@6 [d#5,g5,a#5]@3 ~ [d#5,g5,a#5]@3 ~@3", C: "~@8 [d#5,g5,a#5]@3 ~@2 [d#5,g5,a#5]@3",
  D: "[~@7 d5@4 ~@2 d5@2 f5@2 f#5@2 d5@4 ~@2 d5@3 ~ d5@2 f5]/2", E: "~ f#5@2 d6@4 ~@2 d5@3 ~ d5@2 ~",
  F: "f5 ~ f#5@2 d5@5 ~ d5@3 ~ d5@2", G: "f5 ~ d6@2 ~@2 [a#4,d5]@2, ~@2 f#5@7 ~@7",
  H: "[~@12 [b4,d#5,f#5]@15 ~@2 [c5,e5,g5]@14 ~@2 [d5,f#5,a5]@13 ~@3 [a#4,d5,f5]@14 ~@2 [b4,d#5,f#5]@14 ~@3 [c5,e5,g5]@14 ~@2 [d5,f#5,a5]@16 d6@2]/8", // B C D A# B C D
})).s("gm_lead_8_bass_lead").gain(0.56).pan(0.4)

// other · lead 7 fifths · "Synth 3"
const lead_7_fifths = note(`<
  ~@5 A@2 B C D E B C D E B C D E B F ~@5 G@2 H ~@16 I J C K I J L@2 M@2 I C N O C D E B ~@4 G@2 H ~@16 I J C K I J L@2
  M@2 I C N O ~@21 P@5 I J Q@4 R@4 S@5 ~@4
>`.pickRestart({
  A: "[f5@15 b4@17]/2", B: "c5", C: "d5", D: "f5", E: "b4", F: "~ c5 ~@14", G: "a3/2", H: "g3@4 d3@7 ~@5", I: "g4",
  J: "a4", K: "d4", L: "d5/2", M: "[~@8 a4 ~@7, g4@9 ~@7]/2", N: "g4@15 ~", O: "a4@15 ~",
  P: "[~@15 g4@16 a4@16 d5@16 d4@16 ~]/5", Q: "[d5@33 ~@16 a4@2 ~@13, ~@33 g4@18 ~@13]/4",
  R: "[~ g4@17 d5@16 g4@16 a4@14]/4", S: "[~@3 d5@16 f5@16 b4@16 c5@17 ~@12]/5",
})).s("gm_lead_7_fifths").gain(0.8).pan(0.8)

// other · lead 7 fifths · "Synth 3" · soft notes
const lead_7_fifths_soft = note("<~@11 d5 ~@133>").s("gm_lead_7_fifths").gain(0.4).pan(0.8)

// chords · pad poly · "Polysynth"
const pad_poly_2 = note(`<
  ~@4 A B C D A B C D A B C D A B C D ~@25 E F G@2 H I G@2 E J E J E K@2 B C D L@4 ~@4 M@4 ~@11 E F G@2 H I G@2 E J E J
  E ~@22 N@5 H I O@3 P Q@8 R@5
>`.pickRestart({
  A: "d5", B: "f5", C: "b4", D: "c5", E: "[g3,b3]", F: "[a3,c#4]@15 ~", G: "[a3,d4]/2", H: "g3", I: "[a3,c#4]",
  J: "[a3,d4]", K: "[c#4 [d4,d5], a3]/2", L: "[~@3 [d5,f#5], [d4,f#4,a4]]/4",
  M: "[~@32 a5 ~@15 d5@16, [d4,f#4,a4], ~@38 f#5@25 ~]/4", N: "[~@15 [g3,b3]@16 [a3,c#4]@16 [a3,d4]@33]/5",
  O: "[[a3,d4]@11 [g3,b3]@5]/3", P: "~ [a3,d4]@15",
  Q: "[~ [g3,b3]@17 [a3,d4]@16 [g3,b3]@16 c#4@17 [d4,d5]@16 f5@16 b4@16 c5@13, ~@50 a3@33 ~@45]/8", // G D5 G D
  R: "[~@4 [d4,f#4,a4]@65 ~@11]/5", // D
})).s("gm_pad_poly").gain(0.8).pan(0.3)

// chords · pad poly · "Polysynth"
const pad_poly_3 = note(`<
  A@8 B@8 C@4 ~@6 D@3 ~@5 E@3 F G H I F G J K L M N@2 L O P@2 Q R Q R L M S ~@3 C@4 D@3 ~@5 E@3 F G H I F G J K L M N@2
  L O P@2 Q R Q R L M ~@21 T@5 L O P@2 U V U W X Y@3 ~@2 Z@5
>`.pickRestart({
  A: "[d2@127 ~]/8", B: "[d2@62 ~ d2@63 ~@2]/8", C: "d2/4",
  D: "[~@14 f#5 ~@13 a5@2 ~@2 [g4,e5,g5,b5]@3 ~ [d4,f#4,d5,f#5,a5]@4 ~@8, a3@5 ~, [c#4,e4]@15 b5 ~@8, ~@12 e5@19 d4@4 ~@13, ~@16 g5@15 ~@17]/3", // Em D C#m
  E: "[~ a3@28 ~@3 f4@15 ~, [c#4,e4]@28 ~@3 [a#3,d4]@15 ~@2]/3", F: "[b3,d#4,f#4]@15 ~", G: "[c4,e4,g4]@15 ~",
  H: "[d4,f#4,a4]@7 ~", I: "~ f4@14 ~, [a#3,d4]@15 ~", J: "[d4,f#4,a4]", K: "d4 ~@15", L: "[g3,b3,d4]@15 ~",
  M: "[a3,c#4,e4]@15 ~", N: "[[a3,d4,f#4]@15 ~]/2", O: "[a3,c#4,e4]@7 ~", P: "[[a3,d4,f#4]@31 ~]/2",
  Q: "[g3,b3,d4]@7 ~", R: "[a3,d4,f#4]@15 ~", S: "[a3,d4,f#4]",
  T: "[~@15 [g3,b3,d4]@15 ~ [a3,c#4,e4]@15 ~ [a3,d4,f#4]@31 ~@2]/5", U: "~ [g3,b3,d4]@14 ~", V: "~ [a3,d4,f#4]@15",
  W: "~ [a3,d4,f#4]@7", X: "~ [g3,b3,d4]@7", Y: "[~@2 [a3,c#4,e4]@16 ~ [a3,d4,f#4]@17 ~@12]/3", Z: "[~@4 d2@65 ~@11]/5",
})).s("gm_pad_poly").gain(0.8).pan(0.7)

// drums · kick
const kick = s("bd").struct(`<
  ~@12 A@8 B ~@5 B C D ~ A@14 B A@40 B A@14 E F G H I J K L M N@2 C O A P Q@3 R S@2 T U@3 V A@3 Q@3 W S@3 U@3 X E ~@4
>`.pickRestart({
  A: "x!4", B: "x", C: "~@2 x ~@2 x ~ x", D: "~ x ~@2", E: "x!2 ~@2", F: "~ x ~@4 x ~@9", G: "~@3 x ~@3 x ~@8",
  H: "~@4 x ~@4 x ~@6", I: "~@3 x ~ x ~@2", J: "~@7 x ~@3 x ~@4", K: "~@8 x ~@4 x ~@2", L: "~@5 x ~ x",
  M: "~@7 x ~@5 x ~@2", N: "~@3 x ~@5 x ~@3 x ~@2", O: "~ x ~ x", P: "x ~@3 x ~@4 x ~@3 x ~@2",
  Q: "~ x ~@3 x ~@3 x ~@3 x ~@2", R: "~ x ~@4 x ~@3 x ~@3 x ~", S: "~ x ~ x ~ x ~ x", T: "~@15 x",
  U: "~@3 x ~@3 x ~@3 x ~@3 x", V: "~@3 x ~@4 x ~@3 x ~@3", W: "~ x ~@3 x ~@4 x ~@3 x ~", X: "~@3 x ~@3 x ~@4 x ~@3",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct(`<
  ~@12 A@4 B A@3 ~@6 C D E ~ A@14 ~ A@31 F A@7 F G A@14 H D I J K ~ C L M N O P Q A R S@3 T A U V S@3 W A@2 X S@3 Y A@3
  S@3 Z AA ~@4
>`.pickRestart({
  A: "x!8", B: "~ x!7", C: "x", D: "~@5 x ~@2", E: "~ x ~@2", F: "x!2 ~ x!5", G: "x!2 ~@2", H: "x ~@8 x ~@6",
  I: "~@3 x", J: "~@13 x ~@2", K: "~@7 x", L: "~ x ~@14", M: "~@2 x ~@12 x", N: "~@7 x ~@7 x", O: "~@7 x ~@8", P: "x!2",
  Q: "x ~@3 x ~ x!2", R: "x ~ x ~ x ~ x ~@2 x ~ x ~ x ~ x", S: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x",
  T: "~ x ~@2 x ~ x ~ x ~ x ~ x ~ x ~", U: "~ x ~ x!5", V: "~@15 x", W: "~ x ~ x ~@2 x ~ x ~ x ~ x ~ x ~",
  X: "x ~ x ~ x ~ x ~ x ~ x ~ x ~@2 x", Y: "~ x ~ x ~ x ~@2 x ~ x ~ x ~ x ~", Z: "~ x ~ x ~ x ~ x ~ x ~@2 x ~ x ~",
  AA: "x!3 ~@5",
})).gain(0.56)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@26 A B ~@15 B A ~@13 C ~@3 B ~@6 D ~@6 E ~@7 F D ~@13 C A G H ~ I ~ J ~ K L ~@2 M ~@3 N ~@3 F ~@14 B O ~@3 P ~@4
>`.pickRestart({
  A: "x", B: "~@6 x!2", C: "~@5 x!3", D: "x!2 ~@2", E: "~@4 x!4", F: "~@3 x!5", G: "~@7 x", H: "~@3 x ~@12",
  I: "~ x ~@4 x ~@9", J: "~@8 x ~@4 x ~@2", K: "~@7 x ~@8", L: "~@9 x ~@6", M: "~@5 x ~@2", N: "~@5 x ~ x ~ x ~ x ~@4",
  O: "~ x ~@14", P: "x!2 ~@6",
})).gain(0.8)

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

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@27 A ~@15 A ~@14 B ~@3 A ~@13 C ~@7 D ~@14 B ~ E ~ F G ~@3 H ~@3 I ~@2 J K ~@3 L ~@14 A ~@3 F ~@5
>`.pickRestart({
  A: "~@5 x ~@2", B: "~ x", C: "~ x!3 ~@4", D: "~ x ~@6", E: "~@5 x ~ x", F: "~@13 x ~@2", G: "~ x ~@14",
  H: "~@2 x ~@12 x", I: "~@3 x!2 ~@3", J: "~@15 x", K: "~@3 x ~@12", L: "x!2 ~@2",
})).gain(0.8)

// drums · open hat
const open_hat = s("oh").struct("<~@20 [~ x ~ x]!6 ~@81 [~@7 x] [~ x ~@6] ~@30 [~@15 x] ~@5>").gain(0.56)

// drums · crash
const crash = s("cr").struct(`<
  ~@12 A@7 B A ~@5 A C D ~@5 A ~ A@12 ~ A@3 ~ A ~ A ~ A@7 ~@3 A ~ D ~ A ~@3 A ~ A@12 ~ A@3 ~ A ~ A ~ A@2 D ~ E ~ F ~ A G
  H I@2 J K ~@3 L ~@3 M N@3 ~@2 A@3 ~ G ~ G ~ O@2 E@4 P ~@4
>`.pickRestart({
  A: "x", B: "x ~@6 x", C: "x ~@2 x ~@4", D: "x!2 ~@2", E: "~@3 x ~@12", F: "~@3 x ~@4", G: "~ x ~@14", H: "~@11 x ~@4",
  I: "~@9 x ~@6", J: "~@5 x ~@2", K: "~@3 x", L: "~@13 x ~@2", M: "~@7 x", N: "~@15 x", O: "~ x ~@6", P: "~ x ~@2",
})).gain(0.8)

// drums · ride
const ride = s("rd").struct(`<
  ~@12 A@6 B A ~@16 A@8 C A@22 D A E A@7 F D@7 C A@14 G H I J K L M H N ~@3 E A O P@3 Q R@2 S T@3 U A@3 P@3 V R@3 T@3 W
  X ~@4
>`.pickRestart({
  A: "x!4", B: "x ~@4 x ~@3 x ~@2 x ~@3", C: "x", D: "~ x!3", E: "~@3 x", F: "x!2 ~ x", G: "x ~@8 x ~@6",
  H: "~ x ~@8 x ~@5", I: "~@3 x ~@8 x ~@3", J: "~@4 x ~@8 x ~@2", K: "~@3 x ~@3 x", L: "~@7 x ~@8", M: "x!2",
  N: "~ x ~@6", O: "x ~@3 x ~@4 x ~@3 x ~@2", P: "~ x ~@3 x ~@3 x ~@3 x ~@2", Q: "~ x ~@4 x ~@3 x ~@3 x ~",
  R: "~ x ~ x ~ x ~ x", S: "~@15 x", T: "~@3 x ~@3 x ~@3 x ~@3 x", U: "~@3 x ~@4 x ~@3 x ~@3",
  V: "~ x ~@3 x ~@4 x ~@3 x ~", W: "~@3 x ~@3 x ~@4 x ~@3", X: "x!2 ~@2",
})).gain(0.8)

stack(
  bass, pad_poly, lead_8_bass_lead, lead_7_fifths, lead_7_fifths_soft, pad_poly_2, pad_poly_3, kick, snare, low_tom,
  hihat, mid_tom, open_hat, crash, ride
)

More by Sweet