Strudelify

earthbound - runaway fives last performance

Duncan D.

KeyA♭ majorTempo131 bpm
0:00/0:00
// earthbound - runaway fives last performance — Duncan D.
// 131 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 4 "Rotary Organ, Organ2" rock organ (copy of ch 3 "Hammond Organ, Organ1" drawbar organ)
// note: Transcription provider: pdmx. https://musescore.com/score/830706; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 80 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(131/4)

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

// bass · electric bass finger · "Electric Bass, Bass"
const bass = note(`<
  A@3 B A C A B A D A B A D A B A D A B A D A B A D A B A D A B A D A B A D A B A@3 B A C A B A D A B A D A B A D A B A
  D A B A D A B A D A B A D A B A D A B
>`.pickRestart({
  A: "ab1@2 ~@2 c2@2 eb2@2 db2!2 db2@2 f2@2 ab2@2", B: "ab1@2 ab1@2 c2@2 eb2@2 db2!2 eb2@2 e2@2 gb2@2",
  C: "ab1@2 ~@2 c2@2 eb2@2 db2!2 e1@2 gb1@2 g1@2", D: "ab1@2 ~@2 c2@2 eb2@2 db2!2 f1@2 gb1@2 g1@2",
})).s("gm_electric_bass_finger").gain(0.4)

// chords · drawbar organ · "Hammond Organ, Organ1"
const drawbar_organ = note(`<
  ~@8 A B A C A B A C ~@8 A B A C A B A C ~@16 A B A C A B A C ~@8 A B A C A B A C ~@8
>`.pickRestart({
  A: "[ab3,c5] ~@3 [ab3,c5] ~@3 [gb3,bb4] ~ [gb3,bb4]@4 [gb3,bb4] ~", // Ab Gb
  B: "[ab3,c5] ~@3 [ab3,c5] ~@3 [bb3,db5] ~ [bb3,db5]@4 [bb3,db5] ~", // Ab Bbm
  C: "[ab3,c5] ~@3 [ab3,c5] ~@3 [ab3,db5] db5 [ab3,db5]!2 [ab3,db5]@2 [bb3,eb5]@2", // Ab Db5 Eb5
})).s("gm_drawbar_organ").gain(0.4)

// chords · drawbar organ · "Hammond Organ, Organ1" · soft notes
const drawbar_organ_soft = note("<~@8 A@3 B A@3 B ~@8 A@3 B A@3 B ~@16 A@3 B A@3 B ~@8 A@3 B A@3 B ~@8>".pickRestart({
  A: "~@2 [ab3,c5] ~@3 [ab3,c5] ~@9", B: "~@2 [ab3,c5] ab3 ~@2 [ab3,c5] ab3 ~@8",
})).s("gm_drawbar_organ").gain(0.1)

// drums · kick
const kick = s("bd").struct(`<
  ~@3 A B@2 C D B@2 C E B@2 C E B@2 C D B@2 C D B@2 C E B@2 C E B@2 C D B@2 C D ~@3 A B@2 C D B@2 C E B@2 C E B@2 C D
  B@2 C D B@2 C E B@2 C E B@2 C D B@2 C D
>`.pickRestart({
  A: "~ x!2 ~", B: "x ~@3 x ~@2 x", C: "x!2", D: "x ~@9 x!2 ~@2 x ~", E: "x ~@9 x!2 ~@4",
})).gain(0.4)

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

// drums · hihat
const hihat = s("hh").struct("<[x!4]!3 [x!2 ~@2] [x!8]!36 [x!4]!3 [x!2 ~@2] [x!8]!36>").gain(0.4)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  [~ x!3 ~ x!3 ~ x!3 ~ x!3]!3
  [~ x!3 ~ x!3 ~@8]
  ~@36
  [~ x!3 ~ x!3 ~ x!3 ~ x!3]!3
  [~ x!3 ~ x!3 ~@8]
  ~@36
>`).gain(0.15)

stack(bass, drawbar_organ, drawbar_organ_soft, kick, snare, hihat, hihat_soft)

More by Duncan D.