Strudelify
Natasha's Theme cover art

Who Is Killing the Great Chefs of Europe?

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.
// note: The whole transcription plays 34 ms ahead of the beat; the grid follows it, so its parts stay together.
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, A@4 for four bars: edit a riff to change every repeat.

// chords · accordion
const accordion = note(`<
  A B C B D E F B G H I J@2 K@2 L@2 M@2 N O P Q B C B D E F B R H I J@2 K@2 L@2 M@2 N O P Q B C B D E F B R H S T U V W
  X Y T Z B C B D E F B R H AA AB@2
>`.pickRestart({
  A: "~@16 [f#4,a4]@7 ~ [g#4,b4]@6 ~@2", // F#m G#m
  B: "[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 ~", // A E5 F#m E D
  C: "[g#3,e4]@6 ~@2 [d#4,f#4]@3 ~ [e4,g#4]@4 [d#4,f#4]@12 ~@4", // C#m D#m E D#m
  D: "[g#3,e4]@6 ~@2 [d#4,f#4]@3 ~ [e4,g#4]@3 ~ [d#4,f#4]@14 ~@2", E: "[f#4,a4]@7 ~ [d4,f#4,a4]@7 ~",
  F: "[c#4,e4,a4]@7 ~ [e4,g#4,b4]@7 ~", G: "[g#3,e4]@7 ~ [d#4,f#4]@4 [e4,g#4]@4 [d#4,f#4]@8 e4@4 d#4@4", H: "c#4",
  I: "~@2 g#4@2 e4@2 d#4@2 c#4@7 ~", J: "[~@32 c#4@23 ~ [c#4,e4,g#4]@7 ~, [e4,g#4]@55 ~@9]/2",
  K: "[[b3,d#4,f#4]@59 ~ [b3,d#4,f#4]@4]/2", L: "[[a3,c#4,e4]@61 ~@3]/2",
  M: "[[g#3,c4,d#4]@27 ~ [d#4,f#4]@2 [e4,g#4]@2]/2", N: "[c#4,f#4,a4]@15 ~ [b3,e4,g#4]@15 ~",
  O: "[a3,d4,f#4]@22 ~@2 g#4@4 [f#4,a4]@3 ~, ~@12 e4 ~@3", P: "[d4,f#4,b4]@15 ~ [c#4,e4,a4]@15 ~",
  Q: "[b3,e4,g#4]@19 ~ [e4,g#4]@3 ~ [f#4,a4]@3 ~ [g#4,b4]@3 ~", R: "[g#3,e4]@3 [e4,g#4] [d#4,f#4]@2 e4 d#4",
  S: "~@2 g#4@2 e4@2 d#4@2 c#4@5 ~@3", T: "~@4 [c#4,f#4,a4] ~@7 [c#4,f#4,a4] ~@7 [c#4,e4,a4] ~@7 [c#4,e4,a4] ~@3",
  U: "~@4 [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@7 [b3,d#4,f#4] ~@7 [b3,d#4,f#4]@4", // E B
  V: "[c#4,a4] ~@3 [c#4,f#4,a4] ~@7 [c#4,f#4,a4] ~@7 [c#4,e4,a4] ~@7 [c#4,e4,a4] ~@3", // F#m A
  W: "~@4 [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@7 [b3,d#4,f#4] ~@7 [b3,d#4,f#4]@3 ~", X: "[a3,c#4,f#4]!2 [d4,f#4,a4]!2",
  Y: "[c#4,e4,a4]@4 [c#4,e4,a4]@4 [b3,e4,g#4]@4 [b3,e4,g#4]@3 ~", // A E
  Z: "~@4 [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@7 [b3,d#4,f#4] ~@7 [b3,d#4] ~@3, ~@14 f#4 ~", // E B
  AA: "~@4 g#4@4 e4@4 d#4@4 c#4@3 ~ [e4,g#4]@3 ~ [g#4,e5]@3 ~ [f#4,d#5]@3 ~", AB: "[f4,c#5]/2",
})).s("gm_accordion").gain(0.64)

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

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~ A B A B C D A E F@2 G@2 H@2 I@2 J@2 K L M N A B A B C D A E F@2 G@2 H@2 I@2 J@2 K L M N A B A B C D A E O@2 A B A B
  C D A E A B A B C D A E F@2 P@2
