Strudelify
One and One cover art

1996 · One and One

One and One

Robert Miles

KeyC majorTempo120 bpm
0:00/0:00
// One and One — Robert Miles
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 121 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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.

// other · piano
const piano = note(`<
  A@12 B@4 C ~@12 D E F G@2 H@2 I J@3 K L M ~@4 D E F G@2 H@2 I N@3 O@2 H@2 ~@4 P Q R S T U V W@2 X Y Z AA ~@4 P Q R S T
  AB AC AD@2 AE AF AG AH AB AC AD@2 AE AF AG AH AB AC AD@2 AE AF AI AJ AB AC AK@2 AE AF AL AJ ~
>`.pickRestart({
  A: "[g5@5 a4 g5 f5@6 a4 f5 e5@6 a4 e5 d5@4 a4 d5 e5 f5 d5]/4",
  B: "[g5@5 a4 g5 f5@6 a4 f5 e5@6 a4 e5 d5@4 d5 e5 f5 g5 a5]/4", C: "d6", D: "~@7 c4", E: "a#3 c4 d4 f4 d4 a#3",
  F: "c4@3 ~@2 d4@3 ~ e4@3 ~@2 g4 e4@3 c4@3 g4 f4 e4", G: "[f4@19 ~@2 d4@25 ~@2]/2", H: "[g4@19 ~@2 e4@25 ~@2]/2",
  I: "c5@19 ~@2 c5 a#4 a4", J: "[a#4@12 ~@3 a4 ~@2 a#4 ~@2 c5 ~ g4@19 ~@3 c5@18 ~@6 f4 ~ e4]/3",
  K: "d4@3 ~ e4@3 ~ f4@3 ~ g4@3 ~ f4@3 ~ g4@3 ~", L: "a4@3 ~ g4@3 ~ a4@3 ~ c5@3 ~ a4@3 ~ c5@3 ~", M: "d5 ~@7",
  N: "[a#4@12 ~@3 a4 ~@2 a#4 ~@2 c5 ~ g4@19 ~@3 c5@18 ~@9]/3", O: "[f4@19 ~@2 a#3@25 ~@2]/2",
  P: "~@4 a#4@2 ~@2 a4@3 ~ a#4@3 ~ a4@3 ~ a#4@3 ~", Q: "c5@3 ~ a#4@3 ~ a4@3 ~ a#4@3 ~ a4@3 ~ g4@3 ~",
  R: "f4@3 ~ e4@3 ~ f4@3 ~ g4@3 ~ f4@3 ~ d4@3 ~", S: "c4@3 ~ g3@3 ~ c4@3 ~ e4@3 ~ c4@3 ~ e4@3 ~",
  T: "g4@3 ~ e4@3 ~ c5@3 ~ e5@3 ~ f5@3 ~ g5@3 ~", U: "f5, f4 ~@7", V: "a#4 a4",
  W: "[g4@10 ~ d4 g4 ~ a4 ~@2 a#4 ~@2 g4 ~@2 c5@3 ~@22]/2", X: "e5@21 d5 ~ e5", Y: "f5@3 e5 ~ d5@16 d5 ~ c5",
  Z: "d5 ~ c5@3 a#4@7 a4@4 ~ a#4 ~@2 a#4 a4@3", AA: "g4 g5 ~@2", AB: "g5", AC: "c5 b4",
  AD: "[a4@10 ~ e4 a4 ~ b4 ~@2 c5 ~@2 a4 ~@2 d5@3 ~@22]/2", AE: "f#5@21 e5 ~ f#5", AF: "g5@3 f#5 ~ e5@16 e5 ~ d5",
  AG: "e5 ~ d5@3 c5@7 b4@4 ~ c5 ~@2 c5 b4@3", AH: "a4@6 a5@17 ~", AI: "e5 ~ d5@3 c5@7 b4@4 ~ c5@2 ~ c5 b4@3",
  AJ: "a4 a5 ~@2", AK: "[a4@10 ~ e4 a4@2 b4 ~@2 c5@2 ~ a4 ~@2 d5@3 ~@22]/2", AL: "e5 ~ d5@3 c5@7 b4@4 c5@4 b4@4",
})).s("gm_piano").gain(0.44).pan(0.6)

