Strudelify

Instant Replay

Dan Hartman

KeyA majorTempo129 bpm
0:00/0:00
// Instant Replay — Dan Hartman
// 129 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 114 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 27.
setcpm(129/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.

// chords · piano
const piano = note("<~@9 A@2 ~@62 B@2 C D E F G H I ~@28 G H I ~>".pickRestart({
  A: "a6 ~ a6!3 ~ a6!3 ~ a6!3 ~ a6!2", B: "a2!2 ~ a2 ~ e2 f#2 ~ a2 ~@5 e2 f#2", C: "a2!2 ~ a2 ~ e2 f#2 ~ a2 ~@7",
  D: "[c4,e4,g4]@3 [c4,e4,g4]@5 [c4,f4,g4]!2 ~ [c4,f4,g4]@5", E: "a3!2 ~ a3 ~ e3 f#3 ~ a3 ~@5 e3 f#3",
  F: "a3!2 ~ a3 ~ e3 f#3 ~ a3 ~@7", G: "[b3,d4,f#4]!2 ~ [b3,d4,f#4]@5 [b3,d4,f#4]@8",
  H: "[c4,e4,g4]!2 ~ [c4,e4,g4]@5 [c4,e4,g4]@8", I: "[d4,f#4,a4]!2 ~ [d4,f#4,a4]@5 [d4,f#4,a4]@4 ~@4",
})).s("gm_piano").gain(0.25).pan(0.9)

// bass · electric bass finger
const bass = note(`<
  ~@5 A B C D E F G H G H I J K L G H G H M N O P Q R S R S R T B C U V G H G H I J K L G H G H M N O P Q R S R S R T B
  W X Y Z AA AB AC Z AA AB AC AD@2 AE AF AG@4 AH R S R S R T B C X AI@2 AJ AK AL AM AN AK AL AM AN AK AL AM AN AK AL AM
  AN AG@2 AH AO
>`.pickRestart({
  A: "~@3 e2", B: "e1!4", C: "e1@2 e2 ~ c#2@2 c#3 ~ d2@2 d3 ~ e2@2 e3 ~", D: "d2!4",
  E: "g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g2 ~", F: "g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g#1 ~",
  G: "a1@2 a2 ~ f#2 ~ f#2 ~ e2 ~ e2 ~ f#2 ~ f#2 ~", H: "b1@2 b2 ~ c#2@2 c#3 ~ d2@2 d3 ~ e2@2 e3 ~",
  I: "b1@2 b2 ~ b1 ~ c2 ~ c#2@2 c#3 ~ c#2 ~ c2 ~", J: "b1 ~ b2 ~ a1@2 a2 ~ f#1@2 f#2 ~ e1@4", K: "d2@3 d2 ~@12",
  L: "~@5 e1@2 f#1", M: "b1@2 b2 ~ b1@2 c2 ~ c#2@2 c#3 ~ c#2 ~ b1 ~", N: "b1@2 b2 ~ a1@2 a2 ~ f#1@2 f#2 ~ e1@3 ~",
  O: "d2@2 d3 ~ d2@2 d3 ~ e2@2 e3 ~ e2@2 e3 ~", P: "f#2@2 f#3 ~ f#2@2 f#3 ~ f#2@2 f#3 ~ f#2@2 f#3 ~", Q: "f#1!5 ~@3",
  R: "b1@2 b2 ~ c#2@2 c#3 ~ d2@2 d3 ~ c#2@2 c#3 ~", S: "b1@2 b2 ~ a1@2 a2 ~ f#1@2 f#2 ~ a1@2 a2 ~",
  T: "b1@2 b2 ~ a1@2 a2 ~ f#1@2 f#2 ~ f1@2 f2 ~", U: "g1", V: "~@5 g1!3", W: "e1@4 c#2@2 c#3 ~ d2@2 d3 ~ d#2@2 d#3 ~",
  X: "e2!4", Y: "e1 ~ e1@2 ~@4", Z: "a1@2 ~@2 e1@2 ~@2 a1@2 ~ a1 e1@2 f#1@2",
  AA: "a1@2 ~@2 e1@2 ~@2 a1@2 ~ a1 b1@2 c#2@2", AB: "d2@2 ~@2 a1@2 ~@2 d2@2 ~ d2 d2@2 a1@2",
  AC: "g1@2 g2 ~ g1@2 g2 ~ g1@2 g2 ~ g1@3 ~", AD: "a1!2 ~ a1 ~ e1 f#1 ~ a1 ~@5 e1 f#1",
  AE: "a1!2 ~ a1 ~ e1 f#1 ~ a1 ~@7", AF: "d2@2 d3 ~ d2@2 d3 ~ g1@2 g2 ~ g1@2 g#1@2",
  AG: "a1@2 a2 ~ a1@2 a2 ~ a1@2 a2 ~ a1@2 a2 ~", AH: "a1@4 a1!3 a#1", AI: "e2 c#2 d2 d#2 e2 c#2 d2 d#2",
  AJ: "e2 ~ e1@2 ~@4", AK: "a1 ~@2 a1 a1@2 f#1 e1 a1@3 ~@3 e1 f#1", AL: "a1 ~@2 a1 a1@2 f#1 e1 a1@3 ~@3 a1!2",
  AM: "d2 ~@2 d2 d2@2 b1 a1 d2@3 ~@3 a1 b1", AN: "d2 ~@2 d2 f#1@2 f#1@2 g1@2 g1@2 g#1@2 g#1@2", AO: "a1 ~@7",
})).s("gm_electric_bass_finger").gain(0.45)

// chords · epiano1
const epiano1 = note(`<
  ~@5 A B C D E F G H G H I J K L G H G H I J M N O P Q J Q J Q C@2 R@2 G H G H I J S@2 G H G H I J M N O P Q J Q J Q
  C@2 J T U@2 V W U@2 V W ~@3 X Y Z AA AB AC AD AE AF AE AF AE C@2 J@3 AG AH U V@2 AI@4 U AJ V@2 U@2 V@2 AA AB AK AL
>`.pickRestart({
  A: "~@15 [g4,a4], ~@3 [c6,d6,e6], ~@13 [f5,g5,a5,b5]@3, ~@7 [b4,c5,d5,e5]", // Gsus2 C G7 Cmaj7
  B: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~, f4 ~@15", // A
  C: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~", // A
  D: "[a3,d4,e4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~", // Asus4 D
  E: "[d4,f4]@3 ~ [e4,g4]@3 ~ [d4,f4]@3 ~ [c4,e4]@3 ~", // Dm Em Dm C
  F: "[d4,f4]@3 ~ [e4,g4]@3 ~ [d4,f4]@2 [d4,f4]@2 [d4,f4]@2 [d4,f4]@2", // Dm Em Dm
  G: "[a3,c#4,e4]@3 [a3,c#4,e4] ~@4 [a3,c#4,e4]@3 [a3,c#4,e4] ~@4", // A
  H: "[b3,d4,f#4]@3 ~ [b3,d4,e4]@3 ~ [a3,d4,f#4]@3 ~ [d4,f#4,a4]@3 ~", // Bm E7 D
  I: "[b3,d4,f#4]@3 [b3,d4,f#4] ~@4 [c#4,e4,g#4]@3 [c#4,e4,g#4] ~@4", // Bm C#m
  J: "[b3,d4,f#4]@3 ~ [b3,d4,f#4]@3 ~ [b3,d4,f#4]@3 ~ [b3,d4,f#4]@3 ~", K: "[a3,d4,g4]@3 [a3,d4,g4] ~@12",
  L: "~@5 [b3,e4,a4]@3", M: "[a3,d4,g4]@3 [a3,d4,g4] ~@4 [b3,d4,f#4]@3 [b3,d4,f#4] ~@4", N: "[a#3,c#4,f#4]@15 ~",
  O: "[a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 ~@5 [f4,g4,a4], ~@3 [c6,d6], ~@13 [f5,g5,a5,b5]@3, ~@7 [b4,c5,d5,e5]", // F# F Csus2 G7 Cmaj7
  P: "[b3,d4,f#4]@3 ~ [b3,d4,f#4]@3 ~ [b3,d4,f#4]@3 ~ [b3,d4,f#4]@3 ~, e4 ~@15", // Bm
  Q: "[d4,f#4,a4]@3 [d4,f#4,a4] ~@4 [d4,f#4,a4]@3 [d4,f#4,a4] ~@4", // D
  R: "[[c4,d4,g4]@25 ~ [c4,d4,g4]@2 [c4,d4,g4]@2 [c4,d4,g4]@2]/2", // Csus2
  S: "[[a3,d4,g4]@3 [a3,d4,g4] ~@4 a5@16 ~@2 [b3,e4,a4]@6, ~@6 d5@17 ~@9, ~@7 [e5,g5]@17 ~@8]/2", // Dsus4 Esus4 Em
  T: "[b3,d4,f#4] ~ [b3,d4,f#4]@5 ~", U: "[a3,c#4,e4]@3 ~ [a3,c#4,f#4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,f#4]@3 ~",
  V: "[a3,d4,f#4]@3 ~ [a3,d4,e4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,e4]@3 ~", // D Asus4 D Asus4
  W: "[c4,f4]@3 ~ [c4,e4,g4]@3 ~ [c4,f4]@3 ~ [c4,e4,g4]@3 ~", // F5 C F5 C
  X: "[c4,e4,g4]@3 [c4,e4,g4]@5 [c4,f4,g4]!2 ~ [c4,f4,g4]@5", Y: "a3!2 ~ a3 ~ e3 f#3 ~ a3 ~@5 e3 f#3",
  Z: "a3!2 ~ a3 ~ e3 f#3 ~ a3 ~@7", AA: "[b3,d4,f#4]!2 ~ [b3,d4,f#4]@5 [b3,d4,f#4]@8",
  AB: "[c4,e4,g4]!2 ~ [c4,e4,g4]@5 [c4,e4,g4]@8", // C
  AC: "[d4,f#4,a4]!2 ~ [d4,f#4,a4]@5 [d4,f#4,a4]@4 ~@3 [f4,g4,a4], ~@3 [c6,d6], ~@13 [f5,g5,a5,b5]@3, ~@7 [b4,c5,d5,e5]", // D F Csus2 G7 Cmaj7
  AD: "[b3,d4,a4]@3 ~ [b3,d4,f#4]@3 ~ [b3,d4,a4]@3 ~ [b3,d4,f#4]@3 ~, e4 ~@15", // Bm7 Bm Bm7 Bm
  AE: "[b3,d4,f#4]@3 [b3,d4,f#4] ~@4 [b3,d4,f#4]@3 [b3,d4,f#4] ~@4", // Bm
  AF: "[b3,d4,a4]@3 ~ [b3,d4,f#4]@3 ~ [b3,d4,a4]@3 ~ [b3,d4,f#4]@3 ~", // Bm7 Bm Bm7 Bm
  AG: "[b3,d4,f#4]@2 ~@2 [b3,d4,f#4]@8 ~@3 [f4,g4,a4], ~@3 [c6,d6], ~@13 [f5,g5,a5,b5]@3, ~@7 [b4,c5,d5,e5]", // Bm F Csus2 G7 Cmaj7
  AH: "[a3,c#4,e4]@3 ~ [a3,c#4,f#4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,f#4]@3 ~, d4 ~@15", // A F#m A F#m
  AI: "[[a3,c#4,e4]@3 ~ [a3,c#4,f#4]@3 ~ [a3,c#4,e4]@5 ~ [a3,c#4,e4]@5 ~ [a3,c#4,f#4]@3 ~ [a3,c#4,e4]@5 ~ [a3,d4,f#4]@6 [a3,d4,e4]@3 ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4]@5 ~ [a3,d4,e4]@3 ~ [a3,d4,f#4]@7 ~]/4", // A F#m A F#m A D Asus4 D …
  AJ: "[a3,c#4,e4]@3 ~ [a3,c#4,f#4]@3 ~ [a3,c#4,e4]@4 [a3,c#4,f#4]@3 ~", // A F#m A F#m
  AK: "[d4,f#4,a4]!2 ~ [d4,f#4,a4]@5 [d4,f#4,a4]@4 ~@2 a4 [e4,f4,g4], ~@3 [b5,c6,d6], ~@13 [e5,f5,g5,a5]@3, ~@7 [b4,c5,d5]", // D Em Bm Fmaj7 Bm
  AL: "[c#4,e4,a4] ~@7, d4 ~@15", // A
})).s("gm_epiano1").gain(0.3).pan(0.7)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@6 A@5 B C B C D E F G B C B C D E H I J K L K L K L M@2 N@2 B C B C D E F G B C B C D E H I J K L K L K L M@2 L O
  M@2 L P M@2 L P Q@2 R S Q R T U V W X W X W X Y@2 Z@3 AA Y@2 AB@2 Y@2 AB@2 Y@2 AB@2 Y@2 AB@2 T U V AC
>`.pickRestart({
  A: "[e4,a4]!16", B: "[e4,a4]@3 [e4,a4] ~@4 [e4,a4]@3 [e4,a4] ~@4", C: "~@2 e3 f#3 e3 f#3 e3 f#3 a3@3 a3 ~@4",
  D: "[d4,f#4]@3 [d4,f#4] ~@4 [e4,g#4]@3 [e4,g#4] ~@4", E: "[f#4,a4]@3 [f#4,a4] ~@2 e3 f#3 a3@3 a3 ~@4",
  F: "[d4,g4]@3 [d4,g4] ~@12", G: "~@10 [e4,a4]@5 ~", H: "[d4,g4]@3 [d4,g4] ~@4 [e4,a4]@3 [e4,a4] ~@4",
  I: "[c#4,f#4]@3 [c#4,f#4] ~@2 [c#4,f#4] ~ [c#4,f#4]@3 [c#4,f#4] ~@2 [c#4,f#4] ~", // F#5
  J: "[c#4,f#4] ~ [c#4,f#4] ~ [c#4,f#4] ~ [c#4,f#4] ~ [c#4,f#4] ~@7", // F#5
  K: "[d4,f#4,a4]@3 [d4,f#4,a4] ~@2 b3 ~ [d4,f#4,a4]@3 [d4,f#4,a4] ~@2 b3 ~", // D
  L: "[d4,f#4,a4]@3 [d4,f#4,a4] ~@4 [d4,f#4,a4]@3 [d4,f#4,a4] ~@4", // D
  M: "[c#4,e4,a4]@3 [c#4,e4,a4] ~@4 [c#4,e4,a4]@3 [c#4,e4,a4] ~@4", // A
  N: "[[c4,d4,g4]@25 ~ [c4,d4,g4] ~ [c4,d4,g4] ~ [c4,d4,g4] ~]/2", O: "[d4,f#4,a4] ~@3 [d4,f#4,a4]@9 ~@3",
  P: "[c4,e4,g4]@3 [c4,e4,g4] ~@4 [c4,e4,g4]@3 [c4,e4,g4] ~@4", Q: "a3!2 ~ a3 ~ e3 f#3 ~ a3 ~@5 e3 f#3",
  R: "a3!2 ~ a3 ~ e3 f#3 ~ a3 ~@7", S: "[c4,e4,g4]@2 ~ [c4,e4,g4]@3 ~@2 [c4,f4,g4]!2 ~ [c4,f4,g4]@3 ~@2",
  T: "[b3,d4,f#4]!2 ~ [b3,d4,f#4]@4 ~ [b3,d4,f#4]@7 ~", U: "[c4,e4,g4]!2 ~ [c4,e4,g4]@3 ~@2 [c4,e4,g4]@7 ~",
  V: "[d4,f#4,a4]!2 ~ [d4,f#4,a4]@3 ~@2 [d4,f#4,a4]@8", // D
  W: "[b3,d4,f#4]@4 [b3,d4,f#4] ~@3 [b3,d4,f#4]@4 [b3,d4,f#4] ~@3", // Bm
  X: "[b3,d4,f#4]!2 ~ [b3,d4,f#4] ~@4 [b3,d4,f#4]!2 ~ [b3,d4,f#4] ~@4", // Bm
  Y: "[a3,c#4,e4]@3 [a3,c#4,e4] ~@4 [a3,c#4,e4]@3 [a3,c#4,e4] ~@4", // A
  Z: "[b3,d4,f#4]@3 [b3,d4,f#4] ~@4 [b3,d4,f#4]@3 [b3,d4,f#4] ~@4", AA: "[b3,d4,f#4] ~@3 [b3,d4,f#4]@9 ~@3",
  AB: "[a3,d4,f#4]@3 [a3,d4,f#4] ~@4 [a3,d4,f#4]@3 [a3,d4,f#4] ~@4", AC: "[c#4,e4,a4] ~@7",
})).s("gm_electric_guitar_clean").gain(0.35).pan(0.3)

// other · synth brass 1
const synth_brass_1 = note("<~@69 [a4@2 ~ f#4@2 a4@2 ~ f#4@2 ~ a4@2 f#4@2 ~] [a4@2 ~ f#4@2 a4@2 ~ f#4@2 ~@6] ~@43>")
  .s("gm_synth_brass_1").gain(0.2)

// other · alto sax
const alto_sax = note("<~@71 A B ~@21 C@2 D E F@4 G H I@2 J K L ~@5>".pickRestart({
  A: "a3@3 ~ a3@3 ~ a3@3 a4@4 ~", B: "a3 ~ a3 ~ a3 ~ a3 ~ a3@3 a4@3 ~@2", C: "[~@3 c#5@4 a4@2 f#4 a4 f#4@3 ~@2]/2",
  D: "~@3 c#5@3 a4@2", E: "a4@6 b4@2 ~@4 f#4 a4 b4 ~",
  F: "[c#5@14 e5@6 c#5@3 a4 a4@3 ~ f#4 a4 b4 a4@5 f#4 a4 b4 a4@5 f#4@2 a4@8 b4@4 ~@6]/4",
  G: "a5@3 ~ a4 f#4 a4 ~ a4@2 ~@6", H: "a5@2 ~@2 a4 f#4 a4 ~ a4@2 ~@6", I: "a5@3 ~ b4@4 a4@3 ~@5", J: "a4@2 b4 c#5 ~@4",
  K: "~@7 c#5", L: "d5@7 c5",
})).s("gm_alto_sax").gain(0.64)

// drums · kick
const kick = s("bd").struct("<[x!4]!113 x>").gain(0.4)

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

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

// drums · low tom
const low_tom = s("lt").struct("<~@9 A ~@26 A ~@31 A ~@4 A ~@28 A ~@3 A ~@7>".pickRestart({
  A: "x",
})).gain(0.45)

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

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

// drums · crash · soft notes
const crash_soft = s("cr").struct("<~@4 [~@4 x!12] [x!4 ~@12] ~@108>").gain(0.2)

// drums · tambourine
const tambourine = s("tb").struct("<[x!4]!6 ~@11 [x!4]!77 [x!16]!16 [x!4]!3 x>").gain(0.15)

// drums · congas
const congas = s("conga:18").struct(`<
  ~@2 A B@3 C D@19 E ~ D@25 E ~ D@9 ~ D@8 ~@9 D@10 E ~ C D@13 E D ~@4
>`.pickRestart({
  A: "~@11 x!5", B: "x!16", C: "x ~ x!3 ~@5 x!3 ~@3", D: "~@2 x!3 ~@5 x!3 ~@3", E: "~@2 x!3 ~@5 x!3 ~ x ~",
})).gain(0.79)

// drums · congas
const congas_2 = s("conga:33").struct(`<
  ~@2 A B@3 C D@19 E F C D@24 E F C D@8 G C D@7 H@9 C D@9 E I C D@4 J D@8 J K H@3 ~
>`.pickRestart({
  A: "~@10 x!6", B: "x!16", C: "~@6 x!3 ~@5 x!2", D: "x ~@5 x!3 ~@5 x!2", E: "x ~@5 x!3 ~@7", F: "x!5 ~@3", G: "x",
  H: "x ~ x!3 ~ x!3 ~ x!3 ~ x!2", I: "x!2 ~@2", J: "x ~@5 x!3 ~@6 x", K: "~@6 x!3 ~@5 x ~",
})).gain(0.79)

stack(
  piano, bass, epiano1, electric_guitar_clean, synth_brass_1, alto_sax, kick, snare, hihat, low_tom, open_hat, crash,
  crash_soft, tambourine, congas, congas_2
)

More by Dan Hartman