Strudelify

Natasha's Theme

Henry Mancini

KeyC♯ minorTempo98 bpm
0:00/0:00
// Natasha's Theme — Henry Mancini
// 98 bpm, 4/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 75 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(98/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 · accordion
const accordion = note("<A@4 B@6 C@8 D@8 E@6 C@8 F@8 G@7 H I H J@3 H K@4 L@6 M@3>".pickRestart({
  A: "[~@15 [f#4,a4]@7 ~ [g#4,b4]@6 ~@2 [a4,c#5]@10 ~@2 [a4,c#5]@2 ~@2 [e4,b4]@4 [c#4,a4]@2 ~@2 [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4]@6 ~@2 [d#4,f#4]@3 ~ [e4,g#4]@4 [d#4,f#4]@12 ~@4 [a4,c#5]@10 ~@2 [a4,c#5]@2 ~@2 [e4,b4]@3 ~ [c#4,a4]@3 ~ [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4]]/4", // F#m G#m A E5 F#m E D C#m …
  B: "[~@7 [d#4,f#4]@3 ~ [e4,g#4]@3 ~ [d#4,f#4]@14 ~@2 [f#4,a4]@14 ~@2 [d4,f#4,a4]@14 ~@2 [c#4,e4,a4]@14 ~@2 [e4,g#4,b4]@14 ~@2 [a4,c#5]@10 ~@2 [a4,c#5]@3 ~ [e4,b4]@4 [c#4,a4]@3 ~ [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4]@7 ~ [d#4,f#4]@4 [e4,g#4]@4 [d#4,f#4]@8 e4@4 d#4@4 c#4@33]/6", // D#m E D#m F#m D A E A …
  C: "[~@3 g#4@4 e4@4 d#4@4 c#4@14 ~@34 c#4@23 ~ [c#4,e4,g#4]@7 ~ [b3,d#4,f#4]@59 ~ [b3,d#4,f#4]@4 [a3,c#4,e4]@61 ~@3 [g#3,c4,d#4]@33, ~@31 [e4,g#4]@55 ~@170]/8", // C#m B A G# E
  D: "[~@23 [d#4,f#4]@4 [e4,g#4]@4 [c#4,f#4,a4]@15 ~ [b3,e4,g#4]@15 ~ [a3,d4,f#4]@22 ~@2 g#4@4 [f#4,a4]@3 ~ [d4,f#4,b4]@15 ~ [c#4,e4,a4]@15 ~ [b3,e4,g#4]@19 ~ [e4,g#4]@3 ~ [f#4,a4]@3 ~ [g#4,b4]@3 ~ [a4,c#5]@10 ~@2 [a4,c#5]@2 ~@2 [e4,b4]@4 [c#4,a4]@2 ~@2 [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4]@6 ~@2 [d#4,f#4]@3 ~ [e4,g#4]@4 [d#4,f#4]@12 ~@4 [a4,c#5]@10 ~@2 [a4,c#5]@2 ~@2 [e4,b4]@3 ~ [c#4,a4]@3 ~ [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4], ~@87 e4@2 ~@167]/8", // D#m E F#m E D F#m Bm A …
  E: "[~@7 [d#4,f#4]@3 ~ [e4,g#4]@3 ~ [d#4,f#4]@14 ~@2 [f#4,a4]@14 ~@2 [d4,f#4,a4]@14 ~@2 [c#4,e4,a4]@14 ~@2 [e4,g#4,b4]@14 ~@2 [a4,c#5]@10 ~@2 [a4,c#5]@3 ~ [e4,b4]@4 [c#4,a4]@3 ~ [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4]@12 [e4,g#4]@4 [d#4,f#4]@8 e4@4 d#4@4 c#4@33]/6", // D#m E D#m F#m D A E A …
  F: "[~@23 [d#4,f#4]@4 [e4,g#4]@4 [c#4,f#4,a4]@15 ~ [b3,e4,g#4]@15 ~ [a3,d4,f#4]@22 ~@2 g#4@4 [f#4,a4]@3 ~ [d4,f#4,b4]@15 ~ [c#4,e4,a4]@14 ~@2 [b3,e4,g#4]@18 ~@2 [e4,g#4]@3 ~ [f#4,a4]@3 ~ [g#4,b4]@3 ~ [a4,c#5]@10 ~@2 [a4,c#5]@2 ~@2 [e4,b4]@4 [c#4,a4]@2 ~@2 [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4]@6 ~@2 [d#4,f#4]@3 ~ [e4,g#4]@4 [d#4,f#4]@12 ~@4 [a4,c#5]@10 ~@2 [a4,c#5]@2 ~@2 [e4,b4]@3 ~ [c#4,a4]@3 ~ [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4], ~@87 e4@2 ~@167]/8", // D#m E F#m E D F#m Bm A …
  G: "[~@7 [d#4,f#4]@3 ~ [e4,g#4]@3 ~ [d#4,f#4]@14 ~@2 [f#4,a4]@14 ~@2 [d4,f#4,a4]@14 ~@2 [c#4,e4,a4]@14 ~@2 [e4,g#4,b4]@14 ~@2 [a4,c#5]@10 ~@2 [a4,c#5]@3 ~ [e4,b4]@4 [c#4,a4]@3 ~ [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4]@12 [e4,g#4]@4 [d#4,f#4]@8 e4@4 d#4@4 c#4@34 ~@2 g#4@4 e4@4 d#4@4 c#4@10 ~@7]/7", // D#m E D#m F#m D A E A …
  H: "~@3 [c#4,f#4,a4] ~@7 [c#4,f#4,a4] ~@7 [c#4,e4,a4] ~@7 [c#4,e4,a4] ~@4", // F#m A
  I: "~@3 [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@7 [b3,d#4,f#4] ~@7 [d#4,f#4]@4 [c#4,a4], ~@27 b3@3 ~@2", // E B D#m F#m
  J: "[~@3 [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@7 [b3,d#4,f#4] ~@7 [b3,d#4,f#4]@3 ~ [a3,c#4,f#4]@8 [a3,c#4,f#4]@8 [d4,f#4,a4]@8 [d4,f#4,a4]@8 [c#4,e4,a4]@8 [c#4,e4,a4]@8 [b3,e4,g#4]@8 [b3,e4,g#4]@6 ~@3]/3", // E B F#m D A E
  K: "[~@3 [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@7 [b3,d#4,f#4] ~@7 [b3,d#4] ~@3 [a4,c#5]@10 ~@2 [a4,c#5]@2 ~@2 [e4,b4]@4 [c#4,a4]@2 ~@2 [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4]@6 ~@2 [d#4,f#4]@3 ~ [e4,g#4]@4 [d#4,f#4]@12 ~@4 [a4,c#5]@10 ~@2 [a4,c#5]@2 ~@2 [e4,b4]@4 [c#4,a4]@3 ~ [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4], ~@27 f#4@2 ~@99]/4", // E B A E5 F#m E D C#m …
  L: "[~@7 [d#4,f#4]@3 ~ [e4,g#4]@3 ~ [d#4,f#4]@14 ~@2 [f#4,a4]@14 ~@2 [d4,f#4,a4]@14 ~@2 [c#4,e4,a4]@14 ~@2 [e4,g#4,b4]@14 ~@2 [a4,c#5]@10 ~@2 [a4,c#5]@3 ~ b4@4 [c#4,a4]@3 ~ [b3,g#4]@3 ~ [a3,f#4]@3 ~ [g#3,e4]@12 [e4,g#4]@4 [d#4,f#4]@8 e4@4 d#4@4 c#4@33, ~@111 e4@2 ~@79]/6", // D#m E D#m F#m D A E A …
  M: "[~@3 g#4@4 e4@4 d#4@4 c#4@3 ~ [e4,g#4]@3 ~ [g#4,e5]@3 ~ [f#4,d#5]@3 ~ [f4,c#5]@64 ~]/3", // E C#m D#m C#
})).s("gm_accordion").gain(0.64)

