Strudelify

You Want Love (Maria, Maria)

Mixed Emotions

KeyE♭ majorTempo115 bpm
0:00/0:00
// You Want Love (Maria, Maria) — Mixed Emotions
// 115 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 84 bars on a 16-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 · [...]/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(`<
  A@5 B C A D B C E A F C A G A C D H A C I J A C A K B C L M C@2 A N J@2 A@2 O P Q R A C A J A C A S T U V W X Y L Z A
  C@2 L F C B AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP
>`.pickRestart({
  A: "eb2@4 ~@2 eb2 ~ eb2@5 ~@3", B: "bb1@4 ~@2 bb1 ~ bb1@4 ~@4", C: "bb1@4 ~@2 bb1 ~ bb1@5 ~@3",
  D: "eb2@5 ~ eb2 ~ eb2@5 ~@3", E: "eb2@5 ~ eb2 ~ eb2@5 ~ bb1@2", F: "eb2@4 ~@2 eb2 ~ eb2@6 ~@2",
  G: "ab1@4 ~@2 ab1 ~ ab1@6 ~@2", H: "bb1@4 ~@2 bb1 ~ bb1@4 f2@2 bb1@2", I: "eb2@4 ~@2 eb2 ~ eb2@4 ~@2 g1@2",
  J: "ab1@4 ~@2 ab1 ~ ab1@5 ~@3", K: "eb2@3 ~@5 eb2@2 ~@2 eb2@2 ~@2", L: "eb2@4 ~@2 eb2 ~ eb2@4 ~@2 bb1@2",
  M: "eb2@4 ~@2 eb2 ~ eb2@3 ~ eb2@3 ~", N: "eb2@5 ~ eb1 ~ f1@3 ~ g1@3 ~", O: "f1@4 ~@2 f1 ~ f1@3 ~ g1@3 ~",
  P: "a1@4 ~@2 a1 ~ a1@6 ~@2", Q: "bb1@4 ~@2 bb1 ~ bb1@4 ~@2 f1 ~", R: "bb1 ~@3",
  S: "bb1@4 ~@2 bb1 ~ bb1 ~ bb1@3 ~ bb1@2", T: "eb2@4 ~@2 eb2 ~ eb2@4 ~@2 eb2@2", U: "bb1@4 ~@2 bb1 ~ bb1@4 ~@2 bb1 ~",
  V: "eb2@4 ~@2 eb2 ~ eb2@4 g1@3 ~", W: "ab1@4 ~@2 ab1 ~ ab1@5 ~ ab1@2", X: "eb2@5 ~ eb2 ~ eb2@5 ~ eb2@2",
  Y: "bb1@4 ~@2 bb1 ~ bb1@6 ~@2", Z: "eb2 ~@7", AA: "eb2@4 ~@2 eb2 ~ eb2@5 ~ bb1 ~",
  AB: "eb2@4 ~@2 eb2 ~ eb2@2 d2@2 eb2@2 e2@2", AC: "f2@4 ~@2 f2 ~ f2@6 ~@2", AD: "c2@4 ~@2 c2 ~ c2@5 ~@3",
  AE: "f2@5 ~ f2 ~ f2@4 a1@3 ~", AF: "bb1@4 ~@2 bb1 ~ bb1@7 ~", AG: "f2@4 ~@2 f2 ~ f2@5 ~@3",
  AH: "c2@4 ~@2 c2 ~ c2@5 ~ c2@2", AI: "f2@5 ~ f2 ~ f2@2 f1@2 g1@2 a1@2", AJ: "bb1@4 ~@2 bb1 ~ bb1@5 ~ bb1@2",
  AK: "c2@5 ~ c2 ~ c2@5 ~ c2 ~", AL: "c2 ~ c2@2 ~@2 c2 ~ c2 ~ c2@3 ~ c2 ~", AM: "f2@5 ~ f2 ~ f2@7 ~",
  AN: "bb1@4 ~@2 bb1 ~ bb1@5 ~ bb1 ~", AO: "f2@6 f1 f2", AP: "f1@3 ~@5",
})).s("gm_electric_bass_finger").gain(0.5).pan(0.6)

// bass · synth bass 2 · "SYNTH BASS"
const bass_2 = note(`<
  A@5 B@2 A@2 B@2 A@3 B A C A B D B A B A C A B A E F B G@2 F B G A C@2 G A H I J K A B A C A B A B A B A C A B A L A
  B@2 A@2 B@2 A M H N H B H N H B N@2 H B O P
