Strudelify

heir of grief

Joren Tensei de Bruin

KeyA minorTempo90 bpm
0:00/0:00
// heir of grief — Joren Tensei de Bruin
// 90 bpm, 6/8, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 1 "Flute" named as a pipe, played on flute (its electric bass pick patch is not one); ch 7 "Violin" named as a string part, played on violin (its distortion guitar patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5965876; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 177 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/3)

// 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.

// other · flute
const flute = note(`<
  ~@16 A B C@2 D E B@2 F G H I G H F J K L M N L M O K P Q R S T U S V W X Y Z W X Y Z W X AA AB AC AD AE AF ~@2 F G H I
  G H F J ~@8 AG AH AI AJ AK AL AM AN AO AP AQ AR AO AP AS AT AU@2 AV AW AV AW AV AW AX AY AZ BA BB BC BD BE BF V BG U
  BH BG U BH BI V BG R BH BG U BH V BG U V AR BG U V AR AC AD AA AB AC AD AE BJ BK BL BM BN BO BP BM BN BO BP BM BN BO
  BP BN BO BM@2 BN BO BM@2 BN BO BM@2 BN BO BM@2
>`.pickRestart({
  A: "g2 a2!5", B: "a2!6", C: "f2!6", D: "d2!6", E: "e2!6", F: "a1!6 a1@6", G: "f1!6 f1@6", H: "g1!6 g1@6",
  I: "d1!6 d1@6", J: "g1@2 a1 a1@3 a1@2 a1@2 a1@2", K: "a2", L: "f2", M: "g2", N: "d2", O: "d2 e2", P: "a1@4 a1@4 a1!4",
  Q: "f1@2 f1@2 f1@2 f1@2 f1@2 f1!2", R: "g1@2 g1@2 g1!2 g1@2 g1@2 g1@2", S: "d1!3 e1!3", T: "f1@2 f1@2 f1@2 f1@2 f1!4",
  U: "g1!6", V: "a1!6", W: "f1@2 f1@2 f1@2 f1@2 f1!2 f1@2", X: "g1@2 g1@2 g1@2 g1@2 g1!2 g1@2",
  Y: "a1@2 a1@2 a1@2 a1@2 a1!2 a1@2", Z: "g1 a1@2 a1!3 a1@2 a1@2 a1@2", AA: "d1@2 d1!4 e1@2 e1!4",
  AB: "f1@2 f1!4 g1@2 g1!4", AC: "f1@2 f1!4 f1@2 f1!4", AD: "g1@2 g1!4 g1@2 g1!4", AE: "a1!12",
  AF: "g1 a1 ~ a1 ~ a1!2 ~ a1 ~ a1 ~", AG: "~@2 [f5,a5] [g5,b5] [a5,c6]@2 [g5,b5]@2 [a1,e5,g5]@2 [a1,c5,e5]@2, a1!2 ~",
  AH: "[f4,a4]@2 [f5,a5] [g5,b5] [a5,c6] [f5,a5] [f1,b5,d6]@2 [f1,a5,c6]@2 [f1,b5,d6]@2, f1 ~", // F G Am F Bdim F Bdim
  AI: "[c6,e6]@2 [c6,e6] [d6,f6] [g1,e6,g6] [g1,a5,c6] [g1,b5,d6]@2 [g1,a5,c6]@2 [g1,b5,d6]@2, g1 ~@2", // C Dm C Am7 G Am7 G
  AJ: "[d6,f6] [c6,e6] [b5,d6] [c6,e6] [b5,d6] [e1,a5,c6], d1@3 e1@2 ~", // Dm C Bm C Bm Am
  AK: "[f5,a5] ~ [f5,a5] [g5,b5] [f1,a5,c6]@2 [f1,g5,b5]@2 [f1,e5,g5]@2 [f1,c5,e5]@2, f1 ~@2", // F G F G7 C Fmaj7
  AL: "[d4,a4] ~ [f5,a5] [g5,b5] [a5,c6] [f5,a5] [g1,b5,d6]@2 [g1,a5,c6]@2 [g1,b5,d6]@2, g1!3 ~@3", // D5 F G Am F G Am7 G
  AM: "[c6,e6] ~ [b5,d6] [c6,e6] [b5,d6] [a5,c6] [b5,d6]@2 [e5,a5]@2 [d5,g5]@2, d1 e1", // C Bm C Bm Am Bm A5 G5
  AN: "[a1,e5,a5] [a1,c6,e6] [a1,b5,d6] a1!3, ~@12 [a5,c#6]@11 ~", AO: "f1@2 f1!4", AP: "g1@2 g1!4",
  AQ: "a1!2 a1@2 a1@2 a1!2 a1@2 a1!2", AR: "g1 a1@2 a1@2 a1 a1@2 a1@2 a1@2", AS: "d1@2 d1!4", AT: "e1!6",
  AU: "[~@4 [a5,c6]@2 [g5,b5]@2 ~@4 [a5,c6]@2 ~@4 [c6,e6]@3 [g5,b5] [e5,g5]@2, a1]/2", AV: "~@2 [a5,c6] [g5,b5] ~@2",
  AW: "[a5,c6]@2 ~@2 [g5,b5]@2 [b5,d6]@2 ~ [a5,c6] [g5,b5] [c5,e5]", AX: "a1 ~ [a5,c6] [g5,b5] ~@2",
  AY: "[a5,c6]@2 ~@2 [g5,b5]@2 [a1,b5,d6]@2 a1 [a5,c6] [g5,b5] [c5,e5], ~@3 a1", AZ: "f1 ~ [a5,c6] [g5,b5] ~@2",
  BA: "[f1,a5,c6]@3 f1@2 f1@3 [f1,g5,b5]@4 [b5,d6]@4 ~@2 [a5,c6]@2 [g5,b5]@2 [c5,e5]@2, ~@4 f1!2", // F G7 Bm Am G C
  BB: "d1 ~ [a5,c6] [g5,b5] d1!2", BC: "[f1,a5,c6]@2 ~@2 [g5,b5]@2 [b5,d6]@2 ~ [a5,c6] [g5,b5] [c5,e5], ~@4 g1!2",
  BD: "~@2 [a5,c6] [g5,b5] ~@2, a1", // Am G
  BE: "[a1,a5,c6]@2 a1@2 [a1,g5,b5]@2 [a1,b5,d6]@2 ~ [a5,c6] [g5,b5] [c5,e5], ~@4 a1!2", BF: "d2 f2 d2 e2 c2 b1",
  BG: "f1!6", BH: "d1 e1", BI: "a1@3 a1@2 a1 a1@2 a1@2 a1@2", BJ: "g2 a2!2 a2@2 a2!2 g2 e2 d2 a1 g1", BK: "f1",
  BL: "d1@3 d1!3", BM: "a1!12 a1@4 ~@8", BN: "f1!12 f1@4 ~@8", BO: "g1!12 g1@4 ~@8", BP: "d1!12 d1@4 ~@8",
})).s("gm_flute").gain(0.48)

