Strudelify

Car Chase

Jordan Jennings

KeyG majorTempo150 bpm
0:00/0:00
// Car Chase — Jordan Jennings
// 150 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 4 "Viola" viola (copy of ch 1 "Violin" violin)
// note: Transcription provider: pdmx. https://musescore.com/score/3567956; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 117 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/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.

// bass · slap bass 1 · "Contrabass"
const bass = note("<~@5 A@17 B@11 A@17 B@11 A@17 B@11 A@17 B@11>".pickRestart({
  A: "e1@3 ~", B: "e2 f#2 g2 a2 b2 a2 g2 f#2 e2 f#2 g2 a2 b2 a2 g2 f#2",
})).s("gm_slap_bass_1").gain(0.4)

// other · piano · "Grand Piano"
const piano = note(`<
  [e3@2 e3 ~@2 e3@2 e3 e3@2 e3 e3@2 e3 e3@2, e5@3 e3@2 ~@11, ~ e5 ~@2]
  [e3@2 e3 e3@2 e3@2 e3 e3@2 e3 e3@2 e3 e3@2]!32
  ~@84
>`).s("gm_piano").gain(0.3)

// chords · brass section · "Brass"
const brass_section = note(`<
  ~@2 A@2 ~ A@2 ~ B C D@2 B C E@2 F@2 ~@6 G@2 H I G@2 J K@2 A@2 ~ B C D@2 B C E@2 F@2 ~@6 G@2 H I G@2 J K@2 A@2 ~ B C
  D@2 B C E@2 F@2 ~@6 G@2 H I G@2 J K@2 A@2 ~ B C D@2 B C E@2 F@2 ~@6 G@2 H I G@2 J K@2
>`.pickRestart({
  A: "e2/2", B: "g5", C: "f#5", D: "[a5@3 g5@3 b5@3 f#5@3 c5@2 e5@18]/2", E: "[e5 g5, b5]/2", F: "[f#5,b5]/2",
  G: "[g5 f#5, e2]/2", H: "a5@3 g5@3 b5@3 f#5@3 b4@2 f#5@2", I: "e5", J: "[e5,b5] [g5,b5]", K: "[b1,f#5,b5]/2",
})).s("gm_brass_section").gain(0.3)

// drums · kick
const kick = s("bd").struct("<A B A@31 ~@15 A@13 ~@15 A@13 ~@15 A@13>".pickRestart({
  A: "x!4", B: "x ~ x ~ x ~ x!2",
})).gain(0.3)

// drums · snare
const snare = s("sd").struct(`<
  ~@20
  [x ~@2 x ~@2 x ~]!13
  ~@15
  [x ~@2 x ~@2 x ~]!13
  ~@15
  [x ~@2 x ~@2 x ~]!13
  ~@15
  [x ~@2 x ~@2 x ~]!13
>`).gain(0.3)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@20 [x!4]!13 ~@15 [x!4]!13 ~@15 [x!4]!13 ~@15 [x!4]!13>").gain(0.3)

stack(bass, piano, brass_section, kick, snare, pedal_hat)

More by Jordan Jennings