>`.pickRestart({
  A: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2!2", B: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1!2",
  C: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1!2", D: "eb2 ~ eb2 ~ eb2 ~ eb2!3 ~ eb2 ~ eb2 ~ eb2!2",
  E: "eb2 ~@7 ab2@2 ~@2 g2 ~@3", F: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  G: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", H: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2!2",
  I: "f2 ~ f2 ~ f2 ~ f2!3 ~ f2 ~ f2 ~ f2!2", J: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb2 ~ bb1 ~ bb2 ~", K: "bb1 ~@7",
  L: "eb2 ~@15", M: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ d2 ~ eb2 ~ e2 ~", N: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2!2",
  O: "f2@2 ~@10 f1 f2 f1 f2", P: "f1 ~@7",
})).s("gm_synth_bass_2").gain(0.45).pan(0.3)

// chords · pizzicato strings · "PIZZICATO"
const pizzicato_strings = note(`<
  A@5 B@2 C A B@2 A@3 B A D A B E B A B A D A B A F B@2 A G B@2 A@2 D@2 A@2 H@2 I J A B A D A B E B A B A D A B A K A B
  L C A B@2 A M H N H I H N H I H N H I O P
>`.pickRestart({
  A: "[g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~", // Eb
  B: "[f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~", // Bb
  C: "[ab4,bb4,eb5] ~ [ab4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~", // Absus2 Eb
  D: "[ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~", // Ab
  E: "[g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [ab4,bb4,eb5] ~ [ab4,bb4,eb5] ~ [ab4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~", // Eb Absus2 Eb
  F: "[g4,bb4,eb5] ~@5 [ab4,c5,eb5]!3 ~@3 [g4,bb4,eb5] ~@3", // Eb Ab Eb
  G: "[g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [ab4,c5,eb5]!2 [ab4,c5] ~@3 [g4,bb4,eb5] ~@3, ~@4 eb5 ~@3", // Eb Ab Eb
  H: "[a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~", // F
  I: "[bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~", // Bb
  J: "[bb4,d5,f5] ~@15", K: "[g4,bb4,eb5] ~@15",
  L: "[f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [bb4,d5] ~", // Bb
  M: "[g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~@7", // Eb
  N: "[g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~", // C
  O: "[a4,c5,f5] ~@11 [a4,c5,f5] ~ [a4,c5,f5] ~", P: "[a4,c5,f5] ~@15",
})).s("gm_pizzicato_strings").gain(0.28).pan(0.3)

// chords · pad poly · "POLYSYNTH"
const pad_poly = note("<~@28 A B ~@2 C D ~@2 E F G H I J K L@2 ~@32 M N O@2 P Q R>".pickRestart({
  A: "~@6 [c5,eb5,ab5]!2 [c5,eb5,ab5]@2 ~@2 [bb4,eb5,g5]@2 ~@2", B: "[bb4,d5,f5] ~",
  C: "~@6 [c5,eb5,ab5]!2 [c5,eb5] ~@3 [bb4,eb5,g5]@2 ~@2, ~@4 ab5 ~@3", D: "[bb4,d5,f5]@13 ~@3",
  E: "~@4 [bb4,g5]@3 ~ g5@2 [g4,eb5] ~ [ab4,f5]@3 ~, ~@8 bb4 ~@7", F: "[c5,eb5]@5 ~ [eb4,ab4,c5]@10",
  G: "~@4 [bb4,g5]@2 ~@2 g5@2 [g4,eb5] ~ [ab4,f5]@2 ~@2, ~@8 bb4 ~@7", H: "[g4,eb5]",
  I: "~@8 [gb4,a4]@3 ~ [g4,bb4]@2 ~@2", J: "[a4,c5]@4 ~@2 [ab4,b4] ~ [a4,c5]@3 ~ [c5,eb5]@3 ~",
  K: "[eb5,g5]@4 [d5,f5]@3 ~ [c5,eb5]@4 [a4,c5]@2 ~@2", // Eb Dm Cm Am
  L: "[[bb4,d5,f5]@10 d5@2 ~@4 [bb4,bb5]@3 ~@13, ~@12 f5@7 ~@13, ~@14 d5@5 ~@13]/2", M: "~@12 [bb4,d5]@3 ~",
  N: "[bb4,d5] ~ [a4,c5] ~ [a4,c5]@6 ~@4 [c5,a5]!2", // Bb Am F
  O: "[[c5,a5]@3 ~ [bb4,g5]@2 ~@2 [a4,f5]@2 ~@2 [bb4,e5] ~ [a4,f5]@15 ~@3]/2", // F Eb Dm Bbdim Dm
  P: "~@6 [d5,bb5]!3 ~ [c5,a5] ~ [bb4,g5] ~ [a4,f5] ~", Q: "[a4,f5]@5 ~@3", R: "[f4,a4,c5,f5]@3 ~@13",
})).s("gm_pad_poly").gain(0.45).pan(0.7)

// chords · trumpet
const trumpet = note(`<
  ~@13 A B C D E F G H I J K L M N@2 ~@17 O P C Q R S T U V P W D M X@2 ~@10 Y Z AA AB AC AD@2 AE AF AG@2 AH AI AJ
