Strudelify

Straight to the Heart

Crystal Gayle

KeyE♭ majorTempo80 bpm
0:00/0:00
// Straight to the Heart — Crystal Gayle
// 80 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 4 "CLEAN GTR" electric guitar clean (copy of ch 3 "JAZZ GTR" electric guitar jazz)
// note: Full arrangement: all 32 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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 · "FINGERDBA"
const bass = note("<A B@2 C D@4 E F G H I J K L M N O P M N O Q R@3 S@3 T@2>".pickRestart({
  A: "~ db2", B: "[~@8 f2@7 ~ f2@7 ~@2 bb1@16 ~@23]/2", C: "~@3 c2 f1@6 ~ f1 g1@4",
  D: "[f1@8 e1@13 ~ e2 ~ a1@5 ~ a1@9 ~ bb1@13 ~ f1 ~ bb1@2 a1@2 ab1@2 g1@9 ~ f1@2 c2 ~ g2@2 f2@8 c2@2 f1@14 ~@2 db2@18 ~@6]/4",
  E: "f2@7 ~ f1@7 ~ bb1@15 ~", F: "eb2@2 bb2 ~ eb3@2 f3@3 ~ g3 f3 eb3@3 ~ c2@13 ~ c2@2",
  G: "f1@10 e1 ~ f1 ~ a1@2 g1@8 f1@8", H: "e1@13 ~ e1@2 a1@5 ~ a1@10",
  I: "bb1@2 f2 ~ c3@2 bb2@7 ~ bb1 ~ bb1@2 a1@2 ab1@2 g1@8 g1 ~", J: "f1@2 c2 ~ g2@2 f2@7 ~ c2@2 f1@13 ~@3",
  K: "db2@19 ~@5 f2@7 ~", L: "f1@8 bb1@15 ~ g1@5 ~ g1@2", M: "~@2 g1@2 ~@2 g1@2 ab1@2 ~@2 ab1@2 ~@10 f1@5 ~ f1@2",
  N: "~@2 f1@2 ~@2 f1@2 bb1@2 ~@2 bb1@2 ~@6 f1@2 gb1@2 g1@5 ~ g1@2",
  O: "~@2 g1@2 ~@2 g1@2 ab1@2 ~@2 ab1@2 ~@6 c2@4 f1@5 ~ f1@2",
  P: "~@2 f1@2 ~@2 f1@2 bb1@2 ~@2 bb1@2 ~@2 eb2@7 ~ g1@5 ~ g1@2",
  Q: "~@2 f1@2 ~@2 f1@2 bb1@2 ~ bb1 bb1@3 ~ b1@7 ~ c2@5 ~ c3 ~",
  R: "[~@2 g2@2 ~@2 c2 ~ f1@2 ~@2 f1@7 ~ f2@2 c2@2 bb1@5 ~ bb2@7 ~ eb2@9 ~ eb2 ~ eb1@2 f1@2 gb1@2 g1@5 ~ g1@7 ~ b1@5 ~ b1@2 ~@2 c2@7 ~ f1@7 ~]/3",
  S: "[g1@7 ~ bb1@15 ~ c2@15 ~ c2@15 ~ c2@15 ~ c2@12 ~@2 c2@2 f1@8]/3",
  T: "[~@2 e1 ~ f1 ~ a1@2 g1@7 ~ f1@8 e1@13 ~ e1@2 a1@5 ~ a1@5 ~@13]/2",
})).s("gm_electric_bass_finger").gain(0.42)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<A B@3 C@3 D E F G H I J K L M N M N M N M O@4 P@4 Q>".pickRestart({
  A: "[b3,d4]@4 [c4,eb4]@4 [d4,f4]@4 [eb4,g4]@4 ~ [f4,ab4]@15, ~ [c4,eb4]", // Bm Cm Dm Eb Fm Cm
  B: "[~@9 g4@7 ~ g4@6 ~@2 [ab3,c4,eb4]@13 ~@8 f4@9 ~@2 f4@7 ~ e4@7 ~ a4@14 ~@2 a4@7, ~@8 [f3,bb3,eb4]@8 [f3,b3,eb4]@6 ~@2 [bb2,f3]@15 ~ eb3@15 c3@16 ~@25, ~@42 bb3@11 ~@3 g3@15 ~ [f3,c4,e4]@14 ~@2 [g3,c4,f4]@7 ~, ~@44 eb4@11 ~ [bb3,d4]@8 [bb3,db4]@7 ~@25]/3", // Ab Ebsus2 Fm7b5 Bb5 Fmaj7 Csus4 Bb Bbm
  C: "[~ g4@7 ~@4 d5 ~ g4@2 g4@2 d4@2 a3@2 e3 ~ [f4,g4,c5]@5 ~ [db4,f4,bb4]@8 ~@14 g3@9 ~ [f3,b3,eb4]@8 ~@8 g4@9 ~ [b3,d4]@4 [c4,eb4]@4, [f3,b3,eb4]@7 ~ e3@10 ~@24 c4@7 ~ c4@11 ~@13 bb3@13 ~@9, ~@8 a3@5 b4@3 a4@4 ~@24 g3@7 ~@21 g3@14 ~@10, ~@9 d4@9 ~@22 eb4@21 ~@15 eb4@11 ~@9, ~@46 f3@15 ~@35]/3", // Fsus2 Bbm Fm7b5 Bm Cm Fm7b5
  D: "[d4,f4]@4 [eb4,g4]@4 ~ [f4,ab4]@17 ~@6, ~@4 eb4@9 ~@3", // Dm Eb Fm
  E: "~ [eb4,g4]@7 ~ [eb4,g4]@6 ~@3 eb4@13 ~, [f3,bb3]@8 [f3,b3]@6 ~@2 bb2@15 ~, ~@17 [f3,ab3,c4]@14 ~", // Eb Bb5 Fdim Fm
  F: "~@6 f4@9 ~@2 f4@7 ~ e4@7, eb3@15 ~ [c3,g3]@16, ~@2 bb3@11 ~@3 [bb3,d4]@8 [bb3,db4]@7 ~, ~@4 eb4@11 ~@17", // C5 Bb Bbm
  G: "~ a4@14 ~@2 a4@7 ~ g4@7, [f3,c4,e4]@14 ~@2 [g3,c4,f4]@7 ~ [f3,b3,eb4]@7 ~", // Fmaj7 Csus4 Fm7b5
  H: "~@4 d5 ~ g4@2 g4@2 d4@2 a3@2 e3 ~ [f4,g4,c5]@5 ~ [db4,f4,bb4]@8 ~@2, e3@5 ~@11, a3@5 b4@3 a4@4 ~@20, ~ d4@9 ~@22", // Fsus2 Bbm
  I: "~@12 g3@9 ~ [f3,b3,eb4]@8 ~@2, eb4@21 ~@11, ~@2 c4@7 ~ c4@11 ~@11, ~@4 g3@7 ~@21, ~@6 f3@15 ~@11", // Fm7b5
  J: "~@6 g4@9 ~ [b3,d4]@4 [c4,eb4]@4 [d4,f4]@4 [eb4,g4]@4, g3@7 ~@9, ~@2 bb3@13 ~@17, ~@4 eb4@11 ~@17", // Bm Cm Dm Eb
  K: "~ [f4,ab4]@17 ~@7 g4@7, eb4@9 ~@3 [f3,bb3,eb4]@4", // Fm Ebsus2
  L: "~ [eb4,g4]@6 ~@2 [c4,eb4]@13 ~@2 [f3,b3,eb4]@5 ~ [f3,b3,eb4] ~, [f3,b3]@3 ~ [bb2,f3,ab3]@7 ~@5", // Eb Cm Fm7b5 Fdim Bb7
  M: "[f3,b3,eb4] ~@5 [g3,c4,f4] ~@5 [g3,c4,f4] ~@3 [g3,c4,eb4]@3 ~ bb4@2 c5 ~ [eb4,g4,a4,d5]@6 [eb4,g4,a4,c5]@2", // Fm7b5 Csus4 Cm Ebmaj7 Am7b5
  N: "~@2 [eb4,g4,a4,c5] ~@3 [eb4,g4,bb4] ~@5 [c4,f4,bb4]@2 [c4,g4,bb4]@2 [c4,g4,bb4]@2 [c4,g4,bb4] ~@5 [f3,b3,eb4]@5 ~ [f3,b3,eb4] ~", // Am7b5 Eb Fsus4 C7 Fm7b5
  O: "[~@2 [eb4,g4,a4,c5] ~@5 [f3,ab3,c4,eb4]@8 [ab3,b3,d4]@8 ~@6 eb4@10 ~@6 g4@9 ~@7 bb4@8 ~@8 f4@9 ~@2 e4@5 [f3,b3,eb4]@14 ~@5 d4@7 ~ ab4@7, ~@24 c3@13 ~@3 eb3@14 ~@6 eb4@8 ~@8 eb4@9 ~@43, ~@26 g3@13 ~@5 d4@12 ~@2 c4@11 ~@5 bb3@12 ~@42, ~@28 bb3@12 ~@2 a3@9 ~@5 ab3@14 ~@2 g3@14 ~@2 [f3,a3]@5 ~@19 [g3,bb3]@7 ~ [ab3,c4,eb4]@7 ~]/4", // Am7b5 Fm7 Abdim Fm7b5 F Gm Ab
  P: "[[bb3,eb4,g4]@7 ~ [ab3,c4,eb4]@16 ~@6 c5@10 ~@6 c5@10 ~@6 c5@9 ~@3 c5@12 ~@3 a4@14 ~@2 a4@7 ~ g4@7 ~@4 d5 ~ g4@2, ~@24 bb3@12 ~@4 bb3@15 ~ bb3@14 ~@2 [bb3,d4]@14 ~@2 [f3,c4,e4]@14 ~@2 [g3,c4,f4]@7 ~ [f3,b3,eb4]@7 ~ [e3,a3]@8, ~@26 d4@13 ~@3 d4@14 ~@2 d4@13 ~@50 d4@7, ~@28 f4@12 ~@4 e4@12 ~@4 f4@11 ~@2 e4@11 ~@41 b4@3]/4", // Eb Ab Bb Fmaj7 Csus4 Fm7b5 A5
  Q: "g4@2 d4@2 a3@2 e3 ~ [f4,g4,c5]@5 ~ [db4,f4,bb4]@8 ~@10, a4 ~@7", // Fsus2 Bbm
})).s("gm_electric_guitar_jazz").gain(0.3).pan(0.3)