// chords · piano · "piano echo1"
const piano_2 = note(`<
  A B C D E B C D E B C D E B C F G ~@13 H@2 I@3 J K L M N@2 O P ~@5 H@2 Q R@2 S K L M T U@2 V S ~@4 W X Y Z AA AB AC AD
  AE AF AG AH@2 ~@4 W X Y Z AA AI AJ AK AL AM AN AO@2 AP AJ AK AL AM AN AQ AR AS AJ AK AT AM AN AQ AR AP AJ AU@2 AM AN
  AQ AR ~
>`.pickRestart({
  A: "~@2 g5@2 g5@2 ~ a4", B: "g5 a4 g5 f5@2 ~@2 a4, ~ f5@2 ~@5", C: "f5 a4 f5 e5@2 ~@2 a4, ~ e5@2 ~@5",
  D: "e5 a4 e5 d5@2 a4 d5 [a4,e5], ~ d5@2 ~@5", E: "[d5,f5] [d5,e5] f5 d5 g5@2 ~ a4, ~ g5 ~@2",
  F: "e5 a4 e5 d5@2 ~ e5 [d5,f5], ~ d5@2 ~@2 d5@2 ~", G: "[e5,g5] [f5,a5] g5 a5 d6@2 ~@2, ~ d6 ~@2",
  H: "[~@3 c4@3 a#3@3 c4 ~@10 d4@2 ~@8 c4@2 a#3@3 ~ c4@3 e4@2 d4@3 g4 e4@3, ~@10 c4@4 d4@4 f4@4 ~@2 f4@4 d4@4 ~@3 d4@3 ~@10, ~@6 a#3@2 c4@2 ~ d4@2 a#3@2 ~@9]/2",
  I: "[c4@2 g4 [e4,g4]@3 [f4,g4]@3 ~@24 a#3@15 ~@6 g4@6 g4@6 ~@6, ~@9 f4@26 ~@37, ~@27 c4@26 ~@19]/3", // Em Fsus2
  J: "~@3 e4@6 e4@4 ~ d4@4 e4@6", K: "~ c5!2 ~", L: "~@3 c5 a#4 a4 a#4@3 c5 a#4 a4 a#4@4 ~@5 a4 ~@2",
  M: "a#4 ~@2 [a4,c5] ~@2 a#4 ~@2 c5 ~ g4@6 ~@7, ~@5 g4@6 ~@13", // Am
  N: "[~@3 c5@6 ~@12 f4 ~ e4 ~@3 f4 ~ e4 d4@3 f4 e4!2 d4@2 f4 ~ e4 ~ g4@2 f4@2 f4@2, ~@9 c5@19 ~@20]/2",
  O: "g4!2 f4 a4 g4!2 a4!2 g4 c5 a4!2", P: "c5@2 c5@2 a4@2 d5@2 c5@3 ~ d5@3 ~@9",
  Q: "c4@2 g4 [e4,g4]@3 [f4,g4]@3 f4@3 ~@12", R: "[~@3 a#3@2 ~@5 g4@2 g4@2 ~@2, ~@3 c4@26 ~@19]/2",
  S: "~ e4@2 e4@2 ~@3", T: "~ c5@2 c5@2 ~@3", U: "[~@2 f4@2 ~@5 a#3@2 a#3@2 ~@3, ~@6 f4@13 ~@5]/2", V: "~ g4!2 ~",
  W: "~@5 a#4 ~ a4 a#4!2 a4!2", X: "a#4!2 a4 c5 a#4!2 c5 a4 a#4!2 a4!2", Y: "a#4 g4 a4 f4 g4 e4 f4!2 e4 g4 f4!2",
  Z: "g4 d4 f4 c4 d4 g3 c4!2 g3 e4 c4!2", AA: "e4!2 c4 g4 e4!2 g4 c5 e4 e5 c5 f5",
  AB: "e5@2 g5@2 f5@2 ~@2 g5@3 ~ f5@6 ~@6, ~@6 [f4,f5]@4 ~@2 f4@3 ~@9", AC: "~ a#4!2 a4",
  AD: "a4@6 g4@6 g4@5 d4 ~@2 a4 ~@2 [d4,a#4], ~@3 g4", AE: "g4 ~ [g4,a4] ~@2 c5@3 g4 ~@2 c5@3 ~@10, ~@5 a#4 ~@18",
  AF: "~ e5!2 ~", AG: "~@3 d5 ~ e5 f5@3 [d5,e5] ~ e5 f5@3 e5 ~ d5@6 ~, ~@11 d5@4 ~@9",
  AH: "[~@3 d5 ~ c5 d5 ~@2 d5 ~ c5 d5 ~ c5@3 ~ a4@4 ~@2 a4@2 a#4 ~@5 a4@4 [g4,g5]@6 g5@6, ~@8 c5@3 a#4@6 a#4@6 a#4@3 ~ a4@3 g4@6 ~@12, ~@7 a#4 ~@4]/2", // G
  AI: "e5 g5 f5 g5!2 ~ g5 ~@5", AJ: "~ c5!2 b4", AK: "b4@6 a4@6 a4@5 e4 ~@2 b4 ~@2 [e4,c5], ~@3 a4",
  AL: "a4@2 [a4,b4] ~@2 d5@3 a4 ~@2 d5@3 ~@10, ~@5 c5 ~@18", AM: "~ f#5!2 ~",
  AN: "~@3 e5 ~ f#5 g5@3 [e5,f#5] ~ f#5 g5@3 f#5 ~ e5@6 ~, ~@11 e5@4 ~@9", // Esus2
  AO: "[~@3 e5 ~ d5 e5 ~@2 e5 ~ d5 e5 ~ d5@3 ~ b4@4 ~@2 b4@2 c5 ~@5 b4@4 [a4,a5]@6 a5@6, ~@8 d5@3 c5@6 c5@6 c5@3 ~ b4@3 a4@6 ~@12, ~@7 c5 ~@4]/2", // A
  AP: "~ g5!2 ~", AQ: "~@3 e5 ~ d5 e5 ~@2 e5 ~ d5 e5 ~ d5@3 ~ b4@4 c5 ~, ~@8 d5@3 c5@6 c5@5 ~@2",
  AR: "b4 ~@3 b4@2 [a4,a5]@3 a5@3, ~ b4@2 a4@3 ~@6, ~ c5 ~@4", AS: "~@3 g5!2 ~ g5 ~@5",
  AT: "a4 ~ [a4,b4] ~@2 d5@3 a4 ~@2 d5@3 ~@10, ~@5 c5 ~@18", // Asus2
  AU: "[b4@6 a4@6 a4@5 e4 ~@2 b4@3 e4 a4@2 [a4,b4]@3 [c5,d5]@3 a4@3 d5@3 ~@10, ~@18 a4@5 c5@3 ~@22]/2", // Asus2 Csus2
})).s("gm_piano").gain(0.15).pan(0.2)

