Strudelify

Killer, Part 1 (Peter Rauhofer remix)

Seal

KeyA majorTempo100 bpm
0:00/0:00
// Killer, Part 1 (Peter Rauhofer remix) — Seal
// 100 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 16 piano (copy of ch 13 piano)
// note: Full arrangement: all 115 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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 · distortion guitar
const distortion_guitar = note("<~@82 A@2 B C D E ~ C D ~@24>".pickRestart({
  A: "[~@15 a2@7 d3@6 ~@4]/2", B: "~@3 d3@2 ~@3", C: "c3@3 d3@3 ~@2", D: "~ d3@3 ~@4", E: "a2@5 ~ d3@6 ~@4",
})).s("gm_distortion_guitar").gain(0.5).pan(0.6)

// chords · pad sweep
const pad_sweep = note(`<
  A ~@2 A B ~@2 A B ~@2 A B ~@2 C D ~@2 A B ~@2 A B E F G H E F A I E F J B ~@3 A B ~@2 A B ~@2 A B ~@2 C D ~@2 A B ~@2
  A B E F G H E F A I E F J B ~@4 K@4 ~ L@3 M L ~ L M ~@24
>`.pickRestart({
  A: "[d4,e4,a4]", B: "[c#4,e4,a4]", C: "[a4,d5,e5]", D: "[a4,c#5,e5]", E: "[e4,c5]", F: "[g4,b4]", G: "[f#4,a4]",
  H: "[e4,a4]", I: "a4@7 ~", J: "[d4,f#4,a4]", K: "[~@14 [g4,g5]@14 ~ [e4,e5] ~@2]/2", L: "~@3 [d3,d4,d5]@2 ~@3",
  M: "~ [d3,d4,d5]@2 ~@5", // D
})).s("gm_pad_sweep").gain(0.45)

// chords · synth brass 1
const synth_brass_1 = note("<~ A B C D E F G H@8 ~@22 E F G I@3 J K@2 ~@68>".pickRestart({
  A: "[b3,e4]@2 [b3,e4]!2 ~ [b3,e4]!2 ~ [b3,e4]!2 ~ [b3,e4]!2 ~ b3 [b3,e4]", // E5
  B: "[d4,g4] ~@2 [d4,g4] ~ d4 [d4,g4] ~ [d4,g4]!2 ~ [d4,g4]!2 ~@2 [d4,g4]", // G5
  C: "[d4,e4,a4] ~ [d4,e4] [d4,e4,a4] ~ e4 [d4,e4,a4] ~ [d4,e4,a4]!2 ~ e4 [d4,e4,a4] ~ [d4,e4] [d4,e4,a4]", // Dsus2
  D: "[c#4,e4,a4] ~ [c#4,e4] [c#4,e4,a4] ~ [c#4,e4,a4]!2 ~ [c#4,e4,a4]!2 ~@2 [c#4,e4,a4] ~ [c#4,e4,a4] ~", // A C#m A
  E: "[a3,b3,e4] ~ [b3,e4] [g3,b3,e4] ~ [g3,b3,e4]!2 ~ [g3,b3,e4]!2 ~ [g3,b3,e4]!2 ~ [g3,b3,e4]!2", // Asus2 E5 Em
  F: "[b3,d4,g4] ~ g4 [b3,d4,g4] ~ [b3,d4,g4]!2 ~ [b3,d4,g4]!2 ~ [b3,d4,g4]!2 ~@2 [d4,g4]", // G G5
  G: "[d4,e4,a4] ~@2 [d4,e4,a4] ~ [d4,e4,a4]!2 ~ [d4,e4,a4]!2 ~ [d4,e4,a4]!2 ~ [d4,e4,a4]!2", // Dsus2
  H: "[[c#4,e4,a4] ~ [c#4,e4,a4]!2 ~ [c#4,e4,a4]!2 ~ [c#4,e4,a4]!2 ~ [c#4,e4,a4]!2 ~ [c#4,e4,a4] [c#4,e4] ~@112, ~@15 a4@113]/8", // A C#m
  I: "[[c#4,e4,a4] ~ [c#4,e4,a4]!2 ~ [c#4,e4,a4]!2 ~ [c#4,e4,a4]!2 ~ [c#4,e4,a4]!2 ~ [c#4,e4,a4] [c#4,e4] [a3,b3,e4] ~ [b3,e4] [g3,b3,e4] ~ [g3,b3,e4]!2 ~ [g3,b3,e4]!2 ~ [g3,b3,e4]!2 ~ [g3,b3,e4]!2 [b3,d4,g4] ~ g4 [b3,d4,g4] ~ [b3,d4,g4]!2 ~ [b3,d4,g4]!2 ~ [b3,d4,g4]!2 ~@2 [d4,g4], ~@5 a4@11]/3", // A C#m Asus2 E5 Em G G5
  J: "[d4,e4] ~@2 [d4,e4] ~ [d4,e4,a4] [d4,e4] ~ [d4,e4,a4] [d4,e4] ~ [d4,e4,a4] [d4,e4] ~ [d4,e4,a4]!2, a4@2 ~ a4@2 ~ a4@2 ~ a4@2 ~ a4@2 ~@2", // Dsus2
  K: "[[c#4,e4] ~ [c#4,e4,a4] [c#4,e4] ~ [c#4,e4,a4] [c#4,e4] ~ [c#4,e4,a4] [c#4,e4] ~ [c#4,e4,a4] [c#4,e4] ~ [c#4,e4,a4] [c#4,e4] ~@16, a4@2 ~ a4@2 ~ a4@2 ~ a4@2 ~ a4@2 ~ a4@2 ~@15]/2", // C#m A C#m A C#m A C#m A …
})).s("gm_synth_brass_1").gain(0.11)