// chords · epiano1 · "E.PIANO 1"
const epiano1 = note("<A B@2 C D@3 E F G H I J K L M@8 N@4 O@5>".pickRestart({
  A: "[b3,d4]@4 [c4,eb4]@4 [d4,f4]@4 [eb4,g4]@4 ~ [f4,ab4]@15, ~ [c4,eb4]", // Bm Cm Dm Eb Fm Cm
  B: "[~@4 b4 c5@2 g4 ~ bb4@7 [a3,b3,eb4,g4]@7 ~ [f3,ab3,c4,eb4]@14 ~@2 [g3,bb3,eb4]@14 ~@2 [g3,bb3,d4,f4]@7 ~, ~@8 [bb3,eb4,g4]@7 ~@49]/2", // Ebaug Fm7 Eb Gm7 Eb
  C: "[g3,bb3,e4]@4 [f3,a3,e4]@7 ~ [a3,c4,f4]@4, db4@5 ~@27", // Edim Fmaj7 F
  D: "[[b3,eb4,g4]@8 [b3,d4,g4]@14 ~@2 [f4,g4,c5]@5 ~ [db4,f4,bb4]@9 ~ [ab3,c4,eb4]@22 [f3,b3,eb4]@10 [g3,bb3,eb4]@15 ~ [b3,d4]@4 [c4,eb4]@4]/3", // Baug G Fsus2 Bbm Ab Fm7b5 Eb Bm …
  E: "[d4,f4]@4 [eb4,g4]@4 ~@9 c5@9 ~@6, ~ c4@2 ~, ~@9 [eb4,ab4]@17 ~@6, ~@15 ab5@12 ~@5, ~@8 [eb5,f5]@5 ~@3", // Dm Eb Ab5 Ebsus2
  F: "~ bb4@7 [a3,b3,eb4,g4]@7 ~ [f3,ab3,c4,eb4]@16, [bb3,eb4,g4]@7 ~@25", // Ebaug Fm7 Eb
  G: "~@6 f5@9 ~@2 f5@7 [db5,e5]@8, [eb3,g3,bb3,eb4,g4]@16 bb4@13 ~@3, ~@2 bb4@13 g4@14 ~@3", // Dbm Eb
  H: "[f3,a3,e4]@7 ~ [a3,c4,f4]@4 [b3,eb4,g4]@4", I: "[b3,d4,g4]@14 ~@2 [f4,g4,c5]@5 ~ [db4,f4,bb4]@9 ~",
  J: "[ab3,c4,eb4]@11 [f3,b3,eb4]@5", K: "[g3,bb3,eb4]@15 ~ [b3,d4]@4 [c4,eb4]@4 [d4,f4]@4 [eb4,g4]@4",
  L: "~@9 c5@9 ~@7 bb4@7, c4@16 ~@8 [bb3,eb4,g4]@7 ~, ~ [eb4,ab4]@17 ~@14, ~@7 ab5@12 ~@13, ~@4 [eb5,f5]@5 ~@7", // Eb Ab5 Ebsus2
  M: "[[a3,b3,eb4,g4]@7 ~ [f3,ab3,c4,eb4]@14 ~@2 [f3,b3,eb4]@15 ~ [g3,bb3,c4,eb4]@11 ~ [g3,bb3,c4,eb4] ~@3 [a3,eb4,g4]@15 ~ [f3,ab3,eb4]@14 ~@2 [f3,b3,eb4]@12 ~@2 [g3,bb3,c4,eb4]@9 ~@5 [g3,bb3,c4,eb4] ~@3 [a3,eb4,g4]@14 ~@2 [c4,eb4,ab4] ~@3 [eb4,ab4] ~@3 [bb3,eb4,g4]@4 ~@4 [f3,b3,eb4]@12 ~@2 [f3,b3,eb4] ~@5 [g3,bb3,c4,eb4] ~@7 [g3,bb3,c4,eb4] ~@3 [a3,eb4,g4]@15 ~@7 [bb4,eb5,g5]@6 [bb3,ab4,c5,f5] ~@9 [b4,eb5,g5]@7 ~ [bb3,c4,eb4,g4] ~@5 [g3,bb3,c4,eb4]@2 ~@6 [g3,bb3,c4,eb4]@2 ~@2 [a3,c4,eb4,g4]@5 ~ [g3,a3,c4,eb4] ~, ~@70 c4 ~@29 [bb2,bb3]@7 ~ [g2,g3]@7 ~@12 g4]/8", // Ebaug Fm7 Fm7b5 Cm7 Am7b5 Fm7 Fm7b5 Cm7 …
  N: "[~@2 [g4,a4,c5,eb5] ~@5 [bb3,eb4,g4]@7 ~ [ab3,b3,d4,f4]@7 ~ [eb5,g5]@6 ~@4 [c5,eb5]@6 ~@4 [c5,eb5]@4 ~@4 [eb5,g5]@4 ~@6 bb5@9 ~ [bb3,d4,f4]@6 ~ bb3@6 ~@3 [g2,f3,b3,e4,g4]@6 [g2,b3,eb4,ab4]@7 ~ [g2,b3,eb4,ab4]@10 [c3,bb3,d4,eb4,g4]@8 [f2,c4,eb4,ab4]@8, ~@30 [d5,f5]@10 f3@16 [bb3,c5,eb5]@15 ~ [eb3,g3]@14 ~@42, ~@40 [b4,d5]@8 [d5,f5]@8 ab5@9 ~@13 [c4,eb4]@7 ~@43]/4", // Am7b5 Eb Abdim Eb Cm Eb Bb Em …
  O: "[[g2,bb3,eb4,g4]@8 [bb2,f3,ab3,c4,eb4]@15 ~ [c3,g3,d4,f4]@16 [c3,g3,d4,e4]@15 ~@2 f4@15 ~ [d4,e4]@14 ~ [f3,a3,e4]@14 ~@2 [a3,c4,f4]@8 [b3,eb4,g4]@8 [b3,d4,g4]@14 ~@2 [f4,g4,c5]@5 ~ [db4,f4,bb4]@8 ~@10, ~@24 bb3@13 ~@18 g3@15 ~@90, ~@56 [c3,d4]@16 [c3,g3]@15 ~@73, ~@56 bb3@13 ~@91]/5", // Eb Fm7 Csus4 C Dsus2 Fmaj7 F Baug …
})).s("gm_epiano1").gain(0.3)

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