// other · violin
const violin = note(`<
  ~@28 A B A@2 ~@8 C D E F G H I J K@2 L M K@2 L M ~@14 A B A@2 ~@16 K@2 N O P Q N R ~@63 A B A S T U V W T U X Y ~@4
>`.pickRestart({
  A: "e4@2 a4 e4 b4@2 e4@2 a4 e4 b4@2", B: "e4@4 a4@2 e4@2 b4@4 b4 c5@3 b4@2 e4@2 b4@4", C: "a5@4 a5@2 c6@3 b5 a5@2",
  D: "g5@3 e5 d5 e5", E: "a5@2 a5 g5 a5 d5", F: "e5 f5 d5 e5 c5 d5 b4 c5 a4 b4 g4 e4", G: "a4@4 a4@2 b4@2 c5@2 d5 e5",
  H: "d5@3 c5 b4 c5", I: "c5@2 c5 b4 g4 e4", J: "g4 a4@23", K: "c4@6 c4@2 b3 c4@3", L: "c4@2 a3 e4@2 d4",
  M: "c4@3 d4 c4 d4 c4@2 b3@2 a3@2", N: "c4@8 a3@4 d4 e4@7 d4@4", O: "c4@4 c4 d4 a3@4 b3@2", P: "c4@6 a3@3 a3@2 b3",
  Q: "c4@6 a3@5 b3", R: "c4@3 d4 c4 d4 c4@4 b3@2", S: "e4@4 a4@2 e4@2 b4 c5@3 d5@4 c5@2 a4@6", T: "a4 b4@11 a4@12",
  U: "~@4 c5@2 d5@2 c5 a4@3", V: "b4@2 a4 b4@2 e5", W: "c5@4 c5@2 d5@2 c5 a4@3", X: "b4@2 a4 g4@2 a4", Y: "a4@2 ~",
})).s("gm_violin").gain(0.51)