// chords · synth brass 1 · soft notes
const synth_brass_1_soft = note("<~ A B C D ~ E F ~@31 E F ~@2 E F ~@70>".pickRestart({
  A: "~@14 e4 ~", B: "~@2 [d4,g4] ~@2 g4 ~@8 d4 ~", C: "~@2 a4 ~@2 [d4,a4] ~@5 [d4,a4] ~@2 a4 ~",
  D: "~@2 a4 ~@8 [c#4,e4] ~@4", E: "~@2 [b3,d4] ~@11 [b3,d4,g4] b3", F: "~@2 [e4,a4] ~@13",
})).s("gm_synth_brass_1").gain(0.04)

// chords · string ensemble 2
const string_ensemble_2 = note("<~@23 A@2 ~@35 A@2 ~@20 B@2 C D E F G H I J@2 K@2 L@4 M N O@3 P Q@2 ~@8>".pickRestart({
  A: "[~@2 a3 a4, a2]/2", B: "[~@14 [a3,c4,e4]@17 ~]/2", C: "[f#3,b3,d4,f#4]", D: "[g3,b3,c4,e4,g4]",
  E: "e4 f#4, [a3,d4,a4]", F: "e5@2 a5 g5, [g4,a4,c5]", G: "f#5 b5, [a4,b4,d5]", H: "[b4,c5,e5,g5]",
  I: "[a4,e5,f#5,a5]", J: "[d5,g5,b5]/2", K: "[c5,e5,a5]/2", L: "[g5@23 ~ b5@7 a5@29 g5@4, [d5,e5]@31 [c5,e5]@33]/4",
  M: "f#5@3 e5, [g4,b4]", N: "b4@3 e5, [e4,g4]", O: "[c5@23 ~ d5@7 [e4,b4]@17, [g4,a4]@31 ~@17]/3",
  P: "[g4,b4,e5]@2 [b4,g5] [d5,b5]", Q: "[[c5,e5], a5@3 ~]/2",
})).s("gm_string_ensemble_2").gain(0.25).pan(0.2)