// chords · piano · "piano echo1" · soft notes
const piano_soft = note(`<
  A B C D E B C D E B C D E B C F G@2 ~@12 H@3 I J@2 K@2 L@2 M N O ~@5 P@8 Q@3 R@4 ~@3 S T U V W X@3 Y Z@3 AA AB ~@3 S T
  U V W AC@3 AD AE@3 AF AG@3 AD AH@4 AI@3 AJ AH@4 AK@3 AJ AH@4 AL
>`.pickRestart({
  A: "~@3 g5", B: "~@3 a4 g5 f5@3", C: "~@3 a4 f5 e5@3", D: "~@3 a4 e5 d5 ~@2", E: "~ a4 d5 e5 f5 d5 g5@2",
  F: "~@3 a4 e5 ~@3", G: "[~ d5 e5 f5 g5 a5 d6@8 ~@2]/2",
  H: "[~@15 c4 ~@2 a#3@4 c4@4 d4@2 ~@2 f4@4 d4 ~@3 a#3@4 c4@3 ~@2 d4@3 ~@6 g4 ~@15]/3", I: "~@20 a3@3 ~",
  J: "[a#3@18 g4@19 ~@2 e4@3 ~@2 d4@4]/2", K: "[e4@18 c5@9 ~@12 c5 a#4 a4 a#4@6]/2",
  L: "[~@9 a4 ~@2 a#4 ~@2 c5 ~ g4@19 ~@12]/2", M: "~@15 f4 ~ e4 d4@3 ~ e4@2",
  N: "~@2 f4@2 ~@2 g4@2 ~@2 f4@3 ~ g4@2 ~@2 a4@2 ~@2 g4@2", O: "~@2 a4@2 ~@2 c5@2 ~@2 a4@3 ~ c5@3 ~ d5@3 ~@3",
  P: "[~@15 c4 ~@2 a#3@4 c4@4 d4@2 ~@2 f4@4 d4 ~@3 a#3@4 c4@3 ~@2 d4@3 ~@6 g4 ~@3 f4@24 ~@3 a#3@24 ~@3 g4@19 ~@2 e4@25 ~@2 c5@9 ~@12 c5 a#4 a4 a#4@6]/8",
  Q: "[~@9 a4 ~@2 a#4 ~@2 c5 ~ g4@19 ~@3 c5@19 ~@14]/3", R: "[~@15 a#3@24 ~@3 g4@19 ~@2 e4@25 ~@8]/4", S: "~@11 a#4",
  T: "~@2 a4@2 ~@2 a#4@2 ~@2 a4@3 ~ a#4@2 ~@2 c5@3 ~ a#4@2", U: "~@2 a4@2 ~@2 a#4@3 ~ a4@3 ~ g4@3 ~ f4@2 ~@2 e4@2",
  V: "~@2 f4@2 ~@2 g4@3 ~ f4@3 ~ d4@3 ~ c4@2 ~@2 g3@2", W: "~@2 c4@2 ~@2 e4@2 ~@2 c4@3 ~ e4@2 ~@2 g4@3 ~ e4@2",
  X: "[~@2 c5@3 ~ e5@3 ~ f5@2 ~@2 g5@3 ~ f5@24 a#4@12 a4@12 ~@6, ~@6 f4 ~@17]/3",
  Y: "~@5 d4 g4@2 a4@3 a#4@3 g4@3 c5@3 ~@4", Z: "[~@18 e5@11 ~@10 d5 ~ e5 f5@3 e5 ~ d5@4 ~@12 d5 ~ c5 d5 ~ c5@3 ~]/3",
  AA: "~@3 a4 ~ a#4@2 a4@2 g4@3", AB: "g5 ~@3", AC: "[~@2 c5@3 ~ e5@3 ~ g5@2 ~@2 g5@3 ~ g5@24 c5@12 b4@12 ~@6]/3",
  AD: "~@5 e4 a4 ~ b4 ~@2 c5 ~@2 a4 ~@2 d5@3 ~@4",
  AE: "[~@18 f#5@11 ~@10 e5 ~ f#5 g5@3 f#5 ~ e5@4 ~@12 e5 ~ d5 e5 ~ d5@3 ~]/3", AF: "~@3 b4 ~ c5@2 b4@2 a4@3",
  AG: "[a5 ~@2 g5@4 c5@2 b4@2 ~, ~@6 g4 ~@17]/3",
  AH: "[~@18 f#5@11 ~@10 e5 ~ f#5 g5@3 f#5 ~ e5@4 ~@12 e5 ~ d5 e5 ~ d5@3 c5@5 ~@2 b4@2 ~@2 c5@4 b4@4 a4@6]/4",
  AI: "[a5@6 ~@4 g5@2 ~@2 g5@3 ~ g5@24 c5@12 b4@12 ~@6]/3", AJ: "~@5 e4 a4@2 b4@3 c5@3 a4@3 d5@3 ~@4",
  AK: "[a5 ~@2 g5@4 c5@2 b4@2 ~]/3", AL: "a5 ~@3",
})).s("gm_piano").gain(0.1).pan(0.2)

