Strudelify
KeyB♭ majorTempo151 bpm
0:00/0:00
// Sea Cruise — Billy "Crash" Craddock
// 151 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 7 "MUTED GTR" electric guitar muted (copy of ch 3 "FINGERDBAS" electric bass finger)
// note: Full arrangement: all 92 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(151/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 · piano · "A.PIANO 1"
const bass = note(`<
  A B C D@2 E F G H I J K L@2 M N K@2 O P L Q K R@2 S K T@2 U V W H I J K L@2 M N K@2 O P L Q K R@2 S K T@2 U V W H I J
  K L@2 M N K@2 O P L Q K R@2 S K T@2 U V W H I J K L@2 M X L@2 M Y
>`.pickRestart({
  A: "eb2@6 g2@3 eb2@2 ~ bb2@3 eb2@3 c3@3 bb2@2 ~", B: "eb2@2 ~ eb2@2 ~ g2@3 ~ eb2@2 bb2@3 eb2@2 ~ c3@3 bb2@2 ~",
  C: "bb1@2 ~ bb1@2 ~ d2@3 bb1@2 ~ f2@3 ~ bb1@2 g2@3 ~ f2@2",
  D: "[bb1@2 ~@2 bb1@2 d2@3 bb1@2 ~ f2@3 bb1@2 ~ g2@3 eb2@9 g2@3 eb2@2 ~ bb2@3 eb2@2 ~ c3@3 bb2@2 ~]/2",
  E: "eb2@3 eb2@3 g2@3 eb2@2 ~ bb2@3 eb2@3 c3@3 bb2@2 ~",
  F: "f2@2 ~@2 f2@2 a2@3 ~ f2@2 c3@3 f2@2 ~@4 c3@2 ~, ~@18 d3@5 ~", G: "~@4 f2@2 eb2@2 ~@4 d2@3 ~@3 c2@3 ~@3",
  H: "~ bb1@2 ~ bb1@2 d2@3 bb1@2 ~@2 f2@3 bb1@2 ~ g2@3 f2@2",
  I: "bb1@2 ~@2 bb1@2 d2@3 ~ bb1@2 ~ f2@3 bb1@2 ~ g2@3 f2@2",
  J: "bb1@2 ~@2 bb1@2 d2@3 bb1@2 ~ f2@3 bb1@2 ~ g2@3 f2@2 ~",
  K: "bb1@2 ~ bb1@2 ~ d2@3 bb1@2 ~ f2@3 bb1@2 ~ g2@3 f2@2 ~", L: "f2@2 ~ f2@2 ~ a2@3 f2@2 ~ c3@3 f2@2 ~ d3@3 c3@2 ~",
  M: "bb1@2 ~ bb1@2 ~ d2@3 bb1@2 ~ f2@3 bb1@2 ~ g2@3 ~ f2@2",
  N: "bb1@2 ~ bb1@2 ~ d2@3 bb1@2 ~ f2@2 ~ bb1@2 ~ g2@3 f2@2 ~",
  O: "bb1@2 ~ bb1@2 ~ d2@3 bb1@2 ~ f2@3 bb1@3 g2@3 f2@2 ~", P: "bb1@2 ~ bb1@2 ~ d2@3 bb1@2 ~ f2@3 bb1@3 g2@3 f2 ~@2",
  Q: "f2@2 ~ f2@2 ~ a2@3 f2@3 c3@3 f2@2 ~ d3@3 c3@2 ~",
  R: "[bb1@2 ~ bb1@2 ~ d2@3 bb1@2 ~ f2@3 bb1@2 ~ g2@3 eb2@9 g2@3 eb2@3 bb2@3 eb2@3 c3@3 bb2@2 ~]/2",
  S: "eb2@2 ~ eb2@2 ~ g2@3 eb2@2 ~ bb2@3 eb2@2 ~ c3@3 bb2@3",
  T: "[bb1@2 ~ bb1@2 ~ d2@3 bb1@2 ~ f2@3 ~ bb1@2 g2@3 eb2@9 g2@3 eb2@2 ~ bb2@3 eb2@2 ~ c3@3 bb2@2 ~]/2",
  U: "eb2@2 ~ eb2@2 ~ g2@3 eb2@2 ~ bb2@3 eb2@2 ~@4 bb2@2 ~, ~@18 c3@5 ~",
  V: "f2@2 ~ f2@2 ~ a2@3 f2@2 ~ c3@3 f2@2 ~ d3@3 c3@2 ~, ~@6 gb2 ~@17", W: "~@4 f2@2 eb2@2 ~@4 d2@2 ~@4 c2@3 ~@3",
  X: "bb1@2 ~@2 bb1@2 d2@3 bb1 ~@2 f2@3 ~ d2@2 eb2@2 ~ e2@2 ~", Y: "~@2 bb1 ~ bb1 ~@3",
})).s("gm_piano").gain(0.54)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  A B C@3 D@2 E F@2 G H I J K L M@2 N O P@2 Q@3 R S T@3 U V F@2 G H I J K L M@2 N O P@2 Q@3 R S T@3 U V F@2 G H I J W X
  M@2 N O P@2 Q@3 R S T@3 U V F@2 G H I J K L I J Y Z