// chords · percussive organ
const percussive_organ = note(`<
  ~ A B C D E F G H I B C J K F G L A B C M N F G O P Q R S T Q R S T Q R S ~ E F G H E F G H I B C J K F G L A B C M N
  F G O P Q R S T Q R S T Q R U@8 ~@34
>`.pickRestart({
  A: "[b3,e4]@2 [b3,e4]!2 ~ [b3,e4] b3@2 [e4,b4]!2 ~ [e4,b4] [e4,b4]@2 b4 [e4,b4], ~@6 e4 ~@9", // E5
  B: "[g4,d5]@2 ~ [g4,d5]@2 d5 [g4,d5]@2 [g4,d5] [d5,g5]@2 [d5,g5] [g5,d6]@2 [g5,d6]!2", // G5
  C: "[a4,d5,e5]@2 [d5,e5] [a4,d5,e5]@2 e5 [a4,d5,e5]@2 [d5,e5,a5]!2 ~ e5 [e5,a5,d6]@2 [e5,d6] [e5,a5,d6]", // Asus4 Dsus2 Asus4 Dsus2 E7 Dsus2
  D: "[a4,c#5,e5]@2 [a4,e5] [a4,c#5,e5] ~ [a4,c#5,e5] [a4,c#5,e5]@2 [c#5,e5,a5]!2 ~ [e5,a5] [a4,e5,a5,e6]@2 [a4,e5,a5,e6]!2", // A A5 A A5
  E: "[b3,e4]@2 [b3,e4] [b3,e4]@2 [b3,e4] [b3,e4]@2 [e4,b4]!2 ~ [e4,b4] [e4,b4]@2 [e4,b4]!2", // E5
  F: "[g4,d5] ~ [g4,d5] [g4,d5]@2 [g4,d5]!2 ~ [d5,g5]!2 ~ [d5,g5] [g5,d6]@2 d6 [g5,d6]", // G5
  G: "[a4,d5,e5] ~@2 [a4,d5,e5] ~ [a4,d5,e5] [a4,d5,e5]@2 [d5,e5,a5]!2 ~ [d5,e5,a5] [d5,e5,a5,e6]@2 [d5,e5,a5,e6]!2", // Asus4 Dsus2
  H: "[a3,e4,a4]@2 [e4,a4] [a3,e4,a4] ~ [a3,e4,a4]!2 ~ [e4,a4,e5]!2 ~ [a4,e5,a5]!2 ~ [e5,a5,e6]!2", // A5
  I: "[e4,b4]@2 [e4,b4]!2 ~ [e4,b4] b4@2 [e4,b4]!2 ~ [e4,b4] [e4,b4]@2 b4 [e4,b4], ~@6 e4 ~@9", // E5
  J: "[e4,a4,e5]@2 [a4,e5] [a4,c#5,e5] ~ [a4,c#5,e5] [a4,c#5,e5]@2 [c#5,e5,a5]!2 ~ [e5,a5] [a4,e5,a5,e6]@2 [a4,e5,a5,e6]!2", // A5 A A5
  K: "[e4,b4]@2 [e4,b4] [e4,b4]@2 [e4,b4] [e4,b4]@2 [e4,b4]!2 ~ [e4,b4] [e4,b4]@2 [e4,b4]!2", // E5
  L: "[c#5,e5,a5]@2 [a4,c#5,e5]!2 ~ [e4,a4,c#5]!2 ~ [a4,c#5,e5]!2 ~ [c#5,e5,a5]!2 ~ [e5,a5,e6]!2", // A A5
  M: "[e4,a4,c#5]@2 [e4,a4,c#5] [a4,c#5,e5] ~ [a4,c#5,e5] [a4,c#5,e5]@2 [c#5,e5,a5]!2 ~ [e5,a5] [a4,e5,a5,e6]@2 [a4,e5,a5,e6]!2", // A A5
  N: "[b3,e4]@2 [b3,e4] [b3,e4]@2 [b3,e4] [b3,e4]@2 [e4,b4]!2 ~ [e4,b4] [b4,e5]@2 [b4,e5]!2", // E5
  O: "[e4,a4,c#5]@2 [e4,a4,c#5] [a4,c#5,e5] ~ [a4,c#5,e5]!2 ~ [c#5,e5,a5]!2 ~ [c#5,e5,a5] [e5,a5,e6] ~ [e5,a5,e6]!2", // A A5
  P: "[g4,c5]@2 [g4,c5]!2 ~ [g4,c5] c5@2 [g4,c5]!2 ~ [g4,c5] [g4,c5]@2 c5 [g4,c5], ~@6 g4 ~@9", // C5
  Q: "[g4,b4]@2 ~ [g4,b4]@2 g4 [g4,b4]@2 [g4,b4] [g4,b4]@2 [g4,b4] [g4,b4]@2 [g4,b4]!2", // G
  R: "[d4,a4]@2 d4 [d4,a4]@2 d4 [d4,a4]@2 [d4,a4]!2 ~@2 [d4,a4]@2 d4 [d4,a4]", // D5
  S: "[e4,a4]@2 [e4,a4]!2 ~ [e4,a4] [e4,a4]@2 [a4,c#5,e5]!2 ~ [e5,a5] [a4,e5,a5]@2 [a4,e5,a5]!2", // A5 A A5
  T: "[c4,g4]@2 [c4,g4]!2 ~ [c4,g4] c4@2 [c4,g4]!2 ~ [c4,g4] [c4,g4]@2 c4 [c4,g4], ~@6 g4 ~@9", // C5
  U: "[[e4,a4]@2 [e4,a4]!2 ~ [e4,a4] [e4,a4]@2 [a4,c#5,e5]!2 ~ [e5,a5] [a4,e5,a5]@2 [a4,e5,a5] [a4,e5,a5]@113]/8", // A5 A A5
})).s("gm_percussive_organ").gain(0.3)