// drums · rim
const rim = s("rim").struct("<~@3 [~ x] [x!2]!3 x ~@2 [~ x ~ x]!4 ~@16 [x!2]!2>").gain(0.45)

// drums · snare
const snare = s("sd").struct("<~@16 [x!2]!8 ~@8>").gain(0.5)

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

// drums · low tom
const low_tom = s("lt").struct("<~@3 x ~@19 [~@5 x ~@2]!3 ~ [~ x] ~@4>").gain(0.3)

// drums · mid tom
const mid_tom = s("mt").struct("<~@2 A ~@6 B ~@13 C D@2 ~ E@2 ~@3>".pickRestart({
  A: "~@15 x", B: "~@11 x!2 ~@3", C: "~@7 x!3 ~@6", D: "~@5 x ~@10", E: "x",
})).gain(0.3)

// drums · open hat
const open_hat = s("oh").struct("<A ~@2 B ~ B C D ~ E F E@2 F G H ~ D@2 ~@2 D@2 ~ F E I J K ~ D ~>".pickRestart({
  A: "~@7 x!2 ~ x!7 ~@15", B: "~@3 x ~@12", C: "~ x ~@6", D: "~@5 x ~@2", E: "~@15 x", F: "~@7 x", G: "~@3 x ~@4",
  H: "~ x", I: "~@6 x ~@3 x ~@4 x", J: "~@3 x ~@3 x ~@3 x ~@3 x", K: "~@3 x ~@3 x ~@3 x ~@4",
})).gain(0.25)