// other · slap bass 1 · "Cymbal"
const slap_bass_1 = note("<~@23 A ~@41 A ~@15 A ~@66 A ~@28>".pickRestart({
  A: "~@8 a3!16",
})).s("gm_slap_bass_1").gain(0.6)

// chords · piano
const piano = note(`<
  ~@32 A B C D E F G H I J K L I M N O ~@12 P Q R S ~@10 T U V W X Y Z AA T U V W X Y Z AA ~@8 AB@16 ~@63
>`.pickRestart({
  A: "~@2 e5@2 [c5,c6]@2 b5@2 ~ c6 [c5,e6]@2, a4@11 ~ a4@11 ~, c6@2 ~@2 e5 ~", // C
  B: "~@2 e5@2 c5@2 ~@3 a5 c6 e6, a5@4 e5 c5, f4@11 ~ f4@11 ~", C: "a5@2 [a4,a5] g5 [c5,a5] d5, g4@23 ~, b4@12 b4@11 ~",
  D: "f5 e5 [a4,d5] g4 ~ [e4,d5], d4@23 ~, f4@16 f4@7 ~, ~@3 e5@2 ~", // D5 E7
  E: "~ e5 c5 b4 [c5,e5]!2, f4@11 ~ f4@11 ~, c5 ~@2", F: "~@2 d5@2 b4@2 ~@3 a4 c5 d5, a4@4 d5 b4, g4@11 ~ g4@11 ~",
  G: "~ e5 c5 b4 [a4,d5] [g4,b4], d4@11 ~ e4@11 ~, c5 ~@2", H: "~ e5 c5 ~ e5 c5, a5@23 ~, a4@12 a4@11 ~",
  I: "c5@4 c5@2 b4@3 c5 e5@2", J: "a4@17 ~ a4@2 c5@2 e5@2", K: "a5@2 a5 g5 a5 d5", L: "f5 e5 d5 e5@2 d5",
  M: "a4@17 ~ a4@2 c5@2 d5@2", N: "c5@2 c5 b4 a4 g4", O: "a4@4 e5@4 d5@4 c#5@11 ~", P: "~@3 a5!3 c6@3 e6@3",
  Q: "d6@3 b5@3 g5@4 b5 c6", R: "a5@23 ~", S: "f6 g6 e6 f6 d6 e6 c6 d6 b5 c6 a5@2",
  T: "[a2,a3]@2 [c4,e4] ~ [c4,e4,c5]@2 [a2,a3,b4]@2 [c4,e4] c5 [c4,e4,e5]@2, c5 ~@2", // A C Asus2 C
  U: "[f2,f3]@2 [a3,c4] ~ [a3,c4]@2 [f2,f3]@2 [a3,c4] a4 c5 e5, a4@17 ~@3 [a3,c4]@4", // F Am F Am
  V: "[g2,g3]@2 [b3,d4] ~ [b3,d4,a5]@2 [g2,g3,g5]@2 [b3,d4] ~ [b3,d4,d5]@2, a5@2 ~@2 a5 ~", // G Bm Bm7 G Bm
  W: "[d2,d3,f5]@2 [f3,a3] ~ [f3,a3,d5]@2 [e2,e3]@2 [g3,b3] ~ [g3,b3,d5]@2, ~ e5 ~ e5@2 ~", // Dm F Dm E G
  X: "[f2,f3]@2 [a3,c4] ~ [a3,c4,c5]@2 [f2,f3,b4]@2 [a3,c4] c5 [a3,c4,e5]@2, c5 ~@2", // F Am Fdim Am
  Y: "[g2,g3]@2 [b3,d4] ~ [b3,d4]@2 [g2,g3]@2 [b3,d4] a4 c5 d5, a4@17 ~@3 [b3,d4]@4", // G Bm G Bm
  Z: "[d2,d3] ~ c5 [e2,e3,b4] a4 g4, c5 ~@2, ~ [f3,a3,c4]@2 ~ [g3,b3,d4]@2", AA: "[a2,a3,a4]@23 ~",
  AB: "a5@2 c6 a5 g6@2 a5@2 c6 a5 g6@2",
})).s("gm_piano").gain(0.45)