// bass · acoustic bass
const bass = note(`<
  ~ A B A C D E F G H I H J K L M@2 N O P Q R S A B A C D E A G H I H J K L M@2 N O P Q R S A B A C D E A G H T ~@8 A B
  A C U E A G H I V@2
>`.pickRestart({
  A: "f#1@5 ~@3 c#2@6 ~@2 a1@5 ~@3 e1@5 ~@3", B: "e1@5 ~@3 b1@5 ~@3 b1 ~@3 b1@3 ~ a1@3 ~ g#1@2 ~@2",
  C: "e1@5 ~@3 b1@6 ~@2 b1 ~@3 b1@3 ~ a1@3 ~ g#1@3 ~", D: "f#1@5 ~@3 c#2@6 ~@2 d2@6 ~@2 a1@6 ~@2",
  E: "a1@5 ~@3 e1@5 ~@3 e1@6 ~@2 f#1@3 ~ g#1@3 ~", F: "f#1@6 ~@2 c#2@6 ~@2 a1@5 ~@3 e1@5 ~@3",
  G: "e1@5 ~@3 b1@5 ~@3 b1@2 ~@2 b1@3 ~ c#2@3 ~ d#2@3 ~", H: "c#2@5 ~@3 g#1@5 ~@3 c#2@5 ~@3 g#1@5 ~@3",
  I: "c#2@5 ~@3 g#1@5 ~@3 c#2@5 ~@3 g#1@3 ~ b1@2 ~@2", J: "c#2@4 ~@4 g#1@4 ~@4 c#2@5 ~@3 g#1@5 ~@3",
  K: "b1@5 ~@3 f#1@4 ~@4 b1@5 ~@3 f#1@5 ~@3", L: "b1@5 ~@3 f#1@5 ~@3 b1@5 ~@3 f#1@5 ~@3",
  M: "a1@5 ~@3 e1@4 ~@4 a1@5 ~@3 e1@5 ~@3", N: "g#1@5 ~@3 d#1@5 ~@3 g#1@5 ~@3 d#1@5 ~@3",
  O: "g#1@5 ~@3 d#1@5 ~@3 g#1@5 ~@3 f#1@3 ~ g#1@3 ~", P: "f#1@5 ~@3 c#2@6 ~@2 e1@6 ~@2 b1@5 ~@3",
  Q: "d2@5 ~@3 a1@6 ~@2 d2@5 ~@3 a1@4 a#1@3 ~", R: "b1@3 ~ f#1@3 ~ a1@3 ~ e1@3 ~",
  S: "e1@6 ~@2 b1@6 ~@2 e1@2 ~@2 e1@3 ~ g#1@3 ~ b1@3 ~", T: "c#2@5 ~@3 g#1@5 ~@3 c#2@3 ~ g#1@3 ~ c#2@3 ~@5",
  U: "f#1@5 ~@3 c#2@6 ~@2 d2@6 ~@2 a1@5 ~@3", V: "[c#2@31 ~]/2",
})).s("gm_acoustic_bass").gain(0.72)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~ A B C D E F C G H@2 I@2 J@2 K@2 L@2 M N O P A B C D E F C G H@2 I@2 J@2 K@2 L@2 M N O P A B C D E F C G Q@2 A B R D
  E F C G A B C D S F C G H@2 T@2