>`.pickRestart({
  A: "gb4 g4@2 bb3@2 ~@2 [eb4,c5]@3 gb4@3 g4@3 eb4@3 c4@3 bb3@2, [eb4,bb4]@3 ~@7 bb4@9 ~@5", // Cm Eb5
  B: "~ [eb4,g4,bb4]@3 bb3@2 ~ eb4@3 gb4@3 g4@2 eb4@3 c4@4 bb3 ~, ~ gb4 ~@4 c5@2 ~@2 bb4@9 ~@5", // Eb
  C: "[db5 d5@2 ~ bb4 ~ [eb5,g5]@2 ~@2 db5@3 ~ bb4 f4@4 eb4@2 db4@3 d4@3 bb3@3 g3@3 f3@3 [bb3,f4]@4 g3@2 f3@2 ~ [eb3,eb4]@9 [ab4,c5]@2 ~ gb4@3 g4@3 bb3@2 ~ eb4@3 gb4@3, f5@3 ~@6 f5@4 d5@2 ~@6 f4@12 ~@12 f4 ~@8 eb4@3 bb4@6 ~@3 c5@2 ~ bb4 ~@2]/3", // Eb Bb5 Eb Ab
  D: "[~ [g4,bb4]@2 eb4 bb3@2 eb4@4 gb4@2 g4@3 eb4 ~@2 g4@3 ab4@2 ~ a4@3 f4 c4@2 [bb4,d5]@2 ~@2 ab4@2 a4@3 ~@3 d4@3 c4@2 ~, ~@6 c5@2 ~@2 bb4@8 ~@3 c5@6 ~@7 c5@12 ~@2, ~@20 f4@3 ~]/2", // Gm Bb
  E: "~@4 [f4,f5]@2 [eb4,eb5]@3 ~@3 [d4,d5]@3 ~@3 [c4,c5]@3 ~@3", // F Eb D C
  F: "[d4 ~@2 bb4@2 ~@3 d4@2 d4@2 ~@16 [e4,db5]@3 [eb4,c5]@2 ~@9 [d4,bb4]@3 [d4,bb4]@3, ~ bb4@2 ~@3 bb4@6 ~@6 [eb4,c5]@12 ~@10 bb3@8, ~@2 d4@3 d4@3 ~@4 [d4,bb4]@19 ~@3 [d4,bb4]@8 ~@6, ~@11 [e4,db5]@3 ~@10, ~@25 [f4,d5]@6 ~@17]/2", // Dbm Cm Gm Cm Gm Dbm Dm
  G: "bb3 ~@3 bb5@2 ~@4 bb4 ~@2 [d5,bb5]@3 bb4 ~@2 [eb5,c6]@3 [e5,db6] ~, ~@4 d5 ~@19", // Gm Cm Dbm
  H: "~@4 [e5,db6]@2 ~ [eb5,c6]@2 ~ bb5@3 ~ bb5 a4 f4 ~ [d5,bb5]@2 ~ [d5,bb5]@2 ~, ~ [f5,d6]@6 ~@3 d5 ~@2 d5@2 ~@9", // Dbm Cm Gm Dm
  I: "f4 ~@2 a5@2 ~@4 f4@2 ~ [c5,a5]@4 [b4,ab5] ~ [bb4,g5]@3 f4@2 ~, ~@3 c5 ~@20", // F E Eb
  J: "~ [a4,f5]@3 f4@2 [ab4,e5] ~@3 [g4,eb5]@6 ~@2 g4@4 bb4@2, ~@4 f4 ~", // Dm Dbm Cm
  K: "db5@4 ~@3 [eb5,g5]@3 ~ db5@2 ~ bb4 f4@3 eb4@2 ~ db4@3, f5@9 ~ f5@5 ~@9, ~@4 d5@5 ~@4 d5@2 ~@6 f4 ~@2", // Eb
  L: "~ d4 bb3 f3@2 ~ [eb4,g4]@2 ~@2 db4@2 d4@3 ~ bb3@2 g3@3 f3@2 ~, f4 ~@4 f4@5 ~@2", // Eb
  M: "[~@2 bb4@2 ~@2 bb4@4 db5@3 d5@3 bb4@2 ~ g4 ~@2 bb5@3 f5@2 [f4,bb4] ~@2 [eb5,g5]@2 ~@2 db5@2 d5@3 bb4@3 g4@3 f4@2 ~, ~ f5@3 ~@2 g5@2 ~@2 f5@9 ~@15 f5@9 ~@5, ~@2 d5 ~@45]/2", // Bb5 Eb
  N: "~@3 e5@2 ~ f5@2 ~ [f5,bb5] ~@2 [f5,bb5] ~@2 [f5,bb5] ~@2 [f5,bb5] ~ bb5 ~@3, ~@3 bb5@5 ~@16", // Bb5
  O: "[e6,bb6] ~@2 [f6,bb6] ~@2 [f6,bb6] ~@2 [eb6,g6] ~@2 d6@2 ~ bb5@2 ~ g5@3 ab5@2 ~, ~@12 f6@5 ~@7, ~@12 db6 ~@8 c6 ~@2", // Edim Bb5 Eb
  P: "[~ a5 f5 c5@2 ~ d6@2 ~@4 a5@2 f5 c5@3 bb4@2 ~ ab4@2 ~ a4@3 [c4,f4]@2 ~ [bb4,d5]@2 ~ ab4@3 a4@3 f4@3 g4@3 ~ bb4@2, c6@2 ~@4 bb5 ~@2 [ab5,c6]@5 ~@7 c5@6 ~@6 c5@7 ~@8]/2", // F5 Bb Ab
  Q: "[db5@3 ~@3 [eb5,g5]@2 ~@2 db5@3 d5 bb4 f4@3 eb4@2 ~ db4@3 d4@2 ~ bb3@3 g3@3 ~ bb3@4 ~@2 [bb3,f4]@2 f3@2 ~ eb3@8 ~ [eb4,ab4,c5]@3 bb3 ~@2 gb4 g4@2 ~ bb3@2 ~ eb4@3 gb4@2, f5@8 ~@2 f5@5 ~@51 c5@2 ~@2 bb4 ~, ~@4 d5@5 ~@12 f4@9 ~@3 f4@5 ~@22 [eb4,bb4]@3 ~@9]/3", // Eb Bb5 Ab Eb5
  R: "~ g4 ~ eb4 bb3@2 eb4@4 gb4@3 g4@3 eb4@2 ~ c4@3 bb3@2, bb4@3 ~@3 c5@2 ~@2 bb4@9 ~@5",
  S: "~@3 [c5,db5] ~@2 [db5,f5]@2 ~ [db5,f5]@2 ~ [c5,db5,f5]@3 [bb4,f5]@3 g4@3 f4@2 ~, ~@3 f5@2 ~ c5 ~@2 c5 ~@14", // Dbmaj7 Db Dbmaj7 Bb5
  T: "[c5@2 db5@2 ~ g4@4 [bb4,f5]@7 g4@2 f4@2 ~ eb4@7 ~@2 [ab4,c5]@2 ~ gb4@3 g4@2 ~ bb3@2 ~ [eb4,c5]@3 gb4@2 bb4@2 g4 eb4 bb3@2 ~ eb4@4 gb4@2 g4@2 ~@2 eb4 ~ g4@4 ab4@2, f5@4 bb4@2 ~@27 bb4@6 ~@15 c5@2 ~@2 bb4@8 ~@4 c5 ~]/3", // Bb5 Ab Cm
  U: "~@2 a4 f4 c4 ~@2 bb4@2 ~ ab4@3 a4@3 f4@2 d4@3 c4@3, ~ c5@2 ~@3 d5@2 ~@2 c5@9 ~@5",
  V: "~@4 [f4,f5]@2 [eb4,eb5]@2 ~@4 [d4,d5]@3 ~@3 [c4,c5]@3 ~@3", // F Eb D C
  W: "db5@4 ~@3 [eb5,g5]@3 ~ db5@2 ~ bb4 f4@3 eb4@2 ~ [db4,f4] db4@2, f5@9 ~ f5@5 ~@9, ~@4 d5@5 ~@4 d5@2 ~@9", // Eb Db
  X: "d4@3 f4@3 g4@2 ~ [bb3,d4,f4,g4,bb4]@7 ~@8", // Gm7
  Y: "db5@4 ~@3 [eb5,g5]@3 ~ db5@2 ~ bb4 f4@3 eb4@2 ~ d4@3, f5@9 ~ f5@5 ~@9, ~@4 d5@5 ~@4 d5@2 ~@6 f4 ~@2", // Eb
  Z: "~@2 [bb3,f4,d5,f5,bb5] ~ [bb3,f4,d5,f5,bb5] ~@3", // Bb
})).s("gm_piano").gain(0.31)

// bass · electric bass finger · "FINGERDBAS"
const bass_2 = note(`<
  A B C D@2 A E F G H I J K L I M N H I O K@2 O P@2 Q R S@2 Q L T G H I J K L I M N H I O K@2 O P@2 Q R S@2 Q L T G H I
  J K L I M N H I O K@2 O P@2 Q R S@2 Q L T G H I J K U I M K U I V