// bass · synth bass 2 · "bass"
const bass = note(`<
  A@2 B@2 C@2 A D A@2 B@2 C@2 A D A@2 B@2 C@2 A D A@2 B@2 C@2 E F G E H F@2 E H F A D A@2 B@2 C@2 E F G E H F@2 E H F G
  E H F ~@9 G E H F@2 E H F ~@9 I F C J@2 F C J I F C J@2 F C J I F C J@2 F C J I F C J@2 F C J ~
>`.pickRestart({
  A: "d2@3 ~@3 d2@3 ~@2 d2@3 ~ d2@3 ~@3 c2@3", B: "g1@3 ~@3 g1@3 ~@2 g1@3 ~ g1@3 ~@3 f1@3",
  C: "a1@3 ~@3 a1@3 ~@2 a1@3 ~ a1@3 ~@3 a1@3", D: "d2@3 ~@3 d2@3 ~@2 d2@3 ~ d2@3 c2@3 a1@3",
  E: "a#1@3 ~@3 a#1@3 ~@2 a#1@3 ~ a#1@3 ~@3 a#1@3", F: "c2@3 ~@3 c2@3 ~@2 c2@3 ~ c2@3 ~@3 c2@3",
  G: "f2@3 ~@3 f2@3 ~@2 f2@3 ~ f2@3 ~@3 f2@3", H: "g1@3 ~@3 g1@3 ~@2 g1@3 ~ g1@3 ~@3 g1@3",
  I: "g2@3 ~@3 g2@3 ~@2 g2@3 ~ g2@3 ~@3 g2@3", J: "d2@3 ~@3 d2@3 ~@2 d2@3 ~ d2@3 ~@3 d2@3",
})).s("gm_synth_bass_2").gain(0.44)