>`.pickRestart({
  A: "[c#4,f#4,a4]@15 ~ [c#4,e4,a4]@15 ~", B: "[b3,e4,g#4]@15 ~ [b3,d#4,f#4]@14 ~@2",
  C: "[c#4,f#4,a4]@14 ~@2 [c#4,e4,a4]@15 ~", D: "[b3,e4,g#4]@7 ~ [b3,d#4,f#4]@7 ~",
  E: "[c#4,f#4,a4]@15 ~ [d4,f#4,a4]@15 ~", F: "[c#4,e4,a4]@15 ~ [b3,e4,g#4]@14 ~@2",
  G: "[b3,e4,g#4]@15 ~ [b3,d#4,f#4]@15 ~", H: "[g#3,c#4,e4]/2", I: "[[g#3,c#4,e4]@63 ~]/2", J: "[[f#3,b3,d#4]@31 ~]/2",
  K: "[[e3,a3,c#4]@63 ~]/2", L: "[[d#3,g#3,c4]@27 ~ [f#3,a3,c#4]@2 [g#3,b3,e4]@2]/2",
  M: "[a3,c#4,f#4]@15 ~ [g#3,b3,e4]@15 ~", N: "[f#3,a3,d4]@15 ~", O: "[f#3,b3,d4]@15 ~ [e3,a3,c#4]@15 ~",
  P: "[e3,g#3,b3,e4]@31 ~", Q: "[[g#3,c#4,e4]@7 ~]/2", R: "[c#4,f#4,a4]@7 ~ [c#4,e4,a4]@7 ~",
  S: "[c#4,f#4,a4]@15 ~ [d4,f#4,a4]@14 ~@2", T: "[c#4,f4,g#4]/2",
})).s("gm_string_ensemble_1").gain(0.48)

// other · pad new age
const pad_new_age = note("<~@9 A B ~@20 A B ~@20 A B ~ C ~ C ~@12 A B ~@2>".pickRestart({
  A: "~@20 g#5@4 e5@3 ~ d#5@4", B: "c#5@17 ~@15", C: "~@20 f#5 ~@3 c#6@2 ~@2 b5@2 ~@2",
})).s("gm_pad_new_age").gain(0.64)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A B C D E F G H I J K@2 L@2 M@2 N O P Q R S A B C T E F G H I J K@2 L@2 M@2 N O P Q R S A B C T E F G H I U ~@8 A B
  C D E F A H I V@3
>`.pickRestart({
  A: "[f#4,a4,c#5]@2 ~@2 [f#4,a4,c#5] ~@7 [f#4,a4,c#5] ~@3 [e4,a4,c#5]@2 ~@2 [e4,a4,c#5] ~@7 [e4,a4,c#5] ~@3", // F#m A
  B: "[e4,g#4,b4]@2 ~@2 [e4,g#4,b4] ~@7 [e4,g#4,b4] ~@3 [d#4,f#4,b4]@3 ~ [d#4,f#4,b4] ~@7 [d#4,f#4,b4] ~@3", // E B
  C: "[f#4,g#4,c#5] ~@3 [f#4,a4,c#5] ~@7 [f#4,a4,c#5] ~@3 [e4,a4,c#5]@2 ~@2 [e4,a4,c#5] ~@7 [e4,a4,c#5] ~@3", // F#sus2 F#m A
  D: "[e4,g#4,b4]@3 ~ [e4,g#4,b4] ~@7 [e4,g#4,b4] ~@3 [d#4,f#4,b4]@3 ~ [d#4,f#4,b4] ~@7 [d#4,f#4,b4] ~@3", // E B
  E: "[f#4,a4,c#5]@3 ~ [f#4,a4,c#5] ~@7 [f#4,a4,c#5] ~@3 [f#4,a4,d5]@2 ~@2 [f#4,a4,d5] ~@7 [f#4,a4,d5] ~@3", // F#m D
  F: "[e4,a4,c#5]@2 ~@2 [e4,a4,c#5] ~@7 [e4,a4,c#5] ~@3 [e4,g#4,b4]@2 ~@2 [e4,g#4,b4] ~@7 [e4,g#4,b4] ~@3", // A E
  G: "[f#4,a4,c#5]@2 ~@2 [f#4,a4,c#5] ~@7 [f#4,a4,c#5] ~@3 [e4,a4,c#5]@3 ~ [e4,a4,c#5] ~@7 [e4,a4,c#5] ~@3", // F#m A
  H: "[e4,g#4,b4]@2 ~@2 [e4,g#4,b4] ~@7 [e4,g#4,b4] ~@3 [d#4,f#4,b4]@2 ~@2 [d#4,f#4,b4] ~@7 [d#4,f#4,b4] ~@3", // E B
  I: "[e4,g#4,c#5]@2 ~@2 [e4,g#4,c#5] ~@7 [e4,g#4,c#5] ~@3 [e4,g#4,c#5]@3 ~ [e4,g#4,c#5] ~@7 [e4,g#4,c#5] ~@3", // C#m
  J: "[e4,g#4,c#5]@3 ~ [e4,g#4,c#5] ~@7 [e4,g#4,c#5] ~@3 [e4,g#4,c#5]@3 ~ [e4,g#4,c#5] ~@7 [e4,g#4,c#5] ~@3", // C#m
  K: "[c#4,e4,g#4]@3 ~ [c#4,e4,g#4] ~@7 [c#4,e4,g#4] ~@3 [c#4,e4,g#4]@3 ~ [c#4,e4,g#4] ~@7 [c#4,e4,g#4] ~@3", // C#m
  L: "[d#4,f#4,b4]@3 ~ [d#4,f#4,b4] ~@7 [d#4,f#4,b4] ~@3 [d#4,f#4,b4]@3 ~ [d#4,f#4,b4] ~@7 [d#4,f#4,b4] ~@3", // B
  M: "[c#4,e4,a4]@3 ~ [c#4,e4,a4] ~@7 [c#4,e4,a4] ~@3 [c#4,e4,a4]@3 ~ [c#4,e4,a4] ~@7 [c#4,e4,a4] ~@3", // A
  N: "[c4,d#4,g#4]@3 ~ [c4,d#4,g#4] ~@7 [c4,d#4,g#4] ~@3 [c4,d#4,g#4]@3 ~ [c4,d#4,g#4] ~@7 [c4,d#4,g#4] ~@3", // G#
  O: "[c4,d#4,g#4]@3 ~ [c4,d#4,g#4] ~@7 [c4,d#4,g#4] ~@3 [c4,d#4,g#4]@3 ~ [c4,d#4,g#4] ~@3 [a3,c#4,f#4]@2 ~@2 [b3,e4,g#4]@2 ~@2", // G# F#m E
  P: "[c#4,f#4,a4]@3 ~ [c#4,f#4,a4] ~@7 [c#4,f#4,a4] ~@3 [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@3", // F#m E
  Q: "[a3,d4,f#4]@3 ~ [a3,d4,f#4] ~@7 [a3,d4,f#4] ~@3 [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~@7 [a3,d4,f#4] ~@3", // D
  R: "[d4,f#4,b4]@3 ~ [d4,f#4,b4] ~@7 [d4,f#4,b4] ~@3 [c#4,e4,a4]@3 ~ [c#4,e4,a4] ~@7 [c#4,e4,a4] ~@3, a4 ~@31", // Bm A
  S: "[b3,e4,g#4]@3 ~ [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [e4,g#4]@3 ~ [f#4,a4]@3 ~ [g#4,b4]@2 ~@2", // E F#m G#m
  T: "[e4,g#4,b4]@3 ~ [e4,g#4,b4] ~@7 [e4,g#4,b4] ~@3 [d#4,f#4,b4]@2 ~@2 [d#4,f#4,b4] ~@7 [d#4,f#4,b4] ~@3", // E B
  U: "[e4,g#4,c#5]@2 ~@2 [e4,g#4,c#5] ~@7 [e4,g#4,c#5] ~@3 [e4,g#4,c#5]@3 ~ [e4,g#4,c#5] ~@11", // C#m
  V: "[[e4,g#4,c#5]@2 ~@2 [e4,g#4,c#5] ~@7 [e4,g#4,c#5] ~@3 [e4,g#4,c#5]@3 ~ [e4,g#4,c#5] ~@7 [e4,g#4,c#5] ~@4 f5@63, ~@31 [c#4,f4]@63 ~@2, ~@16 [g#4,c#5]@31 ~]/3", // C#m C# C#5
})).s("gm_acoustic_guitar_steel").gain(0.72)