>`.pickRestart({
  A: "eb1@7 ~@5 bb1@7 ~@5", B: "eb1@6 ~@6 bb1@7 ~@5", C: "bb1@7 ~@5 f1@7 ~@5",
  D: "[bb1@5 ~@7 f1@6 ~@3 eb1@9 ~@6 bb1@7 ~@5]/2", E: "f1@7 ~@5 c2@6 ~@6", F: "~@4 f2@2 eb2@2 ~@4 d2@2 ~@4 c2@3 ~@3",
  G: "bb1@5 ~@7 f1@8 ~@4", H: "bb1@6 ~@6 f1@7 ~@5", I: "bb1 ~ f1 ~", J: "bb1@6 ~@6 f1@5 ~@7", K: "f1@6 ~@6 c2@7 ~@5",
  L: "f1 ~ c2 ~", M: "bb1@5 ~@7 f1@5 ~@7", N: "bb1@5 ~@7 f1@6 ~@6", O: "bb1@7 ~@5 f1@6 ~@6",
  P: "[bb1@7 ~@5 f1@6 ~@3 eb1@10 ~@5 bb1@7 ~@5]/2", Q: "eb1 ~ bb1 ~", R: "bb1@7 ~@5 f1@5 ~@7",
  S: "[bb1@6 ~@6 f1@5 ~@4 eb1@9 ~@6 bb1@7 ~@5]/2", T: "~@4 f2@2 eb2@2 ~@4 d2@3 ~@3 c2@3 ~@3", U: "f1 ~ f1 ~",
  V: "~@2 bb1 ~ bb1 ~@3",
})).s("gm_electric_bass_finger").gain(0.44)

// chords · trumpet
const trumpet = note(`<
  A B C D@2 E@2 F G H I J K L G M C N C O P@2 C Q@2 B R S@2 T@2 U G H I J K L G M C N C O P@2 C Q@2 B R S@2 T@2 U G H I
  J K L G M C N C O P@2 C Q@2 B R S@2 T@2 U G H I J K L G M K L G V