>`.pickRestart({
  A: "[eb4,g4]@3 ~@3 [eb4,g4]!2 g4@2 [d4,f4,g4] ~ [d4,f4]@2 c4@2, ~@8 eb4 ~@5 eb4 ~", // Eb G7 Dm
  B: "[f4,ab4]@3 ~@3 [f4,ab4]!2 [f4,ab4]@2 [eb4,g4] ~ [eb4,g4]@2 ab4@2, ~@14 f4 ~", // Fm Eb
  C: "g4@2 ~@2 [eb5,g5]@8 [d5,f5]@3 ~, bb4 ~@15", D: "[c5,eb5]@2 ~@2 [c4,ab4]@7 ~ [ab4,c5]@3 ~",
  E: "[ab4,c5]@2 [g4,bb4] ~ [g4,bb4]@4 ~@4 [g4,bb4]@2 ~@2", F: "[g4,bb4]@2 [f4,ab4] ~ [f4,ab4]@6 ~@2 [d4,f4]@3 ~",
  G: "[eb4,g4]@5 ~ [f4,ab4]@6 [g4,bb4]@3 ~", H: "[d4,f4]@3 ~",
  I: "[eb4,g4]@4 ~@2 [eb4,g4]!2 g4@2 [d4,f4] ~ f4@2 [c4,eb4] ~, ~@8 eb4 ~@3 d4 ~@3", // Eb Dm Cm
  J: "[f4,ab4]@4 ~@2 [f4,ab4]!2 [f4,ab4]@2 [eb4,g4] ~ eb4@2 ab4@2, ~@12 g4 ~ f4 ~", // Fm Eb
  K: "g4@2 ~@2 [eb5,g5]@7 ~ [d5,f5]@4, bb4 ~@15", L: "[c5,eb5]@2 ~@2 [c4,ab4]@6 ~@2 [ab4,c5]@3 ~",
  M: "[ab4,c5]@2 [g4,bb4] ~ [g4,bb4]@5 ~@5 [bb4,g5] [c5,ab5]", // Ab Gm Eb Fm
  N: "[[bb4,g5]@4 [ab4,f5]@3 ~ [g4,eb5]@3 ~ d5@2 [g4,eb5]@16 ~@2, ~@12 ab4 ~@19]/2", // Eb Db Cm
  O: "[eb4,g4]@3 ~@3 [eb4,g4]!2 g4@2 [d4,f4] ~ f4@2 [c4,eb4] ~, ~@8 eb4 ~@3 d4 ~@3", // Eb Dm Cm
  P: "[f4,ab4]@3 ~@3 [f4,ab4]!2 ab4@2 [eb4,g4] ~ eb4@2 ab4@2, ~@8 f4 ~@3 g4 ~ f4 ~", // Fm Eb
  Q: "[c5,eb5]@2 ~@2 [c4,ab4]@8 [ab4,c5]@3 ~", R: "[ab4,c5]@2 [g4,bb4] ~ [g4,bb4]@6 ~@2 [g4,bb4]@3 ~, ~@12 f4 ~@3",
  S: "[g4,bb4]@2 [f4,ab4] ~ [f4,ab4]@7 ~ [d4,f4]@3 ~", T: "[eb4,g4]@6 [f4,ab4]@5 ~ [g4,bb4]@4", U: "[d4,f4]@5 ~@3",
  V: "g4@2 ~@4 [eb4,g4]!2 g4@2 [d4,f4] ~ f4@2 [c4,eb4] ~, eb4 ~@7 eb4 ~@3 d4 ~@3", // Eb Dm Cm
  W: "[g4,bb4] ~@3 [eb5,g5]@7 ~ [d5,f5]@3 ~", X: "[[bb4,g5]@4 [ab4,f5]@4 [g4,eb5]@3 ~ [ab4,d5] ~ [g4,eb5]@16 ~@2]/2",
  Y: "[f4,a4]@3 ~@3 [f4,a4]!2 [f4,a4]@2 [e4,g4] ~ g4@2 [d4,f4]@2, ~@12 e4 ~@3", // F Em Dm
  Z: "[g4,bb4]@2 ~@4 [g4,bb4]!2 bb4@2 [f4,a4] ~ f4@2 bb4@2, ~@8 g4 ~@3 a4 ~ g4 ~", // Gm F
  AA: "[a4,c5] ~@3 [f5,a5]@7 ~ [e5,g5]@4", AB: "[d5,f5]@2 ~@2 [d4,bb4]@7 ~ [bb4,d5]@3 ~",
  AC: "[bb4,d5]@2 [a4,c5] ~ [a4,c5]@6 ~@4 [c5,a5]!2", // Bb Am F
  AD: "[[c5,a5]@4 [bb4,g5]@3 ~ [a4,f5]@3 ~ e5@2 [a4,f5]@16 ~@2, ~@12 bb4 ~@19]/2", AE: "~@12 [bb4,d5]@3 ~",
  AF: "d5@2 [a4,c5] ~ [a4,c5]@6 ~@4 [c5,a5]!2, bb4 ~@15", // Am F
  AG: "[[c5,a5]@2 [bb4,g5]@2 [a4,f5]@2 e5 [a4,f5]@7 ~@2, ~@12 bb4 ~@19]/2", // F Eb Dm
  AH: "~@6 [d5,bb5]!2 [d5,bb5]@2 a5@2 g5@2 [a4,f5] ~, ~@10 c5 ~ bb4 ~@3", AI: "[a4,f5]", AJ: "[a4,f5] ~@15",
})).s("gm_trumpet").gain(0.6).pan(0.4)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<A ~ B ~@8 C A ~@15 D E ~@2 F E ~@10 G ~@15 H ~@21 I J>".pickRestart({
  A: "eb4@5 ~@11", B: "eb4@13 ~@3", C: "eb4 ~@3", D: "~@6 ab4!2 ab4@2 ~@2 g4 ~@3", E: "f4@5 ~@11",
  F: "~@6 ab4!2 ab4@2 ~@2 g4@2 ~@2", G: "bb4 ~@7", H: "eb4 ~@7", I: "~@12 f4!4", J: "f4 ~@15",
})).s("gm_string_ensemble_1").gain(0.54)

// chords · synth strings 1 · "SYN STRING"
const synth_strings_1 = note(`<
  A@4 B C@2 D@4 E@2 F G F H F I J K F G F H L K M@2 N@4 O@2 P@2 Q@2 P@2 R@2 S@2 F G T@2 U@2 V@2 W X F H F K Y@2 F C@2
  Z@2 AA@4 AB AC AB AD AE@2 AF@2 AG@2 AH@2 AI@2