>`.pickRestart({
  A: "[c#4,f#4,a4]@14 ~@2 [c#4,e4,a4]@15 ~", B: "[b3,e4,g#4]@15 ~ [b3,d#4,f#4]@14 ~@2",
  C: "[c#4,f#4,a4]@15 ~ [d4,f#4,a4]@15 ~", D: "[c#4,e4,a4]@15 ~ [b3,e4,g#4]@14 ~@2",
  E: "[b3,e4,g#4]@15 ~ [b3,d#4,f#4]@15 ~", F: "[g#3,c#4,e4]/2", G: "[[g#3,c#4,e4]@63 ~]/2", H: "[[f#3,b3,d#4]@31 ~]/2",
  I: "[[e3,a3,c#4]@63 ~]/2", J: "[[d#3,g#3,c4]@27 ~ [f#3,a3,c#4]@2 [g#3,b3,e4]@2]/2",
  K: "[a3,c#4,f#4]@15 ~ [g#3,b3,e4]@15 ~", L: "[f#3,a3,d4]@15 ~", M: "[f#3,b3,d4]@15 ~ [e3,a3,c#4]@15 ~",
  N: "[e3,g#3,b3,e4]@31 ~", O: "[[g#3,c#4,e4]@7 ~]/2", P: "[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 B D E A B F@2 G@2 H@2 I@2 J K L M N O A B C B D E A B F@2 G@2 H@2 I@2 J K L M N O A B C B D E A B F P ~@8 A B
  C B D E A B F Q@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: "[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
  E: "[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
  F: "[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
  G: "[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
  H: "[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
  I: "[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
  J: "[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#
  K: "[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
  L: "[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
  M: "[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
  N: "[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
  O: "[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
  P: "[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
  Q: "[[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 B A B C D A E F G F@2 H@2 I@2 J K L M N O A B A B C D A E F G F@2 H@2 I@2 J K L M N O A B A B C D A E F P ~@8 A B
  A B C D A E F G Q@2
>`.pickRestart({
  A: "f#2@5 ~@3 c#3@6 ~@2 a2@5 ~@3 e2@5 ~@3", B: "e2@5 ~@3 b2@5 ~@3 b2 ~@3 b2@3 ~ a2@3 ~ g#2@2 ~@2",
  C: "f#2@5 ~@3 c#3@6 ~@2 d3@6 ~@2 a2@6 ~@2", D: "a2@5 ~@3 e2@5 ~@3 e2@6 ~@2 f#2@3 ~ g#2@3 ~",
  E: "e2@5 ~@3 b2@5 ~@3 b2@2 ~@2 b2@3 ~ c#3@3 ~ d#3@3 ~", F: "c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@5 ~@3",
  G: "c#3@5 ~@3 g#2@5 ~@3 c#3@5 ~@3 g#2@3 ~ b2@2 ~@2", H: "b2@5 ~@3 f#2@5 ~@3 b2@5 ~@3 f#2@5 ~@3",
  I: "a2@5 ~@3 e2@4 ~@4 a2@5 ~@3 e2@5 ~@3", J: "g#2@5 ~@3 d#2@5 ~@3 g#2@5 ~@3 d#2@5 ~@3",
  K: "g#2@5 ~@3 d#2@5 ~@3 g#2@5 ~@3 f#2@3 ~ g#2@3 ~", L: "f#2@5 ~@3 c#3@6 ~@2 e2@6 ~@2 b2@5 ~@3",
  M: "d3@5 ~@3 a2@6 ~@2 d3@5 ~@3 a2@4 a#2@3 ~", N: "b2@3 ~ f#2@3 ~ a2@3 ~ e2@3 ~",
  O: "e2@6 ~@2 b2@6 ~@2 e2@2 ~@2 e2@3 ~ g#2@3 ~ b2@3 ~", P: "c#3@5 ~@3 g#2@5 ~@3 c#3@3 ~ g#2@3 ~ c#3@3 ~@5",
  Q: "[c#3@31 ~]/2",
})).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