// chords · electric guitar muted · "Electric Guitar"
const electric_guitar_muted = note(`<
  ~@24 A B C D B C A E ~@15 F G H I@2 G H I@2 J K L M J K N O ~ P A B C D B C A E ~@7 Q R S T U S V U R S V I@2 S V W X
  Y@2 ~@6 Z AA AB AC AD AE R AF ~ R S AG U S V U R@2 S AG U S V U R S V R I S V R I J K L M J K N O ~@2 AH AI AJ AK AH
  AI AJ AK AH AI AJ AK AI AJ AH@2 AI AJ AH@2 AI AJ AH@2 AI AJ AH@2
>`.pickRestart({
  A: "a2!6 [a2,e3,a3]@6", B: "f2!6 [f2,c3,f3]@6", C: "g2!6 [g2,d3,g3]@6", D: "d2!6 [d2,a2,d3]@6",
  E: "[g2,d3]@2 [a2,e3] [a2,e3]@3 [a2,e3]@6", F: "~@6 [f2,c3,f3]!2 ~ [f2,c3,f3]!3", G: "[f2,c3,f3]!2",
  H: "[g2,d3,g3]!2", I: "[g2,d3] [a2,e3]@3 [a2,e3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3]@2",
  J: "[f2,c3,f3]@2 f2!4 [f2,c3,f3]@2 f2!4", K: "[g2,d3,g3]@2 g2!4 [g2,d3,g3]@2 g2!4",
  L: "[d2,a2,d3]@2 d2!4 [e2,b2,e3]@2 e2!4", M: "[f2,c3,f3]@2 f2!4 [g2,d3,g3]@2 g2!4",
  N: "[a2,e3,a3]@2 a2!4 [a2,e3,a3]@2 a2!4", O: "[g2,d3] [a2,e3] ~ [a2,e3] ~ [a2,e3]!2 ~ [a2,e3] ~ [a2,e3] ~",
  P: "~ [f4,a4] [g4,b4]!4", Q: "~@20 [a2,e3,a3] ~ [a2,e3,a3] ~", R: "[a2,e3,a3]", S: "[f2,c3,f3]",
  T: "[g2,d3,g3]@4 [g2,d3,g3]!2", U: "[d2,a2,d3] [e2,b2,e3]", V: "[g2,d3,g3]", W: "[d2,a2,d3]", X: "[e2,b2,e3]!6",
  Y: "[a2,e3,a3]/2", Z: "[a2,e3,a3] ~@5", AA: "~@6 [a2,e3,a3]@2 [a2,e3,a3] [a2,e3,a3]@3", AB: "[f2,c3,f3] ~@5",
  AC: "[f2,c3,f3]@3 [f2,c3,f3]@2 [f2,c3,f3]@3 [f2,c3,f3]@4 ~@4 [f2,c3,f3]@4 [f2,c3,f3]@4", // F5
  AD: "[d2,a2,d3] ~@3 [d2,a2,d3]!2", AE: "[f2,c3,f3] ~@3 [g2,d3,g3]!2", AF: "[a2,e3,a3]!6",
  AG: "[g2,d3,g3]@3 [g2,d3]!3", AH: "a2!12 [a2,e3,a3]@4 ~@8", AI: "f2!12 [f2,c3,f3]@4 ~@8",
  AJ: "g2!12 [g2,d3,g3]@4 ~@8", AK: "d2!12 [d2,a2,d3]@4 ~@8",
})).s("gm_electric_guitar_muted").gain(0.45).pan(0.4)