// chords · percussive organ · soft notes
const percussive_organ_soft = note(`<
  ~ A B C D ~ E F G A B C H ~ E F ~ A B C I ~ E F ~ J K L M J K L M J K L M ~@2 E F G ~ E F G A B C H ~ E F ~ A B C I ~
  E F ~ J K L M J K L M J K L M ~@41
>`.pickRestart({
  A: "~@14 e4 ~", B: "~@2 [g4,d5] ~@2 g4 ~@10", C: "~@2 a4 ~@2 [a4,d5] ~@5 [d5,a5] ~@2 a5 ~",
  D: "~@2 c#5 ~@8 [a4,e6] ~@4", E: "~@14 g5 ~", F: "~@2 [a4,e5] ~@13", G: "~@2 a3 ~@13", H: "~@2 e4 ~@8 [a4,e6] ~@4",
  I: "~@11 [a4,e6] ~@4", J: "~@14 g4 ~", K: "~@2 [g4,b4] ~@2 b4 ~@10", L: "~@2 a4 ~@2 a4 ~@5 [d4,a4] ~@2 a4 ~",
  M: "~@11 a4 ~@4",
})).s("gm_percussive_organ").gain(0.12)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  A B ~@7 C@2 ~@4 D E F ~@5 G E H@2 I J K@2 L J M@2 I J N O ~@3 P@2 ~@2 C@2 ~@4 D E F ~@5 G E H@2 I J K@2 L J M@2 I J N
  O ~@8 Q ~ Q ~ Q ~ Q ~@24