// drums · open hat · soft notes
const open_hat_soft = s("oh").struct("<[~ x!6 ~@2 x ~@22] ~@31>").gain(0.1)

// drums · high tom
const high_tom = s("ht").struct("<~@23 [~@8 x ~@2 x!2 ~@19] ~@8>").gain(0.25)

// drums · crash
const crash = s("cr").struct("<[~ x] ~@14 [~@3 x] ~@7 [~@3 x] ~@8>").gain(0.25)

// drums · ride
const ride = s("rd").struct("<A B C ~@4 D E F ~@2 G ~ H I ~@10 J K L M ~@2>".pickRestart({
  A: "x ~@4 x!2 ~@2 x!8 ~@7 x ~@5 x ~", B: "x ~@7 x ~@7 x ~@5 x!3 ~@7", C: "~ x ~ x!2 ~@2 x ~ x!4 ~@3",
  D: "~@8 x ~@5 x!3 ~@15", E: "x ~@7 x ~@5 x!3 ~@7 x ~@5 x ~", F: "x ~@2 x!2 ~ x!3 ~@7", G: "~@11 x ~@4", H: "x ~ x!2",
  I: "x ~@5 x!3 ~@23", J: "~@8 x ~@3 x!3 ~", K: "x!3 ~ x!3 ~ x!3 ~ x!3 ~", L: "x!3 ~ x!3 ~ x!3 ~ x ~ x ~", M: "x!5 ~@3",
})).gain(0.2)

