Strudelify

Down by the River

Neil Young

KeyE minorTempo82 bpm
0:00/0:00
// Down by the River — Neil Young
// 82.1 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 69 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82.1/4)

// 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.

// bass · electric bass finger · "Bass Track"
const bass = note(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A C D E D E D E D E D E D E D E D E D
  E D E D E D E D E ~
>`.pickRestart({
  A: "e2@2 ~ b1 ~ b1 ~ a#1", B: "a1@2 ~ c#2 ~ d2 e2 ~", C: "a1@12 ~@6 c#2@6 ~@7 d2@6 e2@6 ~@5",
  D: "~ e2@12 ~@6 b1@6 ~@6 b1@6 ~@6 a#1@5", E: "~ a1@12 ~@6 c#2@6 ~@6 d2@6 e2@6 ~@5",
})).s("gm_electric_bass_finger").gain(0.45)

// drums · kick
const kick = s("bd").struct("<[x!2]!41 [x ~@24 x ~@22] [~ x ~@23 x ~@22]!26 ~>").gain(0.45)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<[~ x ~ x]!41 [~@12 x ~@24 x ~@10] [~@13 x ~@23 x ~@10]!26 ~>").gain(0.25)

// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!41 [~@12 x ~@24 x ~@10] [~@13 x ~@23 x ~@10]!26 ~>").gain(0.45)

// drums · hihat
const hihat = s("hh").struct(`<
  [x!8]!41
  [x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@5 x ~@4]
  [~ x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@4]!26
  ~
>`).gain(0.45)

stack(bass, kick, kick_soft, snare, hihat)

More by Neil Young