// chords · synth strings 1 · "chords"
const synth_strings_1 = note(`<
  ~@16 A@2 B@2 C@2 A@4 B@2 C@2 D E F G H I@2 G H I J@2 K@2 L@2 M@2 D E F G H I@2 G H I F G H I N O P Q R S T U@2 F G H
  I@2 G H I N O P Q V W X Y@2 Z I AA AB@2 I AA AB Z I AA AB@2 I AA AB Z I AA AB@2 I AA AB Z I AA AB@2 I AA AB ~
>`.pickRestart({
  A: "[d3,f3,a3]/2", B: "[d3,f3,a#3]/2", C: "[c3,e3,g3]/2", D: "[d3,f3,a#3]", E: "[e3,g3,c4]", F: "[a3,c4,f4]",
  G: "[f3,a#3,d4]", H: "[g3,a#3,d4]", I: "[g3,c4,e4]", J: "[f3,a3,d4]/2", K: "d3/2", L: "g3/2", M: "a3/2",
  N: "[c3,g3,c4,e4]", O: "[f3,a3,c4,f4]", P: "[f3,a3,d4,f4]", Q: "[e3,a3,c4,e4]", R: "[d#3,d#4,g4,a#4]",
  S: "[g3,d4,g4,a#4]", T: "[f3,a#3,d4,f4]", U: "[c3,c4,e4,g4]/2", V: "[d#4,g4,a#4]", W: "[d4,g4,a#4]", X: "[a#3,d4,f4]",
  Y: "[c4,e4,g4]/2", Z: "[b3,d4,g4]", AA: "[a3,c4,e4]", AB: "[a3,d4,f#4]",
})).s("gm_synth_strings_1").gain(0.25)