>`.pickRestart({
  A: "~@12 [a3,d4] [b3,e4] [a3,d4] [b3,e4]", B: "[a3,d4] [b3,e4] [a3,d4] [b3,e4] ~@12",
  C: "[~ [g3,b3,e4]@16 ~@15, e2@19 ~@13, [b2,e3]@17 ~@15]/2", // Em E5
  D: "[a3,e4]@2 [a3,e4]!2 ~ a3 ~ [a3,e4] ~ [a3,e4] [a3,e4]@2 [a3,e4]@2 ~@2", // A5
  E: "~@8 [a3,d4] [b3,e4] [a3,d4] [b3,e4] ~@4", F: "e3@5 ~@11",
  G: "[a3,e4]@2 ~ [a3,e4] ~@3 [a3,e4] ~ [a3,e4] [a3,e4]@2 a3@2 ~@2", // A5
  H: "[~ [b3,c4,e4]@9 ~@2 b3@2 ~@2 [g4,b4]@2 ~ g4 ~ g4 ~ [g4,b4] ~ [g4,b4] [g4,b4]@2 [g4,b4]@2 [g4,b4]@2, c3@7 c4@2 ~@7, g3@9 ~ g4@5 ~@17]/2", // Cmaj7 G
  I: "[f#4,a4]@2 [f#4,a4] a4 ~ [f#4,a4] ~ [f#4,a4] [f#4,a4]@2 [f#4,a4]@2 [f#4,a4]@2 ~@2", // F#m
  J: "[e4,a4]@2 [e4,a4]!2 ~ [e4,a4] ~ [e4,a4]@2 [e4,a4] [e4,a4]@2 [e4,a4]@2 [e4,a4]@2", // A5
  K: "[~@4 c5@2 g4@2 ~ d4 g4 d5!3 ~@2, b3@21 ~@11, c3@9 ~@7, g3 g3, ~ [c4,e4]@18 ~@13]/2", // C
  L: "[e4,a4]@2 [e4,a4] a4 ~ [e4,a4] ~ [e4,a4] [e4,a4]@2 [e4,a4]@2 [e4,a4]@2 ~@2", // A5
  M: "[~@4 c5@2 g4@2 ~ f#4 g4 d5!4 ~, b3@21 ~@11, [c3,g3] g3, ~ [c4,e4]@18 ~@13]/2", N: "[e4,a4] ~@7", O: "e2",
  P: "[e2@19 ~@13]/2", Q: "~@5 [g3,d4,g4] ~@2",
})).s("gm_electric_guitar_clean").gain(0.35).pan(0.1)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~@15 A B ~@6 C B ~ D E ~@2 F G ~@2 H E ~ I ~@14 A B ~@6 C B ~ D E ~@2 F G ~@2 H E ~ I ~@40
>`.pickRestart({
  A: "~@5 e4 ~@8 [a3,e4]@2", B: "[a3,e4]@2 [a3,e4]@2 ~@8 [a3,d4] [b3,e4] [a3,d4] [b3,e4]",
  C: "~@2 [a3,e4] ~@2 [a3,e4] ~@6 e4@2 [a3,e4]@2", D: "~@2 [g4,b4] b4 ~ b4 ~@10", E: "~@3 f#4 ~@10 [f#4,a4]@2",
  F: "~@6 d5!2", G: "~@3 e4 ~@10 [e4,a4]@2", H: "~@7 d5", I: "~ [e4,a4] ~@6",
})).s("gm_electric_guitar_clean").gain(0.14).pan(0.1)