// drums · ride · soft notes
const ride_soft = s("rd").struct("<[~ x!4 ~@2 x!2 ~@23] ~@31>").gain(0.1)

// drums · congas
const congas = s("conga:18").struct("<~@15 A B C B C B C B D ~@8>".pickRestart({
  A: "~@3 x", B: "~ x ~@10 x ~ x ~", C: "~ x ~@2 x ~@5 x ~ x ~@3", D: "~ x ~@2 x ~@5 x ~@5",
})).gain(0.79)

// drums · congas
const congas_2 = s("conga:33").struct("<~@16 [~@3 x ~@7 x ~@4]!2 [~@3 x ~@12] [~@3 x ~@7 x ~@4]!5 ~@8>").gain(0.79)

// drums · agogo bells
const agogo_bells = s("agogo:2").struct("<~@16 [~ x]!2 ~ [~ x]!5 ~@8>").gain(1.58)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@24 [~@10 x!2 ~@4] ~@7>").gain(1.51)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct("<~@10 A@2 B@2 ~ C D E C D@4 E ~@8>".pickRestart({
  A: "~@3 x!2 ~@11", B: "~@2 x!3 ~@11", C: "~@15 x", D: "~@2 x ~@2 x!2 ~@8 x", E: "~@2 x ~@2 x!2 ~@9",
})).gain(0.29)

// drums · woodblocks
const woodblocks_2 = s("woodblock:4").struct(`<
  ~@10
  [~@5 x ~@10]
  [~@5 x ~ x ~@8]!3
  ~@2
  [x ~@2 x!2 ~@2 x ~@8]!2
  ~
  [x ~@2 x!2 ~@2 x ~@8]!5
  ~@8
>`).gain(0.29)

// drums · triangle
const triangle = s("triangles:30").struct(`<
  ~@23
  [~@14 x!2]
  [~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2]!2
  [~@2 x!2 ~@2 x!2 ~@2 x!2 ~@4]
  ~@5
>`).gain(1.73)

// drums · triangle
const triangle_2 = s("triangles:35").struct("<~@23 [~@3 x] [x!4]!3 [x ~@2 x] [~ x] [~ x ~@2] ~@2>").gain(1.73)

stack(
  bass, electric_guitar_jazz, epiano1, kick, rim, snare, hihat, low_tom, mid_tom, open_hat, open_hat_soft, high_tom,
  crash, ride, ride_soft, congas, congas_2, agogo_bells, cabasa, woodblocks, woodblocks_2, triangle, triangle_2
)

More by Crystal Gayle