Strudelify

battlefield 1942 theme

Kevin O'Donnell

KeyG majorTempo120 bpm
0:00/0:00
// battlefield 1942 theme — Kevin O'Donnell
// 120 bpm, 6/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Piano" named as a piano, played on piano (its vibraphone patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/420251; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 34 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/6)

// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · timpani
const timpani = note("<A B A B C B C B D E D E F D F D A B A B C B C B D E D E F G F G H I>".pickRestart({
  A: "f2 ~@2 g2 ~@2", B: "g#2 ~@2 g2 ~@2", C: "f2 ~@2 a#2 ~@2", D: "c#3 ~@2 d#3 ~@2", E: "c#3 ~@2 c3 ~@2",
  F: "c#3 ~@2 f#3 ~@2", G: "f3 ~@2 d#3 ~@2", H: "f2@2 ~ f2@2 ~ f2@2 f2@2 ~@2", I: "f2 ~@11",
})).s("gm_timpani").gain(0.24)

// drums · kick
const kick = s("bd").struct(`<
  [x ~@2 x ~ x!2 ~ x ~@3]!8
  [x ~ x!3 ~ x ~ x!2 ~@2]!8
  [x ~@2 x ~@2 x ~ x ~@3]!8
  [x ~@2 x ~ x!2 ~ x ~@3]!4
  [x ~@2 x ~@2 x ~ x ~@3]!5
  x
>`).gain(0.3)

// drums · snare
const snare = s("sd").struct("<A@19 B A B A ~ C@4 A@4 ~@2>".pickRestart({
  A: "~ x", B: "~@3 x ~ x", C: "~@3 x!2 ~",
})).gain(0.25)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@8 [x!12]!8 [x!6]!7 ~@5 [x!6]!3 [x!5 ~] ~@2>").gain(0.25)

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

stack(timpani, kick, snare, pedal_hat, crash)