>`.pickRestart({
  A: "~ eb4@5 g4@3 ~@3 bb4@4 c5@2 ~@4 db5@2", B: "~@3 db5@2 ~ c5@3 ~@3 bb4@3 ~ g4@2 ~@6",
  C: "~ [f4,bb4,d5] ~@2 [f4,bb4,d5] ~@3", // Bb
  D: "[~@4 [f4,bb4,d5]@3 ~@5 [f4,bb4,d5]@3 ~@6 eb4@8 ~ g4@4 ~@2 bb4@3 ~ c5@2 ~@4 db5@2]/2", // Bb
  E: "[~@4 db5@2 c5@3 ~@3 bb4@2 ~@2 bb4@2 ~@4 [a4,c5]@24 ~@2]/2", // Am
  F: "~@4 [f5,a5] [eb5,g5]@3 ~@4 [d5,f5]@3 ~@3 [c5,eb5]@3 ~@3", G: "~@4 [f4,bb4,d5]@2 ~@6 [f4,bb4,d5]@3 ~@9",
  H: "~@4 [f4,bb4,d5]@3 ~@6 f4@3 ~@8, ~@4 [bb4,d5] ~@3", I: "~@4 [f4,bb4,d5]@3 ~@5 [f4,bb4,d5]@4 ~@8",
  J: "~@4 [f4,bb4,d5]@3 ~@5 [f4,bb4,d5]@3 ~@9", K: "~ [f4,a4,c5] ~@2 [f4,a4,c5] ~@3",
  L: "~@4 [f4,a4,c5]@2 ~@6 [f4,a4,c5]@3 ~@9", M: "~@4 [f4,d5]@3 ~@5 [f4,bb4,d5]@4 ~@8, ~ bb4 ~@6",
  N: "~@4 [f4,bb4]@3 ~@5 [f4,bb4,d5]@3 ~@9, ~ d5 ~@6", O: "~@4 [f4,bb4]@2 ~@6 [f4,bb4,d5]@3 ~@9, ~ d5 ~@6",
  P: "~@3 [f4,a4,c5]@3 ~@5 [f4,a4,c5]@3 ~@10", // F
  Q: "[~@3 [f4,bb4,d5]@3 ~@6 [f4,bb4,d5]@3 ~@6 eb4@8 ~ g4@3 ~@3 bb4@4 c5@2 ~@4 db5@2]/2", // Bb
  R: "~@3 [f4,bb4,d5]@2 ~@7 [f4,bb4,d5]@3 ~@9", // Bb
  S: "[~@3 [f4,bb4,d5]@2 ~@7 [f4,bb4,d5]@3 ~@6 eb4@8 ~ g4@3 ~@3 bb4@3 ~ c5@2 ~@4 db5@2]/2", // Bb
  T: "[~@4 db5@2 c5@3 ~@3 bb4@3 ~ bb4@3 ~@3 [a4,c5]@24 ~@2]/2", // Am
  U: "~@4 [f5,a5] ~ [eb5,g5]@3 ~@3 [d5,f5]@2 ~@4 [c5,eb5]@3 ~@3", V: "~@2 [f4,bb4,d5] ~ [f4,bb4,d5] ~@3",
})).s("gm_trumpet").gain(0.17)

// chords · tenor sax
const tenor_sax = note(`<
  A B C D@2 E@2 F G H I J K L G M C N C O P@2 C Q@2 B R S@2 T@2 U G H I J K L G M C N C O P@2 C Q@2 B R S@2 T@2 U G H I
  J K L G M C N C O P@2 C Q@2 B R S@2 T@2 U G H I J K L G M K L G V