// chords · string ensemble 2 · "string2"
const string_ensemble_2 = note("<~@15 A@8 B@6 C@8 D@3 ~ E@6 C@8 F@8 G H I@6 ~@7 J@4 K@6 ~@33>".pickRestart({
  A: "[~@23 d5@48 a#4@48 g4@48 d4@25]/8", B: "[~@23 d5@48 a#4@48 c5@25]/6",
  C: "[~@23 [f4,a#4,d5]@24 [g4,c5,e5]@24 f5@24 a#4@24 g4@24 c5@24 e5@24 d5]/8", D: "[~@23 a#4@24 c5@24 ~]/3",
  E: "[~@23 d3@48 g3@48 a3@25]/6",
  F: "[~@23 a#4@24 c5@24 f5@24 a#4@24 g4@24 c5@24 ~ [c3,g3,c4,e4]@24, ~@167 e5@24 ~]/8", G: "[f3,a3,c4,f4]",
  H: "[f3,a3,d4,f4]", I: "[[e3,a3,c4,e4]@23 [d#5,g5,a#5]@24 [d5,g5,a#5]@24 [d5,f5,a#5]@24 [e5,g5,c6]@48 ~]/6",
  J: "[~@23 e5@24 f5@24 f5@24 e5]/4", K: "[~@23 [d#5,g5,a#5]@24 [d5,g5,a#5]@24 [d5,f5,a#5]@24 [e5,g5,c6]@48 ~]/6",
})).s("gm_string_ensemble_2").gain(0.25).pan(0.6)

// other · string ensemble 1 · "string melody"
const string_ensemble_1 = note(`<
  ~@71 A B C@2 D E F G ~@9 H I J@2 K L M N H I J@2 K L M N O I J@2 K L P Q O I J@2 K L P Q ~
>`.pickRestart({
  A: "f5, f4 ~@7", B: "a#4 a4", C: "[g4@10 ~ d4 g4@2 a4@3 a#4@3 g4@3 c5@25]/2", D: "e5@21 d5 ~ e5",
  E: "f5@3 e5 ~ d5@16 d5 ~ c5", F: "d5 ~ c5@3 a#4@7 a4@4 a#4@4 a4@4", G: "g4 g5@3", H: "g5", I: "c5 b4",
  J: "[a4@10 ~ e4 a4@2 b4@3 c5@3 a4@3 d5@25]/2", K: "f#5@21 e5 ~ f#5", L: "g5@3 f#5 ~ e5@16 e5 ~ d5",
  M: "e5 ~ d5@3 c5@7 b4@4 ~ c5 ~@2 c5 b4@3", N: "a4@6 a5@17 ~", O: "g5, g4 ~@7", P: "e5 ~ d5@3 c5@7 b4@4 c5@4 b4@4",
  Q: "a4 a5@3",
})).s("gm_string_ensemble_1").gain(0.19).pan(0.4)

// bass · synth strings 1 · "bass string"
const bass_2 = note("<~@62 A B C@2 D E F G@2 ~@8 A B C@2 D E F G@2 ~@33>".pickRestart({
  A: "[c2,c3]", B: "[f2,f3]", C: "[a1,a2]", D: "[d#2,d#3]", E: "[g1,g2]", F: "[a#1,a#2]", G: "[c2,c3]/2",
})).s("gm_synth_strings_1").gain(0.22)

// drums · kick
const kick = s("bd").struct("<A@15 B@2 ~@7 A@16 B ~ A@20 B ~@3 B ~@2 C A@9 B ~ A@6 D A@32 ~>".pickRestart({
  A: "x!4", B: "x", C: "x!2", D: "x ~@2 x ~@2 x ~",
})).gain(0.45)

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

// drums · hihat
const hihat = s("hh").struct("<A@16 ~@8 A@16 ~@2 A@20 ~@9 A@8 ~@9 A@32 ~>".pickRestart({
  A: "x!4",
})).gain(0.3)

// drums · open hat
const open_hat = s("oh").struct("<A@16 ~@8 A@16 ~@2 A@20 ~@9 A@8 ~@4 A@4 ~ A@32 ~>".pickRestart({
  A: "~ x ~ x ~ x ~ x",
})).gain(0.3)

// drums · splash
const splash = s("cr").struct(`<
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A@3 ~@6 B A ~@7 A ~ A ~ A ~ A ~ A ~ A ~@7 A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~@2 C D A ~ A ~
  A ~ A ~ A ~@3 A ~@3 E A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2
>`.pickRestart({
  A: "x", B: "~@4 x!4", C: "x!2", D: "x!4", E: "x ~@2 x ~@2 x ~",
})).gain(0.3)

stack(
  piano, piano_2, piano_soft, bass, synth_strings_1, string_ensemble_2, string_ensemble_1, bass_2, kick, rim, hihat,
  open_hat, splash
)

More by Robert Miles