// other · electric guitar clean · "Electric Guitar"
const electric_guitar_clean = note(`<
  ~@3 A B C D@4 E@2 B C D@4 E@2 B C D@2 ~@40 D@2 ~@32 F G H I J K L ~ M@2 N O P Q R@2 ~@33 D@2 ~@28
>`.pickRestart({
  A: "~@3 f3 e4@2 f3@2 a3 f3 e4@2", B: "d3@2 f3 d3 c4@2 d3@2 f3 d3 c4@2", C: "e3@2 g3 e3 d4@2 e3@2 g3 e3 d4@2",
  D: "a3@2 c4 a3 g4@2 a3@2 c4 a3 g4@2", E: "f3@2 a3 f3 e4@2 f3@2 a3 f3 e4@2", F: "~@12 g4@4 a4@4 a4 b4@3",
  G: "b4@4 a4 b4 c5@2 b4@2 e4@2", H: "e4 g4@11 g4 a4@11", I: "~@4 [g4,b4]!2",
  J: "[g4,b4] ~ [e4,g4]!2 ~ [c4,e4] [c4,e4]@2 [a3,c4] ~ [a3,c4]@2", K: "[b3,d4]@3 d4@2 b3", L: "g3 a3@23",
  M: "[~@6 b3 c4 e4@3 b4@8 g4@4 c4@13 e4@4 a4@4 b4@4]/2", N: "c5@8 b4@2 c5@2 c5 d5@3 g4@4 g4@4",
  O: "g4 a4@15 b4@4 c5@4", P: "g5@2 c5 b4@2 c5 g5@2 c5 b4@2 c5", Q: "g4@3 c5!3", R: "[g4 a4@47]/2",
})).s("gm_electric_guitar_clean").gain(0.33).pan(0.6)

// other · electric guitar clean · "Electric Guitar" · soft notes
const electric_guitar_clean_2 = note(`<
  [a3@2 c4 a3 g4@2 a3@2 c4 a3 g4@2]!2
  [f3@2 a3 f3 e4@2 f3@2 a3 f3 e4@2]
  [f3@2 a3 ~@9]
  ~@173
>`).s("gm_electric_guitar_clean").gain(0.17).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  ~@16 A@7 B C@7 D ~@3 E F@2 G H I J I J I J I J K@3 I K@3 B L M L@3 N O ~ E ~ C@7 P ~ K@2 Q K@2 Q ~ I J I J I J I ~ K@3
  I K@3 ~@4 E ~@4 E R ~ S T@3 U V I J I J I J I J I J I J I J I W K@3 I G@2 X@2 Y Z@2 AA Y Z AB AC E AD AE@28