>`.pickRestart({
  A: "~ eb3@5 g3@3 ~@3 bb3@4 c4@2 ~@4 db4@2", B: "~@3 db4@2 ~ c4@3 ~@3 bb3@3 ~ g3@2 ~@6",
  C: "~ [f3,bb3,d4] ~@2 [f3,bb3,d4] ~@3", // Bb
  D: "[~@4 [f3,bb3,d4]@3 ~@5 [f3,bb3,d4]@3 ~@6 eb3@8 ~ g3@4 ~@2 bb3@3 ~ c4@2 ~@4 db4@2]/2", // Bb
  E: "[~@4 db4@2 c4@3 ~@3 bb3@2 ~@2 bb3@2 ~@4 [a3,c4]@24 ~@2]/2", // Am
  F: "~@4 [f4,a4] [eb4,g4]@3 ~@4 [d4,f4]@3 ~@3 [c4,eb4]@3 ~@3", G: "~@4 [f3,bb3,d4]@2 ~@6 [f3,bb3,d4]@3 ~@9",
  H: "~@4 [f3,bb3,d4]@3 ~@6 f3@3 ~@8, ~@4 [bb3,d4] ~@3", I: "~@4 [f3,bb3,d4]@3 ~@5 [f3,bb3,d4]@4 ~@8",
  J: "~@4 [f3,bb3,d4]@3 ~@5 [f3,bb3,d4]@3 ~@9", K: "~ [f3,a3,c4] ~@2 [f3,a3,c4] ~@3",
  L: "~@4 [f3,a3,c4]@2 ~@6 [f3,a3,c4]@3 ~@9", M: "~@4 [f3,d4]@3 ~@5 [f3,bb3,d4]@4 ~@8, ~ bb3 ~@6",
  N: "~@4 [f3,bb3]@3 ~@5 [f3,bb3,d4]@3 ~@9, ~ d4 ~@6", O: "~@4 [f3,bb3]@2 ~@6 [f3,bb3,d4]@3 ~@9, ~ d4 ~@6",
  P: "~@3 [f3,a3,c4]@3 ~@5 [f3,a3,c4]@3 ~@10", // F
  Q: "[~@3 [f3,bb3,d4]@3 ~@6 [f3,bb3,d4]@3 ~@6 eb3@8 ~ g3@3 ~@3 bb3@4 c4@2 ~@4 db4@2]/2", // Bb
  R: "~@3 [f3,bb3,d4]@2 ~@7 [f3,bb3,d4]@3 ~@9", // Bb
  S: "[~@3 [f3,bb3,d4]@2 ~@7 [f3,bb3,d4]@3 ~@6 eb3@8 ~ g3@3 ~@3 bb3@3 ~ c4@2 ~@4 db4@2]/2", // Bb
  T: "[~@4 db4@2 c4@3 ~@3 bb3@3 ~ bb3@3 ~@3 [a3,c4]@24 ~@2]/2", // Am
  U: "~@4 [f4,a4] ~ [eb4,g4]@3 ~@3 [d4,f4]@2 ~@4 [c4,eb4]@3 ~@3", V: "~@2 [f3,bb3,d4] ~ [f3,bb3,d4] ~@3",
})).s("gm_tenor_sax").gain(0.31)

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

// drums · snare
const snare = s("sd").struct(`<
  A@3 B A@3 C A@15 B A@3 B A@3 C A@15 B A@3 B A@3 C A@15 B A@3 B A@3 C A@11 D
>`.pickRestart({
  A: "~ x ~ x", B: "~@2 x ~@3 x!2", C: "~@2 x!2 ~@2 x ~@2 x ~@2", D: "~ x!2 ~",
})).gain(0.29)

// drums · ride
const ride = s("rd").struct("<A@6 B C A@23 D A@23 C A@22 B C A@11 E>".pickRestart({
  A: "x!8", B: "x!7 ~", C: "~@2 x!2 ~@2 x ~@2 x ~@2", D: "x ~ x!2 ~@2 x ~@2 x ~@2", E: "~ x!2 ~",
})).gain(0.24)

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

stack(bass, piano, bass_2, trumpet, tenor_sax, kick, snare, ride, crash)