// chords · distortion guitar
const distortion_guitar_2 = note(`<
  ~@25 A B C D E B F G A H F I ~@25 A B C D E B F G A H F I ~@9 J K L M J N L M O P Q D O R S T O H U V O P Q ~@9
>`.pickRestart({
  A: "~@8 [c3,g3] [g3,c4] ~ [c4,g4] ~@4", B: "~ [d3,g3] ~ [g3,d4] [d4,g4] ~@4 [d3,g3] ~ [g3,d4] [d4,g4] ~ [g4,d5] ~",
  C: "~@4 [d3,a3] [a3,d4] ~ [d4,a4] ~@8", D: "~@10 [e3,a3] [a3,e4] [e4,a4] [a4,e5] ~@2",
  E: "~@8 [d3,a3] [g3,c4] ~ [c4,g4] ~@4", F: "~@4 [d3,a3] [a3,d4] ~ [d4,a4] ~@4 [d3,a3] [a3,d4] ~ [d4,a4]",
  G: "~@4 [e3,a3] [a3,e4] ~ [e4,a4] ~ [a3,e4] ~ [e4,a4] [a4,e5] ~@3", // A5
  H: "~ [e3,b3] ~ [b3,e4] [e4,b4] ~@4 [e3,b3] ~ [b3,e4]!2 ~ [e4,b4] ~", // E5
  I: "~@4 [d3,a3] [a3,d4] ~ [d4,a4] ~@2 [d3,a3] [a3,d4] [d4,a4] [a4,d5] ~@2", J: "~@12 a3!2 [e4,a4] ~",
  K: "b3 ~ [b3,f#4] ~ b4 ~@7 f#3!2 [d4,g4] ~", L: "~@12 g3 [g3,c4] [c4,g4] ~", M: "~@6 [g3,c4] ~ [a3,d4] ~@7",
  N: "b3 ~ [b3,f#4] ~ b4 ~@11", O: "~@8 [e3,b3] [b3,e4] ~ [d4,g4] ~@4",
  P: "~ [e3,b3] ~ [b3,e4] [d4,g4] ~@4 [e3,b3] ~ [b3,e4] [d4,g4] ~ [g4,d5] ~", Q: "~@8 [e3,a3] [a3,e4] ~ [e4,a4] ~@4",
  R: "~ [e3,b3] ~ [b3,e4] [d4,g4] ~@4 [d3,g3] ~ [b3,e4] [d4,g4] ~ [e4,b4] ~", // E5 G5 E5 G5 E5
  S: "~@4 [e3,a3] [a3,e4] ~ [e4,a4] ~ [e3,a3] [a3,e4] ~ [e4,a4] ~@3", // A5
  T: "~@3 [e3,a3] ~ [a3,e4] ~ [e4,a4] ~ [a3,e4] ~ [e4,a4] ~ [a4,e5]!2 ~", // A5
  U: "~@4 [a3,e4] [e4,a4] ~ [e3,a3] ~ [a3,e4] ~ [e4,a4] ~@4", // A5
  V: "~ [e3,a3] ~@2 [a3,e4] ~@2 [e4,a4] ~@2 [e3,a3] [a3,e4] [d4,a4] [a4,e5] ~@2", // A5 D5 A5
})).s("gm_distortion_guitar").gain(0.25).pan(0.9)

// chords · distortion guitar · soft notes
const distortion_guitar_soft = note("<~@28 A ~@7 B ~@28 A ~@7 B ~@9 C D E ~ C F E ~@4 A ~@7 A ~@12>".pickRestart({
  A: "~@9 [e3,a3] ~@6", B: "~@9 [d3,a3] ~@6", C: "~@12 e3 e4 ~@2", D: "f#3 ~@3 f#4 ~@7 b2 b3 ~@2", E: "~@12 c3 ~@3",
  F: "f#3 ~@3 f#4 ~@11",
})).s("gm_distortion_guitar").gain(0.17).pan(0.9)