// bass · slap bass 1
const bass_2 = note("<A@8 B@4 C@8 D@8 E@6 F@8 D@8 G@5 ~@7 H@8 I@5>".pickRestart({
  A: "[~@31 f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2@5 ~@3 b2@5 ~@3 b2 ~@3 b2@3 ~ a2@3 ~ g#2@2 ~@2 f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@4 e2@5 ~@2 e2@5 ~@3 b2@6 ~@2 b2 ~@3 b2@3 ~ a2@3 ~ g#2@3 ~ f#2@5 ~@3 c#3@6 ~@2 d3@6 ~@2 a2@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2@6 ~@2 f#2@3 ~ g#2@3 ~ f#2@6 ~@2 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2]/8",
  B: "[~@7 b2@5 ~@3 b2@2 ~@2 b2@3 ~ c#3@3 ~ d#3@3 ~ c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@3 ~ b2@2 ~@2 c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3]/4",
  C: "[~@7 g#2@4 ~@4 c#3@5 ~@3 g#2@5 ~@3 b2@5 ~@3 f#2@5 ~@3 b2@5 ~@3 f#2@5 ~@3 b2@5 ~@3 f#2@5 ~@3 b2@5 ~@3 f#2@5 ~@3 a2@5 ~@3 e2@4 ~@4 a2@5 ~@3 e2@5 ~@3 a2@5 ~@3 e2@4 ~@4 a2@5 ~@3 e2@5 ~@3 g#2@5 ~@3 d#2@5 ~@3 g#2@5 ~@3 d#2@5 ~@3 g#2@5 ~@4 d#2@5 ~@2 g#2@5 ~@3 f#2@3 ~ g#2@3 ~ f#2@5 ~@3 c#3@6 ~@2 e2@6 ~@2 b2@5 ~@3 d3]/8",
  D: "[~@7 a2@6 ~@2 d3@5 ~@3 a2@4 a#2@3 ~ b2@6 ~@2 f#2@6 ~@2 a2@6 ~@2 e2@6 ~@2 e2@6 ~@2 b2@6 ~@2 e2@2 ~@2 e2@3 ~ g#2@3 ~ b2@3 ~ f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2@5 ~@3 b2@5 ~@3 b2 ~@3 b2@3 ~ a2@3 ~ g#2@2 ~@2 f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2@5 ~@3 b2@6 ~@2 b2 ~@3 b2@3 ~ a2@3 ~ g#2@3 ~ f#2@5 ~@3 c#3@6 ~@2 d3@6 ~@2 a2@6 ~@2 a2]/8",
  E: "[~@7 e2@5 ~@3 e2@6 ~@2 f#2@3 ~ g#2@3 ~ f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2@5 ~@3 b2@5 ~@3 b2@2 ~@2 b2@3 ~ c#3@3 ~ d#3@3 ~ c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@3 ~ b2@2 ~@2 c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3]/6",
  F: "[~@7 g#2@4 ~@4 c#3@5 ~@3 g#2@5 ~@3 b2@5 ~@3 f#2@4 ~@4 b2@5 ~@3 f#2@5 ~@3 b2@5 ~@3 f#2@5 ~@3 b2@5 ~@3 f#2@5 ~@3 a2@5 ~@3 e2@4 ~@4 a2@5 ~@3 e2@5 ~@3 a2@5 ~@3 e2@4 ~@4 a2@5 ~@3 e2@5 ~@3 g#2@5 ~@3 d#2@5 ~@3 g#2@5 ~@3 d#2@5 ~@3 g#2@5 ~@3 d#2@5 ~@3 g#2@5 ~@3 f#2@3 ~ g#2@3 ~ f#2@5 ~@3 c#3@6 ~@2 e2@6 ~@2 b2@5 ~@3 d3]/8",
  G: "[~@7 e2@5 ~@3 e2@6 ~@2 f#2@3 ~ g#2@3 ~ f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2@5 ~@3 b2@5 ~@3 b2@2 ~@2 b2@3 ~ c#3@3 ~ d#3@3 ~ c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3@3 ~ g#2@3 ~ c#3@3 ~@6]/5",
  H: "[~@31 f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2@5 ~@3 b2@5 ~@3 b2 ~@3 b2@3 ~ a2@3 ~ g#2@2 ~@2 f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2@5 ~@3 b2@6 ~@2 b2 ~@3 b2@3 ~ a2@3 ~ g#2@3 ~ f#2@5 ~@3 c#3@6 ~@2 d3@6 ~@2 a2@5 ~@3 a2@5 ~@3 e2@5 ~@3 e2@6 ~@2 f#2@3 ~ g#2@3 ~ f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3 e2]/8",
  I: "[~@7 b2@5 ~@3 b2@2 ~@2 b2@3 ~ c#3@3 ~ d#3@3 ~ c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@3 ~ b2@2 ~@2 c#3@62 ~@3]/5",
})).s("gm_slap_bass_1").gain(0.64)