>`.pickRestart({
  A: "[[g3,bb3,eb4]@31 ~]/4", B: "[bb3,eb4], g4@7 ~", C: "[[bb3,d4,ab4]@31 ~]/2",
  D: "[ab4@4 ~@2 g4@24 ~ [d4,ab4]@32 ~, bb3@31 ~, eb4@31 ~@33]/4", E: "[g3,bb3,eb4]/2", F: "[bb3,eb4,g4]@15 ~",
  G: "[bb3,d4,ab4]@15 ~", H: "[c4,eb4,ab4]@15 ~", I: "[bb3,d4,f4]@7 ~",
  J: "[bb3,eb4,g4]@5 ~ [bb3,eb4,ab4]@5 ~ [bb3,eb4,g4]@3 ~", K: "[bb3,d4,f4]@15 ~", L: "ab4 ~ g4@12 ~@2, [bb3,eb4]@15 ~",
  M: "[g4@15 g3@4 ~@13, [bb3,eb4]@5 ~@3]/2", N: "[~@16 ab4@13 ~@3 [eb4,g4]@23 ~@9, bb3@55 ~@9, [d4,f4] ~]/4",
  O: "[bb3,d4,f4]/2", P: "[[bb3,eb4,g4]@31 ~]/2", Q: "[[c4,ab4]@15 ~, eb4]/2", R: "[[a3,c4,f4]@31 ~]/2",
  S: "[~@8 bb4@11 ~@13, [bb3,d4,f4]@19 ~@13]/2", T: "[[bb3,g4]@16 [c4,ab4]@15 ~, eb4@31 ~]/2",
  U: "[[eb4,g4]@15 ~ [d4,f4]@15 ~, bb3@15 ~]/2", V: "[g4@5 ~ ab4@5 ~ g4@4 [d4,f4]@15 ~, bb3@31 ~, eb4@15 ~@17]/2",
  W: "[bb3,eb4,g4]@7 ~", X: "~@8 ab4@7 ~, [bb3,d4,f4]@15 ~", Y: "[g4@16 g3@5 ~@11, [bb3,eb4]@21 ~@11]/2",
  Z: "[ab4@2 ~ g4@13, [bb3,eb4]@15 ~]/2", AA: "[[d4,ab4]@31 ~ [eb4,g4]@30 ~@2, bb3@61 ~@3]/4", AB: "[c4,f4,a4]@15 ~",
  AC: "[c4,e4], bb4@7 ~", AD: "[d4,f4,bb4]@15 ~", AE: "[[f4,a4]@8 [e4,g4]@7 ~, c4@15 ~]/2",
  AF: "[[c4,a4]@15 ~ [d4,bb4]@15 ~, f4@31 ~]/2", AG: "[[f4,a4]@16 [e4,g4]@15 ~, c4@15 ~]/2",
  AH: "[[a3,c4]@15 ~ [bb3,d4]@14 ~@2, f4@15 ~]/2", AI: "[[a3,c4,f4]@11 ~@5]/2",
})).s("gm_synth_strings_1").gain(0.35)

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

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

// drums · low tom
const low_tom = s("lt").struct("<~@28 A ~@15 B ~@24 C ~@11 B D@2>".pickRestart({
  A: "~@3 x", B: "~@7 x", C: "~@14 x!2", D: "x",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct("<A@28 B A@15 C A@15 D A@21 E C>".pickRestart({
  A: "x!8", B: "x ~ x!2", C: "x", D: "x!4 ~@4", E: "x ~@5 x!2",
})).gain(0.56)

// drums · mid tom
const mid_tom = s("mt").struct("<~@28 [~ x] ~@40 [~@5 x!2 ~] ~@11 [~@5 x!2 ~] [~@14 x!2] ~>").gain(0.64)

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

// drums · crash
const crash = s("cr").struct("<A ~ A ~@8 A@2 ~@8 A ~@6 B A ~@2 C A ~@10 A@2 ~@14 A@2 ~@8 A ~@11 A@2>".pickRestart({
  A: "x", B: "x ~ x!2", C: "~@2 x!2",
})).gain(0.64)

// drums · shaker
const shaker = s("sh").struct("<A@13 B@15 ~ C@14 D ~ B@15 ~ A@9 B@12 ~@2>".pickRestart({
  A: "~@2 x!2 ~@12", B: "~@14 x!2", C: "~@6 x!2 ~@8", D: "~@6 x!2 ~@6 x!2",
})).gain(0.48)

stack(
  bass, bass_2, pizzicato_strings, pad_poly, trumpet, string_ensemble_1, synth_strings_1, kick, snare, low_tom, hihat,
  mid_tom, high_tom, crash, shaker
)

More by Mixed Emotions