// chords · piano
const piano = note("<~@79 A@3 B@2 C D E F C D E G H I J G K@2 L G M N O@2 P Q ~@9>".pickRestart({
  A: "[e1,e2]!2 ~@6 [e1,e2]!2 ~@6", B: "[[e1,e2]!2 ~@6 [e1,e2]!2 ~@2 [c2,c3] [b1,b2] ~ [a1,a2]@15 ~@2]/2",
  C: "[b1,b2]@15 ~", D: "[c2,c3]@15 ~", E: "[d2,d3]@15 ~", F: "[a1,a2]@7 ~",
  G: "~@4 [d4,e4,g4]@3 [d4,e4,g4] ~@7 [d4,e4,g4]", H: "~@4 [d4,e4,g4]@3 [d4,e4,g4] ~@2 [d4,e4,g4] ~@2 [d4,e4,g4] ~@2",
  I: "~@4 [c4,e4,g4]@3 [c4,e4,g4] ~@7 [c4,e4,g4]", // C
  J: "~@2 [c4,e4,g4] ~@2 [c4,e4,g4] ~@2 [c4,e4,g4]@3 [c4,e4,g4] ~@2 [c4,e4,g4] ~", // C
  K: "[~@2 [d4,e4,g4] ~@2 [d4,e4,g4] ~@2 [d4,e4,g4]@3 [d4,e4,g4] ~ [d4,e4,g4] ~ [c4,e4,g4]@5 [c4,e4,g4] ~@3 [c4,e4,g4]@5 ~@2 [c4,e4,g4]]/2", // Em7 C
  L: "~@2 [c4,e4,g4] ~@2 [c4,e4,a4] ~@2 [c4,e4,g4] ~@2 [c4,e4,g4] ~ [c4,e4,a4] ~@2", // C Am C Am
  M: "~@2 [d4,e4,g4] ~@2 [d4,e4,g4] ~@2 [d4,e4,g4]@3 [d4,e4,g4] ~@2 [d4,e4,g4] ~", // Em7
  N: "~@4 [c4,e4,g4]@3 [c4,e4,g4] ~@4 [c4,e4,g4] ~@3", // C
  O: "[~@2 [c4,e4,g4] ~@2 [c4,e4,g4] ~@2 [c4,e4,g4]@3 [c4,e4,g4] ~@3 [d4,e4,g4]@4 [d4,e4,g4] ~@5 [d4,e4,g4] ~@2 [d4,e4,g4] ~@2 [d4,e4,g4]]/2", // C Em7
  P: "~@4 [d4,e4,g4]@4 ~ [d4,e4,g4] ~@3 [d4,e4,g4] ~ [d4,e4,g4]", // Em7
  Q: "~ [c4,e4,g4] ~@2 [c4,e4,g4]@3 [c4,e4,g4] ~@4 [c4,e4,a4] ~@3", // C Am
})).s("gm_piano").gain(0.48).pan(0.2)