>`.pickRestart({
  A: "x ~@2 x ~ x ~@2 x ~ x ~", B: "x!2 ~@2", C: "x!6 ~@6", D: "x ~ x!2 ~@3 x ~@4", E: "x", F: "~@5 x ~@6",
  G: "x ~@4 x ~@6", H: "~ x ~", I: "x!2 ~", J: "x ~@2 x ~ x ~@6", K: "x ~ x ~@2 x", L: "x ~@3 x!2 ~@4 x!2",
  M: "x ~@3 x!3 ~ x ~ x ~", N: "x ~@3 x!2 ~@6", O: "x!2 ~ x!3 ~ x!3 ~@2", P: "x ~ x ~@4 x ~@4", Q: "x ~ x ~ x!2",
  R: "~@2 x", S: "x ~@2 x ~ x ~@2 x ~@7 x ~@3 x ~@3", T: "x!6", U: "x!4 ~@2", V: "x!5 ~", W: "x ~@2 x ~ x ~@3 x ~@2",
  X: "~ x ~ x ~ x ~ x ~@4", Y: "x ~@2 x ~ x ~@2 x ~@3", Z: "x!2 ~@2 x ~@3 x!2 ~@2", AA: "x!2 ~ x ~ x ~@6",
  AB: "x!2 ~ x!3 ~ x!3 ~ x", AC: "x!2 ~ x!2 ~@3 x ~@3", AD: "~@3 x!3", AE: "x!13 ~@11",
})).gain(0.54)

// drums · rim
const rim = s("rim").struct("<~@16 [~ x]!7 ~@13 [~ x]!3 ~@35 [~ x]!7 ~@96>").gain(0.36)

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

// drums · low tom
const low_tom = s("lt").struct("<~@55 A ~@33 B ~@15 C ~@29 D E ~@40>".pickRestart({
  A: "~@10 x!2", B: "~@3 x!6 ~@3", C: "~@7 x ~ x ~@2 x ~@2 x ~@8", D: "x ~@4 x ~@2 x!4", E: "x ~@4 x ~@2 x ~ x!2",
})).gain(0.54)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@16 A@7 B ~@11 C ~@4 A@7 D ~@14 E ~@19 A F A F A F A ~@11 G ~@14 E A@11 E A@2 D ~@8 E A@2 H E A@2 B ~@30
>`.pickRestart({
  A: "x!6", B: "x!2 ~@4", C: "x", D: "x!3 ~@3", E: "~ x!5", F: "x ~ x ~ x ~ x ~ x!3 ~", G: "~@10 x!2", H: "x!4 ~@2",
})).gain(0.54)

// drums · mid tom
const mid_tom = s("mt").struct("<~@33 A B ~@20 C ~@49 D ~@2 E ~@68>".pickRestart({
  A: "~@3 x!4 ~@2 x!3", B: "x", C: "~@8 x!2 ~@2", D: "x!2 ~@2 x ~@19", E: "~@18 x!6",
})).gain(0.54)

// drums · open hat
const open_hat = s("oh").struct("<~@34 [~@11 x] ~@66 x ~@46 [~@3 x!3] ~@28>").gain(0.54)

// drums · high tom
const high_tom = s("ht").struct("<~@55 [~@7 x ~@4] ~@52 [~@15 x!3 ~@6] ~@68>").gain(0.54)

// drums · crash
const crash = s("cr").struct(`<
  ~@24 A@8 B ~@14 C A@14 B A B ~ A@8 B ~@7 B ~@6 B A@7 ~ B ~@3 D B ~@2 B E B F B@3 ~ A B ~@11 B ~@2 C A@8 B ~@3 B ~@2 C
  B ~ A@28
>`.pickRestart({
  A: "x!2", B: "x", C: "~ x", D: "x!24", E: "~@2 x!2", F: "x ~@2 x ~ x ~@2 x ~@7 x ~@3 x ~@3",
})).gain(0.54)

stack(
  flute, violin, slap_bass_1, piano, electric_guitar_muted, electric_guitar_clean, electric_guitar_clean_2, kick, rim,
  snare, low_tom, hihat, mid_tom, open_hat, high_tom, crash
)