// drums · kick
const kick = s("bd").struct("<~ [x!4]!54 ~@4 [x!4]!14 x ~>").gain(0.8)

// drums · snare
const snare = s("sd").struct(`<
  ~ A@5 B A@3 B A@7 C A@3 D A@5 B A@3 B A@7 C A@3 D A@5 B A@4 ~@7 E A@5 B A@3 B ~@2
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@7 x ~ x!2", C: "~@2 x ~@2 x!3", D: "~@4 x!3 ~ x ~@3 x!3 ~@17", E: "~@2 x ~@2 x ~@2 x ~@7",
})).gain(0.72)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A B@7 A C@8 D E F B@2 A B@7 A C@8 D E F B@2 A B@7 A C G@7 H A B@7 A C ~@2
>`.pickRestart({
  A: "~ x!7", B: "x!8", C: "x!7 ~", D: "x ~ x ~ x ~ x ~ x ~ x ~ x!2 ~@2", E: "~ x!6 ~",
  F: "x ~ x ~ x ~ x ~ x ~ x ~ x ~ x!2", G: "x!16", H: "x!15 ~",
})).gain(0.8)

// drums · low tom
const low_tom = s("lt").struct("<~@22 [~@15 x] ~@21 [~@15 x] ~@30>").gain(0.8)