// bass · fretless bass
const bass = note(`<
  ~@4 A B C D E B F G H I J K L M N O P I Q K R S T S T U V S W U V X Y ~ B C D E B C D E B F G H I J K L M N O P I Q K
  R S T S T U V S W U V X Y ~@5 Z@3 AA@2 AB AC AD AE AB AC AD AF AG AH AI AF AJ@2 AK AL AG AH AM@2 AG AN ~@9
>`.pickRestart({
  A: "~@7 e2!9", B: "e1@2 ~@2 e1@2 ~ d1 e1 ~ e1@3 e1 ~ d1", C: "e1 ~ e1 ~ e1@2 ~ d1 e1 ~ d1@2 ~ g1@2 ~",
  D: "e1!3 ~ e1@3 d1 e1 ~ e1@3 g1@2 d1", E: "~ e1!2 ~ e1 ~ d1 e1 ~ a1 ~ b1 ~ d2 e2@2",
  F: "e1 ~ e1 ~ e1@2 ~ d1 e1 ~ d1@2 ~ e1@2 d1", G: "~ e1!2 ~ e1@3 d1 e1 ~ e1@3 d1 ~ d1",
  H: "~ e1!2 ~ e1 ~ d1 e1 ~ d1 ~ e1 ~ d2 e2@2", I: "e1@2 ~@2 e1@2 ~ d1 e1 ~ e1@3 e1 ~ g1",
  J: "~ d1 ~ g1@2 e1!2 ~ d1 ~ e1@2 ~ g1@2 e1", K: "~ e1 ~ e1 e2@2 d1 e1 ~@2 e1@3 d1 ~ d1",
  L: "~ e1!2 ~ e1@2 d1 g1 ~ a1 ~ b1 ~ d2 e2@2", M: "e1@3 e1 ~@3 d1 e1 ~ e1@3 e1 ~ d1",
  N: "e1 ~ e1 ~ e1@2 ~ d1 e1 ~ e1@2 ~ d1@2 g1", O: "~ e1 ~ e1 e1@3 d1 e1 ~ e1@3 d1 ~ d1",
  P: "~ e1!2 ~ e1 ~ d1 e1 ~ d1 ~ g1 ~ d1 e1 ~", Q: "~ e1 ~ g1@2 d1 e1 ~ e1 ~ e1@2 ~ g1@2 e1",
  R: "~ e1!2 ~ e1@2 d1 g1 ~ d1 ~ e1@2 d1 e1 ~", S: "e1@2 ~@5 e1 ~@2 e1@3 ~@2 e1", T: "~@2 e1 ~@4 e1 ~@2 e1@2 ~ g1@3",
  U: "e1@5 ~ e1!2 ~@2 e1@3 ~@2 e1", V: "e1 ~@6 e1 ~@2 e1@2 ~ g1@3", W: "e1@2 ~@5 e1 ~ b1 e2@5 ~",
  X: "~@2 e1@2 ~@3 e1 ~@2 e1@3 ~@2 e1", Y: "~@2 e1@3 ~@2 e1 ~@2 e2@5 ~", Z: "e1!2 ~@6 e1 e2 ~@6",
  AA: "[e1!2 ~@6 e1 e2 ~@2 c2 b1 ~ a1@16 ~]/2", AB: "b1", AC: "c2", AD: "d2", AE: "a1", AF: "e1 ~ e1 ~@4 e1!2 ~@6 e1",
  AG: "e1 e2 e1 ~@4 e1!2 e2 e1 ~ f#1@2 g1 g#1", AH: "a1 ~ a1 ~@4 a1!2 ~@6 e1", AI: "a1 a2 a1 ~@4 e1 g1 g#1 a1@6",
  AJ: "[e1 e2 e1 ~@4 e1!2 e2 e1 g1 ~ g#1 ~ a1@3 ~ a1 ~@3 g1 a1 a2 f#1@2 g1@2 g1 a1]/2",
  AK: "~ a1!2 ~@4 g1 a1 a2 e1 g1 a1@4", AL: "e1 ~ e1 ~@4 e1!2 ~@3 e2@4",
  AM: "[a1 a2 a1 ~@4 e1 g1 g#1 a1@3 g1 a1 e1@4 e1 ~@3 e1!2 ~@6 e1]/2", AN: "a1 ~ a1 ~@4 g1 a1 a2 f#1@2 g1@2 g1 g#1",
})).s("gm_fretless_bass").gain(0.5)

// bass · fretless bass · soft notes
const bass_soft = note("<~ [e2!16]!3 [e2!7 ~@9] ~@110>").s("gm_fretless_bass").gain(0.22)

// other · orchestra hit
const orchestra_hit = note("<~ [e4 ~] ~@3 [e4 ~@15] ~@109>").s("gm_orchestra_hit").gain(0.71)

// drums · kick
const kick = s("bd").struct(`<
  ~@5 A B C D E F G H E I J K L F I K E I M N E O P Q E O P C E O P R ~ A B C D A B C D E F G H E I J K L F I K E I M N
  E O P Q E O P C E O P R ~ S T U V W X U Y ~@8 Z B C AA Z AB AC AD Z B C AE AF B AG ~@9
>`.pickRestart({
  A: "x ~@6 x!2 ~ x ~@2 x ~@2", B: "x ~ x!2 ~@3 x!2 ~ x ~@2 x ~@2", C: "x!3 ~@4 x!2 ~ x ~@2 x ~ x",
// … 177 more lines

More by Seal