// drums · mid tom
const mid_tom = s("mt").struct("<~@22 A ~@21 A ~@13 B ~@3 C ~@12>".pickRestart({
  A: "~@11 x!4 ~", B: "~@13 x!3", C: "~@24 x!3 ~ x!3 ~",
})).gain(0.8)

// drums · open hat
const open_hat = s("oh").struct("<~@10 [~@7 x]!10 ~@12 [~@7 x]!10 ~@30 [~@7 x] ~@2>").gain(0.8)

// drums · high tom
const high_tom = s("ht").struct("<~@22 A ~@21 A ~@9 B ~@3 C ~@3 D ~@12>".pickRestart({
  A: "~@16 x!3 ~ x ~@11", B: "~@8 x!4 ~@4", C: "~@16 x!5 ~ x ~ x ~@7", D: "~@20 x!3 ~@9",
})).gain(0.72)

// drums · crash
const crash = s("cr").struct("<~ A ~@7 A ~@9 A ~@3 A ~@7 A ~@9 A ~@3 A ~@7 A ~@9 A ~@7 A ~ A ~>".pickRestart({
  A: "x",
})).gain(0.8)

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  ~
  [~@2 x!2 ~ x!2 ~@3 x!2 ~ x!2 ~]!53
  [~@2 x!2 ~ x!2 ~@3 x!2 ~@4]
  [~@2 x!2 ~ x!3 ~ x!3 ~ x!3]
  [~ x!3 ~ x!3 ~ x!3 ~ x!3]!6
  [~ x!3 ~ x!3 ~ x!3 ~ x!2 ~]
  [~@2 x!2 ~ x!2 ~@3 x!2 ~ x!2 ~]!10
  ~@2
>`).gain(2.84)

stack(
  accordion, bass, string_ensemble_1, pad_new_age, acoustic_guitar_steel, bass_2, kick, snare, hihat, low_tom, mid_tom,
  open_hat, high_tom, crash, cabasa
)

More by Henry Mancini